ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4LzJodG1sLnZpbSBiL3J1bnRpbWUvc3ludGF4LzJodG1sLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWZjMDlmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvMmh0bWwudmltCkBAIC0wLDAgKzEsNDExIEBACisiIFZpbSBzeW50YXggc3VwcG9ydCBmaWxlCisiIE1haW50YWluZXI6IEJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+CisiIExhc3QgQ2hhbmdlOiAyMDA0IE1heSAzMQorIgkgICAgICAgKG1vZGlmaWVkIGJ5IERhdmlkIE5lXHZ7Y31hcyAoWWV0aSkgPHlldGlAcGh5c2ljcy5tdW5pLmN6PikKKyIJICAgICAgIChYSFRNTCBzdXBwb3J0IGJ5IFBhbmFnaW90aXMgSXNzYXJpcyA8dGFraXNAbHVtdW1iYS5sdWMuYWMuYmU+KQorCisiIFRyYW5zZm9ybSBhIGZpbGUgaW50byBIVE1MLCB1c2luZyB0aGUgY3VycmVudCBzeW50YXggaGlnaGxpZ2h0aW5nLgorCisiIE51bWJlciBsaW5lcyB3aGVuIGV4cGxpY2l0ZWx5IHJlcXVlc3RlZCBvciB3aGVuIGBudW1iZXInIGlzIHNldAoraWYgZXhpc3RzKCJodG1sX251bWJlcl9saW5lcyIpCisgIGxldCBzOm51bWJsaW5lcyA9IGh0bWxfbnVtYmVyX2xpbmVzCitlbHNlCisgIGxldCBzOm51bWJsaW5lcyA9ICZudW1iZXIKK2VuZGlmCisKKyIgV2hlbiBub3QgaW4gZ3VpIHdlIGNhbiBvbmx5IGd1ZXNzIHRoZSBjb2xvcnMuCitpZiBoYXMoImd1aV9ydW5uaW5nIikKKyAgbGV0IHM6d2hhdHRlcm0gPSAiZ3VpIgorZWxzZQorICBsZXQgczp3aGF0dGVybSA9ICJjdGVybSIKKyAgaWYgJnRfQ28gPT0gOAorICAgIGxldCBzOmN0ZXJtX2NvbG9yMCAgPSAiIzgwODA4MCIKKyAgICBsZXQgczpjdGVybV9jb2xvcjEgID0gIiNmZjYwNjAiCisgICAgbGV0IHM6Y3Rlcm1fY29sb3IyICA9ICIjMDBmZjAwIgorICAgIGxldCBzOmN0ZXJtX2NvbG9yMyAgPSAiI2ZmZmYwMCIKKyAgICBsZXQgczpjdGVybV9jb2xvcjQgID0gIiM4MDgwZmYiCisgICAgbGV0IHM6Y3Rlcm1fY29sb3I1ICA9ICIjZmY0MGZmIgorICAgIGxldCBzOmN0ZXJtX2NvbG9yNiAgPSAiIzAwZmZmZiIKKyAgICBsZXQgczpjdGVybV9jb2xvcjcgID0gIiNmZmZmZmYiCisgIGVsc2UKKyAgICBsZXQgczpjdGVybV9jb2xvcjAgID0gIiMwMDAwMDAiCisgICAgbGV0IHM6Y3Rlcm1fY29sb3IxICA9ICIjYzAwMDAwIgorICAgIGxldCBzOmN0ZXJtX2NvbG9yMiAgPSAiIzAwODAwMCIKKyAgICBsZXQgczpjdGVybV9jb2xvcjMgID0gIiM4MDQwMDAiCisgICAgbGV0IHM6Y3Rlcm1fY29sb3I0ICA9ICIjMDAwMGMwIgorICAgIGxldCBzOmN0ZXJtX2NvbG9yNSAgPSAiI2MwMDBjMCIKKyAgICBsZXQgczpjdGVybV9jb2xvcjYgID0gIiMwMDgwODAiCisgICAgbGV0IHM6Y3Rlcm1fY29sb3I3ICA9ICIjYzBjMGMwIgorICAgIGxldCBzOmN0ZXJtX2NvbG9yOCAgPSAiIzgwODA4MCIKKyAgICBsZXQgczpjdGVybV9jb2xvcjkgID0gIiNmZjYwNjAiCisgICAgbGV0IHM6Y3Rlcm1fY29sb3IxMCA9ICIjMDBmZjAwIgorICAgIGxldCBzOmN0ZXJtX2NvbG9yMTEgPSAiI2ZmZmYwMCIKKyAgICBsZXQgczpjdGVybV9jb2xvcjEyID0gIiM4MDgwZmYiCisgICAgbGV0IHM6Y3Rlcm1fY29sb3IxMyA9ICIjZmY0MGZmIgorICAgIGxldCBzOmN0ZXJtX2NvbG9yMTQgPSAiIzAwZmZmZiIKKyAgICBsZXQgczpjdGVybV9jb2xvcjE1ID0gIiNmZmZmZmYiCisgIGVuZGlmCitlbmRpZgorCisiIFJldHVybiBnb29kIGNvbG9yIHNwZWNpZmljYXRpb246IGluIEdVSSBubyB0cmFuc2Zvcm1hdGlvbiBpcyBkb25lLCBpbgorIiB0ZXJtaW5hbCByZXR1cm4gUkdCIHZhbHVlcyBvZiBrbm93biBjb2xvcnMgYW5kIGVtcHR5IHN0cmluZyBvbiB1bmtub3duCitpZiBzOndoYXR0ZXJtID09ICJndWkiCisgIGZ1bmN0aW9uISBzOkh0bWxDb2xvcihjb2xvcikKKyAgICByZXR1cm4gYTpjb2xvcgorICBlbmRmdW4KK2Vsc2UKKyAgZnVuY3Rpb24hIHM6SHRtbENvbG9yKGNvbG9yKQorICAgIGlmIGV4aXN0cygiczpjdGVybV9jb2xvciIgLiBhOmNvbG9yKQorICAgICAgZXhlY3V0ZSAicmV0dXJuIHM6Y3Rlcm1fY29sb3IiIC4gYTpjb2xvcgorICAgIGVsc2UKKyAgICAgIHJldHVybiAiIgorICAgIGVuZGlmCisgIGVuZGZ1bgorZW5kaWYKKworaWYgIWV4aXN0cygiaHRtbF91c2VfY3NzIikKKyAgIiBSZXR1cm4gb3BlbmluZyBIVE1MIHRhZyBmb3IgZ2l2ZW4gaGlnaGxpZ2h0IGlkCisgIGZ1bmN0aW9uISBzOkh0bWxPcGVuaW5nKGlkKQorICAgIGxldCBhID0gIiIKKyAgICBpZiBzeW5JRGF0dHIoYTppZCwgImludmVyc2UiKQorICAgICAgIiBGb3IgaW52ZXJzZSwgd2UgYWx3YXlzIG11c3Qgc2V0IGJvdGggY29sb3JzIChhbmQgZXhjaGFuZ2UgdGhlbSkKKyAgICAgIGxldCB4ID0gczpIdG1sQ29sb3Ioc3luSURhdHRyKGE6aWQsICJmZyMiLCBzOndoYXR0ZXJtKSkKKyAgICAgIGxldCBhID0gYSAuICc8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogJyAuICggeCAhPSAiIiA/IHggOiBzOmZnYyApIC4gJyI+JworICAgICAgbGV0IHggPSBzOkh0bWxDb2xvcihzeW5JRGF0dHIoYTppZCwgImJnIyIsIHM6d2hhdHRlcm0pKQorICAgICAgbGV0IGEgPSBhIC4gJzxmb250IGNvbG9yPSInIC4gKCB4ICE9ICIiID8geCA6IHM6YmdjICkgLiAnIj4nCisgICAgZWxzZQorICAgICAgbGV0IHggPSBzOkh0bWxDb2xvcihzeW5JRGF0dHIoYTppZCwgImJnIyIsIHM6d2hhdHRlcm0pKQorICAgICAgaWYgeCAhPSAiIiB8IGxldCBhID0gYSAuICc8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogJyAuIHggLiAnIj4nIHwgZW5kaWYKKyAgICAgIGxldCB4ID0gczpIdG1sQ29sb3Ioc3luSURhdHRyKGE6aWQsICJmZyMiLCBzOndoYXR0ZXJtKSkKKyAgICAgIGlmIHggIT0gIiIgfCBsZXQgYSA9IGEgLiAnPGZvbnQgY29sb3I9IicgLiB4IC4gJyI+JyB8IGVuZGlmCisgICAgZW5kaWYKKyAgICBpZiBzeW5JRGF0dHIoYTppZCwgImJvbGQiKSB8IGxldCBhID0gYSAuICI8Yj4iIHwgZW5kaWYKKyAgICBpZiBzeW5JRGF0dHIoYTppZCwgIml0YWxpYyIpIHwgbGV0IGEgPSBhIC4gIjxpPiIgfCBlbmRpZgorICAgIGlmIHN5bklEYXR0cihhOmlkLCAidW5kZXJsaW5lIikgfCBsZXQgYSA9IGEgLiAiPHU+IiB8IGVuZGlmCisgICAgcmV0dXJuIGEKKyAgZW5kZnVuCisKKyAgIiBSZXR1cm4gY2xvc2luZyBIVE1MIHRhZyBmb3IgZ2l2ZW4gaGlnaGxpZ2h0IGlkCisgIGZ1bmN0aW9uIHM6SHRtbENsb3NpbmcoaWQpCisgICAgbGV0IGEgPSAiIgorICAgIGlmIHN5bklEYXR0cihhOmlkLCAidW5kZXJsaW5lIikgfCBsZXQgYSA9IGEgLiAiPC91PiIgfCBlbmRpZgorICAgIGlmIHN5bklEYXR0cihhOmlkLCAiaXRhbGljIikgfCBsZXQgYSA9IGEgLiAiPC9pPiIgfCBlbmRpZgorICAgIGlmIHN5bklEYXR0cihhOmlkLCAiYm9sZCIpIHwgbGV0IGEgPSBhIC4gIjwvYj4iIHwgZW5kaWYKKyAgICBpZiBzeW5JRGF0dHIoYTppZCwgImludmVyc2UiKQorICAgICAgbGV0IGEgPSBhIC4gJzwvZm9udD48L3NwYW4+JworICAgIGVsc2UKKyAgICAgIGxldCB4ID0gczpIdG1sQ29sb3Ioc3luSURhdHRyKGE6aWQsICJmZyMiLCBzOndoYXR0ZXJtKSkKKyAgICAgIGlmIHggIT0gIiIgfCBsZXQgYSA9IGEgLiAnPC9mb250PicgfCBlbmRpZgorICAgICAgbGV0IHggPSBzOkh0bWxDb2xvcihzeW5JRGF0dHIoYTppZCwgImJnIyIsIHM6d2hhdHRlcm0pKQorICAgICAgaWYgeCAhPSAiIiB8IGxldCBhID0gYSAuICc8L3NwYW4+JyB8IGVuZGlmCisgICAgZW5kaWYKKyAgICByZXR1cm4gYQorICBlbmRmdW4KK2VuZGlmCisKKyIgUmV0dXJuIENTUyBzdHlsZSBkZXNjcmliaW5nIGdpdmVuIGhpZ2hsaWdodCBpZCAoY2FuIGJlIGVtcHR5KQorZnVuY3Rpb24hIHM6Q1NTMShpZCkKKyAgbGV0IGEgPSAiIgorICBpZiBzeW5JRGF0dHIoYTppZCwgImludmVyc2UiKQorICAgICIgRm9yIGludmVyc2UsIHdlIGFsd2F5cyBtdXN0IHNldCBib3RoIGNvbG9ycyAoYW5kIGV4Y2hhbmdlIHRoZW0pCisgICAgbGV0IHggPSBzOkh0bWxDb2xvcihzeW5JRGF0dHIoYTppZCwgImJnIyIsIHM6d2hhdHRlcm0pKQorICAgIGxldCBhID0gYSAuICJjb2xvcjogIiAuICggeCAhPSAiIiA/IHggOiBzOmJnYyApIC4gIjsgIgorICAgIGxldCB4ID0gczpIdG1sQ29sb3Ioc3luSURhdHRyKGE6aWQsICJmZyMiLCBzOndoYXR0ZXJtKSkKKyAgICBsZXQgYSA9IGEgLiAiYmFja2dyb3VuZC1jb2xvcjogIiAuICggeCAhPSAiIiA/IHggOiBzOmZnYyApIC4gIjsgIgorICBlbHNlCisgICAgbGV0IHggPSBzOkh0bWxDb2xvcihzeW5JRGF0dHIoYTppZCwgImZnIyIsIHM6d2hhdHRlcm0pKQorICAgIGlmIHggIT0gIiIgfCBsZXQgYSA9IGEgLiAiY29sb3I6ICIgLiB4IC4gIjsgIiB8IGVuZGlmCisgICAgbGV0IHggPSBzOkh0bWxDb2xvcihzeW5JRGF0dHIoYTppZCwgImJnIyIsIHM6d2hhdHRlcm0pKQorICAgIGlmIHggIT0gIiIgfCBsZXQgYSA9IGEgLiAiYmFja2dyb3VuZC1jb2xvcjogIiAuIHggLiAiOyAiIHwgZW5kaWYKKyAgZW5kaWYKKyAgaWYgc3luSURhdHRyKGE6aWQsICJib2xkIikgfCBsZXQgYSA9IGEgLiAiZm9udC13ZWlnaHQ6IGJvbGQ7ICIgfCBlbmRpZgorICBpZiBzeW5JRGF0dHIoYTppZCwgIml0YWxpYyIpIHwgbGV0IGEgPSBhIC4gImZvbnQtc3R5bGU6IGl0YWxpYzsgIiB8IGVuZGlmCisgIGlmIHN5bklEYXR0cihhOmlkLCAidW5kZXJsaW5lIikgfCBsZXQgYSA9IGEgLiAidGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7ICIgfCBlbmRpZgorICByZXR1cm4gYQorZW5kZnVuCisKKyIgRmlndXJlIG91dCBwcm9wZXIgTUlNRSBjaGFyc2V0IGZyb20gdGhlICdlbmNvZGluZycgb3B0aW9uLgoraWYgZXhpc3RzKCJodG1sX3VzZV9lbmNvZGluZyIpCisgIGxldCBzOmh0bWxfZW5jb2RpbmcgPSBodG1sX3VzZV9lbmNvZGluZworZWxzZQorICBsZXQgczp2aW1fZW5jb2RpbmcgPSAmZW5jb2RpbmcKKyAgaWYgczp2aW1fZW5jb2RpbmcgPX4gJ144Yml0XHxeMmJ5dGUnCisgICAgbGV0IHM6dmltX2VuY29kaW5nID0gc3Vic3RpdHV0ZShzOnZpbV9lbmNvZGluZywgJ144Yml0LVx8XjJieXRlLScsICcnLCAnJykKKyAgZW5kaWYKKyAgaWYgczp2aW1fZW5jb2RpbmcgPT0gJ2xhdGluMScKKyAgICBsZXQgczpodG1sX2VuY29kaW5nID0gJ2lzby04ODU5LTEnCisgIGVsc2VpZiBzOnZpbV9lbmNvZGluZyA9fiAiXmNwMTIiCisgICAgbGV0IHM6aHRtbF9lbmNvZGluZyA9IHN1YnN0aXR1dGUoczp2aW1fZW5jb2RpbmcsICdjcCcsICd3aW5kb3dzLScsICcnKQorICBlbHNlaWYgczp2aW1fZW5jb2RpbmcgPT0gJ3NqaXMnCisgICAgbGV0IHM6aHRtbF9lbmNvZGluZyA9ICdTaGlmdF9KSVMnCisgIGVsc2VpZiBzOnZpbV9lbmNvZGluZyA9PSAnZXVjLWNuJworICAgIGxldCBzOmh0bWxfZW5jb2RpbmcgPSAnR0JfMjMxMi04MCcKKyAgZWxzZWlmIHM6dmltX2VuY29kaW5nID09ICdldWMtdHcnCisgICAgbGV0IHM6aHRtbF9lbmNvZGluZyA9ICIiCisgIGVsc2VpZiBzOnZpbV9lbmNvZGluZyA9fiAnXmV1Y1x8Xmlzb1x8XmtvaScKKyAgICBsZXQgczpodG1sX2VuY29kaW5nID0gc3Vic3RpdHV0ZShzOnZpbV9lbmNvZGluZywgJy4qJywgJ1xVXDAnLCAnJykKKyAgZWxzZWlmIHM6dmltX2VuY29kaW5nID09ICdjcDk0OScKKyAgICBsZXQgczpodG1sX2VuY29kaW5nID0gJ0tTX0NfNTYwMS0xOTg3JworICBlbHNlaWYgczp2aW1fZW5jb2RpbmcgPT0gJ2NwOTM2JworICAgIGxldCBzOmh0bWxfZW5jb2RpbmcgPSAnR0JLJworICBlbHNlaWYgczp2aW1fZW5jb2RpbmcgPX4gJ151Y3NcfF51dGYnCisgICAgbGV0IHM6aHRtbF9lbmNvZGluZyA9ICdVVEYtOCcKKyAgZWxzZQorICAgIGxldCBzOmh0bWxfZW5jb2RpbmcgPSAiIgorICBlbmRpZgorZW5kaWYKKworCisiIFNldCBzb21lIG9wdGlvbnMgdG8gbWFrZSBpdCB3b3JrIGZhc3Rlci4KKyIgRXhwYW5kIHRhYnMgaW4gb3JpZ2luYWwgYnVmZmVyIHRvIGdldCAndGFic3RvcCcgY29ycmVjdGx5IHVzZWQuCisiIERvbid0IHJlcG9ydCBjaGFuZ2VzIGZvciA6c3Vic3RpdHV0ZSwgdGhlcmUgd2lsbCBiZSBtYW55IG9mIHRoZW0uCitsZXQgczpvbGRfdGl0bGUgPSAmdGl0bGUKK2xldCBzOm9sZF9pY29uID0gJmljb24KK2xldCBzOm9sZF9ldCA9ICZsOmV0CitsZXQgczpvbGRfcmVwb3J0ID0gJnJlcG9ydAorbGV0IHM6b2xkX3NlYXJjaCA9IEAvCitzZXQgbm90aXRsZSBub2ljb24KK3NldGxvY2FsIGV0CitzZXQgcmVwb3J0PTEwMDAwMDAKKworIiBTcGxpdCB3aW5kb3cgdG8gY3JlYXRlIGEgYnVmZmVyIHdpdGggdGhlIEhUTUwgZmlsZS4KK2xldCBzOm9yZ2J1Zm5yID0gd2luYnVmbnIoMCkKK2lmIGV4cGFuZCgiJSIpID09ICIiCisgIG5ldyBVbnRpdGxlZC5odG1sCitlbHNlCisgIG5ldyAlLmh0bWwKK2VuZGlmCitsZXQgczpuZXd3aW4gPSB3aW5ucigpCitsZXQgczpvcmd3aW4gPSBidWZ3aW5ucihzOm9yZ2J1Zm5yKQorCitzZXQgbW9kaWZpYWJsZQorJWQKK2xldCBzOm9sZF9wYXN0ZSA9ICZwYXN0ZQorc2V0IHBhc3RlCitsZXQgczpvbGRfbWFnaWMgPSAmbWFnaWMKK3NldCBtYWdpYworCitpZiBleGlzdHMoInVzZV94aHRtbCIpCisgIGV4ZSAibm9ybWFsISBhPD94bWwgdmVyc2lvbj1cIjEuMFwiPz5cblxlIgorICBsZXQgdGFnX2Nsb3NlID0gJy8+JworZWxzZQorICBsZXQgdGFnX2Nsb3NlID0gJz4nCitlbmRpZgorCisiIEhUTUwgaGVhZGVyLCB3aXRoIHRoZSB0aXRsZSBhbmQgZ2VuZXJhdG9yIDstKS4gTGVmdCBmcmVlIHNwYWNlIGZvciB0aGUgQ1NTLAorIiB0byBiZSBmaWxsZWQgYXQgdGhlIGVuZC4KK2V4ZSAibm9ybWFsISBhPGh0bWw+XG48aGVhZD5cbjx0aXRsZT5cZSIKK2V4ZSAibm9ybWFsISBhIiAuIGV4cGFuZCgiJTpwOn4iKSAuICI8L3RpdGxlPlxuXGUiCitleGUgIm5vcm1hbCEgYTxtZXRhIG5hbWU9XCJHZW5lcmF0b3JcIiBjb250ZW50PVwiVmltLyIgLiB2OnZlcnNpb24vMTAwIC4gIi4iIC4gdjp2ZXJzaW9uICUxMDAgLiAnIicgLiB0YWdfY2xvc2UgLiAiXG5cZSIKK2lmIHM6aHRtbF9lbmNvZGluZyAhPSAiIgorICBleGUgIm5vcm1hbCEgYTxtZXRhIGh0dHAtZXF1aXY9XCJjb250ZW50LXR5cGVcIiBjb250ZW50PVwidGV4dC9odG1sOyBjaGFyc2V0PSIgLiBzOmh0bWxfZW5jb2RpbmcgLiAnIicgLiB0YWdfY2xvc2UgLiAiXG5cZSIKK2VuZGlmCitpZiBleGlzdHMoImh0bWxfdXNlX2NzcyIpCisgIGV4ZSAibm9ybWFsISBhPHN0eWxlIHR5cGU9XCJ0ZXh0L2Nzc1wiPlxuPCEtLVxuLS0+XG48L3N0eWxlPlxuXGUiCitlbmRpZgoraWYgZXhpc3RzKCJodG1sX25vX3ByZSIpCisgIGV4ZSAibm9ybWFsISBhPC9oZWFkPlxuPGJvZHk+XG5cZSIKK2Vsc2UKKyAgZXhlICJub3JtYWwhIGE8L2hlYWQ+XG48Ym9keT5cbjxwcmU+XG5cZSIKK2VuZGlmCisKK2V4ZSBzOm9yZ3dpbiAuICJ3aW5jbWQgdyIKKworIiBMaXN0IG9mIGFsbCBpZCdzCitsZXQgczppZGxpc3QgPSAiLCIKKworbGV0IHM6ZXhwYW5kZWR0YWIgPSAnICcKK3doaWxlIHN0cmxlbihzOmV4cGFuZGVkdGFiKSA8ICZ0cworICBsZXQgczpleHBhbmRlZHRhYiA9IHM6ZXhwYW5kZWR0YWIgLiAnICcKK2VuZHdoaWxlCisKKyIgTG9vcCBvdmVyIGFsbCBsaW5lcyBpbiB0aGUgb3JpZ2luYWwgdGV4dC4KKyIgVXNlIGh0bWxfc3RhcnRfbGluZSBhbmQgaHRtbF9lbmRfbGluZSBpZiB0aGV5IGFyZSBzZXQuCitpZiBleGlzdHMoImh0bWxfc3RhcnRfbGluZSIpCisgIGxldCBzOmxudW0gPSBodG1sX3N0YXJ0X2xpbmUKKyAgaWYgczpsbnVtIDwgMSB8fCBzOmxudW0gPiBsaW5lKCIkIikKKyAgICBsZXQgczpsbnVtID0gMQorICBlbmRpZgorZWxzZQorICBsZXQgczpsbnVtID0gMQorZW5kaWYKK2lmIGV4aXN0cygiaHRtbF9lbmRfbGluZSIpCisgIGxldCBzOmVuZCA9IGh0bWxfZW5kX2xpbmUKKyAgaWYgczplbmQgPCBzOmxudW0gfHwgczplbmQgPiBsaW5lKCIkIikKKyAgICBsZXQgczplbmQgPSBsaW5lKCIkIikKKyAgZW5kaWYKK2Vsc2UKKyAgbGV0IHM6ZW5kID0gbGluZSgiJCIpCitlbmRpZgorCit3aGlsZSBzOmxudW0gPD0gczplbmQKKworICAiIEdldCB0aGUgY3VycmVudCBsaW5lCisgIGxldCBzOmxpbmUgPSBnZXRsaW5lKHM6bG51bSkKKyAgbGV0IHM6bGVuID0gc3RybGVuKHM6bGluZSkKKyAgbGV0IHM6bmV3ID0gIiIKKworICBpZiBzOm51bWJsaW5lcworICAgIGxldCBzOm5ldyA9ICc8c3BhbiBjbGFzcz0ibG5yIj4nIC4gc3RycGFydCgnICAgICAgICAnLCAwLCBzdHJsZW4obGluZSgiJCIpKSAtIHN0cmxlbihzOmxudW0pKSAuIHM6bG51bSAuICc8L3NwYW4+ICAnCisgIGVuZGlmCisKKyAgIiBMb29wIG92ZXIgZWFjaCBjaGFyYWN0ZXIgaW4gdGhlIGxpbmUKKyAgbGV0IHM6Y29sID0gMQorICB3aGlsZSBzOmNvbCA8PSBzOmxlbgorICAgIGxldCBzOnN0YXJ0Y29sID0gczpjb2wgIiBUaGUgc3RhcnQgY29sdW1uIGZvciBwcm9jZXNzaW5nIHRleHQKKyAgICBsZXQgczppZCA9IHN5bklEKHM6bG51bSwgczpjb2wsIDEpCisgICAgbGV0IHM6Y29sID0gczpjb2wgKyAxCisgICAgIiBTcGVlZCBsb29wIChpdCdzIHNtYWxsIC0gdGhhdCdzIHRoZSB0cmljaykKKyAgICAiIEdvIGFsb25nIHRpbGwgd2UgZmluZCBhIGNoYW5nZSBpbiBzeW5JRAorICAgIHdoaWxlIHM6Y29sIDw9IHM6bGVuICYmIHM6aWQgPT0gc3luSUQoczpsbnVtLCBzOmNvbCwgMSkgfCBsZXQgczpjb2wgPSBzOmNvbCArIDEgfCBlbmR3aGlsZQorCisgICAgIiBPdXRwdXQgdGhlIHRleHQgd2l0aCB0aGUgc2FtZSBzeW5JRCwgd2l0aCBjbGFzcyBzZXQgdG8ge3M6aWRfbmFtZX0KKyAgICBsZXQgczppZCA9IHN5bklEdHJhbnMoczppZCkKKyAgICBsZXQgczppZF9uYW1lID0gc3luSURhdHRyKHM6aWQsICJuYW1lIiwgczp3aGF0dGVybSkKKyAgICBsZXQgczpuZXcgPSBzOm5ldyAuICc8c3BhbiBjbGFzcz0iJyAuIHM6aWRfbmFtZSAuICciPicgLiBzdWJzdGl0dXRlKHN1YnN0aXR1dGUoc3Vic3RpdHV0ZShzdWJzdGl0dXRlKHN1YnN0aXR1dGUoc3RycGFydChzOmxpbmUsIHM6c3RhcnRjb2wgLSAxLCBzOmNvbCAtIHM6c3RhcnRjb2wpLCAnJicsICdcJmFtcDsnLCAnZycpLCAnPCcsICdcJmx0OycsICdnJyksICc+JywgJ1wmZ3Q7JywgJ2cnKSwgJyInLCAnXCZxdW90OycsICdnJyksICJceDBjIiwgJzxociBjbGFzcz0iUEFHRS1CUkVBSyI+JywgJ2cnKSAuICc8L3NwYW4+JworICAgICIgQWRkIHRoZSBjbGFzcyB0byBjbGFzcyBsaXN0IGlmIGl0J3Mgbm90IHRoZXJlIHlldAorICAgIGlmIHN0cmlkeChzOmlkbGlzdCwgIiwiIC4gczppZCAuICIsIikgPT0gLTEKKyAgICAgIGxldCBzOmlkbGlzdCA9IHM6aWRsaXN0IC4gczppZCAuICIsIgorICAgIGVuZGlmCisKKyAgICBpZiBzOmNvbCA+IHM6bGVuCisgICAgICBicmVhaworICAgIGVuZGlmCisgIGVuZHdoaWxlCisKKyAgIiBFeHBhbmQgdGFicworICBsZXQgczpwYWQ9MAorICBsZXQgczpzdGFydCA9IDAKKyAgbGV0IHM6aWR4ID0gc3RyaWR4KHM6bGluZSwgIlx0IikKKyAgd2hpbGUgczppZHggPj0gMAorICAgIGxldCBzOmkgPSAmdHMgLSAoKHM6c3RhcnQgKyBzOnBhZCArIHM6aWR4KSAlICZ0cykKKyAgICBsZXQgczpuZXcgPSBzdWJzdGl0dXRlKHM6bmV3LCAnXHQnLCBzdHJwYXJ0KHM6ZXhwYW5kZWR0YWIsIDAsIHM6aSksICcnKQorICAgIGxldCBzOnBhZCA9IHM6cGFkICsgczppIC0gMQorICAgIGxldCBzOnN0YXJ0ID0gczpzdGFydCArIHM6aWR4ICsgMQorICAgIGxldCBzOmlkeCA9IHN0cmlkeChzdHJwYXJ0KHM6bGluZSwgczpzdGFydCksICJcdCIpCisgIGVuZHdoaWxlCisKKyAgaWYgZXhpc3RzKCJodG1sX25vX3ByZSIpCisgICAgaWYgZXhpc3RzKCJ1c2VfeGh0bWwiKQorICAgICAgbGV0IHM6bmV3ID0gc3Vic3RpdHV0ZShzOm5ldywgJyAgJywgJ1wmI3gyMDtcJiN4MjA7JywgJ2cnKSAuICc8YnIvPicKKyAgICBlbHNlCisgICAgICBsZXQgczpuZXcgPSBzdWJzdGl0dXRlKHM6bmV3LCAnICAnLCAnXCZuYnNwO1wmbmJzcDsnLCAnZycpIC4gJzxicj4nCisgICAgZW5kaWYKKyAgZW5kaWYKKyAgZXhlIHM6bmV3d2luIC4gIndpbmNtZCB3IgorICBleGUgIm5vcm1hbCEgYSIgLiBzdHJ0cmFucyhzOm5ldykgLiAiXG5cZSIKKyAgZXhlIHM6b3Jnd2luIC4gIndpbmNtZCB3IgorICBsZXQgczpsbnVtID0gczpsbnVtICsgMQorICArCitlbmR3aGlsZQorIiBGaW5pc2ggd2l0aCB0aGUgbGFzdCBsaW5lCitleGUgczpuZXd3aW4gLiAid2luY21kIHciCitpZiBleGlzdHMoImh0bWxfbm9fcHJlIikKKyAgZXhlICJub3JtYWwhIGFcbjwvYm9keT5cbjwvaHRtbD5cZSIKK2Vsc2UKKyAgZXhlICJub3JtYWwhIGE8L3ByZT5cbjwvYm9keT5cbjwvaHRtbD5cZSIKK2VuZGlmCisKKworIiBOb3csIHdoZW4gd2UgZmluYWxseSBrbm93IHdoaWNoLCB3ZSBkZWZpbmUgdGhlIGNvbG9ycyBhbmQgc3R5bGVzCitpZiBleGlzdHMoImh0bWxfdXNlX2NzcyIpCisgIDE7LzxzdHlsZSB0eXBlPSJ0ZXh0LysxCitlbmRpZgorCisiIEZpbmQgb3V0IHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9yLgorbGV0IHM6ZmdjID0gczpIdG1sQ29sb3Ioc3luSURhdHRyKGhsSUQoIk5vcm1hbCIpLCAiZmcjIiwgczp3aGF0dGVybSkpCitsZXQgczpiZ2MgPSBzOkh0bWxDb2xvcihzeW5JRGF0dHIoaGxJRCgiTm9ybWFsIiksICJiZyMiLCBzOndoYXR0ZXJtKSkKK2lmIHM6ZmdjID09ICIiCisgIGxldCBzOmZnYyA9ICggJmJhY2tncm91bmQgPT0gImRhcmsiID8gIiNmZmZmZmYiIDogIiMwMDAwMDAiICkKK2VuZGlmCitpZiBzOmJnYyA9PSAiIgorICBsZXQgczpiZ2MgPSAoICZiYWNrZ3JvdW5kID09ICJkYXJrIiA/ICIjMDAwMDAwIiA6ICIjZmZmZmZmIiApCitlbmRpZgorCisiIE5vcm1hbC9nbG9iYWwgYXR0cmlidXRlcworIiBGb3IgTmV0c2NhcGUgNCwgc2V0IDxib2R5PiBhdHRyaWJ1dGVzIHRvbywgdGhvdWdoLCBzdHJpY3RseSBzcGVha2luZywgaXQncworIiBpbmNvcnJlY3QuCitpZiBleGlzdHMoImh0bWxfdXNlX2NzcyIpCisgIGlmIGV4aXN0cygiaHRtbF9ub19wcmUiKQorICAgIGV4ZWN1dGUgIm5vcm1hbCEgQVxuYm9keSB7IGNvbG9yOiAiIC4gczpmZ2MgLiAiOyBiYWNrZ3JvdW5kLWNvbG9yOiAiIC4gczpiZ2MgLiAiOyBmb250LWZhbWlseTogQ291cmllciwgbW9ub3NwYWNlOyB9XGUiCisgIGVsc2UKKyAgICBleGVjdXRlICJub3JtYWwhIEFcbnByZSB7IGNvbG9yOiAiIC4gczpmZ2MgLiAiOyBiYWNrZ3JvdW5kLWNvbG9yOiAiIC4gczpiZ2MgLiAiOyB9XGUiCisgICAgeWFuaworICAgIHB1dAorICAgIGV4ZWN1dGUgIm5vcm1hbCEgXmN3Ym9keVxlIgorICBlbmRpZgorZWxzZQorICBpZiBleGlzdHMoImh0bWxfbm9fcHJlIikKKyAgICBleGVjdXRlICclczo8Ym9keT46PGJvZHkgJyAuICdiZ2NvbG9yPSInIC4gczpiZ2MgLiAnIiB0ZXh0PSInIC4gczpmZ2MgLiAnIiBzdHlsZT0iZm9udC1mYW1pbHlcOiBDb3VyaWVyLCBtb25vc3BhY2U7Ij4nCisgIGVsc2UKKyAgICBleGVjdXRlICclczo8Ym9keT46PGJvZHkgJyAuICdiZ2NvbG9yPSInIC4gczpiZ2MgLiAnIiB0ZXh0PSInIC4gczpmZ2MgLiAnIj4nCisgIGVuZGlmCitlbmRpZgorCisiIExpbmUgbnVtYmVyaW5nIGF0dHJpYnV0ZXMKK2lmIHM6bnVtYmxpbmVzCisgIGlmIGV4aXN0cygiaHRtbF91c2VfY3NzIikKKyAgICBleGVjdXRlICJub3JtYWwhIEFcbi5sbnIgeyAiIC4gczpDU1MxKGhsSUQoIkxpbmVOciIpKSAuICJ9XGUiCisgIGVsc2UKKyAgICBleGVjdXRlICclcys8c3BhbiBjbGFzcz0ibG5yIj5cKFtePF0qXCk8L3NwYW4+KycgLiBzOkh0bWxPcGVuaW5nKGhsSUQoIkxpbmVOciIpKSAuICdcMScgLiBzOkh0bWxDbG9zaW5nKGhsSUQoIkxpbmVOciIpKSAuICcrZycKKyAgZW5kaWYKK2VuZGlmCisKKyIgR2F0aGVyIGF0dHJpYnV0ZXMgZm9yIGFsbCBvdGhlciBjbGFzc2VzCitsZXQgczppZGxpc3QgPSBzdHJwYXJ0KHM6aWRsaXN0LCAxKQord2hpbGUgczppZGxpc3QgIT0gIiIKKyAgbGV0IHM6YXR0ciA9ICIiCisgIGxldCBzOmNvbCA9IHN0cmlkeChzOmlkbGlzdCwgIiwiKQorICBsZXQgczppZCA9IHN0cnBhcnQoczppZGxpc3QsIDAsIHM6Y29sKQorICBsZXQgczppZGxpc3QgPSBzdHJwYXJ0KHM6aWRsaXN0LCBzOmNvbCArIDEpCisgIGxldCBzOmF0dHIgPSBzOkNTUzEoczppZCkKKyAgbGV0IHM6aWRfbmFtZSA9IHN5bklEYXR0cihzOmlkLCAibmFtZSIsIHM6d2hhdHRlcm0pCisgICIgSWYgdGhlIGNsYXNzIGhhcyBzb21lIGF0dHJpYnV0ZXMsIGV4cG9ydCB0aGUgc3R5bGUsIG90aGVyd2lzZSBERUxFVEUgYWxsCisgICIgaXRzIG9jY3VyZW5jZXMgdG8gbWFrZSB0aGUgSFRNTCBzaG9ydGVyCisgIGlmIHM6YXR0ciAhPSAiIgorICAgIGlmIGV4aXN0cygiaHRtbF91c2VfY3NzIikKKyAgICAgIGV4ZWN1dGUgIm5vcm1hbCEgQVxuLiIgLiBzOmlkX25hbWUgLiAiIHsgIiAuIHM6YXR0ciAuICJ9IgorICAgIGVsc2UKKyAgICAgIGV4ZWN1dGUgJyVzKzxzcGFuIGNsYXNzPSInIC4gczppZF9uYW1lIC4gJyI+XChbXjxdKlwpPC9zcGFuPisnIC4gczpIdG1sT3BlbmluZyhzOmlkKSAuICdcMScgLiBzOkh0bWxDbG9zaW5nKHM6aWQpIC4gJytnJworICAgIGVuZGlmCisgIGVsc2UKKyAgICBleGVjdXRlICclcys8c3BhbiBjbGFzcz0iJyAuIHM6aWRfbmFtZSAuICciPlwoW148XSpcKTwvc3Bhbj4rXDErZycKKyAgICBpZiBleGlzdHMoImh0bWxfdXNlX2NzcyIpCisgICAgICAxOy88c3R5bGUgdHlwZT0idGV4dC8rMQorICAgIGVuZGlmCisgIGVuZGlmCitlbmR3aGlsZQorCisiIEFkZCBoeXBlcmxpbmtzCislcytcKGh0dHA6Ly9cU1x7LX1cKVwoXChbLiw7On1dXD1cKFxzXHwkXClcKVx8W1xcIic8Pl1cfCZndDtcfCZsdDtcKSs8QSBIUkVGPSJcMSI+XDE8L0E+XDIrZ2UKKworIiBUaGUgRFRECitpZiBleGlzdHMoImh0bWxfdXNlX2NzcyIpCisgIGV4ZSAibm9ybWFsISBnZzBpPCFET0NUWVBFIEhUTUwgUFVCTElDIFwiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTlwiIFwiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZFwiPlxuXGUiCitlbmRpZgorCisiIENsZWFudXAKKyVzOlxzXCskOjplCisKKyIgUmVzdG9yZSBvbGQgc2V0dGluZ3MKK2xldCAmcmVwb3J0ID0gczpvbGRfcmVwb3J0CitsZXQgJnRpdGxlID0gczpvbGRfdGl0bGUKK2xldCAmaWNvbiA9IHM6b2xkX2ljb24KK2xldCAmcGFzdGUgPSBzOm9sZF9wYXN0ZQorbGV0ICZtYWdpYyA9IHM6b2xkX21hZ2ljCitsZXQgQC8gPSBzOm9sZF9zZWFyY2gKK2V4ZSBzOm9yZ3dpbiAuICJ3aW5jbWQgdyIKK2xldCAmbDpldCA9IHM6b2xkX2V0CitleGUgczpuZXd3aW4gLiAid2luY21kIHciCisKKyIgU2F2ZSBhIGxpdHRsZSBiaXQgb2YgbWVtb3J5ICh3b3J0aCBkb2luZz8pCit1bmxldCBzOm9sZF9ldCBzOm9sZF9wYXN0ZSBzOm9sZF9pY29uIHM6b2xkX3JlcG9ydCBzOm9sZF90aXRsZSBzOm9sZF9zZWFyY2gKK3VubGV0IHM6d2hhdHRlcm0gczppZGxpc3QgczpsbnVtIHM6ZW5kIHM6ZmdjIHM6YmdjIHM6b2xkX21hZ2ljCit1bmxldCEgczpjb2wgczppZCBzOmF0dHIgczpsZW4gczpsaW5lIHM6bmV3IHM6ZGlkX3JldGFiIHM6bnVtYmxpbmVzCit1bmxldCBzOm9yZ3dpbiBzOm5ld3dpbiBzOm9yZ2J1Zm5yCitkZWxmdW5jIHM6SHRtbENvbG9yCitkZWxmdW5jIHM6Q1NTMQoraWYgIWV4aXN0cygiaHRtbF91c2VfY3NzIikKKyAgZGVsZnVuYyBzOkh0bWxPcGVuaW5nCisgIGRlbGZ1bmMgczpIdG1sQ2xvc2luZworZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L1JFQURNRS50eHQgYi9ydW50aW1lL3N5bnRheC9SRUFETUUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4OGJkN2UKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9SRUFETUUudHh0CkBAIC0wLDAgKzEsMzggQEAKK1RoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIFZpbSBzY3JpcHRzIGZvciBzeW50YXggaGlnaGxpZ2h0aW5nLgorCitUaGVzZSBzY3JpcHRzIGFyZSBub3QgZm9yIGEgbGFuZ3VhZ2UsIGJ1dCBhcmUgdXNlZCBieSBWaW0gaXRzZWxmOgorCitzeW50YXgudmltCVVzZWQgZm9yIHRoZSAiOnN5bnRheCBvbiIgY29tbWFuZC4gIFVzZXMgc3lubG9hZC52aW0uCisKK21hbnVhbC52aW0JVXNlZCBmb3IgdGhlICI6c3ludGF4IG1hbnVhbCIgY29tbWFuZC4gIFVzZXMgc3lubG9hZC52aW0uCisKK3N5bmxvYWQudmltCUNvbnRhaW5zIGF1dG9jb21tYW5kcyB0byBsb2FkIGEgbGFuZ3VhZ2UgZmlsZSB3aGVuIGEgY2VydGFpbgorCQlmaWxlIG5hbWUgKGV4dGVuc2lvbikgaXMgdXNlZC4gIEFuZCBzZXRzIHVwIHRoZSBTeW50YXggbWVudQorCQlmb3IgdGhlIEdVSS4KKworbm9zeW50YXgudmltCVVzZWQgZm9yIHRoZSAiOnN5bnRheCBvZmYiIGNvbW1hbmQuICBVbmRvIHRoZSBsb2FkaW5nIG9mCisJCXN5bmxvYWQudmltLgorCisKK0EgZmV3IHNwZWNpYWwgZmlsZXM6CisKKzJodG1sLnZpbQlDb252ZXJ0cyBhbnkgaGlnaGxpZ2h0ZWQgZmlsZSB0byBIVE1MIChHVUkgb25seSkuCitjb2xvcnRlc3QudmltCUNoZWNrIGZvciBjb2xvciBuYW1lcyBhbmQgYWN0dWFsIGNvbG9yIG9uIHNjcmVlbi4KK2hpdGVzdC52aW0JVmlldyB0aGUgY3VycmVudCBoaWdobGlnaHQgc2V0dGluZ3MuCit3aGl0ZXNwYWNlLnZpbSAgVmlldyBUYWJzIGFuZCBTcGFjZXMuCisKKworSWYgeW91IHdhbnQgdG8gd3JpdGUgYSBzeW50YXggZmlsZSwgcmVhZCB0aGUgZG9jcyBhdCAiOmhlbHAgdXNyXzQ0LnR4dCIuCisKK0lmIHlvdSBtYWtlIGEgbmV3IHN5bnRheCBmaWxlIHdoaWNoIHdvdWxkIGJlIHVzZWZ1bCBmb3Igb3RoZXJzLCBwbGVhc2Ugc2VuZCBpdAordG8gQnJhbUB2aW0ub3JnLiAgSW5jbHVkZSBpbnN0cnVjdGlvbnMgZm9yIGRldGVjdGluZyB0aGUgZmlsZSB0eXBlIGZvciB0aGlzCitsYW5ndWFnZSwgYnkgZmlsZSBuYW1lIGV4dGVuc2lvbiBvciBieSBjaGVja2luZyBhIGZldyBsaW5lcyBpbiB0aGUgZmlsZS4KK0FuZCBwbGVhc2Ugd3JpdGUgdGhlIGZpbGUgaW4gYSBwb3J0YWJsZSB3YXksIHNlZSAiOmhlbHAgNDQuMTIiLgorCitJZiB5b3UgaGF2ZSByZW1hcmtzIGFib3V0IGFuIGV4aXN0aW5nIGZpbGUsIHNlbmQgdGhlbSB0byB0aGUgbWFpbnRhaW5lciBvZgordGhhdCBmaWxlLiAgT25seSB3aGVuIHlvdSBnZXQgbm8gcmVzcG9uc2Ugc2VuZCBhIG1lc3NhZ2UgdG8gQnJhbUB2aW0ub3JnLgorCitJZiB5b3UgYXJlIHRoZSBtYWludGFpbmVyIG9mIGEgc3ludGF4IGZpbGUgYW5kIG1ha2UgaW1wcm92ZW1lbnRzLCBzZW5kIHRoZSBuZXcKK3ZlcnNpb24gdG8gQnJhbUB2aW0ub3JnLgorCitGb3IgZnVydGhlciBpbmZvIHNlZSAiOmhlbHAgc3ludGF4IiBpbiBWaW0uCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hNjUudmltIGIvcnVudGltZS9zeW50YXgvYTY1LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmYxY2RiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYTY1LnZpbQpAQCAtMCwwICsxLDE2NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CXhhIDY1MDIgY3Jvc3MgYXNzZW1ibGVyCisiIE1haW50YWluZXI6CUNsZW1lbnMgS2lyY2hnYXR0ZXJlciA8Y2xlbWVuc0B0aGYuYXRoLmN4PgorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMDMKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBPcGNvZGVzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFBIUFwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8UExBXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxQTFhcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFBMWVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8U0VDXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxDTERcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFNFRFwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8Q0xJXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxCVkNcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPEJWU1woJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8QkNTXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxCQ0NcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPERFWVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8REVDXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxDTVBcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPENQWFwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8QklUXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxST0xcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFJPUlwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8QVNMXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxUWEFcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFRZQVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8VFNYXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxUWFNcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPExEQVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8TERYXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxMRFlcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFNUQVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8UExQXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxCUktcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFJUSVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8Tk9QXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxTRUlcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPENMVlwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8UEhBXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxQSFhcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPEJSQVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8Sk1QXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxKU1JcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFJUU1woJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8Q1BZXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxCTkVcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPEJFUVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8Qk1JXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxMU1JcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPElOWFwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8SU5ZXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxJTkNcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPEFEQ1woJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8U0JDXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxBTkRcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPE9SQVwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8U1RYXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxTVFlcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFNUWlwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8RU9SXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxERVhcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPEJQTFwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8Q0xDXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxQSFlcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFRSQlwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8QkJSXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxCQlNcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFJNQlwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKK3N5biBtYXRjaCBhNjVPcGNvZGUJIlw8U01CXCgkXHxcc1wpIiBuZXh0Z3JvdXA9YTY1QWRkcmVzcworc3luIG1hdGNoIGE2NU9wY29kZQkiXDxUQVlcKCRcfFxzXCkiIG5leHRncm91cD1hNjVBZGRyZXNzCitzeW4gbWF0Y2ggYTY1T3Bjb2RlCSJcPFRBWFwoJFx8XHNcKSIgbmV4dGdyb3VwPWE2NUFkZHJlc3MKKworIiBBZGRyZXNzZXMKK3N5biBtYXRjaCBhNjVBZGRyZXNzCSJccyohXD0kWzAtOUEtRl1cezJ9XCgkXHxcc1wpIgorc3luIG1hdGNoIGE2NUFkZHJlc3MJIlxzKiFcPSRbMC05QS1GXVx7NH1cKCRcfFxzXCkiCitzeW4gbWF0Y2ggYTY1QWRkcmVzcwkiXHMqIVw9JFswLTlBLUZdXHsyfSxYXCgkXHxcc1wpIgorc3luIG1hdGNoIGE2NUFkZHJlc3MJIlxzKiFcPSRbMC05QS1GXVx7NH0sWFwoJFx8XHNcKSIKK3N5biBtYXRjaCBhNjVBZGRyZXNzCSJccyohXD0kWzAtOUEtRl1cezJ9LFlcKCRcfFxzXCkiCitzeW4gbWF0Y2ggYTY1QWRkcmVzcwkiXHMqIVw9JFswLTlBLUZdXHs0fSxZXCgkXHxcc1wpIgorc3luIG1hdGNoIGE2NUFkZHJlc3MJIlxzKigkWzAtOUEtRl1cezJ9KVwoJFx8XHNcKSIKK3N5biBtYXRjaCBhNjVBZGRyZXNzCSJccyooJFswLTlBLUZdXHs0fSlcKCRcfFxzXCkiCitzeW4gbWF0Y2ggYTY1QWRkcmVzcwkiXHMqKCRbMC05QS1GXVx7Mn0sWClcKCRcfFxzXCkiCitzeW4gbWF0Y2ggYTY1QWRkcmVzcwkiXHMqKCRbMC05QS1GXVx7Mn0pLFlcKCRcfFxzXCkiCisKKyIgTnVtYmVycworc3luIG1hdGNoIGE2NU51bWJlcgkiI1w9WzAtOV0qXD4iCitzeW4gbWF0Y2ggYTY1TnVtYmVyCSIjXD0kWzAtOUEtRl0qXD4iCitzeW4gbWF0Y2ggYTY1TnVtYmVyCSIjXD0mWzAtN10qXD4iCitzeW4gbWF0Y2ggYTY1TnVtYmVyCSIjXD0lWzAxXSpcPiIKKworc3luIGNhc2UgbWF0Y2gKKworIiBUeXBlcworc3luIG1hdGNoIGE2NVR5cGUJIlwoXlx8XHNcKVwuYnl0XCgkXHxcc1wpIgorc3luIG1hdGNoIGE2NVR5cGUJIlwoXlx8XHNcKVwud29yZFwoJFx8XHNcKSIKK3N5biBtYXRjaCBhNjVUeXBlCSJcKF5cfFxzXClcLmFzY1woJFx8XHNcKSIKK3N5biBtYXRjaCBhNjVUeXBlCSJcKF5cfFxzXClcLmRzYlwoJFx8XHNcKSIKK3N5biBtYXRjaCBhNjVUeXBlCSJcKF5cfFxzXClcLmZvcHRcKCRcfFxzXCkiCitzeW4gbWF0Y2ggYTY1VHlwZQkiXCheXHxcc1wpXC50ZXh0XCgkXHxcc1wpIgorc3luIG1hdGNoIGE2NVR5cGUJIlwoXlx8XHNcKVwuZGF0YVwoJFx8XHNcKSIKK3N5biBtYXRjaCBhNjVUeXBlCSJcKF5cfFxzXClcLmJzc1woJFx8XHNcKSIKK3N5biBtYXRjaCBhNjVUeXBlCSJcKF5cfFxzXClcLnplcm9cKCRcfFxzXCkiCitzeW4gbWF0Y2ggYTY1VHlwZQkiXCheXHxcc1wpXC5hbGlnblwoJFx8XHNcKSIKKworIiBCbG9ja3MKK3N5biBtYXRjaCBhNjVTZWN0aW9uCSJcKF5cfFxzXClcLihcKCRcfFxzXCkiCitzeW4gbWF0Y2ggYTY1U2VjdGlvbgkiXCheXHxcc1wpXC4pXCgkXHxcc1wpIgorCisiIFN0cmluZ3MKK3N5biBtYXRjaCBhNjVTdHJpbmcJIlwiLipcIiIKKworIiBQcm9ncmFtbSBDb3VudGVyCitzeW4gcmVnaW9uIGE2NVBDCXN0YXJ0PSJcKj0iIGVuZD0iXD4iIGtlZXBlbmQKKworIiBISS9MTyBCeXRlCitzeW4gcmVnaW9uIGE2NUhpTG8Jc3RhcnQ9IiNbPD5dIiBlbmQ9IiRcfFxzIiBjb250YWlucz1hNjVDb21tZW50IGtlZXBlbmQKKworIiBDb21tZW50cworc3luIGtleXdvcmQgYTY1VG9kbwlUT0RPIFhYWCBGSVhNRSBCVUcgY29udGFpbmVkCitzeW4gbWF0Y2ggICBhNjVDb21tZW50CSI7LioiaHM9cysxIGNvbnRhaW5zPWE2NVRvZG8KK3N5biByZWdpb24gIGE2NUNvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPWE2NVRvZG8sYTY1Q29tbWVudAorCisiIFByZXByb2Nlc3Nvcgorc3luIHJlZ2lvbiBhNjVQcmVQcm9jCXN0YXJ0PSJeIyIgZW5kPSIkIiBjb250YWlucz1hNjVDb21tZW50LGE2NUNvbnRpbnVlCitzeW4gbWF0Y2ggIGE2NUVuZAkJCWV4Y2x1ZGVubCAvZW5kJC8gY29udGFpbmVkCitzeW4gbWF0Y2ggIGE2NUNvbnRpbnVlCSJcXCQiIGNvbnRhaW5lZAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hNjVfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYTY1X3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGE2NVNlY3Rpb24JU3BlY2lhbAorICBIaUxpbmsgYTY1QWRkcmVzcwlTcGVjaWFsCisgIEhpTGluayBhNjVDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGE2NVByZVByb2MJUHJlUHJvYworICBIaUxpbmsgYTY1TnVtYmVyCU51bWJlcgorICBIaUxpbmsgYTY1U3RyaW5nCVN0cmluZworICBIaUxpbmsgYTY1VHlwZQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGE2NU9wY29kZQlUeXBlCisgIEhpTGluayBhNjVQQwkJRXJyb3IKKyAgSGlMaW5rIGE2NVRvZG8JVG9kbworICBIaUxpbmsgYTY1SGlMbwlOdW1iZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYTY1IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYWFwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FhcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM5OWE0ZAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FhcC52aW0KQEAgLTAsMCArMSwxNTggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglBLUEtUCByZWNpcGUKKyIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDQgSnVuIDEzCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorZW5kaWYKKworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCitzeW4gaW5jbHVkZSBAYWFwUHl0aG9uU2NyaXB0IHN5bnRheC9weXRob24udmltCisKK3N5biBtYXRjaCAgICAgICBhYXBWYXJpYWJsZSAvJFstKz8qPSInXFwhXSpbYS16QS1aMC05Xy5dKi8KK3N5biBtYXRjaCAgICAgICBhYXBWYXJpYWJsZSAvJFstKz8qPSInXFwhXSooW2EtekEtWjAtOV8uXSopLworc3luIGtleXdvcmQJYWFwVG9kbyBjb250YWluZWQgVE9ETyBUb2RvCitzeW4gbWF0Y2gJYWFwU3RyaW5nICsnW14nXVx7LX0nKworc3luIG1hdGNoCWFhcFN0cmluZyArIlteIl1cey19IisKKworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6YWN0aW9uXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjphZGRcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmFkZGFsbFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6YXNyb290XD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjphc3NlcnRwa2dcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmF0dHJcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmF0dHJpYnV0ZVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6YXV0b2RlcGVuZFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6YnVpbGRjaGVja1w+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6Y2RcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmNoZGlyXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpjaGVja2luXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpjaGVja291dFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6Y2hpbGRcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmNobW9kXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpjb21taXRcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmNvbW1pdGFsbFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6Y29uZlw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6Y29weVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6ZGVsXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpkZWxkaXJcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmRlbGV0ZVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6ZGVscnVsZVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6ZGxsXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpkb1w+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6ZXJyb3JcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmV4ZWN1dGVcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmV4aXRcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmV4cG9ydFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6ZmV0Y2hcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmZldGNoYWxsXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpmaWxldHlwZVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6ZmluaXNoXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpnbG9iYWxcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmltcG9ydFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6aW5jbHVkZVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6aW5zdGFsbHBrZ1w+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6bGliXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpsb2NhbFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6bG9nXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpsdGxpYlw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6bWtkaXJcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOm1rZG93bmxvYWRcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOm1vdmVcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnBhc3NcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnBvcGRpclw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cHJvZHVjZVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cHJvZ3JhbVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cHJvZ3NlYXJjaFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cHVibGlzaFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cHVibGlzaGFsbFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cHVzaGRpclw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cXVpdFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cmVjaXBlXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpyZWZyZXNoXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpyZW1vdmVcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnJlbW92ZWFsbFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cmVxdWlyZVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6cmV2aXNlXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpyZXZpc2VhbGxcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnJvdXRlXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpydWxlXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpzdGFydFw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6c3ltbGlua1w+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6c3lzXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpzeXNkZXBlbmRcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnN5c3BhdGhcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnN5c3RlbVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6dGFnXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjp0YWdhbGxcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnRvb2xzZWFyY2hcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnRvdHlwZVw+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6dG91Y2hcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnRyZWVcPicKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOnVubG9ja1w+Jworc3luIG1hdGNoCWFhcENvbW1hbmQgJ15ccyo6dXBkYXRlXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjp1c2V0b29sXD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjp2YXJpYW50XD4nCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjp2ZXJzY29udFw+JworCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpwcmludFw+JyBuZXh0Z3JvdXA9YWFwUGlwZUVuZAorc3luIG1hdGNoCWFhcFBpcGVDbWQgJ1xzKjpwcmludFw+JyBuZXh0Z3JvdXA9YWFwUGlwZUVuZCBjb250YWluZWQKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmNhdFw+JyBuZXh0Z3JvdXA9YWFwUGlwZUVuZAorc3luIG1hdGNoCWFhcFBpcGVDbWQgJ1xzKjpjYXRcPicgbmV4dGdyb3VwPWFhcFBpcGVFbmQgY29udGFpbmVkCitzeW4gbWF0Y2gJYWFwQ29tbWFuZCAnXlxzKjpzeXNldmFsXD4nIG5leHRncm91cD1hYXBQaXBlRW5kCitzeW4gbWF0Y2gJYWFwUGlwZUNtZCAnXHMqOnN5c2V2YWxcPicgbmV4dGdyb3VwPWFhcFBpcGVFbmQgY29udGFpbmVkCitzeW4gbWF0Y2gJYWFwUGlwZUNtZCAnXHMqOmFzc2lnblw+JyBjb250YWluZWQKK3N5biBtYXRjaAlhYXBDb21tYW5kICdeXHMqOmV2YWxcPicgbmV4dGdyb3VwPWFhcFBpcGVFbmQKK3N5biBtYXRjaAlhYXBQaXBlQ21kICdccyo6ZXZhbFw+JyBuZXh0Z3JvdXA9YWFwUGlwZUVuZFB5IGNvbnRhaW5lZAorc3luIG1hdGNoCWFhcFBpcGVDbWQgJ1xzKjp0ZWVcPicgbmV4dGdyb3VwPWFhcFBpcGVFbmQgY29udGFpbmVkCitzeW4gbWF0Y2gJYWFwUGlwZUNtZCAnXHMqOmxvZ1w+JyBuZXh0Z3JvdXA9YWFwUGlwZUVuZCBjb250YWluZWQKK3N5biBtYXRjaAlhYXBQaXBlRW5kICdbXnxdKnwnIG5leHRncm91cD1hYXBQaXBlQ21kIGNvbnRhaW5lZCBza2lwbmwKK3N5biBtYXRjaAlhYXBQaXBlRW5kUHkgJ1tefF0qfCcgbmV4dGdyb3VwPWFhcFBpcGVDbWQgY29udGFpbmVkIHNraXBubCBjb250YWlucz1AYWFwUHl0aG9uU2NyaXB0CitzeW4gbWF0Y2gJYWFwUGlwZVN0YXJ0ICdeXHMqfCcgbmV4dGdyb3VwPWFhcFBpcGVDbWQKKworIgorIiBBIFB5dGhvbiBsaW5lIHN0YXJ0cyB3aXRoIEAuICBDYW4gYmUgY29udGludWVkIHdpdGggYSB0cmFpbGluZyBiYWNrc2xhc2guCitzeW4gcmVnaW9uIGFhcFB5dGhvblJlZ2lvbiBzdGFydD0iXHMqQCIgc2tpcD0nXFwkJyBlbmQ9KyQrIGNvbnRhaW5zPUBhYXBQeXRob25TY3JpcHQga2VlcGVuZAorIgorIiBBIFB5dGhvbiBibG9jayBzdGFydHMgd2l0aCAiOnB5dGhvbiIgYW5kIGNvbnRpbnVlcyBzbyBsb25nIGFzIHRoZSBpbmRlbnQgaXMKKyIgYmlnZ2VyLgorc3luIHJlZ2lvbiBhYXBQeXRob25SZWdpb24gbWF0Y2hncm91cD1hYXBDb21tYW5kIHN0YXJ0PSJceihccypcKTpweXRob24iIHNraXA9J1xuXHoxXHNcfFxuXHMqXG4nIGVuZD0rJCsgY29udGFpbnM9QGFhcFB5dGhvblNjcmlwdAorCisiIEEgUHl0aG9uIGV4cHJlc3Npb24gaXMgZW5jbG9zZWQgaW4gYmFja3RpY2tzLgorc3luIHJlZ2lvbiBhYXBQeXRob25SZWdpb24gc3RhcnQ9ImAiIHNraXA9ImBgIiBlbmQ9ImAiIGNvbnRhaW5zPUBhYXBQeXRob25TY3JpcHQKKworIiBUT0RPOiBUaGVyZSBpcyBzb21ldGhpbmcgd3Jvbmcgd2l0aCBsaW5lIGNvbnRpbnVhdGlvbi4KK3N5biBtYXRjaAlhYXBDb21tZW50ICcjLionIGNvbnRhaW5zPWFhcFRvZG8KK3N5biBtYXRjaAlhYXBDb21tZW50ICcjLipcKFxcXG4uKlwpJyBjb250YWlucz1hYXBUb2RvCisKK3N5biBtYXRjaAlhYXBTcGVjaWFsICckIycKK3N5biBtYXRjaAlhYXBTcGVjaWFsICckXCQnCitzeW4gbWF0Y2gJYWFwU3BlY2lhbCAnJCguKScKKworIiBBIGhlcmVkb2MgYXNzaWdubWVudC4KK3N5biByZWdpb24gYWFwSGVyZWRvYyBzdGFydD0iXlxzKlxrXCtccyokXD0rXD0/XD08PFxzKlx6KFxTKlwpImhzPWUrMSBlbmQ9Il5ccypcejFccyokImhlPXMtMQorCisiIFN5bmNpbmcgaXMgbmVlZGVkIGZvciAiOnB5dGhvbiIgYW5kICJWQVIgPDwgRU9GIi4gIERvbid0IHVzZSBQeXRob24gc3luY2luZworc3luIHN5bmMgY2xlYXIKK3N5biBzeW5jIGZyb21zdGFydAorCisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK2hpIGRlZiBsaW5rIGFhcFRvZG8JCVRvZG8KK2hpIGRlZiBsaW5rIGFhcFN0cmluZwkJU3RyaW5nCitoaSBkZWYgbGluayBhYXBDb21tZW50CQlDb21tZW50CitoaSBkZWYgbGluayBhYXBTcGVjaWFsCQlTcGVjaWFsCitoaSBkZWYgbGluayBhYXBWYXJpYWJsZQkJSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgYWFwUGlwZUNtZAkJYWFwQ29tbWFuZAoraGkgZGVmIGxpbmsgYWFwQ29tbWFuZAkJU3RhdGVtZW50CitoaSBkZWYgbGluayBhYXBIZXJlZG9jCQlDb25zdGFudAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhYXAiCisKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYWJhcXVzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FiYXF1cy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y0YjA4MgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FiYXF1cy52aW0KQEAgLTAsMCArMSw0OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUFiYXF1cyBmaW5pdGUgZWxlbWVudCBpbnB1dCBmaWxlICh3d3cuaGtzLmNvbSkKKyIgTWFpbnRhaW5lcjoJQ2FybCBPc3Rlcndpc2NoIDxvc3Rlcndpc2NoY0Bhc21lLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDIgRmViIDI0CisiIFJlbWFyazoJSHVnZSBpbXByb3ZlbWVudCBpbiBmb2xkaW5nIHBlcmZvcm1hbmNlLS1zZWUgZmlsZXR5cGUgcGx1Z2luCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBBYmFxdXMgY29tbWVudCBsaW5lcworc3luIG1hdGNoIGFiYXF1c0NvbW1lbnQJIl5cKlwqLiokIgorCisiIEFiYXF1cyBrZXl3b3JkIGxpbmVzCitzeW4gbWF0Y2ggYWJhcXVzS2V5d29yZExpbmUgIl5cKlxoLioiIGNvbnRhaW5zPWFiYXF1c0tleXdvcmQsYWJhcXVzUGFyYW1ldGVyLGFiYXF1c1ZhbHVlIGRpc3BsYXkKK3N5biBtYXRjaCBhYmFxdXNLZXl3b3JkICJeXCpcaFteLF0qIiBjb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoIGFiYXF1c1BhcmFtZXRlciAiLFteLD1dXCsibGM9MSBjb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoIGFiYXF1c1ZhbHVlCSI9XHMqW14sXSoibGM9MSBjb250YWluZWQgZGlzcGxheQorCisiIElsbGVnYWwgc3ludGF4CitzeW4gbWF0Y2ggYWJhcXVzQmFkTGluZQkiXlxzXCtcKi4qIiBkaXNwbGF5CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FiYXF1c19zeW5faW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9hYmFxdXNfc3luX2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCSIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKKwlIaUxpbmsgYWJhcXVzQ29tbWVudAlDb21tZW50CisJSGlMaW5rIGFiYXF1c0tleXdvcmQJU3RhdGVtZW50CisJSGlMaW5rIGFiYXF1c1BhcmFtZXRlcglJZGVudGlmaWVyCisJSGlMaW5rIGFiYXF1c1ZhbHVlCUNvbnN0YW50CisJSGlMaW5rIGFiYXF1c0JhZExpbmUgICAgRXJyb3IKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhYmFxdXMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hYmMudmltIGIvcnVudGltZS9zeW50YXgvYWJjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGMwOThlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYWJjLnZpbQpAQCAtMCwwICsxLDY0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJYWJjIG11c2ljIG5vdGF0aW9uIGxhbmd1YWdlCisiIE1haW50YWluZXI6CUphbWVzIEFsbHdyaWdodCA8Si5SLkFsbHdyaWdodEB3ZXN0bWluc3Rlci5hYy51az4KKyIgVVJMOgkJaHR0cDovL3BlcnVuLmhzY3Mud21pbi5hYy51ay9+anJhL3ZpbS9zeW50YXgvYWJjLnZpbQorIiBMYXN0IENoYW5nZToJMjd0aCBBcHJpbCAyMDAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiB0YWdzCitzeW4gcmVnaW9uIGFiY0d1aXRhckNob3JkIHN0YXJ0PSsiW0EtR10rIGVuZD0rIisgY29udGFpbmVkCitzeW4gbWF0Y2ggYWJjTm90ZSAielsxLTldKlswLTldKiIgY29udGFpbmVkCitzeW4gbWF0Y2ggYWJjTm90ZSAielsxLTldKlswLTldKi9bMjQ4XVw9IiBjb250YWluZWQKK3N5biBtYXRjaCBhYmNOb3RlICJbPV9cXl1ceywyfVtBLUddLCpbMS05XSpbMC05XSoiIGNvbnRhaW5lZAorc3luIG1hdGNoIGFiY05vdGUgIls9X1xeXVx7LDJ9W0EtR10sKlsxLTldKlswLTldKi9bMjQ4XVw9IiBjb250YWluZWQKK3N5biBtYXRjaCBhYmNOb3RlICJbPV9cXl1ceywyfVthLWddJypbMS05XSpbMC05XSoiICBjb250YWluZWQKK3N5biBtYXRjaCBhYmNOb3RlICJbPV9cXl1ceywyfVthLWddJypbMS05XSpbMC05XSovWzI0OF1cPSIgIGNvbnRhaW5lZAorc3luIG1hdGNoIGFiY0JhciAifCIgIGNvbnRhaW5lZAorc3luIG1hdGNoIGFiY0JhciAiWzp8XVs6fF0iICBjb250YWluZWQKK3N5biBtYXRjaCBhYmNCYXIgIjp8MiIgIGNvbnRhaW5lZAorc3luIG1hdGNoIGFiY0JhciAifDEiICBjb250YWluZWQKK3N5biBtYXRjaCBhYmNCYXIgIlxbWzEyXSIgIGNvbnRhaW5lZAorc3luIG1hdGNoIGFiY1R1cGxlICIoWzEtOV1cKzpcPVswLTldKjpcPVswLTldKiIgY29udGFpbmVkCitzeW4gbWF0Y2ggYWJjQnJva2VuICI8XHw8PFx8PDw8XHw+XHw+Plx8Pj4+IiBjb250YWluZWQKK3N5biBtYXRjaCBhYmNUaWUgICAgIi0iCitzeW4gbWF0Y2ggYWJjSGVhZEZpZWxkICJeW0EtRUdISUstVFZXWFpdOi4qJCIgY29udGFpbmVkCitzeW4gbWF0Y2ggYWJjQm9keUZpZWxkICJeW0tMTVBRV1Z3XTouKiQiIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBhYmNIZWFkZXIgc3RhcnQ9Il5YOiIgZW5kPSJeSzouKiQiIGNvbnRhaW5lZCBjb250YWlucz1hYmNIZWFkRmllbGQsYWJjQ29tbWVudCBrZWVwZW5kCitzeW4gcmVnaW9uIGFiY1R1bmUgc3RhcnQ9Il5YOiIgZW5kPSJeICokIiBjb250YWlucz1hYmNIZWFkZXIsYWJjQ29tbWVudCxhYmNCYXIsYWJjTm90ZSxhYmNCb2R5RmllbGQsYWJjR3VpdGFyQ2hvcmQsYWJjVHVwbGUsYWJjQnJva2VuLGFiY1RpZQorc3luIG1hdGNoIGFiY0NvbW1lbnQgIiUuKiQiCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYWJjX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2FiY19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhYmNDb21tZW50CQlDb21tZW50CisgIEhpTGluayBhYmNIZWFkRmllbGQJCVR5cGUKKyAgSGlMaW5rIGFiY0JvZHlGaWVsZAkJU3BlY2lhbAorICBIaUxpbmsgYWJjQmFyCQkJU3RhdGVtZW50CisgIEhpTGluayBhYmNUdXBsZQkJCVN0YXRlbWVudAorICBIaUxpbmsgYWJjQnJva2VuCQkJU3RhdGVtZW50CisgIEhpTGluayBhYmNUaWUJCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGFiY0d1aXRhckNob3JkCUlkZW50aWZpZXIKKyAgSGlMaW5rIGFiY05vdGUJCQlDb25zdGFudAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhYmMiCisKKyIgdmltOiB0cz00CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hYmVsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FiZWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZTliZTMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hYmVsLnZpbQpAQCAtMCwwICsxLDE2NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUFCRUwKKyIgTWFpbnRhaW5lcjoJSm9obiBDb29rIDxqb2huLmNvb2tAa2xhLXRlbmNvci5jb20+CisiIExhc3QgQ2hhbmdlOgkyMDAxIFNlcCAyCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiB0aGlzIGxhbmd1YWdlIGlzIG9ibGl2aW91cyB0byBjYXNlCitzeW4gY2FzZSBpZ25vcmUKKworIiBBIGJ1bmNoIG9mIGtleXdvcmRzCitzeW4ga2V5d29yZCBhYmVsSGVhZGVyCQltb2R1bGUgdGl0bGUgZGV2aWNlIG9wdGlvbnMKK3N5biBrZXl3b3JkIGFiZWxTZWN0aW9uCQlkZWNsYXJhdGlvbnMgZXF1YXRpb25zIHRlc3RfdmVjdG9ycyBlbmQKK3N5biBrZXl3b3JkIGFiZWxEZWNsYXJhdGlvbglzdGF0ZSB0cnV0aF90YWJsZSBzdGF0ZV9kaWFncmFtIHByb3BlcnR5CitzeW4ga2V5d29yZCBhYmVsVHlwZQkJcGluIG5vZGUgYXR0cmlidXRlIGNvbnN0YW50IG1hY3JvIGxpYnJhcnkKKworc3luIGtleXdvcmQgYWJlbFR5cGVJZAkJY29tIHJlZyBuZWcgcG9zIGJ1ZmZlciBkYyByZWdfZCByZWdfdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGFiZWxUeXBlSWQJCXJlZ19zciByZWdfamsgcmVnX2cgcmV0YWluIHhvciBpbnZlcnQgY29udGFpbmVkCisKK3N5biBrZXl3b3JkIGFiZWxTdGF0ZW1lbnQJd2hlbiB0aGVuIGVsc2UgaWYgd2l0aCBlbmR3aXRoIGNhc2UgZW5kY2FzZQorc3luIGtleXdvcmQgYWJlbFN0YXRlbWVudAlmdXNlcyBleHByIHRyYWNlCisKKyIgb3B0aW9uIHRvIG9taXQgb2Jzb2xldGUgc3RhdGVtZW50cworaWYgZXhpc3RzKCJhYmVsX29ic29sZXRlX29rIikKKyAgc3luIGtleXdvcmQgYWJlbFN0YXRlbWVudCBlbmFibGUgZmxhZyBpbgorZWxzZQorICBzeW4ga2V5d29yZCBhYmVsRXJyb3IgZW5hYmxlIGZsYWcgaW4KK2VuZGlmCisKKyIgZGlyZWN0aXZlcworc3luIG1hdGNoIGFiZWxEaXJlY3RpdmUgIkBhbHRlcm5hdGUiCitzeW4gbWF0Y2ggYWJlbERpcmVjdGl2ZSAiQHN0YW5kYXJkIgorc3luIG1hdGNoIGFiZWxEaXJlY3RpdmUgIkBjb25zdCIKK3N5biBtYXRjaCBhYmVsRGlyZWN0aXZlICJAZGNzZXQiCitzeW4gbWF0Y2ggYWJlbERpcmVjdGl2ZSAiQGluY2x1ZGUiCitzeW4gbWF0Y2ggYWJlbERpcmVjdGl2ZSAiQHBhZ2UiCitzeW4gbWF0Y2ggYWJlbERpcmVjdGl2ZSAiQHJhZGl4Igorc3luIG1hdGNoIGFiZWxEaXJlY3RpdmUgIkByZXBlYXQiCitzeW4gbWF0Y2ggYWJlbERpcmVjdGl2ZSAiQGlycCIKK3N5biBtYXRjaCBhYmVsRGlyZWN0aXZlICJAZXhwciIKK3N5biBtYXRjaCBhYmVsRGlyZWN0aXZlICJAaWYiCitzeW4gbWF0Y2ggYWJlbERpcmVjdGl2ZSAiQGlmYiIKK3N5biBtYXRjaCBhYmVsRGlyZWN0aXZlICJAaWZuYiIKK3N5biBtYXRjaCBhYmVsRGlyZWN0aXZlICJAaWZkZWYiCitzeW4gbWF0Y2ggYWJlbERpcmVjdGl2ZSAiQGlmbmRlZiIKK3N5biBtYXRjaCBhYmVsRGlyZWN0aXZlICJAaWZpZGVuIgorc3luIG1hdGNoIGFiZWxEaXJlY3RpdmUgIkBpZm5pZGVuIgorCitzeW4ga2V5d29yZCBhYmVsVG9kbyBjb250YWluZWQgVE9ETyBYWFggRklYTUUKKworIiB3cmFwIHVwIHR5cGUgaWRlbnRpZmllcnMgdG8gZGlmZmVyZW50aWF0ZSB0aGVtIGZyb20gbm9ybWFsIHN0cmluZ3MKK3N5biByZWdpb24gYWJlbFNwZWNpZmllciBzdGFydD0naXN0eXBlJyBlbmQ9JzsnIGNvbnRhaW5zPWFiZWxUeXBlSWRDaGFyLGFiZWxUeXBlSWQsYWJlbFR5cGVJZEVuZCBrZWVwZW5kCitzeW4gbWF0Y2ggIGFiZWxUeXBlSWRDaGFyICJbLCddIiBjb250YWluZWQKK3N5biBtYXRjaCAgYWJlbFR5cGVJZEVuZCAgIjsiIGNvbnRhaW5lZAorCisiIHN0cmluZyBjb250c3RhbnRzIGFuZCBzcGVjaWFsIGNoYXJhY3RlcnMgd2l0aGluIHRoZW0KK3N5biBtYXRjaCAgYWJlbFNwZWNpYWwgY29udGFpbmVkICJcXFsnXFxdIgorc3luIHJlZ2lvbiBhYmVsU3RyaW5nIHN0YXJ0PSsnKyBza2lwPStcXCIrIGVuZD0rJysgY29udGFpbnM9YWJlbFNwZWNpYWwKKworIiB2YWxpZCBpbnRlZ2VyIG51bWJlciBmb3JtYXRzIChkZWNpbWFsLCBiaW5hcnksIG9jdGFsLCBoZXgpCitzeW4gbWF0Y2ggYWJlbE51bWJlciAiXDxbLStdXD1bMC05XVwrXD4iCitzeW4gbWF0Y2ggYWJlbE51bWJlciAiXF5kWzAtOV1cK1w+Igorc3luIG1hdGNoIGFiZWxOdW1iZXIgIlxeYlswMV1cK1w+Igorc3luIG1hdGNoIGFiZWxOdW1iZXIgIlxeb1swLTddXCtcPiIKK3N5biBtYXRjaCBhYmVsTnVtYmVyICJcXmhbMC05YS1mXVwrXD4iCisKKyIgc3BlY2lhbCBjaGFyYWN0ZXJzCisiIChkZWZpbmUgdGhlc2UgYWZ0ZXIgYWJlbE9wZXJhdG9yIHNvID89IG92ZXJyaWRlcyA/KQorc3luIG1hdGNoIGFiZWxTcGVjaWFsQ2hhciAiW1xbXF0oKXt9LDs6P10iCisKKyIgb3BlcmF0b3JzCitzeW4gbWF0Y2ggYWJlbExvZ2ljYWxPcGVyYXRvciAiWyEjJiRdIgorc3luIG1hdGNoIGFiZWxSYW5nZU9wZXJhdG9yICJcLlwuIgorc3luIG1hdGNoIGFiZWxBbHRlcm5hdGVPcGVyYXRvciAiWy8qK10iCitzeW4gbWF0Y2ggYWJlbEFsdGVybmF0ZU9wZXJhdG9yICI6WysqXToiCitzeW4gbWF0Y2ggYWJlbEFyaXRobWV0aWNPcGVyYXRvciAiWy0lXSIKK3N5biBtYXRjaCBhYmVsQXJpdGhtZXRpY09wZXJhdG9yICI8PCIKK3N5biBtYXRjaCBhYmVsQXJpdGhtZXRpY09wZXJhdG9yICI+PiIKK3N5biBtYXRjaCBhYmVsUmVsYXRpb25hbE9wZXJhdG9yICJbPD4hPV09Igorc3luIG1hdGNoIGFiZWxSZWxhdGlvbmFsT3BlcmF0b3IgIls8Pl0iCitzeW4gbWF0Y2ggYWJlbEFzc2lnbm1lbnRPcGVyYXRvciAiWzo/XVw9PSIKK3N5biBtYXRjaCBhYmVsQXNzaWdubWVudE9wZXJhdG9yICI/Oj0iCitzeW4gbWF0Y2ggYWJlbFRydXRoVGFibGVPcGVyYXRvciAiLT4iCisKKyIgc2lnbmFsIGV4dGVuc2lvbnMKK3N5biBtYXRjaCBhYmVsRXh0ZW5zaW9uICJcLmFjbHJcPiIKK3N5biBtYXRjaCBhYmVsRXh0ZW5zaW9uICJcLmFzZXRcPiIKK3N5biBtYXRjaCBhYmVsRXh0ZW5zaW9uICJcLmNsa1w+Igorc3luIG1hdGNoIGFiZWxFeHRlbnNpb24gIlwuY2xyXD4iCitzeW4gbWF0Y2ggYWJlbEV4dGVuc2lvbiAiXC5jb21cPiIKK3N5biBtYXRjaCBhYmVsRXh0ZW5zaW9uICJcLmZiXD4iCitzeW4gbWF0Y2ggYWJlbEV4dGVuc2lvbiAiXC5bY29dZVw+Igorc3luIG1hdGNoIGFiZWxFeHRlbnNpb24gIlwubFtlaF1cPiIKK3N5biBtYXRjaCBhYmVsRXh0ZW5zaW9uICJcLmZjXD4iCitzeW4gbWF0Y2ggYWJlbEV4dGVuc2lvbiAiXC5waW5cPiIKK3N5biBtYXRjaCBhYmVsRXh0ZW5zaW9uICJcLnNldFw+Igorc3luIG1hdGNoIGFiZWxFeHRlbnNpb24gIlwuW2Rqa3NydHFdXD4iCitzeW4gbWF0Y2ggYWJlbEV4dGVuc2lvbiAiXC5wclw+Igorc3luIG1hdGNoIGFiZWxFeHRlbnNpb24gIlwucmVcPiIKK3N5biBtYXRjaCBhYmVsRXh0ZW5zaW9uICJcLmFbcHJdXD4iCitzeW4gbWF0Y2ggYWJlbEV4dGVuc2lvbiAiXC5zW3ByXVw+IgorCisiIHNwZWNpYWwgY29uc3RhbnRzCitzeW4gbWF0Y2ggYWJlbENvbnN0YW50ICJcLltja3VkZnB4el1cLiIKK3N5biBtYXRjaCBhYmVsQ29uc3RhbnQgIlwuc3ZbMi05XVwuIgorCisiIG9uZS1saW5lIGNvbW1lbnRzCitzeW4gcmVnaW9uIGFiZWxDb21tZW50IHN0YXJ0PSsiKyBlbmQ9KyJcfCQrIGNvbnRhaW5zPWFiZWxOdW1iZXIsYWJlbFRvZG8KKyIgb3B0aW9uIHRvIHByZXZlbnQgQysrIHN0eWxlIGNvbW1lbnRzCitpZiAhZXhpc3RzKCJhYmVsX2NwcF9jb21tZW50c19pbGxlZ2FsIikKKyAgc3luIHJlZ2lvbiBhYmVsQ29tbWVudCBzdGFydD0rLy8rIGVuZD0rJCsgY29udGFpbnM9YWJlbE51bWJlcixhYmVsVG9kbworZW5kaWYKKworc3luIHN5bmMgbWlubGluZXM9MQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hYmVsX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2FiZWxfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyAgSGlMaW5rIGFiZWxIZWFkZXIJCWFiZWxTdGF0ZW1lbnQKKyAgSGlMaW5rIGFiZWxTZWN0aW9uCQlhYmVsU3RhdGVtZW50CisgIEhpTGluayBhYmVsRGVjbGFyYXRpb24JYWJlbFN0YXRlbWVudAorICBIaUxpbmsgYWJlbExvZ2ljYWxPcGVyYXRvcglhYmVsT3BlcmF0b3IKKyAgSGlMaW5rIGFiZWxSYW5nZU9wZXJhdG9yCWFiZWxPcGVyYXRvcgorICBIaUxpbmsgYWJlbEFsdGVybmF0ZU9wZXJhdG9yCWFiZWxPcGVyYXRvcgorICBIaUxpbmsgYWJlbEFyaXRobWV0aWNPcGVyYXRvcglhYmVsT3BlcmF0b3IKKyAgSGlMaW5rIGFiZWxSZWxhdGlvbmFsT3BlcmF0b3IJYWJlbE9wZXJhdG9yCisgIEhpTGluayBhYmVsQXNzaWdubWVudE9wZXJhdG9yCWFiZWxPcGVyYXRvcgorICBIaUxpbmsgYWJlbFRydXRoVGFibGVPcGVyYXRvcglhYmVsT3BlcmF0b3IKKyAgSGlMaW5rIGFiZWxTcGVjaWZpZXIJCWFiZWxTdGF0ZW1lbnQKKyAgSGlMaW5rIGFiZWxPcGVyYXRvcgkJYWJlbFN0YXRlbWVudAorICBIaUxpbmsgYWJlbFN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBhYmVsSWRlbnRpZmllcgkJSWRlbnRpZmllcgorICBIaUxpbmsgYWJlbFR5cGVJZAkJYWJlbFR5cGUKKyAgSGlMaW5rIGFiZWxUeXBlSWRDaGFyCQlhYmVsVHlwZQorICBIaUxpbmsgYWJlbFR5cGUJCVR5cGUKKyAgSGlMaW5rIGFiZWxOdW1iZXIJCWFiZWxTdHJpbmcKKyAgSGlMaW5rIGFiZWxTdHJpbmcJCVN0cmluZworICBIaUxpbmsgYWJlbENvbnN0YW50CQlDb25zdGFudAorICBIaUxpbmsgYWJlbENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGFiZWxFeHRlbnNpb24JCWFiZWxTcGVjaWFsCisgIEhpTGluayBhYmVsU3BlY2lhbENoYXIJYWJlbFNwZWNpYWwKKyAgSGlMaW5rIGFiZWxUeXBlSWRFbmQJCWFiZWxTcGVjaWFsCisgIEhpTGluayBhYmVsU3BlY2lhbAkJU3BlY2lhbAorICBIaUxpbmsgYWJlbERpcmVjdGl2ZQkJUHJlUHJvYworICBIaUxpbmsgYWJlbFRvZG8JCVRvZG8KKyAgSGlMaW5rIGFiZWxFcnJvcgkJRXJyb3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYWJlbCIKKyIgdmltOnRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FjZWRiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FjZWRiLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTRlNGFiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYWNlZGIudmltCkBAIC0wLDAgKzEsMTIzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQWNlREIgbW9kZWwgZmlsZXMKKyIgTWFpbnRhaW5lcjoJU3Rld2FydCBNb3JyaXMgKFN0ZXdhcnQuTW9ycmlzQGVkLmFjLnVrKQorIiBMYXN0IGNoYW5nZToJVGh1IEFwciAyNiAxMDozODowMSBCU1QgMjAwMQorIiBVUkw6CQlodHRwOi8vd3d3LmVkLmFjLnVrL35zd21vcnJpcy92aW0vYWNlZGIudmltCisKKyIgU3ludGF4IGZpbGUgdG8gaGFuZGxlIGFsbCAkQUNFREIvd3NwZWMvKi53cm0gZmlsZXMsIHByaW1hcmlseSBtb2RlbHMud3JtCisiIEFjZURCIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSBmcm9tIGh0dHA6Ly93d3cuYWNlZGIub3JnCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGtleXdvcmQJYWNlZGJYcmVmCVhSRUYKK3N5biBrZXl3b3JkCWFjZWRiTW9kaWZpZXIJVU5JUVVFIFJFUEVBVAorCitzeW4gY2FzZSBpZ25vcmUKK3N5biBrZXl3b3JkCWFjZWRiTW9kaWZpZXIJQ29uc3RyYWludHMKK3N5biBrZXl3b3JkCWFjZWRiVHlwZQlEYXRlVHlwZSBJbnQgVGV4dCBGbG9hdAorCisiIE1hZ2ljIHRhZ3MgZnJvbTogaHR0cDovL2dlbm9tZS5jb3JuZWxsLmVkdS9hY2Vkb2NzL21hZ2ljL3N1bW1hcnkuaHRtbAorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlwaWNrX21lX3RvX2NhbGwgTm9fY2FjaGUgTm9uX2dyYXBoaWMgVGl0bGUKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJRmxpcHBlZCBDZW50cmUgRXh0ZW50IFZpZXcgRGVmYXVsdF92aWV3CitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCUZyb21fbWFwIE1pbmltYWxfdmlldyBNYWluX01hcmtlciBNYXAgSW5jbHVkZXMKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJTWFwcGluZ19kYXRhIE1vcmVfZGF0YSBQb3NpdGlvbiBFbmRzIExlZnQgUmlnaHQKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJTXVsdGlfUG9zaXRpb24gTXVsdGlfRW5kcyBXaXRoIEVycm9yIFJlbGF0aXZlCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCU1pbiBBbmNob3IgR21hcCBHcmlkX21hcCBHcmlkIFN1Ym1lbnVzIENhbWJyaWRnZQorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlOb19idXR0b25zIENvbHVtbnMgQ29sb3VyIFN1cnJvdW5kX2NvbG91ciBUYWcKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJU2NhbGVfdW5pdCBDdXJzb3IgQ3Vyc29yX29uIEN1cnNvcl91bml0CitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCUxvY2F0b3IgTWFnbmlmaWNhdGlvbiBQcm9qZWN0aW9uX2xpbmVzX29uCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCU1hcmtlcl9wb2ludHMgTWFya2VyX2ludGVydmFscyBDb250aWdzCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCVBoeXNpY2FsX2dlbmVzIFR3b19wb2ludCBNdWx0aV9wb2ludCBMaWtlbGlob29kCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCVBvaW50X3F1ZXJ5IFBvaW50X3llbGxvdyBQb2ludF93aWR0aAorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlQb2ludF9wbmUgUG9pbnRfcGUgUG9pbnRfbm5lIFBvaW50X25lCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCURlcml2ZWRfdGFncyBEVF9xdWVyeSBEVF93aWR0aCBEVF9ub19kdXBsaWNhdGVzCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCVJIX2RhdGEgUkhfcXVlcnkgUkhfc3BhY2luZyBSSF9zaG93X2FsbAorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlOYW1lc19vbiBXaWR0aCBTeW1ib2wgQ29sb3VycyBQbmUgUGUgTm5lIHBNYXAKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJU2VxdWVuY2UgR3JpZGRlZCBGaW5nZXJQcmludCBJbl9TaXR1IENvc21pZF9ncmlkCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCUxheW91dCBMaW5lc19hdCBTcGFjZV9hdCBOb19zdGFnZ2VyIEExX2xhYmVsbGluZworc3luIGtleXdvcmQJYWNlZGJNYWdpYwlETkEgU3RydWN0dXJlIEZyb20gU291cmNlIFNvdXJjZV9FeG9ucworc3luIGtleXdvcmQJYWNlZGJNYWdpYwlDb2RpbmcgQ0RTIFRyYW5zY3JpcHQgQXNzZW1ibHlfdGFncyBBbGxlbGUKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJRGlzcGxheSBDb2xvdXIgRnJhbWVfc2Vuc2l0aXZlIFN0cmFuZF9zZW5zaXRpdmUKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJU2NvcmVfYm91bmRzIFBlcmNlbnQgQnVtcGFibGUgV2lkdGggU3ltYm9sCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCUJsaXhlbV9OIEFkZHJlc3MgRV9tYWlsIFBhcGVyIFJlZmVyZW5jZSBUaXRsZQorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlQb2ludF8xIFBvaW50XzIgQ2FsY3VsYXRpb24gRnVsbCBPbmVfcmVjb21iaW5hbnQKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJVGVzdGVkIFNlbGVjdGVkX3RyYW5zIEJhY2tjcm9zcyBCYWNrX29uZQorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlEb21fc2VtaSBEb21fbGV0IERpcmVjdCBDb21wbGV4X21peGVkIENhbGMKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJQ2FsY191cHBlcl9jb25mIEl0ZW1fMSBJdGVtXzIgUmVzdWx0cyBBX25vbl9CCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCVNjb3JlIFNjb3JlX2J5X29mZnNldCBTY29yZV9ieV93aWR0aAorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlSaWdodF9wcmlvcml0eSBCbGFzdG4gQmxpeGVtIEJsaXhlbV9YCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCUpvdXJuYWwgWWVhciBWb2x1bWUgUGFnZSBBdXRob3IKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJU2VsZWN0ZWQgT25lX2FsbCBSZWNzX2FsbCBPbmVfbGV0CitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCVNleF9mdWxsIFNleF9vbmUgU2V4X2NpcyBEb21fb25lIERvbV9zZWxlY3RlZAorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlDYWxjX2Rpc3RhbmNlIENhbGNfbG93ZXJfY29uZiBDYW5vbl9mb3JfY29zbWlkCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCVJldmVyc2VkX3BoeXNpY2FsIFBvaW50cyBQb3NpdGl2ZSBOZWdhdGl2ZQorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlQb2ludF9lcnJvcl9zY2FsZSBQb2ludF9zZWdyZWdhdGVfb3JkZXJlZAorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlQb2ludF9zeW1ib2wgSW50ZXJ2YWxfSlRNIEludGVydmFsX1JECitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCUVNQkxfZmVhdHVyZSBIb21vbCBGZWF0dXJlCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCURUX3RhZyBTcGFjZXIgU3BhY2VyX2NvbG91ciBTcGFjZXJfd2lkdGgKK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJUkhfcG9zaXRpdmUgUkhfbmVnYXRpdmUgUkhfY29udHJhZGljdG9yeSBRdWVyeQorc3luIGtleXdvcmQJYWNlZGJNYWdpYwlDbG9uZSBZX3JlbWFyayBQQ1JfcmVtYXJrIEh5YnJpZGl6ZXNfdG8KK3N5biBrZXl3b3JkCWFjZWRiTWFnaWMJUm93IFZpcnR1YWxfcm93IE1peGVkIEluX3Bvb2wgU3VicG9vbCBCX25vbl9BCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCUludGVydmFsX1NSSyBQb2ludF9zaG93X21hcmdpbmFsIFN1YnNlcXVlbmNlCitzeW4ga2V5d29yZAlhY2VkYk1hZ2ljCVZpc2libGUgUHJvcGVydGllcyBUcmFuc3Bvc29uCisKK3N5biBtYXRjaAlhY2VkYkNsYXNzCSJeP1x3XCtcfF4jXHdcKyIKK3N5biBtYXRjaAlhY2VkYkNvbW1lbnQJIi8vLioiCitzeW4gcmVnaW9uCWFjZWRiQ29tbWVudAlzdGFydD0iL1wqIiBlbmQ9IlwqLyIKK3N5biBtYXRjaAlhY2VkYkNvbW1lbnQJIl4jXFcuKiIKK3N5biBtYXRjaAlhY2VkYkhlbHAJIl5cKlwqXHdcKyQiCitzeW4gbWF0Y2gJYWNlZGJUYWcJIlteXl0/XHdcK1x8W15eXSNcd1wrIgorc3luIG1hdGNoCWFjZWRiQmxvY2sJIi8vIy5cKyMkIgorc3luIG1hdGNoCWFjZWRiT3B0aW9uCSJeX1tEVkhdXFNcKyIKK3N5biBtYXRjaAlhY2VkYkZsYWcJIlxzXCstXGhcKyIKK3N5biBtYXRjaAlhY2VkYlN1YmNsYXNzCSJeQ2xhc3MiCitzeW4gbWF0Y2gJYWNlZGJTdWJ0YWcJIl5WaXNpYmxlXHxeSXNfYV9zdWJjbGFzc19vZlx8XkZpbHRlclx8XkhpZGRlbiIKK3N5biBtYXRjaAlhY2VkYk51bWJlcgkiXDxcZFwrXD4iCitzeW4gbWF0Y2gJYWNlZGJOdW1iZXIJIlw8XGRcK1wuXGRcK1w+Igorc3luIG1hdGNoCWFjZWRiSHliCSJcPFBvc2l0aXZlX1x3XCtcPlx8XDxOZWdhdGl2ZVx3XCtcPiIKK3N5biByZWdpb24JYWNlZGJTdHJpbmcJc3RhcnQ9LyIvIGVuZD0vIi8gc2tpcD0vXFwiLyBvbmVsaW5lCisKKyIgUmVzdCBvZiBzeW50YXggaGlnaGxpZ2h0aW5nIHJ1bGVzIHN0YXJ0IGhlcmUKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYWNlZGJfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYWNlZGJfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgYWNlZGJNYWdpYwlTcGVjaWFsCisgIEhpTGluayBhY2VkYkh5YglTcGVjaWFsCisgIEhpTGluayBhY2VkYlR5cGUJVHlwZQorICBIaUxpbmsgYWNlZGJPcHRpb24JVHlwZQorICBIaUxpbmsgYWNlZGJTdWJjbGFzcwlUeXBlCisgIEhpTGluayBhY2VkYlN1YnRhZwlJbmNsdWRlCisgIEhpTGluayBhY2VkYkZsYWcJSW5jbHVkZQorICBIaUxpbmsgYWNlZGJUYWcJSW5jbHVkZQorICBIaUxpbmsgYWNlZGJDbGFzcwlUb2RvCisgIEhpTGluayBhY2VkYkhlbHAJVG9kbworICBIaUxpbmsgYWNlZGJYcmVmCUlkZW50aWZpZXIKKyAgSGlMaW5rIGFjZWRiTW9kaWZpZXIJTGFiZWwKKyAgSGlMaW5rIGFjZWRiQ29tbWVudAlDb21tZW50CisgIEhpTGluayBhY2VkYkJsb2NrCU1vZGVNc2cKKyAgSGlMaW5rIGFjZWRiTnVtYmVyCU51bWJlcgorICBIaUxpbmsgYWNlZGJTdHJpbmcJU3RyaW5nCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFjZWRiIgorCisiIFRoZSBzdHJ1Y3R1cmUgb2YgdGhlIG1vZGVsLndybSBmaWxlIGlzIHNlbnNpdGl2ZSB0byBtaXhlZCB0YWIgYW5kIHNwYWNlCisiIGluZGVudGF0aW9uIGFuZCBhc3N1bWVzIHRhYnMgYXJlIDggc28uLi4KK3NlIHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FkYS52aW0gYi9ydW50aW1lL3N5bnRheC9hZGEudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhN2IyYTAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hZGEudmltCkBAIC0wLDAgKzEsMjg3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQWRhICg5NSkKKyIgTWFpbnRhaW5lcjoJRGF2aWQgQS4gV2hlZWxlciA8ZHdoZWVsZXJAZHdoZWVsZXIuY29tPgorIiBVUkw6IGh0dHA6Ly93d3cuZHdoZWVsZXIuY29tL3ZpbQorIiBMYXN0IENoYW5nZToJMjAwMS0xMS0wMgorCisiIEZvcm1lciBNYWludGFpbmVyOglTaW1vbiBCcmFkbGV5IDxzaW1vbi5icmFkbGV5QHBpdGVjaG5vbG9neS5jb20+CisiCQkJKHdhcyA8c2liOTNAYWJlci5hYy51az4pCisiIE90aGVyIGNvbnRyaWJ1dG9yczogUHJlYmVuIFJhbmRob2wuCisiIFRoZSBmb3JtYWwgc3BlYyBvZiBBZGE5NSAoQVJNKSBpcyB0aGUgIkFkYTk1IFJlZmVyZW5jZSBNYW51YWwiLgorIiBGb3IgbW9yZSBBZGE5NSBpbmZvLCBzZWUgaHR0cDovL3d3dy5nbnVhZGEub3JnIGFuZCBodHRwOi8vd3d3LmFkYXBvd2VyLmNvbS4KKworIiBUaGlzIHZpbSBzeW50YXggZmlsZSB3b3JrcyBvbiB2aW0gNS42LCA1LjcsIDUuOCBhbmQgNi54LgorIiBJdCBpbXBsZW1lbnRzIEJyYW0gTW9vbGVuYWFyJ3MgQXByaWwgMjUsIDIwMDEgcmVjb21tZW5kYXRpb25zIHRvIG1ha2UKKyIgdGhlIHN5bnRheCBmaWxlIG1heGltYWxseSBwb3J0YWJsZSBhY3Jvc3MgZGlmZmVyZW50IHZlcnNpb25zIG9mIHZpbS4KKyIgSWYgdmltIDYuMCsgaXMgYXZhaWxhYmxlLAorIiB0aGlzIHN5bnRheCBmaWxlIHRha2VzIGFkdmFudGFnZSBvZiB0aGUgdmltIDYuMCBhZHZhbmNlZCBwYXR0ZXJuLW1hdGNoaW5nCisiIGZ1bmN0aW9ucyB0byBhdm9pZCBoaWdobGlnaHRpbmcgdW5pbnRlcmVzdGluZyBsZWFkaW5nIHNwYWNlcyBpbgorIiBzb21lIGV4cHJlc3Npb25zIGNvbnRhaW5pbmcgIndpdGgiIGFuZCAidXNlIi4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIGZpbmlzaAorZW5kaWYKKworIiBBZGEgaXMgZW50aXJlbHkgY2FzZS1pbnNlbnNpdGl2ZS4KK3N5biBjYXNlIGlnbm9yZQorCisiIFdlIGRvbid0IG5lZWQgdG8gbG9vayBiYWNrd2FyZHMgdG8gaGlnaGxpZ2h0IGNvcnJlY3RseTsKKyIgdGhpcyBzcGVlZHMgdGhpbmdzIHVwIGdyZWF0bHkuCitzeW4gc3luYyBtaW5saW5lcz0xIG1heGxpbmVzPTEKKworIiBIaWdobGlnaHRpbmcgY29tbWFuZHMuICBUaGVyZSBhcmUgNjkgcmVzZXJ2ZWQgd29yZHMgaW4gdG90YWwgaW4gQWRhOTUuCisiIFNvbWUga2V5d29yZHMgYXJlIHVzZWQgaW4gbW9yZSB0aGFuIG9uZSB3YXkuIEZvciBleGFtcGxlOgorIiAxLiAiZW5kIiBpcyBhIGdlbmVyYWwga2V5d29yZCwgYnV0ICJlbmQgaWYiIGVuZHMgYSBDb25kaXRpb25hbC4KKyIgMi4gInRoZW4iIGlzIGEgY29uZGl0aW9uYWwsIGJ1dCAiYW5kIHRoZW4iIGlzIGFuIG9wZXJhdG9yLgorCisKKyIgU3RhbmRhcmQgRXhjZXB0aW9ucyAoaW5jbHVkaW5nIEkvTykuCisiIFdlJ2xsIGhpZ2hsaWdodCB0aGUgc3RhbmRhcmQgZXhjZXB0aW9ucywgc2ltaWxhciB0byB2aW0ncyBQeXRob24gbW9kZS4KKyIgSXQncyBwb3NzaWJsZSB0byByZWRlZmluZSB0aGUgc3RhbmRhcmQgZXhjZXB0aW9ucyBhcyBzb21ldGhpbmcgZWxzZSwKKyIgYnV0IGRvaW5nIHNvIGlzIHZlcnkgYmFkIHByYWN0aWNlLCBzbyBzaW1wbHkgaGlnaGxpZ2h0aW5nIHRoZW0gbWFrZXMgc2Vuc2UuCitzeW4ga2V5d29yZCBhZGFFeGNlcHRpb24gQ29uc3RyYWludF9FcnJvciBQcm9ncmFtX0Vycm9yIFN0b3JhZ2VfRXJyb3IKK3N5biBrZXl3b3JkIGFkYUV4Y2VwdGlvbiBUYXNraW5nX0Vycm9yCitzeW4ga2V5d29yZCBhZGFFeGNlcHRpb24gU3RhdHVzX0Vycm9yIE1vZGVfRXJyb3IgTmFtZV9FcnJvciBVc2VfRXJyb3IKK3N5biBrZXl3b3JkIGFkYUV4Y2VwdGlvbiBEZXZpY2VfRXJyb3IgRW5kX0Vycm9yIERhdGFfRXJyb3IgTGF5b3V0X0Vycm9yCitzeW4ga2V5d29yZCBhZGFFeGNlcHRpb24gTGVuZ3RoX0Vycm9yIFBhdHRlcm5fRXJyb3IgSW5kZXhfRXJyb3IKK3N5biBrZXl3b3JkIGFkYUV4Y2VwdGlvbiBUcmFuc2xhdGlvbl9FcnJvcgorc3luIGtleXdvcmQgYWRhRXhjZXB0aW9uIFRpbWVfRXJyb3IgQXJndW1lbnRfRXJyb3IKK3N5biBrZXl3b3JkIGFkYUV4Y2VwdGlvbiBUYWdfRXJyb3IKK3N5biBrZXl3b3JkIGFkYUV4Y2VwdGlvbiBQaWN0dXJlX0Vycm9yCisiIEludGVyZmFjZXMKK3N5biBrZXl3b3JkIGFkYUV4Y2VwdGlvbiBUZXJtaW5hdG9yX0Vycm9yIENvbnZlcnNpb25fRXJyb3IKK3N5biBrZXl3b3JkIGFkYUV4Y2VwdGlvbiBQb2ludGVyX0Vycm9yIERlcmVmZXJlbmNlX0Vycm9yIFVwZGF0ZV9FcnJvcgorIiBUaGlzIGlzbid0IGluIHRoZSBBZGEgc3BlYywgYnV0IGEgR05BVCBleHRlbnNpb24uCitzeW4ga2V5d29yZCBhZGFFeGNlcHRpb24gQXNzZXJ0X0ZhaWx1cmUKKyIgV2UgZG9uJ3QgbGlzdCBBTEwgZXhjZXB0aW9ucyBkZWZpbmVkIGluIHBhcnRpY3VsYXIgY29tcGlsZXJzIChlLmcuLCBHTkFUKSwKKyIgYmVjYXVzZSBpdCdzIHF1aXRlIHJlYXNvbmFibGUgdG8gZGVmaW5lIHRob3NlIHBocmFzZXMgYXMgbm9uLWV4Y2VwdGlvbnMuCisKKworIiBXZSBkb24ndCBub3JtYWxseSBoaWdobGlnaHQgdHlwZXMgaW4gcGFja2FnZSBTdGFuZGFyZAorIiAoSW50ZWdlciwgQ2hhcmFjdGVyLCBGbG9hdCwgZXRjLikuICBJIGRvbid0IHRoaW5rIGl0IGxvb2tzIGdvb2QKKyIgd2l0aCB0aGUgb3RoZXIgdHlwZSBrZXl3b3JkcywgYW5kIG1hbnkgQWRhIHByb2dyYW1zIGRlZmluZQorIiBzbyBtYW55IG9mIHRoZWlyIG93biB0eXBlcyB0aGF0IGl0IGxvb2tzIGluY29uc2lzdGVudC4KKyIgSG93ZXZlciwgaWYgeW91IHdhbnQgdGhpcyBoaWdobGlnaHRpbmcsIHR1cm4gb24gImFkYV9zdGFuZGFyZF90eXBlcyIuCisiIEZvciBwYWNrYWdlIFN0YW5kYXJkJ3MgZGVmaW5pdGlvbiwgc2VlIEFSTSBzZWN0aW9uIEEuMS4KKworaWYgZXhpc3RzKCJhZGFfc3RhbmRhcmRfdHlwZXMiKQorICBzeW4ga2V5d29yZCBhZGFCdWlsdGluVHlwZQlCb29sZWFuIEludGVnZXIgTmF0dXJhbCBQb3NpdGl2ZSBGbG9hdAorICBzeW4ga2V5d29yZCBhZGFCdWlsdGluVHlwZQlDaGFyYWN0ZXIgV2lkZV9DaGFyYWN0ZXIKKyAgc3luIGtleXdvcmQgYWRhQnVpbHRpblR5cGUJU3RyaW5nIFdpZGVfU3RyaW5nCisgIHN5biBrZXl3b3JkIGFkYUJ1aWx0aW5UeXBlCUR1cmF0aW9uCisgICIgVGhlc2UgYXJlbid0IGxpc3RlZCBpbiBBUk0gc2VjdGlvbiBBLjEncyBjb2RlLCBidXQgdGhleSdyZSBub3RlZCBhcworICAiIG9wdGlvbnMgaW4gQVJNIHNlY3Rpb25zIDMuNS40IGFuZCAzLjUuNzoKKyAgc3luIGtleXdvcmQgYWRhQnVpbHRpblR5cGUJU2hvcnRfSW50ZWdlciBTaG9ydF9TaG9ydF9JbnRlZ2VyCisgIHN5biBrZXl3b3JkIGFkYUJ1aWx0aW5UeXBlCUxvbmdfSW50ZWdlciBMb25nX0xvbmdfSW50ZWdlcgorICBzeW4ga2V5d29yZCBhZGFCdWlsdGluVHlwZQlTaG9ydF9GbG9hdCBTaG9ydF9TaG9ydF9GbG9hdAorICBzeW4ga2V5d29yZCBhZGFCdWlsdGluVHlwZQlMb25nX0Zsb2F0IExvbmdfTG9uZ19GbG9hdAorZW5kaWYKKworIiBUaGVyZSBhcmUgTUFOWSBvdGhlciBwcmVkZWZpbmVkIHR5cGVzOyB0aGV5J3ZlIG5vdCBiZWVuIGFkZGVkLCBiZWNhdXNlCisiIGRldGVybWluaW5nIHdoZW4gdGhleSdyZSBhIHR5cGUgcmVxdWlyZXMgY29udGV4dCBpbiBnZW5lcmFsLgorIiBPbmUgcG90ZW50aWFsIGFkZGl0aW9uIHdvdWxkIGJlIFVuYm91bmRlZF9TdHJpbmcuCisKKworc3luIGtleXdvcmQgYWRhTGFiZWwJCW90aGVycworCitzeW4ga2V5d29yZCBhZGFPcGVyYXRvcgkJYWJzIG1vZCBub3QgcmVtIHhvcgorc3luIG1hdGNoIGFkYU9wZXJhdG9yCQkiXDxhbmRcPiIKK3N5biBtYXRjaCBhZGFPcGVyYXRvcgkJIlw8YW5kXHNcK3RoZW5cPiIKK3N5biBtYXRjaCBhZGFPcGVyYXRvcgkJIlw8b3JcPiIKK3N5biBtYXRjaCBhZGFPcGVyYXRvcgkJIlw8b3Jcc1wrZWxzZVw+Igorc3luIG1hdGNoIGFkYU9wZXJhdG9yCQkiWy0rKi88PiZdIgorc3luIGtleXdvcmQgYWRhT3BlcmF0b3IJCSoqCitzeW4gbWF0Y2ggYWRhT3BlcmF0b3IJCSJbLzw+XT0iCitzeW4ga2V5d29yZCBhZGFPcGVyYXRvcgkJPT4KK3N5biBtYXRjaCBhZGFPcGVyYXRvcgkJIlwuXC4iCitzeW4gbWF0Y2ggYWRhT3BlcmF0b3IJCSI9IgorCisiIFdlIHdvbid0IG1hcCAiYWRhQXNzaWdubWVudCIgYnkgZGVmYXVsdCwgYnV0IHdlIG5lZWQgdG8gbWFwICI6PSIgdG8KKyIgc29tZXRoaW5nIG9yIHRoZSAiPSIgaW5zaWRlIGl0IHdpbGwgYmUgbWlzbGFiZWxsZWQgYXMgYW4gb3BlcmF0b3IuCisiIE5vdGUgdGhhdCBpbiBBZGEsIGFzc2lnbm1lbnQgKDo9KSBpcyBub3QgY29uc2lkZXJlZCBhbiBvcGVyYXRvci4KK3N5biBtYXRjaCBhZGFBc3NpZ25tZW50CQkiOj0iCisKKyIgSGFuZGxlIHRoZSBib3gsIDw+LCBzcGVjaWFsbHk6CitzeW4ga2V5d29yZCBhZGFTcGVjaWFsCTw+CisKKyIgTnVtYmVycywgaW5jbHVkaW5nIGZsb2F0aW5nIHBvaW50LCBleHBvbmVudHMsIGFuZCBhbHRlcm5hdGUgYmFzZXMuCitzeW4gbWF0Y2ggICBhZGFOdW1iZXIJCSJcPFxkWzAtOV9dKlwoXC5cZFswLTlfXSpcKVw9XChbRWVdWystXVw9XGRbMC05X10qXClcPVw+Igorc3luIG1hdGNoICAgYWRhTnVtYmVyCQkiXDxcZFxkXD0jXHhbMC05QS1GYS1mX10qXChcLlx4WzAtOUEtRmEtZl9dKlwpXD0jXChbRWVdWystXVw9XGRbMC05X10qXClcPSIKKworIiBJZGVudGlmeSBsZWFkaW5nIG51bWVyaWMgc2lnbnMuIEluICJBLTUiIHRoZSAiLSIgaXMgYW4gb3BlcmF0b3IsCisiIGJ1dCBpbiAiQTo9LTUiIHRoZSAiLSIgaXMgYSBzaWduLiBUaGlzIGhhbmRsZXMgIkEzKy01IiAoZXRjLikgY29ycmVjdGx5LgorIiBUaGlzIGFzc3VtZXMgdGhhdCBpZiB5b3UgcHV0IGEgZG9uJ3QgcHV0IGEgc3BhY2UgYWZ0ZXIgKy8tIHdoZW4gaXQncyB1c2VkCisiIGFzIGFuIG9wZXJhdG9yLCB5b3Ugd29uJ3QgcHV0IGEgc3BhY2UgYmVmb3JlIGl0IGVpdGhlciAtLSB3aGljaCBpcyB0cnVlCisiIGluIGNvZGUgSSd2ZSBzZWVuLgorc3luIG1hdGNoIGFkYVNpZ24gIltbOnNwYWNlOl08Pj0oLHw6OyYqLystXVsrLV1cZCJsYz0xLGhzPXMrMSxoZT1lLTEsbWU9ZS0xCisKKyIgTGFiZWxzIGZvciB0aGUgZ290byBzdGF0ZW1lbnQuCitzeW4gcmVnaW9uICBhZGFMYWJlbAkJc3RhcnQ9Ijw8IiAgZW5kPSI+PiIKKworIiBCb29sZWFuIENvbnN0YW50cy4KK3N5biBrZXl3b3JkIGFkYUJvb2xlYW4JdHJ1ZSBmYWxzZQorCisiIFdhcm4gcGVvcGxlIHdobyB0cnkgdG8gdXNlIEMvQysrIG5vdGF0aW9uIGVycm9uZW91c2x5Ogorc3luIG1hdGNoIGFkYUVycm9yICIvLyIKK3N5biBtYXRjaCBhZGFFcnJvciAiL1wqIgorc3luIG1hdGNoIGFkYUVycm9yICI9PSIKKworCitpZiBleGlzdHMoImFkYV9zcGFjZV9lcnJvcnMiKQorICBpZiAhZXhpc3RzKCJhZGFfbm9fdHJhaWxfc3BhY2VfZXJyb3IiKQorICAgIHN5biBtYXRjaCAgIGFkYVNwYWNlRXJyb3IgICAgIGV4Y2x1ZGVubCAiXHNcKyQiCisgIGVuZGlmCisgIGlmICFleGlzdHMoImFkYV9ub190YWJfc3BhY2VfZXJyb3IiKQorICAgIHN5biBtYXRjaCAgIGFkYVNwYWNlRXJyb3IgICAgICIgXCtcdCJtZT1lLTEKKyAgZW5kaWYKK2VuZGlmCisKKyIgVW5sZXNzIHNwZWNpYWwgKCJlbmQgbG9vcCIsICJlbmQgaWYiLCBldGMuKSwgImVuZCIgbWFya3MgdGhlIGVuZCBvZiBhCisiIGJlZ2luLCBwYWNrYWdlLCB0YXNrIGV0Yy4gQXNzaWdpbmcgaXQgdG8gYWRhRW5kLgorc3luIG1hdGNoIGFkYUVuZAkJIlw8ZW5kXD4iCisKK3N5biBrZXl3b3JkIGFkYVByZXByb2MJCXByYWdtYQorCitzeW4ga2V5d29yZCBhZGFSZXBlYXQJCWV4aXQgZm9yIGxvb3AgcmV2ZXJzZSB3aGlsZQorc3luIG1hdGNoIGFkYVJlcGVhdAkJIlw8ZW5kXHNcK2xvb3BcPiIKKworc3luIGtleXdvcmQgYWRhU3RhdGVtZW50CWFjY2VwdCBkZWxheSBnb3RvIHJhaXNlIHJlcXVldWUgcmV0dXJuCitzeW4ga2V5d29yZCBhZGFTdGF0ZW1lbnQJdGVybWluYXRlCitzeW4gbWF0Y2ggYWRhU3RhdGVtZW50CSJcPGFib3J0XD4iCisKKyIgSGFuZGxlIEFkYSdzIHJlY29yZCBrZXl3b3Jkcy4KKyIgJ3JlY29yZCcgdXN1YWxseSBzdGFydHMgYSBzdHJ1Y3R1cmUsIGJ1dCAid2l0aCBudWxsIHJlY29yZDsiIGRvZXMgbm90LAorIiBhbmQgJ2VuZCByZWNvcmQ7JyBlbmRzIGEgc3RydWN0dXJlLiAgVGhlIG9yZGVyaW5nIGhlcmUgaXMgY3JpdGljYWwgLQorIiAncmVjb3JkOycgbWF0Y2hlcyBhICJ3aXRoIG51bGwgcmVjb3JkIiwgc28gbWFrZSBpdCBhIGtleXdvcmQgKHRoaXMgY2FuCisiIG1hdGNoIHdoZW4gdGhlICd3aXRoJyBvciAnbnVsbCcgaXMgb24gYSBwcmV2aW91cyBsaW5lKS4KKyIgV2Ugc2VlIHRoZSAiZW5kIiBpbiAiZW5kIHJlY29yZCIgYmVmb3JlIHRoZSB3b3JkIHJlY29yZCwgc28gd2UgbWF0Y2ggdGhhdAorIiBwYXR0ZXJuIGFzIGFkYVN0cnVjdHVyZSAoYW5kIGl0IHdvbid0IG1hdGNoIHRoZSAicmVjb3JkOyIgcGF0dGVybikuCitzeW4gbWF0Y2ggYWRhU3RydWN0dXJlCSJcPHJlY29yZFw+Igorc3luIG1hdGNoIGFkYVN0cnVjdHVyZQkiXDxlbmRcc1wrcmVjb3JkXD4iCitzeW4gbWF0Y2ggYWRhS2V5d29yZAkiXDxyZWNvcmQ7Im1lPWUtMQorCitzeW4ga2V5d29yZCBhZGFTdG9yYWdlQ2xhc3MJYWJzdHJhY3QgYWNjZXNzIGFsaWFzZWQgYXJyYXkgYXQgY29uc3RhbnQgZGVsdGEKK3N5biBrZXl3b3JkIGFkYVN0b3JhZ2VDbGFzcwlkaWdpdHMgbGltaXRlZCBvZiBwcml2YXRlIHJhbmdlIHRhZ2dlZAorc3luIGtleXdvcmQgYWRhVHlwZWRlZgkJc3VidHlwZSB0eXBlCisKKyIgQ29uZGl0aW9uYWxzLiAiYWJvcnQiIGFmdGVyICJ0aGVuIiBpcyBhIGNvbmRpdGlvbmFsIG9mIGl0cyBvd24uCitzeW4gbWF0Y2ggYWRhQ29uZGl0aW9uYWwJIlw8dGhlblw+Igorc3luIG1hdGNoIGFkYUNvbmRpdGlvbmFsCSJcPHRoZW5cc1wrYWJvcnRcPiIKK3N5biBtYXRjaCBhZGFDb25kaXRpb25hbAkiXDxlbHNlXD4iCitzeW4gbWF0Y2ggYWRhQ29uZGl0aW9uYWwJIlw8ZW5kXHNcK2lmXD4iCitzeW4gbWF0Y2ggYWRhQ29uZGl0aW9uYWwJIlw8ZW5kXHNcK2Nhc2VcPiIKK3N5biBtYXRjaCBhZGFDb25kaXRpb25hbAkiXDxlbmRcc1wrc2VsZWN0XD4iCitzeW4ga2V5d29yZCBhZGFDb25kaXRpb25hbAlpZiBjYXNlIHNlbGVjdAorc3luIGtleXdvcmQgYWRhQ29uZGl0aW9uYWwJZWxzaWYgd2hlbgorCitzeW4ga2V5d29yZCBhZGFLZXl3b3JkCQlhbGwgZG8gZXhjZXB0aW9uIGluIGlzIG5ldyBudWxsIG91dAorc3luIGtleXdvcmQgYWRhS2V5d29yZAkJc2VwYXJhdGUgdW50aWwKKworIiBUaGVzZSBrZXl3b3JkcyBiZWdpbiB2YXJpb3VzIGNvbnN0cnVjdHMsIGFuZCB5b3UgX21pZ2h0XyB3YW50IHRvCisiIGhpZ2hsaWdodCB0aGVtIGRpZmZlcmVudGx5Lgorc3luIGtleXdvcmQgYWRhQmVnaW4JCWJlZ2luIGJvZHkgZGVjbGFyZSBlbnRyeSBmdW5jdGlvbiBnZW5lcmljCitzeW4ga2V5d29yZCBhZGFCZWdpbgkJcGFja2FnZSBwcm9jZWR1cmUgcHJvdGVjdGVkIHJlbmFtZXMgdGFzaworCisKK2lmIGV4aXN0cygiYWRhX3dpdGh1c2Vfb3JkaW5hcnkiKQorIiBEb24ndCBiZSBmYW5jeS4gRGlzcGxheSAid2l0aCIgYW5kICJ1c2UiIGFzIG9yZGluYXJ5IGtleXdvcmRzIGluIGFsbCBjYXNlcy4KKyBzeW4ga2V5d29yZCBhZGFLZXl3b3JkCQl3aXRoIHVzZQorZWxzZQorICIgSGlnaGxpZ2h0ICJ3aXRoIiBhbmQgInVzZSIgY2xhdXNlcyBsaWtlIEMncyAiI2luY2x1ZGUiIHdoZW4gdGhleSdyZSB1c2VkCisgIiB0byByZWZlcmVuY2Ugb3RoZXIgY29tcGlsYXRpb24gdW5pdHM7IG90aGVyd2lzZSB0aGV5J3JlIG9yZGluYXJ5IGtleXdvcmRzLgorICIgSWYgd2UgaGF2ZSB2aW0gNi4wIG9yIGxhdGVyLCB3ZSdsbCB1c2UgaXRzIGFkdmFuY2VkIHBhdHRlcm4tbWF0Y2hpbmcKKyAiIGNhcGFiaWxpdGllcyBzbyB0aGF0IHdlIHdvbid0IG1hdGNoIGxlYWRpbmcgc3BhY2VzLgorIHN5biBtYXRjaCBhZGFLZXl3b3JkCSJcPHdpdGhcPiIKKyBzeW4gbWF0Y2ggYWRhS2V5d29yZAkiXDx1c2VcPiIKKyBpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBtYXRjaCBhZGFCZWdpbldpdGggIl5ccypcKFwod2l0aFwoXHNcK3R5cGVcKVw9XClcfFwodXNlXClcKVw+IiBjb250YWlucz1hZGFJbmMKKyAgc3luIG1hdGNoIGFkYVNlbWlXaXRoCSI7XHMqXChcKHdpdGhcKFxzXCt0eXBlXClcPVwpXHxcKHVzZVwpXClcPiJsYz0xIGNvbnRhaW5zPWFkYUluYworIGVsc2UKKyAgc3luIG1hdGNoIGFkYUJlZ2luV2l0aCAiXlxzKlx6c1woXCh3aXRoXChcc1wrdHlwZVwpXD1cKVx8XCh1c2VcKVwpXD4iIGNvbnRhaW5zPWFkYUluYworICBzeW4gbWF0Y2ggYWRhU2VtaVdpdGgJIjtccypcenNcKFwod2l0aFwoXHNcK3R5cGVcKVw9XClcfFwodXNlXClcKVw+IiBjb250YWlucz1hZGFJbmMKKyBlbmRpZgorIHN5biBtYXRjaCBhZGFJbmMJIlw8d2l0aFw+IiBjb250YWluZWQgY29udGFpbnM9Tk9ORQorIHN5biBtYXRjaCBhZGFJbmMJIlw8d2l0aFxzXCt0eXBlXD4iIGNvbnRhaW5lZCBjb250YWlucz1OT05FCisgc3luIG1hdGNoIGFkYUluYwkiXDx1c2VcPiIgY29udGFpbmVkIGNvbnRhaW5zPU5PTkUKKyAiIFJlY29nbml6ZSAid2l0aCBudWxsIHJlY29yZCIgYXMgYSBrZXl3b3JkIChldmVuIHRoZSAicmVjb3JkIikuCisgc3luIG1hdGNoIGFkYUtleXdvcmQJIlw8d2l0aFxzXCtudWxsXHNcK3JlY29yZFw+IgorICIgQ29uc2lkZXIgZ2VuZXJpYyBmb3JtYWwgcGFyYW1ldGVycyBvZiBzdWJwcm9ncmFtcyBhbmQgcGFja2FnZXMgYXMga2V5d29yZHMuCisgaWYgdmVyc2lvbiA8IDYwMAorICBzeW4gbWF0Y2ggYWRhS2V5d29yZAkiO1xzKndpdGhcc1wrXChmdW5jdGlvblx8cHJvY2VkdXJlXHxwYWNrYWdlXClcPiIKKyAgc3luIG1hdGNoIGFkYUtleXdvcmQJIl5ccyp3aXRoXHNcK1woZnVuY3Rpb25cfHByb2NlZHVyZVx8cGFja2FnZVwpXD4iCisgZWxzZQorICBzeW4gbWF0Y2ggYWRhS2V5d29yZAkiO1xzKlx6c3dpdGhcc1wrXChmdW5jdGlvblx8cHJvY2VkdXJlXHxwYWNrYWdlXClcPiIKKyAgc3luIG1hdGNoIGFkYUtleXdvcmQJIl5ccypcenN3aXRoXHNcK1woZnVuY3Rpb25cfHByb2NlZHVyZVx8cGFja2FnZVwpXD4iCisgZW5kaWYKK2VuZGlmCisKKworIiBTdHJpbmcgYW5kIGNoYXJhY3RlciBjb25zdGFudHMuCitzeW4gcmVnaW9uICBhZGFTdHJpbmcJCXN0YXJ0PSsiKyAgc2tpcD0rIiIrICBlbmQ9KyIrCitzeW4gbWF0Y2ggICBhZGFDaGFyYWN0ZXIJIicuJyIKKworIiBUb2RvIChvbmx5IGhpZ2hsaWdodGVkIGluIGNvbW1lbnRzKQorc3luIGtleXdvcmQgYWRhVG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFgKKworIiBDb21tZW50cy4KK3N5biByZWdpb24gIGFkYUNvbW1lbnQJb25lbGluZSBjb250YWlucz1hZGFUb2RvIHN0YXJ0PSItLSIgIGVuZD0iJCIKKworCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FkYV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9hZGFfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIuCisgIEhpTGluayBhZGFDaGFyYWN0ZXIJQ2hhcmFjdGVyCisgIEhpTGluayBhZGFDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGFkYUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBhZGFLZXl3b3JkCUtleXdvcmQKKyAgSGlMaW5rIGFkYUxhYmVsCUxhYmVsCisgIEhpTGluayBhZGFOdW1iZXIJTnVtYmVyCisgIEhpTGluayBhZGFTaWduCU51bWJlcgorICBIaUxpbmsgYWRhT3BlcmF0b3IJT3BlcmF0b3IKKyAgSGlMaW5rIGFkYVByZXByb2MJUHJlUHJvYworICBIaUxpbmsgYWRhUmVwZWF0CVJlcGVhdAorICBIaUxpbmsgYWRhU3BlY2lhbAlTcGVjaWFsCisgIEhpTGluayBhZGFTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBhZGFTdHJpbmcJU3RyaW5nCisgIEhpTGluayBhZGFTdHJ1Y3R1cmUJU3RydWN0dXJlCisgIEhpTGluayBhZGFUb2RvCVRvZG8KKyAgSGlMaW5rIGFkYVR5cGUJVHlwZQorICBIaUxpbmsgYWRhVHlwZWRlZglUeXBlZGVmCisgIEhpTGluayBhZGFTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayBhZGFCb29sZWFuCUJvb2xlYW4KKyAgSGlMaW5rIGFkYUV4Y2VwdGlvbglFeGNlcHRpb24KKyAgSGlMaW5rIGFkYUluYwlJbmNsdWRlCisgIEhpTGluayBhZGFFcnJvcglFcnJvcgorICBIaUxpbmsgYWRhU3BhY2VFcnJvcglFcnJvcgorICBIaUxpbmsgYWRhQnVpbHRpblR5cGUgVHlwZQorCisgIGlmIGV4aXN0cygiYWRhX2JlZ2luX3ByZXByb2MiKQorICAgIiBUaGlzIGlzIHRoZSBvbGQgZGVmYXVsdCBkaXNwbGF5OgorICAgSGlMaW5rIGFkYUJlZ2luCVByZVByb2MKKyAgIEhpTGluayBhZGFFbmQJUHJlUHJvYworICBlbHNlCisgICAiIFRoaXMgaXMgdGhlIG5ldyBkZWZhdWx0IGRpc3BsYXk6CisgICBIaUxpbmsgYWRhQmVnaW4JS2V5d29yZAorICAgSGlMaW5rIGFkYUVuZAlLZXl3b3JkCisgIGVuZGlmCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFkYSIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FmbGV4LnZpbSBiL3J1bnRpbWUvc3ludGF4L2FmbGV4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTJjOThlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYWZsZXgudmltCkBAIC0wLDAgKzEsMTAwIEBACisKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglBZkxleCAoZnJvbSBMZXggc3ludGF4IGZpbGUpCisiIE1haW50YWluZXI6CU1hdGhpZXUgQ2xhYmF1dCA8bWF0aGlldS5jbGFiYXV0QGZyZWUuZnI+CisiIExhc3RDaGFuZ2U6CTAyIE1heSAyMDAxCisiIE9yaWdpbmFsOglMZXgsIG1haW50YWluZWQgYnkgRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgorIiBDb21tZW50OglSZXBsYWNlZCBzb3VyY2luZyBjLnZpbSBmaWxlIGJ5IGFkYS52aW0gYW5kIHJlbmFtZSBsZXgqCisiCQlpbiBhZmxleCoKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICBmaW5pc2gKK2VuZGlmCisKKyIgUmVhZCB0aGUgQWRhIHN5bnRheCB0byBzdGFydCB3aXRoCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzbyA8c2ZpbGU+OnA6aC9hZGEudmltCitlbHNlCisgICBydW50aW1lISBzeW50YXgvYWRhLnZpbQorICAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworCisiIC0tLSBBZkxleCBzdHVmZiAtLS0KKworIkknZCBwcmVmZXIgdG8gdXNlIGFmbGV4LiogLCBidXQgaXQgZG9lc24ndCBoYW5kbGUgZm9yd2FyZCBkZWZpbml0aW9ucyB5ZXQKK3N5biBjbHVzdGVyIGFmbGV4TGlzdEdyb3VwCQljb250YWlucz1hZmxleEFiYnJ2QmxvY2ssYWZsZXhBYmJydixhZmxleEFiYnJ2LGFmbGV4QWJicnZSZWdFeHAsYWZsZXhJbmNsdWRlLGFmbGV4UGF0QmxvY2ssYWZsZXhQYXQsYWZsZXhCcmFjZSxhZmxleFBhdFN0cmluZyxhZmxleFBhdFRhZyxhZmxleFBhdFRhZyxhZmxleFBhdENvbW1lbnQsYWZsZXhQYXRDb2RlTGluZSxhZmxleE1vcmVQYXQsYWZsZXhQYXRTZXAsYWZsZXhTbGFzaFF1b3RlLGFmbGV4UGF0Q29kZSxjSW5QYXJlbixjVXNlckxhYmVsLGNPY3RhbFplcm8sY0NwcFNraXAsY0VyckluQnJhY2tldCxjRXJySW5QYXJlbixjT2N0YWxFcnJvcixjQ3BwT3V0Mgorc3luIGNsdXN0ZXIgYWZsZXhMaXN0UGF0Q29kZUdyb3VwCWNvbnRhaW5zPWFmbGV4QWJicnZCbG9jayxhZmxleEFiYnJ2LGFmbGV4QWJicnYsYWZsZXhBYmJydlJlZ0V4cCxhZmxleEluY2x1ZGUsYWZsZXhQYXRCbG9jayxhZmxleFBhdCxhZmxleEJyYWNlLGFmbGV4UGF0VGFnLGFmbGV4UGF0VGFnLGFmbGV4UGF0Q29tbWVudCxhZmxleFBhdENvZGVMaW5lLGFmbGV4TW9yZVBhdCxhZmxleFBhdFNlcCxhZmxleFNsYXNoUXVvdGUsY0luUGFyZW4sY1VzZXJMYWJlbCxjT2N0YWxaZXJvLGNDcHBTa2lwLGNFcnJJbkJyYWNrZXQsY0VyckluUGFyZW4sY09jdGFsRXJyb3IsY0NwcE91dDIKKworIiBBYmJyZXZpYXRpb25zIFNlY3Rpb24KK3N5biByZWdpb24gYWZsZXhBYmJydkJsb2NrCXN0YXJ0PSJeXChbYS16QS1aX11cK1x0XHwle1wpIiBlbmQ9Il4lJSQibWU9ZS0yCXNraXBubAluZXh0Z3JvdXA9YWZsZXhQYXRCbG9jayBjb250YWlucz1hZmxleEFiYnJ2LGFmbGV4SW5jbHVkZSxhZmxleEFiYnJ2Q29tbWVudAorc3luIG1hdGNoICBhZmxleEFiYnJ2CQkiXlxJXGkqXHMibWU9ZS0xCQkJc2tpcHdoaXRlCWNvbnRhaW5lZCBuZXh0Z3JvdXA9YWZsZXhBYmJydlJlZ0V4cAorc3luIG1hdGNoICBhZmxleEFiYnJ2CQkiXiVbc3hdIgkJCQkJY29udGFpbmVkCitzeW4gbWF0Y2ggIGFmbGV4QWJicnZSZWdFeHAJIlxzXFMuKiQibGM9MQkJCQljb250YWluZWQgbmV4dGdyb3VwPWFmbGV4QWJicnYsYWZsZXhJbmNsdWRlCitzeW4gcmVnaW9uIGFmbGV4SW5jbHVkZQltYXRjaGdyb3VwPWFmbGV4U2VwCXN0YXJ0PSJeJXsiIGVuZD0iJX0iCWNvbnRhaW5lZAljb250YWlucz1BTExCVVQsQGFmbGV4TGlzdEdyb3VwCitzeW4gcmVnaW9uIGFmbGV4QWJicnZDb21tZW50CXN0YXJ0PSJeXHNcKy9cKiIJZW5kPSJcKi8iCisKKyIlJSA6IFBhdHRlcm5zIHtBY3Rpb25zfQorc3luIHJlZ2lvbiBhZmxleFBhdEJsb2NrCW1hdGNoZ3JvdXA9VG9kbwlzdGFydD0iXiUlJCIgbWF0Y2hncm91cD1Ub2RvIGVuZD0iXiUlJCIJc2tpcG5sIHNraXB3aGl0ZSBjb250YWlucz1hZmxleFBhdCxhZmxleFBhdFRhZyxhZmxleFBhdENvbW1lbnQKK3N5biByZWdpb24gYWZsZXhQYXQJCXN0YXJ0PStcUysgc2tpcD0iXFxcXFx8XFwuIgllbmQ9IlxzIm1lPWUtMQljb250YWluZWQgbmV4dGdyb3VwPWFmbGV4TW9yZVBhdCxhZmxleFBhdFNlcCBjb250YWlucz1hZmxleFBhdFN0cmluZyxhZmxleFNsYXNoUXVvdGUsYWZsZXhCcmFjZQorc3luIHJlZ2lvbiBhZmxleEJyYWNlCXN0YXJ0PSJcWyIgc2tpcD0rXFxcXFx8XFwrCQllbmQ9Il0iCQljb250YWluZWQKK3N5biByZWdpb24gYWZsZXhQYXRTdHJpbmcJbWF0Y2hncm91cD1TdHJpbmcgc3RhcnQ9KyIrCXNraXA9K1xcXFxcfFxcIisJbWF0Y2hncm91cD1TdHJpbmcgZW5kPSsiKwljb250YWluZWQKK3N5biBtYXRjaCAgYWZsZXhQYXRUYWcJIl48XElcaSpcKCxcSVxpKlwpKj4qIgkJCWNvbnRhaW5lZCBuZXh0Z3JvdXA9YWZsZXhQYXQsYWZsZXhQYXRUYWcsYWZsZXhNb3JlUGF0LGFmbGV4UGF0U2VwCitzeW4gbWF0Y2ggIGFmbGV4UGF0VGFnCStePFxJXGkqXCgsXElcaSpcKSo+KlwoXFxcXFwpKlxcIisJCWNvbnRhaW5lZCBuZXh0Z3JvdXA9YWZsZXhQYXQsYWZsZXhQYXRUYWcsYWZsZXhNb3JlUGF0LGFmbGV4UGF0U2VwCitzeW4gcmVnaW9uIGFmbGV4UGF0Q29tbWVudAlzdGFydD0iXlxzKi9cKiIgZW5kPSJcKi8iCQlza2lwbmwJY29udGFpbmVkIGNvbnRhaW5zPWNUb2RvIG5leHRncm91cD1hZmxleFBhdENvbW1lbnQsYWZsZXhQYXQsYWZsZXhQYXRTdHJpbmcsYWZsZXhQYXRUYWcKK3N5biBtYXRjaCAgYWZsZXhQYXRDb2RlTGluZQkiLiokIgkJCQkJY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxAYWZsZXhMaXN0R3JvdXAKK3N5biBtYXRjaCAgYWZsZXhNb3JlUGF0CSJccyp8XHMqJCIJCQlza2lwbmwJY29udGFpbmVkIG5leHRncm91cD1hZmxleFBhdCxhZmxleFBhdFRhZyxhZmxleFBhdENvbW1lbnQKK3N5biBtYXRjaCAgYWZsZXhQYXRTZXAJIlxzXCsiCQkJCQljb250YWluZWQgbmV4dGdyb3VwPWFmbGV4TW9yZVBhdCxhZmxleFBhdENvZGUsYWZsZXhQYXRDb2RlTGluZQorc3luIG1hdGNoICBhZmxleFNsYXNoUXVvdGUJK1woXFxcXFwpKlxcIisJCQkJY29udGFpbmVkCitzeW4gcmVnaW9uIGFmbGV4UGF0Q29kZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0ieyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSJ9Iglza2lwbmwgY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxAYWZsZXhMaXN0UGF0Q29kZUdyb3VwCisKK3N5biBrZXl3b3JkIGFmbGV4Q0Z1bmN0aW9ucwlCRUdJTglpbnB1dAl1bnB1dAl3b3V0cHV0CXl5bGVuZwl5eWxvb2sJeXl0ZXh0CitzeW4ga2V5d29yZCBhZmxleENGdW5jdGlvbnMJRUNITwlvdXRwdXQJd2lucHV0CXd1bnB1dAl5eWxlc3MJeXltb3JlCXl5d3JhcAorCisiIDxjLnZpbT4gaW5jbHVkZXMgc2V2ZXJhbCBBTExCVVRzOyB0aGVzZSBoYXZlIHRvIGJlIHRyZWF0ZWQgc28gYXMgdG8gZXhjbHVkZSBhZmxleCogZ3JvdXBzCitzeW4gY2x1c3RlciBjUGFyZW5Hcm91cAlhZGQ9YWZsZXguKgorc3luIGNsdXN0ZXIgY0RlZmluZUdyb3VwCWFkZD1hZmxleC4qCitzeW4gY2x1c3RlciBjUHJlUHJvY0dyb3VwCWFkZD1hZmxleC4qCitzeW4gY2x1c3RlciBjTXVsdGlHcm91cAlhZGQ9YWZsZXguKgorCisiIFN5bmNocm9uaXphdGlvbgorc3luIHN5bmMgY2xlYXIKK3N5biBzeW5jIG1pbmxpbmVzPTMwMAorc3luIHN5bmMgbWF0Y2ggYWZsZXhTeW5jUGF0CWdyb3VwaGVyZSAgYWZsZXhQYXRCbG9jawkiXiVbYS16QS1aXSIKK3N5biBzeW5jIG1hdGNoIGFmbGV4U3luY1BhdAlncm91cHRoZXJlIGFmbGV4UGF0QmxvY2sJIl48JCIKK3N5biBzeW5jIG1hdGNoIGFmbGV4U3luY1BhdAlncm91cHRoZXJlIGFmbGV4UGF0QmxvY2sJIl4lJSQiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYWZsZXhfc3ludGF4X2luaXRzIikKKyAgIGlmIHZlcnNpb24gPCA1MDgKKyAgICAgIGxldCBkaWRfYWZsZXhfc3ludGF4X2luaXRzID0gMQorICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgIGVsc2UKKyAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgZW5kaWYKKyAgSGlMaW5rCWFmbGV4U2xhc2hRdW90ZQlhZmxleFBhdAorICBIaUxpbmsJYWZsZXhCcmFjZQkJYWZsZXhQYXQKKyAgSGlMaW5rIGFmbGV4QWJicnZDb21tZW50CWFmbGV4UGF0Q29tbWVudAorCisgIEhpTGluawlhZmxleEFiYnJ2CQlTcGVjaWFsQ2hhcgorICBIaUxpbmsJYWZsZXhBYmJydlJlZ0V4cAlNYWNybworICBIaUxpbmsJYWZsZXhDRnVuY3Rpb25zCUZ1bmN0aW9uCisgIEhpTGluawlhZmxleE1vcmVQYXQJU3BlY2lhbENoYXIKKyAgSGlMaW5rCWFmbGV4UGF0CQlGdW5jdGlvbgorICBIaUxpbmsJYWZsZXhQYXRDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rCWFmbGV4UGF0U3RyaW5nCUZ1bmN0aW9uCisgIEhpTGluawlhZmxleFBhdFRhZwkJU3BlY2lhbAorICBIaUxpbmsJYWZsZXhTZXAJCURlbGltaXRlcgorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYWZsZXgiCisKKyIgdmltOnRzPTEwCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9haGRsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FoZGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNDE3YzMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9haGRsLnZpbQpAQCAtMCwwICsxLDk0IEBACisiIFZpbSBzeW4gZmlsZQorIiBMYW5ndWFnZToJQWx0ZXJhIEFIREwKKyIgTWFpbnRhaW5lcjoJSm9obiBDb29rIDxqb2huLmNvb2tAa2xhLXRlbmNvci5jb20+CisiIExhc3QgQ2hhbmdlOgkyMDAxIEFwciAyNQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyJ0aGlzIGxhbmd1YWdlIGlzIG9ibGl2aW91cyB0byBjYXNlLgorc3luIGNhc2UgaWdub3JlCisKKyIgYSBidW5jaCBvZiBrZXl3b3Jkcworc3luIGtleXdvcmQgYWhkbEtleXdvcmQgYXNzZXJ0IGJlZ2luIGJpZGlyIGJpdHMgYnVyaWVkIGNhc2UgY2xpcXVlCitzeW4ga2V5d29yZCBhaGRsS2V5d29yZCBjb25uZWN0ZWRfcGlucyBjb25zdGFudCBkZWZhdWx0cyBkZWZpbmUgZGVzaWduCitzeW4ga2V5d29yZCBhaGRsS2V5d29yZCBkZXZpY2UgZWxzZSBlbHNpZiBlbmQgZm9yIGZ1bmN0aW9uIGdlbmVyYXRlCitzeW4ga2V5d29yZCBhaGRsS2V5d29yZCBnbmQgaGVscF9pZCBpZiBpbiBpbmNsdWRlIGlucHV0IGlzIG1hY2hpbmUKK3N5biBrZXl3b3JkIGFoZGxLZXl3b3JkIG5vZGUgb2Ygb3B0aW9ucyBvdGhlcnMgb3V0cHV0IHBhcmFtZXRlcnMKK3N5biBrZXl3b3JkIGFoZGxLZXl3b3JkIHJldHVybnMgc3RhdGVzIHN1YmRlc2lnbiB0YWJsZSB0aGVuIHRpdGxlIHRvCitzeW4ga2V5d29yZCBhaGRsS2V5d29yZCB0cmlfc3RhdGVfbm9kZSB2YXJpYWJsZSB2Y2Mgd2hlbiB3aXRoCisKKyIgYSBidW5jaCBvZiB0eXBlcworc3luIGtleXdvcmQgYWhkbElkZW50aWZpZXIgY2FycnkgY2FzY2FkZSBkZmZlIGRmZiBleHAgZ2xvYmFsCitzeW4ga2V5d29yZCBhaGRsSWRlbnRpZmllciBqa2ZmZSBqa2ZmIGxhdGNoIGxjZWxsIG1jZWxsIG1lbW9yeSBvcGVuZHJuCitzeW4ga2V5d29yZCBhaGRsSWRlbnRpZmllciBzb2Z0IHNyZmZlIHNyZmYgdGZmZSB0ZmYgdHJpIHdpcmUgeAorCitzeW4ga2V5d29yZCBhaGRsTWVnYWZ1bmN0aW9uIGxwbV9hbmQgbHBtX2J1c3RyaSBscG1fY2xzaGlmdCBscG1fY29uc3RhbnQKK3N5biBrZXl3b3JkIGFoZGxNZWdhZnVuY3Rpb24gbHBtX2RlY29kZSBscG1faW52IGxwbV9tdXggbHBtX29yIGxwbV94b3IKK3N5biBrZXl3b3JkIGFoZGxNZWdhZnVuY3Rpb24gYnVzbXV4IG11eAorCitzeW4ga2V5d29yZCBhaGRsTWVnYWZ1bmN0aW9uIGRpdmlkZSBscG1fYWJzIGxwbV9hZGRfc3ViIGxwbV9jb21wYXJlCitzeW4ga2V5d29yZCBhaGRsTWVnYWZ1bmN0aW9uIGxwbV9jb3VudGVyIGxwbV9tdWx0CisKK3N5biBrZXl3b3JkIGFoZGxNZWdhZnVuY3Rpb24gYWx0ZHByYW0gY3NmaWZvIGRjZmlmbyBzY2ZpZm8gY3NkcHJhbSBscG1fZmYKK3N5biBrZXl3b3JkIGFoZGxNZWdhZnVuY3Rpb24gbHBtX2xhdGNoIGxwbV9zaGlmdHJlZyBscG1fcmFtX2RxIGxwbV9yYW1faW8KK3N5biBrZXl3b3JkIGFoZGxNZWdhZnVuY3Rpb24gbHBtX3JvbSBscG1fZGZmIGxwbV90ZmYgY2xrbG9jayBwbGwgbnRzYworCitzeW4ga2V5d29yZCBhaGRsVG9kbyBjb250YWluZWQgVE9ETworCisiIFN0cmluZyBjb250c3RhbnRzCitzeW4gcmVnaW9uIGFoZGxTdHJpbmcgc3RhcnQ9KyIrICBza2lwPStcXCIrICBlbmQ9KyIrCisKKyIgdmFsaWQgaW50ZWdlciBudW1iZXIgZm9ybWF0cyAoZGVjaW1hbCwgYmluYXJ5LCBvY3RhbCwgaGV4KQorc3luIG1hdGNoIGFoZGxOdW1iZXIgJ1w8XGRcK1w+Jworc3luIG1hdGNoIGFoZGxOdW1iZXIgJ1w8YiJcKDBcfDFcfHhcKVwrIicKK3N5biBtYXRjaCBhaGRsTnVtYmVyICdcPFwob1x8cVwpIlxvXCsiJworc3luIG1hdGNoIGFoZGxOdW1iZXIgJ1w8XChoXHx4XCkiXHhcKyInCisKKyIgb3BlcmF0b3JzCitzeW4gbWF0Y2ggICBhaGRsT3BlcmF0b3IgIlshJiMkK1wtPD49PzpcXl0iCitzeW4ga2V5d29yZCBhaGRsT3BlcmF0b3Igbm90IGFuZCBuYW5kIG9yIG5vciB4b3IgeG5vcgorc3luIGtleXdvcmQgYWhkbE9wZXJhdG9yIG1vZCBkaXYgbG9nMiB1c2VkIGNlaWwgZmxvb3IKKworIiBvbmUgbGluZSBhbmQgbXVsdGktbGluZSBjb21tZW50cworIiAoZGVmaW5lIHRoZXNlIGFmdGVyIGFoZGxPcGVyYXRvciBzbyAtLSBvdmVycmlkZXMgLSkKK3N5biBtYXRjaCAgYWhkbENvbW1lbnQgIi0tLioiIGNvbnRhaW5zPWFoZGxOdW1iZXIsYWhkbFRvZG8KK3N5biByZWdpb24gYWhkbENvbW1lbnQgc3RhcnQ9IiUiIGVuZD0iJSIgY29udGFpbnM9YWhkbE51bWJlcixhaGRsVG9kbworCisiIG90aGVyIHNwZWNpYWwgY2hhcmFjdGVycworc3luIG1hdGNoICAgYWhkbFNwZWNpYWxDaGFyICJbXFtcXSgpLiw7XSIKKworc3luIHN5bmMgbWlubGluZXM9MQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9haGRsX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2FoZGxfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyAgSGlMaW5rIGFoZGxOdW1iZXIJCWFoZGxTdHJpbmcKKyAgSGlMaW5rIGFoZGxNZWdhZnVuY3Rpb24JYWhkbElkZW50aWZpZXIKKyAgSGlMaW5rIGFoZGxTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgorICBIaUxpbmsgYWhkbEtleXdvcmQJCVN0YXRlbWVudAorICBIaUxpbmsgYWhkbFN0cmluZwkJU3RyaW5nCisgIEhpTGluayBhaGRsQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgYWhkbElkZW50aWZpZXIJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGFoZGxPcGVyYXRvcgkJT3BlcmF0b3IKKyAgSGlMaW5rIGFoZGxUb2RvCQlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFoZGwiCisiIHZpbTp0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hbWlnYS52aW0gYi9ydW50aW1lL3N5bnRheC9hbWlnYS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjFlODhhZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FtaWdhLnZpbQpAQCAtMCwwICsxLDEwMSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUFtaWdhRG9zCisiIE1haW50YWluZXI6CURyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gPE5kck9jaGlwU0BQY2FtcGJlbGxBZmFtaWx5Lk1iaXo+CisiIExhc3QgQ2hhbmdlOglTZXAgMDIsIDIwMDMKKyIgVmVyc2lvbjogICAgIDQKKyIgVVJMOglodHRwOi8vd3d3LmVyb2xzLmNvbS9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjdmltbGlua3Nfc3ludGF4CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgQW1pZ2EgRGV2aWNlcworc3luIG1hdGNoIGFtaURldiAiXChwYXJcfHNlclx8cHJ0XHxjb25cfG5pbFwpOiIKKworIiBBbWlnYSBhbGlhc2VzIGFuZCBwYXRocworc3luIG1hdGNoIGFtaUFsaWFzCSJcPFthLXpBLVpdW2EtekEtWjAtOV1cKzoiCitzeW4gbWF0Y2ggYW1pQWxpYXMJIlw8W2EtekEtWl1bYS16QS1aMC05XVwrOlthLXpBLVowLTkvXSovIgorCisiIHN0cmluZ3MKK3N5biByZWdpb24gYW1pU3RyaW5nCXN0YXJ0PSsiKyBlbmQ9KyIrIG9uZWxpbmUKKworIiBudW1iZXJzCitzeW4gbWF0Y2ggYW1pTnVtYmVyCSJcPFxkXCtcPiIKKworIiBMb2dpYyBmbG93CitzeW4gcmVnaW9uCWFtaUZsb3cJbWF0Y2hncm91cD1TdGF0ZW1lbnQgc3RhcnQ9ImlmIgltYXRjaGdyb3VwPVN0YXRlbWVudCBlbmQ9ImVuZGlmIgljb250YWlucz1BTEwKK3N5biBrZXl3b3JkCWFtaUZsb3cJc2tpcCBlbmRza2lwCitzeW4gbWF0Y2gJYW1pRXJyb3IJImVsc2VcfGVuZGlmIgorc3luIGtleXdvcmQJYW1pRWxzZSBjb250YWluZWQJZWxzZQorCitzeW4ga2V5d29yZAlhbWlUZXN0IGNvbnRhaW5lZAlub3Qgd2FybiBlcnJvciBmYWlsIGVxIGd0IGdlIHZhbCBleGlzdHMKKworIiBlY2hvIGV4Y2VwdGlvbgorc3luIHJlZ2lvbglhbWlFY2hvCW1hdGNoZ3JvdXA9U3RhdGVtZW50IHN0YXJ0PSJcPGVjaG9cPiIgZW5kPSIkIiBvbmVsaW5lIGNvbnRhaW5zPWFtaUNvbW1lbnQKK3N5biByZWdpb24JYW1pRWNobwltYXRjaGdyb3VwPVN0YXRlbWVudCBzdGFydD0iXlwuW2JCXVtyUl1bYUFdIiBlbmQ9IiQiIG9uZWxpbmUKK3N5biByZWdpb24JYW1pRWNobwltYXRjaGdyb3VwPVN0YXRlbWVudCBzdGFydD0iXlwuW2tLXVtlRV1bdFRdIiBlbmQ9IiQiIG9uZWxpbmUKKworIiBjb21tYW5kcworc3luIGtleXdvcmQJYW1pS2V5CWFkZGJ1ZmZlcnMJY29weQlmYXVsdAlqb2luCXBvaW50ZXIJc2V0ZGF0ZQorc3luIGtleXdvcmQJYW1pS2V5CWFkZG1vbml0b3IJY3B1CWZpbGVub3RlCWtleXNob3cJcHJpbnRlcglzZXRlbnYKK3N5biBrZXl3b3JkCWFtaUtleQlhbGlhcwlkYXRlCWZpeGZvbnRzCWxhYglwcmludGVyZ2Z4CXNldGZvbnQKK3N5biBrZXl3b3JkCWFtaUtleQlhc2sJZGVsZXRlCWZrZXkJbGlzdAlwcmludGZpbGVzCXNldG1hcAorc3luIGtleXdvcmQJYW1pS2V5CWFzc2lnbglkaXIJZm9udAlsb2Fkd2IJcHJvbXB0CXNldHBhdGNoCitzeW4ga2V5d29yZAlhbWlLZXkJYXV0b3BvaW50CWRpc2tjaGFuZ2UJZm9ybWF0CWxvY2sJcHJvdGVjdAlzb3J0CitzeW4ga2V5d29yZAlhbWlLZXkJYXZhaWwJZGlza2NvcHkJZ2V0CW1hZ3RhcGUJcXVpdAlzdGFjaworc3luIGtleXdvcmQJYW1pS2V5CWJpbmRkcml2ZXJzCWRpc2tkb2N0b3IJZ2V0ZW52CW1ha2VkaXIJcmVsYWJlbAlzdGF0dXMKK3N5biBrZXl3b3JkCWFtaUtleQliaW5kbW9uaXRvcglkaXNwbGF5CWdyYXBoaWNkdW1wCW1ha2VsaW5rCXJlbXJhZAl0aW1lCitzeW4ga2V5d29yZAlhbWlLZXkJYmxhbmtlcgkJaWNvbmVkaXQJbW9yZQlyZW5hbWUJdHlwZQorc3luIGtleXdvcmQJYW1pS2V5CWJyZWFrCWVkCWljb250cm9sCW1vdW50CXJlc2lkZW50CXVuYWxpYXMKK3N5biBrZXl3b3JkCWFtaUtleQljYWxjdWxhdG9yCWVkaXQJaWNvbngJbmV3Y2xpCXJ1bgl1bnNldAorc3luIGtleXdvcmQJYW1pS2V5CWNkCWVuZGNsaQlpaGVscAluZXdzaGVsbAlzYXkJdW5zZXRlbnYKK3N5biBrZXl3b3JkCWFtaUtleQljaGFuZ2V0YXNrcHJpCWVuZHNoZWxsCWluZm8Jbm9jYXBzbG9jawlzY3JlZW5tb2RlCXZlcnNpb24KK3N5biBrZXl3b3JkCWFtaUtleQljbG9jawlldmFsCWluaXRwcmludGVyCW5vZmFzdG1lbQlzZWFyY2gJd2FpdAorc3luIGtleXdvcmQJYW1pS2V5CWNtZAlleGNoYW5nZQlpbnB1dAlvdmVyc2NhbglzZXJpYWwJd2JwYXR0ZXJuCitzeW4ga2V5d29yZAlhbWlLZXkJY29sb3JzCWV4ZWN1dGUJaW5zdGFsbAlwYWxldHRlCXNldAl3aGljaAorc3luIGtleXdvcmQJYW1pS2V5CWNvbmNsaXAJZmFpbGF0CWlwcmVmcwlwYXRoCXNldGNsb2NrCXdoeQorCisiIGNvbW1lbnRzCitzeW4gY2x1c3RlcglhbWlDb21tZW50R3JvdXAgY29udGFpbnM9YW1pVG9kbyxAU3BlbGwKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQJYW1pVG9kbwljb250YWluZWQJdG9kbworc3luIGNhc2UgbWF0Y2gKK3N5biBtYXRjaAlhbWlDb21tZW50CSI7LiokIiBjb250YWlucz1hbWlDb21tZW50R3JvdXAKKworIiBzeW5jCitzeW4gc3luYyBsaW5lcz01MAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hbWlnYV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9hbWlnYV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhbWlBbGlhcwlUeXBlCisgIEhpTGluayBhbWlDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGFtaURldglUeXBlCisgIEhpTGluayBhbWlFY2hvCVN0cmluZworICBIaUxpbmsgYW1pRWxzZQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGFtaUVycm9yCUVycm9yCisgIEhpTGluayBhbWlLZXkJU3RhdGVtZW50CisgIEhpTGluayBhbWlOdW1iZXIJTnVtYmVyCisgIEhpTGluayBhbWlTdHJpbmcJU3RyaW5nCisgIEhpTGluayBhbWlUZXN0CVNwZWNpYWwKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYW1pZ2EiCisKKyIgdmltOnRzPTE1CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hbWwudmltIGIvcnVudGltZS9zeW50YXgvYW1sLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2IxNmYxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYW1sLnZpbQpAQCAtMCwwICsxLDE1NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUFNTCAoQVJDL0lORk8gQXJjIE1hY3JvIExhbmd1YWdlKQorIiBXcml0dGVuIEJ5OglOaWtraSBLbnVpdCA8Tmlra2kuS251aXRAZ2VtczMuZ292LmJjLmNhPgorIiBNYWludGFpbmVyOglUb2RkIEdsb3ZlciA8dG9kZC5nbG92ZXJAZ2VtczkuZ292LmJjLmNhPgorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMTAKKworIiBGVVRVUkUgQ09ESU5HOiAgQm9sZCBhcHBsaWNhdGlvbiBjb21tYW5kcyBhZnRlciAmc3lzLCAmdHR5CisiCQkgIE9ubHkgaGlnaGxpZ2h0IGFtbCBGdW5jdGlvbnMgYXQgdGhlIGJlZ2lubmluZworIgkJICAgIG9mIFtdLCBpbiBvcmRlciB0byBhdm9pZCAtcmVhZCBoaWdobGlnaHRlZCwKKyIJCSAgICBvciBbcXVvdGVdIHN0cmluZ3MgaGlnaGxpZ2h0ZWQKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBBUkMsIEFSQ0VESVQsIEFSQ1BMT1QsIExJQlJBUklBTiwgR1JJRCwgU0NIRU1BRURJVCByZXNlcnZlZCB3b3JkcywKKyIgZGVmaW5lZCBhcyBrZXl3b3Jkcy4KKworc3luIGtleXdvcmQgYW1sQXJjQ21kIGNvbnRhaW5lZCAgMmJ1dHRvbiBhYmIgYWJiW3JldmlhdGlvbnNdIGFicyBhYyBhY29zIGFjb3NoIGFkZCBhZGRjW29nb2F0dF0gYWRkY29nb2F0dCBhZGRmW2VhdHVyZWNsYXNzXSBhZGRoW2lzdG9yeV0gYWRkaSBhZGRpbVthZ2VdIGFkZGluZGV4YXR0IGFkZGl0W2VtXSBhZGRpdGVtIGFkZHJlc3NiW3VpbGRdIGFkZHJlc3NjW3JlYXRlXSBhZGRyZXNzZVtycm9yc10gYWRkcmVzc2VkaXQgYWRkcmVzc21bYXRjaF0gYWRkcmVzc3BbYXJzZV0gYWRkcmVzc3RbZXN0XSBhZGRyb1t1dGVtZWFzdXJlXSBhZGRyb3V0ZW1lYXN1cmUgYWRkdGVbeHRdIGFkZHRvW3N0YWNrXSBhZGR3W29ya3RhYmxlXSBhZGR4W3ldIGFkalt1c3RdIGFkbVtpbmxpY2Vuc2VdIGFkcltnZ3JpZF0gYWRzIGFkc2FbcmNdIGFlIGFmIGFnW2dyZWdhdGVdIGFpIGFpW3JlcXVlc3RdIGFpcmVxdWVzdCBhbCBhbGlhW3NdIGFsaWdbbl0gYWx0W2VyYXJjaGl2ZV0gYW1bc2FyY10gYW5kIGFubm9hW2xpZ25tZW50XSBhbm5vYWRkIGFubm9jYXB0dXJlIGFubm9jbFtpcF0gYW5ub2NvW3ZlcmFnZV0gYW5ub2N1cnZlIGFubm9lW2RpdF0gYW5ub2VkaXQgYW5ub2YgYW5ub2ZlYXR1cmUgYW5ub2ZpdCBhbm5vaXRlbSBhbm5vbGFbeWVyXSBhbm5vbGVbdmVsXSBhbm5vbGV2ZWwgYW5ub2xpbmUgYW5ub29mZnNldCBhbm5vcFtvc2l0aW9uXSBhbm5vcGxhY2UgYW5ub3NbaXplXSBhbm5vc2VsZWN0ZmVhdHVyIGFubm9zZXQgYW5ub3N1bSBhbm5vc3ltYm9sIGFubm90IGFubm90W2V4dF0gYW5ub3RleHQgYW5ub3R5cGUgYW8gYXAgYXBtW29kZV0gYXBwW2VuZF0gYXJjIGFyY2FkW3NdIGFyY2FyW3Jvd3NdIGFyY2Nbb2dvXSBhcmNkZlthZF0gYXJjZGlbbWVdIGFyY2RsW2ddIGFyY2R4W2ZdIGFyY2VkW2l0XSBhcmNlZGl0IGFyY2VuW2R0ZXh0XSBhcmNmW29udF0gYXJjaWdkW3NdIGFyY2lnZVtzXSBhcmNsYVtiZWxdIGFyY2xpW25lc10gYXJjbWFbcmtlcnNdIGFyY21vW3NzXQorc3luIGtleXdvcmQgYW1sQXJjQ21kIGNvbnRhaW5lZCAgYXJjcGxbb3RdIGFyY3Bsb3QgYXJjcG9baW50XSBhcmNyW291dGVdIGFyY3MgYXJjc2NbaXRleF0gYXJjc2VbY3Rpb25dIGFyY3NoW2FwZV0gYXJjc2xbZl0gYXJjc25bYXBdIGFyY3NwW290XSBhcmN0ZVt4dF0gYXJjdGlnW2VyXSBhcmN0aW4gYXJjdG9bb2xzXSBhcmN0b29scyBhcmN0eVtwZV0gYXJlYSBhcmVhcVt1ZXJ5XSBhcm0gYXJyb3cgYXJyb3dzW2l6ZV0gYXJyb3d0W3lwZV0gYXMgYXNjIGFzY2lpZ1tyaWRdIGFzY2lpaFtlbHBdIGFzY2lpaGVscCBhc2NvW25uZWN0XSBhc2Nvbm5lY3QgYXNkIGFzZGFbdGFiYXNlXSBhc2RpW3Njb25uZWN0XSBhc2Rpc2Nvbm5lY3QgYXNlbFtlY3RdIGFzZXhbZWN1dGVdIGFzZiBhc2luIGFzaW5oIGFzcFtlY3RdIGFzcltlYWRsb2Nrc10gYXN0W3JhY2VdIGF0IGF0YW4gYXRhbjIgYXRhbmggYXR1c2FnZSBhdWRbaXR0cmFpbF0gYXV0b2lbbmNyZW1lbnRdIGF1dG9sW2lua10gYXhpcyBheGlzaFthdGNoXSBheGlzbFthYmVsc10gYXhpc3JbdWxlcl0gYXhpc3RbZXh0XSBiYWNba2xvY2tzeW1ib2xdIGJhY2tjb3ZlcmFnZSBiYWNrZW52aXJvbm1lbnQgYmFja25vZGVhbmdsZWl0ZSBiYWNrc3ltYm9saXRlbSBiYWNrdGV4dGl0ZW0gYmFzZVtzZWxlY3RdIGJhc2lbbl0gYmF0W2NoXSBiYyBiZSBiZVtsbHNdIGJsYWNrb3V0IGJsb2NrbWFqW29yaXR5XSBibG9ja21heCBibG9ja21lYVtuXSBibG9ja21lZFtpYW5dIGJsb2NrbWluIGJsb2NrbWlub1tyaXR5XSBibG9ja3JbYW5nZV0gYmxvY2tzdFtkXSBibG9ja3N1W21dIGJsb2NrdlthcmlldHldIGJuYWkgYm91W25kYXJ5Y2xlYW5dIGJveCBicltpZWZdIGJzaSBidGkgYnVmW2Zlcl0gYnVnW2Zvcm1dIGJ1Z2Zvcm0gYnVpbGQgYnVpbGRzW3RhXSBidWlsZHZbYXRdIGNhbGNvW21wXSBjYWxjb21wIGNhbGN1W2xhdGVdIGNhbGlbYnJhdGVyb3V0ZXNdIGNhbGlicmF0ZXJvdXRlcyBjYW5bZF0gY2FydHJbZWFkXSBjYXJ0cmVhZAorc3luIGtleXdvcmQgYW1sQXJjQ21kIGNvbnRhaW5lZCAgY2FydHdbcml0ZV0gY2FydHdyaXRlIGNlaVtsXSBjZWxbbHZhbHVlXSBjZW5bdHJvaWRsYWJlbHNdIGNnbSBjZ21lW3NjYXBlXSBjaGFbbmdlXSBjaGVja2luIGNoZWNraW5yZWwgY2hlY2tvdXQgY2hlY2tvdXRyZWwgY2htW29kXSBjaG93biBjaG93bnRbcmFuc2FjdGlvbl0gY2hvd250cmFuIGNob3dudHJhbnNhY3Rpb24gY2kgY2lbcmNsZV0gY2lyIGNsYXNzIGNsYXNzcFtyb2JdIGNsYXNzc1tpZ10gY2xhc3NzYW1wbGUgY2xlYW4gY2xlYXIgY2xlYXJzW2VsZWN0XSBjbGlwIGNsaXBnW3JhcGhleHRlbnRdIGNsaXBtW2FwZXh0ZW50XSBjbG9bc2VkYXRhYmFzZV0gY250dnJ0IGNvIGNvZFtlZmluZF0gY29nW29pbnZlcnNlXSBjb2dvY29tIGNvZ29lbnYgY29nb21lbnUgY29sbFtvY2F0ZV0gY29sb3IgY29sb3IyYltsdWVdIGNvbG9yMmdbcmVlbl0gY29sb3IyaFt1ZV0gY29sb3IycltlZF0gY29sb3Iyc1thdF0gY29sb3IydlthbF0gY29sb3JjaGFydCBjb2xvcmVkaXQgY29sb3JoW2Nic10gY29sb3JoY2JzIGNvbHVbbW5zXSBjb21iW2luZV0gY29tbVthbmRzXSBjb21tYW5kcyBjb24gY29ubmVjdCBjb25uZWN0dVtzZXJdIGNvbnNbaXN0XSBjb250b1t1cl0gY29udHJbb2xwb2ludHNdIGNvbnZlcnRkW29jXSBjb252ZXJ0ZG9jIGNvbnZlcnRpW21hZ2VdIGNvbnZlcnRsYVt5ZXJdIGNvbnZlcnRsaVticmFyeV0gY29udmVydHJbZW1hcF0gY29udmVydHdbb3Jrc3BhY2VdIGNvb1tyZGluYXRlXSBjb29yZGluYXRlIGNvb3JkaW5hdGVzIGNvcHkgY29weWZbZWF0dXJlc10gY29weWlbbmZvXSBjb3B5bFtheWVyXSBjb3B5byBjb3B5b1t1dF0gY29weW91dCBjb3B5c1t0YWNrXSBjb3B5d1tvcmtzcGFjZV0gY29weXdvcmtzcGFjZSBjb3IgY29ycltpZG9yXSBjb3JyZWxhdGlvbiBjb3MgY29zaCBjb3N0YVtsbG9jYXRpb25dIGNvc3RiW2Fja2xpbmtdIGNvc3RkW2lzdGFuY2VdIGNvc3RwW2F0aF0gY291W250dmVydGljZXNdCitzeW4ga2V5d29yZCBhbWxBcmNDbWQgY29udGFpbmVkICBjb3VudHZlcnRpY2VzIGNwdyBjciBjcmVhdGUgY3JlYXRlMltkaW5kZXhdIGNyZWF0ZWFbdHRyaWJ1dGVzXSBjcmVhdGVjYVt0YWxvZ10gY3JlYXRlY29bZ29dIGNyZWF0ZWNvZ28gY3JlYXRlZltlYXR1cmVdIGNyZWF0ZWluZFtleF0gY3JlYXRlaW5mW290YWJsZV0gY3JlYXRlbGFiW2Vsc10gY3JlYXRlbGF5W2VyXSBjcmVhdGVsaVticmFyeV0gY3JlYXRlbltldGluZGV4XSBjcmVhdGVyW2VtYXBdIGNyZWF0ZXNbeXN0YWJsZXNdIGNyZWF0ZXRhW2JsZXNwYWNlXSBjcmVhdGV0aVtuXSBjcmVhdGV3W29ya3NwYWNlXSBjcmVhdGV3b3Jrc3BhY2UgY3MgY3VsZGVzYWMgY3Vyc1tvcl0gY3VydlthdHVyZV0gY3VydmUzcHQgY3V0W2ZpbGxdIGN1dG9mZiBjdyBjeFtvcl0gZGEgZGFyW2N5Zmxvd10gZGF0W2FzZXRdIGRiYVtzZWluZm9dIGRibXNjIGRibXNjW3Vyc29yXSBkYm1zY3Vyc29yIGRibXNlW3hlY3V0ZV0gZGJtc2lbbmZvXSBkYm1zc1tldF0gZGUgZGVsZXRlIGRlbGV0ZWFbcnJvd3NdIGRlbGV0ZXRbaWNdIGRlbGV0ZXdbb3Jrc3BhY2VdIGRlbGV0ZXdvcmtzcGFjZSBkZW1nW3JpZF0gZGVtbFthdHRpY2VdIGRlbmRbcm9ncmFtXSBkZW5zaWZ5IGRlbnNpZnlhW3JjXSBkZXNjcmliZSBkZXNjcmliZWFbcmNoaXZlXSBkZXNjcmliZWxbYXR0aWNlXSBkZXNjcmliZXRpW25dIGRlc2NyaWJldHJbYW5zXSBkZXNjcmliZXRyYW5zIGRldiBkZlthZGFyY10gZGcgZGlmW2ZdIGRpZ2lbdGl6ZXJdIGRpZ3RbZXN0XSBkaW1bZWFyY10gZGlyIGRpcltlY3RvcnldIGRpcmVjdG9yeSBkaXNhW2JsZXBhbnpvb21dIGRpc2Nvbm5lY3QgZGlzY29ubmVjdHVbc2VyXSBkaXNwIGRpc3BbbGF5XSBkaXNwbGF5IGRpc3NvbHZlIGRpc3NvbHZlZVt2ZW50c10gZGlzc29sdmVldmVudHMgZGlzdGFbbmNlXSBkaXN0cltpYnV0ZWJ1aWxkXSBkaXYgZGxbZ2FyY10gZG8gZG9jZVtsbF0gZG9jdVttZW50XSBkb2N1bWVudCBkb2dyb3VwIGRyYWcKK3N5biBrZXl3b3JkIGFtbEFyY0NtZCBjb250YWluZWQgIGRyYXcgZHJhd2Vudmlyb25tZW50IGRyYXdvcmRlciBkcmF3c1tpZ10gZHJhd3NlbGVjdCBkcmF3dFtyYXZlcnNlc10gZHJhd3pbb25lc2hhcGVdIGRyb3AyW2RpbmRleF0gZHJvcGFbcmNoaXZlXSBkcm9wZmVhdHVyZWNbbGFzc10gZHJvcGZlYXR1cmVzIGRyb3BmcltvbXN0YWNrXSBkcm9wZ3JvdXAgZHJvcGhbaXN0b3J5XSBkcm9waW5kW2V4XSBkcm9waW5mW290YWJsZV0gZHJvcGl0W2VtXSBkcm9wbGFbeWVyXSBkcm9wbGliW3JhcnldIGRyb3BsaW5bZV0gZHJvcGxpbmUgZHJvcG5bZXRpbmRleF0gZHJvcHRbYWJsZXNwYWNlXSBkcm9wd1tvcmt0YWJsZV0gZHMgZHRbZWRncmlkXSBkdHJhbnMgZHVbcGxpY2F0ZV0gZHVwbGljYXRlYXJjcyBkdyBkeGYgZHhmYVtyY10gZHhmaVtuZm9dIGR5bmFtaWNwYW4gZHlucGFuIGViZSBlYyBlZCBlZGdbZXNuYXBdIGVkZ2VtYXRjaCBlZGl0Ym91bmRhcnllcnJvIGVkaXRbY292ZXJhZ2VdICBlZGl0ZGlzdGFuY2UgZWRpdGYgZWRpdGZlYXR1cmUgZWRpdHBbbG90XSBlZGl0cGxvdCBlZGl0c1tpZ10gZWRpdHN5bWJvbCBlZiBlbFtpbWluYXRlXSBlbVtmXSBlbltkXSBlbnZyc3QgZW52c2F2IGVwW3NdIGVxIGVxdVthbHRvXSBlclthc2VdIGVzIGV0IGV0W2FrYXJjXSBldWNhW2xsb2NhdGlvbl0gZXVjZGlyW2VjdGlvbl0gZXVjZGlzW3RhbmNlXSBldmFsIGV2ZW50YVtyY10gZXZlbnRlW25kc10gZXZlbnRoW2F0Y2hdIGV2ZW50aVtuZm9dIGV2ZW50bGluZWVbbmR0ZXh0XSBldmVudGxpbmVzIGV2ZW50bGluZXRbZXh0XSBldmVudGxpc1t0XSBldmVudG1hW3JrZXJzXSBldmVudG1lW251XSBldmVudG1lbnUgZXZlbnRwb2ludCBldmVudHBvaW50dFtleHRdIGV2ZW50c2VbY3Rpb25dIGV2ZW50c29bdXJjZV0gZXZlbnR0W3JhbnNmb3JtXSBldmVudHRyYW5zZm9ybSBleGlbdF0gZXhwIGV4cDFbMF0gZXhwMiBleHBhW25kXSBleHBvW3J0XSBleHRlbltkXSBleHRlcm5hbCBleHRlcm5hbGFbbGxdCitzeW4ga2V5d29yZCBhbWxBcmNDbWQgY29udGFpbmVkICBmZFtjb252ZXJ0XSBmZWF0dXJlZ3JvdXAgZmcgZmllW2xkZGF0YV0gZmlsZSBmaWxsIGZpbHRbZXJdIGZpeFtvd25lcnNoaXBdIGZsaXAgZmxpcGFbbmdsZV0gZmxvYXQgZmxvYXRnW3JpZF0gZmxvb1tyXSBmbG93YVtjY3VtdWxhdGlvbl0gZmxvd2RbaXJlY3Rpb25dIGZsb3dsW2VuZ3RoXSBmbVtvZF0gZm9jYWxmW2xvd10gZm9jYWxtYWpbb3JpdHldIGZvY2FsbWF4IGZvY2FsbWVhW25dIGZvY2FsbWVkW2lhbl0gZm9jYWxtaW4gZm9jYWxtaW5vW3JpdHldIGZvY2FsclthbmdlXSBmb2NhbHN0W2RdIGZvY2Fsc3VbbV0gZm9jYWx2W2FyaWV0eV0gZm9udGFbcmNdIGZvbnRjb1tweV0gZm9udGNyW2VhdGVdIGZvbnRkW2VsZXRlXSBmb250ZHVtcCBmb250bFtvYWRdIGZvbnRsb2FkIGZvcmNbZV0gZm9ybVtlZGl0XSBmb3JtZWRpdCBmb3JtcyBmcltlcXVlbmN5XSBnZSBnZWFyeSBnZW5lcmFsW2l6ZV0gZ2VuZXJhdFtlXSBnZXJiZXJhW3JjXSBnZXJiZXJyW2VhZF0gZ2VyYmVycmVhZCBnZXJiZXJ3W3JpdGVdIGdlcmJlcndyaXRlIGdldCBnZXR6W2ZhY3Rvcl0gZ2kgZ2lbcmFzYXJjXSBnbmRzIGdyYWlbbl0gZ3JhcGhiW2FyXSBncmFwaGVbeHRlbnRdIGdyYXBoaVtjc10gZ3JhcGhpY2ltYWdlIGdyYXBoaWN2aWV3IGdyYXBobGltW2l0c10gZ3JhcGhsaW5bZV0gZ3JhcGhwW29pbnRdIGdyYXBoc1toYWRlXSBncmF5W3NoYWRlXSBncmVbYXRlcnRoYW5dIGdyaWQgZ3JpZGFbc2NpaV0gZ3JpZGNsW2lwXSBncmlkY2xpcCBncmlkY29bbXBvc2l0ZV0gZ3JpZGRlc2tbZXddIGdyaWRkZXNwW2Vja2xlXSBncmlkZGlbcmVjdGlvbl0gZ3JpZGVbZGl0XSBncmlkZmxpW3BdIGdyaWRmbG9bYXRdIGdyaWRpbVthZ2VdIGdyaWRpbltzZXJ0XSBncmlkbFtpbmVdIGdyaWRtYVtqb3JpdHldIGdyaWRtaVtycm9yXSBncmlkbW9bc3NdIGdyaWRuW2V0XSBncmlkbm9kYXRhc3ltYm9sIGdyaWRwYVtpbnRdIGdyaWRwb2lbbnRdIGdyaWRwb2xbeV0KK3N5biBrZXl3b3JkIGFtbEFyY0NtZCBjb250YWluZWQgIGdyaWRxW3VlcnldIGdyaWRyW290YXRlXSBncmlkc2hhZFtlc10gZ3JpZHNoYXBbZV0gZ3JpZHNoaVtmdF0gZ3JpZHdbYXJwXSBncm91cCBncm91cGJbeV0gZ3QgZ3YgZ3ZbdG9sZXJhbmNlXSBoYVtyZGNvcHldIGhlW2xwXSBoZWxwIGhpZFtkZW5zeW1ib2xdIGhpZ1tobG93XSBoaWxbbHNoYWRlXSBoaXNbdG9ncmFtXSBoaXN0b3JpY2FsdmlldyBob1tsZGFkanVzdF0gaHBnbCBocGdsMiBoc3YyYltsdWVdIGhzdjJnW3JlZW5dIGhzdjJyW2VkXSBodFttbF0gaHZpZXcgaWEgaWRlZFtpdF0gaWRlbnRpZlt5XSBpZGVudGl0W3ldIGlkdyBpZiBpZ2RzYVtyY10gaWdkc2lbbmZvXSBpZ2Vbc2FyY10gaWxbbHVzdHJhdG9yXSBpbGx1c3RyYXRvciBpbWFnZSBpbWFnZWdbcmlkXSBpbWFnZXBbbG90XSBpbWFnZXBsb3QgaW1hZ2V2aWV3IGltcFtvcnRdIGluIGluZGV4IGluZGV4aVt0ZW1dIGluZm8gaW5mb2RiYVtzZV0gaW5mb2RibVtzXSBpbmZvZltpbGVdIGluaXQ5MFswMF0gaW5pdDkxMDAgaW5pdDkxMDBiIGluaXQ5MVswMF0gaW5pdDk1WzAwXSBpbnQgaW50ZXJzZWN0IGludGVyc2VjdGFyY3MgaW50ZXJzZWN0ZVtycl0gaXNuW3VsbF0gaXNvW2NsdXN0ZXJdIGl0W2Vtc10gaXZpZXcgaltvaW5pdGVtXSBqb2luIGtlZXBzIGtlZXBzZWxlY3Qga2V5YW5bZ2xlXSBrZXlhcltlYV0ga2V5YltveF0ga2V5Zltvcm1zXSBrZXlsW2luZV0ga2V5bSBrZXltW2Fya2VyXSBrZXltYXAga2V5cFtvc2l0aW9uXSBrZXlzZVtwYXJhdGlvbl0ga2V5c2hbYWRlXSBrZXlzcG90IGtpbGwga2lsbG1bYXBdIGtyW2lnaW5nXSBsYSBsYWJlbGFbbmdsZV0gbGFiZWxlW3Jyb3JzXSBsYWJlbG1bYXJrZXJzXSBsYWJlbHMgbGFiZWxzY1thbGVdIGxhYmVsc3Bbb3RdIGxhYmVsdFtleHRdIGxhbCBsYXR0aWNlY2xbaXBdIGxhdHRpY2Vjb1tudG91cl0gbGF0dGljZWRbZW1dIGxhdHRpY2VtW2VyZ2VdIGxhdHRpY2VtYXJrZXJzIGxhdHRpY2VvW3BlcmF0ZV0KK3N5biBrZXl3b3JkIGFtbEFyY0NtZCBjb250YWluZWQgIGxhdHRpY2VwW29seV0gbGF0dGljZXJlcFtsYWNlXSBsYXR0aWNlcmVzW2FtcGxlXSBsYXR0aWNlc1twb3RdIGxhdHRpY2V0W2luXSBsYXR0aWNldGV4dCBsYXllciBsYXllcmFbbm5vXSBsYXllcmNhW2xjdWxhdGVdIGxheWVyY29bbHVtbnNdIGxheWVyZGVbbGV0ZV0gbGF5ZXJkb1t0c10gbGF5ZXJkclthd10gbGF5ZXJlW3hwb3J0XSBsYXllcmZbaWx0ZXJdIGxheWVyaWRbZW50aWZ5XSBsYXllcmltW3BvcnRdIGxheWVyaW9bbW9kZV0gbGF5ZXJsaVtzdF0gbGF5ZXJsb2Nba10gbGF5ZXJsb2dbZmlsZV0gbGF5ZXJxW3VlcnldIGxheWVyc2VbYXJjaF0gbGF5ZXJzcFtvdF0gbGF5ZXJ0W2V4dF0gbGMgbGRibXN0IGxlIGxlYWRlcmFbcnJvd3NdIGxlYWRlcnMgbGVhZGVyc3lbbWJvbF0gbGVhZGVydFtvbGVyYW5jZV0gbGVuW2d0aF0gbGVzW3N0aGFuXSBsZiBsZyBsaCBsaSBsaWIgbGlicmFyaVthbl0gbGlicmFyeSBsaW1pdGFkanVzdCBsaW1pdGF1dG9saW5rIGxpbmUgbGluZTJwdCBsaW5lYVtkanVzdG1lbnRdIGxpbmVjbFtvc3VyZWFuZ2xlXSBsaW5lY29sb3IgbGluZWNvbG9yclthbXBdIGxpbmVjb3B5IGxpbmVjb3B5bFtheWVyXSBsaW5lZGVsZXRlIGxpbmVkZWxldGVsW2F5ZXJdIGxpbmVkZW5bc2l0eV0gbGluZWRpcltlY3Rpb25dIGxpbmVkaXNbdF0gbGluZWVkaXQgbGluZWdbcmlkXSBsaW5laFtvbGxvd10gbGluZWluZltvXSBsaW5laW50W2VydmFsXSBsaW5lbFtheWVyXSBsaW5lbGlzdCBsaW5lbVtpdGVyYW5nbGVdIGxpbmVvW2Zmc2V0XSBsaW5lcGFbdHRlcm5dIGxpbmVwZVtuXSBsaW5lcHVbdF0gbGluZXNhW3ZlXSBsaW5lc2NbYWxlXSBsaW5lc2VbdF0gbGluZXNpW3plXSBsaW5lc3RbYXRzXSBsaW5lc3lbbWJvbF0gbGluZXRlW21wbGF0ZV0KK3N5biBrZXl3b3JkIGFtbEFyY0NtZCBjb250YWluZWQgIGxpbmV0eVtwZV0gbGlua1tzXSBsaW5rZmVhdHVyZXMgbGlzdCBsaXN0YXJjaGl2ZXMgbGlzdGF0dCBsaXN0Y1tvdmVyYWdlc10gbGlzdGNvdmVyYWdlcyBsaXN0ZGJtc3RhYmxlcyBsaXN0Z1tyaWRzXSBsaXN0Z3JpZHMgbGlzdGhpc3RvcnkgbGlzdGlbbWFnZXNdIGxpc3RpbWFnZXMgbGlzdGluZm90YWJsZXMgbGlzdGxheWVycyBsaXN0bGlicmFyaWVzIGxpc3RvW3V0cHV0XSBsaXN0c2VbbGVjdF0gbGlzdHN0W2Fja3NdIGxpc3RzdGFja3MgbGlzdHRhYmxlc3BhY2VzIGxpc3R0aVtuc10gbGlzdHRpbnMgbGlzdHRyW2F2ZXJzZXNdIGxpc3R0cmFuIGxpc3R0cmFuc2FjdGlvbnMgbGlzdHdbb3Jrc3BhY2VzXSBsaXN0d29ya3NwYWNlcyBsaXQgbGwgbGxbc2ZpdF0gbGxhIGxtIGxuIGxvYWQgbG9hZGFbZGphY2VudF0gbG9hZGNvbG9ybWFwIGxvY2tvW25seV0gbG9ja3NbeW1ib2xdIGxvZyBsb2cxWzBdIGxvZzIgbG9nZltpbGVdIGxvZ2dbaW5nXSBsb29ba3VwXSBsb3RbYXJlYV0gbHBbb3NdIGxzdGsgbHQgbHRzIGx3IG1hZGRpdGVtIG1ham9yaXR5IG1ham9yaXR5ZltpbHRlcl0gbWFrZXJlW2dpb25dIG1ha2Vyb1t1dGVdIG1ha2VzZVtjdGlvbl0gbWFrZXN0W2Fja10gbWFsW2lnbl0gbWFwIG1hcGFbbmdsZV0gbWFwZVt4dGVudF0gbWFwZXh0ZW50IG1hcGlbbmZvXSBtYXBqW29pbl0gbWFwbFtpbWl0c10gbWFwcG9bc2l0aW9uXSBtYXBwcltvamVjdGlvbl0gbWFwc2NbYWxlXSBtYXBzaFtpZnRdIG1hcHVbbml0c10gbWFwd1thcnBdIG1hcHpbb29tXSBtYXJrZXIgbWFya2VyYVtuZ2xlXSBtYXJrZXJjb2xvciBtYXJrZXJjb2xvcnJbYW1wXSBtYXJrZXJjb3B5IG1hcmtlcmNvcHlsW2F5ZXJdIG1hcmtlcmRlbGV0ZSBtYXJrZXJkZWxldGVsW2F5ZV0gbWFya2VyZWRpdCBtYXJrZXJmW29udF0gbWFya2VyaVtuZm9dIG1hcmtlcmxbYXllcl0gbWFya2VybGlzdCBtYXJrZXJtW2Fza10gbWFya2Vyb1tmZnNldF0KK3N5biBrZXl3b3JkIGFtbEFyY0NtZCBjb250YWluZWQgIG1hcmtlcnBhW3R0ZXJuXSBtYXJrZXJwZVtuXSBtYXJrZXJwdVt0XSBtYXJrZXJzYVt2ZV0gbWFya2Vyc2NbYWxlXSBtYXJrZXJzZVt0XSBtYXJrZXJzaVt6ZV0gbWFya2Vyc3lbbWJvbF0gbWFzW2VsZWN0XSBtYXRjaGNbb3Zlcl0gbWF0Y2huW29kZV0gbWF4IG1iW2VnaW5dIG1jW29weV0gbWRbZWxldGVdIG1lIG1lYW4gbWVhc3VyZSBtZWFzdXJlcltvdXRlXSBtZWFzdXJlcm91dGUgbWVkIG1lbmQgbWVudVtjb3Zlcl0gbWVudWVkaXQgbWVudltpcm9ubWVudF0gbWVyZ2UgbWVyZ2VoW2lzdG9yeV0gbWVyZ2V2W2F0XSBtZmlbdF0gbWZyW2VzaF0gbWdbcm91cF0gbWlhZHNhW3JjXSBtaWFkc3JbZWFkXSBtaWFkc3JlYWQgbWluIG1pbmZbb10gbWlub1tyaXR5XSBtaXJbcm9yXSBtaXRlbXMgbWpvaW4gbWxbY2xhc3NpZnldIG1tYVtza10gbW1vW3ZlXSBtbltzZWxlY3RdIG1vZCBtb3JbZGVyXSBtb3JhbiBtb3NhW2ljXSBtb3NzYVtyY10gbW9zc2dbcmlkXSBtb3ZlIG1vdmVlW25kXSBtb3ZlaVt0ZW1dIG1wW29zaXRpb25dIG1yIG1yW290YXRlXSBtc2NbYWxlXSBtc2VbbGVjdF0gbXNlbGVjdCBtdFtvbGVyYW5jZV0gbXVbbnNlbGVjdF0gbXVsdGN1cnZlIG11bHRpbnYgbXVsdGlwbGVhZGRpdGVtIG11bHRpcGxlaXRlbXMgbXVsdGlwbGVqb2luIG11bHRpcGxlc2VsZWN0IG11bHRwcm9wIG13W2hvXSBuYWkgbmUgbmVhciBuZWF0bGluZSBuZWF0bGluZWdbcmlkXSBuZWF0bGluZWhbYXRjaF0gbmVhdGxpbmVsW2FiZWxzXSBuZWF0bGluZXRbaWNzXSBuZXcgbmV4dCBuaVtiYmxlXSBub2RlYW5nbGVpdGVtIG5vZGVjW29sb3JdIG5vZGVlW3Jyb3JzXSBub2RlbVthcmtlcnNdIG5vZGVwW29pbnRdIG5vZGVzIG5vZGVzaVt6ZV0gbm9kZXNuW2FwXSBub2Rlc3Bbb3RdIG5vZGV0W2V4dF0gbm9yW21hbF0gbm90IG5zW2VsZWN0XSBvZSBvZ3JpZCBvZ3JpZHRbb29sXSBvbGR3aW5kb3cgb29bcHNdIG9wW2VuZGF0YWJhc2VdIG9yCitzeW4ga2V5d29yZCBhbWxBcmNDbWQgY29udGFpbmVkICBvc3ltYm9sIG92ZXIgb3ZlcmZsb3cgb3ZlcmZsb3dhW3JlYV0gb3ZlcmZsb3dwW29zaXRpb25dIG92ZXJmbG93c1tlcGFyYXRpXSBvdmVybFtheWV2ZW50c10gb3ZlcmxhcHN5bWJvbCBvdmVybGF5ZXZlbnRzIG92ZXJwW29zdF0gcGFnZWVbeHRlbnRdIHBhZ2VzW2l6ZV0gcGFnZXVbbml0c10gcGFsW2luZm9dIHBhbiBwYW52aWV3IHBhclt0aWNsZXRyYWNrXSBwYXRjW2hdIHBhdGhbZGlzdGFuY2VdIHBlW25zaXplXSBwaVtja10gcGxpW3N0XSBwbG90IHBsb3Rjb3B5IHBsb3RnW2VyYmVyXSBwbG90aVtjb25dIHBsb3RtYW55IHBsb3RwYW5lbCBwbG90c2NbaXRleF0gcGxvdHNpW2ZdIHBvaW50ZGVbbnNpdHldIHBvaW50ZGlzdCBwb2ludGRpc3RhW25jZV0gcG9pbnRkb1t0c10gcG9pbnRnW3JpZF0gcG9pbnRpW250ZXJwXSBwb2ludG1bYXJrZXJzXSBwb2ludG5bb2RlXSBwb2ludHMgcG9pbnRzcFtvdF0gcG9pbnRzdFthdHNdIHBvaW50dFtleHRdIHBvbHlnb25iW29yZGVydGV4XSBwb2x5Z29uZFtvdHNdIHBvbHlnb25lW3ZlbnRzXSBwb2x5Z29uZXZlbnRzIHBvbHlnb25sW2luZXNdIHBvbHlnb25zIHBvbHlnb25zaFthZGVzXSBwb2x5Z29uc2lbemVsaW1pdF0gcG9seWdvbnNwW290XSBwb2x5Z29udFtleHRdIHBvbHlncltpZF0gcG9seXJbZWdpb25dIHBvcFt1bGFyaXR5XSBwb3Jbb3VzcHVmZl0gcG9zIHBvc1t0c2NyaXB0XSBwb3NpdGlvbnMgcG9zdHNjcmlwdCBwb3cgcHJlY1tpc2lvbl0gcHJlcFthcmVdIHByaW5jW29tcF0gcHJpbnQgcHJvZHVjdCBwcm9kdWN0aVtuZm9dIHByb2plY3QgcHJvamVjdGNvbVtwYXJlXSBwcm9qZWN0Y29wW3ldIHByb2plY3RkW2VmaW5lXSBwdWxbbGl0ZW1zXSBwdXJbZ2VoaXN0b3J5XSBwdXQgcHYgcSBxW3VpdF0gcXVpdCByYW5kIHJhbmdbZV0gcmFuayByYiByYyByZSByZWFkZ1tyYXBoaWNdIHJlYWRzW2VsZWN0XSByZWJbb3hdIHJlY2xbYXNzXSByZWNvdmVyZGIgcmVjdFtpZnldCitzeW4ga2V5d29yZCBhbWxBcmNDbWQgY29udGFpbmVkICByZWRbb10gcmVmcmVzaHZpZXcgcmVnaW9uYlt1ZmZlcl0gcmVnaW9uY2xhW3NzXSByZWdpb25jbGVbYW5dIHJlZ2lvbmRpW3Nzb2x2ZV0gcmVnaW9uZG9bdHNdIHJlZ2lvbmVbcnJvcnNdIHJlZ2lvbmdbcm91cF0gcmVnaW9ualtvaW5dIHJlZ2lvbmxbaW5lc10gcmVnaW9ucG9seSByZWdpb25wb2x5Y1tvdW50XSByZWdpb25wb2x5Y291bnQgcmVnaW9ucG9seWxbaXN0XSByZWdpb25wb2x5bGlzdCByZWdpb25xW3VlcnldIHJlZ2lvbnMgcmVnaW9uc2VbbGVjdF0gcmVnaW9uc2hbYWRlc10gcmVnaW9uc3Bbb3RdIHJlZ2lvbnRbZXh0XSByZWdpb254YVtyZWFdIHJlZ2lvbnhhcmVhIHJlZ2lvbnh0W2FiXSByZWdpb254dGFiIHJlZ2lzdGVyIHJlZ2lzdGVyZFtibXNdIHJlZ3JbZXNzaW9uXSByZWluZGV4IHJlaltlY3RzXSByZWxhW3RlXSByZWxlW2FzZV0gcmVtIHJlbWFwZ3JpZCByZW1lW2FzdXJlXSByZW1vW3Zlc2NhbGFyXSByZW1vdmUgcmVtb3ZlYmFjayByZW1vdmVjb3ZlciByZW1vdmVlZGl0IHJlbW92ZXNuYXAgcmVtb3ZldHJhbnNmZXIgcmVuYW1lIHJlbmFtZXdbb3Jrc3BhY2VdIHJlbmFtZXdvcmtzcGFjZSByZW5vW2RlXSByZXBbbGFjZV0gcmVwb3NpdGlvbiByZXNhW21wbGVdIHJlc2VsW2VjdF0gcmVzZXQgcmVzaFthcGVdIHJlc3RvcmUgcmVzdG9yZWFyY2VbZGl0XSByZXN0b3JlYXJjaFtpdmVdIHJlc3VbbWVdIHJnYjJoW3VlXSByZ2Iyc1thdF0gcmdiMnZbYWxdIHJvdGF0ZSByb3RhdGVwW2xvdF0gcm91dGVhW3JjXSByb3V0ZWVuZHMgcm91dGVlbmR0W2V4dF0gcm91dGVlcltyb3JzXSByb3V0ZWV2W2VudHNwb3RdIHJvdXRlaFthdGNoXSByb3V0ZWxbaW5lc10gcm91dGVzIHJvdXRlc3Bbb3RdIHJvdXRlc3RbYXRzXSByb3V0ZXRbZXh0XSBycCBycyBydCBydFtsXSBydGwgcnYgcncgc2Egc2FpIHNhbXBsZSBzYW1wbGVzW2lnXSBzYXZbZV0gc2F2ZWNvbG9ybWFwIHNjIHNjYWxbYXJdIHNjYXRbdGVyZ3JhbV0KK3N5biBrZXl3b3JkIGFtbEFyY0NtZCBjb250YWluZWQgIHNjZW5lZm9nIHNjZW5lZm9ybWF0IHNjZW5laGF6ZSBzY2VuZW92ZXJzYW1wbGUgc2NlbmVyb2xsIHNjZW5lc2F2ZSBzY2VuZXNpemUgc2NlbmVza3kgc2NpdGV4bFtpbmVdIHNjaXRleHBvaVtudF0gc2NpdGV4cG9sW3ldIHNjaXRleHJbZWFkXSBzY2l0ZXhyZWFkIHNjaXRleHdbcml0ZV0gc2NpdGV4d3JpdGUgc2NvIHNjcmVlbnJbZXN0b3JlXSBzY3JlZW5zW2F2ZV0gc2Qgc2RzIHNkdHNlW3hwb3J0XSBzZHRzaW1bcG9ydF0gc2R0c2luW2ZvXSBzZHRzbFtpc3RdIHNlIHNlYVtyY2h0b2xlcmFuY2VdIHNlY3Rpb25hW3JjXSBzZWN0aW9uZW5kcyBzZWN0aW9uZW5kdFtleHRdIHNlY3Rpb25oW2F0Y2hdIHNlY3Rpb25sW2luZXNdIHNlY3Rpb25zIHNlY3Rpb25zblthcF0gc2VjdGlvbnNwW290XSBzZWN0aW9udFtleHRdIHNlbCBzZWxlY3Qgc2VsZWN0YltveF0gc2VsZWN0Y1tpcmNsZV0gc2VsZWN0Z1tldF0gc2VsZWN0bVthc2tdIHNlbGVjdG1vZGUgc2VsZWN0cG9pW250XSBzZWxlY3Rwb2xbeWdvbl0gc2VsZWN0cHVbdF0gc2VsZWN0dFt5cGVdIHNlbGVjdHdbaXRoaW5dIHNlbWl2YXJpb2dyYW0gc2VwW2FyYXRvcl0gc2VwYXJhdG9yIHNlclt2ZXJzdGF0dXNdIHNldGFuW2dsZV0gc2V0YXJbcm93XSBzZXRjZVtsbF0gc2V0Y29hW2xlc2NlXSBzZXRjb25bbmVjdGluZm9dIHNldGRbYm1zY2hlY2tpbl0gc2V0ZHJhd3N5bWJvbCBzZXRlW2RpdG1vZGVdIHNldGluY3JlbWVudCBzZXRtW2Fza10gc2V0blt1bGxdIHNldG9vbHMgc2V0cmVmZXJlbmNlIHNldHN5bWJvbCBzZXR0dXJuIHNldHdbaW5kb3ddIHNleHQgc2Ygc2ZtdCBzZm8gc2hhIHNoYWRlIHNoYWRlYVtuZ2xlXSBzaGFkZWJbYWNrY29sb3JdIHNoYWRlY29sb3Igc2hhZGVjb2xvcnJbYW1wXSBzaGFkZWNvcHkgc2hhZGVjb3B5bFtheWVyXSBzaGFkZWRlbGV0ZSBzaGFkZWRlbGV0ZWxbYXllcl0gc2hhZGVlZGl0IHNoYWRlZ3JpZCBzaGFkZWlbbmZvXSBzaGFkZWxhW3llcl0KK3N5biBrZXl3b3JkIGFtbEFyY0NtZCBjb250YWluZWQgIHNoYWRlbGlbbmVwYXR0ZXJuXSBzaGFkZWxpc3Qgc2hhZGVvW2Zmc2V0XSBzaGFkZXBhW3R0ZXJuXSBzaGFkZXBlW25dIHNoYWRlcHVbdF0gc2hhZGVzYVt2ZV0gc2hhZGVzY1thbGVdIHNoYWRlc2VwW2FyYXRpb25dIHNoYWRlc2V0IHNoYWRlc2lbemVdIHNoYWRlc3lbbWJvbF0gc2hhZGV0W3lwZV0gc2hhcGVhW3JjXSBzaGFwZWZbaWxlXSBzaGFwZWdbcmlkXSBzaGlbZnRdIHNob3cgc2hvd2NvbnN0YW50cyBzaG93ZVtkaXRtb2RlXSBzaHJbaW5rXSBzaSBzaW4gc2luZm8gc2luZ1tsZXVzZXJdIHNpbmggc2luayBzaXRbZV0gc2wgc2xmW2FyY10gc2xpW2NlXSBzbG9bcGVdIHNtIHNtYXJ0YW5ubyBzbmFwIHNuYXBjW292ZXJdIHNuYXBjb3ZlciBzbmFwY292ZXJhZ2Ugc25hcGVudmlyb25tZW50IHNuYXBmZWF0dXJlcyBzbmFwaXRlbXMgc25hcG9bcmRlcl0gc25hcHBpW25nXSBzbmFwcG9bdXJdIHNvW3J0XSBzb2JzIHNvcyBzcGlbZGVyXSBzcGlyYWx0cmFucyBzcGxpbmUgc3BsaW5lbVtldGhvZF0gc3BsaXQgc3BvdCBzcG90b1tmZnNldF0gc3BvdHNbaXplXSBzcHJvaiBzcXIgc3FydCBzcmEgc3JlIHNybCBzcyBzc2Mgc3NoIHNzaSBzc2t5IHNzeiBzdGEgc3RhY2toW2lzdG9ncmFtXSBzdGFja3Byb2ZpbGUgc3RhY2tzY1thdHRlcmdyYW1dIHN0YWNrc2hhZGUgc3RhY2tzdFthdHNdIHN0YXRpW3N0aWNzXSBzdGF0dVtzXSBzdGF0dXNjb2dvIHN0ZCBzdHJhW2lnaHRlbl0gc3RyZWFtbGluZSBzdHJlYW1saW5rIHN0cmVhbW9bcmRlcl0gc3RyaVtwbWFwXSBzdWJtW2l0XSBzdWJzW2VsZWN0XSBzdW0gc3VyZmFjZSBzdXJmYWNlYWJicmV2IHN1cmZhY2Vjb250b3VycyBzdXJmYWNlZGVmYXVsdHMgc3VyZmFjZWRyYXBlIHN1cmZhY2VleHRlbnQgc3VyZmFjZWluZm8gc3VyZmFjZWxbZW5ndGhdIHN1cmZhY2VsaW1pdHMgc3VyZmFjZW1hcmtlciBzdXJmYWNlbWVudSBzdXJmYWNlb2JzZXJ2ZXIgc3VyZmFjZXByb2ZpbGUKK3N5biBrZXl3b3JkIGFtbEFyY0NtZCBjb250YWluZWQgIHN1cmZhY2Vwcm9qZWN0aW8gc3VyZmFjZXJhbmdlIHN1cmZhY2VyZXNvbHV0aW8gc3VyZmFjZXNhdmUgc3VyZmFjZXNjZW5lIHN1cmZhY2VzaGFkZSBzdXJmYWNlc2lnaHRpbmcgc3VyZmFjZXRhcmdldCBzdXJmYWNldmFsdWUgc3VyZmFjZXZpZXdmaWVsZCBzdXJmYWNldmlld3NoZWQgc3VyZmFjZXZpc2liaWxpdHkgc3VyZmFjZXhzZWN0aW9uIHN1cmZhY2V6b29tIHN1cmZhY2V6c2NhbGUgc3Ygc3ZmZCBzdnMgc3hzIHN5bWJvbGR1bXAgc3ltYm9saVt0ZW1dIHN5bWJvbHNhW3ZlXSBzeW1ib2xzY1thbGVdIHN5bWJvbHNlW3RdIHN5bWJvbHNldCBzeiB0YWJbbGVzXSB0YWxbbHldIHRhbiB0YW5oIHRjIHRlIHRlc1t0XSB0ZXh0IHRleHRhbFtpZ25tZW50XSB0ZXh0YW5bZ2xlXSB0ZXh0Y29sb3IgdGV4dGNvbG9yclthbXBdIHRleHRjb3BbeV0gdGV4dGRlW2xldGVdIHRleHRkaVtyZWN0aW9uXSB0ZXh0ZWRpdCB0ZXh0ZmlsW2VdIHRleHRmaXQgdGV4dGZvW250XSB0ZXh0aW5bZm9dIHRleHRpdFtlbV0gdGV4dGpbdXN0aWZpY2F0aW9dIHRleHRsaXN0IHRleHRtW2Fza10gdGV4dG9bZmZzZXRdIHRleHRwZVtuXSB0ZXh0cHJbZWNpc2lvbl0gdGV4dHB1W3RdIHRleHRxW3VhbGl0eV0gdGV4dHNhW3ZlXSB0ZXh0c2NbYWxlXSB0ZXh0c2VbdF0gdGV4dHNldCB0ZXh0c2lbemVdIHRleHRzbFthbnRdIHRleHRzcGFbY2luZ10gdGV4dHNwbFtpbmVdIHRleHRzdFt5bGVdIHRleHRzeVttYm9sXSB0ZiB0aCB0aGllW3NzZW5dIHRoaW4gdGkgdGljcyB0aWN0W2V4dF0gdGlnZXJhW3JjXSB0aWdlcnRbb29sXSB0aWdlcnRvb2wgdGlsW2VzXSB0aW1wZWQgdGluIHRpbmFbcmNdIHRpbmNbb250b3VyXSB0aW5lcnJvcnMgdGluaHVsbCB0aW5sW2F0dGljZV0gdGlubGluZXMgdGlubWFya2VycyB0aW5zW3BvdF0gdGluc2hhZGVzIHRpbnRleHQgdGludltybWxdIHRsIHRtIHRvbFtlcmFuY2VdIHRvcFtvZ3JpZF0gdG9wb2dyaWR0b29sCitzeW4ga2V5d29yZCBhbWxBcmNDbWQgY29udGFpbmVkICB0cmFuc2FbY3Rpb25dIHRyYW5zZmVbcl0gdHJhbnNmZXJjb3ZlcmFnZSB0cmFuc2ZlcmZlYXR1cmUgdHJhbnNmZXJpdGVtcyB0cmFuc2ZlcnN5bWJvbCB0cmFuc2ZvW3JtXSB0cmF2cnN0IHRyYXZzYXYgdHJlW25kXSB0cyB0c3kgdHQgdHVyW250YWJsZV0gdHVybmltcGVkYW5jZSB0dXRbb3JpYWxdIHVuYVtyeV0gdW5kZVtsZXRlXSB1bmRvIHVuZ2VuZXJhdGUgdW5nZW5lcmF0ZXRbaW5dIHVuaW9bbl0gdW5pdFtzXSB1bnJbZWdpc3RlcmRibXNdIHVuc2VbbGVjdF0gdW5zcFtsaXRdIHVwZGF0ZSB1cGRhdGVpW25mb3NjaGVtYV0gdXBkYXRlbFthYmVsc10gdXBvW3NdIHVzW2FnZV0gdiB2YVtyaWV0eV0gdmNnbCB2Y2dsMiB2ZXJpW2Z5XSB2ZXJzW2lvbl0gdmVydGV4IHZpZXdyc3Qgdmlld3NhdiB2aXAgdmlzZFtlY29kZV0gdmlzZGVjb2RlIHZpc2VbbmNvZGVdIHZpc2VuY29kZSB2aXNpW2JpbGl0eV0gdm9bbHVtZV0gdnBmZVt4cG9ydF0gdnBmaVttcG9ydF0gdnBmbFtpc3RdIHZwZnRbaWxlXSB3IHdhcltwXSB3YXRbZXJzaGVkXSB3ZWVkZFtyYXddIHdlZWRvW3BlcmF0b3JdIHdlZWR0W29sZXJhbmNlXSB3ZWVkdG9sZXJhbmNlIHdoZVtyZV0gd2hpW2xlXSB3aG8gd2lbbmRvd3NdIHdtW2ZdIHdvW3Jrc3BhY2VdIHdvcmtzcGFjZSB3cml0ZWNbYW5kaWRhdGVzXSB3cml0ZWdbcmFwaGljXSB3cml0ZXNbZWxlY3RdIHd0IHhbb3JdIHplW3RhXSB6ZXRhIHppIHpvIHpvbmFsYVtyZWFdIHpvbmFsY1tlbnRyb2lkXSB6b25hbGZbaWxsXSB6b25hbGdbZW9tZXRyeV0gem9uYWxtYWpbb3JpdHldIHpvbmFsbWF4IHpvbmFsbWVhW25dIHpvbmFsbWVkW2lhbl0gem9uYWxtaW4gem9uYWxtaW5vW3JpdHldIHpvbmFscFtlcmltZXRlcl0gem9uYWxyW2FuZ2VdIHpvbmFsc3RhW3RzXSB6b25hbHN0ZCB6b25hbHN1W21dIHpvbmFsdFtoaWNrbmVzc10gem9uYWx2W2FyaWV0eV0gem9vbXZpZXcgenYKKworIiBGT1JNRURJVCByZXNlcnZlZCB3b3JkcywgZGVmaW5lZCBhcyBrZXl3b3Jkcy4KKworc3luIGtleXdvcmQgYW1sRm9ybWVkQ21kIGNvbnRhaW5lZCAgYnV0dG9uIGNob2ljZSBkaXNwbGF5IGhlbHAgaW5wdXQgc2xpZGVyIHRleHQKKworIiBUQUJMRVMgcmVzZXJ2ZWQgd29yZHMsIGRlZmluZWQgYXMga2V5d29yZHMuCisKK3N5biBrZXl3b3JkIGFtbFRhYkNtZCBjb250YWluZWQgIGFkZCBhZGRpdGVtIGFsdGVyIGFzY2lpaGVscCBhc2VsZWN0IGF0IGNhbGMgY2FsY3VsYXRlIGNoYW5nZSBjb21tYW5kcyBjb21taXQgY29weSBkZWZpbmUgZGlyZWN0b3J5IGRyb3BpbmRleCBkcm9waXRlbSBlcmFzZSBleHRlcm5hbCBnZXQgaGVscCBpbmRleGl0ZW0gaXRlbXMga2lsbCBsaXN0IG1vdmUgbnNlbGVjdCBwdXJnZSBxdWl0IHJlZGVmaW5lIHJlbmFtZSByZXNlbGVjdCByb2xsYmFjayBzYXZlIHNlbGVjdCBzaG93IHNvcnQgc3RhdGlzdGljcyB1bmxvYWQgdXBkYXRlIHVzYWdlY29udGFpbmVkCisKKyIgSU5GTyByZXNlcnZlZCB3b3JkcywgZGVmaW5lZCBhcyBrZXl3b3Jkcy4KKworc3luIGtleXdvcmQgYW1sSW5mb0NtZCBjb250YWluZWQgIGFjY2VwdCBhZGQgYWRpciBhbHRlciBkaWFsb2cgYWx0ZXIgYWx0IGRpcmVjdG9yeSBhcmV0IGFyaXRobWV0aWMgZXhwcmVzc2lvbnMgYXNlbGVjdCBhdXRvbWF0aWMgcmV0dXJuIGNhbGN1bGF0ZSBjY2hyIGNoYW5nZSBvcHRpb25zIGNoYW5nZSBjb21pIGNvbWlucHV0IGNvbW1hbmRzIGxpc3QgY29tbyBjb21vdXRwdXQgY29tcGlsZSBjb25jYXRlbmF0ZSBjb250cm9sbGluZyBkZWZhdWx0cyBjb3B5IGN1cnNvciBkYXRhIGRlbGV0ZSBkYXRhIGVudHJ5IGRhdGEgbWFuaXB1bGF0ZSBkYXRhIHJldHJpZXZhbCBkYXRhIHVwZGF0ZSBkYXRlIGZvcm1hdCBkYXRhZmlsZSBjcmVhdGUgZGF0YWZpbGUgbWFuYWdlbWVudCBkZWNvZGUgZGVmaW5lIGRlbGltaXRlciBkZm10IGRpcmVjdG9yeSBtYW5hZ2VtZW50IGRpcmVjdG9yeSBkaXNwbGF5IGRvIGRvZW5kIGRvY3VtZW50YXRpb24gZG9uZSBlbmQgZW52aXJvbm1lbnQgZXJhc2UgZXhlY3V0ZSBleGl0aW5nIGV4cGFuZCBleHBvcnQgZXh0ZXJuYWwgZmMgZmlsZXMgZmlyc3QgZm9ybWF0IGZvcm1zIGNvbnRyb2wgZ2V0IGdvdG8gaGVscCBpbXBvcnQgaW5wdXQgZm9ybSBpcGYgaW50ZXJuYWwgaXRlbSB0eXBlcyBpdGVtcyBsYWJlbCBsY2hhciBsaXN0IGxvZ2ljYWwgZXhwcmVzc2lvbnMgbG9nIG1lcmdlIG1vZGlmeSBvcHRpb25zIG1vZGlmeSBtb3ZlIG5leHQgbnNlbGVjdCBvdXRwdXQgcGFzc3dvcmQgcHJpZiBwcmludCBwcm9ncmFtbWluZyBwcm9ncmFtIHByb3RlY3QgcHVyZ2UgcXVlcnkgcXVpdCByZWNhc2UgcmVkZWZpbmUgcmVsYXRlIHJlbGF0ZSByZWxlYXNlIG5vdGVzIHJlbWFyayByZW5hbWUgcmVwb3J0IG9wdGlvbnMgcmVwb3J0aW5nIHJlcG9ydCByZXNlbGVjdCByZXNlcnZlZCB3b3JkcyByZXN0cmljdGlvbnMgcnVuIHNhdmUgc2VjdXJpdHkgc2VsZWN0IHNldCBzbGVlcCBzb3J0IHNwZWNpYWwgZm9ybSBzcG9vbCBzdG9wIGl0ZW1zIHN5c3RlbSB2YXJpYWJsZXMgdGFrZSB0ZXJtaW5hbCB0eXBlcyB0ZXJtaW5hbCB0aW1lIHRvcGljcyBsaXN0IHR5cGUgdXBkYXRlIHVwZgorCisiIFZUUkFDRSByZXNlcnZlZCB3b3JkcywgZGVmaW5lZCBhcyBrZXl3b3Jkcy4KKworc3luIGtleXdvcmQgYW1sVnRyQ21kIGNvbnRhaW5lZCAgYWRkIGFsIGFyY3NjYW4gYXJyb3dsZW5ndGggYXJyb3d3aWR0aCBhcyBhdyBiYWNrdHJhY2sgYnJhbmNoIGJ0IGNqIGNsZWFyanVuY3Rpb24gY29tbWFuZHMgY3MgZGFzaCBlbmRvZmxpbmUgZW5kb2ZzZXNzaW9uIGVvbCBlb3MgZmFuIGZnIGZvcmVncm91bmQgZ2FwIGdlbmVyYWxpemV0b2xlcmFuY2UgZ3RvbCBoZWxwIGhvbGUganMganVuY3Rpb25zZW5zaXRpdml0eSBsaW5lc3ltYm9sIGxpbmV2YXJpYXRpb24gbGluZXdpZHRoIGxzIGx2IGx3IG1hcmtlcnN5bWJvbCBtb2RlIG1zIHJhc3RlciByZWdpb25vZmludGVyZXN0IHJlc2V0IHJlc3RvcmUgcmV0cmFjZSByb2kgc2F2ZSBzZWFyY2hyYWRpdXMgc2tpcCBzciBzdGEgc3RhdHVzIHN0YyBzdGQgc3RyIHN0cmFpZ2h0ZW5hbmdsZSBzdHJhaWdodGVuY29ybmVyIHN0cmFpZ2h0ZW5kaXN0YW5jZSBzdHJhaWdodGVucmFuZ2UgdnQgdnRyYWNlCisKKyIgVGhlIEFNTCByZXNlcnZlZCB3b3JkcywgZGVmaW5lZCBhcyBrZXl3b3Jkcy4KKworc3luIGtleXdvcmQgYW1sRnVuY3Rpb24gY29udGFpbmVkICBhYnMgYWNjZXNzIGFjb3MgYWZ0ZXIgYW5ncmFkIGFzaW4gYXRhbiBiZWZvcmUgY2FsYyBjbG9zZSBjb3B5IGNvcyBjb3ZlciBjb3ZlcmFnZSBjdnRkaXN0YW5jZSBkYXRlIGRlbGV0ZSBkaWdudW0gZGlyIGRpcmVjdG9yeSBlbnRyeW5hbWUgZXhpc3Rbc10gZXhwIGV4dHJhY3QgZmlsZSBmaWxlbGlzdCBmb3JtYXQgZm9ybWF0ZGF0ZSBmdWxsIGdldGNoYXIgZ2V0Y2hvaWNlIGdldGNvdmVyIGdldGRhdGFiYXNlIGdldGRlZmxheWVycyBnZXRmaWxlIGdldGdyaWQgZ2V0aW1hZ2UgZ2V0aXRlbSBnZXRsYXllcmNvbHMgZ2V0bGlicmFyeSBnZXRzdGFjayBnZXRzeW1ib2wgZ2V0dGluIGdldHVuaXF1ZSBpYWNjbG9zZSBpYWNjb25uZWN0IGlhY2Rpc2Nvbm5lY3QgaWFjb3BlbiBpYWNyZXF1ZXN0IGluZGV4IGluZGV4ZWQgaW5mbyBpbnZhbmdsZSBpbnZkaXN0YW5jZSBpdGVtaW5mbyBqb2luZmlsZSBrZXl3b3JkIGxlbmd0aCBsaXN0ZmlsZSBsaXN0aXRlbSBsaXN0dW5pcXVlIGxvY2FzZSBsb2cgbWF4IG1lbnUgbWluIG1vZCBub2VjaG8gbnVsbCBva2FuZ2xlIG9rZGlzdGFuY2Ugb3BlbiBwYXRobmFtZSBwcmVmaXggcXVlcnkgcXVvdGUgcXVvdGVleGlzdHMgciByYWRhbmcgcmFuZG9tIHJlYWQgcmVuYW1lIHJlc3BvbnNlIHJvdW5kIHNjcmF0Y2huYW1lIHNlYXJjaCBzaG93IHNpbiBzb3J0IHNxcnQgc3Vic3Qgc3Vic3RyIHN1ZmZpeCB0YW4gdGFzayB0b2tlbiB0cmFuc2xhdGUgdHJpbSB0cnVuY2F0ZSB0eXBlIHVucXVvdGUgdXBjYXNlIHVzZXJuYW1lIHZhbHVlIHZhcmlhYmxlIHZlcmlmeSB3cml0ZQorCitzeW4ga2V5d29yZCBhbWxEaXIgY29udGFpbmVkICBhYmJyZXZpYXRpb25zIGFib3ZlIGFsbCBhbWwgYW1scGF0aCBhcHBlbmQgYXJjIGFyZ3MgYXRvb2wgYnJpZWYgYnkgY2FsbCBjYW52YXMgY2MgY2VudGVyIGNsIGNvZGVwYWdlIGNvbW1hbmRzIGNvbnZfd2F0Y2hfdG9fYW1sIGNvb3JkaW5hdGVzIGNyIGNyZWF0ZSBjdXJyZW50IGN1cnNvciBjd3RhIGRhbGluZXMgZGF0YSBkYXRlX2Zvcm1hdCBkZWxldGUgZGVsdmFyIGRlc2NyaWJlIGRmbXQgZGlnaXRpemVyIGRpc3BsYXkgZG8gZG9lbmQgZHYgZWNobyBlbHNlIGVuYWJsZSBlbmNvZGUgZW5jcnlwdCBlbmQgZXJyb3IgZXhwYW5zaW9uIGZhaWwgZmlsZSBmbHVzaHBvaW50cyBmb3JjZSBmb3JtIGZvcm1hdCBmcmFtZSBmdWxsc2NyZWVuIGZ1bmN0aW9uIGdldGxhc3Rwb2ludCBnZXRwb2ludCBnb3RvIGlhY3JldHVybiBpZiBpZ25vcmUgaW5mbyBpbmZvcm0ga2V5IGtleXBhZCBsYWJlbCBsYyBsZWZ0IGxmIGxnIGxpc3QgbGlzdGNoYXIgbGlzdGZpbGVzIGxpc3RnbG9iYWwgbGlzdGhlYWRlciBsaXN0bG9jYWwgbGlzdHByb2dyYW0gbGlzdHZhciBsbCBscCBsciBsdiBtYXAgbWF0cml4IG1lbnUgbWVudXBhdGggbWVudXR5cGUgbWVzcyBtZXNzYWdlW3NdIG1vZGFsIG1vdXNlIG5vcGFnaW5nIG9mZiBvbiBvdGhlcnMgcGFnZSBwYXVzZSBwaW5hY3Rpb24gcG9wdXAgcG9zaXRpb24gcHQgcHVsbGRvd24gcHVzaCBwdXNocG9pbnQgciByZXBlYXQgcmV0dXJuIHJpZ2h0IHJvdXRpbmUgcnVuIHJ1bndhdGNoIHJ3IHNjcmVlbiBzZWNvbmRzIHNlbGVjdCBzZWxmIHNldGNoYXIgc2V2ZXJpdHkgc2hvdyBzaWRlYmFyIHNpbmdsZSBzaXplIHN0YWdnZXJlZCBzdGF0aW9uIHN0b3Agc3RyaXBlIHN5cyBzeXN0ZW0gdGFibGV0IHRiIHRlcm1pbmFsIHRlc3QgdGhlbiB0aHJlYWQgdG8gdG9wIHRyYW5zbGF0ZSB0dHkgdHkgdHlwZSB1YyB1bCB1bnRpbCB1ciB1c2FnZSB3IHdhcm5pbmcgd2F0Y2ggd2hlbiB3aGlsZSB3aW5kb3cgd29ya3NwYWNlCisKK3N5biBrZXl3b3JkIGFtbERpcjIgY29udGFpbmVkICBkZWx2YXIgZHYgcyBzZXQgc2V0dmFyIHN2CisKK3N5biBrZXl3b3JkIGFtbE91dHB1dCBjb250YWluZWQgIGluZm9ybSB3YXJuaW5nIGVycm9yIHBhdXNlIHN0b3AgdHR5IHR5IHR5cGUKKworCisiIEFNTCBEaXJlY3RpdmVzOgorc3luIG1hdGNoIGFtbERpclN5bSAiJiIKK3N5biBtYXRjaCBhbWxEaXJlY3RpdmUgIiZbYS16QS1aXSoiIGNvbnRhaW5zPWFtbERpcixhbWxEaXIyLGFtbERpclN5bQorCisiIEFNTCBGdW5jdGlvbnMKK3N5biByZWdpb24gYW1sRnVuYyBzdGFydD0iXFsgKlthLXpBLVpdKiIgZW5kPSJcXSIgY29udGFpbnM9YW1sRnVuY3Rpb24sYW1sVmFyCitzeW4gbWF0Y2ggYW1sRnVuYzIgIlxbLipcWy4qXF0uKlxdIiBjb250YWlucz1hbWxGdW5jdGlvbixhbWxWYXIKKworIiBOdW1iZXJzOgorInN5biBtYXRjaCBhbWxOdW1iZXIJCSItXD1cPFswLTldKlwuXD1bMC05X11cPiIKKworIiBRdW90ZWQgU3RyaW5nczoKK3N5biByZWdpb24gYW1sUXVvdGUgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBjb250YWlucz1hbWxWYXIKK3N5biByZWdpb24gYW1sUXVvdGUgc3RhcnQ9KycrIHNraXA9K1xcJysgZW5kPSsnKworCisiIEFSQyBBcHBsaWNhdGlvbiBDb21tYW5kcyBvbmx5IHNlbGVjdGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpbmUsCisiIG9yIGFmdGVyIGEgb25lIGxpbmUgJmlmICZ0aGVuIHN0YXRlbWVudAorc3luIG1hdGNoIGFtbEFwcENtZCAiXiAqW2EtekEtWl0qIiBjb250YWlucz1hbWxBcmNDbWQsYW1sSW5mb0NtZCxhbWxUYWJDbWQsYW1sVnRyQ21kLGFtbEZvcm1lZENtZAorc3luIHJlZ2lvbiBhbWxBcHBDbWQgc3RhcnQ9IiZ0aGVuIiBlbmQ9IiQiIGNvbnRhaW5zPWFtbEFyY0NtZCxhbWxGb3JtZWRDbWQsYW1sSW5mb0NtZCxhbWxUYWJDbWQsYW1sVnRyQ21kLGFtbEZ1bmN0aW9uLGFtbERpcmVjdGl2ZSxhbWxWYXIyLGFtbFNraXAsYW1sVmFyLGFtbENvbW1lbnQKKworIiBWYXJpYWJsZXMKK3N5biByZWdpb24gYW1sVmFyIHN0YXJ0PSIlIiBlbmQ9IiUiCitzeW4gcmVnaW9uIGFtbFZhciBzdGFydD0iJSIgZW5kPSIlIiBjb250YWluZWQKK3N5biBtYXRjaCBhbWxWYXIyICImcyBbYS16QS1aXy4wLTldKiIgY29udGFpbnM9YW1sRGlyMixhbWxEaXJTeW0KK3N5biBtYXRjaCBhbWxWYXIyICImc3YgW2EtekEtWl8uMC05XSoiIGNvbnRhaW5zPWFtbERpcjIsYW1sRGlyU3ltCitzeW4gbWF0Y2ggYW1sVmFyMiAiJnNldCBbYS16QS1aXy4wLTldKiIgY29udGFpbnM9YW1sRGlyMixhbWxEaXJTeW0KK3N5biBtYXRjaCBhbWxWYXIyICImc2V0dmFyIFthLXpBLVpfLjAtOV0qIiBjb250YWlucz1hbWxEaXIyLGFtbERpclN5bQorc3luIG1hdGNoIGFtbFZhcjIgIiZkdiBbYS16QS1aXy4wLTldKiIgY29udGFpbnM9YW1sRGlyMixhbWxEaXJTeW0KK3N5biBtYXRjaCBhbWxWYXIyICImZGVsdmFyIFthLXpBLVpfLjAtOV0qIiBjb250YWlucz1hbWxEaXIyLGFtbERpclN5bQorCisiIEZvcm1lZGl0IDIgd29yZCBjb21tYW5kcworc3luIG1hdGNoIGFtbEZvcm1lZCAiXiAqY2hlY2sgYm94Igorc3luIG1hdGNoIGFtbEZvcm1lZCAiXiAqZGF0YSBsaXN0Igorc3luIG1hdGNoIGFtbEZvcm1lZCAiXiAqc3ltYm9sIGxpc3QiCisKKyIgVGFibGVzIDIgd29yZCBjb21tYW5kcworc3luIG1hdGNoIGFtbFRhYiAiXiAqcSBzdG9wIgorc3luIG1hdGNoIGFtbFRhYiAiXiAqcXVpdCBzdG9wIgorCisiIENvbW1lbnRzOgorc3luIG1hdGNoIGFtbENvbW1lbnQgIi9cKi4qIgorCisiIFJlZ2lvbnMgZm9yIHNraXBwaW5nIG92ZXIgKG5vdCBoaWdobGlnaHRpbmcpIHByb2dyYW0gb3V0cHV0IHN0cmluZ3M6CitzeW4gcmVnaW9uIGFtbFNraXAgbWF0Y2hncm91cD1hbWxPdXRwdXQgc3RhcnQ9IiZjYWxsIiBlbmQ9IiQiIGNvbnRhaW5zPWFtbFZhcgorc3luIHJlZ2lvbiBhbWxTa2lwIG1hdGNoZ3JvdXA9YW1sT3V0cHV0IHN0YXJ0PSImcm91dGluZSIgZW5kPSIkIiBjb250YWlucz1hbWxWYXIKK3N5biByZWdpb24gYW1sU2tpcCBtYXRjaGdyb3VwPWFtbE91dHB1dCBzdGFydD0iJmluZm9ybSIgZW5kPSIkIiBjb250YWlucz1hbWxWYXIKK3N5biByZWdpb24gYW1sU2tpcCBtYXRjaGdyb3VwPWFtbE91dHB1dCBzdGFydD0iJnJldHVybiAmaW5mb3JtIiBlbmQ9IiQiIGNvbnRhaW5zPWFtbFZhcgorc3luIHJlZ2lvbiBhbWxTa2lwIG1hdGNoZ3JvdXA9YW1sT3V0cHV0IHN0YXJ0PSImcmV0dXJuICZ3YXJuaW5nIiBlbmQ9IiQiIGNvbnRhaW5zPWFtbFZhcgorc3luIHJlZ2lvbiBhbWxTa2lwIG1hdGNoZ3JvdXA9YW1sT3V0cHV0IHN0YXJ0PSImcmV0dXJuICZlcnJvciIgZW5kPSIkIiBjb250YWlucz1hbWxWYXIKK3N5biByZWdpb24gYW1sU2tpcCBtYXRjaGdyb3VwPWFtbE91dHB1dCBzdGFydD0iJnBhdXNlIiBlbmQ9IiQiIGNvbnRhaW5zPWFtbFZhcgorc3luIHJlZ2lvbiBhbWxTa2lwIG1hdGNoZ3JvdXA9YW1sT3V0cHV0IHN0YXJ0PSImc3RvcCIgZW5kPSIkIiBjb250YWlucz1hbWxWYXIKK3N5biByZWdpb24gYW1sU2tpcCBtYXRjaGdyb3VwPWFtbE91dHB1dCBzdGFydD0iJnR0eSIgZW5kPSIkIiBjb250YWlucz1hbWxWYXIKK3N5biByZWdpb24gYW1sU2tpcCBtYXRjaGdyb3VwPWFtbE91dHB1dCBzdGFydD0iJnR5IiBlbmQ9IiQiIGNvbnRhaW5zPWFtbFZhcgorc3luIHJlZ2lvbiBhbWxTa2lwIG1hdGNoZ3JvdXA9YW1sT3V0cHV0IHN0YXJ0PSImdHlwIiBlbmQ9IiQiIGNvbnRhaW5zPWFtbFZhcgorc3luIHJlZ2lvbiBhbWxTa2lwIG1hdGNoZ3JvdXA9YW1sT3V0cHV0IHN0YXJ0PSImdHlwZSIgZW5kPSIkIiBjb250YWlucz1hbWxWYXIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYW1sX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2FtbF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhbWxDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGFtbE51bWJlcglOdW1iZXIKKyAgSGlMaW5rIGFtbFF1b3RlCVN0cmluZworICBIaUxpbmsgYW1sVmFyCUlkZW50aWZpZXIKKyAgSGlMaW5rIGFtbFZhcjIJSWRlbnRpZmllcgorICBIaUxpbmsgYW1sRnVuY3Rpb24JUHJlUHJvYworICBIaUxpbmsgYW1sRGlyCVN0YXRlbWVudAorICBIaUxpbmsgYW1sRGlyMglTdGF0ZW1lbnQKKyAgSGlMaW5rIGFtbERpclN5bQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGFtbE91dHB1dAlTdGF0ZW1lbnQKKyAgSGlMaW5rIGFtbEFyY0NtZAlNb2RlTXNnCisgIEhpTGluayBhbWxGb3JtZWRDbWQJYW1sQXJjQ21kCisgIEhpTGluayBhbWxUYWJDbWQJYW1sQXJjQ21kCisgIEhpTGluayBhbWxJbmZvQ21kCWFtbEFyY0NtZAorICBIaUxpbmsgYW1sVnRyQ21kCWFtbEFyY0NtZAorICBIaUxpbmsgYW1sRm9ybWVkCWFtbEFyY0NtZAorICBIaUxpbmsgYW1sVGFiCWFtbEFyY0NtZAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhbWwiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hbXBsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FtcGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNGRmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hbXBsLnZpbQpAQCAtMCwwICsxLDE1MCBAQAorIiBMYW5ndWFnZTogICAgIGFtcGwgKEEgTWF0aGVtYXRpY2FsIFByb2dyYW1taW5nIExhbmd1YWdlKQorIiBNYWludGFpbmVyOiAgIEtyaWVmIERhdmlkIDxkYXZpZC5rcmllZkBldHUuZW5zZWVpaHQuZnI+IG9yIDxkYXZpZF9rcmllZkBob3RtYWlsLmNvbT4KKyIgTGFzdCBDaGFuZ2U6ICAyMDAzIE1heSAxMQorCisKK2lmIHZlcnNpb24gPCA2MDAKKyBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIGZpbmlzaAorZW5kaWYKKworCisKKworIi0tCitzeW4gbWF0Y2ggICBhbXBsRW50aXR5S2V5d29yZCAgICAgIlwoc3ViamVjdCB0b1wpXHxcKHN1YmogdG9cKVx8XChzXC50XC5cKSIKK3N5biBrZXl3b3JkIGFtcGxFbnRpdHlLZXl3b3JkCSAgbWluaW1pemUgICBtYXhpbWl6ZSAgb2JqZWN0aXZlCisKK3N5biBrZXl3b3JkIGFtcGxFbnRpdHlLZXl3b3JkCSAgY29lZmYgICAgICBjb2VmICAgICAgY292ZXIJICAgIG9iaiAgICAgICBkZWZhdWx0CitzeW4ga2V5d29yZCBhbXBsRW50aXR5S2V5d29yZAkgIGZyb20JICAgICB0byAgICAgICAgdG9fY29tZQkgICAgbmV0X2luICAgIG5ldF9vdXQKK3N5biBrZXl3b3JkIGFtcGxFbnRpdHlLZXl3b3JkCSAgZGltZW4gICAgICBkaW1lbnNpb24KKworCisKKyItLQorc3luIGtleXdvcmQgYW1wbFR5cGUJCSAgaW50ZWdlciAgICBiaW5hcnkgICAgc2V0CSAgICBwYXJhbSAgICAgdmFyCitzeW4ga2V5d29yZCBhbXBsVHlwZQkJICBub2RlCSAgICAgb3JkZXJlZCAgIGNpcmN1bGFyICAgICByZXZlcnNlZCAgc3ltYm9saWMKK3N5biBrZXl3b3JkIGFtcGxUeXBlCQkgIGFyYworCisKKworIi0tCitzeW4ga2V5d29yZCBhbXBsU3RhdGVtZW50CSAgY2hlY2sgICAgICBjbG9zZSAgICAgXGRpc3BsYXkgICAgIGRyb3AgICAgICBpbmNsdWRlCitzeW4ga2V5d29yZCBhbXBsU3RhdGVtZW50CSAgcHJpbnQgICAgICBwcmludGYgICAgcXVpdAkgICAgcmVzZXQgICAgIHJlc3RvcmUKK3N5biBrZXl3b3JkIGFtcGxTdGF0ZW1lbnQJICBzb2x2ZSAgICAgIHVwZGF0ZSAgICB3cml0ZQkgICAgc2hlbGwgICAgIG1vZGVsCitzeW4ga2V5d29yZCBhbXBsU3RhdGVtZW50CSAgZGF0YQkgICAgIG9wdGlvbiAgICBsZXQJICAgIHNvbHV0aW9uICBmaXgKK3N5biBrZXl3b3JkIGFtcGxTdGF0ZW1lbnQJICB1bmZpeCAgICAgIGVuZCAgICAgICBmdW5jdGlvbiAgICAgcGlwZSAgICAgIGZvcm1hdAorCisKKworIi0tCitzeW4ga2V5d29yZCBhbXBsQ29uZGl0aW9uYWwJICBpZgkgICAgIHRoZW4gICAgICBlbHNlCSAgICBhbmQgICAgICAgb3IKK3N5biBrZXl3b3JkIGFtcGxDb25kaXRpb25hbAkgIGV4aXN0cyAgICAgZm9yYWxsICAgIGluCSAgICBub3QgICAgICAgd2l0aGluCisKKworCisiLS0KK3N5biBrZXl3b3JkIGFtcGxSZXBlYXQJCSAgd2hpbGUgICAgICByZXBlYXQgICAgZm9yCisKKworCisiLS0KK3N5biBrZXl3b3JkIGFtcGxPcGVyYXRvcnMJICB1bmlvbiAgICAgIGRpZmYgICAgICBkaWZmZXJlbmNlICAgc3ltZGlmZiAgIHN1bQorc3luIGtleXdvcmQgYW1wbE9wZXJhdG9ycwkgIGludGVyICAgICAgaW50ZXJzZWN0IGludGVyc2VjdGlvbiBjcm9zcyAgICAgc2V0b2YKK3N5biBrZXl3b3JkIGFtcGxPcGVyYXRvcnMJICBieQkgICAgIGxlc3MgICAgICBtb2QJICAgIGRpdiAgICAgICBwcm9kdWN0Cisic3luIGtleXdvcmQgYW1wbE9wZXJhdG9ycwkgICBtaW4JICAgICAgbWF4CisiY29uZmxpY3QgYmV0d2VlbiBmdW5jdGlvbnMgbWF4LCBtaW4gYW5kIG9wZXJhdG9ycyBtYXgsIG1pbgorCitzeW4gbWF0Y2ggICBhbXBsQmFzaWNPcGVyYXRvcnMgICAgInx8XHw8PVx8PT1cfFxeXHw8XHw9XHwhXHwtXHxcLlwuXHw6PSIKK3N5biBtYXRjaCAgIGFtcGxCYXNpY09wZXJhdG9ycyAgICAiJiZcfD49XHwhPVx8XCpcfD5cfDpcfC9cfCtcfFwqXCoiCisKKworCisKKyItLQorc3luIG1hdGNoICAgYW1wbENvbW1lbnQJCSJcIy4qIgorc3luIHJlZ2lvbiAgYW1wbENvbW1lbnQJCXN0YXJ0PStcL1wqKwkJICBlbmQ9K1wqXC8rCisKK3N5biByZWdpb24gIGFtcGxTdHJpbmdzCQlzdGFydD0rXCcrICAgIHNraXA9K1xcJysgIGVuZD0rXCcrCitzeW4gcmVnaW9uICBhbXBsU3RyaW5ncwkJc3RhcnQ9K1wiKyAgICBza2lwPStcXCIrICBlbmQ9K1wiKworCitzeW4gbWF0Y2ggICBhbXBsTnVtZXJpY3MJIlsrLV1cPVw8XGRcK1woXC5cZFwrXClcPVwoW2REZUVdWy0rXVw9XGRcK1wpXD1cPiIKK3N5biBtYXRjaCAgIGFtcGxOdW1lcmljcwkiWystXVw9SW5maW5pdHkiCisKKworIi0tCitzeW4ga2V5d29yZCBhbXBsU2V0RnVuY3Rpb24JICBjYXJkCSAgICAgbmV4dCAgICAgbmV4dHcJICBwcmV2CSAgICBwcmV2dworc3luIGtleXdvcmQgYW1wbFNldEZ1bmN0aW9uCSAgZmlyc3QgICAgICBsYXN0ICAgICBtZW1iZXIJICBvcmQJICAgIG9yZDAKKworc3luIGtleXdvcmQgYW1wbEJ1aWx0SW5GdW5jdGlvbiAgIGFicwkgICAgIGFjb3MgICAgIGFjb3NoCSAgYWxpYXMgICAgIGFzaW4KK3N5biBrZXl3b3JkIGFtcGxCdWlsdEluRnVuY3Rpb24gICBhc2luaCAgICAgIGF0YW4gICAgIGF0YW4yCSAgYXRhbmggICAgIGNlaWwKK3N5biBrZXl3b3JkIGFtcGxCdWlsdEluRnVuY3Rpb24gICBjb3MJICAgICBleHAgICAgICBmbG9vcgkgIGxvZwkgICAgbG9nMTAKK3N5biBrZXl3b3JkIGFtcGxCdWlsdEluRnVuY3Rpb24gICBtYXgJICAgICBtaW4gICAgICBwcmVjaXNpb24gICByb3VuZCAgICAgc2luCitzeW4ga2V5d29yZCBhbXBsQnVpbHRJbkZ1bmN0aW9uICAgc2luaAkgICAgIHNxcnQgICAgIHRhbgkgIHRhbmgJICAgIHRydW5jCisKK3N5biBrZXl3b3JkIGFtcGxSYW5kb21HZW5lcmF0b3IgICBCZXRhCSAgICAgQ2F1Y2h5ICAgRXhwb25lbnRpYWwgR2FtbWEgICAgIElyYW5kMjI0CitzeW4ga2V5d29yZCBhbXBsUmFuZG9tR2VuZXJhdG9yICAgTm9ybWFsICAgICBQb2lzc29uICBVbmlmb3JtCSAgVW5pZm9ybTAxCisKKworCisiLS0gdG8gaGlnaGxpZ2h0IHRoZSAnZG90LXN1ZmZpeGVzJworc3luIG1hdGNoICAgYW1wbERvdFN1ZmZpeAkiXGhcdypcLlwobGJcfHViXCkiaHM9ZS0yCitzeW4gbWF0Y2ggICBhbXBsRG90U3VmZml4CSJcaFx3KlwuXChsYjBcfGxiMVx8bGIyXHxscmNcfHViMFwpImhzPWUtMworc3luIG1hdGNoICAgYW1wbERvdFN1ZmZpeAkiXGhcdypcLlwodWIxXHx1YjJcfHVyY1x8dmFsXHxsYnNcfHVic1wpImhzPWUtMworc3luIG1hdGNoICAgYW1wbERvdFN1ZmZpeAkiXGhcdypcLlwoaW5pdFx8Ym9keVx8ZGluaXRcfGR1YWxcKSJocz1lLTQKK3N5biBtYXRjaCAgIGFtcGxEb3RTdWZmaXgJIlxoXHcqXC5cKGluaXQwXHxsZHVhbFx8c2xhY2tcfHVkdWFsXCkiaHM9ZS01CitzeW4gbWF0Y2ggICBhbXBsRG90U3VmZml4CSJcaFx3KlwuXChsc2xhY2tcfHVzbGFja1x8ZGluaXQwXCkiaHM9ZS02CisKKworCisiLS0KK3N5biBtYXRjaCAgIGFtcGxQaWVjZXdpc2UJIjw8XHw+PiIKKworCisKKyItLSBUb2RvLgorc3luIGtleXdvcmQgYW1wbFRvZG8gY29udGFpbmVkCSBUT0RPIEZJWE1FIFhYWAorCisKKworCisKKworCisKKworCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYW1wbF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9hbXBsX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyLgorICBIaUxpbmsgYW1wbEVudGl0eUtleXdvcmQJS2V5d29yZAorICBIaUxpbmsgYW1wbFR5cGUJCVR5cGUKKyAgSGlMaW5rIGFtcGxTdGF0ZW1lbnQJCVN0YXRlbWVudAorICBIaUxpbmsgYW1wbE9wZXJhdG9ycwkJT3BlcmF0b3IKKyAgSGlMaW5rIGFtcGxCYXNpY09wZXJhdG9ycwlPcGVyYXRvcgorICBIaUxpbmsgYW1wbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBhbXBsUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIGFtcGxTdHJpbmdzCQlTdHJpbmcKKyAgSGlMaW5rIGFtcGxOdW1lcmljcwkJTnVtYmVyCisgIEhpTGluayBhbXBsU2V0RnVuY3Rpb24JRnVuY3Rpb24KKyAgSGlMaW5rIGFtcGxCdWlsdEluRnVuY3Rpb24JRnVuY3Rpb24KKyAgSGlMaW5rIGFtcGxSYW5kb21HZW5lcmF0b3IJRnVuY3Rpb24KKyAgSGlMaW5rIGFtcGxDb21tZW50CQlDb21tZW50CisgIEhpTGluayBhbXBsRG90U3VmZml4CQlTcGVjaWFsCisgIEhpTGluayBhbXBsUGllY2V3aXNlCQlTcGVjaWFsCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFtcGwiCisKKyIgdmltOiB0cz04CisKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYW50LnZpbSBiL3J1bnRpbWUvc3ludGF4L2FudC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg0NmVjNgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FudC52aW0KQEAgLTAsMCArMSw5NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUFOVCBidWlsZCBmaWxlICh4bWwpCisiIE1haW50YWluZXI6CUpvaGFubmVzIFplbGxuZXIgPGpvaGFubmVzQHplbGxuZXIub3JnPgorIiBMYXN0IENoYW5nZToJVHVlIEFwciAyNyAxMzowNTo1OSBDRVNUIDIwMDQKKyIgRmlsZW5hbWVzOglidWlsZC54bWwKKyIgJElkJAorCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOmFudF9jcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK3J1bnRpbWUhIHN5bnRheC94bWwudmltCisKK3N5biBjYXNlIGlnbm9yZQorCitpZiAhZXhpc3RzKCcqQW50U3ludGF4U2NyaXB0JykKKyAgICBmdW4gQW50U3ludGF4U2NyaXB0KHRhZ25hbWUsIHN5bmZpbGVuYW1lKQorCXVubGV0IGI6Y3VycmVudF9zeW50YXgKKwlsZXQgczppbmNsdWRlID0gZXhwYW5kKCI8c2ZpbGU+OnA6aCIpLicvJy5hOnN5bmZpbGVuYW1lCisJaWYgZmlsZXJlYWRhYmxlKHM6aW5jbHVkZSkKKwkgICAgZXhlICdzeW4gaW5jbHVkZSBAYW50Jy5hOnRhZ25hbWUuJyAnLnM6aW5jbHVkZQorCWVsc2UKKwkgICAgZXhlICdzeW4gaW5jbHVkZSBAYW50Jy5hOnRhZ25hbWUuIiAkVklNUlVOVElNRS9zeW50YXgvIi5hOnN5bmZpbGVuYW1lCisJZW5kaWYKKworCWV4ZSAnc3luIHJlZ2lvbiBhbnQnLmE6dGFnbmFtZQorCQkgICAgXC4iIHN0YXJ0PSM8c2NyaXB0W14+XVxcey19bGFuZ3VhZ2VcXHMqPVxccypbJ1wiXSIuYTp0YWduYW1lLiJbJ1wiXVxcKD5cXHxbXj5dKlteLz5dPlxcKSMiCisJCSAgICBcLicgZW5kPSM8L3NjcmlwdD4jJworCQkgICAgXC4nIGZvbGQnCisJCSAgICBcLicgY29udGFpbnM9QGFudCcuYTp0YWduYW1lLicseG1sQ2RhdGFTdGFydCx4bWxDZGF0YUVuZCx4bWxUYWcseG1sRW5kVGFnJworCQkgICAgXC4nIGtlZXBlbmQnCisJZXhlICdzeW4gY2x1c3RlciB4bWxSZWdpb25Ib29rIGFkZD1hbnQnLmE6dGFnbmFtZQorICAgIGVuZGZ1bgorZW5kaWYKKworIiBUT0RPOiBhZGQgbW9yZSBzY3JpcHQgbGFuZ3VhZ2VzIGhlcmUgPworY2FsbCBBbnRTeW50YXhTY3JpcHQoJ2phdmFzY3JpcHQnLCAnamF2YXNjcmlwdC52aW0nKQorY2FsbCBBbnRTeW50YXhTY3JpcHQoJ2pweXRob24nLCAncHl0aG9uLnZpbScpCisKKworc3luIGNsdXN0ZXIgeG1sVGFnSG9vayBhZGQ9YW50RWxlbWVudAorCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgV3NkbFRvRG90bmV0IGFkZGZpbGVzIGFuZCBhbnQgYW50Y2FsbCBhbnRzdHJ1Y3R1cmUgYXBwbHkgYXJjaGl2ZXMgYXJnIGFyZ3VtZW50CitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgYXNzZXJ0aW9ucyBhdHRyaWIgYXR0cmlidXRlIGF2YWlsYWJsZSBiYXNlbmFtZSBiY2MgYmxnZW5jbGllbnQgYm9vdGNsYXNzcGF0aAorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IGJvcmxhbmQgYm90dG9tIGJ1aWxkbnVtYmVyIGJ1aWxkcGF0aCBidWlsZHBhdGhlbGVtZW50IGJ1bnppcDIgYnppcDIgY2FiCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgY2F0YWxvZ3BhdGggY2MgY2NjaGVja2luIGNjY2hlY2tvdXQgY2Nsb2NrIGNjbWNoZWNraW4gY2NtY2hlY2tpbnRhc2sgY2NtY2hlY2tvdXQKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBjY21jcmVhdGV0YXNrIGNjbWthdHRyIGNjbWtibCBjY21rZGlyIGNjbWtlbGVtIGNjbWtsYWJlbCBjY21rbGJ0eXBlCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgY2NtcmVjb25maWd1cmUgY2NybXR5cGUgY2N1bmNoZWNrb3V0IGNjdW5sb2NrIGNjdXBkYXRlIGNoZWNrc3VtIGNoZ3JwIGNobW9kCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgY2hvd24gY2xhc3Njb25zdGFudHMgY2xhc3NlcyBjbGFzc2ZpbGVzZXQgY2xhc3NwYXRoIGNvbW1hbmRsaW5lIGNvbW1lbnQKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBjb21waWxlcmFyZyBjb21waWxlcmNsYXNzcGF0aCBjb25jYXQgY29uY2F0ZmlsdGVyIGNvbmRpdGlvbiBjb3B5IGNvcHlkaXIKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBjb3B5ZmlsZSBjb3ZlcmFnZXBhdGggY3NjIGN1c3RvbSBjdnMgY3ZzY2hhbmdlbG9nIGN2c3Bhc3MgY3ZzdGFnZGlmZiBjdnN2ZXJzaW9uCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgZGFlbW9ucyBkYXRlIGRlZmF1bHRleGNsdWRlcyBkZWZpbmUgZGVsZXRlIGRlbGV0ZWNoYXJhY3RlcnMgZGVsdHJlZSBkZXBlbmQKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBkZXBlbmRzIGRlcGVuZHNldCBkZXB0aCBkZXNjcmlwdGlvbiBkaWZmZXJlbnQgZGlybmFtZSBkaXJzZXQgZGlzYWJsZSBkbmFtZQorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IGRvY2xldCBkb2N0aXRsZSBkdGQgZWFyIGVjaG8gZWNob3Byb3BlcnRpZXMgZWpiamFyIGVsZW1lbnQgZW5hYmxlIGVudGl0eSBlbnRyeQorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IGVudiBlcXVhbHMgZXNjYXBldW5pY29kZSBleGNsdWRlIGV4Y2x1ZGVwYWNrYWdlIGV4Y2x1ZGVzZmlsZSBleGVjIGV4ZWNvbgorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IGV4aXN0aW5nIGV4cGFuZHByb3BlcnRpZXMgZXh0ZGlycyBleHRlbnNpb24gZXh0ZW5zaW9uU2V0IGV4dGVuc2lvbnNldCBmYWN0b3J5CitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgZmFpbCBmaWxlbGlzdCBmaWxlbmFtZSBmaWxlcGF0aCBmaWxlc2V0IGZpbGVzbWF0Y2ggZmlsZXRva2VuaXplciBmaWx0ZXIKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBmaWx0ZXJjaGFpbiBmaWx0ZXJyZWFkZXIgZmlsdGVycyBmaWx0ZXJzZXQgZmlsdGVyc2ZpbGUgZml4Y3JsZiBmb290ZXIgZm9ybWF0CitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgZnJvbSBmdHAgZ2VuZXJpYyBnZW5rZXkgZ2V0IGdqZG9jIGdyYW50IGdyb3VwIGd1bnppcCBnemlwIGhlYWRlciBoZWFkZmlsdGVyIGh0dHAKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBpZ25vcmVibGFuayBpbGFzbSBpbGRhc20gaW1wb3J0IGltcG9ydHR5cGVsaWIgaW5jbHVkZSBpbmNsdWRlc2ZpbGUgaW5wdXQgaXBsYW5ldAorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IGlwbGFuZXQtZWpiYyBpc2ZhbHNlIGlzcmVmZXJlbmNlIGlzc2V0IGlzdHJ1ZSBqYXIgamFybGliLWF2YWlsYWJsZQorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IGphcmxpYi1tYW5pZmVzdCBqYXJsaWItcmVzb2x2ZSBqYXZhIGphdmFjIGphdmFjYyBqYXZhZG9jIGphdmFkb2MyIGpib3NzIGpkZXBlbmQKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBqamRvYyBqanRyZWUgamxpbmsgam9uYXMganBjb3ZlcmFnZSBqcGNvdm1lcmdlIGpwY292cmVwb3J0IGpzaGFycGMganNwYworc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IGp1bml0cmVwb3J0IGp2bWFyZyBsaWIgbGliZmlsZXNldCBsaW5ldG9rZW5pemVyIGxpbmsgbG9hZGZpbGUgbG9hZHByb3BlcnRpZXMKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBsb2NhdGlvbiBtYWNyb2RlZiBtYWlsIG1ham9yaXR5IG1hbmlmZXN0IG1hcCBtYXBwZXIgbWFya2VyIG1lcmdlZmlsZXMgbWVzc2FnZQorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IG1ldGFpbmYgbWV0aG9kIG1pbWVtYWlsIG1rZGlyIG1tZXRyaWNzIG1vZGlmaWVkIG1vdmUgbXBhcnNlIG5vbmUgbm90IG9wdGlvbnMgb3IKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBvcyBvdXRwdXRwcm9wZXJ0eSBwYWNrYWdlIHBhY2thZ2VzZXQgcGFyYWxsZWwgcGFyYW0gcGF0Y2ggcGF0aCBwYXRoY29udmVydAorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IHBhdGhlbGVtZW50IHBhdHRlcm5zZXQgcGVybWlzc2lvbnMgcHJlZml4bGluZXMgcHJlc2VudCBwcmVzZXRkZWYgcHJvamVjdAorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IHByb3BlcnR5IHByb3BlcnR5ZmlsZSBwcm9wZXJ0eXJlZiBwcm9wZXJ0eXNldCBwdmNzIHB2Y3Nwcm9qZWN0IHJlY29yZCByZWZlcmVuY2UKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSByZWdleHAgcmVuYW1lIHJlbmFtZWV4dCByZXBsYWNlIHJlcGxhY2VmaWx0ZXIgcmVwbGFjZXJlZ2V4IHJlcGxhY2VyZWdleHAKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSByZXBsYWNlc3RyaW5nIHJlcGxhY2V0b2tlbiByZXBsYWNldG9rZW5zIHJlcGxhY2V2YWx1ZSByZXBseXRvIHJlcG9ydCByZXNvdXJjZQorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IHJldm9rZSBybWljIHJvb3Qgcm9vdGZpbGVzZXQgcnBtIHNjcCBzZWN0aW9uIHNlbGVjdG9yIHNlcXVlbnRpYWwgc2VydmVyZGVwbG95CitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgc2V0cHJveHkgc2lnbmphciBzaXplIHNsZWVwIHNvY2tldCBzb3NjaGVja2luIHNvc2NoZWNrb3V0IHNvc2dldCBzb3NsYWJlbCBzb3VyY2UKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSBzb3VyY2VwYXRoIHNxbCBzcmMgc3JjZmlsZSBzcmNmaWxlbGlzdCBzcmNmaWxlcyBzcmNmaWxlc2V0IHNzaGV4ZWMgc3RjaGVja2luCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgc3RjaGVja291dCBzdGxhYmVsIHN0bGlzdCBzdHJpbmd0b2tlbml6ZXIgc3RyaXBqYXZhY29tbWVudHMgc3RyaXBsaW5lYnJlYWtzCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgc3RyaXBsaW5lY29tbWVudHMgc3R5bGUgc3ViYW50IHN1YnN0aXR1dGlvbiBzdXBwb3J0IHN5bWxpbmsgc3luYyBzeXNwcm9wZXJ0eQorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IHN5c3Byb3BlcnR5c2V0IHRhYnN0b3NwYWNlcyB0YWcgdGFnbGV0IHRhaWxmaWx0ZXIgdGFyIHRhcmZpbGVzZXQgdGFyZ2V0CitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgdGFyZ2V0ZmlsZSB0YXJnZXRmaWxlbGlzdCB0YXJnZXRmaWxlc2V0IHRhc2tkZWYgdGVtcGZpbGUgdGVzdCB0ZXN0bGV0IHRleHQgdGl0bGUKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSB0byB0b2tlbiB0b2tlbmZpbHRlciB0b3VjaCB0cmFuc2FjdGlvbiB0cmFuc2xhdGUgdHJpZ2dlcnMgdHJpbSB0c3RhbXAgdHlwZQorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IHR5cGVkZWYgdW5qYXIgdW50YXIgdW53YXIgdW56aXAgdXB0b2RhdGUgdXJsIHVzZXIgdmJjIHZzc2FkZCB2c3NjaGVja2luCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgdnNzY2hlY2tvdXQgdnNzY3AgdnNzY3JlYXRlIHZzc2dldCB2c3NoaXN0b3J5IHZzc2xhYmVsIHdhaXRmb3Igd2FyIHdhc2NsYXNzcGF0aAorc3luIGtleXdvcmQgYW50RWxlbWVudCBkaXNwbGF5IHdlYmFwcCB3ZWJpbmYgd2VibG9naWMgd2VibG9naWN0b3BsaW5rIHdlYnNwaGVyZSB3aGljaHJlc291cmNlIHdsY2xhc3NwYXRoCitzeW4ga2V5d29yZCBhbnRFbGVtZW50IGRpc3BsYXkgd2xqc3BjIHdzZGx0b2RvdG5ldCB4bWxjYXRhbG9nIHhtbHByb3BlcnR5IHhtbHZhbGlkYXRlIHhzbHQgemlwIHppcGZpbGVzZXQKK3N5biBrZXl3b3JkIGFudEVsZW1lbnQgZGlzcGxheSB6aXBncm91cGZpbGVzZXQKKworaGkgZGVmIGxpbmsgYW50RWxlbWVudCBTdGF0ZW1lbnQKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYW50IgorCitsZXQgJmNwbyA9IHM6YW50X2Nwb19zYXZlCit1bmxldCBzOmFudF9jcG9fc2F2ZQorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYW50bHIudmltIGIvcnVudGltZS9zeW50YXgvYW50bHIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MDAwMjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hbnRsci52aW0KQEAgLTAsMCArMSw3MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgQW50bHI6CUFOVExSLCBBbm90aGVyIFRvb2wgRm9yIExhbmd1YWdlIFJlY29nbml0aW9uIDx3d3cuYW50bHIub3JnPgorIiBNYWludGFpbmVyOglNYXRoaWV1IENsYWJhdXQgPG1hdGhpZXUuY2xhYmF1dEBmcmVlLmZyPgorIiBMYXN0Q2hhbmdlOgkwMiBNYXkgMjAwMQorIiBPcmlnaW5hbDoJQ29tZXMgZnJvbSBKYXZhQ0MudmltCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgZmluaXNoCitlbmRpZgorCisiIFRoaXMgc3ludGFjIGZpbGUgaXMgYSBmaXJzdCBhdHRlbXB0LiBJdCBpcyBmYXIgZnJvbSBwZXJmZWN0Li4uCisKKyIgVXNlcyBqYXZhLnZpbSwgYW5kIGFkZHMgYSBmZXcgc3BlY2lhbCB0aGluZ3MgZm9yIEphdmFDQyBQYXJzZXIgZmlsZXMuCisiIFRob3NlIGZpbGVzIHVzdWFsbHkgaGF2ZSB0aGUgZXh0ZW5zaW9uICAqLmpqCisKKyIgc291cmNlIHRoZSBqYXZhLnZpbSBmaWxlCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzbyA8c2ZpbGU+OnA6aC9qYXZhLnZpbQorZWxzZQorICAgcnVudGltZSEgc3ludGF4L2phdmEudmltCisgICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CitlbmRpZgorCisicmVtb3ZlIGNhdGNoaW5nIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMgKGRvZXMgbm90IHdvcmsgaW4gYW50bHIKKyJmaWxlcykgKGZpcnN0IGRlZmluZSB0aGVtIGluIGNhc2UgdGhleSBoYXZlIG5vdCBiZWVuIGRlZmluZWQgaW4gamF2YSkKK3N5biBtYXRjaAlqYXZhUGFyZW4gIi0tIgorc3luIG1hdGNoCWphdmFQYXJlbkVycm9yICItLSIKK3N5biBtYXRjaAlqYXZhSW5QYXJlbiAiLS0iCitzeW4gbWF0Y2gJamF2YUVycm9yMiAiLS0iCitzeW4gY2xlYXIJamF2YVBhcmVuCitzeW4gY2xlYXIJamF2YVBhcmVuRXJyb3IKK3N5biBjbGVhcglqYXZhSW5QYXJlbgorc3luIGNsZWFyCWphdmFFcnJvcjIKKworIiByZW1vdmUgZnVuY3Rpb24gZGVmaW5pdGlvbnMgKHRoZXkgbG9vayBkaWZmZXJlbnQpIChmaXJzdCBkZWZpbmUgaW4KKyIgaW4gY2FzZSBpdCB3YXMgbm90IGRlZmluZWQgaW4gamF2YS52aW0pCisic3luIG1hdGNoIGphdmFGdW5jRGVmICItLSIKKyJzeW4gY2xlYXIgamF2YUZ1bmNEZWYKKyJzeW4gbWF0Y2ggamF2YUZ1bmNEZWYgIlthLXpBLVpdW2EtekEtWjAtOV8uIFxbXF1dKihbXi0rKi8oKV0qKVsgXHRdKjoiIGNvbnRhaW5zPWphdmFUeXBlCisiIHN5biByZWdpb24gamF2YUZ1bmNEZWYgc3RhcnQ9K3RbYS16QS1aXVthLXpBLVowLTlfLiBcW1xdXSooW14tKyovKCldKixbIAldKisgZW5kPSspWyBcdF0qOisKKworc3luIGtleXdvcmQgYW50bHJQYWNrYWdlcyBvcHRpb25zIGxhbmd1YWdlIGJ1aWxkQVNUCitzeW4gbWF0Y2ggYW50bHJQYWNrYWdlcyAiUEFSU0VSX0VORChbXildKikiCitzeW4gbWF0Y2ggYW50bHJQYWNrYWdlcyAiUEFSU0VSX0JFR0lOKFteKV0qKSIKK3N5biBtYXRjaCBhbnRsclNwZWNUb2tlbiAiPEVPRj4iCisiIHRoZSBkb3QgaXMgbmVjZXNzYXJ5IGFzIG90aGVyd2lzZSBpdCB3aWxsIGJlIG1hdGNoZWQgYXMgYSBrZXl3b3JkLgorc3luIG1hdGNoIGFudGxyU3BlY1Rva2VuICIuTE9PS0FIRUFEKCJtcz1zKzEsbWU9ZS0xCitzeW4gbWF0Y2ggYW50bHJTZXAgIlt8Ol1cfFwuXC4iCitzeW4ga2V5d29yZCBhbnRsckFjdGlvblRva2VuIFRPS0VOIFNLSVAgTU9SRSBTUEVDSUFMX1RPS0VOCitzeW4ga2V5d29yZCBhbnRsckVycm9yIERFQlVHIElHTk9SRV9JTl9CTkYKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FudGxyX3N5bnRheF9pbml0cyIpCisgICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgICBsZXQgZGlkX2FudGxyX3N5bnRheF9pbml0cyA9IDEKKyAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgICBlbHNlCisgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgIGVuZGlmCisgICBIaUxpbmsgYW50bHJTZXAgU3RhdGVtZW50CisgICBIaUxpbmsgYW50bHJQYWNrYWdlcyBTdGF0ZW1lbnQKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFudGxyIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXBhY2hlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FwYWNoZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZlOWU4ZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FwYWNoZS52aW0KQEAgLTAsMCArMSwyNzUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIFRoaXMgaXMgYSBHRU5FUkFURUQgRklMRS4gUGxlYXNlIGFsd2F5cyByZWZlciB0byBzb3VyY2UgZmlsZSBhdCB0aGUgVVJJIGJlbG93LgorIiBMYW5ndWFnZTogQXBhY2hlIGNvbmZpZ3VyYXRpb24gKGh0dHBkLmNvbmYsIHNybS5jb25mLCBhY2Nlc3MuY29uZiwgLmh0YWNjZXNzKQorIiBNYWludGFpbmVyOiBEYXZpZCBOZVx2e2N9YXMgKFlldGkpIDx5ZXRpQHBoeXNpY3MubXVuaS5jej4KKyIgTGFzdCBDaGFuZ2U6IDIwMDItMTAtMTUKKyIgVVJMOiBodHRwOi8vdHJpZmljLmF0aC5jeC9GdHAvdmltL3N5bnRheC9hcGFjaGUudmltCisiIE5vdGU6IGRlZmluZSBhcGFjaGVfdmVyc2lvbiB0byB5b3VyIEFwYWNoZSB2ZXJzaW9uLCBlLmcuICIxLjMiLCAiMiIsICIyLjAuMzkiCisKKyIgU2V0dXAKK2lmIHZlcnNpb24gPj0gNjAwCisJaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwkJZmluaXNoCisJZW5kaWYKK2Vsc2UKKwlzeW50YXggY2xlYXIKK2VuZGlmCisKK2lmIGV4aXN0cygiYXBhY2hlX3ZlcnNpb24iKQorCWxldCBzOmF2ID0gYXBhY2hlX3ZlcnNpb24KK2Vsc2UKKwlsZXQgczphdiA9ICIxLjMiCitlbmRpZgorbGV0IHM6YXYgPSBzdWJzdGl0dXRlKHM6YXYsICJbXi4wLTldIiwgIiIsICJnIikKK2xldCBzOmF2ID0gc3Vic3RpdHV0ZShzOmF2LCAiXlxcZFxcKyQiLCAiXFwwLjk5OSIsICIiKQorbGV0IHM6YXYgPSBzdWJzdGl0dXRlKHM6YXYsICJeXFxkXFwrXFwuXFxkXFwrJCIsICJcXDAuOTk5IiwgIiIpCitsZXQgczphdiA9IHN1YnN0aXR1dGUoczphdiwgIlxcPFxcZFxcPiIsICIwXFwwIiwgImciKQorbGV0IHM6YXYgPSBzdWJzdGl0dXRlKHM6YXYsICJcXDxcXGRcXGRcXD4iLCAiMFxcMCIsICJnIikKK2xldCBzOmF2ID0gc3Vic3RpdHV0ZShzOmF2LCAiWy5dIiwgIiIsICJnIikKKworc3luIGNhc2UgaWdub3JlCisKKyIgQmFzZSBjb25zdHJ1Y3RzCitzeW4gbWF0Y2ggYXBhY2hlQ29tbWVudCAiXlxzKiMuKiQiIGNvbnRhaW5zPWFwYWNoZUZpeG1lCitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCisJc3luIG1hdGNoIGFwYWNoZVVzZXJJRCAiIy1cP1xkXCtcPiIKK2VuZGlmCitzeW4gY2FzZSBtYXRjaAorc3luIGtleXdvcmQgYXBhY2hlRml4bWUgRklYTUUgVE9ETyBYWFggTk9UCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCBhcGFjaGVBbnl0aGluZyAiXHNbXj5dKiIgY29udGFpbmVkCitzeW4gbWF0Y2ggYXBhY2hlRXJyb3IgIlx3XCsiIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBhcGFjaGVTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisgc2tpcD0rXFxcXFx8XFxcIisKKworIiBDb3JlIGFuZCBtcG0KK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEFjY2Vzc0ZpbGVOYW1lIEFkZERlZmF1bHRDaGFyc2V0IEFsbG93T3ZlcnJpZGUgQXV0aE5hbWUgQXV0aFR5cGUgQ29udGVudERpZ2VzdCBEZWZhdWx0VHlwZSBEb2N1bWVudFJvb3QgRXJyb3JEb2N1bWVudCBFcnJvckxvZyBIb3N0TmFtZUxvb2t1cHMgSWRlbnRpdHlDaGVjayBJbmNsdWRlIEtlZXBBbGl2ZSBLZWVwQWxpdmVUaW1lb3V0IExpbWl0UmVxdWVzdEJvZHkgTGltaXRSZXF1ZXN0RmllbGRzIExpbWl0UmVxdWVzdEZpZWxkc2l6ZSBMaW1pdFJlcXVlc3RMaW5lIExvZ0xldmVsIE1heEtlZXBBbGl2ZVJlcXVlc3RzIE5hbWVWaXJ0dWFsSG9zdCBPcHRpb25zIFJlcXVpcmUgUkxpbWl0Q1BVIFJMaW1pdE1FTSBSTGltaXROUFJPQyBTYXRpc2Z5IFNjcmlwdEludGVycHJldGVyU291cmNlIFNlcnZlckFkbWluIFNlcnZlckFsaWFzIFNlcnZlck5hbWUgU2VydmVyUGF0aCBTZXJ2ZXJSb290IFNlcnZlclNpZ25hdHVyZSBTZXJ2ZXJUb2tlbnMgVGltZU91dCBVc2VDYW5vbmljYWxOYW1lCitpZiBzOmF2IDwgIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBBY2Nlc3NDb25maWcgQWRkTW9kdWxlIEJpbmRBZGRyZXNzIEJTMjAwMEFjY291bnQgQ2xlYXJNb2R1bGVMaXN0IENvcmVEdW1wRGlyZWN0b3J5IEdyb3VwIExpc3RlbiBMaXN0ZW5CYWNrbG9nIExvY2tGaWxlIE1heENsaWVudHMgTWF4UmVxdWVzdHNQZXJDaGlsZCBNYXhTcGFyZVNlcnZlcnMgTWluU3BhcmVTZXJ2ZXJzIFBpZEZpbGUgUG9ydCBSZXNvdXJjZUNvbmZpZyBTY29yZUJvYXJkRmlsZSBTZW5kQnVmZmVyU2l6ZSBTZXJ2ZXJUeXBlIFN0YXJ0U2VydmVycyBUaHJlYWRzUGVyQ2hpbGQgVGhyZWFkU3RhY2tTaXplIFVzZXIKK2VuZGlmCitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCisJc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQWNjZXB0UGF0aEluZm8gQ0dJTWFwRXh0ZW5zaW9uIEVuYWJsZU1NQVAgRmlsZUVUYWcgRm9yY2VUeXBlIExpbWl0WE1MUmVxdWVzdEJvZHkgU2V0SGFuZGxlciBTZXRJbnB1dEZpbHRlciBTZXRPdXRwdXRGaWx0ZXIKKwlzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gSU5vZGUgTVRpbWUgU2l6ZQorZW5kaWYKK3N5biBrZXl3b3JkIGFwYWNoZU9wdGlvbiBBbnkgQWxsIE9uIE9mZiBEb3VibGUgRU1haWwgRE5TIE1pbiBNaW5pbWFsIE9TIFByb2QgUHJvZHVjdE9ubHkgRnVsbAorc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIGVtZXJnIGFsZXJ0IGNyaXQgZXJyb3Igd2FybiBub3RpY2UgaW5mbyBkZWJ1Zworc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIHJlZ2lzdHJ5IHNjcmlwdCBpbmV0ZCBzdGFuZGFsb25lCitzeW4gbWF0Y2ggYXBhY2hlT3B0aW9uT3B0aW9uICJbKy1dXD9cPFwoRXhlY0NHSVx8Rm9sbG93U3ltTGlua3NcfEluY2x1ZGVzXHxJbmNsdWRlc05vRXhlY1x8SW5kZXhlc1x8TXVsdGlWaWV3c1x8U3ltTGlua3NJZk93bmVyTWF0Y2hcKVw+Igorc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIHVzZXIgZ3JvdXAgdmFsaWQtdXNlcgorc3luIGNhc2UgbWF0Y2gKK3N5biBrZXl3b3JkIGFwYWNoZU1ldGhvZE9wdGlvbiBHRVQgUE9TVCBQVVQgREVMRVRFIENPTk5FQ1QgT1BUSU9OUyBUUkFDRSBQQVRDSCBQUk9QRklORCBQUk9QUEFUQ0ggTUtDT0wgQ09QWSBNT1ZFIExPQ0sgVU5MT0NLIGNvbnRhaW5lZAorc3luIGNhc2UgaWdub3JlCitzeW4gbWF0Y2ggYXBhY2hlU2VjdGlvbiAiPFwvXD1cKERpcmVjdG9yeVx8RGlyZWN0b3J5TWF0Y2hcfEZpbGVzXHxGaWxlc01hdGNoXHxJZk1vZHVsZVx8SWZEZWZpbmVcfExvY2F0aW9uXHxMb2NhdGlvbk1hdGNoXHxWaXJ0dWFsSG9zdFwpXCsuKj4iIGNvbnRhaW5zPWFwYWNoZUFueXRoaW5nCitzeW4gbWF0Y2ggYXBhY2hlTGltaXRTZWN0aW9uICI8XC9cPVwoTGltaXRcfExpbWl0RXhjZXB0XClcKy4qPiIgY29udGFpbnM9YXBhY2hlTGltaXRTZWN0aW9uS2V5d29yZCxhcGFjaGVNZXRob2RPcHRpb24sYXBhY2hlRXJyb3IKK3N5biBrZXl3b3JkIGFwYWNoZUxpbWl0U2VjdGlvbktleXdvcmQgTGltaXQgTGltaXRFeGNlcHQgY29udGFpbmVkCitzeW4gbWF0Y2ggYXBhY2hlQXV0aFR5cGUgIkF1dGhUeXBlXHMuKiQiIGNvbnRhaW5zPWFwYWNoZUF1dGhUeXBlVmFsdWUKK3N5biBrZXl3b3JkIGFwYWNoZUF1dGhUeXBlVmFsdWUgQmFzaWMgRGlnZXN0CitzeW4gbWF0Y2ggYXBhY2hlQWxsb3dPdmVycmlkZSAiQWxsb3dPdmVycmlkZVxzLiokIiBjb250YWlucz1hcGFjaGVBbGxvd092ZXJyaWRlVmFsdWUsYXBhY2hlQ29tbWVudAorc3luIGtleXdvcmQgYXBhY2hlQWxsb3dPdmVycmlkZVZhbHVlIEF1dGhDb25maWcgRmlsZUluZm8gSW5kZXhlcyBMaW1pdCBPcHRpb25zIGNvbnRhaW5lZAoraWYgczphdiA+PSAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIENvcmVEdW1wRGlyZWN0b3J5IEdyb3VwIExpc3RlbiBMaXN0ZW5CYWNrbG9nIExvY2tGaWxlIE1heENsaWVudHMgTWF4TWVtRnJlZSBNYXhSZXF1ZXN0c1BlckNoaWxkIE1heFNwYXJlVGhyZWFkcyBNYXhTcGFyZVRocmVhZHNQZXJDaGlsZCBNaW5TcGFyZVRocmVhZHMgTnVtU2VydmVycyBQaWRGaWxlIFNjb3JlQm9hcmRGaWxlIFNlbmRCdWZmZXJTaXplIFNlcnZlckxpbWl0IFN0YXJ0U2VydmVycyBTdGFydFRocmVhZHMgVGhyZWFkTGltaXQgVGhyZWFkc1BlckNoaWxkIFVzZXIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBNYXhUaHJlYWRzIFRocmVhZFN0YWNrU2l6ZQorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEFzc2lnblVzZXJJZCBDaGlsZFBlclVzZXJJZAorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEFjY2VwdE11dGV4IE1heFNwYXJlU2VydmVycyBNaW5TcGFyZVNlcnZlcnMKKwlzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gZmxvY2sgZmNudGwgc3lzdnNlbSBwdGhyZWFkCitlbmRpZgorCisiIE1vZHVsZXMKK3N5biBtYXRjaCBhcGFjaGVBbGxvd0RlbnkgIkFsbG93XHNcK2Zyb20uKiQiIGNvbnRhaW5zPWFwYWNoZUFsbG93RGVueVZhbHVlLGFwYWNoZUNvbW1lbnQKK3N5biBtYXRjaCBhcGFjaGVBbGxvd0RlbnkgIkRlbnlcc1wrZnJvbS4qJCIgY29udGFpbnM9YXBhY2hlQWxsb3dEZW55VmFsdWUsYXBhY2hlQ29tbWVudAorc3luIGtleXdvcmQgYXBhY2hlQWxsb3dEZW55VmFsdWUgQWxsIE5vbmUgY29udGFpbmVkCitzeW4gbWF0Y2ggYXBhY2hlT3JkZXIgIl5ccypPcmRlclxzLiokIiBjb250YWlucz1hcGFjaGVPcmRlclZhbHVlLGFwYWNoZUNvbW1lbnQKK3N5biBrZXl3b3JkIGFwYWNoZU9yZGVyVmFsdWUgRGVueSBBbGxvdyBjb250YWluZWQKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEFjdGlvbiBTY3JpcHQKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEFsaWFzIEFsaWFzTWF0Y2ggUmVkaXJlY3QgUmVkaXJlY3RNYXRjaCBSZWRpcmVjdFRlbXAgUmVkaXJlY3RQZXJtYW5lbnQgU2NyaXB0QWxpYXMgU2NyaXB0QWxpYXNNYXRjaAorc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIHBlcm1hbmVudCB0ZW1wIHNlZW90aGVyIGdvbmUKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEF1dGhBdXRob3JpdGF0aXZlIEF1dGhHcm91cEZpbGUgQXV0aFVzZXJGaWxlCitzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBBbm9ueW1vdXMgQW5vbnltb3VzX0F1dGhvcml0YXRpdmUgQW5vbnltb3VzX0xvZ0VtYWlsIEFub255bW91c19NdXN0R2l2ZUVtYWlsIEFub255bW91c19Ob1VzZXJJRCBBbm9ueW1vdXNfVmVyaWZ5RW1haWwKK2lmIHM6YXYgPCAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEF1dGhEQkdyb3VwRmlsZSBBdXRoREJVc2VyRmlsZSBBdXRoREJBdXRob3JpdGF0aXZlCitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQXV0aERCTUdyb3VwRmlsZSBBdXRoREJNVXNlckZpbGUgQXV0aERCTUF1dGhvcml0YXRpdmUKK2lmIHM6YXYgPj0gIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBBdXRoREJNVHlwZQorCXN5biBrZXl3b3JkIGFwYWNoZU9wdGlvbiBkZWZhdWx0IFNEQk0gR0RCTSBOREJNIERCCitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQXV0aERpZ2VzdEFsZ29yaXRobSBBdXRoRGlnZXN0RG9tYWluIEF1dGhEaWdlc3RGaWxlIEF1dGhEaWdlc3RHcm91cEZpbGUgQXV0aERpZ2VzdE5jQ2hlY2sgQXV0aERpZ2VzdE5vbmNlRm9ybWF0IEF1dGhEaWdlc3ROb25jZUxpZmV0aW1lIEF1dGhEaWdlc3RRb3AKK3N5biBrZXl3b3JkIGFwYWNoZU9wdGlvbiBub25lIGF1dGggYXV0aC1pbnQgTUQ1IE1ENS1zZXNzCitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCisJc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQXV0aExEQVBBdXRob3JpdGF0aXZlIEF1dGhMREFQQmluZE9OIEF1dGhMREFQQmluZFBhc3N3b3JkIEF1dGhMREFQQ29tcGFyZUROT25TZXJ2ZXIgQXV0aExEQVBEZXJlZmVyZW5jZUFsaWFzZXMgQXV0aExEQVBFbmFibGVkIEF1dGhMREFQRnJvbnRQYWdlSGFjayBBdXRoTERBUEdyb3VwQXR0cmlidXRlIEF1dGhMREFQR3JvdXBBdHRyaWJ1dGVJc0ROIEF1dGhMREFQUmVtb3RlVXNlcklzRE4gQXV0aExEQVBTdGFydFRMUyBBdXRoTERBUFVybAorCXN5biBrZXl3b3JkIGFwYWNoZU9wdGlvbiBhbHdheXMgbmV2ZXIgc2VhcmNoaW5nIGZpbmRpbmcKK2VuZGlmCitpZiBzOmF2IDwgIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBGYW5jeUluZGV4aW5nCitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQWRkQWx0IEFkZEFsdEJ5RW5jb2RpbmcgQWRkQWx0QnlUeXBlIEFkZERlc2NyaXB0aW9uIEFkZEljb24gQWRkSWNvbkJ5RW5jb2RpbmcgQWRkSWNvbkJ5VHlwZSBEZWZhdWx0SWNvbiBIZWFkZXJOYW1lIEluZGV4SWdub3JlIEluZGV4T3B0aW9ucyBJbmRleE9yZGVyRGVmYXVsdCBSZWFkbWVOYW1lCitzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gRGVzY3JpcHRpb25XaWR0aCBGYW5jeUluZGV4aW5nIEZvbGRlcnNGaXJzdCBJY29uSGVpZ2h0IEljb25zQXJlTGlua3MgSWNvbldpZHRoIE5hbWVXaWR0aCBTY2FuSFRNTFRpdGxlcyBTdXBwcmVzc0NvbHVtblNvcnRpbmcgU3VwcHJlc3NEZXNjcmlwdGlvbiBTdXBwcmVzc0hUTUxQcmVhbWJsZSBTdXBwcmVzc0xhc3RNb2RpZmllZCBTdXBwcmVzc1NpemUgVHJhY2tNb2RpZmllZAorc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIEFzY2VuZGluZyBEZXNjZW5kaW5nIE5hbWUgRGF0ZSBTaXplIERlc2NyaXB0aW9uCitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCisJc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIEhUTUxUYWJsZSBTdXByZXNzSWNvbiBTdXByZXNzUnVsZXMgVmVyc2lvblNvcnQKK2VuZGlmCitpZiBzOmF2IDwgIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBCcm93c2VyTWF0Y2ggQnJvd3Nlck1hdGNoTm9DYXNlCitlbmRpZgoraWYgczphdiA+PSAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIENhY2hlRGVmYXVsdEV4cGlyZSBDYWNoZUVuYWJsZSBDYWNoZUZvcmNlQ29tcGxldGlvbiBDYWNoZUlnbm9yZUNhY2hlQ29udHJvbCBDYWNoZUlnbm9yZU5vTGFzdE1vZCBDYWNoZUxhc3RNb2RpZmllZEZhY3RvciBDYWNoZU1heEV4cGlyZSBDYWNoZU1heFN0cmVhbWluZ0J1ZmZlcgorZW5kaWYKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIE1ldGFGaWxlcyBNZXRhRGlyIE1ldGFTdWZmaXgKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIFNjcmlwdExvZyBTY3JpcHRMb2dMZW5ndGggU2NyaXB0TG9nQnVmZmVyCitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCisJc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gU2NyaXB0U3RvY2sKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBDaGFyc2V0RGVmYXVsdCBDaGFyc2V0T3B0aW9ucyBDaGFyc2V0U291cmNlRW5jCisJc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIERlYnVnTGV2ZWwgSW1wbGljaXRBZGQgTm9JbXBsaWNpdEFkZAorZW5kaWYKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIERhdiBEYXZEZXB0aEluZmluaXR5IERhdkxvY2tEQiBEYXZNaW5UaW1lb3V0CitpZiBzOmF2IDwgIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBEZWZpbmUKK2VuZAoraWYgczphdiA+PSAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIERlZmxhdGVCdWZmZXJTaXplIERlZmxhdGVGaWx0ZXJOb3RlIERlZmxhdGVNZW1MZXZlbCBEZWZsYXRlV2luZG93U2l6ZQorZW5kaWYKK2lmIHM6YXYgPCAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEF1dGhEaWdlc3RGaWxlCitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gRGlyZWN0b3J5SW5kZXgKK2lmIHM6YXYgPj0gIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBQcm90b2NvbEVjaG8KK2VuZGlmCitzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBQYXNzRW52IFNldEVudiBVbnNldEVudgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gRXhhbXBsZQorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gRXhwaXJlc0FjdGl2ZSBFeHBpcmVzQnlUeXBlIEV4cGlyZXNEZWZhdWx0CitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCisJc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gRXh0RmlsdGVyRGVmaW5lIEV4dEZpbHRlck9wdGlvbnMKKwlzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gUHJlc2VydmVzQ29udGVudExlbmd0aCBEZWJ1Z0xldmVsIExvZ1N0ZGVyciBOb0xvZ1N0ZGVycgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIENhY2hlRmlsZSBNTWFwRmlsZQorZW5kaWYKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEhlYWRlcgoraWYgczphdiA+PSAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIFJlcXVlc3RIZWFkZXIKK2VuZGlmCitzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gc2V0IHVuc2V0IGFwcGVuZCBhZGQKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEltYXBNZW51IEltYXBEZWZhdWx0IEltYXBCYXNlCitzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gbm9uZSBmb3JtYXR0ZWQgc2VtaWZvcm1hdHRlZCB1bmZvcm1hdHRlZAorc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIG5vY29udGVudCByZWZlcmVyIGVycm9yIG1hcAorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gWEJpdEhhY2sKK2lmIHM6YXYgPj0gIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBTU0lFbmRUYWcgU1NJRXJyb3JNc2cgU1NJU3RhcnRUYWcgU1NJVGltZUZvcm1hdCBTU0lVbmRlZmluZWRFY2hvCitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIG9uIG9mZiBmdWxsCitzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBBZGRNb2R1bGVJbmZvCitzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBJU0FQSVJlYWRBaGVhZEJ1ZmZlciBJU0FQSUxvZ05vdFN1cHBvcnRlZCBJU0FQSUFwcGVuZExvZ1RvRXJyb3JzIElTQVBJQXBwZW5kTG9nVG9RdWVyeQoraWYgczphdiA+PSAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIElTQVBJQ2FjaGVGaWxlIElTQUlQRmFrZUFzeW5jCisJc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gTERBUENhY2hlRW50cmllcyBMREFQQ2FjaGVUVEwgTERBUENlcnREQlBhdGggTERBUE9wQ2FjaGVFbnRyaWVzIExEQVBPcENhY2hlVFRMIExEQVBTaGFyZWRDYWNoZVNpemUKK2VuZGlmCitpZiBzOmF2IDwgIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBBZ2VudExvZworZW5kaWYKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIENvb2tpZUxvZyBDdXN0b21Mb2cgTG9nRm9ybWF0IFRyYW5zZmVyTG9nCitpZiBzOmF2IDwgIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBSZWZlcmVySWdub3JlIFJlZmVyZXJMb2cKK2VuZGlmCitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQWRkQ2hhcnNldCBBZGRFbmNvZGluZyBBZGRIYW5kbGVyIEFkZExhbmd1YWdlIEFkZFR5cGUgRGVmYXVsdExhbmd1YWdlIFJlbW92ZUVuY29kaW5nIFJlbW92ZUhhbmRsZXIgUmVtb3ZlVHlwZSBUeXBlc0NvbmZpZworaWYgczphdiA8ICIwMDIwMDAwMDAiCisJc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gRm9yY2VUeXBlIFNldEhhbmRsZXIKK2VuZGlmCitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCisJc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQWRkSW5wdXRGaWx0ZXIgQWRkT3V0cHV0RmlsdGVyIE1vZE1pbWVVc2VQYXRoSW5mbyBNdWx0aXZpZXdzTWF0Y2ggUmVtb3ZlSW5wdXRGaWx0ZXIgUmVtb3ZlT3V0cHV0RmlsdGVyCitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gTWltZU1hZ2ljRmlsZQorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gTU1hcEZpbGUKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIENhY2hlTmVnb3RpYXRlZERvY3MgTGFuZ3VhZ2VQcmlvcml0eQoraWYgczphdiA+PSAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIEZvcmNlTGFuZ3VhZ2VQcmlvcml0eQorZW5kaWYKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIFBlcmxNb2R1bGUgUGVybFJlcXVpcmUgUGVybFRhaW50Q2hlY2sgUGVybFdhcm4KK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIFBlcmxTZXRWYXIgUGVybFNldEVudiBQZXJsUGFzc0VudiBQZXJsU2V0dXBFbnYKK3N5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIFBlcmxJbml0SGFuZGxlciBQZXJsUG9zdFJlYWRSZXF1ZXN0SGFuZGxlciBQZXJsSGVhZGVyUGFyc2VySGFuZGxlcgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gUGVybFRyYW5zSGFuZGxlciBQZXJsQWNjZXNzSGFuZGxlciBQZXJsQXV0aGVuSGFuZGxlciBQZXJsQXV0aHpIYW5kbGVyCitzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBQZXJsVHlwZUhhbmRsZXIgUGVybEZpeHVwSGFuZGxlciBQZXJsSGFuZGxlciBQZXJsTG9nSGFuZGxlcgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gUGVybENsZWFudXBIYW5kbGVyIFBlcmxDaGlsZEluaXRIYW5kbGVyIFBlcmxDaGlsZEV4aXRIYW5kbGVyCitzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBQZXJsUmVzdGFydEhhbmRsZXIgUGVybERpc3BhdGNoSGFuZGxlcgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gUGVybEZyZXNoUmVzdGFydCBQZXJsU2VuZEhlYWRlcgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gcGhwX3ZhbHVlIHBocF9mbGFnIHBocF9hZG1pbl92YWx1ZSBwaHBfYWRtaW5fZmxhZworc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQWxsb3dDT05ORUNUIE5vUHJveHkgUHJveHlCbG9jayBQcm94eURvbWFpbiBQcm94eVBhc3MgUHJveHlQYXNzUmV2ZXJzZSBQcm94eVJlY2VpdmVCdWZmZXJTaXplIFByb3h5UmVtb3RlIFByb3h5UmVxdWVzdHMgUHJveHlWaWEKK2lmIHM6YXYgPCAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIENhY2hlUm9vdCBDYWNoZVNpemUgQ2FjaGVNYXhFeHBpcmUgQ2FjaGVEZWZhdWx0RXhwaXJlIENhY2hlTGFzdE1vZGlmaWVkRmFjdG9yIENhY2hlR2NJbnRlcnZhbCBDYWNoZURpckxldmVscyBDYWNoZURpckxlbmd0aCBDYWNoZUZvcmNlQ29tcGxldGlvbiBOb0NhY2hlCisJc3luIGtleXdvcmQgYXBhY2hlT3B0aW9uIGJsb2NrCitlbmRpZgoraWYgczphdiA+PSAiMDAyMDAwMDAwIgorCXN5biBtYXRjaCBhcGFjaGVTZWN0aW9uICI8XC9cPVwoUHJveHlcfFByb3h5TWF0Y2hcKVwrLio+IiBjb250YWlucz1hcGFjaGVBbnl0aGluZworCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIFByb3h5RXJyb3JPdmVycmlkZSBQcm94eUlPQnVmZmVyU2l6ZSBQcm94eU1heEZvcndhcmRzIFByb3h5UHJlc2VydmVIb3N0IFByb3h5UmVtb3RlTWF0Y2ggUHJveHlUaW1lb3V0CitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gUmV3cml0ZUVuZ2luZSBSZXdyaXRlT3B0aW9ucyBSZXdyaXRlTG9nIFJld3JpdGVMb2dMZXZlbCBSZXdyaXRlTG9jayBSZXdyaXRlTWFwIFJld3JpdGVCYXNlIFJld3JpdGVDb25kIFJld3JpdGVSdWxlCitzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gaW5oZXJpdAoraWYgczphdiA8ICIwMDIwMDAwMDAiCisJc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gUm9hbWluZ0FsaWFzCitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQnJvd3Nlck1hdGNoIEJyb3dzZXJNYXRjaE5vQ2FzZSBTZXRFbnZJZiBTZXRFbnZJZk5vQ2FzZQorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gTG9hZEZpbGUgTG9hZE1vZHVsZQorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gQ2hlY2tTcGVsbGluZworc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gU1NMQ0FDZXJ0aWZpY2F0ZUZpbGUgU1NMQ0FDZXJ0aWZpY2F0ZVBhdGggU1NMQ0FSZXZvY2F0aW9uRmlsZSBTU0xDQVJldm9jYXRpb25QYXRoIFNTTENlcnRpZmljYXRlQ2hhaW5GaWxlIFNTTENlcnRpZmljYXRlRmlsZSBTU0xDZXJ0aWZpY2F0ZUtleUZpbGUgU1NMQ2lwaGVyU3VpdGUgU1NMRW5naW5lIFNTTE11dGV4IFNTTE9wdGlvbnMgU1NMUGFzc1BocmFzZURpYWxvZyBTU0xQcm90b2NvbCBTU0xSYW5kb21TZWVkIFNTTFJlcXVpcmUgU1NMUmVxdWlyZVNTTCBTU0xTZXNzaW9uQ2FjaGUgU1NMU2Vzc2lvbkNhY2hlVGltZW91dCBTU0xWZXJpZnlDbGllbnQgU1NMVmVyaWZ5RGVwdGgKK2lmIHM6YXYgPCAiMDAyMDAwMDAwIgorCXN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIFNTTExvZyBTU0xMb2dMZXZlbAorZW5kaWYKK2lmIHM6YXYgPj0gIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBTU0xQcm94eUNBQ2VydGlmaWNhdGVGaWxlIFNTTFByb3h5Q0FDZXJ0aWZpY2F0ZVBhdGggU1NMUHJveHlDQVJldm9jYXRpb25GaWxlIFNTTFByb3h5Q0FSZXZvY2F0aW9uUGF0aCBTU0xQcm94eUNpcGhlclN1aXRlIFNTTFByb3h5RW5naW5lIFNTTFByb3h5TWFjaGluZUNlcnRpZmljYXRlRmlsZSBTU0xQcm94eU1hY2hpbmVDZXJ0aWZpY2F0ZVBhdGggU1NMUHJveHlQcm90b2NvbCBTU0xQcm94eVZlcmlmeSBTU0xQcm94eVZlcmlmeURlcHRoCitlbmRpZgorc3luIG1hdGNoIGFwYWNoZU9wdGlvbiAiWystXVw/XDxcKFN0ZEVudlZhcnNcfENvbXBhdEVudlZhcnNcfEV4cG9ydENlcnREYXRhXHxGYWtlQmFzaWNBdXRoXHxTdHJpY3RSZXF1aXJlXHxPcHRSZW5lZ290aWF0ZVwpXD4iCitzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gYnVpbHRpbiBzZW0KK3N5biBtYXRjaCBhcGFjaGVPcHRpb24gIlwoZmlsZVx8ZXhlY1x8ZWdkXHxkYm1cfHNobVwpOiIKK2lmIHM6YXYgPCAiMDAyMDAwMDAwIgorCXN5biBtYXRjaCBhcGFjaGVPcHRpb24gIlsrLV1cP1w8XChTU0x2Mlx8U1NMdjNcfFRMU3YxXClcPiIKK2VuZGlmCitpZiBzOmF2ID49ICIwMDIwMDAwMDAiCisJc3luIG1hdGNoIGFwYWNoZU9wdGlvbiAiWystXVw/XDxcKFNTTHYyXHxTU0x2M1x8VExTdjFcfGtSU0FcfGtIRHJcfGtESGRcfGtFREhcfGFOVUxMXHxhUlNBXHxhRFNTXHxhUkhcfGVOVUxMXHxERVNcfDNERVNcfFJDMlx8UkM0XHxJREVBXHxNRDVcfFNIQTFcfFNIQVx8RVhQXHxFWFBPUlQ0MFx8RVhQT1JUNTZcfExPV1x8TUVESVVNXHxISUdIXHxSU0FcfERIXHxFREhcfEFESFx8RFNTXHxOVUxMXClcPiIKK2VuZGlmCitzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gb3B0aW9uYWwgcmVxdWlyZSBvcHRpb25hbF9ub19jYQorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gRXh0ZW5kZWRTdGF0dXMKK2lmIHM6YXYgPj0gIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBTdWV4ZWNVc2VyR3JvdXAKK2VuZGlmCitzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBVc2VyRGlyCitzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBDb29raWVFeHBpcmVzIENvb2tpZU5hbWUgQ29va2llVHJhY2tpbmcKK2lmIHM6YXYgPj0gIjAwMjAwMDAwMCIKKwlzeW4ga2V5d29yZCBhcGFjaGVEZWNsYXJhdGlvbiBDb29raWVEb21haW4gQ29va2llU3R5bGUKKwlzeW4ga2V5d29yZCBhcGFjaGVPcHRpb24gTmV0c2NhcGUgQ29va2llIENvb2tpZTIgUkZDMjEwOSBSRkMyOTY1CitlbmRpZgorc3luIGtleXdvcmQgYXBhY2hlRGVjbGFyYXRpb24gVmlydHVhbERvY3VtZW50Um9vdCBWaXJ0dWFsRG9jdW1lbnRSb290SVAgVmlydHVhbFNjcmlwdEFsaWFzIFZpcnR1YWxTY3JpcHRBbGlhc0lQCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FwYWNoZV9zeW50YXhfaW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9hcGFjaGVfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayBhcGFjaGVBbGxvd092ZXJyaWRlIGFwYWNoZURlY2xhcmF0aW9uCisJSGlMaW5rIGFwYWNoZUFsbG93T3ZlcnJpZGVWYWx1ZSBhcGFjaGVPcHRpb24KKwlIaUxpbmsgYXBhY2hlQXV0aFR5cGUgYXBhY2hlRGVjbGFyYXRpb24KKwlIaUxpbmsgYXBhY2hlQXV0aFR5cGVWYWx1ZSBhcGFjaGVPcHRpb24KKwlIaUxpbmsgYXBhY2hlT3B0aW9uT3B0aW9uIGFwYWNoZU9wdGlvbgorCUhpTGluayBhcGFjaGVEZWNsYXJhdGlvbiBGdW5jdGlvbgorCUhpTGluayBhcGFjaGVBbnl0aGluZyBhcGFjaGVPcHRpb24KKwlIaUxpbmsgYXBhY2hlT3B0aW9uIE51bWJlcgorCUhpTGluayBhcGFjaGVDb21tZW50IENvbW1lbnQKKwlIaUxpbmsgYXBhY2hlRml4bWUgVG9kbworCUhpTGluayBhcGFjaGVMaW1pdFNlY3Rpb25LZXl3b3JkIGFwYWNoZUxpbWl0U2VjdGlvbgorCUhpTGluayBhcGFjaGVMaW1pdFNlY3Rpb24gYXBhY2hlU2VjdGlvbgorCUhpTGluayBhcGFjaGVTZWN0aW9uIExhYmVsCisJSGlMaW5rIGFwYWNoZU1ldGhvZE9wdGlvbiBUeXBlCisJSGlMaW5rIGFwYWNoZUFsbG93RGVueSBJbmNsdWRlCisJSGlMaW5rIGFwYWNoZUFsbG93RGVueVZhbHVlIElkZW50aWZpZXIKKwlIaUxpbmsgYXBhY2hlT3JkZXIgU3BlY2lhbAorCUhpTGluayBhcGFjaGVPcmRlclZhbHVlIFN0cmluZworCUhpTGluayBhcGFjaGVTdHJpbmcgU3RyaW5nCisJSGlMaW5rIGFwYWNoZUVycm9yIEVycm9yCisJSGlMaW5rIGFwYWNoZVVzZXJJRCBOdW1iZXIKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhcGFjaGUiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hcGFjaGVzdHlsZS52aW0gYi9ydW50aW1lL3N5bnRheC9hcGFjaGVzdHlsZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc1ZmM3MAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FwYWNoZXN0eWxlLnZpbQpAQCAtMCwwICsxLDY1IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQXBhY2hlLVN0eWxlIGNvbmZpZ3VyYXRpb24gZmlsZXMgKHByb2Z0cGQuY29uZi9hcGFjaGUuY29uZi8uLikKKyIgTWFpbnRhaW5lcjoJQ2hyaXN0aWFuIEhhbW1lcnMgPGNoQHdlc3RlbmQuY29tPgorIiBVUkw6CQlub25lCisiIENoYW5nZUxvZzoKKyIJMjAwMS0wNS0wNCxjaAorIgkJYWRvcHRlZCBWaW0gNi4wIHN5bnRheCBzdHlsZQorIgkxOTk5LTEwLTI4LGNoCisiCQlpbml0aWFsIHJlbGVhc2UKKworIiBUaGUgZm9sbG93aW5nIGZvcm1hdHMgYXJlIHJlY29nbmlzZWQ6CisiIEFwYWNoZS1zdHlsZSAuY29uZgorIgkjIENvbW1lbnQKKyIJT3B0aW9uCXZhbHVlCisiCU9wdGlvbgl2YWx1ZTEgdmFsdWUyCisiCU9wdGlvbiA9IHZhbHVlMSB2YWx1ZTIgI25vdCBhcGFjaGUgYnV0IGFsc28gYWxsb3dlZAorIgk8U2VjdGlvbiBOYW1lPz4KKyIJCU9wdGlvbgl2YWx1ZQorIgkJPFN1YlNlY3Rpb24gTmFtZT8+CisiCQk8L1N1YlNlY3Rpb24+CisiCTwvU2VjdGlvbj4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworc3luIG1hdGNoICBhcENvbW1lbnQJL15ccyojLiokLworc3luIG1hdGNoICBhcE9wdGlvbgkvXlxzKlteIFx0Izw9XSovCisic3luIG1hdGNoICBhcExhc3RWYWx1ZQkvW14gXHQ8PSNdKiQvIGNvbnRhaW5zPWFwQ29tbWVudAl1Z2x5CisKKyIgdGFncworc3luIHJlZ2lvbiBhcFRhZwlzdGFydD0vPC8gZW5kPS8+LyBjb250YWlucz1hcFRhZ09wdGlvbixhcFRhZ0Vycm9yCisiIHRoZSBmb2xsb3dpbmcgc2hvdWxkIG9yaWdpbmFsbHkgYmUgIiBbXjw+XSsiIGJ1dCB0aGlzIGRpZG4ndCB3b3JrIDooCitzeW4gbWF0Y2ggIGFwVGFnT3B0aW9uCWNvbnRhaW5lZCAvIFstXC9fXC46KmEtekEtWjAtOV1cKy9tcz1zKzEKK3N5biBtYXRjaCAgYXBUYWdFcnJvcgljb250YWluZWQgL1tePl08L21zPXMrMQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hcGFjaGVzdHlsZV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9hcGFjaGVzdHlsZV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhcENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgYXBPcHRpb24JS2V5d29yZAorICAiSGlMaW5rIGFwTGFzdFZhbHVlCUlkZW50aWZpZXIJCXVnbHk/CisgIEhpTGluayBhcFRhZwkJU3BlY2lhbAorICBIaUxpbmsgYXBUYWdPcHRpb24JSWRlbnRpZmllcgorICBIaUxpbmsgYXBUYWdFcnJvcglFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhcGFjaGVzdHlsZSIKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hcmNoLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FyY2gudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNTkzZmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hcmNoLnZpbQpAQCAtMCwwICsxLDYwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIEdOVSBBcmNoIGludmVudG9yeSBmaWxlLgorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9hcmNoLworIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCisiIGFyY2gtdGFnOgkgICAgNTI5ZDYwYzQtNTNkOC00ZDNhLTgwZDYtNTRhZGE4NmQ5OTMyCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFNldCBpc2tleXdvcmQgc2luY2Ugd2UgbmVlZCBgLScgKGFuZCBwb3RlbnRpYWxseSBvdGhlcnMpIGluIGtleXdvcmRzLgorIiBGb3IgdmVyc2lvbiA1Lng6IFNldCBpdCBnbG9iYWxseQorIiBGb3IgdmVyc2lvbiA2Lng6IFNldCBpdCBsb2NhbGx5CitpZiB2ZXJzaW9uID49IDYwMAorICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXRsb2NhbCBpc2tleXdvcmQ9PGFyZ3M+CitlbHNlCisgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+CitlbmRpZgorU2V0SXNrIEAsNDgtNTcsXywtCitkZWxjb21tYW5kIFNldElzaworCisiIFRvZG8KK3N5biBrZXl3b3JkIGFyY2hUb2RvCSAgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIENvbW1lbnQKK3N5biByZWdpb24gIGFyY2hDb21tZW50ICBtYXRjaGdyb3VwPWFyY2hDb21tZW50IHN0YXJ0PSdeXCUoI1x8XHNcKScgZW5kPSckJyBjb250YWlucz1hcmNoVG9kbworCisiIEtleXdvcmRzCitzeW4ga2V5d29yZCBhcmNoS2V5d29yZCAgaW1wbGljaXQgdGFnbGluZSBleHBsaWNpdCBuYW1lcworc3luIGtleXdvcmQgYXJjaEtleXdvcmQgIHVudGFnZ2VkLXNvdXJjZQorc3luIGtleXdvcmQgYXJjaEtleXdvcmQgIGV4Y2x1ZGUganVuayBiYWNrdXAgcHJlY2lvdXMgdW5yZWNvZ25pemVkIHNvdXJjZSBza2lwd2hpdGUgbmV4dGdyb3VwPWFyY2hSZWdleAorCisiIFJlZ2V4ZXMKK3N5biBtYXRjaCAgIGFyY2hSZWdleCAgICBjb250YWluZWQgJ1xzKlx6cy4qJworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hcmNoX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2FyY2hfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgYXJjaFRvZG8gICAgIFRvZG8KKyAgSGlMaW5rIGFyY2hDb21tZW50ICBDb21tZW50CisgIEhpTGluayBhcmNoS2V5d29yZCAgS2V5d29yZAorICBIaUxpbmsgYXJjaFJlZ2V4ICAgIFN0cmluZworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhcmNoIgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hcnQudmltIGIvcnVudGltZS9zeW50YXgvYXJ0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWZhZGRiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYXJ0LnZpbQpAQCAtMCwwICsxLDQ0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgICBBUlQtSU0gYW5kIEFSVCpFbnRlcnByaXNlCisiIE1haW50YWluZXI6ICAgIERvcmFpIFNpdGFyYW0gPGRzMjZAZ3RlLmNvbT4KKyIgVVJMOgkJIGh0dHA6Ly93d3cuY2NzLm5ldS5lZHUvfmRvcmFpL3ZpbXBsdWdpbnMvdmltcGx1Z2lucy5odG1sCisiIExhc3QgQ2hhbmdlOiAgIE5vdiA2LCAyMDAyCisKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBrZXl3b3JkIGFydHNwZm9ybSA9PiBhbmQgYXNzZXJ0IGJpbmQKK3N5biBrZXl3b3JkIGFydHNwZm9ybSBkZWNsYXJlIGRlZi1hcnQtZnVuIGRlZmZhY3RzIGRlZmdsb2JhbCBkZWZydWxlIGRlZnNjaGVtYSBkbworc3luIGtleXdvcmQgYXJ0c3Bmb3JtIGVsc2UgZm9yIGlmIGluJCBub3Qgb3IKK3N5biBrZXl3b3JkIGFydHNwZm9ybSBwcm9nbiByZXRyYWN0IHNhbGllbmNlIHNjaGVtYSB0ZXN0IHRoZW4gd2hpbGUKKworc3luIG1hdGNoIGFydHZhcmlhYmxlICI/W14gXHQiOygpfCZ+XVwrIgorCitzeW4gbWF0Y2ggYXJ0Z2xvYmFsdmFyICI/XCpbXiBcdCI7KCl8Jn5dXCtcKiIKKworc3luIG1hdGNoIGFydGluc3RhbmNlICIhW14gXHQiOygpfCZ+XVwrIgorCitzeW4gbWF0Y2ggZGVsaW1pdGVyICJbKCl8Jn5dIgorCitzeW4gcmVnaW9uIHN0cmluZyBzdGFydD0vIi8gc2tpcD0vXFxbXFwiXS8gZW5kPS8iLworCitzeW4gbWF0Y2ggbnVtYmVyICJcPFstK11cPVwoWzAtOV1cK1woXC5bMC05XSpcKVw9XHxcLlswLTldXCtcKVw+IgorCitzeW4gbWF0Y2ggY29tbWVudCAiOy4qJCIKKworc3luIG1hdGNoIGNvbW1lbnQgIiMrOlw9aWdub3JlIiBuZXh0Z3JvdXA9YXJ0aWdub3JlIHNraXB3aGl0ZSBza2lwbmwKKworc3luIHJlZ2lvbiBhcnRpZ25vcmUgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbmVkIGNvbnRhaW5zPWFydGlnbm9yZSxjb21tZW50CisKK3N5biByZWdpb24gYXJ0aWdub3JlIHN0YXJ0PS8iLyBza2lwPS9cXFtcXCJdLyBlbmQ9LyIvIGNvbnRhaW5lZAorCitoaSBkZWYgbGluayBhcnRpbnN0YW5jZSB0eXBlCitoaSBkZWYgbGluayBhcnRnbG9iYWx2YXIgcHJlcHJvYworaGkgZGVmIGxpbmsgYXJ0aWdub3JlIGNvbW1lbnQKK2hpIGRlZiBsaW5rIGFydHNwZm9ybSBzdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIGFydHZhcmlhYmxlIGZ1bmN0aW9uCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFydCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FzbS52aW0gYi9ydW50aW1lL3N5bnRheC9hc20udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5YmZlNGYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hc20udmltCkBAIC0wLDAgKzEsMTAzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJR05VIEFzc2VtYmxlcgorIiBNYWludGFpbmVyOglLZXZpbiBEYWhsaGF1c2VuIDxrZGFobGhhdXNAeWFob28uY29tPgorIiBMYXN0IENoYW5nZToJMjAwMiBTZXAgMTkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworCisiIHN0b3JhZ2UgdHlwZXMKK3N5biBtYXRjaCBhc21UeXBlICJcLmxvbmciCitzeW4gbWF0Y2ggYXNtVHlwZSAiXC5hc2NpaSIKK3N5biBtYXRjaCBhc21UeXBlICJcLmFzY2l6Igorc3luIG1hdGNoIGFzbVR5cGUgIlwuYnl0ZSIKK3N5biBtYXRjaCBhc21UeXBlICJcLmRvdWJsZSIKK3N5biBtYXRjaCBhc21UeXBlICJcLmZsb2F0Igorc3luIG1hdGNoIGFzbVR5cGUgIlwuaHdvcmQiCitzeW4gbWF0Y2ggYXNtVHlwZSAiXC5pbnQiCitzeW4gbWF0Y2ggYXNtVHlwZSAiXC5vY3RhIgorc3luIG1hdGNoIGFzbVR5cGUgIlwucXVhZCIKK3N5biBtYXRjaCBhc21UeXBlICJcLnNob3J0Igorc3luIG1hdGNoIGFzbVR5cGUgIlwuc2luZ2xlIgorc3luIG1hdGNoIGFzbVR5cGUgIlwuc3BhY2UiCitzeW4gbWF0Y2ggYXNtVHlwZSAiXC5zdHJpbmciCitzeW4gbWF0Y2ggYXNtVHlwZSAiXC53b3JkIgorCitzeW4gbWF0Y2ggYXNtTGFiZWwJCSJbYS16X11bYS16MC05X10qOiJoZT1lLTEKK3N5biBtYXRjaCBhc21JZGVudGlmaWVyCQkiW2Etel9dW2EtejAtOV9dKiIKKworIiBWYXJpb3VzICMncyBhcyBkZWZpbmVkIGJ5IEdBUyByZWYgbWFudWFsIHNlYyAzLjYuMi4xCisiIFRlY2huaWNhbGx5LCB0aGUgZmlyc3QgZGVjTnVtYmVyIGRlZiBpcyBhY3R1YWxseSBvY3RhbCwKKyIgc2luY2UgdGhlIHZhbHVlIG9mIDAtNyBvY3RhbCBpcyB0aGUgc2FtZSBhcyAwLTcgZGVjaW1hbCwKKyIgSSBwcmVmZXIgdG8gbWFwIGl0IGFzIGRlY2ltYWw6CitzeW4gbWF0Y2ggZGVjTnVtYmVyCQkiMFwrWzEtN11cPVtcdFxuJCw7IF0iCitzeW4gbWF0Y2ggZGVjTnVtYmVyCQkiWzEtOV1cZCoiCitzeW4gbWF0Y2ggb2N0TnVtYmVyCQkiMFswLTddWzAtN11cKyIKK3N5biBtYXRjaCBoZXhOdW1iZXIJCSIwW3hYXVswLTlhLWZBLUZdXCsiCitzeW4gbWF0Y2ggYmluTnVtYmVyCQkiMFtiQl1bMC0xXSoiCisKKworc3luIG1hdGNoIGFzbVNwZWNpYWxDb21tZW50CSI7XCpcKlwqLioiCitzeW4gbWF0Y2ggYXNtQ29tbWVudAkJIjsuKiJocz1zKzEKKworc3luIG1hdGNoIGFzbUluY2x1ZGUJCSJcLmluY2x1ZGUiCitzeW4gbWF0Y2ggYXNtQ29uZAkJIlwuaWYiCitzeW4gbWF0Y2ggYXNtQ29uZAkJIlwuZWxzZSIKK3N5biBtYXRjaCBhc21Db25kCQkiXC5lbmRpZiIKK3N5biBtYXRjaCBhc21NYWNybwkJIlwubWFjcm8iCitzeW4gbWF0Y2ggYXNtTWFjcm8JCSJcLmVuZG0iCisKK3N5biBtYXRjaCBhc21EaXJlY3RpdmUJCSJcLlthLXpdW2Etel1cKyIKKworCitzeW4gY2FzZSBtYXRjaAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hc21fc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYXNtX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICBIaUxpbmsgYXNtU2VjdGlvbglTcGVjaWFsCisgIEhpTGluayBhc21MYWJlbAlMYWJlbAorICBIaUxpbmsgYXNtQ29tbWVudAlDb21tZW50CisgIEhpTGluayBhc21EaXJlY3RpdmUJU3RhdGVtZW50CisKKyAgSGlMaW5rIGFzbUluY2x1ZGUJSW5jbHVkZQorICBIaUxpbmsgYXNtQ29uZAlQcmVDb25kaXQKKyAgSGlMaW5rIGFzbU1hY3JvCU1hY3JvCisKKyAgSGlMaW5rIGhleE51bWJlcglOdW1iZXIKKyAgSGlMaW5rIGRlY051bWJlcglOdW1iZXIKKyAgSGlMaW5rIG9jdE51bWJlcglOdW1iZXIKKyAgSGlMaW5rIGJpbk51bWJlcglOdW1iZXIKKworICBIaUxpbmsgYXNtU3BlY2lhbENvbW1lbnQgQ29tbWVudAorICBIaUxpbmsgYXNtSWRlbnRpZmllciBJZGVudGlmaWVyCisgIEhpTGluayBhc21UeXBlCVR5cGUKKworICAiIE15IGRlZmF1bHQgY29sb3Igb3ZlcnJpZGVzOgorICAiIGhpIGFzbVNwZWNpYWxDb21tZW50IGN0ZXJtZmc9cmVkCisgICIgaGkgYXNtSWRlbnRpZmllciBjdGVybWZnPWxpZ2h0Y3lhbgorICAiIGhpIGFzbVR5cGUgY3Rlcm1iZz1ibGFjayBjdGVybWZnPWJyb3duCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFzbSIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FzbTY4ay52aW0gYi9ydW50aW1lL3N5bnRheC9hc202OGsudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NjNlNDgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hc202OGsudmltCkBAIC0wLDAgKzEsMzkxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJTW90b3JvbGEgNjgwMDAgQXNzZW1ibGVyCisiIE1haW50YWluZXI6CVN0ZXZlIFdhbGwKKyIgTGFzdCBjaGFuZ2U6CTIwMDEgTWF5IDAxCisiCisiIFRoaXMgaXMgaW5jb21wbGV0ZS4gIEluIHBhcnRpY3VsYXIsIHN1cHBvcnQgZm9yIDY4MDIwIGFuZAorIiB1cCBhbmQgNjg4NTEvNjg4ODEgY28tcHJvY2Vzc29ycyBpcyBwYXJ0aWFsIG9yIG5vbi1leGlzdGFudC4KKyIgRmVlbCBmcmVlIHRvIGNvbnRyaWJ1dGUuLi4KKyIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBQYXJ0aWFsIGxpc3Qgb2YgcmVnaXN0ZXIgc3ltYm9scworc3luIGtleXdvcmQgYXNtNjhrUmVnCWEwIGExIGEyIGEzIGE0IGE1IGE2IGE3IGQwIGQxIGQyIGQzIGQ0IGQ1IGQ2IGQ3CitzeW4ga2V5d29yZCBhc202OGtSZWcJcGMgc3IgY2NyIHNwIHVzcCBzc3AKKworIiBNQzY4MDEwCitzeW4ga2V5d29yZCBhc202OGtSZWcJdmJyIHNmYyBzZmNyIGRmYyBkZmNyCisKKyIgTUM2ODAyMAorc3luIGtleXdvcmQgYXNtNjhrUmVnCW1zcCBpc3AgenBjIGNhY3IgY2Fhcgorc3luIGtleXdvcmQgYXNtNjhrUmVnCXphMCB6YTEgemEyIHphMyB6YTQgemE1IHphNiB6YTcKK3N5biBrZXl3b3JkIGFzbTY4a1JlZwl6ZDAgemQxIHpkMiB6ZDMgemQ0IHpkNSB6ZDYgemQ3CisKKyIgTUM2ODAzMAorc3luIGtleXdvcmQgYXNtNjhrUmVnCWNycCBzcnAgdGMgYWMwIGFjMSBhY3VzciB0dDAgdHQxIG1tdXNyCisKKyIgTUM2ODA0MAorc3luIGtleXdvcmQgYXNtNjhrUmVnCWR0dDAgZHR0MSBpdHQwIGl0dDEgdXJwCisKKyIgTUM2ODg1MSByZWdpc3RlcnMKK3N5biBrZXl3b3JkIGFzbTY4a1JlZwljYWwgdmFsIHNjYyBjcnAgc3JwIGRycCB0YyBhYyBwc3IgcGNzcgorc3luIGtleXdvcmQgYXNtNjhrUmVnCWJhYzAgYmFjMSBiYWMyIGJhYzMgYmFjNCBiYWM1IGJhYzYgYmFjNworc3luIGtleXdvcmQgYXNtNjhrUmVnCWJhZDAgYmFkMSBiYWQyIGJhZDMgYmFkNCBiYWQ1IGJhZDYgYmFkNworCisiIE1DNjg4ODEvODIgcmVnaXN0ZXJzCitzeW4ga2V5d29yZCBhc202OGtSZWcJZnAwIGZwMSBmcDIgZnAzIGZwNCBmcDUgZnA2IGZwNworc3luIGtleXdvcmQgYXNtNjhrUmVnCWNvbnRyb2wgc3RhdHVzIGlhZGRyIGZwY3IgZnBzciBmcGlhcgorCisiIE02ODAwMCBvcGNvZGVzIC0gb3JkZXIgaXMgaW1wb3J0YW50IQorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxhYmNkXChcLmJcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGFkZGFcKFwuW3dsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YWRkaVwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YWRkcVwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YWRkeFwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YWRkXChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxhbmRpXChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxhbmRcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGFzW2xyXVwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8Ylt2Y11bY3NdXChcLltid2xzXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YmVxXChcLltid2xzXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YmdbZXRdXChcLltid2xzXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YltobV1pXChcLltid2xzXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YmxbZXN0XVwoXC5bYndsc11cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJuZVwoXC5bYndsc11cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJwbFwoXC5bYndsc11cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJjaGdcKFwuW2JsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YmNsclwoXC5bYmxdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxiZmNoZ1xzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxiZmNsclxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxiZmV4dHNccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YmZleHR1XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJmZmZvXHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJmaW5zXHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJmc2V0XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJmdHN0XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJrcHRccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YnJhXChcLltid2xzXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8YnNldFwoXC5bYmxdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxic3JcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGJ0c3RcKFwuW2JsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8Y2FsbG1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8Y2FzMlwoXC5bd2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxjYXNcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGNoazJcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGNoa1woXC5bd2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxjbHJcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGNtcGFcKFwuW3dsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8Y21waVwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8Y21wbVwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8Y21wMlwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8Y21wXChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxkYltjdl1bY3NdXChcLndcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGRiZXFcKFwud1wpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8ZGJbZnRdXChcLndcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGRiZ1tldF1cKFwud1wpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8ZGJbaG1daVwoXC53XClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxkYmxbZXN0XVwoXC53XClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxkYm5lXChcLndcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGRicGxcKFwud1wpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8ZGJyYVwoXC53XClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxkaXZbc3VdXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGRpdltzdV1sXChcLmxcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGVvcmlcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGVvclwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8ZXhnXChcLmxcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGV4dGJcKFwubFwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8ZXh0XChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGlsbGVnYWxcPiIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8am1wXChcLltsc11cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPGpzclwoXC5bbHNdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxsZWFcKFwubFwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8bGlua1woXC5bd2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxsc1tscl1cKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPG1vdmVhXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPG1vdmVjXChcLmxcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPG1vdmVtXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPG1vdmVwXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPG1vdmVxXChcLmxcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPG1vdmVzXChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxtb3ZlXChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxtdWxbc3VdXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPG5iY2RcKFwuYlwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8bmVneFwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8bmVnXChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxub3BcPiIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8bm90XChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxvcmlcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPG9yXChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxwYWNrXHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHBlYVwoXC5sXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxyZXNldFw+Igorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxyb1tscl1cKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHJveFtscl1cKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHJ0W2RtXVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxydFtlcnNdXD4iCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHNiY2RcKFwuYlwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8c1tjdl1bY3NdXChcLmJcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHNlcVwoXC5iXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxzW2Z0XVwoXC5iXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxzZ1tldF1cKFwuYlwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8c1tobV1pXChcLmJcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHNsW2VzdF1cKFwuYlwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8c25lXChcLmJcKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHNwbFwoXC5iXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDxzdWJhXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHN1YmlcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHN1YnFcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHN1YnhcKFwuW2J3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHN1YlwoXC5bYndsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8c3dhcFwoXC53XClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDx0YXNcKFwuYlwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8dGRpdltzdV1cKFwubFwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8dFwocmFwXClcPVtjdl1bY3NdXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHRcKHJhcFwpXD1lcVwoXC5bd2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDx0XChyYXBcKVw9W2Z0XVwoXC5bd2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDx0XChyYXBcKVw9Z1tldF1cKFwuW3dsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8dFwocmFwXClcPVtobV1pXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHRcKHJhcFwpXD1sW2VzdF1cKFwuW3dsXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8dFwocmFwXClcPW5lXChcLlt3bF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHRcKHJhcFwpXD1wbFwoXC5bd2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDx0XChyYXBcKVw9dlw+Igorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDx0XChyYXBcKVw9W2N2XVtjc11cPiIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8dFwocmFwXClcPWVxXD4iCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHRcKHJhcFwpXD1bZnRdXD4iCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHRcKHJhcFwpXD1nW2V0XVw+Igorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDx0XChyYXBcKVw9W2htXWlcPiIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8dFwocmFwXClcPWxbZXN0XVw+Igorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDx0XChyYXBcKVw9bmVcPiIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8dFwocmFwXClcPXBsXD4iCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHRyYXBccyIKK3N5biBtYXRjaCBhc202OGtPcGNvZGUgIlw8dHN0XChcLltid2xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a09wY29kZSAiXDx1bmxrXHMiCitzeW4gbWF0Y2ggYXNtNjhrT3Bjb2RlICJcPHVucGtccyIKKworIiBWYWxpZCBsYWJlbHMKK3N5biBtYXRjaCBhc202OGtMYWJlbAkJIl5bYS16Xz8uXVthLXowLTlfPy4kXSokIgorc3luIG1hdGNoIGFzbTY4a0xhYmVsCQkiXlthLXpfPy5dW2EtejAtOV8/LiRdKlxzImhlPWUtMQorc3luIG1hdGNoIGFzbTY4a0xhYmVsCQkiXlxzKlthLXpfPy5dW2EtejAtOV8/LiRdKjoiaGU9ZS0xCisKKyIgVmFyaW91cyBudW1iZXIgZm9ybWF0cworc3luIG1hdGNoIGhleE51bWJlcgkJIlwkWzAtOWEtZkEtRl1cK1w+Igorc3luIG1hdGNoIGhleE51bWJlcgkJIlw8WzAtOV1bMC05YS1mQS1GXSpIXD4iCitzeW4gbWF0Y2ggb2N0TnVtYmVyCQkiQFswLTddXCtcPiIKK3N5biBtYXRjaCBvY3ROdW1iZXIJCSJcPFswLTddXCtbUU9dXD4iCitzeW4gbWF0Y2ggYmluTnVtYmVyCQkiJVswMV1cK1w+Igorc3luIG1hdGNoIGJpbk51bWJlcgkJIlw8WzAxXVwrQlw+Igorc3luIG1hdGNoIGRlY051bWJlcgkJIlw8WzAtOV1cK0RcPVw+Igorc3luIG1hdGNoIGZsb2F0RQkJIl8qRV8qIiBjb250YWluZWQKK3N5biBtYXRjaCBmbG9hdEV4cG9uZW50CQkiXypFXypbLStdXD1bMC05XVwrIiBjb250YWluZWQgY29udGFpbnM9ZmxvYXRFCitzeW4gbWF0Y2ggZmxvYXROdW1iZXIJCSJbLStdXD1bMC05XVwrXypFXypbLStdXD1bMC05XVwrIiBjb250YWlucz1mbG9hdEV4cG9uZW50CitzeW4gbWF0Y2ggZmxvYXROdW1iZXIJCSJbLStdXD1bMC05XVwrXC5bMC05XVwrXChFWy0rXVw9WzAtOV1cK1wpXD0iIGNvbnRhaW5zPWZsb2F0RXhwb25lbnQKK3N5biBtYXRjaCBmbG9hdE51bWJlcgkJIjpcKFswLTlhLWZdXCtfKlwpXCsiCisKKyIgQ2hhcmFjdGVyIHN0cmluZyBjb25zdGFudHMKK3N5biBtYXRjaCBhc202OGtTdHJpbmdFcnJvcgkiJ1sgLX5dKiciCitzeW4gbWF0Y2ggYXNtNjhrU3RyaW5nRXJyb3IJIidbIC1+XSokIgorc3luIHJlZ2lvbiBhc202OGtTdHJpbmcJCXN0YXJ0PSInIiBza2lwPSInJyIgZW5kPSInIiBvbmVsaW5lIGNvbnRhaW5zPWFzbTY4a0NoYXJFcnJvcgorc3luIG1hdGNoIGFzbTY4a0NoYXJFcnJvcgkiW14gLX5dIiBjb250YWluZWQKKworIiBJbW1lZGlhdGUgZGF0YQorc3luIG1hdGNoIGFzbTY4a0ltbWVkaWF0ZQkiI1wkWzAtOWEtZkEtRl1cKyIgY29udGFpbnM9aGV4TnVtYmVyCitzeW4gbWF0Y2ggYXNtNjhrSW1tZWRpYXRlCSIjWzAtOV1bMC05YS1mQS1GXSpIIiBjb250YWlucz1oZXhOdW1iZXIKK3N5biBtYXRjaCBhc202OGtJbW1lZGlhdGUJIiNAWzAtN11cKyIgY29udGFpbnM9b2N0TnVtYmVyCitzeW4gbWF0Y2ggYXNtNjhrSW1tZWRpYXRlCSIjWzAtN11cK1tRT10iIGNvbnRhaW5zPW9jdE51bWJlcgorc3luIG1hdGNoIGFzbTY4a0ltbWVkaWF0ZQkiIyVbMDFdXCsiIGNvbnRhaW5zPWJpbk51bWJlcgorc3luIG1hdGNoIGFzbTY4a0ltbWVkaWF0ZQkiI1swMV1cK0IiIGNvbnRhaW5zPWJpbk51bWJlcgorc3luIG1hdGNoIGFzbTY4a0ltbWVkaWF0ZQkiI1swLTldXCtEXD0iIGNvbnRhaW5zPWRlY051bWJlcgorc3luIG1hdGNoIGFzbTY4a1N5bWJvbAkJIlthLXpfPy5dW2EtejAtOV8/LiRdKiIgY29udGFpbmVkCitzeW4gbWF0Y2ggYXNtNjhrSW1tZWRpYXRlCSIjW2Etel8/Ll1bYS16MC05Xz8uXSoiIGNvbnRhaW5zPWFzbTY4a1N5bWJvbAorCisiIFNwZWNpYWwgaXRlbXMgZm9yIGNvbW1lbnRzCitzeW4ga2V5d29yZCBhc202OGtUb2RvCQljb250YWluZWQgVE9ETworCisiIE9wZXJhdG9ycworc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSJbLSsqL10iCSIgTXVzdCBvY2N1ciBiZWZvcmUgQ29tbWVudHMKK3N5biBtYXRjaCBhc202OGtPcGVyYXRvcgkiXC5TSVpFT0ZcLiIKK3N5biBtYXRjaCBhc202OGtPcGVyYXRvcgkiXC5TVEFSVE9GXC4iCitzeW4gbWF0Y2ggYXNtNjhrT3BlcmF0b3IJIjw8IgkJIiBzaGlmdCBsZWZ0CitzeW4gbWF0Y2ggYXNtNjhrT3BlcmF0b3IJIj4+IgkJIiBzaGlmdCByaWdodAorc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSImIgkJIiBiaXQtd2lzZSBsb2dpY2FsIGFuZAorc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSIhIgkJIiBiaXQtd2lzZSBsb2dpY2FsIG9yCitzeW4gbWF0Y2ggYXNtNjhrT3BlcmF0b3IJIiEhIgkJIiBleGNsdXNpdmUgb3IKK3N5biBtYXRjaCBhc202OGtPcGVyYXRvcgkiPD4iCQkiIGluZXF1YWxpdHkKK3N5biBtYXRjaCBhc202OGtPcGVyYXRvcgkiPSIJCSIgbXVzdCBiZSBiZWZvcmUgb3RoZXIgb3BzIGNvbnRhaW5pbmcgJz0nCitzeW4gbWF0Y2ggYXNtNjhrT3BlcmF0b3IJIj49Igorc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSI8PSIKK3N5biBtYXRjaCBhc202OGtPcGVyYXRvcgkiPT0iCQkiIG9wZXJhbmQgZXhpc3RhbmNlIC0gdXNlZCBpbiBtYWNybyBkZWZpbml0aW9ucworCisiIENvbmRpdGlvbiBjb2RlIHN0eWxlIG9wZXJhdG9ycworc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSI8W0NWXVtDU10+Igorc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSI8RVE+Igorc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSI8R1tURV0+Igorc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSI8W0hNXUk+Igorc3luIG1hdGNoIGFzbTY4a09wZXJhdG9yCSI8TFtTRVRdPiIKK3N5biBtYXRjaCBhc202OGtPcGVyYXRvcgkiPE5FPiIKK3N5biBtYXRjaCBhc202OGtPcGVyYXRvcgkiPFBMPiIKKworIiBDb21tZW50cworc3luIG1hdGNoIGFzbTY4a0NvbW1lbnQJCSI7LioiIGNvbnRhaW5zPWFzbTY4a1RvZG8KK3N5biBtYXRjaCBhc202OGtDb21tZW50CQkiXHMhLioibXM9cysxIGNvbnRhaW5zPWFzbTY4a1RvZG8KK3N5biBtYXRjaCBhc202OGtDb21tZW50CQkiXlxzKlsqIV0uKiIgY29udGFpbnM9YXNtNjhrVG9kbworCisiIEluY2x1ZGUKK3N5biBtYXRjaCBhc202OGtJbmNsdWRlCQkiXDxJTkNMVURFXHMiCisKKyIgU3RhbmRhcmQgbWFjcm9zCitzeW4gbWF0Y2ggYXNtNjhrQ29uZAkJIlw8SUZcKFwuW0JXTF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrQ29uZAkJIlw8VEhFTlwoXC5bU0xdXClcPVw+Igorc3luIG1hdGNoIGFzbTY4a0NvbmQJCSJcPEVMU0VcKFwuW1NMXVwpXD1cPiIKK3N5biBtYXRjaCBhc202OGtDb25kCQkiXDxFTkRJXD4iCitzeW4gbWF0Y2ggYXNtNjhrQ29uZAkJIlw8QlJFQUtcKFwuW1NMXVwpXD1cPiIKK3N5biBtYXRjaCBhc202OGtSZXBlYXQJCSJcPEZPUlwoXC5bQldMXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtSZXBlYXQJCSJcPERPV05UT1xzIgorc3luIG1hdGNoIGFzbTY4a1JlcGVhdAkJIlw8VE9ccyIKK3N5biBtYXRjaCBhc202OGtSZXBlYXQJCSJcPEJZXHMiCitzeW4gbWF0Y2ggYXNtNjhrUmVwZWF0CQkiXDxET1woXC5bU0xdXClcPVw+Igorc3luIG1hdGNoIGFzbTY4a1JlcGVhdAkJIlw8RU5ERlw+Igorc3luIG1hdGNoIGFzbTY4a1JlcGVhdAkJIlw8TkVYVFwoXC5bU0xdXClcPVw+Igorc3luIG1hdGNoIGFzbTY4a1JlcGVhdAkJIlw8UkVQRUFUXD4iCitzeW4gbWF0Y2ggYXNtNjhrUmVwZWF0CQkiXDxVTlRJTFwoXC5bQldMXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtSZXBlYXQJCSJcPFdISUxFXChcLltCV0xdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a1JlcGVhdAkJIlw8RU5EV1w+IgorCisiIE1hY3JvIGRlZmluaXRpb24KK3N5biBtYXRjaCBhc202OGtNYWNybwkJIlw8TUFDUk9cPiIKK3N5biBtYXRjaCBhc202OGtNYWNybwkJIlw8TE9DQUxccyIKK3N5biBtYXRjaCBhc202OGtNYWNybwkJIlw8TUVYSVRcPiIKK3N5biBtYXRjaCBhc202OGtNYWNybwkJIlw8RU5ETVw+Igorc3luIG1hdGNoIGFzbTY4a01hY3JvUGFyYW0JIlxcWzAtOV0iCisKKyIgQ29uZGl0aW9uYWwgYXNzZW1ibHkKK3N5biBtYXRjaCBhc202OGtQcmVDb25kCQkiXDxJRkNccyIKK3N5biBtYXRjaCBhc202OGtQcmVDb25kCQkiXDxJRkRFRlxzIgorc3luIG1hdGNoIGFzbTY4a1ByZUNvbmQJCSJcPElGRVFccyIKK3N5biBtYXRjaCBhc202OGtQcmVDb25kCQkiXDxJRkdFXHMiCitzeW4gbWF0Y2ggYXNtNjhrUHJlQ29uZAkJIlw8SUZHVFxzIgorc3luIG1hdGNoIGFzbTY4a1ByZUNvbmQJCSJcPElGTEVccyIKK3N5biBtYXRjaCBhc202OGtQcmVDb25kCQkiXDxJRkxUXHMiCitzeW4gbWF0Y2ggYXNtNjhrUHJlQ29uZAkJIlw8SUZOQ1w+Igorc3luIG1hdGNoIGFzbTY4a1ByZUNvbmQJCSJcPElGTkRFRlxzIgorc3luIG1hdGNoIGFzbTY4a1ByZUNvbmQJCSJcPElGTkVccyIKK3N5biBtYXRjaCBhc202OGtQcmVDb25kCQkiXDxFTFNFQ1w+Igorc3luIG1hdGNoIGFzbTY4a1ByZUNvbmQJCSJcPEVORENcPiIKKworIiBMb29wIGNvbnRyb2wKK3N5biBtYXRjaCBhc202OGtQcmVDb25kCQkiXDxSRVBUXHMiCitzeW4gbWF0Y2ggYXNtNjhrUHJlQ29uZAkJIlw8SVJQXHMiCitzeW4gbWF0Y2ggYXNtNjhrUHJlQ29uZAkJIlw8SVJQQ1xzIgorc3luIG1hdGNoIGFzbTY4a1ByZUNvbmQJCSJcPEVORFJcPiIKKworIiBEaXJlY3RpdmVzCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPEFMSUdOXHMiCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPENISVBccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8Q09NTElORVxzIgorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxDT01NT05cKFwuU1wpXD1ccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8RENcKFwuW0JXTFNEWFBdXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxEQ1wuXFxbMC05XVxzIm1lPWUtMwkiIFNwZWNpYWwgdXNlIGluIGEgbWFjcm8gZGVmCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPERDQlwoXC5bQldMU0RYUF1cKVw9XHMiCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPERTXChcLltCV0xTRFhQXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8RU5EXD4iCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPEVRVVxzIgorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxGRVFVXChcLltTRFhQXVwpXD1ccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8RkFJTFw+Igorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxGT1BUXHMiCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPFwoTk9cKVw9Rk9STUFUXD4iCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPElETlRcPiIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8XChOT1wpXD1MSVNUXD4iCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPExMRU5ccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8TUFTSzJcPiIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8TkFNRVxzIgorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxOT09CSlw+Igorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxPRkZTRVRccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8T1BUXD4iCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPE9SR1woXC5bU0xdXClcPVw+Igorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxcKE5PXClcPVBBR0VcPiIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8UExFTlxzIgorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxSRUdccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8UkVTVE9SRVw+Igorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxTQVZFXD4iCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPFNFQ1RcKFwuU1wpXD1ccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8U0VDVElPTlwoXC5TXClcPVxzIgorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxTRVRccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8U1BDXHMiCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPFRUTFxzIgorc3luIG1hdGNoIGFzbTY4a0RpcmVjdGl2ZQkiXDxYQ09NXHMiCitzeW4gbWF0Y2ggYXNtNjhrRGlyZWN0aXZlCSJcPFhERUZccyIKK3N5biBtYXRjaCBhc202OGtEaXJlY3RpdmUJIlw8WFJFRlwoXC5TXClcPVxzIgorCitzeW4gY2FzZSBtYXRjaAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hc202OGtfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYXNtNjhrX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICAiIENvbW1lbnQgQ29uc3RhbnQgRXJyb3IgSWRlbnRpZmllciBQcmVQcm9jIFNwZWNpYWwgU3RhdGVtZW50IFRvZG8gVHlwZQorICAiCisgICIgQ29uc3RhbnQJCUJvb2xlYW4gQ2hhcmFjdGVyIE51bWJlciBTdHJpbmcKKyAgIiBJZGVudGlmaWVyCQlGdW5jdGlvbgorICAiIFByZVByb2MJCURlZmluZSBJbmNsdWRlIE1hY3JvIFByZUNvbmRpdAorICAiIFNwZWNpYWwJCURlYnVnIERlbGltaXRlciBTcGVjaWFsQ2hhciBTcGVjaWFsQ29tbWVudCBUYWcKKyAgIiBTdGF0ZW1lbnQJCUNvbmRpdGlvbmFsIEV4Y2VwdGlvbiBLZXl3b3JkIExhYmVsIE9wZXJhdG9yIFJlcGVhdAorICAiIFR5cGUJCVN0b3JhZ2VDbGFzcyBTdHJ1Y3R1cmUgVHlwZWRlZgorCisgIEhpTGluayBhc202OGtDb21tZW50CQlDb21tZW50CisgIEhpTGluayBhc202OGtUb2RvCQlUb2RvCisKKyAgSGlMaW5rIGhleE51bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50CisgIEhpTGluayBvY3ROdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAorICBIaUxpbmsgYmluTnVtYmVyCQlOdW1iZXIJCSIgQ29uc3RhbnQKKyAgSGlMaW5rIGRlY051bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50CisgIEhpTGluayBmbG9hdE51bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50CisgIEhpTGluayBmbG9hdEV4cG9uZW50CQlOdW1iZXIJCSIgQ29uc3RhbnQKKyAgSGlMaW5rIGZsb2F0RQkJCVNwZWNpYWxDaGFyCSIgU3RhdGVtZW50CisgICJIaUxpbmsgZmxvYXRFCQlOdW1iZXIJCSIgQ29uc3RhbnQKKworICBIaUxpbmsgYXNtNjhrSW1tZWRpYXRlCVNwZWNpYWxDaGFyCSIgU3RhdGVtZW50CisgICJIaUxpbmsgYXNtNjhrU3ltYm9sCQlDb25zdGFudAorCisgIEhpTGluayBhc202OGtTdHJpbmcJCVN0cmluZwkJIiBDb25zdGFudAorICBIaUxpbmsgYXNtNjhrQ2hhckVycm9yCUVycm9yCisgIEhpTGluayBhc202OGtTdHJpbmdFcnJvcglFcnJvcgorCisgIEhpTGluayBhc202OGtSZWcJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGFzbTY4a09wZXJhdG9yCQlJZGVudGlmaWVyCisKKyAgSGlMaW5rIGFzbTY4a0luY2x1ZGUJCUluY2x1ZGUJCSIgUHJlUHJvYworICBIaUxpbmsgYXNtNjhrTWFjcm8JCU1hY3JvCQkiIFByZVByb2MKKyAgSGlMaW5rIGFzbTY4a01hY3JvUGFyYW0JS2V5d29yZAkJIiBTdGF0ZW1lbnQKKworICBIaUxpbmsgYXNtNjhrRGlyZWN0aXZlCVNwZWNpYWwKKyAgSGlMaW5rIGFzbTY4a1ByZUNvbmQJCVNwZWNpYWwKKworCisgIEhpTGluayBhc202OGtPcGNvZGUJCVN0YXRlbWVudAorICBIaUxpbmsgYXNtNjhrQ29uZAkJQ29uZGl0aW9uYWwJIiBTdGF0ZW1lbnQKKyAgSGlMaW5rIGFzbTY4a1JlcGVhdAkJUmVwZWF0CQkiIFN0YXRlbWVudAorCisgIEhpTGluayBhc202OGtMYWJlbAkJVHlwZQorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYXNtNjhrIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hc21oODMwMC52aW0gYi9ydW50aW1lL3N5bnRheC9hc21oODMwMC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg2OTlkOAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FzbWg4MzAwLnZpbQpAQCAtMCwwICsxLDg1IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSGl0YWNoaSBILTgzMDBoIHNwZWNpZmljIHN5bnRheCBmb3IgR05VIEFzc2VtYmxlcgorIiBNYWludGFpbmVyOglLZXZpbiBEYWhsaGF1c2VuIDxrZGFobGhhdXNAeWFob28uY29tPgorIiBMYXN0IENoYW5nZToJMjAwMiBTZXAgMTkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworc3luIG1hdGNoIGFzbURpcmVjdGl2ZSAiXC5oODMwMFtoXSoiCisKKyJoODMwMFtoXSByZWdpc3RlcnMKK3N5biBtYXRjaCBhc21SZWcJImVcPXJbMC03XVtsaF1cPSIKKworImg4MzAwW2hdIG9wY29kZXMgLSBvcmRlciBpcyBpbXBvcnRhbnQhCitzeW4gbWF0Y2ggYXNtT3Bjb2RlICJhZGRcLltsYnddIgorc3luIG1hdGNoIGFzbU9wY29kZSAiYWRkW3N4IDpdIgorc3luIG1hdGNoIGFzbU9wY29kZSAiYW5kXC5bbGJ3XSIKK3N5biBtYXRjaCBhc21PcGNvZGUgImJsW2Rlb3RzXSIKK3N5biBtYXRjaCBhc21PcGNvZGUgImNtcFwuW2xid10iCitzeW4gbWF0Y2ggYXNtT3Bjb2RlICJkZWNcLltsYnddIgorc3luIG1hdGNoIGFzbU9wY29kZSAiZGl2eFt1c10uW2J3XSIKK3N5biBtYXRjaCBhc21PcGNvZGUgImV4dFtzdV1cLltsd10iCitzeW4gbWF0Y2ggYXNtT3Bjb2RlICJpbmNcLltsd10iCitzeW4gbWF0Y2ggYXNtT3Bjb2RlICJtb3ZcLltsYnddIgorc3luIG1hdGNoIGFzbU9wY29kZSAibXVseFtzdV1cLltid10iCitzeW4gbWF0Y2ggYXNtT3Bjb2RlICJuZWdcLltsYnddIgorc3luIG1hdGNoIGFzbU9wY29kZSAibm90XC5bbGJ3XSIKK3N5biBtYXRjaCBhc21PcGNvZGUgIm9yXC5bbGJ3XSIKK3N5biBtYXRjaCBhc21PcGNvZGUgInBvcFwuW3dsXSIKK3N5biBtYXRjaCBhc21PcGNvZGUgInB1c2hcLlt3bF0iCitzeW4gbWF0Y2ggYXNtT3Bjb2RlICJyb3R4XD1bbHJdXC5bbGJ3XSIKK3N5biBtYXRjaCBhc21PcGNvZGUgInNoYVtscl1cLltsYnddIgorc3luIG1hdGNoIGFzbU9wY29kZSAic2hsW2xyXVwuW2xid10iCitzeW4gbWF0Y2ggYXNtT3Bjb2RlICJzdWJcLltsYnddIgorc3luIG1hdGNoIGFzbU9wY29kZSAieG9yXC5bbGJ3XSIKK3N5biBrZXl3b3JkIGFzbU9wY29kZSAiYW5kYyIgImJhbmQiICJiY2MiICJiY2xyIiAiYmNzIiAiYmVxIiAiYmYiICJiZ2UiICJiZ3QiCitzeW4ga2V5d29yZCBhc21PcGNvZGUgImJoaSIgImJocyIgImJpYW5kIiAiYmlsZCIgImJpb3IiICJiaXN0IiAiYml4b3IiICJibWkiCitzeW4ga2V5d29yZCBhc21PcGNvZGUgImJuZSIgImJub3QiICJibnAiICJib3IiICJicGwiICJicHQiICJicmEiICJicm4iICJic2V0Igorc3luIGtleXdvcmQgYXNtT3Bjb2RlICJic3IiICJidHN0IiAiYnN0IiAiYnQiICJidmMiICJidnMiICJieG9yIiAiY21wIiAiZGFhIgorc3luIGtleXdvcmQgYXNtT3Bjb2RlICJkYXMiICJlZXBtb3YiICJlZXBtb3Z3IiAiaW5jIiAiam1wIiAianNyIiAibGRjIiAibW92ZnBlIgorc3luIGtleXdvcmQgYXNtT3Bjb2RlICJtb3Z0cGUiICJtb3YiICJub3AiICJvcmMiICJydGUiICJydHMiICJzbGVlcCIgInN0YyIKK3N5biBrZXl3b3JkIGFzbU9wY29kZSAic3ViIiAidHJhcGEiICJ4b3JjIgorCitzeW4gY2FzZSBtYXRjaAorCisKKyIgUmVhZCB0aGUgZ2VuZXJhbCBhc20gc3ludGF4CitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9hc20udmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9hc20udmltCitlbmRpZgorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2hpdGFjaGlfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfaGl0YWNoaV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhc21PcGNvZGUgIFN0YXRlbWVudAorICBIaUxpbmsgYXNtUmVnaXN0ZXIgIElkZW50aWZpZXIKKworICAiIE15IGRlZmF1bHQtY29sb3Igb3ZlcnJpZGVzOgorICAiaGkgYXNtT3Bjb2RlIGN0ZXJtZmc9eWVsbG93CisgICJoaSBhc21SZWcJY3Rlcm1mZz1saWdodG1hZ2VudGEKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYXNtaDgzMDAiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hc24udmltIGIvcnVudGltZS9zeW50YXgvYXNuLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmMzZDI0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYXNuLnZpbQpAQCAtMCwwICsxLDgxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQVNOLjEKKyIgTWFpbnRhaW5lcjoJQ2xhdWRpbyBGbGVpbmVyIDxjbGF1ZGlvQGZsZWluZXIuY29tPgorIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvYXNuLnZpbQorIiBMYXN0IENoYW5nZToJMjAwMSBBcHIgMjYKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGtleXdvcmQgZGVmaW5pdGlvbnMKK3N5biBrZXl3b3JkIGFzbkV4dGVybmFsCQlERUZJTklUSU9OUyBCRUdJTiBFTkQgSU1QT1JUUyBFWFBPUlRTIEZST00KK3N5biBtYXRjaCAgIGFzbkV4dGVybmFsCQkiXDxJTVBMSUNJVFxzXCtUQUdTXD4iCitzeW4gbWF0Y2ggICBhc25FeHRlcm5hbAkJIlw8RVhQTElDSVRcc1wrVEFHU1w+Igorc3luIGtleXdvcmQgYXNuRmllbGRPcHRpb24JREVGQVVMVCBPUFRJT05BTAorc3luIGtleXdvcmQgYXNuVGFnTW9kaWZpZXIJSU1QTElDSVQgRVhQTElDSVQKK3N5biBrZXl3b3JkIGFzblR5cGVJbmZvCQlBQlNFTlQgUFJFU0VOVCBTSVpFIFVOSVZFUlNBTCBBUFBMSUNBVElPTiBQUklWQVRFCitzeW4ga2V5d29yZCBhc25Cb29sVmFsdWUJVFJVRSBGQUxTRQorc3luIGtleXdvcmQgYXNuTnVtYmVyCQlNSU4gTUFYCitzeW4gbWF0Y2ggICBhc25OdW1iZXIJCSJcPFBMVVMtSU5GSU5JVFlcPiIKK3N5biBtYXRjaCAgIGFzbk51bWJlcgkJIlw8TUlOVVMtSU5GSU5JVFlcPiIKK3N5biBrZXl3b3JkIGFzblR5cGUJCUlOVEVHRVIgUkVBTCBTVFJJTkcgQklUIEJPT0xFQU4gT0NURVQgTlVMTCBFTUJFRERFRCBQRFYKK3N5biBrZXl3b3JkIGFzblR5cGUJCUJNUFN0cmluZyBJQTVTdHJpbmcgVGVsZXRleFN0cmluZyBHZW5lcmFsU3RyaW5nIEdyYXBoaWNTdHJpbmcgSVNPNjQ2U3RyaW5nIE51bWVyaWNTdHJpbmcgUHJpbnRhYmxlU3RyaW5nIFQ2MVN0cmluZyBVbml2ZXJzYWxTdHJpbmcgVmlkZW90ZXhTdHJpbmcgVmlzaWJsZVN0cmluZworc3luIGtleXdvcmQgYXNuVHlwZQkJQU5ZIERFRklORUQKK3N5biBtYXRjaCAgIGFzblR5cGUJCSJcLlwuXC4iCitzeW4gbWF0Y2ggICBhc25UeXBlCQkiT0JKRUNUXHNcK0lERU5USUZJRVIiCitzeW4gbWF0Y2ggICBhc25UeXBlCQkiVFlQRS1JREVOVElGSUVSIgorc3luIGtleXdvcmQgYXNuVHlwZQkJVVRGOFN0cmluZworc3luIGtleXdvcmQgYXNuU3RydWN0dXJlCUNIT0lDRSBTRVFVRU5DRSBTRVQgT0YgRU5VTUVSQVRFRCBDT05TVFJBSU5FRCBCWSBXSVRIIENPTVBPTkVOVFMgQ0xBU1MKKworIiBTdHJpbmdzIGFuZCBjb25zdGFudHMKK3N5biBtYXRjaCAgIGFzblNwZWNpYWwJCWNvbnRhaW5lZCAiXFxcZFxkXGRcfFxcLiIKK3N5biByZWdpb24gIGFzblN0cmluZwkJc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrICBjb250YWlucz1hc25TcGVjaWFsCitzeW4gbWF0Y2ggICBhc25DaGFyYWN0ZXIJIidbXlxcXSciCitzeW4gbWF0Y2ggICBhc25TcGVjaWFsQ2hhcmFjdGVyICInXFwuJyIKK3N5biBtYXRjaCAgIGFzbk51bWJlcgkJIi1cPVw8XGRcK0xcPVw+XHwwW3hYXVswLTlhLWZBLUZdXCtcPiIKK3N5biBtYXRjaCAgIGFzbkxpbmVDb21tZW50CSItLS4qIgorc3luIG1hdGNoICAgYXNuTGluZUNvbW1lbnQJIi0tLiotLSIKKworc3luIG1hdGNoIGFzbkRlZmluaXRpb24gIl5ccypbYS16QS1aXVstYS16QS1aMC05Xy5cW1xdIFx0e31dKiAqOjo9Im1lPWUtMyBjb250YWlucz1hc25UeXBlCitzeW4gbWF0Y2ggYXNuQnJhY2VzICAgICAiW3t9XSIKKworc3luIHN5bmMgY2NvbW1lbnQgYXNuQ29tbWVudAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hc25fc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYXNuX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisgIEhpTGluayBhc25EZWZpbml0aW9uCUZ1bmN0aW9uCisgIEhpTGluayBhc25CcmFjZXMJCUZ1bmN0aW9uCisgIEhpTGluayBhc25TdHJ1Y3R1cmUJU3RhdGVtZW50CisgIEhpTGluayBhc25Cb29sVmFsdWUJQm9vbGVhbgorICBIaUxpbmsgYXNuU3BlY2lhbAkJU3BlY2lhbAorICBIaUxpbmsgYXNuU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIGFzbkNoYXJhY3RlcglDaGFyYWN0ZXIKKyAgSGlMaW5rIGFzblNwZWNpYWxDaGFyYWN0ZXIJYXNuU3BlY2lhbAorICBIaUxpbmsgYXNuTnVtYmVyCQlhc25WYWx1ZQorICBIaUxpbmsgYXNuQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgYXNuTGluZUNvbW1lbnQJYXNuQ29tbWVudAorICBIaUxpbmsgYXNuVHlwZQkJVHlwZQorICBIaUxpbmsgYXNuVHlwZUluZm8JCVByZVByb2MKKyAgSGlMaW5rIGFzblZhbHVlCQlOdW1iZXIKKyAgSGlMaW5rIGFzbkV4dGVybmFsCQlJbmNsdWRlCisgIEhpTGluayBhc25UYWdNb2RpZmllcglGdW5jdGlvbgorICBIaUxpbmsgYXNuRmllbGRPcHRpb24JVHlwZQorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYXNuIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXNwcGVybC52aW0gYi9ydW50aW1lL3N5bnRheC9hc3BwZXJsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjdlZjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYXNwcGVybC52aW0KQEAgLTAsMCArMSwzMyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUFjdGl2ZSBTdGF0ZSdzIFBlcmxTY3JpcHQgKEFTUCkKKyIgTWFpbnRhaW5lcjoJQWFyb24gSG9wZSA8ZWRoQGJyaW9mb3JnZS5jb20+CisiIFVSTDoJCWh0dHA6Ly9uaW0uZGhzLm9yZy9+ZWRoL2FzcHBlcmwudmltCisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgbGV0IG1haW5fc3ludGF4ID0gJ3BlcmxzY3JpcHQnCitlbmRpZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvIDxzZmlsZT46cDpoL2h0bWwudmltCisgIHN5biBpbmNsdWRlIEBBc3BQZXJsU2NyaXB0IDxzZmlsZT46cDpoL3BlcmwudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9odG1sLnZpbQorICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CisgIHN5biBpbmNsdWRlIEBBc3BQZXJsU2NyaXB0IHN5bnRheC9wZXJsLnZpbQorZW5kaWYKKworc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPUFzcFBlcmxTY3JpcHRJbnNpZGVIdG1sVGFncworCitzeW4gcmVnaW9uICBBc3BQZXJsU2NyaXB0SW5zaWRlSHRtbFRhZ3Mga2VlcGVuZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0rPCU9XD0rIHNraXA9KyIuKiU+LioiKyBlbmQ9KyU+KyBjb250YWlucz1AQXNwUGVybFNjcmlwdAorc3luIHJlZ2lvbiAgQXNwUGVybFNjcmlwdEluc2lkZUh0bWxUYWdzIGtlZXBlbmQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9KzxzY3JpcHRcc1wrbGFuZ3VhZ2U9Ilw9cGVybHNjcmlwdCJcPVtePl0qPisgZW5kPSs8L3NjcmlwdD4rIGNvbnRhaW5zPUBBc3BQZXJsU2NyaXB0CisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFzcHBlcmwiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hc3B2YnMudmltIGIvcnVudGltZS9zeW50YXgvYXNwdmJzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDI3OTFjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYXNwdmJzLnZpbQpAQCAtMCwwICsxLDE5NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1pY3Jvc29mdCBWQlNjcmlwdCBXZWIgQ29udGVudCAoQVNQKQorIiBNYWludGFpbmVyOglEZXZpbiBXZWF2ZXIgPGt0b2hnQHRyaXRhcmdldC5jb20+CisiIFVSTDoJCWh0dHA6Ly90cml0YXJnZXQuY29tL3B1Yi92aW0vc3ludGF4L2FzcHZicy52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgQXByIDI1CisiIFZlcnNpb246CSRSZXZpc2lvbiQKKyIgVGhhbmtzIHRvIEpheS1KYXkgPHZpbUBqYXktamF5Lm5ldD4gZm9yIGEgc3ludGF4IHN5bmMgaGFjaywgaHVuZ2FyaWFuCisiIG5vdGF0aW9uLCBhbmQgZXh0cmEgaGlnaGxpZ2h0aW5nLgorIiBUaGFua3MgdG8gcGF0cmljayBkZWhuZSA8cGF0cmlja0BzdGVpZGxlLm5ldD4gZm9yIHRoZSBmb2xkaW5nIGNvZGUuCisiIFRoYW5rcyB0byBEZWFuIEhhbGwgPGhhbGxAYXB0Ny5jb20+IGZvciB0ZXN0aW5nIHRoZSB1c2Ugb2YgY2xhc3NlcyBpbgorIiBWQlNjcmlwdHMgd2hpY2ggSSd2ZSBiZWVuIHRvbyBzY2FyZWQgdG8gZG8uCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAnYXNwdmJzJworZW5kaWYKKworaWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvaHRtbC52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCitlbmRpZgordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCitzeW4gY2x1c3RlciBodG1sUHJlUHJvYyBhZGQ9QXNwVkJTY3JpcHRJbnNpZGVIdG1sVGFncworCisKKyIgQ29sb3JlZCB2YXJpYWJsZSBuYW1lcywgaWYgd3JpdHRlbiBpbiBodW5nYXJpYW4gbm90YXRpb24KK2hpIGRlZiBBc3BWQlNWYXJpYWJsZVNpbXBsZSAgIHRlcm09c3RhbmRvdXQgIGN0ZXJtZmc9MyAgZ3VpZmc9Izk5ZWU5OQoraGkgZGVmIEFzcFZCU1ZhcmlhYmxlQ29tcGxleCAgdGVybT1zdGFuZG91dCAgY3Rlcm1mZz0zICBndWlmZz0jZWU5OTAwCitzeW4gbWF0Y2ggQXNwVkJTVmFyaWFibGVTaW1wbGUgIGNvbnRhaW5lZCAiXDxcKGJsblx8Ynl0XHxkdG1cPVx8ZGJsXHxpbnRcfHN0clwpXHVcdyoiCitzeW4gbWF0Y2ggQXNwVkJTVmFyaWFibGVDb21wbGV4IGNvbnRhaW5lZCAiXDxcKGFyclx8b2JqXClcdVx3KiIKKworCisiIEZ1bmN0aW9ucyBhbmQgbWV0aG9kcyB0aGF0IGFyZSBpbiBWQiBidXQgd2lsbCBjYXVzZSBlcnJvcnMgaW4gYW4gQVNQIHBhZ2UKKyIgVGhpcyBpcyBoZWxwZnVsbCBpZiB5b3VyIHBvcnRpbmcgVkIgY29kZSB0byBBU1AKKyIgSSByZW1vdmVkIChDb3VudCwgSXRlbSkgYmVjYXVzZSB0aGVzZSBhcmUgY29tbW9uIHZhcmlhYmxlIG5hbWVzIGluIEFzcFZCU2NyaXB0CitzeW4ga2V5d29yZCBBc3BWQlNFcnJvciBjb250YWluZWQgVmFsIFN0ciBDVmFyIENWRGF0ZSBEb0V2ZW50cyBHb1N1YiBSZXR1cm4gR29Ubworc3luIGtleXdvcmQgQXNwVkJTRXJyb3IgY29udGFpbmVkIFN0b3AgTGlua0V4ZWN1dGUgQWRkIFR5cGUgTGlua1Bva2UKK3N5biBrZXl3b3JkIEFzcFZCU0Vycm9yIGNvbnRhaW5lZCBMaW5rUmVxdWVzdCBMaW5rU2VuZCBEZWNsYXJlIE9wdGlvbmFsIFNsZWVwCitzeW4ga2V5d29yZCBBc3BWQlNFcnJvciBjb250YWluZWQgUGFyYW1BcnJheSBTdGF0aWMgRXJsIFR5cGVPZiBMaWtlIExTZXQgUlNldCBNaWQgU3RyQ29udgorIiBJdCBtYXkgc2VlbSB0aGF0IG1vc3Qgb2YgdGhlc2UgY2FuIGZpdCBpbnRvIGEga2V5d29yZCBjbGF1c2UgYnV0IGtleXdvcmQgdGFrZXMKKyIgcHJpb3JpdHkgb3ZlciBhbGwgc28gSSBjYW4ndCBnZXQgdGhlIG11bHRpLXdvcmQgbWF0Y2hlcworc3luIG1hdGNoIEFzcFZCU0Vycm9yIGNvbnRhaW5lZCAiXDxEZWZbYS16QS1aMC05X11cK1w+Igorc3luIG1hdGNoIEFzcFZCU0Vycm9yIGNvbnRhaW5lZCAiXlxzKk9wZW5cc1wrIgorc3luIG1hdGNoIEFzcFZCU0Vycm9yIGNvbnRhaW5lZCAiRGVidWdcLlthLXpBLVowLTlfXSoiCitzeW4gbWF0Y2ggQXNwVkJTRXJyb3IgY29udGFpbmVkICJeXHMqW2EtekEtWjAtOV9dXCs6Igorc3luIG1hdGNoIEFzcFZCU0Vycm9yIGNvbnRhaW5lZCAiW2EtekEtWjAtOV9dXCshW2EtekEtWjAtOV9dXCsiCitzeW4gbWF0Y2ggQXNwVkJTRXJyb3IgY29udGFpbmVkICJeXHMqIy4qJCIKK3N5biBtYXRjaCBBc3BWQlNFcnJvciBjb250YWluZWQgIlw8QXNcc1wrW2EtekEtWjAtOV9dKiIKK3N5biBtYXRjaCBBc3BWQlNFcnJvciBjb250YWluZWQgIlw8RW5kXD5cfFw8RXhpdFw+Igorc3luIG1hdGNoIEFzcFZCU0Vycm9yIGNvbnRhaW5lZCAiXDxPblxzXCtFcnJvclw+XHxcPE9uXD5cfFw8RXJyb3JcPlx8XDxSZXN1bWVcc1wrTmV4dFw+XHxcPFJlc3VtZVw+Igorc3luIG1hdGNoIEFzcFZCU0Vycm9yIGNvbnRhaW5lZCAiXDxPcHRpb25cc1wrXChCYXNlXHxDb21wYXJlXHxQcml2YXRlXHNcK01vZHVsZVwpXD4iCisiIFRoaXMgb25lIEkgd2FudCAnY2F1c2UgSSBhbHdheXMgc2VlbSB0byBtaXMtc3BlbGwgaXQuCitzeW4gbWF0Y2ggQXNwVkJTRXJyb3IgY29udGFpbmVkICJSZXNwb25cP2NlXC5cUyoiCitzeW4gbWF0Y2ggQXNwVkJTRXJyb3IgY29udGFpbmVkICJSZXNwb3NlXC5cUyoiCisiIFdoZW4gSSBsb29rZWQgdXAgdGhlIFZCU2NyaXB0IHN5bnRheCBpdCBtZW50aW9uZWQgdGhhdCBQcm9wZXJ0eSBHZXQvU2V0L0xldAorIiBzdGF0ZW1lbnRzIGFyZSBpbGxlZ2FsLCBob3dldmVyLCBJIGhhdmUgcmVjaXZlZCByZXBvcnRzIHRoYXQgdGhleSBkbyB3b3JrLgorIiBTbyBJIGNvbW1lbnRlZCBpdCBvdXQgZm9yIG5vdy4KKyIgc3luIG1hdGNoIEFzcFZCU0Vycm9yIGNvbnRhaW5lZCAiXDxQcm9wZXJ0eVxzXCtcKEdldFx8TGV0XHxTZXRcKVw+IgorCisiIEFzcFZCU2NyaXB0IFJlc2VydmVkIFdvcmRzLgorc3luIG1hdGNoIEFzcFZCU1N0YXRlbWVudCBjb250YWluZWQgIlw8T25cc1wrRXJyb3Jcc1wrXChSZXN1bWVcc1wrTmV4dFx8Z290b1xzXCswXClcPlx8XDxOZXh0XD4iCitzeW4gbWF0Y2ggQXNwVkJTU3RhdGVtZW50IGNvbnRhaW5lZCAiXDxFbmRcc1wrXChJZlx8Rm9yXHxTZWxlY3RcfENsYXNzXHxGdW5jdGlvblx8U3ViXHxXaXRoXClcPiIKK3N5biBtYXRjaCBBc3BWQlNTdGF0ZW1lbnQgY29udGFpbmVkICJcPEV4aXRcc1wrXChEb1x8Rm9yXHxTdWJcfEZ1bmN0aW9uXClcPiIKK3N5biBtYXRjaCBBc3BWQlNTdGF0ZW1lbnQgY29udGFpbmVkICJcPE9wdGlvblxzXCtFeHBsaWNpdFw+Igorc3luIG1hdGNoIEFzcFZCU1N0YXRlbWVudCBjb250YWluZWQgIlw8Rm9yXHNcK0VhY2hcPlx8XDxGb3JcPiIKK3N5biBtYXRjaCBBc3BWQlNTdGF0ZW1lbnQgY29udGFpbmVkICJcPFNldFw+Igorc3luIGtleXdvcmQgQXNwVkJTU3RhdGVtZW50IGNvbnRhaW5lZCBDYWxsIENsYXNzIENvbnN0IERlZmF1bHQgRGltIERvIExvb3AgRXJhc2UgQW5kCitzeW4ga2V5d29yZCBBc3BWQlNTdGF0ZW1lbnQgY29udGFpbmVkIEZ1bmN0aW9uIElmIFRoZW4gRWxzZSBFbHNlSWYgT3IKK3N5biBrZXl3b3JkIEFzcFZCU1N0YXRlbWVudCBjb250YWluZWQgUHJpdmF0ZSBQdWJsaWMgUmFuZG9taXplIFJlRGltCitzeW4ga2V5d29yZCBBc3BWQlNTdGF0ZW1lbnQgY29udGFpbmVkIFNlbGVjdCBDYXNlIFN1YiBXaGlsZSBXaXRoIFdlbmQgTm90CisKKyIgQXNwVkJTY3JpcHQgRnVuY3Rpb25zCitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgQWJzIEFycmF5IEFzYyBBdG4gQ0Jvb2wgQ0J5dGUgQ0N1ciBDRGF0ZSBDRGJsCitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgQ2hyIENJbnQgQ0xuZyBDb3MgQ3JlYXRlT2JqZWN0IENTbmcgQ1N0ciBEYXRlCitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgRGF0ZUFkZCBEYXRlRGlmZiBEYXRlUGFydCBEYXRlU2VyaWFsIERhdGVWYWx1ZQorc3luIGtleXdvcmQgQXNwVkJTRnVuY3Rpb24gY29udGFpbmVkIERhdGUgRGF5IEV4cCBGaWx0ZXIgRml4IEZvcm1hdEN1cnJlbmN5CitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgRm9ybWF0RGF0ZVRpbWUgRm9ybWF0TnVtYmVyIEZvcm1hdFBlcmNlbnQKK3N5biBrZXl3b3JkIEFzcFZCU0Z1bmN0aW9uIGNvbnRhaW5lZCBHZXRPYmplY3QgSGV4IEhvdXIgSW5wdXRCb3ggSW5TdHIgSW5TdHJSZXYgSW50CitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgSXNBcnJheSBJc0RhdGUgSXNFbXB0eSBJc051bGwgSXNOdW1lcmljCitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgSXNPYmplY3QgSm9pbiBMQm91bmQgTENhc2UgTGVmdCBMZW4gTG9hZFBpY3R1cmUKK3N5biBrZXl3b3JkIEFzcFZCU0Z1bmN0aW9uIGNvbnRhaW5lZCBMb2cgTFRyaW0gTWlkIE1pbnV0ZSBNb250aCBNb250aE5hbWUgTXNnQm94IE5vdworc3luIGtleXdvcmQgQXNwVkJTRnVuY3Rpb24gY29udGFpbmVkIE9jdCBSZXBsYWNlIFJHQiBSaWdodCBSbmQgUm91bmQgUlRyaW0KK3N5biBrZXl3b3JkIEFzcFZCU0Z1bmN0aW9uIGNvbnRhaW5lZCBTY3JpcHRFbmdpbmUgU2NyaXB0RW5naW5lQnVpbGRWZXJzaW9uCitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgU2NyaXB0RW5naW5lTWFqb3JWZXJzaW9uCitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgU2NyaXB0RW5naW5lTWlub3JWZXJzaW9uIFNlY29uZCBTZ24gU2luIFNwYWNlCitzeW4ga2V5d29yZCBBc3BWQlNGdW5jdGlvbiBjb250YWluZWQgU3BsaXQgU3FyIFN0ckNvbXAgU3RyUmV2ZXJzZSBTdHJpbmcgVGFuIFRpbWUgVGltZXIKK3N5biBrZXl3b3JkIEFzcFZCU0Z1bmN0aW9uIGNvbnRhaW5lZCBUaW1lU2VyaWFsIFRpbWVWYWx1ZSBUcmltIFR5cGVOYW1lIFVCb3VuZCBVQ2FzZQorc3luIGtleXdvcmQgQXNwVkJTRnVuY3Rpb24gY29udGFpbmVkIFZhclR5cGUgV2Vla2RheSBXZWVrZGF5TmFtZSBZZWFyCisKKyIgQXNwVkJTY3JpcHQgTWV0aG9kcworc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgQWRkIEFkZEZvbGRlcnMgQnVpbGRQYXRoIENsZWFyIENsb3NlIENvcHkKK3N5biBrZXl3b3JkIEFzcFZCU01ldGhvZHMgY29udGFpbmVkIENvcHlGaWxlIENvcHlGb2xkZXIgQ3JlYXRlRm9sZGVyIENyZWF0ZVRleHRGaWxlCitzeW4ga2V5d29yZCBBc3BWQlNNZXRob2RzIGNvbnRhaW5lZCBEZWxldGUgRGVsZXRlRmlsZSBEZWxldGVGb2xkZXIgRHJpdmVFeGlzdHMKK3N5biBrZXl3b3JkIEFzcFZCU01ldGhvZHMgY29udGFpbmVkIEV4aXN0cyBGaWxlRXhpc3RzIEZvbGRlckV4aXN0cworc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgR2V0QWJzb2x1dGVQYXRoTmFtZSBHZXRCYXNlTmFtZSBHZXREcml2ZQorc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgR2V0RHJpdmVOYW1lIEdldEV4dGVuc2lvbk5hbWUgR2V0RmlsZQorc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgR2V0RmlsZU5hbWUgR2V0Rm9sZGVyIEdldFBhcmVudEZvbGRlck5hbWUKK3N5biBrZXl3b3JkIEFzcFZCU01ldGhvZHMgY29udGFpbmVkIEdldFNwZWNpYWxGb2xkZXIgR2V0VGVtcE5hbWUgSXRlbXMgS2V5cyBNb3ZlCitzeW4ga2V5d29yZCBBc3BWQlNNZXRob2RzIGNvbnRhaW5lZCBNb3ZlRmlsZSBNb3ZlRm9sZGVyIE9wZW5Bc1RleHRTdHJlYW0KK3N5biBrZXl3b3JkIEFzcFZCU01ldGhvZHMgY29udGFpbmVkIE9wZW5UZXh0RmlsZSBSYWlzZSBSZWFkIFJlYWRBbGwgUmVhZExpbmUgUmVtb3ZlCitzeW4ga2V5d29yZCBBc3BWQlNNZXRob2RzIGNvbnRhaW5lZCBSZW1vdmVBbGwgU2tpcCBTa2lwTGluZSBXcml0ZSBXcml0ZUJsYW5rTGluZXMKK3N5biBrZXl3b3JkIEFzcFZCU01ldGhvZHMgY29udGFpbmVkIFdyaXRlTGluZQorc3luIG1hdGNoIEFzcFZCU01ldGhvZHMgY29udGFpbmVkICJSZXNwb25zZVwuXFMqIgorIiBDb2xvcml6ZSBib29sZWFuIGNvbnN0YW50czoKK3N5biBrZXl3b3JkIEFzcFZCU01ldGhvZHMgY29udGFpbmVkIHRydWUgZmFsc2UKKworIiBBc3BWQlNjcmlwdCBOdW1iZXIgQ29udHN0YW50cworIiBJbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHdpdGhvdXQgYSBkb3QuCitzeW4gbWF0Y2ggIEFzcFZCU051bWJlcgljb250YWluZWQJIlw8XGRcK1w+IgorIiBGbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90CitzeW4gbWF0Y2ggIEFzcFZCU051bWJlcgljb250YWluZWQJIlw8XGRcK1wuXGQqXD4iCisiIEZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdAorc3luIG1hdGNoICBBc3BWQlNOdW1iZXIJY29udGFpbmVkCSJcLlxkXCtcPiIKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBDb250c3RhbnRzCisiIHJlbW92ZWQgKHNraXA9K1xcXFxcfFxcIispIGJlY2F1c2UgVkIgZG9lc24ndCBoYXZlIGJhY2tzbGFzaCBlc2NhcGluZyBpbgorIiBzdHJpbmdzIChvciBkb2VzIGl0PykKK3N5biByZWdpb24gIEFzcFZCU1N0cmluZwljb250YWluZWQJICBzdGFydD0rIisgIGVuZD0rIisga2VlcGVuZAorCisiIEFzcFZCU2NyaXB0IENvbW1lbnRzCitzeW4gcmVnaW9uICBBc3BWQlNDb21tZW50CWNvbnRhaW5lZCBzdGFydD0iXlJFTVxzXHxcc1JFTVxzIiBlbmQ9IiQiIGNvbnRhaW5zPUFzcFZCU1RvZG8ga2VlcGVuZAorc3luIHJlZ2lvbiAgQXNwVkJTQ29tbWVudCAgIGNvbnRhaW5lZCBzdGFydD0iXidcfFxzJyIgICBlbmQ9IiQiIGNvbnRhaW5zPUFzcFZCU1RvZG8ga2VlcGVuZAorIiBtaXNjLiBDb21tZW50aW5nIFN0dWZmCitzeW4ga2V5d29yZCBBc3BWQlNUb2RvIGNvbnRhaW5lZAlUT0RPIEZJWE1FCisKKyIgQ29zbWV0aWMgc3ludGF4IGVycm9ycyBjb21tYW5seSBmb3VuZCBpbiBWQiBidXQgbm90IGluIEFzcFZCU2NyaXB0CisiIEFzcFZCU2NyaXB0IGRvZXNuJ3QgdXNlIGxpbmUgbnVtYmVycworc3luIHJlZ2lvbiAgQXNwVkJTRXJyb3IJY29udGFpbmVkIHN0YXJ0PSJeXGQiIGVuZD0iXHMiIGtlZXBlbmQKKyIgQXNwVkJTY3JpcHQgYWxzbyBkb2Vzbid0IGhhdmUgdHlwZSBkZWZpbmluZyB2YXJpYWJsZXMKK3N5biBtYXRjaCAgIEFzcFZCU0Vycm9yICBjb250YWluZWQgIlthLXpBLVowLTlfXVtcJCYhI10ibXM9cysxCisiIFNpbmNlICdhJScgaXMgYSBWQiB2YXJpYWJsZSB3aXRoIGEgdHlwZSBhbmQgaW4gQXNwVkJTY3JpcHQgeW91IGNhbiBoYXZlICdhJT4nCisiIEkgaGF2ZSB0byBtYWtlIGEgc3BlY2lhbCBjYXNlIHNvICdhJT4nIHdvbid0IHNob3cgYXMgYW4gZXJyb3IuCitzeW4gbWF0Y2ggICBBc3BWQlNFcnJvciAgY29udGFpbmVkICJbYS16QS1aMC05X10lXCgkXHxbXj5dXCkibXM9cysxCisKKyIgVG9wIENsdXN0ZXIKK3N5biBjbHVzdGVyIEFzcFZCU2NyaXB0VG9wIGNvbnRhaW5zPUFzcFZCU1N0YXRlbWVudCxBc3BWQlNGdW5jdGlvbixBc3BWQlNNZXRob2RzLEFzcFZCU051bWJlcixBc3BWQlNTdHJpbmcsQXNwVkJTQ29tbWVudCxBc3BWQlNFcnJvcixBc3BWQlNWYXJpYWJsZVNpbXBsZSxBc3BWQlNWYXJpYWJsZUNvbXBsZXgKKworIiBGb2xkaW5nCitzeW4gcmVnaW9uIEFzcFZCU0ZvbGQgc3RhcnQ9Il5ccypcKGNsYXNzXClcc1wrLiokIiBlbmQ9Il5ccyplbmRcc1wrXChjbGFzc1wpXD4uKiQiIGZvbGQgY29udGFpbmVkIHRyYW5zcGFyZW50IGtlZXBlbmQKK3N5biByZWdpb24gQXNwVkJTRm9sZCBzdGFydD0iXlxzKlwocHJpdmF0ZVx8cHVibGljXClcPVwoXHNcK2RlZmF1bHRcKVw9XHNcK1woc3ViXHxmdW5jdGlvblwpXHNcKy4qJCIgZW5kPSJeXHMqZW5kXHNcK1woZnVuY3Rpb25cfHN1YlwpXD4uKiQiIGZvbGQgY29udGFpbmVkIHRyYW5zcGFyZW50IGtlZXBlbmQKKworIiBEZWZpbmUgQXNwVkJTY3JpcHQgZGVsaW1ldGVycworIiA8JT0gZnVuYygic3RyaW5nX3dpdGhfJT5faW5faXQiKSAlPiBUaGlzIGlzIGlsbGVnYWwgaW4gQVNQIHN5bnRheC4KK3N5biByZWdpb24gIEFzcFZCU2NyaXB0SW5zaWRlSHRtbFRhZ3Mga2VlcGVuZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0rPCU9XD0rIGVuZD0rJT4rIGNvbnRhaW5zPUBBc3BWQlNjcmlwdFRvcCwgQXNwVkJTRm9sZAorc3luIHJlZ2lvbiAgQXNwVkJTY3JpcHRJbnNpZGVIdG1sVGFncyBrZWVwZW5kIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSs8c2NyaXB0XHNcK2xhbmd1YWdlPSJcPXZic2NyaXB0Ilw9W14+XSpcc1wrcnVuYXRzZXJ2ZXJbXj5dKj4rIGVuZD0rPC9zY3JpcHQ+KyBjb250YWlucz1AQXNwVkJTY3JpcHRUb3AKKworCisiIFN5bmNocm9uaXphdGlvbgorIiBzeW4gc3luYyBtYXRjaCBBc3BWQlNTeW5jR3JvdXAgZ3JvdXBoZXJlIEFzcFZCU2NyaXB0SW5zaWRlSHRtbFRhZ3MgIjwlIgorIiBUaGlzIGlzIGEga2x1ZGdlIHNvIHRoZSBIVE1MIHdpbGwgc3luYyBwcm9wZXJseQorc3luIHN5bmMgbWF0Y2ggaHRtbEhpZ2hsaWdodCBncm91cGhlcmUgaHRtbFRhZyAiJT4iCisKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hc3B2YnNfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYXNwdmJzX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIkhpTGluayBBc3BWQlNjcmlwdAkJU3BlY2lhbAorICBIaUxpbmsgQXNwVkJTTGluZU51bWJlcglDb21tZW50CisgIEhpTGluayBBc3BWQlNOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgQXNwVkJTRXJyb3IJCUVycm9yCisgIEhpTGluayBBc3BWQlNTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBBc3BWQlNTdHJpbmcJCVN0cmluZworICBIaUxpbmsgQXNwVkJTQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgQXNwVkJTVG9kbwkJVG9kbworICBIaUxpbmsgQXNwVkJTRnVuY3Rpb24JCUlkZW50aWZpZXIKKyAgSGlMaW5rIEFzcFZCU01ldGhvZHMJCVByZVByb2MKKyAgSGlMaW5rIEFzcFZCU0V2ZW50cwkJU3BlY2lhbAorICBIaUxpbmsgQXNwVkJTVHlwZVNwZWNpZmllcglUeXBlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImFzcHZicyIKKworaWYgbWFpbl9zeW50YXggPT0gJ2FzcHZicycKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz04OnN3PTI6c3RzPTA6bm9ldApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXRsYXMudmltIGIvcnVudGltZS9zeW50YXgvYXRsYXMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZmU0MzUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hdGxhcy52aW0KQEAgLTAsMCArMSw5OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUFUTEFTCisiIE1haW50YWluZXI6CUluYWtpIFNhZXogPGppc2FlekBzZmUuaW5kcmEuZXM+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCitzeW4ga2V5d29yZCBhdGxhc1N0YXRlbWVudAliZWdpbiB0ZXJtaW5hdGUKK3N5biBrZXl3b3JkIGF0bGFzU3RhdGVtZW50CWZpbGwgY2FsY3VsYXRlIGNvbXBhcmUKK3N5biBrZXl3b3JkIGF0bGFzU3RhdGVtZW50CXNldHVwIGNvbm5lY3QgY2xvc2Ugb3BlbiBkaXNjb25uZWN0IHJlc2V0CitzeW4ga2V5d29yZCBhdGxhc1N0YXRlbWVudAlpbml0aWF0ZSByZWFkIGZldGNoCitzeW4ga2V5d29yZCBhdGxhc1N0YXRlbWVudAlhcHBseSBtZWFzdXJlIHZlcmlmeSByZW1vdmUKK3N5biBrZXl3b3JkIGF0bGFzU3RhdGVtZW50CXBlcmZvcm0gbGVhdmUgZmluaXNoIG91dHB1dCBkZWxheQorc3luIGtleXdvcmQgYXRsYXNTdGF0ZW1lbnQJcHJlcGFyZSBleGVjdXRlCitzeW4ga2V5d29yZCBhdGxhc1N0YXRlbWVudAlkbworc3luIG1hdGNoIGF0bGFzU3RhdGVtZW50CSJcPGdvWwkgXVwrdG9cPiIKK3N5biBtYXRjaCBhdGxhc1N0YXRlbWVudAkiXDx3YWl0WwkgXVwrZm9yXD4iCisKK3N5biBrZXl3b3JkIGF0bGFzSW5jbHVkZQlpbmNsdWRlCitzeW4ga2V5d29yZCBhdGxhc0RlZmluZQkJZGVmaW5lIHJlcXVpcmUgZGVjbGFyZSBpZGVudGlmeQorCisic3luIGtleXdvcmQgYXRsYXNSZXNlcnZlZAl0cnVlIGZhbHNlIGdvIG5vZ28gaGkgbG8gdmlhCitzeW4ga2V5d29yZCBhdGxhc1Jlc2VydmVkCXRydWUgZmFsc2UKKworc3luIGtleXdvcmQgYXRsYXNTdG9yYWdlQ2xhc3MJZXh0ZXJuYWwgZ2xvYmFsCisKK3N5biBrZXl3b3JkIGF0bGFzQ29uZGl0aW9uYWwJaWYgdGhlbiBlbHNlIGVuZAorc3luIGtleXdvcmQgYXRsYXNSZXBlYXQJCXdoaWxlIGZvciB0aHJ1CisKKyIgRmxhZ3MgQkVGIGFuZCBzdGF0ZW1lbnQgbnVtYmVyCitzeW4gbWF0Y2ggYXRsYXNTcGVjaWFsCQkiXltCRSBdWyAwLTldXHssNn1cPiIKKworIiBOdW1iZXIgZm9ybWF0cworc3luIG1hdGNoIGF0bGFzSGV4TnVtYmVyCSJcPFgnWzAtOUEtRl1cKyciCitzeW4gbWF0Y2ggYXRsYXNPY3RhbE51bWJlcgkiXDxPJ1swLTddXCsnIgorc3luIG1hdGNoIGF0bGFzQmluTnVtYmVyCSJcPEInWzAxXVwrJyIKK3N5biBtYXRjaCBhdGxhc051bWJlcgkJIlw8XGRcK1w+IgorIkZsb2F0aW5nIHBvaW50IG51bWJlciBwYXJ0IG9ubHkKK3N5biBtYXRjaCBhdGxhc0RlY2ltYWxOdW1iZXIJIlwuXGRcK1woW2VFXVstK11cPVxkXClcPVw+IgorCitzeW4gcmVnaW9uIGF0bGFzRm9ybWF0U3RyaW5nCXN0YXJ0PSsoKCsJZW5kPStcKCkpXClcfFwoKVsJIF0qXCRcKSttZT1lLTEKK3N5biByZWdpb24gYXRsYXNTdHJpbmcJCXN0YXJ0PStcPEMnKwllbmQ9KycrICAgb25lbGluZQorCitzeW4gcmVnaW9uIGF0bGFzQ29tbWVudAkJc3RhcnQ9K15DKwllbmQ9K1wkKworc3luIHJlZ2lvbiBhdGxhc0NvbW1lbnQyCXN0YXJ0PStcJC5cKyttcz1zKzEJZW5kPSskKyBvbmVsaW5lCisKK3N5biBtYXRjaCAgYXRsYXNJZGVudGlmaWVyCSInW0EtWmEtejAtOSAuXy1dXCsnIgorCisiU3luY2hyb25pemF0aW9uIHdpdGggU3RhdGVtZW50IHRlcm1pbmF0b3IgJAorc3luIHN5bmMgbWF0Y2ggYXRsYXNUZXJtaW5hdG9yCWdyb3VwaGVyZSBhdGxhc0NvbW1lbnQgIl5DIgorc3luIHN5bmMgbWF0Y2ggYXRsYXNUZXJtaW5hdG9yCWdyb3VwdGhlcmUgTk9ORSAiXCQiCitzeW4gc3luYyBtYXhsaW5lcz0xMDAKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hdGxhc19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9hdGxhc19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhdGxhc0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBhdGxhc1JlcGVhdAkJUmVwZWF0CisgIEhpTGluayBhdGxhc1N0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIGF0bGFzTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGF0bGFzSGV4TnVtYmVyCU51bWJlcgorICBIaUxpbmsgYXRsYXNPY3RhbE51bWJlcglOdW1iZXIKKyAgSGlMaW5rIGF0bGFzQmluTnVtYmVyCU51bWJlcgorICBIaUxpbmsgYXRsYXNEZWNpbWFsTnVtYmVyCUZsb2F0CisgIEhpTGluayBhdGxhc0Zvcm1hdFN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIGF0bGFzU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIGF0bGFzQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgYXRsYXNDb21tZW50MgkJQ29tbWVudAorICBIaUxpbmsgYXRsYXNJbmNsdWRlCQlJbmNsdWRlCisgIEhpTGluayBhdGxhc0RlZmluZQkJTWFjcm8KKyAgSGlMaW5rIGF0bGFzUmVzZXJ2ZWQJCVByZUNvbmRpdAorICBIaUxpbmsgYXRsYXNTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayBhdGxhc0lkZW50aWZpZXIJTk9ORQorICBIaUxpbmsgYXRsYXNTcGVjaWFsCQlTcGVjaWFsCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImF0bGFzIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXV0b21ha2UudmltIGIvcnVudGltZS9zeW50YXgvYXV0b21ha2UudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMDk5MjcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hdXRvbWFrZS52aW0KQEAgLTAsMCArMSw3OSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CWF1dG9tYWtlIE1ha2VmaWxlLmFtCisiIE1haW50YWluZXI6CUpvaG4gV2lsbGlhbXMgPGpyd0Bwb2JveC5jb20+CisiIExhc3QgY2hhbmdlOgkyMDAxIE1heSAwOQorCisKKyIgVGhpcyBzY3JpcHQgYWRkcyBzdXBwb3J0IGZvciBhdXRvbWFrZSdzIE1ha2VmaWxlLmFtIGZvcm1hdC4gSXQgaGlnaGxpZ2h0cworIiBNYWtlZmlsZSB2YXJpYWJsZXMgc2lnbmlmaWNhbnQgdG8gYXV0b21ha2UgYXMgd2VsbCBhcyBoaWdobGlnaHRpbmcKKyIgYXV0b2NvbmYtc3R5bGUgQHZhcmlhYmxlQCBzdWJzdGl0dXRpb25zIC4gU3Vic2l0dXRpb25zIGFyZSBtYXJrZWQgYXMgZXJyb3JzCisiIHdoZW4gdGhleSBhcmUgdXNlZCBpbiBhbiBpbmFwcHJvcHJpYXRlIHBsYWNlLCBzdWNoIGFzIGluIGRlZmluaW5nCisiIEVYVFJBX1NPVVJDRVMuCisKKworIiBSZWFkIHRoZSBNYWtlZmlsZSBzeW50YXggdG8gc3RhcnQgd2l0aAoraWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvbWFrZS52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L21ha2UudmltCitlbmRpZgorCitzeW4gbWF0Y2ggYXV0b21ha2VQcmltYXJ5ICJeW0EtWmEtejAtOV9dXCtcKF9QUk9HUkFNU1x8TElCUkFSSUVTXHxfTElTVFx8X1NDUklQVFNcfF9EQVRBXHxfSEVBREVSU1x8X01BTlNcfF9URVhJTkZPU1x8X0pBVkFcfF9MVExJQlJBUklFU1wpXHMqPSJtZT1lLTEKK3N5biBtYXRjaCBhdXRvbWFrZVByaW1hcnkgIl5URVNUU1xzKj0ibWU9ZS0xCitzeW4gbWF0Y2ggYXV0b21ha2VTZWNvbmRhcnkgIl5bQS1aYS16MC05X11cK1woX1NPVVJDRVNcfF9MREFERFx8X0xJQkFERFx8X0xERkxBR1NcfF9ERVBFTkRFTkNJRVNcKVxzKj0ibWU9ZS0xCitzeW4gbWF0Y2ggYXV0b21ha2VTZWNvbmRhcnkgIl5PTUlUX0RFUEVOREVOQ0lFU1xzKj0ibWU9ZS0xCitzeW4gbWF0Y2ggYXV0b21ha2VFeHRyYSAiXkVYVFJBX1tBLVphLXowLTlfXVwrXHMqPSJtZT1lLTEKK3N5biBtYXRjaCBhdXRvbWFrZU9wdGlvbnMgIl5cKEFVVE9NQUtFX09QVElPTlNcfEVUQUdTX0FSR1NcfFRBR1NfREVQRU5ERU5DSUVTXClccyo9Im1lPWUtMQorc3luIG1hdGNoIGF1dG9tYWtlQ2xlYW4gIl5cKE1PU1RMWVx8RElTVFx8TUFJTlRBSU5FUlwpXD1DTEVBTkZJTEVTXHMqPSJtZT1lLTEKK3N5biBtYXRjaCBhdXRvbWFrZVN1YmRpcnMgIl5cKERJU1RfXClcPVNVQkRJUlNccyo9Im1lPWUtMQorc3luIG1hdGNoIGF1dG9tYWtlQ29uZGl0aW9uYWwgIl5cKGlmXHMqW2EtekEtWjAtOV9dXCtcfGVsc2VcfGVuZGlmXClccyokIgorCitzeW4gbWF0Y2ggYXV0b21ha2VTdWJzdCAgICAgIkBbYS16QS1aMC05X11cK0AiCitzeW4gbWF0Y2ggYXV0b21ha2VTdWJzdCAgICAgIl5ccypAW2EtekEtWjAtOV9dXCtAIgorc3luIG1hdGNoIGF1dG9tYWtlQ29tbWVudDEgIiMuKiQiIGNvbnRhaW5zPWF1dG9tYWtlU3Vic3QKK3N5biBtYXRjaCBhdXRvbWFrZUNvbW1lbnQyICIjIy4qJCIKKworc3luIG1hdGNoIGF1dG9tYWtlTWFrZUVycm9yICIkW3soXVtefSldKlteYS16QS1aMC05X30pXVtefSldKlt9KV0iICIgR05VIG1ha2UgZnVuY3Rpb24gY2FsbAorCitzeW4gcmVnaW9uIGF1dG9tYWtlTm9TdWJzdCBzdGFydD0iXkVYVFJBX1thLXpBLVowLTlfXSpccyo9IiBlbmQ9IiQiIGNvbnRhaW5zPUFMTEJVVCxhdXRvbWFrZU5vU3Vic3QgdHJhbnNwYXJlbnQKK3N5biByZWdpb24gYXV0b21ha2VOb1N1YnN0IHN0YXJ0PSJeRElTVF9TVUJESVJTXHMqPSIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsYXV0b21ha2VOb1N1YnN0IHRyYW5zcGFyZW50CitzeW4gcmVnaW9uIGF1dG9tYWtlTm9TdWJzdCBzdGFydD0iXlthLXpBLVowLTlfXSpfU09VUkNFU1xzKj0iIGVuZD0iJCIgY29udGFpbnM9QUxMQlVULGF1dG9tYWtlTm9TdWJzdCB0cmFuc3BhcmVudAorc3luIG1hdGNoIGF1dG9tYWtlQmFkU3Vic3QgICJAXChbYS16QS1aMC05X10qQFw9XClcPSIgY29udGFpbmVkCisKK3N5biByZWdpb24gIGF1dG9tYWtlTWFrZURTdHJpbmcgc3RhcnQ9KyIrICBza2lwPStcXCIrICBlbmQ9KyIrICBjb250YWlucz1tYWtlSWRlbnQsYXV0b21ha2VTdWJzdGl0dXRpb24KK3N5biByZWdpb24gIGF1dG9tYWtlTWFrZVNTdHJpbmcgc3RhcnQ9KycrICBza2lwPStcXCcrICBlbmQ9KycrICBjb250YWlucz1tYWtlSWRlbnQsYXV0b21ha2VTdWJzdGl0dXRpb24KK3N5biByZWdpb24gIGF1dG9tYWtlTWFrZUJTdHJpbmcgc3RhcnQ9K2ArICBza2lwPStcXGArICBlbmQ9K2ArICBjb250YWlucz1tYWtlSWRlbnQsbWFrZVNTdHJpbmcsbWFrZURTdHJpbmcsbWFrZU5leHRMaW5lLGF1dG9tYWtlU3Vic3RpdHV0aW9uCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2F1dG9tYWtlX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2F1dG9tYWtlX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGF1dG9tYWtlUHJpbWFyeSAgICAgU3RhdGVtZW50CisgIEhpTGluayBhdXRvbWFrZVNlY29uZGFyeSAgIFR5cGUKKyAgSGlMaW5rIGF1dG9tYWtlRXh0cmEgICAgICAgU3BlY2lhbAorICBIaUxpbmsgYXV0b21ha2VPcHRpb25zICAgICBTcGVjaWFsCisgIEhpTGluayBhdXRvbWFrZUNsZWFuICAgICAgIFNwZWNpYWwKKyAgSGlMaW5rIGF1dG9tYWtlU3ViZGlycyAgICAgU3RhdGVtZW50CisgIEhpTGluayBhdXRvbWFrZUNvbmRpdGlvbmFsIFByZVByb2MKKyAgSGlMaW5rIGF1dG9tYWtlU3Vic3QgICAgICAgUHJlUHJvYworICBIaUxpbmsgYXV0b21ha2VDb21tZW50MSAgICBtYWtlQ29tbWVudAorICBIaUxpbmsgYXV0b21ha2VDb21tZW50MiAgICBtYWtlQ29tbWVudAorICBIaUxpbmsgYXV0b21ha2VNYWtlRXJyb3IgICBtYWtlRXJyb3IKKyAgSGlMaW5rIGF1dG9tYWtlQmFkU3Vic3QgICAgbWFrZUVycm9yCisgIEhpTGluayBhdXRvbWFrZU1ha2VEU3RyaW5nIG1ha2VEU3RyaW5nCisgIEhpTGluayBhdXRvbWFrZU1ha2VTU3RyaW5nIG1ha2VTU3RyaW5nCisgIEhpTGluayBhdXRvbWFrZU1ha2VCU3RyaW5nIG1ha2VCU3RyaW5nCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImF1dG9tYWtlIgorCisiIHZpOiB0cz04IHN3PTQgc3RzPTQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2F2ZS52aW0gYi9ydW50aW1lL3N5bnRheC9hdmUudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMGE5ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9hdmUudmltCkBAIC0wLDAgKzEsOTIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIENvcHlyaWdodCBieSBKYW4tT2xpdmVyIFdhZ25lcgorIiBMYW5ndWFnZToJYXZlbnVlCisiIE1haW50YWluZXI6CUphbi1PbGl2ZXIgV2FnbmVyIDxKYW4tT2xpdmVyLldhZ25lckBpbnRldmF0aW9uLmRlPgorIiBMYXN0IGNoYW5nZToJMjAwMSBNYXkgMTAKKworIiBBdmVudWUgaXMgdGhlIEFyY1ZpZXcgYnVpbHQtaW4gbGFuZ3VhZ2UuIEFyY1ZpZXcgaXMKKyIgYSBkZXNrdG9wIEdJUyBieSBFU1JJLiBUaG91Z2ggaXQgaXMgYSBidWlsdC1pbiBsYW5ndWFnZQorIiBhbmQgYSBidWlsdC1pbiBlZGl0b3IgaXMgcHJvdmlkZWQsIHRoZSB1c2Ugb2YgVklNIGluY3JlYXNlcworIiBkZXZlbG9wbWVudCBzcGVlZC4KKyIgSSB1c2Ugc29tZSB0ZWNobm9sb2dpZXMgdG8gYXV0b21hdGljYWxseSBsb2FkIGF2ZW51ZSBzY3JpcHRzCisiIGludG8gQXJjVmlldy4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEF2ZW51ZSBpcyBlbnRpcmVseSBjYXNlLWluc2Vuc2l0aXZlLgorc3luIGNhc2UgaWdub3JlCisKKyIgVGhlIGtleXdvcmRzCisKK3N5biBrZXl3b3JkIGF2ZVN0YXRlbWVudAlpZiB0aGVuIGVsc2VpZiBlbHNlIGVuZCBicmVhayBleGl0IHJldHVybgorc3luIGtleXdvcmQgYXZlU3RhdGVtZW50CWZvciBlYWNoIGluIGNvbnRpbnVlIHdoaWxlCisKKyIgU3RyaW5nCisKK3N5biByZWdpb24gYXZlU3RyaW5nCQlzdGFydD0rIisgZW5kPSsiKworCisiIEludGVnZXIgbnVtYmVyCitzeW4gbWF0Y2ggIGF2ZU51bWJlcgkJIlsrLV1cPVw8WzAtOV1cK1w+IgorCisiIE9wZXJhdG9yCisKK3N5biBrZXl3b3JkIGF2ZU9wZXJhdG9yCQlvciBhbmQgbWF4IG1pbiB4b3IgbW9kIGJ5CisiICdub3QnIGlzIGEga2luZCBvZiBhIHByb2JsZW06IEl0cyBhbiBPcGVyYXRvciBhcyB3ZWxsIGFzIGEgbWV0aG9kCisiICdub3QnIGlzIG9ubHkgbWFya2VkIGFzIGFuIE9wZXJhdG9yIGlmIG5vdCBhcHBsaWVkIGFzIG1ldGhvZAorc3luIG1hdGNoIGF2ZU9wZXJhdG9yCQkiW15cLl1ub3RbXmEtekEtWl0iCisKKyIgVmFyaWFibGVzCisKK3N5biBrZXl3b3JkIGF2ZUZpeFZhcmlhYmxlcwlhdiBuaWwgc2VsZiBmYWxzZSB0cnVlIG5sIHRhYiBjciB0YWIKK3N5biBtYXRjaCBnbG9iYWxWYXJpYWJsZXMJIl9bYS16QS1aXVthLXpBLVowLTldKiIKK3N5biBtYXRjaCBhdmVWYXJpYWJsZXMJCSJbYS16QS1aXVthLXpBLVowLTlfXSoiCitzeW4gbWF0Y2ggYXZlQ29uc3QJCSIjW0EtWl1bQS1aX10rIgorCisiIENvbW1lbnRzCisKK3N5biBtYXRjaCBhdmVDb21tZW50CSInLioiCisKKyIgVHlwaWNhbCBUeXBvcworCisiIGZvciBDIHByb2dyYW1tZXJzOgorc3luIG1hdGNoIGF2ZVR5cG9zCSI9PSIKK3N5biBtYXRjaCBhdmVUeXBvcwkiIT0iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nK3lldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2F2ZV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisJbGV0IGRpZF9hdmVfc3luX2luaXRzID0gMQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgYXZlU3RhdGVtZW50CQlTdGF0ZW1lbnQKKworICBIaUxpbmsgYXZlU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIGF2ZU51bWJlcgkJTnVtYmVyCisKKyAgSGlMaW5rIGF2ZUZpeFZhcmlhYmxlcwlTcGVjaWFsCisgIEhpTGluayBhdmVWYXJpYWJsZXMJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGdsb2JhbFZhcmlhYmxlcwlTcGVjaWFsCisgIEhpTGluayBhdmVDb25zdAkJU3BlY2lhbAorCisgIEhpTGluayBhdmVDbGFzc01ldGhvZHMJRnVuY3Rpb24KKworICBIaUxpbmsgYXZlT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBhdmVDb21tZW50CQlDb21tZW50CisKKyAgSGlMaW5rIGF2ZVR5cG9zCQlFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhdmUiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hd2sudmltIGIvcnVudGltZS9zeW50YXgvYXdrLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGE2ODlkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYXdrLnZpbQpAQCAtMCwwICsxLDIxNiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CWF3aywgbmF3aywgZ2F3aywgbWF3aworIiBNYWludGFpbmVyOglBbnRvbmlvIENvbG9tYm8gPGFudG9uaW8uY29sb21ib0BqcmMuaXQ+CisiIExhc3QgQ2hhbmdlOgkyMDAyIEp1biAyMworCisiIEFXSyAgcmVmLiAgaXM6IEFsZnJlZCBWLiBBaG8sIEJyaWFuIFcuIEtlcm5pZ2hhbiwgUGV0ZXIgSi4gV2VpbmJlcmdlcgorIiBUaGUgQVdLIFByb2dyYW1taW5nIExhbmd1YWdlLCBBZGRpc29uLVdlc2xleSwgMTk4OAorCisiIEdBV0sgcmVmLiBpczogQXJub2xkIEQuIFJvYmJpbnMKKyIgRWZmZWN0aXZlIEFXSyBQcm9ncmFtbWluZywgVGhpcmQgRWRpdGlvbiwgTydSZWlsbHksIDIwMDEKKworIiBNQVdLIGlzIGEgIm5ldyBhd2siIG1lYW5pbmcgaXQgaW1wbGVtZW50cyBBV0sgcmVmLgorIiBtYXdrIGNvbmZvcm1zIHRvIHRoZSBQb3NpeCAxMDAzLjIgKGRyYWZ0IDExLjMpCisiIGRlZmluaXRpb24gb2YgdGhlIEFXSyBsYW5ndWFnZSB3aGljaCBjb250YWlucyBhIGZldyBmZWF0dXJlcworIiBub3QgZGVzY3JpYmVkIGluIHRoZSBBV0sgYm9vaywgYW5kIG1hd2sgcHJvdmlkZXMgYSBzbWFsbCBudW1iZXIgb2YgZXh0ZW5zaW9ucy4KKworIiBUT0RPOgorIiBEaWcgaW50byB0aGUgY29tbWVudGVkIG91dCBzeW50YXggZXhwcmVzc2lvbnMgYmVsb3cuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBBIGJ1bmNoIG9mIHVzZWZ1bCBBd2sga2V5d29yZHMKKyIgQVdLICByZWYuIHAuIDE4OAorc3luIGtleXdvcmQgYXdrU3RhdGVtZW50CWJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBleGl0CitzeW4ga2V5d29yZCBhd2tTdGF0ZW1lbnQJZnVuY3Rpb24gZ2V0bGluZSBuZXh0CitzeW4ga2V5d29yZCBhd2tTdGF0ZW1lbnQJcHJpbnQgcHJpbnRmIHJldHVybgorIiBHQVdLIHJlZi4gcC4gMTE3CitzeW4ga2V5d29yZCBhd2tTdGF0ZW1lbnQJbmV4dGZpbGUKKyIgQVdLICByZWYuIHAuIDQyLCBHQVdLIHJlZi4gcC4gMTQyLTE2Ngorc3luIGtleXdvcmQgYXdrRnVuY3Rpb24JYXRhbjIgY2xvc2UgY29zIGV4cCBmZmx1c2ggaW50IGxvZyByYW5kIHNpbiBzcXJ0IHNyYW5kCitzeW4ga2V5d29yZCBhd2tGdW5jdGlvbglnc3ViIGluZGV4IGxlbmd0aCBtYXRjaCBzcGxpdCBzcHJpbnRmIHN1Ygorc3luIGtleXdvcmQgYXdrRnVuY3Rpb24Jc3Vic3RyIHN5c3RlbQorIiBHQVdLIHJlZi4gcC4gMTQyLTE2Ngorc3luIGtleXdvcmQgYXdrRnVuY3Rpb24JYXNvcnQgZ2Vuc3ViIG1rdGltZSBzdHJmdGltZSBzdHJ0b251bSBzeXN0aW1lCitzeW4ga2V5d29yZCBhd2tGdW5jdGlvbgl0b2xvd2VyIHRvdXBwZXIKK3N5biBrZXl3b3JkIGF3a0Z1bmN0aW9uCWFuZCBvciB4b3IgY29tcGwgbHNoaWZ0IHJzaGlmdAorc3luIGtleXdvcmQgYXdrRnVuY3Rpb24JZGNnZXR0ZXh0IGJpbmR0ZXh0ZG9tYWluCisKK3N5biBrZXl3b3JkIGF3a0NvbmRpdGlvbmFsCWlmIGVsc2UKK3N5biBrZXl3b3JkIGF3a1JlcGVhdAl3aGlsZSBmb3IKKworc3luIGtleXdvcmQgYXdrVG9kbwkJY29udGFpbmVkIFRPRE8KKworc3luIGtleXdvcmQgYXdrUGF0dGVybnMJQkVHSU4gRU5ECisiIEFXSyAgcmVmLiBwLiAzNgorc3luIGtleXdvcmQgYXdrVmFyaWFibGVzCUFSR0MgQVJHViBGSUxFTkFNRSBGTlIgRlMgTkYgTlIKK3N5biBrZXl3b3JkIGF3a1ZhcmlhYmxlcwlPRk1UIE9GUyBPUlMgUkxFTkdUSCBSUyBSU1RBUlQgU1VCU0VQCisiIEdBV0sgcmVmLiBwLiAxMjAtMTI2CitzeW4ga2V5d29yZCBhd2tWYXJpYWJsZXMJQVJHSU5EIEJJTk1PREUgQ09OVkZNVCBFTlZJUk9OIEVSUk5PCitzeW4ga2V5d29yZCBhd2tWYXJpYWJsZXMJRklFTERXSURUSFMgSUdOT1JFQ0FTRSBMSU5UIFBST0NJTkZPCitzeW4ga2V5d29yZCBhd2tWYXJpYWJsZXMJUlQgUkxFTkdUSCBURVhURE9NQUlOCisKK3N5biBrZXl3b3JkIGF3a1JlcGVhdAlkbworCisiIE9jdGFsIGZvcm1hdCBjaGFyYWN0ZXIuCitzeW4gbWF0Y2ggICBhd2tTcGVjaWFsQ2hhcmFjdGVyIGRpc3BsYXkgY29udGFpbmVkICJcXFswLTddXHsxLDNcfSIKK3N5biBrZXl3b3JkIGF3a1N0YXRlbWVudAlmdW5jIG5leHRmaWxlCisiIEhleCAgIGZvcm1hdCBjaGFyYWN0ZXIuCitzeW4gbWF0Y2ggICBhd2tTcGVjaWFsQ2hhcmFjdGVyIGRpc3BsYXkgY29udGFpbmVkICJcXHhbMC05QS1GYS1mXVwrIgorCitzeW4gbWF0Y2ggICBhd2tGaWVsZFZhcnMJIlwkXGRcKyIKKworImNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMKK3N5biByZWdpb24JYXdrUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULGF3a1BhcmVuRXJyb3IsYXdrU3BlY2lhbENoYXJhY3Rlcixhd2tBcnJheUVsZW1lbnQsYXdrQXJyYXlBcnJheSxhd2tUb2RvLGF3a1JlZ0V4cCxhd2tCcmt0UmVnRXhwLGF3a0JyYWNrZXRzLGF3a0NoYXJDbGFzcworc3luIG1hdGNoCWF3a1BhcmVuRXJyb3IJZGlzcGxheSAiKSIKK3N5biBtYXRjaAlhd2tJblBhcmVuCWRpc3BsYXkgY29udGFpbmVkICJbe31dIgorCisiIDY0IGxpbmVzIGZvciBjb21wbGV4ICYmJ3MsIGFuZCB8fCdzIGluIGEgYmlnICJpZiIKK3N5biBzeW5jIGNjb21tZW50IGF3a1BhcmVuIG1heGxpbmVzPTY0CisKKyIgU2VhcmNoIHN0cmluZ3MgJiBSZWd1bGFyIEV4cHJlc3Npb25zIHRoZXJlaW4uCitzeW4gcmVnaW9uICBhd2tTZWFyY2gJb25lbGluZSBzdGFydD0iXlsgXHRdKi8ibXM9ZSBzdGFydD0iXCgsXHwhXD1cflwpWyBcdF0qLyJtcz1lIHNraXA9IlxcXFxcfFxcLyIgZW5kPSIvIiBjb250YWlucz1hd2tCcmFja2V0cyxhd2tSZWdFeHAsYXdrU3BlY2lhbENoYXJhY3Rlcgorc3luIHJlZ2lvbiAgYXdrQnJhY2tldHMJY29udGFpbmVkIHN0YXJ0PSJcW1xeXF1cPSJtcz1zKzIgc3RhcnQ9IlxbW15cXl0ibXM9cysxIGVuZD0iXF0ibWU9ZS0xIGNvbnRhaW5zPWF3a0Jya3RSZWdFeHAsYXdrQ2hhckNsYXNzCitzeW4gcmVnaW9uICBhd2tTZWFyY2gJb25lbGluZSBzdGFydD0iWyBcdF0qLyJocz1lIHNraXA9IlxcXFxcfFxcLyIgZW5kPSIvIiBjb250YWlucz1hd2tCcmFja2V0cyxhd2tSZWdFeHAsYXdrU3BlY2lhbENoYXJhY3RlcgorCitzeW4gbWF0Y2ggICBhd2tDaGFyQ2xhc3MJY29udGFpbmVkICJcWzpbXjpcXV0qOlxdIgorc3luIG1hdGNoICAgYXdrQnJrdFJlZ0V4cAljb250YWluZWQgIlxcLlx8LlwtW15dXSIKK3N5biBtYXRjaCAgIGF3a1JlZ0V4cAljb250YWluZWQgIi9cXiJtcz1zKzEKK3N5biBtYXRjaCAgIGF3a1JlZ0V4cAljb250YWluZWQgIlwkLyJtZT1lLTEKK3N5biBtYXRjaCAgIGF3a1JlZ0V4cAljb250YWluZWQgIls/Lip7fXwrXSIKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb25zdGFudHMKKyIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2ggaGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKK3N5biByZWdpb24gIGF3a1N0cmluZwlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgIGNvbnRhaW5zPWF3a1NwZWNpYWxDaGFyYWN0ZXIsYXdrU3BlY2lhbFByaW50Zgorc3luIG1hdGNoICAgYXdrU3BlY2lhbENoYXJhY3RlciBjb250YWluZWQgIlxcLiIKKworIiBTb21lIG9mIHRoZXNlIGNvbWJpbmF0aW9ucyBtYXkgc2VlbSB3ZWlyZCwgYnV0IHRoZXkgd29yay4KK3N5biBtYXRjaCAgIGF3a1NwZWNpYWxQcmludGYJY29udGFpbmVkICIlWy0rICNdKlxkKlwuXD1cZCpbY2RlZmdpb3N1eEVHWCVdIgorCisiIE51bWJlcnMsIGFsbG93aW5nIHNpZ25zIChib3RoIC0sIGFuZCArKQorIiBJbnRlZ2VyIG51bWJlci4KK3N5biBtYXRjaCAgYXdrTnVtYmVyCQlkaXNwbGF5ICJbKy1dXD1cPFxkXCtcPiIKKyIgRmxvYXRpbmcgcG9pbnQgbnVtYmVyLgorc3luIG1hdGNoICBhd2tGbG9hdAkJZGlzcGxheSAiWystXVw9XDxcZFwrXC5cZCtcPiIKKyIgRmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90Lgorc3luIG1hdGNoICBhd2tGbG9hdAkJZGlzcGxheSAiWystXVw9XDwuXGQrXD4iCitzeW4gY2FzZSBpZ25vcmUKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoICBhd2tGbG9hdAlkaXNwbGF5ICJcPFxkXCtcLlxkKlwoZVstK11cPVxkXCtcKVw9XD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoICBhd2tGbG9hdAlkaXNwbGF5ICJcLlxkXCtcKGVbLStdXD1cZFwrXClcPVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKK3N5biBtYXRjaCAgYXdrRmxvYXQJZGlzcGxheSAiXDxcZFwrZVstK11cPVxkXCtcPiIKK3N5biBjYXNlIG1hdGNoCisKKyJzeW4gbWF0Y2ggIGF3a0lkZW50aWZpZXIJIlw8W2EtekEtWl9dW2EtekEtWjAtOV9dKlw+IgorCisiIEFyaXRobWV0aWMgb3BlcmF0b3JzOiArLCBhbmQgLSB0YWtlIGNhcmUgb2YgKyssIGFuZCAtLQorInN5biBtYXRjaCAgIGF3a09wZXJhdG9yCSIrXHwtXHxcKlx8L1x8JVx8PSIKKyJzeW4gbWF0Y2ggICBhd2tPcGVyYXRvcgkiKz1cfC09XHxcKj1cfC89XHwlPSIKKyJzeW4gbWF0Y2ggICBhd2tPcGVyYXRvcgkiXlx8Xj0iCisKKyIgQ29tcGFyaXNvbiBleHByZXNzaW9ucy4KKyJzeW4gbWF0Y2ggICBhd2tFeHByZXNzaW9uCSI9PVx8Pj1cfD0+XHw8PVx8PTxcfFwhPSIKKyJzeW4gbWF0Y2ggICBhd2tFeHByZXNzaW9uCSJcflx8XCFcfiIKKyJzeW4gbWF0Y2ggICBhd2tFeHByZXNzaW9uCSI/XHw6IgorInN5biBrZXl3b3JkIGF3a0V4cHJlc3Npb24JaW4KKworIiBCb29sZWFuIExvZ2ljIChPUiwgQU5ELCBOT1QpCisic3luIG1hdGNoICBhd2tCb29sTG9naWMJInx8XHwmJlx8XCEiCisKKyIgVGhpcyBpcyBvdmVycmlkZGVuIGJ5IGxlc3MtdGhhbiAmIGdyZWF0ZXItdGhhbi4KKyIgUHV0IHRoaXMgYWJvdmUgdGhvc2UgdG8gb3ZlcnJpZGUgdGhlbS4KKyIgUHV0IHRoaXMgaW4gYSAnbWF0Y2ggIlw8cHJpbnRmXD1cPi4qO1w9IicgdG8gbWFrZSBpdCBub3Qgb3ZlcnJpZGUKKyIgbGVzcy9ncmVhdGVyIHRoYW4gKG1vc3Qgb2YgdGhlIHRpbWUpLCBidXQgaXQgd29uJ3Qgd29yayB5ZXQgYmVjYXVzZQorIiBrZXl3b3JkcyBhbGx3YXlzIGhhdmUgcHJlY2VkZW5jZSBvdmVyIG1hdGNoICYgcmVnaW9uLgorIiBGaWxlIEkvTzogKHByaW50IGZvbywgYmFyID4gImZpbGVuYW1lIikgJiBmb3IgbmF3ayAoZ2V0bGluZSA8ICJmaWxlbmFtZSIpCisic3luIG1hdGNoICBhd2tGaWxlSU8JCWNvbnRhaW5lZCAiPiIKKyJzeW4gbWF0Y2ggIGF3a0ZpbGVJTwkJY29udGFpbmVkICI8IgorCisiIEV4cHJlc3Npb24gc2VwYXJhdG9yczogJzsnIGFuZCAnLCcKK3N5biBtYXRjaCAgYXdrU2VtaWNvbG9uCSI7Igorc3luIG1hdGNoICBhd2tDb21tYQkJIiwiCisKK3N5biBtYXRjaCAgYXdrQ29tbWVudAkiIy4qIiBjb250YWlucz1hd2tUb2RvCisKK3N5biBtYXRjaCAgYXdrTGluZVNraXAJIlxcJCIKKworIiBIaWdobGlnaHQgYXJyYXkgZWxlbWVudCdzIChyZWN1cnNpdmUgYXJyYXlzIGFsbG93ZWQpLgorIiBLZWVwcyBuZXN0ZWQgYXJyYXkgbmFtZXMnIHNlcGFyYXRlIGZyb20gbm9ybWFsIGFycmF5IGVsZW1lbnRzLgorIiBLZWVwcyBudW1iZXJzIHNlcGFyYXRlIGZyb20gbm9ybWFsIGFycmF5IGVsZW1lbnRzICh2YXJpYWJsZXMpLgorc3luIG1hdGNoICBhd2tBcnJheUFycmF5CWNvbnRhaW5lZCAiW15dWywgXHRdXCtcWyJtZT1lLTEKK3N5biBtYXRjaCAgYXdrQXJyYXlFbGVtZW50ICAgICAgY29udGFpbmVkICJbXl1bLCBcdF1cKyIKK3N5biByZWdpb24gYXdrQXJyYXkJCXRyYW5zcGFyZW50IHN0YXJ0PSJcWyIgZW5kPSJcXSIgY29udGFpbnM9YXdrQXJyYXksYXdrQXJyYXlFbGVtZW50LGF3a0FycmF5QXJyYXksYXdrTnVtYmVyLGF3a0Zsb2F0CisKKyIgMTAgc2hvdWxkIGJlIGVub3VnaC4KKyIgKGZvciB0aGUgZmV3IGluc3RhbmNlcyB3aGVyZSBpdCB3b3VsZCBiZSBtb3JlIHRoYW4gIm9uZWxpbmUiKQorc3luIHN5bmMgY2NvbW1lbnQgYXdrQXJyYXkgbWF4bGluZXM9MTAKKworIiBkZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGxpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYXdrX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2F3a19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhd2tDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGF3a0Z1bmN0aW9uCQlGdW5jdGlvbgorICBIaUxpbmsgYXdrUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIGF3a1N0YXRlbWVudAkJU3RhdGVtZW50CisKKyAgSGlMaW5rIGF3a1N0cmluZwkJU3RyaW5nCisgIEhpTGluayBhd2tTcGVjaWFsUHJpbnRmCVNwZWNpYWwKKyAgSGlMaW5rIGF3a1NwZWNpYWxDaGFyYWN0ZXIJU3BlY2lhbAorCisgIEhpTGluayBhd2tTZWFyY2gJCVN0cmluZworICBIaUxpbmsgYXdrQnJhY2tldHMJCWF3a1JlZ0V4cAorICBIaUxpbmsgYXdrQnJrdFJlZ0V4cAkJYXdrTmVzdFJlZ0V4cAorICBIaUxpbmsgYXdrQ2hhckNsYXNzCQlhd2tOZXN0UmVnRXhwCisgIEhpTGluayBhd2tOZXN0UmVnRXhwCQlLZXl3b3JkCisgIEhpTGluayBhd2tSZWdFeHAJCVNwZWNpYWwKKworICBIaUxpbmsgYXdrTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGF3a0Zsb2F0CQlGbG9hdAorCisgIEhpTGluayBhd2tGaWxlSU8JCVNwZWNpYWwKKyAgIkhpTGluayBhd2tPcGVyYXRvcgkJU3BlY2lhbAorICAiSGlMaW5rIGF3a0V4cHJlc3Npb24JCVNwZWNpYWwKKyAgSGlMaW5rIGF3a0Jvb2xMb2dpYwkJU3BlY2lhbAorCisgIEhpTGluayBhd2tQYXR0ZXJucwkJU3BlY2lhbAorICBIaUxpbmsgYXdrVmFyaWFibGVzCQlTcGVjaWFsCisgIEhpTGluayBhd2tGaWVsZFZhcnMJCVNwZWNpYWwKKworICBIaUxpbmsgYXdrTGluZVNraXAJCVNwZWNpYWwKKyAgSGlMaW5rIGF3a1NlbWljb2xvbgkJU3BlY2lhbAorICBIaUxpbmsgYXdrQ29tbWEJCVNwZWNpYWwKKyAgIkhpTGluayBhd2tJZGVudGlmaWVyCQlJZGVudGlmaWVyCisKKyAgSGlMaW5rIGF3a0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGF3a1RvZG8JCVRvZG8KKworICAiIENoYW5nZSB0aGlzIGlmIHlvdSB3YW50IG5lc3RlZCBhcnJheSBuYW1lcyB0byBiZSBoaWdobGlnaHRlZC4KKyAgSGlMaW5rIGF3a0FycmF5QXJyYXkJCWF3a0FycmF5CisgIEhpTGluayBhd2tBcnJheUVsZW1lbnQJU3BlY2lhbAorCisgIEhpTGluayBhd2tQYXJlbkVycm9yCQlhd2tFcnJvcgorICBIaUxpbmsgYXdrSW5QYXJlbgkJYXdrRXJyb3IKKyAgSGlMaW5rIGF3a0Vycm9yCQlFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhd2siCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9heWFjYy52aW0gYi9ydW50aW1lL3N5bnRheC9heWFjYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU5MWUyZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2F5YWNjLnZpbQpAQCAtMCwwICsxLDg2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQVlhY2MKKyIgTWFpbnRhaW5lcjoJTWF0aGlldSBDbGFiYXV0IDxtYXRoaWV1LmNsYWJhdXRAZnJlZS5mcj4KKyIgTGFzdENoYW5nZToJMDIgTWF5IDIwMDEKKyIgT3JpZ2luYWw6CVlhY2MsIG1haW50YWluZWQgYnkgRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgorIiBDb21tZW50OgkgICAgIFJlcGxhY2VkIHNvdXJjaW5nIGMudmltIGZpbGUgYnkgYWRhLnZpbSBhbmQgcmVuYW1lIHlhY2MqCisiCQlpbiBheWFjYyoKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICBmaW5pc2gKK2VuZGlmCisKKyIgUmVhZCB0aGUgQWRhIHN5bnRheCB0byBzdGFydCB3aXRoCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzbyA8c2ZpbGU+OnA6aC9hZGEudmltCitlbHNlCisgICBydW50aW1lISBzeW50YXgvYWRhLnZpbQorICAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworIiBDbHVzdGVycworc3luIGNsdXN0ZXIJYXlhY2NBY3Rpb25Hcm91cAljb250YWlucz1heWFjY0RlbGltLGNJblBhcmVuLGNUb2RvLGNJbmNsdWRlZCxheWFjY0RlbGltLGF5YWNjQ3VybHlFcnJvcixheWFjY1VuaW9uQ3VybHksYXlhY2NVbmlvbixjVXNlckxhYmVsLGNPY3RhbFplcm8sY0NwcE91dDIsY0NwcFNraXAsY0VyckluQnJhY2tldCxjRXJySW5QYXJlbixjT2N0YWxFcnJvcgorc3luIGNsdXN0ZXIJYXlhY2NVbmlvbkdyb3VwCWNvbnRhaW5zPWF5YWNjS2V5LGNDb21tZW50LGF5YWNjQ3VybHksY1R5cGUsY1N0cnVjdHVyZSxjU3RvcmFnZUNsYXNzLGF5YWNjVW5pb25DdXJseQorCisiIFlhY2Mgc3R1ZmYKK3N5biBtYXRjaAlheWFjY0RlbGltCSJeWyBcdF0qWzp8O10iCitzeW4gbWF0Y2gJYXlhY2NPcGVyCSJAXGRcKyIKKworc3luIG1hdGNoCWF5YWNjS2V5CSJeWyBcdF0qJVwodG9rZW5cfHR5cGVcfGxlZnRcfHJpZ2h0XHxzdGFydFx8aWRlbnRcKVw+Igorc3luIG1hdGNoCWF5YWNjS2V5CSJbIFx0XSVcKHByZWNcfGV4cGVjdFx8bm9uYXNzb2NcKVw+Igorc3luIG1hdGNoCWF5YWNjS2V5CSJcJFwoPFthLXpBLVpfXVthLXpBLVpfMC05XSo+XClcPVtcJDAtOV1cKyIKK3N5biBrZXl3b3JkCWF5YWNjS2V5QWN0bgl5eWVycm9rIHl5Y2xlYXJpbgorCitzeW4gbWF0Y2gJYXlhY2NVbmlvblN0YXJ0CSJeJXVuaW9uIglza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1heWFjY1VuaW9uCitzeW4gcmVnaW9uCWF5YWNjVW5pb24JY29udGFpbmVkIG1hdGNoZ3JvdXA9YXlhY2NDdXJseSBzdGFydD0ieyIgbWF0Y2hncm91cD1heWFjY0N1cmx5IGVuZD0ifSIJY29udGFpbnM9QGF5YWNjVW5pb25Hcm91cAorc3luIHJlZ2lvbglheWFjY1VuaW9uQ3VybHkJY29udGFpbmVkIG1hdGNoZ3JvdXA9YXlhY2NDdXJseSBzdGFydD0ieyIgbWF0Y2hncm91cD1heWFjY0N1cmx5IGVuZD0ifSIgY29udGFpbnM9QGF5YWNjVW5pb25Hcm91cAorc3luIG1hdGNoCWF5YWNjQnJrdAljb250YWluZWQgIls8Pl0iCitzeW4gbWF0Y2gJYXlhY2NUeXBlCSI8W2EtekEtWl9dW2EtekEtWjAtOV9dKj4iCWNvbnRhaW5zPWF5YWNjQnJrdAorc3luIG1hdGNoCWF5YWNjRGVmaW5pdGlvbgkiXltBLVphLXpdW0EtWmEtejAtOV9dKlsgXHRdKjoiCisKKyIgc3BlY2lhbCBZYWNjIHNlcGFyYXRvcnMKK3N5biBtYXRjaAlheWFjY1NlY3Rpb25TZXAJIl5bIFx0XSolJSIKK3N5biBtYXRjaAlheWFjY1NlcAkiXlsgXHRdKiV7Igorc3luIG1hdGNoCWF5YWNjU2VwCSJeWyBcdF0qJX0iCisKKyIgSSdkIHJlYWxseSBsaWtlIHRvIGhpZ2hsaWdodCBqdXN0IHRoZSBvdXRlciB7fS4gIEFueSBzdWdnZXN0aW9ucz8/Pworc3luIG1hdGNoCWF5YWNjQ3VybHlFcnJvcgkiW3t9XSIKK3N5biByZWdpb24JYXlhY2NBY3Rpb24JbWF0Y2hncm91cD1heWFjY0N1cmx5IHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5zPUFMTEJVVCxAYXlhY2NBY3Rpb25Hcm91cAorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYXlhY2Nfc3ludGF4X2luaXRzIikKKyAgIGlmIHZlcnNpb24gPCA1MDgKKyAgICAgIGxldCBkaWRfYXlhY2Nfc3ludGF4X2luaXRzID0gMQorICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgIGVsc2UKKyAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgZW5kaWYKKworICAiIEludGVybmFsIGF5YWNjIGhpZ2hsaWdodGluZyBsaW5rcworICBIaUxpbmsgYXlhY2NCcmt0CWF5YWNjU3RtdAorICBIaUxpbmsgYXlhY2NLZXkJYXlhY2NTdG10CisgIEhpTGluayBheWFjY09wZXIJYXlhY2NTdG10CisgIEhpTGluayBheWFjY1VuaW9uU3RhcnQJYXlhY2NLZXkKKworICAiIEV4dGVybmFsIGF5YWNjIGhpZ2hsaWdodGluZyBsaW5rcworICBIaUxpbmsgYXlhY2NDdXJseQlEZWxpbWl0ZXIKKyAgSGlMaW5rIGF5YWNjQ3VybHlFcnJvcglFcnJvcgorICBIaUxpbmsgYXlhY2NEZWZpbml0aW9uCUZ1bmN0aW9uCisgIEhpTGluayBheWFjY0RlbGltCUZ1bmN0aW9uCisgIEhpTGluayBheWFjY0tleUFjdG4JU3BlY2lhbAorICBIaUxpbmsgYXlhY2NTZWN0aW9uU2VwCVRvZG8KKyAgSGlMaW5rIGF5YWNjU2VwCURlbGltaXRlcgorICBIaUxpbmsgYXlhY2NTdG10CVN0YXRlbWVudAorICBIaUxpbmsgYXlhY2NUeXBlCVR5cGUKKworICAiIHNpbmNlIEJyYW0gZG9lc24ndCBsaWtlIG15IERlbGltaXRlciA6fAorICBIaUxpbmsgRGVsaW1pdGVyCVR5cGUKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImF5YWNjIgorCisiIHZpbTogdHM9MTUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2IudmltIGIvcnVudGltZS9zeW50YXgvYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk3NjY5MQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2IudmltCkBAIC0wLDAgKzEsMTQyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQiAoQSBGb3JtYWwgTWV0aG9kIHdpdGggcmVmaW5lbWVudCBhbmQgbWF0aGVtYXRpY2FsIHByb29mKQorIiBNYWludGFpbmVyOglNYXRoaWV1IENsYWJhdXQgPG1hdGhpZXUuY2xhYmF1dEBmcmVlLmZyPgorIiBMYXN0Q2hhbmdlOgkyNSBBcHIgMjAwMQorCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgZmluaXNoCitlbmRpZgorCisKKyIgQSBidW5jaCBvZiB1c2VmdWwgQiBrZXl3b3Jkcworc3luIGtleXdvcmQgYlN0YXRlbWVudAlNQUNISU5FIFNFRVMgT1BFUkFUSU9OUyBJTkNMVURFUyBERUZJTklUSU9OUyBDT05TVFJBSU5UUyBDT05TVEFOVFMgVkFSSUFCTEVTIENPTkNSRVRFX0NPTlNUQU5UUyBDT05DUkVURV9WQVJJQUJMRVMgQUJTVFJBQ1RfQ09OU1RBTlRTIEFCU1RSQUNUX1ZBUklBQkxFUyBISURERU5fQ09OU1RBTlRTIEhJRERFTl9WQVJJQUJMRVMgQVNTRVJUIEFTU0VSVElPTlMgIEVYVEVORFMgSU1QTEVNRU5UQVRJT04gUkVGSU5FTUVOVCBJTVBPUlRTIFVTRVMgSU5JVElBTElTQVRJT04gSU5WQVJJQU5UIFBST01PVEVTIFBST1BFUlRJRVMgUkVGSU5FUyBTRVRTIFZBTFVFUyBWQVJJQU5UIFZJU0lCTEVfQ09OU1RBTlRTIFZJU0lCTEVfVkFSSUFCTEVTIFRIRU9SWQorc3luIGtleXdvcmQgYkxhYmVsCQlDQVNFIElOIEVJVEhFUiBPUiBDSE9JQ0UgRE8gT0YKK3N5biBrZXl3b3JkIGJDb25kaXRpb25hbAlJRiBFTFNFIFNFTEVDVCBFTFNJRiBUSEVOIFdIRU4KK3N5biBrZXl3b3JkIGJSZXBlYXQJCVdISUxFIEZPUgorc3luIGtleXdvcmQgYk9wcwkJYm9vbCBjYXJkIGNvbmMgY2xvc3VyZSBjbG9zdXJlMSBkb20gZmlyc3QgZm5jIGZyb250IG5vdCBvciBpZCBpbnRlciBpc2VxIGlzZXExIGl0ZXJhdGUgbGFzdCBtYXggbWluIG1vZCBwZXJtIHByZWQgcHJqMSBwcmoyIHJhbiByZWwgcmV2IHNlcSBzZXExIHNpemUgc2tpcCBzdWNjIHRhaWwgdW5pb24KK3N5biBrZXl3b3JkIGJLZXl3b3JkcwkJTEVUIFZBUiBCRSBJTiBCRUdJTiBFTkQgIFBPVyBQT1cxIEZJTiBGSU4xICBQUkUgIFNJR01BIFNUUklORyBVTklPTiBJUyBBTlkgV0hFUkUKK3N5biBtYXRjaCBiS2V5d29yZHMJInx8IgorCitzeW4ga2V5d29yZCBiQm9vbGVhbglUUlVFIEZBTFNFIGJmYWxzZSBidHJ1ZQorc3luIGtleXdvcmQgYkNvbnN0YW50CVBJIE1BWElOVCBNSU5JTlQgVXNlcl9QYXNzIFBhdGNoUHJvdmVyIFBhdGNoUHJvdmVySDAgUGF0Y2hQcm92ZXJCMCBGTEFUIEFSSSBERUQgU1VCIFJFUworc3luIGtleXdvcmQgYkd1YXJkIGJpbmh5cCBiYW5kIGJub3QgYmd1YXJkIGJzZWFyY2ggYmZsYXQgYmZyZXNoIGJndWFyZGkgYmdldCBiZ2V0aHlwIGJhcml0aCBiZ2V0cmVzdWx0IGJyZXN1bHQgYmdvYWwgYm1hdGNoIGJtb2RyIGJuZXd2ICBibnVtIGJ0ZXN0IGJwYXR0ZXJuIGJwcmludGYgYndyaXRlZiBic3ViZnJtICBidnJiIGJsdmFyIGJjYWxsIGJhcHBlbmQgYmNsb3NlCisKK3N5biBrZXl3b3JkIGJMb2dpYwlvciBub3QKK3N5biBtYXRjaCBiTG9naWMJIlwmXHw9Plx8PD0+IgorCitzeW4ga2V5d29yZCBjVG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFgKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb25zdGFudHMKKyIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2ggaGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKK3N5biBtYXRjaCBiU3BlY2lhbCBjb250YWluZWQJIlxcWzAtN11bMC03XVswLTddXD1cfFxcLiIKK3N5biByZWdpb24gYlN0cmluZwkJc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1iU3BlY2lhbAorc3luIG1hdGNoIGJDaGFyYWN0ZXIJCSInW15cXF0nIgorc3luIG1hdGNoIGJTcGVjaWFsQ2hhcmFjdGVyCSInXFwuJyIKK3N5biBtYXRjaCBiU3BlY2lhbENoYXJhY3RlcgkiJ1xcWzAtN11bMC03XSciCitzeW4gbWF0Y2ggYlNwZWNpYWxDaGFyYWN0ZXIJIidcXFswLTddWzAtN11bMC03XSciCisKKyJjYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2lzCitzeW4gcmVnaW9uIGJQYXJlbgkJdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULGJQYXJlbkVycm9yLGJJbmNsdWRlZCxiU3BlY2lhbCxiVG9kbyxiVXNlckxhYmVsLGJCaXRGaWVsZAorc3luIG1hdGNoIGJQYXJlbkVycm9yCQkiKSIKK3N5biBtYXRjaCBiSW5QYXJlbiBjb250YWluZWQJIlt7fV0iCisKKyJpbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHdpdGhvdXQgYSBkb3QgYW5kIHdpdGggImYiLgorc3luIGNhc2UgaWdub3JlCitzeW4gbWF0Y2ggYk51bWJlcgkJIlw8WzAtOV1cK1w+IgorInN5biBtYXRjaCBiSWRlbnRpZmllcgkiXDxbYS16X11bYS16MC05X10qXD4iCitzeW4gY2FzZSBtYXRjaAorCitpZiBleGlzdHMoImJfY29tbWVudF9zdHJpbmdzIikKKyAgIiBBIGNvbW1lbnQgY2FuIGNvbnRhaW4gYlN0cmluZywgYkNoYXJhY3RlciBhbmQgYk51bWJlci4KKyAgIiBCdXQgYSAiKi8iIGluc2lkZSBhIGJTdHJpbmcgaW4gYSBiQ29tbWVudCBET0VTIGVuZCB0aGUgY29tbWVudCEgIFNvIHdlCisgICIgbmVlZCB0byB1c2UgYSBzcGVjaWFsIHR5cGUgb2YgYlN0cmluZzogYkNvbW1lbnRTdHJpbmcsIHdoaWNoIGFsc28gZW5kcyBvbgorICAiICIqLyIsIGFuZCBzZWVzIGEgIioiIGF0IHRoZSBzdGFydCBvZiB0aGUgbGluZSBhcyBjb21tZW50IGFnYWluLgorICAiIFVuZm9ydHVuYXRlbHkgdGhpcyBkb2Vzbid0IHZlcnkgd2VsbCB3b3JrIGZvciAvLyB0eXBlIG9mIGNvbW1lbnRzIDotKAorICBzeW50YXggbWF0Y2ggYkNvbW1lbnRTa2lwCWNvbnRhaW5lZCAiXlxzKlwqXCgkXHxcc1wrXCkiCisgIHN5bnRheCByZWdpb24gYkNvbW1lbnRTdHJpbmcJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZW5kPStcKi8rbWU9cy0xIGNvbnRhaW5zPWJTcGVjaWFsLGJDb21tZW50U2tpcAorICBzeW50YXggcmVnaW9uIGJDb21tZW50MlN0cmluZwljb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBlbmQ9IiQiIGNvbnRhaW5zPWJTcGVjaWFsCisgIHN5bnRheCByZWdpb24gYkNvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPWJUb2RvLGJDb21tZW50U3RyaW5nLGJDaGFyYWN0ZXIsYk51bWJlcixiRmxvYXQKKyAgc3ludGF4IHJlZ2lvbiBiQ29tbWVudAlzdGFydD0iL1w/XCoiIGVuZD0iXCpcPy8iIGNvbnRhaW5zPWJUb2RvLGJDb21tZW50U3RyaW5nLGJDaGFyYWN0ZXIsYk51bWJlcixiRmxvYXQKKyAgc3ludGF4IG1hdGNoICBiQ29tbWVudAkiLy8uKiIgY29udGFpbnM9YlRvZG8sYkNvbW1lbnQyU3RyaW5nLGJDaGFyYWN0ZXIsYk51bWJlcgorZWxzZQorICBzeW4gcmVnaW9uIGJDb21tZW50CQlzdGFydD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9YlRvZG8KKyAgc3luIHJlZ2lvbiBiQ29tbWVudAkJc3RhcnQ9Ii9cP1wqIiBlbmQ9IlwqXD8vIiBjb250YWlucz1iVG9kbworICBzeW4gbWF0Y2ggYkNvbW1lbnQJCSIvLy4qIiBjb250YWlucz1iVG9kbworZW5kaWYKK3N5bnRheCBtYXRjaCBiQ29tbWVudEVycm9yCSJcKi8iCisKK3N5biBrZXl3b3JkIGJUeXBlCQlJTlQgSU5URUdFUiBCT09MIE5BVCBOQVRVUkFMIE5BVDEgTkFUVVJBTDEKKworc3luIHJlZ2lvbiBiUHJlQ29uZGl0CXN0YXJ0PSJeXHMqI1xzKlwoaWZcPlx8aWZkZWZcPlx8aWZuZGVmXD5cfGVsaWZcPlx8ZWxzZVw+XHxlbmRpZlw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1iQ29tbWVudCxiU3RyaW5nLGJDaGFyYWN0ZXIsYk51bWJlcixiQ29tbWVudEVycm9yCitzeW4gcmVnaW9uIGJJbmNsdWRlZCBjb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworc3luIG1hdGNoIGJJbmNsdWRlZCBjb250YWluZWQgIjxbXj5dKj4iCitzeW4gbWF0Y2ggYkluY2x1ZGUJCSJeXHMqI1xzKmluY2x1ZGVcPlxzKlsiPF0iIGNvbnRhaW5zPWJJbmNsdWRlZAorCitzeW4gcmVnaW9uIGJEZWZpbmUJCXN0YXJ0PSJeXHMqI1xzKlwoZGVmaW5lXD5cfHVuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPUFMTEJVVCxiUHJlQ29uZGl0LGJJbmNsdWRlZCxiSW5jbHVkZSxiRGVmaW5lLGJJblBhcmVuCitzeW4gcmVnaW9uIGJQcmVQcm9jCQlzdGFydD0iXlxzKiNccypcKHByYWdtYVw+XHxsaW5lXD5cfHdhcm5pbmdcPlx8d2Fyblw+XHxlcnJvclw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsYlByZUNvbmRpdCxiSW5jbHVkZWQsYkluY2x1ZGUsYkRlZmluZSxiSW5QYXJlbgorCisKK3N5biBzeW5jIGNjb21tZW50IGJDb21tZW50IG1pbmxpbmVzPTEwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYl9zeW50YXhfaW5pdHMiKQorICAgaWYgdmVyc2lvbiA8IDUwOAorICAgICAgbGV0IGRpZF9iX3N5bnRheF9pbml0cyA9IDEKKyAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgICBlbHNlCisgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICBIaUxpbmsgYkxhYmVsCUxhYmVsCisgIEhpTGluayBiVXNlckxhYmVsCUxhYmVsCisgIEhpTGluayBiQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGJSZXBlYXQJUmVwZWF0CisgIEhpTGluayBiTG9naWMJU3BlY2lhbAorICBIaUxpbmsgYkNoYXJhY3RlcglDaGFyYWN0ZXIKKyAgSGlMaW5rIGJTcGVjaWFsQ2hhcmFjdGVyIGJTcGVjaWFsCisgIEhpTGluayBiTnVtYmVyCU51bWJlcgorICBIaUxpbmsgYkZsb2F0CUZsb2F0CisgIEhpTGluayBiT2N0YWxFcnJvcgliRXJyb3IKKyAgSGlMaW5rIGJQYXJlbkVycm9yCWJFcnJvcgorIiBIaUxpbmsgYkluUGFyZW4JYkVycm9yCisgIEhpTGluayBiQ29tbWVudEVycm9yCWJFcnJvcgorICBIaUxpbmsgYkJvb2xlYW4JSWRlbnRpZmllcgorICBIaUxpbmsgYkNvbnN0YW50CUlkZW50aWZpZXIKKyAgSGlMaW5rIGJHdWFyZAlJZGVudGlmaWVyCisgIEhpTGluayBiT3BlcmF0b3IJT3BlcmF0b3IKKyAgSGlMaW5rIGJLZXl3b3JkcwlPcGVyYXRvcgorICBIaUxpbmsgYk9wcwkJSWRlbnRpZmllcgorICBIaUxpbmsgYlN0cnVjdHVyZQlTdHJ1Y3R1cmUKKyAgSGlMaW5rIGJTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayBiSW5jbHVkZQlJbmNsdWRlCisgIEhpTGluayBiUHJlUHJvYwlQcmVQcm9jCisgIEhpTGluayBiRGVmaW5lCU1hY3JvCisgIEhpTGluayBiSW5jbHVkZWQJYlN0cmluZworICBIaUxpbmsgYkVycm9yCUVycm9yCisgIEhpTGluayBiU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgYlByZUNvbmRpdAlQcmVDb25kaXQKKyAgSGlMaW5rIGJUeXBlCQlUeXBlCisgIEhpTGluayBiQ29tbWVudEVycm9yCWJFcnJvcgorICBIaUxpbmsgYkNvbW1lbnRTdHJpbmcgYlN0cmluZworICBIaUxpbmsgYkNvbW1lbnQyU3RyaW5nIGJTdHJpbmcKKyAgSGlMaW5rIGJDb21tZW50U2tpcAliQ29tbWVudAorICBIaUxpbmsgYlN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIGJDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGJTcGVjaWFsCVNwZWNpYWxDaGFyCisgIEhpTGluayBiVG9kbwkJVG9kbworICAiaGkgbGluayBiSWRlbnRpZmllcglJZGVudGlmaWVyCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgY3VycmVudF9zeW50YXggPSAiYiIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2JhYW4udmltIGIvcnVudGltZS9zeW50YXgvYmFhbi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVmYThkZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2JhYW4udmltCkBAIC0wLDAgKzEsMjQ3IEBACisiIFZpbSBzeW50YXggZmlsZSIKKyIgTGFuZ3VhZ2U6CUJhYW4KKyIgTWFpbnRhaW5lcjoJRXJ3aW4gU21pdCAvIEhlciB2YW4gZGUgVmxpZXJ0CisiIExhc3QgY2hhbmdlOgkzMC0xMC0yMDAxIgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIDNHTCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiCitzeW4gbWF0Y2ggYmFhbjNnbCAiI2lkZW50Igorc3luIG1hdGNoIGJhYW4zZ2wgIiNpbmNsdWRlIgorc3luIG1hdGNoIGJhYW4zZ2wgIiNkZWZpbmUiCitzeW4gbWF0Y2ggYmFhbjNnbCAiI3VuZGVmIgorc3luIG1hdGNoIGJhYW4zZ2wgIiNwcmFnbWEiCitzeW4ga2V5d29yZCBiYWFuQ29uZGl0aW9uYWwgaWYgdGhlbiBlbHNlIGNhc2UgZW5kaWYgd2hpbGUgZW5kd2hpbGUgZW5kZm9yIGVuZGNhc2UKK3N5biBrZXl3b3JkIGJhYW4zZ2wgYXQgYmFzZWQgYnJlYWsgYnNldCBjYWxsIGNvbW1vbiBjb25zdCBjb250aW51ZSBkZWZhdWx0IGRvdWJsZQorc3luIGtleXdvcmQgYmFhbjNnbCBlbXB0eSBleHRlcm4gZml4ZWQgZnVuY3Rpb24gZ2UgZ2xvYmFsIGdvdG8gZ3QgbGUgbHQgbWIKK3N5biBrZXl3b3JkIGJhYW4zZ2wgbXVsdGlieXRlIG5lIG9mciBwcm9tcHQgcmVmIHJlcGVhdCBzdGF0aWMgc3RlcCBzdG9wIHN0cmluZworc3luIGtleXdvcmQgYmFhbjNnbCB0cnVlIGZhbHNlIHVudGlsIHZvaWQgd2hlcmViaW5kCitzeW4ga2V5d29yZCBiYWFuM2dsIGFuZCBvciB0byBub3QgaW4KK3N5biBrZXl3b3JkIGJhYW4zZ2wgZG9tYWluIHRhYmxlIGVxIGlucHV0IGVuZCBsb25nIGRpbSByZXR1cm4gYXQgYmFzZSBwcmludAorc3luIG1hdGNoIGJhYW4zZ2wgIlw8Zm9yXD4iIGNvbnRhaW5zPWJhYW5zcWwKK3N5biBtYXRjaCBiYWFuM2dsICJvbiBjYXNlIgorc3luIG1hdGNoIGJhYW4zZ2wgImVcPW5cPWRcPWRsbHVzYWdlIgorCisiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTUUwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIgorc3luIGtleXdvcmQgYmFhbnNxbGggd2hlcmUgcmVmZXJlbmNlIHNlbGVjdGVycm9yIHNlbGVjdGJpbmQgc2VsZWN0ZG8gc2VsZWN0ZW1wdHkKK3N5biBrZXl3b3JkIGJhYW5zcWxoIHNlbGVjdGVvcyB3aGVyZXVzZWQgZW5kc2VsZWN0IHVucmVmIHNldHVucmVmIGNsZWFydW5yZWYKK3N5biBrZXl3b3JkIGJhYW5zcWxoIGZyb20gc2VsZWN0IGNsZWFyIHNraXAgcm93cworc3luIGtleXdvcmQgYmFhbnNxbCBiZXR3ZWVuIGlucmFuZ2UgaGF2aW5nCitzeW4gbWF0Y2ggYmFhbnNxbCAiYXMgc2V0IHdpdGggXGRcKyByb3dzIgorc3luIG1hdGNoIGJhYW5zcWwgImFzIHByZXBhcmVkIHNldCIKK3N5biBtYXRjaCBiYWFuc3FsICJhcyBwcmVwYXJlZCBzZXQgd2l0aCBcZFwrIHJvd3MiCitzeW4gbWF0Y2ggYmFhbnNxbCAicmVmZXJzIHRvIgorc3luIG1hdGNoIGJhYW5zcWwgIndpdGggcmV0cnkiCitzeW4gbWF0Y2ggYmFhbnNxbCAid2l0aCByZXRyeSByZXBlYXQgbGFzdCByb3ciCitzeW4gbWF0Y2ggYmFhbnNxbCAiZm9yIHVwZGF0ZSIKK3N5biBtYXRjaCBiYWFuc3FsICJvcmRlciBieSIKK3N5biBtYXRjaCBiYWFuc3FsICJncm91cCBieSIKK3N5biBtYXRjaCBiYWFuc3FsICJjb21taXRcLnRyYW5zYWN0aW9uKCkiCitzeW4gbWF0Y2ggYmFhbnNxbCAiYWJvcnRcLnRyYW5zYWN0aW9uKCkiCitzeW4gbWF0Y2ggYmFhbnNxbCAiZGJcLmNvbHVtbnNcLnRvXC5yZWNvcmQiCitzeW4gbWF0Y2ggYmFhbnNxbCAiZGJcLnJlY29yZFwudG9cLmNvbHVtbnMiCitzeW4gbWF0Y2ggYmFhbnNxbCAiZGJcLmJpbmQiCitzeW4gbWF0Y2ggYmFhbnNxbCAiZGJcLmNoYW5nZVwub3JkZXIiCitzeW4gbWF0Y2ggYmFhbnNxbCAiXDxkYlwuZXEiCitzeW4gbWF0Y2ggYmFhbnNxbCAiXDxkYlwuZmlyc3QiCitzeW4gbWF0Y2ggYmFhbnNxbCAiXDxkYlwuZ3QiCitzeW4gbWF0Y2ggYmFhbnNxbCAiXDxkYlwuZ2UiCitzeW4gbWF0Y2ggYmFhbnNxbCAiXDxkYlwubGUiCitzeW4gbWF0Y2ggYmFhbnNxbCAiXDxkYlwubmV4dCIKK3N5biBtYXRjaCBiYWFuc3FsICJcPGRiXC5wcmV2Igorc3luIG1hdGNoIGJhYW5zcWwgIlw8ZGJcLmluc2VydCIKK3N5biBtYXRjaCBiYWFuc3FsICJcPGRiXC5kZWxldGUiCitzeW4gbWF0Y2ggYmFhbnNxbCAiXDxkYlwudXBkYXRlIgorc3luIG1hdGNoIGJhYW5zcWwgIlw8ZGJcLmNyZWF0ZVwudGFibGUiCitzeW4gbWF0Y2ggYmFhbnNxbCAiZGJcLnNldFwudG9cLmRlZmF1bHQiCitzeW4gbWF0Y2ggYmFhbnNxbCAiZGJcLnJldHJ5Igorc3luIG1hdGNoIGJhYW5zcWwgIkRCXC5SRVRSWSIKK3N5biBtYXRjaCBiYWFuc3FsICJkYlwuZGVsYXllZFwubG9jayIKK3N5biBtYXRjaCBiYWFuc3FsICJkYlwucmV0cnlcLnBvaW50KCkiCitzeW4gbWF0Y2ggYmFhbnNxbCAiZGJcLnJldHJ5XC5oaXQoKSIKK3N5biBtYXRjaCBiYWFuc3FsICJkYlwucmV0dXJuXC5kdXBsIgorc3luIG1hdGNoIGJhYW5zcWwgImRiXC5za2lwXC5kdXBsIgorc3luIG1hdGNoIGJhYW5zcWwgImRiXC5yb3dcLmxlbmd0aCIKKworIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogNEdMICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIKKyIgUHJvZ3JhbSBzZWN0aW9uCitzeW4gbWF0Y2ggYmFhbjRnbGggImRlY2xhcmF0aW9uOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiZnVuY3Rpb25zOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiYmVmb3JlXC5wcm9ncmFtOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAib25cLmVycm9yOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiYWZ0ZXJcLnByb2dyYW06Igorc3luIG1hdGNoIGJhYW40Z2xoICJhZnRlclwudXBkYXRlLmRiLmNvbW1pdDoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImJlZm9yZVwuZGlzcGxheVwub2JqZWN0OiIKKworIiBGb3JtIHNlY3Rpb24KK3N5biBtYXRjaCBiYWFuNGdsaCAiZm9ybVwuXGRcKzoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImZvcm1cLmFsbDoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImZvcm1cLm90aGVyOiIKK3N5biBtYXRjaCBiYWFuNGdsICJpbml0XC5mb3JtOiIKK3N5biBtYXRjaCBiYWFuNGdsICJiZWZvcmVcLmZvcm06Igorc3luIG1hdGNoIGJhYW40Z2wgImFmdGVyXC5mb3JtOiIKKworIiBDaG9pY2Ugc2VjdGlvbgorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLnN0YXJ0XC5zZXQ6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmZpcnN0XC52aWV3OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5uZXh0XC52aWV3OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5wcmV2XC52aWV3OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5sYXN0XC52aWV3OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5kZWZcLmZpbmQ6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmZpbmRcLmRhdGE6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmZpcnN0XC5zZXQ6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLm5leHRcLnNldDoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwuZGlzcGxheVwuc2V0OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5wcmV2XC5zZXQ6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLnJvdGF0ZVwuY3VycjoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwubGFzdFwuc2V0OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5hZGRcLnNldDoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwudXBkYXRlXC5kYjoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwuZHVwbFwub2NjdXI6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLnJlY292ZXJcLnNldDoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwubWFya1wuZGVsZXRlOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5tYXJrXC5vY2N1cjoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwuY2hhbmdlXC5vcmRlcjoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwubW9kaWZ5XC5zZXQ6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLnJlc3RhcnRcLmlucHV0OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5wcmludFwuZGF0YToiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwuY3JlYXRlXC5qb2I6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmZvcm1cLnRhYlwuY2hhbmdlOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5maXJzdFwuZnJtOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5uZXh0XC5mcm06Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLnByZXZcLmZybToiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwubGFzdFwuZnJtOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5yZXNpemVcLmZybToiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwuY21kXC5vcHRpb25zOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC56b29tOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5pbnRlcnJ1cHQ6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmVuZFwucHJvZ3JhbToiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwuYWJvcnRcLnByb2dyYW06Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmNvbnRcLnByb2Nlc3M6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLnRleHRcLm1hbmFnZXI6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLnJ1blwuam9iOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5nbG9iYWxcLmRlbGV0ZToiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwuZ2xvYmFsXC5jb3B5OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5zYXZlXC5kZWZhdWx0cyIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5nZXRcLmRlZmF1bHRzOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5zdGFydFwuY2hhcnQ6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLnN0YXJ0XC5xdWVyeToiCitzeW4gbWF0Y2ggYmFhbjRnbGggImNob2ljZVwudXNlclwuXGQ6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmFza1wuaGVscGluZm86Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmNhbGN1bGF0b3I6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmNhbGVuZGFyOiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiY2hvaWNlXC5ibXM6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmNtZFwud2hhdHNcLnRoaXM6Igorc3luIG1hdGNoIGJhYW40Z2xoICJjaG9pY2VcLmhlbHBcLmluZGV4OiIKK3N5biBtYXRjaCBiYWFuNGdsICJiZWZvcmVcLmNob2ljZToiCitzeW4gbWF0Y2ggYmFhbjRnbCAib25cLmNob2ljZToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYWZ0ZXJcLmNob2ljZToiCisKKyIgRmllbGQgc2VjdGlvbgorc3luIG1hdGNoIGJhYW40Z2xoICJmaWVsZFwuXGxcezV9XGRcezN9XC5cbFx7NH1cLlw9Y1w9OiIKK3N5biBtYXRjaCBiYWFuNGdsaCAiZmllbGRcLmVcLi5cKzoiCitzeW4gbWF0Y2ggYmFhbjRnbGggImZpZWxkXC5hbGw6Igorc3luIG1hdGNoIGJhYW40Z2xoICJmaWVsZFwub3RoZXI6Igorc3luIG1hdGNoIGJhYW40Z2wgImluaXRcLmZpZWxkOiIKK3N5biBtYXRjaCBiYWFuNGdsICJiZWZvcmVcLmZpZWxkOiIKK3N5biBtYXRjaCBiYWFuNGdsICJiZWZvcmVcLmlucHV0OiIKK3N5biBtYXRjaCBiYWFuNGdsICJiZWZvcmVcLmRpc3BsYXk6Igorc3luIG1hdGNoIGJhYW40Z2wgImJlZm9yZVwuem9vbToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYmVmb3JlXC5jaGVja3M6Igorc3luIG1hdGNoIGJhYW40Z2wgImRvbWFpblwuZXJyb3I6Igorc3luIG1hdGNoIGJhYW40Z2wgInJlZlwuaW5wdXQ6Igorc3luIG1hdGNoIGJhYW40Z2wgInJlZlwuZGlzcGxheToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiY2hlY2tcLmlucHV0OiIKK3N5biBtYXRjaCBiYWFuNGdsICJvblwuaW5wdXQ6Igorc3luIG1hdGNoIGJhYW40Z2wgIndoZW5cLmZpZWxkXC5jaGFuZ2VzOiIKK3N5biBtYXRjaCBiYWFuNGdsICJhZnRlclwuem9vbToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYWZ0ZXJcLmlucHV0OiIKK3N5biBtYXRjaCBiYWFuNGdsICJhZnRlclwuZGlzcGxheToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYWZ0ZXJcLmZpZWxkOiIKKworIiBHcm91cCBzZWN0aW9uCitzeW4gbWF0Y2ggYmFhbjRnbGggImdyb3VwXC5cZFwrOiIKK3N5biBtYXRjaCBiYWFuNGdsICJpbml0XC5ncm91cDoiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYmVmb3JlXC5ncm91cDoiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYWZ0ZXJcLmdyb3VwOiIKKworIiBab29tIHNlY3Rpb24KK3N5biBtYXRjaCBiYWFuNGdsaCAiem9vbVwuZnJvbVwuLlwrOiIKK3N5biBtYXRjaCBiYWFuNGdsICJvblwuZW50cnk6Igorc3luIG1hdGNoIGJhYW40Z2wgIm9uXC5leGl0OiIKKyIgTWFpbiB0YWJsZSBzZWN0aW9uCitzeW4gbWF0Y2ggYmFhbjRnbGggIm1haW5cLnRhYmxlXC5pbzoiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYmVmb3JlXC5yZWFkOiIKK3N5biBtYXRjaCBiYWFuNGdsICJhZnRlclwucmVhZDoiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYmVmb3JlXC53cml0ZToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYWZ0ZXJcLndyaXRlOiIKK3N5biBtYXRjaCBiYWFuNGdsICJhZnRlclwuc2tpcFwud3JpdGU6Igorc3luIG1hdGNoIGJhYW40Z2wgImJlZm9yZVwucmV3cml0ZToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYWZ0ZXJcLnJld3JpdGU6Igorc3luIG1hdGNoIGJhYW40Z2wgImFmdGVyXC5za2lwXC5yZXdyaXRlOiIKK3N5biBtYXRjaCBiYWFuNGdsICJiZWZvcmVcLmRlbGV0ZToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYWZ0ZXJcLmRlbGV0ZToiCitzeW4gbWF0Y2ggYmFhbjRnbCAiYWZ0ZXJcLnNraXBcLmRlbGV0ZToiCitzeW4gbWF0Y2ggYmFhbjRnbCAicmVhZFwudmlldzoiCisKKyJudW1iZXIgd2l0aG91dCBhIGRvdC4iCitzeW4gbWF0Y2ggIGJhYW5OdW1iZXIJCSJcPFwtXD1cZFwrXD4iCisibnVtYmVyIHdpdGggZG90Igorc3luIG1hdGNoICBiYWFuTnVtYmVyCQkiXDxcLVw9XGRcK1wuXGQqXD4iCisibnVtYmVyIHN0YXJ0aW5nIHdpdGggYSBkb3QiCitzeW4gbWF0Y2ggIGJhYW5OdW1iZXIJCSJcPFwtXD1cLlxkXCtcPiIKKworIiBTdHJpbmciCitzeW4gcmVnaW9uICBiYWFuU3RyaW5nCXN0YXJ0PSsiKyAgc2tpcD0rIiIrICBlbmQ9KyIrCisiIENvbW1lbnQiCitzeW4gbWF0Y2ggICBiYWFuQ29tbWVudCAifCQiCitzeW4gbWF0Y2ggICBiYWFuQ29tbWVudCAifC4kIgorc3luIG1hdGNoICAgYmFhbkNvbW1lbnQgInxbXiBdIgorc3luIG1hdGNoICAgYmFhbkNvbW1lbnQJInxbXiNdLipbXiBdIgorc3luIG1hdGNoICAgYmFhbkNvbW1lbnRoICJefCNscmEuKiQiCitzeW4gbWF0Y2ggICBiYWFuQ29tbWVudGggIl58I21kbS4qJCIKK3N5biBtYXRjaCAgIGJhYW5Db21tZW50aCAiXnwjWzAtOV1bMC05XVswLTldWzAtOV1bMC05XS4qJCIKK3N5biBtYXRjaCAgIGJhYW5Db21tZW50aCAiXnwjTlw9b1w9SW5jbHVkZS4qJCIKK3N5biByZWdpb24gIGJhYW5Db21tZW50IHN0YXJ0PSJkbGx1c2FnZSIgZW5kPSJlbmRkbGx1c2FnZSIKKyIgT2xkY29kZSIKK3N5biBtYXRjaCAgIGJhYW5VbmNvbW1lbnRlZAkiXnxbXiojXS4qW14gXSIKKyIgU3BhY2VFcnJvciIKK3N5biBtYXRjaCAgQmFhblNwYWNlcwkiICIKK3N5biBtYXRjaCAgYmFhblNwYWNlRXJyb3IJIlxzKiQiCitzeW4gbWF0Y2ggIGJhYW5TcGFjZUVycm9yCSIgICAgICAgICIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYmFhbl9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGJhYW5Db25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgYmFhbjNnbAkJU3RhdGVtZW50CisgIEhpTGluayBiYWFuNGdsCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGJhYW40Z2xoCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGJhYW5zcWwJCVN0YXRlbWVudAorICBIaUxpbmsgYmFhbnNxbGgJCVN0YXRlbWVudAorICBIaUxpbmsgYmFhbk51bWJlcgkJTnVtYmVyCisgIEhpTGluayBiYWFuU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIGJhYW5Db21tZW50CQlDb21tZW50CisgIEhpTGluayBiYWFuQ29tbWVudGgJCUNvbW1lbnQKKyAgSGlMaW5rIGJhYW5VbmNvbW1lbnRlZAlDb21tZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImJhYW4iCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9iYXNpYy52aW0gYi9ydW50aW1lL3N5bnRheC9iYXNpYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU1MDAxNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2Jhc2ljLnZpbQpAQCAtMCwwICsxLDE3NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUJBU0lDCisiIE1haW50YWluZXI6CUFsbGFuIEtlbGx5IDxhbGxhbkBmcnVpdGxvYWYuY28udWs+CisiIExhc3QgQ2hhbmdlOglUdWUgU2VwIDE0IDE0OjI0OjIzIEJTVCAxOTk5CisKKyIgRmlyc3QgdmVyc2lvbiBiYXNlZCBvbiBNaWNybyRzb2Z0IFFCQVNJQyBjaXJjYSAxOTg5LCBhcyBkb2N1bWVudGVkIGluCisiICdMZWFybiBCQVNJQyBOb3cnIGJ5IEhhbHZvcnNvbiZSeWdteXIuIE1pY3Jvc29mdCBQcmVzcyAxOTg5LgorIiBUaGlzIHN5bnRheCBmaWxlIG5vdCBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIHlldC4gIFNlbmQgc3VnZ2VzdGlvbnMgdG8gdGhlCisiIG1haW50YWluZXIuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBBIGJ1bmNoIG9mIHVzZWZ1bCBCQVNJQyBrZXl3b3Jkcworc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJQkVFUCBiZWVwIEJlZXAgQkxPQUQgYmxvYWQgQmxvYWQgQlNBVkUgYnNhdmUgQnNhdmUKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUNBTEwgY2FsbCBDYWxsIEFCU09MVVRFIGFic29sdXRlIEFic29sdXRlCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlDSEFJTiBjaGFpbiBDaGFpbiBDSERJUiBjaGRpciBDaGRpcgorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJQ0lSQ0xFIGNpcmNsZSBDaXJjbGUgQ0xFQVIgY2xlYXIgQ2xlYXIKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUNMT1NFIGNsb3NlIENsb3NlIENMUyBjbHMgQ2xzIENPTE9SIGNvbG9yIENvbG9yCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlDT00gY29tIENvbSBDT01NT04gY29tbW9uIENvbW1vbgorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJQ09OU1QgY29uc3QgQ29uc3QgREFUQSBkYXRhIERhdGEKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CURFQ0xBUkUgZGVjbGFyZSBEZWNsYXJlIERFRiBkZWYgRGVmCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlERUZEQkwgZGVmZGJsIERlZmRibCBERUZJTlQgZGVmaW50IERlZmludAorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJREVGTE5HIGRlZmxuZyBEZWZsbmcgREVGU05HIGRlZnNuZyBEZWZzbmcKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CURFRlNUUiBkZWZzdHIgRGVmc3RyIERJTSBkaW0gRGltCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlETyBkbyBEbyBMT09QIGxvb3AgTG9vcAorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJRFJBVyBkcmF3IERyYXcgRU5EIGVuZCBFbmQKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUVOVklST04gZW52aXJvbiBFbnZpcm9uIEVSQVNFIGVyYXNlIEVyYXNlCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlFUlJPUiBlcnJvciBFcnJvciBFWElUIGV4aXQgRXhpdAorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJRklFTEQgZmllbGQgRmllbGQgRklMRVMgZmlsZXMgRmlsZXMKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUZPUiBmb3IgRm9yIE5FWFQgbmV4dCBOZXh0CitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlGVU5DVElPTiBmdW5jdGlvbiBGdW5jdGlvbiBHRVQgZ2V0IEdldAorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJR09TVUIgZ29zdWIgR29zdWIgR09UTyBnb3RvIEdvdG8KK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUlGIGlmIElmIFRIRU4gdGhlbiBUaGVuIEVMU0UgZWxzZSBFbHNlCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlJTlBVVCBpbnB1dCBJbnB1dCBJTlBVVCMgaW5wdXQjIElucHV0Iworc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJSU9DVEwgaW9jdGwgSW9jdGwgS0VZIGtleSBLZXkKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUtJTEwga2lsbCBLaWxsIExFVCBsZXQgTGV0CitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlMSU5FIGxpbmUgTGluZSBMT0NBVEUgbG9jYXRlIExvY2F0ZQorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJTE9DSyBsb2NrIExvY2sgVU5MT0NLIHVubG9jayBVbmxvY2sKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUxQUklOVCBscHJpbnQgTHByaW50IFVTSU5HIHVzaW5nIFVzaW5nCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlMU0VUIGxzZXQgTHNldCBNS0RJUiBta2RpciBNa2Rpcgorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJTkFNRSBuYW1lIE5hbWUgT04gb24gT24KK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUVSUk9SIGVycm9yIEVycm9yIE9QRU4gb3BlbiBPcGVuCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlPUFRJT04gb3B0aW9uIE9wdGlvbiBCQVNFIGJhc2UgQmFzZQorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJT1VUIG91dCBPdXQgUEFJTlQgcGFpbnQgUGFpbnQKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CVBBTEVUVEUgcGFsZXR0ZSBQYWxldHRlIFBDT1BZIHBjb3B5IFBjb3B5CitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlQRU4gcGVuIFBlbiBQTEFZIHBsYXkgUGxheQorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJUE1BUCBwbWFwIFBtYXAgUE9LRSBwb2tlIFBva2UKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CVBSRVNFVCBwcmVzZXQgUHJlc2V0IFBSSU5UIHByaW50IFByaW50CitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlQUklOVCMgcHJpbnQjIFByaW50IyBVU0lORyB1c2luZyBVc2luZworc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJUFNFVCBwc2V0IFBzZXQgUFVUIHB1dCBQdXQKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CVJBTkRPTUlaRSByYW5kb21pemUgUmFuZG9taXplIFJFQUQgcmVhZCBSZWFkCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlSRURJTSByZWRpbSBSZWRpbSBSRVNFVCByZXNldCBSZXNldAorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJUkVTVE9SRSByZXN0b3JlIFJlc3RvcmUgUkVTVU1FIHJlc3VtZSBSZXN1bWUKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CVJFVFVSTiByZXR1cm4gUmV0dXJuIFJNRElSIHJtZGlyIFJtZGlyCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlSU0VUIHJzZXQgUnNldCBSVU4gcnVuIFJ1bgorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJU0VFSyBzZWVrIFNlZWsgU0VMRUNUIHNlbGVjdCBTZWxlY3QKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CUNBU0UgY2FzZSBDYXNlIFNIQVJFRCBzaGFyZWQgU2hhcmVkCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlTSEVMTCBzaGVsbCBTaGVsbCBTTEVFUCBzbGVlcCBTbGVlcAorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJU09VTkQgc291bmQgU291bmQgU1RBVElDIHN0YXRpYyBTdGF0aWMKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CVNUT1Agc3RvcCBTdG9wIFNUUklHIHN0cmlnIFN0cmlnCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlTVUIgc3ViIFN1YiBTV0FQIHN3YXAgU3dhcAorc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJU1lTVEVNIHN5c3RlbSBTeXN0ZW0gVElNRVIgdGltZXIgVGltZXIKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CVRST0ZGIHRyb2ZmIFRyb2ZmIFRST04gdHJvbiBUcm9uCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlUWVBFIHR5cGUgVHlwZSBVTkxPQ0sgdW5sb2NrIFVubG9jaworc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJVklFVyB2aWV3IFZpZXcgV0FJVCB3YWl0IFdhaXQKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CVdISUxFIHdoaWxlIFdoaWxlIFdFTkQgd2VuZCBXZW5kCitzeW4ga2V5d29yZCBiYXNpY1N0YXRlbWVudAlXSURUSCB3aWR0aCBXaWR0aCBXSU5ET1cgd2luZG93IFdpbmRvdworc3luIGtleXdvcmQgYmFzaWNTdGF0ZW1lbnQJV1JJVEUgd3JpdGUgV3JpdGUgREFURSQgZGF0ZSQgRGF0ZSQKK3N5biBrZXl3b3JkIGJhc2ljU3RhdGVtZW50CU1JRCQgbWlkJCBNaWQkIFRJTUUkIHRpbWUkIFRpbWUkCisKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQUJTIGFicyBBYnMgQVNDIGFzYyBBc2MKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQVROIGF0biBBdG4gQ0RCTCBjZGJsIENkYmwKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQ0lOVCBjaW50IENpbnQgQ0xORyBjbG5nIENsbmcKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQ09TIGNvcyBDb3MgQ1NORyBjc25nIENzbmcKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQ1NSTElOIGNzcmxpbiBDc3JsaW4gQ1ZEIGN2ZCBDdmQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQ1ZETUJGIGN2ZG1iZiBDdmRtYmYgQ1ZJIGN2aSBDdmkKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQ1ZMIGN2bCBDdmwgQ1ZTIGN2cyBDdnMKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQ1ZTTUJGIGN2c21iZiBDdnNtYmYgRU9GIGVvZiBFb2YKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JRVJERVYgZXJkZXYgRXJkZXYgRVJMIGVybCBFcmwKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JRVJSIGVyciBFcnIgRVhQIGV4cCBFeHAKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JRklMRUFUVFIgZmlsZWF0dHIgRmlsZWF0dHIgRklYIGZpeCBGaXgKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JRlJFIGZyZSBGcmUgRlJFRUZJTEUgZnJlZWZpbGUgRnJlZWZpbGUKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JSU5QIGlucCBJbnAgSU5TVFIgaW5zdHIgSW5zdHIKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JSU5UIGludCBJbnQgTEJPVU5EIGxib3VuZCBMYm91bmQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JTEVOIGxlbiBMZW4gTE9DIGxvYyBMb2MKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JTE9GIGxvZiBMb2YgTE9HIGxvZyBMb2cKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JTFBPUyBscG9zIExwb3MgUEVFSyBwZWVrIFBlZWsKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JUEVOIHBlbiBQZW4gUE9JTlQgcG9pbnQgUG9pbnQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JUE9TIHBvcyBQb3MgUk5EIHJuZCBSbmQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JU0FERCBzYWRkIFNhZGQgU0NSRUVOIHNjcmVlbiBTY3JlZW4KK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JU0VFSyBzZWVrIFNlZWsgU0VUTUVNIHNldG1lbSBTZXRtZW0KK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JU0dOIHNnbiBTZ24gU0lOIHNpbiBTaW4KK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JU1BDIHNwYyBTcGMgU1FSIHNxciBTcXIKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JU1RJQ0sgc3RpY2sgU3RpY2sgU1RSSUcgc3RyaWcgU3RyaWcKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JVEFCIHRhYiBUYWIgVEFOIHRhbiBUYW4KK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JVUJPVU5EIHVib3VuZCBVYm91bmQgVkFMIHZhbCBWYWwKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JVkFMUFRSIHZhbHB0ciBWYWxwdHIgVkFMU0VHIHZhbHNlZyBWYWxzZWcKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JVkFSUFRSIHZhcnB0ciBWYXJwdHIgVkFSU0VHIHZhcnNlZyBWYXJzZWcKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JQ0hSJCBDaHIkIGNociQgQ09NTUFORCQgY29tbWFuZCQgQ29tbWFuZCQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JREFURSQgZGF0ZSQgRGF0ZSQgRU5WSVJPTiQgZW52aXJvbiQgRW52aXJvbiQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JRVJERVYkIGVyZGV2JCBFcmRldiQgSEVYJCBoZXgkIEhleCQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JSU5LRVkkIGlua2V5JCBJbmtleSQgSU5QVVQkIGlucHV0JCBJbnB1dCQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JSU9DVEwkIGlvY3RsJCBJb2N0bCQgTENBU0VTJCBsY2FzZXMkIExjYXNlcyQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JTEFGVCQgbGFmdCQgTGFmdCQgTFRSSU0kIGx0cmltJCBMdHJpbSQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JTUlEJCBtaWQkIE1pZCQgTUtETUJGJCBta2RtYmYkIE1rZG1iZiQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JTUtEJCBta2QkIE1rZCQgTUtJJCBta2kkIE1raSQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JTUtMJCBta2wkIE1rbCQgTUtTTUJGJCBta3NtYmYkIE1rc21iZiQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JTUtTJCBta3MkIE1rcyQgT0NUJCBvY3QkIE9jdCQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JUklHSFQkIHJpZ2h0JCBSaWdodCQgUlRSSU0kIHJ0cmltJCBSdHJpbSQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JU1BBQ0UkIHNwYWNlJCBTcGFjZSQgU1RSJCBzdHIkIFN0ciQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JU1RSSU5HJCBzdHJpbmckIFN0cmluZyQgVElNRSQgdGltZSQgVGltZSQKK3N5biBrZXl3b3JkIGJhc2ljRnVuY3Rpb24JVUNBU0UkIHVjYXNlJCBVY2FzZSQgVkFSUFRSJCB2YXJwdHIkIFZhcnB0ciQKK3N5biBrZXl3b3JkIGJhc2ljVG9kbyBjb250YWluZWQJVE9ETworCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90Lgorc3luIG1hdGNoICBiYXNpY051bWJlcgkJIlw8XGRcK1w+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QKK3N5biBtYXRjaCAgYmFzaWNOdW1iZXIJCSJcPFxkXCtcLlxkKlw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdAorc3luIG1hdGNoICBiYXNpY051bWJlcgkJIlwuXGRcK1w+IgorCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnRzdGFudHMKK3N5biBtYXRjaCAgIGJhc2ljU3BlY2lhbCBjb250YWluZWQgIlxcXGRcZFxkXHxcXC4iCitzeW4gcmVnaW9uICBiYXNpY1N0cmluZwkJICBzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgIGNvbnRhaW5zPWJhc2ljU3BlY2lhbAorCitzeW4gcmVnaW9uICBiYXNpY0NvbW1lbnQJc3RhcnQ9IlJFTSIgZW5kPSIkIiBjb250YWlucz1iYXNpY1RvZG8KK3N5biByZWdpb24gIGJhc2ljQ29tbWVudAlzdGFydD0iXlsgXHRdKiciIGVuZD0iJCIgY29udGFpbnM9YmFzaWNUb2RvCitzeW4gcmVnaW9uICBiYXNpY0xpbmVOdW1iZXIJc3RhcnQ9Il5cZCIgZW5kPSJccyIKK3N5biBtYXRjaCAgIGJhc2ljVHlwZVNwZWNpZmllciAgIlthLXpBLVowLTldW1wkJSYhI10ibXM9cysxCisiIFVzZWQgd2l0aCBPUEVOIHN0YXRlbWVudAorc3luIG1hdGNoICAgYmFzaWNGaWxlbnVtYmVyICAiI1xkXCsiCisic3luIHN5bmMgY2NvbW1lbnQgYmFzaWNDb21tZW50CisiIHN5biBtYXRjaCAgIGJhc2ljTWF0aHNPcGVyYXRvciAiWzw+K1wqXi9cXD0tXSIKK3N5biBtYXRjaCAgIGJhc2ljTWF0aHNPcGVyYXRvciAgICItXHw9XHxbOjw+K1wqXi9cXF1cfEFORFx8T1IiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2Jhc2ljX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2Jhc2ljX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGJhc2ljTGFiZWwJCUxhYmVsCisgIEhpTGluayBiYXNpY0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBiYXNpY1JlcGVhdAkJUmVwZWF0CisgIEhpTGluayBiYXNpY0xpbmVOdW1iZXIJQ29tbWVudAorICBIaUxpbmsgYmFzaWNOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgYmFzaWNFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIGJhc2ljU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgYmFzaWNTdHJpbmcJCVN0cmluZworICBIaUxpbmsgYmFzaWNDb21tZW50CQlDb21tZW50CisgIEhpTGluayBiYXNpY1NwZWNpYWwJCVNwZWNpYWwKKyAgSGlMaW5rIGJhc2ljVG9kbwkJVG9kbworICBIaUxpbmsgYmFzaWNGdW5jdGlvbgkJSWRlbnRpZmllcgorICBIaUxpbmsgYmFzaWNUeXBlU3BlY2lmaWVyIFR5cGUKKyAgSGlMaW5rIGJhc2ljRmlsZW51bWJlciBiYXNpY1R5cGVTcGVjaWZpZXIKKyAgImhpIGJhc2ljTWF0aHNPcGVyYXRvciB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWk9Ym9sZAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJiYXNpYyIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2JjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2JjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2ZhZjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYmMudmltCkBAIC0wLDAgKzEsNzggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgliYyAtIEFuIGFyYml0cmFyeSBwcmVjaXNpb24gY2FsY3VsYXRvciBsYW5ndWFnZQorIiBNYWludGFpbmVyOglWbGFkaW1pciBTY2hvbHR6IDx2bGFkb0Bnamguc2s+CisiIExhc3QgY2hhbmdlOgkyMDAxIFNlcCAwMgorIiBBdmFpbGFibGUgb246CXd3dy5namguc2svfnZsYWRvL2JjLnZpbQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCisiIEtleXdvcmRzCitzeW4ga2V5d29yZCBiY0tleXdvcmQgaWYgZWxzZSB3aGlsZSBmb3IgYnJlYWsgY29udGludWUgcmV0dXJuIGxpbWl0cyBoYWx0IHF1aXQKK3N5biBrZXl3b3JkIGJjS2V5d29yZCBkZWZpbmUKK3N5biBrZXl3b3JkIGJjS2V5d29yZCBsZW5ndGggcmVhZCBzcXJ0IHByaW50CisKKyIgVmFyaWFibGUKK3N5biBrZXl3b3JkIGJjVHlwZSBhdXRvCisKKyIgQ29uc3RhbnQKK3N5biBrZXl3b3JkIGJjQ29uc3RhbnQgc2NhbGUgaWJhc2Ugb2Jhc2UgbGFzdAorc3luIGtleXdvcmQgYmNDb25zdGFudCBCQ19CQVNFX01BWCBCQ19ESU1fTUFYIEJDX1NDQUxFX01BWCBCQ19TVFJJTkdfTUFYCitzeW4ga2V5d29yZCBiY0NvbnN0YW50IEJDX0VOVl9BUkdTIEJDX0xJTkVfTEVOR1RICisKKyIgQW55IG90aGVyIHN0dWZmCitzeW4gbWF0Y2ggYmNJZGVudGlmaWVyCQkiW2Etel9dW2EtejAtOV9dKiIKKworIiBTdHJpbmcKKyBzeW4gbWF0Y2ggYmNTdHJpbmcJCSJcIlteIl0qXCIiCisKKyIgTnVtYmVyCitzeW4gbWF0Y2ggYmNOdW1iZXIJCSJbMC05XVwrIgorCisiIENvbW1lbnQKK3N5biBtYXRjaCBiY0NvbW1lbnQJCSJcIy4qIgorc3luIHJlZ2lvbiBiY0NvbW1lbnQJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIgorCisiIFBhcmVudCAoKQorc3luIGNsdXN0ZXIgYmNBbGwgY29udGFpbnM9YmNMaXN0LGJjSWRlbnRpZmllcixiY051bWJlcixiY0tleXdvcmQsYmNUeXBlLGJjQ29uc3RhbnQsYmNTdHJpbmcsYmNQYXJlbnRFcnJvcgorc3luIHJlZ2lvbiBiY0xpc3QJCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBza2lwPSJ8Llx7LX18IiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUBiY0FsbAorc3luIHJlZ2lvbiBiY0xpc3QJCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcWyIgc2tpcD0ifC5cey19fCIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSJcXSIgY29udGFpbnM9QGJjQWxsCitzeW4gbWF0Y2ggYmNQYXJlbkVycm9yCQkJIl0iCitzeW4gbWF0Y2ggYmNQYXJlbkVycm9yCQkJIikiCisKKworCitzeW4gY2FzZSBtYXRjaAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9iY19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9iY19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBiY0tleXdvcmQJCVN0YXRlbWVudAorICBIaUxpbmsgYmNUeXBlCQlUeXBlCisgIEhpTGluayBiY0NvbnN0YW50CQlDb25zdGFudAorICBIaUxpbmsgYmNOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgYmNDb21tZW50CQlDb21tZW50CisgIEhpTGluayBiY1N0cmluZwkJU3RyaW5nCisgIEhpTGluayBiY1NwZWNpYWxDaGFyCQlTcGVjaWFsQ2hhcgorICBIaUxpbmsgYmNQYXJlbkVycm9yCQlFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJiYyIKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9iZGYudmltIGIvcnVudGltZS9zeW50YXgvYmRmLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmM0MDRhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYmRmLnZpbQpAQCAtMCwwICsxLDg2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIEJERiBGb250IGRlZmluaXRpb24KKyIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+CisiIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvYmRmLworIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTA2CisiIGFyY2gtdGFnOgkgICAgYjY5NmI2YmEtYWYyNC00MWJhLWI0ZWItZDI0ODQ5NWVjYTY4CisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIG51bWJlcnMKK3N5biBtYXRjaCAgIGJkZk51bWJlcgkgICAgZGlzcGxheSAiXDxcKFx4XCtcfFxkXCtcLlxkXCtcKVw+IgorCisiIGNvbW1lbnRzCitzeW4gcmVnaW9uICBiZGZDb21tZW50CSAgICBzdGFydD0iXkNPTU1FTlRcPiIgZW5kPSIkIiBjb250YWlucz1iZGZUb2RvCisKKyIgdG9kbworc3luIGtleXdvcmQgYmRmVG9kbwkgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworIiBzdHJpbmdzCitzeW4gcmVnaW9uICBiZGZTdHJpbmcJICAgIHN0YXJ0PSsiKyBza2lwPSsiIisgZW5kPSsiKworCisiIHByb3BlcnRpZXMKK3N5biBrZXl3b3JkIGJkZlByb3BlcnRpZXMgICBjb250YWluZWQgRk9OVCBTSVpFIEZPTlRCT1VORElOR0JPWCBDSEFSUworCisiIFgxMSBwcm9wZXJ0aWVzCitzeW4ga2V5d29yZCBiZGZYUHJvcGVydGllcyAgY29udGFpbmVkIEZPTlRfQVNDRU5UIEZPTlRfREVTQ0VOVCBERUZBVUxUX0NIQVIKK3N5biBrZXl3b3JkIGJkZlhQcm9wZXJ0aWVzICBjb250YWluZWQgRk9OVE5BTUVfUkVHSVNUUlkgRk9VTkRSWSBGQU1JTFlfTkFNRQorc3luIGtleXdvcmQgYmRmWFByb3BlcnRpZXMgIGNvbnRhaW5lZCBXRUlHSFRfTkFNRSBTTEFOVCBTRVRXSURUSF9OQU1FIFBJWEVMX1NJWkUKK3N5biBrZXl3b3JkIGJkZlhQcm9wZXJ0aWVzICBjb250YWluZWQgUE9JTlRfU0laRSBSRVNPTFVUSU9OX1ggUkVTT0xVVElPTl9ZIFNQQUNJTkcKK3N5biBrZXl3b3JkIGJkZlhQcm9wZXJ0aWVzICBjb250YWluZWQgQ0hBUlNFVF9SRUdJU1RSWSBDSEFSU0VUX0VOQ09ESU5HIENPUFlSSUdIVAorc3luIGtleXdvcmQgYmRmWFByb3BlcnRpZXMgIGNvbnRhaW5lZCBBRERfU1RZTEVfTkFNRSBXRUlHSFQgUkVTT0xVVElPTiBYX0hFSUdIVAorc3luIGtleXdvcmQgYmRmWFByb3BlcnRpZXMgIGNvbnRhaW5lZCBRVUFEX1dJRFRIIEZPTlQgQVZFUkFHRV9XSURUSAorCitzeW4gcmVnaW9uICBiZGZEZWZpbml0aW9uICAgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1iZGZEZWxpbSBzdGFydD0iXlNUQVJUUFJPUEVSVElFU1w+IiBlbmQ9Il5FTkRQUk9QRVJUSUVTXD4iIGNvbnRhaW5zPWJkZlhQcm9wZXJ0aWVzLGJkZk51bWJlcixiZGZTdHJpbmcKKworIiBjaGFyYWN0ZXJzCitzeW4ga2V5d29yZCBiZGZDaGFyUHJvcGVydGllcyBjb250YWluZWQgRU5DT0RJTkcgU1dJRFRIIERXSURUSCBCQlggQVRUUklCVVRFUyBCSVRNQVAKKworc3luIG1hdGNoICAgYmRmQ2hhck5hbWUJICAgIGNvbnRhaW5lZCBkaXNwbGF5ICJcPFswLTlhLXpBLVpdXHsxLDE0fVw+Igorc3luIG1hdGNoICAgYmRmQ2hhck5hbWVFcnJvciBjb250YWluZWQgZGlzcGxheSAiXDxbMC05YS16QS1aXVx7MTUsfVw+IgorCitzeW4gcmVnaW9uICBiZGZTdGFydENoYXIgICAgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1iZGZEZWxpbSBzdGFydD0iXDxTVEFSVENIQVJcPiIgZW5kPSIkIiBjb250YWlucz1iZGZDaGFyTmFtZSxiZGZDaGFyTmFtZUVycm9yCisKK3N5biByZWdpb24gIGJkZkNoYXJEZWZpbml0aW9uIHRyYW5zcGFyZW50IHN0YXJ0PSJeU1RBUlRDSEFSXD4iIG1hdGNoZ3JvdXA9YmRmRGVsaW0gZW5kPSJeRU5EQ0hBUlw+IiBjb250YWlucz1iZGZDaGFyUHJvcGVydGllcyxiZGZOdW1iZXIsYmRmU3RhcnRDaGFyCisKKyIgZm9udAorc3luIHJlZ2lvbiAgYmRmRm9udERlZmluaXRpb24gdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1iZGZEZWxpbSBzdGFydD0iXlNUQVJURk9OVFw+IiBlbmQ9Il5FTkRGT05UXD4iIGNvbnRhaW5zPWJkZlByb3BlcnRpZXMsYmRmRGVmaW5pdGlvbixiZGZDaGFyRGVmaW5pdGlvbixiZGZOdW1iZXIsYmRmQ29tbWVudAorCitpZiBleGlzdHMoImJkZl9taW5saW5lcyIpCisgIGxldCBiOmJkZl9taW5saW5lcyA9IGJkZl9taW5saW5lcworZWxzZQorICBsZXQgYjpiZGZfbWlubGluZXMgPSA1MAorZW5kaWYKK2V4ZWMgInN5biBzeW5jIG1pbmxpbmVzPSIgLiBiOmJkZl9taW5saW5lcworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9iZGZfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYmRmX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGJkZkNvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGJkZlRvZG8JCVRvZG8KKyAgSGlMaW5rIGJkZk51bWJlcgkJTnVtYmVyCisgIEhpTGluayBiZGZTdHJpbmcJCVN0cmluZworICBIaUxpbmsgYmRmUHJvcGVydGllcwlLZXl3b3JkCisgIEhpTGluayBiZGZYUHJvcGVydGllcwlLZXl3b3JkCisgIEhpTGluayBiZGZDaGFyUHJvcGVydGllcwlTdHJ1Y3R1cmUKKyAgSGlMaW5rIGJkZkRlbGltCQlEZWxpbWl0ZXIKKyAgSGlMaW5rIGJkZkNoYXJOYW1lCQlTdHJpbmcKKyAgSGlMaW5rIGJkZkNoYXJOYW1lRXJyb3IJRXJyb3IKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImJkZiIKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYmliLnZpbSBiL3J1bnRpbWUvc3ludGF4L2JpYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk4ZjI4MQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2JpYi52aW0KQEAgLTAsMCArMSw5MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUJpYlRlWCAoYmlibGlvZ3JhcGhpYyBkYXRhYmFzZSBmb3JtYXQgZm9yIChMYSlUZVgpCisiIE1haW50YWluZXI6CUJlcm5kIEZlaWdlIDxCZXJuZC5GZWlnZUBnbXgubmV0PgorIiBGaWxlbmFtZXM6CSouYmliCisiIExhc3QgQ2hhbmdlOglBcHIgMjYsIDIwMDEKKyIgVVJMOgkJaHR0cDovL2hvbWUudC1vbmxpbmUuZGUvaG9tZS9CZXJuZC5GZWlnZS9iaWIudmltCisKKyIgVGhhbmtzIHRvIHRob3NlIHdobyBwb2ludGVkIG91dCBwcm9ibGVtcyB3aXRoIHRoaXMgZmlsZSBvciBzdXBwbGllZCBmaXhlcyEKKworIiBJbml0aWFsaXphdGlvbgorIiA9PT09PT09PT09PT09PQorIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIElnbm9yZSBjYXNlCitzeW4gY2FzZSBpZ25vcmUKKworIiBLZXl3b3JkcworIiA9PT09PT09PQorc3luIGtleXdvcmQgYmliVHlwZSBjb250YWluZWQJYXJ0aWNsZSBib29rIGJvb2tsZXQgY29uZmVyZW5jZSBpbmJvb2sKK3N5biBrZXl3b3JkIGJpYlR5cGUgY29udGFpbmVkCWluY29sbGVjdGlvbiBpbnByb2NlZWRpbmdzIG1hbnVhbAorc3luIGtleXdvcmQgYmliVHlwZSBjb250YWluZWQJbWFzdGVyc3RoZXNpcyBtaXNjIHBoZHRoZXNpcworc3luIGtleXdvcmQgYmliVHlwZSBjb250YWluZWQJcHJvY2VlZGluZ3MgdGVjaHJlcG9ydCB1bnB1Ymxpc2hlZAorc3luIGtleXdvcmQgYmliVHlwZSBjb250YWluZWQJc3RyaW5nCisKK3N5biBrZXl3b3JkIGJpYkVudHJ5S3cgY29udGFpbmVkCWFkZHJlc3MgYW5ub3RlIGF1dGhvciBib29rdGl0bGUgY2hhcHRlcgorc3luIGtleXdvcmQgYmliRW50cnlLdyBjb250YWluZWQJY3Jvc3NyZWYgZWRpdGlvbiBlZGl0b3IgaG93cHVibGlzaGVkCitzeW4ga2V5d29yZCBiaWJFbnRyeUt3IGNvbnRhaW5lZAlpbnN0aXR1dGlvbiBqb3VybmFsIGtleSBtb250aCBub3RlCitzeW4ga2V5d29yZCBiaWJFbnRyeUt3IGNvbnRhaW5lZAludW1iZXIgb3JnYW5pemF0aW9uIHBhZ2VzIHB1Ymxpc2hlcgorc3luIGtleXdvcmQgYmliRW50cnlLdyBjb250YWluZWQJc2Nob29sIHNlcmllcyB0aXRsZSB0eXBlIHZvbHVtZSB5ZWFyCisiIE5vbi1zdGFuZGFyZDoKK3N5biBrZXl3b3JkIGJpYk5TRW50cnlLdyBjb250YWluZWQJYWJzdHJhY3QgaXNibiBpc3NuIGtleXdvcmRzIHVybAorCisiIENsdXN0ZXJzCisiID09PT09PT09CitzeW4gY2x1c3RlciBiaWJWYXJDb250ZW50cwljb250YWlucz1iaWJVbmVzY2FwZWRTcGVjaWFsLGJpYkJyYWNlLGJpYlBhcmVuCisiIFRoaXMgY2x1c3RlciBpcyBlbXB0eSBidXQgdGhpbmdzIGNhbiBiZSBhZGRlZCBleHRlcm5hbGx5OgorInN5biBjbHVzdGVyIGJpYkNvbW1lbnRDb250ZW50cworCisiIE1hdGNoZXMKKyIgPT09PT09PQorc3luIG1hdGNoIGJpYlVuZXNjYXBlZFNwZWNpYWwgY29udGFpbmVkIC9bXlxcXVslJl0vaHM9cysxCitzeW4gbWF0Y2ggYmliS2V5IGNvbnRhaW5lZCAvXHMqW14gXHR9PSJdXCssL2hzPXMsaGU9ZS0xIG5leHRncm91cD1iaWJGaWVsZAorc3luIG1hdGNoIGJpYlZhcmlhYmxlIGNvbnRhaW5lZCAvW157fSwiIFx0PV0vCitzeW4gcmVnaW9uIGJpYkNvbW1lbnQgc3RhcnQ9L14vIGVuZD0vXlxzKkAvbWU9ZS0xIGNvbnRhaW5zPUBiaWJDb21tZW50Q29udGVudHMgbmV4dGdyb3VwPWJpYkVudHJ5CitzeW4gcmVnaW9uIGJpYlF1b3RlIGNvbnRhaW5lZCBzdGFydD0vIi8gZW5kPS8iLyBza2lwPS9cKFxcIlwpLyBjb250YWlucz1AYmliVmFyQ29udGVudHMKK3N5biByZWdpb24gYmliQnJhY2UgY29udGFpbmVkIHN0YXJ0PS97LyBlbmQ9L30vIHNraXA9L1woXFxbe31dXCkvIGNvbnRhaW5zPUBiaWJWYXJDb250ZW50cworc3luIHJlZ2lvbiBiaWJQYXJlbiBjb250YWluZWQgc3RhcnQ9LygvIGVuZD0vKS8gc2tpcD0vXChcXFsoKV1cKS8gY29udGFpbnM9QGJpYlZhckNvbnRlbnRzCitzeW4gcmVnaW9uIGJpYkZpZWxkIGNvbnRhaW5lZCBzdGFydD0iXFNcK1xzKj1ccyoiIGVuZD0vW30pLF0vbWU9ZS0xIGNvbnRhaW5zPWJpYkVudHJ5S3csYmliTlNFbnRyeUt3LGJpYkJyYWNlLGJpYlBhcmVuLGJpYlF1b3RlLGJpYlZhcmlhYmxlCitzeW4gcmVnaW9uIGJpYkVudHJ5RGF0YSBjb250YWluZWQgc3RhcnQ9L1t7KF0vbXM9ZSsxIGVuZD0vW30pXS9tZT1lLTEgY29udGFpbnM9YmliS2V5LGJpYkZpZWxkCisiIEFjdHVhbGx5LCA1LjggPD0gVmltIDwgNi4wIHdvdWxkIGlnbm9yZSB0aGUgYGZvbGQnIGtleXdvcmQgYW55d2F5LCBidXQgVmltPDUuOCB3b3VsZCBwcm9kdWNlCisiIGFuIGVycm9yLCBzbyB3ZSBleHBsaWNpdGx5IGRpc3Rpbmd1aXNoIHZlcnNpb25zIHdpdGggYW5kIHdpdGhvdXQgZm9sZGluZyBmdW5jdGlvbmFsaXR5OgoraWYgdmVyc2lvbiA8IDYwMAorICBzeW4gcmVnaW9uIGJpYkVudHJ5IHN0YXJ0PS9AXFNcK1t7KF0vIGVuZD0vXlxzKlt9KV0vIHRyYW5zcGFyZW50IGNvbnRhaW5zPWJpYlR5cGUsYmliRW50cnlEYXRhIG5leHRncm91cD1iaWJDb21tZW50CitlbHNlCisgIHN5biByZWdpb24gYmliRW50cnkgc3RhcnQ9L0BcU1wrW3soXS8gZW5kPS9eXHMqW30pXS8gdHJhbnNwYXJlbnQgZm9sZCBjb250YWlucz1iaWJUeXBlLGJpYkVudHJ5RGF0YSBuZXh0Z3JvdXA9YmliQ29tbWVudAorZW5kaWYKKworIiBTeW5jaHJvbml6YXRpb24KKyIgPT09PT09PT09PT09PT09CitzeW4gc3luYyBtYXRjaCBBbGwgZ3JvdXBoZXJlIGJpYkVudHJ5IC9eXHMqQC8KK3N5biBzeW5jIG1heGxpbmVzPTIwMAorc3luIHN5bmMgbWlubGluZXM9NTAKKworIiBIaWdobGlnaHRpbmcgZGVmYXVsdHMKKyIgPT09PT09PT09PT09PT09PT09PT09CisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9iaWJfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYmliX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisgIEhpTGluayBiaWJUeXBlCUlkZW50aWZpZXIKKyAgSGlMaW5rIGJpYkVudHJ5S3cJU3RhdGVtZW50CisgIEhpTGluayBiaWJOU0VudHJ5S3cJUHJlUHJvYworICBIaUxpbmsgYmliS2V5CQlTcGVjaWFsCisgIEhpTGluayBiaWJWYXJpYWJsZQlDb25zdGFudAorICBIaUxpbmsgYmliVW5lc2NhcGVkU3BlY2lhbAlFcnJvcgorICBIaUxpbmsgYmliQ29tbWVudAlDb21tZW50CisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJiaWIiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9iaW5kem9uZS52aW0gYi9ydW50aW1lL3N5bnRheC9iaW5kem9uZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MyM2UyMQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2JpbmR6b25lLnZpbQpAQCAtMCwwICsxLDk4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQklORCA4Lnggem9uZSBmaWxlcyAoUkZDMTAzNSkKKyIgTWFpbnRhaW5lcjoJZ2xvcnkgaHVtcCA8cm5kQHdlYi1kcml2ZS5ydT4KKyIgTGFzdCBjaGFuZ2U6CVRodSBBcHIgMjYgMDI6MTY6MTggU0FNU1QgMjAwMQorIiBGaWxlbmFtZXM6CS92YXIvbmFtZWQvKgorIiBVUkw6CWh0dHA6Ly9ybmQud2ViLWRyaXZlLnJ1L3ZpbS9zeW50YXgvYmluZHpvbmUudmltCisiICRJZCQKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCitpZiB2ZXJzaW9uID49IDYwMAorICBzZXRsb2NhbCBpc2tleXdvcmQ9LiwtLDQ4LTU4LEEtWixhLXosXworZWxzZQorICBzZXQgaXNrZXl3b3JkPS4sLSw0OC01OCxBLVosYS16LF8KK2VuZGlmCisKKworIiBNYXN0ZXIgRmlsZSBGb3JtYXQgKHJmYyAxMDM1KQorCisiIGRpcmVjdGl2ZXMKK3N5biByZWdpb24Jem9uZVJSZWNvcmQJc3RhcnQ9K14rIGVuZD0rJCsgY29udGFpbnM9em9uZUxIU0RvbWFpbix6b25lTEhTSVAsem9uZUlsbGVnYWxEb20sem9uZVdoaXRlc3BhY2Usem9uZUNvbW1lbnQsem9uZVBhcmVuLHpvbmVTcGVjaWFsCitzeW4gbWF0Y2gJem9uZURpcmVjdGl2ZQkvXCRPUklHSU5cc1wrLyBuZXh0Z3JvdXA9em9uZURvbWFpbix6b25lSWxsZWdhbERvbQorc3luIG1hdGNoCXpvbmVEaXJlY3RpdmUJL1wkVFRMXHNcKy8gbmV4dGdyb3VwPXpvbmVUVEwKK3N5biBtYXRjaAl6b25lRGlyZWN0aXZlCS9cJElOQ0xVREVcc1wrLworc3luIG1hdGNoCXpvbmVEaXJlY3RpdmUJL1wkR0VORVJBVEVccy8KKworc3luIG1hdGNoCXpvbmVXaGl0ZXNwYWNlCWNvbnRhaW5lZCAvXlxzXCsvIG5leHRncm91cD16b25lVFRMLHpvbmVDbGFzcyx6b25lUlJUeXBlCitzeW4gbWF0Y2gJem9uZUVycm9yCSJcc1wrJCIKK3N5biBtYXRjaAl6b25lU3BlY2lhbAljb250YWluZWQgL15bQC5dXHNcKy8gbmV4dGdyb3VwPXpvbmVUVEwsem9uZUNsYXNzLHpvbmVSUlR5cGUKK3N5biBtYXRjaAl6b25lU3BlY2lhbAljb250YWluZWQgL0AkLworCisiIGRvbWFpbnMgYW5kIElQcworc3luIG1hdGNoCXpvbmVMSFNEb21haW4JY29udGFpbmVkIC9eWy0wLTlBLVphLXouXVwrXHNcKy8gbmV4dGdyb3VwPXpvbmVUVEwsem9uZUNsYXNzLHpvbmVSUlR5cGUKK3N5biBtYXRjaAl6b25lTEhTSVAJY29udGFpbmVkIC9eWzAtOV1cezEsM31cKFwuWzAtOV1cezEsM31cKVx7LDN9XHNcKy8gbmV4dGdyb3VwPXpvbmVUVEwsem9uZUNsYXNzLHpvbmVSUlR5cGUKK3N5biBtYXRjaAl6b25lSVBhZGRyCWNvbnRhaW5lZCAvXDxbMC05XVx7MSwzfVwoXC5bMC05XVx7MSwzfVwpXHssM31cPi8KK3N5biBtYXRjaAl6b25lRG9tYWluCWNvbnRhaW5lZCAvXDxbMC05QS1aYS16XVstMC05QS1aYS16Ll1cK1w+LworCitzeW4gbWF0Y2gJem9uZUlsbGVnYWxEb20JY29udGFpbmVkIC9cUypbXi1BLVphLXowLTkuWzpzcGFjZTpdXVxTKlw+LworInN5biBtYXRjaAl6b25lSWxsZWdhbERvbQljb250YWluZWQgL1swLTldXFMqWy1BLVphLXpdXFMqLworCisiIGtleXdvcmRzCitzeW4ga2V5d29yZAl6b25lQ2xhc3MJSU4gQ0hBT1MgbmV4dGdyb3VwPXpvbmVSUlR5cGUKKworc3luIG1hdGNoCXpvbmVUVEwJY29udGFpbmVkIC9cPFswLTlIaFd3RGRdXCtcc1wrLyBuZXh0Z3JvdXA9em9uZUNsYXNzLHpvbmVSUlR5cGUKK3N5biBtYXRjaAl6b25lUlJUeXBlCWNvbnRhaW5lZCAvXHMqXDxcKE5TXHxISU5GT1wpXHNcKy8gbmV4dGdyb3VwPXpvbmVTcGVjaWFsLHpvbmVEb21haW4KK3N5biBtYXRjaAl6b25lUlJUeXBlCWNvbnRhaW5lZCAvXHMqXDxDTkFNRVxzXCsvIG5leHRncm91cD16b25lRG9tYWluLHpvbmVTcGVjaWFsCitzeW4gbWF0Y2gJem9uZVJSVHlwZQljb250YWluZWQgL1xzKlw8U09BXHNcKy8gbmV4dGdyb3VwPXpvbmVEb21haW4sem9uZUlsbGVnYWxEb20KK3N5biBtYXRjaAl6b25lUlJUeXBlCWNvbnRhaW5lZCAvXHMqXDxQVFJcc1wrLyBuZXh0Z3JvdXA9em9uZURvbWFpbix6b25lSWxsZWdhbERvbQorc3luIG1hdGNoCXpvbmVSUlR5cGUJY29udGFpbmVkIC9ccypcPE1YXHNcKy8gbmV4dGdyb3VwPXpvbmVNYWlsUHJpbworc3luIG1hdGNoCXpvbmVSUlR5cGUJY29udGFpbmVkIC9ccypcPEFcc1wrLyBuZXh0Z3JvdXA9em9uZUlQYWRkcix6b25lSWxsZWdhbERvbQorCisiIEZJWE1FOiBjYXRjaHVwIHNlcmlhbCBudW1iZXIKK3N5biBtYXRjaAl6b25lU2VyaWFsCWNvbnRhaW5lZCAvXDxbMC05XVx7OX1cPi8KKworc3luIG1hdGNoCXpvbmVNYWlsUHJpbwljb250YWluZWQgL1w8WzAtOV1cK1xzKi8gbmV4dGdyb3VwPXpvbmVEb21haW4sem9uZUlsbGVnYWxEb20KK3N5biBtYXRjaAl6b25lRXJyUGFyZW4JLykvCitzeW4gcmVnaW9uCXpvbmVQYXJlbgljb250YWluZWQgc3RhcnQ9KygrIGVuZD0rKSsgY29udGFpbnM9em9uZVNlcmlhbCx6b25lVFRMLHpvbmVDb21tZW50CitzeW4gbWF0Y2gJem9uZUNvbW1lbnQJIjsuKiIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYmluZF96b25lX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2JpbmRfem9uZV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB6b25lQ29tbWVudAlDb21tZW50CisgIEhpTGluayB6b25lRGlyZWN0aXZlCU1hY3JvCisgIEhpTGluayB6b25lTEhTRG9tYWluCVN0YXRlbWVudAorICBIaUxpbmsgem9uZUxIU0lQCVN0YXRlbWVudAorICBIaUxpbmsgem9uZUNsYXNzCUluY2x1ZGUKKyAgSGlMaW5rIHpvbmVTcGVjaWFsCVNwZWNpYWwKKyAgSGlMaW5rIHpvbmVSUlR5cGUJVHlwZQorICBIaUxpbmsgem9uZUVycm9yCUVycm9yCisgIEhpTGluayB6b25lRXJyUGFyZW4JRXJyb3IKKyAgSGlMaW5rIHpvbmVJbGxlZ2FsRG9tCUVycm9yCisgIEhpTGluayB6b25lU2VyaWFsCVRvZG8KKyAgSGlMaW5rIHpvbmVJUGFkZHIJTnVtYmVyCisgIEhpTGluayB6b25lRG9tYWluCUlkZW50aWZpZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYmluZHpvbmUiCisKKyIgdmltOiB0cz0xNwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYmxhbmsudmltIGIvcnVudGltZS9zeW50YXgvYmxhbmsudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1NTQzMzkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9ibGFuay52aW0KQEAgLTAsMCArMSw0NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBCbGFuayAxLjQuMQorIiBNYWludGFpbmVyOiAgIFJhZmFsIE0uIFN1bGVqbWFuIDx1bmVmdW5nZUBmcmlrbzIub25ldC5wbD4KKyIgTGFzdCBjaGFuZ2U6ICAyMSBKdWwgMjAwMAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCisiIEJsYW5rIGluc3RydWN0aW9ucworc3luIG1hdGNoIGJsYW5rSW5zdHJ1Y3Rpb24gIntbOjssXC4rXC0qJCNAL1xcYCciIVx8Pjx7fVxbXF0oKT94c3BvXF4mXH49XyVdfSIKKworIiBDb21tb24gc3RyaW5ncworc3luIG1hdGNoIGJsYW5rU3RyaW5nICJcfltefV0iCisKKyIgTnVtYmVycworc3luIG1hdGNoIGJsYW5rTnVtYmVyICJcW1swLTldXCtcXSIKKworc3luIGNhc2UgbWF0Y2gKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYmxhbmtfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYmxhbmtfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgYmxhbmtJbnN0cnVjdGlvbiAgICAgIFN0YXRlbWVudAorICBIaUxpbmsgYmxhbmtOdW1iZXIJICAgICAgIE51bWJlcgorICBIaUxpbmsgYmxhbmtTdHJpbmcJICAgICAgIFN0cmluZworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJibGFuayIKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9idG0udmltIGIvcnVudGltZS9zeW50YXgvYnRtLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZmQ1YjJkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvYnRtLnZpbQpAQCAtMCwwICsxLDIyOSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CTREb3MgYmF0Y2ggZmlsZQorIiBNYWludGFpbmVyOglKb2huIExlbyBTcGV0eiA8amxzMTFAcG8uY3dydS5lZHU+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiLy9Jc3N1ZXMgdG8gcmVzb2x2ZToKKyIvLy0gQm9vbGVhbiBvcGVyYXRvcnMgc3Vycm91bmRlZCBieSBwZXJpb2QgYXJlIHJlY29nbml6ZWQgYnV0IHRoZQorIi8vICBwZXJpb2RzIGFyZSBub3QgaGlnaGxpZ2h0ZWQuICBUaGUgb25seSB3YXkgdG8gZG8gdGhhdCB3b3VsZAorIi8vICBiZSBzZXBhcmF0ZSBzeW5tYXRjaGVzIGZvciBlYWNoIHBvc3NpYmlsaXR5IG90aGVyd2lzZSBhIG1vcmUKKyIvLyAgZ2VuZXJhbCBcLlxpXCtcLiB3aWxsIGhpZ2hsaWdodCBhbnl0aGluZyBkZWxpbWl0ZWQgYnkgZG90cy4KKyIvLy0gQWZ0ZXIgdW5hcnkgb3BlcmF0b3JzIGxpa2UgImRlZmluZWQiIGNhbiBhc3N1bWUgdG9rZW4gdHlwZS4KKyIvLyAgU2hvdWxkIHRoZXJlIGJlIG1vcmUgb2YgdGhlc2U/CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBrZXl3b3JkIGJ0bVN0YXRlbWVudAljYWxsIG9mZgorc3luIGtleXdvcmQgYnRtQ29uZGl0aW9uYWwJaWYgaWZmIGVuZGlmZiB0aGVuIGVsc2UgZWxzZWlmZiBub3QgZXJyb3JsZXZlbAorc3luIGtleXdvcmQgYnRtQ29uZGl0aW9uYWwJZ3QgbHQgZXEgbmUgZ2UgbGUKK3N5biBtYXRjaCBidG1Db25kaXRpb25hbCB0cmFuc3BhcmVudCAgICAiXC5caVwrXC4iIGNvbnRhaW5zPWJ0bURvdEJvb2xPcAorc3luIGtleXdvcmQgYnRtRG90Qm9vbE9wIGNvbnRhaW5lZCAgICAgIGFuZCBvciB4b3IKK3N5biBtYXRjaCBidG1Db25kaXRpb25hbAkiPT0iCitzeW4gbWF0Y2ggYnRtQ29uZGl0aW9uYWwJIiE9Igorc3luIGtleXdvcmQgYnRtQ29uZGl0aW9uYWwJZGVmaW5lZCBlcnJvcmxldmVsIGV4aXN0IGlzYWxpYXMKK3N5biBrZXl3b3JkIGJ0bUNvbmRpdGlvbmFsCWlzZGlyIGRpcmV4aXN0IGlzaW50ZXJuYWwgaXNsYWJlbAorc3luIGtleXdvcmQgYnRtUmVwZWF0CQlmb3IgaW4gZG8gZW5kZG8KKworc3luIGtleXdvcmQgYnRtVG9kbyBjb250YWluZWQJVE9ETworCisiIFN0cmluZworc3luIGNsdXN0ZXIgYnRtVmFycyBjb250YWlucz1idG1WYXJpYWJsZSxidG1Bcmd1bWVudCxidG1CSUZNYXRjaAorc3luIHJlZ2lvbiAgYnRtU3RyaW5nCXN0YXJ0PSsiKyAgZW5kPSsiKyBjb250YWlucz1AYnRtVmFycworc3luIG1hdGNoIGJ0bU51bWJlciAgICAgIlw8XGRcK1w+IgorCisic3luIG1hdGNoICBidG1JZGVudGlmaWVyCSJcPFxoXHcqXD4iCisKKyIgSWYgeW91IGRvbid0IGxpa2UgdGFicworInN5biBtYXRjaCBidG1TaG93VGFiICJcdCIKKyJzeW4gbWF0Y2ggYnRtU2hvd1RhYmMgIlx0IgorInN5biBtYXRjaCAgYnRtQ29tbWVudAkJIl5cICpyZW0uKiQiIGNvbnRhaW5zPWJ0bVRvZG8sYnRtU2hvd1RhYmMKKworIiBTb21lIHBlb3BsZSB1c2UgdGhpcyBhcyBhIGNvbW1lbnQgbGluZQorIiBJbiBmYWN0IHRoaXMgaXMgYSBMYWJlbAorInN5biBtYXRjaCBidG1Db21tZW50CQkiXlwgKjpcIFwrLiokIiBjb250YWlucz1idG1Ub2RvCisKK3N5biBtYXRjaCBidG1Db21tZW50CQkiXlwgKnJlbS4qJCIgY29udGFpbnM9YnRtVG9kbworc3luIG1hdGNoIGJ0bUNvbW1lbnQJCSJeXCAqOjouKiQiIGNvbnRhaW5zPWJ0bVRvZG8KKworc3luIG1hdGNoIGJ0bUxhYmVsTWFyawkJIl5cICo6WzAtOWEtekEtWl9cLV1cK1w+Igorc3luIG1hdGNoIGJ0bUxhYmVsTWFyawkJImdvdG8gWzAtOWEtekEtWl9cLV1cK1w+ImxjPTUKK3N5biBtYXRjaCBidG1MYWJlbE1hcmsJCSJnb3N1YiBbMC05YS16QS1aX1wtXVwrXD4ibGM9NgorCisiIHN5biBtYXRjaCBidG1DbWREaXZpZGVyICI+Wz4mXVs+Jl1cPSIKK3N5biBtYXRjaCBidG1DbWREaXZpZGVyICI+Wz4mXSoiCitzeW4gbWF0Y2ggYnRtQ21kRGl2aWRlciAiPj4mPiIKK3N5biBtYXRjaCBidG1DbWREaXZpZGVyICJ8Jlw9Igorc3luIG1hdGNoIGJ0bUNtZERpdmlkZXIgIiUrIgorc3luIG1hdGNoIGJ0bUNtZERpdmlkZXIgIlxeIgorCitzeW4gcmVnaW9uIGJ0bUVjaG8gc3RhcnQ9ImVjaG8iIHNraXA9ImVjaG8iIG1hdGNoZ3JvdXA9YnRtQ21kRGl2aWRlciBlbmQ9IiUrIiBlbmQ9IiQiIGVuZD0ifCZcPSIgZW5kPSJcXiIgZW5kPSI+Wz4mXSoiIGNvbnRhaW5zPUBidG1FY2hvcyBvbmVsaW5lCitzeW4gY2x1c3RlciBidG1FY2hvcyBjb250YWlucz1AYnRtVmFycyxidG1FY2hvQ29tbWFuZCxidG1FY2hvUGFyYW0KK3N5biBrZXl3b3JkIGJ0bUVjaG9Db21tYW5kIGNvbnRhaW5lZAllY2hvIGVjaG9lcnIgZWNob3MgZWNob3NlcnIKK3N5biBrZXl3b3JkIGJ0bUVjaG9QYXJhbSBjb250YWluZWQJb24gb2ZmCisKKyIgdGhpcyBpcyBhbHNvIGEgdmFsaWQgTGFiZWwuIEkgZG9uJ3QgdXNlIGl0LgorInN5biBtYXRjaCBidG1MYWJlbE1hcmsJCSJeXCAqOlwgXCtbMC05YS16QS1aX1wtXVwrXD4iCisKKyIgLy9FbnZpcm9ubWVudCB2YXJpYWJsZSBjYW4gYmUgZXhwYW5kZWQgdXNpbmcgbm90YXRpb24gJXZhciBpbiA0RE9TCitzeW4gbWF0Y2ggYnRtVmFyaWFibGUJCSIlWzAtOWEtel9cLV1cKyIgY29udGFpbnM9QGJ0bVNwZWNpYWxWYXJzCisiIC8vRW52aXJvbm1lbnQgdmFyaWFibGUgY2FuIGJlIGV4cGFuZGVkIHVzaW5nIG5vdGF0aW9uICV2YXIlCitzeW4gbWF0Y2ggYnRtVmFyaWFibGUJCSIlWzAtOWEtel9cLV0qJSIgY29udGFpbnM9QGJ0bVNwZWNpYWxWYXJzCisiIC8vVGhlIGZvbGxvd2luZyBhcmUgc3BlY2lhbCB2YXJpYWJsZSBpbiA0RE9TCitzeW4gbWF0Y2ggYnRtVmFyaWFibGUJCSIlWz0jXSIgY29udGFpbnM9QGJ0bVNwZWNpYWxWYXJzCitzeW4gbWF0Y2ggYnRtVmFyaWFibGUJCSIlPz9cPSIgY29udGFpbnM9QGJ0bVNwZWNpYWxWYXJzCisiIC8vRW52aXJvbm1lbnQgdmFyaWFibGUgY2FuIGJlIGV4cGFuZGVkIHVzaW5nIG5vdGF0aW9uICVbdmFyXSBpbiA0RE9TCitzeW4gbWF0Y2ggYnRtVmFyaWFibGUJCSIlXFtbMC05YS16X1wtXSpcXSIKKyIgLy9BZnRlciBzb21lIGtleXdvcmRzIG5leHQgd29yZCBzaG91bGQgYmUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUKK3N5biBtYXRjaCBidG1WYXJpYWJsZQkJImRlZmluZWRcc1xpXCsibGM9OAorc3luIG1hdGNoIGJ0bVZhcmlhYmxlCQkic2V0XHNcaVwrImxjPTQKKyIgLy9QYXJhbWV0ZXJzIHRvIGJhdGNoZmlsZXMgdGFrZSB0aGUgZm9ybWF0ICU8ZGlnaXQ+CitzeW4gbWF0Y2ggYnRtQXJndW1lbnQJCSIlXGRcPiIKKyIgLy80RE9TIGFsbG93cyBmb3JtYXQgJTxkaWdpdD4mIG1lYW5pbmcgYmF0Y2hmaWxlIHBhcmFtZXRlcnMgZGlnaXQgYW5kIHVwCitzeW4gbWF0Y2ggYnRtQXJndW1lbnQJCSIlXGRcPiYiCisiIC8vVmFyaWFibGUgdXNlZCBieSBGT1IgbG9vcHMgc29tZXRpbWVzIHVzZSAlJTxsZXR0ZXI+IGluIGJhdGNoZmlsZXMKK3N5biBtYXRjaCBidG1Bcmd1bWVudAkJIiUlXGFcPiIKKworIiAvL1Nob3cgNERPUyBidWlsdC1pbiBmdW5jdGlvbnMgc3BlY2lhbGx5CitzeW4gbWF0Y2ggYnRtQklGTWF0Y2ggIiVAXHdcK1xbImhlPWUtMSBjb250YWlucz1idG1CdWlsdEluRnVuYworc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWFsaWFzIGFzY2lpIGF0dHJpYiBjZHJvbQorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWNoYXIgY2xpcCBjb21tYSBjb252ZXJ0CitzeW4ga2V5d29yZCBidG1CdWlsdEluRnVuYyBjb250YWluZWQJZGF0ZSBkYXkgZGVjIGRlc2NyaXB0CitzeW4ga2V5d29yZCBidG1CdWlsdEluRnVuYyBjb250YWluZWQJZGV2aWNlIGRpc2tmcmVlIGRpc2t0b3RhbAorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWRpc2t1c2VkIGRvc21lbSBkb3cgZG93aQorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWRveSBlbXMgZXZhbCBleGVjIGV4ZWNzdHIKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5GdW5jIGNvbnRhaW5lZAlleHBhbmQgZXh0IGV4dGVuZGVkCitzeW4ga2V5d29yZCBidG1CdWlsdEluRnVuYyBjb250YWluZWQJZmlsZWFnZSBmaWxlY2xvc2UgZmlsZWRhdGUKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5GdW5jIGNvbnRhaW5lZAlmaWxlbmFtZSBmaWxlb3BlbiBmaWxlcmVhZAorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWZpbGVzIGZpbGVzZWVrIGZpbGVzZWVrbAorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWZpbGVzaXplIGZpbGV0aW1lIGZpbGV3cml0ZQorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWZpbGV3cml0ZWIgZmluZGNsb3NlCitzeW4ga2V5d29yZCBidG1CdWlsdEluRnVuYyBjb250YWluZWQJZmluZGZpcnN0IGZpbmRuZXh0IGZvcm1hdAorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWZ1bGwgaWYgaW5jIGluZGV4IGluc2VydAorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWluc3RyIGludCBsYWJlbCBsZWZ0IGxlbgorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCWxmbiBsaW5lIGxpbmVzIGxvd2VyIGxwdAorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCW1ha2VhZ2UgbWFrZWRhdGUgbWFrZXRpbWUKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5GdW5jIGNvbnRhaW5lZAltYXN0ZXIgbW9udGggbmFtZSBudW1lcmljCitzeW4ga2V5d29yZCBidG1CdWlsdEluRnVuYyBjb250YWluZWQJcGF0aCByYW5kb20gcmVhZHNjciByZWFkeQorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCXJlbW90ZSByZW1vdmFibGUgcmVwZWF0CitzeW4ga2V5d29yZCBidG1CdWlsdEluRnVuYyBjb250YWluZWQJcmVwbGFjZSByaWdodCBzZWFyY2gKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5GdW5jIGNvbnRhaW5lZAlzZWxlY3Qgc2ZuIHN0cmlwIHN1YnN0cgorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCXRpbWUgdGltZXIgdHJpbSB0cnVlbmFtZQorc3luIGtleXdvcmQgYnRtQnVpbHRJbkZ1bmMgY29udGFpbmVkCXVuaXF1ZSB1cHBlciB3aWxkIHdvcmQKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5GdW5jIGNvbnRhaW5lZAl3b3JkcyB4bXMgeWVhcgorCitzeW4gY2x1c3RlciBidG1TcGVjaWFsVmFycyBjb250YWlucz1idG1CdWlsdEluVmFyLGJ0bVNwZWNpYWxWYXIKKworIiAvL1Nob3cgc3BlY2lhbGl6ZWQgdmFyaWFibGVzIHNwZWNpYWxseQorIiBzeW4gbWF0Y2ggYnRtU3BlY2lhbFZhciBjb250YWluZWQJIisiCitzeW4gbWF0Y2ggYnRtU3BlY2lhbFZhciBjb250YWluZWQJIj0iCitzeW4gbWF0Y2ggYnRtU3BlY2lhbFZhciBjb250YWluZWQJIiMiCitzeW4gbWF0Y2ggYnRtU3BlY2lhbFZhciBjb250YWluZWQJIj8/XD0iCitzeW4ga2V5d29yZCBidG1TcGVjaWFsVmFyIGNvbnRhaW5lZAljbWRsaW5lIGNvbG9yZGlyIGNvbXNwZWMKK3N5biBrZXl3b3JkIGJ0bVNwZWNpYWxWYXIgY29udGFpbmVkCWNvcHljbWQgZGlyY21kIHRlbXAgdGVtcDRkb3MKK3N5biBrZXl3b3JkIGJ0bVNwZWNpYWxWYXIgY29udGFpbmVkCWZpbGVjb21wbGV0aW9uIHBhdGggcHJvbXB0CisKKyIgLy9TaG93IDRET1MgYnVpbHQtaW4gdmFyaWFibGVzIHNwZWNpYWxseSBzcGVjaWFsbHkKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5WYXIgY29udGFpbmVkCV80dmVyIF9hbGlhcyBfYW5zaQorc3luIGtleXdvcmQgYnRtQnVpbHRJblZhciBjb250YWluZWQJX2FwYmF0dCBfYXBsaWZlIF9hcG1hYyBfYmF0Y2gKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5WYXIgY29udGFpbmVkCV9iYXRjaGxpbmUgX2JhdGNobmFtZSBfYmcKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5WYXIgY29udGFpbmVkCV9ib290IF9jaSBfY21kcHJvYyBfY28KK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5WYXIgY29udGFpbmVkCV9jb2RlcGFnZSBfY29sdW1uIF9jb2x1bW5zCitzeW4ga2V5d29yZCBidG1CdWlsdEluVmFyIGNvbnRhaW5lZAlfY291bnRyeSBfY3B1IF9jd2QgX2N3ZHMgX2N3cAorc3luIGtleXdvcmQgYnRtQnVpbHRJblZhciBjb250YWluZWQJX2N3cHMgX2RhdGUgX2RheSBfZGlzayBfZG5hbWUKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5WYXIgY29udGFpbmVkCV9kb3MgX2Rvc3ZlciBfZG93IF9kb3dpIF9kb3kKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5WYXIgY29udGFpbmVkCV9kcG1pIF9kdiBfZW52IF9mZyBfaGxvZ2ZpbGUKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5WYXIgY29udGFpbmVkCV9ob3VyIF9rYmhpdCBfa3N0YWNrIF9sYXN0ZGlzaworc3luIGtleXdvcmQgYnRtQnVpbHRJblZhciBjb250YWluZWQJX2xvZ2ZpbGUgX21pbnV0ZSBfbW9uaXRvcgorc3luIGtleXdvcmQgYnRtQnVpbHRJblZhciBjb250YWluZWQJX21vbnRoIF9tb3VzZSBfbmRwIF9yb3cgX3Jvd3MKK3N5biBrZXl3b3JkIGJ0bUJ1aWx0SW5WYXIgY29udGFpbmVkCV9zZWNvbmQgX3NoZWxsIF9zd2FwcGluZworc3luIGtleXdvcmQgYnRtQnVpbHRJblZhciBjb250YWluZWQJX3N5c2VyciBfdGltZSBfdHJhbnNpZW50CitzeW4ga2V5d29yZCBidG1CdWlsdEluVmFyIGNvbnRhaW5lZAlfdmlkZW8gX3dpbiBfd2ludGl0bGUgX3llYXIKKworIiAvL0NvbW1hbmRzIGluIDRET1MgYW5kL29yIERPUworc3luIG1hdGNoIGJ0bUNvbW1hbmQJIlxzPyIKK3N5biBtYXRjaCBidG1Db21tYW5kCSJePyIKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJYWxpYXMgYXBwZW5kIGFzc2lnbiBhdHRyaWIKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJYmFja3VwIGJlZXAgYnJlYWsgY2FuY2VsIGNhc2UKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJY2QgY2RkIGNkcGF0aCBjaGNwIGNoZGlyCitzeW4ga2V5d29yZCBidG1Db21tYW5kCWNoa2RzayBjbHMgY29sb3IgY29tcCBjb3B5CitzeW4ga2V5d29yZCBidG1Db21tYW5kCWN0dHkgZGF0ZSBkZWJ1ZyBkZWZhdWx0IGRlZnJhZworc3luIGtleXdvcmQgYnRtQ29tbWFuZAlkZWwgZGVsYXkgZGVzY3JpYmUgZGlyCitzeW4ga2V5d29yZCBidG1Db21tYW5kCWRpcmhpc3RvcnkgZGlycyBkaXNrY29tcAorc3luIGtleXdvcmQgYnRtQ29tbWFuZAlkaXNrY29weSBkb3NrZXkgZG9zc2hlbGwKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJZHJhd2JveCBkcmF3aGxpbmUgZHJhd3ZsaW5lCisic3luIGtleXdvcmQgYnRtQ29tbWFuZAllY2hvIGVjaG9lcnIgZWNob3MgZWNob3NlcnIKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJZWRpdCBlZGxpbiBlbW0zODYgZW5kbG9jYWwKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJZW5kc3dpdGNoIGVyYXNlIGVzZXQgZXhjZXB0CitzeW4ga2V5d29yZCBidG1Db21tYW5kCWV4ZTJiaW4gZXhpdCBleHBhbmQgZmFzdG9wZW4KK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJZmMgZmRpc2sgZmZpbmQgZmluZCBmb3JtYXQKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJZnJlZSBnbG9iYWwgZ29zdWIgZ290bworc3luIGtleXdvcmQgYnRtQ29tbWFuZAlncmFmdGFibCBncmFwaGljcyBoZWxwIGhpc3RvcnkKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJaW5rZXkgaW5wdXQgam9pbiBrZXliIGtleWJkCitzeW4ga2V5d29yZCBidG1Db21tYW5kCWtleXN0YWNrIGxhYmVsIGxoIGxpc3QgbG9hZGJ0bQorc3luIGtleXdvcmQgYnRtQ29tbWFuZAlsb2FkaGlnaCBsb2NrIGxvZyBtZCBtZW0KK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJbWVtb3J5IG1pcnJvciBta2RpciBtb2RlIG1vcmUKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJbW92ZSBubHNmdW5jIG9uIG9wdGlvbiBwYXRoCitzeW4ga2V5d29yZCBidG1Db21tYW5kCXBhdXNlIHBvcGQgcHJpbnQgcHJvbXB0IHB1c2hkCitzeW4ga2V5d29yZCBidG1Db21tYW5kCXF1aXQgcmQgcmVib290IHJlY292ZXIgcmVuCitzeW4ga2V5d29yZCBidG1Db21tYW5kCXJlbmFtZSByZXBsYWNlIHJlc3RvcmUgcmV0dXJuCitzeW4ga2V5d29yZCBidG1Db21tYW5kCXJtZGlyIHNjYW5kaXNrIHNjcmVlbiBzY3JwdXQKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJc2VsZWN0IHNldCBzZXRkb3Mgc2V0bG9jYWwKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJc2V0dmVyIHNoYXJlIHNoaWZ0IHNvcnQgc3Vic3QKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJc3dhcHBpbmcgc3dpdGNoIHN5cyB0ZWUgdGV4dAorc3luIGtleXdvcmQgYnRtQ29tbWFuZAl0aW1lIHRpbWVyIHRvdWNoIHRyZWUgdHJ1ZW5hbWUKK3N5biBrZXl3b3JkIGJ0bUNvbW1hbmQJdHlwZSB1bmFsaWFzIHVuZGVsZXRlIHVuZm9ybWF0CitzeW4ga2V5d29yZCBidG1Db21tYW5kCXVubG9jayB1bnNldCB2ZXIgdmVyaWZ5IHZvbAorc3luIGtleXdvcmQgYnRtQ29tbWFuZAl2c2NycHV0IHkKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYnRtX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2J0bV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBidG1MYWJlbAkJU3BlY2lhbAorICBIaUxpbmsgYnRtTGFiZWxNYXJrCQlTcGVjaWFsCisgIEhpTGluayBidG1DbWREaXZpZGVyCQlTcGVjaWFsCisgIEhpTGluayBidG1Db25kaXRpb25hbAkJYnRtU3RhdGVtZW50CisgIEhpTGluayBidG1Eb3RCb29sT3AJCWJ0bVN0YXRlbWVudAorICBIaUxpbmsgYnRtUmVwZWF0CQlidG1TdGF0ZW1lbnQKKyAgSGlMaW5rIGJ0bUVjaG9Db21tYW5kCWJ0bVN0YXRlbWVudAorICBIaUxpbmsgYnRtRWNob1BhcmFtCQlidG1TdGF0ZW1lbnQKKyAgSGlMaW5rIGJ0bVN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBidG1Ub2RvCQlUb2RvCisgIEhpTGluayBidG1TdHJpbmcJCVN0cmluZworICBIaUxpbmsgYnRtTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGJ0bUNvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGJ0bUFyZ3VtZW50CQlJZGVudGlmaWVyCisgIEhpTGluayBidG1WYXJpYWJsZQkJSWRlbnRpZmllcgorICBIaUxpbmsgYnRtRWNobwkJU3RyaW5nCisgIEhpTGluayBidG1CSUZNYXRjaAkJYnRtU3RhdGVtZW50CisgIEhpTGluayBidG1CdWlsdEluRnVuYwkJYnRtU3RhdGVtZW50CisgIEhpTGluayBidG1CdWlsdEluVmFyCQlidG1TdGF0ZW1lbnQKKyAgSGlMaW5rIGJ0bVNwZWNpYWxWYXIJCWJ0bVN0YXRlbWVudAorICBIaUxpbmsgYnRtQ29tbWFuZAkJYnRtU3RhdGVtZW50CisKKyAgIm9wdGlvbmFsIGhpZ2hsaWdodGluZworICAiSGlMaW5rIGJ0bVNob3dUYWIJCUVycm9yCisgICJIaUxpbmsgYnRtU2hvd1RhYmMJCUVycm9yCisgICJoaUxpbmsgYnRtSWRlbnRpZmllcgkJSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJidG0iCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jLnZpbSBiL3J1bnRpbWUvc3ludGF4L2MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1OWJlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jLnZpbQpAQCAtMCwwICsxLDM0NSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUMKKyIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDQgRmViIDA0CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBBIGJ1bmNoIG9mIHVzZWZ1bCBDIGtleXdvcmRzCitzeW4ga2V5d29yZAljU3RhdGVtZW50CWdvdG8gYnJlYWsgcmV0dXJuIGNvbnRpbnVlIGFzbQorc3luIGtleXdvcmQJY0xhYmVsCQljYXNlIGRlZmF1bHQKK3N5biBrZXl3b3JkCWNDb25kaXRpb25hbAlpZiBlbHNlIHN3aXRjaAorc3luIGtleXdvcmQJY1JlcGVhdAkJd2hpbGUgZm9yIGRvCisKK3N5biBrZXl3b3JkCWNUb2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFgKKworIiBjQ29tbWVudEdyb3VwIGFsbG93cyBhZGRpbmcgbWF0Y2hlcyBmb3Igc3BlY2lhbCB0aGluZ3MgaW4gY29tbWVudHMKK3N5biBjbHVzdGVyCWNDb21tZW50R3JvdXAJY29udGFpbnM9Y1RvZG8KKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb25zdGFudHMKKyIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2ggaGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKK3N5biBtYXRjaAljU3BlY2lhbAlkaXNwbGF5IGNvbnRhaW5lZCAiXFxcKHhceFwrXHxcb1x7MSwzfVx8Llx8JFwpIgoraWYgIWV4aXN0cygiY19ub191dGYiKQorICBzeW4gbWF0Y2gJY1NwZWNpYWwJZGlzcGxheSBjb250YWluZWQgIlxcXCh1XHhcezR9XHxVXHhcezh9XCkiCitlbmRpZgoraWYgZXhpc3RzKCJjX25vX2Nmb3JtYXQiKQorICBzeW4gcmVnaW9uCWNTdHJpbmcJCXN0YXJ0PStMXD0iKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Y1NwZWNpYWwsQFNwZWxsCisgICIgY0NwcFN0cmluZzogc2FtZSBhcyBjU3RyaW5nLCBidXQgZW5kcyBhdCBlbmQgb2YgbGluZQorICBzeW4gcmVnaW9uCWNDcHBTdHJpbmcJc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIlx8XFwkKyBleGNsdWRlbmwgZW5kPSsiKyBlbmQ9JyQnIGNvbnRhaW5zPWNTcGVjaWFsLEBTcGVsbAorZWxzZQorICBzeW4gbWF0Y2gJY0Zvcm1hdAkJZGlzcGxheSAiJVwoXGRcK1wkXClcPVstKycgIzAqXSpcKFxkKlx8XCpcfFwqXGRcK1wkXClcKFwuXChcZCpcfFwqXHxcKlxkXCtcJFwpXClcPVwoW2hsTF1cfGxsXClcPVwoW2JkaXVveFhET1VmZUVnR2NDc1Nwbl1cfFxbXF5cPS5bXl1dKlxdXCkiIGNvbnRhaW5lZAorICBzeW4gbWF0Y2gJY0Zvcm1hdAkJZGlzcGxheSAiJSUiIGNvbnRhaW5lZAorICBzeW4gcmVnaW9uCWNTdHJpbmcJCXN0YXJ0PStMXD0iKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Y1NwZWNpYWwsY0Zvcm1hdCxAU3BlbGwKKyAgIiBjQ3BwU3RyaW5nOiBzYW1lIGFzIGNTdHJpbmcsIGJ1dCBlbmRzIGF0IGVuZCBvZiBsaW5lCisgIHN5biByZWdpb24JY0NwcFN0cmluZwlzdGFydD0rTFw9Iisgc2tpcD0rXFxcXFx8XFwiXHxcXCQrIGV4Y2x1ZGVubCBlbmQ9KyIrIGVuZD0nJCcgY29udGFpbnM9Y1NwZWNpYWwsY0Zvcm1hdCxAU3BlbGwKK2VuZGlmCisKK3N5biBtYXRjaAljQ2hhcmFjdGVyCSJMXD0nW15cXF0nIgorc3luIG1hdGNoCWNDaGFyYWN0ZXIJIkwnW14nXSonIiBjb250YWlucz1jU3BlY2lhbAoraWYgZXhpc3RzKCJjX2dudSIpCisgIHN5biBtYXRjaAljU3BlY2lhbEVycm9yCSJMXD0nXFxbXidcIj9cXGFiZWZucnR2XSciCisgIHN5biBtYXRjaAljU3BlY2lhbENoYXJhY3RlciAiTFw9J1xcWydcIj9cXGFiZWZucnR2XSciCitlbHNlCisgIHN5biBtYXRjaAljU3BlY2lhbEVycm9yCSJMXD0nXFxbXidcIj9cXGFiZm5ydHZdJyIKKyAgc3luIG1hdGNoCWNTcGVjaWFsQ2hhcmFjdGVyICJMXD0nXFxbJ1wiP1xcYWJmbnJ0dl0nIgorZW5kaWYKK3N5biBtYXRjaAljU3BlY2lhbENoYXJhY3RlciBkaXNwbGF5ICJMXD0nXFxcb1x7MSwzfSciCitzeW4gbWF0Y2gJY1NwZWNpYWxDaGFyYWN0ZXIgZGlzcGxheSAiJ1xceFx4XHsxLDJ9JyIKK3N5biBtYXRjaAljU3BlY2lhbENoYXJhY3RlciBkaXNwbGF5ICJMJ1xceFx4XCsnIgorCisid2hlbiB3YW50ZWQsIGhpZ2hsaWdodCB0cmFpbGluZyB3aGl0ZSBzcGFjZQoraWYgZXhpc3RzKCJjX3NwYWNlX2Vycm9ycyIpCisgIGlmICFleGlzdHMoImNfbm9fdHJhaWxfc3BhY2VfZXJyb3IiKQorICAgIHN5biBtYXRjaAljU3BhY2VFcnJvcglkaXNwbGF5IGV4Y2x1ZGVubCAiXHNcKyQiCisgIGVuZGlmCisgIGlmICFleGlzdHMoImNfbm9fdGFiX3NwYWNlX2Vycm9yIikKKyAgICBzeW4gbWF0Y2gJY1NwYWNlRXJyb3IJZGlzcGxheSAiIFwrXHQibWU9ZS0xCisgIGVuZGlmCitlbmRpZgorCisiY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcyBhbmQgYnJhY2tldHMKKyIgYWxzbyBhY2NlcHQgPCUgZm9yIHssICU+IGZvciB9LCA8OiBmb3IgWyBhbmQgOj4gZm9yIF0gKEM5OSkKKyIgQnV0IGF2b2lkIG1hdGNoaW5nIDw6Oi4KK3N5biBjbHVzdGVyCWNQYXJlbkdyb3VwCWNvbnRhaW5zPWNQYXJlbkVycm9yLGNJbmNsdWRlZCxjU3BlY2lhbCxjQ29tbWVudFNraXAsY0NvbW1lbnRTdHJpbmcsY0NvbW1lbnQyU3RyaW5nLEBjQ29tbWVudEdyb3VwLGNDb21tZW50U3RhcnRFcnJvcixjVXNlckNvbnQsY1VzZXJMYWJlbCxjQml0RmllbGQsY0NvbW1lbnRTa2lwLGNPY3RhbFplcm8sY0NwcE91dCxjQ3BwT3V0MixjQ3BwU2tpcCxjRm9ybWF0LGNOdW1iZXIsY0Zsb2F0LGNPY3RhbCxjT2N0YWxFcnJvcixjTnVtYmVyc0NvbQoraWYgZXhpc3RzKCJjX25vX2JyYWNrZXRfZXJyb3IiKQorICBzeW4gcmVnaW9uCWNQYXJlbgkJdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBjUGFyZW5Hcm91cCxjQ3BwUGFyZW4sY0NwcFN0cmluZyxAU3BlbGwKKyAgIiBjQ3BwUGFyZW46IHNhbWUgYXMgY1BhcmVuIGJ1dCBlbmRzIGF0IGVuZC1vZi1saW5lOyB1c2VkIGluIGNEZWZpbmUKKyAgc3luIHJlZ2lvbgljQ3BwUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9JygnIHNraXA9J1xcJCcgZXhjbHVkZW5sIGVuZD0nKScgZW5kPSckJyBjb250YWluZWQgY29udGFpbnM9QUxMQlVULEBjUGFyZW5Hcm91cCxjUGFyZW4sY1N0cmluZyxAU3BlbGwKKyAgc3luIG1hdGNoCWNQYXJlbkVycm9yCWRpc3BsYXkgIikiCisgIHN5biBtYXRjaAljRXJySW5QYXJlbglkaXNwbGF5IGNvbnRhaW5lZCAiW3t9XVx8PCVcfCU+IgorZWxzZQorICBzeW4gcmVnaW9uCWNQYXJlbgkJdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBjUGFyZW5Hcm91cCxjQ3BwUGFyZW4sY0VyckluQnJhY2tldCxjQ3BwQnJhY2tldCxjQ3BwU3RyaW5nLEBTcGVsbAorICAiIGNDcHBQYXJlbjogc2FtZSBhcyBjUGFyZW4gYnV0IGVuZHMgYXQgZW5kLW9mLWxpbmU7IHVzZWQgaW4gY0RlZmluZQorICBzeW4gcmVnaW9uCWNDcHBQYXJlbgl0cmFuc3BhcmVudCBzdGFydD0nKCcgc2tpcD0nXFwkJyBleGNsdWRlbmwgZW5kPScpJyBlbmQ9JyQnIGNvbnRhaW5lZCBjb250YWlucz1BTExCVVQsQGNQYXJlbkdyb3VwLGNFcnJJbkJyYWNrZXQsY1BhcmVuLGNCcmFja2V0LGNTdHJpbmcsQFNwZWxsCisgIHN5biBtYXRjaAljUGFyZW5FcnJvcglkaXNwbGF5ICJbXF0pXSIKKyAgc3luIG1hdGNoCWNFcnJJblBhcmVuCWRpc3BsYXkgY29udGFpbmVkICJbXF17fV1cfDwlXHwlPiIKKyAgc3luIHJlZ2lvbgljQnJhY2tldAl0cmFuc3BhcmVudCBzdGFydD0nXFtcfDw6OlxAIScgZW5kPSddXHw6PicgY29udGFpbnM9QUxMQlVULEBjUGFyZW5Hcm91cCxjRXJySW5QYXJlbixjQ3BwUGFyZW4sY0NwcEJyYWNrZXQsY0NwcFN0cmluZyxAU3BlbGwKKyAgIiBjQ3BwQnJhY2tldDogc2FtZSBhcyBjUGFyZW4gYnV0IGVuZHMgYXQgZW5kLW9mLWxpbmU7IHVzZWQgaW4gY0RlZmluZQorICBzeW4gcmVnaW9uCWNDcHBCcmFja2V0CXRyYW5zcGFyZW50IHN0YXJ0PSdcW1x8PDo6XEAhJyBza2lwPSdcXCQnIGV4Y2x1ZGVubCBlbmQ9J11cfDo+JyBlbmQ9JyQnIGNvbnRhaW5lZCBjb250YWlucz1BTExCVVQsQGNQYXJlbkdyb3VwLGNFcnJJblBhcmVuLGNQYXJlbixjQnJhY2tldCxjU3RyaW5nLEBTcGVsbAorICBzeW4gbWF0Y2gJY0VyckluQnJhY2tldAlkaXNwbGF5IGNvbnRhaW5lZCAiWyk7e31dXHw8JVx8JT4iCitlbmRpZgorCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoCWNOdW1iZXJzCWRpc3BsYXkgdHJhbnNwYXJlbnQgIlw8XGRcfFwuXGQiIGNvbnRhaW5zPWNOdW1iZXIsY0Zsb2F0LGNPY3RhbEVycm9yLGNPY3RhbAorIiBTYW1lLCBidXQgd2l0aG91dCBvY3RhbCBlcnJvciAoZm9yIGNvbW1lbnRzKQorc3luIG1hdGNoCWNOdW1iZXJzQ29tCWRpc3BsYXkgY29udGFpbmVkIHRyYW5zcGFyZW50ICJcPFxkXHxcLlxkIiBjb250YWlucz1jTnVtYmVyLGNGbG9hdCxjT2N0YWwKK3N5biBtYXRjaAljTnVtYmVyCQlkaXNwbGF5IGNvbnRhaW5lZCAiXGRcK1wodVw9bFx7MCwyfVx8bGxcPXVcKVw+IgorImhleCBudW1iZXIKK3N5biBtYXRjaAljTnVtYmVyCQlkaXNwbGF5IGNvbnRhaW5lZCAiMHhceFwrXCh1XD1sXHswLDJ9XHxsbFw9dVwpXD4iCisiIEZsYWcgdGhlIGZpcnN0IHplcm8gb2YgYW4gb2N0YWwgbnVtYmVyIGFzIHNvbWV0aGluZyBzcGVjaWFsCitzeW4gbWF0Y2gJY09jdGFsCQlkaXNwbGF5IGNvbnRhaW5lZCAiMFxvXCtcKHVcPWxcezAsMn1cfGxsXD11XClcPiIgY29udGFpbnM9Y09jdGFsWmVybworc3luIG1hdGNoCWNPY3RhbFplcm8JZGlzcGxheSBjb250YWluZWQgIlw8MCIKK3N5biBtYXRjaAljRmxvYXQJCWRpc3BsYXkgY29udGFpbmVkICJcZFwrZiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoCWNGbG9hdAkJZGlzcGxheSBjb250YWluZWQgIlxkXCtcLlxkKlwoZVstK11cPVxkXCtcKVw9W2ZsXVw9IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaAljRmxvYXQJCWRpc3BsYXkgY29udGFpbmVkICJcLlxkXCtcKGVbLStdXD1cZFwrXClcPVtmbF1cPVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKK3N5biBtYXRjaAljRmxvYXQJCWRpc3BsYXkgY29udGFpbmVkICJcZFwrZVstK11cPVxkXCtbZmxdXD1cPiIKK2lmICFleGlzdHMoImNfbm9fYzk5IikKKyAgImhleGFkZWNpbWFsIGZsb2F0aW5nIHBvaW50IG51bWJlciwgb3B0aW9uYWwgbGVhZGluZyBkaWdpdHMsIHdpdGggZG90LCB3aXRoIGV4cG9uZW50CisgIHN5biBtYXRjaAljRmxvYXQJCWRpc3BsYXkgY29udGFpbmVkICIweFx4KlwuXHhcK3BbLStdXD1cZFwrW2ZsXVw9XD4iCisgICJoZXhhZGVjaW1hbCBmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggbGVhZGluZyBkaWdpdHMsIG9wdGlvbmFsIGRvdCwgd2l0aCBleHBvbmVudAorICBzeW4gbWF0Y2gJY0Zsb2F0CQlkaXNwbGF5IGNvbnRhaW5lZCAiMHhceFwrXC5cPXBbLStdXD1cZFwrW2ZsXVw9XD4iCitlbmRpZgorCisiIGZsYWcgYW4gb2N0YWwgbnVtYmVyIHdpdGggd3JvbmcgZGlnaXRzCitzeW4gbWF0Y2gJY09jdGFsRXJyb3IJZGlzcGxheSBjb250YWluZWQgIjBcbypbODldXGQqIgorc3luIGNhc2UgbWF0Y2gKKworaWYgZXhpc3RzKCJjX2NvbW1lbnRfc3RyaW5ncyIpCisgICIgQSBjb21tZW50IGNhbiBjb250YWluIGNTdHJpbmcsIGNDaGFyYWN0ZXIgYW5kIGNOdW1iZXIuCisgICIgQnV0IGEgIiovIiBpbnNpZGUgYSBjU3RyaW5nIGluIGEgY0NvbW1lbnQgRE9FUyBlbmQgdGhlIGNvbW1lbnQhICBTbyB3ZQorICAiIG5lZWQgdG8gdXNlIGEgc3BlY2lhbCB0eXBlIG9mIGNTdHJpbmc6IGNDb21tZW50U3RyaW5nLCB3aGljaCBhbHNvIGVuZHMgb24KKyAgIiAiKi8iLCBhbmQgc2VlcyBhICIqIiBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpbmUgYXMgY29tbWVudCBhZ2Fpbi4KKyAgIiBVbmZvcnR1bmF0ZWx5IHRoaXMgZG9lc24ndCB2ZXJ5IHdlbGwgd29yayBmb3IgLy8gdHlwZSBvZiBjb21tZW50cyA6LSgKKyAgc3ludGF4IG1hdGNoCWNDb21tZW50U2tpcAljb250YWluZWQgIl5ccypcKlwoJFx8XHNcK1wpIgorICBzeW50YXggcmVnaW9uIGNDb21tZW50U3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rTFw9XFxcQDwhIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0rXCovK21lPXMtMSBjb250YWlucz1jU3BlY2lhbCxjQ29tbWVudFNraXAKKyAgc3ludGF4IHJlZ2lvbiBjQ29tbWVudDJTdHJpbmcJY29udGFpbmVkIHN0YXJ0PStMXD1cXFxAPCEiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZW5kPSIkIiBjb250YWlucz1jU3BlY2lhbAorICBzeW50YXggcmVnaW9uICBjQ29tbWVudEwJc3RhcnQ9Ii8vIiBza2lwPSJcXCQiIGVuZD0iJCIga2VlcGVuZCBjb250YWlucz1AY0NvbW1lbnRHcm91cCxjQ29tbWVudDJTdHJpbmcsY0NoYXJhY3RlcixjTnVtYmVyc0NvbSxjU3BhY2VFcnJvcixAU3BlbGwKKyAgc3ludGF4IHJlZ2lvbiBjQ29tbWVudAltYXRjaGdyb3VwPWNDb21tZW50U3RhcnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPUBjQ29tbWVudEdyb3VwLGNDb21tZW50U3RhcnRFcnJvcixjQ29tbWVudFN0cmluZyxjQ2hhcmFjdGVyLGNOdW1iZXJzQ29tLGNTcGFjZUVycm9yLEBTcGVsbAorZWxzZQorICBzeW4gcmVnaW9uCWNDb21tZW50TAlzdGFydD0iLy8iIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPUBjQ29tbWVudEdyb3VwLGNTcGFjZUVycm9yLEBTcGVsbAorICBzeW4gcmVnaW9uCWNDb21tZW50CW1hdGNoZ3JvdXA9Y0NvbW1lbnRTdGFydCBzdGFydD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9QGNDb21tZW50R3JvdXAsY0NvbW1lbnRTdGFydEVycm9yLGNTcGFjZUVycm9yLEBTcGVsbAorZW5kaWYKKyIga2VlcCBhIC8vIGNvbW1lbnQgc2VwYXJhdGVseSwgaXQgdGVybWluYXRlcyBhIHByZXByb2MuIGNvbmRpdGlvbmFsCitzeW50YXggbWF0Y2gJY0NvbW1lbnRFcnJvcglkaXNwbGF5ICJcKi8iCitzeW50YXggbWF0Y2gJY0NvbW1lbnRTdGFydEVycm9yIGRpc3BsYXkgIi9cKiJtZT1lLTEgY29udGFpbmVkCisKK3N5biBrZXl3b3JkCWNPcGVyYXRvcglzaXplb2YKK2lmIGV4aXN0cygiY19nbnUiKQorICBzeW4ga2V5d29yZAljU3RhdGVtZW50CV9fYXNtX18KKyAgc3luIGtleXdvcmQJY09wZXJhdG9yCXR5cGVvZiBfX3JlYWxfXyBfX2ltYWdfXworZW5kaWYKK3N5biBrZXl3b3JkCWNUeXBlCQlpbnQgbG9uZyBzaG9ydCBjaGFyIHZvaWQKK3N5biBrZXl3b3JkCWNUeXBlCQlzaWduZWQgdW5zaWduZWQgZmxvYXQgZG91YmxlCitpZiAhZXhpc3RzKCJjX25vX2Fuc2kiKSB8fCBleGlzdHMoImNfYW5zaV90eXBlZGVmcyIpCisgIHN5biBrZXl3b3JkICAgY1R5cGUJCXNpemVfdCBzc2l6ZV90IHdjaGFyX3QgcHRyZGlmZl90IHNpZ19hdG9taWNfdCBmcG9zX3QKKyAgc3luIGtleXdvcmQgICBjVHlwZQkJY2xvY2tfdCB0aW1lX3QgdmFfbGlzdCBqbXBfYnVmIEZJTEUgRElSIGRpdl90IGxkaXZfdAorICBzeW4ga2V5d29yZCAgIGNUeXBlCQltYnN0YXRlX3Qgd2N0cmFuc190IHdpbnRfdCB3Y3R5cGVfdAorZW5kaWYKK2lmICFleGlzdHMoImNfbm9fYzk5IikgIiBJU08gQzk5CisgIHN5biBrZXl3b3JkCWNUeXBlCQlib29sIGNvbXBsZXgKKyAgc3luIGtleXdvcmQJY1R5cGUJCWludDhfdCBpbnQxNl90IGludDMyX3QgaW50NjRfdAorICBzeW4ga2V5d29yZAljVHlwZQkJdWludDhfdCB1aW50MTZfdCB1aW50MzJfdCB1aW50NjRfdAorICBzeW4ga2V5d29yZAljVHlwZQkJaW50X2xlYXN0OF90IGludF9sZWFzdDE2X3QgaW50X2xlYXN0MzJfdCBpbnRfbGVhc3Q2NF90CisgIHN5biBrZXl3b3JkCWNUeXBlCQl1aW50X2xlYXN0OF90IHVpbnRfbGVhc3QxNl90IHVpbnRfbGVhc3QzMl90IHVpbnRfbGVhc3Q2NF90CisgIHN5biBrZXl3b3JkCWNUeXBlCQlpbnRfZmFzdDhfdCBpbnRfZmFzdDE2X3QgaW50X2Zhc3QzMl90IGludF9mYXN0NjRfdAorICBzeW4ga2V5d29yZAljVHlwZQkJdWludF9mYXN0OF90IHVpbnRfZmFzdDE2X3QgdWludF9mYXN0MzJfdCB1aW50X2Zhc3Q2NF90CisgIHN5biBrZXl3b3JkCWNUeXBlCQlpbnRwdHJfdCB1aW50cHRyX3QKKyAgc3luIGtleXdvcmQJY1R5cGUJCWludG1heF90IHVpbnRtYXhfdAorZW5kaWYKK2lmIGV4aXN0cygiY19nbnUiKQorICBzeW4ga2V5d29yZAljVHlwZQkJX19sYWJlbF9fIF9fY29tcGxleF9fIF9fdm9sYXRpbGVfXworZW5kaWYKKworc3luIGtleXdvcmQJY1N0cnVjdHVyZQlzdHJ1Y3QgdW5pb24gZW51bSB0eXBlZGVmCitzeW4ga2V5d29yZAljU3RvcmFnZUNsYXNzCXN0YXRpYyByZWdpc3RlciBhdXRvIHZvbGF0aWxlIGV4dGVybiBjb25zdAoraWYgZXhpc3RzKCJjX2dudSIpCisgIHN5biBrZXl3b3JkCWNTdG9yYWdlQ2xhc3MJaW5saW5lIF9fYXR0cmlidXRlX18KK2VuZGlmCitpZiAhZXhpc3RzKCJjX25vX2M5OSIpCisgIHN5biBrZXl3b3JkCWNTdG9yYWdlQ2xhc3MJaW5saW5lIHJlc3RyaWN0CitlbmRpZgorCitpZiAhZXhpc3RzKCJjX25vX2Fuc2kiKSB8fCBleGlzdHMoImNfYW5zaV9jb25zdGFudHMiKSB8fCBleGlzdHMoImNfZ251IikKKyAgaWYgZXhpc3RzKCJjX2dudSIpCisgICAgc3luIGtleXdvcmQgY0NvbnN0YW50IF9fR05VQ19fIF9fRlVOQ1RJT05fXyBfX1BSRVRUWV9GVU5DVElPTl9fCisgIGVuZGlmCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBfX0xJTkVfXyBfX0ZJTEVfXyBfX0RBVEVfXyBfX1RJTUVfXyBfX1NURENfXworICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgX19TVERDX1ZFUlNJT05fXworICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgQ0hBUl9CSVQgTUJfTEVOX01BWCBNQl9DVVJfTUFYCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBVQ0hBUl9NQVggVUlOVF9NQVggVUxPTkdfTUFYIFVTSFJUX01BWAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgQ0hBUl9NSU4gSU5UX01JTiBMT05HX01JTiBTSFJUX01JTgorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgQ0hBUl9NQVggSU5UX01BWCBMT05HX01BWCBTSFJUX01BWAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgU0NIQVJfTUlOIFNJTlRfTUlOIFNMT05HX01JTiBTU0hSVF9NSU4KKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IFNDSEFSX01BWCBTSU5UX01BWCBTTE9OR19NQVggU1NIUlRfTUFYCisgIGlmICFleGlzdHMoImNfbm9fYzk5IikKKyAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTExPTkdfTUFYIFVMTE9OR19NQVgKKyAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UOF9NSU4gSU5UMTZfTUlOIElOVDMyX01JTiBJTlQ2NF9NSU4KKyAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UOF9NQVggSU5UMTZfTUFYIElOVDMyX01BWCBJTlQ2NF9NQVgKKyAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgVUlOVDhfTUFYIFVJTlQxNl9NQVggVUlOVDMyX01BWCBVSU5UNjRfTUFYCisgICAgc3luIGtleXdvcmQgY0NvbnN0YW50IElOVF9MRUFTVDhfTUlOIElOVF9MRUFTVDE2X01JTiBJTlRfTEVBU1QzMl9NSU4gSU5UX0xFQVNUNjRfTUlOCisgICAgc3luIGtleXdvcmQgY0NvbnN0YW50IElOVF9MRUFTVDhfTUFYIElOVF9MRUFTVDE2X01BWCBJTlRfTEVBU1QzMl9NQVggSU5UX0xFQVNUNjRfTUFYCisgICAgc3luIGtleXdvcmQgY0NvbnN0YW50IFVJTlRfTEVBU1Q4X01BWCBVSU5UX0xFQVNUMTZfTUFYIFVJTlRfTEVBU1QzMl9NQVggVUlOVF9MRUFTVDY0X01BWAorICAgIHN5biBrZXl3b3JkIGNDb25zdGFudCBJTlRfRkFTVDhfTUlOIElOVF9GQVNUMTZfTUlOIElOVF9GQVNUMzJfTUlOIElOVF9GQVNUNjRfTUlOCisgICAgc3luIGtleXdvcmQgY0NvbnN0YW50IElOVF9GQVNUOF9NQVggSU5UX0ZBU1QxNl9NQVggSU5UX0ZBU1QzMl9NQVggSU5UX0ZBU1Q2NF9NQVgKKyAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgVUlOVF9GQVNUOF9NQVggVUlOVF9GQVNUMTZfTUFYIFVJTlRfRkFTVDMyX01BWCBVSU5UX0ZBU1Q2NF9NQVgKKyAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UUFRSX01JTiBJTlRQVFJfTUFYIFVJTlRQVFJfTUFYCisgICAgc3luIGtleXdvcmQgY0NvbnN0YW50IElOVE1BWF9NSU4gSU5UTUFYX01BWCBVSU5UTUFYX01BWAorICAgIHN5biBrZXl3b3JkIGNDb25zdGFudCBQVFJESUZGX01JTiBQVFJESUZGX01BWCBTSUdfQVRPTUlDX01JTiBTSUdfQVRPTUlDX01BWAorICAgIHN5biBrZXl3b3JkIGNDb25zdGFudCBTSVpFX01BWCBXQ0hBUl9NSU4gV0NIQVJfTUFYIFdJTlRfTUlOIFdJTlRfTUFYCisgIGVuZGlmCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBGTFRfUkFESVggRkxUX1JPVU5EUworICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgRkxUX0RJRyBGTFRfTUFOVF9ESUcgRkxUX0VQU0lMT04KKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IERCTF9ESUcgREJMX01BTlRfRElHIERCTF9FUFNJTE9OCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBMREJMX0RJRyBMREJMX01BTlRfRElHIExEQkxfRVBTSUxPTgorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgRkxUX01JTiBGTFRfTUFYIEZMVF9NSU5fRVhQIEZMVF9NQVhfRVhQCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBGTFRfTUlOXzEwX0VYUCBGTFRfTUFYXzEwX0VYUAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgREJMX01JTiBEQkxfTUFYIERCTF9NSU5fRVhQIERCTF9NQVhfRVhQCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBEQkxfTUlOXzEwX0VYUCBEQkxfTUFYXzEwX0VYUAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTERCTF9NSU4gTERCTF9NQVggTERCTF9NSU5fRVhQIExEQkxfTUFYX0VYUAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTERCTF9NSU5fMTBfRVhQIExEQkxfTUFYXzEwX0VYUAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSFVHRV9WQUwgQ0xPQ0tTX1BFUl9TRUMgTlVMTAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTENfQUxMIExDX0NPTExBVEUgTENfQ1RZUEUgTENfTU9ORVRBUlkKKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IExDX05VTUVSSUMgTENfVElNRQorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgU0lHX0RGTCBTSUdfRVJSIFNJR19JR04KKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IFNJR0FCUlQgU0lHRlBFIFNJR0lMTCBTSUdIVVAgU0lHSU5UIFNJR1NFR1YgU0lHVEVSTQorICAiIEFkZCBQT1NJWCBzaWduYWxzIGFzIHdlbGwuLi4KKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IFNJR0FCUlQgU0lHQUxSTSBTSUdDSExEIFNJR0NPTlQgU0lHRlBFIFNJR0hVUAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgU0lHSUxMIFNJR0lOVCBTSUdLSUxMIFNJR1BJUEUgU0lHUVVJVCBTSUdTRUdWCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBTSUdTVE9QIFNJR1RFUk0gU0lHVFJBUCBTSUdUU1RQIFNJR1RUSU4gU0lHVFRPVQorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgU0lHVVNSMSBTSUdVU1IyCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBfSU9GQkYgX0lPTEJGIF9JT05CRiBCVUZTSVogRU9GIFdFT0YKKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IEZPUEVOX01BWCBGSUxFTkFNRV9NQVggTF90bXBuYW0KKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IFNFRUtfQ1VSIFNFRUtfRU5EIFNFRUtfU0VUCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBUTVBfTUFYIHN0ZGVyciBzdGRpbiBzdGRvdXQKKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IEVYSVRfRkFJTFVSRSBFWElUX1NVQ0NFU1MgUkFORF9NQVgKKyAgIiBBZGQgUE9TSVggZXJyb3JzIGFzIHdlbGwKKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IEUyQklHIEVBQ0NFUyBFQUdBSU4gRUJBREYgRUJBRE1TRyBFQlVTWQorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgRUNBTkNFTEVEIEVDSElMRCBFREVBRExLIEVET00gRUVYSVNUIEVGQVVMVAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgRUZCSUcgRUlMU0VRIEVJTlBST0dSRVNTIEVJTlRSIEVJTlZBTCBFSU8gRUlTRElSCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBFTUZJTEUgRU1MSU5LIEVNU0dTSVpFIEVOQU1FVE9PTE9ORyBFTkZJTEUgRU5PREVWCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBFTk9FTlQgRU5PRVhFQyBFTk9MQ0sgRU5PTUVNIEVOT1NQQyBFTk9TWVMKKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IEVOT1RESVIgRU5PVEVNUFRZIEVOT1RTVVAgRU5PVFRZIEVOWElPIEVQRVJNCisgIHN5biBrZXl3b3JkIGNDb25zdGFudCBFUElQRSBFUkFOR0UgRVJPRlMgRVNQSVBFIEVTUkNIIEVUSU1FRE9VVCBFWERFVgorICAiIG1hdGguaAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTV9FIE1fTE9HMkUgTV9MT0cxMEUgTV9MTjIgTV9MTjEwIE1fUEkgTV9QSV8yIE1fUElfNAorICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTV8xX1BJIE1fMl9QSSBNXzJfU1FSVFBJIE1fU1FSVDIgTV9TUVJUMV8yCitlbmRpZgoraWYgIWV4aXN0cygiY19ub19jOTkiKSAiIElTTyBDOTkKKyAgc3luIGtleXdvcmQgY0NvbnN0YW50IHRydWUgZmFsc2UKK2VuZGlmCisKKyIgQWNjZXB0ICU6IGZvciAjIChDOTkpCitzeW4gcmVnaW9uCWNQcmVDb25kaXQJc3RhcnQ9Il5ccypcKCU6XHwjXClccypcKGlmXHxpZmRlZlx8aWZuZGVmXHxlbGlmXClcPiIgc2tpcD0iXFwkIiBlbmQ9IiQiIGVuZD0iLy8ibWU9cy0xIGNvbnRhaW5zPWNDb21tZW50LGNDcHBTdHJpbmcsY0NoYXJhY3RlcixjQ3BwUGFyZW4sY1BhcmVuRXJyb3IsY051bWJlcnMsY0NvbW1lbnRFcnJvcixjU3BhY2VFcnJvcgorc3luIG1hdGNoCWNQcmVDb25kaXQJZGlzcGxheSAiXlxzKlwoJTpcfCNcKVxzKlwoZWxzZVx8ZW5kaWZcKVw+IgoraWYgIWV4aXN0cygiY19ub19pZjAiKQorICBzeW4gcmVnaW9uCWNDcHBPdXQJCXN0YXJ0PSJeXHMqXCglOlx8I1wpXHMqaWZcc1wrMFwrXD4iIGVuZD0iLlxAPVx8JCIgY29udGFpbnM9Y0NwcE91dDIKKyAgc3luIHJlZ2lvbgljQ3BwT3V0Mgljb250YWluZWQgc3RhcnQ9IjAiIGVuZD0iXlxzKlwoJTpcfCNcKVxzKlwoZW5kaWZcPlx8ZWxzZVw+XHxlbGlmXD5cKSIgY29udGFpbnM9Y1NwYWNlRXJyb3IsY0NwcFNraXAKKyAgc3luIHJlZ2lvbgljQ3BwU2tpcAljb250YWluZWQgc3RhcnQ9Il5ccypcKCU6XHwjXClccypcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XCkiIHNraXA9IlxcJCIgZW5kPSJeXHMqXCglOlx8I1wpXHMqZW5kaWZcPiIgY29udGFpbnM9Y1NwYWNlRXJyb3IsY0NwcFNraXAKK2VuZGlmCitzeW4gcmVnaW9uCWNJbmNsdWRlZAlkaXNwbGF5IGNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCitzeW4gbWF0Y2gJY0luY2x1ZGVkCWRpc3BsYXkgY29udGFpbmVkICI8W14+XSo+Igorc3luIG1hdGNoCWNJbmNsdWRlCWRpc3BsYXkgIl5ccypcKCU6XHwjXClccyppbmNsdWRlXD5ccypbIjxdIiBjb250YWlucz1jSW5jbHVkZWQKKyJzeW4gbWF0Y2ggY0xpbmVTa2lwCSJcXCQiCitzeW4gY2x1c3RlcgljUHJlUHJvY0dyb3VwCWNvbnRhaW5zPWNQcmVDb25kaXQsY0luY2x1ZGVkLGNJbmNsdWRlLGNEZWZpbmUsY0VyckluUGFyZW4sY0VyckluQnJhY2tldCxjVXNlckxhYmVsLGNTcGVjaWFsLGNPY3RhbFplcm8sY0NwcE91dCxjQ3BwT3V0MixjQ3BwU2tpcCxjRm9ybWF0LGNOdW1iZXIsY0Zsb2F0LGNPY3RhbCxjT2N0YWxFcnJvcixjTnVtYmVyc0NvbSxjU3RyaW5nLGNDb21tZW50U2tpcCxjQ29tbWVudFN0cmluZyxjQ29tbWVudDJTdHJpbmcsQGNDb21tZW50R3JvdXAsY0NvbW1lbnRTdGFydEVycm9yLGNQYXJlbixjQnJhY2tldCxjTXVsdGkKK3N5biByZWdpb24JY0RlZmluZQkJc3RhcnQ9Il5ccypcKCU6XHwjXClccypcKGRlZmluZVx8dW5kZWZcKVw+IiBza2lwPSJcXCQiIGVuZD0iJCIgZW5kPSIvLyJtZT1zLTEgY29udGFpbnM9QUxMQlVULEBjUHJlUHJvY0dyb3VwLEBTcGVsbAorc3luIHJlZ2lvbgljUHJlUHJvYwlzdGFydD0iXlxzKlwoJTpcfCNcKVxzKlwocHJhZ21hXD5cfGxpbmVcPlx8d2FybmluZ1w+XHx3YXJuXD5cfGVycm9yXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGtlZXBlbmQgY29udGFpbnM9QUxMQlVULEBjUHJlUHJvY0dyb3VwLEBTcGVsbAorCisiIEhpZ2hsaWdodCBVc2VyIExhYmVscworc3luIGNsdXN0ZXIJY011bHRpR3JvdXAJY29udGFpbnM9Y0luY2x1ZGVkLGNTcGVjaWFsLGNDb21tZW50U2tpcCxjQ29tbWVudFN0cmluZyxjQ29tbWVudDJTdHJpbmcsQGNDb21tZW50R3JvdXAsY0NvbW1lbnRTdGFydEVycm9yLGNVc2VyQ29udCxjVXNlckxhYmVsLGNCaXRGaWVsZCxjT2N0YWxaZXJvLGNDcHBPdXQsY0NwcE91dDIsY0NwcFNraXAsY0Zvcm1hdCxjTnVtYmVyLGNGbG9hdCxjT2N0YWwsY09jdGFsRXJyb3IsY051bWJlcnNDb20sY0NwcFBhcmVuLGNDcHBCcmFja2V0LGNDcHBTdHJpbmcKK3N5biByZWdpb24JY011bHRpCQl0cmFuc3BhcmVudCBzdGFydD0nPycgc2tpcD0nOjonIGVuZD0nOicgY29udGFpbnM9QUxMQlVULEBjTXVsdGlHcm91cCxAU3BlbGwKKyIgQXZvaWQgbWF0Y2hpbmcgZm9vOjpiYXIoKSBpbiBDKysgYnkgcmVxdWlyaW5nIHRoYXQgdGhlIG5leHQgY2hhciBpcyBub3QgJzonCitzeW4gY2x1c3RlcgljTGFiZWxHcm91cAljb250YWlucz1jVXNlckxhYmVsCitzeW4gbWF0Y2gJY1VzZXJDb250CWRpc3BsYXkgIl5ccypcSVxpKlxzKjokIiBjb250YWlucz1AY0xhYmVsR3JvdXAKK3N5biBtYXRjaAljVXNlckNvbnQJZGlzcGxheSAiO1xzKlxJXGkqXHMqOiQiIGNvbnRhaW5zPUBjTGFiZWxHcm91cAorc3luIG1hdGNoCWNVc2VyQ29udAlkaXNwbGF5ICJeXHMqXElcaSpccyo6W146XSJtZT1lLTEgY29udGFpbnM9QGNMYWJlbEdyb3VwCitzeW4gbWF0Y2gJY1VzZXJDb250CWRpc3BsYXkgIjtccypcSVxpKlxzKjpbXjpdIm1lPWUtMSBjb250YWlucz1AY0xhYmVsR3JvdXAKKworc3luIG1hdGNoCWNVc2VyTGFiZWwJZGlzcGxheSAiXElcaSoiIGNvbnRhaW5lZAorCisiIEF2b2lkIHJlY29nbml6aW5nIG1vc3QgYml0ZmllbGRzIGFzIGxhYmVscworc3luIG1hdGNoCWNCaXRGaWVsZAlkaXNwbGF5ICJeXHMqXElcaSpccyo6XHMqWzEtOV0ibWU9ZS0xCitzeW4gbWF0Y2gJY0JpdEZpZWxkCWRpc3BsYXkgIjtccypcSVxpKlxzKjpccypbMS05XSJtZT1lLTEKKworaWYgZXhpc3RzKCJjX21pbmxpbmVzIikKKyAgbGV0IGI6Y19taW5saW5lcyA9IGNfbWlubGluZXMKK2Vsc2UKKyAgaWYgIWV4aXN0cygiY19ub19pZjAiKQorICAgIGxldCBiOmNfbWlubGluZXMgPSA1MAkiICNpZiAwIGNvbnN0cnVjdHMgY2FuIGJlIGxvbmcKKyAgZWxzZQorICAgIGxldCBiOmNfbWlubGluZXMgPSAxNQkiIG1vc3RseSBmb3IgKCkgY29uc3RydWN0cworICBlbmRpZgorZW5kaWYKK2V4ZWMgInN5biBzeW5jIGNjb21tZW50IGNDb21tZW50IG1pbmxpbmVzPSIgLiBiOmNfbWlubGluZXMKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY19zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGNGb3JtYXQJCWNTcGVjaWFsCisgIEhpTGluayBjQ3BwU3RyaW5nCQljU3RyaW5nCisgIEhpTGluayBjQ29tbWVudEwJCWNDb21tZW50CisgIEhpTGluayBjQ29tbWVudFN0YXJ0CQljQ29tbWVudAorICBIaUxpbmsgY0xhYmVsCQkJTGFiZWwKKyAgSGlMaW5rIGNVc2VyTGFiZWwJCUxhYmVsCisgIEhpTGluayBjQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCisgIEhpTGluayBjUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIGNDaGFyYWN0ZXIJCUNoYXJhY3RlcgorICBIaUxpbmsgY1NwZWNpYWxDaGFyYWN0ZXIJY1NwZWNpYWwKKyAgSGlMaW5rIGNOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgY09jdGFsCQkJTnVtYmVyCisgIEhpTGluayBjT2N0YWxaZXJvCQlQcmVQcm9jCSAiIGxpbmsgdGhpcyB0byBFcnJvciBpZiB5b3Ugd2FudAorICBIaUxpbmsgY0Zsb2F0CQkJRmxvYXQKKyAgSGlMaW5rIGNPY3RhbEVycm9yCQljRXJyb3IKKyAgSGlMaW5rIGNQYXJlbkVycm9yCQljRXJyb3IKKyAgSGlMaW5rIGNFcnJJblBhcmVuCQljRXJyb3IKKyAgSGlMaW5rIGNFcnJJbkJyYWNrZXQJCWNFcnJvcgorICBIaUxpbmsgY0NvbW1lbnRFcnJvcgkJY0Vycm9yCisgIEhpTGluayBjQ29tbWVudFN0YXJ0RXJyb3IJY0Vycm9yCisgIEhpTGluayBjU3BhY2VFcnJvcgkJY0Vycm9yCisgIEhpTGluayBjU3BlY2lhbEVycm9yCQljRXJyb3IKKyAgSGlMaW5rIGNPcGVyYXRvcgkJT3BlcmF0b3IKKyAgSGlMaW5rIGNTdHJ1Y3R1cmUJCVN0cnVjdHVyZQorICBIaUxpbmsgY1N0b3JhZ2VDbGFzcwkJU3RvcmFnZUNsYXNzCisgIEhpTGluayBjSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgY1ByZVByb2MJCVByZVByb2MKKyAgSGlMaW5rIGNEZWZpbmUJCU1hY3JvCisgIEhpTGluayBjSW5jbHVkZWQJCWNTdHJpbmcKKyAgSGlMaW5rIGNFcnJvcgkJCUVycm9yCisgIEhpTGluayBjU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGNQcmVDb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgY1R5cGUJCQlUeXBlCisgIEhpTGluayBjQ29uc3RhbnQJCUNvbnN0YW50CisgIEhpTGluayBjQ29tbWVudFN0cmluZwkJY1N0cmluZworICBIaUxpbmsgY0NvbW1lbnQyU3RyaW5nCWNTdHJpbmcKKyAgSGlMaW5rIGNDb21tZW50U2tpcAkJY0NvbW1lbnQKKyAgSGlMaW5rIGNTdHJpbmcJCVN0cmluZworICBIaUxpbmsgY0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGNTcGVjaWFsCQlTcGVjaWFsQ2hhcgorICBIaUxpbmsgY1RvZG8JCQlUb2RvCisgIEhpTGluayBjQ3BwU2tpcAkJY0NwcE91dAorICBIaUxpbmsgY0NwcE91dDIJCWNDcHBPdXQKKyAgSGlMaW5rIGNDcHBPdXQJCUNvbW1lbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYyIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NhbGVuZGFyLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NhbGVuZGFyLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODM0MjY3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY2FsZW5kYXIudmltCkBAIC0wLDAgKzEsMTA0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIGNhbGVuZGFyKDEpIGZpbGUuCisiIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgorIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL2NhbGVuZGFyLworIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTA2CisiIGFyY2gtdGFnOgkgICAgZDcxNDEyN2QtNDY5ZC00M2JkLTljNzktYzJhNDZlYzU0NTM1CisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFRvZG8KK3N5biBrZXl3b3JkIGNhbGVuZGFyVG9kbwljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uICBjYWxlbmRhckNvbW1lbnQJbWF0Y2hncm91cD1jYWxlbmRhckNvbW1lbnQgc3RhcnQ9Jy9cKicgZW5kPSdcKi8nIGNvbnRhaW5zPWNhbGVuZGFyVG9kbworCisiIFN0cmluZ3MKK3N5biByZWdpb24gIGNhbGVuZGFyQ3BwU3RyaW5nCXN0YXJ0PStMXD0iKyBza2lwPStcXFxcXHxcXCJcfFxcJCsgZXhjbHVkZW5sIGVuZD0rIisgZW5kPSckJyBjb250YWlucz1jYWxlbmRhclNwZWNpYWwKK3N5biBtYXRjaCAgIGNhbGVuZGFyU3BlY2lhbAlkaXNwbGF5IGNvbnRhaW5lZCAnXFxcJSh4XHhcK1x8XG9cezEsM31cfC5cfCRcKScKK3N5biBtYXRjaCAgIGNhbGVuZGFyU3BlY2lhbAlkaXNwbGF5IGNvbnRhaW5lZCAiXFxcKHVceFx7NH1cfFVceFx7OH1cKSIKKworIiBjcHAoMSkgUHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMgKGFkYXB0ZWQgZnJvbSBzeW50YXgvYy52aW0pCisKK3N5biByZWdpb24gIGNhbGVuZGFyUHJlQ29uZGl0CXN0YXJ0PSdeXHMqI1xzKlwlKGlmXHxpZmRlZlx8aWZuZGVmXHxlbGlmXClcPicgc2tpcD0nXFwkJyBlbmQ9JyQnIGNvbnRhaW5zPWNhbGVuZGFyQ29tbWVudCxjYWxlbmRhckNwcFN0cmluZworc3luIG1hdGNoICAgY2FsZW5kYXJQcmVDb25kaXQJZGlzcGxheSAnXlxzKiNccypcJShlbHNlXHxlbmRpZlwpXD4nCitzeW4gcmVnaW9uICBjYWxlbmRhckNwcE91dAlzdGFydD0nXlxzKiNccyppZlxzXCswXCsnIGVuZD0nLlxAPVx8JCcgY29udGFpbnM9Y2FsZW5kYXJDcHBPdXQyCitzeW4gcmVnaW9uICBjYWxlbmRhckNwcE91dDIJY29udGFpbmVkIHN0YXJ0PScwJyBlbmQ9J15ccyojXHMqXCUoZW5kaWZcfGVsc2VcfGVsaWZcKVw+JyBjb250YWlucz1jYWxlbmRhclNwYWNlRXJyb3IsY2FsZW5kYXJDcHBTa2lwCitzeW4gcmVnaW9uICBjYWxlbmRhckNwcFNraXAJY29udGFpbmVkIHN0YXJ0PSdeXHMqI1xzKlwlKGlmXHxpZmRlZlx8aWZuZGVmXClcPicgc2tpcD0nXFwkJyBlbmQ9J15ccyojXHMqZW5kaWZcPicgY29udGFpbnM9Y2FsZW5kYXJTcGFjZUVycm9yLGNhbGVuZGFyQ3BwU2tpcAorc3luIHJlZ2lvbiAgY2FsZW5kYXJJbmNsdWRlZAlkaXNwbGF5IGNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCitzeW4gbWF0Y2ggICBjYWxlbmRhckluY2x1ZGVkCWRpc3BsYXkgY29udGFpbmVkICc8W14+XSo+Jworc3luIG1hdGNoICAgY2FsZW5kYXJJbmNsdWRlCWRpc3BsYXkgJ15ccyojXHMqaW5jbHVkZVw+XHMqWyI8XScgY29udGFpbnM9Y2FsZW5kYXJJbmNsdWRlZAorc3luIGNsdXN0ZXIgY2FsZW5kYXJQcmVQcm9jR3JvdXAgICAgY29udGFpbnM9Y2FsZW5kYXJQcmVDb25kaXQsY2FsZW5kYXJJbmNsdWRlZCxjYWxlbmRhckluY2x1ZGUsY2FsZW5kYXJEZWZpbmUsY2FsZW5kYXJDcHBPdXQsY2FsZW5kYXJDcHBPdXQyLGNhbGVuZGFyQ3BwU2tpcCxjYWxlbmRhclN0cmluZyxjYWxlbmRhclNwZWNpYWwsY2FsZW5kYXJUb2RvCitzeW4gcmVnaW9uICBjYWxlbmRhckRlZmluZQlzdGFydD0nXlxzKiNccypcJShkZWZpbmVcfHVuZGVmXClcPicgc2tpcD0nXFwkJyBlbmQ9JyQnIGNvbnRhaW5zPUFMTEJVVCxAY2FsZW5kYXJQcmVQcm9jR3JvdXAKK3N5biByZWdpb24gIGNhbGVuZGFyUHJlUHJvYwlzdGFydD0nXlxzKiNccypcJShwcmFnbWFcfGxpbmVcfHdhcm5pbmdcfHdhcm5cfGVycm9yXClcPicgc2tpcD0nXFwkJyBlbmQ9JyQnIGtlZXBlbmQgY29udGFpbnM9QUxMQlVULEBjYWxlbmRhclByZVByb2NHcm91cAorCisiIEtleXdvcmRzCitzeW4ga2V5d29yZCBjYWxlbmRhcktleXdvcmQJQ0hBUlNFVCBCT0RVTiBMQU5HCitzeW4gY2FzZSBpZ25vcmUKK3N5biBrZXl3b3JkIGNhbGVuZGFyS2V5d29yZAlFYXN0ZXIgUGFzaGthCitzeW4gY2FzZSBtYXRjaAorCisiIERhdGVzCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCAgIGNhbGVuZGFyTnVtYmVyCSdcPFxkXCtcPicKK3N5biBrZXl3b3JkIGNhbGVuZGFyTW9udGgJSmFuW3VhcnldIEZlYltydWFyeV0gTWFyW2NoXSBBcHJbaWxdIE1heSBKdW5bZV0KK3N5biBrZXl3b3JkIGNhbGVuZGFyTW9udGgJSnVsW3ldIEF1Z1t1c3RdIFNlcFt0ZW1iZXJdIE9jdFtvYmVyXQorc3luIGtleXdvcmQgY2FsZW5kYXJNb250aAlOb3ZbZW1iZXJdIERlY1tlbWJlcl0KK3N5biBtYXRjaCAgIGNhbGVuZGFyTW9udGgJJ1w8XCUoSmFuXHxGZWJcfE1hclx8QXByXHxNYXlcfEp1blx8SnVsXHxBdWdcfFNlcFx8T2N0XHxOb3ZcfERlY1wpXC4nCitzeW4ga2V5d29yZCBjYWxlbmRhcldlZWtkYXkJTW9uW2RheV0gVHVlW3NkYXldIFdlZFtuZXNkYXldIFRodVtyc2RheV0KK3N5biBrZXl3b3JkIGNhbGVuZGFyV2Vla2RheQlGcmlbZGF5XSBTYXRbdXJkYXldIFN1bltkYXldCitzeW4gbWF0Y2ggICBjYWxlbmRhcldlZWtkYXkJJ1w8XCUoTW9uXHxUdWVcfFdlZFx8VGh1XHxGcmlcfFNhdFx8U3VuXClcLicgbmV4dGdyb3VwPWNhbGVuZGFyV2Vla2RheU1vZAorc3luIG1hdGNoICAgY2FsZW5kYXJXZWVrZGF5TW9kCSdbKy1dXGRcK1w+Jworc3luIGNhc2UgbWF0Y2gKKworIiBUaW1lcworc3luIG1hdGNoICAgY2FsZW5kYXJUaW1lCSdcPFwlKFswMV1cPVxkXHwyWzAtM11cKTpbMC01XVxkXCUoOlswLTVdXGRcKVw9Jworc3luIG1hdGNoICAgY2FsZW5kYXJUaW1lCSdcPFwlKDBcPVsxLTldXHwxWzAtMl1cKTpbMC01XVxkXCUoOlswLTVdXGRcKVw9XHMqW0FhUHBdW01tXScKKworIiBWYXJpYWJsZXMKK3N5biBtYXRjaCBjYWxlbmRhclZhcmlhYmxlCSdcKicKKworbGV0IGI6Y19taW5saW5lcyA9IDUwCQkiICNpZiAwIGNvbnN0cnVjdHMgY2FuIGJlIGxvbmcKK2V4ZWMgInN5biBzeW5jIGNjb21tZW50IGNhbGVuZGFyQ29tbWVudCBtaW5saW5lcz0iIC4gYjpjX21pbmxpbmVzCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NhbGVuZGFyX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2NhbGVuZGFyX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGNhbGVuZGFyVG9kbwkJVG9kbworICBIaUxpbmsgY2FsZW5kYXJDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGNhbGVuZGFyQ3BwU3RyaW5nCVN0cmluZworICBIaUxpbmsgY2FsZW5kYXJTcGVjaWFsCVNwZWNpYWxDaGFyCisgIEhpTGluayBjYWxlbmRhclByZUNvbmRpdAlQcmVDb25kaXQKKyAgSGlMaW5rIGNhbGVuZGFyQ3BwT3V0CUNvbW1lbnQKKyAgSGlMaW5rIGNhbGVuZGFyQ3BwT3V0MgljYWxlbmRhckNwcE91dAorICBIaUxpbmsgY2FsZW5kYXJDcHBTa2lwCWNhbGVuZGFyQ3BwT3V0CisgIEhpTGluayBjYWxlbmRhckluY2x1ZGVkCVN0cmluZworICBIaUxpbmsgY2FsZW5kYXJJbmNsdWRlCUluY2x1ZGUKKyAgSGlMaW5rIGNhbGVuZGFyRGVmaW5lCU1hY3JvCisgIEhpTGluayBjYWxlbmRhclByZVByb2MJUHJlUHJvYworICBIaUxpbmsgY2FsZW5kYXJLZXl3b3JkCUtleXdvcmQKKyAgSGlMaW5rIGNhbGVuZGFyTnVtYmVyCU51bWJlcgorICBIaUxpbmsgY2FsZW5kYXJNb250aAlTdHJpbmcKKyAgSGlMaW5rIGNhbGVuZGFyV2Vla2RheQlTdHJpbmcKKyAgSGlMaW5rIGNhbGVuZGFyV2Vla2RheU1vZAlTcGVjaWFsCisgIEhpTGluayBjYWxlbmRhclRpbWUJCU51bWJlcgorICBIaUxpbmsgY2FsZW5kYXJWYXJpYWJsZQlJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImNhbGVuZGFyIgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jYXRhbG9nLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NhdGFsb2cudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmOGUzODgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jYXRhbG9nLnZpbQpAQCAtMCwwICsxLDMwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJc2dtbCBjYXRhbG9nIGZpbGUKKyIgTWFpbnRhaW5lcjoJSm9oYW5uZXMgWmVsbG5lciA8am9oYW5uZXNAemVsbG5lci5vcmc+CisiIExhc3QgQ2hhbmdlOglUdWUsIDI3IEFwciAyMDA0IDE0OjU0OjU5IENFU1QKKyIgRmlsZW5hbWVzOgkvZXRjL3NnbWwuY2F0YWxvZworIiAkSWQkCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCisiIHN0cmluZ3MKK3N5biByZWdpb24gIGNhdGFsb2dTdHJpbmcgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBrZWVwZW5kCitzeW4gcmVnaW9uICBjYXRhbG9nU3RyaW5nIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysga2VlcGVuZAorCitzeW4gcmVnaW9uICBjYXRhbG9nQ29tbWVudCAgICAgIHN0YXJ0PSstLSsgICBlbmQ9Ky0tKyBjb250YWlucz1jYXRhbG9nVG9kbworc3luIGtleXdvcmQgY2F0YWxvZ1RvZG8JCVRPRE8gRklYTUUgWFhYIGNvbnRhaW5lZCBkaXNwbGF5CitzeW4ga2V5d29yZCBjYXRhbG9nS2V5d29yZAlET0NUWVBFIE9WRVJSSURFIFBVQkxJQyBEVERERUNMIEVOVElUWSBkaXNwbGF5CisKKworIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCitoaSBkZWYgbGluayBjYXRhbG9nU3RyaW5nCQkgICAgIFN0cmluZworaGkgZGVmIGxpbmsgY2F0YWxvZ0NvbW1lbnQJCSAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgY2F0YWxvZ1RvZG8JCQkgICAgIFRvZG8KK2hpIGRlZiBsaW5rIGNhdGFsb2dLZXl3b3JkCQkgICAgIFN0YXRlbWVudAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjYXRhbG9nIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2RsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NkbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlmMTI0YgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2NkbC52aW0KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2YudmltIGIvcnVudGltZS9zeW50YXgvY2YudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZjExMWQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jZi52aW0KQEAgLTAsMCArMSwxNTEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiICAgIExhbmd1YWdlOiBDb2xkIEZ1c2lvbgorIiAgTWFpbnRhaW5lcjogSmVmZiBMYW56YXJvdHRhIChqZWZmbGFuemFyb3R0YUB5YWhvby5jb20pCisiCSAgVVJMOiBodHRwOi8vbGFuemFyb3R0YS50cmlwb2QuY29tL3ZpbS9zeW50YXgvY2YudmltLnppcAorIiBMYXN0IENoYW5nZTogT2N0b2JlciAxNSwgMjAwMQorIglVc2FnZTogU2luY2UgQ29sZCBGdXNpb24gaGFzIGl0cyBvd24gdmVyc2lvbiBvZiBodG1sIGNvbW1lbnRzLAorIgkgICAgICAgbWFrZSBzdXJlIHRoYXQgeW91IHB1dAorIgkgICAgICAgJ2xldCBodG1sX3dyb25nX2NvbW1lbnRzPTEnIGluIHlvdXIgX3ZpbXJjIGZpbGUuCisKKyIgRm9yIHZlcnNpb24gNS54LCBjbGVhciBhbGwgc3ludGF4IGl0ZW1zLgorIiBGb3IgdmVyc2lvbiA2LngsIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZC4KK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFVzZSBhbGwgdGhlIHN0dWZmIGZyb20gdGhlIG9yaWdpbmFsIGh0bWwgc3ludGF4IGZpbGUuCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9odG1sLnZpbQorZWxzZQorICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KK2VuZGlmCisKKyIgVGFnIG5hbWVzLgorc3luIGtleXdvcmQgY2ZUYWdOYW1lIGNvbnRhaW5lZCBjZmFib3J0IGNmYXBwbGV0IGNmYXBwbGljYXRpb24gY2Zhc3NvY2lhdGUKK3N5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZhdXRoZW50aWNhdGUgY2ZicmVhayBjZmNhY2hlIGNmY29sCitzeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmY29sbGVjdGlvbiBjZmNvbnRlbnQgY2Zjb29raWUgY2ZkaXJlY3RvcnkKK3N5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZlcnJvciBjZmV4aXQgY2ZmaWxlIGNmZm9ybSBjZmZ0cCBjZmdyaWQKK3N5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZncmlkY29sdW1uIGNmZ3JpZHJvdyBjZmdyaWR1cGRhdGUgY2ZoZWFkZXIKK3N5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZodG1saGVhZCBjZmh0dHAgY2ZodHRwcGFyYW0KK3N5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZpZiBjZmVsc2VpZiBjZmVsc2UKK3N5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZpbmNsdWRlIGNmaW5kZXggY2ZpbnB1dCBjZmluc2VydAorc3luIGtleXdvcmQgY2ZUYWdOYW1lIGNvbnRhaW5lZCBjZmxkYXAgY2Zsb2NhdGlvbiBjZmxvY2sgY2Zsb29wIGNmbWFpbAorc3luIGtleXdvcmQgY2ZUYWdOYW1lIGNvbnRhaW5lZCBjZm1vZHVsZSBjZm9iamVjdCBjZm91dHB1dCBjZnBhcmFtIGNmcG9wCitzeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmcHJvY3BhcmFtIGNmcHJvY3Jlc3VsdCBjZnF1ZXJ5IGNmcmVnaXN0cnkKK3N5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZyZXBvcnQgY2ZzY2hlZHVsZSBjZnNjcmlwdCBjZnNlYXJjaCBjZnNlbGVjdAorc3luIGtleXdvcmQgY2ZUYWdOYW1lIGNvbnRhaW5lZCBjZnNldCBjZnNldHRpbmcgY2ZzbGlkZXIgY2ZzdG9yZWRwcm9jCitzeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmc3dpdGNoIGNmY2FzZSBjZmRlZmF1bHRjYXNlCitzeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmdGFibGUgY2Z0ZXh0aW5wdXQgY2Z0aHJvdyBjZnRyYW5zYWN0aW9uCitzeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmdHJlZSBjZnRyZWVpdGVtCitzeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmdHJ5IGNmY2F0Y2gKK3N5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2Z1cGRhdGUgY2Z3ZGR4CisKKyIgTGVnYWwgYXJndW1lbnRzLgorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGFjY2VwdCBhY3Rpb24gYWRkbmV3bGluZSBhZGR0b2tlbiBhZ2VudG5hbWUgYWxpZ24KK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBhcHBlbmRrZXkgYXBwbGljYXRpb250aW1lb3V0IGF0dGFjaG1lbnRwYXRoCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgYXR0cmlidXRlY29sbGVjdGlvbiBhdHRyaWJ1dGVzIGJhc2V0YWcgYmdjb2xvcgorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGJsb2NrZmFjdG9yIGJvZHkgYm9sZCBib3JkZXIgYnJhbmNoIGNhY2hlZGFmdGVyCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgY2FjaGVkd2l0aGluIGNjIGNmc3FsdHlwZSBjaGVja2VkIGNsYXNzIGNsaWVudG1hbmFnZW1lbnQKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBjbGllbnRzdG9yYWdlIGNvbGhlYWRlcmFsaWduIGNvbGhlYWRlcmJvbGQgY29saGVhZGVyZm9udAorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGNvbGhlYWRlcmZvbnRzaXplIGNvbGhlYWRlcml0YWxpYyBjb2xoZWFkZXJzIGNvbGxlY3Rpb24KK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBjb2xzcGFjaW5nIGNvbHVtbnMgY29tcGxldGVwYXRoIGNvbm5lY3Rpb24gY29udGV4dAorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGNyaXRlcmlhIGN1c3RvbTEgY3VzdG9tMiBkYXRhIGRhdGFhbGlnbiBkYXRhY29sbGVjdGlvbgorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGRhdGFzb3VyY2UgZGJuYW1lIGRic2VydmVyIGRidHlwZSBkYnZhcm5hbWUgZGVidWcgZGVmYXVsdAorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGRlbGV0ZSBkZWxldGVidXR0b24gZGVsZXRlZmlsZSBkZWxpbWl0ZXIgZGVzdGluYXRpb24gZGV0YWlsCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgZGlyZWN0b3J5IGRpc3BsYXkgZG4gZG9tYWluIGVuYWJsZWNhYiBlbmFibGVjZm91dHB1dG9ubHkKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBlbmN0eXBlIGVuZGRhdGUgZW5kdGltZSBlbnRyeSBlcnJvcmNvZGUgZXhwYW5kIGV4cGlyZXMKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBleHBpcmV1cmwgZXhwcmVzc2lvbiBleHRlbmRlZGluZm8gZXh0ZW5zaW9ucyBleHRlcm5hbAorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGZpbGUgZmlsZWZpZWxkIGZpbHRlciBmb250IGZvbnRzaXplIGZvcm1maWVsZHMgZm9ybXVsYQorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGZyb20gZ3JpZCBncmlkZGF0YWFsaWduIGdyaWRsaW5lcyBncm9vdmVjb2xvciBncm91cCBoZWFkZXIKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBoZWFkZXJhbGlnbiBoZWFkZXJib2xkIGhlYWRlcmZvbnQgaGVhZGVyZm9udHNpemUgaGVhZGVyaXRhbGljCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgaGVhZGVybGluZXMgaGVpZ2h0IGhpZ2hsaWdodGhyZWYgaHJlZiBocmVma2V5IGhzY3JvbGwgaHNwYWNlCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgaHRtbHRhYmxlIGltZyBpbWdvcGVuIGltZ3N0eWxlIGluZGV4IGlucHV0IGluc2VydCBpbnNlcnRidXR0b24KK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBpbnRlcnZhbCBpc29sYXRpb24gaXRhbGljIGtleSBrZXlvbmx5IGxhYmVsIGxhbmd1YWdlIG1haWxlcmlkCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgbWFpbHRvIG1heGxlbmd0aCBtYXhyb3dzIG1lc3NhZ2UgbWVzc2FnZW51bWJlciBtZXRob2QKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBtaW1lYXR0YWNoIG1vZGUgbXVsdGlwbGUgbmFtZSBuYW1lY29tcGxpY3QgbmV3ZGlyZWN0b3J5CitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgbm90c3VwcG9ydGVkIG51bGwgbnVtYmVyZm9ybWF0IG9uZXJyb3Igb25zdWJtaXQgb252YWxpZGF0ZQorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIG9wZXJhdGlvbiBvcmRlcmJ5IG91dHB1dCBwYXJyZW50IHBhc3N0aHJvdWdoIHBhc3N3b3JkIHBhdGgKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBwaWN0dXJlYmFyIHBvcnQgcHJvY2VkdXJlIHByb3RvY29sIHByb3ZpZGVyIHByb3ZpZGVyZHNuCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgcHJveHlieXBhc3MgcHJveHlzZXJ2ZXIgcHVibGlzaCBxdWVyeSBxdWVyeWFzcm9vdCByYW5nZQorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHJlY3Vyc2UgcmVmcmVzaGxhYmVsIHJlcG9ydCByZXF1ZXN0dGltZW91dCByZXF1aXJlZCByZXNldAorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHJlc29sZXVybCByZXN1bHRzZXQgcmV0cnljb3VudCByZXR1cm5jb2RlIHJvd2hlYWRlcmFsaWduCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgcm93aGVhZGVyYm9sZCByb3doZWFkZXJmb250IHJvd2hlYWRlcmZvbnRzaXplIHJvd2hlYWRlcml0YWxpYworc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHJvd2hlYWRlcnMgcm93aGVhZGVyd2lkdGggcm93aGVpZ2h0IHNjYWxlIHNjb3BlIHNlY3VyZQorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHNlY3VyaXR5Y29udGV4dCBzZWxlY3Qgc2VsZWN0Y29sb3Igc2VsZWN0ZWQgc2VsZWN0bW9kZSBzZXJ2ZXIKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBzZXNzaW9ubWFuYWdlbWVudCBzZXNzaW9udGltZW91dCBzZXRjbGllbnRjb29raWVzIHNldGNvb2tpZQorc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHNob3dkZWJ1Z291dHB1dCBzaG93ZXJyb3Igc2l6ZSBzb3J0IHNvcnRhc2NlbmRpbmdidXR0b24KK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBzb3J0ZGVzY2VuZGluZ2J1dHRvbiBzb3VyY2Ugc3FsIHN0YXJ0IHN0YXJ0ZGF0ZSBzdGFydHJvdyBzdGFydHRpbWUKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBzdGVwIHN0b3BvbmVycm9yIHN1YmplY3QgdGFibGVuYW1lIHRhYmxlb3duZXIgdGFibGVxdWFsaWZpZXIKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCB0YXJnZXQgdGFzayB0ZW1wbGF0ZSB0ZXh0IHRleHRjb2xvciB0ZXh0cXVhbGlmaWVyCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgdGhyb3dvbmZhaWx1cmUgdGhyb3dvbnRpbWVvdXQgdGltZW91dCB0aXRsZSB0byB0b3BsZXZlbHZhcmlhYmxlCitzeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgdHlwZSB1cmwgdXJscGF0aCB1c2VybmFtZSB1c2V0aW1lem9uZWluZm8gdmFsaWRhdGUgdmFsdWUKK3N5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCB2YXJpYWJsZSB2c2Nyb2xsIHZzcGFjZSB3aWR0aAorCisiIENvbGQgRnVzaW9uIEZ1bmN0aW9ucy4KK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBBYnMgQXJyYXlBcHBlbmQgQXJyYXlBdmcgQXJyYXlDbGVhciBBcnJheURlbGV0ZUF0CitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgQXJyYXlJbnNlcnRBdCBBcnJheUlzRW1wdHkgQXJyYXlMZW4gQXJyYXlNYXgKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBBcnJheU1pbiBBcnJheU5ldyBBcnJheVByZXBlbmQgQXJyYXlSZXNpemUgQXJyYXlTZXQKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBBcnJheVNvcnQgQXJyYXlTdW0gQXJyYXlTd2FwIEFycmF5VG9MaXN0IEFzYyBBdG4KK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBCaXRBbmQgQml0TWFza0NsZWFyIEJpdE1hc2tSZWFkIEJpdE1hc2tTZXQgQml0Tm90CitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgQml0T3IgQml0U0hMTiBCaXRTSFJOIEJpdFhvciBDSnVzdGlmeSBDZWlsaW5nIENocgorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIENvbXBhcmUgQ29tcGFyZU5vQ2FzZSBDb3MgQ3JlYXRlRGF0ZSBDcmVhdGVEYXRlVGltZQorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIENyZWF0ZU9EQkNEYXRlIENyZWF0ZU9EQkNEYXRlVGltZSBDcmVhdGVPREJDVGltZQorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIENyZWF0ZVRpbWUgQ3JlYXRlVGltZVNwYW4gREUgRGF0ZUFkZCBEYXRlQ29tcGFyZSBEYXRlRGlmZgorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIERhdGVGb3JtYXQgRGF0ZVBhcnQgRGF5IERheU9mV2VlayBEYXlPZldlZWtBc1N0cmluZworc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIERheU9mWWVhciBEYXlzSW5Nb250aCBEYXlzSW5ZZWFyIERlY2ltYWxGb3JtYXQgRGVjcmVtZW50VmFsdWUKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBEZWNyeXB0IERlbGV0ZUNsaWVudFZhcmlhYmxlIERpcmVjdG9yeUV4aXN0cyBEb2xsYXJGb3JtYXQKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBFbmNyeXB0IEV2YWx1YXRlIEV4cCBFeHBhbmRQYXRoIEZpbGVFeGlzdHMgRmluZCBGaW5kTm9DYXNlCitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgRmluZE9uZU9mIEZpcnN0RGF5T2ZNb250aCBGaXggRm9ybWF0QmFzZU4gR2V0QmFzZVRhZ0RhdGEKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBHZXRCYXNlVGFnTGlzdCBHZXRDbGllbnRWYXJpYWJsZXNMaXN0IEdldERpcmVjdG9yeUZyb21QYXRoCitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgR2V0RmlsZUZyb21QYXRoIEdldExvY2FsZSBHZXRUZW1wRGlyZWN0b3J5IEdldFRlbXBGaWxlCitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgR2V0VGVtcGxhdGVQYXRoIEdldFRpY2tDb3VudCBHZXRUb2tlbiBIVE1MQ29kZUZvcm1hdAorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEhUTUxFZGl0Rm9ybWF0IEhvdXIgSUlmIEluY3JlbWVudFZhbHVlIElucHV0QmFzZU4gSW5zZXJ0CitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgSW50IElzQXJyYXkgSXNBdXRoZW50aWNhdGVkIElzQXV0aG9yaXplZCBJc0Jvb2xlYW4gSXNEYXRlCitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgSXNEZWJ1Z01vZGUgSXNEZWZpbmVkIElzTGVhcFllYXIgSXNOdW1lcmljIElzTnVtZXJpY0RhdGUKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBJc1F1ZXJ5IElzU2ltcGxlVmFsdWUgSXNTdHJ1Y3QgTENhc2UgTEp1c3RpZnkgTFNDdXJyZW5jeUZvcm1hdAorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIExTRGF0ZUZvcm1hdCBMU0lzQ3VycmVuY3kgTFNJc0RhdGUgTFNJc051bWVyaWMgTFNOdW1iZXJGb3JtYXQKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBMU1BhcnNlQ3VycmVuY3kgTFNQYXJzZURhdGVUaW1lIExTUGFyc2VOdW1iZXIgTFNUaW1lRm9ybWF0CitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgTFRyaW0gTGVmdCBMZW4gTGlzdEFwcGVuZCBMaXN0Q2hhbmdlRGVsaW1zIExpc3RDb250YWlucworc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIExpc3RDb250YWluc05vQ2FzZSBMaXN0RGVsZXRlQXQgTGlzdEZpbmQgTGlzdEZpbmROb0Nhc2UgTGlzdEZpcnN0CitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgTGlzdEdldEF0IExpc3RJbnNlcnRBdCBMaXN0TGFzdCBMaXN0TGVuIExpc3RQcmVwZW5kIExpc3RSZXN0CitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgTGlzdFNldEF0IExpc3RUb0FycmF5IExvZyBMb2cxMCBNYXggTWlkIE1pbiBNaW51dGUgTW9udGgKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBNb250aEFzU3RyaW5nIE5vdyBOdW1iZXJGb3JtYXQgUGFyYWdyYXBoRm9ybWF0IFBhcmFtZXRlckV4aXN0cworc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFBhcnNlRGF0ZVRpbWUgUGkgUHJlc2VydmVTaW5nbGVRdW90ZXMgUXVhcnRlciBRdWVyeUFkZFJvdworc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFF1ZXJ5TmV3IFF1ZXJ5U2V0Q2VsbCBRdW90ZWRWYWx1ZUxpc3QgUkVGaW5kIFJFRmluZE5vQ2FzZQorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFJFUmVwbGFjZSBSRVJlcGxhY2VOb0Nhc2UgUkp1c3RpZnkgUlRyaW0gUmFuZCBSYW5kUmFuZ2UKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBSYW5kb21pemUgUmVtb3ZlQ2hhcnMgUmVwZWF0U3RyaW5nIFJlcGxhY2UgUmVwbGFjZUxpc3QKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBSZXBsYWNlTm9DYXNlIFJldmVyc2UgUmlnaHQgUm91bmQgU2Vjb25kIFNldExvY2FsZSBTZXRWYXJpYWJsZQorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFNnbiBTaW4gU3BhbkV4Y2x1ZGluZyBTcGFuSW5jbHVkaW5nIFNxciBTdHJpcENSIFN0cnVjdENsZWFyCitzeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgU3RydWN0Q29weSBTdHJ1Y3RDb3VudCBTdHJ1Y3REZWxldGUgU3RydWN0RmluZCBTdHJ1Y3RJbnNlcnQKK3N5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBTdHJ1Y3RJc0VtcHR5IFN0cnVjdEtleUV4aXN0cyBTdHJ1Y3ROZXcgU3RydWN0VXBkYXRlIFRhbgorc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFRpbWVGb3JtYXQgVHJpbSBVQ2FzZSBVUkxFbmNvZGVkRm9ybWF0IFZhbCBWYWx1ZUxpc3QgV2Vlaworc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFdyaXRlT3V0cHV0IFllYXIgWWVzTm9Gb3JtYXQKKworc3luIGNsdXN0ZXIgaHRtbFRhZ05hbWVDbHVzdGVyIGFkZD1jZlRhZ05hbWUKK3N5biBjbHVzdGVyIGh0bWxBcmdDbHVzdGVyIGFkZD1jZkFyZyxjZkZ1bmN0aW9uTmFtZQorCitzeW4gcmVnaW9uIGNmRnVuY3Rpb25SZWdpb24gc3RhcnQ9JyMnIGVuZD0nIycgY29udGFpbnM9Y2ZGdW5jdGlvbk5hbWUKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LnggYW5kIGVhcmxpZXIsIG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5LgorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyLCBvbmx5IHdoZW4gYW5kIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQuCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY2Zfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfY2Zfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgY2ZUYWdOYW1lIFN0YXRlbWVudAorICBIaUxpbmsgY2ZBcmcgVHlwZQorICBIaUxpbmsgY2ZGdW5jdGlvbk5hbWUgRnVuY3Rpb24KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2YiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NmZy52aW0gYi9ydW50aW1lL3N5bnRheC9jZmcudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2ZThiMjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jZmcudmltCkBAIC0wLDAgKzEsNjAgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglHb29kIG9sZCBDRkcgZmlsZXMKKyIgTWFpbnRhaW5lcjoJSWdvciBOLiBQcmlzY2hlcG9mZiAoaWdvckB0eXVtYml0LnJ1LCBwcmlfaWdvckBtYWlsLnJ1KQorIiBMYXN0IGNoYW5nZToJMjAwMSBTZXAgMDIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMgKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKKyIgY2FzZSBvZmYKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQgQ2ZnT25PZmYgIE9OIE9GRiBZRVMgTk8gVFJVRSBGQUxTRSAgY29udGFpbmVkCitzeW4gbWF0Y2ggVW5jUGF0aCAiXFxcXFxwKiIgY29udGFpbmVkCisiRG9zIERyaXZlOlxQYXRoCitzeW4gbWF0Y2ggQ2ZnRGlyZWN0b3J5ICJbYS16QS1aXTpcXFxwKiIgY29udGFpbmVkCisiUGFyYW1ldGVycworc3luIG1hdGNoICAgQ2ZnUGFyYW1zICAgICIuKj0ibWU9ZS0xIGNvbnRhaW5zPUNmZ0NvbW1lbnQKKyIuLi4gYW5kIHRoZWlyIHZhbHVlcyAoZG9uJ3Qgd2FudCB0byBoaWdobGlnaHQgJz0nIHNpZ24pCitzeW4gbWF0Y2ggICBDZmdWYWx1ZXMgICAgIj0uKiJocz1zKzEgY29udGFpbnM9Q2ZnRGlyZWN0b3J5LFVuY1BhdGgsQ2ZnQ29tbWVudCxDZmdTdHJpbmcsQ2ZnT25PZmYKKworIiBTZWN0aW9ucworc3luIG1hdGNoIENmZ1NlY3Rpb24JICAgICJcWy4qXF0iCitzeW4gbWF0Y2ggQ2ZnU2VjdGlvbgkgICAgInsuKn0iCisKKyIgU3RyaW5nCitzeW4gbWF0Y2ggIENmZ1N0cmluZwkiXCIuKlwiIiBjb250YWluZWQKK3N5biBtYXRjaCAgQ2ZnU3RyaW5nICAgICInLionIiAgIGNvbnRhaW5lZAorCisiIENvbW1lbnRzIChFdmVyeXRoaW5nIGJlZm9yZSAnIycgb3IgJy8vJyBvciAnOycpCitzeW4gbWF0Y2ggIENmZ0NvbW1lbnQJIiMuKiIKK3N5biBtYXRjaCAgQ2ZnQ29tbWVudAkiOy4qIgorc3luIG1hdGNoICBDZmdDb21tZW50CSJcL1wvLioiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2h0bGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jZmdfc3luX2luaXRzIikKKyAgICBpZiB2ZXJzaW9uIDwgNTA4CisJbGV0IGRpZF9jZmdfc3luX2luaXRzID0gMQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgICAgZWxzZQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgIGVuZGlmCisgICAgSGlMaW5rIENmZ09uT2ZmICAgICBMYWJlbAorICAgIEhpTGluayBDZmdDb21tZW50CUNvbW1lbnQKKyAgICBIaUxpbmsgQ2ZnU2VjdGlvbglUeXBlCisgICAgSGlMaW5rIENmZ1N0cmluZwlTdHJpbmcKKyAgICBIaUxpbmsgQ2ZnUGFyYW1zICAgIEtleXdvcmQKKyAgICBIaUxpbmsgQ2ZnVmFsdWVzICAgIENvbnN0YW50CisgICAgSGlMaW5rIENmZ0RpcmVjdG9yeSBEaXJlY3RvcnkKKyAgICBIaUxpbmsgVW5jUGF0aCAgICAgIERpcmVjdG9yeQorCisgICAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjZmciCisiIHZpbTp0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jaC52aW0gYi9ydW50aW1lL3N5bnRheC9jaC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU3ODdjOAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2NoLnZpbQpAQCAtMCwwICsxLDUzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIENoCisiIE1haW50YWluZXI6ICAgU29mdEludGVncmF0aW9uLCBJbmMuIDxpbmZvQHNvZnRpbnRlZ3JhdGlvbi5jb20+CisiIFVSTDoJCWh0dHA6Ly93d3cuc29mdGludGVncmF0aW9uLmNvbS9kb3dubG9hZC92aW0vc3ludGF4L2NoLnZpbQorIiBMYXN0IGNoYW5nZToJMjAwNCBNYXkgMTYKKyIJCUNyZWF0ZWQgYmFzZWQgb24gY3BwLnZpbQorIgorIiBDaCBpcyBhIEMvQysrIGludGVycHJldGVyIHdpdGggbWFueSBoaWdoIGxldmVsIGV4dGVuc2lvbnMKKyIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFJlYWQgdGhlIEMgc3ludGF4IHRvIHN0YXJ0IHdpdGgKK2lmIHZlcnNpb24gPCA2MDAKKyAgc28gPHNmaWxlPjpwOmgvYy52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2MudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKK2VuZGlmCisKKyIgQ2ggZXh0ZW50aW9ucworCitzeW4ga2V5d29yZAljaFN0YXRlbWVudAluZXcgZGVsZXRlIHRoaXMKK3N5biBrZXl3b3JkCWNoQWNjZXNzCXB1YmxpYyBwcml2YXRlCitzeW4ga2V5d29yZAljaFN0b3JhZ2VDbGFzcwlfX2RlY2xzcGVjKGdsb2JhbCkgX19kZWNsc3BlYyhsb2NhbCkKK3N5biBrZXl3b3JkCWNoU3RydWN0dXJlCWNsYXNzCitzeW4ga2V5d29yZAljaFR5cGUJCXN0cmluZ190IGFycmF5CisKKyIgRGVmYXVsdCBoaWdobGlnaHRpbmcKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jaF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jaF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorICBIaUxpbmsgY2hBY2Nlc3MJCWNoU3RhdGVtZW50CisgIEhpTGluayBjaEV4Y2VwdGlvbnMJCUV4Y2VwdGlvbgorICBIaUxpbmsgY2hTdGF0ZW1lbnQJCVN0YXRlbWVudAorICBIaUxpbmsgY2hUeXBlCQkJVHlwZQorICBIaUxpbmsgY2hTdHJ1Y3R1cmUJCVN0cnVjdHVyZQorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2giCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jaGFuZ2UudmltIGIvcnVudGltZS9zeW50YXgvY2hhbmdlLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWJmODhiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY2hhbmdlLnZpbQpAQCAtMCwwICsxLDQyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJV0VCIENoYW5nZXMKKyIgTWFpbnRhaW5lcjoJQW5kcmVhcyBTY2hlcmVyIDxhbmRyZWFzLnNjaGVyZXJAcG9ib3guY29tPgorIiBMYXN0IENoYW5nZToJQXByaWwgMjUsIDIwMDEKKworIiBEZXRhaWxzIG9mIHRoZSBjaGFuZ2UgbWVjaGFuaXNtIG9mIHRoZSBXRUIgYW5kIENXRUIgbGFuZ3VhZ2VzIGNhbiBiZSBmb3VuZAorIiBpbiB0aGUgYXJ0aWNsZXMgYnkgRG9uYWxkIEUuIEtudXRoIGFuZCBTaWx2aW8gTGV2eSBjaXRlZCBpbiAid2ViLnZpbSIgYW5kCisiICJjd2ViLnZpbSIgcmVzcGVjdGl2ZWx5LgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW4gY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgV2UgZGlzdGluZ3Vpc2ggdHdvIGdyb3VwcyBvZiBtYXRlcmlhbCwgKGEpIHN0dWZmIGJldHdlZW4gQHguLkB5LCBhbmQKKyIgKGIpIHN0dWZmIGJldHdlZW4gQHkuLkB6LiBXRUIvQ1dFQiBpZ25vcmUgZXZlcnl0aGluZyBlbHNlIGluIGEgY2hhbmdlIGZpbGUuCitzeW4gcmVnaW9uIGNoYW5nZUZyb21NYXRlcmlhbCBzdGFydD0iXkB4LiokIm1zPWUrMSBlbmQ9Il5AeS4qJCJtZT1zLTEKK3N5biByZWdpb24gY2hhbmdlVG9NYXRlcmlhbCBzdGFydD0iXkB5LiokIm1zPWUrMSBlbmQ9Il5Aei4qJCJtZT1zLTEKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY2hhbmdlX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2NoYW5nZV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBjaGFuZ2VGcm9tTWF0ZXJpYWwgU3RyaW5nCisgIEhpTGluayBjaGFuZ2VUb01hdGVyaWFsIFN0YXRlbWVudAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjaGFuZ2UiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jaGFuZ2Vsb2cudmltIGIvcnVudGltZS9zeW50YXgvY2hhbmdlbG9nLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hM2VkZGRhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY2hhbmdlbG9nLnZpbQpAQCAtMCwwICsxLDc4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJZ2VuZXJpYyBDaGFuZ2VMb2cgZmlsZQorIiBXcml0dGVuIEJ5OglHZWRpbWluYXMgUGF1bGF1c2thcyA8bWVuZXNpc0BkZWxmaS5sdD4KKyIgTWFpbnRhaW5lcjoJQ29yaW5uYSBWaW5zY2hlbiA8dmluc2NoZW5AcmVkaGF0LmNvbT4KKyIgTGFzdCBDaGFuZ2U6CUp1bmUgMSwgMjAwMworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCitpZiBleGlzdHMoJ2I6Y2hhbmdlbG9nX3NwYWNpbmdfZXJyb3JzJykKKyAgbGV0IHM6c3BhY2luZ19lcnJvcnMgPSBiOmNoYW5nZWxvZ19zcGFjaW5nX2Vycm9ycworZWxzZWlmIGV4aXN0cygnZzpjaGFuZ2Vsb2dfc3BhY2luZ19lcnJvcnMnKQorICBsZXQgczpzcGFjaW5nX2Vycm9ycyA9IGc6Y2hhbmdlbG9nX3NwYWNpbmdfZXJyb3JzCitlbHNlCisgIGxldCBzOnNwYWNpbmdfZXJyb3JzID0gMQorZW5kaWYKKworaWYgczpzcGFjaW5nX2Vycm9ycworICBzeW4gbWF0Y2gJY2hhbmdlbG9nRXJyb3IgIl4gXCsiCitlbmRpZgorCitzeW4gbWF0Y2gJY2hhbmdlbG9nVGV4dAkiXlxzLiokIiBjb250YWlucz1jaGFuZ2Vsb2dNYWlsLGNoYW5nZWxvZ051bWJlcixjaGFuZ2Vsb2dNb250aCxjaGFuZ2Vsb2dEYXksY2hhbmdlbG9nRXJyb3IKK3N5biBtYXRjaAljaGFuZ2Vsb2dIZWFkZXIJIl5cUy4qJCIgY29udGFpbnM9Y2hhbmdlbG9nTnVtYmVyLGNoYW5nZWxvZ01vbnRoLGNoYW5nZWxvZ0RheSxjaGFuZ2Vsb2dNYWlsCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biByZWdpb24JY2hhbmdlbG9nRmlsZXMJc3RhcnQ9Il5cc1wrWysqXVxzIiBlbmQ9IjpccyIgZW5kPSJeJCIgY29udGFpbnM9Y2hhbmdlbG9nQnVsbGV0LGNoYW5nZWxvZ0NvbG9uLGNoYW5nZWxvZ0Vycm9yIGtlZXBlbmQKKyAgc3luIHJlZ2lvbgljaGFuZ2Vsb2dGaWxlcwlzdGFydD0iXlxzXCtbKFtdIiBlbmQ9IjpccyIgZW5kPSJeJCIgY29udGFpbnM9Y2hhbmdlbG9nQnVsbGV0LGNoYW5nZWxvZ0NvbG9uLGNoYW5nZWxvZ0Vycm9yIGtlZXBlbmQKKyAgc3luIG1hdGNoCWNoYW5nZWxvZ0NvbG9uCWNvbnRhaW5lZCAiOlxzIgorZWxzZQorICBzeW4gcmVnaW9uCWNoYW5nZWxvZ0ZpbGVzCXN0YXJ0PSJeXHNcK1srKl1ccyIgZW5kPSI6IiBlbmQ9Il4kIiBjb250YWlucz1jaGFuZ2Vsb2dCdWxsZXQsY2hhbmdlbG9nQ29sb24sY2hhbmdlTG9nRnVuY3MsY2hhbmdlbG9nRXJyb3Iga2VlcGVuZAorICBzeW4gcmVnaW9uCWNoYW5nZWxvZ0ZpbGVzCXN0YXJ0PSJeXHNcK1soW10iIGVuZD0iOiIgZW5kPSJeJCIgY29udGFpbnM9Y2hhbmdlbG9nQnVsbGV0LGNoYW5nZWxvZ0NvbG9uLGNoYW5nZUxvZ0Z1bmNzLGNoYW5nZWxvZ0Vycm9yIGtlZXBlbmQKKyAgc3luIG1hdGNoCWNoYW5nZUxvZ0Z1bmNzICBjb250YWluZWQgIiguXHstfSkiIGV4dGVuZAorICBzeW4gbWF0Y2gJY2hhbmdlTG9nRnVuY3MgIGNvbnRhaW5lZCAiXFsuXHstfV0iIGV4dGVuZAorICBzeW4gbWF0Y2gJY2hhbmdlbG9nQ29sb24JY29udGFpbmVkICI6IgorZW5kaWYKK3N5biBtYXRjaAljaGFuZ2Vsb2dCdWxsZXQJY29udGFpbmVkICJeXHNcK1srKl1ccyIgY29udGFpbnM9Y2hhbmdlbG9nRXJyb3IKK3N5biBtYXRjaAljaGFuZ2Vsb2dNYWlsCWNvbnRhaW5lZCAiPFtBLVphLXowLTlcLl86Ky1dXCtAW0EtWmEtejAtOVwuXy1dXCs+Igorc3luIGtleXdvcmQJY2hhbmdlbG9nTW9udGgJY29udGFpbmVkIGphbiBmZWIgbWFyIGFwciBtYXkganVuIGp1bCBhdWcgc2VwIG9jdCBub3YgZGVjCitzeW4ga2V5d29yZAljaGFuZ2Vsb2dEYXkJY29udGFpbmVkIG1vbiB0dWUgd2VkIHRodSBmcmkgc2F0IHN1bgorc3luIG1hdGNoCWNoYW5nZWxvZ051bWJlcgljb250YWluZWQgIlsuLV0qWzAtOV1cKyIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY2hhbmdlbG9nX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2NoYW5nZWxvZ19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBjaGFuZ2Vsb2dUZXh0CQlOb3JtYWwKKyAgSGlMaW5rIGNoYW5nZWxvZ0J1bGxldAlUeXBlCisgIEhpTGluayBjaGFuZ2Vsb2dDb2xvbgkJVHlwZQorICBIaUxpbmsgY2hhbmdlbG9nRmlsZXMJCUNvbW1lbnQKKyAgaWYgdmVyc2lvbiA+PSA2MDAKKyAgICBIaUxpbmsgY2hhbmdlbG9nRnVuY3MJQ29tbWVudAorICBlbmRpZgorICBIaUxpbmsgY2hhbmdlbG9nSGVhZGVyCVN0YXRlbWVudAorICBIaUxpbmsgY2hhbmdlbG9nTWFpbAkJU3BlY2lhbAorICBIaUxpbmsgY2hhbmdlbG9nTnVtYmVyCU51bWJlcgorICBIaUxpbmsgY2hhbmdlbG9nTW9udGgJCU51bWJlcgorICBIaUxpbmsgY2hhbmdlbG9nRGF5CQlOdW1iZXIKKyAgSGlMaW5rIGNoYW5nZWxvZ0Vycm9yCQlGb2xkZWQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2hhbmdlbG9nIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2hhc2tlbGwudmltIGIvcnVudGltZS9zeW50YXgvY2hhc2tlbGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNzY0ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jaGFza2VsbC52aW0KQEAgLTAsMCArMSwxOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUhhc2tlbGwgc3VwcG9ydGluZyBjMmhzIGJpbmRpbmcgaG9va3MKKyIgTWFpbnRhaW5lcjoJQXJtaW4gU2FuZGVyIDxhcm1pbkBtaW5kd2Fsa2VyLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTm92ZW1iZXIgMQorIgorIiAyMDAxIE5vdmVtYmVyIDE6IENoYW5nZWQgY29tbWFuZHMgZm9yIHNvdXJjaW5nIGhhc2tlbGwudmltCisKKyIgRW5hYmxlIGJpbmRpbmcgaG9va3MKK2xldCBiOmhzX2Nocz0xCisKKyIgSW5jbHVkZSBzdGFuZGFyZCBIYXNrZWxsIGhpZ2hsaWdodGluZworaWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvaGFza2VsbC52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2hhc2tlbGwudmltCitlbmRpZgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2hlZXRhaC52aW0gYi9ydW50aW1lL3N5bnRheC9jaGVldGFoLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWIxNzU2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY2hlZXRhaC52aW0KQEAgLTAsMCArMSw2MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUNoZWV0YWggdGVtcGxhdGUgZW5naW5lCisiIE1haW50YWluZXI6CU1heCBJc2NoZW5rbyA8bWZpQHVrci5uZXQ+CisiIExhc3QgQ2hhbmdlOiAyMDAzLTA1LTExCisiCisiIE1pc3NpbmcgZmVhdHVyZXM6CisiICBtYXRjaCBpbnZhbGlkIHN5bnRheCwgbGlrZSBiYWQgdmFyaWFibGUgcmVmLiBvciB1bm1hdGNoZWQgY2xvc2luZyB0YWcKKyIgIFBTUC1zdHlsZSB0YWdzOiA8JSAuLiAlPiAob2Jzb2xldGVkIGZlYXR1cmUpCisiICBkb2Mtc3RyaW5ncyBhbmQgaGVhZGVyIGNvbW1lbnRzIChyYXJlbHkgdXNlZCBmZWF0dXJlKQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorCXN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCitlbmRpZgorCitzeW50YXggY2FzZSBtYXRjaAorCitzeW4ga2V5d29yZCBjaGVldGFoS2V5d29yZCBjb250YWluZWQgaWYgZWxzZSB1bmxlc3MgZWxpZiBmb3IgaW4gbm90CitzeW4ga2V5d29yZCBjaGVldGFoS2V5d29yZCBjb250YWluZWQgd2hpbGUgcmVwZWF0IGJyZWFrIGNvbnRpbnVlIHBhc3MgZW5kCitzeW4ga2V5d29yZCBjaGVldGFoS2V5d29yZCBjb250YWluZWQgc2V0IGRlbCBhdHRyIGRlZiBnbG9iYWwgaW5jbHVkZSByYXcgZWNobworc3luIGtleXdvcmQgY2hlZXRhaEtleXdvcmQgY29udGFpbmVkIGltcG9ydCBmcm9tIGV4dGVuZHMgaW1wbGVtZW50cworc3luIGtleXdvcmQgY2hlZXRhaEtleXdvcmQgY29udGFpbmVkIGFzc2VydCByYWlzZSB0cnkgY2F0Y2ggZmluYWxseQorc3luIGtleXdvcmQgY2hlZXRhaEtleXdvcmQgY29udGFpbmVkIGVycm9yQ2F0Y2hlciBicmVha3BvaW50IHNpbGVudCBjYWNoZSBmaWx0ZXIKK3N5biBtYXRjaCAgIGNoZWV0YWhLZXl3b3JkIGNvbnRhaW5lZCAiXDxjb21waWxlci1zZXR0aW5nc1w+IgorCisiIE1hdGNoZXMgY2FjaGVkIHBsYWNlaG9sZGVycworc3luIG1hdGNoICAgY2hlZXRhaFBsYWNlSG9sZGVyICIkXChcKlswLTkuXVwrW3dkaG1zXVw/XCpcfFwqXClcP1xoXHcqXChcLlxoXHcqXCkqIiBkaXNwbGF5CitzeW4gbWF0Y2ggICBjaGVldGFoUGxhY2VIb2xkZXIgIiRcKFwqWzAtOS5dXCtbd2RobXNdXD9cKlx8XCpcKVw/e1xoXHcqXChcLlxoXHcqXCkqfSIgZGlzcGxheQorc3luIG1hdGNoICAgY2hlZXRhaERpcmVjdGl2ZSAiXlxzKiNbXiNdLiokIiAgY29udGFpbnM9Y2hlZXRhaFBsYWNlSG9sZGVyLGNoZWV0YWhLZXl3b3JkLGNoZWV0YWhDb21tZW50IGRpc3BsYXkKKworc3luIG1hdGNoICAgY2hlZXRhaENvbnRpbnVhdGlvbiAiXFwkIgorc3luIG1hdGNoICAgY2hlZXRhaENvbW1lbnQgIiMjLiokIiBkaXNwbGF5CitzeW4gcmVnaW9uICBjaGVldGFoTXVsdGlMaW5lQ29tbWVudCBzdGFydD0iI1wqIiBlbmQ9IlwqIyIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY2hlZXRhaF9zeW5faW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9jaGVldGFoX3N5bl9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwlIaUxpbmsgY2hlZXRhaFBsYWNlSG9sZGVyIElkZW50aWZpZXIKKwlIaUxpbmsgY2hlZXRhaERpcmVjdGl2ZSBQcmVDb25kaXQKKwlIaUxpbmsgY2hlZXRhaEtleXdvcmQgRGVmaW5lCisJSGlMaW5rIGNoZWV0YWhDb250aW51YXRpb24gU3BlY2lhbAorCUhpTGluayBjaGVldGFoQ29tbWVudCBDb21tZW50CisJSGlMaW5rIGNoZWV0YWhNdWx0aUxpbmVDb21tZW50IENvbW1lbnQKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjaGVldGFoIgorCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jaGlsbC52aW0gYi9ydW50aW1lL3N5bnRheC9jaGlsbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2EwMGNkOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2NoaWxsLnZpbQpAQCAtMCwwICsxLDE5MSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUNISUxMCisiIE1haW50YWluZXI6CVlvdW5nU2FuZyBZb29uIDxpbWFnZUBsZ2ljLmNvLmtyPgorIiBMYXN0IGNoYW5nZToJMjAwNCBKYW4gMjEKKyIKKworIiBmaXJzdCBjcmVhdGVkIGJ5IGltYWdlQGxnaWMuY28ua3IgJiBtb2RpZmllZCBieSBwYXJpc0BsZ2ljLmNvLmtyCisKKyIgQ0hJTEwgKENDSVRUIEhpZ2ggTGV2ZWwgUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UpIGlzIHVzZWQgZm9yCisiIGRldmVsb3Bpbmcgc29mdHdhcmUgb2YgQVRNIHN3aXRjaCBhdCBMR0lDIChMRyBJbmZvcm1hdGlvbgorIiAmIENvbW11bmljYXRpb25zIExUZC4pCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEEgYnVuY2ggb2YgdXNlZnVsIENISUxMIGtleXdvcmRzCitzeW4ga2V5d29yZAljaGlsbFN0YXRlbWVudAlnb3RvIEdPVE8gcmV0dXJuIFJFVFVSTiByZXR1cm5zIFJFVFVSTlMKK3N5biBrZXl3b3JkCWNoaWxsTGFiZWwJCUNBU0UgY2FzZSBFU0FDIGVzYWMKK3N5biBrZXl3b3JkCWNoaWxsQ29uZGl0aW9uYWwJaWYgSUYgZWxzZSBFTFNFIGVsc2lmIEVMU0lGIHN3aXRjaCBTV0lUQ0ggVEhFTiB0aGVuIEZJIGZpCitzeW4ga2V5d29yZAljaGlsbExvZ2ljYWwJTk9UIG5vdAorc3luIGtleXdvcmQJY2hpbGxSZXBlYXQJd2hpbGUgV0hJTEUgZm9yIEZPUiBkbyBETyBvZCBPRCBUTyB0bworc3luIGtleXdvcmQJY2hpbGxQcm9jZXNzCVNUQVJUIHN0YXJ0IFNUQUNLU0laRSBzdGFja3NpemUgUFJJT1JJVFkgcHJpb3JpdHkgVEhJUyB0aGlzIFNUT1Agc3RvcAorc3luIGtleXdvcmQJY2hpbGxCbG9jawkJUFJPQyBwcm9jIFBST0NFU1MgcHJvY2Vzcworc3luIGtleXdvcmQJY2hpbGxTaWduYWwJUkVDRUlWRSByZWNlaXZlIFNFTkQgc2VuZCBOT05QRVJTSVNURU5UIG5vbnBlcnNpc3RlbnQgUEVSU0lTVEVOVCBwZXJpc3RlbnQgU0VUIHNldCBFVkVSIGV2ZXIKKworc3luIGtleXdvcmQJY2hpbGxUb2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFgKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb25zdGFudHMKKyIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2ggaGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKK3N5biBtYXRjaAljaGlsbFNwZWNpYWwJY29udGFpbmVkICJcXHhceFwrXHxcXFxvXHsxLDNcfVx8XFwuXHxcXCQiCitzeW4gcmVnaW9uCWNoaWxsU3RyaW5nCXN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Y2hpbGxTcGVjaWFsCitzeW4gbWF0Y2gJY2hpbGxDaGFyYWN0ZXIJIidbXlxcXSciCitzeW4gbWF0Y2gJY2hpbGxTcGVjaWFsQ2hhcmFjdGVyICInXFwuJyIKK3N5biBtYXRjaAljaGlsbFNwZWNpYWxDaGFyYWN0ZXIgIidcXFxvXHsxLDNcfSciCisKKyJ3aGVuIHdhbnRlZCwgaGlnaGxpZ2h0IHRyYWlsaW5nIHdoaXRlIHNwYWNlCitpZiBleGlzdHMoImNoaWxsX3NwYWNlX2Vycm9ycyIpCisgIHN5biBtYXRjaAljaGlsbFNwYWNlRXJyb3IJIlxzKiQiCisgIHN5biBtYXRjaAljaGlsbFNwYWNlRXJyb3IJIiBcK1x0Im1lPWUtMQorZW5kaWYKKworImNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMKK3N5biBjbHVzdGVyCWNoaWxsUGFyZW5Hcm91cAljb250YWlucz1jaGlsbFBhcmVuRXJyb3IsY2hpbGxJbmNsdWRlZCxjaGlsbFNwZWNpYWwsY2hpbGxUb2RvLGNoaWxsVXNlckNvbnQsY2hpbGxVc2VyTGFiZWwsY2hpbGxCaXRGaWVsZAorc3luIHJlZ2lvbgljaGlsbFBhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsQGNoaWxsUGFyZW5Hcm91cAorc3luIG1hdGNoCWNoaWxsUGFyZW5FcnJvcgkiKSIKK3N5biBtYXRjaAljaGlsbEluUGFyZW4JY29udGFpbmVkICJbe31dIgorCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoCWNoaWxsTnVtYmVyCQkiXDxcZFwrXCh1XD1sXD1cfGx1XHxmXClcPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoCWNoaWxsRmxvYXQJCSJcPFxkXCtcLlxkKlwoZVstK11cPVxkXCtcKVw9W2ZsXVw9XD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoCWNoaWxsRmxvYXQJCSJcLlxkXCtcKGVbLStdXD1cZFwrXClcPVtmbF1cPVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKK3N5biBtYXRjaAljaGlsbEZsb2F0CQkiXDxcZFwrZVstK11cPVxkXCtbZmxdXD1cPiIKKyJoZXggbnVtYmVyCitzeW4gbWF0Y2gJY2hpbGxOdW1iZXIJCSJcPDB4XHhcK1wodVw9bFw9XHxsdVwpXD4iCisic3luIG1hdGNoIGNoaWxsSWRlbnRpZmllcgkiXDxbYS16X11bYS16MC05X10qXD4iCitzeW4gY2FzZSBtYXRjaAorIiBmbGFnIGFuIG9jdGFsIG51bWJlciB3aXRoIHdyb25nIGRpZ2l0cworc3luIG1hdGNoCWNoaWxsT2N0YWxFcnJvcgkiXDwwXG8qWzg5XSIKKworaWYgZXhpc3RzKCJjaGlsbF9jb21tZW50X3N0cmluZ3MiKQorICAiIEEgY29tbWVudCBjYW4gY29udGFpbiBjaGlsbFN0cmluZywgY2hpbGxDaGFyYWN0ZXIgYW5kIGNoaWxsTnVtYmVyLgorICAiIEJ1dCBhICIqLyIgaW5zaWRlIGEgY2hpbGxTdHJpbmcgaW4gYSBjaGlsbENvbW1lbnQgRE9FUyBlbmQgdGhlIGNvbW1lbnQhICBTbyB3ZQorICAiIG5lZWQgdG8gdXNlIGEgc3BlY2lhbCB0eXBlIG9mIGNoaWxsU3RyaW5nOiBjaGlsbENvbW1lbnRTdHJpbmcsIHdoaWNoIGFsc28gZW5kcyBvbgorICAiICIqLyIsIGFuZCBzZWVzIGEgIioiIGF0IHRoZSBzdGFydCBvZiB0aGUgbGluZSBhcyBjb21tZW50IGFnYWluLgorICAiIFVuZm9ydHVuYXRlbHkgdGhpcyBkb2Vzbid0IHZlcnkgd2VsbCB3b3JrIGZvciAvLyB0eXBlIG9mIGNvbW1lbnRzIDotKAorICBzeW50YXggbWF0Y2gJY2hpbGxDb21tZW50U2tpcAljb250YWluZWQgIl5ccypcKlwoJFx8XHNcK1wpIgorICBzeW50YXggcmVnaW9uIGNoaWxsQ29tbWVudFN0cmluZwljb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBlbmQ9K1wqLyttZT1zLTEgY29udGFpbnM9Y2hpbGxTcGVjaWFsLGNoaWxsQ29tbWVudFNraXAKKyAgc3ludGF4IHJlZ2lvbiBjaGlsbENvbW1lbnQyU3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0iJCIgY29udGFpbnM9Y2hpbGxTcGVjaWFsCisgIHN5bnRheCByZWdpb24gY2hpbGxDb21tZW50CXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1jaGlsbFRvZG8sY2hpbGxDb21tZW50U3RyaW5nLGNoaWxsQ2hhcmFjdGVyLGNoaWxsTnVtYmVyLGNoaWxsRmxvYXQsY2hpbGxTcGFjZUVycm9yCisgIHN5bnRheCBtYXRjaCAgY2hpbGxDb21tZW50CSIvLy4qIiBjb250YWlucz1jaGlsbFRvZG8sY2hpbGxDb21tZW50MlN0cmluZyxjaGlsbENoYXJhY3RlcixjaGlsbE51bWJlcixjaGlsbFNwYWNlRXJyb3IKK2Vsc2UKKyAgc3luIHJlZ2lvbgljaGlsbENvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPWNoaWxsVG9kbyxjaGlsbFNwYWNlRXJyb3IKKyAgc3luIG1hdGNoCWNoaWxsQ29tbWVudAkiLy8uKiIgY29udGFpbnM9Y2hpbGxUb2RvLGNoaWxsU3BhY2VFcnJvcgorZW5kaWYKK3N5bnRheCBtYXRjaAljaGlsbENvbW1lbnRFcnJvcgkiXCovIgorCitzeW4ga2V5d29yZAljaGlsbE9wZXJhdG9yCVNJWkUgc2l6ZQorc3luIGtleXdvcmQJY2hpbGxUeXBlCQlkY2wgRENMIGludCBJTlQgY2hhciBDSEFSIGJvb2wgQk9PTCBSRUYgcmVmIExPQyBsb2MgSU5TVEFOQ0UgaW5zdGFuY2UKK3N5biBrZXl3b3JkCWNoaWxsU3RydWN0dXJlCXN0cnVjdCBTVFJVQ1QgZW51bSBFTlVNIG5ld21vZGUgTkVXTU9ERSBzeW5tb2RlIFNZTk1PREUKKyJzeW4ga2V5d29yZAljaGlsbFN0b3JhZ2VDbGFzcworc3luIGtleXdvcmQJY2hpbGxCbG9jawkJUFJPQyBwcm9jIEVORCBlbmQKK3N5biBrZXl3b3JkCWNoaWxsU2NvcGUJCUdSQU5UIGdyYW50IFNFSVpFIHNlaXplCitzeW4ga2V5d29yZAljaGlsbEVETUwJCXNlbGVjdCBTRUxFQ1QgZGVsZXRlIERFTEVURSB1cGRhdGUgVVBEQVRFIGluIElOIHNlcSBTRVEgV0hFUkUgd2hlcmUgSU5TRVJUIGluc2VydCBpbmNsdWRlIElOQ0xVREUgZXhjbHVkZSBFWENMVURFCitzeW4ga2V5d29yZAljaGlsbEJvb2xDb25zdAl0cnVlIFRSVUUgZmFsc2UgRkFMU0UKKworc3luIHJlZ2lvbgljaGlsbFByZUNvbmRpdAlzdGFydD0iXlxzKiNccypcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XHxlbGlmXD5cfGVsc2VcPlx8ZW5kaWZcPlwpIiBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9Y2hpbGxDb21tZW50LGNoaWxsU3RyaW5nLGNoaWxsQ2hhcmFjdGVyLGNoaWxsTnVtYmVyLGNoaWxsQ29tbWVudEVycm9yLGNoaWxsU3BhY2VFcnJvcgorc3luIHJlZ2lvbgljaGlsbEluY2x1ZGVkCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCitzeW4gbWF0Y2gJY2hpbGxJbmNsdWRlZAljb250YWluZWQgIjxbXj5dKj4iCitzeW4gbWF0Y2gJY2hpbGxJbmNsdWRlCSJeXHMqI1xzKmluY2x1ZGVcPlxzKlsiPF0iIGNvbnRhaW5zPWNoaWxsSW5jbHVkZWQKKyJzeW4gbWF0Y2ggY2hpbGxMaW5lU2tpcAkiXFwkIgorc3luIGNsdXN0ZXIJY2hpbGxQcmVQcm9jR3JvdXAJY29udGFpbnM9Y2hpbGxQcmVDb25kaXQsY2hpbGxJbmNsdWRlZCxjaGlsbEluY2x1ZGUsY2hpbGxEZWZpbmUsY2hpbGxJblBhcmVuLGNoaWxsVXNlckxhYmVsCitzeW4gcmVnaW9uCWNoaWxsRGVmaW5lCQlzdGFydD0iXlxzKiNccypcKGRlZmluZVw+XHx1bmRlZlw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsQGNoaWxsUHJlUHJvY0dyb3VwCitzeW4gcmVnaW9uCWNoaWxsUHJlUHJvYwlzdGFydD0iXlxzKiNccypcKHByYWdtYVw+XHxsaW5lXD5cfHdhcm5pbmdcPlx8d2Fyblw+XHxlcnJvclw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsQGNoaWxsUHJlUHJvY0dyb3VwCisKKyIgSGlnaGxpZ2h0IFVzZXIgTGFiZWxzCitzeW4gY2x1c3RlcgljaGlsbE11bHRpR3JvdXAJY29udGFpbnM9Y2hpbGxJbmNsdWRlZCxjaGlsbFNwZWNpYWwsY2hpbGxUb2RvLGNoaWxsVXNlckNvbnQsY2hpbGxVc2VyTGFiZWwsY2hpbGxCaXRGaWVsZAorc3luIHJlZ2lvbgljaGlsbE11bHRpCQl0cmFuc3BhcmVudCBzdGFydD0nPycgZW5kPSc6JyBjb250YWlucz1BTExCVVQsQGNoaWxsTXVsdGlHcm91cAorIiBBdm9pZCBtYXRjaGluZyBmb286OmJhcigpIGluIEMrKyBieSByZXF1aXJpbmcgdGhhdCB0aGUgbmV4dCBjaGFyIGlzIG5vdCAnOicKK3N5biBtYXRjaAljaGlsbFVzZXJDb250CSJeXHMqXElcaSpccyo6JCIgY29udGFpbnM9Y2hpbGxVc2VyTGFiZWwKK3N5biBtYXRjaAljaGlsbFVzZXJDb250CSI7XHMqXElcaSpccyo6JCIgY29udGFpbnM9Y2hpbGxVc2VyTGFiZWwKK3N5biBtYXRjaAljaGlsbFVzZXJDb250CSJeXHMqXElcaSpccyo6W146XSJtZT1lLTEgY29udGFpbnM9Y2hpbGxVc2VyTGFiZWwKK3N5biBtYXRjaAljaGlsbFVzZXJDb250CSI7XHMqXElcaSpccyo6W146XSJtZT1lLTEgY29udGFpbnM9Y2hpbGxVc2VyTGFiZWwKKworc3luIG1hdGNoCWNoaWxsVXNlckxhYmVsCSJcSVxpKiIgY29udGFpbmVkCisKKyIgQXZvaWQgcmVjb2duaXppbmcgbW9zdCBiaXRmaWVsZHMgYXMgbGFiZWxzCitzeW4gbWF0Y2gJY2hpbGxCaXRGaWVsZAkiXlxzKlxJXGkqXHMqOlxzKlsxLTldIm1lPWUtMQorc3luIG1hdGNoCWNoaWxsQml0RmllbGQJIjtccypcSVxpKlxzKjpccypbMS05XSJtZT1lLTEKKworc3luIG1hdGNoCWNoaWxsQnJhY2tldAljb250YWluZWQgIls8Pl0iCitpZiAhZXhpc3RzKCJjaGlsbF9taW5saW5lcyIpCisgIGxldCBjaGlsbF9taW5saW5lcyA9IDE1CitlbmRpZgorZXhlYyAic3luIHN5bmMgY2NvbW1lbnQgY2hpbGxDb21tZW50IG1pbmxpbmVzPSIgLiBjaGlsbF9taW5saW5lcworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jaF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jaF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBjaGlsbExhYmVsCUxhYmVsCisgIEhpTGluayBjaGlsbFVzZXJMYWJlbAlMYWJlbAorICBIaUxpbmsgY2hpbGxDb25kaXRpb25hbAlDb25kaXRpb25hbAorICAiIGhpIGNoaWxsQ29uZGl0aW9uYWwJdGVybT1ib2xkIGN0ZXJtZmc9cmVkIGd1aWZnPXJlZCBndWk9Ym9sZAorCisgIEhpTGluayBjaGlsbFJlcGVhdAlSZXBlYXQKKyAgSGlMaW5rIGNoaWxsUHJvY2VzcwlSZXBlYXQKKyAgSGlMaW5rIGNoaWxsU2lnbmFsCVJlcGVhdAorICBIaUxpbmsgY2hpbGxDaGFyYWN0ZXIJQ2hhcmFjdGVyCisgIEhpTGluayBjaGlsbFNwZWNpYWxDaGFyYWN0ZXIgY2hpbGxTcGVjaWFsCisgIEhpTGluayBjaGlsbE51bWJlcglOdW1iZXIKKyAgSGlMaW5rIGNoaWxsRmxvYXQJRmxvYXQKKyAgSGlMaW5rIGNoaWxsT2N0YWxFcnJvcgljaGlsbEVycm9yCisgIEhpTGluayBjaGlsbFBhcmVuRXJyb3IJY2hpbGxFcnJvcgorICBIaUxpbmsgY2hpbGxJblBhcmVuCWNoaWxsRXJyb3IKKyAgSGlMaW5rIGNoaWxsQ29tbWVudEVycm9yCWNoaWxsRXJyb3IKKyAgSGlMaW5rIGNoaWxsU3BhY2VFcnJvcgljaGlsbEVycm9yCisgIEhpTGluayBjaGlsbE9wZXJhdG9yCU9wZXJhdG9yCisgIEhpTGluayBjaGlsbFN0cnVjdHVyZQlTdHJ1Y3R1cmUKKyAgSGlMaW5rIGNoaWxsQmxvY2sJT3BlcmF0b3IKKyAgSGlMaW5rIGNoaWxsU2NvcGUJT3BlcmF0b3IKKyAgImhpIGNoaWxsRURNTCAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1EYXJrUmVkIGd1aWZnPVJlZAorICBIaUxpbmsgY2hpbGxFRE1MCVByZVByb2MKKyAgImhpIGNoaWxsQm9vbENvbnN0CXRlcm09Ym9sZCBjdGVybWZnPWJyb3duIGd1aWZnPWJyb3duCisgIEhpTGluayBjaGlsbEJvb2xDb25zdAlDb25zdGFudAorICAiaGkgY2hpbGxMb2dpY2FsCXRlcm09Ym9sZCBjdGVybWZnPWJyb3duIGd1aWZnPWJyb3duCisgIEhpTGluayBjaGlsbExvZ2ljYWwJQ29uc3RhbnQKKyAgSGlMaW5rIGNoaWxsU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcworICBIaUxpbmsgY2hpbGxJbmNsdWRlCUluY2x1ZGUKKyAgSGlMaW5rIGNoaWxsUHJlUHJvYwlQcmVQcm9jCisgIEhpTGluayBjaGlsbERlZmluZQlNYWNybworICBIaUxpbmsgY2hpbGxJbmNsdWRlZAljaGlsbFN0cmluZworICBIaUxpbmsgY2hpbGxFcnJvcglFcnJvcgorICBIaUxpbmsgY2hpbGxTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBjaGlsbFByZUNvbmRpdAlQcmVDb25kaXQKKyAgSGlMaW5rIGNoaWxsVHlwZQlUeXBlCisgIEhpTGluayBjaGlsbENvbW1lbnRFcnJvcgljaGlsbEVycm9yCisgIEhpTGluayBjaGlsbENvbW1lbnRTdHJpbmcgY2hpbGxTdHJpbmcKKyAgSGlMaW5rIGNoaWxsQ29tbWVudDJTdHJpbmcgY2hpbGxTdHJpbmcKKyAgSGlMaW5rIGNoaWxsQ29tbWVudFNraXAJY2hpbGxDb21tZW50CisgIEhpTGluayBjaGlsbFN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIGNoaWxsQ29tbWVudAlDb21tZW50CisgICIgaGkgY2hpbGxDb21tZW50CXRlcm09Tm9uZSBjdGVybWZnPWxpZ2h0Ymx1ZSBndWlmZz1saWdodGJsdWUKKyAgSGlMaW5rIGNoaWxsU3BlY2lhbAlTcGVjaWFsQ2hhcgorICBIaUxpbmsgY2hpbGxUb2RvCVRvZG8KKyAgSGlMaW5rIGNoaWxsQmxvY2sJU3RhdGVtZW50CisgICJIaUxpbmsgY2hpbGxJZGVudGlmaWVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIGNoaWxsQnJhY2tldAlEZWxpbWl0ZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2hpbGwiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jbC52aW0gYi9ydW50aW1lL3N5bnRheC9jbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M2ZjQxYgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2NsLnZpbQpAQCAtMCwwICsxLDEwNSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CWNsICgiQ2xldmVyIExhbmd1YWdlIiBieSBNdWx0aWJhc2UsIGh0dHA6Ly93d3cubWJhc2UuY29tLmF1KQorIiBGaWxlbmFtZSBleHRlbnNpb25zOiAqLmVudCwgKi5lbmkKKyIgTWFpbnRhaW5lcjoJUGhpbGlwIFVyZW4gPHBoaWx1QHN5c3RlbTc3LmNvbT4KKyIgTGFzdCB1cGRhdGU6CVdlZCBNYXkgIDIgMTA6MzA6MzAgRVNUIDIwMDEKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAKKwlzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC0sCitlbHNlCisJc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sLSwKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCitzeW4gc3luYyBsaW5lcz0zMDAKKworIklmL2Vsc2UvZWxzaWYvZW5kaWYgYW5kIHdoaWxlL3dlbmQgbWlzbWF0Y2ggZXJyb3JzCitzeW4gbWF0Y2ggICBjbGlmRXJyb3IJCSJcPHdlbmRcPiIKK3N5biBtYXRjaCAgIGNsaWZFcnJvcgkJIlw8ZWxzaWZcPiIKK3N5biBtYXRjaCAgIGNsaWZFcnJvcgkJIlw8ZWxzZVw+Igorc3luIG1hdGNoICAgY2xpZkVycm9yCQkiXDxlbmRpZlw+IgorCisiIElmIGFuZCB3aGlsZSByZWdpb25zCitzeW4gcmVnaW9uIGNsTG9vcAl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWNsV2hpbGUgc3RhcnQ9Ilw8d2hpbGVcPiIgbWF0Y2hncm91cD1jbFdoaWxlIGVuZD0iXDx3ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxjbEJyZWFrLGNsUHJvY2VkdXJlCitzeW4gcmVnaW9uIGNsSWYJCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9Y2xDb25kaXRpb25hbCBzdGFydD0iXDxpZlw+IiBtYXRjaGdyb3VwPWNsQ29uZGl0aW9uYWwgZW5kPSJcPGVuZGlmXD4iICAgY29udGFpbnM9QUxMQlVULGNsQnJlYWssY2xQcm9jZWR1cmUKKworIiBNYWtlIHRob3NlIFRPRE8gbm90ZXMgYW5kIGRlYnVnZ2luZyBzdGFuZCBvdXQhCitzeW4ga2V5d29yZAljbFRvZG8JCQljb250YWluZWQJVE9ETyBCVUcgREVCVUcgRklYCitzeW4ga2V5d29yZCBjbERlYnVnCQkJY29udGFpbmVkCWRlYnVnCisKK3N5biBtYXRjaAljbENvbW1lbnQJCSIjLiokIgkJY29udGFpbnM9Y2xUb2RvLGNsTmVlZHNXb3JrCitzeW4gcmVnaW9uCWNsUHJvY2VkdXJlCQlvbmVsaW5lCQlzdGFydD0iXlxzKlt7fV0iIGVuZD0iJCIKK3N5biBtYXRjaAljbEluY2x1ZGUJCQkJCSJeXHMqaW5jbHVkZVxzLioiCisKKyIgV2UgZG9uJ3QgcHV0ICJkZWJ1ZyIgaW4gdGhlIGNsU2V0T3B0aW9uczsKKyIgd2UgY29udGFpbiBpdCBpbiBjbFNldCBzbyB3ZSBjYW4gbWFrZSBpdCBzdGFuZCBvdXQuCitzeW4ga2V5d29yZCBjbFNldE9wdGlvbnMJdHJhbnNwYXJlbnQgYWF1dG8gYWJvcnQgYWxpZ24gY29udmVydCBFIGZpbGwgZm51bSBnb2JhY2sgaGFuZ3VwIGp1c3RpZnkgbnVsbF9leGl0IG91dHB1dCByYXV0byByYXdwcmludCByYXdkaXNwbGF5IHJlcGVhdCBza2lwIHRhYiB0cmltCitzeW4gbWF0Y2gJY2xTZXQJCQkiXlxzKnNldFxzLioiIGNvbnRhaW5zPWNsU2V0T3B0aW9ucyxjbERlYnVnCisKK3N5biBtYXRjaCBjbFByZVByb2MJCQkiXlxzKiNQLioiCisKK3N5biBrZXl3b3JkIGNsQ29uZGl0aW9uYWwJZWxzZSBlbHNpZgorc3luIGtleXdvcmQgY2xXaGlsZQkJCWNvbnRpbnVlIGVuZGxvb3AKKyIgJ2JyZWFrJyBuZWVkcyB0byBiZSBhIHJlZ2lvbiBzbyB3ZSBjYW4gc3luYyBvbiBpdCBhYm92ZS4KK3N5biByZWdpb24gY2xCcmVhawkJCW9uZWxpbmUgc3RhcnQ9Il5ccypicmVhayIgZW5kPSIkIgorCitzeW4gbWF0Y2ggY2xPcGVyYXRvcgkJIlshO3wpKDouPjwrKj0tXSIKKworc3luIG1hdGNoIGNsTnVtYmVyCQkJIlw8XGRcK1wodVw9bFw9XHxsdVx8ZlwpXD4iCisKK3N5biByZWdpb24gY2xTdHJpbmcJbWF0Y2hncm91cD1jbFF1b3RlCXN0YXJ0PSsiKyBlbmQ9KyIrCXNraXA9K1xcIisKK3N5biByZWdpb24gY2xTdHJpbmcgbWF0Y2hncm91cD1jbFF1b3RlCXN0YXJ0PSsnKyBlbmQ9KycrCXNraXA9K1xcJysKKworc3luIGtleXdvcmQgY2xSZXNlcnZlZAkJRVJST1IgRVhJVCBJTlRFUlJVUFQgTE9DS0VEIExSRVBMWSBNT0RFIE1DT0wgTUxJTkUgTVJFUExZIE5VTEwgUkVQTFkgVjEgVjIgVjMgVjQgVjUgVjYgVjcgVjggVjkgWkVSTyBCWVBBU1MgR09JTkdfQkFDSyBBQVVUTyBBQk9SVCBBQk9SVCBBTElHTiBCSUdFIENPTlZFUlQgRk5VTSBHT0JBQ0sgSEFOR1VQIEpVU1RJRlkgTkVYSVQgT1VUUFVUIFJBVVRPIFJBV0RJU1BMQVkgUkFXUFJJTlQgUkVQRUFUIFNLSVAgVEFCIFRSSU0gTENPVU5UIFBDT1VOVCBQTElORVMgU0xJTkVTIFNDT0xTIE1BVENIIExNQVRDSAorCitzeW4ga2V5d29yZCBjbEZ1bmN0aW9uCQlhc2MgYXNpemUgY2hyIG5hbWUgcmFuZG9tIHNsZW4gc3JhbmRvbSBkYXkgZ2V0YXJnIGdldGNnaSBnZXRlbnYgbGNhc2Ugc2NhdCBzY29udiBzZGVsIHNrZXkgc211bHQgc3JlcCBzdWJzdHIgc3dvcmQgdHJpbSB1Y2FzZSBtYXRjaAorCitzeW4ga2V5d29yZCBjbFN0YXRlbWVudAkJY2xlYXIgY2xlYXJfZW9sIGNsZWFyX2VvcyBjbG9zZSBjb3B5IGNyZWF0ZSB1bmlxdWUgd2l0aCB3aGVyZSBlbXB0eSBkZWZpbmUgZGVmaW5lIGxkZWZpbmUgZGVsYXlfZm9ybSBkZWxldGUgZXNjYXBlIGV4aXRfYmxvY2sgZXhpdF9kbyBleGl0X3Byb2Nlc3MgZmllbGQgZm9yayBmb3JtYXQgZ2V0IGdldGZpbGUgZ2V0bmV4dCBnZXRwcmV2IGdvdG8gaGVhZCBqb2luIG1haW50YWluIG1lc3NhZ2Ugbm9fam9pbiBvbl9lb3Agb25fa2V5IG9uX2V4aXQgb25fZGVsZXRlIG9wZW5pbiBvcGVub3V0IG9wZW5hcHAgcGF1c2UgcG9wZW5pbiBwb3Blbm91dCBwb3BlbmlvIHByaW50IHB1dCByYW5nZSByZWFkIHJlZGlzcGxheSByZWZyZXNoIHJlc3RhcnRfYmxvY2sgc2NyZWVuIHNlbGVjdCBzbGVlcCB0ZXh0IHVubG9jayB3cml0ZSBhbmQgbm90IG9yIGRvCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYJdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NsX3N5bnRheF9pbml0cyIpCisJaWYJdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX2NsX3N5bnRheF9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwlIaUxpbmsgY2xpZkVycm9yCQkJRXJyb3IKKwlIaUxpbmsgY2xXaGlsZQkJCQlSZXBlYXQKKwlIaUxpbmsgY2xDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKwlIaUxpbmsgY2xEZWJ1ZwkJCQlEZWJ1ZworCUhpTGluayBjbE5lZWRzV29yawkJCVRvZG8KKwlIaUxpbmsgY2xUb2RvCQkJCVRvZG8KKwlIaUxpbmsgY2xDb21tZW50CQkJQ29tbWVudAorCUhpTGluayBjbFByb2NlZHVyZQkJCVByb2NlZHVyZQorCUhpTGluayBjbEJyZWFrCQkJCVByb2NlZHVyZQorCUhpTGluayBjbEluY2x1ZGUJCQlJbmNsdWRlCisJSGlMaW5rIGNsU2V0T3B0aW9uCQkJU3RhdGVtZW50CisJSGlMaW5rIGNsU2V0CQkJCUlkZW50aWZpZXIKKwlIaUxpbmsgY2xQcmVQcm9jCQkJUHJlUHJvYworCUhpTGluayBjbE9wZXJhdG9yCQkJT3BlcmF0b3IKKwlIaUxpbmsgY2xOdW1iZXIJCQkJTnVtYmVyCisJSGlMaW5rIGNsU3RyaW5nCQkJCVN0cmluZworCUhpTGluayBjbFF1b3RlCQkJCURlbGltaXRlcgorCUhpTGluayBjbFJlc2VydmVkCQkJSWRlbnRpZmllcgorCUhpTGluayBjbEZ1bmN0aW9uCQkJRnVuY3Rpb24KKwlIaUxpbmsgY2xTdGF0ZW1lbnQJCQlTdGF0ZW1lbnQKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjbCIKKworIiB2aW06IHRzPTQgc3c9NApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2xlYW4udmltIGIvcnVudGltZS9zeW50YXgvY2xlYW4udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzM2VjYmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jbGVhbi52aW0KQEAgLTAsMCArMSw5NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQlDbGVhbgorIiBBdXRob3I6CQlQaWV0ZXIgdmFuIEVuZ2VsZW4gPHBpZXRlcmVAc2NpLmt1bi5ubD4KKyIgQ28tQXV0aG9yOglBcnRodXIgdmFuIExlZXV3ZW4gPGFydGh1cnZsQHNjaS5rdW4ubmw+CisiIExhc3QgQ2hhbmdlOglGcmkgU2VwIDI5IDExOjM1OjM0IENFU1QgMjAwMAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgU29tZSBDbGVhbi1rZXl3b3Jkcworc3luIGtleXdvcmQgY2xlYW5Db25kaXRpb25hbCBpZiBjYXNlCitzeW4ga2V5d29yZCBjbGVhbkxhYmVsIGxldCEgd2l0aCB3aGVyZSBpbiBvZgorc3luIGtleXdvcmQgY2xlYW5JbmNsdWRlIGZyb20gaW1wb3J0CitzeW4ga2V5d29yZCBjbGVhblNwZWNpYWwgU3RhcnQKK3N5biBrZXl3b3JkIGNsZWFuS2V5d29yZCBpbmZpeGwgaW5maXhyIGluZml4CitzeW4ga2V5d29yZCBjbGVhbkJhc2ljVHlwZSBJbnQgUmVhbCBDaGFyIEJvb2wgU3RyaW5nCitzeW4ga2V5d29yZCBjbGVhblNwZWNpYWxUeXBlIFdvcmxkIFByb2NJZCBWb2lkIEZpbGVzIEZpbGUKK3N5biBrZXl3b3JkIGNsZWFuTW9kdWxlU3lzdGVtIG1vZHVsZSBpbXBsZW1lbnRhdGlvbiBkZWZpbml0aW9uIHN5c3RlbQorc3luIGtleXdvcmQgY2xlYW5UeXBlQ2xhc3MgY2xhc3MgaW5zdGFuY2UgZXhwb3J0CisKKyIgVG8gZG8gc29tZSBEZW5vdGF0aW9uIEhpZ2hsaWdodGluZworc3luIGtleXdvcmQgY2xlYW5Cb29sRGVub3QgVHJ1ZSBGYWxzZQorc3luIHJlZ2lvbiAgY2xlYW5TdHJpbmdEZW5vdCBzdGFydD0rIisgZW5kPSsiKworc3luIG1hdGNoIGNsZWFuQ2hhckRlbm90ICInLiciCitzeW4gbWF0Y2ggY2xlYW5DaGFyc0Rlbm90ICInW14nXFxdKlwoXFwuW14nXFxdXCkqJyIgY29udGFpbmVkCitzeW4gbWF0Y2ggY2xlYW5JbnRlZ2VyRGVub3QgIlsrLX5dXD1cPFwoXGRcK1x8MFswLTddXCtcfDB4WzAtOUEtRmEtZl1cK1wpXD4iCitzeW4gbWF0Y2ggY2xlYW5SZWFsRGVub3QgIlsrLX5dXD1cPFxkXCtcLlxkK1woRVsrLX5dXD1cZCtcKVw9IgorCisiIFRvIGhpZ2hsaWdodCB0aGUgdXNlIG9mIGxpc3RzLCB0dXBsZXMgYW5kIGFycmF5cworc3luIHJlZ2lvbiBjbGVhbkxpc3Qgc3RhcnQ9IlxbIiBlbmQ9IlxdIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gY2xlYW5SZWNvcmQgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIGNsZWFuQXJyYXkgc3RhcnQ9Ins6IiBlbmQ9Ijp9IiBjb250YWlucz1BTEwKK3N5biBtYXRjaCBjbGVhblR1cGxlICIoW149XSosW149XSopIiBjb250YWlucz1BTEwKKworIiBUbyBkbyBzb21lIENvbW1lbnQgSGlnaGxpZ2h0aW5nCitzeW4gcmVnaW9uIGNsZWFuQ29tbWVudCBzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPWNsZWFuQ29tbWVudAorc3luIG1hdGNoIGNsZWFuQ29tbWVudCAiLy8uKiIKKworIiBOb3cgZm9yIHNvbWUgdXNlZnVsIHR5cGVkZWZpbml0aW9ucmVjb2duaXRpb24KK3N5biBtYXRjaCBjbGVhbkZ1bmNUeXBlRGVmICJcKFthLXpBLVpdLipcfChcPVstfkAjJCVePyErKjw+XC98Jj06XVwrKVw9XClbIFx0XSpcKGluZml4W2xyXVw9XClcPVsgXHRdKlxkXD1bIFx0XSo6Oi4qLT4uKiIgY29udGFpbnM9Y2xlYW5TcGVjaWFsCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NsZWFuX3N5bnRheF9pbml0IikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfY2xlYW5fc3ludGF4X2luaXQgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICAiIENvbW1lbnRzCisgICBIaUxpbmsgY2xlYW5Db21tZW50ICAgICAgQ29tbWVudAorICAgIiBDb25zdGFudHMgYW5kIGRlbm90YXRpb25zCisgICBIaUxpbmsgY2xlYW5DaGFyc0Rlbm90ICAgU3RyaW5nCisgICBIaUxpbmsgY2xlYW5TdHJpbmdEZW5vdCAgU3RyaW5nCisgICBIaUxpbmsgY2xlYW5DaGFyRGVub3QgICAgQ2hhcmFjdGVyCisgICBIaUxpbmsgY2xlYW5JbnRlZ2VyRGVub3QgTnVtYmVyCisgICBIaUxpbmsgY2xlYW5Cb29sRGVub3QgICAgQm9vbGVhbgorICAgSGlMaW5rIGNsZWFuUmVhbERlbm90ICAgIEZsb2F0CisgICAiIElkZW50aWZpZXJzCisgICAiIFN0YXRlbWVudHMKKyAgIEhpTGluayBjbGVhblR5cGVDbGFzcyAgICBLZXl3b3JkCisgICBIaUxpbmsgY2xlYW5Db25kaXRpb25hbCAgQ29uZGl0aW9uYWwKKyAgIEhpTGluayBjbGVhbkxhYmVsCQlMYWJlbAorICAgSGlMaW5rIGNsZWFuS2V5d29yZCAgICAgIEtleXdvcmQKKyAgICIgR2VuZXJpYyBQcmVwcm9jZXNzaW5nCisgICBIaUxpbmsgY2xlYW5JbmNsdWRlICAgICAgSW5jbHVkZQorICAgSGlMaW5rIGNsZWFuTW9kdWxlU3lzdGVtIFByZVByb2MKKyAgICIgVHlwZQorICAgSGlMaW5rIGNsZWFuQmFzaWNUeXBlICAgIFR5cGUKKyAgIEhpTGluayBjbGVhblNwZWNpYWxUeXBlICBUeXBlCisgICBIaUxpbmsgY2xlYW5GdW5jVHlwZURlZiAgVHlwZWRlZgorICAgIiBTcGVjaWFsCisgICBIaUxpbmsgY2xlYW5TcGVjaWFsICAgICAgU3BlY2lhbAorICAgSGlMaW5rIGNsZWFuTGlzdAkJCVNwZWNpYWwKKyAgIEhpTGluayBjbGVhbkFycmF5CQlTcGVjaWFsCisgICBIaUxpbmsgY2xlYW5SZWNvcmQJCVNwZWNpYWwKKyAgIEhpTGluayBjbGVhblR1cGxlCQlTcGVjaWFsCisgICAiIEVycm9yCisgICAiIFRvZG8KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2xlYW4iCisKKyIgdmltOiB0cz00CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jbGlwcGVyLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NsaXBwZXIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4OWIyNTcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jbGlwcGVyLnZpbQpAQCAtMCwwICsxLDE0MyBAQAorIiBWaW0gc3ludGF4IGZpbGU6CisiIExhbmd1YWdlOglDbGlwcGVyIDUuMiAmIEZsYWdTaGlwCisiIE1haW50YWluZXI6CUMgUiBaYW1hbmEgPHphbWFuYUB6aXAubmV0PgorIiBTb21lIHRoaW5ncyBiYXNlZCBvbiBjLnZpbSBieSBCcmFtIE1vb2xlbmFhciBhbmQgcGFzY2FsLnZpbSBieSBNYXJpbyBFdXNlYmlvCisiIExhc3QgQ2hhbmdlOglTYXQgU2VwIDA5IDIwMDAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEV4Y2VwdGlvbnMgZm9yIG15ICJWZXJ5IE93biIgKFRNKSB1c2VyIHZhcmlhYmxlcyBuYW1pbmcgc3R5bGUuCisiIElmIHlvdSBkb24ndCBsaWtlIHRoaXMsIGNvbW1lbnQgaXQKK3N5biBtYXRjaCAgY2xpcHBlclVzZXJWYXJpYWJsZQkiXDxbYSxiLGMsZCxsLG4sbyx1LHhdW0EtWl1bQS1aYS16MC05X10qXD4iCitzeW4gbWF0Y2ggIGNsaXBwZXJVc2VyVmFyaWFibGUJIlw8W2Etel1cPiIKKworIiBDbGlwcGVyIGlzIGNhc2UgaW5zZW5zaXRpdmUgKCBzZWUgImV4Y2VwdGlvbiIgYWJvdmUgKQorc3luIGNhc2UgaWdub3JlCisKKyIgQ2xpcHBlciBrZXl3b3JkcyAoIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgKQorc3luIGtleXdvcmQgY2xpcHBlclN0YXRlbWVudAlBQ0NFUFQgQVBQRU5EIEJMQU5LIEZST00gQVZFUkFHRSBDQUxMIENBTkNFTAorc3luIGtleXdvcmQgY2xpcHBlclN0YXRlbWVudAlDTEVBUiBBTEwgR0VUUyBNRU1PUlkgVFlQRUFIRUFEIENMT1NFCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CUNPTU1JVCBDT05USU5VRSBTSEFSRUQgTkVXIFBJQ1QKK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJQ09QWSBGSUxFIFNUUlVDVFVSRSBTVFJVIEVYVEUgVE8gQ09VTlQKK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJQ1JFQVRFIEZST00gTklMCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CURFTEVURSBGSUxFIERJUiBESVNQTEFZIEVKRUNUIEVSQVNFIEZJTkQgR08KK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJSU5ERVggSU5QVVQgVkFMSUQgV0hFTgorc3luIGtleXdvcmQgY2xpcHBlclN0YXRlbWVudAlKT0lOIEtFWUJPQVJEIExBQkVMIEZPUk0gTElTVCBMT0NBVEUgTUVOVSBUTworc3luIGtleXdvcmQgY2xpcHBlclN0YXRlbWVudAlOT1RFIFBBQ0sgUVVJVCBSRUFECitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CVJFQ0FMTCBSRUlOREVYIFJFTEVBU0UgUkVOQU1FIFJFUExBQ0UgUkVQT1JUCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CVJFVFVSTiBGT1JNIFJFU1RPUkUKK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJUlVOIFNBVkUgU0VFSyBTRUxFQ1QKK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJU0tJUCBTT1JUIFNUT1JFIFNVTSBURVhUIFRPVEFMIFRZUEUgVU5MT0NLCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CVVQREFURSBVU0UgV0FJVCBaQVAKK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJQkVHSU4gU0VRVUVOQ0UKK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJU0VUIEFMVEVSTkFURSBCRUxMIENFTlRVUlkgQ09MT1IgQ09ORklSTSBDT05TT0xFCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CUNVUlNPUiBEQVRFIERFQ0lNQUxTIERFRkFVTFQgREVMRVRFRCBERUxJTUlURVJTCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CURFVklDRSBFUE9DSCBFU0NBUEUgRVhBQ1QgRVhDTFVTSVZFIEZJTFRFUiBGSVhFRAorc3luIGtleXdvcmQgY2xpcHBlclN0YXRlbWVudAlGT1JNQVQgRlVOQ1RJT04gSU5URU5TSVRZIEtFWSBNQVJHSU4gTUVTU0FHRQorc3luIGtleXdvcmQgY2xpcHBlclN0YXRlbWVudAlPUkRFUiBQQVRIIFBSSU5URVIgUFJPQ0VEVVJFIFJFTEFUSU9OIFNDT1JFQk9BUkQKK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJU09GVFNFRUsgVFlQRUFIRUFEIFVOSVFVRSBXUkFQCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CUJPWCBDTEVBUiBHRVQgUFJPTVBUIFNBWSA/ID8/CitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CURFTEVURSBUQUcgR08gUlRMSU5LQ01EIFRNUCBEQkxPQ0tJTkZPCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CURCRVZBTElORk8gREJGSUVMRElORk8gREJGSUxURVJJTkZPIERCRlVOQ1RBQkxFCitzeW4ga2V5d29yZCBjbGlwcGVyU3RhdGVtZW50CURCT1BFTklORk8gREJPUkRFUkNPTkRJTkZPIERCT1JERVJDUkVBVEVJTkYKK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJREJPUkRFUklORk8gREJSRUxJTkZPIERCU0NPUEVJTkZPIERCU09SVElORk8KK3N5biBrZXl3b3JkIGNsaXBwZXJTdGF0ZW1lbnQJREJTT1JUSVRFTSBEQlRSQU5TSU5GTyBEQlRSQU5TSVRFTSBXT1JLQVJFQQorCisiIENvbmRpdGlvbmFscworc3luIGtleXdvcmQgY2xpcHBlckNvbmRpdGlvbmFsCUNBU0UgT1RIRVJXSVNFIEVORENBU0UKK3N5biBrZXl3b3JkIGNsaXBwZXJDb25kaXRpb25hbAlJRiBFTFNFIEVORElGIElJRiBJRkRFRiBJRk5ERUYKKworIiBMb29wcworc3luIGtleXdvcmQgY2xpcHBlclJlcGVhdAlETyBXSElMRSBFTkRETworc3luIGtleXdvcmQgY2xpcHBlclJlcGVhdAlGT1IgVE8gTkVYVCBTVEVQCisKKyIgVmlzaWJpbGl0eQorc3luIGtleXdvcmQgY2xpcHBlclN0b3JhZ2VDbGFzcwlBTk5PVU5DRSBTVEFUSUMKK3N5biBrZXl3b3JkIGNsaXBwZXJTdG9yYWdlQ2xhc3MgREVDTEFSRSBFWFRFUk5BTCBMT0NBTCBNRU1WQVIgUEFSQU1FVEVSUworc3luIGtleXdvcmQgY2xpcHBlclN0b3JhZ2VDbGFzcyBQUklWQVRFIFBST0NFRFVSRSBQVUJMSUMgUkVRVUVTVCBTVEFUSUMKK3N5biBrZXl3b3JkIGNsaXBwZXJTdG9yYWdlQ2xhc3MgRklFTEQgRlVOQ1RJT04KK3N5biBrZXl3b3JkIGNsaXBwZXJTdG9yYWdlQ2xhc3MgRVhJVCBQUk9DRURVUkUgSU5JVCBQUk9DRURVUkUKKworIiBPcGVyYXRvcnMKK3N5biBtYXRjaCAgIGNsaXBwZXJPcGVyYXRvcgkiJFx8JVx8Jlx8K1x8LVx8LT5cfCEiCitzeW4gbWF0Y2ggICBjbGlwcGVyT3BlcmF0b3IJIlwuQU5EXC5cfFwuTk9UXC5cfFwuT1JcLiIKK3N5biBtYXRjaCAgIGNsaXBwZXJPcGVyYXRvcgkiOj1cfDxcfDw9XHw8Plx8IT1cfCNcfD1cfD09XHw+XHw+PVx8QCIKK3N5biBtYXRjaCAgIGNsaXBwZXJPcGVyYXRvciAgICAgIioiCisKKyIgTnVtYmVycworc3luIG1hdGNoICAgY2xpcHBlck51bWJlcgkiXDxcZFwrXCh1XD1sXD1cfGx1XHxmXClcPiIKKworIiBJbmNsdWRlcworc3luIHJlZ2lvbiBjbGlwcGVySW5jbHVkZWQJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKK3N5biBtYXRjaCAgY2xpcHBlckluY2x1ZGVkCWNvbnRhaW5lZCAiPFtePl0qPiIKK3N5biBtYXRjaCAgY2xpcHBlckluY2x1ZGUJIl5ccyojXHMqaW5jbHVkZVw+XHMqWyI8XSIgY29udGFpbnM9Y2xpcHBlckluY2x1ZGVkCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29uc3RhbnRzCitzeW4gcmVnaW9uIGNsaXBwZXJTdHJpbmcJc3RhcnQ9KyIrIGVuZD0rIisKK3N5biByZWdpb24gY2xpcHBlclN0cmluZwlzdGFydD0rJysgZW5kPSsnKworCisiIERlbGltaXRlcnMKK3N5biBtYXRjaCAgQ2xpcHBlckRlbGltaXRlcnMJIlsoKV1cfFtcW1xdXVx8W3t9XVx8W3x8XSIKKworIiBTcGVjaWFsCitzeW4gbWF0Y2ggY2xpcHBlckxpbmVDb250aW51YXRpb24JIjsiCisKKyIgVGhpcyBpcyBmcm9tIEJyYW0gTW9vbGVuYWFyOgoraWYgZXhpc3RzKCJjX2NvbW1lbnRfc3RyaW5ncyIpCisgICIgQSBjb21tZW50IGNhbiBjb250YWluIGNTdHJpbmcsIGNDaGFyYWN0ZXIgYW5kIGNOdW1iZXIuCisgICIgQnV0IGEgIiovIiBpbnNpZGUgYSBjU3RyaW5nIGluIGEgY2xpcHBlckNvbW1lbnQgRE9FUyBlbmQgdGhlIGNvbW1lbnQhCisgICIgU28gd2UgbmVlZCB0byB1c2UgYSBzcGVjaWFsIHR5cGUgb2YgY1N0cmluZzogY2xpcHBlckNvbW1lbnRTdHJpbmcsIHdoaWNoCisgICIgYWxzbyBlbmRzIG9uICIqLyIsIGFuZCBzZWVzIGEgIioiIGF0IHRoZSBzdGFydCBvZiB0aGUgbGluZSBhcyBjb21tZW50CisgICIgYWdhaW4uIFVuZm9ydHVuYXRlbHkgdGhpcyBkb2Vzbid0IHZlcnkgd2VsbCB3b3JrIGZvciAvLyB0eXBlIG9mIGNvbW1lbnRzIDotKAorICBzeW50YXggbWF0Y2ggY2xpcHBlckNvbW1lbnRTa2lwCWNvbnRhaW5lZCAiXlxzKlwqXCgkXHxcc1wrXCkiCisgIHN5bnRheCByZWdpb24gY2xpcHBlckNvbW1lbnRTdHJpbmcJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZW5kPStcKi8rbWU9cy0xIGNvbnRhaW5zPWNsaXBwZXJDb21tZW50U2tpcAorICBzeW50YXggcmVnaW9uIGNsaXBwZXJDb21tZW50MlN0cmluZwljb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBlbmQ9IiQiCisgIHN5bnRheCByZWdpb24gY2xpcHBlckNvbW1lbnQJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1jbGlwcGVyQ29tbWVudFN0cmluZyxjbGlwcGVyQ2hhcmFjdGVyLGNsaXBwZXJOdW1iZXIsY2xpcHBlclN0cmluZworICBzeW50YXggbWF0Y2ggIGNsaXBwZXJDb21tZW50CQkiLy8uKiIgY29udGFpbnM9Y2xpcHBlckNvbW1lbnQyU3RyaW5nLGNsaXBwZXJDaGFyYWN0ZXIsY2xpcHBlck51bWJlcgorZWxzZQorICBzeW4gcmVnaW9uIGNsaXBwZXJDb21tZW50CQlzdGFydD0iL1wqIiBlbmQ9IlwqLyIKKyAgc3luIG1hdGNoIGNsaXBwZXJDb21tZW50CQkiLy8uKiIKK2VuZGlmCitzeW50YXggbWF0Y2ggY2xpcHBlckNvbW1lbnRFcnJvcgkiXCovIgorCisiIExpbmVzIGJlZ2dpbmluZyB3aXRoIGFuICIqIiBhcmUgY29tbWVudHMgdG9vCitzeW50YXggbWF0Y2ggY2xpcHBlckNvbW1lbnQJCSJeXCouKiIKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jbGlwcGVyX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2NsaXBwZXJfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgY2xpcHBlckNvbmRpdGlvbmFsCQlDb25kaXRpb25hbAorICBIaUxpbmsgY2xpcHBlclJlcGVhdAkJCVJlcGVhdAorICBIaUxpbmsgY2xpcHBlck51bWJlcgkJCU51bWJlcgorICBIaUxpbmsgY2xpcHBlckluY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIGNsaXBwZXJDb21tZW50CQlDb21tZW50CisgIEhpTGluayBjbGlwcGVyT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBjbGlwcGVyU3RvcmFnZUNsYXNzCQlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGNsaXBwZXJTdGF0ZW1lbnQJCVN0YXRlbWVudAorICBIaUxpbmsgY2xpcHBlclN0cmluZwkJCVN0cmluZworICBIaUxpbmsgY2xpcHBlckZ1bmN0aW9uCQlGdW5jdGlvbgorICBIaUxpbmsgY2xpcHBlckxpbmVDb250aW51YXRpb24JU3BlY2lhbAorICBIaUxpbmsgY2xpcHBlckRlbGltaXRlcnMJCURlbGltaXRlcgorICBIaUxpbmsgY2xpcHBlclVzZXJWYXJpYWJsZQkJSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjbGlwcGVyIgorCisiIHZpbTogdHM9NApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY29ib2wudmltIGIvcnVudGltZS9zeW50YXgvY29ib2wudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiNTlmNzIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jb2JvbC52aW0KQEAgLTAsMCArMSwxNzcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiBDT0JPTAorIiBNYWludGFpbmVyczogIERhdnlkIE9uZHJlamtvIDx2b25kcmFjb0Bjb2x1bWJ1cy5yci5jb20+CisiICAgICAoZm9ybWVybHkgU2l0YXJhbSBDaGFtYXJ0eSA8c2l0YXJhbUBkaWFjLmNvbT4gYW5kCisiCQkgICAgSmFtZXMgTWl0Y2hlbGwgPGphbWVzX21pdGNoZWxsQGFjbS5vcmc+KQorIiBMYXN0IGNoYW5nZTogIDIwMDEgU2VwIDAyCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBNT1NUIGltcG9ydGFudCAtIGVsc2UgbW9zdCBvZiB0aGUga2V5d29yZHMgd29udCB3b3JrIQoraWYgdmVyc2lvbiA8IDYwMAorICBzZXQgaXNrPUAsNDgtNTcsLQorZWxzZQorICBzZXRsb2NhbCBpc2s9QCw0OC01NywtCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworc3luIG1hdGNoIGNvYm9sS2V5cyAiXlxhXHsxLDZcfSIgY29udGFpbnM9Y29ib2xSZXNlcnZlZAorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgQUNDRVBUIEFDQ0VTUyBBREQgQUREUkVTUyBBRFZBTkNJTkcgQUZURVIgQUxQSEFCRVQgQUxQSEFCRVRJQworc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgQUxQSEFCRVRJQy1MT1dFUiBBTFBIQUJFVElDLVVQUEVSIEFMUEhBTlVNRVJJQyBBTFBIQU5VTUVSSUMtRURJVEVEIEFMUworc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgQUxURVJOQVRFIEFORCBBTlkgQVJFIEFSRUEgQVJFQVMgQVNDRU5ESU5HIEFTU0lHTiBBVCBBVVRIT1IgQkVGT1JFIEJJTkFSWQorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgQkxBTksgQkxPQ0sgQk9UVE9NIEJZIENBTkNFTCBDQkxMIENEIENGIENIIENIQVJBQ1RFUiBDSEFSQUNURVJTIENMQVNTCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBDTE9DSy1VTklUUyBDTE9TRSBDT0JPTCBDT0RFIENPREUtU0VUIENPTExBVElORyBDT0xVTU4gQ09NTUEgQ09NTU9OCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBDT01NVU5JQ0FUSU9OUyBDT01QVVRBVElPTkFMIENPTVBVVEUgQ09ORklHVVJBVElPTiBDT05URU5UIENPTlRJTlVFCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBDT05UUk9MIENPTlZFUlRJTkcgQ09SUiBDT1JSRVNQT05ESU5HIENPVU5UIENVUlJFTkNZIERBVEEgREFURSBEQVRFLUNPTVBJTEVECitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBEQVRFLVdSSVRURU4gREFZIERBWS1PRi1XRUVLIERFIERFQlVHLUNPTlRFTlRTIERFQlVHLUlURU0gREVCVUctTElORQorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgREVCVUctTkFNRSBERUJVRy1TVUItMSBERUJVRy1TVUItMiBERUJVRy1TVUItMyBERUJVR0dJTkcgREVDSU1BTC1QT0lOVAorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgREVMQVJBVElWRVMgREVMRVRFIERFTElNSVRFRCBERUxJTUlURVIgREVQRU5ESU5HIERFU0NFTkRJTkcgREVTVElOQVRJT04KK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIERFVEFJTCBESVNBQkxFIERJU1BMQVkgRElWSURFIERJVklTSU9OIERPV04gRFVQTElDQVRFUyBEWU5BTUlDIEVHSSBFTFNFIEVNSQorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgRU5BQkxFIEVORC1BREQgRU5ELUNPTVBVVEUgRU5ELURFTEVURSBFTkQtRElWSURFIEVORC1FVkFMVUFURSBFTkQtSUYKK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIEVORC1NVUxUSVBMWSBFTkQtT0YtUEFHRSBFTkQtUEVSRk9STSBFTkQtUkVBRCBFTkQtUkVDRUlWRSBFTkQtUkVUVVJOCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBFTkQtUkVXUklURSBFTkQtU0VBUkNIIEVORC1TVEFSVCBFTkQtU1RSSU5HIEVORC1TVUJUUkFDVCBFTkQtVU5TVFJJTkcKK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIEVORC1XUklURSBFTlZJUk9OTUVOVCBFUVVBTCBFUlJPUiBFU0kgRVZBTFVBVEUgRVZFUlkgRVhDRVBUSU9OIEVYSVQKK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIEVYVEVORCBFWFRFUk5BTCBGQUxTRSBGRCBGSUxFIEZJTEUtQ09OVFJPTCBGSUxMRVIgRklOQUwgRklSU1QgRk9PVElORyBGT1IgRlJPTQorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgR0VORVJBVEUgR0lWSU5HIEdMT0JBTCBHUkVBVEVSIEdST1VQIEhFQURJTkcgSElHSC1WQUxVRSBISUdILVZBTFVFUyBJLU8KK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIEktTy1DT05UUk9MIElERU5USUZJQ0FUSU9OIElOIElOREVYIElOREVYRUQgSU5ESUNBVEUgSU5JVElBTCBJTklUSUFMSVpFCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBJTklUSUFURSBJTlBVVCBJTlBVVC1PVVRQVVQgSU5TUEVDVCBJTlNUQUxMQVRJT04gSU5UTyBJUyBKVVNUCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBKVVNUSUZJRUQgS0VZIExBQkVMIExBU1QgTEVBRElORyBMRUZUIExFTkdUSCBMT0NLIE1FTU9SWQorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgTUVSR0UgTUVTU0FHRSBNT0RFIE1PRFVMRVMgTU9WRSBNVUxUSVBMRSBNVUxUSVBMWSBOQVRJVkUgTkVHQVRJVkUgTkVYVCBOTyBOT1QKK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIE5VTUJFUiBOVU1FUklDIE5VTUVSSUMtRURJVEVEIE9CSkVDVC1DT01QVVRFUiBPQ0NVUlMgT0YgT0ZGIE9NSVRURUQgT04gT1BFTgorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgT1BUSU9OQUwgT1IgT1JERVIgT1JHQU5JWkFUSU9OIE9USEVSIE9VVFBVVCBPVkVSRkxPVyBQQUNLRUQtREVDSU1BTCBQQURESU5HCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBQQUdFIFBBR0UtQ09VTlRFUiBQRVJGT1JNIFBGIFBIIFBJQyBQSUNUVVJFIFBMVVMgUE9JTlRFUiBQT1NJVElPTiBQT1NJVElWRQorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgUFJJTlRJTkcgUFJPQ0VEVVJFIFBST0NFRFVSRVMgUFJPQ0VERCBQUk9HUkFNIFBST0dSQU0tSUQgUFVSR0UgUVVFVUUgUVVPVEVTCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBSQU5ET00gUkQgUkVBRCBSRUNFSVZFIFJFQ09SRCBSRUNPUkRTIFJFREVGSU5FUyBSRUVMIFJFRkVSRU5DRSBSRUZFUkVOQ0VTCitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBSRUxBVElWRSBSRUxFQVNFIFJFTUFJTkRFUiBSRU1PVkFMIFJFUExBQ0UgUkVQTEFDSU5HIFJFUE9SVCBSRVBPUlRJTkcKK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIFJFUE9SVFMgUkVSVU4gUkVTRVJWRSBSRVNFVCBSRVRVUk4gUkVUVVJOSU5HIFJFVkVSU0VEIFJFV0lORCBSRVdSSVRFIFJGIFJICitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBSSUdIVCBST1VOREVEIFJVTiBTQU1FIFNEIFNFQVJDSCBTRUNUSU9OIFNFQ1VSSVRZIFNFR01FTlQgU0VHTUVOVC1MSU1JVEVECitzeW4ga2V5d29yZCBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCBTRUxFQ1QgU0VORCBTRU5URU5DRSBTRVBBUkFURSBTRVFVRU5DRSBTRVFVRU5USUFMIFNFVCBTSUdOIFNJWkUgU09SVAorc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgU09SVC1NRVJHRSBTT1VSQ0UgU09VUkNFLUNPTVBVVEVSIFNQRUNJQUwtTkFNRVMgU1RBTkRBUkQKK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIFNUQU5EQVJELTEgU1RBTkRBUkQtMiBTVEFSVCBTVEFUVVMgU1RPUCBTVFJJTkcgU1VCLVFVRVVFLTEgU1VCLVFVRVVFLTIKK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIFNVQi1RVUVVRS0zIFNVQlRSQUNUIFNVTSBTVVBQUkVTUyBTWU1CT0xJQyBTWU5DIFNZTkNIUk9OSVpFRCBUQUJMRSBUQUxMWUlORworc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgVEFQRSBURVJNSU5BTCBURVJNSU5BVEUgVEVTVCBURVhUIFRIQU4gVEhFTiBUSFJPVUdIIFRIUlUgVElNRSBUSU1FUyBUTyBUT1AKK3N5biBrZXl3b3JkIGNvYm9sUmVzZXJ2ZWQgY29udGFpbmVkIFRSQUlMSU5HIFRSVUUgVFlQRSBVTklUIFVOU1RSSU5HIFVOVElMIFVQIFVQT04gVVNBR0UgVVNFIFVTSU5HIFZBTFVFIFZBTFVFUworc3luIGtleXdvcmQgY29ib2xSZXNlcnZlZCBjb250YWluZWQgVkFSWUlORyBXSEVOIFdJVEggV09SRFMgV09SS0lORy1TVE9SQUdFIFdSSVRFCitzeW4gbWF0Y2ggICBjb2JvbFJlc2VydmVkIGNvbnRhaW5lZCAiXDxDT05UQUlOU1w+Igorc3luIG1hdGNoICAgY29ib2xSZXNlcnZlZCBjb250YWluZWQgIlw8XChJRlx8SU5WQUxJRFx8RU5EXHxFT1BcKVw+Igorc3luIG1hdGNoICAgY29ib2xSZXNlcnZlZCBjb250YWluZWQgIlw8QUxMXD4iCisKK3N5biBrZXl3b3JkIGNvYm9sQ29uc3RhbnQgU1BBQ0UgU1BBQ0VTIE5VTEwgWkVSTyBaRVJPRVMgWkVST1MgTE9XLVZBTFVFIExPVy1WQUxVRVMKKworc3luIG1hdGNoICAgY29ib2xNYXJrZXIgICAgICAgIl4uXHs2XH0iCitzeW4gbWF0Y2ggICBjb2JvbEJhZExpbmUgICAgICAiXi5cezZcfVteIERcLSokL10uKiJocz1zKzYKKworIiBJZiBjb21tZW50IG1hcmsgc29tZWhvdyBnZXRzIGludG8gY29sdW1uIHBhc3QgQ29sdW1uIDcuCitzeW4gbWF0Y2ggICBjb2JvbEJhZExpbmUgICAgICAiXi5cezZcfVxzXCtcKi4qIgorCitzeW4gbWF0Y2ggICBjb2JvbE51bWJlciAgICAgICAiXDwtXD1cZCpcLlw9XGRcK1w+IiBjb250YWlucz1jb2JvbE1hcmtlcixjb2JvbENvbW1lbnQKK3N5biBtYXRjaCAgIGNvYm9sUGljCQkiXDxTKjlcK1w+IiBjb250YWlucz1jb2JvbE1hcmtlcixjb2JvbENvbW1lbnQKK3N5biBtYXRjaCAgIGNvYm9sUGljCQkiXDwkKlwuXD05XCtcPiIgY29udGFpbnM9Y29ib2xNYXJrZXIsY29ib2xDb21tZW50CitzeW4gbWF0Y2ggICBjb2JvbFBpYwkJIlw8WipcLlw9OVwrXD4iIGNvbnRhaW5zPWNvYm9sTWFya2VyLGNvYm9sQ29tbWVudAorc3luIG1hdGNoICAgY29ib2xQaWMJCSJcPFY5XCtcPiIgY29udGFpbnM9Y29ib2xNYXJrZXIsY29ib2xDb21tZW50CitzeW4gbWF0Y2ggICBjb2JvbFBpYwkJIlw8OVwrVlw+IiBjb250YWlucz1jb2JvbE1hcmtlcixjb2JvbENvbW1lbnQKK3N5biBtYXRjaCAgIGNvYm9sUGljCQkiXDwtXCtbWjldXCtcPiIgY29udGFpbnM9Y29ib2xNYXJrZXIsY29ib2xDb21tZW50CitzeW4gbWF0Y2ggICBjb2JvbFRvZG8JCSJ0b2RvIiBjb250YWluZWQKK3N5biBtYXRjaCAgIGNvYm9sQ29tbWVudCAgICAgICJeLlx7Nlx9XCouKiJocz1zKzYgY29udGFpbnM9Y29ib2xUb2RvLGNvYm9sTWFya2VyCitzeW4gbWF0Y2ggICBjb2JvbENvbW1lbnQgICAgICAiXi5cezZcfS8uKiJocz1zKzYgY29udGFpbnM9Y29ib2xUb2RvLGNvYm9sTWFya2VyCitzeW4gbWF0Y2ggICBjb2JvbENvbW1lbnQgICAgICAiXi5cezZcfUMuKiJocz1zKzYgY29udGFpbnM9Y29ib2xUb2RvLGNvYm9sTWFya2VyCitzeW4gbWF0Y2ggICBjb2JvbENvbXBpbGVyICAgICAiXi5cezZcfSQuKiJocz1zKzYKKworIiBGb3IgTWljcm9Gb2N1cyBvciBvdGhlciBpbmxpbmUgY29tbWVudHMsIGluY2x1ZGUgdGhpcyBsaW5lLgorIiBzeW4gcmVnaW9uICBjb2JvbENvbW1lbnQgICAgICBzdGFydD0iKj4iIGVuZD0iJCIgY29udGFpbnM9Y29ib2xUb2RvLGNvYm9sTWFya2VyCisKK3N5biBrZXl3b3JkIGNvYm9sR29UbwkJR08gR09UTworc3luIGtleXdvcmQgY29ib2xDb3B5CQlDT1BZCisKKyIgY29ib2xCQUQ6IHRoaW5ncyB0aGF0IGFyZSBCQUQgTkVXUyEKK3N5biBrZXl3b3JkIGNvYm9sQkFECQlBTFRFUiBFTlRFUiBSRU5BTUVTCisKKyIgY29ib2xXYXRjaDogdGhpbmdzIHRoYXQgYXJlIGltcG9ydGFudCB3aGVuIHRyeWluZyB0byB1bmRlcnN0YW5kIGEgcHJvZ3JhbQorc3luIGtleXdvcmQgY29ib2xXYXRjaAkJT0NDVVJTIERFUEVORElORyBWQVJZSU5HIEJJTkFSWSBDT01QIFJFREVGSU5FUworc3luIGtleXdvcmQgY29ib2xXYXRjaAkJUkVQTEFDSU5HIFJVTgorc3luIG1hdGNoICAgY29ib2xXYXRjaAkJIkNPTVAtWzEyMzQ1NlhOXSIKKworc3luIGtleXdvcmQgY29ib2xFWEVDcwkJRVhFQyBFTkQtRVhFQworCisKK3N5biBtYXRjaCAgIGNvYm9sRGVjbAkJIl4uXHs2fSBcezEsNH1cKDBcPTFcfDc3XHw3OFwpICJocz1zKzcsaGU9ZS0xIGNvbnRhaW5zPWNvYm9sTWFya2VyCitzeW4gbWF0Y2ggICBjb2JvbERlY2wJCSJeLlx7Nn0gXCtbMS00XVxkICJocz1zKzcsaGU9ZS0xIGNvbnRhaW5zPWNvYm9sTWFya2VyCitzeW4gbWF0Y2ggICBjb2JvbERlY2wJCSJeLlx7Nn0gXCswXD1bMi05XSAiaHM9cys3LGhlPWUtMSBjb250YWlucz1jb2JvbE1hcmtlcgorc3luIG1hdGNoICAgY29ib2xEZWNsCQkiXi5cezZ9IFwrNjYgImhzPXMrNyxoZT1lLTEgY29udGFpbnM9Y29ib2xNYXJrZXIKKworc3luIG1hdGNoICAgY29ib2xXYXRjaAkJIl4uXHs2fSBcKzg4ICJocz1zKzcsaGU9ZS0xIGNvbnRhaW5zPWNvYm9sTWFya2VyCisKK3N5biBtYXRjaCAgIGNvYm9sQmFkSUQJCSJca1wrLVwoJFx8W14tQS1aMC05XVwpIgorCitzeW4ga2V5d29yZCBjb2JvbENBTExzCQlDQUxMIENBTkNFTCBHT0JBQ0sgUEVSRk9STSBJTlZPS0UKK3N5biBtYXRjaCAgIGNvYm9sQ0FMTHMJCSJFWElUIFwrUFJPR1JBTSIKK3N5biBtYXRjaCAgIGNvYm9sRXh0cmFzICAgICAgIC9cPFZBTFVFIFwrXGRcK1wuL2hzPXMrNixoZT1lLTEKKworc3luIG1hdGNoICAgY29ib2xTdHJpbmcgICAgICAgLyJbXiJdKlwoIlx8JFwpLworc3luIG1hdGNoICAgY29ib2xTdHJpbmcgICAgICAgLydbXiddKlwoJ1x8JFwpLworCitzeW4gcmVnaW9uICBjb2JvbExpbmUgICAgICAgc3RhcnQ9Il4uXHs2fSAiIGVuZD0iJCIgY29udGFpbnM9QUxMCisKK2lmIGV4aXN0cygiY29ib2xfbGVnYWN5X2NvZGUiKQorc3luIHJlZ2lvbiAgY29ib2xDb25kRmxvdyAgICAgY29udGFpbnM9QUxMQlVULGNvYm9sTGluZSBzdGFydD0iXDxcKElGXHxJTlZBTElEXHxFTkRcfEVPUFwpXD4iIHNraXA9L1woJ1x8IlwpW14iXVx7LX1cKCJcfCdcfCRcKS8gZW5kPSJcLiIga2VlcGVuZAorZW5kaWYKKworaWYgISBleGlzdHMoImNvYm9sX2xlZ2FjeV9jb2RlIikKKyAgICAiIGNhdGNoIGp1bmsgaW4gY29sdW1ucyAxLTYgZm9yIG1vZGVybiBjb2RlCisgICAgc3luIG1hdGNoIGNvYm9sQkFEICAgICAgIl4gXHswLDVcfVteIF0uKiIKK2VuZGlmCisKKyIgbWFueSBsZWdhY3kgc291cmNlcyBoYXZlIGp1bmsgaW4gY29sdW1ucyAxLTY6IG11c3QgYmUgYmVmb3JlIG90aGVycworIiBTdHVmZiBhZnRlciBjb2x1bW4gNzIgaXMgaW4gZXJyb3IgLSBtdXN0IGJlIGFmdGVyIGFsbCBvdGhlciAibWF0Y2giIGVudHJpZXMKK2lmIGV4aXN0cygiY29ib2xfbGVnYWN5X2NvZGUiKQorICAgIHN5biBtYXRjaCAgIGNvYm9sQmFkTGluZSAgICAgICJeLlx7Nn1bXiovXS5cezY2LFx9IgorZWxzZQorICAgIHN5biBtYXRjaCAgIGNvYm9sQmFkTGluZSAgICAgICJeLlx7Nn0uXHs2NyxcfSIKK2VuZGlmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NvYm9sX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2NvYm9sX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGNvYm9sQkFEICAgICAgRXJyb3IKKyAgSGlMaW5rIGNvYm9sQmFkSUQgICAgRXJyb3IKKyAgSGlMaW5rIGNvYm9sQmFkTGluZSAgRXJyb3IKKyAgSGlMaW5rIGNvYm9sTWFya2VyICAgQ29tbWVudAorICBIaUxpbmsgY29ib2xDQUxMcyAgICBGdW5jdGlvbgorICBIaUxpbmsgY29ib2xDb21tZW50ICBDb21tZW50CisgIEhpTGluayBjb2JvbEtleXMgICAgIENvbW1lbnQKKyAgSGlMaW5rIGNvYm9sQXJlYUIgICAgU3BlY2lhbAorICBIaUxpbmsgY29ib2xDb21waWxlciBQcmVQcm9jCisgIEhpTGluayBjb2JvbENvbmRGbG93IFNwZWNpYWwKKyAgSGlMaW5rIGNvYm9sQ29weSAgICAgUHJlUHJvYworICBIaUxpbmsgY29ib2xEZWNsICAgICBUeXBlCisgIEhpTGluayBjb2JvbEV4dHJhcyAgIFNwZWNpYWwKKyAgSGlMaW5rIGNvYm9sR29UbyAgICAgU3BlY2lhbAorICBIaUxpbmsgY29ib2xDb25zdGFudCBDb25zdGFudAorICBIaUxpbmsgY29ib2xOdW1iZXIgICBDb25zdGFudAorICBIaUxpbmsgY29ib2xQaWMgICAgICBDb25zdGFudAorICBIaUxpbmsgY29ib2xSZXNlcnZlZCBTdGF0ZW1lbnQKKyAgSGlMaW5rIGNvYm9sU3RyaW5nICAgQ29uc3RhbnQKKyAgSGlMaW5rIGNvYm9sVG9kbyAgICAgVG9kbworICBIaUxpbmsgY29ib2xXYXRjaCAgICBTcGVjaWFsCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImNvYm9sIgorCisiIHZpbTogdHM9NiBub3dyYXAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NvbG9ydGVzdC52aW0gYi9ydW50aW1lL3N5bnRheC9jb2xvcnRlc3QudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwOGIyMWYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jb2xvcnRlc3QudmltCkBAIC0wLDAgKzEsNjUgQEAKKyIgVmltIHNjcmlwdCBmb3IgdGVzdGluZyBjb2xvcnMKKyIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKyIgQ29udHJpYnV0b3JzOglSYWZhZWwgR2FyY2lhLVN1YXJleiwgQ2hhcmxlcyBDYW1wYmVsbAorIiBMYXN0IENoYW5nZToJMjAwMSBKdWwgMjgKKworIiBlZGl0IHRoaXMgZmlsZSwgdGhlbiBkbyAiOnNvdXJjZSAlIiwgYW5kIGNoZWNrIGlmIHRoZSBjb2xvcnMgbWF0Y2gKKworIiBibGFjawkJYmxhY2tfb25fd2hpdGUJCQkJd2hpdGVfb25fYmxhY2sKKyIJCQkJYmxhY2tfb25fYmxhY2sJCWJsYWNrX29uX2JsYWNrCisiIGRhcmtyZWQJZGFya3JlZF9vbl93aGl0ZQkJCXdoaXRlX29uX2RhcmtyZWQKKyIJCQkJZGFya3JlZF9vbl9ibGFjawlibGFja19vbl9kYXJrcmVkCisiIGRhcmtncmVlbglkYXJrZ3JlZW5fb25fd2hpdGUJCQl3aGl0ZV9vbl9kYXJrZ3JlZW4KKyIJCQkJZGFya2dyZWVuX29uX2JsYWNrCWJsYWNrX29uX2RhcmtncmVlbgorIiBicm93bgkJYnJvd25fb25fd2hpdGUJCQkJd2hpdGVfb25fYnJvd24KKyIJCQkJYnJvd25fb25fYmxhY2sJCWJsYWNrX29uX2Jyb3duCisiIGRhcmtibHVlCWRhcmtibHVlX29uX3doaXRlCQkJd2hpdGVfb25fZGFya2JsdWUKKyIJCQkJZGFya2JsdWVfb25fYmxhY2sJYmxhY2tfb25fZGFya2JsdWUKKyIgZGFya21hZ2VudGEJZGFya21hZ2VudGFfb25fd2hpdGUJCQl3aGl0ZV9vbl9kYXJrbWFnZW50YQorIgkJCQlkYXJrbWFnZW50YV9vbl9ibGFjawlibGFja19vbl9kYXJrbWFnZW50YQorIiBkYXJrY3lhbglkYXJrY3lhbl9vbl93aGl0ZQkJCXdoaXRlX29uX2RhcmtjeWFuCisiCQkJCWRhcmtjeWFuX29uX2JsYWNrCWJsYWNrX29uX2RhcmtjeWFuCisiIGxpZ2h0Z3JheQlsaWdodGdyYXlfb25fd2hpdGUJCQl3aGl0ZV9vbl9saWdodGdyYXkKKyIJCQkJbGlnaHRncmF5X29uX2JsYWNrCWJsYWNrX29uX2xpZ2h0Z3JheQorIiBkYXJrZ3JheQlkYXJrZ3JheV9vbl93aGl0ZQkJCXdoaXRlX29uX2RhcmtncmF5CisiCQkJCWRhcmtncmF5X29uX2JsYWNrCWJsYWNrX29uX2RhcmtncmF5CisiIHJlZAkJcmVkX29uX3doaXRlCQkJCXdoaXRlX29uX3JlZAorIgkJCQlyZWRfb25fYmxhY2sJCWJsYWNrX29uX3JlZAorIiBncmVlbgkJZ3JlZW5fb25fd2hpdGUJCQkJd2hpdGVfb25fZ3JlZW4KKyIJCQkJZ3JlZW5fb25fYmxhY2sJCWJsYWNrX29uX2dyZWVuCisiIHllbGxvdwl5ZWxsb3dfb25fd2hpdGUJCQkJd2hpdGVfb25feWVsbG93CisiCQkJCXllbGxvd19vbl9ibGFjawkJYmxhY2tfb25feWVsbG93CisiIGJsdWUJCWJsdWVfb25fd2hpdGUJCQkJd2hpdGVfb25fYmx1ZQorIgkJCQlibHVlX29uX2JsYWNrCQlibGFja19vbl9ibHVlCisiIG1hZ2VudGEJbWFnZW50YV9vbl93aGl0ZQkJCXdoaXRlX29uX21hZ2VudGEKKyIJCQkJbWFnZW50YV9vbl9ibGFjawlibGFja19vbl9tYWdlbnRhCisiIGN5YW4JCWN5YW5fb25fd2hpdGUJCQkJd2hpdGVfb25fY3lhbgorIgkJCQljeWFuX29uX2JsYWNrCQlibGFja19vbl9jeWFuCisiIHdoaXRlCQl3aGl0ZV9vbl93aGl0ZQkJCQl3aGl0ZV9vbl93aGl0ZQorIgkJCQl3aGl0ZV9vbl9ibGFjawkJYmxhY2tfb25fd2hpdGUKKyIgZ3JleQkJZ3JleV9vbl93aGl0ZQkJCQl3aGl0ZV9vbl9ncmV5CisiCQkJCWdyZXlfb25fYmxhY2sJCWJsYWNrX29uX2dyZXkKKyIgbGlnaHRyZWQJbGlnaHRyZWRfb25fd2hpdGUJCQl3aGl0ZV9vbl9saWdodHJlZAorIgkJCQlsaWdodHJlZF9vbl9ibGFjawlibGFja19vbl9saWdodHJlZAorIiBsaWdodGdyZWVuCWxpZ2h0Z3JlZW5fb25fd2hpdGUJCQl3aGl0ZV9vbl9saWdodGdyZWVuCisiCQkJCWxpZ2h0Z3JlZW5fb25fYmxhY2sJYmxhY2tfb25fbGlnaHRncmVlbgorIiBsaWdodHllbGxvdwlsaWdodHllbGxvd19vbl93aGl0ZQkJCXdoaXRlX29uX2xpZ2h0eWVsbG93CisiCQkJCWxpZ2h0eWVsbG93X29uX2JsYWNrCWJsYWNrX29uX2xpZ2h0eWVsbG93CisiIGxpZ2h0Ymx1ZQlsaWdodGJsdWVfb25fd2hpdGUJCQl3aGl0ZV9vbl9saWdodGJsdWUKKyIJCQkJbGlnaHRibHVlX29uX2JsYWNrCWJsYWNrX29uX2xpZ2h0Ymx1ZQorIiBsaWdodG1hZ2VudGEJbGlnaHRtYWdlbnRhX29uX3doaXRlCQkJd2hpdGVfb25fbGlnaHRtYWdlbnRhCisiCQkJCWxpZ2h0bWFnZW50YV9vbl9ibGFjawlibGFja19vbl9saWdodG1hZ2VudGEKKyIgbGlnaHRjeWFuCWxpZ2h0Y3lhbl9vbl93aGl0ZQkJCXdoaXRlX29uX2xpZ2h0Y3lhbgorIgkJCQlsaWdodGN5YW5fb25fYmxhY2sJYmxhY2tfb25fbGlnaHRjeWFuCisKK3N5biBjbGVhcgorOAord2hpbGUgc2VhcmNoKCJfb25fIiwgIlciKSA8IDU1CisgIGxldCBjb2wxID0gc3Vic3RpdHV0ZShleHBhbmQoIjxjd29yZD4iKSwgJ1woXGFcK1wpX29uX1xhXCsnLCAnXDEnLCAiIikKKyAgbGV0IGNvbDIgPSBzdWJzdGl0dXRlKGV4cGFuZCgiPGN3b3JkPiIpLCAnXGFcK19vbl9cKFxhXCtcKScsICdcMScsICIiKQorICBleGVjICdoaSBjb2xfJy5jb2wxLidfJy5jb2wyLicgY3Rlcm1mZz0nLmNvbDEuJyBndWlmZz0nLmNvbDEuJyBjdGVybWJnPScuY29sMi4nIGd1aWJnPScuY29sMgorICBleGVjICdzeW4ga2V5d29yZCBjb2xfJy5jb2wxLidfJy5jb2wyLicgJy5jb2wxLidfb25fJy5jb2wyCitlbmR3aGlsZQorOCw1NWcvXiIgXGEvZXhlYyAnaGkgY29sXycuZXhwYW5kKCI8Y3dvcmQ+IikuJyBjdGVybWZnPScuZXhwYW5kKCI8Y3dvcmQ+IikuJyBndWlmZz0nLmV4cGFuZCgiPGN3b3JkPiIpfAorCVwgZXhlYyAnc3luIGtleXdvcmQgY29sXycuZXhwYW5kKCI8Y3dvcmQ+IikuIiAiLmV4cGFuZCgiPGN3b3JkPiIpCitub2hsc2VhcmNoCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jb25mLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NvbmYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwOGRlNGYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jb25mLnZpbQpAQCAtMCwwICsxLDQxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJZ2VuZXJpYyBjb25maWd1cmUgZmlsZQorIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgorIiBMYXN0IENoYW5nZToJMjAwMSBBcHIgMjUKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4ga2V5d29yZAljb25mVG9kbwljb250YWluZWQgVE9ETyBGSVhNRSBYWFgKKyIgQXZvaWQgbWF0Y2hpbmcgInRleHQjdGV4dCIsIHVzZWQgaW4gL2V0Yy9kaXNrdGFiIGFuZCAvZXRjL2dldHR5dGFiCitzeW4gbWF0Y2gJY29uZkNvbW1lbnQJIl4jLioiIGNvbnRhaW5zPWNvbmZUb2RvCitzeW4gbWF0Y2gJY29uZkNvbW1lbnQJIlxzIy4qIm1zPXMrMSBjb250YWlucz1jb25mVG9kbworc3luIHJlZ2lvbgljb25mU3RyaW5nCXN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgb25lbGluZQorc3luIHJlZ2lvbgljb25mU3RyaW5nCXN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysgb25lbGluZQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jb25mX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2NvbmZfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgY29uZkNvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgY29uZlRvZG8JVG9kbworICBIaUxpbmsgY29uZlN0cmluZwlTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY29uZiIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY29uZmlnLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NvbmZpZy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAyNzk5ZAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2NvbmZpZy52aW0KQEAgLTAsMCArMSw1NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQljb25maWd1cmUuaW4gc2NyaXB0OiBNNCB3aXRoIHNoCisiIE1haW50YWluZXI6CUNocmlzdGlhbiBIYW1tZXNyIDxjaEBsYXRoc3BlbGwud2VzdGVuZC5jb20+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIFdlbGwsIEkgYWN0dWFsbHkgZXZlbiBkbyBub3Qga25vdyBtdWNoIGFib3V0IG00LiBUaGlzIGV4cGxhaW5zIHdoeSB0aGVyZQorIiBpcyBwcm9iYWJseSB2ZXJ5IG11Y2ggbWlzc2luZyBoZXJlLCB5ZXQgIQorIiBCdXQgSSBtaXNzZWQgYSBnb29kIGhpbGlnaHRpbmcgd2hlbiBlZGl0aW5nIG15IEdOVSBhdXRvY29uZi9hdXRvbWFrZQorIiBzY3JpcHQsIHNvIEkgd3JvdGUgdGhpcyBxdWljayBhbmQgZGlydHkgcGF0Y2guCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGRlZmluZSB0aGUgY29uZmlnIHN5bnRheAorc3luIG1hdGNoICAgY29uZmlnZGVsaW1pdGVyICJbKClcW1xdOyxdIgorc3luIG1hdGNoICAgY29uZmlnb3BlcmF0b3IgICJbPXwmXCpcK1w8XD5dIgorc3luIG1hdGNoICAgY29uZmlnY29tbWVudCAgICJcKGRubC4qXClcfFwoIy4qXCkiCitzeW4gbWF0Y2ggICBjb25maWdmdW5jdGlvbiAgIlw8W0EtWl9dW0EtWjAtOV9dKlw+Igorc3luIG1hdGNoICAgY29uZmlnbnVtYmVyICAgICJbLStdXD1cPFxkXCtcKFwuXGQqXClcPVw+Igorc3luIGtleXdvcmQgY29uZmlna2V5d29yZCAgIGlmIHRoZW4gZWxzZSBmaSB0ZXN0IGZvciBpbiBkbyBkb25lCitzeW4ga2V5d29yZCBjb25maWdzcGVjaWFsICAgY2F0IHJtIGV2YWwKK3N5biByZWdpb24gIGNvbmZpZ3N0cmluZyAgICBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCitzeW4gcmVnaW9uICBjb25maWdzdHJpbmcgICAgc3RhcnQ9K2ArIHNraXA9K1xcJysgZW5kPSsnKworc3luIHJlZ2lvbiAgY29uZmlnc3RyaW5nICAgIHN0YXJ0PStgKyBza2lwPStcXCcrIGVuZD0rYCsKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY29uZmlnX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2NvbmZpZ19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBjb25maWdkZWxpbWl0ZXIgRGVsaW1pdGVyCisgIEhpTGluayBjb25maWdvcGVyYXRvciAgT3BlcmF0b3IKKyAgSGlMaW5rIGNvbmZpZ2NvbW1lbnQgICBDb21tZW50CisgIEhpTGluayBjb25maWdmdW5jdGlvbiAgRnVuY3Rpb24KKyAgSGlMaW5rIGNvbmZpZ251bWJlciAgICBOdW1iZXIKKyAgSGlMaW5rIGNvbmZpZ2tleXdvcmQgICBLZXl3b3JkCisgIEhpTGluayBjb25maWdzcGVjaWFsICAgU3BlY2lhbAorICBIaUxpbmsgY29uZmlnc3RyaW5nICAgIFN0cmluZworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjb25maWciCisKKyIgdmltOiB0cz00CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jcHAudmltIGIvcnVudGltZS9zeW50YXgvY3BwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWI4OWVlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY3BwLnZpbQpAQCAtMCwwICsxLDYyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQysrCisiIE1haW50YWluZXI6CUtlbiBTaGFuIDxjY3NoYW5AcG9zdC5oYXJ2YXJkLmVkdT4KKyIgTGFzdCBDaGFuZ2U6CTIwMDIgSnVsIDE1CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBSZWFkIHRoZSBDIHN5bnRheCB0byBzdGFydCB3aXRoCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvIDxzZmlsZT46cDpoL2MudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9jLnZpbQorICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CitlbmRpZgorCisiIEMrKyBleHRlbnRpb25zCitzeW4ga2V5d29yZCBjcHBTdGF0ZW1lbnQJbmV3IGRlbGV0ZSB0aGlzIGZyaWVuZCB1c2luZworc3luIGtleXdvcmQgY3BwQWNjZXNzCQlwdWJsaWMgcHJvdGVjdGVkIHByaXZhdGUKK3N5biBrZXl3b3JkIGNwcFR5cGUJCWlubGluZSB2aXJ0dWFsIGV4cGxpY2l0IGV4cG9ydCBib29sIHdjaGFyX3QKK3N5biBrZXl3b3JkIGNwcEV4Y2VwdGlvbnMJdGhyb3cgdHJ5IGNhdGNoCitzeW4ga2V5d29yZCBjcHBPcGVyYXRvcgkJb3BlcmF0b3IgdHlwZWlkCitzeW4ga2V5d29yZCBjcHBPcGVyYXRvcgkJYW5kIGJpdG9yIG9yIHhvciBjb21wbCBiaXRhbmQgYW5kX2VxIG9yX2VxIHhvcl9lcSBub3Qgbm90X2VxCitzeW4gbWF0Y2ggY3BwQ2FzdAkJIlw8XChjb25zdFx8c3RhdGljXHxkeW5hbWljXHxyZWludGVycHJldFwpX2Nhc3Rccyo8Im1lPWUtMQorc3luIG1hdGNoIGNwcENhc3QJCSJcPFwoY29uc3RcfHN0YXRpY1x8ZHluYW1pY1x8cmVpbnRlcnByZXRcKV9jYXN0XHMqJCIKK3N5biBrZXl3b3JkIGNwcFN0b3JhZ2VDbGFzcwltdXRhYmxlCitzeW4ga2V5d29yZCBjcHBTdHJ1Y3R1cmUJY2xhc3MgdHlwZW5hbWUgdGVtcGxhdGUgbmFtZXNwYWNlCitzeW4ga2V5d29yZCBjcHBOdW1iZXIJCU5QT1MKK3N5biBrZXl3b3JkIGNwcEJvb2xlYW4JCXRydWUgZmFsc2UKKworIiBUaGUgbWluaW11bSBhbmQgbWF4aW11bSBvcGVyYXRvcnMgaW4gR05VIEMrKworc3luIG1hdGNoIGNwcE1pbk1heCAiWzw+XT8iCisKKyIgRGVmYXVsdCBoaWdobGlnaHRpbmcKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jcHBfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfY3BwX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisgIEhpTGluayBjcHBBY2Nlc3MJCWNwcFN0YXRlbWVudAorICBIaUxpbmsgY3BwQ2FzdAkJY3BwU3RhdGVtZW50CisgIEhpTGluayBjcHBFeGNlcHRpb25zCQlFeGNlcHRpb24KKyAgSGlMaW5rIGNwcE9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgY3BwU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGNwcFR5cGUJCVR5cGUKKyAgSGlMaW5rIGNwcFN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGNwcFN0cnVjdHVyZQkJU3RydWN0dXJlCisgIEhpTGluayBjcHBOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgY3BwQm9vbGVhbgkJQm9vbGVhbgorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY3BwIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3JtLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NybS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGExZTNiYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2NybS52aW0KQEAgLTAsMCArMSw2MSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSAgICBDUk0xMTQKKyIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+CisiIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvY3JtLworIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCisiIGFyY2gtdGFnOgkgICAgYTNkM2VhYWYtNDcwMC00NGZmLWIzMzItZjZjNDJjMDM2ODgzCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFRvZG8KK3N5biBrZXl3b3JkIGNybVRvZG8JICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCisKKyIgQ29tbWVudHMKK3N5biByZWdpb24gIGNybUNvbW1lbnQJICAgIG1hdGNoZ3JvdXA9Y3JtQ29tbWVudCBzdGFydD0nIycgZW5kPSckJyBlbmQ9J1xcIycgY29udGFpbnM9Y3JtVG9kbworCisiIFZhcmlhYmxlcworc3luIG1hdGNoICAgY3JtVmFyaWFibGUgICAgJzpbKiNAXTpbXjpdXHstMSx9OicKKworIiBTcGVjaWFsIENoYXJhY3RlcnMKK3N5biBtYXRjaCAgIGNybVNwZWNpYWwJICAgICdcXFwlKHhceFx4XHxvXG9cb1xvXHxbXW5ydGFidmYwPil9Oy9cXF1cKScKKworIiBTdGF0ZW1lbnRzCitzeW4ga2V5d29yZCBjcm1TdGF0ZW1lbnQgICAgaW5zZXJ0IG5vb3AgYWNjZXB0IGFsaXVzIGFsdGVyIGNsYXNzaWZ5IGV2YWwgZXhpdAorc3luIGtleXdvcmQgY3JtU3RhdGVtZW50ICAgIGZhaWwgZmF1bHQgZ290byBoYXNoIGludGVyc2VjdCBpc29sYXRlIGlucHV0IGxlYXJuCitzeW4ga2V5d29yZCBjcm1TdGF0ZW1lbnQgICAgbGlhZiBtYXRjaCBvdXRwdXQgc3lzY2FsbCB0cmFwIHVuaW9uIHdpbmRvdworCisiIFJlZ2V4ZXMKK3N5biByZWdpb24gICBjcm1SZWdleAkgICAgbWF0Y2hncm91cD1jcm1SZWdleCBzdGFydD0nLycgc2tpcD0nXFwvJyBlbmQ9Jy8nIGNvbnRhaW5zPWNybVZhcmlhYmxlCisKKyIgTGFiZWxzCitzeW4gbWF0Y2ggICBjcm1MYWJlbAkgICAgJ15ccyo6W1s6Z3JhcGg6XV1cKzonCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NybV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jcm1fc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgY3JtVG9kbwlUb2RvCisgIEhpTGluayBjcm1Db21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGNybVZhcmlhYmxlCUlkZW50aWZpZXIKKyAgSGlMaW5rIGNybVNwZWNpYWwJU3BlY2lhbENoYXIKKyAgSGlMaW5rIGNybVN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIGNybVJlZ2V4CVN0cmluZworICBIaUxpbmsgY3JtTGFiZWwJTGFiZWwKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY3JtIgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jcm9udGFiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2Nyb250YWIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YjhlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jcm9udGFiLnZpbQpAQCAtMCwwICsxLDY5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJY3JvbnRhYiAyLjMuMworIiBNYWludGFpbmVyOglKb2huIEhvZWx6ZWwgam9obmg1MUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQKKyIgTGFzdCBjaGFuZ2U6CU1vbiBKdW4gIDkgMjAwMworIiBGaWxlbmFtZXM6ICAgIC90bXAvY3JvbnRhYi4qIHVzZWQgYnkgImNyb250YWIgLWUiCisiIFVSTDoJCWh0dHA6Ly9qb2huaDUxLmdldC50by92aW0vc3ludGF4L2Nyb250YWIudmltCisiCisiIGNyb250YWIgbGluZSBmb3JtYXQ6CisiIE1pbnV0ZXMgICBIb3VycyAgIERheXMgICBNb250aHMgICBEYXlzX29mX1dlZWsgICBDb21tYW5kcyAjIGNvbW1lbnRzCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3ludGF4IG1hdGNoICBjcm9udGFiTWluICAgICAiXF9eWzAtOVwtXC9cLFwuXVx7fVw+XHxcKiIgIG5leHRncm91cD1jcm9udGFiSHIgICBza2lwd2hpdGUKK3N5bnRheCBtYXRjaCAgY3JvbnRhYkhyICAgICAgICJcPFswLTlcLVwvXCxcLl1ce31cPlx8XCoiICBuZXh0Z3JvdXA9Y3JvbnRhYkRheSAgc2tpcHdoaXRlIGNvbnRhaW5lZAorc3ludGF4IG1hdGNoICBjcm9udGFiRGF5ICAgICAgIlw8WzAtOVwtXC9cLFwuXVx7fVw+XHxcKiIgIG5leHRncm91cD1jcm9udGFiTW50aCBza2lwd2hpdGUgY29udGFpbmVkCisKK3N5bnRheCBtYXRjaCAgY3JvbnRhYk1udGggICJcPFthLXowLTlcLVwvXCxcLl1ce31cPlx8XCoiICBuZXh0Z3JvdXA9Y3JvbnRhYkRvdyAgc2tpcHdoaXRlIGNvbnRhaW5lZAorc3ludGF4IGtleXdvcmQgY3JvbnRhYk1udGgxMiBjb250YWluZWQgICBqYW4gZmViIG1hciBhcHIgbWF5IGp1biBqdWwgYXVnIHNlcCBvY3Qgbm92IGRlYworCitzeW50YXggbWF0Y2ggIGNyb250YWJEb3cgICAiXDxbYS16MC05XC1cL1wsXC5dXHt9XD5cfFwqIiAgbmV4dGdyb3VwPWNyb250YWJDbWQgIHNraXB3aGl0ZSBjb250YWluZWQKK3N5bnRheCBrZXl3b3JkIGNyb250YWJEb3c3ICAgY29udGFpbmVkICAgIHN1biBtb24gdHVlIHdlZCB0aHUgZnJpIHNhdAorCisiICBzeW50YXggcmVnaW9uIGNyb250YWJDbWQgIHN0YXJ0PSJcPFthLXowLTlcL1woXSIgZW5kPSIkIiBuZXh0Z3JvdXA9Y3JvbnRhYkNtbnQgc2tpcHdoaXRlIGNvbnRhaW5lZCBjb250YWlucz1jcm9udGFiQ21udCBrZWVwZW5kCisKK3N5bnRheCByZWdpb24gY3JvbnRhYkNtZCAgc3RhcnQ9IlxTIiBlbmQ9IiQiIG5leHRncm91cD1jcm9udGFiQ21udCBza2lwd2hpdGUgY29udGFpbmVkIGNvbnRhaW5zPWNyb250YWJDbW50IGtlZXBlbmQKK3N5bnRheCBtYXRjaCAgY3JvbnRhYkNtbnQgLyMuKi8KKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3JvbnRhYl9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jcm9udGFiX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGNyb250YWJNaW4JCU51bWJlcgorICBIaUxpbmsgY3JvbnRhYkhyCQlQcmVQcm9jCisgIEhpTGluayBjcm9udGFiRGF5CQlUeXBlCisKKyAgSGlMaW5rIGNyb250YWJNbnRoCQlOdW1iZXIKKyAgSGlMaW5rIGNyb250YWJNbnRoMTIJCU51bWJlcgorICBIaUxpbmsgY3JvbnRhYk1udGhTCQlOdW1iZXIKKyAgSGlMaW5rIGNyb250YWJNbnRoTgkJTnVtYmVyCisKKyAgSGlMaW5rIGNyb250YWJEb3cJCVByZVByb2MKKyAgSGlMaW5rIGNyb250YWJEb3c3CQlQcmVQcm9jCisgIEhpTGluayBjcm9udGFiRG93UwkJUHJlUHJvYworICBIaUxpbmsgY3JvbnRhYkRvd04JCVByZVByb2MKKworIiBjb21tZW50IG91dCBuZXh0IGxpbmUgZm9yIHRvIHN1cHByZXNzIHVuaXggY29tbWFuZHMgY29sb3JpbmcuCisgIEhpTGluayBjcm9udGFiQ21kCQlUeXBlCisKKyAgSGlMaW5rIGNyb250YWJDbW50CQlDb21tZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImNyb250YWIiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jcy52aW0gYi9ydW50aW1lL3N5bnRheC9jcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk4NDRiOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2NzLnZpbQpAQCAtMCwwICsxLDE0NSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUMjCisiIE1haW50YWluZXI6CUpvaGFubmVzIFplbGxuZXIgPGpvaGFubmVzQHplbGxuZXIub3JnPgorIiBMYXN0IENoYW5nZToJVHVlLCAwOSBNYXIgMjAwNCAxNDozMjoxMyBDRVQKKyIgRmlsZW5hbWVzOgkqLmNzCisiICRJZCQKKyIKKyIgUkVGRVJFTkNFUzoKKyIgWzFdIEVDTUEgVEMzOTogQyMgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbiAoV0QxM09jdDAxLmRvYykKKworaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOmNzX2Nwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KKworCisiIHR5cGUKK3N5biBrZXl3b3JkIGNzVHlwZQkJCWJvb2wgYnl0ZSBjaGFyIGRlY2ltYWwgZG91YmxlIGZsb2F0IGludCBsb25nIG9iamVjdCBzYnl0ZSBzaG9ydCBzdHJpbmcgdWludCB1bG9uZyB1c2hvcnQgdm9pZAorIiBzdG9yYWdlCitzeW4ga2V5d29yZCBjc1N0b3JhZ2UJCQljbGFzcyBkZWxlZ2F0ZSBlbnVtIGludGVyZmFjZSBuYW1lc3BhY2Ugc3RydWN0CisiIHJlcGVhdGUgLyBjb25kaXRpb24gLyBsYWJlbAorc3luIGtleXdvcmQgY3NSZXBlYXQJCQlicmVhayBjb250aW51ZSBkbyBmb3IgZm9yZWFjaCBnb3RvIHJldHVybiB3aGlsZQorc3luIGtleXdvcmQgY3NDb25kaXRpb25hbAkJZWxzZSBpZiBzd2l0Y2gKK3N5biBrZXl3b3JkIGNzTGFiZWwJCQljYXNlIGRlZmF1bHQKKyIgdGhlcmUncyBubyA6OiBvcGVyYXRvciBpbiBDIworc3luIG1hdGNoIGNzT3BlcmF0b3JFcnJvcgkJZGlzcGxheSArOjorCisiIHVzZXIgbGFiZWxzIChzZWUgWzFdIDguNiBTdGF0ZW1lbnRzKQorc3luIG1hdGNoICAgY3NMYWJlbAkJCWRpc3BsYXkgK15ccypcSVxpKlxzKjpcKFteOl1cKVxAPSsKKyIgbW9kaWZpZXIKK3N5biBrZXl3b3JkIGNzTW9kaWZpZXIJCQlhYnN0cmFjdCBjb25zdCBleHRlcm4gaW50ZXJuYWwgb3ZlcnJpZGUgcHJpdmF0ZSBwcm90ZWN0ZWQgcHVibGljIHJlYWRvbmx5IHNlYWxlZCBzdGF0aWMgdmlydHVhbCB2b2xhdGlsZQorIiBjb25zdGFudAorc3luIGtleXdvcmQgY3NDb25zdGFudAkJCWZhbHNlIG51bGwgdHJ1ZQorIiBleGNlcHRpb24KK3N5biBrZXl3b3JkIGNzRXhjZXB0aW9uCQkJdHJ5IGNhdGNoIGZpbmFsbHkgdGhyb3cKKworIiBUT0RPOgorc3luIGtleXdvcmQgY3NVbnNwZWNpZmllZFN0YXRlbWVudAlhcyBiYXNlIGNoZWNrZWQgZXZlbnQgZml4ZWQgaW4gaXMgbG9jayBuZXcgb3BlcmF0b3Igb3V0IHBhcmFtcyByZWYgc2l6ZW9mIHN0YWNrYWxsb2MgdGhpcyB0eXBlb2YgdW5jaGVja2VkIHVuc2FmZSB1c2luZworIiBUT0RPOgorc3luIGtleXdvcmQgY3NVbnN1cHBvcnRlZFN0YXRlbWVudAlnZXQgc2V0IGFkZCByZW1vdmUgdmFsdWUKKyIgVE9ETzoKK3N5biBrZXl3b3JkIGNzVW5zcGVjaWZpZWRLZXl3b3JkCWV4cGxpY2l0IGltcGxpY2l0CisKKworCisiIENvbW1lbnRzCisiCisiIFBST1ZJREVTOiBAY3NDb21tZW50SG9vaworIgorIiBUT0RPOiBpbmNsdWRlIHN0cmluZ3MgPworIgorc3luIGtleXdvcmQgY3NUb2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorc3luIHJlZ2lvbiAgY3NDb21tZW50CQlzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPUBjc0NvbW1lbnRIb29rLGNzVG9kbworc3luIG1hdGNoICAgY3NDb21tZW50CQkiLy8uKiQiIGNvbnRhaW5zPUBjc0NvbW1lbnRIb29rLGNzVG9kbworCisiIHhtbCBtYXJrdXAgaW5zaWRlICcvLy8nIGNvbW1lbnRzCitzeW4gY2x1c3RlciB4bWxSZWdpb25Ib29rCWFkZD1jc1htbENvbW1lbnRMZWFkZXIKK3N5biBjbHVzdGVyIHhtbENkYXRhSG9vawlhZGQ9Y3NYbWxDb21tZW50TGVhZGVyCitzeW4gY2x1c3RlciB4bWxTdGFydFRhZ0hvb2sJYWRkPWNzWG1sQ29tbWVudExlYWRlcgorc3luIGtleXdvcmQgY3NYbWxUYWcJCWNvbnRhaW5lZCBMaWJyYXJpZXMgUGFja2FnZXMgVHlwZXMgRXhjbHVkZWQgRXhjbHVkZWRUeXBlTmFtZSBFeGNsdWRlZExpYnJhcnlOYW1lCitzeW4ga2V5d29yZCBjc1htbFRhZwkJY29udGFpbmVkIEV4Y2x1ZGVkQnVja2V0TmFtZSBUeXBlRXhjbHVkZWQgVHlwZSBUeXBlS2luZCBUeXBlU2lnbmF0dXJlIEFzc2VtYmx5SW5mbworc3luIGtleXdvcmQgY3NYbWxUYWcJCWNvbnRhaW5lZCBBc3NlbWJseU5hbWUgQXNzZW1ibHlQdWJsaWNLZXkgQXNzZW1ibHlWZXJzaW9uIEFzc2VtYmx5Q3VsdHVyZSBCYXNlCitzeW4ga2V5d29yZCBjc1htbFRhZwkJY29udGFpbmVkIEJhc2VUeXBlTmFtZSBJbnRlcmZhY2VzIEludGVyZmFjZSBJbnRlcmZhY2VOYW1lIEF0dHJpYnV0ZXMgQXR0cmlidXRlCitzeW4ga2V5d29yZCBjc1htbFRhZwkJY29udGFpbmVkIEF0dHJpYnV0ZU5hbWUgTWVtYmVycyBNZW1iZXIgTWVtYmVyU2lnbmF0dXJlIE1lbWJlclR5cGUgTWVtYmVyVmFsdWUKK3N5biBrZXl3b3JkIGNzWG1sVGFnCQljb250YWluZWQgUmV0dXJuVmFsdWUgUmV0dXJuVHlwZSBQYXJhbWV0ZXJzIFBhcmFtZXRlciBNZW1iZXJPZlBhY2thZ2UKK3N5biBrZXl3b3JkIGNzWG1sVGFnCQljb250YWluZWQgVGhyZWFkaW5nU2FmZXR5U3RhdGVtZW50IERvY3MgZGV2ZG9jIGV4YW1wbGUgb3ZlcmxvYWQgcmVtYXJrcyByZXR1cm5zIHN1bW1hcnkKK3N5biBrZXl3b3JkIGNzWG1sVGFnCQljb250YWluZWQgdGhyZWFkc2FmZSB2YWx1ZSBpbnRlcm5hbG9ubHkgbm9kb2MgZXhjZXB0aW9uIHBhcmFtIHBlcm1pc3Npb24gcGxhdG5vdGUKK3N5biBrZXl3b3JkIGNzWG1sVGFnCQljb250YWluZWQgc2VlYWxzbyBiIGMgaSBwcmUgc3ViIHN1cCBibG9jayBjb2RlIG5vdGUgcGFyYW1yZWYgc2VlIHN1YnNjcmlwdCBzdXBlcnNjcmlwdAorc3luIGtleXdvcmQgY3NYbWxUYWcJCWNvbnRhaW5lZCBsaXN0IGxpc3RoZWFkZXIgaXRlbSB0ZXJtIGRlc2NyaXB0aW9uIGFsdGNvbXBsaWFudCBhbHRtZW1iZXIKKworc3luIGNsdXN0ZXIgeG1sVGFnSG9vayBhZGQ9Y3NYbWxUYWcKKworc3luIG1hdGNoICAgY3NYbWxDb21tZW50TGVhZGVyCStcL1wvXC8rICAgIGNvbnRhaW5lZAorc3luIG1hdGNoICAgY3NYbWxDb21tZW50CStcL1wvXC8uKiQrIGNvbnRhaW5zPWNzWG1sQ29tbWVudExlYWRlcixAY3NYbWwKK3N5bnRheCBpbmNsdWRlIEBjc1htbCA8c2ZpbGU+OnA6aC94bWwudmltCitoaSBkZWYgbGluayB4bWxSZWdpb24gQ29tbWVudAorCisKKyIgWzFdIDkuNSBQcmUtcHJvY2Vzc2luZyBkaXJlY3RpdmVzCitzeW4gcmVnaW9uCWNzUHJlQ29uZGl0CisgICAgXCBzdGFydD0iXlxzKiNccypcKGRlZmluZVx8dW5kZWZcfGlmXHxlbGlmXHxlbHNlXHxlbmRpZlx8bGluZVx8ZXJyb3JcfHdhcm5pbmdcfHJlZ2lvblx8ZW5kcmVnaW9uXCkiCisgICAgXCBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9Y3NDb21tZW50IGtlZXBlbmQKKworCisKKyIgU3RyaW5ncyBhbmQgY29uc3RhbnRzCitzeW4gbWF0Y2ggICBjc1NwZWNpYWxFcnJvcgljb250YWluZWQgIlxcLiIKK3N5biBtYXRjaCAgIGNzU3BlY2lhbENoYXJFcnJvcgljb250YWluZWQgIlteJ10iCisiIFsxXSA5LjQuNC40IENoYXJhY3RlciBsaXRlcmFscworc3luIG1hdGNoICAgY3NTcGVjaWFsQ2hhcgljb250YWluZWQgK1xcWyJcXCcwYWJmbnJ0dnhdKworIiB1bmljb2RlIGNoYXJhY3RlcnMKK3N5biBtYXRjaCAgIGNzVW5pY29kZU51bWJlcgkrXFxcKHVceFx7NH1cfFVceFx7OH1cKSsgY29udGFpbmVkIGNvbnRhaW5zPWNzVW5pY29kZVNwZWNpZmllcgorc3luIG1hdGNoICAgY3NVbmljb2RlU3BlY2lmaWVyCStcXFt1VV0rIGNvbnRhaW5lZAorc3luIHJlZ2lvbiAgY3NWZXJiYXRpbVN0cmluZwlzdGFydD0rQCIrIGVuZD0rIisgZW5kPSskKyBjb250YWlucz1jc1ZlcmJhdGltU3BlYworc3luIG1hdGNoICAgY3NWZXJiYXRpbVNwZWMJK0AiK2hlPXMrMSBjb250YWluZWQKK3N5biByZWdpb24gIGNzU3RyaW5nCQlzdGFydD0rIisgIGVuZD0rIisgZW5kPSskKyBjb250YWlucz1jc1NwZWNpYWxDaGFyLGNzU3BlY2lhbEVycm9yLGNzVW5pY29kZU51bWJlcgorc3luIG1hdGNoICAgY3NDaGFyYWN0ZXIJCSInW14nXSonIiBjb250YWlucz1jc1NwZWNpYWxDaGFyLGNzU3BlY2lhbENoYXJFcnJvcgorc3luIG1hdGNoICAgY3NDaGFyYWN0ZXIJCSInXFwnJyIgY29udGFpbnM9Y3NTcGVjaWFsQ2hhcgorc3luIG1hdGNoICAgY3NDaGFyYWN0ZXIJCSInW15cXF0nIgorc3luIG1hdGNoICAgY3NOdW1iZXIJCSJcPFwoMFswLTddKlx8MFt4WF1ceFwrXHxcZFwrXClbbExdXD1cPiIKK3N5biBtYXRjaCAgIGNzTnVtYmVyCQkiXChcPFxkXCtcLlxkKlx8XC5cZFwrXClcKFtlRV1bLStdXD1cZFwrXClcPVtmRmREXVw9Igorc3luIG1hdGNoICAgY3NOdW1iZXIJCSJcPFxkXCtbZUVdWy0rXVw9XGRcK1tmRmREXVw9XD4iCitzeW4gbWF0Y2ggICBjc051bWJlcgkJIlw8XGRcK1woW2VFXVstK11cPVxkXCtcKVw9W2ZGZERdXD4iCisKKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgoraGkgZGVmIGxpbmsgY3NUeXBlCQkJVHlwZQoraGkgZGVmIGxpbmsgY3NTdG9yYWdlCQkJU3RvcmFnZUNsYXNzCitoaSBkZWYgbGluayBjc1JlcGVhdAkJCVJlcGVhdAoraGkgZGVmIGxpbmsgY3NDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK2hpIGRlZiBsaW5rIGNzTGFiZWwJCQlMYWJlbAoraGkgZGVmIGxpbmsgY3NNb2RpZmllcgkJCVN0b3JhZ2VDbGFzcworaGkgZGVmIGxpbmsgY3NDb25zdGFudAkJCUNvbnN0YW50CitoaSBkZWYgbGluayBjc0V4Y2VwdGlvbgkJCUV4Y2VwdGlvbgoraGkgZGVmIGxpbmsgY3NVbnNwZWNpZmllZFN0YXRlbWVudAlTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIGNzVW5zdXBwb3J0ZWRTdGF0ZW1lbnQJU3RhdGVtZW50CitoaSBkZWYgbGluayBjc1Vuc3BlY2lmaWVkS2V5d29yZAlLZXl3b3JkCitoaSBkZWYgbGluayBjc09wZXJhdG9yRXJyb3IJCUVycm9yCisKK2hpIGRlZiBsaW5rIGNzVG9kbwkJCVRvZG8KK2hpIGRlZiBsaW5rIGNzQ29tbWVudAkJCUNvbW1lbnQKKworaGkgZGVmIGxpbmsgY3NTcGVjaWFsRXJyb3IJCUVycm9yCitoaSBkZWYgbGluayBjc1NwZWNpYWxDaGFyRXJyb3IJCUVycm9yCitoaSBkZWYgbGluayBjc1N0cmluZwkJCVN0cmluZworaGkgZGVmIGxpbmsgY3NWZXJiYXRpbVN0cmluZwkJU3RyaW5nCitoaSBkZWYgbGluayBjc1ZlcmJhdGltU3BlYwkJU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIGNzUHJlQ29uZGl0CQkJUHJlQ29uZGl0CitoaSBkZWYgbGluayBjc0NoYXJhY3RlcgkJCUNoYXJhY3RlcgoraGkgZGVmIGxpbmsgY3NTcGVjaWFsQ2hhcgkJU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIGNzTnVtYmVyCQkJTnVtYmVyCitoaSBkZWYgbGluayBjc1VuaWNvZGVOdW1iZXIJCVNwZWNpYWxDaGFyCitoaSBkZWYgbGluayBjc1VuaWNvZGVTcGVjaWZpZXIJCVNwZWNpYWxDaGFyCisKKyIgeG1sIG1hcmt1cAoraGkgZGVmIGxpbmsgY3NYbWxDb21tZW50TGVhZGVyCQlDb21tZW50CitoaSBkZWYgbGluayBjc1htbENvbW1lbnQJCUNvbW1lbnQKK2hpIGRlZiBsaW5rIGNzWG1sVGFnCQkJU3RhdGVtZW50CisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImNzIgorCitsZXQgJmNwbyA9IHM6Y3NfY3BvX3NhdmUKK3VubGV0IHM6Y3NfY3BvX3NhdmUKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NzYy52aW0gYi9ydW50aW1lL3N5bnRheC9jc2MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkNjczMzQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jc2MudmltCkBAIC0wLDAgKzEsMTk5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogRXNzYmFzZSBzY3JpcHQKKyIgTWFpbnRhaW5lcjoJUmF1bCBTZWd1cmEgQWNldmVkbyA8cmF1bHNlZ3VyYWFjZXZlZEBuZXRzY2FwZS5uZXQ+CisiIExhc3QgY2hhbmdlOgkyMDAxIFNlcCAyNQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorCXN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCitlbmRpZgorCisiIGZvbGRzOiBmaXgvZW5kZml4IGFuZCBjb21tZW50cworc3kJcmVnaW9uCUVzc0ZvbGQgc3RhcnQ9Ilw8Rml4IiBlbmQ9IkVuZEZpeCIgdHJhbnNwYXJlbnQgZm9sZAorCitzeQlrZXl3b3JkCWNzY1RvZG8gY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCisKKyIgY3NjQ29tbWVudEdyb3VwIGFsbG93cyBhZGRpbmcgbWF0Y2hlcyBmb3Igc3BlY2lhbCB0aGluZ3MgaW4gY29tbWVudHMKK3N5CWNsdXN0ZXIgY3NjQ29tbWVudEdyb3VwIGNvbnRhaW5zPWNzY1RvZG8KKworIiBTdHJpbmdzIGluIHF1b3Rlcworc3kJbWF0Y2gJY3NjRXJyb3IJJyInCitzeQltYXRjaAljc2NTdHJpbmcJJyJbXiJdKiInCisKKyJ3aGVuIHdhbnRlZCwgaGlnaGxpZ2h0IHRyYWlsaW5nIHdoaXRlIHNwYWNlCitpZiBleGlzdHMoImNzY19zcGFjZV9lcnJvcnMiKQorCWlmICFleGlzdHMoImNzY19ub190cmFpbF9zcGFjZV9lcnJvciIpCisJCXN5CW1hdGNoCWNzY1NwYWNlRQkiXHNcKyQiCisJZW5kaWYKKwlpZiAhZXhpc3RzKCJjc2Nfbm9fdGFiX3NwYWNlX2Vycm9yIikKKwkJc3kJbWF0Y2gJY3NjU3BhY2VFCSIgXCtcdCJtZT1lLTEKKwllbmRpZgorZW5kaWYKKworImNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMgYW5kIGJyYWNrZXRzCitzeQljbHVzdGVyCWNzY1BhcmVuR3JvdXAJY29udGFpbnM9Y3NjUGFyZW5FLEBjc2NDb21tZW50R3JvdXAsY3NjVXNlckNvbnQsY3NjQml0RmllbGQsY3NjRm9ybWF0LGNzY051bWJlcixjc2NGbG9hdCxjc2NPY3RhbCxjc2NOdW1iZXJzLGNzY0lmRXJyb3IsY3NjQ29tVyxjc2NDb20sY3NjRm9ybXVsYSxjc2NCUE1hY3JvCitzeQlyZWdpb24JY3NjUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBjc2NQYXJlbkdyb3VwCitzeQltYXRjaAljc2NQYXJlbkUJIikiCisKKyJpbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHdpdGhvdXQgYSBkb3QgYW5kIHdpdGggImYiLgorc3kJY2FzZQlpZ25vcmUKK3N5CW1hdGNoCWNzY051bWJlcnMJdHJhbnNwYXJlbnQgIlw8XGRcfFwuXGQiIGNvbnRhaW5zPWNzY051bWJlcixjc2NGbG9hdCxjc2NPY3RhbAorc3kJbWF0Y2gJY3NjTnVtYmVyCWNvbnRhaW5lZCAiXGRcK1wodVw9bFx7MCwyfVx8bGxcPXVcKVw+IgorImhleCBudW1iZXIKK3N5CW1hdGNoCWNzY051bWJlcgljb250YWluZWQgIjB4XHhcK1wodVw9bFx7MCwyfVx8bGxcPXVcKVw+IgorIiBGbGFnIHRoZSBmaXJzdCB6ZXJvIG9mIGFuIG9jdGFsIG51bWJlciBhcyBzb21ldGhpbmcgc3BlY2lhbAorc3kJbWF0Y2gJY3NjT2N0YWwJY29udGFpbmVkICIwXG9cK1wodVw9bFx7MCwyfVx8bGxcPXVcKVw+Igorc3kJbWF0Y2gJY3NjRmxvYXQJY29udGFpbmVkICJcZFwrZiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3kJbWF0Y2gJY3NjRmxvYXQJY29udGFpbmVkICJcZFwrXC5cZCpcKGVbLStdXD1cZFwrXClcPVtmbF1cPSIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeQltYXRjaAljc2NGbG9hdAljb250YWluZWQgIlwuXGRcK1woZVstK11cPVxkXCtcKVw9W2ZsXVw9XD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGRvdCwgd2l0aCBleHBvbmVudAorc3kJbWF0Y2gJY3NjRmxvYXQJY29udGFpbmVkICJcZFwrZVstK11cPVxkXCtbZmxdXD1cPiIKKworc3kJcmVnaW9uCWNzY0NvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPUBjc2NDb21tZW50R3JvdXAsY3NjU3BhY2VFIGZvbGQKK3N5CW1hdGNoCWNzY0NvbW1lbnRFCSJcKi8iCisKK3N5CWtleXdvcmQJY3NjSWZFcnJvcglJRiBFTFNFIEVORElGIEVMU0VJRgorc3kJa2V5d29yZAljc2NDb25kaXRpb24JY29udGFpbmVkIElGIEVMU0UgRU5ESUYgRUxTRUlGCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBWQVJQRVIgVkFSIFVEQSBUUlVOQ0FURSBTWUQgU1VNUkFOR0UgU1VNCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBTVERERVZSQU5HRSBTVERERVYgU1BBUkVOVFZBTCBTTE4gU0lCTElOR1MgU0hJRlQKK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIFNBTkNFU1RWQUwgUlNJQkxJTkdTIFJPVU5EIFJFTUFJTkRFUiBSRUxBVElWRSBQVEQKK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIFBSSU9SIFBPV0VSIFBBUkVOVFZBTCBOUFYgTkVYVCBNT0QgTUlOUkFOR0UgTUlOCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBNRFNISUZUIE1EUEFSRU5UVkFMIE1EQU5DRVNUVkFMIE1BWFJBTkdFIE1BWCBNQVRDSAorc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgTFNJQkxJTkdTIExFVk1CUlMgTEVWCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBJU1VEQSBJU1NJQkxJTkcgSVNTQU1FTEVWIElTU0FNRUdFTiBJU1BBUkVOVCBJU01CUgorc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgSVNMRVYgSVNJU0lCTElORyBJU0lQQVJFTlQgSVNJREVTQyBJU0lDSElMRCBJU0lCTElOR1MKK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIElTSUFOQ0VTVCBJU0dFTiBJU0RFU0MgSVNDSElMRCBJU0FOQ0VTVCBJU0FDQ1RZUEUKK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIElSU0lCTElOR1MgSVJSIElOVEVSRVNUIElOVCBJTFNJQkxJTkdTIElERVNDRU5EQU5UUworc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgSUNISUxEUkVOIElBTkNFU1RPUlMgSUFMTEFOQ0VTVE9SUworc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgR1JPV1RIIEdFTk1CUlMgR0VOIEZBQ1RPUklBTCBESVNDT1VOVCBERVNDRU5EQU5UUworc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgREVDTElORSBDSElMRFJFTiBDVVJSTUJSUkFOR0UgQ1VSTEVWIENVUkdFTgorc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgQ09NUE9VTkRHUk9XVEggQ09NUE9VTkQgQVZHUkFOR0UgQVZHIEFOQ0VTVFZBTAorc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgQU5DRVNUT1JTIEFMTEFOQ0VTVE9SUyBBQ0NVTSBBQlMKK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIEBWQVJQRVIgQFZBUiBAVURBIEBUUlVOQ0FURSBAU1lEIEBTVU1SQU5HRSBAU1VNCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBAU1REREVWUkFOR0UgQFNURERFViBAU1BBUkVOVFZBTCBAU0xOIEBTSUJMSU5HUyBAU0hJRlQKK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIEBTQU5DRVNUVkFMIEBSU0lCTElOR1MgQFJPVU5EIEBSRU1BSU5ERVIgQFJFTEFUSVZFIEBQVEQKK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIEBQUklPUiBAUE9XRVIgQFBBUkVOVFZBTCBATlBWIEBORVhUIEBNT0QgQE1JTlJBTkdFIEBNSU4KK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIEBNRFNISUZUIEBNRFBBUkVOVFZBTCBATURBTkNFU1RWQUwgQE1BWFJBTkdFIEBNQVggQE1BVENICitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBATFNJQkxJTkdTIEBMRVZNQlJTIEBMRVYKK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIEBJU1VEQSBASVNTSUJMSU5HIEBJU1NBTUVMRVYgQElTU0FNRUdFTiBASVNQQVJFTlQgQElTTUJSCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBASVNMRVYgQElTSVNJQkxJTkcgQElTSVBBUkVOVCBASVNJREVTQyBASVNJQ0hJTEQgQElTSUJMSU5HUworc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgQElTSUFOQ0VTVCBASVNHRU4gQElTREVTQyBASVNDSElMRCBASVNBTkNFU1QgQElTQUNDVFlQRQorc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgQElSU0lCTElOR1MgQElSUiBASU5URVJFU1QgQElOVCBASUxTSUJMSU5HUyBASURFU0NFTkRBTlRTCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBASUNISUxEUkVOIEBJQU5DRVNUT1JTIEBJQUxMQU5DRVNUT1JTCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBAR1JPV1RIIEBHRU5NQlJTIEBHRU4gQEZBQ1RPUklBTCBARElTQ09VTlQgQERFU0NFTkRBTlRTCitzeQlrZXl3b3JkCWNzY0Z1bmN0aW9uCWNvbnRhaW5lZCBAREVDTElORSBAQ0hJTERSRU4gQENVUlJNQlJSQU5HRSBAQ1VSTEVWIEBDVVJHRU4KK3N5CWtleXdvcmQJY3NjRnVuY3Rpb24JY29udGFpbmVkIEBDT01QT1VOREdST1dUSCBAQ09NUE9VTkQgQEFWR1JBTkdFIEBBVkcgQEFOQ0VTVFZBTAorc3kJa2V5d29yZAljc2NGdW5jdGlvbgljb250YWluZWQgQEFOQ0VTVE9SUyBAQUxMQU5DRVNUT1JTIEBBQ0NVTSBAQUJTCitzeQltYXRjaAljc2NGdW5jdGlvbgljb250YWluZWQgIkAiCitzeQltYXRjaAljc2NFcnJvcgkiQFxzKlxhKiIgY29udGFpbnM9Y3NjRnVuY3Rpb24KKworc3kJbWF0Y2gJY3NjU3RhdGVtZW50CSImIgorc3kJa2V5d29yZAljc2NTdGF0ZW1lbnQJQUdHIEFSUkFZIFZBUiBDQ09OViBDTEVBUkRBVEEgREFUQUNPUFkKKworc3kJbWF0Y2gJY3NjQ29tRQljb250YWluZWQgIl5ccypDQUxDLioiCitzeQltYXRjaAljc2NDb21FCWNvbnRhaW5lZCAiXlxzKkNMRUFSQkxPQ0suKiIKK3N5CW1hdGNoCWNzY0NvbUUJY29udGFpbmVkICJeXHMqU0VULioiCitzeQltYXRjaAljc2NDb21FCWNvbnRhaW5lZCAiXlxzKkZJWCIKK3N5CW1hdGNoCWNzY0NvbUUJY29udGFpbmVkICJeXHMqRU5ERklYIgorc3kJbWF0Y2gJY3NjQ29tRQljb250YWluZWQgIl5ccypFTkRMT09QIgorc3kJbWF0Y2gJY3NjQ29tRQljb250YWluZWQgIl5ccypMT09QIgorIiBzeQlrZXl3b3JkCWNzY0NvbQlGSVggRU5ERklYIExPT1AgRU5ETE9PUAorCitzeQltYXRjaAljc2NDb21XCSJeXHMqQ0FMQy4qIgorc3kJbWF0Y2gJY3NjQ29tCSJeXHMqQ0FMQ1xzKkFMTCIKK3N5CW1hdGNoCWNzY0NvbQkiXlxzKkNBTENccypBVkVSQUdFIgorc3kJbWF0Y2gJY3NjQ29tCSJeXHMqQ0FMQ1xzKkRJTSIKK3N5CW1hdGNoCWNzY0NvbQkiXlxzKkNBTENccypGSVJTVCIKK3N5CW1hdGNoCWNzY0NvbQkiXlxzKkNBTENccypMQVNUIgorc3kJbWF0Y2gJY3NjQ29tCSJeXHMqQ0FMQ1xzKlRXT1BBU1MiCisKK3N5CW1hdGNoCWNzY0NvbVcJIl5ccypDTEVBUkJMT0NLLioiCitzeQltYXRjaAljc2NDb20JIl5ccypDTEVBUkJMT0NLXHNcK0FMTCIKK3N5CW1hdGNoCWNzY0NvbQkiXlxzKkNMRUFSQkxPQ0tcc1wrVVBQRVIiCitzeQltYXRjaAljc2NDb20JIl5ccypDTEVBUkJMT0NLXHNcK05PTklOUFVUIgorCitzeQltYXRjaAljc2NDb21XCSJeXHMqXDxTRVQuKiIKK3N5CW1hdGNoCWNzY0NvbQkiXlxzKlw8U0VUXHNcK0NvbW1hbmRzIgorc3kJbWF0Y2gJY3NjQ29tCSJeXHMqXDxTRVRcc1wrQUdHTUlTU0ciCitzeQltYXRjaAljc2NDb20JIl5ccypcPFNFVFxzXCtDQUNIRSIKK3N5CW1hdGNoCWNzY0NvbQkiXlxzKlw8U0VUXHNcK0NBTENIQVNIVEJMIgorc3kJbWF0Y2gJY3NjQ29tCSJeXHMqXDxTRVRcc1wrQ0xFQVJVUERBVEVTVEFUVVMiCitzeQltYXRjaAljc2NDb20JIl5ccypcPFNFVFxzXCtGUk1MQk9UVE9NVVAiCitzeQltYXRjaAljc2NDb20JIl5ccypcPFNFVFxzXCtMT0NLQkxPQ0siCitzeQltYXRjaAljc2NDb20JIl5ccypcPFNFVFxzXCtNU0ciCitzeQltYXRjaAljc2NDb20JIl5ccypcPFNFVFxzXCtOT1RJQ0UiCitzeQltYXRjaAljc2NDb20JIl5ccypcPFNFVFxzXCtVUERBVEVDQUxDIgorc3kJbWF0Y2gJY3NjQ29tCSJeXHMqXDxTRVRcc1wrVVBUT0xPQ0FMIgorCitzeQlrZXl3b3JkCWNzY0JQTWFjcm8JY29udGFpbmVkICFMb29wT25BbGwgIUxvb3BPbkxldmVsICFMb29wT25TZWxlY3RlZAorc3kJa2V5d29yZAljc2NCUE1hY3JvCWNvbnRhaW5lZCAhQ3VycmVudE1lbWJlciAhTG9vcE9uRGltZW5zaW9ucyAhQ3VycmVudERpbWVuc2lvbgorc3kJa2V5d29yZAljc2NCUE1hY3JvCWNvbnRhaW5lZCAhQ3VycmVudE90aGVyTG9vcERpbWVuc2lvbiAhTG9vcE9uT3RoZXJMb29wRGltZW5zaW9ucworc3kJa2V5d29yZAljc2NCUE1hY3JvCWNvbnRhaW5lZCAhRW5kTG9vcCAhQWxsTWVtYmVycyAhU2VsZWN0ZWRNZW1iZXJzICFJZiAhRWxzZSAhRW5kSWYKK3N5CWtleXdvcmQJY3NjQlBNYWNybwljb250YWluZWQgTG9vcE9uQWxsIExvb3BPbkxldmVsIExvb3BPblNlbGVjdGVkCitzeQlrZXl3b3JkCWNzY0JQTWFjcm8JY29udGFpbmVkIEN1cnJlbnRNZW1iZXIgTG9vcE9uRGltZW5zaW9ucyBDdXJyZW50RGltZW5zaW9uCitzeQlrZXl3b3JkCWNzY0JQTWFjcm8JY29udGFpbmVkIEN1cnJlbnRPdGhlckxvb3BEaW1lbnNpb24gTG9vcE9uT3RoZXJMb29wRGltZW5zaW9ucworc3kJa2V5d29yZAljc2NCUE1hY3JvCWNvbnRhaW5lZCBFbmRMb29wIEFsbE1lbWJlcnMgU2VsZWN0ZWRNZW1iZXJzIElmIEVsc2UgRW5kSWYKK3N5CW1hdGNoCWNzY0JQTWFjcm8JY29udGFpbmVkCSIhIgorc3kJbWF0Y2gJY3NjQlBXCSIhXHMqXGEqIgljb250YWlucz1jc2NCUG1hY3JvCisKKyIgd2hlbiB3YW50ZWQsIGhpZ2hsaWdodGluZyBsaHMgbWVtYmVycyBvciBlcnJvcyBpbiBhc2lnbm1lbnRzIChtYXkgbGFnIHRoZSBlZGl0aW5nKQoraWYgdmVyc2lvbiA+PSA2MDAgJiYgZXhpc3RzKCJjc2NfYXNpZ25tZW50IikKKwlzeQltYXRjaAljc2NFcUVycm9yCSdcKCJbXiJdKiJccypcfFteXVtcdCAhJSgpKissLS0vOjs8PT57fX5dXCtccypcfC0+XHMqXCkqPVwoW149XVxAPVx8JFwpJworCXN5CXJlZ2lvbgljc2NGb3JtdWxhCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9Y3NjVmFyTmFtZSBzdGFydD0nXCgiW14iXSoiXHxbXl1bXHQgISUoKSorLC0tLzo7PD0+e31+XVwrXClccyo9XChbXj1dXEA9XHxcblwpJyBza2lwPSciW14iXSoiJyBlbmQ9JzsnIGNvbnRhaW5zPUFMTEJVVCxjc2NGb3JtdWxhLGNzY0Zvcm11bGFJbixjc2NCUE1hY3JvLGNzY0NvbmRpdGlvbgorCXN5CXJlZ2lvbgljc2NGb3JtdWxhSW4JbWF0Y2hncm91cD1jc2NWYXJOYW1lIHRyYW5zcGFyZW50IHN0YXJ0PSdcKCJbXiJdKiJcfFteXVtcdCAhJSgpKissLS0vOjs8PT57fX5dXCtcKVwoLT5cKCJbXiJdKiJcfFteXVtcdCAhJSgpKissLS0vOjs8PT57fX5dXCtcKVwpKlxzKj1cKFtePV1cQD1cfCRcKScgc2tpcD0nIlteIl0qIicgZW5kPSc7JyBjb250YWlucz1BTExCVVQsY3NjRm9ybXVsYSxjc2NGb3JtdWxhSW4sY3NjQlBNYWNybyxjc2NDb25kaXRpb24gY29udGFpbmVkCisJc3kJbWF0Y2gJY3NjRXEJIj09IgorZW5kaWYKKworaWYgIWV4aXN0cygiY3NjX21pbmxpbmVzIikKKwlsZXQgY3NjX21pbmxpbmVzID0gNTAJIiBtb3N0bHkgZm9yICgpIGNvbnN0cnVjdHMKK2VuZGlmCitleGVjICJzeSBzeW5jIGNjb21tZW50IGNzY0NvbW1lbnQgbWlubGluZXM9IiAuIGNzY19taW5saW5lcworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jc2Nfc3ludGF4X2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfY3NjX3N5bnRheF9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwloaSBjc2NWYXJOYW1lIHRlcm09Ym9sZCBjdGVybWZnPTkgZ3VpPWJvbGQgZ3VpZmc9Ymx1ZQorCisJSGlMaW5rCWNzY051bWJlcglOdW1iZXIKKwlIaUxpbmsJY3NjT2N0YWwJTnVtYmVyCisJSGlMaW5rCWNzY0Zsb2F0CUZsb2F0CisJSGlMaW5rCWNzY1BhcmVuRQlFcnJvcgorCUhpTGluawljc2NDb21tZW50RQlFcnJvcgorCUhpTGluawljc2NTcGFjZUUJRXJyb3IKKwlIaUxpbmsJY3NjRXJyb3IJRXJyb3IKKwlIaUxpbmsJY3NjU3RyaW5nCVN0cmluZworCUhpTGluawljc2NDb21tZW50CUNvbW1lbnQKKwlIaUxpbmsJY3NjVG9kbwkJVG9kbworCUhpTGluawljc2NTdGF0ZW1lbnQJU3RhdGVtZW50CisJSGlMaW5rCWNzY0lmRXJyb3IJRXJyb3IKKwlIaUxpbmsJY3NjRXFFcnJvcglFcnJvcgorCUhpTGluawljc2NGdW5jdGlvbglTdGF0ZW1lbnQKKwlIaUxpbmsJY3NjQ29uZGl0aW9uCVN0YXRlbWVudAorCUhpTGluawljc2NXYXJuCQlXYXJuaW5nTXNnCisKKwlIaUxpbmsJY3NjQ29tRQlFcnJvcgorCUhpTGluawljc2NDb20JU3RhdGVtZW50CisJSGlMaW5rCWNzY0NvbVcJV2FybmluZ01zZworCisJSGlMaW5rCWNzY0JQTWFjcm8JSWRlbnRpZmllcgorCUhpTGluawljc2NCUFcJCVdhcm5pbmdNc2cKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc2MiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jc2gudmltIGIvcnVudGltZS9zeW50YXgvY3NoLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTNkM2UyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY3NoLnZpbQpAQCAtMCwwICsxLDE2MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUMtc2hlbGwgKGNzaCkKKyIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KKyIgVmVyc2lvbjoJOAorIiBMYXN0IENoYW5nZToJU2VwIDAyLCAyMDAzCisiIFVSTDoJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgY2x1c3RlcnM6CitzeW4gY2x1c3RlciBjc2hRdW90ZUxpc3QJY29udGFpbnM9Y3NoRGJsUXVvdGUsY3NoU25nbFF1b3RlLGNzaEJja1F1b3RlCitzeW4gY2x1c3RlciBjc2hWYXJMaXN0CWNvbnRhaW5zPWNzaEV4dFZhcixjc2hTZWxlY3Rvcixjc2hRdHlXb3JkLGNzaEFyZ3YsY3NoU3Vic3QKKworIiBWYXJpYWJsZXMgd2hpY2ggYWZmZWN0IHRoZSBjc2ggaXRzZWxmCitzeW4gbWF0Y2ggY3NoU2V0VmFyaWFibGVzCWNvbnRhaW5lZCAiYXJndlx8aGlzdGNoYXJzXHxpZ25vcmVlb2ZcfG5vZ2xvYlx8cHJvbXB0XHxzdGF0dXMiCitzeW4gbWF0Y2ggY3NoU2V0VmFyaWFibGVzCWNvbnRhaW5lZCAiY2RwYXRoXHxoaXN0b3J5XHxtYWlsXHxub25vbWF0Y2hcfHNhdmVoaXN0XHx0aW1lIgorc3luIG1hdGNoIGNzaFNldFZhcmlhYmxlcwljb250YWluZWQgImN3ZFx8aG9tZVx8bm9jbG9iYmVyXHxwYXRoXHxzaGVsbFx8dmVyYm9zZSIKK3N5biBtYXRjaCBjc2hTZXRWYXJpYWJsZXMJY29udGFpbmVkICJlY2hvIgorCitzeW4gY2FzZSBpZ25vcmUKK3N5biBrZXl3b3JkIGNzaFRvZG8JY29udGFpbmVkIHRvZG8KK3N5biBjYXNlIG1hdGNoCisKKyIgVmFyaWFibGUgTmFtZSBFeHBhbnNpb24gTW9kaWZpZXJzCitzeW4gbWF0Y2ggY3NoTW9kaWZpZXIJY29udGFpbmVkICI6XChoXHx0XHxyXHxxXHx4XHxnaFx8Z3RcfGdyXCkiCisKKyIgU3RyaW5ncyBhbmQgQ29tbWVudHMKK3N5biBtYXRjaCAgIGNzaE5vRW5kbGluZURRCWNvbnRhaW5lZCAiW15cIl1cKFxcXFxcKSokIgorc3luIG1hdGNoICAgY3NoTm9FbmRsaW5lU1EJY29udGFpbmVkICJbXlwnXVwoXFxcXFwpKiQiCitzeW4gbWF0Y2ggICBjc2hOb0VuZGxpbmVCUQljb250YWluZWQgIlteXGBdXChcXFxcXCkqJCIKKworc3luIHJlZ2lvbiAgY3NoRGJsUXVvdGUJc3RhcnQ9K1teXFxdIitsYz0xIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKwljb250YWlucz1jc2hTcGVjaWFsLGNzaFNoZWxsVmFyaWFibGVzLGNzaEV4dFZhcixjc2hTZWxlY3Rvcixjc2hRdHlXb3JkLGNzaEFyZ3YsY3NoU3Vic3QsY3NoTm9FbmRsaW5lRFEsY3NoQmNrUXVvdGUKK3N5biByZWdpb24gIGNzaFNuZ2xRdW90ZQlzdGFydD0rW15cXF0nK2xjPTEgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrCWNvbnRhaW5zPWNzaE5vRW5kbGluZVNRCitzeW4gcmVnaW9uICBjc2hCY2tRdW90ZQlzdGFydD0rW15cXF1gK2xjPTEgc2tpcD0rXFxcXFx8XFxgKyBlbmQ9K2ArCWNvbnRhaW5zPWNzaE5vRW5kbGluZUJRCitzeW4gcmVnaW9uICBjc2hEYmxRdW90ZQlzdGFydD0rXiIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKwkJY29udGFpbnM9Y3NoU3BlY2lhbCxjc2hFeHRWYXIsY3NoU2VsZWN0b3IsY3NoUXR5V29yZCxjc2hBcmd2LGNzaFN1YnN0LGNzaE5vRW5kbGluZURRCitzeW4gcmVnaW9uICBjc2hTbmdsUXVvdGUJc3RhcnQ9K14nKyBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysJCWNvbnRhaW5zPWNzaE5vRW5kbGluZVNRCitzeW4gcmVnaW9uICBjc2hCY2tRdW90ZQlzdGFydD0rXmArIHNraXA9K1xcXFxcfFxcYCsgZW5kPStgKwkJY29udGFpbnM9Y3NoTm9FbmRsaW5lQlEKK3N5biBjbHVzdGVyIGNzaENvbW1lbnRHcm91cAljb250YWlucz1jc2hUb2RvLEBTcGVsbAorc3luIG1hdGNoICAgY3NoQ29tbWVudAkiIy4qJCIgY29udGFpbnM9QGNzaENvbW1lbnRHcm91cAorCisiIEEgYnVuY2ggb2YgdXNlZnVsIGNzaCBrZXl3b3Jkcworc3luIGtleXdvcmQgY3NoU3RhdGVtZW50CWFsaWFzCWVuZAloaXN0b3J5CW9uaW50cglzZXRlbnYJdW5hbGlhcworc3luIGtleXdvcmQgY3NoU3RhdGVtZW50CWNkCWV2YWwJa2lsbAlwb3BkCXNoaWZ0CXVuaGFzaAorc3luIGtleXdvcmQgY3NoU3RhdGVtZW50CWNoZGlyCWV4ZWMJbG9naW4JcHVzaGQJc291cmNlCitzeW4ga2V5d29yZCBjc2hTdGF0ZW1lbnQJY29udGludWUJZXhpdAlsb2dvdXQJcmVoYXNoCXRpbWUJdW5zZXRlbnYKK3N5biBrZXl3b3JkIGNzaFN0YXRlbWVudAlkaXJzCWdsb2IJbmljZQlyZXBlYXQJdW1hc2sJd2FpdAorc3luIGtleXdvcmQgY3NoU3RhdGVtZW50CWVjaG8JZ290bwlub2h1cAorCitzeW4ga2V5d29yZCBjc2hDb25kaXRpb25hbAlicmVhawljYXNlCWVsc2UJZW5kc3cJc3dpdGNoCitzeW4ga2V5d29yZCBjc2hDb25kaXRpb25hbAlicmVha3N3CWRlZmF1bHQJZW5kaWYKK3N5biBrZXl3b3JkIGNzaFJlcGVhdAlmb3JlYWNoCisKKyIgU3BlY2lhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKK3N5biBrZXl3b3JkIGNzaFNoZWxsVmFyaWFibGVzCUhPTUUJTE9HTkFNRQlQQVRICVRFUk0JVVNFUgorCisiIE1vZGlmaWFibGUgVmFyaWFibGVzIHdpdGhvdXQge30KK3N5biBtYXRjaCBjc2hFeHRWYXIJIlwkW2EtekEtWl9dW2EtekEtWjAtOV9dKlwoOmhcfDp0XHw6clx8OnFcfDp4XHw6Z2hcfDpndFx8OmdyXClcPSIJCWNvbnRhaW5zPWNzaE1vZGlmaWVyCitzeW4gbWF0Y2ggY3NoU2VsZWN0b3IJIlwkW2EtekEtWl9dW2EtekEtWjAtOV9dKlxbW2EtekEtWl9dXCtcXVwoOmhcfDp0XHw6clx8OnFcfDp4XHw6Z2hcfDpndFx8OmdyXClcPSIJY29udGFpbnM9Y3NoTW9kaWZpZXIKK3N5biBtYXRjaCBjc2hRdHlXb3JkCSJcJCNbYS16QS1aX11bYS16QS1aMC05X10qXCg6aFx8OnRcfDpyXHw6cVx8OnhcfDpnaFx8Omd0XHw6Z3JcKVw9IgkJY29udGFpbnM9Y3NoTW9kaWZpZXIKK3N5biBtYXRjaCBjc2hBcmd2CQkiXCRcZFwrXCg6aFx8OnRcfDpyXHw6cVx8OnhcfDpnaFx8Omd0XHw6Z3JcKVw9IgkJCWNvbnRhaW5zPWNzaE1vZGlmaWVyCitzeW4gbWF0Y2ggY3NoQXJndgkJIlwkXCpcKDpoXHw6dFx8OnJcfDpxXHw6eFx8OmdoXHw6Z3RcfDpnclwpXD0iCQkJY29udGFpbnM9Y3NoTW9kaWZpZXIKKworIiBNb2RpZmlhYmxlIFZhcmlhYmxlcyB3aXRoIHt9CitzeW4gbWF0Y2ggY3NoRXh0VmFyCSJcJHtbYS16QS1aX11bYS16QS1aMC05X10qXCg6aFx8OnRcfDpyXHw6cVx8OnhcfDpnaFx8Omd0XHw6Z3JcKVw9fSIJCWNvbnRhaW5zPWNzaE1vZGlmaWVyCitzeW4gbWF0Y2ggY3NoU2VsZWN0b3IJIlwke1thLXpBLVpfXVthLXpBLVowLTlfXSpcW1thLXpBLVpfXVwrXF1cKDpoXHw6dFx8OnJcfDpxXHw6eFx8OmdoXHw6Z3RcfDpnclwpXD19Igljb250YWlucz1jc2hNb2RpZmllcgorc3luIG1hdGNoIGNzaFF0eVdvcmQJIlwkeyNbYS16QS1aX11bYS16QS1aMC05X10qXCg6aFx8OnRcfDpyXHw6cVx8OnhcfDpnaFx8Omd0XHw6Z3JcKVw9fSIJCWNvbnRhaW5zPWNzaE1vZGlmaWVyCitzeW4gbWF0Y2ggY3NoQXJndgkJIlwke1xkXCtcKDpoXHw6dFx8OnJcfDpxXHw6eFx8OmdoXHw6Z3RcfDpnclwpXD19IgkJCWNvbnRhaW5zPWNzaE1vZGlmaWVyCisKKyIgVW5Nb2RpZmlhYmxlIFN1YnN0aXR1dGlvbnMKK3N5biBtYXRjaCBjc2hTdWJzdEVycm9yCSJcJD9bYS16QS1aX11bYS16QS1aMC05X10qOlwoaFx8dFx8clx8cVx8eFx8Z2hcfGd0XHxnclwpIgorc3luIG1hdGNoIGNzaFN1YnN0RXJyb3IJIlwkez9bYS16QS1aX11bYS16QS1aMC05X10qOlwoaFx8dFx8clx8cVx8eFx8Z2hcfGd0XHxnclwpfSIKK3N5biBtYXRjaCBjc2hTdWJzdEVycm9yCSJcJD9bMCQ8XTpcKGhcfHRcfHJcfHFcfHhcfGdoXHxndFx8Z3JcKSIKK3N5biBtYXRjaCBjc2hTdWJzdAkiXCQ/W2EtekEtWl9dW2EtekEtWjAtOV9dKiIKK3N5biBtYXRjaCBjc2hTdWJzdAkiXCR7P1thLXpBLVpfXVthLXpBLVowLTlfXSp9Igorc3luIG1hdGNoIGNzaFN1YnN0CSJcJD9bMCQ8XSIKKworIiBJL08gcmVkaXJlY3Rpb24KK3N5biBtYXRjaCBjc2hSZWRpcgkiPj4mIVx8PiYhXHw+PiZcfD4+IVx8PiZcfD4hXHw+Plx8PDxcfD5cfDwiCisKKyIgSGFuZGxlIHNldCBleHByZXNzaW9ucworc3luIHJlZ2lvbiAgY3NoU2V0RXhwcgltYXRjaGdyb3VwPWNzaFNldFN0bXQgc3RhcnQ9Ilw8c2V0XD5cfFw8dW5zZXRcPiIgZW5kPSIkXHw7IiBjb250YWlucz1jc2hDb21tZW50LGNzaFNldFN0bXQsY3NoU2V0VmFyaWFibGVzLEBjc2hRdW90ZUxpc3QKKworIiBPcGVyYXRvcnMgYW5kIEV4cHJlc3Npb24tVXNpbmcgY29uc3RydWN0cworInN5biBtYXRjaCAgIGNzaE9wZXJhdG9yCWNvbnRhaW5lZCAiJiZcfCFcflx8IT1cfDw8XHw8PVx8PT1cfD1cflx8Pj1cfD4+XHxcKlx8XF5cfFx+XHx8fFx8IVx8XHwlXHwmXHwrXHwtXHwvXHw8XHw+XHx8Igorc3luIG1hdGNoICAgY3NoT3BlcmF0b3IJY29udGFpbmVkICImJlx8IVx+XHwhPVx8PDxcfDw9XHw9PVx8PVx+XHw+PVx8Pj5cfFwqXHxcXlx8XH5cfHx8XHwhXHwlXHwmXHwrXHwtXHwvXHw8XHw+XHx8Igorc3luIG1hdGNoICAgY3NoT3BlcmF0b3IJY29udGFpbmVkICJbKCl7fV0iCitzeW4gcmVnaW9uICBjc2hUZXN0CW1hdGNoZ3JvdXA9Y3NoU3RhdGVtZW50IHN0YXJ0PSJcPGlmXD5cfFw8d2hpbGVcPiIgc2tpcD0iXFwkIiBtYXRjaGdyb3VwPWNzaFN0YXRlbWVudCBlbmQ9Ilw8dGhlblw+XHwkIiBjb250YWlucz1jc2hDb21tZW50LGNzaE9wZXJhdG9yLEBjc2hRdW90ZUxpc3QsQGNzaFZhckxJc3QKKworIiBIaWdobGlnaHQgc3BlY2lhbCBjaGFyYWN0ZXJzICh0aG9zZSB3aGljaCBoYXZlIGEgYmFja3NsYXNoKSBkaWZmZXJlbnRseQorc3luIG1hdGNoIGNzaFNwZWNpYWwJY29udGFpbmVkICJcXFxkXGRcZFx8XFxbYWJjZm5ydHZcXF0iCitzeW4gbWF0Y2ggY3NoTnVtYmVyCSItXD1cPFxkXCtcPiIKKworIiBBbGwgb3RoZXIgaWRlbnRpZmllcnMKKyJzeW4gbWF0Y2ggY3NoSWRlbnRpZmllcgkiXDxbYS16QS1aLl9dW2EtekEtWjAtOS5fXSpcPiIKKworIiBTaGVsbCBJbnB1dCBSZWRpcmVjdGlvbiAoSGVyZSBEb2N1bWVudHMpCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biByZWdpb24gY3NoSGVyZURvYyBtYXRjaGdyb3VwPWNzaFJlZGlyIHN0YXJ0PSI8PC1cPVxzKlwqKkVORFthLXpBLVpfMC05XSpcKioiIG1hdGNoZ3JvdXA9Y3NoUmVkaXIgZW5kPSJeRU5EW2EtekEtWl8wLTldKiQiCisgIHN5biByZWdpb24gY3NoSGVyZURvYyBtYXRjaGdyb3VwPWNzaFJlZGlyIHN0YXJ0PSI8PC1cPVxzKlwqKkVPRlwqKiIgbWF0Y2hncm91cD1jc2hSZWRpciBlbmQ9Il5FT0YkIgorZWxzZQorICBzeW4gcmVnaW9uIGNzaEhlcmVEb2MgbWF0Y2hncm91cD1jc2hSZWRpciBzdGFydD0iPDwtXD1ccypcKipceihcaFx3KlwpXCoqIiBtYXRjaGdyb3VwPWNzaFJlZGlyIGVuZD0iXlx6MSQiCitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jc2hfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfY3NoX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGNzaEFyZ3YJCWNzaFZhcmlhYmxlcworICBIaUxpbmsgY3NoQmNrUXVvdGUJY3NoQ29tbWFuZAorICBIaUxpbmsgY3NoRGJsUXVvdGUJY3NoU3RyaW5nCisgIEhpTGluayBjc2hFeHRWYXIJY3NoVmFyaWFibGVzCisgIEhpTGluayBjc2hIZXJlRG9jCWNzaFN0cmluZworICBIaUxpbmsgY3NoTm9FbmRsaW5lQlEJY3NoTm9FbmRsaW5lCisgIEhpTGluayBjc2hOb0VuZGxpbmVEUQljc2hOb0VuZGxpbmUKKyAgSGlMaW5rIGNzaE5vRW5kbGluZVNRCWNzaE5vRW5kbGluZQorICBIaUxpbmsgY3NoUXR5V29yZAljc2hWYXJpYWJsZXMKKyAgSGlMaW5rIGNzaFJlZGlyCQljc2hPcGVyYXRvcgorICBIaUxpbmsgY3NoU2VsZWN0b3IJY3NoVmFyaWFibGVzCisgIEhpTGluayBjc2hTZXRTdG10CWNzaFN0YXRlbWVudAorICBIaUxpbmsgY3NoU2V0VmFyaWFibGVzCWNzaFZhcmlhYmxlcworICBIaUxpbmsgY3NoU25nbFF1b3RlCWNzaFN0cmluZworICBIaUxpbmsgY3NoU3Vic3QJCWNzaFZhcmlhYmxlcworCisgIEhpTGluayBjc2hDb21tYW5kCVN0YXRlbWVudAorICBIaUxpbmsgY3NoQ29tbWVudAlDb21tZW50CisgIEhpTGluayBjc2hDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgY3NoSWRlbnRpZmllcglFcnJvcgorICBIaUxpbmsgY3NoTW9kaWZpZXIJU3BlY2lhbAorICBIaUxpbmsgY3NoTm9FbmRsaW5lCUVycm9yCisgIEhpTGluayBjc2hOdW1iZXIJTnVtYmVyCisgIEhpTGluayBjc2hPcGVyYXRvcglPcGVyYXRvcgorICBIaUxpbmsgY3NoUmVkaXIJCVN0YXRlbWVudAorICBIaUxpbmsgY3NoUmVwZWF0CVJlcGVhdAorICBIaUxpbmsgY3NoU2hlbGxWYXJpYWJsZXMJU3BlY2lhbAorICBIaUxpbmsgY3NoU3BlY2lhbAlTcGVjaWFsCisgIEhpTGluayBjc2hTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBjc2hTdHJpbmcJU3RyaW5nCisgIEhpTGluayBjc2hTdWJzdEVycm9yCUVycm9yCisgIEhpTGluayBjc2hUb2RvCQlUb2RvCisgIEhpTGluayBjc2hWYXJpYWJsZXMJVHlwZQorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc2giCisKKyIgdmltOiB0cz0xOApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3NwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NzcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ2MjEzZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2NzcC52aW0KQEAgLTAsMCArMSwxOTUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglDU1AgKENvbW11bmljYXRpb24gU2VxdWVudGlhbCBQcm9jZXNzZXMsIHVzaW5nIEZEUiBpbnB1dCBzeW50YXgpCisiIE1haW50YWluZXI6CUphbiBCcmVkZXJla2UgPGJyZWRlcmVrQHR6aS5kZT4KKyIgVmVyc2lvbjoJMC42LjAKKyIgTGFzdCBjaGFuZ2U6CU1vbiBNYXIgMjUsIDIwMDIKKyIgVVJMOgkJaHR0cDovL3d3dy50emkuZGUvfmJyZWRlcmVrL3ZpbS8KKyIgQ29weWluZzoJWW91IG1heSBkaXN0cmlidXRlIGFuZCB1c2UgdGhpcyBmaWxlIGZyZWVseSwgaW4gdGhlIHNhbWUKKyIJCXdheSBhcyB0aGUgdmltIGVkaXRvciBpdHNlbGYuCisiCisiIFRvIERvOgktIFByb2JhYmx5IEkgbWlzc2VkIHNvbWUga2V5d29yZHMgb3Igb3BlcmF0b3JzLCBwbGVhc2UKKyIJCSAgZml4IHRoZW0gYW5kIG5vdGlmeSBtZSwgdGhlIG1haW50YWluZXIuCisiCQktIEN1cnJlbnRseSwgd2UgZG8gbGV4aWNhbCBoaWdobGlnaHRpbmcgb25seS4gSXQgd291bGQgYmUKKyIJCSAgbmljZSB0byBoYXZlIG1vcmUgYWN0dWFsIHN5bnRheCBjaGVja3MsIGluY2x1ZGluZworIgkJICBoaWdobGlnaHRpbmcgb2Ygd3Jvbmcgc3ludGF4LgorIgkJLSBUaGUgYWRkaXRpb25hbCBzeW50YXggZm9yIHRoZSBSVC1UZXN0ZXIgKHBzZXVkby1jb21tZW50cykKKyIJCSAgc2hvdWxkIGJlIG9wdGlvbmFsLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgY2FzZSBpcyBzaWduaWZpY2FudCB0byBGRFI6CitzeW4gY2FzZSBtYXRjaAorCisiIEJsb2NrIGNvbW1lbnRzIGluIENTUCBhcmUgYmV0d2VlbiB7LSBhbmQgLX0KK3N5biByZWdpb24gY3NwQ29tbWVudAlzdGFydD0iey0iICBlbmQ9Ii19IiBjb250YWlucz1jc3BUb2RvCisiIFNpbmdsZS1saW5lIGNvbW1lbnRzIHN0YXJ0IHdpdGggLS0KK3N5biByZWdpb24gY3NwQ29tbWVudAlzdGFydD0iLS0iICBlbmQ9IiQiIGNvbnRhaW5zPWNzcFRvZG8sY3NwT2xkUnR0Q29tbWVudCxjc3BTZGxSdHRDb21tZW50IGtlZXBlbmQKKworIiBOdW1iZXJzOgorc3luIG1hdGNoICBjc3BOdW1iZXIgIlw8XGRcK1w+IgorCisiIENvbmRpdGlvbmFsczoKK3N5biBrZXl3b3JkICBjc3BDb25kaXRpb25hbCBpZiB0aGVuIGVsc2UKKworIiBPcGVyYXRvcnMgb24gcHJvY2Vzc2VzOgorIiAtPiA/IDogISAnIDsgL1wgXCBbXSB8fnwgWz4gJiBbWy4uPC0uLl1dIHx8fCBbfC4ufF0gfHwgWy4uPC0+Li5dIDsgOiBAIHx8fAorc3luIG1hdGNoICBjc3BPcGVyYXRvciAiLT4iCitzeW4gbWF0Y2ggIGNzcE9wZXJhdG9yICIvXFwiCitzeW4gbWF0Y2ggIGNzcE9wZXJhdG9yICJbXi9dXFwibGM9MQorc3luIG1hdGNoICBjc3BPcGVyYXRvciAiXFtcXSIKK3N5biBtYXRjaCAgY3NwT3BlcmF0b3IgInxcfnwiCitzeW4gbWF0Y2ggIGNzcE9wZXJhdG9yICJcWz4iCitzeW4gbWF0Y2ggIGNzcE9wZXJhdG9yICJcW1xbIgorc3luIG1hdGNoICBjc3BPcGVyYXRvciAiXF1cXSIKK3N5biBtYXRjaCAgY3NwT3BlcmF0b3IgIjwtIgorc3luIG1hdGNoICBjc3BPcGVyYXRvciAifHx8Igorc3luIG1hdGNoICBjc3BPcGVyYXRvciAiW158XXx8W158XSJsYz0xLG1lPWUtMQorc3luIG1hdGNoICBjc3BPcGVyYXRvciAiW158e1x+XXxbXnx9XH5dImxjPTEsbWU9ZS0xCitzeW4gbWF0Y2ggIGNzcE9wZXJhdG9yICJcW3wiCitzeW4gbWF0Y2ggIGNzcE9wZXJhdG9yICJ8XF0iCitzeW4gbWF0Y2ggIGNzcE9wZXJhdG9yICJcW1tePl0ibWU9ZS0xCitzeW4gbWF0Y2ggIGNzcE9wZXJhdG9yICJcXSIKK3N5biBtYXRjaCAgY3NwT3BlcmF0b3IgIjwtPiIKK3N5biBtYXRjaCAgY3NwT3BlcmF0b3IgIls/OiEnO0BdIgorc3luIG1hdGNoICBjc3BPcGVyYXRvciAiJiIKK3N5biBtYXRjaCAgY3NwT3BlcmF0b3IgIlwuIgorCisiIChub3Qgb24gcHJvY2Vzc2VzOikKKyIgc3luIG1hdGNoICBjc3BEZWxpbWl0ZXIJInt8IgorIiBzeW4gbWF0Y2ggIGNzcERlbGltaXRlcgkifH0iCisiIHN5biBtYXRjaCAgY3NwRGVsaW1pdGVyCSJ7W14tfF0ibWU9ZS0xCisiIHN5biBtYXRjaCAgY3NwRGVsaW1pdGVyCSJbXi18XX0ibGM9MQorCisiIEtleXdvcmRzOgorc3luIGtleXdvcmQgY3NwS2V5d29yZAkJbGVuZ3RoIG51bGwgaGVhZCB0YWlsIGNvbmNhdCBlbGVtCitzeW4ga2V5d29yZCBjc3BLZXl3b3JkCQl1bmlvbiBpbnRlciBkaWZmIFVuaW9uIEludGVyIG1lbWJlciBjYXJkCitzeW4ga2V5d29yZCBjc3BLZXl3b3JkCQllbXB0eSBzZXQgU2V0IFNlcQorc3luIGtleXdvcmQgY3NwS2V5d29yZAkJdHJ1ZSBmYWxzZSBhbmQgb3Igbm90IHdpdGhpbiBsZXQKK3N5biBrZXl3b3JkIGNzcEtleXdvcmQJCW5hbWV0eXBlIGRhdGF0eXBlIGRpYW1vbmQgbm9ybWFsCitzeW4ga2V5d29yZCBjc3BLZXl3b3JkCQlzYmlzaW0gdGF1X2xvb3BfZmFjdG9yIG1vZGVsX2NvbXByZXNzCitzeW4ga2V5d29yZCBjc3BLZXl3b3JkCQlleHBsaWNhdGUKK3N5biBtYXRjaCBjc3BLZXl3b3JkCQkidHJhbnNwYXJlbnQiCitzeW4ga2V5d29yZCBjc3BLZXl3b3JkCQlleHRlcm5hbCBjaGFzZSBwcmlvcml0aXplCitzeW4ga2V5d29yZCBjc3BLZXl3b3JkCQljaGFubmVsIEV2ZW50cworc3luIGtleXdvcmQgY3NwS2V5d29yZAkJZXh0ZW5zaW9ucyBwcm9kdWN0aW9ucworc3luIGtleXdvcmQgY3NwS2V5d29yZAkJQm9vbCBJbnQKKworIiBSZXNlcnZlZCBrZXl3b3JkczoKK3N5biBrZXl3b3JkIGNzcFJlc2VydmVkCQlhdHRyaWJ1dGUgZW1iZWQgbW9kdWxlIHN1YnR5cGUKKworIiBJbmNsdWRlOgorc3luIHJlZ2lvbiBjc3BJbmNsdWRlIG1hdGNoZ3JvdXA9Y3NwSW5jbHVkZUtleXdvcmQgc3RhcnQ9Il5pbmNsdWRlIiBlbmQ9IiQiIGtlZXBlbmQgY29udGFpbnM9Y3NwSW5jbHVkZUFyZworc3luIHJlZ2lvbiBjc3BJbmNsdWRlQXJnIHN0YXJ0PSdcc1wrXCInIGVuZD0gJ1wiXHMqJyBjb250YWluZWQKKworIiBBc3NlcnRpb25zOgorc3luIGtleXdvcmQgY3NwQXNzZXJ0CQlhc3NlcnQgZGV0ZXJtaW5pc3RpYyBkaXZlcmdlbmNlIGZyZWUgZGVhZGxvY2sKK3N5biBrZXl3b3JkIGNzcEFzc2VydAkJbGl2ZWxvY2sKK3N5biBtYXRjaCBjc3BBc3NlcnQJCSJcW1Q9Igorc3luIG1hdGNoIGNzcEFzc2VydAkJIlxbRj0iCitzeW4gbWF0Y2ggY3NwQXNzZXJ0CQkiXFtGRD0iCitzeW4gbWF0Y2ggY3NwQXNzZXJ0CQkiXFtGRFxdIgorc3luIG1hdGNoIGNzcEFzc2VydAkJIlxbRlxdIgorCisiIFR5cGVzIGFuZCBTZXRzCisiIChmaXJzdCBjaGFyIGEgY2FwaXRhbCwgbGF0ZXIgYXQgbGVhc3Qgb25lIGxvd2VyIGNhc2UsIG5vIHRyYWlsaW5nIHVuZGVyc2NvcmUpOgorc3luIG1hdGNoIGNzcFR5cGUgICAgICJcPF8qW0EtWl1bQS1aXzAtOV0qW2Etel1cKFx8W0EtWmEtel8wLTldKltBLVphLXowLTldXClcPiIKKworIiBQcm9jZXNzZXMgKGFsbCB1cHBlciBjYXNlLCBubyB0cmFpbGluZyB1bmRlcnNjb3JlKToKKyIgKEZvciBpZGVudGlmaWVycyB0aGF0IGNvdWxkIGJlIHR5cGVzIG9yIHNldHMsIHRvbywgdGhpcyBzZWNvbmQgcnVsZSBzZXQKKyIgd2lucy4pCitzeW4gbWF0Y2ggY3NwUHJvY2VzcwkJIlw8W0EtWl9dW0EtWl8wLTldKltBLVowLTldXD4iCitzeW4gbWF0Y2ggY3NwUHJvY2VzcwkJIlw8W0EtWl9dXD4iCisKKyIgcmVzZXJ2ZWQgaWRlbnRpZmllcnMgZm9yIHRvb2wgb3V0cHV0IChlbmRpbmcgaW4gdW5kZXJzY29yZSk6CitzeW4gbWF0Y2ggY3NwUmVzZXJ2ZWRJZGVudGlmaWVyCSJcPFtBLVphLXpfXVtBLVphLXpfMC05XSpfXD4iCisKKyIgVG9EbyBtYXJrZXJzOgorc3luIG1hdGNoIGNzcFRvZG8JCSJGSVhNRSIJY29udGFpbmVkCitzeW4gbWF0Y2ggY3NwVG9kbwkJIlRPRE8iCWNvbnRhaW5lZAorc3luIG1hdGNoIGNzcFRvZG8JCSIhISEiCWNvbnRhaW5lZAorCisiIFJULVRlc3RlciBwc2V1ZG8gY29tbWVudHM6CisiIChUaGUgbm93IG9ic29sZXRlIHN5bnRheDopCitzeW4gbWF0Y2ggY3NwT2xkUnR0Q29tbWVudAkiXi0tXCRcJEFNX1VOREVGImxjPTIJCWNvbnRhaW5lZAorc3luIG1hdGNoIGNzcE9sZFJ0dENvbW1lbnQJIl4tLVwkXCRBTV9FUlJPUiJsYz0yCQljb250YWluZWQKK3N5biBtYXRjaCBjc3BPbGRSdHRDb21tZW50CSJeLS1cJFwkQU1fV0FSTklORyJsYz0yCQljb250YWluZWQKK3N5biBtYXRjaCBjc3BPbGRSdHRDb21tZW50CSJeLS1cJFwkQU1fU0VUX1RJTUVSImxjPTIJY29udGFpbmVkCitzeW4gbWF0Y2ggY3NwT2xkUnR0Q29tbWVudAkiXi0tXCRcJEFNX1JFU0VUX1RJTUVSImxjPTIJY29udGFpbmVkCitzeW4gbWF0Y2ggY3NwT2xkUnR0Q29tbWVudAkiXi0tXCRcJEFNX0VMQVBTRURfVElNRVIibGM9Mgljb250YWluZWQKK3N5biBtYXRjaCBjc3BPbGRSdHRDb21tZW50CSJeLS1cJFwkQU1fT1VUUFVUImxjPTIJCWNvbnRhaW5lZAorc3luIG1hdGNoIGNzcE9sZFJ0dENvbW1lbnQJIl4tLVwkXCRBTV9JTlBVVCJsYz0yCQljb250YWluZWQKKyIgKFRoZSBjdXJyZW50IHN5bnRheDopCitzeW4gcmVnaW9uIGNzcFJ0dFByYWdtYSBtYXRjaGdyb3VwPWNzcFJ0dFByYWdtYUtleXdvcmQgc3RhcnQ9Il5wcmFnbWFcc1wrIiBlbmQ9IlxzKiQiIG9uZWxpbmUga2VlcGVuZCBjb250YWlucz1jc3BSdHRQcmFnbWFBcmcsY3NwUnR0UHJhZ21hU2RsCitzeW4ga2V5d29yZCBjc3BSdHRQcmFnbWFBcmcJQU1fRVJST1IgQU1fV0FSTklORyBBTV9TRVRfVElNRVIgY29udGFpbmVkCitzeW4ga2V5d29yZCBjc3BSdHRQcmFnbWFBcmcJQU1fUkVTRVRfVElNRVIgQU1fRUxBUFNFRF9USU1FUiAgY29udGFpbmVkCitzeW4ga2V5d29yZCBjc3BSdHRQcmFnbWFBcmcJQU1fT1VUUFVUIEFNX0lOUFVUIEFNX0lOVEVSTkFMICAgY29udGFpbmVkCisiIHRoZSAiU0RMX01BVENIIiBleHRlbnNpb246CitzeW4gcmVnaW9uIGNzcFJ0dFByYWdtYVNkbAltYXRjaGdyb3VwPWNzcFJ0dFByYWdtYUtleXdvcmQgc3RhcnQ9IlNETF9NQVRDSFxzXCsiIGVuZD0iXHMqJCIgY29udGFpbnM9Y3NwUnR0UHJhZ21hU2RsQXJnIGNvbnRhaW5lZAorc3luIGtleXdvcmQgY3NwUnR0UHJhZ21hU2RsQXJnCVRSQU5TTEFURSBuZXh0Z3JvdXA9Y3NwUnR0UHJhZ21hU2RsVHJhbnNOYW1lIGNvbnRhaW5lZAorc3luIGtleXdvcmQgY3NwUnR0UHJhZ21hU2RsQXJnCVBBUkFNIFNLSVAgT1BUSU9OQUwgQ0hPSUNFIEFSUkFZIG5leHRncm91cD1jc3BSdHRQcmFnbWFTZGxOYW1lIGNvbnRhaW5lZAorc3luIG1hdGNoIGNzcFJ0dFByYWdtYVNkbE5hbWUJIlxzKlxTXCtccyoiIG5leHRncm91cD1jc3BSdHRQcmFnbWFTZGxUYWlsIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBjc3BSdHRQcmFnbWFTZGxUYWlsICBzdGFydD0iIiBlbmQ9IlxzKiQiIGNvbnRhaW5zPWNzcFJ0dFByYWdtYVNkbFRhaWxBcmcgY29udGFpbmVkCitzeW4ga2V5d29yZCBjc3BSdHRQcmFnbWFTZGxUYWlsQXJnCVNVQlNFVF9VU0VEIERFRkFVTFRfVkFMVUUgUHJlc2VudCBjb250YWluZWQKK3N5biBtYXRjaCBjc3BSdHRQcmFnbWFTZGxUcmFuc05hbWUJIlxzKlx3XCtccyoiIG5leHRncm91cD1jc3BSdHRQcmFnbWFTZGxUcmFuc1RhaWwgY29udGFpbmVkCitzeW4gcmVnaW9uIGNzcFJ0dFByYWdtYVNkbFRyYW5zVGFpbCAgc3RhcnQ9IiIgZW5kPSJccyokIiBjb250YWlucz1jc3BSdHRQcmFnbWFTZGxUcmFuc1RhaWxBcmcgY29udGFpbmVkCitzeW4ga2V5d29yZCBjc3BSdHRQcmFnbWFTZGxUcmFuc1RhaWxBcmcJc2l6ZW9mIGNvbnRhaW5lZAorc3luIG1hdGNoIGNzcFJ0dFByYWdtYVNkbFRyYW5zVGFpbEFyZwkiXCoiIGNvbnRhaW5lZAorc3luIG1hdGNoIGNzcFJ0dFByYWdtYVNkbFRyYW5zVGFpbEFyZwkiKCIgY29udGFpbmVkCitzeW4gbWF0Y2ggY3NwUnR0UHJhZ21hU2RsVHJhbnNUYWlsQXJnCSIpIiBjb250YWluZWQKKworIiB0ZW1wb3Jhcnkgc3ludGF4IGV4dGVuc2lvbiBmb3IgY29tbWVudGVkLW91dCAicHJhZ21hIFNETF9NQVRDSCI6CitzeW4gbWF0Y2ggY3NwU2RsUnR0Q29tbWVudAkicHJhZ21hXHNcK1NETF9NQVRDSFxzXCsiIG5leHRncm91cD1jc3BSdHRQcmFnbWFTZGxBcmcgY29udGFpbmVkCisKK3N5biBzeW5jIGxpbmVzPTI1MAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jc3Bfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfY3NwX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICAiIChGb3IgdmltIHZlcnNpb24gPD01LjcsIHRoZSBjb21tYW5kIGdyb3VwcyBhcmUgZGVmaW5lZCBpbgorICAiICRWSU1SVU5USU1FL3N5bnRheC9zeW5sb2FkLnZpbSApCisgIEhpTGluayBjc3BDb21tZW50CQkJQ29tbWVudAorICBIaUxpbmsgY3NwTnVtYmVyCQkJTnVtYmVyCisgIEhpTGluayBjc3BDb25kaXRpb25hbAkJCUNvbmRpdGlvbmFsCisgIEhpTGluayBjc3BPcGVyYXRvcgkJCURlbGltaXRlcgorICBIaUxpbmsgY3NwS2V5d29yZAkJCUtleXdvcmQKKyAgSGlMaW5rIGNzcFJlc2VydmVkCQkJU3BlY2lhbENoYXIKKyAgSGlMaW5rIGNzcEluY2x1ZGUJCQlFcnJvcgorICBIaUxpbmsgY3NwSW5jbHVkZUtleXdvcmQJCUluY2x1ZGUKKyAgSGlMaW5rIGNzcEluY2x1ZGVBcmcJCQlJbmNsdWRlCisgIEhpTGluayBjc3BBc3NlcnQJCQlQcmVDb25kaXQKKyAgSGlMaW5rIGNzcFR5cGUJCQlUeXBlCisgIEhpTGluayBjc3BQcm9jZXNzCQkJRnVuY3Rpb24KKyAgSGlMaW5rIGNzcFRvZG8JCQlUb2RvCisgIEhpTGluayBjc3BPbGRSdHRDb21tZW50CQlEZWZpbmUKKyAgSGlMaW5rIGNzcFJ0dFByYWdtYUtleXdvcmQJCURlZmluZQorICBIaUxpbmsgY3NwU2RsUnR0Q29tbWVudAkJRGVmaW5lCisgIEhpTGluayBjc3BSdHRQcmFnbWFBcmcJCURlZmluZQorICBIaUxpbmsgY3NwUnR0UHJhZ21hU2RsQXJnCQlEZWZpbmUKKyAgSGlMaW5rIGNzcFJ0dFByYWdtYVNkbE5hbWUJCURlZmF1bHQKKyAgSGlMaW5rIGNzcFJ0dFByYWdtYVNkbFRhaWxBcmcJCURlZmluZQorICBIaUxpbmsgY3NwUnR0UHJhZ21hU2RsVHJhbnNOYW1lCURlZmF1bHQKKyAgSGlMaW5rIGNzcFJ0dFByYWdtYVNkbFRyYW5zVGFpbEFyZwlEZWZpbmUKKyAgSGlMaW5rIGNzcFJlc2VydmVkSWRlbnRpZmllcglFcnJvcgorICAiIChDdXJyZW50bHkgdW51c2VkIHZpbSBtZXRob2Q6IERlYnVnKQorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc3AiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jc3MudmltIGIvcnVudGltZS9zeW50YXgvY3NzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTNmMjI0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY3NzLnZpbQpAQCAtMCwwICsxLDI3NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUNhc2NhZGluZyBTdHlsZSBTaGVldHMKKyIgTWFpbnRhaW5lcjoJQ2xhdWRpbyBGbGVpbmVyIDxjbGF1ZGlvQGZsZWluZXIuY29tPgorIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvY3NzLnZpbQorIiBMYXN0IENoYW5nZToJMjAwMiBPY3QgMTkKKyIgQ1NTMiBieSBOaWtvbGFpIFdlaWJ1bGwKKyIgRnVsbCBDU1MyLCBIVE1MNCBzdXBwb3J0IGJ5IFlldGkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgaWYgdmVyc2lvbiA8IDYwMAorICAgIHN5bnRheCBjbGVhcgorICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorICBsZXQgbWFpbl9zeW50YXggPSAnY3NzJworZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBrZXl3b3JkIGNzc1RhZ05hbWUgYWJiciBhY3JvbnltIGFkZHJlc3MgYXBwbGV0IGFyZWEgYSBiIGJhc2UKK3N5biBrZXl3b3JkIGNzc1RhZ05hbWUgYmFzZWZvbnQgYmRvIGJpZyBibG9ja3F1b3RlIGJvZHkgYnIgYnV0dG9uCitzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGNhcHRpb24gY2VudGVyIGNpdGUgY29kZSBjb2wgY29sZ3JvdXAgZGQgZGVsCitzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGRmbiBkaXIgZGl2IGRsIGR0IGVtIGZpZWxkc2V0IGZvbnQgZm9ybSBmcmFtZQorc3luIGtleXdvcmQgY3NzVGFnTmFtZSBmcmFtZXNldCBoMSBoMiBoMyBoNCBoNSBoNiBoZWFkIGhyIGh0bWwgaW1nIGkKK3N5biBrZXl3b3JkIGNzc1RhZ05hbWUgaWZyYW1lIGltZyBpbnB1dCBpbnMgaXNpbmRleCBrYmQgbGFiZWwgbGVnZW5kIGxpCitzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGxpbmsgbWFwIG1lbnUgbWV0YSBub2ZyYW1lcyBub3NjcmlwdCBvbCBvcHRncm91cAorc3luIGtleXdvcmQgY3NzVGFnTmFtZSBvcHRpb24gcCBwYXJhbSBwcmUgcSBzIHNhbXAgc2NyaXB0IHNlbGVjdCBzbWFsbAorc3luIGtleXdvcmQgY3NzVGFnTmFtZSBzcGFuIHN0cmlrZSBzdHJvbmcgc3R5bGUgc3ViIHN1cCB0Ym9keSB0ZAorc3luIGtleXdvcmQgY3NzVGFnTmFtZSB0ZXh0YXJlYSB0Zm9vdCB0aCB0aGVhZCB0aXRsZSB0ciB0dCB1bCB1IHZhcgorc3luIG1hdGNoIGNzc1RhZ05hbWUgIlw8dGFibGVcPiIKK3N5biBtYXRjaCBjc3NUYWdOYW1lICJcKiIKKworc3luIG1hdGNoIGNzc1RhZ05hbWUgIkBwYWdlXD4iIG5leHRncm91cD1jc3NEZWZpbml0aW9uCisKK3N5biBtYXRjaCBjc3NTZWxlY3Rvck9wICJbKz4uXSIKK3N5biBtYXRjaCBjc3NTZWxlY3Rvck9wMiAiW358XVw/PSIgY29udGFpbmVkCitzeW4gcmVnaW9uIGNzc0F0dHJpYnV0ZVNlbGVjdG9yIG1hdGNoZ3JvdXA9Y3NzU2VsZWN0b3JPcCBzdGFydD0iXFsiIGVuZD0iXSIgdHJhbnNwYXJlbnQgY29udGFpbnM9Y3NzVW5pY29kZUVzY2FwZSxjc3NTZWxlY3Rvck9wMixjc3NTdHJpbmdRLGNzc1N0cmluZ1FRCisKK3N5biBtYXRjaCBjc3NJZGVudGlmaWVyICIjXGlcKyIKKworc3luIG1hdGNoIGNzc01lZGlhICJAbWVkaWFcPiIgbmV4dGdyb3VwPWNzc01lZGlhVHlwZSBza2lwd2hpdGUgc2tpcG5sCitzeW4ga2V5d29yZCBjc3NNZWRpYVR5cGUgY29udGFpbmVkIHNjcmVlbiBwcmludCBhdXJhbCBicmFpbGUgZW1ib3NlZCBoYW5kaGVsZCBwcm9qZWN0aW9uIHR5IHR2IGFsbCBuZXh0Z3JvdXA9Y3NzTWVkaWFDb21tYSxjc3NNZWRpYUJsb2NrIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCBjc3NNZWRpYUNvbW1hICIsIiBuZXh0Z3JvdXA9Y3NzTWVkaWFUeXBlIHNraXB3aGl0ZSBza2lwbmwKK3N5biByZWdpb24gY3NzTWVkaWFCbG9jayB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWNzc0JyYWNlcyBzdGFydD0neycgZW5kPSd9JyBjb250YWlucz1jc3NUYWdOYW1lLGNzc0Vycm9yLGNzc0NvbW1lbnQsY3NzRGVmaW5pdGlvbixjc3NVUkwsY3NzVW5pY29kZUVzY2FwZSxjc3NJZGVudGlmaWVyCisKK3N5biBtYXRjaCBjc3NWYWx1ZUludGVnZXIgY29udGFpbmVkICJbLStdXD1cZFwrIgorc3luIG1hdGNoIGNzc1ZhbHVlTnVtYmVyIGNvbnRhaW5lZCAiWy0rXVw9XGRcK1woXC5cZCpcKVw9Igorc3luIG1hdGNoIGNzc1ZhbHVlTGVuZ3RoIGNvbnRhaW5lZCAiWy0rXVw9XGRcK1woXC5cZCpcKVw9XCglXHxtbVx8Y21cfGluXHxwdFx8cGNcfGVtXHxleFx8cHhcKSIKK3N5biBtYXRjaCBjc3NWYWx1ZUFuZ2xlIGNvbnRhaW5lZCAiWy0rXVw9XGRcK1woXC5cZCpcKVw9XChkZWdcfGdyYWRcfHJhZFwpIgorc3luIG1hdGNoIGNzc1ZhbHVlVGltZSBjb250YWluZWQgIitcPVxkXCtcKFwuXGQqXClcPVwobXNcfHNcKSIKK3N5biBtYXRjaCBjc3NWYWx1ZUZyZXF1ZW5jeSBjb250YWluZWQgIitcPVxkXCtcKFwuXGQqXClcPVwoSHpcfGtIelwpIgorCitzeW4gbWF0Y2ggY3NzRm9udERlc2NyaXB0b3IgIkBmb250LWZhY2VcPiIgbmV4dGdyb3VwPWNzc0ZvbnREZXNjcmlwdG9yQmxvY2sgc2tpcHdoaXRlIHNraXBubAorc3luIHJlZ2lvbiBjc3NGb250RGVzY3JpcHRvckJsb2NrIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWNzc0JyYWNlcyBzdGFydD0ieyIgZW5kPSJ9IiBjb250YWlucz1jc3NDb21tZW50LGNzc0Vycm9yLGNzc1VuaWNvZGVFc2NhcGUsY3NzRm9udFByb3AsY3NzRm9udEF0dHIsY3NzQ29tbW9uQXR0cixjc3NTdHJpbmdRLGNzc1N0cmluZ1FRLGNzc0ZvbnREZXNjcmlwdG9yUHJvcCxjc3NWYWx1ZS4qLGNzc0ZvbnREZXNjcmlwdG9yRnVuY3Rpb24sY3NzVW5pY29kZVJhbmdlLGNzc0ZvbnREZXNjcmlwdG9yQXR0cgorc3luIG1hdGNoIGNzc0ZvbnREZXNjcmlwdG9yUHJvcCBjb250YWluZWQgIlw8XCh1bmljb2RlLXJhbmdlXHx1bml0LXBlci1lbVx8cGFub3NlLTFcfGNhcC1oZWlnaHRcfHgtaGVpZ2h0XHxkZWZpbml0aW9uLXNyY1wpXD4iCitzeW4ga2V5d29yZCBjc3NGb250RGVzY3JpcHRvclByb3AgY29udGFpbmVkIHNyYyBzdGVtdiBzdGVtaCBzbG9wZSBhc2NlbnQgZGVzY2VudCB3aWR0aHMgYmJveCBiYXNlbGluZSBjZW50ZXJsaW5lIG1hdGhsaW5lIHRvcGxpbmUKK3N5biBrZXl3b3JkIGNzc0ZvbnREZXNjcmlwdG9yQXR0ciBjb250YWluZWQgYWxsCitzeW4gcmVnaW9uIGNzc0ZvbnREZXNjcmlwdG9yRnVuY3Rpb24gY29udGFpbmVkIG1hdGNoZ3JvdXA9Y3NzRnVuY3Rpb25OYW1lIHN0YXJ0PSJcPFwodXJpXHx1cmxcfGxvY2FsXHxmb3JtYXRcKVxzKigiIGVuZD0iKSIgY29udGFpbnM9Y3NzU3RyaW5nUSxjc3NTdHJpbmdRUSBvbmVsaW5lIGtlZXBlbmQKK3N5biBtYXRjaCBjc3NVbmljb2RlUmFuZ2UgY29udGFpbmVkICJVK1swLTlBLUZhLWY/XVwrIgorc3luIG1hdGNoIGNzc1VuaWNvZGVSYW5nZSBjb250YWluZWQgIlUrXHhcKy1ceFwrIgorCitzeW4ga2V5d29yZCBjc3NDb2xvciBjb250YWluZWQgYXF1YSBibGFjayBibHVlIGZ1Y2hzaWEgZ3JheSBncmVlbiBsaW1lIG1hcm9vbiBuYXZ5IG9saXZlIHB1cnBsZSByZWQgc2lsdmVyIHRlYWwgeWVsbG93CisiIEZJWE1FOiBUaGVzZSBhcmUgYWN0dWFsbHkgY2FzZS1pbnNlbnRpdmllIHRvbywgYnV0IChhKSBzcGVjcyByZWNvbW1lbmQgdXNpbmcKKyIgbWl4ZWQtY2FzZSAoYikgaXQncyBoYXJkIHRvIGhpZ2hsaWdodCB0aGUgd29yZCBgQmFja2dyb3VuZCcgY29ycmVjdGx5IGluCisiIGFsbCBzaXR1YXRpb25zCitzeW4gY2FzZSBtYXRjaAorc3luIGtleXdvcmQgY3NzQ29sb3IgY29udGFpbmVkIEFjdGl2ZUJvcmRlciBBY3RpdmVDYXB0aW9uIEFwcFdvcmtzcGFjZSBCdXR0b25GYWNlIEJ1dHRvbkhpZ2hsaWdodCBCdXR0b25TaGFkb3cgQnV0dG9uVGV4dCBDYXB0aW9uVGV4dCBHcmF5VGV4dCBIaWdobGlnaHQgSGlnaGxpZ2h0VGV4dCBJbmFjdGl2ZUJvcmRlciBJbmFjdGl2ZUNhcHRpb24gSW5hY3RpdmVDYXB0aW9uVGV4dCBJbmZvQmFja2dyb3VuZCBJbmZvVGV4dCBNZW51IE1lbnVUZXh0IFNjcm9sbGJhciBUaHJlZUREYXJrU2hhZG93IFRocmVlREZhY2UgVGhyZWVESGlnaGxpZ2h0IFRocmVlRExpZ2h0U2hhZG93IFRocmVlRFNoYWRvdyBXaW5kb3cgV2luZG93RnJhbWUgV2luZG93VGV4dCBCYWNrZ3JvdW5kCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCBjc3NDb2xvciBjb250YWluZWQgIlw8dHJhbnNwYXJlbnRcPiIKK3N5biBtYXRjaCBjc3NDb2xvciBjb250YWluZWQgIlw8d2hpdGVcPiIKK3N5biBtYXRjaCBjc3NDb2xvciBjb250YWluZWQgIiNbMC05QS1GYS1mXVx7M1x9XD4iCitzeW4gbWF0Y2ggY3NzQ29sb3IgY29udGFpbmVkICIjWzAtOUEtRmEtZl1cezZcfVw+IgorInN5biBtYXRjaCBjc3NDb2xvciBjb250YWluZWQgIlw8cmdiXHMqKFxzKlxkXCtcKFwuXGQqXClcPSVcPVxzKixccypcZFwrXChcLlxkKlwpXD0lXD1ccyosXHMqXGRcK1woXC5cZCpcKVw9JVw9XHMqKSIKK3N5biByZWdpb24gY3NzVVJMIGNvbnRhaW5lZCBtYXRjaGdyb3VwPWNzc0Z1bmN0aW9uTmFtZSBzdGFydD0iXDx1cmxccyooIiBlbmQ9IikiIG9uZWxpbmUga2VlcGVuZAorc3luIHJlZ2lvbiBjc3NGdW5jdGlvbiBjb250YWluZWQgbWF0Y2hncm91cD1jc3NGdW5jdGlvbk5hbWUgc3RhcnQ9Ilw8XChyZ2JcfGNsaXBcfGF0dHJcfGNvdW50ZXJcfHJlY3RcKVxzKigiIGVuZD0iKSIgb25lbGluZSBrZWVwZW5kCisKK3N5biBtYXRjaCBjc3NJbXBvcnRhbnQgY29udGFpbmVkICIhXHMqaW1wb3J0YW50XD4iCisKK3N5biBrZXl3b3JkIGNzc0NvbW1vbkF0dHIgY29udGFpbmVkIGF1dG8gbm9uZSBpbmhlcml0CitzeW4ga2V5d29yZCBjc3NDb21tb25BdHRyIGNvbnRhaW5lZCB0b3AgYm90dG9tCitzeW4ga2V5d29yZCBjc3NDb21tb25BdHRyIGNvbnRhaW5lZCBtZWRpdW0gbm9ybWFsCisKK3N5biBtYXRjaCBjc3NGb250UHJvcCBjb250YWluZWQgIlw8Zm9udFw+XCgtXChmYW1pbHlcfHN0eWxlXHx2YXJpYW50XHx3ZWlnaHRcfHNpemVcKC1hZGp1c3RcKVw9XHxzdHJldGNoXClcPlwpXD0iCitzeW4gbWF0Y2ggY3NzRm9udEF0dHIgY29udGFpbmVkICJcPFwoc2Fucy1cKVw9XDxzZXJpZlw+Igorc3luIG1hdGNoIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCAiXDxzbWFsbFw+XCgtXChjYXBzXHxjYXB0aW9uXClcPlwpXD0iCitzeW4gbWF0Y2ggY3NzRm9udEF0dHIgY29udGFpbmVkICJcPHhcezEsMlx9LVwobGFyZ2VcfHNtYWxsXClcPiIKK3N5biBtYXRjaCBjc3NGb250QXR0ciBjb250YWluZWQgIlw8bWVzc2FnZS1ib3hcPiIKK3N5biBtYXRjaCBjc3NGb250QXR0ciBjb250YWluZWQgIlw8c3RhdHVzLWJhclw+Igorc3luIG1hdGNoIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCAiXDxcKFwodWx0cmFcfGV4dHJhXHxzZW1pXHxzdGF0dXMtYmFyXCktXClcPVwoY29uZGVuc2VkXHxleHBhbmRlZFwpXD4iCitzeW4ga2V5d29yZCBjc3NGb250QXR0ciBjb250YWluZWQgY3Vyc2l2ZSBmYW50YXN5IG1vbm9zcGFjZSBpdGFsaWMgb2JsaXF1ZQorc3luIGtleXdvcmQgY3NzRm9udEF0dHIgY29udGFpbmVkIGJvbGQgYm9sZGVyIGxpZ2h0ZXIgbGFyZ2VyIHNtYWxsZXIKK3N5biBrZXl3b3JkIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCBpY29uIG1lbnUKK3N5biBtYXRjaCBjc3NGb250QXR0ciBjb250YWluZWQgIlw8Y2FwdGlvblw+Igorc3luIGtleXdvcmQgY3NzRm9udEF0dHIgY29udGFpbmVkIGxhcmdlIHNtYWxsZXIgbGFyZ2VyCitzeW4ga2V5d29yZCBjc3NGb250QXR0ciBjb250YWluZWQgbmFycm93ZXIgd2lkZXIKKworc3luIGtleXdvcmQgY3NzQ29sb3JQcm9wIGNvbnRhaW5lZCBjb2xvcgorc3luIG1hdGNoIGNzc0NvbG9yUHJvcCBjb250YWluZWQgIlw8YmFja2dyb3VuZFwoLVwoY29sb3JcfGltYWdlXHxhdHRhY2htZW50XHxwb3NpdGlvblwpXClcPSIKK3N5biBrZXl3b3JkIGNzc0NvbG9yQXR0ciBjb250YWluZWQgY2VudGVyIHNjcm9sbCBmaXhlZAorc3luIG1hdGNoIGNzc0NvbG9yQXR0ciBjb250YWluZWQgIlw8cmVwZWF0XCgtW3h5XVwpXD1cPiIKK3N5biBtYXRjaCBjc3NDb2xvckF0dHIgY29udGFpbmVkICJcPG5vLXJlcGVhdFw+IgorCitzeW4gbWF0Y2ggY3NzVGV4dFByb3AgIlw8XChcKHdvcmRcfGxldHRlclwpLXNwYWNpbmdcfHRleHRcKC1cKGRlY29yYXRpb25cfHRyYW5zZm9ybVx8YWxpZ25cfGluZGV4XHxzaGFkb3dcKVwpXD1cfHZlcnRpY2FsLWFsaWduXHx1bmljb2RlLWJpZGlcfGxpbmUtaGVpZ2h0XClcPiIKK3N5biBtYXRjaCBjc3NUZXh0QXR0ciBjb250YWluZWQgIlw8bGluZS10aHJvdWdoXD4iCitzeW4gbWF0Y2ggY3NzVGV4dEF0dHIgY29udGFpbmVkICJcPHRleHQtaW5kZW50XD4iCitzeW4gbWF0Y2ggY3NzVGV4dEF0dHIgY29udGFpbmVkICJcPFwodGV4dC1cKVw9XCh0b3BcfGJvdHRvbVwpXD4iCitzeW4ga2V5d29yZCBjc3NUZXh0QXR0ciBjb250YWluZWQgdW5kZXJsaW5lIG92ZXJsaW5lIGJsaW5rIHN1YiBzdXBlciBtaWRkbGUKK3N5biBrZXl3b3JkIGNzc1RleHRBdHRyIGNvbnRhaW5lZCBjYXBpdGFsaXplIHVwcGVyY2FzZSBsb3dlcmNhc2UgY2VudGVyIGp1c3RpZnkgYmFzZWxpbmUgc3ViIHN1cGVyCisKK3N5biBtYXRjaCBjc3NCb3hQcm9wIGNvbnRhaW5lZCAiXDxcKG1hcmdpblx8cGFkZGluZ1x8Ym9yZGVyXClcKC1cKHRvcFx8cmlnaHRcfGJvdHRvbVx8bGVmdFwpXClcPVw+Igorc3luIG1hdGNoIGNzc0JveFByb3AgY29udGFpbmVkICJcPGJvcmRlci1cKFwoXCh0b3BcfHJpZ2h0XHxib3R0b21cfGxlZnRcKS1cKVw9XCh3aWR0aFx8Y29sb3JcfHN0eWxlXClcKVw9XD4iCitzeW4gbWF0Y2ggY3NzQm94UHJvcCBjb250YWluZWQgIlw8XCh3aWR0aFx8ei1pbmRleFwpXD4iCitzeW4gbWF0Y2ggY3NzQm94UHJvcCBjb250YWluZWQgIlw8XChtaW5cfG1heFwpLVwod2lkdGhcfGhlaWdodFwpXD4iCitzeW4ga2V5d29yZCBjc3NCb3hQcm9wIGNvbnRhaW5lZCB3aWR0aCBoZWlnaHQgZmxvYXQgY2xlYXIgb3ZlcmZsb3cgY2xpcCB2aXNpYmlsaXR5CitzeW4ga2V5d29yZCBjc3NCb3hBdHRyIGNvbnRhaW5lZCB0aGluIHRoaWNrIGJvdGgKK3N5biBrZXl3b3JkIGNzc0JveEF0dHIgY29udGFpbmVkIGRvdHRlZCBkYXNoZWQgc29saWQgZG91YmxlIGdyb292ZSByaWRnZSBpbnNldCBvdXRzZXQKK3N5biBrZXl3b3JkIGNzc0JveEF0dHIgY29udGFpbmVkIGhpZGRlbiB2aXNpYmxlIHNjcm9sbCBjb2xsYXBzZQorCitzeW4ga2V5d29yZCBjc3NHZW5lcmF0ZWRDb250ZW50UHJvcCBjb250YWluZWQgY29udGVudCBxdW90ZXMKK3N5biBtYXRjaCBjc3NHZW5lcmF0ZWRDb250ZW50UHJvcCBjb250YWluZWQgIlw8Y291bnRlci1cKHJlc2V0XHxpbmNyZW1lbnRcKVw+Igorc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRQcm9wIGNvbnRhaW5lZCAiXDxsaXN0LXN0eWxlXCgtXCh0eXBlXHxwb3NpdGlvblx8aW1hZ2VcKVwpXD1cPiIKK3N5biBtYXRjaCBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBjb250YWluZWQgIlw8XChuby1cKVw9XChvcGVuXHxjbG9zZVwpLXF1b3RlXD4iCitzeW4gbWF0Y2ggY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCAiXDxsb3dlclw+Igorc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRBdHRyIGNvbnRhaW5lZCAiXDxcKGxvd2VyXHx1cHBlclwpLVwocm9tYW5cfGFscGhhXHxncmVla1x8bGF0aW5cKVw+Igorc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRBdHRyIGNvbnRhaW5lZCAiXDxcKGhpcmFnYW5hXHxrYXRha2FuYVwpXCgtaXJvaGFcKVw9XD4iCitzeW4gbWF0Y2ggY3NzR2VuZXJhdGVkQ29udGVudEF0dHIgY29udGFpbmVkICJcPFwoZGVjaW1hbFwoLWxlYWRpbmctemVyb1wpXD1cfGNqay1pZGVvZ3JhcGhpY1wpXD4iCitzeW4ga2V5d29yZCBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBjb250YWluZWQgZGlzYyBjaXJjbGUgc3F1YXJlIGhlYnJldyBhcm1lbmlhbiBnZW9yZ2lhbgorc3luIGtleXdvcmQgY3NzR2VuZXJhdGVkQ29udGVudEF0dHIgY29udGFpbmVkIGluc2lkZSBvdXRzaWRlCisKK3N5biBtYXRjaCBjc3NQYWdpbmdQcm9wIGNvbnRhaW5lZCAiXDxwYWdlXCgtYnJlYWstXChiZWZvcmVcfGFmdGVyXHxpbnNpZGVcKVwpXD1cPiIKK3N5biBrZXl3b3JkIGNzc1BhZ2luZ1Byb3AgY29udGFpbmVkIHNpemUgbWFya3MgaW5zaWRlIG9ycGhhbnMgd2lkb3dzCitzeW4ga2V5d29yZCBjc3NQYWdpbmdBdHRyIGNvbnRhaW5lZCBsYW5kc2NhcGUgcG9ydHJhaXQgY3JvcCBjcm9zcyBhbHdheXMgYXZvaWQKKworc3luIGtleXdvcmQgY3NzVUlQcm9wIGNvbnRhaW5lZCBjdXJzb3IKK3N5biBtYXRjaCBjc3NVSVByb3AgY29udGFpbmVkICJcPG91dGxpbmVcKC1cKHdpZHRoXHxzdHlsZVx8Y29sb3JcKVwpXD1cPiIKK3N5biBtYXRjaCBjc3NVSUF0dHIgY29udGFpbmVkICJcPFtuc11cPVtld11cPS1yZXNpemVcPiIKK3N5biBrZXl3b3JkIGNzc1VJQXR0ciBjb250YWluZWQgZGVmYXVsdCBjcm9zc2hhaXIgcG9pbnRlciBtb3ZlIHdhaXQgaGVscAorc3luIGtleXdvcmQgY3NzVUlBdHRyIGNvbnRhaW5lZCB0aGluIHRoaWNrCitzeW4ga2V5d29yZCBjc3NVSUF0dHIgY29udGFpbmVkIGRvdHRlZCBkYXNoZWQgc29saWQgZG91YmxlIGdyb292ZSByaWRnZSBpbnNldCBvdXRzZXQKK3N5biBrZXl3b3JkIGNzc1VJQXR0ciBjb250YWluZWQgaW52ZXJ0CisKK3N5biBtYXRjaCBjc3NSZW5kZXJBdHRyIGNvbnRhaW5lZCAiXDxtYXJrZXJcPiIKK3N5biBtYXRjaCBjc3NSZW5kZXJQcm9wIGNvbnRhaW5lZCAiXDxcKGRpc3BsYXlcfG1hcmtlci1vZmZzZXRcfHVuaWNvZGUtYmlkaVx8d2hpdGUtc3BhY2VcfGxpc3QtaXRlbVx8cnVuLWluXHxpbmxpbmUtdGFibGVcKVw+Igorc3luIGtleXdvcmQgY3NzUmVuZGVyUHJvcCBjb250YWluZWQgcG9zaXRpb24gdG9wIGJvdHRvbSBkaXJlY3Rpb24KK3N5biBtYXRjaCBjc3NSZW5kZXJQcm9wIGNvbnRhaW5lZCAiXDxcKGxlZnRcfHJpZ2h0XClcPiIKK3N5biBrZXl3b3JkIGNzc1JlbmRlckF0dHIgY29udGFpbmVkIGJsb2NrIGlubGluZSBjb21wYWN0CitzeW4gbWF0Y2ggY3NzUmVuZGVyQXR0ciBjb250YWluZWQgIlw8dGFibGVcKC1cKHJvdy1nb3J1cFx8XChoZWFkZXJcfGZvb3RlclwpLWdyb3VwXHxyb3dcfGNvbHVtblwoLWdyb3VwXClcPVx8Y2VsbFx8Y2FwdGlvblwpXClcPVw+Igorc3luIGtleXdvcmQgY3NzUmVuZGVyQXR0ciBjb250YWluZWQgc3RhdGljIHJlbGF0aXZlIGFic29sdXRlIGZpeGVkCitzeW4ga2V5d29yZCBjc3NSZW5kZXJBdHRyIGNvbnRhaW5lZCBsdHIgcnRsIGVtYmVkIGJpZGktb3ZlcnJpZGUgcHJlIG5vd3JhcAorc3luIG1hdGNoIGNzc1JlbmRlckF0dHIgY29udGFpbmVkICJcPGJpZGktb3ZlcnJpZGVcPiIKKworCitzeW4gbWF0Y2ggY3NzQXVyYWxQcm9wIGNvbnRhaW5lZCAiXDxcKHBhdXNlXHxjdWVcKVwoLVwoYmVmb3JlXHxhZnRlclwpXClcPVw+Igorc3luIG1hdGNoIGNzc0F1cmFsUHJvcCBjb250YWluZWQgIlw8XChwbGF5LWR1cmluZ1x8c3BlZWNoLXJhdGVcfHZvaWNlLWZhbWlseVx8cGl0Y2hcKC1yYW5nZVwpXD1cfHNwZWFrXCgtXChwdW5jdHVhdGlvblx8bnVtZXJhbHNcKVwpXD1cKVw+Igorc3luIGtleXdvcmQgY3NzQXVyYWxQcm9wIGNvbnRhaW5lZCB2b2x1bWUgZHVyaW5nIGF6aW11dGggZWxldmF0aW9uIHN0cmVzcyByaWNobmVzcworc3luIG1hdGNoIGNzc0F1cmFsQXR0ciBjb250YWluZWQgIlw8XCh4LVwpXD1cKHNvZnRcfGxvdWRcKVw+Igorc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBzaWxlbnQKK3N5biBtYXRjaCBjc3NBdXJhbEF0dHIgY29udGFpbmVkICJcPHNwZWxsLW91dFw+Igorc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBub24gbWl4CitzeW4gbWF0Y2ggY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCAiXDxcKGxlZnRcfHJpZ2h0XCktc2lkZVw+Igorc3luIG1hdGNoIGNzc0F1cmFsQXR0ciBjb250YWluZWQgIlw8XChmYXJcfGNlbnRlclwpLVwobGVmdFx8Y2VudGVyXHxyaWdodFwpXD4iCitzeW4ga2V5d29yZCBjc3NBdXJhbEF0dHIgY29udGFpbmVkIGxlZnR3YXJkcyByaWdodHdhcmRzIGJlaGluZAorc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBiZWxvdyBsZXZlbCBhYm92ZSBoaWdoZXIKK3N5biBtYXRjaCBjc3NBdXJhbEF0dHIgY29udGFpbmVkICJcPFwoeC1cKVw9XChzbG93XHxmYXN0XClcPiIKK3N5biBrZXl3b3JkIGNzc0F1cmFsQXR0ciBjb250YWluZWQgZmFzdGVyIHNsb3dlcgorc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBtYWxlIGZlbWFsZSBjaGlsZCBjb2RlIGRpZ2l0cyBjb250aW51b3VzCisKK3N5biBtYXRjaCBjc3NUYWJsZVByb3AgY29udGFpbmVkICJcPFwoY2FwdGlvbi1zaWRlXHx0YWJsZS1sYXlvdXRcfGJvcmRlci1jb2xsYXBzZVx8Ym9yZGVyLXNwYWNpbmdcfGVtcHR5LWNlbGxzXHxzcGVhay1oZWFkZXJcKVw+Igorc3luIGtleXdvcmQgY3NzVGFibGVBdHRyIGNvbnRhaW5lZCBmaXhlZCBjb2xsYXBzZSBzZXBhcmF0ZSBzaG93IGhpZGUgb25jZSBhbHdheXMKKworIiBGSVhNRTogVGhpcyBhbGxvd3MgY3NzTWVkaWFCbG9jayBiZWZvcmUgdGhlIHNlbWljb2xvbiwgd2hpY2ggaXMgd3JvbmcuCitzeW4gcmVnaW9uIGNzc0luY2x1ZGUgc3RhcnQ9IkBpbXBvcnQiIGVuZD0iOyIgY29udGFpbnM9Y3NzQ29tbWVudCxjc3NVUkwsY3NzVW5pY29kZUVzY2FwZSxjc3NNZWRpYVR5cGUKK3N5biBtYXRjaCBjc3NCcmFjZXMgY29udGFpbmVkICJbe31dIgorc3luIG1hdGNoIGNzc0Vycm9yIGNvbnRhaW5lZCAie0A8PiIKK3N5biByZWdpb24gY3NzRGVmaW5pdGlvbiB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWNzc0JyYWNlcyBzdGFydD0neycgZW5kPSd9JyBjb250YWlucz1jc3MuKkF0dHIsY3NzLipQcm9wLGNzc0NvbW1lbnQsY3NzVmFsdWUuKixjc3NDb2xvcixjc3NVUkwsY3NzSW1wb3J0YW50LGNzc0Vycm9yLGNzc1N0cmluZ1EsY3NzU3RyaW5nUVEsY3NzRnVuY3Rpb24sY3NzVW5pY29kZUVzY2FwZQorc3luIG1hdGNoIGNzc0JyYWNlRXJyb3IgIn0iCisKK3N5biBtYXRjaCBjc3NQc2V1ZG9DbGFzcyAiOlxTKiIgY29udGFpbnM9Y3NzUHNldWRvQ2xhc3NJZCxjc3NVbmljb2RlRXNjYXBlCitzeW4ga2V5d29yZCBjc3NQc2V1ZG9DbGFzc0lkIGNvbnRhaW5lZCBsaW5rIHZpc2l0ZWQgYWN0aXZlIGhvdmVyIGZvY3VzIGJlZm9yZSBhZnRlciBsZWZ0IHJpZ2h0CitzeW4gbWF0Y2ggY3NzUHNldWRvQ2xhc3NJZCBjb250YWluZWQgIlw8Zmlyc3RcKC1cKGxpbmVcfGxldHRlclx8Y2hpbGRcKVwpXD1cPiIKK3N5biByZWdpb24gY3NzUHNldWRvQ2xhc3NMYW5nIG1hdGNoZ3JvdXA9Y3NzUHNldWRvQ2xhc3NJZCBzdGFydD0iOmxhbmcoIiBlbmQ9IikiIG9uZWxpbmUKKworc3luIHJlZ2lvbiBjc3NDb21tZW50IHN0YXJ0PSIvXCoiIGVuZD0iXCovIgorCitzeW4gbWF0Y2ggY3NzVW5pY29kZUVzY2FwZSAiXFxceFx7MSw2fVxzXD8iCitzeW4gbWF0Y2ggY3NzU3BlY2lhbENoYXJRUSArXFwiKyBjb250YWluZWQKK3N5biBtYXRjaCBjc3NTcGVjaWFsQ2hhclEgK1xcJysgY29udGFpbmVkCitzeW4gcmVnaW9uIGNzc1N0cmluZ1FRIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Y3NzVW5pY29kZUVzY2FwZSxjc3NTcGVjaWFsQ2hhclFRCitzeW4gcmVnaW9uIGNzc1N0cmluZ1Egc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKyBjb250YWlucz1jc3NVbmljb2RlRXNjYXBlLGNzc1NwZWNpYWxDaGFyUQorCitpZiBtYWluX3N5bnRheCA9PSAiY3NzIgorICBzeW4gc3luYyBtaW5saW5lcz0xMAorZW5kaWYKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3NzX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2Nzc19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBjc3NDb21tZW50IENvbW1lbnQKKyAgSGlMaW5rIGNzc1RhZ05hbWUgU3RhdGVtZW50CisgIEhpTGluayBjc3NTZWxlY3Rvck9wIFNwZWNpYWwKKyAgSGlMaW5rIGNzc1NlbGVjdG9yT3AyIFNwZWNpYWwKKyAgSGlMaW5rIGNzc0ZvbnRQcm9wIFN0b3JhZ2VDbGFzcworICBIaUxpbmsgY3NzQ29sb3JQcm9wIFN0b3JhZ2VDbGFzcworICBIaUxpbmsgY3NzVGV4dFByb3AgU3RvcmFnZUNsYXNzCisgIEhpTGluayBjc3NCb3hQcm9wIFN0b3JhZ2VDbGFzcworICBIaUxpbmsgY3NzUmVuZGVyUHJvcCBTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGNzc0F1cmFsUHJvcCBTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGNzc1JlbmRlclByb3AgU3RvcmFnZUNsYXNzCisgIEhpTGluayBjc3NHZW5lcmF0ZWRDb250ZW50UHJvcCBTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGNzc1BhZ2luZ1Byb3AgU3RvcmFnZUNsYXNzCisgIEhpTGluayBjc3NUYWJsZVByb3AgU3RvcmFnZUNsYXNzCisgIEhpTGluayBjc3NVSVByb3AgU3RvcmFnZUNsYXNzCisgIEhpTGluayBjc3NGb250QXR0ciBUeXBlCisgIEhpTGluayBjc3NDb2xvckF0dHIgVHlwZQorICBIaUxpbmsgY3NzVGV4dEF0dHIgVHlwZQorICBIaUxpbmsgY3NzQm94QXR0ciBUeXBlCisgIEhpTGluayBjc3NSZW5kZXJBdHRyIFR5cGUKKyAgSGlMaW5rIGNzc0F1cmFsQXR0ciBUeXBlCisgIEhpTGluayBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBUeXBlCisgIEhpTGluayBjc3NQYWdpbmdBdHRyIFR5cGUKKyAgSGlMaW5rIGNzc1RhYmxlQXR0ciBUeXBlCisgIEhpTGluayBjc3NVSUF0dHIgVHlwZQorICBIaUxpbmsgY3NzQ29tbW9uQXR0ciBUeXBlCisgIEhpTGluayBjc3NQc2V1ZG9DbGFzc0lkIFByZVByb2MKKyAgSGlMaW5rIGNzc1BzZXVkb0NsYXNzTGFuZyBDb25zdGFudAorICBIaUxpbmsgY3NzVmFsdWVMZW5ndGggTnVtYmVyCisgIEhpTGluayBjc3NWYWx1ZUludGVnZXIgTnVtYmVyCisgIEhpTGluayBjc3NWYWx1ZU51bWJlciBOdW1iZXIKKyAgSGlMaW5rIGNzc1ZhbHVlQW5nbGUgTnVtYmVyCisgIEhpTGluayBjc3NWYWx1ZVRpbWUgTnVtYmVyCisgIEhpTGluayBjc3NWYWx1ZUZyZXF1ZW5jeSBOdW1iZXIKKyAgSGlMaW5rIGNzc0Z1bmN0aW9uIENvbnN0YW50CisgIEhpTGluayBjc3NVUkwgU3RyaW5nCisgIEhpTGluayBjc3NGdW5jdGlvbk5hbWUgRnVuY3Rpb24KKyAgSGlMaW5rIGNzc0NvbG9yIENvbnN0YW50CisgIEhpTGluayBjc3NJZGVudGlmaWVyIEZ1bmN0aW9uCisgIEhpTGluayBjc3NJbmNsdWRlIEluY2x1ZGUKKyAgSGlMaW5rIGNzc0ltcG9ydGFudCBTcGVjaWFsCisgIEhpTGluayBjc3NCcmFjZXMgRnVuY3Rpb24KKyAgSGlMaW5rIGNzc0JyYWNlRXJyb3IgRXJyb3IKKyAgSGlMaW5rIGNzc0Vycm9yIEVycm9yCisgIEhpTGluayBjc3NJbmNsdWRlIEluY2x1ZGUKKyAgSGlMaW5rIGNzc1VuaWNvZGVFc2NhcGUgU3BlY2lhbAorICBIaUxpbmsgY3NzU3RyaW5nUVEgU3RyaW5nCisgIEhpTGluayBjc3NTdHJpbmdRIFN0cmluZworICBIaUxpbmsgY3NzTWVkaWEgU3BlY2lhbAorICBIaUxpbmsgY3NzTWVkaWFUeXBlIFNwZWNpYWwKKyAgSGlMaW5rIGNzc01lZGlhQ29tbWEgTm9ybWFsCisgIEhpTGluayBjc3NGb250RGVzY3JpcHRvciBTcGVjaWFsCisgIEhpTGluayBjc3NGb250RGVzY3JpcHRvckZ1bmN0aW9uIENvbnN0YW50CisgIEhpTGluayBjc3NGb250RGVzY3JpcHRvclByb3AgU3RvcmFnZUNsYXNzCisgIEhpTGluayBjc3NGb250RGVzY3JpcHRvckF0dHIgVHlwZQorICBIaUxpbmsgY3NzVW5pY29kZVJhbmdlIENvbnN0YW50CisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc3MiCisKK2lmIG1haW5fc3ludGF4ID09ICdjc3MnCisgIHVubGV0IG1haW5fc3ludGF4CitlbmRpZgorCisiIHZpbTogdHM9OAorCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jdGVybS52aW0gYi9ydW50aW1lL3N5bnRheC9jdGVybS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM5YTBkNQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2N0ZXJtLnZpbQpAQCAtMCwwICsxLDE5MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUNlbnR1cnkgVGVybSBDb21tYW5kIFNjcmlwdAorIiBNYWludGFpbmVyOglTZWFuIE0uIE1jS2VlIDxtY2tlZUBtaXNzbGluay5uZXQ+CisiIExhc3QgQ2hhbmdlOgkyMDAyIEFwciAxMworIiBWZXJzaW9uIEluZm86IEAoIyljdGVybS52aW0JMS43CTk3LzEyLzE1IDA5OjIzOjE0CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyJGVU5DVElPTlMKK3N5biBrZXl3b3JkIGN0ZXJtRnVuY3Rpb24JYWJvcnQgYWRkY3IgYWRkbGYgYW5zd2VyIGF0IGF0dHIgYmF0Y2ggYmF1ZAorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbglicmVhayBjYWxsIGNhcHR1cmUgY2QgY2RlbGF5IGNoYXJzZXQgY2xzIGNvbG9yCitzeW4ga2V5d29yZCBjdGVybUZ1bmN0aW9uCWNvbWJhc2UgY29uZmlnIGNvbW1lY3QgY29weSBjcmVhZAorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbgljcmVhZGludCBkZXZwcmVmaXggZGlhbGVyIGRpYWxvZyBkaW1pbnQKK3N5biBrZXl3b3JkIGN0ZXJtRnVuY3Rpb24JZGltbG9nIGRpbXN0ciBkaXNwbGF5IGR0aW1lb3V0IGR3YWl0IGVkaXQKK3N5biBrZXl3b3JkIGN0ZXJtRnVuY3Rpb24JZWRpdG9yIGVtdWxhdGUgZXJhc2UgZXNjbG9vcCBmY3JlYXRlCitzeW4ga2V5d29yZCBjdGVybUZ1bmN0aW9uCWZmbHVzaCBmaWxsY2hhciBmbGFncyBmbHVzaCBmb3BlbiBmcmVhZAorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbglmcmVhZGxuIGZzZWVrIGZ3cml0ZSBmd3JpdGVsbiBnZXQgaGFuZ3VwCitzeW4ga2V5d29yZCBjdGVybUZ1bmN0aW9uCWhlbHAgaGl3YWl0IGh0aW1lIGlnbm9yZSBpbml0IGl0aW1lCitzeW4ga2V5d29yZCBjdGVybUZ1bmN0aW9uCWtleWJvYXJkIGxjaGFyIGxkZWxheSBsZWFybiBsb2NrZmlsZQorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbglsb2NrdGltZSBsb2cgbG9naW4gbG9nb3V0IGxvd2FpdAorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbglsc2VuZCBsdGltZSBtZW1saXN0IG1lbnUgbWtkaXIgbW9kZQorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbgltb2RlbSBuZXRkaWFsb2cgbmV0cG9ydCBub2Vycm9yIHBhZ2VzIHBhcml0eQorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbglwYXVzZSBwb3J0bGlzdCBwcmludGVyIHByb3RvY29sIHF1aXQgcmN2CitzeW4ga2V5d29yZCBjdGVybUZ1bmN0aW9uCXJlYWQgcmVhZGludCByZWFkbiByZWRpYWwgcmVsZWFzZQorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbglyZW1vdGUgcmVuYW1lIHJlc3RhcnQgcmV0cmllcyByZXR1cm4KK3N5biBrZXl3b3JkIGN0ZXJtRnVuY3Rpb24Jcm1kaXIgcnRpbWUgcnVuIHJ1bnggc2Nyb2xsYmFjayBzZW5kCitzeW4ga2V5d29yZCBjdGVybUZ1bmN0aW9uCXNlc3Npb24gc2V0IHNldGNhcCBzZXRjb2xvciBzZXRrZXkKK3N5biBrZXl3b3JkIGN0ZXJtRnVuY3Rpb24Jc2V0c3ltIHNldHZhciBzdGFydHNlcnZlciBzdGF0dXMKK3N5biBrZXl3b3JkIGN0ZXJtRnVuY3Rpb24Jc3RpbWUgc3RvcGJpdHMgc3RvcHNlcnZlciB0ZGVsYXkKK3N5biBrZXl3b3JkIGN0ZXJtRnVuY3Rpb24JdGVybWluYWwgdGltZSB0cmFucyB0eXBlIHVzZW5kIHZlcnNpb24KK3N5biBrZXl3b3JkIGN0ZXJtRnVuY3Rpb24JdmkgdmlkYmxpbmsgdmlkY2FyZCB2aWRvdXQgdmlkdW5kZXIgd2FpdAorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbgl3aWxkc2l6ZSB3Y2xvc2Ugd29wZW4gd29yZGxlbiB3cnUgd3J1Y2hhcgorc3luIGtleXdvcmQgY3Rlcm1GdW5jdGlvbgl4ZmVyIHhtaXQgeHByb3QKK3N5biBtYXRjaCBjdGVybUZ1bmN0aW9uCQkiPyIKKyJzeW4ga2V5d29yZCBjdGVybUZ1bmN0aW9uCWNvbW1lbnQgcmVtYXJrCisKKyJFTkQgRlVOQ1RJT05TCisiSU5URUdFUiBGVU5DVElPTlMKK3N5biBrZXl3b3JkIGN0ZXJtSW50RnVuY3Rpb24JYXNjIGF0b2QgZXZhbCBmaWxlZGF0ZSBmaWxlbW9kZSBmaWxlc2l6ZSBmdGVsbAorc3luIGtleXdvcmQgY3Rlcm1JbnRGdW5jdGlvbglsZW4gdGVybWJpdHMgb3BzeXMgcG9zIHN1bSB0aW1lIHZhbCBtZG1zdGF0CisiRU5EIElOVEVHRVIgRlVOQ1RJT05TCisKKyJTVFJJTkcgRlVOQ1RJT05TCitzeW4ga2V5d29yZCBjdGVybVN0ckZ1bmN0aW9uCWNkYXRlIGN0aW1lIGNociBjaHJkeSBjaHJpbiBjb21pbiBnZXRlbnYKK3N5biBrZXl3b3JkIGN0ZXJtU3RyRnVuY3Rpb24JZ2V0aG9tZWRpciBsZWZ0IG1pZHN0ciByaWdodCBzdHIgdG9sb3dlcgorc3luIGtleXdvcmQgY3Rlcm1TdHJGdW5jdGlvbgl0b3VwcGVyIHVuaXEgY29tc3QgZXhpc3RzIGZlb2YgaGFzY29sb3IKKworIkVORCBTVFJJTkcgRlVOQ1RJT05TCisKKyJQUkVERUZJTkVEIFRFUk0gVkFSSUFCTEVTIFIvVworc3luIGtleXdvcmQgY3Rlcm1QcmVWYXJSVwlmIF9lc2Nsb29wIF9maWxlbmFtZSBfa2VybWl0ZW9sIF9vYnVmc2l6CitzeW4ga2V5d29yZCBjdGVybVByZVZhclJXCV9wb3J0IF9yY3ZzeW5jIF9jYmF1ZCBfcmV2YWwgX3R1cm5jaGFyCitzeW4ga2V5d29yZCBjdGVybVByZVZhclJXCV90eGJsa3NpeiBfdHh3aW5kb3cgX3ZtaW4gX3Z0aW1lIF9jcGFyaXR5CitzeW4ga2V5d29yZCBjdGVybVByZVZhclJXCV9jbnVtYmVyIGZhbHNlIHQgdHJ1ZSBfY3dvcmRsZW4gX2NzdG9wYml0cworc3luIGtleXdvcmQgY3Rlcm1QcmVWYXJSVwlfY21vZGUgX2NlbXVsYXRlIF9jeHByb3QgX2Nsb2dpbiBfY2xvZ291dAorc3luIGtleXdvcmQgY3Rlcm1QcmVWYXJSVwlfY3N0YXJ0c3J2IF9jc3RvcHNydiBfY2NtZGZpbGUgX2N3cnUKK3N5biBrZXl3b3JkIGN0ZXJtUHJlVmFyUlcJX2Nwcm90b2NvbCBfY2FwdGZpbGUgX2NyZW1hcmsgX2NvbWJ1ZnNpegorc3luIGtleXdvcmQgY3Rlcm1QcmVWYXJSVwlsb2dmaWxlCisiRU5EIFBSRURFRklORUQgVEVSTSBWQVJJQUJMRVMgUi9XCisKKyJQUkVERUZJTkVEIFRFUk0gVkFSSUFCTEVTIFIvTworc3luIGtleXdvcmQgY3Rlcm1QcmVWYXJSTwlfMSBfMiBfMyBfNCBfNSBfNiBfNyBfOCBfOSBfY3Vyc2Vzcworc3luIGtleXdvcmQgY3Rlcm1QcmVWYXJSTwlfbG9ja2ZpbGUgX2JhdWQgX2Vycm5vIF9yZXR2YWwgX3Nlcm51bQorc3luIGtleXdvcmQgY3Rlcm1QcmVWYXJSTwlfdGltZW91dCBfcm93IF9jb2wgX3ZlcnNpb24KKyJFTkQgUFJFREVGSU5FRCBURVJNIFZBUklBQkxFUyBSL08KKworc3luIGtleXdvcmQgY3Rlcm1PcGVyYXRvciBub3QgbW9kIGVxIG5lIGd0IGxlIGx0IGdlIHhvciBhbmQgb3Igc2hyIG5vdCBzaGwKKworIlNZTUJPTFMKK3N5biBtYXRjaCAgIEN0ZXJtU3ltYm9scwkgInwiCisic3luIGtleXdvcmQgY3Rlcm1PcGVyYXRvcnMgKyAtICogLyAlID0gIT0gPiA8ID49IDw9ICYgfCBeICEgPDwgPj4KKyJFTkQgU1lNQk9MUworCisiU1RBVEVNRU5UCitzeW4ga2V5d29yZCBjdGVybVN0YXRlbWVudAlvZmYKK3N5biBrZXl3b3JkIGN0ZXJtU3RhdGVtZW50CWRpc2sgb3ZlcndyaXRlIGFwcGVuZCBzcG9vbCBub25lCitzeW4ga2V5d29yZCBjdGVybVN0YXRlbWVudAllY2hvIHZpZXcgd3JhcAorIkVORCBTVEFURU1FTlQKKworIlRZUEUKKyJzeW4ga2V5d29yZCBjdGVybVR5cGUKKyJFTkQgVFlQRQorCisiVVNFUkxJQiBGVU5DVElPTlMKKyJzeW4ga2V5d29yZCBjdGVybUxpYkZ1bmMKKyJFTkQgVVNFUkxJQiBGVU5DVElPTlMKKworIkxBQkVMCitzeW4ga2V5d29yZCBjdGVybUxhYmVsICAgIGNhc2UgZGVmYXVsdAorIkVORCBMQUJFTAorCisiQ09ORElUSU9OQUwKK3N5biBrZXl3b3JkIGN0ZXJtQ29uZGl0aW9uYWwgb24gZW5kb24KK3N5biBrZXl3b3JkIGN0ZXJtQ29uZGl0aW9uYWwgcHJvYyBlbmRwcm9jCitzeW4ga2V5d29yZCBjdGVybUNvbmRpdGlvbmFsIGZvciBpbiBkbyBlbmRmb3IKK3N5biBrZXl3b3JkIGN0ZXJtQ29uZGl0aW9uYWwgaWYgZWxzZSBlbHNlaWYgZW5kaWYgaWZlcnJvcgorc3luIGtleXdvcmQgY3Rlcm1Db25kaXRpb25hbCBzd2l0Y2ggZW5kc3dpdGNoCitzeW4ga2V5d29yZCBjdGVybUNvbmRpdGlvbmFsIHJlcGVhdCB1bnRpbAorIkVORCBDT05ESVRJT05BTAorCisiUkVQRUFUCitzeW4ga2V5d29yZCBjdGVybVJlcGVhdCAgICB3aGlsZQorIkVORCBSRVBFQVQKKworIiBGdW5jdGlvbiBhcmd1bWVudHMgKGVnICQxICQyICQzKQorc3luIG1hdGNoICBjdGVybUZ1bmNBcmcJIlwkWzEtOV0iCisKK3N5biBrZXl3b3JkIGN0ZXJtVG9kbyBjb250YWluZWQgVE9ETworCitzeW4gbWF0Y2ggIGN0ZXJtTnVtYmVyCQkiXDxcZFwrXCh1XD1sXD1cfGx1XHxmXClcPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoICBjdGVybU51bWJlcgkJIlw8XGRcK1wuXGQqXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggIGN0ZXJtTnVtYmVyCQkiXC5cZFwrXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CitzeW4gbWF0Y2ggIGN0ZXJtTnVtYmVyCQkiXDxcZFwrZVstK11cPVxkXCtbZmxdXD1cPiIKKyJoZXggbnVtYmVyCitzeW4gbWF0Y2ggIGN0ZXJtTnVtYmVyCQkiMHhbMC05YS1mXVwrXCh1XD1sXD1cfGx1XClcPiIKKworc3luIG1hdGNoICBjdGVybUNvbW1lbnQJCSIhW149XS4qJCIgY29udGFpbnM9Y3Rlcm1Ub2RvCitzeW4gbWF0Y2ggIGN0ZXJtQ29tbWVudAkJIiEkIgorc3luIG1hdGNoICBjdGVybUNvbW1lbnQJCSJcKi4qJCIgY29udGFpbnM9Y3Rlcm1Ub2RvCitzeW4gcmVnaW9uICBjdGVybUNvbW1lbnQJc3RhcnQ9ImNvbW1lbnQiIGVuZD0iJCIgY29udGFpbnM9Y3Rlcm1Ub2RvCitzeW4gcmVnaW9uICBjdGVybUNvbW1lbnQJc3RhcnQ9InJlbWFyayIgZW5kPSIkIiBjb250YWlucz1jdGVybVRvZG8KKworc3luIHJlZ2lvbiBjdGVybVZhcgkJc3RhcnQ9IlwkKCIgIGVuZD0iKSIKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb250c3RhbnRzCisiIEhpZ2hsaWdodCBzcGVjaWFsIGNoYXJhY3RlcnMgKHRob3NlIHdoaWNoIGhhdmUgYSBiYWNrc2xhc2gpIGRpZmZlcmVudGx5CitzeW4gbWF0Y2ggICBjdGVybVNwZWNpYWwJCWNvbnRhaW5lZCAiXFxcZFxkXGRcfFxcLiIKK3N5biBtYXRjaCAgIGN0ZXJtU3BlY2lhbAkJY29udGFpbmVkICJcXi4iCitzeW4gcmVnaW9uICBjdGVybVN0cmluZwkJCXN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKyAgY29udGFpbnM9Y3Rlcm1TcGVjaWFsLGN0ZXJtVmFyLGN0ZXJtU3ltYm9scworc3luIG1hdGNoICAgY3Rlcm1DaGFyYWN0ZXIJCSInW15cXF0nIgorc3luIG1hdGNoICAgY3Rlcm1TcGVjaWFsQ2hhcmFjdGVyCSInXFwuJyIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3Rlcm1fc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfY3Rlcm1fc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworCUhpTGluayBjdGVybVN0YXRlbWVudAkJU3RhdGVtZW50CisJSGlMaW5rIGN0ZXJtRnVuY3Rpb24JCVN0YXRlbWVudAorCUhpTGluayBjdGVybVN0ckZ1bmN0aW9uCVN0YXRlbWVudAorCUhpTGluayBjdGVybUludEZ1bmN0aW9uCVN0YXRlbWVudAorCUhpTGluayBjdGVybUxhYmVsCQlTdGF0ZW1lbnQKKwlIaUxpbmsgY3Rlcm1Db25kaXRpb25hbAlTdGF0ZW1lbnQKKwlIaUxpbmsgY3Rlcm1SZXBlYXQJCVN0YXRlbWVudAorCUhpTGluayBjdGVybUxpYkZ1bmMJCVVzZXJEZWZGdW5jCisJSGlMaW5rIGN0ZXJtVHlwZQkJVHlwZQorCUhpTGluayBjdGVybUZ1bmNBcmcJCVByZUNvbmRpdAorCisJSGlMaW5rIGN0ZXJtUHJlVmFyUk8JCVByZUNvbmRpdAorCUhpTGluayBjdGVybVByZVZhclJXCQlQcmVDb25kaXRCb2xkCisJSGlMaW5rIGN0ZXJtVmFyCQlUeXBlCisKKwlIaUxpbmsgY3Rlcm1Db21tZW50CQlDb21tZW50CisKKwlIaUxpbmsgY3Rlcm1DaGFyYWN0ZXIJCVNwZWNpYWxDaGFyCisJSGlMaW5rIGN0ZXJtU3BlY2lhbAkJU3BlY2lhbAorCUhpTGluayBjdGVybVNwZWNpYWxDaGFyYWN0ZXIJU3BlY2lhbENoYXIKKwlIaUxpbmsgY3Rlcm1TeW1ib2xzCQlTcGVjaWFsCisJSGlMaW5rIGN0ZXJtU3RyaW5nCQlTdHJpbmcKKwlIaUxpbmsgY3Rlcm1Ub2RvCQlUb2RvCisJSGlMaW5rIGN0ZXJtT3BlcmF0b3IJCVN0YXRlbWVudAorCUhpTGluayBjdGVybU51bWJlcgkJTnVtYmVyCisKKwkiIHJlZGVmaW5lIHRoZSBjb2xvcnMKKwkiaGkgUHJlQ29uZGl0Qm9sZAl0ZXJtPWJvbGQgY3Rlcm1mZz0xIGN0ZXJtPWJvbGQgZ3VpZmc9UHVycGxlIGd1aT1ib2xkCisJImhpIFNwZWNpYWwJdGVybT1ib2xkIGN0ZXJtZmc9NiBndWlmZz1TbGF0ZUJsdWUgZ3VpPXVuZGVybGluZQorCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImN0ZXJtIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3RybGgudmltIGIvcnVudGltZS9zeW50YXgvY3RybGgudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNWMyYzAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9jdHJsaC52aW0KQEAgLTAsMCArMSwzMyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUNUUkwtSCAoZS5nLiwgQVNDSUkgbWFucGFnZXMpCisiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+CisiIExhc3QgQ2hhbmdlOgkyMDAxIEFwciAyNQorCisiIEV4aXN0aW5nIHN5bnRheCBpcyBrZXB0LCB0aGlzIGZpbGUgY2FuIGJlIHVzZWQgYXMgYW4gYWRkaXRpb24KKworIiBSZWNvZ25pemUgdW5kZXJsaW5lZCB0ZXh0OiBfXkh4CitzeW50YXggbWF0Y2ggQ3RybEhVbmRlcmxpbmUgL19cYi4vICBjb250YWlucz1DdHJsSEhpZGUKKworIiBSZWNvZ25pemUgYm9sZCB0ZXh0OiB4Xkh4CitzeW50YXggbWF0Y2ggQ3RybEhCb2xkIC9cKC5cKVxiXDEvICBjb250YWlucz1DdHJsSEhpZGUKKworIiBIaWRlIHRoZSBDVFJMLUggKGJhY2tzcGFjZSkKK3N5bnRheCBtYXRjaCBDdHJsSEhpZGUgLy5cYi8gIGNvbnRhaW5lZAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jdHJsaF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jdHJsaF9zeW50YXhfaW5pdHMgPSAxCisgICAgaGkgbGluayBDdHJsSEhpZGUgSWdub3JlCisgICAgaGkgQ3RybEhVbmRlcmxpbmUgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGd1aT11bmRlcmxpbmUKKyAgICBoaSBDdHJsSEJvbGQgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKKyAgZWxzZQorICAgIGhpIGRlZiBsaW5rIEN0cmxISGlkZSBJZ25vcmUKKyAgICBoaSBkZWYgQ3RybEhVbmRlcmxpbmUgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGd1aT11bmRlcmxpbmUKKyAgICBoaSBkZWYgQ3RybEhCb2xkIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCisgIGVuZGlmCitlbmRpZgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3VwbC52aW0gYi9ydW50aW1lL3N5bnRheC9jdXBsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjgwNGM3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY3VwbC52aW0KQEAgLTAsMCArMSwxMzAgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglDVVBMCisiIE1haW50YWluZXI6CUpvaG4gQ29vayA8am9obi5jb29rQGtsYS10ZW5jb3IuY29tPgorIiBMYXN0IENoYW5nZToJMjAwMSBBcHIgMjUKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIHRoaXMgbGFuZ3VhZ2UgaXMgb2JsaXZpb3VzIHRvIGNhc2UuCitzeW4gY2FzZSBpZ25vcmUKKworIiBBIGJ1bmNoIG9mIGtleXdvcmRzCitzeW4ga2V5d29yZCBjdXBsSGVhZGVyIG5hbWUgcGFydG5vIGRhdGUgcmV2aXNpb24gcmV2IGRlc2lnbmVyIGNvbXBhbnkgbmV4dGdyb3VwPWN1cGxIZWFkZXJDb250ZW50cworc3luIGtleXdvcmQgY3VwbEhlYWRlciBhc3NlbWJseSBhc3N5IGxvY2F0aW9uIGRldmljZSBuZXh0Z3JvdXA9Y3VwbEhlYWRlckNvbnRlbnRzCisKK3N5biBrZXl3b3JkIGN1cGxUb2RvIGNvbnRhaW5lZCBUT0RPIFhYWCBGSVhNRQorCisiIGN1cGxIZWFkZXJDb250ZW50cyB1c2VzIGRlZmF1bHQgaGlnaGxpZ2h0aW5nIGV4Y2VwdCBmb3IgbnVtYmVycworc3luIG1hdGNoIGN1cGxIZWFkZXJDb250ZW50cyAiLlwrOyJtZT1lLTEgY29udGFpbnM9Y3VwbE51bWJlciBjb250YWluZWQKKworIiBTdHJpbmcgY29udHN0YW50cworc3luIHJlZ2lvbiBjdXBsU3RyaW5nIHN0YXJ0PSsnKyBlbmQ9KycrCitzeW4gcmVnaW9uIGN1cGxTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisKKworc3luIGtleXdvcmQgY3VwbFN0YXRlbWVudCBhcHBlbmQgY29uZGl0aW9uCitzeW4ga2V5d29yZCBjdXBsU3RhdGVtZW50IGRlZmF1bHQgZWxzZQorc3luIGtleXdvcmQgY3VwbFN0YXRlbWVudCBmaWVsZCBmbGQgZm9ybWF0IGZ1bmN0aW9uIGZ1c2UKK3N5biBrZXl3b3JkIGN1cGxTdGF0ZW1lbnQgZ3JvdXAgaWYganVtcCBsb2MKK3N5biBrZXl3b3JkIGN1cGxTdGF0ZW1lbnQgbWFjcm8gbWluIG5vZGUgb3V0CitzeW4ga2V5d29yZCBjdXBsU3RhdGVtZW50IHBpbiBwaW5ub2RlIHByZXNlbnQgdGFibGUKK3N5biBrZXl3b3JkIGN1cGxTdGF0ZW1lbnQgc2VxdWVuY2Ugc2VxdWVuY2VkIHNlcXVlbmNlamsgc2VxdWVuY2VycyBzZXF1ZW5jZXQKKworc3luIGtleXdvcmQgY3VwbEZ1bmN0aW9uIGxvZzIgbG9nOCBsb2cxNiBsb2cKKworIiBWYWxpZCBpbnRlZ2VyIG51bWJlciBmb3JtYXRzIChkZWNpbWFsLCBiaW5hcnksIG9jdGFsLCBoZXgpCitzeW4gbWF0Y2ggY3VwbE51bWJlciAiXDxbLStdXD1bMC05XVwrXD4iCitzeW4gbWF0Y2ggY3VwbE51bWJlciAiJ2QnWzAtOV1cK1w+Igorc3luIG1hdGNoIGN1cGxOdW1iZXIgIidiJ1swMXhdXCtcPiIKK3N5biBtYXRjaCBjdXBsTnVtYmVyICInbydbMC03eF1cK1w+Igorc3luIG1hdGNoIGN1cGxOdW1iZXIgIidoJ1swLTlhLWZ4XVwrXD4iCisKKyIgb3BlcmF0b3JzCitzeW4gbWF0Y2ggY3VwbExvZ2ljYWxPcGVyYXRvciAiWyEjJiRdIgorc3luIG1hdGNoIGN1cGxBcml0aG1ldGljT3BlcmF0b3IgIlstKyovJV0iCitzeW4gbWF0Y2ggY3VwbEFyaXRobWV0aWNPcGVyYXRvciAiXCpcKiIKK3N5biBtYXRjaCBjdXBsQXNzaWdubWVudE9wZXJhdG9yICI6XD09Igorc3luIG1hdGNoIGN1cGxFcXVhbGl0eU9wZXJhdG9yICI6Igorc3luIG1hdGNoIGN1cGxUcnV0aFRhYmxlT3BlcmF0b3IgIj0+IgorCisiIFNpZ25hbCBleHRlbnNpb25zCitzeW4gbWF0Y2ggY3VwbEV4dGVuc2lvbiAiXC5bYXNdW3ByXVw+Igorc3luIG1hdGNoIGN1cGxFeHRlbnNpb24gIlwub2VcPiIKK3N5biBtYXRjaCBjdXBsRXh0ZW5zaW9uICJcLm9lbXV4XD4iCitzeW4gbWF0Y2ggY3VwbEV4dGVuc2lvbiAiXC5bZGxzcmprXVw+Igorc3luIG1hdGNoIGN1cGxFeHRlbnNpb24gIlwuY2tcPiIKK3N5biBtYXRjaCBjdXBsRXh0ZW5zaW9uICJcLmRxXD4iCitzeW4gbWF0Y2ggY3VwbEV4dGVuc2lvbiAiXC5ja211eFw+Igorc3luIG1hdGNoIGN1cGxFeHRlbnNpb24gIlwudGVjXD4iCitzeW4gbWF0Y2ggY3VwbEV4dGVuc2lvbiAiXC5jbnRcPiIKKworc3luIG1hdGNoIGN1cGxSYW5nZU9wZXJhdG9yICJcLlwuIiBjb250YWluZWQKKworIiBtYXRjaCByYW5nZXMgbGlrZSBtZW1hZHI6WzAwMDAuLjFGRkZdCisiIGFuZCBoaWdobGlnaHQgYm90aCB0aGUgbnVtYmVycyBhbmQgdGhlIC4uIG9wZXJhdG9yCitzeW4gbWF0Y2ggY3VwbE51bWJlclJhbmdlICJcPFx4XCtcLlwuXHhcK1w+IiBjb250YWlucz1jdXBsUmFuZ2VPcGVyYXRvcgorCisiIG1hdGNoIHZlY3RvcnMgb2YgdHlwZSBbbmFtZTMuLjBdIChkZWNpbWFsIG51bWJlcnMgb25seSkKKyIgYnV0IGFzc2lnbiB0aGVtIG5vIHNwZWNpYWwgaGlnaGxpZ2h0aW5nIGV4Y2VwdCBmb3IgdGhlIC4uIG9wZXJhdG9yCitzeW4gbWF0Y2ggY3VwbEJpdFZlY3RvciAiXDxcYVwrXGRcK1wuXC5cZFwrXD4iIGNvbnRhaW5zPWN1cGxSYW5nZU9wZXJhdG9yCisKKyIgb3RoZXIgc3BlY2lhbCBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggY3VwbFNwZWNpYWxDaGFyICJbXFtcXSgpe30sO10iCisKKyIgZGlyZWN0aXZlcworIiAoZGVmaW5lIHRoZXNlIGFmdGVyIGN1cGxPcGVyYXRvciBzbyAkeHh4IG92ZXJyaWRlcyAkKQorc3luIG1hdGNoIGN1cGxEaXJlY3RpdmUgIlwkbXNnIgorc3luIG1hdGNoIGN1cGxEaXJlY3RpdmUgIlwkbWFjcm8iCitzeW4gbWF0Y2ggY3VwbERpcmVjdGl2ZSAiXCRtZW5kIgorc3luIG1hdGNoIGN1cGxEaXJlY3RpdmUgIlwkcmVwZWF0Igorc3luIG1hdGNoIGN1cGxEaXJlY3RpdmUgIlwkcmVwZW5kIgorc3luIG1hdGNoIGN1cGxEaXJlY3RpdmUgIlwkZGVmaW5lIgorc3luIG1hdGNoIGN1cGxEaXJlY3RpdmUgIlwkaW5jbHVkZSIKKworIiBtdWx0aS1saW5lIGNvbW1lbnRzCitzeW4gcmVnaW9uIGN1cGxDb21tZW50IHN0YXJ0PSsvXCorIGVuZD0rXCovKyBjb250YWlucz1jdXBsTnVtYmVyLGN1cGxUb2RvCisKK3N5biBzeW5jIG1pbmxpbmVzPTEKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3VwbF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jdXBsX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisgIEhpTGluayBjdXBsSGVhZGVyCWN1cGxTdGF0ZW1lbnQKKyAgSGlMaW5rIGN1cGxMb2dpY2FsT3BlcmF0b3IJIGN1cGxPcGVyYXRvcgorICBIaUxpbmsgY3VwbFJhbmdlT3BlcmF0b3IJIGN1cGxPcGVyYXRvcgorICBIaUxpbmsgY3VwbEFyaXRobWV0aWNPcGVyYXRvciBjdXBsT3BlcmF0b3IKKyAgSGlMaW5rIGN1cGxBc3NpZ25tZW50T3BlcmF0b3IgY3VwbE9wZXJhdG9yCisgIEhpTGluayBjdXBsRXF1YWxpdHlPcGVyYXRvcgkgY3VwbE9wZXJhdG9yCisgIEhpTGluayBjdXBsVHJ1dGhUYWJsZU9wZXJhdG9yIGN1cGxPcGVyYXRvcgorICBIaUxpbmsgY3VwbE9wZXJhdG9yCWN1cGxTdGF0ZW1lbnQKKyAgSGlMaW5rIGN1cGxGdW5jdGlvbgljdXBsU3RhdGVtZW50CisgIEhpTGluayBjdXBsU3RhdGVtZW50IFN0YXRlbWVudAorICBIaUxpbmsgY3VwbE51bWJlclJhbmdlIGN1cGxOdW1iZXIKKyAgSGlMaW5rIGN1cGxOdW1iZXIJICBjdXBsU3RyaW5nCisgIEhpTGluayBjdXBsU3RyaW5nCVN0cmluZworICBIaUxpbmsgY3VwbENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgY3VwbEV4dGVuc2lvbiAgIGN1cGxTcGVjaWFsCisgIEhpTGluayBjdXBsU3BlY2lhbENoYXIgY3VwbFNwZWNpYWwKKyAgSGlMaW5rIGN1cGxTcGVjaWFsCVNwZWNpYWwKKyAgSGlMaW5rIGN1cGxEaXJlY3RpdmUgUHJlUHJvYworICBIaUxpbmsgY3VwbFRvZG8JVG9kbworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjdXBsIgorIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3VwbHNpbS52aW0gYi9ydW50aW1lL3N5bnRheC9jdXBsc2ltLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGEzMGNlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY3VwbHNpbS52aW0KQEAgLTAsMCArMSw4MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUNVUEwgc2ltdWxhdGlvbgorIiBNYWludGFpbmVyOglKb2huIENvb2sgPGpvaG4uY29va0BrbGEtdGVuY29yLmNvbT4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgQXByIDI1CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBSZWFkIHRoZSBDVVBMIHN5bnRheCB0byBzdGFydCB3aXRoCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9jdXBsLnZpbQorZWxzZQorICBydW50aW1lISBzeW50YXgvY3VwbC52aW0KKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworIiBvbWl0IGRlZmluaXRpb24tc3BlY2lmaWMgc3R1ZmYKK3N5biBjbGVhciBjdXBsU3RhdGVtZW50CitzeW4gY2xlYXIgY3VwbEZ1bmN0aW9uCitzeW4gY2xlYXIgY3VwbExvZ2ljYWxPcGVyYXRvcgorc3luIGNsZWFyIGN1cGxBcml0aG1ldGljT3BlcmF0b3IKK3N5biBjbGVhciBjdXBsQXNzaWdubWVudE9wZXJhdG9yCitzeW4gY2xlYXIgY3VwbEVxdWFsaXR5T3BlcmF0b3IKK3N5biBjbGVhciBjdXBsVHJ1dGhUYWJsZU9wZXJhdG9yCitzeW4gY2xlYXIgY3VwbEV4dGVuc2lvbgorCisiIHNpbXVsYXRpb24gb3JkZXIgc3RhdGVtZW50CitzeW4gbWF0Y2ggIGN1cGxzaW1PcmRlciAib3JkZXI6IiBuZXh0Z3JvdXA9Y3VwbHNpbU9yZGVyU3BlYyBza2lwZW1wdHkKK3N5biByZWdpb24gY3VwbHNpbU9yZGVyU3BlYyBzdGFydD0iLiIgZW5kPSI7Im1lPWUtMSBjb250YWlucz1jdXBsQ29tbWVudCxjdXBsc2ltT3JkZXJGb3JtYXQsY3VwbEJpdFZlY3RvcixjdXBsU3BlY2lhbENoYXIsY3VwbExvZ2ljYWxPcGVyYXRvcixjdXBsQ29tbWFPcGVyYXRvciBjb250YWluZWQKKworIiBzaW11bGF0aW9uIGJhc2Ugc3RhdGVtZW50CitzeW4gbWF0Y2ggICBjdXBsc2ltQmFzZSAiYmFzZToiIG5leHRncm91cD1jdXBsc2ltQmFzZVNwZWMgc2tpcGVtcHR5CitzeW4gcmVnaW9uICBjdXBsc2ltQmFzZVNwZWMgc3RhcnQ9Ii4iIGVuZD0iOyJtZT1lLTEgY29udGFpbnM9Y3VwbENvbW1lbnQsY3VwbHNpbUJhc2VUeXBlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgY3VwbHNpbUJhc2VUeXBlIG9jdGFsIGRlY2ltYWwgaGV4IGNvbnRhaW5lZAorCisiIHNpbXVsYXRpb24gdmVjdG9ycyBzdGF0ZW1lbnQKK3N5biBtYXRjaCBjdXBsc2ltVmVjdG9ycyAidmVjdG9yczoiCisKKyIgc2ltdWxhdG9yIGZvcm1hdCBjb250cm9sCitzeW4gbWF0Y2ggY3VwbHNpbU9yZGVyRm9ybWF0ICIlXGRcK1w+IiBjb250YWluZWQKKworIiBzaW11bGF0b3IgY29udHJvbAorc3luIG1hdGNoIGN1cGxzaW1TdGltdWx1cyAiWzEwY2tweF1cKyIKK3N5biBtYXRjaCBjdXBsc2ltU3RpbXVsdXMgKydcKFx4XHx4XClcKycrCitzeW4gbWF0Y2ggY3VwbHNpbU91dHB1dCAiW2xoem54Kl1cKyIKK3N5biBtYXRjaCBjdXBsc2ltT3V0cHV0ICsiXHhcKyIrCisKK3N5biBzeW5jIG1pbmxpbmVzPTEKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3VwbHNpbV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jdXBsc2ltX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBhcHBlbmQgdG8gdGhlIGhpZ2hsaWdodGluZyBsaW5rcyBpbiBjdXBsLnZpbQorICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyAgSGlMaW5rIGN1cGxzaW1PcmRlcgkJY3VwbFN0YXRlbWVudAorICBIaUxpbmsgY3VwbHNpbUJhc2UJCWN1cGxTdGF0ZW1lbnQKKyAgSGlMaW5rIGN1cGxzaW1CYXNlVHlwZQljdXBsU3RhdGVtZW50CisgIEhpTGluayBjdXBsc2ltVmVjdG9ycwkJY3VwbFN0YXRlbWVudAorICBIaUxpbmsgY3VwbHNpbVN0aW11bHVzCWN1cGxOdW1iZXIKKyAgSGlMaW5rIGN1cGxzaW1PdXRwdXQJCWN1cGxOdW1iZXIKKyAgSGlMaW5rIGN1cGxzaW1PcmRlckZvcm1hdAljdXBsTnVtYmVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImN1cGxzaW0iCisiIHZpbTp0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jdnMudmltIGIvcnVudGltZS9zeW50YXgvY3ZzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGIyYTgwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY3ZzLnZpbQpAQCAtMCwwICsxLDQzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJQ1ZTIGNvbW1pdCBmaWxlCisiIE1haW50YWluZXI6CU1hdHQgRHVuZm9yZCAoem9vdEB6b3Rpa29zLmNvbSkKKyIgVVJMOgkJaHR0cDovL3d3dy56b3Rpa29zLmNvbS9kb3dubG9hZHMvY3ZzLnZpbQorIiBMYXN0IENoYW5nZToJU2F0IE5vdiAyNCAyMzoyNToxMSBDRVQgMjAwMQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorCXN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCitlbmRpZgorCitzeW4gcmVnaW9uIGN2c0xpbmUgc3RhcnQ9Il5DVlM6ICIgZW5kPSIkIiBjb250YWlucz1jdnNGaWxlLGN2c0NvbSxjdnNGaWxlcyxjdnNUYWcKK3N5biBtYXRjaCBjdnNGaWxlICBjb250YWluZWQgIiBcdFwoXChcU1wrXCkgXClcKyIKK3N5biBtYXRjaCBjdnNUYWcgICBjb250YWluZWQgIiBUYWc6Igorc3luIG1hdGNoIGN2c0ZpbGVzIGNvbnRhaW5lZCAiXChBZGRlZFx8TW9kaWZpZWRcfFJlbW92ZWRcKSBGaWxlczoiCitzeW4gcmVnaW9uIGN2c0NvbSBzdGFydD0iQ29tbWl0dGluZyBpbiIgZW5kPSIkIiBjb250YWlucz1jdnNEaXIgY29udGFpbmVkIGV4dGVuZCBrZWVwZW5kCitzeW4gbWF0Y2ggY3ZzRGlyICAgY29udGFpbmVkICJcU1wrJCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3ZzX3N5bl9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX2N2c19zeW5faW5pdHMgPSAxCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisJZWxzZQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKwllbmRpZgorCisJSGlMaW5rIGN2c0xpbmUJCUNvbW1lbnQKKwlIaUxpbmsgY3ZzRGlyCQljdnNGaWxlCisJSGlMaW5rIGN2c0ZpbGUJCUNvbnN0YW50CisJSGlMaW5rIGN2c0ZpbGVzCQljdnNDb20KKwlIaUxpbmsgY3ZzVGFnCQljdnNDb20KKwlIaUxpbmsgY3ZzQ29tCQlTdGF0ZW1lbnQKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjdnMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jdnNyYy52aW0gYi9ydW50aW1lL3N5bnRheC9jdnNyYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU1MTk3OQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2N2c3JjLnZpbQpAQCAtMCwwICsxLDQ5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIENWUyBSQyBGaWxlCisiIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgorIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3N5bnRheC9wY3AvY3ZzcmMvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMDYKKyIgYXJjaC10YWc6CSAgICAxOTEwZjJhOC02NmY0LTRkZGUtOWQxYS0yOTc1NjY5MzQ1MzUKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgc3RyaW5ncworc3luIHJlZ2lvbiAgY3ZzcmNTdHJpbmcJICAgIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXFxcIisgZW5kPSsiXHwkKworc3luIHJlZ2lvbiAgY3ZzcmNTdHJpbmcJICAgIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXFxcJysgZW5kPSsnXHwkKworCisiIG51bWJlcnMKK3N5biBtYXRjaCAgIGN2c3JjTnVtYmVyCSAgICAiXDxcZFwrXD4iCisKKyIgY29tbWFuZHMKK3N5biBtYXRjaCAgIGN2c3JjQmVnaW4JICAgICJeIiBuZXh0Z3JvdXA9Y3ZzcmNDb21tYW5kIHNraXB3aGl0ZQorCitzeW4gcmVnaW9uICBjdnNyY0NvbW1hbmQgICAgY29udGFpbmVkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9Y3ZzcmNDb21tYW5kIHN0YXJ0PSJhZGRcfGFkbWluXHxjaGVja291dFx8Y29tbWl0XHxjdnNcfGRpZmZcfGV4cG9ydFx8aGlzdG9yeVx8aW1wb3J0XHxpbml0XHxsb2dcfHJkaWZmXHxyZWxlYXNlXHxyZW1vdmVcfHJ0YWdcfHN0YXR1c1x8dGFnXHx1cGRhdGUiIGVuZD0iJCIgY29udGFpbnM9Y3ZzcmNPcHRpb24sY3ZzcmNTdHJpbmcsY3ZzcmNOdW1iZXIga2VlcGVuZAorCisiIG9wdGlvbnMKK3N5biBtYXRjaCAgIGN2c3JjT3B0aW9uCSAgICAiLVxhXCsiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2N2c3JjX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2N2c3JjX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGN2c3JjU3RyaW5nCVN0cmluZworICBIaUxpbmsgY3ZzcmNOdW1iZXIJTnVtYmVyCisgIEhpTGluayBjdnNyY0NvbW1hbmQJS2V5d29yZAorICBIaUxpbmsgY3ZzcmNPcHRpb24JSWRlbnRpZmllcgorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY3ZzcmMiCisKKyIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2N3ZWIudmltIGIvcnVudGltZS9zeW50YXgvY3dlYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA2MmIwYQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2N3ZWIudmltCkBAIC0wLDAgKzEsODAgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglDV0VCCisiIE1haW50YWluZXI6CUFuZHJlYXMgU2NoZXJlciA8YW5kcmVhcy5zY2hlcmVyQHBvYm94LmNvbT4KKyIgTGFzdCBDaGFuZ2U6CUFwcmlsIDMwLCAyMDAxCisKKyIgRGV0YWlscyBvZiB0aGUgQ1dFQiBsYW5ndWFnZSBjYW4gYmUgZm91bmQgaW4gdGhlIGFydGljbGUgYnkgRG9uYWxkIEUuIEtudXRoCisiIGFuZCBTaWx2aW8gTGV2eSwgIlRoZSBDV0VCIFN5c3RlbSBvZiBTdHJ1Y3R1cmVkIERvY3VtZW50YXRpb24iLCBpbmNsdWRlZCBhcworIiBmaWxlICJjd2VibWFuLnRleCIgaW4gdGhlIHN0YW5kYXJkIENXRUIgZGlzdHJpYnV0aW9uLCBhdmFpbGFibGUgZm9yCisiIGFub255bW91cyBmdHAgYXQgZnRwOi8vbGFicmVhLnN0YW5mb3JkLmVkdS9wdWIvY3dlYi8uCisKKyIgVE9ETzogU2VjdGlvbiBuYW1lcyBhbmQgQy9DKysgY29tbWVudHMgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgVGVYIG1hdGVyaWFsLgorIiBUT0RPOiBUaGUgY3VycmVudCB2ZXJzaW9uIHN3aXRjaGVzIHN5bnRheCBoaWdobGlnaHRpbmcgb2ZmIGZvciBzZWN0aW9uCisiIFRPRE86IG5hbWVzLCBhbmQgbGVhdmVzIEMvQysrIGNvbW1lbnRzIGFzIHN1Y2guIChPbiB0aGUgb3RoZXIgaGFuZCwKKyIgVE9ETzogc3dpdGNoaW5nIHRvIFRlWCBtb2RlIGluIEMvQysrIGNvbW1lbnRzIG1pZ2h0IGJlIGNvbG91ciBvdmVya2lsbC4pCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBGb3Igc3RhcnRlcnMsIHJlYWQgdGhlIFRlWCBzeW50YXg7IFRlWCBzeW50YXggaXRlbXMgYXJlIGFsbG93ZWQgYXQgdGhlIHRvcAorIiBsZXZlbCBpbiB0aGUgQ1dFQiBzeW50YXgsIGUuZy4sIGluIHRoZSBwcmVhbWJsZS4gIEluIGdlbmVyYWwsIGEgQ1dFQiBzb3VyY2UKKyIgY29kZSBjYW4gYmUgc2VlbiBhcyBhIG5vcm1hbCBUZVggZG9jdW1lbnQgd2l0aCBzb21lIEMvQysrIG1hdGVyaWFsCisiIGludGVyc3BlcnNlZCBpbiBjZXJ0YWluIGRlZmluZWQgcmVnaW9ucy4KK2lmIHZlcnNpb24gPCA2MDAKKyAgc291cmNlIDxzZmlsZT46cDpoL3RleC52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L3RleC52aW0KKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworIiBSZWFkIHRoZSBDL0MrKyBzeW50YXggdG9vOyBDL0MrKyBzeW50YXggaXRlbXMgYXJlIHRyZWF0ZWQgYXMgc3VjaCBpbiB0aGUKKyIgQy9DKysgc2VjdGlvbiBvZiBhIENXRUIgY2h1bmsgb3IgaW4gaW5uZXIgQy9DKysgY29udGV4dCBpbiAifC4uLnwiIGdyb3Vwcy4KK3N5bnRheCBpbmNsdWRlIEB3ZWJJbmNsdWRlZEMgPHNmaWxlPjpwOmgvY3BwLnZpbQorCisiIElubmVyIEMvQysrIGNvbnRleHQgKElDQykgc2hvdWxkIGJlIHF1aXRlIHNpbXBsZSBhcyBpdCdzIGNvbXByaXNlZCBvZgorIiBtYXRlcmlhbCBpbiAifC4uLnwiOyBob3dldmVyIHRoZSBuYWl2ZSBkZWZpbml0aW9uIGZvciB0aGlzIHJlZ2lvbiB3b3VsZAorIiBoaWNrdXAgYXQgdGhlIGlubm9jaW91cyAiXHwiIFRlWCBtYWNyby4gIE5vdGU6IEZvciB0aGUgdGltZSBiZWluZyB3ZSBleHBlY3QKKyIgdGhhdCBhbiBJQ0MgYmVnaW5zIGVpdGhlciBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIG9yIGFmdGVyIHNvbWUgd2hpdGUgc3BhY2UuCitzeW50YXggcmVnaW9uIHdlYklubmVyQ2NvbnRleHQgc3RhcnQ9IlwoXlx8WyBcdFx+YChdXCl8IiBlbmQ9InwiIGNvbnRhaW5zPUB3ZWJJbmNsdWRlZEMsd2ViU2VjdGlvbk5hbWUsd2ViUmVzdHJpY3RlZFRlWCx3ZWJJZ25vcmVkU3R1ZmYKKworIiBHZW51aW5lIEMvQysrIG1hdGVyaWFsLiAgVGhpcyBzeW50YWN0aWMgcmVnaW9uIGNvdmVycyBib3RoIHRoZSBkZWZpbml0aW9uCisiIHBhcnQgYW5kIHRoZSBDL0MrKyBwYXJ0IG9mIGEgQ1dFQiBzZWN0aW9uOyBpdCBpcyBlbmRlZCBieSB0aGUgVGVYIHBhcnQgb2YKKyIgdGhlIG5leHQgc2VjdGlvbi4KK3N5bnRheCByZWdpb24gd2ViQ3BhcnQgc3RhcnQ9IkBbZGZzY3A8KF0iIGVuZD0iQFsgXCpdIiBjb250YWlucz1Ad2ViSW5jbHVkZWRDLHdlYlNlY3Rpb25OYW1lLHdlYlJlc3RyaWN0ZWRUZVgsd2ViSWdub3JlZFN0dWZmCisKKyIgU2VjdGlvbiBuYW1lcyBjb250YWluIEMvQysrIG1hdGVyaWFsIG9ubHkgaW4gaW5uZXIgY29udGV4dC4KK3N5bnRheCByZWdpb24gd2ViU2VjdGlvbk5hbWUgc3RhcnQ9IkBbPChdIiBlbmQ9IkA+IiBjb250YWlucz13ZWJJbm5lckNjb250ZXh0IGNvbnRhaW5lZAorCisiIFRoZSBjb250ZW50cyBvZiAiY29udHJvbCB0ZXh0cyIgaXMgbm90IHRyZWF0ZWQgYXMgVGVYIG1hdGVyaWFsLCBiZWNhdXNlIGluCisiIG5vbi10cml2aWFsIGNhc2VzIHRoaXMgY29tcGxldGVseSBjbG9iYmVycyB0aGUgc3ludGF4IHJlY29nbml0aW9uLiAgSW5zdGVhZCwKKyIgd2UgaGlnaGxpZ2h0IHRoZXNlIGVsZW1lbnRzIGFzICJzdHJpbmdzIi4KK3N5bnRheCByZWdpb24gd2ViUmVzdHJpY3RlZFRlWCBzdGFydD0iQFtcXlwuOnQ9cV0iIGVuZD0iQD4iIG9uZWxpbmUKKworIiBEb3VibGUtQCBtZWFucyBzaW5nbGUtQCwgYW55d2hlcmUgaW4gdGhlIENXRUIgc291cmNlLiAgKFRoaXMgYWxsb3dzIGUtbWFpbAorIiBhZGRyZXNzIDxzb21lb25lQEBmc2Yub3JnPiB3aXRob3V0IGdvaW5nIGludG8gQy9DKysgbW9kZS4pCitzeW50YXggbWF0Y2ggd2ViSWdub3JlZFN0dWZmICJAQCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3dlYl9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jd2ViX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHdlYlJlc3RyaWN0ZWRUZVggU3RyaW5nCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImN3ZWIiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jeW5saWIudmltIGIvcnVudGltZS9zeW50YXgvY3lubGliLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTk4NTA3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY3lubGliLnZpbQpAQCAtMCwwICsxLDkxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIEN5bmxpYihDKyspCisiIE1haW50YWluZXI6ICAgUGhpbCBEZXJyaWNrIDxwaGlsZEBmb3J0ZWRzLmNvbT4KKyIgTGFzdCBjaGFuZ2U6ICAyMDAxIFNlcCAwMgorIiBVUkwgaHR0cDovL3d3dy5kZXJyaWNrcC5mcmVlc2VydmUuY28udWsvdmltL3N5bnRheC9jeW5saWIudmltCisiCisiIExhbmd1YWdlIEluZm9ybWF0aW9uCisiCisiCQlDeW5saWIgaXMgYSBsaWJyYXJ5IG9mIEMrKyBjbGFzc2VzIHRvIGFsbG93IGhhcmR3YXJlCisiCQltb2RlbGxpbmcgaW4gQysrLiBDb21iaW5lZCB3aXRoIGEgc2ltdWxhdGlvbiBrZXJuZWwsCisiCQl0aGUgY29tcGlsZWQgYW5kIGxpbmtlZCBleGVjdXRhYmxlIGZvcm1zIGEgaGFyZHdhcmUKKyIJCXNpbXVsYXRpb24gb2YgdGhlIGRlc2NyaWJlZCBkZXNpZ24uCisiCisiCQlGdXJ0aGVyIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBmcm9tIHd3dy5mb3J0ZWRzLmNvbQorCisKKyIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworCisiIFJlYWQgdGhlIEMrKyBzeW50YXggdG8gc3RhcnQgd2l0aCAtIHRoaXMgaW5jbHVkZXMgdGhlIEMgc3ludGF4CitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9jcHAudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9jcHAudmltCitlbmRpZgordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCisiIEN5bmxpYiBleHRlbnNpb25zCisKK3N5biBrZXl3b3JkCWN5bmxpYk1hY3JvCSAgIERlZmF1bHQgQ1lOU0NPTgorc3luIGtleXdvcmQJY3lubGliTWFjcm8JICAgQ2FzZSBDYXNlWCBFbmRDYXNlWAorc3luIGtleXdvcmQJY3lubGliVHlwZQkgICBDeW5EYXRhIEN5blNpZ25lZERhdGEgQ3luVGltZQorc3luIGtleXdvcmQJY3lubGliVHlwZQkgICBJbiBPdXQgSW5TVCBPdXRTVAorc3luIGtleXdvcmQJY3lubGliVHlwZQkgICBTdHJ1Y3QKK3N5biBrZXl3b3JkCWN5bmxpYlR5cGUJICAgSW50IFVpbnQgQ29uc3QKK3N5biBrZXl3b3JkCWN5bmxpYlR5cGUJICAgTG9uZyBVbG9uZworc3luIGtleXdvcmQJY3lubGliVHlwZQkgICBPbmVIb3QKK3N5biBrZXl3b3JkCWN5bmxpYlR5cGUJICAgQ3luQ2xvY2sgQ3luY2xvY2swCitzeW4ga2V5d29yZCAgICAgY3lubGliRnVuY3Rpb24gICAgIHRpbWUgY29uZmlndXJlIG15X25hbWUKK3N5biBrZXl3b3JkICAgICBjeW5saWJGdW5jdGlvbiAgICAgQ3luTW9kdWxlIGVwaWxvZyBleGVjdXRlX29uCitzeW4ga2V5d29yZCAgICAgY3lubGliRnVuY3Rpb24gICAgIG15X25hbWUKK3N5biBrZXl3b3JkICAgICBjeW5saWJGdW5jdGlvbiAgICAgQ3luQmluZCBiaW5kCitzeW4ga2V5d29yZCAgICAgY3lubGliRnVuY3Rpb24gICAgIEN5bldhaXQgQ3luRXZlbnQKK3N5biBrZXl3b3JkICAgICBjeW5saWJGdW5jdGlvbiAgICAgQ3luU2V0TmFtZQorc3luIGtleXdvcmQgICAgIGN5bmxpYkZ1bmN0aW9uICAgICBDeW5UaWNrIEN5blJ1bgorc3luIGtleXdvcmQgICAgIGN5bmxpYkZ1bmN0aW9uICAgICBDeW5GaW5pc2gKK3N5biBrZXl3b3JkICAgICBjeW5saWJGdW5jdGlvbiAgICAgQ3lucHJpbnRmIEN5blNpbVRpbWUKK3N5biBrZXl3b3JkICAgICBjeW5saWJGdW5jdGlvbiAgICAgQ3luVmNkRmlsZQorc3luIGtleXdvcmQgICAgIGN5bmxpYkZ1bmN0aW9uICAgICBDeW5WY2RBZGQgQ3luVmNkUmVtb3ZlCitzeW4ga2V5d29yZCAgICAgY3lubGliRnVuY3Rpb24gICAgIEN5blZjZE9uIEN5blZjZE9mZgorc3luIGtleXdvcmQgICAgIGN5bmxpYkZ1bmN0aW9uICAgICBDeW5WY2RTY2FsZQorc3luIGtleXdvcmQgICAgIGN5bmxpYkZ1bmN0aW9uICAgICBDeW5CZ25OYW1lIEN5bkVuZE5hbWUKK3N5biBrZXl3b3JkICAgICBjeW5saWJGdW5jdGlvbiAgICAgQ3luQ2xvY2sgY29uZmlndXJlIHRpbWUKK3N5biBrZXl3b3JkICAgICBjeW5saWJGdW5jdGlvbiAgICAgQ3luUmVkQW5kIEN5blJlZE5hbmQKK3N5biBrZXl3b3JkICAgICBjeW5saWJGdW5jdGlvbiAgICAgQ3luUmVkT3IgQ3luUmVkTm9yCitzeW4ga2V5d29yZCAgICAgY3lubGliRnVuY3Rpb24gICAgIEN5blJlZFhvciBDeW5SZWRYbm9yCitzeW4ga2V5d29yZCAgICAgY3lubGliRnVuY3Rpb24gICAgIEN5blZlcmlmeQorCisKK3N5biBtYXRjaCAgICAgICBjeW5saWJPcGVyYXRvciAgICAgIjw8PSIKK3N5biBrZXl3b3JkCWN5bmxpYlR5cGUJICAgSW4gT3V0IEluU1QgT3V0U1QgSW50IFVpbnQgQ29uc3QgQ3luY2xvY2sKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3lubGliX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2N5bmxpYl9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBjeW5saWJPcGVyYXRvciAgIE9wZXJhdG9yCisgIEhpTGluayBjeW5saWJNYWNybyAgICAgIFN0YXRlbWVudAorICBIaUxpbmsgY3lubGliRnVuY3Rpb24gICBTdGF0ZW1lbnQKKyAgSGlMaW5rIGN5bmxpYnBwTWFjcm8gICAgICBTdGF0ZW1lbnQKKyAgSGlMaW5rIGN5bmxpYlR5cGUgICAgICAgVHlwZQorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjeW5saWIiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jeW5wcC52aW0gYi9ydW50aW1lL3N5bnRheC9jeW5wcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk4NGJhYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2N5bnBwLnZpbQpAQCAtMCwwICsxLDY4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIEN5bisrCisiIE1haW50YWluZXI6ICAgUGhpbCBEZXJyaWNrIDxwaGlsZEBmb3J0ZWRzLmNvbT4KKyIgTGFzdCBjaGFuZ2U6ICAyMDAxIFNlcCAwMgorIgorIiBMYW5ndWFnZSBJbmZvcm1hdGlvbgorIgorIgkJQ3lucHAgKEN5bisrKSBpcyBhIG1hY3JvIGxhbmd1YWdlIHRvIGVhc2UgY29kaW5nIGluIEN5bmxpYi4KKyIJCUN5bmxpYiBpcyBhIGxpYnJhcnkgb2YgQysrIGNsYXNzZXMgdG8gYWxsb3cgaGFyZHdhcmUKKyIJCW1vZGVsbGluZyBpbiBDKysuIENvbWJpbmVkIHdpdGggYSBzaW11bGF0aW9uIGtlcm5lbCwKKyIJCXRoZSBjb21waWxlZCBhbmQgbGlua2VkIGV4ZWN1dGFibGUgZm9ybXMgYSBoYXJkd2FyZQorIgkJc2ltdWxhdGlvbiBvZiB0aGUgZGVzY3JpYmVkIGRlc2lnbi4KKyIKKyIJCUN5bisrIGlzIGRlc2lnbmVkIHRvIGJlIEhETC1saWtlLgorIgorIgkJRnVydGhlciBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgZnJvbSB3d3cuZm9ydGVkcy5jb20KKworCisKKworCisiIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZAorIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFJlYWQgdGhlIEN5bmxpYiBzeW50YXggdG8gc3RhcnQgd2l0aCAtIHRoaXMgaW5jbHVkZXMgdGhlIEMrKyBzeW50YXgKK2lmIHZlcnNpb24gPCA2MDAKKyAgc291cmNlIDxzZmlsZT46cDpoL2N5bmxpYi52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2N5bmxpYi52aW0KK2VuZGlmCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKKworCisiIEN5bisrIGV4dGVuc2lvbnMKKworc3luIGtleXdvcmQgICAgIGN5bnBwTWFjcm8gICAgICBBbHdheXMgRW5kQWx3YXlzCitzeW4ga2V5d29yZCAgICAgY3lucHBNYWNybyAgICAgIE1vZHVsZSBFbmRNb2R1bGUKK3N5biBrZXl3b3JkICAgICBjeW5wcE1hY3JvICAgICAgSW5pdGlhbCBFbmRJbml0aWFsCitzeW4ga2V5d29yZCAgICAgY3lucHBNYWNybyAgICAgIFBvc2VkZ2UgTmVnZWRnZSBDaGFuZ2VkCitzeW4ga2V5d29yZCAgICAgY3lucHBNYWNybyAgICAgIEF0CitzeW4ga2V5d29yZCAgICAgY3lucHBNYWNybyAgICAgIFRocmVhZCBFbmRUaHJlYWQKK3N5biBrZXl3b3JkICAgICBjeW5wcE1hY3JvICAgICAgSW5zdGFudGlhdGUKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3lucHBfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfY3lucHBfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgY0xhYmVsCQlMYWJlbAorICBIaUxpbmsgY3lucHBNYWNybyAgU3RhdGVtZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImN5bnBwIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZC52aW0gYi9ydW50aW1lL3N5bnRheC9kLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWVjYzQzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZC52aW0KQEAgLTAsMCArMSwyMTkgQEAKKyIgVmltIHN5bnRheCBmaWxlIGZvciB0aGUgRCBwcm9ncmFtbWluZyBsYW5ndWFnZSAodmVyc2lvbiAwLjkwKS4KKyIKKyIgTGFuZ3VhZ2U6ICAgICBECisiIE1haW50YWluZXI6ICAgSmFzb24gTWlsbHM8am1pbGxzQGNzLm11bi5jYT4KKyIgVVJMOgorIiBMYXN0IENoYW5nZTogIDIwMDQgTWF5IDIxCisiIFZlcnNpb246ICAgICAgMC44CisiCisiIE9wdGlvbnM6CisiICAgZF9jb21tZW50X3N0cmluZ3MgLSBzZXQgdG8gaGlnaGxpZ2h0IHN0cmluZ3MgYW5kIG51bWJlcnMgaW4gY29tbWVudHMKKyIKKyIgICBkX2hsX29wZXJhdG9yX292ZXJsb2FkIC0gc2V0IHRvIGhpZ2hsaWdodCBEJ3Mgc3BlY2lhbGx5IG5hbWVkIGZ1bmN0aW9ucworIiAgIHRoYXQgd2hlbiBvdmVybG9hZGVkIGltcGxlbWVudCB1bmFyeSBhbmQgYmluYXJ5IG9wZXJhdG9ycyAoZS5nLiBjbXApLgorIgorIiBUb2RvOgorIiAgIC0gQWxsb3cgdXNlciB0byBzZXQgc3luYyBtaW5saW5lcworIgorIiAgIC0gU2V2ZXJhbCBrZXl3b3JkcyAobmFtZWx5LCBpbiBhbmQgb3V0KSBhcmUgYm90aCBzdG9yYWdlIGNsYXNzIGFuZAorIiAgIHN0YXRlbWVudHMsIGRlcGVuZGluZyBvbiB0aGVpciBjb250ZXh0LiBNdXN0IHVzZSBzb21lIG1hdGNoaW5nIHRvIGZpZ3VyZQorIiAgIG91dCB3aGljaCBhbmQgaGlnaGxpZ2h0IGFwcHJvcHJpYXRlbHkuIEZvciBub3cgSSBoYXZlIG1hZGUgc3VjaCBrZXl3b3JkcworIiAgIHN0YXRlbWVudHMuCisiCisiICAgLSBNYXJrIGNvbnRlbnRzIG9mIHRoZSBhc20gc3RhdGVtZW50IGJvZHkgYXMgc3BlY2lhbAorIgorCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEtleXdvcmQgZGVmaW5pdGlvbnMKKyIKK3N5biBrZXl3b3JkIGRFeHRlcm5hbAkgICAgIGltcG9ydCBtb2R1bGUgZXh0ZXJuCitzeW4ga2V5d29yZCBkQ29uZGl0aW9uYWwgICAgIGlmIGVsc2Ugc3dpdGNoCitzeW4ga2V5d29yZCBkQnJhbmNoCSAgICAgZ290byBicmVhayBjb250aW51ZQorc3luIGtleXdvcmQgZFJlcGVhdAkgICAgIHdoaWxlIGZvciBkbyBmb3JlYWNoCitzeW4ga2V5d29yZCBkQm9vbGVhbgkgICAgIHRydWUgZmFsc2UKK3N5biBrZXl3b3JkIGRDb25zdGFudAkgICAgIG51bGwKK3N5biBrZXl3b3JkIGRUeXBlZGVmCSAgICAgYWxpYXMgdHlwZWRlZgorc3luIGtleXdvcmQgZFN0cnVjdHVyZQkgICAgIHRlbXBsYXRlIGludGVyZmFjZSBjbGFzcyBlbnVtIHN0cnVjdCB1bmlvbgorc3luIGtleXdvcmQgZE9wZXJhdG9yCSAgICAgbmV3IGRlbGV0ZSB0eXBlb2YgY2FzdCBhbGlnbiBpcworc3luIGtleXdvcmQgZE9wZXJhdG9yCSAgICAgdGhpcyBzdXBlcgoraWYgZXhpc3RzKCJkX2hsX29wZXJhdG9yX292ZXJsb2FkIikKKyAgc3luIGtleXdvcmQgZE9wT3ZlcmxvYWQgIG9wTmVnIG9wQ29tIG9wUG9zdEluYyBvcFBvc3REZWMgb3BBZGQgb3BTdWIgb3BTdWJfcgorICBzeW4ga2V5d29yZCBkT3BPdmVybG9hZCAgb3BNdWwgb3BEaXYgb3BEaXZfciBvcE1vZCBvcE1vZF9yIG9wQW5kIG9wT3Igb3BYb3IKKyAgc3luIGtleXdvcmQgZE9wT3ZlcmxvYWQgIG9wU2hsIG9wU2hsX3Igb3BTaHIgb3BTaHJfciBvcFVTaHIgb3BVU2hyX3Igb3BDYXQKKyAgc3luIGtleXdvcmQgZE9wT3ZlcmxvYWQgIG9wQ2F0X3Igb3BFcXVhbHMgb3BFcXVhbHMgb3BDbXAgb3BDbXAgb3BDbXAgb3BDbXAKKyAgc3luIGtleXdvcmQgZE9wT3ZlcmxvYWQgIG9wQWRkQXNzaWduIG9wU3ViQXNzaWduIG9wTXVsQXNzaWduIG9wRGl2QXNzaWduCisgIHN5biBrZXl3b3JkIGRPcE92ZXJsb2FkICBvcE1vZEFzc2lnbiBvcEFuZEFzc2lnbiBvcE9yQXNzaWduIG9wWG9yQXNzaWduCisgIHN5biBrZXl3b3JkIGRPcE92ZXJsb2FkICBvcFNobEFzc2lnbiBvcFNockFzc2lnbiBvcFVTaHJBc3NpZ24gb3BDYXRBc3NpZ24KKyAgc3luIGtleXdvcmQgZE9wT3ZlcmxvYWQgIG9wSW5kZXggb3BDYWxsIG9wU2xpY2UKK2VuZGlmCitzeW4ga2V5d29yZCBkVHlwZQkgICAgIHVzaG9ydCBpbnQgdWludCBsb25nIHVsb25nIGZsb2F0CitzeW4ga2V5d29yZCBkVHlwZQkgICAgIHZvaWQgYnl0ZSB1Ynl0ZSBkb3VibGUgYml0IGNoYXIgd2NoYXIgdWNlbnQgY2VudAorc3luIGtleXdvcmQgZFR5cGUJICAgICBzaG9ydCBib29sIGRjaGFyCitzeW4ga2V5d29yZCBkVHlwZQkgICAgIHJlYWwgaXJlYWwgaWZsb2F0IGlkb3VibGUgY3JlYWwgY2Zsb2F0IGNkb3VibGUKK3N5biBrZXl3b3JkIGREZWJ1ZwkgICAgIGRlcHJlY2F0ZWQgdW5pdHRlc3QKK3N5biBrZXl3b3JkIGRFeGNlcHRpb25zICAgICAgdGhyb3cgdHJ5IGNhdGNoIGZpbmFsbHkKK3N5biBrZXl3b3JkIGRTY29wZURlY2wgICAgICAgcHVibGljIHByb3RlY3RlZCBwcml2YXRlIGV4cG9ydAorc3luIGtleXdvcmQgZFN0YXRlbWVudCAgICAgICB2ZXJzaW9uIGRlYnVnIHJldHVybiB3aXRoIGludmFyaWFudCBib2R5CitzeW4ga2V5d29yZCBkU3RhdGVtZW50ICAgICAgIGluIG91dCBpbm91dCBhc20gbWl4aW4KK3N5biBrZXl3b3JkIGRTdGF0ZW1lbnQgICAgICAgZnVuY3Rpb24gZGVsZWdhdGUKK3N5biBrZXl3b3JkIGRTdG9yYWdlQ2xhc3MgICAgYXV0byBzdGF0aWMgb3ZlcnJpZGUgZmluYWwgY29uc3QgYWJzdHJhY3Qgdm9sYXRpbGUKK3N5biBrZXl3b3JkIGRTdG9yYWdlQ2xhc3MgICAgc3luY2hyb25pemVkCitzeW4ga2V5d29yZCBkUHJhZ21hCSAgICAgcHJhZ21hCisKKworIiBBc3NlcnQgaXMgYSBzdGF0ZW1lbnQgYW5kIGEgbW9kdWxlIG5hbWUuCitzeW4gbWF0Y2ggZEFzc2VydCAiXmFzc2VydFw+Igorc3luIG1hdGNoIGRBc3NlcnQgIlteLl1ccypcPGFzc2VydFw+Im1zPXMrMQorCisiIE1hcmtzIGNvbnRlbnRzIG9mIHRoZSBhc20gc3RhdG1lbnQgYm9keSBhcyBzcGVjaWFsCisiCisiIFRPRE8KKyJzeW4gbWF0Y2ggZEFzbVN0YXRlbWVudCAiXDxhc21cPiIKKyJzeW4gcmVnaW9uIGRBc21Cb2R5IHN0YXJ0PSJhc21bXG5dKlxzKnsiaHM9ZSsxIGVuZD0ifSJoZT1lLTEgY29udGFpbnM9ZEFzbVN0YXRlbWVudAorIgorImhpIGRlZiBsaW5rIGRBc21Cb2R5IGRVbmljb2RlCisiaGkgZGVmIGxpbmsgZEFzbVN0YXRlbWVudCBkU3RhdGVtZW50CisKKyIgTGFiZWxzCisiCisiIFdlIGNvbnRhaW4gZFNjb3BlRGVjbCBzbyBwdWJsaWM6IHByaXZhdGU6IGV0Yy4gYXJlIG5vdCBoaWdobGlnaHRlZCBsaWtlIGxhYmVscworc3luIG1hdGNoICAgZFVzZXJMYWJlbCAgICAgICAiXlxzKltfJGEtekEtWl1bXyRhLXpBLVowLTlfXSpccyo6ImhlPWUtMSBjb250YWlucz1kTGFiZWwsZFNjb3BlRGVjbAorc3luIGtleXdvcmQgZExhYmVsCSAgICAgY2FzZSBkZWZhdWx0CisKKyIgQ29tbWVudHMKKyIKK3N5biBrZXl3b3JkIGRUb2RvCSAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFRFTVAgWFhYCitzeW4gbWF0Y2ggICBkQ29tbWVudFN0YXIgICAgICBjb250YWluZWQgIl5ccypcKlteL10ibWU9ZS0xCitzeW4gbWF0Y2ggICBkQ29tbWVudFN0YXIgICAgICBjb250YWluZWQgIl5ccypcKiQiCitzeW4gbWF0Y2ggICBkQ29tbWVudFBsdXMgICAgICBjb250YWluZWQgIl5ccyorW14vXSJtZT1lLTEKK3N5biBtYXRjaCAgIGRDb21tZW50UGx1cyAgICAgIGNvbnRhaW5lZCAiXlxzKiskIgoraWYgZXhpc3RzKCJkX2NvbW1lbnRfc3RyaW5ncyIpCisgIHN5biByZWdpb24gIGRCbG9ja0NvbW1lbnRTdHJpbmcgICBjb250YWluZWQgIHN0YXJ0PSsiKyBlbmQ9KyIrIGVuZD0rXCovK21lPXMtMSxoZT1zLTEgY29udGFpbnM9ZENvbW1lbnRTdGFyLGRVbmljb2RlLGRFc2NTZXF1ZW5jZSxAU3BlbGwKKyAgc3luIHJlZ2lvbiAgZE5lc3RlZENvbW1lbnRTdHJpbmcgIGNvbnRhaW5lZCAgc3RhcnQ9KyIrIGVuZD0rIisgZW5kPSIrIm1lPXMtMSxoZT1zLTEgY29udGFpbnM9ZENvbW1lbnRQbHVzLGRVbmljb2RlLGRFc2NTZXF1ZW5jZSxAU3BlbGwKKyAgc3luIHJlZ2lvbiAgZExpbmVDb21tZW50U3RyaW5nICAgIGNvbnRhaW5lZCBzdGFydD0rIisgIGVuZD0rJFx8IisgY29udGFpbnM9ZFVuaWNvZGUsZEVzY1NlcXVlbmNlLEBTcGVsbAorICBzeW4gcmVnaW9uICBkQmxvY2tDb21tZW50ICAgICBzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPWRCbG9ja0NvbW1lbnRTdHJpbmcsZFRvZG8sQFNwZWxsCisgIHN5biByZWdpb24gIGROZXN0ZWRDb21tZW50ICAgIHN0YXJ0PSIvKyIgIGVuZD0iKy8iIGNvbnRhaW5zPWROZXN0ZWRDb21tZW50LGROZXN0ZWRDb21tZW50U3RyaW5nLGRUb2RvLEBTcGVsbAorICBzeW4gbWF0Y2ggICBkTGluZUNvbW1lbnQgICAgICAiLy8uKiIgY29udGFpbnM9ZExpbmVDb21tZW50U3RyaW5nLGRUb2RvLEBTcGVsbAorZWxzZQorICBzeW4gcmVnaW9uICBkQmxvY2tDb21tZW50ICAgICBzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPWRCbG9ja0NvbW1lbnRTdHJpbmcsZFRvZG8sQFNwZWxsCisgIHN5biByZWdpb24gIGROZXN0ZWRDb21tZW50ICAgIHN0YXJ0PSIvKyIgIGVuZD0iKy8iIGNvbnRhaW5zPWROZXN0ZWRDb21tZW50LGROZXN0ZWRDb21tZW50U3RyaW5nLGRUb2RvLEBTcGVsbAorICBzeW4gbWF0Y2ggICBkTGluZUNvbW1lbnQgICAgICAiLy8uKiIgY29udGFpbnM9ZExpbmVDb21tZW50U3RyaW5nLGRUb2RvLEBTcGVsbAorZW5kaWYKKworaGkgbGluayBkTGluZUNvbW1lbnRTdHJpbmcgZEJsb2NrQ29tbWVudFN0cmluZworaGkgbGluayBkQmxvY2tDb21tZW50U3RyaW5nIGRTdHJpbmcKK2hpIGxpbmsgZE5lc3RlZENvbW1lbnRTdHJpbmcgZFN0cmluZworaGkgbGluayBkQ29tbWVudFN0YXIgIGRCbG9ja0NvbW1lbnQKK2hpIGxpbmsgZENvbW1lbnRQbHVzICBkTmVzdGVkQ29tbWVudAorCitzeW4gc3luYyBtaW5saW5lcz0yNQorCisiIENoYXJhY3RlcnMKKyIKK3N5biBtYXRjaCBkU3BlY2lhbENoYXJFcnJvciBjb250YWluZWQgIlteJ10iCisKKyIgRXNjYXBlIHNlcXVlbmNlcyAob2N0LHNwZWNhbCBjaGFyLGhleCx3Y2hhcikuIFRoZXNlIGFyZSBub3QgY29udGFpbmVkCisiIGJlY2F1c2UgdGhleSBhcmUgY29uc2lkZXJlZCBzdHJpbmcgbGl0dGVyYWxzCitzeW4gbWF0Y2ggZEVzY1NlcXVlbmNlICJcXFwoXG9cezEsM31cfFtcIlxcJ1xcP250YnJmdmFdXHx1XHhcezR9XHxVXHhcezh9XHx4XHhceFwpIgorc3luIG1hdGNoIGRDaGFyYWN0ZXIgICInW14nXSonIiBjb250YWlucz1kRXNjU2VxdWVuY2UsZFNwZWNpYWxDaGFyRXJyb3IKK3N5biBtYXRjaCBkQ2hhcmFjdGVyICAiJ1xcJyciIGNvbnRhaW5zPWRFc2NTZXF1ZW5jZQorc3luIG1hdGNoIGRDaGFyYWN0ZXIgICInW15cXF0nIgorCisiIFVuaWNvZGUgY2hhcmFjdGVycworIgorc3luIG1hdGNoICAgZFVuaWNvZGUgIlxcdVxkXHs0XH0iCisKKyIgU3RyaW5nLgorIgorc3luIHJlZ2lvbiAgZFN0cmluZyBzdGFydD0rIisgZW5kPSsiKyBjb250YWlucz1kRXNjU2VxdWVuY2UsQFNwZWxsCitzeW4gcmVnaW9uICBkUmF3U3RyaW5nIHN0YXJ0PStgKyBza2lwPStcXGArIGVuZD0rYCsgY29udGFpbnM9QFNwZWxsCitzeW4gcmVnaW9uICBkUmF3U3RyaW5nIHN0YXJ0PStyIisgc2tpcD0rXFwiKyBlbmQ9KyIrIGNvbnRhaW5zPUBTcGVsbAorc3luIHJlZ2lvbiAgZEhleFN0cmluZyBzdGFydD0reCIrIHNraXA9K1xcIisgZW5kPSsiKworCisiIE51bWJlcnMKKyIKK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoIGRJbnQgICAgICAgIGRpc3BsYXkgIlw8XGRbMC05X10qXCh1XD1sXD1cfGxcPXVcPVwpXD4iCisiIEhleCBudW1iZXIKK3N5biBtYXRjaCBkSGV4ICAgICAgICBkaXNwbGF5ICJcPDB4WzAtOWEtZl9dXCtcKHVcPWxcPVx8bFw9dVw9XClcPiIKK3N5biBtYXRjaCBkSGV4ICAgICAgICBkaXNwbGF5ICJcPFx4WzAtOWEtZl9dKmhcKHVcPWxcPVx8bFw9dVw9XClcPiIKKyIgRmxhZyB0aGUgZmlyc3QgemVybyBvZiBhbiBvY3RhbCBudW1iZXIgYXMgc29tZXRoaW5nIHNwZWNpYWwKK3N5biBtYXRjaCBkT2N0YWwgICAgICBkaXNwbGF5ICJcPDBbMC03X11cK1wodVw9bFw9XHxsXD11XD1cKVw+IiBjb250YWlucz1jT2N0YWxaZXJvCitzeW4gbWF0Y2ggZE9jdGFsWmVybyAgZGlzcGxheSBjb250YWluZWQgIlw8MCIKKworImZsb2F0aW5nIHBvaW50IHdpdGhvdXQgdGhlIGRvdAorc3luIG1hdGNoIGRGbG9hdCAgICAgIGRpc3BsYXkgIlw8XGRbMC05X10qXChmaVw9XHxsXD1pXClcPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoIGRGbG9hdCAgICAgIGRpc3BsYXkgIlw8XGRbMC05X10qXC5bMC05X10qXChlWy0rXVw9WzAtOV9dXCtcKVw9W2ZsXVw9aVw9IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCBkRmxvYXQgICAgICBkaXNwbGF5ICJcKFwuWzAtOV9dXCtcKVwoZVstK11cPVswLTlfXVwrXClcPVtmbF1cPWlcPVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKKyJzeW4gbWF0Y2ggZEZsb2F0ICAgICAgZGlzcGxheSAiXDxcZFwrZVstK11cPVxkXCtbZmxdXD1cPiIKK3N5biBtYXRjaCBkRmxvYXQgICAgICBkaXNwbGF5ICJcPFxkWzAtOV9dKmVbLStdXD1bMC05X11cK1tmbF1cPVw+IgorCisiZmxvYXRpbmcgcG9pbnQgd2l0aG91dCB0aGUgZG90CitzeW4gbWF0Y2ggZEhleEZsb2F0ICAgICAgZGlzcGxheSAiXDwweFx4XCtcKGZpXD1cfGxcPWlcKVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggZEhleEZsb2F0ICAgICAgZGlzcGxheSAiXDwweFx4XCtcLlx4KlwocFstK11cPVx4XCtcKVw9W2ZsXVw9aVw9IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKK3N5biBtYXRjaCBkSGV4RmxvYXQgICAgICBkaXNwbGF5ICJcPDB4XHhcK3BbLStdXD1ceFwrW2ZsXVw9XD4iCisKKyIgYmluYXJ5IG51bWJlcnMKK3N5biBtYXRjaCBkQmluYXJ5ICAgICBkaXNwbGF5ICJcPDBiWzAxX11cK1w+IgorIiBmbGFnIGFuIG9jdGFsIG51bWJlciB3aXRoIHdyb25nIGRpZ2l0cworc3luIG1hdGNoIGRPY3RhbEVycm9yIGRpc3BsYXkgIjBcbypbODldXGQqIgorc3luIGNhc2UgbWF0Y2gKKworIiBQcmFnbWEgKHByZXByb2Nlc3Nvcikgc3VwcG9ydAorIiBUT0RPOiBIaWdobGlnaHQgZm9sbG93aW5nIEludGVnZXIgYW5kIG9wdGlvbmFsIEZpbGVzcGVjLgorc3luIHJlZ2lvbiAgZFByYWdtYSBzdGFydD0iI1xzKlwobGluZVw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIgorCisKKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIgoraGkgZGVmIGxpbmsgZEJpbmFyeQkJTnVtYmVyCitoaSBkZWYgbGluayBkSW50CQlOdW1iZXIKK2hpIGRlZiBsaW5rIGRIZXgJCU51bWJlcgoraGkgZGVmIGxpbmsgZE9jdGFsCQlOdW1iZXIKK2hpIGRlZiBsaW5rIGRGbG9hdAkJRmxvYXQKK2hpIGRlZiBsaW5rIGRIZXhGbG9hdAkJRmxvYXQKK2hpIGRlZiBsaW5rIGREZWJ1ZwkJRGVidWcKK2hpIGRlZiBsaW5rIGRCcmFuY2gJCUNvbmRpdGlvbmFsCitoaSBkZWYgbGluayBkQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK2hpIGRlZiBsaW5rIGRMYWJlbAkJTGFiZWwKK2hpIGRlZiBsaW5rIGRVc2VyTGFiZWwJCUxhYmVsCitoaSBkZWYgbGluayBkUmVwZWF0CQlSZXBlYXQKK2hpIGRlZiBsaW5rIGRFeGNlcHRpb25zCQlFeGNlcHRpb24KK2hpIGRlZiBsaW5rIGRBc3NlcnQJCVN0YXRlbWVudAoraGkgZGVmIGxpbmsgZFN0YXRlbWVudAkJU3RhdGVtZW50CitoaSBkZWYgbGluayBkU2NvcGVEZWNsCQlkU3RvcmFnZUNsYXNzCitoaSBkZWYgbGluayBkU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcworaGkgZGVmIGxpbmsgZEJvb2xlYW4JCUJvb2xlYW4KK2hpIGRlZiBsaW5rIGRVbmljb2RlCQlTcGVjaWFsCitoaSBkZWYgbGluayBkUmF3U3RyaW5nCQlTdHJpbmcKK2hpIGRlZiBsaW5rIGRTdHJpbmcJCVN0cmluZworaGkgZGVmIGxpbmsgZEhleFN0cmluZwkJU3RyaW5nCitoaSBkZWYgbGluayBkQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKK2hpIGRlZiBsaW5rIGRFc2NTZXF1ZW5jZQlTcGVjaWFsQ2hhcgoraGkgZGVmIGxpbmsgZFNwZWNpYWxDaGFyRXJyb3IJRXJyb3IKK2hpIGRlZiBsaW5rIGRPY3RhbEVycm9yCQlFcnJvcgoraGkgZGVmIGxpbmsgZE9wZXJhdG9yCQlPcGVyYXRvcgoraGkgZGVmIGxpbmsgZE9wT3ZlcmxvYWQJCU9wZXJhdG9yCitoaSBkZWYgbGluayBkQ29uc3RhbnQJCUNvbnN0YW50CitoaSBkZWYgbGluayBkVHlwZWRlZgkJVHlwZWRlZgoraGkgZGVmIGxpbmsgZFN0cnVjdHVyZQkJU3RydWN0dXJlCitoaSBkZWYgbGluayBkVG9kbwkJVG9kbworaGkgZGVmIGxpbmsgZFR5cGUJCVR5cGUKK2hpIGRlZiBsaW5rIGRMaW5lQ29tbWVudAlDb21tZW50CitoaSBkZWYgbGluayBkQmxvY2tDb21tZW50CUNvbW1lbnQKK2hpIGRlZiBsaW5rIGROZXN0ZWRDb21tZW50CUNvbW1lbnQKK2hpIGRlZiBsaW5rIGRFeHRlcm5hbAkJSW5jbHVkZQoraGkgZGVmIGxpbmsgZFByYWdtYQkJUHJlUHJvYworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGNkLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RjZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU2Njc0NQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2RjZC52aW0KQEAgLTAsMCArMSw2NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVdpbGRQYWNrZXRzIEV0aGVyUGVlayBEZWNvZGVyICguZGNkKSBmaWxlCisiIE1haW50YWluZXI6CUNocmlzdG9waGVyIFNoaW5uIDxjaHJpc3RvcGhlckBsdWNlbnQuY29tPgorIiBMYXN0IENoYW5nZToJMjAwMyBBcHIgMjUKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEtleXdvcmRzCitzeW4ga2V5d29yZCBkY2RGdW5jdGlvbgkJRENvZCBUUlRTIFROWFQgQ1JMRgorc3luIG1hdGNoICAgZGNkRnVuY3Rpb24JCWRpc3BsYXkgIlwoU1RSXClcIyIKK3N5biBrZXl3b3JkIGRjZExhYmVsCQlMQUJMCitzeW4gcmVnaW9uICBkY2RMYWJlbAkJc3RhcnQ9IltBLVpdIiBlbmQ9IjsiCitzeW4ga2V5d29yZCBkY2RDb25kaXRpb25hbAlDRVFVIENORVEgQ0dURSBDTFRFIENCSVQgQ0xTRQorc3luIGtleXdvcmQgZGNkQ29uZGl0aW9uYWwJTFNUUyBMU1RFIExTVFoKK3N5biBrZXl3b3JkIGRjZENvbmRpdGlvbmFsCVRZUEUgVFRTVCBURVFVIFRORVEgVEdURSBUTFRFIFRCSVQgVExTRSBUU1VCIFNLSVAKK3N5biBrZXl3b3JkIGRjZENvbmRpdGlvbmFsCU1BUksgV0hPQQorc3luIGtleXdvcmQgZGNkQ29uZGl0aW9uYWwJU0VRVSBTTkVRIFNHVEUgU0xURSBTQklUCitzeW4gbWF0Y2ggICBkY2RDb25kaXRpb25hbAlkaXNwbGF5ICJcKENTVFwpXCMiICJcKFRTVFwpXCMiCitzeW4ga2V5d29yZCBkY2REaXNwbGF5CQlIQklUIERCSVQgQkJJVAorc3luIGtleXdvcmQgZGNkRGlzcGxheQkJSEJZVCBEQllUIEJCWVQKK3N5biBrZXl3b3JkIGRjZERpc3BsYXkJCUhXUkQgRFdSRCBCV1JECitzeW4ga2V5d29yZCBkY2REaXNwbGF5CQlITE5HIERMTkcgQkxORworc3luIGtleXdvcmQgZGNkRGlzcGxheQkJRDY0Qgorc3luIG1hdGNoICAgZGNkRGlzcGxheQkJZGlzcGxheSAiXChIRVhcKVwjIiAiXChDSFJcKVwjIiAiXChFQkNcKVwjIgorc3luIGtleXdvcmQgZGNkRGlzcGxheQkJSEdMQiBER0xCIEJHTEIKK3N5biBrZXl3b3JkIGRjZERpc3BsYXkJCURVTVAKK3N5biBrZXl3b3JkIGRjZFN0YXRlbWVudAlJUExHIElQVjYgQVRMRyBBVDAzIEFUMDEgRVRIUiBUUk5HIFBSVE8gUE9SVAorc3luIGtleXdvcmQgZGNkU3RhdGVtZW50CVRJTUUgT1NUUCBQU1RSIENTVFIgTkJOTSBETVBFIEZUUEwgQ0tTTSBGQ1NDCitzeW4ga2V5d29yZCBkY2RTdGF0ZW1lbnQJR0JJVCBHQllUIEdXUkQgR0xORworc3luIGtleXdvcmQgZGNkU3RhdGVtZW50CU1PVkUgQU5ERyBPUlJHIE5PVEcgQURERyBTVUJHIE1VTEcgRElWRyBNT0RHIElOQ1IgREVDUgorc3luIGtleXdvcmQgZGNkU3BlY2lhbAkJUFJWMSBQUlYyIFBSVjMgUFJWNCBQUlY1IFBSVjYgUFJWNyBQUlY4CisKKyIgQ29tbWVudAorc3luIHJlZ2lvbiAgZGNkQ29tbWVudAkJc3RhcnQ9IlwqIiBlbmQ9Ilw7IgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kY2Rfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZGNkX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGRjZEZ1bmN0aW9uCQlJZGVudGlmaWVyCisgIEhpTGluayBkY2RMYWJlbAkJQ29uc3RhbnQKKyAgSGlMaW5rIGRjZENvbmRpdGlvbmFsCQlDb25kaXRpb25hbAorICBIaUxpbmsgZGNkRGlzcGxheQkJVHlwZQorICBIaUxpbmsgZGNkU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGRjZFNwZWNpYWwJCVNwZWNpYWwKKyAgSGlMaW5rIGRjZENvbW1lbnQJCUNvbW1lbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZGNkIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGNsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RjbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ2N2E3MQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2RjbC52aW0KQEAgLTAsMCArMSwxNjQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglEQ0wgKERpZ2l0YWwgQ29tbWFuZCBMYW5ndWFnZSAtIHZtcykKKyIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KKyIgTGFzdCBDaGFuZ2U6CVNlcCAwMiwgMjAwMworIiBWZXJzaW9uOgkzCisiIFVSTDoJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc2V0IGlza2V5d29yZD0kLEAsNDgtNTcsXworZWxzZQorICBzZXRsb2NhbCBpc2tleXdvcmQ9JCxALDQ4LTU3LF8KK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQgZGNsSW5zdHIJYWNjb3VudGluZwlkZWxbZXRlXQlnZW5bY2F0XQltb3VbbnRdCXJ1bgorc3luIGtleXdvcmQgZGNsSW5zdHIJYWxsW29jYXRlXQlkZXBbb3NpdF0JZ2VuW2VyYWxdCW5jcAlydW5bb2ZmXQorc3luIGtleXdvcmQgZGNsSW5zdHIJYW5hW2x5emVdCWRpYVtnbm9zZV0JZ29zW3ViXQluY3MJc2NhCitzeW4ga2V5d29yZCBkY2xJbnN0cglhcHBbZW5kXQlkaWZbZmVyZW5jZXNdCWdvdFtvXQlvbglzZWFbcmNoXQorc3luIGtleXdvcmQgZGNsSW5zdHIJYXNzW2lnbl0JZGlyW2VjdG9yeV0JaGVsW3BdCW9wZVtuXQlzZXQKK3N5biBrZXl3b3JkIGRjbEluc3RyCWF0dFthY2hdCWRpc1thYmxlXQlpY29bbnZdCXBhc1tjYWxdCXNob1t3XQorc3luIGtleXdvcmQgZGNsSW5zdHIJYXV0W2hvcml6ZV0JZGlzW2Nvbm5lY3RdCWlmCXBhc1tzd29yZF0Jc29yW3RdCitzeW4ga2V5d29yZCBkY2xJbnN0cglhdXRbb2dlbl0JZGlzW21vdW50XQlpbmlbdGlhbGl6ZV0JcGF0W2NoXQlzcGFbd25dCitzeW4ga2V5d29yZCBkY2xJbnN0cgliYWNba3VwXQlkcG1bbF0JaW5xW3VpcmVdCXBjYQlzdGFbcnRdCitzeW4ga2V5d29yZCBkY2xJbnN0cgljYWxbbF0JZHFzCWluc1t0YWxsXQlwaG9bbmVdCXN0b1twXQorc3luIGtleXdvcmQgZGNsSW5zdHIJY2FuW2NlbF0JZHNyCWpvYglwcmlbbnRdCXN1YlttaXRdCitzeW4ga2V5d29yZCBkY2xJbnN0cgljYwlkc3RbZ3JhcGhdCWxhdFtjcF0JcHJvW2R1Y3RdCXN1Yltyb3V0aW5lXQorc3luIGtleXdvcmQgZGNsSW5zdHIJY2xvW3NlXQlkdG0JbGliW3JhcnldCXBzd1tyYXBdCXN3eFtjcl0KK3N5biBrZXl3b3JkIGRjbEluc3RyCWNtcwlkdW1bcF0JbGljW2Vuc2VdCXB1cltnZV0Jc3luW2Nocm9uaXplXQorc3luIGtleXdvcmQgZGNsSW5zdHIJY29uW25lY3RdCWVkaVt0XQlsaW5ba10JcWRlW2xldGVdCXN5c1tnZW5dCitzeW4ga2V5d29yZCBkY2xJbnN0cgljb25bdGludWVdCWVuYVtibGVdCWxtY1twXQlxc2VbdF0Jc3lzW21hbl0KK3N5biBrZXl3b3JkIGRjbEluc3RyCWNvblt2ZXJ0XQllbmRbc3Vicm91dGluZV0JbG9jW2FsZV0JcXNoW293XQl0ZmYKK3N5biBrZXl3b3JkIGRjbEluc3RyCWNvcFt5XQllb2QJbG9nW2luXQlyZWFbZF0JdGhlbgorc3luIGtleXdvcmQgZGNsSW5zdHIJY3JlW2F0ZV0JZW9qCWxvZ1tvdXRdCXJlY1thbGxdCXR5cFtlXQorc3luIGtleXdvcmQgZGNsSW5zdHIJY3h4CWV4YVttaW5lXQlsc2VbZGl0XQlyZWNbb3Zlcl0JdWlsCitzeW4ga2V5d29yZCBkY2xJbnN0cgljeHhbbF9oZWxwXQlleGNbaGFuZ2VdCW1hY1tyb10JcmVuW2FtZV0JdW5sW29ja10KK3N5biBrZXl3b3JkIGRjbEluc3RyCWRlYVtsbG9jYXRlXQlleGlbdF0JbWFpW2xdCXJlcFtseV0JdmVzW3RdCitzeW4ga2V5d29yZCBkY2xJbnN0cglkZWFbc3NpZ25dCWZkbAltZXJbZ2VdCXJlcVt1ZXN0XQl2aWVbd10KK3N5biBrZXl3b3JkIGRjbEluc3RyCWRlYlt1Z10JZmxvW3dncmFwaF0JbWVzW3NhZ2VdCXJldFt1cm5dCXdhaVt0XQorc3luIGtleXdvcmQgZGNsSW5zdHIJZGVjW2tdCWZvblt0XQltbXMJcm1zCXdyaVt0ZV0KK3N5biBrZXl3b3JkIGRjbEluc3RyCWRlZltpbmVdCWZvclt0cmFuXQorCitzeW4ga2V5d29yZCBkY2xMZXhpY2FsCWYkY29udGV4dAlmJGVkaXQJICBmJGdldGpwaQlmJG1lc3NhZ2UJZiRzZXRwcnYKK3N5biBrZXl3b3JkIGRjbExleGljYWwJZiRjc2lkCWYkZWxlbWVudAkgIGYkZ2V0cXVpCWYkbW9kZQlmJHN0cmluZworc3luIGtleXdvcmQgZGNsTGV4aWNhbAlmJGN2c2kJZiRlbnZpcm9ubWVudAkgIGYkZ2V0c3lpCWYkcGFyc2UJZiR0aW1lCitzeW4ga2V5d29yZCBkY2xMZXhpY2FsCWYkY3Z0aW1lCWYkZXh0cmFjdAkgIGYkaWRlbnRpZmllcglmJHBpZAlmJHRybmxubQorc3luIGtleXdvcmQgZGNsTGV4aWNhbAlmJGN2dWkJZiRmYW8JICBmJGludGVnZXIJZiRwcml2aWxlZ2UJZiR0eXBlCitzeW4ga2V5d29yZCBkY2xMZXhpY2FsCWYkZGV2aWNlCWYkZmlsZV9hdHRyaWJ1dGVzIGYkbGVuZ3RoCWYkcHJvY2VzcwlmJHVzZXIKK3N5biBrZXl3b3JkIGRjbExleGljYWwJZiRkaXJlY3RvcnkJZiRnZXRkdmkJICBmJGxvY2F0ZQlmJHNlYXJjaAlmJHZlcmlmeQorCitzeW4gbWF0Y2ggICBkY2xNZGZ5CSIvXElcaSoiCW5leHRncm91cD1kY2xNZGZ5U2V0LGRjbE1kZnlTZXRTdHJpbmcKK3N5biBtYXRjaCAgIGRjbE1kZnlTZXQJIj1bXiBcdCJdKiIJY29udGFpbmVkCitzeW4gcmVnaW9uICBkY2xNZGZ5U2V0CW1hdGNoZ3JvdXA9ZGNsTWRmeUJya3Qgc3RhcnQ9Ij1cWyIgbWF0Y2hncm91cD1kY2xNZGZ5QnJrdCBlbmQ9Il0iCWNvbnRhaW5zPWRjbE1kZnlTZXAKK3N5biByZWdpb24gIGRjbE1kZnlTZXRTdHJpbmcJc3RhcnQ9Jz0iJwlza2lwPSciIicJZW5kPSciJwljb250YWluZWQKK3N5biBtYXRjaCAgIGRjbE1kZnlTZXAJIls6LF0iCWNvbnRhaW5lZAorCisiIE51bWJlcnMKK3N5biBtYXRjaCAgIGRjbE51bWJlcgkiXGRcKyIKKworIiBWYXJuYW1lIChtYWlubHkgdG8gcHJldmVudCBkY2xOdW1iZXJzIGZyb20gYmVpbmcgcmVjb2duaXplZCB3aGVuIHBhcnQgb2YgYSBkY2xWYXJuYW1lKQorc3luIG1hdGNoICAgZGNsVmFybmFtZQkiXElcaSoiCisKKyIgRmlsZW5hbWVzIChkZXZpY2VzLCBwYXRocykKK3N5biBtYXRjaCAgIGRjbERldmljZQkiXElcaSpcKFwkXElcaSpcKVw9OltePV0ibWU9ZS0xCQluZXh0Z3JvdXA9ZGNsRGlyUGF0aCxkY2xGaWxlbmFtZQorc3luIG1hdGNoICAgZGNsRGlyUGF0aAkiXFtcKFxJXGkqXC5cKSpcSVxpKlxdIgkJY29udGFpbnM9ZGNsRGlyU2VwCW5leHRncm91cD1kY2xGaWxlbmFtZQorc3luIG1hdGNoICAgZGNsRmlsZW5hbWUJIlxJXGkqXCRcKFxJXGkqXClcPVwuXChcSVxpKlwpKlwoO1xkXCtcKVw9Igljb250YWlucz1kY2xEaXJTZXAKK3N5biBtYXRjaCAgIGRjbEZpbGVuYW1lCSJcSVxpKlwuXChcSVxpKlwpXD1cKDtcZFwrXClcPSIJY29udGFpbnM9ZGNsRGlyU2VwCWNvbnRhaW5lZAorc3luIG1hdGNoICAgZGNsRGlyU2VwCSJbW1xdLjtdIgorCisiIFN0cmluZ3MKK3N5biByZWdpb24gIGRjbFN0cmluZwlzdGFydD0nIicJc2tpcD0nIiInCWVuZD0nIicKKworIiAkIHN0dWZmIGFuZCBjb21tZW50cworc3luIGNsdXN0ZXIgZGNsQ29tbWVudEdyb3VwCWNvbnRhaW5zPWRjbFN0YXJ0LGRjbFRvZG8sQFNwZWxsCitzeW4gbWF0Y2ggICBkY2xTdGFydAkiXlwkIglza2lwd2hpdGUgbmV4dGdyb3VwPWRjbEV4ZQorc3luIG1hdGNoICAgZGNsQ29udGludWUJIi0kIgorc3luIG1hdGNoICAgZGNsQ29tbWVudAkiXlwkIS4qJCIJY29udGFpbnM9QGRjbENvbW1lbnRHcm91cAorc3luIG1hdGNoICAgZGNsRXhlCSJcSVxpKiIJY29udGFpbmVkCitzeW4gbWF0Y2ggICBkY2xUb2RvCSJERUJVR1x8VE9ETyIJY29udGFpbmVkCisKKyIgQXNzaWdubWVudHMgYW5kIE9wZXJhdG9ycworc3luIG1hdGNoICAgZGNsQXNzaWduCSI6PT1cPSIKK3N5biBtYXRjaCAgIGRjbEFzc2lnbgkiPSIKK3N5biBtYXRjaCAgIGRjbE9wZXIJIi0tXHwrXHxcKlx8LyIKK3N5biBtYXRjaCAgIGRjbExvZ09wZXIJIlwuW2EtekEtWl1bYS16QS1aXVthLXpBLVpdXD1cLiIgY29udGFpbnM9ZGNsTG9naWNhbCxkY2xMb2dTZXAKK3N5biBrZXl3b3JkIGRjbExvZ2ljYWwgY29udGFpbmVkCWFuZAlnZQlndHMJbHQJbmVzCitzeW4ga2V5d29yZCBkY2xMb2dpY2FsIGNvbnRhaW5lZAllcQlnZXMJbGUJbHRzCW5vdAorc3luIGtleXdvcmQgZGNsTG9naWNhbCBjb250YWluZWQJZXFzCWd0CWxlcwluZQlvcgorc3luIG1hdGNoICAgZGNsTG9nU2VwCSJcLiIJCWNvbnRhaW5lZAorCisiIEBjb21tYW5kIHByb2NlZHVyZXMKK3N5biBtYXRjaCAgIGRjbENtZFByb2NTdGFydAkiQCIJCQluZXh0Z3JvdXA9ZGNsQ21kUHJvYworc3luIG1hdGNoICAgZGNsQ21kUHJvYwkiXElcaSpcKFwuXElcaSpcKVw9Igljb250YWluZWQKK3N5biBtYXRjaCAgIGRjbENtZFByb2MJIlxJXGkqOiIJCWNvbnRhaW5lZAluZXh0Z3JvdXA9ZGNsQ21kRGlyUGF0aCxkY2xDbWRQcm9jCitzeW4gbWF0Y2ggICBkY2xDbWREaXJQYXRoCSJcW1woXElcaSpcLlwpKlxJXGkqXF0iCWNvbnRhaW5lZAluZXh0Z3JvdXA9ZGVsQ21kUHJvYworCisiIGxhYmVscworc3luIG1hdGNoICAgZGNsR290b0xhYmVsCSJeXCRccypcSVxpKjpccyokIgljb250YWlucz1kY2xTdGFydAorCisiIHBhcmFtZXRlcnMKK3N5biBtYXRjaCAgIGRjbFBhcmFtCSInXElbYS16QS1aMC05XyRdKidcPSIKKworIiAoKSBtYXRjaGluZyAodGhlIGNsdXN0ZXJzIGFyZSBjb21tZW50ZWQgb3V0IHVudGlsIGEgdmltL3ZtcyBjb21lcyBvdXQgZm9yIHY1LjIrKQorInN5biBjbHVzdGVyIGRjbE5leHRHcm91cHMJY29udGFpbnM9ZGNsQ21kRGlyUGF0aCxkY2xDbWRQcm9jLGRjbENtZFByb2MsZGNsRGlyUGF0aCxkY2xGaWxlbmFtZSxkY2xGaWxlbmFtZSxkY2xNZGZ5U2V0LGRjbE1kZnlTZXRTdHJpbmcsZGVsQ21kUHJvYyxkY2xFeGUsZGNsVG9kbworInN5biByZWdpb24gIGRjbEZ1bmNMaXN0CW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxAZGNsTmV4dEdyb3Vwcworc3luIHJlZ2lvbiAgZGNsRnVuY0xpc3QJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULGRjbENtZERpclBhdGgsZGNsQ21kUHJvYyxkY2xDbWRQcm9jLGRjbERpclBhdGgsZGNsRmlsZW5hbWUsZGNsRmlsZW5hbWUsZGNsTWRmeVNldCxkY2xNZGZ5U2V0U3RyaW5nLGRlbENtZFByb2MsZGNsRXhlLGRjbFRvZG8KK3N5biBtYXRjaCAgIGRjbEVycm9yCSIpIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kY2xfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZGNsX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyBIaUxpbmsgZGNsTG9nT3BlcglkY2xFcnJvcgorIEhpTGluayBkY2xMb2dpY2FsCWRjbE9wZXIKKyBIaUxpbmsgZGNsTG9nU2VwCWRjbFNlcAorCisgSGlMaW5rIGRjbEFzc2lnbglPcGVyYXRvcgorIEhpTGluayBkY2xDbWRQcm9jCVNwZWNpYWwKKyBIaUxpbmsgZGNsQ21kUHJvY1N0YXJ0CU9wZXJhdG9yCisgSGlMaW5rIGRjbENvbW1lbnQJQ29tbWVudAorIEhpTGluayBkY2xDb250aW51ZQlTdGF0ZW1lbnQKKyBIaUxpbmsgZGNsRGV2aWNlCUlkZW50aWZpZXIKKyBIaUxpbmsgZGNsRGlyUGF0aAlJZGVudGlmaWVyCisgSGlMaW5rIGRjbERpclBhdGgJSWRlbnRpZmllcgorIEhpTGluayBkY2xEaXJTZXAJRGVsaW1pdGVyCisgSGlMaW5rIGRjbEVycm9yCUVycm9yCisgSGlMaW5rIGRjbEV4ZQkJU3RhdGVtZW50CisgSGlMaW5rIGRjbEZpbGVuYW1lCU5PTkUKKyBIaUxpbmsgZGNsR290b0xhYmVsCUxhYmVsCisgSGlMaW5rIGRjbEluc3RyCVN0YXRlbWVudAorIEhpTGluayBkY2xMZXhpY2FsCUZ1bmN0aW9uCisgSGlMaW5rIGRjbE1kZnkJVHlwZQorIEhpTGluayBkY2xNZGZ5QnJrdAlEZWxpbWl0ZXIKKyBIaUxpbmsgZGNsTWRmeVNlcAlEZWxpbWl0ZXIKKyBIaUxpbmsgZGNsTWRmeVNldAlUeXBlCisgSGlMaW5rIGRjbE1kZnlTZXRTdHJpbmcJU3RyaW5nCisgSGlMaW5rIGRjbE51bWJlcglOdW1iZXIKKyBIaUxpbmsgZGNsT3BlcglPcGVyYXRvcgorIEhpTGluayBkY2xQYXJhbQlTcGVjaWFsCisgSGlMaW5rIGRjbFNlcAkJRGVsaW1pdGVyCisgSGlMaW5rIGRjbFN0YXJ0CURlbGltaXRlcgorIEhpTGluayBkY2xTdHJpbmcJU3RyaW5nCisgSGlMaW5rIGRjbFRvZG8JVG9kbworCisgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImRjbCIKKworIiB2aW06IHRzPTE2CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kZWJjaGFuZ2Vsb2cudmltIGIvcnVudGltZS9zeW50YXgvZGViY2hhbmdlbG9nLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzdiNDhkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZGViY2hhbmdlbG9nLnZpbQpAQCAtMCwwICsxLDU0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJRGViaWFuIGNoYW5nZWxvZyBmaWxlcworIiBNYWludGFpbmVyOglXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorIiBMYXN0IENoYW5nZToJMzAgQXByaWwgMjAwMQorCisiIFN0YW5kYXJkIHN5bnRheCBpbml0aWFsaXphdGlvbgoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQ2FzZSBkb2Vzbid0IG1hdHRlciBmb3IgdXMKK3N5biBjYXNlIGlnbm9yZQorCisiIERlZmluZSBzb21lIGNvbW1vbiBleHByZXNzaW9ucyB3ZSBjYW4gdXNlIGxhdGVyIG9uCitzeW4gbWF0Y2ggZGViY2hhbmdlbG9nTmFtZQljb250YWluZWQgIl5bWzphbHBoYTpdXVtbOmFsbnVtOl0uKy1dXCsgIgorc3luIG1hdGNoIGRlYmNoYW5nZWxvZ1VyZ2VuY3kJY29udGFpbmVkICI7IHVyZ2VuY3k9XChsb3dcfG1lZGl1bVx8aGlnaFx8Y3JpdGljYWxcKSIKK3N5biBtYXRjaCBkZWJjaGFuZ2Vsb2dUYXJnZXQJY29udGFpbmVkICJcKCBzdGFibGVcfCBmcm96ZW5cfCB1bnN0YWJsZVx8IGV4cGVyaW1lbnRhbFwpXCsiCitzeW4gbWF0Y2ggZGViY2hhbmdlbG9nVmVyc2lvbgljb250YWluZWQgIiguXHstfSkiCitzeW4gbWF0Y2ggZGViY2hhbmdlbG9nQ2xvc2VzCWNvbnRhaW5lZCAiY2xvc2VzOlxzKlwoYnVnXClcPSNcc1w9XGRcK1woLFxzKlwoYnVnXClcPSNcc1w9XGRcK1wpKiIKK3N5biBtYXRjaCBkZWJjaGFuZ2Vsb2dFbWFpbAljb250YWluZWQgIltfPVs6YWxudW06XS4rLV1cK0BbWzphbG51bTpdLi9cLV1cKyIKK3N5biBtYXRjaCBkZWJjaGFuZ2Vsb2dFbWFpbAljb250YWluZWQgIjwuXHstfT4iCisKKyIgRGVmaW5lIHRoZSBlbnRyaWVzIHRoYXQgbWFrZSB1cCB0aGUgY2hhbmdlbG9nCitzeW4gcmVnaW9uIGRlYmNoYW5nZWxvZ0hlYWRlciBzdGFydD0iXlteIF0iIGVuZD0iJCIgY29udGFpbnM9ZGViY2hhbmdlbG9nTmFtZSxkZWJjaGFuZ2Vsb2dVcmdlbmN5LGRlYmNoYW5nZWxvZ1RhcmdldCxkZWJjaGFuZ2Vsb2dWZXJzaW9uIG9uZWxpbmUKK3N5biByZWdpb24gZGViY2hhbmdlbG9nRm9vdGVyIHN0YXJ0PSJeIFteIF0iIGVuZD0iJCIgY29udGFpbnM9ZGViY2hhbmdlbG9nRW1haWwgb25lbGluZQorc3luIHJlZ2lvbiBkZWJjaGFuZ2Vsb2dFbnRyeSBzdGFydD0iXiAgIiBlbmQ9IiQiIGNvbnRhaW5zPWRlYmNoYW5nZWxvZ0Nsb3NlcyBvbmVsaW5lCisKKyIgQXNzb2NpYXRlIG91ciBtYXRjaGVzIGFuZCByZWdpb25zIHdpdGggcHJldHR5IGNvbG91cnMKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kZWJjaGFuZ2Vsb2dfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZGViY2hhbmdlbG9nX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGRlYmNoYW5nZWxvZ0hlYWRlcgkJRXJyb3IKKyAgSGlMaW5rIGRlYmNoYW5nZWxvZ0Zvb3RlcgkJSWRlbnRpZmllcgorICBIaUxpbmsgZGViY2hhbmdlbG9nRW50cnkJCU5vcm1hbAorICBIaUxpbmsgZGViY2hhbmdlbG9nQ2xvc2VzCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGRlYmNoYW5nZWxvZ1VyZ2VuY3kJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGRlYmNoYW5nZWxvZ05hbWUJCUNvbW1lbnQKKyAgSGlMaW5rIGRlYmNoYW5nZWxvZ1ZlcnNpb24JCUlkZW50aWZpZXIKKyAgSGlMaW5rIGRlYmNoYW5nZWxvZ1RhcmdldAkJSWRlbnRpZmllcgorICBIaUxpbmsgZGViY2hhbmdlbG9nRW1haWwJCVNwZWNpYWwKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZGViY2hhbmdlbG9nIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RlYmNvbnRyb2wudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ODBmZGIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbQpAQCAtMCwwICsxLDcwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJRGViaWFuIGNvbnRyb2wgZmlsZXMKKyIgTWFpbnRhaW5lcjoJV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CU9jdG9iZXIgMjgsIDIwMDEKKworIiBTdGFuZGFyZCBzeW50YXggaW5pdGlhbGl6YXRpb24KK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEV2ZXJ5dGhpbmcgdGhhdCBpcyBub3QgZXhwbGljaXRseSBtYXRjaGVkIGJ5IHRoZSBydWxlcyBiZWxvdworc3luIG1hdGNoIGRlYmNvbnRyb2xFbHNlICJeLiokIgorCisiIENvbW1vbiBzZXBlcmF0b3JzCitzeW4gbWF0Y2ggZGViQ29udHJvbENvbW1hICIsICoiCitzeW4gbWF0Y2ggZGViQ29udHJvbFNwYWNlICIgIgorCisiIERlZmluZSBzb21lIGNvbW1vbiBleHByZXNzaW9ucyB3ZSBjYW4gdXNlIGxhdGVyIG9uCitzeW4gbWF0Y2ggZGViY29udHJvbEFyY2hpdGVjdHVyZSBjb250YWluZWQgIlwoYWxsXHxhbnlcfGFscGhhXHxhcm1cfGhwcGFcfGlhNjRcfGkzODZcfG02OGtcfG1pcHNlbFx8bWlwc1x8cG93ZXJwY1x8c2hcfHNoZWJcfHNwYXJjXHxodXJkLWkzODZcKSIKK3N5biBtYXRjaCBkZWJjb250cm9sTmFtZSBjb250YWluZWQgIlthLXpdW2EtejAtOSstXSoiCitzeW4gbWF0Y2ggZGViY29udHJvbFByaW9yaXR5IGNvbnRhaW5lZCAiXChleHRyYVx8aW1wb3J0YW50XHxvcHRpb25hbFx8cmVxdWlyZWRcfHN0YW5kYXJkXCkiCitzeW4gbWF0Y2ggZGViY29udHJvbFNlY3Rpb24gY29udGFpbmVkICJcKFwoY29udHJpYlx8bm9uLWZyZWVcfG5vbi1VUy9tYWluXHxub24tVVMvY29udHJpYlx8bm9uLVVTL25vbi1mcmVlXCkvXClcPVwoYWRtaW5cfGJhc2VcfGNvbW1cfGRldmVsXHxkb2NcfGVkaXRvcnNcfGVsZWN0cm9uaWNzXHxnYW1lc1x8Z3JhcGhpY3NcfGhhbXJhZGlvXHxpbnRlcnByZXRlcnNcfGxpYnNcfG1haWxcfG1hdGhcfG1pc2NcfG5ldFx8bmV3c1x8b2xkbGlic1x8b3RoZXJvc2ZzXHxzY2llbmNlXHxzaGVsbHNcfHNvdW5kXHx0ZXh0XHx0ZXhcfHV0aWxzXHx3ZWJcfHgxMVx8ZGViaWFuLWluc3RhbGxlclwpIgorc3luIG1hdGNoIGRlYmNvbnRyb2xWYXJpYWJsZSBjb250YWluZWQgIlwkey5cey19fSIKKworIiBBbiBlbWFpbCBhZGRyZXNzCitzeW4gbWF0Y2gJZGViY29udHJvbEVtYWlsCSJbXz1bOmFsbnVtOl1cListXVwrQFtbOmFsbnVtOl1cLi9cLV1cKyIKK3N5biBtYXRjaAlkZWJjb250cm9sRW1haWwJIjwuXHstfT4iCisKKyIgTGlzdCBvZiBhbGwgbGVnYWwga2V5cworc3luIG1hdGNoIGRlYmNvbnRyb2xLZXkgY29udGFpbmVkICJeXChTb3VyY2VcfFBhY2thZ2VcfFNlY3Rpb25cfFByaW9yaXR5XHxNYWludGFpbmVyXHxVcGxvYWRlcnNcfEJ1aWxkLURlcGVuZHNcfEJ1aWxkLUNvbmZsaWN0c1x8QnVpbGQtRGVwZW5kcy1JbmRlcFx8QnVpbGQtQ29uZmxpY3RzLUluZGVwXHxTdGFuZGFyZHMtVmVyc2lvblx8UHJlLURlcGVuZHNcfERlcGVuZHNcfFJlY29tbWVuZHNcfFN1Z2dlc3RzXHxQcm92aWRlc1x8UmVwbGFjZXNcfENvbmZsaWN0c1x8RXNzZW50aWFsXHxBcmNoaXRlY3R1cmVcfERlc2NyaXB0aW9uXHxCdWdzXHxPcmlnaW5cKTogKiIKKworIiBGaWVsZHMgZm9yIHdoaWNoIHdlIGRvIHN0cmljdCBzeW50YXggY2hlY2tpbmcKK3N5biByZWdpb24gZGViY29udHJvbFN0cmljdEZpZWxkIHN0YXJ0PSJeQXJjaGl0ZWN0dXJlIiBlbmQ9IiQiIGNvbnRhaW5zPWRlYmNvbnRyb2xLZXksZGViY29udHJvbEFyY2hpdGVjdHVyZSxkZWJjb250cm9sU3BhY2Ugb25lbGluZQorc3luIHJlZ2lvbiBkZWJjb250cm9sU3RyaWN0RmllbGQgc3RhcnQ9Il5cKFBhY2thZ2VcfFNvdXJjZVwpIiBlbmQ9IiQiIGNvbnRhaW5zPWRlYmNvbnRyb2xLZXksZGViY29udHJvbE5hbWUgb25lbGluZQorc3luIHJlZ2lvbiBkZWJjb250cm9sU3RyaWN0RmllbGQgc3RhcnQ9Il5Qcmlvcml0eSIgZW5kPSIkIiBjb250YWlucz1kZWJjb250cm9sS2V5LGRlYmNvbnRyb2xQcmlvcml0eSBvbmVsaW5lCitzeW4gcmVnaW9uIGRlYmNvbnRyb2xTdHJpY3RGaWVsZCBzdGFydD0iXlNlY3Rpb24iIGVuZD0iJCIgY29udGFpbnM9ZGViY29udHJvbEtleSxkZWJjb250cm9sU2VjdGlvbiBvbmVsaW5lCisKKyIgQ2F0Y2gtYWxsIGZvciB0aGUgb3RoZXIgbGVnYWwgZmllbGRzCitzeW4gcmVnaW9uIGRlYmNvbnRyb2xGaWVsZCBzdGFydD0iXlwoTWFpbnRhaW5lclx8QnVpbGQtRGVwZW5kc1x8QnVpbGQtQ29uZmxpY3RzXHxCdWlsZC1EZXBlbmRzLUluZGVwXHxCdWlsZC1Db25mbGljdHMtSW5kZXBcfFN0YW5kYXJkcy1WZXJzaW9uXHxQcmUtRGVwZW5kc1x8RGVwZW5kc1x8UmVjb21tZW5kc1x8U3VnZ2VzdHNcfFByb3ZpZGVzXHxSZXBsYWNlc1x8Q29uZmxpY3RzXHxFc3NlbnRpYWxcfEJ1Z3NcfE9yaWdpblwpOiIgZW5kPSIkIiBjb250YWlucz1kZWJjb250cm9sS2V5LGRlYmNvbnRyb2xWYXJpYWJsZSxkZWJjb250cm9sRW1haWwgb25lbGluZQorc3luIHJlZ2lvbiBkZWJjb250cm9sTXVsdGlGaWVsZCBzdGFydD0iXlwoVXBsb2FkZXJzXHxEZXNjcmlwdGlvblwpOiIgc2tpcD0iXiAiIGVuZD0iXiQibWU9cy0xIGVuZD0iXlteIF0ibWU9cy0xIGNvbnRhaW5zPWRlYmNvbnRyb2xLZXksZGViY29udHJvbEVtYWlsLGRlYmNvbnRyb2xWYXJpYWJsZQorCisiIEFzc29jaWF0ZSBvdXIgbWF0Y2hlcyBhbmQgcmVnaW9ucyB3aXRoIHByZXR0eSBjb2xvdXJzCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZGViY29udHJvbF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9kZWJjb250cm9sX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGRlYmNvbnRyb2xLZXkJCUtleXdvcmQKKyAgSGlMaW5rIGRlYmNvbnRyb2xGaWVsZAlOb3JtYWwKKyAgSGlMaW5rIGRlYmNvbnRyb2xTdHJpY3RGaWVsZAlFcnJvcgorICBIaUxpbmsgZGViY29udHJvbE11bHRpRmllbGQJTm9ybWFsCisgIEhpTGluayBkZWJjb250cm9sQXJjaGl0ZWN0dXJlCU5vcm1hbAorICBIaUxpbmsgZGViY29udHJvbE5hbWUJCU5vcm1hbAorICBIaUxpbmsgZGViY29udHJvbFByaW9yaXR5CU5vcm1hbAorICBIaUxpbmsgZGViY29udHJvbFNlY3Rpb24JTm9ybWFsCisgIEhpTGluayBkZWJjb250cm9sVmFyaWFibGUJSWRlbnRpZmllcgorICBIaUxpbmsgZGViY29udHJvbEVtYWlsCUlkZW50aWZpZXIKKyAgSGlMaW5rIGRlYmNvbnRyb2xFbHNlCQlTcGVjaWFsCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImRlYmNvbnRyb2wiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2RlZi52aW0gYi9ydW50aW1lL3N5bnRheC9kZWYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNjAwMjIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9kZWYudmltCkBAIC0wLDAgKzEsNTcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNaWNyb3NvZnQgTW9kdWxlLURlZmluaXRpb24gKC5kZWYpIEZpbGUKKyIgTWFpbnRhaW5lcjoJUm9iIEJyYWR5IDxyb2JiQGRhdGF0b25lLmNvbT4KKyIgTGFzdCBDaGFuZ2U6CSREYXRlJAorIiBVUkw6IGh0dHA6Ly93d3cuZGF0YXRvbmUuY29tL35yb2JiL3ZpbS9zeW50YXgvZGVmLnZpbQorIiAkUmV2aXNpb24kCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBtYXRjaCBkZWZDb21tZW50CSI7LioiCisKK3N5biBrZXl3b3JkIGRlZktleXdvcmQJTElCUkFSWSBTVFVCIEVYRVRZUEUgREVTQ1JJUFRJT04gQ09ERSBXSU5ET1dTIERPUworc3luIGtleXdvcmQgZGVmS2V5d29yZAlSRVNJREVOVE5BTUUgUFJJVkFURSBFWFBPUlRTIElNUE9SVFMgU0VHTUVOVFMKK3N5biBrZXl3b3JkIGRlZktleXdvcmQJSEVBUFNJWkUgREFUQQorc3luIGtleXdvcmQgZGVmU3RvcmFnZQlMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIFNJTkdMRQorc3luIGtleXdvcmQgZGVmU3RvcmFnZQlGSVhFRCBQUkVMT0FECisKK3N5biBtYXRjaCAgIGRlZk9yZGluYWwJIkBcZFwrIgorCitzeW4gcmVnaW9uICBkZWZTdHJpbmcJc3RhcnQ9KycrIGVuZD0rJysKKworc3luIG1hdGNoICAgZGVmTnVtYmVyCSJcZCsiCitzeW4gbWF0Y2ggICBkZWZOdW1iZXIJIjB4XHhcKyIKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kZWZfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZGVmX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGRlZkNvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgZGVmS2V5d29yZAlLZXl3b3JkCisgIEhpTGluayBkZWZTdG9yYWdlCVN0b3JhZ2VDbGFzcworICBIaUxpbmsgZGVmU3RyaW5nCVN0cmluZworICBIaUxpbmsgZGVmTnVtYmVyCU51bWJlcgorICBIaUxpbmsgZGVmT3JkaW5hbAlPcGVyYXRvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkZWYiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kZXNjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2Rlc2MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkMGRiYmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9kZXNjLnZpbQpAQCAtMCwwICsxLDEwMCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVJPQ0tMaW51eCAuZGVzYworIiBNYWludGFpbmVyOglQaW90ciBFc2Rlbi1UZW1wc2tpIDxlc2RlbkByb2NrbGludXgub3JnPgorIiBMYXN0IENoYW5nZToJMjAwMiBBcHIgMjMKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIHN5bnRheCBkZWZpbml0aW9ucworCitzZXRsIGlza2V5d29yZCs9LQorc3luIGtleXdvcmQgZGVzY0ZsYWcgRElFVExJQkMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkZXNjTGljZW5zZSBVbmtub3duIEdQTCBMR1BMIEZETCBNSVQgQlNEIE9wZW5Tb3VyY2UgRnJlZS10by11c2UgQ29tbWVyY2lhbCBjb250YWluZWQKKworIiB0YWdzCitzeW4gbWF0Y2ggZGVzY1RhZyAvXlxbXChJXHxUSVRMRVwpXF0vCitzeW4gbWF0Y2ggZGVzY1RhZyAvXlxbXChUXHxURVhUXClcXS8gY29udGFpbmVkCitzeW4gbWF0Y2ggZGVzY1RhZyAvXlxbXChVXHxVUkxcKVxdLworc3luIG1hdGNoIGRlc2NUYWcgL15cW1woQVx8QVVUSE9SXClcXS8KK3N5biBtYXRjaCBkZXNjVGFnIC9eXFtcKE1cfE1BSU5UQUlORVJcKVxdLworc3luIG1hdGNoIGRlc2NUYWcgL15cW1woQ1x8Q0FURUdPUllcKVxdLyBjb250YWluZWQKK3N5biBtYXRjaCBkZXNjVGFnIC9eXFtcKEZcfEZMQUdcKVxdLyBjb250YWluZWQKK3N5biBtYXRjaCBkZXNjVGFnIC9eXFtcKEVcfERFUFx8REVQRU5ERU5DWVwpXF0vCitzeW4gbWF0Y2ggZGVzY1RhZyAvXlxbXChSXHxBUkNIXHxBUkNISVRFQ1RVUkVcKVxdLworc3luIG1hdGNoIGRlc2NUYWcgL15cW1woTFx8TElDRU5TRVwpXF0vIGNvbnRhaW5lZAorc3luIG1hdGNoIGRlc2NUYWcgL15cW1woU1x8U1RBVFVTXClcXS8KK3N5biBtYXRjaCBkZXNjVGFnIC9eXFtcKFZcfFZFUlx8VkVSU0lPTlwpXF0vCitzeW4gbWF0Y2ggZGVzY1RhZyAvXlxbXChQXHxQUklcfFBSSU9SSVRZXClcXS8gbmV4dGdyb3VwPWRlc2NJbnN0YWxsIHNraXB3aGl0ZQorc3luIG1hdGNoIGRlc2NUYWcgL15cW1woRFx8RE9XTlx8RE9XTkxPQURcKVxdLyBuZXh0Z3JvdXA9ZGVzY1N1bSBza2lwd2hpdGUKKworIiBtaXNjCitzeW4gbWF0Y2ggZGVzY1VybCAvXHdcKzpcL1wvXFNcKy8KK3N5biBtYXRjaCBkZXNjQ2F0ZWdvcnkgL1x3XCtcL1x3XCsvIGNvbnRhaW5lZAorc3luIG1hdGNoIGRlc2NFbWFpbCAvPFx3XCtAW1wuQS1aYS16MC05XVwrPi8KKworIiBwcmlvcml0eSB0YWcKK3N5biBtYXRjaCBkZXNjSW5zdGFsbFggL1gvIGNvbnRhaW5lZAorc3luIG1hdGNoIGRlc2NJbnN0YWxsTyAvTy8gY29udGFpbmVkCitzeW4gbWF0Y2ggZGVzY0luc3RhbGwgL1tPWF0vIGNvbnRhaW5lZCBjb250YWlucz1kZXNjSW5zdGFsbFgsZGVzY0luc3RhbGxPIG5leHRncm91cD1kZXNjU3RhZ2Ugc2tpcHdoaXRlCitzeW4gbWF0Y2ggZGVzY0Rhc2ggLy0vIGNvbnRhaW5lZAorc3luIG1hdGNoIGRlc2NEaWdpdCAvXGQvIGNvbnRhaW5lZAorc3luIG1hdGNoIGRlc2NTdGFnZSAvW1wtMF1bXC0xXVtcLTJdW1wtM11bXC00XVtcLTVdW1wtNl1bXC03XVtcLThdW1wtOV0vIGNvbnRhaW5lZCBjb250YWlucz1kZXNjRGFzaCxkZXNjRGlnaXQgbmV4dGdyb3VwPWRlc2NDb21waWxlUHJpb3JpdHkgc2tpcHdoaXRlCitzeW4gbWF0Y2ggZGVzY0NvbXBpbGVQcmlvcml0eSAvXGRcezN9XC5cZFx7M30vIGNvbnRhaW5lZAorCisiIGRvd25sb2FkIHRhZworc3luIG1hdGNoIGRlc2NTdW0gL1xkXCsvIGNvbnRhaW5lZCBuZXh0Z3JvdXA9ZGVzY1RhcmJhbGwgc2tpcHdoaXRlCitzeW4gbWF0Y2ggZGVzY1RhcmJhbGwgL1xTXCsvIGNvbnRhaW5lZCBuZXh0Z3JvdXA9ZGVzY1VybCBza2lwd2hpdGUKKworCisiIHRhZyByZWdpb25zCitzeW4gcmVnaW9uIGRlc2NUZXh0IHN0YXJ0PS9eXFtcKFRcfFRFWFRcKVxdLyBlbmQ9LyQvIGNvbnRhaW5zPWRlc2NUYWcsZGVzY1VybCxkZXNjRW1haWwKKworc3luIHJlZ2lvbiBkZXNjVGFnUmVnaW9uIHN0YXJ0PS9eXFtcKENcfENBVEVHT1JZXClcXS8gZW5kPS8kLyBjb250YWlucz1kZXNjVGFnLGRlc2NDYXRlZ29yeQorCitzeW4gcmVnaW9uIGRlc2NUYWdSZWdpb24gc3RhcnQ9L15cW1woRlx8RkxBR1wpXF0vIGVuZD0vJC8gY29udGFpbnM9ZGVzY1RhZyxkZXNjRmxhZworCitzeW4gcmVnaW9uIGRlc2NUYWdSZWdpb24gc3RhcnQ9L15cW1woTFx8TElDRU5TRVwpXF0vIGVuZD0vJC8gY29udGFpbnM9ZGVzY1RhZyxkZXNjTGljZW5zZQorCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kZXNjX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2Rlc2Nfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZGVzY0ZsYWcJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGRlc2NMaWNlbnNlCQlJZGVudGlmaWVyCisgIEhpTGluayBkZXNjQ2F0ZWdvcnkJCUlkZW50aWZpZXIKKworICBIaUxpbmsgZGVzY1RhZwkJVHlwZQorICBIaUxpbmsgZGVzY1VybAkJVW5kZXJsaW5lZAorICBIaUxpbmsgZGVzY0VtYWlsCQlVbmRlcmxpbmVkCisKKyAgIiBwcmlvcml0eSB0YWcgY29sb3JzCisgIEhpTGluayBkZXNjSW5zdGFsbFgJCUJvb2xlYW4KKyAgSGlMaW5rIGRlc2NJbnN0YWxsTwkJVHlwZQorICBIaUxpbmsgZGVzY0Rhc2gJCU9wZXJhdG9yCisgIEhpTGluayBkZXNjRGlnaXQJCU51bWJlcgorICBIaUxpbmsgZGVzY0NvbXBpbGVQcmlvcml0eQlOdW1iZXIKKworICAiIGRvd25sb2FkIHRhZyBjb2xvcnMKKyAgSGlMaW5rIGRlc2NTdW0JCU51bWJlcgorICBIaUxpbmsgZGVzY1RhcmJhbGwJCVVuZGVybGluZWQKKworICAiIHRhZyByZWdpb24gY29sb3JzCisgIEhpTGluayBkZXNjVGV4dAkJQ29tbWVudAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkZXNjIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGVza3RvcC52aW0gYi9ydW50aW1lL3N5bnRheC9kZXNrdG9wLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjcxZTUxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZGVza3RvcC52aW0KQEAgLTAsMCArMSwxMTkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkuZGVza3RvcCwgLmRpcmVjdG9yeSBmaWxlcworIgkJYWNjb3JkaW5nIHRvIGZyZWVkZXNrdG9wLm9yZyBzcGVjaWZpY2F0aW9uIDAuOS40CisiIGh0dHA6Ly9wZHguZnJlZWRlc2t0b3Aub3JnL1N0YW5kYXJkcy9kZXNrdG9wLWVudHJ5LXNwZWMvZGVza3RvcC1lbnRyeS1zcGVjLTAuOS40Lmh0bWwKKyIgTWFpbnRhaW5lcjoJTWlrb2xhaiBNYWNob3dza2kgKCBtaWttYWNoIEFUIHdwIERPVCBwbCApCisiIExhc3QgQ2hhbmdlOgkyMDA0IE1heSAxNgorIiBWZXJzaW9uIEluZm86IGRlc2t0b3AudmltIDAuOS40LTEuMgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorCXN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICAgZmluaXNoCitlbmRpZgorCisiIFRoaXMgc3ludGF4IGZpbGUgY2FuIGJlIHVzZWQgdG8gYWxsICpuaXggY29uZmlndXJhdGlvbiBmaWxlcyBzaW1pbGFyIHRvIGRvcworIiBpbmkgZm9ybWF0IChlZy4gLnhhd3R2LCAucmFkaW8sIGtkZSByYyBmaWxlcykgLSB0aGlzIGlzIGRlZmF1bHQgbW9kZS4gQnV0CisiIHlvdSBjYW4gYWxzbyBlbmZvcmNlIHN0cmljdCBmb2xsb3dpbmcgb2YgZnJlZWRlc2t0b3Aub3JnIHN0YW5kYXJkIGZvcgorIiAuZGVza3RvcCBhbmQgLmRpcmVjdG9yeSBmaWxlcyAuIFNldCAoZWcuIGluIHZpbXJjKQorIiBsZXQgZW5mb3JjZV9mcmVlZGVza3RvcF9zdGFuZGFyZCA9IDEKKyIgYW5kIG5vbnN0YW5kYXJkIGV4dGVuc2lvbnMgbm90IGZvbGxvd2luZyBYLSBub3RhdGlvbiB3aWxsIG5vdCBiZSBoaWdobGlnaHRlZC4KK2lmIGV4aXN0cygiZW5mb3JjZV9mcmVlZGVza3RvcF9zdGFuZGFyZCIpCisJbGV0IGI6ZW5mb3JjZV9mcmVlZGVza3RvcF9zdGFuZGFyZCA9IDEKK2Vsc2UKKwlsZXQgYjplbmZvcmNlX2ZyZWVkZXNrdG9wX3N0YW5kYXJkID0gMAorZW5kaWYKKworIiBjYXNlIG9uCitzeW4gY2FzZSBtYXRjaAorCisiIEdlbmVyYWwKK2lmIGI6ZW5mb3JjZV9mcmVlZGVza3RvcF9zdGFuZGFyZCA9PSAwCisJc3luIG1hdGNoICBkdE5vdFN0TGFiZWwJIl4uXHstfT1cQD0iIG5leHRncm91cD1kdERlbGltCitlbmRpZgorCitzeW4gbWF0Y2ggIGR0R3JvdXAJL15ccypcWy4qXF0vCitzeW4gbWF0Y2ggIGR0Q29tbWVudAkvXlxzKiMuKiQvCitzeW4gbWF0Y2ggIGR0RGVsaW0JLz0vIGNvbnRhaW5lZAorCisiIExvY2FsZQorc3luIG1hdGNoICAgZHRMb2NhbGUgL15ccypcPFwoTmFtZVx8R2VuZXJpY05hbWVcfENvbW1lbnRcfFN3YWxsb3dUaXRsZVx8SWNvblx8VW5tb3VudEljb25cKVw+LiovIGNvbnRhaW5zPWR0TG9jYWxlS2V5LGR0TG9jYWxlTmFtZSxkdERlbGltIHRyYW5zcGFyZW50CitzeW4ga2V5d29yZCBkdExvY2FsZUtleSBOYW1lIEdlbmVyaWNOYW1lIENvbW1lbnQgU3dhbGxvd1RpdGxlIEljb24gVW5tb3VudEljb24gbmV4dGdyb3VwPWR0TG9jYWxlTmFtZSBjb250YWluZWRpbj1kdExvY2FsZQorc3luIG1hdGNoICAgZHRMb2NhbGVOYW1lIC9cKFxbLlx7LX1cXVxzKj1cQD1cfFwpLyBuZXh0Z3JvdXA9ZHREZWxpbSBjb250YWluZWRpbj1kdExvY2FsZSBjb250YWluZWQKKworIiBOdW1lcmljCitzeW4gbWF0Y2ggICBkdE51bWVyaWMgL15ccypcPFZlcnNpb25cPi8gY29udGFpbnM9ZHROdW1lcmljS2V5LGR0RGVsaW0KK3N5biBrZXl3b3JkIGR0TnVtZXJpY0tleSBWZXJzaW9uIG5leHRncm91cD1kdERlbGltIGNvbnRhaW5lZGluPWR0TnVtZXJpYyBjb250YWluZWQKKworIiBCb29sZWFuCitzeW4gbWF0Y2ggICBkdEJvb2xlYW4gL15ccypcPFwoU3RhcnR1cE5vdGlmeVx8UmVhZE9ubHlcfFRlcm1pbmFsXHxIaWRkZW5cfE5vRGlzcGxheVwpXD4uKi8gY29udGFpbnM9ZHRCb29sZWFuS2V5LGR0RGVsaW0sZHRCb29sZWFuVmFsdWUgdHJhbnNwYXJlbnQKK3N5biBrZXl3b3JkIGR0Qm9vbGVhbktleSBTdGFydHVwTm90aWZ5IFJlYWRPbmx5IFRlcm1pbmFsIEhpZGRlbiBOb0Rpc3BsYXkgbmV4dGdyb3VwPWR0RGVsaW0gY29udGFpbmVkaW49ZHRCb29sZWFuIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRCb29sZWFuVmFsdWUgdHJ1ZSBmYWxzZSBjb250YWluZWRpbj1kdEJvb2xlYW4gY29udGFpbmVkCisKKyIgU3RyaW5nCitzeW4gbWF0Y2ggICBkdFN0cmluZyAvXlxzKlw8XChFbmNvZGluZ1x8SWNvblx8UGF0aFx8QWN0aW9uc1x8RlNUeXBlXHxNb3VudFBvaW50XHxVbm1vdW50SWNvblx8VVJMXHxDYXRlZ29yaWVzXHxPbmx5U2hvd0luXHxOb3RTaG93SW5cfFN0YXJ0dXBXTUNsYXNzXHxGaWxlUGF0dGVyblx8TWltZVR5cGVcKVw+LiovIGNvbnRhaW5zPWR0U3RyaW5nS2V5LGR0RGVsaW0gdHJhbnNwYXJlbnQKK3N5biBrZXl3b3JkIGR0U3RyaW5nS2V5IFR5cGUgRW5jb2RpbmcgVHJ5RXhlYyBFeGVjIFBhdGggQWN0aW9ucyBGU1R5cGUgTW91bnRQb2ludCBVUkwgQ2F0ZWdvcmllcyBPbmx5U2hvd0luIE5vdFNob3dJbiBTdGFydHVwV01DbGFzcyBGaWxlUGF0dGVybiBNaW1lVHlwZSBuZXh0Z3JvdXA9ZHREZWxpbSBjb250YWluZWRpbj1kdFN0cmluZyBjb250YWluZWQKKworIiBFeGVjCitzeW4gbWF0Y2ggICBkdEV4ZWMgL15ccypcPFwoRXhlY1x8VHJ5RXhlY1x8U3dhbGxvd0V4ZWNcKVw+LiovIGNvbnRhaW5zPWR0RXhlY0tleSxkdERlbGltLGR0RXhlY1BhcmFtIHRyYW5zcGFyZW50CitzeW4ga2V5d29yZCBkdEV4ZWNLZXkgRXhlYyBUcnlFeGVjIFN3YWxsb3dFeGVjIG5leHRncm91cD1kdERlbGltIGNvbnRhaW5lZGluPWR0RXhlYyBjb250YWluZWQKK3N5biBtYXRjaCAgIGR0RXhlY1BhcmFtICAvJVtmRnVVbk5kRGlja3ZdLyBjb250YWluZWRpbj1kdEV4ZWMgY29udGFpbmVkCisKKyIgVHlwZQorc3luIG1hdGNoICAgZHRUeXBlIC9eXHMqXDxUeXBlXD4uKi8gY29udGFpbnM9ZHRUeXBlS2V5LGR0RGVsaW0sZHRUeXBlVmFsdWUgdHJhbnNwYXJlbnQKK3N5biBrZXl3b3JkIGR0VHlwZUtleSBUeXBlIG5leHRncm91cD1kdERlbGltIGNvbnRhaW5lZGluPWR0VHlwZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0VHlwZVZhbHVlIEFwcGxpY2F0aW9uIExpbmsgRlNEZXZpY2UgRGlyZWN0b3J5IGNvbnRhaW5lZGluPWR0VHlwZSBjb250YWluZWQKKworIiBYLUFkZGl0aW9uCitzeW4gbWF0Y2ggICBkdFhBZGQgICAgL15ccypYLS4qLyBjb250YWlucz1kdFhBZGRLZXksZHREZWxpbSB0cmFuc3BhcmVudAorc3luIG1hdGNoICAgZHRYQWRkS2V5IC9eXHMqWC0uXHstfVxzKj1cQD0vIG5leHRncm91cD1kdERlbGltIGNvbnRhaW5lZGluPWR0WEFkZCBjb250YWlucz1kdFhMb2NhbGUgY29udGFpbmVkCisKKyIgTG9jYWxlIGZvciBYLUFkZGl0aW9uCitzeW4gbWF0Y2ggICBkdFhMb2NhbGUgL1xbLlx7LX1cXVxzKj1cQD0vIGNvbnRhaW5lZGluPWR0WEFkZEtleSBjb250YWluZWQKKworIiBMb2NhbGUgZm9yIGFsbAorc3luIG1hdGNoICAgZHRBTG9jYWxlIC9cWy5cey19XF1ccyo9XEA9LyBjb250YWluZWRpbj1BTEwKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kZXNrdG9wX3N5bnRheF9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX2Rvc2luaV9zeW50YXhfaW5pdHMgPSAxCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisJZWxzZQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKwllbmRpZgorCisJSGlMaW5rIGR0R3JvdXAJCSBTcGVjaWFsCisJSGlMaW5rIGR0Q29tbWVudAkgQ29tbWVudAorCUhpTGluayBkdERlbGltCQkgU3RyaW5nCisKKwlIaUxpbmsgZHRMb2NhbGVLZXkJIFR5cGUKKwlIaUxpbmsgZHRMb2NhbGVOYW1lCSBJZGVudGlmaWVyCisJSGlMaW5rIGR0WExvY2FsZQkgSWRlbnRpZmllcgorCUhpTGluayBkdEFMb2NhbGUJIElkZW50aWZpZXIKKworCUhpTGluayBkdE51bWVyaWNLZXkJIFR5cGUKKworCUhpTGluayBkdEJvb2xlYW5LZXkJIFR5cGUKKwlIaUxpbmsgZHRCb29sZWFuVmFsdWUJIENvbnN0YW50CisKKwlIaUxpbmsgZHRTdHJpbmdLZXkJIFR5cGUKKworCUhpTGluayBkdEV4ZWNLZXkJIFR5cGUKKwlIaUxpbmsgZHRFeGVjUGFyYW0JIFNwZWNpYWwKKwlIaUxpbmsgZHRUeXBlS2V5CSBUeXBlCisJSGlMaW5rIGR0VHlwZVZhbHVlCSBDb25zdGFudAorCUhpTGluayBkdE5vdFN0TGFiZWwJIFR5cGUKKwlIaUxpbmsgZHRYQWRkS2V5CSBUeXBlCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZGVza3RvcCIKKworIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGlmZi52aW0gYi9ydW50aW1lL3N5bnRheC9kaWZmLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDYxYWJlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZGlmZi52aW0KQEAgLTAsMCArMSw3OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CURpZmYgKGNvbnRleHQgb3IgdW5pZmllZCkKKyIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgQXByIDAyCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIG1hdGNoIGRpZmZPbmx5CSJeT25seSBpbiAuKiIKK3N5biBtYXRjaCBkaWZmSWRlbnRpY2FsCSJeRmlsZXMgLiogYW5kIC4qIGFyZSBpZGVudGljYWwkIgorc3luIG1hdGNoIGRpZmZEaWZmZXIJIl5GaWxlcyAuKiBhbmQgLiogZGlmZmVyJCIKK3N5biBtYXRjaCBkaWZmQkRpZmZlcgkiXkJpbmFyeSBmaWxlcyAuKiBhbmQgLiogZGlmZmVyJCIKK3N5biBtYXRjaCBkaWZmSXNBCSJeRmlsZSAuKiBpcyBhIC4qIHdoaWxlIGZpbGUgLiogaXMgYSAuKiIKK3N5biBtYXRjaCBkaWZmTm9FT0wJIl5ObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlIC4qIgorc3luIG1hdGNoIGRpZmZDb21tb24JIl5Db21tb24gc3ViZGlyZWN0b3JpZXM6IC4qIgorCitzeW4gbWF0Y2ggZGlmZlJlbW92ZWQJIl4tLioiCitzeW4gbWF0Y2ggZGlmZlJlbW92ZWQJIl48LioiCitzeW4gbWF0Y2ggZGlmZkFkZGVkCSJeKy4qIgorc3luIG1hdGNoIGRpZmZBZGRlZAkiXj4uKiIKK3N5biBtYXRjaCBkaWZmQ2hhbmdlZAkiXiEgLioiCisKK3N5biBtYXRjaCBkaWZmU3VibmFtZQkiIEBALi4qIm1zPXMrMyBjb250YWluZWQKK3N5biBtYXRjaCBkaWZmTGluZQkiXkAuKiIgY29udGFpbnM9ZGlmZlN1Ym5hbWUKK3N5biBtYXRjaCBkaWZmTGluZQkiXlw8XGRcK1w+LioiCitzeW4gbWF0Y2ggZGlmZkxpbmUJIl5cKlwqXCpcKi4qIgorCisiU29tZSB2ZXJzaW9ucyBvZiBkaWZmIGhhdmUgbGluZXMgbGlrZSAiI2MjIiBhbmQgIiNkIyIgKHdoZXJlICMgaXMgYSBudW1iZXIpCitzeW4gbWF0Y2ggZGlmZkxpbmUJIl5cZFwrXCgsXGRcK1wpXD1bY2RhXVxkXCtcPi4qIgorCitzeW4gbWF0Y2ggZGlmZkZpbGUJIl5kaWZmLioiCitzeW4gbWF0Y2ggZGlmZkZpbGUJIl4rKysgLioiCitzeW4gbWF0Y2ggZGlmZkZpbGUJIl5JbmRleDogLiokIgorc3luIG1hdGNoIGRpZmZGaWxlCSJePT09PSAuKiQiCitzeW4gbWF0Y2ggZGlmZk9sZEZpbGUJIl5cKlwqXCogLioiCitzeW4gbWF0Y2ggZGlmZk5ld0ZpbGUJIl4tLS0gLioiCisKK3N5biBtYXRjaCBkaWZmQ29tbWVudAkiXiMuKiIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZGlmZl9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9kaWZmX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGRpZmZPbGRGaWxlCWRpZmZGaWxlCisgIEhpTGluayBkaWZmTmV3RmlsZQlkaWZmRmlsZQorICBIaUxpbmsgZGlmZkZpbGUJVHlwZQorICBIaUxpbmsgZGlmZk9ubHkJQ29uc3RhbnQKKyAgSGlMaW5rIGRpZmZJZGVudGljYWwJQ29uc3RhbnQKKyAgSGlMaW5rIGRpZmZEaWZmZXIJQ29uc3RhbnQKKyAgSGlMaW5rIGRpZmZCRGlmZmVyCUNvbnN0YW50CisgIEhpTGluayBkaWZmSXNBCUNvbnN0YW50CisgIEhpTGluayBkaWZmTm9FT0wJQ29uc3RhbnQKKyAgSGlMaW5rIGRpZmZDb21tb24JQ29uc3RhbnQKKyAgSGlMaW5rIGRpZmZSZW1vdmVkCVNwZWNpYWwKKyAgSGlMaW5rIGRpZmZDaGFuZ2VkCVByZVByb2MKKyAgSGlMaW5rIGRpZmZBZGRlZAlJZGVudGlmaWVyCisgIEhpTGluayBkaWZmTGluZQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGRpZmZTdWJuYW1lCVByZVByb2MKKyAgSGlMaW5rIGRpZmZDb21tZW50CUNvbW1lbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZGlmZiIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGlyY29sb3JzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RpcmNvbG9ycy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRlNTJmYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2RpcmNvbG9ycy52aW0KQEAgLTAsMCArMSwxMDYgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgICAgZGlyY29sb3JzKDEpIGlucHV0IGZpbGUKKyIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+CisiIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvZGlyY29sb3JzLworIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCisiIGFyY2gtdGFnOgkgICAgOTk1ZTI5ODMtMmE3YS00ZjFlLWIwMGQtM2ZkZjhlMDc2YjQwCisiIENvbG9yIGRlZmluaXRpb24gY29sb3JpbmcgaW1wbGVtZW50ZWQgbXkgTWlrb2xhaiBNYWNob3dza2kgPG1pa21hY2hAd3AucGw+CisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIHRvZG8KK3N5biBrZXl3b3JkIGRpcmNvbG9yc1RvZG8JY29udGFpbmVkIEZJWE1FIFRPRE8gWFhYIE5PVEUKKworIiBjb21tZW50cworc3luIHJlZ2lvbiAgZGlyY29sb3JzQ29tbWVudAlzdGFydD0iIyIgZW5kPSIkIiBjb250YWlucz1kaXJjb2xvcnNUb2RvCisKKyIgbnVtYmVycworc3luIG1hdGNoICAgZGlyY29sb3JzTnVtYmVyCSJcPFxkXCtcPiIKKworIiBrZXl3b3Jkcworc3luIGtleXdvcmQgZGlyY29sb3JzS2V5d29yZAlURVJNIE5PUk1BTCBOT1JNIEZJTEUgRElSIExOSyBMSU5LIFNZTUxJTksKK3N5biBrZXl3b3JkIGRpcmNvbG9yc0tleXdvcmQJT1JQSEFOIE1JU1NJTkcgRklGTyBQSVBFIFNPQ0sgQkxLIEJMT0NLIENIUgorc3luIGtleXdvcmQgZGlyY29sb3JzS2V5d29yZAlDSEFSIERPT1IgRVhFQyBMRUZUIExFRlRDT0RFIFJJR0hUIFJJR0hUQ09ERQorc3luIGtleXdvcmQgZGlyY29sb3JzS2V5d29yZAlFTkQgRU5EQ09ERQoraWYgZXhpc3RzKCJkaXJjb2xvcnNfaXNfc2xhY2t3YXJlIikKKyAgc3luIGtleXdvcmQJZGlyY29sb3JzS2V5d29yZCAgICBDT0xPUiBPUFRJT05TIEVJR0hUQklUCitlbmRpZgorCisiIGV4dGVuc2lvbnMKK3N5biBtYXRjaCAgIGRpcmNvbG9yc0V4dGVuc2lvbgkiXlxzKlx6c1suKl1cU1wrIgorCisiIGNvbG9ycworc3luIG1hdGNoIGRpcmNvbG9yczAxICJcPDAxXD4iCitzeW4gbWF0Y2ggZGlyY29sb3JzMDQgIlw8MDRcPiIKK3N5biBtYXRjaCBkaXJjb2xvcnMwNSAiXDwwNVw+Igorc3luIG1hdGNoIGRpcmNvbG9yczA3ICJcPDA3XD4iCitzeW4gbWF0Y2ggZGlyY29sb3JzMDggIlw8MDhcPiIKK3N5biBtYXRjaCBkaXJjb2xvcnMzMCAiXDwzMFw+Igorc3luIG1hdGNoIGRpcmNvbG9yczMxICJcPDMxXD4iCitzeW4gbWF0Y2ggZGlyY29sb3JzMzIgIlw8MzJcPiIKK3N5biBtYXRjaCBkaXJjb2xvcnMzMyAiXDwzM1w+Igorc3luIG1hdGNoIGRpcmNvbG9yczM0ICJcPDM0XD4iCitzeW4gbWF0Y2ggZGlyY29sb3JzMzUgIlw8MzVcPiIKK3N5biBtYXRjaCBkaXJjb2xvcnMzNiAiXDwzNlw+Igorc3luIG1hdGNoIGRpcmNvbG9yczM3ICJcPDM3XD4iCitzeW4gbWF0Y2ggZGlyY29sb3JzNDAgIlw8NDBcPiIKK3N5biBtYXRjaCBkaXJjb2xvcnM0MSAiXDw0MVw+Igorc3luIG1hdGNoIGRpcmNvbG9yczQyICJcPDQyXD4iCitzeW4gbWF0Y2ggZGlyY29sb3JzNDMgIlw8NDNcPiIKK3N5biBtYXRjaCBkaXJjb2xvcnM0NCAiXDw0NFw+Igorc3luIG1hdGNoIGRpcmNvbG9yczQ1ICJcPDQ1XD4iCitzeW4gbWF0Y2ggZGlyY29sb3JzNDYgIlw8NDZcPiIKK3N5biBtYXRjaCBkaXJjb2xvcnM0NyAiXDw0N1w+IgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kaXJjb2xvcnNfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZGlyY29sb3JzX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlEZWYgaGkgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgICBjb21tYW5kIC1uYXJncz0rIEhpRGVmIGhpIGRlZiA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZGlyY29sb3JzVG9kbwlUb2RvCisgIEhpTGluayBkaXJjb2xvcnNDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGRpcmNvbG9yc051bWJlcglOdW1iZXIKKyAgSGlMaW5rIGRpcmNvbG9yc0tleXdvcmQJS2V5d29yZAorICBIaUxpbmsgZGlyY29sb3JzRXh0ZW5zaW9uCUtleXdvcmQKKworICBIaURlZiBkaXJjb2xvcnMwMQkJdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKKyAgSGlEZWYgZGlyY29sb3JzMDQJCXRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBndWk9dW5kZXJsaW5lCisgICIgICAgSGlEZWYgZGlyY29sb3JzMDUKKyAgSGlEZWYgZGlyY29sb3JzMDcJCXRlcm09cmV2ZXJzZSBjdGVybT1yZXZlcnNlIGd1aT1yZXZlcnNlCisgIEhpTGluayBkaXJjb2xvcnMwOAkJSWdub3JlCisgIEhpRGVmIGRpcmNvbG9yczMwCQljdGVybWZnPUJsYWNrIGd1aWZnPUJsYWNrCisgIEhpRGVmIGRpcmNvbG9yczMxCQljdGVybWZnPVJlZCBndWlmZz1SZWQKKyAgSGlEZWYgZGlyY29sb3JzMzIJCWN0ZXJtZmc9R3JlZW4gZ3VpZmc9R3JlZW4KKyAgSGlEZWYgZGlyY29sb3JzMzMJCWN0ZXJtZmc9WWVsbG93IGd1aWZnPVllbGxvdworICBIaURlZiBkaXJjb2xvcnMzNAkJY3Rlcm1mZz1CbHVlIGd1aWZnPUJsdWUKKyAgSGlEZWYgZGlyY29sb3JzMzUJCWN0ZXJtZmc9TWFnZW50YSBndWlmZz1NYWdlbnRhCisgIEhpRGVmIGRpcmNvbG9yczM2CQljdGVybWZnPUN5YW4gZ3VpZmc9Q3lhbgorICBIaURlZiBkaXJjb2xvcnMzNwkJY3Rlcm1mZz1XaGl0ZSBndWlmZz1XaGl0ZQorICBIaURlZiBkaXJjb2xvcnM0MAkJY3Rlcm1iZz1CbGFjayBjdGVybWZnPVdoaXRlIGd1aWJnPUJsYWNrIGd1aWZnPVdoaXRlCisgIEhpRGVmIGRpcmNvbG9yczQxCQljdGVybWJnPURhcmtSZWQgZ3VpYmc9RGFya1JlZAorICBIaURlZiBkaXJjb2xvcnM0MgkJY3Rlcm1iZz1EYXJrR3JlZW4gZ3VpYmc9RGFya0dyZWVuCisgIEhpRGVmIGRpcmNvbG9yczQzCQljdGVybWJnPURhcmtZZWxsb3cgZ3VpYmc9RGFya1llbGxvdworICBIaURlZiBkaXJjb2xvcnM0NAkJY3Rlcm1iZz1EYXJrQmx1ZSBndWliZz1EYXJrQmx1ZQorICBIaURlZiBkaXJjb2xvcnM0NQkJY3Rlcm1iZz1EYXJrTWFnZW50YSBndWliZz1EYXJrTWFnZW50YQorICBIaURlZiBkaXJjb2xvcnM0NgkJY3Rlcm1iZz1EYXJrQ3lhbiBndWliZz1EYXJrQ3lhbgorICBIaURlZiBkaXJjb2xvcnM0NwkJY3Rlcm1iZz1XaGl0ZSBjdGVybWZnPUJsYWNrIGd1aWJnPVdoaXRlIGd1aWZnPUJsYWNrCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKKyAgZGVsY29tbWFuZCBIaURlZgorZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZGlyY29sb3JzIgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kaXZhLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RpdmEudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NjY4ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9kaXZhLnZpbQpAQCAtMCwwICsxLDExMCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQlTS0lMTCBmb3IgRGl2YQorIiBNYWludGFpbmVyOglUb2J5IFNjaGFmZmVyIDxqdHNjaGFmZkBlb3MubmNzdS5lZHU+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorIiBDb21tZW50czoJCVNLSUxMIGlzIGEgTGlzcC1saWtlIHByb2dyYW1taW5nIGxhbmd1YWdlIGZvciB1c2UgaW4gRURBCisiCQkJCXRvb2xzIGZyb20gQ2FkZW5jZSBEZXNpZ24gU3lzdGVtcy4gSXQgYWxsb3dzIHlvdSB0byBoYXZlCisiCQkJCWEgcHJvZ3JhbW1pbmcgZW52aXJvbm1lbnQgd2l0aGluIHRoZSBDYWRlbmNlIGVudmlyb25tZW50CisiCQkJCXRoYXQgZ2l2ZXMgeW91IGFjY2VzcyB0byB0aGUgY29tcGxldGUgdG9vbCBzZXQgYW5kIGRlc2lnbgorIgkJCQlkYXRhYmFzZS4gVGhlc2UgaXRlbXMgYXJlIGZvciBEaXZhIHZlcmlmaWNhdGlvbiBydWxlcyBkZWNrcy4KKworIiBEb24ndCByZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQhIFdlIG5lZWQgc3R1ZmYKKyIgZnJvbSBza2lsbC52aW0uCitpZiAhZXhpc3RzKCJkaWRfc2tpbGxfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDYwMAorCXNvIDxzZmlsZT46cDpoL3NraWxsLnZpbQorICBlbHNlCisgICAgcnVudGltZSEgc3ludGF4L3NraWxsLnZpbQorICBlbmRpZgorZW5kaWYKKworc3luIGtleXdvcmQgZGl2YURSQ0tleXdvcmRzCQlhcmVhIGVuYyBub3RjaCBvdmxwIHNlcCB3aWR0aAorc3luIGtleXdvcmQgZGl2YURSQ0tleXdvcmRzCQlhcHAgZGlmZk5ldCBsZW5ndGggbGVuZ3RoYSBsZW5ndGhiCitzeW4ga2V5d29yZCBkaXZhRFJDS2V5d29yZHMJCW5vdFBhcmFsbGVsIG9ubHlfcGVycCBvcHBvc2l0ZSBwYXJhbGxlbAorc3luIGtleXdvcmQgZGl2YURSQ0tleXdvcmRzCQlzYW1lTmV0IHNoaWVsZGVkIHdpdGhfcGVycAorc3luIGtleXdvcmQgZGl2YURSQ0tleXdvcmRzCQllZGdlIGVkZ2VhIGVkZ2ViIGZpZyBmaWdhIGZpZ2IKK3N5biBrZXl3b3JkIGRpdmFEUkNLZXl3b3JkcwkJbm9ybWFsR3JvdyBzcXVhcmVHcm93IG1lc3NhZ2UgcmF3CitzeW4ga2V5d29yZCBkaXZhTWVhc0tleXdvcmRzCXBlcmltZXRlciBsZW5ndGggYmVuZHNfYWxsIGJlbmRzX2Z1bGwKK3N5biBrZXl3b3JkIGRpdmFNZWFzS2V5d29yZHMJYmVuZHNfcGFydCBjb3JuZXJzX2FsbCBjb3JuZXJzX2Z1bGwKK3N5biBrZXl3b3JkIGRpdmFNZWFzS2V5d29yZHMJY29ybmVyc19wYXJ0IGFuZ2xlc19hbGwgYW5nbGVzX2Z1bGwKK3N5biBrZXl3b3JkIGRpdmFNZWFzS2V5d29yZHMJYW5nbGVzX3BhcnQgZmlnX2NvdW50IGJ1dHRpbmcgY29pbmNpZGVudAorc3luIGtleXdvcmQgZGl2YU1lYXNLZXl3b3JkcwlvdmVyIG5vdF9vdmVyIG91dHNpZGUgaW5zaWRlIGVuY2xvc2luZworc3luIGtleXdvcmQgZGl2YU1lYXNLZXl3b3JkcwlmaWd1cmUgb25lX25ldCB0d29fbmV0IHRocmVlX25ldCBncm91bmRlZAorc3luIGtleXdvcmQgZGl2YU1lYXNLZXl3b3Jkcwlwb2xhcml6ZWQgbGltaXQga2VlcCBpZ25vcmUKK3N5biBtYXRjaCBkaXZhQ3RybEZ1bmN0aW9ucwkJIihpdklmXD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YUN0cmxGdW5jdGlvbnMJCSJcPGl2SWYoImhlPWUtMQorc3luIG1hdGNoIGRpdmFDdHJsRnVuY3Rpb25zCQkiKHN3aXRjaFw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFDdHJsRnVuY3Rpb25zCQkiXDxzd2l0Y2goImhlPWUtMQorc3luIG1hdGNoIGRpdmFDdHJsRnVuY3Rpb25zCQkiKGFuZFw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFDdHJsRnVuY3Rpb25zCQkiXDxhbmQoImhlPWUtMQorc3luIG1hdGNoIGRpdmFDdHJsRnVuY3Rpb25zCQkiKG9yXD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YUN0cmxGdW5jdGlvbnMJCSJcPG9yKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhQ3RybEZ1bmN0aW9ucwkJIihudWxsXD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YUN0cmxGdW5jdGlvbnMJCSJcPG51bGwoImhlPWUtMQorc3luIG1hdGNoIGRpdmFFeHRGdW5jdGlvbnMJCSIoc2F2ZVwoSW50ZXJjb25uZWN0XHxQcm9wZXJ0eVx8UGFyYW1ldGVyXHxSZWNvZ25pdGlvblwpXD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YUV4dEZ1bmN0aW9ucwkJIlw8c2F2ZVwoSW50ZXJjb25uZWN0XHxQcm9wZXJ0eVx8UGFyYW1ldGVyXHxSZWNvZ25pdGlvblwpKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhRXh0RnVuY3Rpb25zCQkiKFwoc2F2ZVx8bWVhc3VyZVx8YXR0YWNoXHxtdWx0aUxldmVsXHxjYWxjdWxhdGVcKVBhcmFzaXRpY1w+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFFeHRGdW5jdGlvbnMJCSJcPFwoc2F2ZVx8bWVhc3VyZVx8YXR0YWNoXHxtdWx0aUxldmVsXHxjYWxjdWxhdGVcKVBhcmFzaXRpYygiaGU9ZS0xCitzeW4gbWF0Y2ggZGl2YUV4dEZ1bmN0aW9ucwkJIihcKGNhbGN1bGF0ZVx8bWVhc3VyZVwpUGFyYW1ldGVyXD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YUV4dEZ1bmN0aW9ucwkJIlw8XChjYWxjdWxhdGVcfG1lYXN1cmVcKVBhcmFtZXRlcigiaGU9ZS0xCitzeW4gbWF0Y2ggZGl2YUV4dEZ1bmN0aW9ucwkJIihtZWFzdXJlXChSZXNpc3RhbmNlXHxGcmluZ2VcKVw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFFeHRGdW5jdGlvbnMJCSJcPG1lYXN1cmVcKFJlc2lzdGFuY2VcfEZyaW5nZVwpKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhRXh0RnVuY3Rpb25zCQkiKGV4dHJhY3RcKERldmljZVx8TU9TXClcPiJocz1zKzEKK3N5biBtYXRjaCBkaXZhRXh0RnVuY3Rpb25zCQkiXDxleHRyYWN0XChEZXZpY2VcfE1PU1wpKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhRFJDRnVuY3Rpb25zCQkiKGNoZWNrQWxsTGF5ZXJzXD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YURSQ0Z1bmN0aW9ucwkJIlw8Y2hlY2tBbGxMYXllcnMoImhlPWUtMQorc3luIG1hdGNoIGRpdmFEUkNGdW5jdGlvbnMJCSIoY2hlY2tMYXllclw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFEUkNGdW5jdGlvbnMJCSJcPGNoZWNrTGF5ZXIoImhlPWUtMQorc3luIG1hdGNoIGRpdmFEUkNGdW5jdGlvbnMJCSIoZHJjXD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YURSQ0Z1bmN0aW9ucwkJIlw8ZHJjKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhRFJDRnVuY3Rpb25zCQkiKGRyY0FudGVubmFcPiJocz1zKzEKK3N5biBtYXRjaCBkaXZhRFJDRnVuY3Rpb25zCQkiXDxkcmNBbnRlbm5hKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhRnVuY3Rpb25zCQkJIihcKGRyY0V4dHJhY3RcfGx2c1wpUnVsZXNcPiJocz1zKzEKK3N5biBtYXRjaCBkaXZhRnVuY3Rpb25zCQkJIlw8XChkcmNFeHRyYWN0XHxsdnNcKVJ1bGVzKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhTGF5ZXJGdW5jdGlvbnMJIihzYXZlRGVyaXZlZFw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFMYXllckZ1bmN0aW9ucwkiXDxzYXZlRGVyaXZlZCgiaGU9ZS0xCitzeW4gbWF0Y2ggZGl2YUxheWVyRnVuY3Rpb25zCSIoY29weUdyYXBoaWNzXD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YUxheWVyRnVuY3Rpb25zCSJcPGNvcHlHcmFwaGljcygiaGU9ZS0xCitzeW4gbWF0Y2ggZGl2YUNoa0Z1bmN0aW9ucwkJIihkdWJpb3VzRGF0YVw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFDaGtGdW5jdGlvbnMJCSJcPGR1YmlvdXNEYXRhKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhQ2hrRnVuY3Rpb25zCQkiKG9mZkdyaWRcPiJocz1zKzEKK3N5biBtYXRjaCBkaXZhQ2hrRnVuY3Rpb25zCQkiXDxvZmZHcmlkKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhTFZTRnVuY3Rpb25zCQkiKGNvbXBhcmVEZXZpY2VQcm9wZXJ0eVw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFMVlNGdW5jdGlvbnMJCSJcPGNvbXBhcmVEZXZpY2VQcm9wZXJ0eSgiaGU9ZS0xCitzeW4gbWF0Y2ggZGl2YUxWU0Z1bmN0aW9ucwkJIihpZ25vcmVUZXJtaW5hbFw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFMVlNGdW5jdGlvbnMJCSJcPGlnbm9yZVRlcm1pbmFsKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhTFZTRnVuY3Rpb25zCQkiKHBhcmFtZXRlck1hdGNoVHlwZVw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFMVlNGdW5jdGlvbnMJCSJcPHBhcmFtZXRlck1hdGNoVHlwZSgiaGU9ZS0xCitzeW4gbWF0Y2ggZGl2YUxWU0Z1bmN0aW9ucwkJIihcKHBlcm11dGVcfHBydW5lXHxyZW1vdmVcKURldmljZVw+ImhzPXMrMQorc3luIG1hdGNoIGRpdmFMVlNGdW5jdGlvbnMJCSJcPFwocGVybXV0ZVx8cHJ1bmVcfHJlbW92ZVwpRGV2aWNlKCJoZT1lLTEKK3N5biBtYXRjaCBkaXZhR2VvbUZ1bmN0aW9ucwkJIihnZW9tXHVcYVwrXCg0NVx8OTBcKVw9XD4iaHM9cysxCitzeW4gbWF0Y2ggZGl2YUdlb21GdW5jdGlvbnMJCSJcPGdlb21cdVxhXCtcKDQ1XHw5MFwpXD0oImhlPWUtMQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kaXZhX3N5bnRheF9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX2RpdmFfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayBkaXZhRFJDS2V5d29yZHMJCVN0YXRlbWVudAorCUhpTGluayBkaXZhTWVhc0tleXdvcmRzCQlTdGF0ZW1lbnQKKwlIaUxpbmsgZGl2YUN0cmxGdW5jdGlvbnMJQ29uZGl0aW9uYWwKKwlIaUxpbmsgZGl2YUV4dEZ1bmN0aW9ucwkJRnVuY3Rpb24KKwlIaUxpbmsgZGl2YURSQ0Z1bmN0aW9ucwkJRnVuY3Rpb24KKwlIaUxpbmsgZGl2YUZ1bmN0aW9ucwkJRnVuY3Rpb24KKwlIaUxpbmsgZGl2YUxheWVyRnVuY3Rpb25zCUZ1bmN0aW9uCisJSGlMaW5rIGRpdmFDaGtGdW5jdGlvbnMJCUZ1bmN0aW9uCisJSGlMaW5rIGRpdmFMVlNGdW5jdGlvbnMJCUZ1bmN0aW9uCisJSGlMaW5rIGRpdmFHZW9tRnVuY3Rpb25zCUZ1bmN0aW9uCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZGl2YSIKKworIiB2aW06dHM9NApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZG5zLnZpbSBiL3J1bnRpbWUvc3ludGF4L2Rucy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ0Yjk2ZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2Rucy52aW0KQEAgLTAsMCArMSw0NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBETlMvQklORCBab25lIEZpbGUKKyIgTWFpbnRhaW5lcjogICBqZWhzb21AamVoc29tLmNvbQorIiBVUkw6CQlodHRwOi8vc2NyaXB0cy5qZWhzb20uY29tCisiIExhc3QgQ2hhbmdlOiAgMjAwMSBTZXAgMDIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorZW5kaWYKKworIiBMYXN0IG1hdGNoIGlzIHRha2VuIQorc3luIG1hdGNoCWRuc0tleXdvcmQJIlw8XChJTlx8QVx8U09BXHxOU1x8Q05BTUVcfE1YXHxQVFJcfFNPQVx8TUJcfE1HXHxNUlx8TlVMTFx8V0tTXHxISU5GT1x8VFhUXHxDU1x8Q0hcfENQVVx8T1NcKVw+Igorc3luIG1hdGNoICAgZG5zUmVjb3JkTmFtZSAgICAgICAiXlteIAldKiIKK3N5biBtYXRjaCAgIGRuc1ByZVByb2MJCSJeXCRbXiBdKiIKK3N5biBtYXRjaCAgIGRuc0NvbW1lbnQJCSI7LiokIgorc3luIG1hdGNoICAgZG5zRGF0YUZRRE4JCSJcPFteIAldKlwuWyAJXSokIgorc3luIG1hdGNoICAgZG5zQ29uc3RhbnQJCQkiXDxcKFswLTldWzAtOS5dKlx8WzAtOS5dKlswLTldXClcPiIKK3N5biBtYXRjaCAgIGRuc0lQYWRkcgkJIlw8XChcKFswLTJdXClcezAsMX1cKFswLTldXClcezEsMn1cLlwpXHszfVwoWzAtMl1cKVx7MCwxfVwoWzAtOV1cKVx7MSwyfVw+WyAJXSokIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQuCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZG5zX3N5bnRheF9pbml0cyIpCisgICAgaWYgdmVyc2lvbiA8IDUwOAorCWxldCBkaWRfZG5zX3N5bnRheF9pbml0cyA9IDEKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICAgIGVsc2UKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgICBlbmRpZgorCisgICAgSGlMaW5rIGRuc0NvbW1lbnQgICAgIENvbW1lbnQKKyAgICBIaUxpbmsgZG5zRGF0YUZRRE4gICAgSWRlbnRpZmllcgorICAgIEhpTGluayBkbnNQcmVQcm9jICAgICBQcmVQcm9jCisgICAgSGlMaW5rIGRuc0tleXdvcmQgICAgIEtleXdvcmQKKyAgICBIaUxpbmsgZG5zUmVjb3JkTmFtZSAgVHlwZQorICAgIEhpTGluayBkbnNJUGFkZHIgICAgICBUeXBlCisgICAgSGlMaW5rIGRuc0lQZXJyICAgICAgIEVycm9yCisgICAgSGlMaW5rIGRuc0NvbnN0YW50CSAgQ29uc3RhbnQKKworICAgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkbnMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kb2Niay52aW0gYi9ydW50aW1lL3N5bnRheC9kb2Niay52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM5MWVjMQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2RvY2JrLnZpbQpAQCAtMCwwICsxLDE1MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CURvY0Jvb2sKKyIgTWFpbnRhaW5lcjoJRGV2aW4gV2VhdmVyIDx2aW1AdHJpdGFyZ2V0LmNvbT4KKyIgVVJMOgkJaHR0cDovL3RyaXRhcmdldC5jb20vcHViL3ZpbS9zeW50YXgvZG9jYmsudmltCisiIExhc3QgQ2hhbmdlOgkyMDAyIFNlcCAwNAorIiBWZXJzaW9uOgkkUmV2aXNpb24kCisiIFRoYW5rcyB0byBKb2hhbm5lcyBaZWxsbmVyIDxqb2hhbm5lc0B6ZWxsbmVyLm9yZz4gZm9yIHRoZSBkZWZhdWx0IHRvIFhNTAorIiBzdWdnZXN0aW9uLgorCisiIFJFRkVSRU5DRVM6CisiICAgaHR0cDovL2RvY2Jvb2sub3JnLworIiAgIGh0dHA6Ly93d3cub3Blbi1vYXNpcy5vcmcvZG9jYm9vay8KKyIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEF1dG8gZGV0ZWN0IGFkZGVkIGJ5IEJyYW0gTW9vbGVuYWFyCitpZiAhZXhpc3RzKCdiOmRvY2JrX3R5cGUnKQorICBpZiBleHBhbmQoJyU6ZScpID09ICJzZ21sIgorICAgIGxldCBiOmRvY2JrX3R5cGUgPSAnc2dtbCcKKyAgZWxzZQorICAgIGxldCBiOmRvY2JrX3R5cGUgPSAneG1sJworICBlbmRpZgorZW5kaWYKK2lmICd4bWwnID09IGI6ZG9jYmtfdHlwZQorICAgIGRvYXUgRmlsZVR5cGUgeG1sCisgICAgc3luIGNsdXN0ZXIgeG1sVGFnSG9vayBhZGQ9ZG9jYmtLZXl3b3JkCisgICAgc3luIGNsdXN0ZXIgeG1sUmVnaW9uSG9vayBhZGQ9ZG9jYmtSZWdpb24sZG9jYmtUaXRsZSxkb2Nia1JlbWFyayxkb2Nia0NpdGUKKyAgICBzeW4gY2FzZSBtYXRjaAorZWxzZWlmICdzZ21sJyA9PSBiOmRvY2JrX3R5cGUKKyAgICBkb2F1IEZpbGVUeXBlIHNnbWwKKyAgICBzeW4gY2x1c3RlciBzZ21sVGFnSG9vayBhZGQ9ZG9jYmtLZXl3b3JkCisgICAgc3luIGNsdXN0ZXIgc2dtbFJlZ2lvbkhvb2sgYWRkPWRvY2JrUmVnaW9uLGRvY2JrVGl0bGUsZG9jYmtSZW1hcmssZG9jYmtDaXRlCisgICAgc3luIGNhc2UgaWdub3JlCitlbmRpZgorCisiIDxjb21tZW50PiBoYXMgYmVlbiByZW1vdmVkIGFuZCByZXBsYWNlIHdpdGggPHJlbWFyaz4gaW4gRG9jQm9vayA0LjAKKyIgPGNvbW1lbnQ+IGtlcHQgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5Lgorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGFiYnJldiBhYnN0cmFjdCBhY2NlbCBhY2tubyBhY3JvbnltIGFjdGlvbiBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBhZGRyZXNzIGFmZmlsaWF0aW9uIGFsdCBhbmNob3IgYW5zd2VyIGFwcGVuZGl4IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGFwcGxpY2F0aW9uIGFyZWEgYXJlYXNldCBhcmVhc3BlYyBhcmcgYXJ0aGVhZGVyIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGFydGljbGUgYXJ0aWNsZWluZm8gYXJ0cGFnZW51bXMgYXR0cmlidXRpb24gYXVkaW9kYXRhIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGF1ZGlvb2JqZWN0IGF1dGhvciBhdXRob3JibHVyYiBhdXRob3Jncm91cCBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBhdXRob3Jpbml0aWFscyBiZWdpbnBhZ2UgYmlibGlvZGl2IGJpYmxpb2VudHJ5IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGJpYmxpb2dyYXBoeSBiaWJsaW9taXNjIGJpYmxpb21peGVkIGJpYmxpb21zZXQgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgYmlibGlvc2V0IGJsb2NrcXVvdGUgYm9vayBib29rYmlibGlvIGJvb2tpbmZvIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGJyaWRnZWhlYWQgY2FsbG91dCBjYWxsb3V0bGlzdCBjYXB0aW9uIGNhdXRpb24gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgY2hhcHRlciBjaXRhdGlvbiBjaXRlcmVmZW50cnkgY2l0ZXRpdGxlIGNpdHkgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgY2xhc3NuYW1lIGNtZHN5bm9wc2lzIGNvIGNvbGxhYiBjb2xsYWJuYW1lIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGNvbG9waG9uIGNvbHNwZWMgY29tbWFuZCBjb21tZW50IGNvbXB1dGVyb3V0cHV0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGNvbmZkYXRlcyBjb25mZ3JvdXAgY29uZm51bSBjb25mc3BvbnNvciBjb25mdGl0bGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgY29uc3RhbnQgY29udHJhY3RudW0gY29udHJhY3RzcG9uc29yIGNvbnRyaWIgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgY29weXJpZ2h0IGNvcnBhdXRob3IgY29ycG5hbWUgY291bnRyeSBkYXRhYmFzZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBkYXRlIGRlZGljYXRpb24gZG9jaW5mbyBlZGl0aW9uIGVkaXRvciBlbWFpbCBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBlbXBoYXNpcyBlbnRyeSBlbnRyeXRibCBlbnZhciBlcGlncmFwaCBlcXVhdGlvbiBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBlcnJvcmNvZGUgZXJyb3JuYW1lIGVycm9ydHlwZSBleGFtcGxlIGZheCBmaWd1cmUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgZmlsZW5hbWUgZmlyc3RuYW1lIGZpcnN0dGVybSBmb290bm90ZSBmb290bm90ZXJlZiBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBmb3JlaWducGhyYXNlIGZvcm1hbHBhcmEgZnVuY2RlZiBmdW5jcGFyYW1zIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGZ1bmNwcm90b3R5cGUgZnVuY3N5bm9wc2lzIGZ1bmNzeW5vcHNpc2luZm8gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgZnVuY3Rpb24gZ2xvc3NhcnkgZ2xvc3NkZWYgZ2xvc3NkaXYgZ2xvc3NlbnRyeSBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBnbG9zc2xpc3QgZ2xvc3NzZWUgZ2xvc3NzZWVhbHNvIGdsb3NzdGVybSBncmFwaGljIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGdyYXBoaWNjbyBncm91cCBndWlidXR0b24gZ3VpaWNvbiBndWlsYWJlbCBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBndWltZW51IGd1aW1lbnVpdGVtIGd1aXN1Ym1lbnUgaGFyZHdhcmUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgaGlnaGxpZ2h0cyBob2xkZXIgaG9ub3JpZmljIGltYWdlZGF0YSBpbWFnZW9iamVjdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBpbWFnZW9iamVjdGNvIGltcG9ydGFudCBpbmRleCBpbmRleGRpdiBpbmRleGVudHJ5IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGluZGV4dGVybSBpbmZvcm1hbGVxdWF0aW9uIGluZm9ybWFsZXhhbXBsZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBpbmZvcm1hbGZpZ3VyZSBpbmZvcm1hbHRhYmxlIGlubGluZWVxdWF0aW9uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGlubGluZWdyYXBoaWMgaW5saW5lbWVkaWFvYmplY3QgaW50ZXJmYWNlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGludGVyZmFjZWRlZmluaXRpb24gaW52cGFydG51bWJlciBpc2JuIGlzc24gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgaXNzdWVudW0gaXRlbWl6ZWRsaXN0IGl0ZXJtc2V0IGpvYnRpdGxlIGtleWNhcCBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBrZXljb2RlIGtleWNvbWJvIGtleXN5bSBrZXl3b3JkIGtleXdvcmRzZXQgbGFiZWwgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgbGVnYWxub3RpY2UgbGluZWFnZSBsaW5lYW5ub3RhdGlvbiBsaW5rIGxpc3RpdGVtIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIGxpdGVyYWwgbGl0ZXJhbGxheW91dCBsb3QgbG90ZW50cnkgbWFudm9sbnVtIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIG1hcmt1cCBtZWRpYWxhYmVsIG1lZGlhb2JqZWN0IG1lZGlhb2JqZWN0Y28gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgbWVtYmVyIG1lbnVjaG9pY2UgbW9kZXNwZWMgbW91c2VidXR0b24gbXNnIG1zZ2F1ZCBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBtc2dlbnRyeSBtc2dleHBsYW4gbXNnaW5mbyBtc2dsZXZlbCBtc2dtYWluIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIG1zZ29yaWcgbXNncmVsIG1zZ3NldCBtc2dzdWIgbXNndGV4dCBub3RlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIG9iamVjdGluZm8gb2xpbmsgb3B0aW9uIG9wdGlvbmFsIG9yZGVyZWRsaXN0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIG9yZ2RpdiBvcmduYW1lIG90aGVyYWRkciBvdGhlcmNyZWRpdCBvdGhlcm5hbWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgcGFnZW51bXMgcGFyYSBwYXJhbWRlZiBwYXJhbWV0ZXIgcGFydCBwYXJ0aW50cm8gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgcGhvbmUgcGhyYXNlIHBvYiBwb3N0Y29kZSBwcmVmYWNlIHByaW1hcnkgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgcHJpbWFyeWllIHByaW50aGlzdG9yeSBwcm9jZWR1cmUgcHJvZHVjdG5hbWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgcHJvZHVjdG51bWJlciBwcm9ncmFtbGlzdGluZyBwcm9ncmFtbGlzdGluZ2NvIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHByb21wdCBwcm9wZXJ0eSBwdWJkYXRlIHB1Ymxpc2hlciBwdWJsaXNoZXJuYW1lIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHB1YnNudW1iZXIgcWFuZGFkaXYgcWFuZGFlbnRyeSBxYW5kYXNldCBxdWVzdGlvbiBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBxdW90ZSByZWZjbGFzcyByZWZkZXNjcmlwdG9yIHJlZmVudHJ5IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHJlZmVudHJ5dGl0bGUgcmVmZXJlbmNlIHJlZm1ldGEgcmVmbWlzY2luZm8gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgcmVmbmFtZSByZWZuYW1lZGl2IHJlZnB1cnBvc2UgcmVmc2VjdDEgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgcmVmc2VjdDFpbmZvIHJlZnNlY3QyIHJlZnNlY3QyaW5mbyByZWZzZWN0MyBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCByZWZzZWN0M2luZm8gcmVmc3lub3BzaXNkaXYgcmVmc3lub3BzaXNkaXZpbmZvIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHJlbGVhc2VpbmZvIHJlbWFyayByZXBsYWNlYWJsZSByZXR1cm52YWx1ZSByZXZoaXN0b3J5IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHJldmlzaW9uIHJldm51bWJlciByZXZyZW1hcmsgcm93IHNiciBzY3JlZW4gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgc2NyZWVuY28gc2NyZWVuaW5mbyBzY3JlZW5zaG90IHNlY29uZGFyeSBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBzZWNvbmRhcnlpZSBzZWN0MSBzZWN0MWluZm8gc2VjdDIgc2VjdDJpbmZvIHNlY3QzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHNlY3QzaW5mbyBzZWN0NCBzZWN0NGluZm8gc2VjdDUgc2VjdDVpbmZvIHNlY3Rpb24gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgc2VjdGlvbmluZm8gc2VlIHNlZWFsc28gc2VlYWxzb2llIHNlZWllIHNlZyBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBzZWdsaXN0aXRlbSBzZWdtZW50ZWRsaXN0IHNlZ3RpdGxlIHNlcmllc2luZm8gY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgc2VyaWVzdm9sbnVtcyBzZXQgc2V0aW5kZXggc2V0aW5mbyBzZ21sdGFnIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHNob3J0YWZmaWwgc2hvcnRjdXQgc2lkZWJhciBzaW1wYXJhIHNpbXBsZWxpc3QgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgc2ltcGxlc2VjdCBzcGFuc3BlYyBzdGF0ZSBzdGVwIHN0cmVldCBzdHJ1Y3RmaWVsZCBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBzdHJ1Y3RuYW1lIHN1YmplY3Qgc3ViamVjdHNldCBzdWJqZWN0dGVybSBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBzdWJzY3JpcHQgc3Vic3RlcHMgc3VidGl0bGUgc3VwZXJzY3JpcHQgc3VybmFtZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCBzeW1ib2wgc3lub3BmcmFnbWVudCBzeW5vcGZyYWdtZW50cmVmIHN5bm9wc2lzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHN5c3RlbWl0ZW0gdGFibGUgdGJvZHkgdGVybSB0ZXJ0aWFyeSB0ZXJ0aWFyeWllIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHRleHRvYmplY3QgdGZvb3QgdGdyb3VwIHRoZWFkIHRpcCB0aXRsZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGRvY2JrS2V5d29yZCB0aXRsZWFiYnJldiB0b2MgdG9jYmFjayB0b2NjaGFwIHRvY2VudHJ5IHRvY2Zyb250IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZG9jYmtLZXl3b3JkIHRvY2xldmVsMSB0b2NsZXZlbDIgdG9jbGV2ZWwzIHRvY2xldmVsNCB0b2NsZXZlbDUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgdG9jcGFydCB0b2tlbiB0cmFkZW1hcmsgdHlwZSB1bGluayB1c2VyaW5wdXQgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgdmFyYXJncyB2YXJpYWJsZWxpc3QgdmFybGlzdGVudHJ5IHZhcm5hbWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgdmlkZW9kYXRhIHZpZGVvb2JqZWN0IHZvaWQgdm9sdW1lbnVtIHdhcm5pbmcgY29udGFpbmVkCitzeW4ga2V5d29yZCBkb2Nia0tleXdvcmQgd29yZGFzd29yZCB4cmVmIHllYXIgY29udGFpbmVkCisKKyIgQWRkIHNwZWNpYWwgZW1waGFzaXMgb24gc29tZSByZWdpb25zLiBUaGFua3MgdG8gUm9yeSBIdW50ZXIgPHJvcnloQGRjcy5lZC5hYy51az4gZm9yIHRoZXNlIGlkZWFzLgorc3luIHJlZ2lvbiBkb2Nia1JlZ2lvbiBzdGFydD0iPGVtcGhhc2lzPiJsYz0xMCBlbmQ9IjwvZW1waGFzaXM+Im1lPWUtMTEgY29udGFpbnM9eG1sUmVnaW9uLHhtbEVudGl0eSxzZ21sUmVnaW9uLHNnbWxFbnRpdHkga2VlcGVuZAorc3luIHJlZ2lvbiBkb2Nia1RpdGxlICBzdGFydD0iPHRpdGxlPiJsYz03ICAgICBlbmQ9IjwvdGl0bGU+Im1lPWUtOAljb250YWlucz14bWxSZWdpb24seG1sRW50aXR5LHNnbWxSZWdpb24sc2dtbEVudGl0eSBrZWVwZW5kCitzeW4gcmVnaW9uIGRvY2JrUmVtYXJrIHN0YXJ0PSI8cmVtYXJrPiJsYz04ICAgIGVuZD0iPC9yZW1hcms+Im1lPWUtOQljb250YWlucz14bWxSZWdpb24seG1sRW50aXR5LHNnbWxSZWdpb24sc2dtbEVudGl0eSBrZWVwZW5kCitzeW4gcmVnaW9uIGRvY2JrUmVtYXJrIHN0YXJ0PSI8Y29tbWVudD4ibGM9OSAgZW5kPSI8L2NvbW1lbnQ+Im1lPWUtMTAJY29udGFpbnM9eG1sUmVnaW9uLHhtbEVudGl0eSxzZ21sUmVnaW9uLHNnbWxFbnRpdHkga2VlcGVuZAorc3luIHJlZ2lvbiBkb2Nia0NpdGUgICBzdGFydD0iPGNpdGF0aW9uPiJsYz0xMCBlbmQ9IjwvY2l0YXRpb24+Im1lPWUtMTEgY29udGFpbnM9eG1sUmVnaW9uLHhtbEVudGl0eSxzZ21sUmVnaW9uLHNnbWxFbnRpdHkga2VlcGVuZAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kb2Nia19zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9kb2Nia19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgICBoaSBEb2Nia0JvbGQgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgIGhpIGRlZiBEb2Nia0JvbGQgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKKyAgZW5kaWYKKworICBIaUxpbmsgZG9jYmtLZXl3b3JkCVN0YXRlbWVudAorICBIaUxpbmsgZG9jYmtSZWdpb24JRG9jYmtCb2xkCisgIEhpTGluayBkb2Nia1RpdGxlCVRpdGxlCisgIEhpTGluayBkb2Nia1JlbWFyawlDb21tZW50CisgIEhpTGluayBkb2Nia0NpdGUJQ29uc3RhbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZG9jYmsiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kb2Nia3NnbWwudmltIGIvcnVudGltZS9zeW50YXgvZG9jYmtzZ21sLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDRmM2QyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZG9jYmtzZ21sLnZpbQpAQCAtMCwwICsxLDcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglEb2NCb29rIFNHTUwKKyIgTWFpbnRhaW5lcjoJSm9oYW5uZXMgWmVsbG5lciA8am9oYW5uZXNAemVsbG5lci5vcmc+CisiIExhc3QgQ2hhbmdlOglTYW0sIDA3IFNlcCAyMDAyIDE3OjIwOjQ2IENFU1QKKworbGV0IGI6ZG9jYmtfdHlwZT0ic2dtbCIKK3J1bnRpbWUgc3ludGF4L2RvY2JrLnZpbQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZG9jYmt4bWwudmltIGIvcnVudGltZS9zeW50YXgvZG9jYmt4bWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4MWFmMmMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9kb2Nia3htbC52aW0KQEAgLTAsMCArMSw3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJRG9jQm9vayBYTUwKKyIgTWFpbnRhaW5lcjoJSm9oYW5uZXMgWmVsbG5lciA8am9oYW5uZXNAemVsbG5lci5vcmc+CisiIExhc3QgQ2hhbmdlOglTYW0sIDA3IFNlcCAyMDAyIDE3OjIwOjEyIENFU1QKKworbGV0IGI6ZG9jYmtfdHlwZT0ieG1sIgorcnVudGltZSBzeW50YXgvZG9jYmsudmltCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kb3NiYXRjaC52aW0gYi9ydW50aW1lL3N5bnRheC9kb3NiYXRjaC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI3MzEwYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2Rvc2JhdGNoLnZpbQpAQCAtMCwwICsxLDE1OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1TRE9TIGJhdGNoIGZpbGUgKHdpdGggTlQgY29tbWFuZCBleHRlbnNpb25zKQorIiBNYWludGFpbmVyOglNaWtlIFdpbGxpYW1zIDxtcndAZWFuZGVtLmNvLnVrPgorIiBGaWxlbmFtZXM6ICAgICouYmF0CisiIExhc3QgQ2hhbmdlOgkxNnRoIE1hcmNoIDIwMDQKKyIgV2ViIFBhZ2U6ICAgICBodHRwOi8vd3d3LmVhbmRlbS5jby51ay9tcncvdmltCisiCisiIE9wdGlvbnMgRmxhZ3M6CisiIGRvc2JhdGNoX2NtZGV4dHZlcnNpb24JLSAxID0gV2luZG93cyBOVCwgMiA9IFdpbmRvd3MgMjAwMCBbZGVmYXVsdF0KKyIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFNldCBkZWZhdWx0IGhpZ2hsaWdodGluZyB0byBXaW4yaworaWYgIWV4aXN0cygiZG9zYmF0Y2hfY21kZXh0dmVyc2lvbiIpCisgIGxldCBkb3NiYXRjaF9jbWRleHR2ZXJzaW9uID0gMgorZW5kaWYKKworIiBET1MgYmF0IGZpbGVzIGFyZSBjYXNlIGluc2Vuc2l0aXZlIGJ1dCBjYXNlIHByZXNlcnZpbmchCitzeW4gY2FzZSBpZ25vcmUKKworc3luIGtleXdvcmQgZG9zYmF0Y2hUb2RvIGNvbnRhaW5lZAlUT0RPCisKKyIgRG9zYmF0IGtleXdvcmRzCitzeW4ga2V5d29yZCBkb3NiYXRjaFN0YXRlbWVudAlnb3RvIGNhbGwgZXhpdAorc3luIGtleXdvcmQgZG9zYmF0Y2hDb25kaXRpb25hbAlpZiBlbHNlCitzeW4ga2V5d29yZCBkb3NiYXRjaFJlcGVhdAlmb3IKKworIiBTb21lIG9wZXJhdG9ycyAtIGZpcnN0IGxvdCBhcmUgY2FzZSBzZW5zaXRpdmUhCitzeW4gY2FzZSBtYXRjaAorc3luIGtleXdvcmQgZG9zYmF0Y2hPcGVyYXRvciAgICBFUVUgTkVRIExTUyBMRVEgR1RSIEdFUQorc3luIGNhc2UgaWdub3JlCitzeW4gbWF0Y2ggZG9zYmF0Y2hPcGVyYXRvciAgICAgICJcc1stK1wqLyVdXHMiCitzeW4gbWF0Y2ggZG9zYmF0Y2hPcGVyYXRvciAgICAgICI9Igorc3luIG1hdGNoIGRvc2JhdGNoT3BlcmF0b3IgICAgICAiWy0rXCovJV09Igorc3luIG1hdGNoIGRvc2JhdGNoT3BlcmF0b3IgICAgICAiXHNcKCZcfHxcfF5cfDw8XHw+PlwpPVw9XHMiCitzeW4gbWF0Y2ggZG9zYmF0Y2hJZk9wZXJhdG9yICAgICJpZlxzXCtcKFwobm90XClcPVxzXCtcKVw9XChleGlzdFx8ZGVmaW5lZFx8ZXJyb3JsZXZlbFx8Y21kZXh0dmVyc2lvblwpXD0ibGM9MgorCisiIFN0cmluZyAtIHVzaW5nICIncyBpcyBhIGNvbnZlbmllbmNlIHJhdGhlciB0aGFuIGEgcmVxdWlyZW1lbnQgb3V0c2lkZSBvZiBGT1IKK3N5biBtYXRjaCBkb3NiYXRjaFN0cmluZwkiXCJbXiJdKlwiIiBjb250YWlucz1kb3NiYXRjaFZhcmlhYmxlLGRvc0JhdGNoQXJndW1lbnQsQGRvc2JhdGNoTnVtYmVyCitzeW4gbWF0Y2ggZG9zYmF0Y2hTdHJpbmcJIlw8ZWNob1teKT58XSoibGM9NCBjb250YWlucz1kb3NiYXRjaFZhcmlhYmxlLGRvc2JhdGNoQXJndW1lbnQsQGRvc2JhdGNoTnVtYmVyCitzeW4gbWF0Y2ggZG9zYmF0Y2hFY2hvT3BlcmF0b3IgICJcPGVjaG9cc1wrXChvblx8b2ZmXClccyokImxjPTQKKworIiBGb3IgZW1iZWRkZWQgY29tbWFuZHMKK3N5biBtYXRjaCBkb3NiYXRjaENtZAkJIihccyonW14nXSonImxjPTEgY29udGFpbnM9ZG9zYmF0Y2hTdHJpbmcsZG9zYmF0Y2hWYXJpYWJsZSxkb3NCYXRjaEFyZ3VtZW50LEBkb3NiYXRjaE51bWJlcixkb3NiYXRjaEltcGxpY2l0LGRvc2JhdGNoU3RhdGVtZW50LGRvc2JhdGNoQ29uZGl0aW9uYWwsZG9zYmF0Y2hSZXBlYXQsZG9zYmF0Y2hPcGVyYXRvcgorCisiIE51bWJlcnMgLSBzdXJyb3VuZCB3aXRoIHdzIHRvIG5vdCBpbmNsdWRlIGluIGRpciBhbmQgZmlsZW5hbWVzCitzeW4gbWF0Y2ggZG9zYmF0Y2hJbnRlZ2VyICAgICAgICJbWzpzcGFjZTpdPSgvOl1cZFwrImxjPTEKK3N5biBtYXRjaCBkb3NiYXRjaEhleAkJIltbOnNwYWNlOl09KC86XTB4XHhcKyJsYz0xCitzeW4gbWF0Y2ggZG9zYmF0Y2hCaW5hcnkJIltbOnNwYWNlOl09KC86XTBiWzAxXVwrImxjPTEKK3N5biBtYXRjaCBkb3NiYXRjaE9jdGFsCQkiW1s6c3BhY2U6XT0oLzpdMFxvXCsibGM9MQorc3luIGNsdXN0ZXIgZG9zYmF0Y2hOdW1iZXIgICAgICBjb250YWlucz1kb3NiYXRjaEludGVnZXIsZG9zYmF0Y2hIZXgsZG9zYmF0Y2hCaW5hcnksZG9zYmF0Y2hPY3RhbAorCisiIENvbW1hbmQgbGluZSBzd2l0Y2hlcworc3luIG1hdGNoIGRvc2JhdGNoU3dpdGNoCSIvXChcYVwrXHw/XCkiCisKKyIgVmFyaW91cyBzcGVjaWFsIGVzY2FwZWQgY2hhciBmb3JtYXRzCitzeW4gbWF0Y2ggZG9zYmF0Y2hTcGVjaWFsQ2hhciAgICJcXlsmfCgpPD5eXSIKK3N5biBtYXRjaCBkb3NiYXRjaFNwZWNpYWxDaGFyICAgIlwkW2EtaGwtbnBxc3R2XyQrXSIKK3N5biBtYXRjaCBkb3NiYXRjaFNwZWNpYWxDaGFyICAgIiUlIgorCisiIEVudmlyb25tZW50IHZhcmlhYmxlcworc3luIG1hdGNoIGRvc2JhdGNoSWRlbnRpZmllciAgICBjb250YWluZWQgIlxzXGhcdypcPiIKK3N5biBtYXRjaCBkb3NiYXRjaFZhcmlhYmxlCSIlXGhcdyolIgorc3luIG1hdGNoIGRvc2JhdGNoVmFyaWFibGUJIiVcaFx3KjpcKlw9W149XSo9W14lXSolIgorc3luIG1hdGNoIGRvc2JhdGNoVmFyaWFibGUJIiVcaFx3KjpcflxkXCssXGRcKyUiIGNvbnRhaW5zPWRvc2JhdGNoSW50ZWdlcgorc3luIG1hdGNoIGRvc2JhdGNoVmFyaWFibGUJIiFcaFx3KiEiCitzeW4gbWF0Y2ggZG9zYmF0Y2hWYXJpYWJsZQkiIVxoXHcqOlwqXD1bXj1dKj1bXiVdKiEiCitzeW4gbWF0Y2ggZG9zYmF0Y2hWYXJpYWJsZQkiIVxoXHcqOlx+XGRcKyxcZFwrISIgY29udGFpbnM9ZG9zYmF0Y2hJbnRlZ2VyCitzeW4gbWF0Y2ggZG9zYmF0Y2hTZXQJCSJcc1xoXHcqWystXVw9PVx7LTF9IiBjb250YWlucz1kb3NiYXRjaElkZW50aWZpZXIsZG9zYmF0Y2hPcGVyYXRvcgorCisiIEFyZ3MgdG8gYmF0IGZpbGVzIGFuZCBmb3IgbG9vcHMsIGV0Yworc3luIG1hdGNoIGRvc2JhdGNoQXJndW1lbnQJIiVcKFxkXHxcKlwpIgorc3luIG1hdGNoIGRvc2JhdGNoQXJndW1lbnQJIiUlW2Etel1cPiIKK2lmIGRvc2JhdGNoX2NtZGV4dHZlcnNpb24gPT0gMQorICBzeW4gbWF0Y2ggZG9zYmF0Y2hBcmd1bWVudAkiJVx+W2ZkcG54c11cK1woXCgkUEFUSDpcKVw9W2Etel1cfFxkXClcPiIKK2Vsc2UKKyAgc3luIG1hdGNoIGRvc2JhdGNoQXJndW1lbnQJIiVcfltmZHBueHNhdHpdXCtcKFwoJFBBVEg6XClcPVthLXpdXHxcZFwpXD4iCitlbmRpZgorCisiIExpbmUgbGFiZWxzCitzeW4gbWF0Y2ggZG9zYmF0Y2hMYWJlbAkJIl5ccyo6XHMqXGhcdypcPiIKK3N5biBtYXRjaCBkb3NiYXRjaExhYmVsCQkiXDxcKGdvdG9cfGNhbGxcKVxzXCs6XGhcdypcPiJsYz00CitzeW4gbWF0Y2ggZG9zYmF0Y2hMYWJlbAkJIlw8Z290b1xzXCtcaFx3Klw+ImxjPTQKK3N5biBtYXRjaCBkb3NiYXRjaExhYmVsCQkiOlxoXHcqXD4iCisKKyIgQ29tbWVudHMgLSB1c3VhbCByZW0gYnV0IGFsc28gdHdvIGNvbG9ucyBhcyBmaXJzdCBub24tc3BhY2UgaXMgYW4gaWRpb20KK3N5biBtYXRjaCBkb3NiYXRjaENvbW1lbnQJIl5yZW1cKCRcfFxzLiokXCkibGM9MyBjb250YWlucz1kb3NiYXRjaFRvZG8sQGRvc2JhdGNoTnVtYmVyLGRvc2JhdGNoVmFyaWFibGUsZG9zYmF0Y2hBcmd1bWVudAorc3luIG1hdGNoIGRvc2JhdGNoQ29tbWVudAkiXHNyZW1cKCRcfFxzLiokXCkibGM9NCBjb250YWlucz1kb3NiYXRjaFRvZG8sQGRvc2JhdGNoTnVtYmVyLGRvc2JhdGNoVmFyaWFibGUsZG9zYmF0Y2hBcmd1bWVudAorc3luIG1hdGNoIGRvc2JhdGNoQ29tbWVudAkiXHMqOlxzKjouKiQiIGNvbnRhaW5zPWRvc2JhdGNoVG9kbyxAZG9zYmF0Y2hOdW1iZXIsZG9zYmF0Y2hWYXJpYWJsZSxkb3NiYXRjaEFyZ3VtZW50CisKKyIgQ29tbWVudHMgaW4gKCkncyAtIHN0aWxsIHRvIGhhbmRsZSBzcGFjZXMgYmVmb3JlIHJlbQorc3luIG1hdGNoIGRvc2JhdGNoQ29tbWVudAkiKHJlbVteKV0qImxjPTQgY29udGFpbnM9ZG9zYmF0Y2hUb2RvLEBkb3NiYXRjaE51bWJlcixkb3NiYXRjaFZhcmlhYmxlLGRvc2JhdGNoQXJndW1lbnQKKworc3luIGtleXdvcmQgZG9zYmF0Y2hJbXBsaWNpdCAgICBhcHBlbmQgYXNzb2MgYXQgYXR0cmliIGJyZWFrIGNhY2xzIGNkIGNoY3AgY2hkaXIKK3N5biBrZXl3b3JkIGRvc2JhdGNoSW1wbGljaXQgICAgY2hrZHNrIGNoa250ZnMgY2xzIGNtZCBjb2xvciBjb21wIGNvbXBhY3QgY29udmVydCBjb3B5CitzeW4ga2V5d29yZCBkb3NiYXRjaEltcGxpY2l0ICAgIGRhdGUgZGVsIGRpciBkaXNrY29tcCBkaXNrY29weSBkb3NrZXkgZWNobyBlbmRsb2NhbAorc3luIGtleXdvcmQgZG9zYmF0Y2hJbXBsaWNpdCAgICBlcmFzZSBmYyBmaW5kIGZpbmRzdHIgZm9ybWF0IGZ0eXBlCitzeW4ga2V5d29yZCBkb3NiYXRjaEltcGxpY2l0ICAgIGdyYWZ0YWJsIGhlbHAga2V5YiBsYWJlbCBtZCBta2RpciBtb2RlIG1vcmUgbW92ZQorc3luIGtleXdvcmQgZG9zYmF0Y2hJbXBsaWNpdCAgICBwYXRoIHBhdXNlIHBvcGQgcHJpbnQgcHJvbXB0IHB1c2hkIHJkIHJlY292ZXIgcmVtCitzeW4ga2V5d29yZCBkb3NiYXRjaEltcGxpY2l0ICAgIHJlbiByZW5hbWUgcmVwbGFjZSByZXN0b3JlIHJtZGlyIHNldCBzZXRsb2NhbCBzaGlmdAorc3luIGtleXdvcmQgZG9zYmF0Y2hJbXBsaWNpdCAgICBzb3J0IHN0YXJ0IHN1YnN0IHRpbWUgdGl0bGUgdHJlZSB0eXBlIHZlciB2ZXJpZnkKK3N5biBrZXl3b3JkIGRvc2JhdGNoSW1wbGljaXQgICAgdm9sIHhjb3B5CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2Rvc2JhdGNoX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2Rvc2JhdGNoX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGRvc2JhdGNoVG9kbwkJVG9kbworCisgIEhpTGluayBkb3NiYXRjaFN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIGRvc2JhdGNoQ29tbWFuZHMJZG9zYmF0Y2hTdGF0ZW1lbnQKKyAgSGlMaW5rIGRvc2JhdGNoTGFiZWwJCUxhYmVsCisgIEhpTGluayBkb3NiYXRjaENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBkb3NiYXRjaFJlcGVhdAkJUmVwZWF0CisKKyAgSGlMaW5rIGRvc2JhdGNoT3BlcmF0b3IJT3BlcmF0b3IKKyAgSGlMaW5rIGRvc2JhdGNoRWNob09wZXJhdG9yCWRvc2JhdGNoT3BlcmF0b3IKKyAgSGlMaW5rIGRvc2JhdGNoSWZPcGVyYXRvcglkb3NiYXRjaE9wZXJhdG9yCisKKyAgSGlMaW5rIGRvc2JhdGNoQXJndW1lbnQJSWRlbnRpZmllcgorICBIaUxpbmsgZG9zYmF0Y2hJZGVudGlmaWVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIGRvc2JhdGNoVmFyaWFibGUJZG9zYmF0Y2hJZGVudGlmaWVyCisKKyAgSGlMaW5rIGRvc2JhdGNoU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKKyAgSGlMaW5rIGRvc2JhdGNoU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIGRvc2JhdGNoTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGRvc2JhdGNoSW50ZWdlcglkb3NiYXRjaE51bWJlcgorICBIaUxpbmsgZG9zYmF0Y2hIZXgJCWRvc2JhdGNoTnVtYmVyCisgIEhpTGluayBkb3NiYXRjaEJpbmFyeQkJZG9zYmF0Y2hOdW1iZXIKKyAgSGlMaW5rIGRvc2JhdGNoT2N0YWwJCWRvc2JhdGNoTnVtYmVyCisKKyAgSGlMaW5rIGRvc2JhdGNoQ29tbWVudAlDb21tZW50CisgIEhpTGluayBkb3NiYXRjaEltcGxpY2l0CUZ1bmN0aW9uCisKKyAgSGlMaW5rIGRvc2JhdGNoU3dpdGNoCQlTcGVjaWFsCisKKyAgSGlMaW5rIGRvc2JhdGNoQ21kCQlQcmVQcm9jCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImRvc2JhdGNoIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZG9zaW5pLnZpbSBiL3J1bnRpbWUvc3ludGF4L2Rvc2luaS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM3NDQxOAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2Rvc2luaS52aW0KQEAgLTAsMCArMSw0MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUNvbmZpZ3VyYXRpb24gRmlsZSAoaW5pIGZpbGUpIGZvciBNU0RPUy9NUyBXaW5kb3dzCisiIE1haW50YWluZXI6CVNlYW4gTS4gTWNLZWUgPG1ja2VlQG1pc3NsaW5rLm5ldD4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDA5CisiIFZlcnNpb24gSW5mbzogQCgjKWRvc2luaS52aW0JMS42CTk3LzEyLzE1IDA4OjU0OjEyCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBzaHV0IGNhc2Ugb2ZmCitzeW4gY2FzZSBpZ25vcmUKKworc3luIG1hdGNoICBkb3NpbmlMYWJlbAkJIl4uXHstfT0iCitzeW4gcmVnaW9uIGRvc2luaUhlYWRlcgkJc3RhcnQ9IlxbIiBlbmQ9IlxdIgorc3luIG1hdGNoICBkb3NpbmlDb21tZW50CSJeOy4qJCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZG9zaW5pX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2Rvc2luaV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisJSGlMaW5rIGRvc2luaUhlYWRlcglTcGVjaWFsCisJSGlMaW5rIGRvc2luaUNvbW1lbnQJQ29tbWVudAorCUhpTGluayBkb3NpbmlMYWJlbAlUeXBlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImRvc2luaSIKKworIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZG90LnZpbSBiL3J1bnRpbWUvc3ludGF4L2RvdC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI5NDdhYQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2RvdC52aW0KQEAgLTAsMCArMSwxMTAgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgRG90CisiIEZpbGVuYW1lczogICAgKi5kb3QKKyIgTWFpbnRhaW5lcjogICBNYXJrdXMgTW90dGwgIDxtYXJrdXNAb2VmYWkuYXQ+CisiIFVSTDoJCWh0dHA6Ly93d3cuYWkudW5pdmllLmFjLmF0L35tYXJrdXMvdmltL3N5bnRheC9kb3QudmltCisiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxMQorIgkJMjAwMSBNYXkgMDQgLSBpbml0aWFsIHZlcnNpb24KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEVycm9ycworc3luIG1hdGNoICAgIGRvdFBhckVyciAgICAgIikiCitzeW4gbWF0Y2ggICAgZG90QnJhY2tFcnIgICAiXSIKK3N5biBtYXRjaCAgICBkb3RCcmFjZUVyciAgICJ9IgorCisiIEVuY2xvc2luZyBkZWxpbWl0ZXJzCitzeW4gcmVnaW9uICAgZG90RW5jbCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWRvdFBhckVuY2wgc3RhcnQ9IigiIG1hdGNoZ3JvdXA9ZG90UGFyRW5jbCBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxkb3RQYXJFcnIKK3N5biByZWdpb24gICBkb3RFbmNsIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9ZG90QnJhY2tFbmNsIHN0YXJ0PSJcWyIgbWF0Y2hncm91cD1kb3RCcmFja0VuY2wgZW5kPSJcXSIgY29udGFpbnM9QUxMQlVULGRvdEJyYWNrRXJyCitzeW4gcmVnaW9uICAgZG90RW5jbCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWRvdEJyYWNlRW5jbCBzdGFydD0ieyIgbWF0Y2hncm91cD1kb3RCcmFjZUVuY2wgZW5kPSJ9IiBjb250YWlucz1BTExCVVQsZG90QnJhY2VFcnIKKworIiBDb21tZW50cworc3luIHJlZ2lvbiAgIGRvdENvbW1lbnQgc3RhcnQ9Ii8vIiBlbmQ9IiQiIGNvbnRhaW5zPWRvdENvbW1lbnQsZG90VG9kbworc3luIHJlZ2lvbiAgIGRvdENvbW1lbnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPWRvdENvbW1lbnQsZG90VG9kbworc3luIGtleXdvcmQgIGRvdFRvZG8gY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCisKKyIgU3RyaW5ncworc3luIHJlZ2lvbiAgIGRvdFN0cmluZyAgICBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCisKKyIgR2VuZXJhbCBrZXl3b3Jkcworc3luIGtleXdvcmQgIGRvdEtleXdvcmQgIGRpZ3JhcGggbm9kZSBlZGdlIHN1YmdyYXBoCisKKyIgR3JhcGggYXR0cmlidXRlcworc3luIGtleXdvcmQgIGRvdFR5cGUgY2VudGVyIGxheWVycyBtYXJnaW4gbWNsaW1pdCBuYW1lIG5vZGVzZXAgbnNsaW1pdAorc3luIGtleXdvcmQgIGRvdFR5cGUgb3JkZXJpbmcgcGFnZSBwYWdlZGlyIHJhbmsgcmFua2RpciByYW5rc2VwIHJhdGlvCitzeW4ga2V5d29yZCAgZG90VHlwZSByb3RhdGUgc2l6ZQorCisiIE5vZGUgYXR0cmlidXRlcworc3luIGtleXdvcmQgIGRvdFR5cGUgZGlzdG9ydGlvbiBmaWxsY29sb3IgZm9udGNvbG9yIGZvbnRuYW1lIGZvbnRzaXplCitzeW4ga2V5d29yZCAgZG90VHlwZSBoZWlnaHQgbGF5ZXIgb3JpZW50YXRpb24gcGVyaXBoZXJpZXMgcmVndWxhcgorc3luIGtleXdvcmQgIGRvdFR5cGUgc2hhcGUgc2hhcGVmaWxlIHNpZGVzIHNrZXcgd2lkdGgKKworIiBFZGdlIGF0dHJpYnV0ZXMKK3N5biBrZXl3b3JkICBkb3RUeXBlIGFycm93aGVhZCBhcnJvd3NpemUgYXJyb3d0YWlsIGNvbnN0cmFpbnQgZGVjb3JhdGVQCitzeW4ga2V5d29yZCAgZG90VHlwZSBkaXIgaGVhZGNsaXAgaGVhZGxhYmVsIGxhYmVsYW5nbGUgbGFiZWxkaXN0YW5jZQorc3luIGtleXdvcmQgIGRvdFR5cGUgbGFiZWxmb250Y29sb3IgbGFiZWxmb250bmFtZSBsYWJlbGZvbnRzaXplCitzeW4ga2V5d29yZCAgZG90VHlwZSBtaW5sZW4gcG9ydF9sYWJlbF9kaXN0YW5jZSBzYW1laGVhZCBzYW1ldGFpbAorc3luIGtleXdvcmQgIGRvdFR5cGUgdGFpbGNsaXAgdGFpbGxhYmVsIHdlaWdodAorCisiIFNoYXJlZCBhdHRyaWJ1dGVzIChncmFwaHMsIG5vZGVzLCBlZGdlcykKK3N5biBrZXl3b3JkICBkb3RUeXBlIGNvbG9yCisKKyIgU2hhcmVkIGF0dHJpYnV0ZXMgKGdyYXBocyBhbmQgZWRnZXMpCitzeW4ga2V5d29yZCAgZG90VHlwZSBiZ2NvbG9yIGxhYmVsIFVSTAorCisiIFNoYXJlZCBhdHRyaWJ1dGVzIChub2RlcyBhbmQgZWRnZXMpCitzeW4ga2V5d29yZCAgZG90VHlwZSBmb250Y29sb3IgZm9udG5hbWUgZm9udHNpemUgbGF5ZXIgc3R5bGUKKworIiBTcGVjaWFsIGNoYXJzCitzeW4gbWF0Y2ggICAgZG90S2V5Q2hhciAgIj0iCitzeW4gbWF0Y2ggICAgZG90S2V5Q2hhciAgIjsiCitzeW4gbWF0Y2ggICAgZG90S2V5Q2hhciAgIi0+IgorCisiIElkZW50aWZpZXIKK3N5biBtYXRjaCAgICBkb3RJZGVudGlmaWVyIC9cPFx3XCtcPi8KKworIiBTeW5jaHJvbml6YXRpb24KK3N5biBzeW5jIG1pbmxpbmVzPTUwCitzeW4gc3luYyBtYXhsaW5lcz01MDAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZG90X3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2RvdF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBkb3RQYXJFcnIJIEVycm9yCisgIEhpTGluayBkb3RCcmFjZUVycgkgRXJyb3IKKyAgSGlMaW5rIGRvdEJyYWNrRXJyCSBFcnJvcgorCisgIEhpTGluayBkb3RDb21tZW50CSBDb21tZW50CisgIEhpTGluayBkb3RUb2RvCSBUb2RvCisKKyAgSGlMaW5rIGRvdFBhckVuY2wJIEtleXdvcmQKKyAgSGlMaW5rIGRvdEJyYWNrRW5jbAkgS2V5d29yZAorICBIaUxpbmsgZG90QnJhY2VFbmNsCSBLZXl3b3JkCisKKyAgSGlMaW5rIGRvdEtleXdvcmQJIEtleXdvcmQKKyAgSGlMaW5rIGRvdFR5cGUJIFR5cGUKKyAgSGlMaW5rIGRvdEtleUNoYXIJIEtleXdvcmQKKworICBIaUxpbmsgZG90U3RyaW5nCSBTdHJpbmcKKyAgSGlMaW5rIGRvdElkZW50aWZpZXIJIElkZW50aWZpZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZG90IgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHJhY3VsYS52aW0gYi9ydW50aW1lL3N5bnRheC9kcmFjdWxhLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTM4MDYwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZHJhY3VsYS52aW0KQEAgLTAsMCArMSw4NSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CURyYWN1bGEKKyIgTWFpbnRhaW5lcjoJU2NvdHQgQm9yZGVsb24gPHNsYkBhcnRpc2FuLmNvbT4KKyIgTGFzdCBjaGFuZ2U6ICBXZWQgQXByIDI1IDE4OjUwOjAxIFBEVCAyMDAxCisiIEV4dGVuc2lvbnM6ICAgZHJhYy4qLCouZHJhYywqLmRyYywqLmx2cywqLmxwZQorIiBDb21tZW50OiAgICAgIERyYWN1bGEgaXMgYW4gaW5kdXN0cnktc3RhbmRhcmQgbGFuZ3VhZ2UgY3JlYXRlZCBieSBDQURFTkNFIChhCisiCQljb21wYW55IHNwZWNpYWxpemluZyBpbiBFbGVjdHJvbmljcyBEZXNpZ24gQXV0b21hdGlvbiksIGZvcgorIgkJdGhlIHB1cnBvc2VzIG9mIERlc2lnbiBSdWxlIENoZWNraW5nLCBMYXlvdXQgdnMuIFNjaGVtYXRpYworIgkJdmVyaWZpY2F0aW9uLCBhbmQgTGF5b3V0IFBhcmFtZXRlciBFeHRyYWN0aW9uLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgSWdub3JlIGNhc2UKK3N5biBjYXNlIGlnbm9yZQorCisiIEEgYnVuY2ggb2YgdXNlZnVsIERyYWN1bGEga2V5d29yZHMKKworInN5biBtYXRjaCAgIGRyYWN1bGFJZGVudGlmaWVyCisKK3N5biBrZXl3b3JkIGRyYWN1bGFTdGF0ZW1lbnQgICBpbmRpc2sgcHJpbWFyeSBvdXRkaXNrIHByaW50ZmlsZSBzeXN0ZW0KK3N5biBrZXl3b3JkIGRyYWN1bGFTdGF0ZW1lbnQgICBtb2RlIHNjYWxlIHJlc29sdXRpb24gbGlzdGVycm9yIGtlZXBkYXRhCitzeW4ga2V5d29yZCBkcmFjdWxhU3RhdGVtZW50ICAgZGF0YXR5cGUgYnkgbHQgZ3Qgb3V0cHV0IGxhYmVsIHJhbmdlIHRvdWNoCitzeW4ga2V5d29yZCBkcmFjdWxhU3RhdGVtZW50ICAgaW5zaWRlIG91dHNpZGUgd2l0aGluIG92ZXJsYXAgb3V0bGliCitzeW4ga2V5d29yZCBkcmFjdWxhU3RhdGVtZW50ICAgc2NoZW1hdGljIG1vZGVsIHVuaXQgcGFyc2V0CitzeW4gbWF0Y2ggICBkcmFjdWxhU3RhdGVtZW50ICAgImZsYWctXChub240NVx8YWN1dGVhbmdsZVx8b2ZmZ3JpZFwpIgorc3luIG1hdGNoICAgZHJhY3VsYVN0YXRlbWVudCAgICJ0ZXh0LXByaS1vbmx5Igorc3luIG1hdGNoICAgZHJhY3VsYVN0YXRlbWVudCAgICJbPSZdIgorc3luIG1hdGNoICAgZHJhY3VsYVN0YXRlbWVudCAgICJcW1teLF0qXF0iCitzeW4gbWF0Y2ggICBkcmFjdWxhc3RhdGVtZW50ICAgIl4gKlwoc2VsXHx3aWR0aFx8ZXh0XHxlbmNcfGFyZWFcfHNocmlua1x8Z3Jvd1x8bGVuZ3RoXCkiCitzeW4gbWF0Y2ggICBkcmFjdWxhc3RhdGVtZW50ICAgIl4gKlwob3JcfG5vdFx8YW5kXHxzZWxlY3RcfHNpemVcfGNvbm5lY3RcfHNjb25uZWN0XHxpbnRcKSIKK3N5biBtYXRjaCAgIGRyYWN1bGFzdGF0ZW1lbnQgICAiXiAqXChzb2Z0Y2hrXHxzdGFtcFx8ZWxlbWVudFx8cGFyYXNpdGljIGNhcFx8YXR0cmlidXRlIGNhcFwpIgorc3luIG1hdGNoICAgZHJhY3VsYXN0YXRlbWVudCAgICJeICpcKGZsYWdub240NVx8bGV4dHJhY3RcfGVxdWF0aW9uXHxscGVzZWxlY3RcfGxwZWNoa1x8YXR0YWNoXCkiCitzeW4gbWF0Y2ggICBkcmFjdWxhU3RhdGVtZW50ICAgIlwodGVtcG9yYXJ5XHxjb25uZWN0XCktbGF5ZXIiCitzeW4gbWF0Y2ggICBkcmFjdWxhU3RhdGVtZW50ICAgInByb2dyYW0tZGlyIgorc3luIG1hdGNoICAgZHJhY3VsYVN0YXRlbWVudCAgICJzdGF0dXMtY29tbWFuZCIKK3N5biBtYXRjaCAgIGRyYWN1bGFTdGF0ZW1lbnQgICAiYmF0Y2gtcXVldWUiCitzeW4gbWF0Y2ggICBkcmFjdWxhU3RhdGVtZW50ICAgImNuYW1lcy1jc2VuIgorc3luIG1hdGNoICAgZHJhY3VsYVN0YXRlbWVudCAgICJmaWx0ZXItbGF5LW9wdCIKK3N5biBtYXRjaCAgIGRyYWN1bGFTdGF0ZW1lbnQgICAiZmlsdGVyLXNjaC1vcHQiCitzeW4gbWF0Y2ggICBkcmFjdWxhU3RhdGVtZW50ICAgInBvd2VyLW5vZGUiCitzeW4gbWF0Y2ggICBkcmFjdWxhU3RhdGVtZW50ICAgImdyb3VuZC1ub2RlIgorc3luIG1hdGNoICAgZHJhY3VsYVN0YXRlbWVudCAgICJzdWJja3QtbmFtZSIKKworc3luIG1hdGNoICAgZHJhY3VsYVR5cGUJCSJcKmRlc2NyaXB0aW9uIgorc3luIG1hdGNoICAgZHJhY3VsYVR5cGUJCSJcKmlucHV0LWxheWVyIgorc3luIG1hdGNoICAgZHJhY3VsYVR5cGUJCSJcKm9wZXJhdGlvbiIKK3N5biBtYXRjaCAgIGRyYWN1bGFUeXBlCQkiXCplbmQiCisKK3N5biBtYXRjaCAgIGRyYWN1bGFDb21tZW50ICI7LioiCisKK3N5biBtYXRjaCAgIGRyYWN1bGFQcmVQcm9jICJeIy4qIgorCisiTW9kaWZ5IHRoZSBmb2xsb3dpbmcgYXMgbmVlZGVkLiAgVGhlIHRyYWRlLW9mZiBpcyBwZXJmb3JtYW5jZSB2ZXJzdXMKKyJmdW5jdGlvbmFsaXR5Lgorc3luIHN5bmMgbGluZXM9NTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHJhY3VsYV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9kcmFjdWxhX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGRyYWN1bGFJZGVudGlmaWVyIElkZW50aWZpZXIKKyAgSGlMaW5rIGRyYWN1bGFTdGF0ZW1lbnQgIFN0YXRlbWVudAorICBIaUxpbmsgZHJhY3VsYVR5cGUgICAgICAgVHlwZQorICBIaUxpbmsgZHJhY3VsYUNvbW1lbnQgICAgQ29tbWVudAorICBIaUxpbmsgZHJhY3VsYVByZVByb2MgICAgUHJlUHJvYworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkcmFjdWxhIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHNsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RzbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIzY2I1NgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2RzbC52aW0KQEAgLTAsMCArMSwzOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CURTU1NMCisiIE1haW50YWluZXI6CUpvaGFubmVzIFplbGxuZXIgPGpvaGFubmVzQHplbGxuZXIub3JnPgorIiBMYXN0IENoYW5nZToJVHVlLCAyNyBBcHIgMjAwNCAxNDo1NDo1OSBDRVNUCisiIEZpbGVuYW1lczoJKi5kc2wKKyIgJElkJAorCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKSB8IGZpbmlzaCB8IGVuZGlmCisKK3J1bnRpbWUgc3ludGF4L3htbC52aW0KK3N5biBjbHVzdGVyIHhtbFJlZ2lvbkhvb2sgYWRkPWRzbFJlZ2lvbixkc2xDb21tZW50CitzeW4gY2x1c3RlciB4bWxDb21tZW50SG9vayBhZGQ9ZHNsQ29uZAorCisiIEVYQU1QTEU6CisiICAgPCFbICVvdXRwdXQuaHRtbDsgWworIiAgICAgPCEtLSBzb21lIGNvbW1lbnQgLS0+CisiICAgICAoZGVmaW5lIGh0bWwtbWFuaWZlc3QgI2YpCisiICAgXV0+CisiCisiIE5PVEU6ICdjb250YWlucycgdGhlIHNhbWUgYXMgeG1sUmVnaW9uLCBleGNlcHQgeG1sVGFnIC8geG1sRW5kVGFnCitzeW4gcmVnaW9uICBkc2xDb25kIG1hdGNoZ3JvdXA9ZHNsQ29uZERlbGltIHN0YXJ0PSJcW1xfW15bXVwrXFsiIGVuZD0iXV0iIGNvbnRhaW5zPXhtbENkYXRhLEB4bWxSZWdpb25DbHVzdGVyLHhtbENvbW1lbnQseG1sRW50aXR5LHhtbFByb2Nlc3NpbmcsQHhtbFJlZ2lvbkhvb2sKKworIiBOT1RFLCB0aGF0IGRzbFJlZ2lvbiBhbmQgZHNsQ29tbWVudCBkbyBib3RoIE5PVCBoYXZlIGEgJ2NvbnRhaW5lZCcKKyIgYXJndW1lbnQsIHNvIHRoaXMgd2lsbCBhbHNvIHdvcmsgaW4gcGxhaW4gZHNzc2wgZG9jdW1lbnRzLgorCitzeW4gcmVnaW9uIGRzbFJlZ2lvbiBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0rKCsgZW5kPSspKyBjb250YWlucz1kc2xSZWdpb24sZHNsU3RyaW5nLGRzbENvbW1lbnQKK3N5biBtYXRjaCBkc2xTdHJpbmcgKyJcX1teIl0qIisgY29udGFpbmVkCitzeW4gbWF0Y2ggZHNsQ29tbWVudCArOy4qJCsgY29udGFpbnM9ZHNsVG9kbworc3luIGtleXdvcmQgZHNsVG9kbyBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggZGlzcGxheQorCisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK2hpIGRlZiBsaW5rIGRzbFRvZG8JCVRvZG8KK2hpIGRlZiBsaW5rIGRzbFN0cmluZwkJU3RyaW5nCitoaSBkZWYgbGluayBkc2xDb21tZW50CQlDb21tZW50CisiIGNvbXBhcmUgdGhlIGZvbGxvd2luZyB3aXRoIHhtbENkYXRhU3RhcnQgLyB4bWxDZGF0YUVuZAoraGkgZGVmIGxpbmsgZHNsQ29uZERlbGltCVR5cGUKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZHNsIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHRkLnZpbSBiL3J1bnRpbWUvc3ludGF4L2R0ZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY4MGUxOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2R0ZC52aW0KQEAgLTAsMCArMSwxODEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglEVEQgKERvY3VtZW50IFR5cGUgRGVmaW5pdGlvbiBmb3IgWE1MKQorIiBNYWludGFpbmVyOglKb2hhbm5lcyBaZWxsbmVyIDxqb2hhbm5lc0B6ZWxsbmVyLm9yZz4KKyIJCUF1dGhvciBhbmQgcHJldmlvdXMgbWFpbnRhaW5lcjoKKyIJCURhbmllbCBBbXlvdCA8ZGFteW90QHNpdGUudW90dGF3YS5jYT4KKyIgTGFzdCBDaGFuZ2U6CVR1ZSwgMjcgQXByIDIwMDQgMTQ6NTQ6NTkgQ0VTVAorIiBGaWxlbmFtZXM6CSouZHRkCisiCisiIFJFRkVSRU5DRVM6CisiICAgaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQwLworIiAgIGh0dHA6Ly93d3cudzMub3JnL1RSL05PVEUtaHRtbC05NzA0MjEKKyIKKyIgVE9ETzoKKyIgICAtIGltcHJvdmUgc3luY2hyb25pemluZy4KKworaWYgdmVyc2lvbiA8IDYwMAorICAgIHN5bnRheCBjbGVhcgorICAgIGxldCBfX2R0ZF9jcG9fc2F2ZV9fID0gJmNwbworICAgIHNldCBjcG8mCitlbHNlCisgICAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwlmaW5pc2gKKyAgICBlbmRpZgorICAgIGxldCBzOmR0ZF9jcG9fc2F2ZSA9ICZjcG8KKyAgICBzZXQgY3BvJnZpbQorZW5kaWYKKworaWYgIWV4aXN0cygiZHRkX2lnbm9yZV9jYXNlIikKKyAgICAiIEkgcHJlZmVyIGhhdmluZyB0aGUgY2FzZSB0YWtlcyBpbnRvIGNvbnNpZGVyYXRpb24uCisgICAgc3luIGNhc2UgbWF0Y2gKK2Vsc2UKKyAgICBzeW4gY2FzZSBpZ25vcmUKK2VuZGlmCisKKworIiB0aGUgZm9sbG93aW5nIGxpbmUgbWFrZXMgdGhlIG9wZW5pbmcgPCEgYW5kCisiIGNsb3NpbmcgPiBoaWdobGlnaHRlZCB1c2luZyAnZHRkRnVuY3Rpb24nLgorIgorIiBQUk9WSURFUzogQGR0ZFRhZ0hvb2sKKyIKK3N5biByZWdpb24gZHRkVGFnIG1hdGNoZ3JvdXA9ZHRkRnVuY3Rpb24KKyAgICBcIHN0YXJ0PSs8ISsgZW5kPSs+KyBtYXRjaGdyb3VwPU5PTkUKKyAgICBcIGNvbnRhaW5zPWR0ZFRhZyxkdGRUYWdOYW1lLGR0ZEVycm9yLGR0ZENvbW1lbnQsZHRkU3RyaW5nLGR0ZEF0dHJUeXBlLGR0ZEF0dHJEZWYsZHRkRW51bSxkdGRQYXJhbUVudGl0eUluc3QsZHRkUGFyYW1FbnRpdHlEZWNsLGR0ZENhcmQsQGR0ZFRhZ0hvb2sKKworaWYgIWV4aXN0cygiZHRkX25vX3RhZ19lcnJvcnMiKQorICAgICIgbWFyayBldmVyeXRoaW5nIGFzIGFuIGVycm9yIHdoaWNoIHN0YXJ0cyB3aXRoIGEgPCEKKyAgICAiIGFuZCBpcyBub3Qgb3ZlcnJpZGRlbiBsYXRlci4gSWYgdGhpcyBpcyBhbm5veWluZywKKyAgICAiIGl0IGNhbiBiZSBzd2l0Y2hlZCBvZmYgYnkgc2V0dGluZyB0aGUgdmFyaWFibGUKKyAgICAiIGR0ZF9ub190YWdfZXJyb3JzLgorICAgIHN5biByZWdpb24gZHRkRXJyb3IgY29udGFpbmVkIHN0YXJ0PSs8IStsYz0yIGVuZD0rPisKK2VuZGlmCisKKyIgaWYgdGhpcyBpcyBhIGh0bWwgbGlrZSBjb21tZW50IGhpZ2h0bGlnaHQgYWxzbworIiB0aGUgb3BlbmluZyA8ISBhbmQgdGhlIGNsb3NpbmcgPiBhcyBDb21tZW50Lgorc3luIHJlZ2lvbiBkdGRDb21tZW50CQlzdGFydD0rPCFbIFx0XSotLSsgZW5kPSstLT4rIGNvbnRhaW5zPWR0ZFRvZG8KKworCisiIHByb3BlciBEVEQgY29tbWVudAorc3luIHJlZ2lvbiBkdGRDb21tZW50IGNvbnRhaW5lZCBzdGFydD0rLS0rIGVuZD0rLS0rIGNvbnRhaW5zPWR0ZFRvZG8KKworCisiIFN0YXJ0IHRhZ3MgKGtleXdvcmRzKS4gVGhpcyBpcyBjb250YWluZWQgaW4gZHRkRnVuY3Rpb24uCisiIE5vdGUgdGhhdCBldmVyeXRoaW5nIG5vdCBjb250YWluZWQgaGVyZSB3aWxsIGJlIG1hcmtlZAorIiBhcyBlcnJvci4KK3N5biBtYXRjaCBkdGRUYWdOYW1lIGNvbnRhaW5lZCArPCFcKEFUVExJU1RcfERPQ1RZUEVcfEVMRU1FTlRcfEVOVElUWVx8Tk9UQVRJT05cfFNIT1JUUkVGXHxVU0VNQVBcfFxbXCkrbGM9Mixocz1zKzIKKworCisiIHdpbGRjYXJkcyBhbmQgb3BlcmF0b3JzCitzeW4gbWF0Y2ggIGR0ZENhcmQgY29udGFpbmVkICJ8Igorc3luIG1hdGNoICBkdGRDYXJkIGNvbnRhaW5lZCAiLCIKKyIgZXZlbnV0YWxseSBvdmVycmlkZGVuIGJ5IGR0ZEVudGl0eQorc3luIG1hdGNoICBkdGRDYXJkIGNvbnRhaW5lZCAiJiIKK3N5biBtYXRjaCAgZHRkQ2FyZCBjb250YWluZWQgIj8iCitzeW4gbWF0Y2ggIGR0ZENhcmQgY29udGFpbmVkICJcKiIKK3N5biBtYXRjaCAgZHRkQ2FyZCBjb250YWluZWQgIisiCisKKyIgLi4uYW5kIGZpbmFsbHksIHNwZWNpYWwgY2FzZXMuCitzeW4gbWF0Y2ggIGR0ZENhcmQgICAgICAiQU5ZIgorc3luIG1hdGNoICBkdGRDYXJkICAgICAgIkVNUFRZIgorCitpZiAhZXhpc3RzKCJkdGRfbm9fcGFyYW1fZW50aXRpZXMiKQorCisgICAgIiBoaWdobGlnaHQgcGFyYW1ldGVyIGVudGl0eSBkZWNsYXJhdGlvbnMKKyAgICAiIGFuZCBpbnN0YW5jZXMuIE5vdGUgdGhhdCB0aGUgY2xvc2luZyBgOycKKyAgICAiIGlzIG9wdGlvbmFsLgorCisgICAgIiBpbnN0YW5jZXMKKyAgICBzeW4gcmVnaW9uIGR0ZFBhcmFtRW50aXR5SW5zdCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZHRkUGFyYW1FbnRpdHlQdW5jdAorCVwgc3RhcnQ9IiVbLV9hLXpBLVowLTkuXVwrImhlPXMrMSxycz1zKzEKKwlcIHNraXA9K1stX2EtekEtWjAtOS5dKworCVwgZW5kPSI7XHxcPiIKKwlcIG1hdGNoZ3JvdXA9Tk9ORSBjb250YWlucz1kdGRQYXJhbUVudGl0eVB1bmN0CisgICAgc3luIG1hdGNoICBkdGRQYXJhbUVudGl0eVB1bmN0IGNvbnRhaW5lZCAiXC4iCisKKyAgICAiIGRlY2xhcmF0aW9ucworICAgICIgc3luIHJlZ2lvbiBkdGRQYXJhbUVudGl0eURlY2wgb25lbGluZSBtYXRjaGdyb3VwPWR0ZFBhcmFtRW50aXR5RFB1bmN0IHN0YXJ0PSs8IUVOVElUWSAlICtsYz04IHNraXA9K1stX2EtekEtWjAtOS5dKyBtYXRjaGdyb3VwPU5PTkUgZW5kPSJcPiIgY29udGFpbnM9ZHRkUGFyYW1FbnRpdHlEUHVuY3QKKyAgICBzeW4gbWF0Y2ggZHRkUGFyYW1FbnRpdHlEZWNsICs8IUVOVElUWSAlIFstX2EtekEtWjAtOS5dKitsYz04IGNvbnRhaW5zPWR0ZFBhcmFtRW50aXR5RFB1bmN0CisgICAgc3luIG1hdGNoICBkdGRQYXJhbUVudGl0eURQdW5jdCBjb250YWluZWQgIiVcfFwuIgorCitlbmRpZgorCisiICZlbnRpdGllczsgY29tcGFyZSB3aXRoIHhtbAorc3luIG1hdGNoICAgZHRkRW50aXR5CQkgICAgICAiJlteOyBcdF0qOyIgY29udGFpbnM9ZHRkRW50aXR5UHVuY3QKK3N5biBtYXRjaCAgIGR0ZEVudGl0eVB1bmN0ICBjb250YWluZWQgIlsmLjtdIgorCisiIFN0cmluZ3MgYXJlIGJldHdlZW4gcXVvdGVzCitzeW4gcmVnaW9uIGR0ZFN0cmluZyAgICBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKyBjb250YWlucz1kdGRBdHRyRGVmLGR0ZEF0dHJUeXBlLGR0ZEVudW0sZHRkUGFyYW1FbnRpdHlJbnN0LGR0ZEVudGl0eSxkdGRDYXJkCitzeW4gcmVnaW9uIGR0ZFN0cmluZyAgICBzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyAgZW5kPSsnKyBjb250YWlucz1kdGRBdHRyRGVmLGR0ZEF0dHJUeXBlLGR0ZEVudW0sZHRkUGFyYW1FbnRpdHlJbnN0LGR0ZEVudGl0eSxkdGRDYXJkCisKKyIgRW51bWVyYXRpb24gb2YgZWxlbWVudHMgb3IgZGF0YSBiZXR3ZWVuIHBhcmVudGhlc2lzCisiCisiIFBST1ZJREVTOiBAZHRkRW51bUhvb2sKKyIKK3N5biByZWdpb24gZHRkRW51bSBtYXRjaGdyb3VwPWR0ZFR5cGUgc3RhcnQ9IigiIGVuZD0iKSIgbWF0Y2hncm91cD1OT05FIGNvbnRhaW5zPWR0ZEVudW0sZHRkUGFyYW1FbnRpdHlJbnN0LGR0ZENhcmQsQGR0ZEVudW1Ib29rCisKKyJBdHRyaWJ1dGUgdHlwZXMKK3N5biBrZXl3b3JkIGR0ZEF0dHJUeXBlIE5NVE9LRU4gIEVOVElUSUVTICBOTVRPS0VOUyAgSUQgIENEQVRBCitzeW4ga2V5d29yZCBkdGRBdHRyVHlwZSBJRFJFRiAgSURSRUZTCisiIEVOVElUWSBoYXMgdG8gdHJlYXRlZCBzcGVjaWFsIGZvciBub3Qgb3ZlcnJpZGluZyA8IUVOVElUWQorc3luIG1hdGNoICAgZHRkQXR0clR5cGUgK1teIV1cPEVOVElUWSsKKworIkF0dHJpYnV0ZSBEZWZpbml0aW9ucworc3luIG1hdGNoICBkdGRBdHRyRGVmICAgIiNSRVFVSVJFRCIKK3N5biBtYXRjaCAgZHRkQXR0ckRlZiAgICIjSU1QTElFRCIKK3N5biBtYXRjaCAgZHRkQXR0ckRlZiAgICIjRklYRUQiCisKK3N5biBjYXNlIG1hdGNoCisiIGRlZmluZSBzb21lIGNvbW1vbiBrZXl3b3JkcyB0byBtYXJrIFRPRE8KKyIgYW5kIGltcG9ydGFudCBzZWN0aW9ucyBpbnNpZGUgY29tbWVudHMuCitzeW4ga2V5d29yZCBkdGRUb2RvIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWAorCitzeW4gc3luYyBsaW5lcz0yNTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHRkX3N5bl9pbml0cyIpCisgICAgaWYgdmVyc2lvbiA8IDUwOAorCWxldCBkaWRfZHRkX3N5bl9pbml0cyA9IDEKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICAgIGVsc2UKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgICBlbmRpZgorCisgICAgIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisgICAgSGlMaW5rIGR0ZEZ1bmN0aW9uCQlGdW5jdGlvbgorICAgIEhpTGluayBkdGRUYWcJCU5vcm1hbAorICAgIEhpTGluayBkdGRUeXBlCQlUeXBlCisgICAgSGlMaW5rIGR0ZEF0dHJUeXBlCQlkdGRUeXBlCisgICAgSGlMaW5rIGR0ZEF0dHJEZWYJCWR0ZFR5cGUKKyAgICBIaUxpbmsgZHRkQ29uc3RhbnQJCUNvbnN0YW50CisgICAgSGlMaW5rIGR0ZFN0cmluZwkJZHRkQ29uc3RhbnQKKyAgICBIaUxpbmsgZHRkRW51bQkJZHRkQ29uc3RhbnQKKyAgICBIaUxpbmsgZHRkQ2FyZAkJZHRkRnVuY3Rpb24KKworICAgIEhpTGluayBkdGRFbnRpdHkJCVN0YXRlbWVudAorICAgIEhpTGluayBkdGRFbnRpdHlQdW5jdAlkdGRUeXBlCisgICAgSGlMaW5rIGR0ZFBhcmFtRW50aXR5SW5zdAlkdGRDb25zdGFudAorICAgIEhpTGluayBkdGRQYXJhbUVudGl0eVB1bmN0CWR0ZFR5cGUKKyAgICBIaUxpbmsgZHRkUGFyYW1FbnRpdHlEZWNsCWR0ZFR5cGUKKyAgICBIaUxpbmsgZHRkUGFyYW1FbnRpdHlEUHVuY3QgZHRkQ29tbWVudAorCisgICAgSGlMaW5rIGR0ZENvbW1lbnQJCUNvbW1lbnQKKyAgICBIaUxpbmsgZHRkVGFnTmFtZQkJU3RhdGVtZW50CisgICAgSGlMaW5rIGR0ZEVycm9yCQlFcnJvcgorICAgIEhpTGluayBkdGRUb2RvCQlUb2RvCisKKyAgICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworaWYgdmVyc2lvbiA8IDYwMAorICAgIGxldCAmY3BvID0gX19kdGRfY3BvX3NhdmVfXworICAgIHVubGV0IF9fZHRkX2Nwb19zYXZlX18KK2Vsc2UKKyAgICBsZXQgJmNwbyA9IHM6ZHRkX2Nwb19zYXZlCisgICAgdW5sZXQgczpkdGRfY3BvX3NhdmUKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImR0ZCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2R0bWwudmltIGIvcnVudGltZS9zeW50YXgvZHRtbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RlNzIyYQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2R0bWwudmltCkBAIC0wLDAgKzEsMjI1IEBACisiIERUTUwgc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQkJWm9wZSdzIER5bmFtaWMgVGVtcGxhdGUgTWFya3VwIExhbmd1YWdlCisiIE1haW50YWluZXI6CSAgICBKZWFuIEpvcmRhYW4gPGplYW5AdXBmcm9udHN5c3RlbXMuY28uemE+IChuamopCisiIExhc3QgY2hhbmdlOgkgICAgMjAwMSBTZXAgMDIKKworIiBUaGVzZSBhcmUgdXNlZCB3aXRoIENsYXVkaW8gRmxlaW5lcidzIGh0bWwudmltIGluIHRoZSBzdGFuZGFyZCBkaXN0cmlidXRpb24uCisiCisiIFN0aWxsIHZlcnkgaGFja2lzaC4gVGhlICdkdG1sIGF0dHJpYnV0ZXMnIGFuZCAnZHRtbCBtZXRob2RzJyBoYXZlIGJlZW4KKyIgaGFja2VkIG91dCBvZiB0aGUgWm9wZSBRdWljayBSZWZlcmVuY2UgaW4gY2FzZSBzb21lb25lIGZpbmRzIHNvbWV0aGluZworIiBzZW5zaWJsZSB0byBkbyB3aXRoIHRoZW0uIEkgY2VydGFpbmx5IGhhdmVuJ3QuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBGaXJzdCBsb2FkIHRoZSBIVE1MIHN5bnRheAoraWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvaHRtbC52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCisiIFRoaXMgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QuICBEb2VzIGl0IG5lZWQgdG8gYmUgbW92ZWQgdG8gYWJvdmUvCisiIGlmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyIgICBsZXQgbWFpbl9zeW50YXggPSAnZHRtbCcKKyIgZW5kaWYKKworIiBkdG1sIGF0dHJpYnV0ZXMKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgYWNfaW5oZXJpdGVkX3Blcm1pc3Npb25zIGFjY2Vzc19kZWJ1Z19pbmZvIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBhY3F1aXJlZFJvbGVzQXJlVXNlZEJ5IGFsbF9tZXRhX3R5cGVzIGFzc3VtZV9jaGlsZHJlbiBBVVRIX1RZUEUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIEFVVEhFTlRJQ0FURURfVVNFUiBBVVRIRU5USUNBVElPTl9QQVRIIEJBU0UwIGJhdGNoLWVuZC1pbmRleCBiYXRjaC1zaXplIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBiYXRjaC1zdGFydC1pbmRleCBib2JvYmFzZV9tb2RpZmljYXRpb25fdGltZSBib3VuZGFyeSBicmFuY2hlcyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgYnJhbmNoZXNfZXhwciBjYXBpdGFsaXplIGNiX2RhdGFJdGVtcyBjYl9kYXRhVmFsaWQgY2JfaXNDb3B5YWJsZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgY2JfaXNNb3ZlYWJsZSBjaGFuZ2VDbGFzc0lkIGNsYXNzRGVmaW5lZEFuZEluaGVyaXRlZFBlcm1pc3Npb25zIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBjbGFzc0RlZmluZWRQZXJtaXNzaW9ucyBjbGFzc0luaGVyaXRlZFBlcm1pc3Npb25zIGNvbGxhcHNlLWFsbCBjb2x1bW4gY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIGNvbm5lY3RlZCBjb25uZWN0aW9uSXNWYWxpZCBDT05URU5UX0xFTkdUSCBDT05URU5UX1RZUEUgY29vayBjb29raWVzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBDT1BZIGNvdW50LSBjcmVhdGVJbk9iamVjdE1hbmFnZXIgZGFfaGFzX3NpbmdsZV9hcmd1bWVudCBkYXZfX2FsbHByb3AgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIGRhdl9faW5pdCBkYXZfX3Byb3BuYW1lcyBkYXZfX3Byb3BzdGF0IGRhdl9fdmFsaWRhdGUgZGVmYXVsdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgZGVsQ2xhc3NBdHRyIERFTEVURSBEZXN0aW5hdGlvbiBEZXN0aW5hdGlvblVSTCBkaWdpdHMgZGlzY2FyZCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgZGlzcG9zaXRpb24gZG9jdW1lbnRfc3JjIGUgZW5jb2RlIGVudGVyIGV0YyBleHBhbmQtYWxsIGV4cHIgRmlsZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgZmlsdGVyZWRfbWFuYWdlX29wdGlvbnMgZmlsdGVyZWRfbWV0YV90eXBlcyBmaXJzdC0gZm10IGZvb3RlciBmb3JtIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBHQVRFV0FZX0lOVEVSRkFDRSBnZXRfbG9jYWxfcm9sZXMgZ2V0X2xvY2FsX3JvbGVzX2Zvcl91c2VyaWQgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIGdldF9yZXF1ZXN0X3Zhcl9vcl9hdHRyIGdldF9zaXplIGdldF9zaXplIGdldF92YWxpZF91c2VyaWRzIGdldEF0dHJpYnV0ZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgZ2V0QXR0cmlidXRlTm9kZSBnZXRBdHRyaWJ1dGVzIGdldENoaWxkTm9kZXMgZ2V0Q2xhc3NBdHRyIGdldENvbnRlbnRUeXBlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBnZXREYXRhIGdldERvY1R5cGUgZ2V0RG9jdW1lbnRFbGVtZW50IGdldEVsZW1lbnRzQnlUYWdOYW1lIGdldEZpcnN0Q2hpbGQgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIGdldEltcGxlbWVudGF0aW9uIGdldExhc3RDaGlsZCBnZXRMZW5ndGggZ2V0TmFtZSBnZXROZXh0U2libGluZyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgZ2V0Tm9kZU5hbWUgZ2V0Tm9kZVR5cGUgZ2V0Tm9kZVZhbHVlIGdldE93bmVyRG9jdW1lbnQgZ2V0UGFyZW50Tm9kZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgZ2V0UHJldmlvdXNTaWJsaW5nIGdldFByb3BlcnR5IGdldFByb3BlcnR5VHlwZSBnZXRTaXplIGdldFNpemUgZ2V0U2l6ZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgZ2V0X3NpemUgZ2V0VGFnTmFtZSBnZXRVc2VyIGdldFVzZXJOYW1lIGdldFVzZXJOYW1lcyBnZXRVc2VycyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgaGFzX2xvY2FsX3JvbGVzIGhhc0NoaWxkTm9kZXMgaGFzUHJvcGVydHkgSEVBRCBoZWFkZXIgaGV4ZGlnaXRzIEhUTUwgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIGh0bWxfcXVvdGUgSFRNTEZpbGUgaWQgaW5kZXhfaHRtbCBpbmRleF9vYmplY3RzIGluZGV4ZXMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIGluaGVyaXRlZEF0dHJpYnV0ZSBpdGVtcyBsYXN0LSBsZWF2ZSBsZWF2ZV9hbm90aGVyIGxlYXZlcyBsZXR0ZXJzIExPQ0sgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIGxvY2tlZF9pbl92ZXJzaW9uIGxvd2VyIGxvd2VyY2FzZSBtYWlsZnJvbSBtYWlsaG9zdCBtYWlsaG9zdF9saXN0IG1haWx0byBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbWFuYWdlIG1hbmFnZV8gbWV0aG9kcyBtYW5hZ2VfYWNjZXNzIG1hbmFnZV9hY3F1aXJlZFBlcm1pc3Npb25zIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBtYW5hZ2VfYWRkQ29uZmVyYVRvcGljIG1hbmFnZV9hZGREb2N1bWVudCBtYW5hZ2VfYWRkRFRNTERvY3VtZW50IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBtYW5hZ2VfYWRkRFRNTE1ldGhvZCBtYW5hZ2VfYWRkRmlsZSBtYW5hZ2VfYWRkRm9sZGVyIG1hbmFnZV9hZGRJbWFnZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbWFuYWdlX2FkZExvY2FsUm9sZXMgbWFuYWdlX2FkZE1haWxIb3N0IG1hbmFnZV9hZGRQZXJtaXNzaW9uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBtYW5hZ2VfYWRkUHJpbmNpcGlhRmFjdG9yeSBtYW5hZ2VfYWRkUHJvZHVjdCBtYW5hZ2VfYWRkUHJvcGVydHkgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIG1hbmFnZV9hZGRVc2VyRm9sZGVyIG1hbmFnZV9hZGRaQ2xhc3MgbWFuYWdlX2FkZFpHYWRmbHlDb25uZWN0aW9uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBtYW5hZ2VfYWRkWkdhZGZseUNvbm5lY3Rpb25Gb3JtIG1hbmFnZV9hZHZhbmNlZCBtYW5hZ2VfYWZ0ZXJBZGQgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIG1hbmFnZV9hZnRlckNsb25lIG1hbmFnZV9iZWZvcmVEZWxldGUgbWFuYWdlX2NoYW5nZVBlcm1pc3Npb25zIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBtYW5hZ2VfY2hhbmdlUHJvcGVydGllcyBtYW5hZ2VfY2xvbmUgbWFuYWdlX0NvcHlDb250YWluZXJGaXJzdEl0ZW0gY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIG1hbmFnZV9jb3B5T2JqZWN0cyBtYW5hZ2VfY3V0T2JqZWN0cyBtYW5hZ2VfZGVmaW5lZF9yb2xlcyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbWFuYWdlX2RlbExvY2FsUm9sZXMgbWFuYWdlX2RlbE9iamVjdHMgbWFuYWdlX2RlbFByb3BlcnRpZXMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIG1hbmFnZV9kaXN0cmlidXRlIG1hbmFnZV9lZGl0IG1hbmFnZV9lZGl0ZWREaWFsb2cgbWFuYWdlX2VkaXRQcm9wZXJ0aWVzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBtYW5hZ2VfZWRpdFJvbGVzIG1hbmFnZV9leHBvcnRPYmplY3QgbWFuYWdlX0ZUUGdldCBtYW5hZ2VfRlRQbGlzdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbWFuYWdlX0ZUUHN0YXQgbWFuYWdlX2dldF9wcm9kdWN0X3JlYWRtZV9fIG1hbmFnZV9nZXRQZXJtaXNzaW9uTWFwcGluZyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbWFuYWdlX2hhdmVQcm94eSBtYW5hZ2VfaGVscCBtYW5hZ2VfaW1wb3J0T2JqZWN0IG1hbmFnZV9saXN0TG9jYWxSb2xlcyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbWFuYWdlX29wdGlvbnMgbWFuYWdlX3Bhc3RlT2JqZWN0cyBtYW5hZ2VfcGVybWlzc2lvbiBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbWFuYWdlX3Byb3BlcnRpZXNGb3JtIG1hbmFnZV9wcm94eSBtYW5hZ2VfcmVuYW1lT2JqZWN0IG1hbmFnZV9yb2xlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBtYW5hZ2Vfc2V0TG9jYWxSb2xlcyBtYW5hZ2Vfc2V0UGVybWlzc2lvbk1hcHBpbmcgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIG1hbmFnZV9zdWJjbGFzc2FibGVDbGFzc05hbWVzIG1hbmFnZV90ZXN0IG1hbmFnZV90ZXN0Rm9ybSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbWFuYWdlX3VuZG9fdHJhbnNhY3Rpb25zIG1hbmFnZV91cGxvYWQgbWFuYWdlX3VzZXJzIG1hbmFnZV93b3Jrc3BhY2UgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIG1hbmFnZW1lbnRfaW50ZXJmYWNlIG1hcHBpbmcgbWF0aCBtYXgtIG1lYW4tIG1lZGlhbi0gbWV0YV90eXBlIG1pbi0gY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIE1LQ09MIG1vZGlmaWVkX2luX3ZlcnNpb24gTU9WRSBtdWx0aXBsZSBuYW1lIG5hdmlnYXRlX2ZpbHRlciBuZXdfdmVyc2lvbiBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgbmV3bGluZV90b19iciBuZXh0IG5leHQtYmF0Y2hlcyBuZXh0LXNlcXVlbmNlIG5leHQtc2VxdWVuY2UtZW5kLWluZGV4IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBuZXh0LXNlcXVlbmNlLXNpemUgbmV4dC1zZXF1ZW5jZS1zdGFydC1pbmRleCBubyBtYW5hZ2VfYWNjZXNzIE5vbmUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIG5vbmVtcHR5IG5vcm1hbGl6ZSBub3dyYXAgbnVsbCBPYmplY3QgTWFuYWdlciBvYmplY3RJZHMgb2JqZWN0SXRlbXMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIG9iamVjdE1hcCBvYmplY3RWYWx1ZXMgb2N0ZGlnaXRzIG9ubHkgb3B0aW9uYWwgT1BUSU9OUyBvcnBoYW4gb3ZlcmxhcCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgUEFSRU5UUyBQQVRIX0lORk8gUEFUSF9UUkFOU0xBVEVEIHBlcm1pc3Npb25fc2V0dGluZ3MgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHBlcm1pc3Npb25NYXBwaW5nUG9zc2libGVWYWx1ZXMgcGVybWlzc2lvbnNPZlJvbGUgcGkgcG9ydCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgcG9zc2libGVfcGVybWlzc2lvbnMgcHJldmlvdXMgcHJldmlvdXMtYmF0Y2hlcyBwcmV2aW91cy1zZXF1ZW5jZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgcHJldmlvdXMtc2VxdWVuY2UtZW5kLWluZGV4IHByZXZpb3VzLXNlcXVlbmNlLXNpemUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHByZXZpb3VzLXNlcXVlbmNlLXN0YXJ0LWluZGV4IFByaW5jaXBpYUZpbmQgUHJpbmNpcGlhU2VhcmNoU291cmNlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBwcm9wZGljdCBwcm9wZXJ0eUlkcyBwcm9wZXJ0eUl0ZW1zIHByb3BlcnR5TGFiZWwgcHJvcGVydHlNYXAgcHJvcGVydHlNYXAgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHByb3BlcnR5VmFsdWVzIFBST1BGSU5EIFBST1BQQVRDSCBQVVQgcXVlcnlfZGF5IHF1ZXJ5X21vbnRoIFFVRVJZX1NUUklORyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgcXVlcnlfeWVhciBxdW90ZWRfaW5wdXQgcXVvdGVkX3JlcG9ydCByYWlzZV9zdGFuZGFyZEVycm9yTWVzc2FnZSByYW5kb20gY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHJlYWQgcmVhZF9yYXcgUkVNT1RFX0FERFIgUkVNT1RFX0hPU1QgUkVNT1RFX0lERU5UIFJFTU9URV9VU0VSIFJFUVVFU1QgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIFJFUVVFU1RFRF9NRVRIT0QgcmVxdWlyZWQgUkVTUE9OU0UgcmV2ZXJzZSByb2xlc09mUGVybWlzc2lvbiBzYXZlIHNjaGVtYSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgU0NSSVBUX05BTUUgc2VxdWVuY2UtZW5kIHNlcXVlbmNlLWV2ZW4gc2VxdWVuY2UtaW5kZXggY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHNlcXVlbmNlLWluZGV4LXZhci0gc2VxdWVuY2UtaXRlbSBzZXF1ZW5jZS1rZXkgc2VxdWVuY2UtTGV0dGVyIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBzZXF1ZW5jZS1sZXR0ZXIgc2VxdWVuY2UtbnVtYmVyIHNlcXVlbmNlLW9kZCBzZXF1ZW5jZS1xdWVyeSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgc2VxdWVuY2Utcm9tYW4gc2VxdWVuY2UtUm9tYW4gc2VxdWVuY2Utc3RhcnQgc2VxdWVuY2Utc3RlcC1lbmQtaW5kZXggY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHNlcXVlbmNlLXN0ZXAtc2l6ZSBzZXF1ZW5jZS1zdGVwLXN0YXJ0LWluZGV4IHNlcXVlbmNlLXZhci0gU0VSVkVSX05BTUUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIFNFUlZFUl9QT1JUIFNFUlZFUl9QUk9UT0NPTCBTRVJWRVJfU09GVFdBUkUgc2V0Q2xhc3NBdHRyIHNldE5hbWUgc2luZ2xlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBzaXplIHNraXBfdW5hdXRob3JpemVkIHNtdHBob3N0IHNvcnQgc3BhY2lmeSBzcWxfcXVvdGUgU1FMQ29ubmVjdGlvbklEcyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgc3RhbmRhcmQtZGV2aWF0aW9uLSBzdGFuZGFyZC1kZXZpYXRpb24tbi0gc3RhbmRhcmRfaHRtbF9mb290ZXIgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHN0YW5kYXJkX2h0bWxfaGVhZGVyIHN0YXJ0IFN0cmluZyBzdHJpbmcgc3ViamVjdCBTdWJUZW1wbGF0ZSBzdXBlclZhbHVlcyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgdGFic19wYXRoX2luZm8gdGFnIHRlc3RfdXJsXyB0ZXh0X2NvbnRlbnQgdGhpcyB0aG91c2FuZHNfY29tbWFzIHRpdGxlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSB0aXRsZV9hbmRfaWQgdGl0bGVfb3JfaWQgdG90YWwtIHRwVVJMIHRwVmFsdWVzIFRSQUNFIHRyYW5zbGF0ZSB0cmVlLWMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHRyZWUtY29sc3BhbiB0cmVlLWUgdHJlZS1pdGVtLWV4cGFuZGVkIHRyZWUtaXRlbS11cmwgdHJlZS1sZXZlbCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgdHJlZS1yb290LXVybCB0cmVlLXMgdHJlZS1zdGF0ZSB0eXBlIHVuZG9hYmxlX3RyYW5zYWN0aW9ucyBVTkxPQ0sgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHVwZGF0ZV9kYXRhIHVwcGVyIHVwcGVyY2FzZSB1cmwgdXJsX3F1b3RlIFVSTG4gdXNlcl9uYW1lcyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgdXNlcmRlZmluZWRfcm9sZXMgdmFsaWRfcHJvcGVydHlfaWQgdmFsaWRfcm9sZXMgdmFsaWRhdGVfcm9sZXMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sQXR0cmlidXRlIHZhbGlkQ2xpcERhdGEgdmFsaWRSb2xlcyB2YWx1ZXMgdmFyaWFuY2UtIHZhcmlhbmNlLW4tIHZpZXdfaW1hZ2Vfb3JfZmlsZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxBdHRyaWJ1dGUgd2hlcmUgd2hpdGVzcGFjZSB3aHJhbmRvbSB4bWxfbmFtZXNwYWNlIHpjbGFzc19jYW5kaWRhdGVfdmlld19hY3Rpb25zIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbEF0dHJpYnV0ZSBaQ2xhc3NCYXNlQ2xhc3NOYW1lcyB6aWNvbkltYWdlIFpvcGVGaW5kIFpRdWVyeUlkcyBjb250YWluZWQKKworc3luIGtleXdvcmQgZHRtbE1ldGhvZCBhYnMgYWJzb2x1dGVfdXJsIGFjX2luaGVyaXRlZF9wZXJtaXNzaW9ucyBhQ29tbW9uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBhQ29tbW9uWiBhY29zIGFjcXVpcmVkUm9sZXNBcmVVc2VkQnkgYURheSBhZGRQcm9wZXJ0eVNoZWV0IGFNb250aCBBTVBNIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBhbXBtIEFNUE1NaW51dGVzIGFwcGVuZENoaWxkIGFwcGVuZERhdGEgYXBwZW5kSGVhZGVyIGFzaW4gYXRhbiBhdGFuMiBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgYXRvZiBhdG9pIGJldGF2YXJpYXRlIGNhcGF0aWxpemUgY2Fwd29yZHMgY2F0YWxvZ19vYmplY3QgY2VpbCBjZW50ZXIgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIGNob2ljZSBjaHIgY2xvbmVOb2RlIENPUFkgY29zIGNvc2ggY291bnQgY3JlYXRlSW5PYmplY3RNYW5hZ2VyIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBjcmVhdGVTUUxJbnB1dCBjdW5pZnZhcmlhdGUgRGF0ZSBEYXRlVGltZSBEYXkgZGF5IGRheU9mWWVhciBkZCBkZWZhdWx0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBERUxFVEUgZGVsZXRlRGF0YSBkZWxQcm9wZXJ0eVNoZWV0IGRpdm1vZCBkb2N1bWVudF9pZCBkb2N1bWVudF90aXRsZSBkb3cgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIGVhcmxpZXN0VGltZSBlbnRlciBlcXVhbFRvIGV4cCBleHBpcmVDb29raWUgZXhwb3ZhcmlhdGUgZmFicyBmQ29tbW9uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBmQ29tbW9uWiBmaWx0ZXJlZF9tYW5hZ2Vfb3B0aW9ucyBmaWx0ZXJlZF9tZXRhX3R5cGVzIGZpbmQgZmxvYXQgZmxvb3IgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIGZtb2QgZnJleHAgZ2FtbWEgZ2F1c3MgZ2V0IGdldF9sb2NhbF9yb2xlc19mb3JfdXNlcmlkIGdldF9zaXplIGdldGF0dHIgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIGdldEF0dHJpYnV0ZSBnZXRBdHRyaWJ1dGVOb2RlIGdldENsYXNzQXR0ciBnZXREb21haW5zIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBnZXRFbGVtZW50c0J5VGFnTmFtZSBnZXRIZWFkZXIgZ2V0aXRlbSBnZXROYW1lZEl0ZW0gZ2V0b2JqZWN0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBnZXRPYmplY3RzSW5mbyBnZXRwYXRoIGdldFByb3BlcnR5IGdldFJvbGVzIGdldFN0YXR1cyBnZXRVc2VyIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBnZXRVc2VyTmFtZSBncmVhdGVyVGhhbiBncmVhdGVyVGhhbkVxdWFsVG8gaF8xMiBoXzI0IGhhc19rZXkgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIGhhc19wZXJtaXNzaW9uIGhhc19yb2xlIGhhc2F0dHIgaGFzRmVhdHVyZSBoYXNoIGhhc1Byb3BlcnR5IEhFQUQgaGV4IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBob3VyIGh5cG90IGluZGV4IGluZGV4X2h0bWwgaW5oZXJpdGVkQXR0cmlidXRlIGluc2VydEJlZm9yZSBpbnNlcnREYXRhIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBpbnQgaXNDdXJyZW50RGF5IGlzQ3VycmVudEhvdXIgaXNDdXJyZW50TWludXRlIGlzQ3VycmVudE1vbnRoIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBpc0N1cnJlbnRZZWFyIGlzRnV0dXJlIGlzTGVhZFllYXIgaXNQYXN0IGl0ZW0gam9pbiBsYXRlc3RUaW1lIGxkZXhwIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBsZWF2ZSBsZWF2ZV9hbm90aGVyIGxlbiBsZXNzVGhhbiBsZXNzVGhhbkVxdWFsVG8gbGp1c3QgbG9nIGxvZzEwIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBsb2dub3JtdmFyaWF0ZSBsb3dlciBsc3RyaXAgbWFrZXRyYW5zIG1hbmFnZSBtYW5hZ2VfYWNjZXNzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBtYW5hZ2VfYWNxdWlyZWRQZXJtaXNzaW9ucyBtYW5hZ2VfYWRkQ29sdW1uIG1hbmFnZV9hZGREb2N1bWVudCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgbWFuYWdlX2FkZERUTUxEb2N1bWVudCBtYW5hZ2VfYWRkRFRNTE1ldGhvZCBtYW5hZ2VfYWRkRmlsZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgbWFuYWdlX2FkZEZvbGRlciBtYW5hZ2VfYWRkSW1hZ2UgbWFuYWdlX2FkZEluZGV4IG1hbmFnZV9hZGRMb2NhbFJvbGVzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBtYW5hZ2VfYWRkTWFpbEhvc3QgbWFuYWdlX2FkZFBlcm1pc3Npb24gbWFuYWdlX2FkZFByaW5jaXBpYUZhY3RvcnkgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG1hbmFnZV9hZGRQcm9kdWN0IG1hbmFnZV9hZGRQcm9wZXJ0eSBtYW5hZ2VfYWRkUHJvcGVydHlTaGVldCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgbWFuYWdlX2FkZFVzZXJGb2xkZXIgbWFuYWdlX2FkZFpDYXRhbG9nIG1hbmFnZV9hZGRaQ2xhc3MgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG1hbmFnZV9hZGRaR2FkZmx5Q29ubmVjdGlvbiBtYW5hZ2VfYWRkWkdhZGZseUNvbm5lY3Rpb25Gb3JtIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBtYW5hZ2VfYWR2YW5jZWQgbWFuYWdlX2NhdGFsb2dDbGVhciBtYW5hZ2VfY2F0YWxvZ0ZvdW5kSXRlbXMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG1hbmFnZV9jYXRhbG9nT2JqZWN0IG1hbmFnZV9jYXRhbG9nUmVpbmRleCBtYW5hZ2VfY2hhbmdlUGVybWlzc2lvbnMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG1hbmFnZV9jaGFuZ2VQcm9wZXJ0aWVzIG1hbmFnZV9jbG9uZSBtYW5hZ2VfQ29weUNvbnRhaW5lckZpcnN0SXRlbSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgbWFuYWdlX2NvcHlPYmplY3RzIG1hbmFnZV9jcmVhdGVFZGl0b3IgbWFuYWdlX2NyZWF0ZVZpZXcgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG1hbmFnZV9jdXRPYmplY3RzIG1hbmFnZV9kZWZpbmVkX3JvbGVzIG1hbmFnZV9kZWxDb2x1bW5zIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBtYW5hZ2VfZGVsSW5kZXhlcyBtYW5hZ2VfZGVsTG9jYWxSb2xlcyBtYW5hZ2VfZGVsT2JqZWN0cyBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgbWFuYWdlX2RlbFByb3BlcnRpZXMgbWFuYWdlX0Rpc2NhcmRfX2RyYWZ0X18gbWFuYWdlX2Rpc3RyaWJ1dGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG1hbmFnZV9lZGl0IG1hbmFnZV9lZGl0IG1hbmFnZV9lZGl0ZWREaWFsb2cgbWFuYWdlX2VkaXRQcm9wZXJ0aWVzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBtYW5hZ2VfZWRpdFJvbGVzIG1hbmFnZV9leHBvcnRPYmplY3QgbWFuYWdlX2ltcG9ydE9iamVjdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgbWFuYWdlX21ha2VDaGFuZ2VzIG1hbmFnZV9wYXN0ZU9iamVjdHMgbWFuYWdlX3Blcm1pc3Npb24gY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG1hbmFnZV9wcm9wZXJ0aWVzRm9ybSBtYW5hZ2VfcHJveHkgbWFuYWdlX3JlbmFtZU9iamVjdCBtYW5hZ2Vfcm9sZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgbWFuYWdlX1NhdmVfX2RyYWZ0X18gbWFuYWdlX3NldExvY2FsUm9sZXMgbWFuYWdlX3NldFBlcm1pc3Npb25NYXBwaW5nIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBtYW5hZ2VfdGVzdCBtYW5hZ2VfdGVzdEZvcm0gbWFuYWdlX3VuY2F0YWxvZ09iamVjdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgbWFuYWdlX3VuZG9fdHJhbnNhY3Rpb25zIG1hbmFnZV91cGxvYWQgbWFuYWdlX3VzZXJzIG1hbmFnZV93b3Jrc3BhY2UgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG1hbmdlX2NyZWF0ZVdpemFyZCBtYXggbWluIG1pbnV0ZSBNS0NPTCBtbSBtb2RmIG1vbnRoIE1vbnRoIE1PVkUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG5hbWVzcGFjZSBuZXdfdmVyc2lvbiBuZXh0T2JqZWN0IG5vcm1hbHZhcmlhdGUgbm90RXF1YWxUbyBvYmplY3RJZHMgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIG9iamVjdEl0ZW1zIG9iamVjdFZhbHVlcyBvY3QgT1BUSU9OUyBvcmQgcGFyZXRvdmFyaWF0ZSBwYXJ0cyBwQ29tbW9uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBwQ29tbW9uWiBwRGF5IHBlcm1pc3Npb25zT2ZSb2xlIHBNb250aCBwb3cgUHJlY2lzZUFNUE0gUHJlY2lzZVRpbWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIHByZXZpb3VzT2JqZWN0IHByb3BlcnR5SW5mbyBwcm9wZXJ0eUxhYmVsIFBST1BGSU5EIFBST1BQQVRDSCBQVVQgcXVpdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgcmFpc2Vfc3RhbmRhcmRFcnJvck1lc3NhZ2UgcmFuZGludCByYW5kb20gcmVhZCByZWFkX3JhdyByZWRpcmVjdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgcmVtb3ZlQXR0cmlidXRlIHJlbW92ZUF0dHJpYnV0ZU5vZGUgcmVtb3ZlQ2hpbGQgcmVwbGFjZSByZXBsYWNlQ2hpbGQgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIHJlcGxhY2VEYXRhIHJmYzgyMiByZmluZCByaW5kZXggcmp1c3Qgcm9sZXNPZlBlcm1pc3Npb24gcm91bmQgcnN0cmlwIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBzYXZlIHNlYXJjaFJlc3VsdHMgc2Vjb25kIHNlZWQgc2V0IHNldEF0dHJpYnV0ZSBzZXRBdHRyaWJ1dGVOb2RlIHNldEJhc2UgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIHNldENvb2tpZSBzZXRIZWFkZXIgc2V0U3RhdHVzIHNpbiBzaW5oIHNwbGl0IHNwbGl0VGV4dCBzcXJ0IHN0ciBzdHJpcCBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2Qgc3Vic3RyaW5nRGF0YSBzdXBlclZhbHVlcyBzd2FwY2FzZSB0YWJzX3BhdGhfaW5mbyB0YW4gdGFuaCBUaW1lIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCBUaW1lTWludXRlcyB0aW1lVGltZSB0aW1lem9uZSB0aXRsZSB0aXRsZV9hbmRfaWQgdGl0bGVfb3JfaWQgdG9YTUwgY29udGFpbmVkCitzeW4ga2V5d29yZCBkdG1sTWV0aG9kIHRvWm9uZSB1bmNhdGFsb2dfb2JqZWN0IHVuZG9hYmxlX3RyYW5zYWN0aW9ucyB1bmlmb3JtIHVuaXF1ZVZhbHVlc0ZvciBjb250YWluZWQKK3N5biBrZXl3b3JkIGR0bWxNZXRob2QgdXBkYXRlX2RhdGEgdXBwZXIgdmFsaWRfcHJvcGVydHlfaWQgdmFsaWRhdGVfcm9sZXMgdm9ubWlzZXN2YXJpYXRlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZHRtbE1ldGhvZCB3ZWlidWxsdmFyaWF0ZSB5ZWFyIHl5IHpmaWxsIFpvcGVGaW5kIGNvbnRhaW5lZAorCisiIERUTUwgdGFncworc3luIGtleXdvcmQgZHRtbFRhZ05hbWUgdmFyIGlmIGVsaWYgZWxzZSB1bmxlc3MgaW4gd2l0aCBsZXQgY2FsbCByYWlzZSB0cnkgZXhjZXB0IHRhZyBjb21tZW50IHRyZWUgc3FsdmFyIHNxbHRlc3Qgc3FsZ3JvdXAgc2VuZG1haWwgbWltZSB0cmFuc3BhcmVudCBjb250YWluZWQKKworc3luIGtleXdvcmQgZHRtbEVuZFRhZ05hbWUgaWYgdW5sZXNzIGluIHdpdGggbGV0IHJhaXNlIHRyeSB0cmVlIHNlbmRtYWlsIHRyYW5zcGFyZW50IGNvbnRhaW5lZAorCisiIE93biBhZGRpdGlvbnMKK3N5biBrZXl3b3JkIGR0bWxUT0RPICAgIFRPRE8gRklYTUUJCWNvbnRhaW5lZAorCitzeW4gcmVnaW9uIGR0bWxDb21tZW50IHN0YXJ0PSs8ZHRtbC1jb21tZW50PisgZW5kPSs8L2R0bWwtY29tbWVudD4rIGNvbnRhaW5zPWR0bWxUT0RPCisKKyIgQWxsIGR0bWxUYWdOYW1lcyBhcmUgY29udGFpbmVkIGJ5IGR0bWxJc1RhZy4KK3N5biBtYXRjaCBkdG1sSXNUYWcJICAgICJkdG1sLVtBLVphLXpdXCsiICAgIGNvbnRhaW5zPWR0bWxUYWdOYW1lCisKKyIgJ3ZhcicgdGFnIGVudGl0eSBzeW50YXg6ICZkdG1sLXZhcmlhYmxlTmFtZTsKKyIgICAgICAgLSB3aXRoIGF0dHJpYnV0ZXM6ICZkdG1sLmF0dHJpYnV0ZTFbLmF0dHJpYnV0ZTJdLi4uLXZhcmlhYmxlTmFtZTsKK3N5biBtYXRjaCBkdG1sU3BlY2lhbENoYXIgIiZkdG1sWy4wLTlBLVphLXpfXVx7LX0tWzAtOUEtWmEtel8uXVwrOyIKKworIiBSZWRlZmluZSB0byBhbGxvdyBpbmNsdXNpb24gb2YgRFRNTCB3aXRoaW4gSFRNTCBzdHJpbmdzLgorc3luIGNsdXN0ZXIgaHRtbFRvcCBjb250YWlucz1AU3BlbGwsaHRtbFRhZyxodG1sRW5kVGFnLGR0bWxTcGVjaWFsQ2hhcixodG1sU3BlY2lhbENoYXIsaHRtbFByZVByb2MsaHRtbENvbW1lbnQsaHRtbExpbmssamF2YVNjcmlwdCxAaHRtbFByZXByb2MKK3N5biByZWdpb24gaHRtbExpbmsgc3RhcnQ9IjxhXD5bXj5dKmhyZWZcPiIgZW5kPSI8L2E+Im1lPWUtNCBjb250YWlucz1AU3BlbGwsaHRtbFRhZyxodG1sRW5kVGFnLGR0bWxTcGVjaWFsQ2hhcixodG1sU3BlY2lhbENoYXIsaHRtbFByZVByb2MsaHRtbENvbW1lbnQsamF2YVNjcmlwdCxAaHRtbFByZXByb2MKK3N5biByZWdpb24gaHRtbEhlYWQgc3RhcnQ9IjxoZWFkXD4iIGVuZD0iPC9oZWFkPiJtZT1lLTcgZW5kPSI8Ym9keVw+Im1lPWUtNSBlbmQ9IjxoWzEtNl1cPiJtZT1lLTMgY29udGFpbnM9aHRtbFRhZyxodG1sRW5kVGFnLGR0bWxTcGVjaWFsQ2hhcixodG1sU3BlY2lhbENoYXIsaHRtbFByZVByb2MsaHRtbENvbW1lbnQsaHRtbExpbmssaHRtbFRpdGxlLGphdmFTY3JpcHQsY3NzU3R5bGUsQGh0bWxQcmVwcm9jCitzeW4gcmVnaW9uIGh0bWxUaXRsZSBzdGFydD0iPHRpdGxlXD4iIGVuZD0iPC90aXRsZT4ibWU9ZS04IGNvbnRhaW5zPWh0bWxUYWcsaHRtbEVuZFRhZyxkdG1sU3BlY2lhbENoYXIsaHRtbFNwZWNpYWxDaGFyLGh0bWxQcmVQcm9jLGh0bWxDb21tZW50LGphdmFTY3JpcHQsQGh0bWxQcmVwcm9jCitzeW4gcmVnaW9uICBodG1sU3RyaW5nICAgY29udGFpbmVkIHN0YXJ0PSsiKyBlbmQ9KyIrIGNvbnRhaW5zPWR0bWxTcGVjaWFsQ2hhcixodG1sU3BlY2lhbENoYXIsamF2YVNjcmlwdEV4cHJlc3Npb24sZHRtbElzVGFnLGR0bWxBdHRyaWJ1dGUsZHRtbE1ldGhvZCxAaHRtbFByZXByb2MKK3N5biBtYXRjaCAgIGh0bWxUYWdOICAgICBjb250YWluZWQgKzxccypbLWEtekEtWjAtOV1cKytocz1zKzEgY29udGFpbnM9aHRtbFRhZ05hbWUsaHRtbFNwZWNpYWxUYWdOYW1lLGR0bWxJc1RhZyxkdG1sQXR0cmlidXRlLGR0bWxNZXRob2QsQGh0bWxUYWdOYW1lQ2x1c3Rlcgorc3luIG1hdGNoICAgaHRtbFRhZ04gICAgIGNvbnRhaW5lZCArPC9ccypbLWEtekEtWjAtOV1cKytocz1zKzIgY29udGFpbnM9aHRtbFRhZ05hbWUsaHRtbFNwZWNpYWxUYWdOYW1lLGR0bWxJc1RhZyxkdG1sQXR0cmlidXRlLGR0bWxNZXRob2QsQGh0bWxUYWdOYW1lQ2x1c3RlcgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kdG1sX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2R0bWxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZHRtbElzVGFnCQkJUHJlUHJvYworICBIaUxpbmsgZHRtbEF0dHJpYnV0ZQkJSWRlbnRpZmllcgorICBIaUxpbmsgZHRtbE1ldGhvZAkJCUZ1bmN0aW9uCisgIEhpTGluayBkdG1sQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgZHRtbFRPRE8JCQlUb2RvCisgIEhpTGluayBkdG1sU3BlY2lhbENoYXIgICAgU3BlY2lhbAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkdG1sIgorCisiIGlmIG1haW5fc3ludGF4ID09ICdkdG1sJworIiAgIHVubGV0IG1haW5fc3ludGF4CisiIGVuZGlmCisKKyIgdmltOiB0cz00CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9keWxhbi52aW0gYi9ydW50aW1lL3N5bnRheC9keWxhbi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQyNjJkNQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2R5bGFuLnZpbQpAQCAtMCwwICsxLDEwOSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUR5bGFuCisiIEF1dGhvcnM6CUp1c3R1cyBQZW5kbGV0b24gPGp1c3R1c0BhY20ub3JnPgorIgkJQnJlbnQgQS4gRnVsZ2hhbSA8YmZ1bGdoYW1AZGViaWFuLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CUZyaSBTZXAgMjkgMTM6NDU6NTUgUERUIDIwMDAKKyIKKyIgVGhpcyBzeW50YXggZmlsZSBpcyBiYXNlZCBvbiB0aGUgSGFza2VsbCwgUGVybCwgU2NoZW1lLCBhbmQgQworIiBzeW50YXggZmlsZXMuCisKKyIgUGFydCAxOiAgU3ludGF4IGRlZmluaXRpb24KKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc2V0IGxpc3AKK2Vsc2UKKyAgc2V0bG9jYWwgbGlzcAorZW5kaWYKKworIiBIaWdobGlnaHQgc3BlY2lhbCBjaGFyYWN0ZXJzICh0aG9zZSB0aGF0IGhhdmUgYmFja3NsYXNoZXMpIGRpZmZlcmVudGx5CitzeW4gbWF0Y2gJZHlsYW5TcGVjaWFsCQlkaXNwbGF5IGNvbnRhaW5lZCAiXFxcKHhceFwrXHxcb1x7MSwzfVx8Llx8JFwpIgorCisiIEtleXdvcmRzCitzeW4ga2V5d29yZAlkeWxhbkJsb2NrCQlhZnRlcndhcmRzIGJlZ2luIGJsb2NrIGNsZWFudXAgZW5kCitzeW4ga2V5d29yZAlkeWxhbkNsYXNzTW9kcwkJYWJzdHJhY3QgY29uY3JldGUgcHJpbWFyeSBpbmhlcml0ZWQgdmlydHVhbAorc3luIGtleXdvcmQJZHlsYW5FeGNlcHRpb24JCWV4Y2VwdGlvbiBoYW5kbGVyIHNpZ25hbAorc3luIGtleXdvcmQJZHlsYW5QYXJhbURlZnMJCW1ldGhvZCBjbGFzcyBmdW5jdGlvbiBsaWJyYXJ5IG1hY3JvIGludGVyZmFjZQorc3luIGtleXdvcmQJZHlsYW5TaW1wbGVEZWZzCQljb25zdGFudCB2YXJpYWJsZSBnZW5lcmljIHByaW1hcnkKK3N5biBrZXl3b3JkCWR5bGFuT3RoZXIJCWFib3ZlIGJlbG93IGZyb20gYnkgaW4gaW5zdGFuY2UgbG9jYWwgc2xvdCBzdWJjbGFzcyB0aGVuIHRvCitzeW4ga2V5d29yZAlkeWxhbkNvbmRpdGlvbmFsCWlmIHdoZW4gc2VsZWN0IGNhc2UgZWxzZSBlbHNlaWYgdW5sZXNzIGZpbmFsbHkgb3RoZXJ3aXNlIHRoZW4KK3N5biBrZXl3b3JkCWR5bGFuUmVwZWF0CQliZWdpbiBmb3IgdW50aWwgd2hpbGUgZnJvbSB0bworc3luIGtleXdvcmQJZHlsYW5TdGF0ZW1lbnQJCWRlZmluZSBsZXQKK3N5biBrZXl3b3JkCWR5bGFuSW1wb3J0CQl1c2UgaW1wb3J0IGV4cG9ydCBleGNsdWRlIHJlbmFtZSBjcmVhdGUKK3N5biBrZXl3b3JkCWR5bGFuTWlzY01vZHMJCW9wZW4gc2VhbGVkIGRvbWFpbiBzaW5nbGV0b24gc2lkZXdheXMgaW5saW5lIGZ1bmN0aW9uYWwKKworIiBNYXRjaGluZyBydWxlcyBmb3Igc3BlY2lhbCBmb3Jtcworc3luIG1hdGNoCWR5bGFuT3BlcmF0b3IJCSJcc1stISUmXCpcKy89XD9AXFxefH46XVwrWy0jIT4lJjpcKlwrLz1cP0BcXF58fl0qIgorc3luIG1hdGNoCWR5bGFuT3BlcmF0b3IJCSJcKFw8W0EtWl1bYS16QS1aMC05XyddKlwuXClcPTpbLSEjJCUmXCpcKy4vPVw/QFxcXnx+Ol0qIgorIiBOdW1iZXJzCitzeW4gbWF0Y2gJZHlsYW5OdW1iZXIJCSJcPFswLTldXCtcPlx8XDwwW3hYXVswLTlhLWZBLUZdXCtcPlx8XDwwW29PXVswLTddXCtcPiIKK3N5biBtYXRjaAlkeWxhbk51bWJlcgkJIlw8WzAtOV1cK1wuWzAtOV1cK1woW2VFXVstK11cPVswLTldXCtcKVw9XD4iCisiIEJvb2xlYW5zCitzeW4gbWF0Y2gJZHlsYW5Cb29sZWFuCQkiI3RcfCNmIgorIiBDb21tZW50cworc3luIG1hdGNoCWR5bGFuQ29tbWVudAkJIi8vLioiCitzeW4gcmVnaW9uCWR5bGFuQ29tbWVudAkJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iCisiIFN0cmluZ3MKK3N5biByZWdpb24JZHlsYW5TdHJpbmcJCXN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9ZHlTcGVjaWFsCitzeW4gbWF0Y2gJZHlsYW5DaGFyYWN0ZXIJCSInW15cXF0nIgorIiBDb25zdGFudHMsIGNsYXNzZXMsIGFuZCB2YXJpYWJsZXMKK3N5biBtYXRjaAlkeWxhbkNvbnN0YW50CQkiJFw8W2EtekEtWjAtOVwtXVwrXD4iCitzeW4gbWF0Y2gJZHlsYW5DbGFzcwkJIjxcPFthLXpBLVowLTlcLV1cK1w+PiIKK3N5biBtYXRjaAlkeWxhblZhcmlhYmxlCQkiXCpcPFthLXpBLVowLTlcLV1cK1w+XCoiCisiIFByZWNvbmRpdGlvbnMKK3N5biByZWdpb24JZHlsYW5QcmVjb25kaXQJCXN0YXJ0PSJeXHMqI1xzKlwoaWZcPlx8ZWxzZVw+XHxlbmRpZlw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIgorCisiIFRoZXNlIGFwcGVhciBhdCB0aGUgdG9wIG9mIGZpbGVzICh1c3VhbGx5KS4gIEkgbGlrZSB0byBoaWdobGlnaHQgdGhlIHdob2xlIGxpbmUKKyIgc28gdGhhdCB0aGUgZGVmaW5pdGlvbiBzdGFuZHMgb3V0LiAgVGhleSBzaG91bGQgcHJvYmFibHkgcmVhbGx5IGJlIGtleXdvcmRzLCBidXQgdGhleQorIiBkb24ndCBnZW5lcmFsbHkgYXBwZWFyIGluIHRoZSBtaWRkbGUgb2YgYSBsaW5lIG9mIGNvZGUuCitzeW4gcmVnaW9uCWR5bGFuSGVhZGVyCXN0YXJ0PSJeW01tXW9kdWxlOiIgZW5kPSJeJCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHlsYW5fc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZHlsYW5fc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZHlsYW5CbG9jawkJUHJlUHJvYworICBIaUxpbmsgZHlsYW5Cb29sZWFuCQlCb29sZWFuCisgIEhpTGluayBkeWxhbkNoYXJhY3RlcgkJQ2hhcmFjdGVyCisgIEhpTGluayBkeWxhbkNsYXNzCQlTdHJ1Y3R1cmUKKyAgSGlMaW5rIGR5bGFuQ2xhc3NNb2RzCQlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGR5bGFuQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgZHlsYW5Db25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgZHlsYW5Db25zdGFudAkJQ29uc3RhbnQKKyAgSGlMaW5rIGR5bGFuRXhjZXB0aW9uCQlFeGNlcHRpb24KKyAgSGlMaW5rIGR5bGFuSGVhZGVyCQlNYWNybworICBIaUxpbmsgZHlsYW5JbXBvcnQJCUluY2x1ZGUKKyAgSGlMaW5rIGR5bGFuTGFiZWwJCUxhYmVsCisgIEhpTGluayBkeWxhbk1pc2NNb2RzCQlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGR5bGFuTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGR5bGFuT3RoZXIJCUtleXdvcmQKKyAgSGlMaW5rIGR5bGFuT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBkeWxhblBhcmFtRGVmcwkJS2V5d29yZAorICBIaUxpbmsgZHlsYW5QcmVjb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgZHlsYW5SZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgZHlsYW5TaW1wbGVEZWZzCUtleXdvcmQKKyAgSGlMaW5rIGR5bGFuU3RhdGVtZW50CQlNYWNybworICBIaUxpbmsgZHlsYW5TdHJpbmcJCVN0cmluZworICBIaUxpbmsgZHlsYW5WYXJpYWJsZQkJSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkeWxhbiIKKworIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHlsYW5pbnRyLnZpbSBiL3J1bnRpbWUvc3ludGF4L2R5bGFuaW50ci52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFlZjgxNgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2R5bGFuaW50ci52aW0KQEAgLTAsMCArMSw1MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUR5bGFuCisiIEF1dGhvcnM6CUp1c3R1cyBQZW5kbGV0b24gPGp1c3R1c0BhY20ub3JnPgorIiBMYXN0IENoYW5nZToJRnJpIFNlcCAyOSAxMzo1MzoyNyBQRFQgMjAwMAorIgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCitzeW4gcmVnaW9uCWR5bGFuaW50ckluZm8JCW1hdGNoZ3JvdXA9U3RhdGVtZW50IHN0YXJ0PSJeIiBlbmQ9IjoiIG9uZWxpbmUKK3N5biBtYXRjaAlkeWxhbmludHJJbnRlcmZhY2UJImRlZmluZSBpbnRlcmZhY2UiCitzeW4gbWF0Y2gJZHlsYW5pbnRyQ2xhc3MJCSI8Lio+Igorc3luIHJlZ2lvbglkeWxhbmludHJUeXBlCQlzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCisKK3N5biByZWdpb24JZHlsYW5pbnRySW5jbHVkZWQJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKK3N5biBtYXRjaAlkeWxhbmludHJJbmNsdWRlZAljb250YWluZWQgIjxbXj5dKj4iCitzeW4gbWF0Y2gJZHlsYW5pbnRySW5jbHVkZQkiXlxzKiNccyppbmNsdWRlXD5ccypbIjxdIiBjb250YWlucz1pbnRySW5jbHVkZWQKKworInN5biBrZXl3b3JkIGludHJNb2RzIHBvaW50ZXIgc3RydWN0CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2R5bGFuX2ludHJfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZHlsYW5faW50cl9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBkeWxhbmludHJJbmZvCQlTcGVjaWFsCisgIEhpTGluayBkeWxhbmludHJJbnRlcmZhY2UJT3BlcmF0b3IKKyAgSGlMaW5rIGR5bGFuaW50ck1vZHMJCVR5cGUKKyAgSGlMaW5rIGR5bGFuaW50ckNsYXNzCQlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGR5bGFuaW50clR5cGUJCVR5cGUKKyAgSGlMaW5rIGR5bGFuaW50ckluY2x1ZGVkCVN0cmluZworICBIaUxpbmsgZHlsYW5pbnRySW5jbHVkZQlJbmNsdWRlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImR5bGFuaW50ciIKKworIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHlsYW5saWQudmltIGIvcnVudGltZS9zeW50YXgvZHlsYW5saWQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjN2I0MDEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9keWxhbmxpZC52aW0KQEAgLTAsMCArMSw0MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUR5bGFuIExpYnJhcnkgSW50ZXJmYWNlIEZpbGVzCisiIEF1dGhvcnM6CUp1c3R1cyBQZW5kbGV0b24gPGp1c3R1c0BhY20ub3JnPgorIgkJQnJlbnQgRnVsZ2hhbSA8YmZ1bGdoYW1AZGViaWFuLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CUZyaSBTZXAgMjkgMTM6NTA6MjAgUERUIDIwMDAKKyIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworc3luIHJlZ2lvbglkeWxhbmxpZEluZm8JCW1hdGNoZ3JvdXA9U3RhdGVtZW50IHN0YXJ0PSJeIiBlbmQ9IjoiIG9uZWxpbmUKK3N5biByZWdpb24JZHlsYW5saWRFbnRyeQkJbWF0Y2hncm91cD1TdGF0ZW1lbnQgc3RhcnQ9IjolIiBlbmQ9IiQiIG9uZWxpbmUKKworc3luIHN5bmMJbGluZXM9NTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHlsYW5fbGlkX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2R5bGFuX2xpZF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBkeWxhbmxpZEluZm8JCVR5cGUKKyAgSGlMaW5rIGR5bGFubGlkRW50cnkJCVN0cmluZworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkeWxhbmxpZCIKKworIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZWNkLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VjZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZmN2E0YgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2VjZC52aW0KQEAgLTAsMCArMSw1NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CWVjZCAoRW1iZWRpeCBDb21wb25lbnQgRGVzY3JpcHRpb24pIGZpbGVzCisiIE1haW50YWluZXI6CUpvaG4gQmVwcHUgPGJlcHB1QG9wZW5zb3VyY2UubGluZW8uY29tPgorIiBVUkw6CQlodHRwOi8vb3BlbnNvdXJjZS5saW5lby5jb20vfmJlcHB1L3Byb3NlL2VjZF92aW0uaHRtbAorIiBMYXN0IENoYW5nZToJMjAwMSBTZXAgMjcKKworIiBBbiBFQ0QgZmlsZSBjb250YWlucyBtZXRhLWRhdGEgZm9yIHBhY2thZ2VzIGluIHRoZSBFbWJlZGl4IExpbnV4IGRpc3Ryby4KKyIgVGhpcyBzeW50YXggZmlsZSB3YXMgZGVyaXZlZCBmcm9tIGFwYWNoZXN0eWxlLnZpbQorIiBieSBDaHJpc3RpYW4gSGFtbWVycyA8Y2hAd2VzdGVuZC5jb20+CisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgc3BlY2lhbHMKK3N5biBtYXRjaCAgZWNkQ29tbWVudAkiXlxzKiMuKiIKKworIiBvcHRpb25zIGFuZCB2YWx1ZXMKK3N5biBtYXRjaCAgZWNkQXR0cgkiXlxzKlthLXpBLVpdXFMqXHMqWz1dLiokIiBjb250YWlucz1lY2RBdHRyTixlY2RBdHRyVgorc3luIG1hdGNoICBlY2RBdHRyTgljb250YWluZWQgIl4uKj0ibWU9ZS0xCitzeW4gbWF0Y2ggIGVjZEF0dHJWCWNvbnRhaW5lZCAiPS4qJCJtcz1zKzEKKworIiB0YWdzCitzeW4gcmVnaW9uIGVjZFRhZwlzdGFydD0rPCsgZW5kPSs+KyBjb250YWlucz1lY2RUYWdOLGVjZFRhZ0Vycm9yCitzeW4gbWF0Y2ggIGVjZFRhZ04JY29udGFpbmVkICs8Wy9cc10qWy1hLXpBLVowLTlfXVwrK21zPXMrMQorc3luIG1hdGNoICBlY2RUYWdFcnJvcgljb250YWluZWQgIltePl08Im1zPXMrMQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9lY2Rfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZWNkX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGVjZENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgZWNkQXR0cglUeXBlCisgIEhpTGluayBlY2RBdHRyTglTdGF0ZW1lbnQKKyAgSGlMaW5rIGVjZEF0dHJWCVZhbHVlCisgIEhpTGluayBlY2RUYWcJCUZ1bmN0aW9uCisgIEhpTGluayBlY2RUYWdOCVN0YXRlbWVudAorICBIaUxpbmsgZWNkVGFnRXJyb3IJRXJyb3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZWNkIgorIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VkaWYudmltIGIvcnVudGltZS9zeW50YXgvZWRpZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMxNzgzNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2VkaWYudmltCkBAIC0wLDAgKzEsNjQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgRURJRiAoRWxlY3Ryb25pYyBEZXNpZ24gSW50ZXJjaGFuZ2UgRm9ybWF0KQorIiBNYWludGFpbmVyOiAgIEFydGVtIFphbmtvdmljaCA8el9hcnRlbUBob3Rib3gucnU+CisiIExhc3QgQ2hhbmdlOiAgT2N0IDE0LCAyMDAyCisiCisiIFN1cHBvcnRlZCBzdGFuZGFydHMgYXJlOgorIiAgIEFOU0kvRUlBIFN0YW5kYXJkIDU0OC0xOTg4IChFRElGIFZlcnNpb24gMiAwIDApCisiICAgSUVDIDYxNjkwLTEgKEVESUYgVmVyc2lvbiAzIDAgMCkKKyIgICBJRUMgNjE2OTAtMiAoRURJRiBWZXJzaW9uIDQgMCAwKQorCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmIHZlcnNpb24gPj0gNjAwCisgc2V0bG9jYWwgaXNrZXl3b3JkPTQ4LTU3LC0sKyxBLVosYS16LF8sJgorZWxzZQorIHNldCBpc2tleXdvcmQ9QS1aLGEteixfLCYKK2VuZGlmCisKK3N5biByZWdpb24JZWRpZkxpc3QJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9ZWRpZkxpc3QsZWRpZktleXdvcmQsZWRpZlN0cmluZyxlZGlmTnVtYmVyCisKKyIgU3RyaW5ncworc3luIG1hdGNoICAgICAgIGVkaWZJblN0cmluZ0Vycm9yICAgIC8lLyBjb250YWluZWQKK3N5biBtYXRjaCAgICAgICBlZGlmSW5TdHJpbmcgICAgLyVccypcZFwrXHMqJS8gY29udGFpbmVkCitzeW4gcmVnaW9uICAgICAgZWRpZlN0cmluZyAgICAgIHN0YXJ0PS8iLyBlbmQ9LyIvIGNvbnRhaW5zPWVkaWZJblN0cmluZyxlZGlmSW5TdHJpbmdFcnJvciBjb250YWluZWQKKworIiBOdW1iZXJzCitzeW4gbWF0Y2ggICAgICAgZWRpZk51bWJlciAgICAgICJcPFstK11cPVswLTldXCtcPiIKKworIiBLZXl3b3Jkcworc3luIG1hdGNoICAgICAgIGVkaWZLZXl3b3JkICAgICAiKFxAPD1ccypbYS16QS1aJl1bYS16QS1aXzAtOV0qXD4iIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggICAgICAgZWRpZkVycm9yICAgICAgICIpIgorCisiIHN5bmNocm9uaXphdGlvbgoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggc3luYyBtYXhsaW5lcz0yNTAKK2Vsc2UKKyAgc3ludGF4IHN5bmMgZnJvbXN0YXJ0CitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZWRpZl9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9lZGlmX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGVkaWZJblN0cmluZwkJU3BlY2lhbENoYXIKKyAgSGlMaW5rIGVkaWZLZXl3b3JkCQlLZXl3b3JkCisgIEhpTGluayBlZGlmTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGVkaWZJblN0cmluZ0Vycm9yCWVkaWZFcnJvcgorICBIaUxpbmsgZWRpZkVycm9yCQlFcnJvcgorICBIaUxpbmsgZWRpZlN0cmluZwkJU3RyaW5nCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJlZGlmIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZWlmZmVsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VpZmZlbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY2ZWVlOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2VpZmZlbC52aW0KQEAgLTAsMCArMSwxOTYgQEAKKyIgRWlmZmVsIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglFaWZmZWwKKyIgTWFpbnRhaW5lcjoJUmVpbWVyIEJlaHJlbmRzIDxiZWhyZW5kc0Bjc2UubXN1LmVkdT4KKyIJCVdpdGggbXVjaCBpbnB1dCBmcm9tIEpvY2VseW4gRmlhdCA8ZmlhdEBlaWZmZWwuY29tPgorIiBTZWUgaHR0cDovL3d3dy5jc2UubXN1LmVkdS9+YmVocmVuZHMvdmltLyBmb3IgdGhlIG1vc3QgY3VycmVudCB2ZXJzaW9uLgorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMDkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIE9wdGlvbiBoYW5kbGluZworCitpZiBleGlzdHMoImVpZmZlbF9pZ25vcmVfY2FzZSIpCisgIHN5biBjYXNlIGlnbm9yZQorZWxzZQorICBzeW4gY2FzZSBtYXRjaAorICBpZiBleGlzdHMoImVpZmZlbF9wZWRhbnRpYyIpIHx8IGV4aXN0cygiZWlmZmVsX3N0cmljdCIpCisgICAgc3luIGtleXdvcmQgZWlmZmVsRXJyb3IJY3VycmVudCB2b2lkIHJlc3VsdCBwcmVjdXJzb3Igbm9uZQorICAgIHN5biBrZXl3b3JkIGVpZmZlbEVycm9yCUNVUlJFTlQgVk9JRCBSRVNVTFQgUFJFQ1VSU09SIE5vbmUKKyAgICBzeW4ga2V5d29yZCBlaWZmZWxFcnJvcglUUlVFIEZBTFNFCisgIGVuZGlmCisgIGlmIGV4aXN0cygiZWlmZmVsX3BlZGFudGljIikKKyAgICBzeW4ga2V5d29yZCBlaWZmZWxFcnJvcgl0cnVlIGZhbHNlCisgICAgc3luIG1hdGNoIGVpZmZlbEVycm9yCSJcPFthLXpfXVwrW0EtWl1bYS16QV9aX10qXD4iCisgICAgc3luIG1hdGNoIGVpZmZlbEVycm9yCSJcPFtBLVpdW2Etel9dKltBLVpdW2EtekEtWl9dKlw+IgorICBlbmRpZgorICBpZiBleGlzdHMoImVpZmZlbF9sb3dlcl9jYXNlX3ByZWRlZiIpCisgICAgc3luIGtleXdvcmQgZWlmZmVsUHJlZGVmaW5lZCBjdXJyZW50IHZvaWQgcmVzdWx0IHByZWN1cnNvcgorICBlbmRpZgorZW5kaWYKKworaWYgZXhpc3RzKCJlaWZmZWxfaGV4X2NvbnN0YW50cyIpCisgIHN5biBtYXRjaCAgZWlmZmVsTnVtYmVyCSJcZFswLTlhLWZBLUZdKlt4WF0iCitlbmRpZgorCisiIEtleXdvcmQgZGVmaW5pdGlvbnMKKworc3luIGtleXdvcmQgZWlmZmVsVG9wU3RydWN0CWluZGV4aW5nIGZlYXR1cmUgY3JlYXRpb24gaW5oZXJpdAorc3luIG1hdGNoICAgZWlmZmVsVG9wU3RydWN0CSJcPGNsYXNzXD4iCitzeW4gbWF0Y2ggICBlaWZmZWxLZXl3b3JkCSJcPGVuZFw+Igorc3luIG1hdGNoICAgZWlmZmVsVG9wU3RydWN0CSJeZW5kXD5cKFxzKi0tXHNcK2NsYXNzXHNcK1w8W0EtWl1bQS1aMC05X10qXD5cKVw9IiBjb250YWlucz1laWZmZWxDbGFzc05hbWUKK3N5biBtYXRjaCAgIGVpZmZlbEJyYWNrZXRzCSJbW1xdXSIKK3N5biBtYXRjaCBlaWZmZWxCcmFja2V0RXJyb3IJIlxdIgorc3luIHJlZ2lvbiBlaWZmZWxHZW5lcmljCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9ZWlmZmVsQnJhY2tldHMgc3RhcnQ9IlxbIiBlbmQ9IlxdIiBjb250YWlucz1BTExCVVQsZWlmZmVsQnJhY2tldEVycm9yLGVpZmZlbEdlbmVyaWNEZWNsLGVpZmZlbFN0cmluZ0Vycm9yLGVpZmZlbFN0cmluZ0VzY2FwZSxlaWZmZWxHZW5lcmljQ3JlYXRlLGVpZmZlbFRvcFN0cnVjdAoraWYgZXhpc3RzKCJlaWZmZWxfaXNlIikKKyAgc3luIG1hdGNoICAgZWlmZmVsQ3JlYXRlCSJcPGNyZWF0ZVw+IgorICBzeW4gbWF0Y2ggICBlaWZmZWxUb3BTdHJ1Y3QJY29udGFpbmVkICJcPGNyZWF0ZVw+IgorICBzeW4gbWF0Y2ggICBlaWZmZWxHZW5lcmljQ3JlYXRlICBjb250YWluZWQgIlw8Y3JlYXRlXD4iCisgIHN5biBtYXRjaCAgIGVpZmZlbFRvcFN0cnVjdAkiXmNyZWF0ZVw+IgorICBzeW4gcmVnaW9uICBlaWZmZWxHZW5lcmljRGVjbAl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWVpZmZlbEJyYWNrZXRzIGNvbnRhaW5lZCBzdGFydD0iXFsiIGVuZD0iXF0iIGNvbnRhaW5zPUFMTEJVVCxlaWZmZWxDcmVhdGUsZWlmZmVsVG9wU3RydWN0LGVpZmZlbEdlbmVyaWMsZWlmZmVsQnJhY2tldEVycm9yLGVpZmZlbFN0cmluZ0VzY2FwZSxlaWZmZWxTdHJpbmdFcnJvcixlaWZmZWxCcmFja2V0cworICBzeW4gcmVnaW9uICBlaWZmZWxDbGFzc0hlYWRlcglzdGFydD0iXmNsYXNzXD4iIGVuZD0iJCIgY29udGFpbnM9QUxMQlVULGVpZmZlbENyZWF0ZSxlaWZmZWxHZW5lcmljQ3JlYXRlLGVpZmZlbEdlbmVyaWMsZWlmZmVsU3RyaW5nRXNjYXBlLGVpZmZlbFN0cmluZ0Vycm9yLGVpZmZlbEJyYWNrZXRzCitlbmRpZgorc3luIGtleXdvcmQgZWlmZmVsRGVjbGFyYXRpb24JaXMgZG8gb25jZSBkZWZlcnJlZCB1bmlxdWUgbG9jYWwKK3N5biBrZXl3b3JkIGVpZmZlbERlY2xhcmF0aW9uCVVuaXF1ZQorc3luIGtleXdvcmQgZWlmZmVsUHJvcGVydHkJZXhwYW5kZWQgb2Jzb2xldGUgc2VwYXJhdGUgZnJvemVuCitzeW4ga2V5d29yZCBlaWZmZWxQcm9wZXJ0eQlwcmVmaXggaW5maXgKK3N5biBrZXl3b3JkIGVpZmZlbEluaGVyaXRDbGF1c2UJcmVuYW1lIHJlZGVmaW5lIHVuZGVmaW5lIHNlbGVjdCBleHBvcnQgYXMKK3N5biBrZXl3b3JkIGVpZmZlbEFsbAkJYWxsCitzeW4ga2V5d29yZCBlaWZmZWxLZXl3b3JkCWV4dGVybmFsIGFsaWFzCitzeW4ga2V5d29yZCBlaWZmZWxTdGF0ZW1lbnQJaWYgZWxzZSBlbHNlaWYgaW5zcGVjdAorc3luIGtleXdvcmQgZWlmZmVsU3RhdGVtZW50CXdoZW4gdGhlbgorc3luIG1hdGNoICAgZWlmZmVsQXNzZXJ0aW9uCSJcPHJlcXVpcmVcKFxzXCtlbHNlXClcPVw+Igorc3luIG1hdGNoICAgZWlmZmVsQXNzZXJ0aW9uCSJcPGVuc3VyZVwoXHNcK3RoZW5cKVw9XD4iCitzeW4ga2V5d29yZCBlaWZmZWxBc3NlcnRpb24JY2hlY2sKK3N5biBrZXl3b3JkIGVpZmZlbERlYnVnCQlkZWJ1Zworc3luIGtleXdvcmQgZWlmZmVsU3RhdGVtZW50CWZyb20gdW50aWwgbG9vcAorc3luIGtleXdvcmQgZWlmZmVsQXNzZXJ0aW9uCXZhcmlhbnQKK3N5biBtYXRjaCAgIGVpZmZlbEFzc2VydGlvbgkiXDxpbnZhcmlhbnRcPiIKK3N5biBtYXRjaCAgIGVpZmZlbFRvcFN0cnVjdAkiXmludmFyaWFudFw+Igorc3luIGtleXdvcmQgZWlmZmVsRXhjZXB0aW9uCXJlc2N1ZSByZXRyeQorCitzeW4ga2V5d29yZCBlaWZmZWxQcmVkZWZpbmVkCUN1cnJlbnQgVm9pZCBSZXN1bHQgUHJlY3Vyc29yCisKKyIgT3BlcmF0b3JzCitzeW4gbWF0Y2ggICBlaWZmZWxPcGVyYXRvcgkiXDxhbmRcKFxzXCt0aGVuXClcPVw+Igorc3luIG1hdGNoICAgZWlmZmVsT3BlcmF0b3IJIlw8b3JcKFxzXCtlbHNlXClcPVw+Igorc3luIGtleXdvcmQgZWlmZmVsT3BlcmF0b3IJeG9yIGltcGxpZXMgbm90CitzeW4ga2V5d29yZCBlaWZmZWxPcGVyYXRvcglzdHJpcCBvbGQKK3N5biBrZXl3b3JkIGVpZmZlbE9wZXJhdG9yCVN0cmlwCitzeW4gbWF0Y2ggICBlaWZmZWxPcGVyYXRvcgkiXCQiCitzeW4gbWF0Y2ggICBlaWZmZWxDcmVhdGlvbgkiISIKK3N5biBtYXRjaCAgIGVpZmZlbEV4cG9ydAkiW3t9XSIKK3N5biBtYXRjaCAgIGVpZmZlbEFycmF5CQkiPDwiCitzeW4gbWF0Y2ggICBlaWZmZWxBcnJheQkJIj4+Igorc3luIG1hdGNoICAgZWlmZmVsQ29uc3RyYWludAkiLT4iCitzeW4gbWF0Y2ggICBlaWZmZWxPcGVyYXRvcgkiW0AjfCZdW14gXGVcdFxiJV0qIgorCisiIFNwZWNpYWwgY2xhc3Nlcworc3luIGtleXdvcmQgZWlmZmVsQW5jaG9yZWQJbGlrZQorc3luIGtleXdvcmQgZWlmZmVsQml0VHlwZQlCSVQKKworIiBDb25zdGFudHMKK2lmICFleGlzdHMoImVpZmZlbF9wZWRhbnRpYyIpCisgIHN5biBrZXl3b3JkIGVpZmZlbEJvb2wJdHJ1ZSBmYWxzZQorZW5kaWYKK3N5biBrZXl3b3JkIGVpZmZlbEJvb2wJCVRydWUgRmFsc2UKK3N5biByZWdpb24gIGVpZmZlbFN0cmluZwlzdGFydD0rIisgc2tpcD0rJSIrIGVuZD0rIisgY29udGFpbnM9ZWlmZmVsU3RyaW5nRXNjYXBlLGVpZmZlbFN0cmluZ0Vycm9yCitzeW4gbWF0Y2ggICBlaWZmZWxTdHJpbmdFc2NhcGUJY29udGFpbmVkICIlW14vXSIKK3N5biBtYXRjaCAgIGVpZmZlbFN0cmluZ0VzY2FwZQljb250YWluZWQgIiUvXGRcKy8iCitzeW4gbWF0Y2ggICBlaWZmZWxTdHJpbmdFc2NhcGUJY29udGFpbmVkICJeWyBcdF0qJSIKK3N5biBtYXRjaCAgIGVpZmZlbFN0cmluZ0VzY2FwZQljb250YWluZWQgIiVbIFx0XSokIgorc3luIG1hdGNoICAgZWlmZmVsU3RyaW5nRXJyb3IJY29udGFpbmVkICIlL1teMC05XSIKK3N5biBtYXRjaCAgIGVpZmZlbFN0cmluZ0Vycm9yCWNvbnRhaW5lZCAiJS9cZFwrW14wLTkvXSIKK3N5biBtYXRjaCAgIGVpZmZlbEJhZENvbnN0YW50CSInXCglW14vXVx8JS9cZFwrL1x8W14nJV1cKVwrJyIKK3N5biBtYXRjaCAgIGVpZmZlbEJhZENvbnN0YW50CSInJyIKK3N5biBtYXRjaCAgIGVpZmZlbENoYXJhY3RlcgkiJ1woJVteL11cfCUvXGRcKy9cfFteJyVdXCknIiBjb250YWlucz1laWZmZWxTdHJpbmdFc2NhcGUKK3N5biBtYXRjaCAgIGVpZmZlbE51bWJlcgkiLVw9XDxcZFwrXChfXGRcK1wpKlw+Igorc3luIG1hdGNoICAgZWlmZmVsTnVtYmVyCSJcPFswMV1cK1tiQl1cPiIKK3N5biBtYXRjaCAgIGVpZmZlbE51bWJlcgkiLVw9XDxcZFwrXChfXGRcK1wpKlwuXChcZFwrXChfXGRcK1wpKlwpXD1cKFtlRV1bLStdXD1cZFwrXChfXGRcK1wpKlwpXD0iCitzeW4gbWF0Y2ggICBlaWZmZWxOdW1iZXIJIi1cPVwuXGRcK1woX1xkXCtcKSpcKFtlRV1bLStdXD1cZFwrXChfXGRcK1wpKlwpXD0iCitzeW4gbWF0Y2ggICBlaWZmZWxDb21tZW50CSItLS4qIiBjb250YWlucz1laWZmZWxUb2RvCisKK3N5biBjYXNlIG1hdGNoCisKKyIgQ2FzZSBzZW5zaXRpdmUgc3R1ZmYKKworc3luIGtleXdvcmQgZWlmZmVsVG9kbwkJY29udGFpbmVkIFRPRE8gWFhYIEZJWE1FCitzeW4gbWF0Y2ggICBlaWZmZWxDbGFzc05hbWUJIlw8W0EtWl1bQS1aMC05X10qXD4iCisKKyIgQ2F0Y2ggbWlzbWF0Y2hlZCBwYXJlbnRoZXNlcworc3luIG1hdGNoIGVpZmZlbFBhcmVuRXJyb3IJIikiCitzeW4gcmVnaW9uIGVpZmZlbFBhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0iKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsZWlmZmVsUGFyZW5FcnJvcixlaWZmZWxTdHJpbmdFcnJvcixlaWZmZWxTdHJpbmdFc2NhcGUKKworIiBTaG91bGQgc3VmZmljZSBmb3IgZXZlbiB2ZXJ5IGxvbmcgc3RyaW5ncyBhbmQgZXhwcmVzc2lvbnMKK3N5biBzeW5jIGxpbmVzPTQwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2VpZmZlbF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9laWZmZWxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZWlmZmVsS2V5d29yZAkJU3RhdGVtZW50CisgIEhpTGluayBlaWZmZWxQcm9wZXJ0eQkJU3RhdGVtZW50CisgIEhpTGluayBlaWZmZWxJbmhlcml0Q2xhdXNlCVN0YXRlbWVudAorICBIaUxpbmsgZWlmZmVsU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgZWlmZmVsRGVjbGFyYXRpb24JU3RhdGVtZW50CisgIEhpTGluayBlaWZmZWxBc3NlcnRpb24JU3RhdGVtZW50CisgIEhpTGluayBlaWZmZWxEZWJ1ZwkJU3RhdGVtZW50CisgIEhpTGluayBlaWZmZWxFeGNlcHRpb24JU3RhdGVtZW50CisgIEhpTGluayBlaWZmZWxHZW5lcmljQ3JlYXRlCVN0YXRlbWVudAorCisKKyAgSGlMaW5rIGVpZmZlbFRvcFN0cnVjdAlQcmVQcm9jCisKKyAgSGlMaW5rIGVpZmZlbEFsbAkJU3BlY2lhbAorICBIaUxpbmsgZWlmZmVsQW5jaG9yZWQJCVNwZWNpYWwKKyAgSGlMaW5rIGVpZmZlbEJpdFR5cGUJCVNwZWNpYWwKKworCisgIEhpTGluayBlaWZmZWxCb29sCQlCb29sZWFuCisgIEhpTGluayBlaWZmZWxTdHJpbmcJCVN0cmluZworICBIaUxpbmsgZWlmZmVsQ2hhcmFjdGVyCUNoYXJhY3RlcgorICBIaUxpbmsgZWlmZmVsQ2xhc3NOYW1lCVR5cGUKKyAgSGlMaW5rIGVpZmZlbE51bWJlcgkJTnVtYmVyCisKKyAgSGlMaW5rIGVpZmZlbFN0cmluZ0VzY2FwZQlTcGVjaWFsCisKKyAgSGlMaW5rIGVpZmZlbE9wZXJhdG9yCQlTcGVjaWFsCisgIEhpTGluayBlaWZmZWxBcnJheQkJU3BlY2lhbAorICBIaUxpbmsgZWlmZmVsRXhwb3J0CQlTcGVjaWFsCisgIEhpTGluayBlaWZmZWxDcmVhdGlvbgkJU3BlY2lhbAorICBIaUxpbmsgZWlmZmVsQnJhY2tldHMJCVNwZWNpYWwKKyAgSGlMaW5rIGVpZmZlbEdlbmVyaWMJCVNwZWNpYWwKKyAgSGlMaW5rIGVpZmZlbEdlbmVyaWNEZWNsCVNwZWNpYWwKKyAgSGlMaW5rIGVpZmZlbENvbnN0cmFpbnQJU3BlY2lhbAorICBIaUxpbmsgZWlmZmVsQ3JlYXRlCQlTcGVjaWFsCisKKyAgSGlMaW5rIGVpZmZlbFByZWRlZmluZWQJQ29uc3RhbnQKKworICBIaUxpbmsgZWlmZmVsQ29tbWVudAkJQ29tbWVudAorCisgIEhpTGluayBlaWZmZWxFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIGVpZmZlbEJhZENvbnN0YW50CUVycm9yCisgIEhpTGluayBlaWZmZWxTdHJpbmdFcnJvcglFcnJvcgorICBIaUxpbmsgZWlmZmVsUGFyZW5FcnJvcglFcnJvcgorICBIaUxpbmsgZWlmZmVsQnJhY2tldEVycm9yCUVycm9yCisKKyAgSGlMaW5rIGVpZmZlbFRvZG8JCVRvZG8KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZWlmZmVsIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZWxmLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VsZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc4MDQ4OQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2VsZi52aW0KQEAgLTAsMCArMSw5NSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgIEVMRgorIiBNYWludGFpbmVyOiAgQ2hyaXN0aWFuIFYuIEouIEJy/HNzb3cgPGN2amJAY3ZqYi5kZT4KKyIgTGFzdCBDaGFuZ2U6IFNvbiAyMiBKdW4gMjAwMyAyMDo0MzoxNCBDRVNUCisiIEZpbGVuYW1lczogICAqLmFiLCouYW0KKyIgVVJMOgkgICAgICAgaHR0cDovL3d3dy5jdmpiLmRlL2NvbXAvdmltL2VsZi52aW0KKyIgJElkJAorIgorIiBFTEY6IEV4dGVuc2libGUgTGFuZ3VhZ2UgRmFjaWxpdHkKKyIgICAgICBUaGlzIGlzIHRoZSBBcHBsaXggSW5jLiwgTWFjcm8gYW5kIEJ1aWxkZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuCisiICAgICAgSXQgaGFzIG5vdGhpbmcgaW4gY29tbW9uIHdpdGggdGhlIGJpbmFyeSBmb3JtYXQgY2FsbGVkIEVMRi4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworIiBDYXNlIGRvZXMgbm90IG1hdHRlcgorc3luIGNhc2UgaWdub3JlCisKKyIgRW52aXJvbm1lbnRzCitzeW4gcmVnaW9uIGVsZkVudmlyb25tZW50IHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9U3BlY2lhbCBzdGFydD0ieyIgbWF0Y2hncm91cD1TcGVjaWFsIGVuZD0ifSIgY29udGFpbnM9QUxMQlVULGVsZkJyYWNlRXJyb3IKKworIiBVbm1hdGNoZWQgYnJhY2VzCitzeW4gbWF0Y2ggZWxmQnJhY2VFcnJvciAifSIKKworIiBBbGwgbWFjcm9zIG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgb2YgdGhlc2UgZGVmaW5pdGlvbnMKK3N5biBrZXl3b3JkIGVsZlNwZWNpYWwgZW5kbWFjcm8KK3N5biByZWdpb24gZWxmU3BlY2lhbCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPVNwZWNpYWwgc3RhcnQ9Il5cKFwobWFjcm9cKVx8XChzZXRcKVwpIFxTXCskIiBtYXRjaGdyb3VwPVNwZWNpYWwgZW5kPSJeXChcKGVuZG1hY3JvXClcfFwoZW5kc2V0XClcKSQiIGNvbnRhaW5zPUFMTEJVVCxlbGZCcmFjZUVycm9yCisKKyIgUHJlcHJvY2Vzc29yIENvbW1hbmRzCitzeW4ga2V5d29yZCBlbGZQUENvbSBkZWZpbmUgaW5jbHVkZQorCisiIFNvbWUga2V5d29yZHMKK3N5biBrZXl3b3JkIGVsZktleXdvcmQgIGZhbHNlIHRydWUgbnVsbAorc3luIGtleXdvcmQgZWxmS2V5d29yZAl2YXIgZm9ybWF0IG9iamVjdCBmdW5jdGlvbiBlbmRmdW5jdGlvbgorCisiIENvbmRpdGlvbmFscyBhbmQgbG9vcHMKK3N5biBrZXl3b3JkIGVsZkNvbmRpdGlvbmFsIGlmIGVsc2UgY2FzZSBvZiBlbmRjYXNlIGZvciB0byBuZXh0IHdoaWxlIHVudGlsIHJldHVybiBnb3RvCisKKyIgQWxsIGJ1aWx0LWluIGVsZiBtYWNyb3MgZW5kIHdpdGggYW4gJ0AnCitzeW4gbWF0Y2ggZWxmTWFjcm8gIlswLTlfQS1aYS16XVwrQCIKKworIiBTdHJpbmdzIGFuZCBjaGFyYWN0ZXJzCitzeW4gcmVnaW9uIGVsZlN0cmluZyBzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisKKworIiBOdW1iZXJzCitzeW4gbWF0Y2ggZWxmTnVtYmVyICItXD1cPFswLTldKlwuXD1bMC05X11cPiIKKworIiBDb21tZW50cworc3luIHJlZ2lvbiBlbGZDb21tZW50IHN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIKK3N5biBtYXRjaCBlbGZDb21tZW50ICAiXCcuKiQiCisKK3N5biBzeW5jIGNjb21tZW50IGVsZkNvbW1lbnQKKworIiBQYXJlbnRoZXNpcworc3luIG1hdGNoIGVsZlBhcmVucyAiW1xbXF0oKV0iCisKKyIgUHVuY3R1YXRpb24KK3N5biBtYXRjaCBlbGZQdW5jdCAiWyw7XSIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZWxmX3N5bl9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX2VsZl9zeW5faW5pdHMgPSAxCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisJZWxzZQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyLgorICBIaUxpbmsgZWxmQ29tbWVudCBDb21tZW50CisgIEhpTGluayBlbGZQUENvbSBJbmNsdWRlCisgIEhpTGluayBlbGZLZXl3b3JkIEtleXdvcmQKKyAgSGlMaW5rIGVsZlNwZWNpYWwgU3BlY2lhbAorICBIaUxpbmsgZWxmRW52aXJvbm1lbnQgU3BlY2lhbAorICBIaUxpbmsgZWxmQnJhY2VFcnJvciBFcnJvcgorICBIaUxpbmsgZWxmQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGVsZk1hY3JvIEZ1bmN0aW9uCisgIEhpTGluayBlbGZOdW1iZXIgTnVtYmVyCisgIEhpTGluayBlbGZTdHJpbmcgU3RyaW5nCisgIEhpTGluayBlbGZQYXJlbnMgRGVsaW1pdGVyCisgIEhpTGluayBlbGZQdW5jdCBEZWxpbWl0ZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZWxmIgorCisiIHZpbTp0cz04OnN3PTQ6bm9jaW5kZW50OnNtYXJ0aW5kZW50OgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZWxpbmtzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VsaW5rcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM5MmMwOAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2VsaW5rcy52aW0KQEAgLTAsMCArMSwyMDcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgICAgZWxpbmtzKDEpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy8KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgorIiBhcmNoLXRhZzoJICAgIDc0ZWFmZjU1LWNkYjUtNGQzMS04MDViLTk2MjdlYjY1MzVmMQorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBTZXQgaXNrZXl3b3JkIHNpbmNlIHdlIG5lZWQgYC0nIChhbmQgcG90ZW50aWFsbHkgb3RoZXJzKSBpbiBrZXl3b3Jkcy4KKyIgRm9yIHZlcnNpb24gNS54OiBTZXQgaXQgZ2xvYmFsbHkKKyIgRm9yIHZlcnNpb24gNi54OiBTZXQgaXQgbG9jYWxseQoraWYgdmVyc2lvbiA+PSA2MDAKKyAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgorZWxzZQorICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXQgaXNrZXl3b3JkPTxhcmdzPgorZW5kaWYKK1NldElzayBALDQ4LTU3LF8sLQorZGVsY29tbWFuZCBTZXRJc2sKKworIiBUb2RvCitzeW4ga2V5d29yZCBlbGlua3NUb2RvCSAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uICBlbGlua3NDb21tZW50ICAgbWF0Y2hncm91cD1lbGlua3NDb21tZW50IHN0YXJ0PScjJyBlbmQ9JyQnIGNvbnRhaW5zPWVsaW5rc1RvZG8KKworIiBOdW1iZXJzCitzeW4gbWF0Y2ggICBlbGlua3NOdW1iZXIgICAgJ1w8XGRcK1w+JworCisiIFN0cmluZ3MKK3N5biByZWdpb24gIGVsaW5rc1N0cmluZyAgICBtYXRjaGdyb3VwPWVsaW5rc1N0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPUBlbGlua3NDb2xvcgorCisiIEtleXdvcmRzCitzeW4ga2V5d29yZCBlbGlua3NLZXl3b3JkICAgc2V0IGJpbmQKKworIiBPcHRpb25zCitzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgYm9va21hcmtzCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgZmlsZV9mb3JtYXQKKworc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIGNvbmZpZworc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGNvbW1lbnRzIGluZGVudGF0aW9uIHNhdmluZ19zdHlsZSBpMThuCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgc2F2aW5nX3N0eWxlX3cgc2hvd190ZW1wbGF0ZQorCitzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgY29ubmVjdGlvbiBzc2wgY2xpZW50X2NlcnQKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBlbmFibGUgZmlsZSBjZXJ0X3ZlcmlmeSBhc3luY19kbnMgbWF4X2Nvbm5lY3Rpb25zCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgbWF4X2Nvbm5lY3Rpb25zX3RvX2hvc3QgcmVjZWl2ZV90aW1lb3V0IHJldHJpZXMKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB1bnJlc3RhcnRhYmxlX3JlY2VpdmVfdGltZW91dAorCitzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgY29va2llcworc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGFjY2VwdF9wb2xpY3kgbWF4X2FnZSBwYXJhbm9pZF9zZWN1cml0eSBzYXZlIHJlc2F2ZQorCitzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgZG9jdW1lbnQgYnJvd3NlIGFjY2Vzc2tleSBmb3JtcyBpbWFnZXMgbGlua3MKK3N5biBrZXl3b3JkIGVsaW5rc1ByZWZpeCAgICBhY3RpdmVfbGluayBjb2xvcnMgc2VhcmNoIGNhY2hlIGNvZGVwYWdlIGNvbG9ycworc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIGZvcm1hdCBtZW1vcnkgZG93bmxvYWQgZHVtcCBoaXN0b3J5IGdsb2JhbCBodG1sCitzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgcGxhaW4KK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBhdXRvX2ZvbGxvdyBwcmlvcml0eSBhdXRvX3N1Ym1pdCBjb25maXJtX3N1Ym1pdAorc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGlucHV0X3NpemUgc2hvd19mb3JtaGlzdCBmaWxlX3RhZ3MKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBpbWFnZV9saW5rX3RhZ2dpbmcgaW1hZ2VfbGlua19wcmVmaXgKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBpbWFnZV9saW5rX3N1ZmZpeCBzaG93X2FzX2xpbmtzIHNob3dfYW55X2FzX2xpbmtzCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYmFja2dyb3VuZCB0ZXh0IGVuYWJsZV9jb2xvciBib2xkIGludmVydCB1bmRlcmxpbmUKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBjb2xvcl9kaXJzIG51bWJlcmluZyB1c2VfdGFiaW5kZXgKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBudW1iZXJfa2V5c19zZWxlY3RfbGluayB3cmFwYXJvdW5kIGNhc2UgcmVnZXgKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBzaG93X2hpdF90b3BfYm90dG9tIHdyYXBhcm91bmQgc2hvd19ub3RfZm91bmQKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBtYXJnaW5fd2lkdGggcmVmcmVzaCBtaW5pbXVtX3JlZnJlc2hfdGltZQorc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIHNjcm9sbF9tYXJnaW4gc2Nyb2xsX3N0ZXAgdGFibGVfbW92ZV9vcmRlciBzaXplCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgc2l6ZSBjYWNoZV9yZWRpcmVjdHMgaWdub3JlX2NhY2hlX2NvbnRyb2wgYXNzdW1lCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgZm9yY2VfYXNzdW1lZCB0ZXh0IGJhY2tncm91bmQgbGluayB2bGluayBkaXJzCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYWxsb3dfZGFya19vbl9ibGFjayBlbnN1cmVfY29udHJhc3QKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB1c2VfZG9jdW1lbnRfY29sb3JzIGRpcmVjdG9yeSBzZXRfb3JpZ2luYWxfdGltZQorc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIG92ZXJ3cml0ZSBub3RpZnlfYmVsbCBjb2RlcGFnZSB3aWR0aCBlbmFibGUKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBtYXhfaXRlbXMgZGlzcGxheV90eXBlIHdyaXRlX2ludGVydmFsCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAga2VlcF91bmhpc3RvcnkgZGlzcGxheV9mcmFtZXMgZGlzcGxheV90YWJsZXMKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBleHBhbmRfdGFibGVfY29sdW1ucyBkaXNwbGF5X3N1YnMgZGlzcGxheV9zdXBzCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgbGlua19kaXNwbGF5IHVuZGVybGluZV9saW5rcyB3cmFwX25ic3AKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBkaXNwbGF5X2xpbmtzIGNvbXByZXNzX2VtcHR5X2xpbmVzCisKK3N5biBrZXl3b3JkIGVsaW5rc1ByZWZpeCAgICBtaW1lIGV4dGVuc2lvbiBoYW5kbGVyIG1haWxjYXAgbWltZXR5cGVzIHR5cGUKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBhc2sgYmxvY2sgcHJvZ3JhbSBlbmFibGUgcGF0aCBhc2sgZGVzY3JpcHRpb24KK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBwcmlvcml0aXplIGVuYWJsZSBwYXRoIGRlZmF1bHRfdHlwZQorCitzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgcHJvdG9jb2wgZmlsZSBjZ2kgZnRwIHByb3h5IGh0dHAgYnVncyBwcm94eQorc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIHJlZmVyZXIgaHR0cHMgcHJveHkgcmV3cml0ZSBkdW1iIHNtYXJ0CitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgcGF0aCBwb2xpY3kgYWxsb3dfc3BlY2lhbF9maWxlcyBzaG93X2hpZGRlbl9maWxlcworc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIHRyeV9lbmNvZGluZ19leHRlbnNpb25zIGhvc3QgYW5vbl9wYXNzd2QgdXNlX3Bhc3YKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB1c2VfZXBzdiBhY2NlcHRfY2hhcnNldCBhbGxvd19ibGFja2xpc3QKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBicm9rZW5fMzAyX3JlZGlyZWN0IHBvc3Rfbm9fa2VlcGFsaXZlIGh0dHAxMCBob3N0CitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgdXNlciBwYXNzd2QgcG9saWN5IGZha2UgYWNjZXB0X2xhbmd1YWdlCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYWNjZXB0X3VpX2xhbmd1YWdlIHRyYWNlIHVzZXJfYWdlbnQgaG9zdAorc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGVuYWJsZS1kdW1iIGVuYWJsZS1zbWFydAorCitzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgdGVybWluYWwKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB0eXBlIG0xMV9oYWNrIHV0Zl84X2lvIHJlc3RyaWN0Xzg1MiBibG9ja19jdXJzb3IKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBjb2xvcnMgdHJhbnNwYXJlbmN5IHVuZGVybGluZSBjaGFyc2V0CisKK3N5biBrZXl3b3JkIGVsaW5rc1ByZWZpeCAgICB1aSBjb2xvcnMgY29sb3IgbWFpbm1lbnUgbm9ybWFsIHNlbGVjdGVkIGhvdGtleQorc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIG1lbnUgbWFya2VkIGhvdGtleSBmcmFtZSBkaWFsb2cgZ2VuZXJpYyBmcmFtZQorc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIHNjcm9sbGJhciBzY3JvbGxiYXItc2VsZWN0ZWQgdGl0bGUgdGV4dCBjaGVja2JveAorc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIGNoZWNrYm94LWxhYmVsIGJ1dHRvbiBidXR0b24tc2VsZWN0ZWQgZmllbGQKK3N5biBrZXl3b3JkIGVsaW5rc1ByZWZpeCAgICBmaWVsZC10ZXh0IG1ldGVyIHNoYWRvdyB0aXRsZSB0aXRsZS1iYXIgdGl0bGUtdGV4dAorc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIHN0YXR1cyBzdGF0dXMtYmFyIHN0YXR1cy10ZXh0IHRhYnMgdW52aXNpdGVkIG5vcm1hbAorc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIGxvYWRpbmcgc2VwYXJhdG9yIHNlYXJjaGVkIG1vbm8KK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB0ZXh0IGJhY2tncm91bmQKKworc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIHVpIGRpYWxvZ3MgbGVkcyBzZXNzaW9ucyB0YWJzIHRpbWVyCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgbGlzdGJveF9taW5faGVpZ2h0IHNoYWRvd3MgdW5kZXJsaW5lX2hvdGtleXMgZW5hYmxlCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYXV0b19zYXZlIGF1dG9fcmVzdG9yZSBhdXRvX3NhdmVfZm9sZGVybmFtZQorc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGhvbWVwYWdlIHNob3dfYmFyIHdyYXBhcm91bmQgY29uZmlybV9jbG9zZSBlbmFibGUKK3N5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBkdXJhdGlvbiBhY3Rpb24gbGFuZ3VhZ2Ugc2hvd19zdGF0dXNfYmFyCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgc2hvd190aXRsZV9iYXIgc3RhcnR1cF9nb3RvX2RpYWxvZyBzdWNjZXNzX21zZ2JveAorc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIHdpbmRvd190aXRsZQorCitzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgc2VjdXJlX2ZpbGVfc2F2aW5nCisKKyIgQ29sb3JzCitzeW4gY2x1c3RlciBlbGlua3NDb2xvciBjb250YWlucz1lbGlua3NDb2xvckJsYWNrLGVsaW5rc0NvbG9yRGFya1JlZCxlbGlua3NDb2xvckRhcmtHcmVlbixlbGlua3NDb2xvckRhcmtZZWxsb3csZWxpbmtzQ29sb3JEYXJrQmx1ZSxlbGlua3NDb2xvckRhcmtNYWdlbnRhLGVsaW5rc0NvbG9yRGFya0N5YW4sZWxpbmtzQ29sb3JHcmF5LGVsaW5rc0NvbG9yRGFya0dyYXksZWxpbmtzQ29sb3JSZWQsZWxpbmtzQ29sb3JHcmVlbixlbGlua3NDb2xvclllbGxvdyxlbGlua3NDb2xvckJsdWUsZWxpbmtzQ29sb3JNYWdlbnRhLGVsaW5rc0NvbG9yQ3lhbixlbGlua3NDb2xvcldoaXRlCisKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yQmxhY2sJICAgIGJsYWNrIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrUmVkCSAgICBkYXJrcmVkIHNhbmR5YnJvd24gbWFyb29uIGNyaW1zb24gZmlyZWJyaWNrIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrR3JlZW4gICAgZGFya2dyZWVuIGRhcmtvbGl2ZWdyZWVuIGRhcmtzZWFncmVlbiBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya0dyZWVuICAgIGZvcmVzdGdyZWVuIG1lZGl1bXNwcmluZ2dyZWVuIHNlYWdyZWVuIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrWWVsbG93ICAgYnJvd24gYmxhbmNoZWRhbG1vbmQgY2hvY29sYXRlIGRhcmtvcmFuZ2UgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtZZWxsb3cgICBkYXJrZ29sZGVucm9kIG9yYW5nZSByb3N5YnJvd24gc2FkZGxlYnJvd24gY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtZZWxsb3cgICBwZXJ1IG9saXZlIG9saXZlZHJhYiBzaWVubmEgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtCbHVlCSAgICBkYXJrYmx1ZSBjYWRldGJsdWUgY29ybmZsb3dlcmJsdWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtCbHVlCSAgICBkYXJrc2xhdGVibHVlIGRlZXBza3libHVlIG1pZG5pZ2h0Ymx1ZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya0JsdWUJICAgIHJveWFsYmx1ZSBzdGVlbGJsdWUgbmF2eSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya01hZ2VudGEgIGRhcmttYWdlbnRhIG1lZGl1bW9yY2hpZCBtZWRpdW1wdXJwbGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtNYWdlbnRhICBtZWRpdW1zbGF0ZWJsdWUgc2xhdGVibHVlIGRlZXBwaW5rIGhvdHBpbmsgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtNYWdlbnRhICBkYXJrb3JjaGlkIG9yY2hpZCBwdXJwbGUgaW5kaWdvIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrQ3lhbgkgICAgZGFya2N5YW4gbWVkaXVtYXF1YW1hcmluZSBtZWRpdW10dXJxdW9pc2UgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtDeWFuCSAgICBkYXJrdHVycXVvaXNlIHRlYWwgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckdyYXkJICAgIHNpbHZlciBkaW1ncmF5IGxpZ2h0c2xhdGVncmF5IHNsYXRlZ3JheSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yR3JheQkgICAgbGlnaHRncmV5IGJ1cmx5d29vZCBwbHVtIHRhbiB0aGlzdGxlIGNvbnRhaW5lZAorCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtHcmF5CSAgICBncmF5IGRhcmtncmF5IGRhcmtzbGF0ZWdyYXkgZGFya3NhbG1vbiBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yUmVkCSAgICByZWQgaW5kaWFucmVkIG9yYW5nZXJlZCB0b21hdG8gbGlnaHRzYWxtb24gY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvclJlZAkgICAgc2FsbW9uIGNvcmFsIGxpZ2h0Y29yYWwgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckdyZWVuCSAgICBncmVlbiBncmVlbnllbGxvdyBsYXduZ3JlZW4gbGlnaHRncmVlbiBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yR3JlZW4JICAgIGxpZ2h0c2VhZ3JlZW4gbGltZWdyZWVuIG1lZGl1bXNlYWdyZWVuIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JHcmVlbgkgICAgc3ByaW5nZ3JlZW4geWVsbG93Z3JlZW4gcGFsZWdyZWVuIGxpbWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckdyZWVuCSAgICBjaGFydHJldXNlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JZZWxsb3cJICAgIHllbGxvdyBiZWlnZSBkYXJra2hha2kgbGlnaHRnb2xkZW5yb2R5ZWxsb3cgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvclllbGxvdwkgICAgcGFsZWdvbGRlbnJvZCBnb2xkIGdvbGRlbnJvZCBraGFraSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yWWVsbG93CSAgICBsaWdodHllbGxvdyBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yQmx1ZQkgICAgYmx1ZSBhbGljZWJsdWUgYXF1YSBhcXVhbWFyaW5lIGF6dXJlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JCbHVlCSAgICBkb2RnZXJibHVlIGxpZ2h0Ymx1ZSBsaWdodHNreWJsdWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckJsdWUJICAgIGxpZ2h0c3RlZWxibHVlIG1lZGl1bWJsdWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvck1hZ2VudGEJICAgIG1hZ2VudGEgZGFya3Zpb2xldCBibHVldmlvbGV0IGxpZ2h0cGluayBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yTWFnZW50YQkgICAgbWVkaXVtdmlvbGV0cmVkIHBhbGV2aW9sZXRyZWQgdmlvbGV0IHBpbmsgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvck1hZ2VudGEJICAgIGZ1Y2hzaWEgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckN5YW4JICAgIGN5YW4gbGlnaHRjeWFuIHBvd2RlcmJsdWUgc2t5Ymx1ZSB0dXJxdW9pc2UgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckN5YW4JICAgIHBhbGV0dXJxdW9pc2UgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvcldoaXRlCSAgICB3aGl0ZSBhbnRpcXVld2hpdGUgZmxvcmFsd2hpdGUgZ2hvc3R3aGl0ZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yV2hpdGUJICAgIG5hdmFqb3doaXRlIHdoaXRlc21va2UgbGluZW4gbGVtb25jaGlmZm9uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JXaGl0ZQkgICAgY29ybnNpbGsgbGF2ZW5kZXIgbGF2ZW5kZXJibHVzaCBzZWFzaGVsbCBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yV2hpdGUJICAgIG1pc3R5cm9zZSBpdm9yeSBwYXBheWF3aGlwIGJpc3F1ZSBnYWluc2Jvcm8gY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvcldoaXRlCSAgICBob25leWRldyBtaW50Y3JlYW0gbW9jY2FzaW4gb2xkbGFjZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yV2hpdGUJICAgIHBlYWNocHVmZiBzbm93IHdoZWF0IGNvbnRhaW5lZAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9lbGlua3Nfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZWxpbmtzX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlEZWYgaGkgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgICBjb21tYW5kIC1uYXJncz0rIEhpRGVmIGhpIGRlZiA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZWxpbmtzVG9kbwkJVG9kbworICBIaUxpbmsgZWxpbmtzQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgZWxpbmtzTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGVsaW5rc1N0cmluZwkJU3RyaW5nCisgIEhpTGluayBlbGlua3NLZXl3b3JkCQlLZXl3b3JkCisgIEhpTGluayBlbGlua3NQcmVmaXgJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGVsaW5rc09wdGlvbnMJCUlkZW50aWZpZXIKKyAgSGlEZWYgIGVsaW5rc0NvbG9yQmxhY2sJY3Rlcm1mZz1CbGFjawkgICAgZ3VpZmc9QmxhY2sKKyAgSGlEZWYgIGVsaW5rc0NvbG9yRGFya1JlZAljdGVybWZnPURhcmtSZWQJICAgIGd1aWZnPURhcmtSZWQKKyAgSGlEZWYgIGVsaW5rc0NvbG9yRGFya0dyZWVuCWN0ZXJtZmc9RGFya0dyZWVuICAgZ3VpZmc9RGFya0dyZWVuCisgIEhpRGVmICBlbGlua3NDb2xvckRhcmtZZWxsb3cJY3Rlcm1mZz1EYXJrWWVsbG93ICBndWlmZz1EYXJrWWVsbG93CisgIEhpRGVmICBlbGlua3NDb2xvckRhcmtCbHVlCWN0ZXJtZmc9RGFya0JsdWUgICAgZ3VpZmc9RGFya0JsdWUKKyAgSGlEZWYgIGVsaW5rc0NvbG9yRGFya01hZ2VudGEJY3Rlcm1mZz1EYXJrTWFnZW50YSBndWlmZz1EYXJrTWFnZW50YQorICBIaURlZiAgZWxpbmtzQ29sb3JEYXJrQ3lhbgljdGVybWZnPURhcmtDeWFuICAgIGd1aWZnPURhcmtDeWFuCisgIEhpRGVmICBlbGlua3NDb2xvckdyYXkJY3Rlcm1mZz1HcmF5CSAgICBndWlmZz1HcmF5CisgIEhpRGVmICBlbGlua3NDb2xvckRhcmtHcmF5CWN0ZXJtZmc9RGFya0dyYXkgICAgZ3VpZmc9RGFya0dyYXkKKyAgSGlEZWYgIGVsaW5rc0NvbG9yUmVkCQljdGVybWZnPVJlZAkgICAgZ3VpZmc9UmVkCisgIEhpRGVmICBlbGlua3NDb2xvckdyZWVuCWN0ZXJtZmc9R3JlZW4JICAgIGd1aWZnPUdyZWVuCisgIEhpRGVmICBlbGlua3NDb2xvclllbGxvdwljdGVybWZnPVllbGxvdwkgICAgZ3VpZmc9WWVsbG93CisgIEhpRGVmICBlbGlua3NDb2xvckJsdWUJY3Rlcm1mZz1CbHVlCSAgICBndWlmZz1CbHVlCisgIEhpRGVmICBlbGlua3NDb2xvck1hZ2VudGEJY3Rlcm1mZz1NYWdlbnRhCSAgICBndWlmZz1NYWdlbnRhCisgIEhpRGVmICBlbGlua3NDb2xvckN5YW4JY3Rlcm1mZz1DeWFuCSAgICBndWlmZz1DeWFuCisgIEhpRGVmICBlbGlua3NDb2xvcldoaXRlCWN0ZXJtZmc9V2hpdGUJICAgIGd1aWZnPVdoaXRlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKKyAgZGVsY29tbWFuZCBIaURlZgorZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZWxpbmtzIgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9lbG1maWx0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2VsbWZpbHQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwZjIyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9lbG1maWx0LnZpbQpAQCAtMCwwICsxLDcwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJRWxtIEZpbHRlciBydWxlcworIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgorIiBMYXN0IENoYW5nZToJU2VwIDAyLCAyMDAzCisiIFZlcnNpb246CTMKKyIgVVJMOglodHRwOi8vd3d3LmVyb2xzLmNvbS9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjdmltbGlua3Nfc3ludGF4CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNsdXN0ZXIgZWxtZmlsdElmR3JvdXAJY29udGFpbnM9ZWxtZmlsdENvbmQsZWxtZmlsdE9wZXIsZWxtZmlsdE9wZXJLZXksLGVsbWZpbHROdW1iZXIsZWxtZmlsdE9wZXJLZXkKKworc3luIG1hdGNoCWVsbWZpbHRQYXJlbkVycm9yCSJbKCldIgorc3luIG1hdGNoCWVsbWZpbHRNYXRjaEVycm9yCSIvIgorc3luIHJlZ2lvbgllbG1maWx0SWYJc3RhcnQ9Ilw8aWZcPiIgZW5kPSJcPHRoZW5cPiIJY29udGFpbnM9ZWxtZmlsdFBhcmVuLGVsbWZpbHRQYXJlbkVycm9yIHNraXBubCBza2lwd2hpdGUgbmV4dGdyb3VwPWVsbWZpbHRBY3Rpb24KK3N5biByZWdpb24JZWxtZmlsdFBhcmVuCWNvbnRhaW5lZAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iKCIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSIpIgljb250YWlucz1lbG1maWx0UGFyZW4sQGVsbWZpbHRJZkdyb3VwLGVsbWZpbHRUaGVuRXJyb3IKK3N5biByZWdpb24JZWxtZmlsdE1hdGNoCWNvbnRhaW5lZAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iLyIgc2tpcD0iXFwvIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9Ii8iCXNraXBubCBza2lwd2hpdGUgbmV4dGdyb3VwPWVsbWZpbHRPcGVyLGVsbWZpbHRPcGVyS2V5CitzeW4gbWF0Y2gJZWxtZmlsdFRoZW5FcnJvcgkiXDx0aGVuLiokIgorc3luIG1hdGNoCWVsbWZpbHRDb21tZW50CSJeIy4qJCIJCWNvbnRhaW5zPUBTcGVsbAorCitzeW4ga2V5d29yZAllbG1maWx0QWN0aW9uCWNvbnRhaW5lZAlkZWxldGUgZXhlY3V0ZSBleGVjdXRlYyBmb3J3YXJkIGZvcndhcmRjIGxlYXZlIHNhdmUgc2F2ZWNvcHkgc2tpcG5sIHNraXB3aGl0ZSBuZXh0Z3JvdXA9ZWxtZmlsdFN0cmluZworc3luIG1hdGNoCWVsbWZpbHRBcmcJY29udGFpbmVkCSJbXlxcXSVbJjAtOWREaG1yc1N0eSZdImxjPTEKKworc3luIG1hdGNoCWVsbWZpbHRPcGVyS2V5CWNvbnRhaW5lZAkiXDxjb250YWluc1w+IgkJCXNraXBubCBza2lwd2hpdGUgbmV4dGdyb3VwPWVsbWZpbHRTdHJpbmcKK3N5biBtYXRjaAllbG1maWx0T3BlcktleQljb250YWluZWQJIlw8bWF0Y2hlc1xzIgkJCW5leHRncm91cD1lbG1maWx0TWF0Y2gsZWxtZmlsdFNwYWNlRXJyb3IKK3N5biBrZXl3b3JkCWVsbWZpbHRDb25kCWNvbnRhaW5lZAljYyBiY2MgbGluZXMgYWx3YXlzIHN1YmplY3Qgc2VuZGVyIGZyb20gdG8gbGluZXMgcmVjZWl2ZWQJc2tpcG5sIHNraXB3aGl0ZSBuZXh0Z3JvdXA9ZWxtZmlsdFN0cmluZworc3luIG1hdGNoCWVsbWZpbHROdW1iZXIJY29udGFpbmVkCSJcZFwrIgorc3luIGtleXdvcmQJZWxtZmlsdE9wZXJLZXkJY29udGFpbmVkCWFuZCBub3QJCQkJc2tpcG5sIHNraXB3aGl0ZSBuZXh0Z3JvdXA9ZWxtZmlsdE9wZXIsZWxtZmlsdE9wZXJLZXksZWxtZmlsdFN0cmluZworc3luIG1hdGNoCWVsbWZpbHRPcGVyCWNvbnRhaW5lZAkiXH4iCQkJCXNraXBubCBza2lwd2hpdGUgbmV4dGdyb3VwPWVsbWZpbHRNYXRjaAorc3luIG1hdGNoCWVsbWZpbHRPcGVyCWNvbnRhaW5lZAkiPD1cfD49XHwhPVx8PFx8PFx8PSIJCXNraXBubCBza2lwd2hpdGUgbmV4dGdyb3VwPWVsbWZpbHRTdHJpbmcsZWxtZmlsdENvbmQsZWxtZmlsdE9wZXJLZXkKK3N5biByZWdpb24JZWxtZmlsdFN0cmluZwljb250YWluZWQJc3RhcnQ9JyInIHNraXA9JyJcKFxcXFxcKSpcXFsiJV0nIGVuZD0nIicJY29udGFpbnM9ZWxtZmlsdEFyZyBza2lwbmwgc2tpcHdoaXRlIG5leHRncm91cD1lbG1maWx0T3BlcixlbG1maWx0T3BlcktleQorc3luIHJlZ2lvbgllbG1maWx0U3RyaW5nCWNvbnRhaW5lZAlzdGFydD0iJyIgc2tpcD0iJ1woXFxcXFwpKlxcWyclXSIgZW5kPSInIgljb250YWlucz1lbG1maWx0QXJnIHNraXBubCBza2lwd2hpdGUgbmV4dGdyb3VwPWVsbWZpbHRPcGVyLGVsbWZpbHRPcGVyS2V5CitzeW4gbWF0Y2gJZWxtZmlsdFNwYWNlRXJyb3IJY29udGFpbmVkCSJccy4qJCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZWxtZmlsdF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9lbG1maWx0X3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGVsbWZpbHRBY3Rpb24JU3RhdGVtZW50CisgIEhpTGluayBlbG1maWx0QXJnCVNwZWNpYWwKKyAgSGlMaW5rIGVsbWZpbHRDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGVsbWZpbHRDb25kCVN0YXRlbWVudAorICBIaUxpbmsgZWxtZmlsdElmCVN0YXRlbWVudAorICBIaUxpbmsgZWxtZmlsdE1hdGNoCVNwZWNpYWwKKyAgSGlMaW5rIGVsbWZpbHRNYXRjaEVycm9yCUVycm9yCisgIEhpTGluayBlbG1maWx0TnVtYmVyCU51bWJlcgorICBIaUxpbmsgZWxtZmlsdE9wZXIJT3BlcmF0b3IKKyAgSGlMaW5rIGVsbWZpbHRPcGVyS2V5CVR5cGUKKyAgSGlMaW5rIGVsbWZpbHRQYXJlbkVycm9yCUVycm9yCisgIEhpTGluayBlbG1maWx0U3BhY2VFcnJvcglFcnJvcgorICBIaUxpbmsgZWxtZmlsdFN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIGVsbWZpbHRUaGVuRXJyb3IJRXJyb3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZWxtZmlsdCIKKyIgdmltOiB0cz05CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9lcmxhbmcudmltIGIvcnVudGltZS9zeW50YXgvZXJsYW5nLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGZmYjM5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZXJsYW5nLnZpbQpAQCAtMCwwICsxLDIyNCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgIGVybGFuZyAoRVJpY3Nzb24gTEFOR3VhZ2UpCisiCSAgICAgICBodHRwOi8vd3d3LmVybGFuZy5zZQorIgkgICAgICAgaHR0cDovL3d3dy5lcmxhbmcub3JnCisiIE1haW50YWluZXI6ICBLcmW5aW1pciBNYXK+aeYgKEtyZXNpbWlyIE1hcnppYykgPGttYXJ6aWNAZmx5LnNyay5mZXIuaHI+CisiIExhc3QgdXBkYXRlOiBGcmksIDE1LUZlYi0yMDAyCisiIEZpbGVuYW1lczogICAuZXJsCisiIFVSTDoJICAgICAgIGh0dHA6Ly93d3cuc3JrLmZlci5oci9+a21hcnppYy92aW0vc3ludGF4L2VybGFuZy52aW0KKworCisiIFRoZXJlIGFyZSB0aHJlZSBzZXRzIG9mIGhpZ2hsaWdodGluZyBpbiBoZXJlOgorIiBPbmUgaXMgImVybGFuZ19jaGFyYWN0ZXJzIiwgc2Vjb25kIGlzICJlcmxhbmdfZnVuY3Rpb25zIiBhbmQgdGhpcmQKKyIgaXMgImVybGFuZ19rZXl3b3JkcyIuCisiIElmIHlvdSB3YW50IHRvIGRpc2FibGUga2V5d29yZHMgaGlnaGxpZ2h0aW5nLCBwdXQgaW4geW91ciAudmltcmM6CisiICAgICAgIGxldCBlcmxhbmdfa2V5d29yZHM9MQorIiBJZiB5b3Ugd2FudCB0byBkaXNhYmxlIGVybGFuZyBCSUYgaGlnaGxpZ2h0aW5nLCBwdXQgaW4geW91ciAudmltcmMKKyIgdGhpczoKKyIgICAgICAgbGV0IGVybGFuZ19mdW5jdGlvbnM9MQorIiBJZiB5b3Ugd2FudCB0byBkaXNhYmxlIHNwZWNpYWwgY2hhcmFjdGVycyBoaWdobGlnaHRpbmcsIHB1dCBpbgorIiB5b3VyIC52aW1yYzoKKyIgICAgICAgbGV0IGVybGFuZ19jaGFyYWN0ZXJzPTEKKworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorCXN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cyAoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworCisiIENhc2Ugc2Vuc2l0aXZlCitzeW4gY2FzZSBtYXRjaAorCisKK2lmICEgZXhpc3RzICgiZXJsYW5nX2NoYXJhY3RlcnMiKQorCSIgQmFzaWMgZWxlbWVudHMKKwlzeW4gbWF0Y2ggICBlcmxhbmdDb21tZW50CSAgICslLiokKworCXN5biBtYXRjaCAgIGVybGFuZ01vZGlmaWVyCSAgICJcflxhXHxcXFxhIiBjb250YWluZWQKKwlzeW4gbWF0Y2ggICBlcmxhbmdTcGVjaWFsQ2hhcmFjdGVyICI6XHxfXHxAXHxcXFx8XCJcfFwuIgorCXN5biBtYXRjaCAgIGVybGFuZ1NlcGFyYXRvcgkgICAiKFx8KVx8e1x8fVx8XFtcfF1cfHxcfHx8XHw7XHwsXHw/XHwtPlx8IyIgY29udGFpbmVkCisJc3luIHJlZ2lvbiAgZXJsYW5nU3RyaW5nCSAgIHN0YXJ0PSsiKyBza2lwPStcXCIrIGVuZD0rIisgY29udGFpbnM9ZXJsYW5nTW9kaWZpZXIKKwlzeW4gcmVnaW9uICBlcmxhbmdBdG9tCQkgICBzdGFydD0rJysgc2tpcD0rXFwnKyBlbmQ9KycrCisKKwkiIE9wZXJhdG9ycworCXN5biBtYXRjaCAgIGVybGFuZ09wZXJhdG9yCSAgICIrXHwtXHxcKlx8XC8iCisJc3luIGtleXdvcmQgZXJsYW5nT3BlcmF0b3IJICAgZGl2IHJlbSBvciB4b3IgYm9yIGJ4b3IgYnNsIGJzcgorCXN5biBrZXl3b3JkIGVybGFuZ09wZXJhdG9yCSAgIGFuZCBiYW5kIG5vdCBibm90CisJc3luIG1hdGNoICAgZXJsYW5nT3BlcmF0b3IJICAgIj09XHwvPVx8PTo9XHw9Lz1cfDxcfD08XHw+XHw+PSIKKwlzeW4gbWF0Y2ggICBlcmxhbmdPcGVyYXRvcgkgICAiKytcfC0tXHw9XHwhXHw8LSIKKworCSIgTnVtYmVycworCXN5biBtYXRjaCAgIGVybGFuZ051bWJlckludGVnZXIgICAgIlsrLV1cPVxkXCsiIGNvbnRhaW5zPWVybGFuZ1NlcGFyYXRvcgorCXN5biBtYXRjaCAgIGVybGFuZ051bWJlckZsb2F0MQkgICAiWystXVw9XGRcKy5cZFwrIiBjb250YWlucz1lcmxhbmdTZXBhcmF0b3IKKwlzeW4gbWF0Y2ggICBlcmxhbmdOdW1iZXJGbG9hdDIJICAgIlsrLV1cPVxkXCtcKC5cZFwrXClcPVtlRV1bKy1dXD1cZFwrXCguXGRcK1wpXD0iIGNvbnRhaW5zPWVybGFuZ1NlcGFyYXRvcgorCXN5biBtYXRjaCAgIGVybGFuZ051bWJlckZsb2F0MwkgICAiWystXVw9XGRcK1sjXVx4XCsiIGNvbnRhaW5zPWVybGFuZ1NlcGFyYXRvcgorCXN5biBtYXRjaCAgIGVybGFuZ051bWJlckZsb2F0NAkgICAiWystXVw9W2VFXVsrLV1cPVxkXCsiIGNvbnRhaW5zPWVybGFuZ1NlcGFyYXRvcgorCXN5biBtYXRjaCAgIGVybGFuZ051bWJlckhleAkgICAiJFx4XCsiIGNvbnRhaW5zPWVybGFuZ1NlcGFyYXRvcgorCisJIiBJZ25vcmUgJ18nIGFuZCAnLScgaW4gd29yZHMKKwlzeW4gbWF0Y2ggICBlcmxhbmdXb3JkCQkgICAiXHdcK1tfLV1cK1x3XCsiCisKKwkiIElnbm9yZSBudW1iZXJzIGluIHdvcmRzCisJc3luIG1hdGNoICAgZXJsYW5nV29yZAkJICAgIlx3XCtcZFwrXChcKC5cZFwrXClcPVwoXHdcK1wpXD1cKVw9IgorZW5kaWYKKworaWYgISBleGlzdHMgKCJlcmxhbmdfZnVuY3Rpb25zIikKKwkiIEZ1bmN0aW9ucyBjYWxsCisJc3luIG1hdGNoICAgZXJsYW5nRkNhbGwgICAgICAiXHdcK1woXHNcK1wpXD1bOkBdXChcc1wrXClcPVx3XCsiIGNvbnRhaW5zPUFMTEJVVCxlcmxhbmdGdW5jdGlvbixlcmxhbmdCSUYsZXJsYW5nV29yZAorCisJIiBidWlsZC1pbi1mdW5jdGlvbnMgKEJJRnMpCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgYWJzIGFsaXZlIGFwcGx5IGF0b21fdG9fbGlzdAorCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGJpbmFyeV90b19saXN0IGJpbmFyeV90b190ZXJtCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgY29uY2F0X2JpbmFyeQorCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGRhdGUgZGlzY29ubmVjdF9ub2RlCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgZWxlbWVudCBlcmFzZSBleGl0CisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgZmxvYXQgZmxvYXRfdG9fbGlzdAorCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGdldCBnZXRfa2V5cyBncm91cF9sZWFkZXIKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBoYWx0IGhkCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgaW50ZWdlcl90b19saXN0IGlzX2FsaXZlCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgbGVuZ3RoIGxpbmsgbGlzdF90b19hdG9tIGxpc3RfdG9fYmluYXJ5CisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgbGlzdF90b19mbG9hdCBsaXN0X3RvX2ludGVnZXIgbGlzdF90b19waWQKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBsaXN0X3RvX3R1cGxlIGxvYWRfbW9kdWxlCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgbWFrZV9yZWYgbW9uaXRvcl9ub2RlCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgbm9kZSBub2RlcyBub3cKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBvcGVuX3BvcnQKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBwaWRfdG9fbGlzdCBwcm9jZXNzX2ZsYWcKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBwcm9jZXNzX2luZm8gcHJvY2VzcyBwdXQKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICByZWdpc3RlciByZWdpc3RlcmVkIHJvdW5kCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgc2VsZiBzZXRlbGVtZW50IHNpemUgc3Bhd24KKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBzcGF3bl9saW5rIHNwbGl0X2JpbmFyeSBzdGF0aXN0aWNzCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgdGVybV90b19iaW5hcnkgdGhyb3cgdGltZSB0bCB0cnVuYworCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIHR1cGxlX3RvX2xpc3QKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICB1bmxpbmsgdW5yZWdpc3RlcgorCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIHdoZXJlaXMKKworCSIgT3RoZXIgQklGcworCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGF0b20gYmluYXJ5IGNvbnN0YW50IGZ1bmN0aW9uIGludGVnZXIKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBsaXN0IG51bWJlciBwaWQgcG9ydHMgcG9ydF9jbG9zZSBwb3J0X2luZm8KKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICByZWZlcmVuY2UgcmVjb3JkCisKKwkiIGVybGFuZzpCSUZzCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgY2hlY2tfcHJvY2Vzc19jb2RlIGRlbGV0ZV9tb2R1bGUKKwlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBnZXRfY29va2llIGhhc2ggbWF0aCBtb2R1bGVfbG9hZGVkCisJc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgcHJlbG9hZGVkIHByb2Nlc3NlcyBwdXJnZV9tb2R1bGUgc2V0X2Nvb2tpZQorCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIHNldF9ub2RlCisKKwkiIGZ1bmN0aW9ucyBvZiBtYXRoIGxpYnJhcnkKKwlzeW4ga2V5d29yZCBlcmxhbmdGdW5jdGlvbiAgIGFjb3MgYXNpbiBhdGFuIGF0YW4yIGNvcyBjb3NoIGV4cAorCXN5biBrZXl3b3JkIGVybGFuZ0Z1bmN0aW9uICAgbG9nIGxvZzEwIHBpIHBvdyBwb3dlciBzaW4gc2luaCBzcXJ0CisJc3luIGtleXdvcmQgZXJsYW5nRnVuY3Rpb24gICB0YW4gdGFuaAorCisJIiBPdGhlciBmdW5jdGlvbnMKKwlzeW4ga2V5d29yZCBlcmxhbmdGdW5jdGlvbiAgIGNhbGwgbW9kdWxlX2luZm8gcGFyc2VfdHJhbnNmb3JtCisJc3luIGtleXdvcmQgZXJsYW5nRnVuY3Rpb24gICB1bmRlZmluZWRfZnVuY3Rpb24KKworCSIgTW9kdWxlcworCXN5biBrZXl3b3JkIGVybGFuZ01vZHVsZSAgICAgZXJyb3JfaGFuZGxlcgorZW5kaWYKKworaWYgISBleGlzdHMgKCJlcmxhbmdfa2V5d29yZHMiKQorCSIgQ29uc3RhbnRzIGFuZCBEaXJlY3RpdmVzCisJc3luIG1hdGNoICAgZXJsYW5nRGlyZWN0aXZlICAiLWNvbXBpbGVcfC1kZWZpbmVcfC1lbHNlXHwtZW5kaWZcfC1leHBvcnRcfC1maWxlIgorCXN5biBtYXRjaCAgIGVybGFuZ0RpcmVjdGl2ZSAgIi1pZmRlZlx8LWlmbmRlZlx8LWltcG9ydFx8LWluY2x1ZGVcfC1pbmNsdWRlX2xpYiIKKwlzeW4gbWF0Y2ggICBlcmxhbmdEaXJlY3RpdmUgICItbW9kdWxlXHwtcmVjb3JkXHwtdW5kZWYiCisKKwlzeW4gbWF0Y2ggICBlcmxhbmdDb25zdGFudCAgICItYXV0aG9yXHwtY29weXJpZ2h0XHwtZG9jIgorCisJIiBLZXl3b3JkcworCXN5biBrZXl3b3JkIGVybGFuZ0tleXdvcmQgICAgYWZ0ZXIgYmVnaW4gY2FzZSBjYXRjaAorCXN5biBrZXl3b3JkIGVybGFuZ0tleXdvcmQgICAgY29uZCBlbmQgZnVuIGlmCisJc3luIGtleXdvcmQgZXJsYW5nS2V5d29yZCAgICBsZXQgb2YgcXVlcnkgcmVjZWl2ZQorCXN5biBrZXl3b3JkIGVybGFuZ0tleXdvcmQgICAgd2hlbgorCisJIiBQcm9jZXNzZXMKKwlzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIGNyZWF0aW9uIGN1cnJlbnRfZnVuY3Rpb24gZGljdGlvbmFyeQorCXN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgZ3JvdXBfbGVhZGVyIGhlYXBfc2l6ZSBoaWdoIGluaXRpYWxfY2FsbAorCXN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgbGlua2VkIGxvdyBtZW1vcnlfaW5fdXNlIG1lc3NhZ2VfcXVldWUKKwlzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIG5ldF9rZXJuZWwgbm9kZSBub3JtYWwgcHJpb3JpdHkKKwlzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIHJlZHVjdGlvbnMgcmVnaXN0ZXJlZF9uYW1lIHJ1bm5hYmxlCisJc3luIGtleXdvcmQgZXJsYW5nUHJvY2VzcyAgICBydW5uaW5nIHN0YWNrX3RyYWNlIHN0YXR1cyB0aW1lcgorCXN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgdHJhcF9leGl0IHdhaXRpbmcKKworCSIgUG9ydHMKKwlzeW4ga2V5d29yZCBlcmxhbmdQb3J0ICAgICAgIGNvbW1hbmQgY291bnRfaW4gY291bnRfb3V0IGNyZWF0aW9uIGluCisJc3luIGtleXdvcmQgZXJsYW5nUG9ydCAgICAgICBpbl9mb3JtYXQgbGlua2VkIG5vZGUgb3V0IG93bmVyIHBhY2tldGluZworCisJIiBOb2RlcworCXN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgYXRvbV90YWJsZXMgY29tbXVuaWNhdGluZyBjcmVhdGlvbgorCXN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgY3VycmVudF9nYyBjdXJyZW50X3JlZHVjdGlvbnMgY3VycmVudF9ydW50aW1lCisJc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBjdXJyZW50X3dhbGxfY2xvY2sgZGlzdHJpYnV0aW9uX3BvcnQKKwlzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIGVudHJ5X3BvaW50cyBlcnJvcl9oYW5kbGVyIGZyaWVuZHMKKwlzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIGdhcmJhZ2VfY29sbGVjdGlvbiBtYWdpY19jb29raWUgbWFnaWNfY29va2llcworCXN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgbW9kdWxlX3RhYmxlIG1vbml0b3JlZF9ub2RlcyBuYW1lIG5leHRfcmVmCisJc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBwb3J0cyBwcmVsb2FkZWQgcHJvY2Vzc2VzIHJlZHVjdGlvbnMKKwlzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIHJlZl9zdGF0ZSByZWdpc3RyeSBydW50aW1lIHdhbGxfY2xvY2sKKworCSIgUmVzZXJ2ZWQKKwlzeW4ga2V5d29yZCBlcmxhbmdSZXNlcnZlZCAgIGFwcGx5X2xhbWJkYSBtb2R1bGVfaW5mbyBtb2R1bGVfbGFtYmRhcworCXN5biBrZXl3b3JkIGVybGFuZ1Jlc2VydmVkICAgcmVjb3JkIHJlY29yZF9pbmRleCByZWNvcmRfaW5mbworCisJIiBFeHRyYXMKKwlzeW4ga2V5d29yZCBlcmxhbmdFeHRyYSAgICAgIGJhZGFyZyBub2Nvb2tpZSBmYWxzZSBmdW4gdHJ1ZQorCisJIiBTaWduYWxzCisJc3luIGtleXdvcmQgZXJsYW5nU2lnbmFsICAgICBiYWRzaWcga2lsbCBraWxsZWQgZXhpdCBub3JtYWwKK2VuZGlmCisKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMgKCJkaWRfZXJsYW5nX2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfZXJsYW5nX2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCSIgZXJsYW5nX2NoYXJhY3RlcnMKKwlIaUxpbmsgZXJsYW5nQ29tbWVudCBDb21tZW50CisJSGlMaW5rIGVybGFuZ1NwZWNpYWxDaGFyYWN0ZXIgU3BlY2lhbAorCUhpTGluayBlcmxhbmdTZXBhcmF0b3IgTm9ybWFsCisJSGlMaW5rIGVybGFuZ01vZGlmaWVyIFNwZWNpYWwKKwlIaUxpbmsgZXJsYW5nT3BlcmF0b3IgT3BlcmF0b3IKKwlIaUxpbmsgZXJsYW5nU3RyaW5nIFN0cmluZworCUhpTGluayBlcmxhbmdBdG9tIFR5cGUKKworCUhpTGluayBlcmxhbmdOdW1iZXJJbnRlZ2VyIE51bWJlcgorCUhpTGluayBlcmxhbmdOdW1iZXJGbG9hdDEgRmxvYXQKKwlIaUxpbmsgZXJsYW5nTnVtYmVyRmxvYXQyIEZsb2F0CisJSGlMaW5rIGVybGFuZ051bWJlckZsb2F0MyBGbG9hdAorCUhpTGluayBlcmxhbmdOdW1iZXJGbG9hdDQgRmxvYXQKKwlIaUxpbmsgZXJsYW5nTnVtYmVySGV4IE51bWJlcgorCisJSGlMaW5rIGVybGFuZ1dvcmQgTm9ybWFsCisKKwkiIGVybGFuZ19mdW5jdGlvbnMKKwlIaUxpbmsgZXJsYW5nRkNhbGwgRnVuY3Rpb24KKwlIaUxpbmsgZXJsYW5nQklGIEZ1bmN0aW9uCisJSGlMaW5rIGVybGFuZ0Z1bmN0aW9uIEZ1bmN0aW9uCisJSGlMaW5rIGVybGFuZ01vZHVsZUZ1bmN0aW9uIEZ1bmN0aW9uCisKKwkiIGVybGFuZ19rZXl3b3JkcworCUhpTGluayBlcmxhbmdEaXJlY3RpdmUgVHlwZQorCUhpTGluayBlcmxhbmdDb25zdGFudCBUeXBlCisJSGlMaW5rIGVybGFuZ0tleXdvcmQgS2V5d29yZAorCUhpTGluayBlcmxhbmdQcm9jZXNzIFNwZWNpYWwKKwlIaUxpbmsgZXJsYW5nUG9ydCBTcGVjaWFsCisJSGlMaW5rIGVybGFuZ05vZGUgU3BlY2lhbAorCUhpTGluayBlcmxhbmdSZXNlcnZlZCBTdGF0ZW1lbnQKKwlIaUxpbmsgZXJsYW5nRXh0cmEgU3RhdGVtZW50CisJSGlMaW5rIGVybGFuZ1NpZ25hbCBTdGF0ZW1lbnQKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImVybGFuZyIKKworIiBlb2YKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VzcWxjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VzcWxjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWQxNjdhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZXNxbGMudmltCkBAIC0wLDAgKzEsNzUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglFU1FMLUMKKyIgTWFpbnRhaW5lcjoJSm9uYXRoYW4gQS4gR2VvcmdlIDxqYWdlb3JnZUB0ZWwuZ3RlLmNvbT4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDA5CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBSZWFkIHRoZSBDKysgc3ludGF4IHRvIHN0YXJ0IHdpdGgKK2lmIHZlcnNpb24gPCA2MDAKKyAgc291cmNlIDxzZmlsZT46cDpoL2NwcC52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2NwcC52aW0KK2VuZGlmCisKKyIgRVNRTC1DIGV4dGVudGlvbnMKKworc3ludGF4IGtleXdvcmQgZXNxbGNQcmVQcm9jCUVYRUMgU1FMIElOQ0xVREUKKworc3ludGF4IGNhc2UgaWdub3JlCisKK3N5bnRheCBrZXl3b3JkIGVzcWxjUHJlUHJvYwliZWdpbiBlbmQgZGVjbGFyZSBzZWN0aW9uIGRhdGFiYXNlIG9wZW4gZXhlY3V0ZQorc3ludGF4IGtleXdvcmQgZXNxbGNQcmVQcm9jCXByZXBhcmUgZmV0Y2ggZ290byBjb250aW51ZSBmb3VuZCBzcWxlcnJvciB3b3JrCisKK3N5bnRheCBrZXl3b3JkIGVzcWxjS2V5d29yZAlhY2Nlc3MgYWRkIGFzIGFzYyBieSBjaGVjayBjbHVzdGVyIGNvbHVtbgorc3ludGF4IGtleXdvcmQgZXNxbGNLZXl3b3JkCWNvbXByZXNzIGNvbm5lY3QgY3VycmVudCBkZWNpbWFsCitzeW50YXgga2V5d29yZCBlc3FsY0tleXdvcmQJZGVzYyBleGNsdXNpdmUgZmlsZSBmcm9tIGdyb3VwCitzeW50YXgga2V5d29yZCBlc3FsY0tleXdvcmQJaGF2aW5nIGlkZW50aWZpZWQgaW1tZWRpYXRlIGluY3JlbWVudCBpbmRleAorc3ludGF4IGtleXdvcmQgZXNxbGNLZXl3b3JkCWluaXRpYWwgaW50byBpcyBsZXZlbCBtYXhleHRlbnRzIG1vZGUgbW9kaWZ5CitzeW50YXgga2V5d29yZCBlc3FsY0tleXdvcmQJbm9jb21wcmVzcyBub3dhaXQgb2Ygb2ZmbGluZSBvbiBvbmxpbmUgc3RhcnQKK3N5bnRheCBrZXl3b3JkIGVzcWxjS2V5d29yZAlzdWNjZXNzZnVsIHN5bm9ueW0gdGFibGUgdGhlbiB0byB0cmlnZ2VyIHVpZAorc3ludGF4IGtleXdvcmQgZXNxbGNLZXl3b3JkCXVuaXF1ZSB1c2VyIHZhbGlkYXRlIHZhbHVlcyB2aWV3IHdoZW5ldmVyCitzeW50YXgga2V5d29yZCBlc3FsY0tleXdvcmQJd2hlcmUgd2l0aCBvcHRpb24gb3JkZXIgcGN0ZnJlZSBwcml2aWxlZ2VzCitzeW50YXgga2V5d29yZCBlc3FsY0tleXdvcmQJcHVibGljIHJlc291cmNlIHJvdyByb3dsYWJlbCByb3dudW0gcm93cworc3ludGF4IGtleXdvcmQgZXNxbGNLZXl3b3JkCXNlc3Npb24gc2hhcmUgc2l6ZSBzbWFsbGludAorCitzeW50YXgga2V5d29yZCBlc3FsY09wZXJhdG9yCW5vdCBhbmQgb3IKK3N5bnRheCBrZXl3b3JkIGVzcWxjT3BlcmF0b3IJaW4gYW55IHNvbWUgYWxsIGJldHdlZW4gZXhpc3RzCitzeW50YXgga2V5d29yZCBlc3FsY09wZXJhdG9yCWxpa2UgZXNjYXBlCitzeW50YXgga2V5d29yZCBlc3FsY09wZXJhdG9yCWludGVyc2VjdCBtaW51cworc3ludGF4IGtleXdvcmQgZXNxbGNPcGVyYXRvcglwcmlvciBkaXN0aW5jdAorc3ludGF4IGtleXdvcmQgZXNxbGNPcGVyYXRvcglzeXNkYXRlCisKK3N5bnRheCBrZXl3b3JkIGVzcWxjU3RhdGVtZW50CWFsdGVyIGFuYWx5emUgYXVkaXQgY29tbWVudCBjb21taXQgY3JlYXRlCitzeW50YXgga2V5d29yZCBlc3FsY1N0YXRlbWVudAlkZWxldGUgZHJvcCBleHBsYWluIGdyYW50IGluc2VydCBsb2NrIG5vYXVkaXQKK3N5bnRheCBrZXl3b3JkIGVzcWxjU3RhdGVtZW50CXJlbmFtZSByZXZva2Ugcm9sbGJhY2sgc2F2ZXBvaW50IHNlbGVjdCBzZXQKK3N5bnRheCBrZXl3b3JkIGVzcWxjU3RhdGVtZW50CXRydW5jYXRlIHVwZGF0ZQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9lc3FsY19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9lc3FsY19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBlc3FsY09wZXJhdG9yCU9wZXJhdG9yCisgIEhpTGluayBlc3FsY1N0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIGVzcWxjS2V5d29yZAllc3FsY1NwZWNpYWwKKyAgSGlMaW5rIGVzcWxjU3BlY2lhbAlTcGVjaWFsCisgIEhpTGluayBlc3FsY1ByZVByb2MJUHJlUHJvYworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJlc3FsYyIKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZXRlcm0udmltIGIvcnVudGltZS9zeW50YXgvZXRlcm0udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljZjM4ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9ldGVybS52aW0KQEAgLTAsMCArMSwyMDAgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgICAgRXRlcm0gY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgorIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL2V0ZXJtLworIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTA2CisiIGFyY2gtdGFnOgkgICAgZjRjNThjYWYtMmI5MS00ZmM0LTk2YWYtZTNjYWQ3YzcwZTZiCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIG1hZ2ljIG51bWJlcgorc3luIG1hdGNoICAgZXRlcm1NYWdpYwkJZGlzcGxheSAiXjxFdGVybS1bMC05Ll1cKz4kIgorCisiIGNvbW1lbnRzCitzeW4gcmVnaW9uICBldGVybUNvbW1lbnQJbWF0Y2hncm91cD1ldGVybUNvbW1lbnQgc3RhcnQ9Il4jIiBlbmQ9IiQiIGNvbnRhaW5zPWV0ZXJtVG9kbworCisiIHRvZG8KK3N5biBrZXl3b3JkIGV0ZXJtVG9kbwkJY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworIiBudW1iZXJzCitzeW4gbWF0Y2ggICBldGVybU51bWJlcgkJY29udGFpbmVkIGRpc3BsYXkgIlw8XChcZFwrXHwweFx4XHsxLDJ9XClcPiIKKworIiBzdHJpbmdzCitzeW4gcmVnaW9uICBldGVybVN0cmluZwkJY29udGFpbmVkIGRpc3BsYXkgb25lbGluZSBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCisKKyIgYm9vbGVhbnMKK3N5biBrZXl3b3JkIGV0ZXJtQm9vbGVhbgljb250YWluZWQgb24gb2ZmIHRydWUgZmFsc2UgeWVzIG5vCisKKyIgY29sb3JzIChub3QgcHJldHR5LCBidXQgY2FuJ3QgZmlndXJlIG91dCBiZXR0ZXIgd2F5Li4uKQorc3luIG1hdGNoICAgZXRlcm1Db2xvcgkJY29udGFpbmVkIGRpc3BsYXkgIlxzXCsjXHhcezZ9XD4iCitzeW4ga2V5d29yZCBldGVybUNvbG9yCQljb250YWluZWQgd2hpdGUgYmxhY2sKKworIiBwcmVwcm9jCitzeW4gbWF0Y2ggICBldGVybVByZVByb2MJY29udGFpbmVkICIlXChhcHBuYW1lXHxleGVjXHxnZXRcfHB1dFx8cmFuZG9tXHx2ZXJzaW9uXHxpbmNsdWRlXHxwcmVwcm9jXCkoImhlPWUtMQorCisiIGZ1bmN0aW9ucworc3luIG1hdGNoICAgZXRlcm1GdW5jdGlvbnMJY29udGFpbmVkICJcPFwoY29weVx8ZXhpdFx8a2lsbFx8bm9wXHxwYXN0ZVx8c2F2ZVx8c2Nyb2xsXHxzZWFyY2hcfHNwYXduXCkoIgorCisiIGFuZCBtYWtlIGl0IGVhc3kgdG8gcmVmZXIgdG8gdGhlIGFib3ZlLi4uCitzeW4gY2x1c3RlciBldGVybUdlbmVyYWwJY29udGFpbnM9ZXRlcm1Db21tZW50LGV0ZXJtTnVtYmVyLGV0ZXJtU3RyaW5nLGV0ZXJtQm9vbGVhbixldGVybUNvbG9yLGV0ZXJtRnVuY3Rpb24sZXRlcm1QcmVQcm9jCisKKyIga2V5IG1vZGlmaWVycworc3luIGtleXdvcmQgZXRlcm1LZXlNb2QJCWNvbnRhaW5lZCBjdHJsIHNoaWZ0IGxvY2sgbW9kMSBtb2QyIG1vZDMgbW9kNCBtb2Q1IGFsdCBtZXRhIGFueW1vZAorc3luIGtleXdvcmQgZXRlcm1LZXlNb2QJCWNvbnRhaW5lZCBidXR0b24xIGJ1dHRvbjIgYnV0dG9uMyBidXR0b240IGJ1dHRvbjUKKworIiBjb2xvciBjb250ZXh0CitzeW4gcmVnaW9uICBldGVybUNvbG9yT3B0aW9ucwljb250YWluZWQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqdmlkZW9cPiIgbWF0Y2hncm91cD1ldGVybVR5cGUgZW5kPSJcPFwobm9ybWFsXHxyZXZlcnNlXClcPiIKK3N5biByZWdpb24gIGV0ZXJtQ29sb3JPcHRpb25zCWNvbnRhaW5lZCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccypjb2xvclw+IiBtYXRjaGdyb3VwPWV0ZXJtVHlwZSBlbmQ9Ilw8XChiZFx8dWxcfFswLTldXHwxWzAtNV1cKVw+Igorc3luIGtleXdvcmQgZXRlcm1Db2xvck9wdGlvbnMJY29udGFpbmVkIGZvcmVncm91bmQgYmFja2dyb3VuZCBjdXJzb3IgY3Vyc29yX3RleHQgcG9pbnRlcgorCitzeW4gcmVnaW9uICBldGVybUNvbG9yQ29udGV4dAlmb2xkIHRyYW5zcGFyZW50ICBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK2NvbG9yXHMqJCIgZW5kPSJeXHMqZW5kXD5cKFxzXCsuXHstMCx9XClcPSQiIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1Db2xvck9wdGlvbnMKKworIiBhdHRyaWJ1dGVzIGNvbnRleHQKK3N5biByZWdpb24gIGV0ZXJtQXR0ck9wdGlvbnMJY29udGFpbmVkIG9uZWxpbmUgbWF0Y2hncm91cD1ldGVybU9wdGlvbiBzdGFydD0iXlxzKmdlb21ldHJ5XD4iIG1hdGNoZ3JvdXA9ZXRlcm1UeXBlIGVuZD0iXDxcZFwreFxkXCsrXGRcKytcZFwrXD4iCitzeW4gcmVnaW9uICBldGVybUF0dHJPcHRpb25zCWNvbnRhaW5lZCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccypzY3JvbGxiYXJfdHlwZVw+IiBtYXRjaGdyb3VwPWV0ZXJtVHlwZSBlbmQ9Ilw8XChtb3RpZlx8eHRlcm1cfG5leHRcKVw+Igorc3luIHJlZ2lvbiAgZXRlcm1BdHRyT3B0aW9ucwljb250YWluZWQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqZm9udFw+IiBtYXRjaGdyb3VwPWV0ZXJtVHlwZSBlbmQ9Ilw8XChib2xkXHxkZWZhdWx0XHxwcm9wb3J0aW9uYWxcfGZ4XHxbMC01XVwpXD4iCitzeW4ga2V5d29yZCBldGVybUF0dHJPcHRpb25zCWNvbnRhaW5lZCB0aXRsZSBuYW1lIGljb25uYW1lIGRlc2t0b3Agc2Nyb2xsYmFyX3dpZHRoCisKK3N5biByZWdpb24gIGV0ZXJtQXR0ckNvbnRleHQJZm9sZCB0cmFuc3BhcmVudCAgbWF0Y2hncm91cD1ldGVybUNvbnRleHQgc3RhcnQ9Il5ccypiZWdpblxzXCthdHRyaWJ1dGVzXHMqJCIgZW5kPSJeXHMqZW5kXD5cKFxzXCsuXHstMCx9XClcPSQiIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1BdHRyT3B0aW9ucworCisiIGltYWdlIGNvbnRleHQKKyIgaW1hZ2UgdHlwZXMKK3N5biBrZXl3b3JkIGV0ZXJtSW1hZ2VUeXBlcwljb250YWluZWQgYmFja2dyb3VuZCB0cm91Z2ggYW5jaG9yIHVwX2Fycm93CitzeW4ga2V5d29yZCBldGVybUltYWdlVHlwZXMJY29udGFpbmVkIGxlZnRfYXJyb3cgcmlnaHRfYXJyb3cgbWVudSBtZW51aXRlbQorc3luIGtleXdvcmQgZXRlcm1JbWFnZVR5cGVzCWNvbnRhaW5lZCBzdWJtZW51IGJ1dHRvbiBidXR0b25iYXIgZG93bl9hcnJvdworc3luIHJlZ2lvbiAgZXRlcm1JbWFnZU9wdGlvbnMJY29udGFpbmVkIHRyYW5zcGFyZW50IG9uZWxpbmUgbWF0Y2hncm91cD1ldGVybU9wdGlvbiBzdGFydD0iXlxzKnR5cGVcPiIgZW5kPSIkIiBjb250YWlucz1ldGVybUltYWdlVHlwZXMKKyIgaW1hZ2UgbW9kZXMKK3N5biBrZXl3b3JkIGV0ZXJtSW1hZ2VNb2Rlcwljb250YWluZWQgaW1hZ2UgdHJhbnMgdmlld3BvcnQgYXV0byBzb2xpZAorc3luIGtleXdvcmQgZXRlcm1JbWFnZU1vZGVzQWxsb3cgY29udGFpbmVkIGFsbG93CitzeW4gcmVnaW9uICBldGVybUltYWdlT3B0aW9ucwljb250YWluZWQgdHJhbnNwYXJlbnQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqbW9kZVw+IiBlbmQ9IiQiIGNvbnRhaW5zPWV0ZXJtSW1hZ2VNb2RlcyxldGVybUltYWdlTW9kZXNBbGxvdworIiBpbWFnZSBzdGF0ZXMKK3N5biByZWdpb24gIGV0ZXJtSW1hZ2VPcHRpb25zCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccypzdGF0ZVw+IiBtYXRjaGdyb3VwPWV0ZXJtVHlwZSBlbmQ9Ilw8XChub3JtYWxcfHNlbGVjdGVkXHxjbGlja2VkXHxkaXNhYmxlZFwpXD4iCisiIGltYWdlIGdlb21ldHJ5CitzeW4gcmVnaW9uICBldGVybUltYWdlT3B0aW9ucwljb250YWluZWQgdHJhbnNwYXJlbnQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqZ2VvbVw+IiBtYXRjaGdyb3VwPWV0ZXJtVHlwZSBlbmQ9IlxzXCtcKFxkXCt4XGRcKytcZFwrK1xkXCtcKVw9OlwoXCh0aWxlXHxzY2FsZVx8aHNjYWxlXHx2c2NhbGVcfHByb3BzY2FsZVwpZFw9XClcPSIKKyIgaW1hZ2UgY29sb3IgbW9kaWZpY2F0aW9uCitzeW4gcmVnaW9uICBldGVybUltYWdlT3B0aW9ucwljb250YWluZWQgdHJhbnNwYXJlbnQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqXChjbW9kXHxjb2xvcm1vZFwpXD4iIG1hdGNoZ3JvdXA9ZXRlcm1UeXBlIGVuZD0iXDxcKGltYWdlXHxyZWRcfGdyZWVuXHxibHVlXClcPiIKKyIgb3RoZXIga2V5d29yZHMKK3N5biBrZXl3b3JkIGV0ZXJtSW1hZ2VPcHRpb25zCWNvbnRhaW5lZCBmaWxlIHBhZGRpbmcgYm9yZGVyIGJldmVsIGNvbG9yCisKK3N5biByZWdpb24gIGV0ZXJtSW1hZ2VDb250ZXh0CWNvbnRhaW5lZCB0cmFuc3BhcmVudCBmb2xkIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wraW1hZ2VccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybUltYWdlT3B0aW9ucworCisiIGltYWdlY2xhc3NlcyBjb250ZXh0CitzeW4ga2V5d29yZCBldGVybUlDbGFzc09wdGlvbnMJY29udGFpbmVkIGljb24gY2FjaGUgcGF0aCBhbmltCisKK3N5biByZWdpb24gIGV0ZXJtSUNsYXNzQ29udGV4dAlmb2xkIHRyYW5zcGFyZW50ICBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK2ltYWdlY2xhc3Nlc1xzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtSW1hZ2VDb250ZXh0LGV0ZXJtSUNsYXNzT3B0aW9ucworCisiIG1lbnVpdGVtIGNvbnRleHQKK3N5biByZWdpb24gIGV0ZXJtTWVudUl0ZW1PcHRpb25zIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccyphY3Rpb25cPiIgbWF0Y2hncm91cD1ldGVybVR5cGUgZW5kPSJcPHN0cmluZ1x8ZWNob1x8c3VibWVudVx8c2NyaXB0XHxzZXBhcmF0b3JcPiIKK3N5biBrZXl3b3JkIGV0ZXJtTWVudUl0ZW1PcHRpb25zIGNvbnRhaW5lZCB0ZXh0IHJ0ZXh0CisKK3N5biByZWdpb24gIGV0ZXJtTWVudUl0ZW1Db250ZXh0IGZvbGQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1ldGVybUNvbnRleHQgc3RhcnQ9Il5ccypiZWdpblxzXCttZW51aXRlbVxzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtTWVudUl0ZW1PcHRpb25zCisKKyIgbWVudSBjb250ZXh0IChzaG91bGQgY29udGFpbiAtIGFzIHdlbGwsIGJ1dCBuby4uLikKK3N5biBrZXl3b3JkIGV0ZXJtTWVudU9wdGlvbnMgICAgY29udGFpbmVkIHRpdGxlIGZvbnRfbmFtZSBzZXAKKworc3luIHJlZ2lvbiAgZXRlcm1NZW51Q29udGV4dCAgICBmb2xkIHRyYW5zcGFyZW50ICBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK21lbnVccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybU1lbnVPcHRpb25zLGV0ZXJtTWVudUl0ZW1Db250ZXh0CisKKyIgYWN0aW9uIGNvbnRleHQKK3N5biBtYXRjaCAgIGV0ZXJtQWN0aW9uRGVmCWNvbnRhaW5lZCAiXDxcKHRvXHxzdHJpbmdcfGVjaG9cfG1lbnVcfHNjcmlwdFwpXD4iCitzeW4gcmVnaW9uICBldGVybUFjdGlvbnNPcHRpb25zCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccypiaW5kXD4iIGVuZD0iJCIgY29udGFpbnM9ZXRlcm1BY3Rpb25EZWYsZXRlcm1LZXlNb2QKKworc3luIHJlZ2lvbiAgZXRlcm1BY3Rpb25zQ29udGV4dAlmb2xkIHRyYW5zcGFyZW50ICBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK2FjdGlvbnNccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybUFjdGlvbnNPcHRpb25zCisKKyIgYnV0dG9uIGJhciBjb250ZXh0CitzeW4gbWF0Y2ggICBldGVybUJ1dHRvbkRlZgljb250YWluZWQgIlw8XChhY3Rpb25cfHN0cmluZ1x8ZWNob1x8bWVudVx8c2NydXB0XClcPiIKK3N5biByZWdpb24gIGV0ZXJtQnV0dG9uT3B0aW9ucwljb250YWluZWQgdHJhbnNwYXJlbnQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqYnV0dG9uXD4iIGVuZD0iJCIgY29udGFpbnM9ZXRlcm1CdXR0b25EZWYKK3N5biBrZXl3b3JkIGV0ZXJtQnV0dG9uT3B0aW9ucwljb250YWluZWQgZm9udCB2aXNpYmxlIGRvY2sKKworc3luIHJlZ2lvbiAgZXRlcm1CdXR0b25Db250ZXh0CWZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wrYnV0dG9uX2JhclxzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtQnV0dG9uT3B0aW9ucworCisiIG11bHRpY2hhciBjb250ZXh0CitzeW4ga2V5d29yZCBldGVybU11bHRpT3B0aW9ucwljb250YWluZWQgZW5jb2RpbmcgZm9udAorCitzeW4gcmVnaW9uICBldGVybU11bHRpQ29udGV4dAlmb2xkIHRyYW5zcGFyZW50ICBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK211bHRpY2hhclxzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtTXVsdGlPcHRpb25zCisKKyIgeGltIGNvbnRleHQKK3N5biBrZXl3b3JkIGV0ZXJtWGltT3B0aW9ucyAgICAgY29udGFpbmVkIGlucHV0X21ldGhvZCBwcmVlZGl0X3R5cGUKKworc3luIHJlZ2lvbiAgZXRlcm1YaW1Db250ZXh0CWZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wreGltXHMqJCIgZW5kPSJeXHMqZW5kXD5cKFxzXCsuXHstMCx9XClcPSQiIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1YaW1PcHRpb25zCisKKyIgdG9nZ2xlcyBjb250ZXh0CitzeW4ga2V5d29yZCBldGVybVRvZ09wdGlvbnMJY29udGFpbmVkIG1hcF9hbGVydCB2aXN1YWxfYmVsbCBsb2dpbl9zaGVsbCBzY3JvbGxiYXIgdXRtcF9sb2dnaW5nIG1ldGE4IGljb25pYyBub19pbnB1dAorc3luIGtleXdvcmQgZXRlcm1Ub2dPcHRpb25zCWNvbnRhaW5lZCBob21lX29uX291dHB1dCBob21lX29uX2lucHV0IHNjcm9sbGJhcl9mbG9hdGluZyBzY3JvbGxiYXJfcmlnaHQgc2Nyb2xsYmFyX3BvcHVwCitzeW4ga2V5d29yZCBldGVybVRvZ09wdGlvbnMJY29udGFpbmVkIGJvcmRlcmxlc3MgZG91YmxlX2J1ZmZlciBub19jdXJzb3IgcGF1c2UgeHRlcm1fc2VsZWN0IHNlbGVjdF9saW5lCitzeW4ga2V5d29yZCBldGVybVRvZ09wdGlvbnMJY29udGFpbmVkIHNlbGVjdF90cmFpbGluZ19zcGFjZXMgcmVwb3J0X2FzX2tleXN5bXMgaXRyYW5zIGltbW90aWxlX3RyYW5zIGJ1dHRvbmJhcgorc3luIGtleXdvcmQgZXRlcm1Ub2dPcHRpb25zCWNvbnRhaW5lZCByZXNpemVfZ3Jhdml0eQorCitzeW4gcmVnaW9uICBldGVybVRvZ0NvbnRleHQJZm9sZCB0cmFuc3BhcmVudCAgbWF0Y2hncm91cD1ldGVybUNvbnRleHQgc3RhcnQ9Il5ccypiZWdpblxzXCt0b2dnbGVzXHMqJCIgZW5kPSJeXHMqZW5kXD5cKFxzXCsuXHstMCx9XClcPSQiIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1Ub2dPcHRpb25zCisKKyIga2V5Ym9hcmQgY29udGV4dAorc3luIGtleXdvcmQgZXRlcm1LZXlib2FyZE9wdGlvbnMgY29udGFpbmVkIHNtYWxsZm9udF9rZXkgYmlnZm9udF9rZXkga2V5c3ltIG1ldGFfbW9kIGFsdF9tb2QKK3N5biBrZXl3b3JkIGV0ZXJtS2V5Ym9hcmRPcHRpb25zIGNvbnRhaW5lZCBncmVlayBudW1sb2NrX21vZCBhcHBfa2V5cGFkIGFwcF9jdXJzb3IKKworc3luIHJlZ2lvbiAgZXRlcm1LZXlib2FyZENvbnRleHQgZm9sZCB0cmFuc3BhcmVudCAgbWF0Y2hncm91cD1ldGVybUNvbnRleHQgc3RhcnQ9Il5ccypiZWdpblxzXCtrZXlib2FyZFxzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtS2V5Ym9hcmRPcHRpb25zCisKKyIgbWlzYyBjb250ZXh0CitzeW4ga2V5d29yZCBldGVybU1pc2NPcHRpb25zCWNvbnRhaW5lZCBwcmludF9waXBlIHNhdmVfbGluZXMgY3V0X2NoYXJzIG1pbl9hbmNob3Jfc2l6ZQorc3luIGtleXdvcmQgZXRlcm1NaXNjT3B0aW9ucwljb250YWluZWQgYm9yZGVyX3dpZHRoIGxpbmVfc3BhY2UgZmluaXNoZWRfdGl0bGUgdGVybV9uYW1lCitzeW4ga2V5d29yZCBldGVybU1pc2NPcHRpb25zCWNvbnRhaW5lZCBmaW5pc2hlZF90ZXh0IGV4ZWMKKworc3luIHJlZ2lvbiAgZXRlcm1NaXNjQ29udGV4dAlmb2xkIHRyYW5zcGFyZW50ICBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK21pc2NccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybU1pc2NPcHRpb25zCisKK2lmIGV4aXN0cygiZXRlcm1fbWlubGluZXMiKQorICBsZXQgYjpldGVybV9taW5saW5lcyA9IGV0ZXJtX21pbmxpbmVzCitlbHNlCisgIGxldCBiOmV0ZXJtX21pbmxpbmVzID0gMzAKK2VuZGlmCitleGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gYjpldGVybV9taW5saW5lcworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ldGVybV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9ldGVybV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBldGVybU1hZ2ljCQlTcGVjaWFsCisgIEhpTGluayBldGVybUNvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGV0ZXJtVG9kbwkJVG9kbworICBIaUxpbmsgZXRlcm1OdW1iZXIJCU51bWJlcgorICBIaUxpbmsgZXRlcm1TdHJpbmcJCVN0cmluZworICBIaUxpbmsgZXRlcm1Cb29sZWFuCQlCb29sZWFuCisgIEhpTGluayBldGVybUNvbG9yCQlOdW1iZXIKKyAgSGlMaW5rIGV0ZXJtUHJlUHJvYwkJUHJlUHJvYworICBIaUxpbmsgZXRlcm1GdW5jdGlvbnMgICAgCUZ1bmN0aW9uCisgIEhpTGluayBldGVybUtleU1vZAkJU3BlY2lhbAorICBIaUxpbmsgZXRlcm1Db250ZXh0CQlLZXl3b3JkCisgIEhpTGluayBldGVybU9wdGlvbgkJS2V5d29yZAorICBIaUxpbmsgZXRlcm1UeXBlCQlUeXBlCisgIEhpTGluayBldGVybUNvbG9yT3B0aW9ucwlLZXl3b3JkCisgIEhpTGluayBldGVybUF0dHJPcHRpb25zCUtleXdvcmQKKyAgSGlMaW5rIGV0ZXJtSUNsYXNzT3B0aW9ucwlLZXl3b3JkCisgIEhpTGluayBldGVybUltYWdlVHlwZXMJVHlwZQorICBIaUxpbmsgZXRlcm1JbWFnZU1vZGVzCVR5cGUKKyAgSGlMaW5rIGV0ZXJtSW1hZ2VNb2Rlc0FsbG93CUtleXdvcmQKKyAgSGlMaW5rIGV0ZXJtSW1hZ2VPcHRpb25zCUtleXdvcmQKKyAgSGlMaW5rIGV0ZXJtTWVudU9wdGlvbnMJS2V5d29yZAorICBIaUxpbmsgZXRlcm1NZW51SXRlbU9wdGlvbnMJS2V5d29yZAorICBIaUxpbmsgZXRlcm1BY3Rpb25EZWYJVHlwZQorICBIaUxpbmsgZXRlcm1BY3Rpb25zT3B0aW9ucwlLZXl3b3JkCisgIEhpTGluayBldGVybUJ1dHRvbkRlZglUeXBlCisgIEhpTGluayBldGVybUJ1dHRvbk9wdGlvbnMJS2V5d29yZAorICBIaUxpbmsgZXRlcm1NdWx0aU9wdGlvbnMJS2V5d29yZAorICBIaUxpbmsgZXRlcm1YaW1PcHRpb25zCUtleXdvcmQKKyAgSGlMaW5rIGV0ZXJtVG9nT3B0aW9ucwlLZXl3b3JkCisgIEhpTGluayBldGVybUtleWJvYXJkT3B0aW9ucwlLZXl3b3JkCisgIEhpTGluayBldGVybU1pc2NPcHRpb25zCUtleXdvcmQKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImV0ZXJtIgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9leGltLnZpbSBiL3J1bnRpbWUvc3ludGF4L2V4aW0udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmODA2NmYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9leGltLnZpbQpAQCAtMCwwICsxLDExNyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgVGhpcyBpcyBhIEdFTkVSQVRFRCBGSUxFLiBQbGVhc2UgYWx3YXlzIHJlZmVyIHRvIHNvdXJjZSBmaWxlIGF0IHRoZSBVUkkgYmVsb3cuCisiIExhbmd1YWdlOiBFeGltIGNvbmZpZ3VyYXRpb24gZmlsZSBleGltLmNvbmYKKyIgTWFpbnRhaW5lcjogRGF2aWQgTmVcdntjfWFzIChZZXRpKSA8eWV0aUBwaHlzaWNzLm11bmkuY3o+CisiIExhc3QgQ2hhbmdlOiAyMDAyLTEwLTE1CisiIFVSTDogaHR0cDovL3RyaWZpYy5hdGguY3gvRnRwL3ZpbS9zeW50YXgvZXhpbS52aW0KKworIiBTZXR1cAoraWYgdmVyc2lvbiA+PSA2MDAKKwlpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCQlmaW5pc2gKKwllbmRpZgorZWxzZQorCXN5bnRheCBjbGVhcgorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKKworIiBCYXNlIGNvbnN0cnVjdHMKK3N5biBtYXRjaCBleGltQ29tbWVudCAiXlxzKiMuKiQiIGNvbnRhaW5zPWV4aW1GaXhtZQorc3luIG1hdGNoIGV4aW1Db21tZW50ICJccyMuKiQiIGNvbnRhaW5zPWV4aW1GaXhtZQorc3luIGtleXdvcmQgZXhpbUZpeG1lIEZJWE1FIFRPRE8gWFhYIE5PVCBjb250YWluZWQKK3N5biBrZXl3b3JkIGV4aW1Db25zdGFudCB0cnVlIGZhbHNlIHllcyBubworc3luIG1hdGNoIGV4aW1OdW1iZXIgIlw8XGRcK1tLTV1cP1w+Igorc3luIG1hdGNoIGV4aW1OdW1iZXIgIlw8MFt4WF1ceFwrXD4iCitzeW4gbWF0Y2ggZXhpbU51bWJlciAiXDxcZFwrXChcLlxkXHssM31cKVw/XD4iCitzeW4gbWF0Y2ggZXhpbVRpbWUgIlw8XChcZFwrW3dkaG1zXVwpXCtcPiIKK3N5biBtYXRjaCBleGltU3BlY2lhbENoYXIgIlxcW1xcbnJ0XVx8XFxcb1x7MSwzfVx8XFx4XHhcezEsMn0iCitzeW4gcmVnaW9uIGV4aW1NYWNyb0RlZmluaXRpb24gbWF0Y2hncm91cD1leGltTWFjcm9OYW1lIHN0YXJ0PSJeW0EtWl1caSpccyo9IiBlbmQ9IiQiIHNraXA9IlxcXHMqJCIgdHJhbnNwYXJlbnQKKworc3luIG1hdGNoIGV4aW1Ecml2ZXJOYW1lICJcPFwoYWxpYXNmaWxlXHxhcHBlbmRmaWxlXHxhdXRvcmVwbHlcfGRvbWFpbmxpc3RcfGZvcndhcmRmaWxlXHxpcGxpdGVyYWxcfGlwbG9va3VwXHxsbXRwXHxsb2NhbHVzZXJcfGxvb2t1cGhvc3RcfHBpcGVcfHF1ZXJ5cHJvZ3JhbVx8c21hcnR1c2VyXHxzbXRwXClcPiIKK3N5biBtYXRjaCBleGltVHJhbnNwb3J0ICJeXHMqXGlcKzoiCisKKyIgT3B0aW9ucworc3luIGtleXdvcmQgZXhpbUVuZCBlbmQKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIGFjY2VwdF84Yml0bWltZSBhY2NlcHRfdGltZW91dCBhZG1pbl9ncm91cHMgYWxsb3dfbXhfdG9faXAgYWx3YXlzX2JjYyBhdXRoX2Fsd2F5c19hZHZlcnRpc2UgYXV0aF9ob3N0cyBhdXRoX292ZXJfdGxzX2hvc3RzIGF1dG9fdGhhdyBiaV9jb21tYW5kIGNoZWNrX2xvZ19pbm9kZXMgY2hlY2tfbG9nX3NwYWNlIGNoZWNrX3Nwb29sX2lub2RlcyBjaGVja19zcG9vbF9zcGFjZSBjb2xsYXBzZV9zb3VyY2Vfcm91dGVzIGRhZW1vbl9zbXRwX3BvcnQgZGFlbW9uX3NtdHBfc2VydmljZSBkZWJ1Z19sZXZlbCBkZWxheV93YXJuaW5nIGRlbGF5X3dhcm5pbmdfY29uZGl0aW9uIGRlbGl2ZXJfbG9hZF9tYXggZGVsaXZlcl9xdWV1ZV9sb2FkX21heCBkZWxpdmVyeV9kYXRlX3JlbW92ZSBkbnNfYWdhaW5fbWVhbnNfbm9uZXhpc3QgZG5zX2NoZWNrX25hbWVzIGRuc19jaGVja19uYW1lc19wYXR0ZXJuIGRuc19yZXRyYW5zIGRuc19pcHY0X2xvb2t1cCBkbnNfcmV0cnkgZW52ZWxvcGVfdG9fcmVtb3ZlIGVycm1zZ190ZXh0IGVycm1zZ19maWxlIGVycm9yc19hZGRyZXNzIGVycm9yc19jb3B5IGVycm9yc19yZXBseV90byBleGltX2dyb3VwIGV4aW1fcGF0aCBleGltX3VzZXIgZXh0cmFjdF9hZGRyZXNzZXNfcmVtb3ZlX2FyZ3VtZW50cyBmaW5kdXNlcl9yZXRyaWVzIGZvcmJpZF9kb21haW5fbGl0ZXJhbHMgZnJlZXplX3RlbGxfbWFpbG1hc3RlciBnZWNvc19uYW1lIGdlY29zX3BhdHRlcm4gaGVhZGVyc19jaGVja19zeW50YXggaGVhZGVyc19jaGVja3NfZmFpbCBoZWFkZXJzX3NlbmRlcl92ZXJpZnkgaGVhZGVyc19zZW5kZXJfdmVyaWZ5X2Vycm1zZyBoZWxvX2FjY2VwdF9qdW5rX2hvc3RzIGhlbG9fc3RyaWN0X3N5bnRheCBoZWxvX3ZlcmlmeSBob2xkX2RvbWFpbnMgaG9zdF9hY2NlcHRfcmVsYXkgaG9zdF9hdXRoX2FjY2VwdF9yZWxheSBob3N0X2xvb2t1cCBob3N0X3JlamVjdCBob3N0X3JlamVjdF9yZWNpcGllbnRzIGhvc3RzX3RyZWF0X2FzX2xvY2FsIGlnbm9yZV9lcnJtc2dfZXJyb3JzIGlnbm9yZV9lcnJtc2dfZXJyb3JzX2FmdGVyIGlnbm9yZV9mcm9tbGluZV9ob3N0cyBpZ25vcmVfZnJvbWxpbmVfbG9jYWwga2VlcF9tYWxmb3JtZWQga2lsbF9pcF9vcHRpb25zIGxkYXBfZGVmYXVsdF9zZXJ2ZXJzIGxvY2FsX2RvbWFpbnMgbG9jYWxfZG9tYWluc19pbmNsdWRlX2hvc3QgbG9jYWxfZG9tYWluc19pbmNsdWRlX2hvc3RfbGl0ZXJhbHMgbG9jYWxfZnJvbV9jaGVjayBsb2NhbF9mcm9tX3ByZWZpeCBsb2NhbF9mcm9tX3N1ZmZpeCBsb2NhbF9pbnRlcmZhY2VzIGxvY2FsaG9zdF9udW1iZXIgbG9jYWxseV9jYXNlbGVzcyBsb2dfYWxsX3BhcmVudHMgbG9nX2FyZ3VtZW50cyBsb2dfZmlsZV9wYXRoIGxvZ19pbmNvbWluZ19wb3J0IGxvZ19pcF9vcHRpb25zIGxvZ19sZXZlbCBsb2dfcXVldWVfcnVuX2xldmVsIGxvZ19yZWNlaXZlZF9yZWNpcGllbnRzIGxvZ19yZWNlaXZlZF9zZW5kZXIgbG9nX3JlZnVzZWRfcmVjaXBpZW50cyBsb2dfcmV3cml0ZXMgbG9nX3NlbmRlcl9vbl9kZWxpdmVyeSBsb2dfc210cF9jb25maXJtYXRpb24gbG9nX3NtdHBfY29ubmVjdGlvbnMgbG9nX3NtdHBfc3ludGF4X2Vycm9ycyBsb2dfc3ViamVjdCBsb29rdXBfb3Blbl9tYXggbWF4X3VzZXJuYW1lX2xlbmd0aCBtZXNzYWdlX2JvZHlfdmlzaWJsZSBtZXNzYWdlX2ZpbHRlciBtZXNzYWdlX2ZpbHRlcl9kaXJlY3RvcnlfdHJhbnNwb3J0IG1lc3NhZ2VfZmlsdGVyX2RpcmVjdG9yeTJfdHJhbnNwb3J0IG1lc3NhZ2VfZmlsdGVyX2ZpbGVfdHJhbnNwb3J0IG1lc3NhZ2VfZmlsdGVyX2dyb3VwIG1lc3NhZ2VfZmlsdGVyX3BpcGVfdHJhbnNwb3J0IG1lc3NhZ2VfZmlsdGVyX3JlcGx5X3RyYW5zcG9ydCBtZXNzYWdlX2ZpbHRlcl91c2VyIG1lc3NhZ2VfaWRfaGVhZGVyX3RleHQgbWVzc2FnZV9zaXplX2xpbWl0IG1lc3NhZ2Vfc2l6ZV9saW1pdF9jb3VudF9yZWNpcGllbnRzIG1vdmVfZnJvemVuX21lc3NhZ2VzIG15c3FsX3NlcnZlcnMgbmV2ZXJfdXNlcnMgbm9ib2R5X2dyb3VwIG5vYm9keV91c2VyIHBlcmNlbnRfaGFja19kb21haW5zIHBlcmxfYXRfc3RhcnQgcGVybF9zdGFydHVwIHBnc3FsX3NlcnZlcnMgcGlkX2ZpbGVfcGF0aCBwcmVzZXJ2ZV9tZXNzYWdlX2xvZ3MgcHJpbWFyeV9ob3N0bmFtZSBwcmludF90b3BiaXRjaGFycyBwcm9kX3JlcXVpcmVzX2FkbWluIHByb2hpYml0aW9uX21lc3NhZ2UgcXVhbGlmeV9kb21haW4gcXVhbGlmeV9yZWNpcGllbnQgcXVldWVfbGlzdF9yZXF1aXJlc19hZG1pbiBxdWV1ZV9vbmx5IHF1ZXVlX29ubHlfZmlsZSBxdWV1ZV9vbmx5X2xvYWQgcXVldWVfcmVtb3RlX2RvbWFpbnMgcXVldWVfcnVuX2luX29yZGVyIHF1ZXVlX3J1bl9tYXggcXVldWVfc210cF9kb21haW5zIHJibF9kb21haW5zIHJibF9ob3N0cyByYmxfbG9nX2hlYWRlcnMgcmJsX2xvZ19yY3B0X2NvdW50IHJibF9yZWplY3RfcmVjaXBpZW50cyByYmxfd2Fybl9oZWFkZXIgcmVjZWl2ZWRfaGVhZGVyX3RleHQgcmVjZWl2ZWRfaGVhZGVyc19tYXggcmVjZWl2ZXJfdHJ5X3ZlcmlmeSByZWNlaXZlcl91bnF1YWxpZmllZF9ob3N0cyByZWNlaXZlcl92ZXJpZnkgcmVjZWl2ZXJfdmVyaWZ5X2FkZHJlc3NlcyByZWNlaXZlcl92ZXJpZnlfaG9zdHMgcmVjZWl2ZXJfdmVyaWZ5X3NlbmRlcnMgcmVjaXBpZW50c19tYXggcmVjaXBpZW50c19tYXhfcmVqZWN0IHJlY2lwaWVudHNfcmVqZWN0X2V4Y2VwdCByZWNpcGllbnRzX3JlamVjdF9leGNlcHRfc2VuZGVycyByZWZ1c2VfaXBfb3B0aW9ucyByZWxheV9kb21haW5zIHJlbGF5X2RvbWFpbnNfaW5jbHVkZV9sb2NhbF9teCByZWxheV9tYXRjaF9ob3N0X29yX3NlbmRlciByZW1vdGVfbWF4X3BhcmFsbGVsIHJlbW90ZV9zb3J0IHJldHJ5X2RhdGFfZXhwaXJlIHJldHJ5X2ludGVydmFsX21heCByZXR1cm5fcGF0aF9yZW1vdmUgcmV0dXJuX3NpemVfbGltaXQgcmZjMTQxM19ob3N0cyByZmMxNDEzX3F1ZXJ5X3RpbWVvdXQgc2VjdXJpdHkgc2VuZGVyX2FkZHJlc3NfcmVsYXkgc2VuZGVyX2FkZHJlc3NfcmVsYXlfaG9zdHMgc2VuZGVyX3JlamVjdCBzZW5kZXJfcmVqZWN0X3JlY2lwaWVudHMgc2VuZGVyX3RyeV92ZXJpZnkgc2VuZGVyX3VucXVhbGlmaWVkX2hvc3RzIHNlbmRlcl92ZXJpZnkgc2VuZGVyX3ZlcmlmeV9iYXRjaCBzZW5kZXJfdmVyaWZ5X2NhbGxiYWNrX2RvbWFpbnMgc2VuZGVyX3ZlcmlmeV9jYWxsYmFja190aW1lb3V0IHNlbmRlcl92ZXJpZnlfZml4dXAgc2VuZGVyX3ZlcmlmeV9ob3N0cyBzZW5kZXJfdmVyaWZ5X2hvc3RzX2NhbGxiYWNrIHNlbmRlcl92ZXJpZnlfbWF4X3JldHJ5X3JhdGUgc2VuZGVyX3ZlcmlmeV9yZWplY3Qgc210cF9hY2NlcHRfa2VlcGFsaXZlIHNtdHBfYWNjZXB0X21heCBzbXRwX2FjY2VwdF9tYXhfcGVyX2hvc3Qgc210cF9hY2NlcHRfcXVldWUgc210cF9hY2NlcHRfcXVldWVfcGVyX2Nvbm5lY3Rpb24gc210cF9hY2NlcHRfcmVzZXJ2ZSBzbXRwX2Jhbm5lciBzbXRwX2NoZWNrX3Nwb29sX3NwYWNlIHNtdHBfY29ubmVjdF9iYWNrbG9nIHNtdHBfZXRybl9jb21tYW5kIHNtdHBfZXRybl9ob3N0cyBzbXRwX2V0cm5fc2VyaWFsaXplIHNtdHBfZXhwbl9ob3N0cyBzbXRwX2xvYWRfcmVzZXJ2ZSBzbXRwX3JlY2VpdmVfdGltZW91dCBzbXRwX3Jlc2VydmVfaG9zdHMgc210cF92ZXJpZnkgc3BsaXRfc3Bvb2xfZGlyZWN0b3J5IHNwb29sX2RpcmVjdG9yeSBzdHJpcF9leGNlc3NfYW5nbGVfYnJhY2tldHMgc3RyaXBfdHJhaWxpbmdfZG90IHN5c2xvZ190aW1lc3RhbXAgdGltZW91dF9mcm96ZW5fYWZ0ZXIgdGltZXN0YW1wc191dGMgdGltZXpvbmUgdGxzX2FkdmVydGlzZV9ob3N0cyB0bHNfY2VydGlmaWNhdGUgdGxzX2RocGFyYW0gdGxzX2hvc3RfYWNjZXB0X3JlbGF5IHRsc19ob3N0cyB0bHNfbG9nX2NpcGhlciB0bHNfbG9nX3BlZXJkbiB0bHNfcHJpdmF0ZWtleSB0bHNfdmVyaWZ5X2NlcnRpZmljYXRlcyB0bHNfdmVyaWZ5X2NpcGhlcnMgdGxzX3ZlcmlmeV9ob3N0cyB0cnVzdGVkX2dyb3VwcyB0cnVzdGVkX3VzZXJzIHVua25vd25fbG9naW4gdW5rbm93bl91c2VybmFtZSB1bnRydXN0ZWRfc2V0X3NlbmRlciB1dWNwX2Zyb21fcGF0dGVybiB1dWNwX2Zyb21fc2VuZGVyIHdhcm5tc2dfZmlsZQorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm9fYWNjZXB0XzhiaXRtaW1lIG5vX2FsbG93X214X3RvX2lwIG5vX2Fsd2F5c19iY2Mgbm9fYXV0aF9hbHdheXNfYWR2ZXJ0aXNlIG5vX2NvbGxhcHNlX3NvdXJjZV9yb3V0ZXMgbm9fZGVsaXZlcnlfZGF0ZV9yZW1vdmUgbm9fZG5zX2NoZWNrX25hbWVzIG5vX2VudmVsb3BlX3RvX3JlbW92ZSBub19leHRyYWN0X2FkZHJlc3Nlc19yZW1vdmVfYXJndW1lbnRzIG5vX2ZvcmJpZF9kb21haW5fbGl0ZXJhbHMgbm9fZnJlZXplX3RlbGxfbWFpbG1hc3RlciBub19oZWFkZXJzX2NoZWNrX3N5bnRheCBub19oZWFkZXJzX2NoZWNrc19mYWlsIG5vX2hlYWRlcnNfc2VuZGVyX3ZlcmlmeSBub19oZWFkZXJzX3NlbmRlcl92ZXJpZnlfZXJybXNnIG5vX2hlbG9fc3RyaWN0X3N5bnRheCBub19pZ25vcmVfZXJybXNnX2Vycm9ycyBub19pZ25vcmVfZnJvbWxpbmVfbG9jYWwgbm9fa2lsbF9pcF9vcHRpb25zIG5vX2xvY2FsX2RvbWFpbnNfaW5jbHVkZV9ob3N0IG5vX2xvY2FsX2RvbWFpbnNfaW5jbHVkZV9ob3N0X2xpdGVyYWxzIG5vX2xvY2FsX2Zyb21fY2hlY2sgbm9fbG9jYWxseV9jYXNlbGVzcyBub19sb2dfYWxsX3BhcmVudHMgbm9fbG9nX2FyZ3VtZW50cyBub19sb2dfaW5jb21pbmdfcG9ydCBub19sb2dfaXBfb3B0aW9ucyBub19sb2dfcmVjZWl2ZWRfcmVjaXBpZW50cyBub19sb2dfcmVjZWl2ZWRfc2VuZGVyIG5vX2xvZ19yZWZ1c2VkX3JlY2lwaWVudHMgbm9fbG9nX3Jld3JpdGVzIG5vX2xvZ19zZW5kZXJfb25fZGVsaXZlcnkgbm9fbG9nX3NtdHBfY29uZmlybWF0aW9uIG5vX2xvZ19zbXRwX2Nvbm5lY3Rpb25zIG5vX2xvZ19zbXRwX3N5bnRheF9lcnJvcnMgbm9fbG9nX3N1YmplY3Qgbm9fbWVzc2FnZV9zaXplX2xpbWl0X2NvdW50X3JlY2lwaWVudHMgbm9fbW92ZV9mcm96ZW5fbWVzc2FnZXMgbm9fcHJlc2VydmVfbWVzc2FnZV9sb2dzIG5vX3ByaW50X3RvcGJpdGNoYXJzIG5vX3Byb2RfcmVxdWlyZXNfYWRtaW4gbm9fcXVldWVfbGlzdF9yZXF1aXJlc19hZG1pbiBub19xdWV1ZV9vbmx5IG5vX3JibF9sb2dfaGVhZGVycyBub19yYmxfbG9nX3JjcHRfY291bnQgbm9fcmJsX3JlamVjdF9yZWNpcGllbnRzIG5vX3JlY2VpdmVyX3RyeV92ZXJpZnkgbm9fcmVjZWl2ZXJfdmVyaWZ5IG5vX3JlY2lwaWVudHNfbWF4X3JlamVjdCBub19yZWZ1c2VfaXBfb3B0aW9ucyBub19yZWxheV9kb21haW5zX2luY2x1ZGVfbG9jYWxfbXggbm9fcmVsYXlfbWF0Y2hfaG9zdF9vcl9zZW5kZXIgbm9fcmV0dXJuX3BhdGhfcmVtb3ZlIG5vX3NlbmRlcl90cnlfdmVyaWZ5IG5vX3NlbmRlcl92ZXJpZnkgbm9fc2VuZGVyX3ZlcmlmeV9iYXRjaCBub19zZW5kZXJfdmVyaWZ5X2ZpeHVwIG5vX3NlbmRlcl92ZXJpZnlfcmVqZWN0IG5vX3NtdHBfYWNjZXB0X2tlZXBhbGl2ZSBub19zbXRwX2NoZWNrX3Nwb29sX3NwYWNlIG5vX3NtdHBfZXRybl9zZXJpYWxpemUgbm9fc210cF92ZXJpZnkgbm9fc3BsaXRfc3Bvb2xfZGlyZWN0b3J5IG5vX3N0cmlwX2V4Y2Vzc19hbmdsZV9icmFja2V0cyBub19zdHJpcF90cmFpbGluZ19kb3Qgbm9fc3lzbG9nX3RpbWVzdGFtcCBub190aW1lc3RhbXBzX3V0YyBub190bHNfbG9nX2NpcGhlciBub190bHNfbG9nX3BlZXJkbiBub191bnRydXN0ZWRfc2V0X3NlbmRlcgorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm90X2FjY2VwdF84Yml0bWltZSBub3RfYWxsb3dfbXhfdG9faXAgbm90X2Fsd2F5c19iY2Mgbm90X2F1dGhfYWx3YXlzX2FkdmVydGlzZSBub3RfY29sbGFwc2Vfc291cmNlX3JvdXRlcyBub3RfZGVsaXZlcnlfZGF0ZV9yZW1vdmUgbm90X2Ruc19jaGVja19uYW1lcyBub3RfZW52ZWxvcGVfdG9fcmVtb3ZlIG5vdF9leHRyYWN0X2FkZHJlc3Nlc19yZW1vdmVfYXJndW1lbnRzIG5vdF9mb3JiaWRfZG9tYWluX2xpdGVyYWxzIG5vdF9mcmVlemVfdGVsbF9tYWlsbWFzdGVyIG5vdF9oZWFkZXJzX2NoZWNrX3N5bnRheCBub3RfaGVhZGVyc19jaGVja3NfZmFpbCBub3RfaGVhZGVyc19zZW5kZXJfdmVyaWZ5IG5vdF9oZWFkZXJzX3NlbmRlcl92ZXJpZnlfZXJybXNnIG5vdF9oZWxvX3N0cmljdF9zeW50YXggbm90X2lnbm9yZV9lcnJtc2dfZXJyb3JzIG5vdF9pZ25vcmVfZnJvbWxpbmVfbG9jYWwgbm90X2tpbGxfaXBfb3B0aW9ucyBub3RfbG9jYWxfZG9tYWluc19pbmNsdWRlX2hvc3Qgbm90X2xvY2FsX2RvbWFpbnNfaW5jbHVkZV9ob3N0X2xpdGVyYWxzIG5vdF9sb2NhbF9mcm9tX2NoZWNrIG5vdF9sb2NhbGx5X2Nhc2VsZXNzIG5vdF9sb2dfYWxsX3BhcmVudHMgbm90X2xvZ19hcmd1bWVudHMgbm90X2xvZ19pbmNvbWluZ19wb3J0IG5vdF9sb2dfaXBfb3B0aW9ucyBub3RfbG9nX3JlY2VpdmVkX3JlY2lwaWVudHMgbm90X2xvZ19yZWNlaXZlZF9zZW5kZXIgbm90X2xvZ19yZWZ1c2VkX3JlY2lwaWVudHMgbm90X2xvZ19yZXdyaXRlcyBub3RfbG9nX3NlbmRlcl9vbl9kZWxpdmVyeSBub3RfbG9nX3NtdHBfY29uZmlybWF0aW9uIG5vdF9sb2dfc210cF9jb25uZWN0aW9ucyBub3RfbG9nX3NtdHBfc3ludGF4X2Vycm9ycyBub3RfbG9nX3N1YmplY3Qgbm90X21lc3NhZ2Vfc2l6ZV9saW1pdF9jb3VudF9yZWNpcGllbnRzIG5vdF9tb3ZlX2Zyb3plbl9tZXNzYWdlcyBub3RfcHJlc2VydmVfbWVzc2FnZV9sb2dzIG5vdF9wcmludF90b3BiaXRjaGFycyBub3RfcHJvZF9yZXF1aXJlc19hZG1pbiBub3RfcXVldWVfbGlzdF9yZXF1aXJlc19hZG1pbiBub3RfcXVldWVfb25seSBub3RfcmJsX2xvZ19oZWFkZXJzIG5vdF9yYmxfbG9nX3JjcHRfY291bnQgbm90X3JibF9yZWplY3RfcmVjaXBpZW50cyBub3RfcmVjZWl2ZXJfdHJ5X3ZlcmlmeSBub3RfcmVjZWl2ZXJfdmVyaWZ5IG5vdF9yZWNpcGllbnRzX21heF9yZWplY3Qgbm90X3JlZnVzZV9pcF9vcHRpb25zIG5vdF9yZWxheV9kb21haW5zX2luY2x1ZGVfbG9jYWxfbXggbm90X3JlbGF5X21hdGNoX2hvc3Rfb3Jfc2VuZGVyIG5vdF9yZXR1cm5fcGF0aF9yZW1vdmUgbm90X3NlbmRlcl90cnlfdmVyaWZ5IG5vdF9zZW5kZXJfdmVyaWZ5IG5vdF9zZW5kZXJfdmVyaWZ5X2JhdGNoIG5vdF9zZW5kZXJfdmVyaWZ5X2ZpeHVwIG5vdF9zZW5kZXJfdmVyaWZ5X3JlamVjdCBub3Rfc210cF9hY2NlcHRfa2VlcGFsaXZlIG5vdF9zbXRwX2NoZWNrX3Nwb29sX3NwYWNlIG5vdF9zbXRwX2V0cm5fc2VyaWFsaXplIG5vdF9zbXRwX3ZlcmlmeSBub3Rfc3BsaXRfc3Bvb2xfZGlyZWN0b3J5IG5vdF9zdHJpcF9leGNlc3NfYW5nbGVfYnJhY2tldHMgbm90X3N0cmlwX3RyYWlsaW5nX2RvdCBub3Rfc3lzbG9nX3RpbWVzdGFtcCBub3RfdGltZXN0YW1wc191dGMgbm90X3Rsc19sb2dfY2lwaGVyIG5vdF90bHNfbG9nX3BlZXJkbiBub3RfdW50cnVzdGVkX3NldF9zZW5kZXIKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIGJvZHlfb25seSBkZWJ1Z19wcmludCBkZWxpdmVyeV9kYXRlX2FkZCBkcml2ZXIgZW52ZWxvcGVfdG9fYWRkIGhlYWRlcnNfYWRkIGhlYWRlcnNfb25seSBoZWFkZXJzX3JlbW92ZSBoZWFkZXJzX3Jld3JpdGUgbWVzc2FnZV9zaXplX2xpbWl0IHJldHVybl9wYXRoIHJldHVybl9wYXRoX2FkZCBzaGFkb3dfY29uZGl0aW9uIHNoYWRvd190cmFuc3BvcnQgdHJhbnNwb3J0X2ZpbHRlcgorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm9fYm9keV9vbmx5IG5vX2RlbGl2ZXJ5X2RhdGVfYWRkIG5vX2VudmVsb3BlX3RvX2FkZCBub19oZWFkZXJzX29ubHkgbm9fcmV0dXJuX3BhdGhfYWRkCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBub3RfYm9keV9vbmx5IG5vdF9kZWxpdmVyeV9kYXRlX2FkZCBub3RfZW52ZWxvcGVfdG9fYWRkIG5vdF9oZWFkZXJzX29ubHkgbm90X3JldHVybl9wYXRoX2FkZAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgYWxsb3dfZmlmbyBhbGxvd19zeW1saW5rIGJhdGNoIGJhdGNoX21heCBic210cCBic210cF9oZWxvIGNoZWNrX2dyb3VwIGNoZWNrX293bmVyIGNoZWNrX3N0cmluZyBjcmVhdGVfZGlyZWN0b3J5IGNyZWF0ZV9maWxlIGN1cnJlbnRfZGlyZWN0b3J5IGRpcmVjdG9yeSBkaXJlY3RvcnlfbW9kZSBlc2NhcGVfc3RyaW5nIGZpbGUgZmlsZV9mb3JtYXQgZmlsZV9tdXN0X2V4aXN0IGZyb21faGFjayBncm91cCBsb2NrX2ZjbnRsX3RpbWVvdXQgbG9ja19pbnRlcnZhbCBsb2NrX3JldHJpZXMgbG9ja2ZpbGVfbW9kZSBsb2NrZmlsZV90aW1lb3V0IG1haWxkaXJfZm9ybWF0IG1haWxkaXJfcmV0cmllcyBtYWlsZGlyX3RhZyBtYWlsc3RvcmVfZm9ybWF0IG1haWxzdG9yZV9wcmVmaXggbWFpbHN0b3JlX3N1ZmZpeCBtYnhfZm9ybWF0IG1vZGUgbW9kZV9mYWlsX25hcnJvd2VyIG5vdGlmeV9jb21zYXQgcHJlZml4IHF1b3RhIHF1b3RhX2ZpbGVjb3VudCBxdW90YV9pc19pbmNsdXNpdmUgcXVvdGFfc2l6ZV9yZWdleCBxdW90YV93YXJuX21lc3NhZ2UgcXVvdGFfd2Fybl90aHJlc2hvbGQgcmVxdWlyZV9sb2NrZmlsZSByZXRyeV91c2VfbG9jYWxfcGFydCBzdWZmaXggdXNlX2NybGYgdXNlX2ZjbnRsX2xvY2sgdXNlX2xvY2tmaWxlIHVzZV9tYnhfbG9jayB1c2VyCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBub19hbGxvd19maWZvIG5vX2FsbG93X3N5bWxpbmsgbm9fYnNtdHBfaGVsbyBub19jaGVja19ncm91cCBub19jaGVja19vd25lciBub19jcmVhdGVfZGlyZWN0b3J5IG5vX2ZpbGVfbXVzdF9leGlzdCBub19mcm9tX2hhY2sgbm9fbWFpbGRpcl9mb3JtYXQgbm9fbWFpbHN0b3JlX2Zvcm1hdCBub19tYnhfZm9ybWF0IG5vX21vZGVfZmFpbF9uYXJyb3dlciBub19ub3RpZnlfY29tc2F0IG5vX3F1b3RhX2lzX2luY2x1c2l2ZSBub19yZXF1aXJlX2xvY2tmaWxlIG5vX3JldHJ5X3VzZV9sb2NhbF9wYXJ0IG5vX3VzZV9jcmxmIG5vX3VzZV9mY250bF9sb2NrIG5vX3VzZV9sb2NrZmlsZSBub191c2VfbWJ4X2xvY2sKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vdF9hbGxvd19maWZvIG5vdF9hbGxvd19zeW1saW5rIG5vdF9ic210cF9oZWxvIG5vdF9jaGVja19ncm91cCBub3RfY2hlY2tfb3duZXIgbm90X2NyZWF0ZV9kaXJlY3Rvcnkgbm90X2ZpbGVfbXVzdF9leGlzdCBub3RfZnJvbV9oYWNrIG5vdF9tYWlsZGlyX2Zvcm1hdCBub3RfbWFpbHN0b3JlX2Zvcm1hdCBub3RfbWJ4X2Zvcm1hdCBub3RfbW9kZV9mYWlsX25hcnJvd2VyIG5vdF9ub3RpZnlfY29tc2F0IG5vdF9xdW90YV9pc19pbmNsdXNpdmUgbm90X3JlcXVpcmVfbG9ja2ZpbGUgbm90X3JldHJ5X3VzZV9sb2NhbF9wYXJ0IG5vdF91c2VfY3JsZiBub3RfdXNlX2ZjbnRsX2xvY2sgbm90X3VzZV9sb2NrZmlsZSBub3RfdXNlX21ieF9sb2NrCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBiY2MgY2MgZmlsZSBmaWxlX2V4cGFuZCBmaWxlX29wdGlvbmFsIGZyb20gZ3JvdXAgaGVhZGVycyBpbml0Z3JvdXBzIGxvZyBtb2RlIG9uY2Ugb25jZV9maWxlX3NpemUgb25jZV9yZXBlYXQgcmVwbHlfdG8gcmV0dXJuX21lc3NhZ2Ugc3ViamVjdCB0ZXh0IHRvIHVzZXIKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vX2ZpbGVfZXhwYW5kIG5vX2ZpbGVfb3B0aW9uYWwgbm9faW5pdGdyb3VwcyBub19yZXR1cm5fbWVzc2FnZQorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm90X2ZpbGVfZXhwYW5kIG5vdF9maWxlX29wdGlvbmFsIG5vdF9pbml0Z3JvdXBzIG5vdF9yZXR1cm5fbWVzc2FnZQorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgYmF0Y2ggYmF0Y2hfbWF4IGNvbW1hbmQgZ3JvdXAgaW5pdGdyb3VwcyByZXRyeV91c2VfbG9jYWxfcGFydCB0aW1lb3V0IHVzZXIKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vX2luaXRncm91cHMKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vdF9pbml0Z3JvdXBzCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBhbGxvd19jb21tYW5kcyBiYXRjaCBiYXRjaF9tYXggYnNtdHAgYnNtdHBfaGVsbyBjaGVja19zdHJpbmcgY29tbWFuZCBjdXJyZW50X2RpcmVjdG9yeSBlbnZpcm9ubWVudCBlc2NhcGVfc3RyaW5nIGZyZWV6ZV9leGVjX2ZhaWwgZnJvbV9oYWNrIGdyb3VwIGhvbWVfZGlyZWN0b3J5IGlnbm9yZV9zdGF0dXMgaW5pdGdyb3VwcyBsb2dfZGVmZXJfb3V0cHV0IGxvZ19mYWlsX291dHB1dCBsb2dfb3V0cHV0IG1heF9vdXRwdXQgcGF0aCBwaXBlX2FzX2NyZWF0b3IgcHJlZml4IHJlc3RyaWN0X3RvX3BhdGggcmV0cnlfdXNlX2xvY2FsX3BhcnQgcmV0dXJuX2ZhaWxfb3V0cHV0IHJldHVybl9vdXRwdXQgc3VmZml4IHRlbXBfZXJyb3JzIHRpbWVvdXQgdW1hc2sgdXNlX2NybGYgdXNlX3NoZWxsIHVzZXIKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vX2JzbXRwX2hlbG8gbm9fZnJlZXplX2V4ZWNfZmFpbCBub19mcm9tX2hhY2sgbm9faWdub3JlX3N0YXR1cyBub19sb2dfZGVmZXJfb3V0cHV0IG5vX2xvZ19mYWlsX291dHB1dCBub19sb2dfb3V0cHV0IG5vX3BpcGVfYXNfY3JlYXRvciBub19yZXN0cmljdF90b19wYXRoIG5vX3JldHVybl9mYWlsX291dHB1dCBub19yZXR1cm5fb3V0cHV0IG5vX3VzZV9jcmxmIG5vX3VzZV9zaGVsbAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm90X2JzbXRwX2hlbG8gbm90X2ZyZWV6ZV9leGVjX2ZhaWwgbm90X2Zyb21faGFjayBub3RfaWdub3JlX3N0YXR1cyBub3RfbG9nX2RlZmVyX291dHB1dCBub3RfbG9nX2ZhaWxfb3V0cHV0IG5vdF9sb2dfb3V0cHV0IG5vdF9waXBlX2FzX2NyZWF0b3Igbm90X3Jlc3RyaWN0X3RvX3BhdGggbm90X3JldHVybl9mYWlsX291dHB1dCBub3RfcmV0dXJuX291dHB1dCBub3RfdXNlX2NybGYgbm90X3VzZV9zaGVsbAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgYWxsb3dfbG9jYWxob3N0IGF1dGhlbnRpY2F0ZV9ob3N0cyBiYXRjaF9tYXggY29tbWFuZF90aW1lb3V0IGNvbm5lY3RfdGltZW91dCBkYXRhX3RpbWVvdXQgZGVsYXlfYWZ0ZXJfY3V0b2ZmIGRuc19xdWFsaWZ5X3NpbmdsZSBkbnNfc2VhcmNoX3BhcmVudHMgZmFsbGJhY2tfaG9zdHMgZmluYWxfdGltZW91dCBnZXRob3N0YnluYW1lIGhlbG9fZGF0YSBob3N0cyBob3N0c19hdm9pZF90bHMgaG9zdHNfcmVxdWlyZV90bHMgaG9zdHNfb3ZlcnJpZGUgaG9zdHNfbWF4X3RyeSBob3N0c19yYW5kb21pemUgaW50ZXJmYWNlIGtlZXBhbGl2ZSBtYXhfcmNwdCBtdWx0aV9kb21haW4gbXhfZG9tYWlucyBwb3J0IHByb3RvY29sIHJldHJ5X2luY2x1ZGVfaXBfYWRkcmVzcyBzZXJpYWxpemVfaG9zdHMgc2VydmljZSBzaXplX2FkZGl0aW9uIHRsc19jZXJ0aWZpY2F0ZSB0bHNfcHJpdmF0ZWtleSB0bHNfdmVyaWZ5X2NlcnRpZmljYXRlcyB0bHNfdmVyaWZ5X2NpcGhlcnMKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vX2FsbG93X2xvY2FsaG9zdCBub19kZWxheV9hZnRlcl9jdXRvZmYgbm9fZG5zX3F1YWxpZnlfc2luZ2xlIG5vX2Ruc19zZWFyY2hfcGFyZW50cyBub19nZXRob3N0YnluYW1lIG5vX2hvc3RzX292ZXJyaWRlIG5vX2hvc3RzX3JhbmRvbWl6ZSBub19rZWVwYWxpdmUgbm9fbXVsdGlfZG9tYWluIG5vX3JldHJ5X2luY2x1ZGVfaXBfYWRkcmVzcworc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm90X2FsbG93X2xvY2FsaG9zdCBub3RfZGVsYXlfYWZ0ZXJfY3V0b2ZmIG5vdF9kbnNfcXVhbGlmeV9zaW5nbGUgbm90X2Ruc19zZWFyY2hfcGFyZW50cyBub3RfZ2V0aG9zdGJ5bmFtZSBub3RfaG9zdHNfb3ZlcnJpZGUgbm90X2hvc3RzX3JhbmRvbWl6ZSBub3Rfa2VlcGFsaXZlIG5vdF9tdWx0aV9kb21haW4gbm90X3JldHJ5X2luY2x1ZGVfaXBfYWRkcmVzcworc3luIGtleXdvcmQgZXhpbUtleXdvcmQgY29uZGl0aW9uIGRlYnVnX3ByaW50IGRvbWFpbnMgZHJpdmVyIGVycm9yc190byBmYWlsX3ZlcmlmeSBmYWlsX3ZlcmlmeV9yZWNpcGllbnQgZmFpbF92ZXJpZnlfc2VuZGVyIGZhbGxiYWNrX2hvc3RzIGdyb3VwIGhlYWRlcnNfYWRkIGhlYWRlcnNfcmVtb3ZlIGluaXRncm91cHMgbG9jYWxfcGFydHMgbW9yZSByZXF1aXJlX2ZpbGVzIHNlbmRlcnMgdHJhbnNwb3J0IHVuc2VlbiB1c2VyIHZlcmlmeSB2ZXJpZnlfb25seSB2ZXJpZnlfcmVjaXBpZW50IHZlcmlmeV9zZW5kZXIKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vX2ZhaWxfdmVyaWZ5IG5vX2ZhaWxfdmVyaWZ5X3JlY2lwaWVudCBub19mYWlsX3ZlcmlmeV9zZW5kZXIgbm9faW5pdGdyb3VwcyBub19tb3JlIG5vX3Vuc2VlbiBub192ZXJpZnkgbm9fdmVyaWZ5X29ubHkgbm9fdmVyaWZ5X3JlY2lwaWVudCBub192ZXJpZnlfc2VuZGVyCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBub3RfZmFpbF92ZXJpZnkgbm90X2ZhaWxfdmVyaWZ5X3JlY2lwaWVudCBub3RfZmFpbF92ZXJpZnlfc2VuZGVyIG5vdF9pbml0Z3JvdXBzIG5vdF9tb3JlIG5vdF91bnNlZW4gbm90X3ZlcmlmeSBub3RfdmVyaWZ5X29ubHkgbm90X3ZlcmlmeV9yZWNpcGllbnQgbm90X3ZlcmlmeV9zZW5kZXIKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIGN1cnJlbnRfZGlyZWN0b3J5IGV4cG4gaG9tZV9kaXJlY3RvcnkgbmV3X2RpcmVjdG9yIHByZWZpeCBwcmVmaXhfb3B0aW9uYWwgc3VmZml4IHN1ZmZpeF9vcHRpb25hbAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm9fZXhwbiBub19wcmVmaXhfb3B0aW9uYWwgbm9fc3VmZml4X29wdGlvbmFsCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBub3RfZXhwbiBub3RfcHJlZml4X29wdGlvbmFsIG5vdF9zdWZmaXhfb3B0aW9uYWwKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIGNoZWNrX2FuY2VzdG9yIGRpcmVjdG9yeV90cmFuc3BvcnQgZGlyZWN0b3J5Ml90cmFuc3BvcnQgZmlsZV90cmFuc3BvcnQgZm9yYmlkX2ZpbGUgZm9yYmlkX2luY2x1ZGUgZm9yYmlkX3BpcGUgZnJlZXplX21pc3NpbmdfaW5jbHVkZSBoaWRlX2NoaWxkX2luX2Vycm1zZyBtb2RlbWFzayBvbmVfdGltZSBvd25lcnMgb3duZ3JvdXBzIHBpcGVfdHJhbnNwb3J0IHF1YWxpZnlfcHJlc2VydmVfZG9tYWluIHJld3JpdGUgc2tpcF9zeW50YXhfZXJyb3JzIHN5bnRheF9lcnJvcnNfdGV4dCBzeW50YXhfZXJyb3JzX3RvCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBub19jaGVja19hbmNlc3RvciBub19mb3JiaWRfZmlsZSBub19mb3JiaWRfaW5jbHVkZSBub19mb3JiaWRfcGlwZSBub19mcmVlemVfbWlzc2luZ19pbmNsdWRlIG5vX2hpZGVfY2hpbGRfaW5fZXJybXNnIG5vX29uZV90aW1lIG5vX3F1YWxpZnlfcHJlc2VydmVfZG9tYWluIG5vX3Jld3JpdGUgbm9fc2tpcF9zeW50YXhfZXJyb3JzCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBub3RfY2hlY2tfYW5jZXN0b3Igbm90X2ZvcmJpZF9maWxlIG5vdF9mb3JiaWRfaW5jbHVkZSBub3RfZm9yYmlkX3BpcGUgbm90X2ZyZWV6ZV9taXNzaW5nX2luY2x1ZGUgbm90X2hpZGVfY2hpbGRfaW5fZXJybXNnIG5vdF9vbmVfdGltZSBub3RfcXVhbGlmeV9wcmVzZXJ2ZV9kb21haW4gbm90X3Jld3JpdGUgbm90X3NraXBfc3ludGF4X2Vycm9ycworc3luIGtleXdvcmQgZXhpbUtleXdvcmQgZXhwYW5kIGZpbGUgZm9yYmlkX3NwZWNpYWwgaW5jbHVkZV9kb21haW4gb3B0aW9uYWwgcXVlcmllcyBxdWVyeSBzZWFyY2hfdHlwZQorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm9fZXhwYW5kIG5vX2ZvcmJpZF9zcGVjaWFsIG5vX2luY2x1ZGVfZG9tYWluIG5vX29wdGlvbmFsCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBub3RfZXhwYW5kIG5vdF9mb3JiaWRfc3BlY2lhbCBub3RfaW5jbHVkZV9kb21haW4gbm90X29wdGlvbmFsCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBhbGxvd19zeXN0ZW1fYWN0aW9ucyBjaGVja19ncm91cCBjaGVja19sb2NhbF91c2VyIGRhdGEgZmlsZSBmaWxlX2RpcmVjdG9yeSBmaWx0ZXIgZm9yYmlkX2ZpbHRlcl9leGlzdHN0ZXN0IGZvcmJpZF9maWx0ZXJfbG9nd3JpdGUgZm9yYmlkX2ZpbHRlcl9sb29rdXAgZm9yYmlkX2ZpbHRlcl9wZXJsIGZvcmJpZF9maWx0ZXJfcmVwbHkgaWdub3JlX2VhY2NlcyBpZ25vcmVfZW5vdGRpciBtYXRjaF9kaXJlY3RvcnkgcmVwbHlfdHJhbnNwb3J0IHNldGV1aWQKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vX2FsbG93X3N5c3RlbV9hY3Rpb25zIG5vX2NoZWNrX2xvY2FsX3VzZXIgbm9fZm9yYmlkX2ZpbHRlcl9yZXBseSBub19mb3JiaWRfZmlsdGVyX2V4aXN0c3Rlc3Qgbm9fZm9yYmlkX2ZpbHRlcl9sb2d3cml0ZSBub19mb3JiaWRfZmlsdGVyX2xvb2t1cCBub19mb3JiaWRfZmlsdGVyX3Blcmwgbm9fZm9yYmlkX2ZpbHRlcl9yZXBseSBub19pZ25vcmVfZWFjY2VzIG5vX2lnbm9yZV9lbm90ZGlyIG5vX3NldGV1aWQKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vdF9hbGxvd19zeXN0ZW1fYWN0aW9ucyBub3RfY2hlY2tfbG9jYWxfdXNlciBub3RfZm9yYmlkX2ZpbHRlcl9yZXBseSBub3RfZm9yYmlkX2ZpbHRlcl9leGlzdHN0ZXN0IG5vdF9mb3JiaWRfZmlsdGVyX2xvZ3dyaXRlIG5vdF9mb3JiaWRfZmlsdGVyX2xvb2t1cCBub3RfZm9yYmlkX2ZpbHRlcl9wZXJsIG5vdF9mb3JiaWRfZmlsdGVyX3JlcGx5IG5vdF9pZ25vcmVfZWFjY2VzIG5vdF9pZ25vcmVfZW5vdGRpciBub3Rfc2V0ZXVpZAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbWF0Y2hfZGlyZWN0b3J5CitzeW4ga2V5d29yZCBleGltS2V5d29yZCBkaXJlY3RvcnlfdHJhbnNwb3J0IGRpcmVjdG9yeTJfdHJhbnNwb3J0IGZpbGVfdHJhbnNwb3J0IGZvcmJpZF9maWxlIGZvcmJpZF9waXBlIGhpZGVfY2hpbGRfaW5fZXJybXNnIG5ld19hZGRyZXNzIHBhbmljX2V4cGFuc2lvbl9mYWlsIHBpcGVfdHJhbnNwb3J0IHF1YWxpZnlfcHJlc2VydmVfZG9tYWluIHJld3JpdGUKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vX2ZvcmJpZF9maWxlIG5vX2ZvcmJpZF9waXBlIG5vX2hpZGVfY2hpbGRfaW5fZXJybXNnIG5vX3BhbmljX2V4cGFuc2lvbl9mYWlsIG5vX3F1YWxpZnlfcHJlc2VydmVfZG9tYWluIG5vX3Jld3JpdGUKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vdF9mb3JiaWRfZmlsZSBub3RfZm9yYmlkX3BpcGUgbm90X2hpZGVfY2hpbGRfaW5fZXJybXNnIG5vdF9wYW5pY19leHBhbnNpb25fZmFpbCBub3RfcXVhbGlmeV9wcmVzZXJ2ZV9kb21haW4gbm90X3Jld3JpdGUKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIGlnbm9yZV90YXJnZXRfaG9zdHMgcGFzc19vbl90aW1lb3V0IHNlbGYgdHJhbnNsYXRlX2lwX2FkZHJlc3MKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vX3Bhc3Nfb25fdGltZW91dAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm90X3Bhc3Nfb25fdGltZW91dAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgaG9zdF9maW5kX2ZhaWxlZCBob3N0c19yYW5kb21pemUgbW9kZW1hc2sgb3duZXJzIG93bmdyb3VwcyBxdWFsaWZ5X3NpbmdsZSByb3V0ZV9maWxlIHJvdXRlX2xpc3Qgcm91dGVfcXVlcmllcyByb3V0ZV9xdWVyeSBzZWFyY2hfcGFyZW50cyBzZWFyY2hfdHlwZQorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm9faG9zdHNfcmFuZG9taXplIG5vX3F1YWxpZnlfc2luZ2xlIG5vX3NlYXJjaF9wYXJlbnRzCitzeW4ga2V5d29yZCBleGltS2V5d29yZCBub3RfaG9zdHNfcmFuZG9taXplIG5vdF9xdWFsaWZ5X3NpbmdsZSBub3Rfc2VhcmNoX3BhcmVudHMKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIGhvc3RzIG9wdGlvbmFsIHBvcnQgcHJvdG9jb2wgcXVlcnkgcmVyb3V0ZSByZXNwb25zZV9wYXR0ZXJuIHNlcnZpY2UgdGltZW91dAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm9fb3B0aW9uYWwKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vdF9vcHRpb25hbAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgY2hlY2tfc2Vjb25kYXJ5X214IGdldGhvc3RieW5hbWUgbXhfZG9tYWlucyBxdWFsaWZ5X3NpbmdsZSByZXdyaXRlX2hlYWRlcnMgc2VhcmNoX3BhcmVudHMgd2lkZW5fZG9tYWlucworc3luIGtleXdvcmQgZXhpbUtleXdvcmQgbm9fY2hlY2tfc2Vjb25kYXJ5X214IG5vX2dldGhvc3RieW5hbWUgbm9fcXVhbGlmeV9zaW5nbGUgbm9fc2VhcmNoX3BhcmVudHMKK3N5biBrZXl3b3JkIGV4aW1LZXl3b3JkIG5vdF9jaGVja19zZWNvbmRhcnlfbXggbm90X2dldGhvc3RieW5hbWUgbm90X3F1YWxpZnlfc2luZ2xlIG5vdF9zZWFyY2hfcGFyZW50cworc3luIGtleXdvcmQgZXhpbUtleXdvcmQgY29tbWFuZCBjb21tYW5kX2dyb3VwIGNvbW1hbmRfdXNlciBjdXJyZW50X2RpcmVjdG9yeSB0aW1lb3V0CitzeW4ga2V5d29yZCBleGltS2V5d29yZCBkcml2ZXIgcHVibGljX25hbWUgc2VydmVyX3NldF9pZCBzZXJ2ZXJfbWFpbF9hdXRoX2NvbmRpdGlvbgorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgc2VydmVyX3Byb21wdHMgc2VydmVyX2NvbmRpdGlvbiBjbGllbnRfc2VuZAorc3luIGtleXdvcmQgZXhpbUtleXdvcmQgc2VydmVyX3NlY3JldCBjbGllbnRfbmFtZSBjbGllbnRfc2VjcmV0CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2V4aW1fc3ludGF4X2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfZXhpbV9zeW50YXhfaW5pdHMgPSAxCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisJZWxzZQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKwllbmRpZgorCisJSGlMaW5rIGV4aW1Db21tZW50IENvbW1lbnQKKwlIaUxpbmsgZXhpbUZpeG1lIFRvZG8KKwlIaUxpbmsgZXhpbUVuZCBLZXl3b3JkCisJSGlMaW5rIGV4aW1OdW1iZXIgTnVtYmVyCisJSGlMaW5rIGV4aW1Ecml2ZXJOYW1lIENvbnN0YW50CisJSGlMaW5rIGV4aW1Db25zdGFudCBDb25zdGFudAorCUhpTGluayBleGltVGltZSBDb25zdGFudAorCUhpTGluayBleGltS2V5d29yZCBUeXBlCisJSGlMaW5rIGV4aW1TcGVjaWFsQ2hhciBTcGVjaWFsCisJSGlMaW5rIGV4aW1NYWNyb05hbWUgUHJlcHJvYworCUhpTGluayBleGltVHJhbnNwb3J0IElkZW50aWZpZXIKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJleGltIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZXhwZWN0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2V4cGVjdC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg4NmUyYgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2V4cGVjdC52aW0KQEAgLTAsMCArMSwxMTMgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglFeHBlY3QKKyIgTWFpbnRhaW5lcjoJUmFscGggSmVubmluZ3MgPGtub3didWR5QG9yby5uZXQ+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgUmVzZXJ2ZWQgRXhwZWN0IHZhcmlhYmxlIHByZWZpeGVzLgorc3luIG1hdGNoICAgZXhwZWN0VmFyaWFibGVzICJcJGV4cFthLXpBLVowLTlfXSpcfFwkaW50ZXJbYS16QS1aMC05X10qIgorc3luIG1hdGNoICAgZXhwZWN0VmFyaWFibGVzICJcJHNwYXduW2EtekEtWjAtOV9dKlx8XCR0aW1lb3V0W2EtekEtWjAtOV9dKiIKKworIiBOb3JtYWwgRXhwZWN0IHZhcmlhYmxlcy4KK3N5biBtYXRjaCAgIGV4cGVjdFZhcmlhYmxlcyAiXCRlbnYoW14pXSopIgorc3luIG1hdGNoICAgZXhwZWN0VmFyaWFibGVzICJcJGFueV9zcGF3bl9pZFx8XCRhcmdjXHxcJGFyZ3ZcZCoiCitzeW4gbWF0Y2ggICBleHBlY3RWYXJpYWJsZXMgIlwkdXNlcl9zcGF3bl9pZFx8XCRzcGF3bl9pZFx8XCR0aW1lb3V0IgorCisiIEV4cGVjdCB2YXJpYWJsZSBhcnJheXMuCitzeW4gbWF0Y2ggICBleHBlY3RWYXJpYWJsZXMgIlwkXChleHBlY3RcfGludGVyYWN0XClfb3V0KFteKV0qKSIJCQljb250YWlucz1leHBlY3RPdXRWYXIKKworIiBVc2VyIGRlZmluZWQgdmFyaWFibGVzLgorc3luIG1hdGNoICAgZXhwZWN0VmFyaWFibGVzICJcJFthLXpBLVpfXVthLXpBLVowLTlfXSoiCisKKyIgUmVzZXJ2ZWQgRXhwZWN0IGNvbW1hbmQgcHJlZml4ZXMuCitzeW4gbWF0Y2ggICBleHBlY3RDb21tYW5kICAgICJleHBfW2EtekEtWjAtOV9dKiIKKworIiBOb3JtYWwgRXhwZWN0IGNvbW1hbmRzLgorc3luIGtleXdvcmQgZXhwZWN0U3RhdGVtZW50CWNsb3NlIGRlYnVnIGRpc2Nvbm5lY3QKK3N5biBrZXl3b3JkIGV4cGVjdFN0YXRlbWVudAlleGl0IGV4cF9jb250aW51ZSBleHBfaW50ZXJuYWwgZXhwX29wZW4KK3N5biBrZXl3b3JkIGV4cGVjdFN0YXRlbWVudAlleHBfcGlkIGV4cF92ZXJzaW9uCitzeW4ga2V5d29yZCBleHBlY3RTdGF0ZW1lbnQJZm9yayBpbnRlcl9yZXR1cm4gaW50ZXJwcmV0ZXIKK3N5biBrZXl3b3JkIGV4cGVjdFN0YXRlbWVudAlsb2dfZmlsZSBsb2dfdXNlciBtYXRjaF9tYXggb3ZlcmxheQorc3luIGtleXdvcmQgZXhwZWN0U3RhdGVtZW50CXBhcml0eSByZW1vdmVfbnVsbHMgcmV0dXJuCitzeW4ga2V5d29yZCBleHBlY3RTdGF0ZW1lbnQJc2VuZCBzZW5kX2Vycm9yIHNlbmRfbG9nIHNlbmRfdXNlcgorc3luIGtleXdvcmQgZXhwZWN0U3RhdGVtZW50CXNsZWVwIHNwYXduIHN0cmFjZSBzdHR5IHN5c3RlbQorc3luIGtleXdvcmQgZXhwZWN0U3RhdGVtZW50CXRpbWVzdGFtcCB0cmFjZSB0cmFwIHdhaXQKKworIiBUY2wgY29tbWFuZHMgcmVjb2duaXplZCBhbmQgdXNlZCBieSBFeHBlY3QuCitzeW4ga2V5d29yZCBleHBlY3RDb21tYW5kCQlwcm9jCitzeW4ga2V5d29yZCBleHBlY3RDb25kaXRpb25hbAlpZiBlbHNlCitzeW4ga2V5d29yZCBleHBlY3RSZXBlYXQJCXdoaWxlIGZvciBmb3JlYWNoCisKKyIgRXhwZWN0IGNvbW1hbmRzIHdpdGggc3BlY2lhbCBhcmd1bWVudHMuCitzeW4ga2V5d29yZCBleHBlY3RTdGF0ZW1lbnQJZXhwZWN0IGV4cGVjdF9hZnRlciBleHBlY3RfYmFja2dyb3VuZAkJCW5leHRncm91cD1leHBlY3RFeHBlY3RPcHRzCitzeW4ga2V5d29yZCBleHBlY3RTdGF0ZW1lbnQJZXhwZWN0X2JlZm9yZSBleHBlY3RfdXNlciBpbnRlcmFjdAkJCW5leHRncm91cD1leHBlY3RFeHBlY3RPcHRzCisKK3N5biBtYXRjaCAgIGV4cGVjdFNwZWNpYWwgY29udGFpbmVkICAiXFwuIgorCisiIE9wdGlvbnMgZm9yICJleHBlY3QiLCAiZXhwZWN0X2FmdGVyIiwgImV4cGVjdF9iYWNrZ3JvdW5kIiwKKyIgImV4cGVjdF9iZWZvcmUiLCAiZXhwZWN0X3VzZXIiLCBhbmQgImludGVyYWN0Ii4KK3N5biBrZXl3b3JkIGV4cGVjdEV4cGVjdE9wdHMJZGVmYXVsdCBlb2YgZnVsbF9idWZmZXIgbnVsbCByZXR1cm4gdGltZW91dAorCitzeW4ga2V5d29yZCBleHBlY3RPdXRWYXIgIGNvbnRhaW5lZCAgc3Bhd25faWQgc2Vjb25kcyBzZWNvbmRzX3RvdGFsCitzeW4ga2V5d29yZCBleHBlY3RPdXRWYXIgIGNvbnRhaW5lZCAgc3RyaW5nIHN0YXJ0IGVuZCBidWZmZXIKKworIiBOdW1iZXJzIChUY2wgc3R5bGUpLgorc3luIGNhc2UgaWdub3JlCisgIHN5biBtYXRjaCAgZXhwZWN0TnVtYmVyCSJcPFxkXCtcKHVcPWxcPVx8bHVcfGZcKVw+IgorICAiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKKyAgc3luIG1hdGNoICBleHBlY3ROdW1iZXIJIlw8XGRcK1wuXGQqXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyAgImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKKyAgc3luIG1hdGNoICBleHBlY3ROdW1iZXIJIlwuXGRcK1woZVstK11cPVxkXCtcKVw9W2ZsXVw9XD4iCisgICJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CisgIHN5biBtYXRjaCAgZXhwZWN0TnVtYmVyCSJcPFxkXCtlWy0rXVw9XGRcK1tmbF1cPVw+IgorICAiaGV4IG51bWJlcgorICBzeW4gbWF0Y2ggIGV4cGVjdE51bWJlcgkiMHhbMC05YS1mXVwrXCh1XD1sXD1cfGx1XClcPiIKKyAgInN5biBtYXRjaCAgZXhwZWN0SWRlbnRpZmllcgkiXDxbYS16X11bYS16MC05X10qXD4iCitzeW4gY2FzZSBtYXRjaAorCitzeW4gcmVnaW9uICBleHBlY3RTdHJpbmcJc3RhcnQ9KyIrICBlbmQ9KyIrICBjb250YWlucz1leHBlY3RWYXJpYWJsZXMsZXhwZWN0U3BlY2lhbAorCisiIEFyZSB0aGVzZSByZWFsbHkgY29tbWVudHMgaW4gRXhwZWN0PyAoSSBuZXZlciB1c2UgaXQsIHNvIEknbSBqdXN0IGd1ZXNzaW5nKS4KK3N5biBrZXl3b3JkIGV4cGVjdFRvZG8JCWNvbnRhaW5lZCBUT0RPCitzeW4gbWF0Y2ggICBleHBlY3RDb21tZW50CQkiIy4qJCIgY29udGFpbnM9ZXhwZWN0VG9kbworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9leHBlY3Rfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZXhwZWN0X3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGV4cGVjdFZhcmlhYmxlcwlTcGVjaWFsCisgIEhpTGluayBleHBlY3RDb21tYW5kCQlGdW5jdGlvbgorICBIaUxpbmsgZXhwZWN0U3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgZXhwZWN0Q29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGV4cGVjdFJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBleHBlY3RFeHBlY3RPcHRzCUtleXdvcmQKKyAgSGlMaW5rIGV4cGVjdE91dFZhcgkJU3BlY2lhbAorICBIaUxpbmsgZXhwZWN0U3BlY2lhbAkJU3BlY2lhbAorICBIaUxpbmsgZXhwZWN0TnVtYmVyCQlOdW1iZXIKKworICBIaUxpbmsgZXhwZWN0U3RyaW5nCQlTdHJpbmcKKworICBIaUxpbmsgZXhwZWN0Q29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgZXhwZWN0VG9kbwkJVG9kbworICAiSGlMaW5rIGV4cGVjdElkZW50aWZpZXIJSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJleHBlY3QiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9leHBvcnRzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2V4cG9ydHMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NGNjOWYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9leHBvcnRzLnZpbQpAQCAtMCwwICsxLDcwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJZXhwb3J0cworIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgorIiBMYXN0IENoYW5nZToJU2VwIDAyLCAyMDAzCisiIFZlcnNpb246CTMKKyIgTm90ZXM6CQlUaGlzIGZpbGUgaW5jbHVkZXMgYm90aCBTeXNWIGFuZCBCU0QgJ2lzbXMKKyIgVVJMOglodHRwOi8vd3d3LmVyb2xzLmNvbS9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjdmltbGlua3Nfc3ludGF4CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBPcHRpb25zOiAtd29yZAorc3luIGtleXdvcmQgZXhwb3J0c0tleU9wdGlvbnMgY29udGFpbmVkCWFsbGRpcnMJbm9oaWRlCXJvCXdzeW5jCitzeW4ga2V5d29yZCBleHBvcnRzS2V5T3B0aW9ucyBjb250YWluZWQJa2VyYglvCXJ3CitzeW4gbWF0Y2ggZXhwb3J0c09wdEVycm9yIGNvbnRhaW5lZAkiW2Etel1cKyIKKworIiBTZXR0aW5nczogd29yZD0KK3N5biBrZXl3b3JkIGV4cG9ydHNLZXlTZXR0aW5ncyBjb250YWluZWQJYWNjZXNzCWFub24Jcm9vdAlydworc3luIG1hdGNoIGV4cG9ydHNTZXRFcnJvciBjb250YWluZWQJIlthLXpdXCsiCisKKyIgT3B0U2V0OiAtd29yZD0KK3N5biBrZXl3b3JkIGV4cG9ydHNLZXlPcHRTZXQgY29udGFpbmVkCW1hcGFsbAltYXByb290CW1hc2sJbmV0d29yaworc3luIG1hdGNoIGV4cG9ydHNPcHRTZXRFcnJvciBjb250YWluZWQJIlthLXpdXCsiCisKKyIgb3B0aW9ucyBhbmQgc2V0dGluZ3MKK3N5biBtYXRjaCBleHBvcnRzU2V0dGluZ3MJIlthLXpdXCs9IiAgY29udGFpbnM9ZXhwb3J0c0tleVNldHRpbmdzLGV4cG9ydHNTZXRFcnJvcgorc3luIG1hdGNoIGV4cG9ydHNPcHRpb25zCSItW2Etel1cKyIgIGNvbnRhaW5zPWV4cG9ydHNLZXlPcHRpb25zLGV4cG9ydHNPcHRFcnJvcgorc3luIG1hdGNoIGV4cG9ydHNPcHRTZXQJIi1bYS16XVwrPSIgY29udGFpbnM9ZXhwb3J0c0tleU9wdFNldCxleHBvcnRzT3B0U2V0RXJyb3IKKworIiBTZXBhcmF0b3JzCitzeW4gbWF0Y2ggZXhwb3J0c1NlcGFyYXRvcgkiWyw6XSIKKworIiBjb21tZW50cworc3luIG1hdGNoIGV4cG9ydHNDb21tZW50CSJeXHMqIy4qJCIJY29udGFpbnM9QFNwZWxsCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2V4cG9ydHNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZXhwb3J0c19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBleHBvcnRzS2V5T3B0U2V0CWV4cG9ydHNLZXlTZXR0aW5ncworICBIaUxpbmsgZXhwb3J0c09wdFNldAlleHBvcnRzU2V0dGluZ3MKKworICBIaUxpbmsgZXhwb3J0c0NvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgZXhwb3J0c0tleU9wdGlvbnMJVHlwZQorICBIaUxpbmsgZXhwb3J0c0tleVNldHRpbmdzCUtleXdvcmQKKyAgSGlMaW5rIGV4cG9ydHNPcHRpb25zCUNvbnN0YW50CisgIEhpTGluayBleHBvcnRzU2VwYXJhdG9yCUNvbnN0YW50CisgIEhpTGluayBleHBvcnRzU2V0dGluZ3MJQ29uc3RhbnQKKworICBIaUxpbmsgZXhwb3J0c09wdEVycm9yCUVycm9yCisgIEhpTGluayBleHBvcnRzT3B0U2V0RXJyb3IJRXJyb3IKKyAgSGlMaW5rIGV4cG9ydHNTZXRFcnJvcglFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJleHBvcnRzIgorIiB2aW06IHRzPTEwCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mYXNtLnZpbSBiL3J1bnRpbWUvc3ludGF4L2Zhc20udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxYmRjODMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9mYXNtLnZpbQpAQCAtMCwwICsxLDE0NSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUZsYXQgQXNzZW1ibGVyIChGQVNNKQorIiBNYWludGFpbmVyOglSb24gQWFyb24gPHJvbkByb253YXJlLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDQgTWF5IDE2CisiIFZpbSBVUkw6CWh0dHA6Ly93d3cudmltLm9yZy9sYW5nLmh0bWwKKyIgRkFTTSBIb21lOglodHRwOi8vZmxhdGFzc2VtYmxlci5uZXQvCisiIEZBU00gVmVyc2lvbjogMS41MgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc2V0bG9jYWwgaXNrZXl3b3JkPWEteixBLVosNDgtNTcsLixfCitzZXRsb2NhbCBpc2lkZW50PWEteixBLVosNDgtNTcsLixfCitzeW4gY2FzZSBpZ25vcmUKKworc3luIGtleXdvcmQgZmFzbVJlZ2lzdGVyCWFoIGFsIGF4IGJoIGJsIGJwIGJ4IGNoIGNsIGNyMCBjcjEgY3IyIGNyMyBjcjQgY3I1IGNyNgorc3luIGtleXdvcmQgZmFzbVJlZ2lzdGVyCWNyNyBjcyBjeCBkaCBkaSBkbCBkcjAgZHIxIGRyMiBkcjMgZHI0IGRyNSBkcjYgZHI3IGRzIGR4CitzeW4ga2V5d29yZCBmYXNtUmVnaXN0ZXIJZWF4IGVicCBlYnggZWN4IGVkaSBlZHggZXMgZXNpIGVzcCBmcyBncyBtbTAgbW0xIG1tMiBtbTMKK3N5biBrZXl3b3JkIGZhc21SZWdpc3RlcgltbTQgbW01IG1tNiBtbTcgc2kgc3Agc3Mgc3Qgc3QwIHN0MSBzdDIgc3QzIHN0NCBzdDUgc3Q2CitzeW4ga2V5d29yZCBmYXNtUmVnaXN0ZXIJc3Q3IHRyMCB0cjEgdHIyIHRyMyB0cjQgdHI1IHRyNiB0cjcgeG1tMCB4bW0xIHhtbTIgeG1tMworc3luIGtleXdvcmQgZmFzbVJlZ2lzdGVyCXhtbTQgeG1tNSB4bW02IHhtbTcKK3N5biBrZXl3b3JkIGZhc21BZGRyZXNzU2l6ZXMgCWJ5dGUgZHF3b3JkIGR3b3JkIGZ3b3JkIHB3b3JkIHF3b3JkIHR3b3JkIHdvcmQKK3N5biBrZXl3b3JkIGZhc21EYXRhRGlyZWN0aXZlcyAJZGIgZGQgZGYgZHAgZHEgZHQgZHUgZHcgZmlsZSByYiByZCByZiBycCBycSBydCBydworc3luIGtleXdvcmQgZmFzbUluc3RyIAlhYWEgYWFkIGFhbSBhYXMgYWRjIGFkZCBhZGRwZCBhZGRwcyBhZGRzZCBhZGRzcyBhZGRzdWJwZAorc3luIGtleXdvcmQgZmFzbUluc3RyCWFkZHN1YnBzIGFuZCBhbmRucGQgYW5kbnBzIGFuZHBkIGFuZHBzIGFycGwgYm91bmQgYnNmIGJzcgorc3luIGtleXdvcmQgZmFzbUluc3RyCWJzd2FwIGJ0IGJ0YyBidHIgYnRzIGNhbGwgY2J3IGNkcSBjbGMgY2xkIGNsZmx1c2ggY2xpIGNsdHMKK3N5biBrZXl3b3JkIGZhc21JbnN0cgljbWMgY21vdmEgY21vdmFlIGNtb3ZiIGNtb3ZiZSBjbW92YyBjbW92ZSBjbW92ZyBjbW92Z2UgY21vdmwKK3N5biBrZXl3b3JkIGZhc21JbnN0cgljbW92bGUgY21vdm5hIGNtb3ZuYWUgY21vdm5iIGNtb3ZuYmUgY21vdm5jIGNtb3ZuZSBjbW92bmcKK3N5biBrZXl3b3JkIGZhc21JbnN0cgljbW92bmdlIGNtb3ZubCBjbW92bmxlIGNtb3ZubyBjbW92bnAgY21vdm5zIGNtb3ZueiBjbW92byBjbW92cAorc3luIGtleXdvcmQgZmFzbUluc3RyCWNtb3ZwZSBjbW92cG8gY21vdnMgY21vdnogY21wIGNtcGVxcGQgY21wZXFwcyBjbXBlcXNkIGNtcGVxc3MKK3N5biBrZXl3b3JkIGZhc21JbnN0cgljbXBsZXBkIGNtcGxlcHMgY21wbGVzZCBjbXBsZXNzIGNtcGx0cGQgY21wbHRwcyBjbXBsdHNkIGNtcGx0c3MKK3N5biBrZXl3b3JkIGZhc21JbnN0cgljbXBuZXFwZCBjbXBuZXFwcyBjbXBuZXFzZCBjbXBuZXFzcyBjbXBubGVwZCBjbXBubGVwcyBjbXBubGVzZAorc3luIGtleXdvcmQgZmFzbUluc3RyCWNtcG5sZXNzIGNtcG5sdHBkIGNtcG5sdHBzIGNtcG5sdHNkIGNtcG5sdHNzIGNtcG9yZHBkIGNtcG9yZHBzCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJY21wb3Jkc2QgY21wb3Jkc3MgY21wcGQgY21wcHMgY21wcyBjbXBzYiBjbXBzZCBjbXBzcyBjbXBzdworc3luIGtleXdvcmQgZmFzbUluc3RyCWNtcHVub3JkcGQgY21wdW5vcmRwcyBjbXB1bm9yZHNkIGNtcHVub3Jkc3MgY21weGNoZyBjbXB4Y2hnOGIKK3N5biBrZXl3b3JkIGZhc21JbnN0cgljb21pc2QgY29taXNzIGNwdWlkIGN2dGRxMnBkIGN2dGRxMnBzIGN2dHBkMmRxIGN2dHBkMnBpIGN2dHBkMnBzCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJY3Z0cGkycGQgY3Z0cGkycHMgY3Z0cHMyZHEgY3Z0cHMycGQgY3Z0cHMycGkgY3Z0c2Qyc2kgY3Z0c2Qyc3MKK3N5biBrZXl3b3JkIGZhc21JbnN0cgljdnRzaTJzZCBjdnRzaTJzcyBjdnRzczJzZCBjdnRzczJzaSBjdnR0cGQyZHEgY3Z0dHBkMnBpIGN2dHRwczJkcQorc3luIGtleXdvcmQgZmFzbUluc3RyCWN2dHRwczJwaSBjdnR0c2Qyc2kgY3Z0dHNzMnNpIGN3ZCBjd2RlIGRhYSBkYXMgZGF0YSBkZWMgZGl2CitzeW4ga2V5d29yZCBmYXNtSW5zdHIJZGl2cGQgZGl2cHMgZGl2c2QgZGl2c3MgZWxzZSBlbW1zIGVuZCBlbnRlciBleHRybiBmMnhtMSBmYWJzCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJZmFkZCBmYWRkcCBmYmxkIGZic3RwIGZjaHMgZmNsZXggZmNtb3ZiIGZjbW92YmUgZmNtb3ZlIGZjbW92bmIKK3N5biBrZXl3b3JkIGZhc21JbnN0cglmY21vdm5iZSBmY21vdm5lIGZjbW92bnUgZmNtb3Z1IGZjb20gZmNvbWkgZmNvbWlwIGZjb21wIGZjb21wcAorc3luIGtleXdvcmQgZmFzbUluc3RyCWZjb3MgZmRlY3N0cCBmZGlzaSBmZGl2IGZkaXZwIGZkaXZyIGZkaXZycCBmZW1tcyBmZW5pIGZmcmVlCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJZmZyZWVwIGZpYWRkIGZpY29tIGZpY29tcCBmaWRpdiBmaWRpdnIgZmlsZCBmaW11bCBmaW5jc3RwCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJZmluaXQgZmlzdCBmaXN0cCBmaXN0dHAgZmlzdWIgZmlzdWJyIGZsZCBmbGQxIGZsZGN3IGZsZGVudgorc3luIGtleXdvcmQgZmFzbUluc3RyCWZsZGwyZSBmbGRsMnQgZmxkbGcyIGZsZGxuMiBmbGRwaSBmbGR6IGZtdWwgZm11bHAgZm5jbGV4IGZuZGlzaQorc3luIGtleXdvcmQgZmFzbUluc3RyCWZuZW5pIGZuaW5pdCBmbm9wIGZuc2F2ZSBmbnN0Y3cgZm5zdGVudiBmbnN0c3cgZnBhdGFuIGZwcmVtCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJZnByZW0xIGZwdGFuIGZybmRpbnQgZnJzdG9yIGZyc3RwbSBmc2F2ZSBmc2NhbGUgZnNldHBtIGZzaW4KK3N5biBrZXl3b3JkIGZhc21JbnN0cglmc2luY29zIGZzcXJ0IGZzdCBmc3RjdyBmc3RlbnYgZnN0cCBmc3RzdyBmc3ViIGZzdWJwIGZzdWJyCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJZnN1YnJwIGZ0c3QgZnVjb20gZnVjb21pIGZ1Y29taXAgZnVjb21wIGZ1Y29tcHAgZndhaXQgZnhhbQorc3luIGtleXdvcmQgZmFzbUluc3RyCWZ4Y2ggZnhyc3RvciBmeHNhdmUgZnh0cmFjdCBmeWwyeCBmeWwyeHAxIGhhZGRwZCBoYWRkcHMgaGVhcAorc3luIGtleXdvcmQgZmFzbUluc3RyCWhsdCBoc3VicGQgaHN1YnBzIGlkaXYgaWYgaW11bCBpbiBpbmMgaW5zIGluc2IgaW5zZCBpbnN3IGludAorc3luIGtleXdvcmQgZmFzbUluc3RyCWludDMgaW50byBpbnZkIGludmxwZyBpcmV0IGlyZXRkIGlyZXR3IGphIGphZSBqYiBqYmUgamMgamN4egorc3luIGtleXdvcmQgZmFzbUluc3RyCWplIGplY3h6IGpnIGpnZSBqbCBqbGUgam1wIGpuYSBqbmFlIGpuYiBqbmJlIGpuYyBqbmUgam5nIGpuZ2UKK3N5biBrZXl3b3JkIGZhc21JbnN0cglqbmwgam5sZSBqbm8gam5wIGpucyBqbnogam8ganAganBlIGpwbyBqcyBqeiBsYWhmIGxhciBsZGRxdQorc3luIGtleXdvcmQgZmFzbUluc3RyCWxkbXhjc3IgbGRzIGxlYSBsZWF2ZSBsZXMgbGZlbmNlIGxmcyBsZ2R0IGxncyBsaWR0IGxsZHQgbG1zdworc3luIGtleXdvcmQgZmFzbUluc3RyCWxvYWQgbG9hZGFsbDI4NiBsb2FkYWxsMzg2IGxvY2sgbG9kcyBsb2RzYiBsb2RzZCBsb2RzdyBsb29wCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJbG9vcGQgbG9vcGUgbG9vcGVkIGxvb3BldyBsb29wbmUgbG9vcG5lZCBsb29wbmV3IGxvb3BueiBsb29wbnpkCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJbG9vcG56dyBsb29wdyBsb29weiBsb29wemQgbG9vcHp3IGxzbCBsc3MgbHRyIG1hc2ttb3ZkcXUgbWFza21vdnEKK3N5biBrZXl3b3JkIGZhc21JbnN0cgltYXhwZCBtYXhwcyBtYXhzZCBtYXhzcyBtZmVuY2UgbWlucGQgbWlucHMgbWluc2QgbWluc3MgbW9uaXRvcgorc3luIGtleXdvcmQgZmFzbUluc3RyCW1vdiBtb3ZhcGQgbW92YXBzIG1vdmQgbW92ZGR1cCBtb3ZkcTJxIG1vdmRxYSBtb3ZkcXUgbW92aGxwcworc3luIGtleXdvcmQgZmFzbUluc3RyCW1vdmhwZCBtb3ZocHMgbW92bGhwcyBtb3ZscGQgbW92bHBzIG1vdm1za3BkIG1vdm1za3BzIG1vdm50ZHEKK3N5biBrZXl3b3JkIGZhc21JbnN0cgltb3ZudGkgbW92bnRwZCBtb3ZudHBzIG1vdm50cSBtb3ZxIG1vdnEyZHEgbW92cyBtb3ZzYiBtb3ZzZAorc3luIGtleXdvcmQgZmFzbUluc3RyCW1vdnNoZHVwIG1vdnNsZHVwIG1vdnNzIG1vdnN3IG1vdnN4IG1vdnVwZCBtb3Z1cHMgbW92enggbXVsCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJbXVscGQgbXVscHMgbXVsc2QgbXVsc3MgbXdhaXQgbmVnIG5vcCBub3Qgb3Igb3JnIG9ycGQgb3Jwcworc3luIGtleXdvcmQgZmFzbUluc3RyCW91dCBvdXRzIG91dHNiIG91dHNkIG91dHN3IHBhY2tzc2R3IHBhY2tzc3diIHBhY2t1c3diIHBhZGRiCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJcGFkZGQgcGFkZHEgcGFkZHNiIHBhZGRzdyBwYWRkdXNiIHBhZGR1c3cgcGFkZHcgcGFuZCBwYW5kbgorc3luIGtleXdvcmQgZmFzbUluc3RyCXBhdXNlIHBhdmdiIHBhdmd1c2IgcGF2Z3cgcGNtcGVxYiBwY21wZXFkIHBjbXBlcXcgcGNtcGd0Ygorc3luIGtleXdvcmQgZmFzbUluc3RyCXBjbXBndGQgcGNtcGd0dyBwZXh0cncgcGYyaWQgcGYyaXcgcGZhY2MgcGZhZGQgcGZjbXBlcSBwZmNtcGdlCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJcGZjbXBndCBwZm1heCBwZm1pbiBwZm11bCBwZm5hY2MgcGZwbmFjYyBwZnJjcCBwZnJjcGl0MSBwZnJjcGl0Mgorc3luIGtleXdvcmQgZmFzbUluc3RyCXBmcnNxaXQxIHBmcnNxcnQgcGZzdWIgcGZzdWJyIHBpMmZkIHBpMmZ3IHBpbnNydyBwbWFkZHdkIHBtYXhzdworc3luIGtleXdvcmQgZmFzbUluc3RyCXBtYXh1YiBwbWluc3cgcG1pbnViIHBtb3Ztc2tiIHBtdWxocncgcG11bGh1dyBwbXVsaHcgcG11bGx3CitzeW4ga2V5d29yZCBmYXNtSW5zdHIJcG11bHVkcSBwb3AgcG9wYSBwb3BhZCBwb3BhdyBwb3BkIHBvcGYgcG9wZmQgcG9wZncgcG9wdyBwb3IKK3N5biBrZXl3b3JkIGZhc21JbnN0cglwcmVmZXRjaCBwcmVmZXRjaG50YSBwcmVmZXRjaHQwIHByZWZldGNodDEgcHJlZmV0Y2h0MiBwcmVmZXRjaHcKK3N5biBrZXl3b3JkIGZhc21JbnN0cglwc2FkYncgcHNodWZkIHBzaHVmaHcgcHNodWZsdyBwc2h1ZncgcHNsbGQgcHNsbGRxIHBzbGxxIHBzbGx3CitzeW4ga2V5d29yZCBmYXNtSW5zdHIJcHNyYWQgcHNyYXcgcHNybGQgcHNybGRxIHBzcmxxIHBzcmx3IHBzdWJiIHBzdWJkIHBzdWJxIHBzdWJzYgorc3luIGtleXdvcmQgZmFzbUluc3RyCXBzdWJzdyBwc3VidXNiIHBzdWJ1c3cgcHN1YncgcHN3YXBkIHB1bnBja2hidyBwdW5wY2toZHEgcHVucGNraHFkcQorc3luIGtleXdvcmQgZmFzbUluc3RyCXB1bnBja2h3ZCBwdW5wY2tsYncgcHVucGNrbGRxIHB1bnBja2xxZHEgcHVucGNrbHdkIHB1c2ggcHVzaGEKK3N5biBrZXl3b3JkIGZhc21JbnN0cglwdXNoYWQgcHVzaGF3IHB1c2hkIHB1c2hmIHB1c2hmZCBwdXNoZncgcHVzaHcgcHhvciByY2wgcmNwcHMKK3N5biBrZXl3b3JkIGZhc21JbnN0cglyY3BzcyByY3IgcmRtc3IgcmRwbWMgcmR0c2MgcmVwIHJlcGUgcmVwbmUgcmVwbnogcmVweiByZXQKK3N5biBrZXl3b3JkIGZhc21JbnN0cglyZXRkIHJldGYgcmV0ZmQgcmV0ZncgcmV0biByZXRuZCByZXRudyByZXR3IHJvbCByb3IgcnNtIHJzcXJ0cHMKK3N5biBrZXl3b3JkIGZhc21JbnN0cglyc3FydHNzIHNhaGYgc2FsIHNhbGMgc2FyIHNiYiBzY2FzIHNjYXNiIHNjYXNkIHNjYXN3IHNldGEKK3N5biBrZXl3b3JkIGZhc21JbnN0cglzZXRhZSBzZXRhbGMgc2V0YiBzZXRiZSBzZXRjIHNldGUgc2V0ZyBzZXRnZSBzZXRsIHNldGxlIHNldG5hCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJc2V0bmFlIHNldG5iIHNldG5iZSBzZXRuYyBzZXRuZSBzZXRuZyBzZXRuZ2Ugc2V0bmwgc2V0bmxlCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJc2V0bm8gc2V0bnAgc2V0bnMgc2V0bnogc2V0byBzZXRwIHNldHBlIHNldHBvIHNldHMgc2V0eiBzZmVuY2UKK3N5biBrZXl3b3JkIGZhc21JbnN0cglzZ2R0IHNobCBzaGxkIHNociBzaHJkIHNodWZwZCBzaHVmcHMgc2lkdCBzbGR0IHNtc3cgc3FydHBkCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJc3FydHBzIHNxcnRzZCBzcXJ0c3Mgc3RjIHN0ZCBzdGkgc3RteGNzciBzdG9yZSBzdG9zIHN0b3NiCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJc3Rvc2Qgc3Rvc3cgc3RyIHN1YiBzdWJwZCBzdWJwcyBzdWJzZCBzdWJzcyBzeXNlbnRlciBzeXNleGl0CitzeW4ga2V5d29yZCBmYXNtSW5zdHIJdGVzdCB1Y29taXNkIHVjb21pc3MgdWQyIHVucGNraHBkIHVucGNraHBzIHVucGNrbHBkIHVucGNrbHBzCitzeW4ga2V5d29yZCBmYXNtSW5zdHIJdmVyciB2ZXJ3IHdhaXQgd2JpbnZkIHdybXNyIHhhZGQgeGNoZyB4bGF0IHhsYXRiIHhvciB4b3JwZAorc3luIGtleXdvcmQgZmFzbVByZXByb2Nlc3MgCWNvbW1vbiBlcXUgZml4IGZvcndhcmQgaW5jbHVkZSBsb2NhbCBtYWNybyBwdXJnZSByZXN0b3JlCitzeW4ga2V5d29yZCBmYXNtUHJlcHJvY2VzcwlyZXZlcnNlIHN0cnVjCitzeW4ga2V5d29yZCBmYXNtRGlyZWN0aXZlIAlhbGlnbiBiaW5hcnkgY29kZSBjb2ZmIGNvbnNvbGUgZGlzY2FyZGFibGUgZGlzcGxheSBkbGwKK3N5biBrZXl3b3JkIGZhc21EaXJlY3RpdmUJZWxmIGVudHJ5IGV4ZWN1dGFibGUgZXhwb3J0IGV4dGVybiBmYXIgZml4dXBzIGZvcm1hdCBndWkKK3N5biBrZXl3b3JkIGZhc21EaXJlY3RpdmUJaW1wb3J0IGxhYmVsIG1zIG16IG5hdGl2ZSBuZWFyIG5vdHBhZ2VhYmxlIHBlIHB1YmxpYyByZWFkYWJsZQorc3luIGtleXdvcmQgZmFzbURpcmVjdGl2ZQlyZXBlYXQgcmVzb3VyY2Ugc2VjdGlvbiBzZWdtZW50IHNoYXJlYWJsZSBzdGFjayB0aW1lcworc3luIGtleXdvcmQgZmFzbURpcmVjdGl2ZQl1c2UxNiB1c2UzMiB2aXJ0dWFsIHdkbSB3cml0ZWFibGUKK3N5biBrZXl3b3JkIGZhc21PcGVyYXRvciAJYXMgYXQgZGVmaW5lZCBlcSBlcXR5cGUgZnJvbSBtb2Qgb24gcHRyIHJ2YSB1c2VkCisKK3N5biBtYXRjaAlmYXNtTnVtZXJpY09wZXJhdG9yCSJbKy0vKl0iCitzeW4gbWF0Y2gJZmFzbUxvZ2ljYWxPcGVyYXRvcgkiWz18Jn48Pl1cfDw9XHw+PVx8PD4iCisiIG51bWJlcnMKK3N5biBtYXRjaAlmYXNtQmluYXJ5TnVtYmVyCSJcPFswMV1cK2JcPiIKK3N5biBtYXRjaAlmYXNtSGV4TnVtYmVyCQkiXDxcZFx4KmhcPiIKK3N5biBtYXRjaAlmYXNtSGV4TnVtYmVyCQkiXDxcKDB4XHwkXClceCpcPiIKK3N5biBtYXRjaAlmYXNtRlBVTnVtYmVyCQkiXDxcZFwrXChcLlxkKlwpXD1cKGVbLStdXD1cZCpcKVw9XD4iCitzeW4gbWF0Y2gJZmFzbU9jdGFsTnVtYmVyCQkiXDxcKDBcb1wrb1w9XHxcb1wrb1wpXD4iCitzeW4gbWF0Y2gJZmFzbURlY2ltYWxOdW1iZXIJIlw8XCgwXHxbMS05XVxkKlwpXD4iCitzeW4gcmVnaW9uCWZhc21Db21tZW50CQlzdGFydD0iOyIgZW5kPSIkIgorc3luIHJlZ2lvbglmYXNtU3RyaW5nCQlzdGFydD0iXCIiIGVuZD0iXCJcfCQiCitzeW4gcmVnaW9uCWZhc21TdHJpbmcJCXN0YXJ0PSInIiBlbmQ9IidcfCQiCitzeW4gbWF0Y2gJZmFzbVN5bWJvbAkJIlsoKXxcW1xdOl0iCitzeW4gbWF0Y2gJZmFzbVNwZWNpYWwJCSJbIz8lJCxdIgorc3luIG1hdGNoCWZhc21MYWJlbAkJIl5ccypbXjsgXHRdXCs6IgorCitoaSBkZWYgbGluawlmYXNtQWRkcmVzc1NpemVzCXR5cGUKK2hpIGRlZiBsaW5rCWZhc21OdW1lcmljT3BlcmF0b3IJZmFzbU9wZXJhdG9yCitoaSBkZWYgbGluawlmYXNtTG9naWNhbE9wZXJhdG9yCWZhc21PcGVyYXRvcgorCitoaSBkZWYgbGluawlmYXNtQmluYXJ5TnVtYmVyCWZhc21OdW1iZXIKK2hpIGRlZiBsaW5rCWZhc21IZXhOdW1iZXIJCWZhc21OdW1iZXIKK2hpIGRlZiBsaW5rCWZhc21GUFVOdW1iZXIJCWZhc21OdW1iZXIKK2hpIGRlZiBsaW5rCWZhc21PY3RhbE51bWJlcgkJZmFzbU51bWJlcgoraGkgZGVmIGxpbmsJZmFzbURlY2ltYWxOdW1iZXIJZmFzbU51bWJlcgorCitoaSBkZWYgbGluawlmYXNtU3ltYm9scwkJZmFzbVJlZ2lzdGVyCitoaSBkZWYgbGluawlmYXNtUHJlcHJvY2VzcwkJZmFzbURpcmVjdGl2ZQorCisiICBsaW5rIHRvIHN0YW5kYXJkIHN5biBncm91cHMgc28gdGhlICdjb2xvcnNjaGVtZXMnIHdvcms6CitoaSBkZWYgbGluawlmYXNtT3BlcmF0b3Igb3BlcmF0b3IKK2hpIGRlZiBsaW5rCWZhc21Db21tZW50ICBjb21tZW50CitoaSBkZWYgbGluawlmYXNtRGlyZWN0aXZlCXByZXByb2MKK2hpIGRlZiBsaW5rCWZhc21SZWdpc3RlciAgdHlwZQoraGkgZGVmIGxpbmsJZmFzbU51bWJlciAgIGNvbnN0YW50CitoaSBkZWYgbGluawlmYXNtU3ltYm9sIHN0cnVjdHVyZQoraGkgZGVmIGxpbmsJZmFzbVN0cmluZyAgU3RyaW5nCitoaSBkZWYgbGluawlmYXNtU3BlY2lhbAlzcGVjaWFsCitoaSBkZWYgbGluawlmYXNtSW5zdHIga2V5d29yZAoraGkgZGVmIGxpbmsJZmFzbUxhYmVsIGxhYmVsCitoaSBkZWYgbGluawlmYXNtUHJlZml4IHByZXByb2MKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImZhc20iCisiIHZpbTogdHM9OCBzdz04IDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2ZkY2MudmltIGIvcnVudGltZS9zeW50YXgvZmRjYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg3MTdlYgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2ZkY2MudmltCkBAIC0wLDAgKzEsMTE0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJZmRjYyBvciBsb2NhbGUgZmlsZXMKKyIgTWFpbnRhaW5lcjoJRHdheW5lIEJhaWxleSA8ZHdheW5lQHRyYW5zbGF0ZS5vcmcuemE+CisiIExhc3QgQ2hhbmdlOgkyMDA0IE1heSAxNgorIiBSZW1hcmtzOiAgICAgIEZEQ0MgKEZvcm1hbCBEZWZpbml0aW9ucyBvZiBDdWx0dXJhbCBDb252ZW50aW9ucykgc2VlIElTTyBUUiAxNDY1MgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBzeW5jIG1pbmxpbmVzPTE1MAorc2V0bG9jYWwgaXNrZXl3b3JkKz0tCisKKyIgTnVtYmVycworc3luIG1hdGNoIGZkY2NOdW1iZXIgL1swLTldKi8gY29udGFpbmVkCisKKyIgVW5pY29kZSBjb2RpbmdzIGFuZCBzdHJpbmdzCitzeW4gbWF0Y2ggZmRjY1VuaWNvZGVJblZhbGlkIC88W148XSo+LyBjb250YWluZWQKK3N5biBtYXRjaCBmZGNjVW5pY29kZVZhbGlkIC88VVswLTlBLUZdWzAtOUEtRl1bMC05QS1GXVswLTlBLUZdPi8gY29udGFpbmVkCitzeW4gcmVnaW9uIGZkY2NTdHJpbmcgc3RhcnQ9LyIvIGVuZD0vIi8gY29udGFpbnM9ZmRjY1VuaWNvZGVJblZhbGlkLGZkY2NVbmljb2RlVmFsaWQKKworIiBWYWxpZCBMQ18gS2V5d29yZHMKK3N5biBrZXl3b3JkIGZkY2NLZXl3b3JkIGVzY2FwZV9jaGFyIGNvbW1lbnRfY2hhcgorc3luIGtleXdvcmQgZmRjY0tleXdvcmRJZGVudGlmaWNhdGlvbiB0aXRsZSBzb3VyY2UgYWRkcmVzcyBjb250YWN0IGVtYWlsIHRlbCBmYXggbGFuZ3VhZ2UgdGVycml0b3J5IHJldmlzaW9uIGRhdGUgY2F0ZWdvcnkKK3N5biBrZXl3b3JkIGZkY2NLZXl3b3JkQ3R5cGUgY29weSBzcGFjZSB0cmFuc2xpdF9zdGFydCBpbmNsdWRlIHRyYW5zbGl0X2VuZCBvdXRkaWdpdCBjbGFzcworc3luIGtleXdvcmQgZmRjY0tleXdvcmRDb2xsYXRlIGNvcHkgc2NyaXB0IG9yZGVyX3N0YXJ0IG9yZGVyX2VuZCBjb2xsYXRpbmctc3ltYm9sIHJlb3JkZXItYWZ0ZXIgcmVvcmRlci1lbmQgY29sbGF0aW5nLWVsZW1lbnQgc3ltYm9sLWVxdWl2YWxlbmNlCitzeW4ga2V5d29yZCBmZGNjS2V5d29yZE1vbmV0YXJ5IGNvcHkgaW50X2N1cnJfc3ltYm9sIGN1cnJlbmN5X3N5bWJvbCBtb25fZGVjaW1hbF9wb2ludCBtb25fdGhvdXNhbmRzX3NlcCBtb25fZ3JvdXBpbmcgcG9zaXRpdmVfc2lnbiBuZWdhdGl2ZV9zaWduIGludF9mcmFjX2RpZ2l0cyBmcmFjX2RpZ2l0cyBwX2NzX3ByZWNlZGVzIHBfc2VwX2J5X3NwYWNlIG5fY3NfcHJlY2VkZXMgbl9zZXBfYnlfc3BhY2UgcF9zaWduX3Bvc24gbl9zaWduX3Bvc24gaW50X3BfY3NfcHJlY2VkZXMgaW50X3Bfc2VwX2J5X3NwYWNlIGludF9uX2NzX3ByZWNlZGVzIGludF9uX3NlcF9ieV9zcGFjZSAgaW50X3Bfc2lnbl9wb3NuIGludF9uX3NpZ25fcG9zbgorc3luIGtleXdvcmQgZmRjY0tleXdvcmROdW1lcmljIGNvcHkgZGVjaW1hbF9wb2ludCB0aG91c2FuZHNfc2VwIGdyb3VwaW5nCitzeW4ga2V5d29yZCBmZGNjS2V5d29yZFRpbWUgY29weSBhYmRheSBkYXkgYWJtb24gbW9uIGRfdF9mbXQgZF9mbXQgdF9mbXQgYW1fcG0gdF9mbXRfYW1wbSBkYXRlX2ZtdCBlcmFfZF9mbXQgZmlyc3Rfd2Vla2RheSBmaXJzdF93b3JrZGF5IHdlZWsgY2FsX2RpcmVjdGlvbiB0aW1lX3pvbmUgZXJhIGFsdF9kaWdpdHMgZXJhX2RfdF9mbXQKK3N5biBrZXl3b3JkIGZkY2NLZXl3b3JkTWVzc2FnZXMgY29weSB5ZXNleHByIG5vZXhwciB5ZXNzdHIgbm9zdHIKK3N5biBrZXl3b3JkIGZkY2NLZXl3b3JkUGFwZXIgY29weSBoZWlnaHQgd2lkdGgKK3N5biBrZXl3b3JkIGZkY2NLZXl3b3JkVGVsZXBob25lIGNvcHkgdGVsX2ludF9mbXQgaW50X3ByZWZpeCB0ZWxfZG9tX2ZtdCBpbnRfc2VsZWN0CitzeW4ga2V5d29yZCBmZGNjS2V5d29yZE1lYXN1cmVtZW50IGNvcHkgbWVhc3VyZW1lbnQKK3N5biBrZXl3b3JkIGZkY2NLZXl3b3JkTmFtZSBjb3B5IG5hbWVfZm10IG5hbWVfZ2VuIG5hbWVfbXIgbmFtZV9tcnMgbmFtZV9taXNzIG5hbWVfbXMKK3N5biBrZXl3b3JkIGZkY2NLZXl3b3JkQWRkcmVzcyBjb3B5IHBvc3RhbF9mbXQgY291bnRyeV9uYW1lIGNvdW50cnlfcG9zdCBjb3VudHJ5X2FiMiBjb3VudHJ5X2FiMyAgY291bnRyeV9udW0gY291bnRyeV9jYXIgIGNvdW50cnlfaXNibiBsYW5nX25hbWUgbGFuZ19hYiBsYW5nX3Rlcm0gbGFuZ19saWIKKworIiBDb21tZW50cworc3luIGtleXdvcmQgZmRjY1RvZG8gVE9ETyBGSVhNRSBjb250YWluZWQKK3N5biBtYXRjaCBmZGNjVmFyaWFibGUgLyVbYS16QS1aXS8gY29udGFpbmVkCitzeW4gbWF0Y2ggZmRjY0NvbW1lbnQgL1sjJV0uKi8gY29udGFpbnM9ZmRjY1RvZG8sZmRjY1ZhcmlhYmxlCisKKyIgTENfIEdyb3Vwcworc3luIHJlZ2lvbiBmZGNjQmxhbmsgbWF0Y2hncm91cD1mZGNjTENJZGVudGlmaWNhdGlvbiBzdGFydD0vXkxDX0lERU5USUZJQ0FUSU9OJC8gZW5kPS9eRU5EIExDX0lERU5USUZJQ0FUSU9OJC8gY29udGFpbnM9ZmRjY0tleXdvcmRJZGVudGlmaWNhdGlvbixmZGNjU3RyaW5nLGZkY2NDb21tZW50CitzeW4gcmVnaW9uIGZkY2NCbGFuayBtYXRjaGdyb3VwPWZkY2NMQ0N0eXBlIHN0YXJ0PS9eTENfQ1RZUEUkLyBlbmQ9L15FTkQgTENfQ1RZUEUkLyBjb250YWlucz1mZGNjS2V5d29yZEN0eXBlLGZkY2NTdHJpbmcsZmRjY0NvbW1lbnQsZmRjY1VuaWNvZGVJblZhbGlkLGZkY2NVbmljb2RlVmFsaWQKK3N5biByZWdpb24gZmRjY0JsYW5rIG1hdGNoZ3JvdXA9ZmRjY0xDQ29sbGF0ZSBzdGFydD0vXkxDX0NPTExBVEUkLyBlbmQ9L15FTkQgTENfQ09MTEFURSQvIGNvbnRhaW5zPWZkY2NLZXl3b3JkQ29sbGF0ZSxmZGNjU3RyaW5nLGZkY2NDb21tZW50LGZkY2NVbmljb2RlSW5WYWxpZCxmZGNjVW5pY29kZVZhbGlkCitzeW4gcmVnaW9uIGZkY2NCbGFuayBtYXRjaGdyb3VwPWZkY2NMQ01vbmV0YXJ5IHN0YXJ0PS9eTENfTU9ORVRBUlkkLyBlbmQ9L15FTkQgTENfTU9ORVRBUlkkLyBjb250YWlucz1mZGNjS2V5d29yZE1vbmV0YXJ5LGZkY2NTdHJpbmcsZmRjY0NvbW1lbnQsZmRjY051bWJlcgorc3luIHJlZ2lvbiBmZGNjQmxhbmsgbWF0Y2hncm91cD1mZGNjTENOdW1lcmljIHN0YXJ0PS9eTENfTlVNRVJJQyQvIGVuZD0vXkVORCBMQ19OVU1FUklDJC8gY29udGFpbnM9ZmRjY0tleXdvcmROdW1lcmljLGZkY2NTdHJpbmcsZmRjY0NvbW1lbnQsZmRjY051bWJlcgorc3luIHJlZ2lvbiBmZGNjQmxhbmsgbWF0Y2hncm91cD1mZGNjTENUaW1lIHN0YXJ0PS9eTENfVElNRSQvIGVuZD0vXkVORCBMQ19USU1FJC8gY29udGFpbnM9ZmRjY0tleXdvcmRUaW1lLGZkY2NTdHJpbmcsZmRjY0NvbW1lbnQsZmRjY051bWJlcgorc3luIHJlZ2lvbiBmZGNjQmxhbmsgbWF0Y2hncm91cD1mZGNjTENNZXNzYWdlcyBzdGFydD0vXkxDX01FU1NBR0VTJC8gZW5kPS9eRU5EIExDX01FU1NBR0VTJC8gY29udGFpbnM9ZmRjY0tleXdvcmRNZXNzYWdlcyxmZGNjU3RyaW5nLGZkY2NDb21tZW50CitzeW4gcmVnaW9uIGZkY2NCbGFuayBtYXRjaGdyb3VwPWZkY2NMQ1BhcGVyIHN0YXJ0PS9eTENfUEFQRVIkLyBlbmQ9L15FTkQgTENfUEFQRVIkLyBjb250YWlucz1mZGNjS2V5d29yZFBhcGVyLGZkY2NTdHJpbmcsZmRjY0NvbW1lbnQsZmRjY051bWJlcgorc3luIHJlZ2lvbiBmZGNjQmxhbmsgbWF0Y2hncm91cD1mZGNjTENUZWxlcGhvbmUgc3RhcnQ9L15MQ19URUxFUEhPTkUkLyBlbmQ9L15FTkQgTENfVEVMRVBIT05FJC8gY29udGFpbnM9ZmRjY0tleXdvcmRUZWxlcGhvbmUsZmRjY1N0cmluZyxmZGNjQ29tbWVudAorc3luIHJlZ2lvbiBmZGNjQmxhbmsgbWF0Y2hncm91cD1mZGNjTENNZWFzdXJlbWVudCBzdGFydD0vXkxDX01FQVNVUkVNRU5UJC8gZW5kPS9eRU5EIExDX01FQVNVUkVNRU5UJC8gY29udGFpbnM9ZmRjY0tleXdvcmRNZWFzdXJlbWVudCxmZGNjU3RyaW5nLGZkY2NDb21tZW50LGZkY2NOdW1iZXIKK3N5biByZWdpb24gZmRjY0JsYW5rIG1hdGNoZ3JvdXA9ZmRjY0xDTmFtZSBzdGFydD0vXkxDX05BTUUkLyBlbmQ9L15FTkQgTENfTkFNRSQvIGNvbnRhaW5zPWZkY2NLZXl3b3JkTmFtZSxmZGNjU3RyaW5nLGZkY2NDb21tZW50CitzeW4gcmVnaW9uIGZkY2NCbGFuayBtYXRjaGdyb3VwPWZkY2NMQ0FkZHJlc3Mgc3RhcnQ9L15MQ19BRERSRVNTJC8gZW5kPS9eRU5EIExDX0FERFJFU1MkLyBjb250YWlucz1mZGNjS2V5d29yZEFkZHJlc3MsZmRjY1N0cmluZyxmZGNjQ29tbWVudCxmZGNjTnVtYmVyCisKKworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZmRjY19zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9mZGNjX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGZkY2NCbGFuawkJIEJsYW5rCisKKyAgSGlMaW5rIGZkY2NUb2RvCQkgVG9kbworICBIaUxpbmsgZmRjY0NvbW1lbnQJCSBDb21tZW50CisgIEhpTGluayBmZGNjVmFyaWFibGUJCSBUeXBlCisKKyAgSGlMaW5rIGZkY2NMQ0lkZW50aWZpY2F0aW9uCSBTdGF0ZW1lbnQKKyAgSGlMaW5rIGZkY2NMQ0N0eXBlCQkgU3RhdGVtZW50CisgIEhpTGluayBmZGNjTENDb2xsYXRlCQkgU3RhdGVtZW50CisgIEhpTGluayBmZGNjTENNb25ldGFyeQkJIFN0YXRlbWVudAorICBIaUxpbmsgZmRjY0xDTnVtZXJpYwkJIFN0YXRlbWVudAorICBIaUxpbmsgZmRjY0xDVGltZQkJIFN0YXRlbWVudAorICBIaUxpbmsgZmRjY0xDTWVzc2FnZXMJCSBTdGF0ZW1lbnQKKyAgSGlMaW5rIGZkY2NMQ1BhcGVyCQkgU3RhdGVtZW50CisgIEhpTGluayBmZGNjTENUZWxlcGhvbmUJIFN0YXRlbWVudAorICBIaUxpbmsgZmRjY0xDTWVhc3VyZW1lbnQJIFN0YXRlbWVudAorICBIaUxpbmsgZmRjY0xDTmFtZQkJIFN0YXRlbWVudAorICBIaUxpbmsgZmRjY0xDQWRkcmVzcwkJIFN0YXRlbWVudAorCisgIEhpTGluayBmZGNjVW5pY29kZUluVmFsaWQJIEVycm9yCisgIEhpTGluayBmZGNjVW5pY29kZVZhbGlkCSBTdHJpbmcKKyAgSGlMaW5rIGZkY2NTdHJpbmcJCSBTdHJpbmcKKyAgSGlMaW5rIGZkY2NOdW1iZXIJCSBCbGFuaworCisgIEhpTGluayBmZGNjS2V5d29yZElkZW50aWZpY2F0aW9uIGZkY2NLZXl3b3JkCisgIEhpTGluayBmZGNjS2V5d29yZEN0eXBlCSAgIGZkY2NLZXl3b3JkCisgIEhpTGluayBmZGNjS2V5d29yZENvbGxhdGUJICAgZmRjY0tleXdvcmQKKyAgSGlMaW5rIGZkY2NLZXl3b3JkTW9uZXRhcnkJICAgZmRjY0tleXdvcmQKKyAgSGlMaW5rIGZkY2NLZXl3b3JkTnVtZXJpYwkgICBmZGNjS2V5d29yZAorICBIaUxpbmsgZmRjY0tleXdvcmRUaW1lCSAgIGZkY2NLZXl3b3JkCisgIEhpTGluayBmZGNjS2V5d29yZE1lc3NhZ2VzCSAgIGZkY2NLZXl3b3JkCisgIEhpTGluayBmZGNjS2V5d29yZFBhcGVyCSAgIGZkY2NLZXl3b3JkCisgIEhpTGluayBmZGNjS2V5d29yZFRlbGVwaG9uZQkgICBmZGNjS2V5d29yZAorICBIaUxpbmsgZmRjY0tleXdvcmRNZWFzdXJlbWVudCAgICBmZGNjS2V5d29yZAorICBIaUxpbmsgZmRjY0tleXdvcmROYW1lCSAgIGZkY2NLZXl3b3JkCisgIEhpTGluayBmZGNjS2V5d29yZEFkZHJlc3MJICAgZmRjY0tleXdvcmQKKyAgSGlMaW5rIGZkY2NLZXl3b3JkCQkgICBJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImZkY2MiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mZXRjaG1haWwudmltIGIvcnVudGltZS9zeW50YXgvZmV0Y2htYWlsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTg2ZWU3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZmV0Y2htYWlsLnZpbQpAQCAtMCwwICsxLDg4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIGZldGNobWFpbCgxKSBSQyBGaWxlCisiIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgorIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL2ZldGNobWFpbC8KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0wNgorIiBhcmNoLXRhZzoJICAgIDU5ZDhhZGFjLTZlNTktNDVmNi04OGNiLWY5YmExZTAwOWMxZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiB0b2RvCitzeW4ga2V5d29yZCBmZXRjaG1haWxUb2RvCWNvbnRhaW5lZCBGSVhNRSBUT0RPIFhYWCBOT1RFCisKKyIgY29tbWVudHMKK3N5biByZWdpb24gIGZldGNobWFpbENvbW1lbnQJc3RhcnQ9IiMiIGVuZD0iJCIgY29udGFpbnM9ZmV0Y2htYWlsVG9kbworCisiIG51bWJlcnMKK3N5biBtYXRjaCAgIGZldGNobWFpbE51bWJlcgkiXDxcZFwrXD4iCisKKyIgc3RyaW5ncworc3luIHJlZ2lvbiAgZmV0Y2htYWlsU3RyaW5nCXN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9ZmV0Y2htYWlsU3RyaW5nRXNjCitzeW4gcmVnaW9uICBmZXRjaG1haWxTdHJpbmcJc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKyBjb250YWlucz1mZXRjaG1haWxTdHJpbmdFc2MKKworIiBlc2NhcGUgY2hhcmFjdGVycyBpbiBzdHJpbmdzCitzeW4gbWF0Y2ggICBmZXRjaG1haWxTdHJpbmdFc2MJIlxcXChbbnRiXVx8MFxkKlx8eFx4XCtcKSIKKworIiBzZXJ2ZXIgZW50cmllcworc3luIHJlZ2lvbiAgZmV0Y2htYWlsS2V5d29yZAl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWZldGNobWFpbEtleXdvcmQgc3RhcnQ9Ilw8cG9sbFx8c2tpcFx8ZGVmYXVsdHNcPiIgZW5kPSJcPHBvbGxcfHNraXBcfGRlZmF1bHRzXD4iIGNvbnRhaW5zPUFMTEJVVCxmZXRjaG1haWxPcHRpb25zLGZldGNobWFpbFNldAorCisiIHNlcnZlciBvcHRpb25zCitzeW4ga2V5d29yZCBmZXRjaG1haWxTZXJ2ZXJPcHRzCWNvbnRhaW5lZCB2aWEgcHJvdG9bY29sXSBsb2NhbFtkb21haW5zXSBwb3J0IGF1dGhbZW50aWNhdGVdCitzeW4ga2V5d29yZCBmZXRjaG1haWxTZXJ2ZXJPcHRzCWNvbnRhaW5lZCB0aW1lb3V0IGVudmVsb3BlIHF2aXJ0dWFsIGFrYSBpbnRlcmZhY2UgbW9uaXRvcgorc3luIGtleXdvcmQgZmV0Y2htYWlsU2VydmVyT3B0cwljb250YWluZWQgcGx1Z2luIHBsdWdvdXQgZG5zIGNoZWNrYWxpYXMgdWlkbCBpbnRlcnZhbCBuZXRzZWMKK3N5biBrZXl3b3JkIGZldGNobWFpbFNlcnZlck9wdHMJY29udGFpbmVkIHByaW5jaXBhbCBlc210cG5hbWUgZXNtdHBwYXNzd29yZAorc3luIG1hdGNoICAgZmV0Y2htYWlsU2VydmVyT3B0cwljb250YWluZWQgIlw8bm9cX3NcK1woZW52ZWxvcGVcfGRuc1x8Y2hlY2thbGlhc1x8dWlkbFwpIgorCisiIHVzZXIgb3B0aW9ucworc3luIGtleXdvcmQgZmV0Y2htYWlsVXNlck9wdHMJY29udGFpbmVkIHVzZXJbbmFtZV0gaXMgdG8gcGFzc1t3b3JkXSBzc2wgc3NsY2VydCBzc2xrZXkgc3NscHJvdG8gZm9sZGVyCitzeW4ga2V5d29yZCBmZXRjaG1haWxVc2VyT3B0cwljb250YWluZWQgc210cGhvc3QgZmV0Y2hkb21haW5zIHNtdHBhZGRyZXNzIHNtdHBuYW1lIGFudGlzcGFtIG1kYSBic210cAorc3luIGtleXdvcmQgZmV0Y2htYWlsVXNlck9wdHMJY29udGFpbmVkIHByZWNvbm5lY3QgcG9zdGNvbm5lY3Qga2VlcCBmbHVzaCBmZXRjaGFsbCByZXdyaXRlIHN0cmlwY3IKK3N5biBrZXl3b3JkIGZldGNobWFpbFVzZXJPcHRzCWNvbnRhaW5lZCBmb3JjZWNyIHBhc3M4Yml0cyBkcm9wc3RhdHVzIGRyb3BkZWxpdmVyZWQgbWltZWRlY29kZSBpZGxlCitzeW4ga2V5d29yZCBmZXRjaG1haWxVc2VyT3B0cwljb250YWluZWQgbGltaXQgd2FybmluZ3MgYmF0Y2hsaW1pdCBmZXRjaGxpbWl0IGV4cHVuZ2UgdHJhY2Vwb2xscyBwcm9wZXJ0aWVzCitzeW4gbWF0Y2ggICBmZXRjaG1haWxVc2VyT3B0cwljb250YWluZWQgIlw8bm9cX3NcK1woa2VlcFx8Zmx1c2hcfGZldGNoYWxsXHxyZXdyaXRlXHxzdHJpcGNyXHxmb3JjZWNyXHxwYXNzOGJpdHNcfGRyb3BzdGF0dXNcfGRyb3BkZWxpdmVyZWRcfG1pbWVkZWNvZGVcfG5vaWRsZVwpIgorCitzeW4ga2V5d29yZCBmZXRjaG1haWxTcGVjaWFsCWNvbnRhaW5lZCBoZXJlIHRoZXJlCisKKworIiBub2lzZSBrZXl3b3Jkcworc3luIGtleXdvcmQgZmV0Y2htYWlsTm9pc2UJYW5kIHdpdGggaGFzIHdhbnRzIG9wdGlvbnMKK3N5biBtYXRjaCAgIGZldGNobWFpbE5vaXNlCSJbOjssXSIKKworIiBvcHRpb25zCitzeW4ga2V5d29yZCBmZXRjaG1haWxTZXQJbmV4dGdyb3VwPWZldGNobWFpbE9wdGlvbnMgc2tpcHdoaXRlIHNraXBubCBzZXQKKworc3luIGtleXdvcmQgZmV0Y2htYWlsT3B0aW9ucwlkYWVtb24gcG9zdG1hc3RlciBib3VuY2VtYWlsIHNwYW1ib3VuY2UgbG9nZmlsZSBpZGZpbGUgc3lzbG9nIG5vc3lzbG9nIHByb3BlcnRpZXMKK3N5biBtYXRjaCAgIGZldGNobWFpbE9wdGlvbnMJIlw8bm9cX3NcK1woYm91bmNlbWFpbFx8c3BhbWJvdW5jZVwpIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9mZXRjaG1haWxfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZmV0Y2htYWlsX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGZldGNobWFpbENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgZmV0Y2htYWlsVG9kbwlUb2RvCisgIEhpTGluayBmZXRjaG1haWxOdW1iZXIJTnVtYmVyCisgIEhpTGluayBmZXRjaG1haWxTdHJpbmcJU3RyaW5nCisgIEhpTGluayBmZXRjaG1haWxTdHJpbmdFc2MJU3BlY2lhbENoYXIKKyAgSGlMaW5rIGZldGNobWFpbEtleXdvcmQJS2V5d29yZAorICBIaUxpbmsgZmV0Y2htYWlsU2VydmVyT3B0cwlJZGVudGlmaWVyCisgIEhpTGluayBmZXRjaG1haWxVc2VyT3B0cwlJZGVudGlmaWVyCisgIEhpTGluayBmZXRjaG1haWxTcGVjaWFsCVNwZWNpYWwKKyAgSGlMaW5rIGZldGNobWFpbFNldAkJS2V5d29yZAorICBIaUxpbmsgZmV0Y2htYWlsT3B0aW9ucwlJZGVudGlmaWVyCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJmZXRjaG1haWwiCisKKyIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2ZnbC52aW0gYi9ydW50aW1lL3N5bnRheC9mZ2wudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiMmZlMTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9mZ2wudmltCkBAIC0wLDAgKzEsMTQ3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSW5mb3JtaXggNEdMCisiIE1haW50YWluZXI6CVJhZmFsIE0uIFN1bGVqbWFuIDxybXNAcG9jenRhLm9uZXQucGw+CisiIFVwZGF0ZToJMjYgU2VwIDIwMDIKKyIgQ2hhbmdlczoKKyIgLSBEeW5hbWljIDRHTC9Gb3VySnMvNEdMIDcuMzAgcHNldWRvIGNvbW1lbnQgZGlyZWN0aXZlcyAoSnVsaWFuIEJyaWRsZSkKKyIgLSBDb25kaXRpb25hbGx5IGFsbG93IGNhc2UgaW5zZW5zaXRpdmUga2V5d29yZHMgKEp1bGlhbiBCcmlkbGUpCisiCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgZXhpc3RzKCJmZ2xfaWdub3JlX2Nhc2UiKQorICBzeW50YXggY2FzZSBpZ25vcmUKK2Vsc2UKKyAgc3ludGF4IGNhc2UgbWF0Y2gKK2VuZGlmCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIEFCT1JUIEFCUyBBQlNPTFVURSBBQ0NFUFQgQUNDRVNTIEFDT1MgQUREIEFGVEVSIEFMTAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBBTExPQ0FURSBBTFRFUiBBTkQgQU5TSSBBTlkgQVBQRU5EIEFSR19WQUwgQVJSQVkgQVJSX0NPVU5UCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIEFSUl9DVVJSIEFTIEFTQyBBU0NFTkRJTkcgQVNDSUkgQVNJTiBBVCBBVEFOIEFUQU4yIEFUVEFDSAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBBVFRSSUJVVEUgQVRUUklCVVRFUyBBVURJVCBBVVRIT1JJWkFUSU9OIEFVVE8gQVVUT05FWFQgQVZFUkFHRSBBVkcKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgQkVGT1JFIEJFR0lOIEJFVFdFRU4gQkxBQ0sgQkxJTksgQkxVRSBCT0xEIEJPUkRFUiBCT1RIIEJPVFRPTQorc3luIGtleXdvcmQgZmdsS2V5d29yZCBCUkVBSyBCVUZGRVJFRCBCWSBCWVRFCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIENBTEwgQ0FTQ0FERSBDQVNFIENIQVIgQ0hBUkFDVEVSIENIQVJBQ1RFUl9MRU5HVEggQ0hBUl9MRU5HVEgKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgQ0hFQ0sgQ0xBU1NfT1JJR0lOIENMRUFSIENMSVBQRUQgQ0xPU0UgQ0xVU1RFUiBDT0xPUgorc3luIGtleXdvcmQgZmdsS2V5d29yZCBDT0xVTU4gQ09MVU1OUyBDT01NQU5EIENPTU1FTlQgQ09NTUVOVFMgQ09NTUlUIENPTU1JVFRFRAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBDT01QT1NJVEVTIENPTVBSRVNTIENPTkNVUlJFTlQgQ09OTkVDVCBDT05ORUNUSU9OCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIENPTk5FQ1RJT05fQUxJQVMgQ09OU1RSQUlORUQgQ09OU1RSQUlOVCBDT05TVFJBSU5UUyBDT05TVFJVQ1QKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgQ09OVElOVUUgQ09OVFJPTCBDT1MgQ09VTlQgQ1JFQVRFIENVUlJFTlQgQ1VSU09SIENZQU4KK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgREFUQSBEQVRBQkFTRSBEQVRBU0tJUCBEQVRFIERBVEVUSU1FIERBWSBEQkEgREJJTkZPIERCU0VSVkVSTkFNRQorc3luIGtleXdvcmQgZmdsS2V5d29yZCBERUFMTE9DQVRFIERFQlVHIERFQyBERUNJTUFMIERFQ0xBUkUgREVGQVVMVCBERUZBVUxUUyBERUZFUgorc3luIGtleXdvcmQgZmdsS2V5d29yZCBERUZFUlJFRCBERUZJTkUgREVMRVRFIERFTElNSVRFUiBERUxJTUlURVJTIERFU0MgREVTQ0VORElORworc3luIGtleXdvcmQgZmdsS2V5d29yZCBERVNDUklCRSBERVNDUklQVE9SIERFVEFDSCBESUFHTk9TVElDUyBESU0gRElSVFkgRElTQUJMRUQKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgRElTQ09OTkVDVCBESVNQTEFZIERJU1RJTkNUIERJU1RSSUJVVElPTlMgRE8gRE9STUFOVCBET1VCTEUKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgRE9XTiBET1dOU0hJRlQgRFJPUAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBFQUNIIEVMSUYgRUxTRSBFTkFCTEVEIEVORCBFTlRSWSBFUlJPUiBFUlJPUkxPRyBFUlJfR0VUCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIEVSUl9QUklOVCBFUlJfUVVJVCBFU0MgRVNDQVBFIEVWRVJZIEVYQ0VQVElPTiBFWENMVVNJVkUKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgRVhFQyBFWEVDVVRFIEVYSVNUUyBFWElUIEVYUCBFWFBMQUlOIEVYUFJFU1NJT04gRVhURU5EIEVYVEVOVAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBFWFRFUk4gRVhURVJOQUwKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgRjEgRjEwIEYxMSBGMTIgRjEzIEYxNCBGMTUgRjE2IEYxNyBGMTggRjE5IEYyIEYyMCBGMjEgRjIyIEYyMworc3luIGtleXdvcmQgZmdsS2V5d29yZCBGMjQgRjI1IEYyNiBGMjcgRjI4IEYyOSBGMyBGMzAgRjMxIEYzMiBGMzMgRjM0IEYzNSBGMzYgRjM3IEYzOAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBGMzkgRjQgRjQwIEY0MSBGNDIgRjQzIEY0NCBGNDUgRjQ2IEY0NyBGNDggRjQ5IEY1IEY1MCBGNTEgRjUyCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIEY1MyBGNTQgRjU1IEY1NiBGNTcgRjU4IEY1OSBGNiBGNjAgRjYxIEY2MiBGNjMgRjY0IEY3IEY4IEY5CitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIEZBTFNFIEZFVENIIEZHTF9HRVRFTlYgRkdMX0tFWVZBTCBGR0xfTEFTVEtFWSBGSUVMRCBGSUVMRF9UT1VDSEVECitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIEZJTEUgRklMTEZBQ1RPUiBGSUxURVJJTkcgRklOSVNIIEZJUlNUIEZMT0FUIEZMVVNIIEZPUgorc3luIGtleXdvcmQgZmdsS2V5d29yZCBGT1JFQUNIIEZPUkVJR04gRk9STSBGT1JNQVQgRk9STU9OTFkgRk9SVFJBTiBGT1VORCBGUkFDVElPTgorc3luIGtleXdvcmQgZmdsS2V5d29yZCBGUkFHTUVOVCBGUkVFIEZST00gRlVOQ1RJT04gR0VUX0ZMREJVRiBHTE9CQUwgR0xPQkFMUyBHTyBHT1RPCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIEdSQU5UIEdSRUVOIEdST1VQIEhBVklORyBIRUFERVIgSEVMUCBIRVggSElERSBISUdIIEhPTEQgSE9VUgorc3luIGtleXdvcmQgZmdsS2V5d29yZCBJREFUQSBJRiBJTEVOR1RIIElNTUVESUFURSBJTiBJTkNMVURFIElOREVYIElOREVYRVMgSU5ESUNBVE9SCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIElORklFTEQgSU5JVCBJTklUSUFMSVpFIElOUFVUIElOU0VSVCBJTlNUUlVDVElPTlMgSU5UIElOVEVHRVIKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgSU5URVJSVVBUIElOVEVSVkFMIElOVE8gSU5UX0ZMQUcgSU5WSVNJQkxFIElTIElTQU0gSVNPTEFUSU9OCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIElUWVBFCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIEtFWSBMQUJFTAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBMQU5HVUFHRSBMQVNUIExFQURJTkcgTEVGVCBMRU5HVEggTEVUIExJS0UgTElORQorc3luIGtleXdvcmQgZmdsS2V5d29yZCBMSU5FTk8gTElORVMgTE9BRCBMT0NBVEUgTE9DSyBMT0cgTE9HMTAgTE9HTiBMT05HIExPVworc3luIGtleXdvcmQgZmdsS2V5d29yZCBNQUdFTlRBIE1BSU4gTUFSR0lOIE1BVENIRVMgTUFYIE1EWSBNRURJVU0gTUVNT1JZIE1FTlUgTUVTU0FHRQorc3luIGtleXdvcmQgZmdsS2V5d29yZCBNRVNTQUdFX0xFTkdUSCBNRVNTQUdFX1RFWFQgTUlOIE1JTlVURSBNT0QgTU9ERSBNT0RJRlkgTU9EVUxFCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIE1PTkVZIE1PTlRIIE1PUkUKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgTkFNRSBOQ0hBUiBORUVEIE5FVyBORVhUIE5FWFRQQUdFIE5PIE5PQ1IgTk9FTlRSWSBOT05FIE5PUk1BTAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBOT1QgTk9URk9VTkQgTlVMTCBOVUxMQUJMRSBOVU1CRVIgTlVNRVJJQyBOVU1fQVJHUyBOVkFSQ0hBUgorc3luIGtleXdvcmQgZmdsS2V5d29yZCBPQ1RFVF9MRU5HVEggT0YgT0ZGIE9MRCBPTiBPTkxZIE9QRU4gT1BUSU1JWkFUSU9OIE9QVElPTiBPUFRJT05TCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIE9SIE9SREVSIE9USEVSV0lTRSBPVVRFUiBPVVRQVVQKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgUEFHRSBQQUdFTk8gUEFVU0UgUERRUFJJT1JJVFkgUEVSQ0VOVCBQSUNUVVJFIFBJUEUgUE9XIFBSRUNJU0lPTgorc3luIGtleXdvcmQgZmdsS2V5d29yZCBQUkVQQVJFIFBSRVZJT1VTIFBSRVZQQUdFIFBSSU1BUlkgUFJJTlQgUFJJTlRFUiBQUklPUiBQUklWQVRFCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFBSSVZJTEVHRVMgUFJPQ0VEVVJFIFBST0dSQU0gUFJPTVBUIFBVQkxJQyBQVVQKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgUVVJVCBRVUlUX0ZMQUcKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgUkFJU0UgUkFOR0UgUkVBRCBSRUFET05MWSBSRUFMIFJFQ09SRCBSRUNPVkVSIFJFRCBSRUZFUkVOQ0VTCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFJFRkVSRU5DSU5HIFJFR0lTVEVSIFJFTEFUSVZFIFJFTUFJTkRFUiBSRU1PVkUgUkVOQU1FIFJFT1BUSU1JWkFUSU9OCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFJFUEVBVEFCTEUgUkVQT1JUIFJFUVVJUkVEIFJFU09MVVRJT04gUkVTT1VSQ0UgUkVTVFJJQ1QKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgUkVTVU1FIFJFVFVSTiBSRVRVUk5FRF9TUUxTVEFURSBSRVRVUk5JTkcgUkVWRVJTRSBSRVZPS0UgUklHSFQKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgUk9CSU4gUk9MRSBST0xMQkFDSyBST0xMRk9SV0FSRCBST09UIFJPVU5EIFJPVyBST1dJRCBST1dJRFMKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgUk9XUyBST1dfQ09VTlQgUlVOCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFNDQUxFIFNDSEVNQSBTQ1JFRU4gU0NST0xMIFNDUl9MSU5FIFNFQ09ORCBTRUNUSU9OIFNFTEVDVAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBTRVJJQUwgU0VSSUFMSVpBQkxFIFNFUlZFUl9OQU1FIFNFU1NJT04gU0VUIFNFVF9DT1VOVCBTSEFSRQorc3luIGtleXdvcmQgZmdsS2V5d29yZCBTSE9SVCBTSE9XIFNJVEVOQU1FIFNJWkUgU0laRU9GIFNLSVAgU0xFRVAgU01BTExGTE9BVCBTTUFMTElOVAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBTT01FIFNQQUNFIFNQQUNFUyBTUUwgU1FMQVdBUk4gU1FMQ0EgU1FMQ09ERSBTUUxFUlJEIFNRTEVSUk0KK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgU1FMRVJST1IgU1FMRVJSUCBTUUxTVEFURSBTUUxXQVJOSU5HIFNRUlQgU1RBQklMSVRZIFNUQVJUCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFNUQVJUTE9HIFNUQVRJQyBTVEFUSVNUSUNTIFNUQVRVUyBTVERFViBTVEVQIFNUT1AgU1RSSU5HIFNUUlVDVAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBTVUJDTEFTU19PUklHSU4gU1VNIFNXSVRDSCBTWU5PTllNIFNZU1RFTQorc3luIGtleXdvcmQgZmdsS2V5d29yZCBTeXNCbG9icyBTeXNDaGVja3MgU3lzQ29sQXV0aCBTeXNDb2xEZXBlbmQgU3lzQ29sdW1ucworc3luIGtleXdvcmQgZmdsS2V5d29yZCBTeXNDb25zdHJhaW50cyBTeXNEZWZhdWx0cyBTeXNEZXBlbmQgU3lzRGlzdHJpYiBTeXNGcmFnQXV0aAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBTeXNGcmFnbWVudHMgU3lzSW5kZXhlcyBTeXNPYmpTdGF0ZSBTeXNPcENsc3RyIFN5c1Byb2NBdXRoCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFN5c1Byb2NCb2R5IFN5c1Byb2NQbGFuIFN5c1Byb2NlZHVyZXMgU3lzUmVmZXJlbmNlcyBTeXNSb2xlQXV0aAorc3luIGtleXdvcmQgZmdsS2V5d29yZCBTeXNTeW5UYWJsZSBTeXNTeW5vbnltcyBTeXNUYWJBdXRoIFN5c1RhYmxlcyBTeXNUcmlnQm9keQorc3luIGtleXdvcmQgZmdsS2V5d29yZCBTeXNUcmlnZ2VycyBTeXNVc2VycyBTeXNWaWV3cyBTeXNWaW9sYXRpb25zCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFRBQiBUQUJMRSBUQUJMRVMgVEFOIFRFTVAgVEVYVCBUSEVOIFRIUk9VR0ggVEhSVSBUSU1FIFRPCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFRPREFZIFRPUCBUT1RBTCBUUkFDRSBUUkFJTEVSIFRSQUlMSU5HIFRSQU5TQUNUSU9OIFRSSUdHRVIKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgVFJJR0dFUlMgVFJJTSBUUlVFIFRSVU5DIFRZUEUgVFlQRURFRgorc3luIGtleXdvcmQgZmdsS2V5d29yZCBVTkNPTU1JVFRFRCBVTkNPTlNUUkFJTkVEIFVOREVSTElORSBVTklPTiBVTklRVUUgVU5JVFMgVU5MT0FECitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFVOTE9DSyBVTlNJR05FRCBVUCBVUERBVEUgVVBTSElGVCBVU0VSIFVTSU5HCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFZBTElEQVRFIFZBTFVFIFZBTFVFUyBWQVJDSEFSIFZBUklBQkxFUyBWQVJJQU5DRSBWQVJZSU5HCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFZFUklGWSBWSUVXIFZJT0xBVElPTlMKK3N5biBrZXl3b3JkIGZnbEtleXdvcmQgV0FJVCBXQUlUSU5HIFdBUk5JTkcgV0VFS0RBWSBXSEVOIFdIRU5FVkVSIFdIRVJFIFdISUxFIFdISVRFCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFdJTkRPVyBXSVRIIFdJVEhPVVQgV09SRFdSQVAgV09SSyBXUkFQIFdSSVRFCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFlFQVIgWUVMTE9XCitzeW4ga2V5d29yZCBmZ2xLZXl3b3JkIFpFUk9GSUxMCisKKyIgU3RyaW5ncyBhbmQgY2hhcmFjdGVyczoKK3N5biByZWdpb24gZmdsU3RyaW5nCQlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisKK3N5biByZWdpb24gZmdsU3RyaW5nCQlzdGFydD0rJysgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rJysKKworIiBOdW1iZXJzOgorc3luIG1hdGNoIGZnbE51bWJlcgkJIi1cPVw8WzAtOV0qXC5cPVswLTlfXVw+IgorCisiIENvbW1lbnRzOgorc3luIHJlZ2lvbiBmZ2xDb21tZW50ICAgIHN0YXJ0PSJ7IiAgZW5kPSJ9Igorc3luIG1hdGNoIGZnbENvbW1lbnQJIi0tLioiCitzeW4gbWF0Y2ggZmdsQ29tbWVudAkiIy4qIgorCisiIE5vdCBhIGNvbW1lbnQgZXZlbiB0aG91Z2ggaXQgbG9va3MgbGlrZSBvbmUgKER5bmFtaWMgNEdML0ZvdXJKcyBkaXJlY3RpdmUpCitzeW4gbWF0Y2ggZmdsU3BlY2lhbAkiLS0jIgorc3luIG1hdGNoIGZnbFNwZWNpYWwJIi0tQCIKKworc3luIHN5bmMgY2NvbW1lbnQgZmdsQ29tbWVudAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9mZ2xfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZmdsX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGZnbENvbW1lbnQJQ29tbWVudAorICAiSGlMaW5rIGZnbEtleXdvcmQJZmdsU3BlY2lhbAorICBIaUxpbmsgZmdsS2V5d29yZAlmZ2xTdGF0ZW1lbnQKKyAgSGlMaW5rIGZnbE51bWJlcglOdW1iZXIKKyAgSGlMaW5rIGZnbE9wZXJhdG9yCWZnbFN0YXRlbWVudAorICBIaUxpbmsgZmdsU3BlY2lhbAlTcGVjaWFsCisgIEhpTGluayBmZ2xTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBmZ2xTdHJpbmcJU3RyaW5nCisgIEhpTGluayBmZ2xUeXBlCVR5cGUKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZmdsIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZm9jZXhlYy52aW0gYi9ydW50aW1lL3N5bnRheC9mb2NleGVjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODRjMzdlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZm9jZXhlYy52aW0KQEAgLTAsMCArMSwxMDEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglGb2N1cyBFeGVjdXRhYmxlCisiIE1haW50YWluZXI6CVJvYiBCcmFkeSA8cm9iYkBkYXRhdG9uZS5jb20+CisiIExhc3QgQ2hhbmdlOgkkRGF0ZSQKKyIgVVJMOgkJaHR0cDovL3d3dy5kYXRhdG9uZS5jb20vfnJvYmIvdmltL3N5bnRheC9mb2NleGVjLnZpbQorIiAkUmV2aXNpb24kCisKKyIgdGhpcyBpcyBhIHZlcnkgc2ltcGxlIHN5bnRheCBmaWxlIC0gSSB3aWxsIGJlIGltcHJvdmluZyBpdAorIiBvbmUgdGhpbmcgaXMgaG93IHRvIGRvIGNvbXB1dGVzCisiIEkgZG9uJ3QgbGlrZSB0aGF0ICZ2YXJzIGFuZCBGVVNFKCkgZnVuY3Rpb25zIGhpZ2hsaWdodCB0byB0aGUgc2FtZSBjb2xvcgorIiBJIHRoaW5rIHNvbWUgb2YgdGhlc2UgdGhpbmdzIHNob3VsZCBnZXQgZGlmZmVyZW50IGhpbGlnaHRzIC0KKyIgIHNob3VsZCBNT0RJRlkgY29tbWFuZHMgbG9vayBkaWZmZXJlbnQgdGhhbiBUQUJMRT8KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCisiIEEgYnVuY2ggb2YgdXNlZnVsIGtleXdvcmRzCitzeW4ga2V5d29yZCBmb2NleGVjVGFibGUJVEFCTEUgU1VNIEJZIEFDUk9TUyBFTkQgUFJJTlQgSE9MRCBMSVNUIE5PUFJJTlQKK3N5biBrZXl3b3JkIGZvY2V4ZWNUYWJsZQlTVUJGT09UIFNVQkhFQUQgSEVBRElORyBGT09USU5HIFBBR0UtQlJFQUsgQVMKK3N5biBrZXl3b3JkIGZvY2V4ZWNUYWJsZQlXSEVSRSBBTkQgT1IgTk9TUExJVCBGT1JNQVQKK3N5biBrZXl3b3JkIGZvY2V4ZWNNb2RpZnkJTU9ESUZZIERBVEEgT04gRklYRk9STSBQUk9NUFQgTUFUQ0ggQ09NUFVURQorc3luIGtleXdvcmQgZm9jZXhlY01vZGlmeQlHT1RPIENBU0UgRU5EQ0FTRSBUWVBFIE5PTUFUQ0ggUkVKRUNUIElOQ0xVREUKK3N5biBrZXl3b3JkIGZvY2V4ZWNNb2RpZnkJQ09OVElOVUUgRlJPTQorc3luIGtleXdvcmQgZm9jZXhlY05vcm1hbAlDSEVDSyBGSUxFIENSRUFURSBFWCBTRVQgSUYgRklMRURFRiBERUZJTkUKK3N5biBrZXl3b3JkIGZvY2V4ZWNOb3JtYWwJUkVCVUlMRCBJRiBSRUNPUkRMSU1JVCBGSSBFUSBKT0lOCitzeW4ga2V5d29yZCBmb2NleGVjSm9pbgkJSU4gVE8KK3N5biBrZXl3b3JkIGZvY2V4ZWNGaWxlRGVmCURJU0sKK3N5biBrZXl3b3JkIGZvY2V4ZWNTZXQJCU1TRyBBTEwKK3N5biBtYXRjaCAgIGZvY2V4ZWNEYXNoCQkiLVJVTiIKK3N5biBtYXRjaCAgIGZvY2V4ZWNEYXNoCQkiLVBST01QVCIKK3N5biBtYXRjaCAgIGZvY2V4ZWNEYXNoCQkiLVdJTkZPUk0iCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29uc3RhbnRzCitzeW4gcmVnaW9uICBmb2NleGVjU3RyaW5nMQlzdGFydD0rIisgZW5kPSsiKworc3luIHJlZ2lvbiAgZm9jZXhlY1N0cmluZzIJc3RhcnQ9KycrIGVuZD0rJysKKworImFtcGVyIHZhcmlhYmxlcworc3luIG1hdGNoICAgZm9jZXhlY0FtcGVyVmFyCSImJlw9W0EtWl9dXCsiCisKKyJmdXNlIGZ1bmN0aW9ucworc3luIGtleXdvcmQgZm9jZXhlY0Z1c2UgR0VUVVNFUiBHRVRVU1IgV0hPQU1JIEZFWEVSUiBBU0lTIEdFVFRPSyBVUENBU0UgTE9DQVNFCitzeW4ga2V5d29yZCBmb2NleGVjRnVzZSBTVUJTVFIgVE9EQVkgVE9EQVlJIFBPU0lUIEhITU1TUyBCWVRWQUwgRURBVVQxIEJJVFZBTAorc3luIGtleXdvcmQgZm9jZXhlY0Z1c2UgQklUU09OIEZHRVRFTlYgRlBVVEVOViBIRVhCWVQgU1BBV04gWU0gWU1JIEpVTERBVAorc3luIGtleXdvcmQgZm9jZXhlY0Z1c2UgSlVMREFUSSBET1dLIERPV0tJIERPV0tMSSBDSEdEQVQgQ0hHREFUSSBGVE9BIEFUT0RCTAorc3luIGtleXdvcmQgZm9jZXhlY0Z1c2UgU09VTkRFWCBSSlVTVCBSRVZFUlNFIFBBUkFHIE9WUkxBWSBMSlVTVCBDVFJGTEQgQ1RSQU4KK3N5biBrZXl3b3JkIGZvY2V4ZWNGdXNlIENIS0ZNVCBBUkdMRU4gR1JFR0RUIEdSRUdEVEkgRFRZTUQgRFRZTURJIERURE1ZIERURE1ZSQorc3luIGtleXdvcmQgZm9jZXhlY0Z1c2UgRFRZRE0gRFRZRE1JIERUTVlEIERUTVlESSBEVERZTSBEVERZTUkgREFZTUQgREFZTURJCitzeW4ga2V5d29yZCBmb2NleGVjRnVzZSBEQU1EWSBEQU1EWUkgREFETVkgREFETVlJIEFZTSBBWU1JIEFZTUQgQVlNREkgQ0hLUENLCitzeW4ga2V5d29yZCBmb2NleGVjRnVzZSBJTU9EIEZNT0QgRE1PRCBQQ0tPVVQgRVhQIEJBUiBTUEVMTE5NIFNQRUxMTlVNIFJUQ0lWUAorc3luIGtleXdvcmQgZm9jZXhlY0Z1c2UgUFJEVU5JIFBSRE5PUiBSRE5PUk0gUkRVTklGIExDV09SRCBJVE9aIFJMUEhMRCBJQklQUk8KK3N5biBrZXl3b3JkIGZvY2V4ZWNGdXNlIElCSVBSVyBJQklQUkMgSUJJUFJVIElCSVJDUCBQVEhEQVQgSVRPUEFDSyBJVE9OVU0KK3N5biBrZXl3b3JkIGZvY2V4ZWNGdXNlIERTTUVYRUMgRFNNRVZBTCBEU01FUlJDIE1TTUVYRUMgTVNNRVZBTCBNU01FUlJDIEVYVERYSQorc3luIGtleXdvcmQgZm9jZXhlY0Z1c2UgQkFBTkhBU0ggRURBWVNJIERUT0cgR1RPRCBIU0VUUFQgSFBBUlQgSFRJTUUgSE5BTUUKK3N5biBrZXl3b3JkIGZvY2V4ZWNGdXNlIEhBREQgSERJRkYgSERBVEUgSEdFVEMgSENOVlJUIEhEVFRNIEhNSUROVCBURU1QUEFUSAorc3luIGtleXdvcmQgZm9jZXhlY0Z1c2UgREFURUFERCBEQVRFRElGIERBVEVNT1YgREFURUNWVCBFVVJITEQgRVVSWENIIEZJTkRGT0MKK3N5biBrZXl3b3JkIGZvY2V4ZWNGdXNlIEZFUlJNRVMgQ05DVFVTUiBDVVJSUEFUSCBVU0VSUEFUSCBTWVNURU0gQVNLWU4KK3N5biBrZXl3b3JkIGZvY2V4ZWNGdXNlIEZVU0VNRU5VIFBPUEVESVQgUE9QRklMRQorCitzeW4gbWF0Y2ggICBmb2NleGVjTnVtYmVyCSJcPFxkXCtcPiIKK3N5biBtYXRjaCAgIGZvY2V4ZWNOdW1iZXIJIlw8XGRcK1wuXGQqXD4iCisKK3N5biBtYXRjaCAgIGZvY2V4ZWNDb21tZW50CSItXCouKiIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZm9jZXhlY19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9mb2NleGVjX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGZvY2V4ZWNTdHJpbmcxCQlTdHJpbmcKKyAgSGlMaW5rIGZvY2V4ZWNTdHJpbmcyCQlTdHJpbmcKKyAgSGlMaW5rIGZvY2V4ZWNOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgZm9jZXhlY0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGZvY2V4ZWNUYWJsZQkJS2V5d29yZAorICBIaUxpbmsgZm9jZXhlY01vZGlmeQkJS2V5d29yZAorICBIaUxpbmsgZm9jZXhlY05vcm1hbAkJS2V5d29yZAorICBIaUxpbmsgZm9jZXhlY1NldAkJS2V5d29yZAorICBIaUxpbmsgZm9jZXhlY0Rhc2gJCUtleXdvcmQKKyAgSGlMaW5rIGZvY2V4ZWNGaWxlRGVmCQlLZXl3b3JkCisgIEhpTGluayBmb2NleGVjSm9pbgkJS2V5d29yZAorICBIaUxpbmsgZm9jZXhlY0FtcGVyVmFyCUlkZW50aWZpZXIKKyAgSGlMaW5rIGZvY2V4ZWNGdXNlCQlGdW5jdGlvbgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJmb2NleGVjIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZm9ybS52aW0gYi9ydW50aW1lL3N5bnRheC9mb3JtLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjZiZjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZm9ybS52aW0KQEAgLTAsMCArMSwxMDEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglGT1JNCisiIE1haW50YWluZXI6CU1pY2hhZWwgTS4gVHVuZyA8bWljaGFlbC50dW5nQHVuaS1tYWluei5kZT4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDEwCisKKyIgRmlyc3QgcHVibGljIHJlbGVhc2UgYmFzZWQgb24gJ1N5bWJvbGljIE1hbmlwdWxhdGlvbiB3aXRoIEZPUk0nCisiIGJ5IEouQS5NLiBWZXJtYXNlcmVuLCBDQU4sIE5ldGhlcmxhbmRzLCAxOTkxLgorIiBUaGlzIHN5bnRheCBmaWxlIGlzIHN0aWxsIGluIGRldmVsb3BtZW50LiBQbGVhc2Ugc2VuZCBzdWdnZXN0aW9ucworIiB0byB0aGUgbWFpbnRhaW5lci4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBBIGJ1bmNoIG9mIHVzZWZ1bCBGT1JNIGtleXdvcmRzCitzeW4ga2V5d29yZCBmb3JtVHlwZQkJZ2xvYmFsIGxvY2FsCitzeW4ga2V5d29yZCBmb3JtSGVhZGVyU3RhdGVtZW50CXN5bWJvbCBzeW1ib2xzIGNmdW5jdGlvbiBjZnVuY3Rpb25zCitzeW4ga2V5d29yZCBmb3JtSGVhZGVyU3RhdGVtZW50CWZ1bmN0aW9uIGZ1bmN0aW9ucyB2ZWN0b3IgdmVjdG9ycworc3luIGtleXdvcmQgZm9ybUhlYWRlclN0YXRlbWVudAlzZXQgc2V0cyBpbmRleCBpbmRpY2VzCitzeW4ga2V5d29yZCBmb3JtSGVhZGVyU3RhdGVtZW50CWRpbWVuc2lvbiBkaW1lbnNpb25zIHVuaXR0cmFjZQorc3luIGtleXdvcmQgZm9ybVN0YXRlbWVudAlpZCBpZGVudGlmeSBkcm9wIHNraXAKK3N5biBrZXl3b3JkIGZvcm1TdGF0ZW1lbnQJd3JpdGUgbndyaXRlCitzeW4ga2V5d29yZCBmb3JtU3RhdGVtZW50CWZvcm1hdCBwcmludCBucHJpbnQgbG9hZCBzYXZlCitzeW4ga2V5d29yZCBmb3JtU3RhdGVtZW50CWJyYWNrZXQgYnJhY2tldHMKK3N5biBrZXl3b3JkIGZvcm1TdGF0ZW1lbnQJbXVsdGlwbHkgY291bnQgbWF0Y2ggb25seSBkaXNjYXJkCitzeW4ga2V5d29yZCBmb3JtU3RhdGVtZW50CXRyYWNlNCB0cmFjZU4gY29udHJhY3Qgc3ltbWV0cml6ZSBhbnRpc3ltbWV0cml6ZQorc3luIGtleXdvcmQgZm9ybUNvbmRpdGlvbmFsCWlmIGVsc2UgZW5kaWYgd2hpbGUKK3N5biBrZXl3b3JkIGZvcm1Db25kaXRpb25hbAlyZXBlYXQgZW5kcmVwZWF0IGxhYmVsIGdvdG8KKworIiBzb21lIHNwZWNpYWwgZnVuY3Rpb25zCitzeW4ga2V5d29yZCBmb3JtU3RhdGVtZW50CWdfIGdpXyBnNV8gZzZfIGc3XyA1XyA2XyA3Xworc3luIGtleXdvcmQgZm9ybVN0YXRlbWVudAllXyBkXyBkZWx0YV8gdGhldGFfIHN1bV8gc3VtcF8KKworIiBwYXR0ZXJuIG1hdGNoaW5nIGZvciBrZXl3b3Jkcworc3luIG1hdGNoICAgZm9ybUNvbW1lbnQJCSJeXCAqXCouKiQiCitzeW4gbWF0Y2ggICBmb3JtQ29tbWVudAkJIlw7XCAqXCouKiQiCitzeW4gcmVnaW9uICBmb3JtU3RyaW5nCQlzdGFydD0rIisgIGVuZD0rIisKK3N5biByZWdpb24gIGZvcm1TdHJpbmcJCXN0YXJ0PSsnKyAgZW5kPSsnKworc3luIG1hdGNoICAgZm9ybVByZVByb2MJCSJeXD1cI1thLXpBLXpdW2EtekEtWjAtOV0qXD4iCitzeW4gbWF0Y2ggICBmb3JtTnVtYmVyCQkiXDxcZFwrXD4iCitzeW4gbWF0Y2ggICBmb3JtTnVtYmVyCQkiXDxcZFwrXC5cZCpcPiIKK3N5biBtYXRjaCAgIGZvcm1OdW1iZXIJCSJcLlxkXCtcPiIKK3N5biBtYXRjaCAgIGZvcm1OdW1iZXIJCSItXGQiIGNvbnRhaW5zPU51bWJlcgorc3luIG1hdGNoICAgZm9ybU51bWJlcgkJIi1cLlxkIiBjb250YWlucz1OdW1iZXIKK3N5biBtYXRjaCAgIGZvcm1OdW1iZXIJCSJpX1wrXD4iCitzeW4gbWF0Y2ggICBmb3JtTnVtYmVyCQkiZmFjX1wrXD4iCitzeW4gbWF0Y2ggICBmb3JtRGlyZWN0aXZlCSJeXD1cLlthLXpBLXpdW2EtekEtWjAtOV0qXD4iCisKKyIgaGkgVXNlciBMYWJlbHMKK3N5biBzeW5jIGNjb21tZW50IGZvcm1Db21tZW50IG1pbmxpbmVzPTEwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2Zvcm1fc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZm9ybV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBmb3JtQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGZvcm1OdW1iZXIJCU51bWJlcgorICBIaUxpbmsgZm9ybVN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBmb3JtQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgZm9ybVByZVByb2MJCVByZVByb2MKKyAgSGlMaW5rIGZvcm1EaXJlY3RpdmUJCVByZVByb2MKKyAgSGlMaW5rIGZvcm1UeXBlCQlUeXBlCisgIEhpTGluayBmb3JtU3RyaW5nCQlTdHJpbmcKKworICBpZiAhZXhpc3RzKCJmb3JtX2VuaGFuY2VkX2NvbG9yIikKKyAgICBIaUxpbmsgZm9ybUhlYWRlclN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgZWxzZQorICAiIGVuaGFuY2VkIGNvbG9yIG1vZGUKKyAgICBIaUxpbmsgZm9ybUhlYWRlclN0YXRlbWVudAlIZWFkZXJTdGF0ZW1lbnQKKyAgICAiIGRhcmsgYW5kIGEgbGlnaHQgYmFja2dyb3VuZCBmb3IgbG9jYWwgdHlwZXMKKyAgICBpZiAmYmFja2dyb3VuZCA9PSAiZGFyayIKKyAgICAgIGhpIEhlYWRlclN0YXRlbWVudCB0ZXJtPXVuZGVybGluZSBjdGVybWZnPUxpZ2h0R3JlZW4gZ3VpZmc9TGlnaHRHcmVlbiBndWk9Ym9sZAorICAgIGVsc2UKKyAgICAgIGhpIEhlYWRlclN0YXRlbWVudCB0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtHcmVlbiBndWlmZz1TZWFHcmVlbiBndWk9Ym9sZAorICAgIGVuZGlmCisgICAgIiBjaGFuZ2Ugc2xpZ2h0bHkgdGhlIGRlZmF1bHQgZm9yIGRhcmsgZ3ZpbQorICAgIGlmIGhhcygiZ3VpX3J1bm5pbmciKSAmJiAmYmFja2dyb3VuZCA9PSAiZGFyayIKKyAgICAgIGhpIENvbmRpdGlvbmFsIGd1aWZnPUxpZ2h0Qmx1ZSBndWk9Ym9sZAorICAgICAgaGkgU3RhdGVtZW50IGd1aWZnPUxpZ2h0WWVsbG93CisgICAgZW5kaWYKKyAgZW5kaWYKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworICBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJmb3JtIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZm9ydGgudmltIGIvcnVudGltZS9zeW50YXgvZm9ydGgudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNzM3ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9mb3J0aC52aW0KQEAgLTAsMCArMSwyMzUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICBGT1JUSAorIiBNYWludGFpbmVyOiAgQ2hyaXN0aWFuIFYuIEouIEJy/HNzb3cgPGN2amJAY3ZqYi5kZT4KKyIgTGFzdCBDaGFuZ2U6IFNvbiAyMiBKdW4gMjAwMyAyMDo0Mjo1NSBDRVNUCisiIEZpbGVuYW1lczogICAqLmZzLCouZnQKKyIgVVJMOgkgICAgICAgaHR0cDovL3d3dy5jdmpiLmRlL2NvbXAvdmltL2ZvcnRoLnZpbQorCisiICRJZCQKKworIiBUaGUgbGlzdCBvZiBrZXl3b3JkcyBpcyBpbmNvbXBsZXRlLCBjb21wYXJlZCB3aXRoIHRoZSBvZmZpY2FsIEFOUworIiB3b3JkbGlzdC4gSWYgeW91IHVzZSB0aGlzIGxhbmd1YWdlLCBwbGVhc2UgaW1wcm92ZSBpdCwgYW5kIHNlbmQgbWUKKyIgdGhlIHBhdGNoZXMuCisKKyIgTWFueSBUaGFua3MgdG8uLi4KKyIKKyIgMjAwMy0wNS0xMDoKKyIgQW5kcmV3IEdhdWwgPGFuZHJldyBhdCBnYXVsLm9yZz4gc2VuZCBtZSBhIHBhdGNoIGZvcgorIiBmb3J0aE9wZXJhdG9ycy4KKyIKKyIgMjAwMy0wNC0wMzoKKyIgUm9uIEFhcm9uIDxyb24gYXQgcm9ud2FyZS5vcmc+IG1hZGUgdXBkYXRlcyBmb3IgYW4KKyIgaW1wcm92ZWQgV2luMzJGb3J0aCBzdXBwb3J0LgorIgorIiAyMDAyLTA0LTIyOgorIiBDaGFybGVzIFNoYXR0dWNrIDxjaGFybGV5IGF0IGZvcnRoLm9yZz4gaGVscGVkIG1lIHRvIHNldHRsZSB1cCB3aXRoIHRoZQorIiBiaW5hcnkgYW5kIGhleCBudW1iZXIgaGlnaGxpZ2h0aW5nLgorIgorIiAyMDAyLTA0LTIwOgorIiBDaGFybGVzIFNoYXR0dWNrIDxjaGFybGV5IGF0IGZvcnRoLm9yZz4gc2VuZCBtZSBzb21lIGNvZGUgZm9yIGNvcnJlY3RseQorIiBoaWdobGlnaHRpbmcgY2hhciBhbmQgW2NoYXJdIGZvbGxvd2VkIGJ5IGFuIG9wZW5pbmcgcGFyZW4uIEhlIGFsc28gYWRkZWQKKyIgc29tZSB3b3JkcyBmb3Igb3BlcmF0b3JzLCBjb25kaXRpb25hbHMsIGFuZCBkZWZpbml0aW9uczsgYW5kIGFkZGVkIHRoZQorIiBoaWdobGlnaHRpbmcgZm9yIHMiIGFuZCBjIi4KKyIKKyIgMjAwMC0wMy0yODoKKyIgSm9obiBQcm92aWRlbnphIDxqb2huIGF0IHByb2JvLmNvbT4gbWFkZSBpbXByb3ZlbWVudHMgZm9yIHRoZQorIiBoaWdobGlnaHRpbmcgb2Ygc3RyaW5ncywgYW5kIGFkZGVkIHRoZSBjb2RlIGZvciBoaWdobGlnaHRpbmcgaGV4IG51bWJlcnMuCisiCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorZW5kaWYKKworIiBTeW5jaHJvbml6YXRpb24gbWV0aG9kCitzeW4gc3luYyBjY29tbWVudCBtYXhsaW5lcz0yMDAKKworIiBJIHVzZSBnZm9ydGgsIHNvIEkgc2V0IHRoaXMgdG8gY2FzZSBpZ25vcmUKK3N5biBjYXNlIGlnbm9yZQorCisiIFNvbWUgc3BlY2lhbCwgbm9uLUZPUlRIIGtleXdvcmRzCitzeW4ga2V5d29yZCBmb3J0aFRvZG8gY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCitzeW4gbWF0Y2ggZm9ydGhUb2RvIGNvbnRhaW5lZCAnQ29weXJpZ2h0XChccyhbQ2NdKVwpXD1cKFxzWzAtOV1cezIsNH1cKVw9JworCisiIENoYXJhY3RlcnMgYWxsb3dlZCBpbiBrZXl3b3JkcworIiBJIGRvbid0IGtub3cgaWYgMTI4LTI1NSBhcmUgYWxsb3dlZCBpbiBBTlMtRk9SSFQKK2lmIHZlcnNpb24gPj0gNjAwCisgICAgc2V0bG9jYWwgaXNrZXl3b3JkPSEsQCwzMy0zNSwlLCQsMzgtNjQsQS1aLDkxLTk2LGEteiwxMjMtMTI2LDEyOC0yNTUKK2Vsc2UKKyAgICBzZXQgaXNrZXl3b3JkPSEsQCwzMy0zNSwlLCQsMzgtNjQsQS1aLDkxLTk2LGEteiwxMjMtMTI2LDEyOC0yNTUKK2VuZGlmCisKKworIiBLZXl3b3JkcworCisiIGJhc2ljIG1hdGhlbWF0aWNhbCBhbmQgbG9naWNhbCBvcGVyYXRvcnMKK3N5biBrZXl3b3JkIGZvcnRoT3BlcmF0b3JzICsgLSAqIC8gTU9EIC9NT0QgTkVHQVRFIEFCUyBNSU4gTUFYCitzeW4ga2V5d29yZCBmb3J0aE9wZXJhdG9ycyBBTkQgT1IgWE9SIE5PVCBJTlZFUlQgMiogMi8gMSsgMS0gMisgMi0gOCoKK3N5biBrZXl3b3JkIGZvcnRoT3BlcmF0b3JzIE0rICovICovTU9EIE0qIFVNKiBNKi8gVU0vTU9EIEZNL01PRCBTTS9SRU0KK3N5biBrZXl3b3JkIGZvcnRoT3BlcmF0b3JzIEQrIEQtIERORUdBVEUgREFCUyBETUlOIERNQVgKK3N5biBrZXl3b3JkIGZvcnRoT3BlcmF0b3JzIEYrIEYtIEYqIEYvIEZORUdBVEUgRkFCUyBGTUFYIEZNSU4gRkxPT1IgRlJPVU5ECitzeW4ga2V5d29yZCBmb3J0aE9wZXJhdG9ycyBGKiogRlNRUlQgRkVYUCBGRVhQTTEgRkxOIEZMTlAxIEZMT0cgRkFMT0cgRlNJTgorc3luIGtleXdvcmQgZm9ydGhPcGVyYXRvcnMgRkNPUyBGU0lOQ09TIEZUQU4gRkFTSU4gRkFDT1MgRkFUQU4gRkFUQU4yIEZTSU5ICitzeW4ga2V5d29yZCBmb3J0aE9wZXJhdG9ycyBGQ09TSCBGVEFOSCBGQVNJTkggRkFDT1NIIEZBVEFOSAorc3luIGtleXdvcmQgZm9ydGhPcGVyYXRvcnMgMDwgMDw9IDA8PiAwPSAwPiAwPj0gPCA8PSA8PiA9ID4gPj0KK3N5biBrZXl3b3JkIGZvcnRoT3BlcmF0b3JzID9ORUdBVEUgP0RORUdBVEUKKworIiBzdGFjayBtYW5pcHVsYXRpb25zCitzeW4ga2V5d29yZCBmb3J0aFN0YWNrIERST1AgTklQIERVUCBPVkVSIFRVQ0sgU1dBUCBST1QgLVJPVCA/RFVQIFBJQ0sgUk9MTAorc3luIGtleXdvcmQgZm9ydGhTdGFjayAyRFJPUCAyTklQIDJEVVAgMk9WRVIgMlRVQ0sgMlNXQVAgMlJPVAorc3luIGtleXdvcmQgZm9ydGhTdGFjayAzRFVQIDREVVAKK3N5biBrZXl3b3JkIGZvcnRoUlN0YWNrID5SIFI+IFJAIFJEUk9QIDI+UiAyUj4gMlJAIDJSRFJPUAorc3luIGtleXdvcmQgZm9ydGhGU3RhY2sgRkRST1AgRk5JUCBGRFVQIEZPVkVSIEZUVUNLIEZTV0FQIEZST1QKKworIiBzdGFjayBwb2ludGVyIG1hbmlwdWxhdGlvbnMKK3N5biBrZXl3b3JkIGZvcnRoU1AgU1BAIFNQISBGUEAgRlAhIFJQQCBSUCEgTFBAIExQIQorCisiIGFkZHJlc3Mgb3BlcmF0aW9ucworc3luIGtleXdvcmQgZm9ydGhNZW1vcnkgQCAhICshIENAIEMhIDJAIDIhIEZAIEYhIFNGQCBTRiEgREZAIERGIQorc3luIGtleXdvcmQgZm9ydGhBZHJBcml0aCBDSEFSUyBDSEFSKyBDRUxMUyBDRUxMKyBDRUxMIEFMSUdOIEFMSUdORUQgRkxPQVRTCitzeW4ga2V5d29yZCBmb3J0aEFkckFyaXRoIEZMT0FUKyBGTE9BVCBGQUxJR04gRkFMSUdORUQgU0ZMT0FUUyBTRkxPQVQrCitzeW4ga2V5d29yZCBmb3J0aEFkckFyaXRoIFNGQUxJR04gU0ZBTElHTkVEIERGTE9BVFMgREZMT0FUKyBERkFMSUdOIERGQUxJR05FRAorc3luIGtleXdvcmQgZm9ydGhBZHJBcml0aCBNQVhBTElHTiBNQVhBTElHTkVEIENGQUxJR04gQ0ZBTElHTkVECitzeW4ga2V5d29yZCBmb3J0aEFkckFyaXRoIEFERFJFU1MtVU5JVC1CSVRTIEFMTE9UIEFMTE9DQVRFIEhFUkUKK3N5biBrZXl3b3JkIGZvcnRoTWVtQmxrcyBNT1ZFIEVSQVNFIENNT1ZFIENNT1ZFPiBGSUxMIEJMQU5LCisKKyIgY29uZGl0aW9uYWxzCitzeW4ga2V5d29yZCBmb3J0aENvbmQgSUYgRUxTRSBFTkRJRiBUSEVOIENBU0UgT0YgRU5ET0YgRU5EQ0FTRSA/RFVQLUlGCitzeW4ga2V5d29yZCBmb3J0aENvbmQgP0RVUC0wPS1JRiBBSEVBRCBDUy1QSUNLIENTLVJPTEwgQ0FUQ0ggVEhST1cgV0lUSElOCisKKyIgaXRlcmF0aW9ucworc3luIGtleXdvcmQgZm9ydGhMb29wIEJFR0lOIFdISUxFIFJFUEVBVCBVTlRJTCBBR0FJTgorc3luIGtleXdvcmQgZm9ydGhMb29wID9ETyBMT09QIEkgSiBLICtETyBVK0RPIC1ETyBVLURPIERPICtMT09QIC1MT09QCitzeW4ga2V5d29yZCBmb3J0aExvb3AgVU5MT09QIExFQVZFID9MRUFWRSBFWElUIERPTkUgRk9SIE5FWFQKKworIiBuZXcgd29yZHMKK3N5biBtYXRjaCBmb3J0aENvbG9uRGVmICdcPDptXD9ccypbXiBcdF1cK1w+Jworc3luIGtleXdvcmQgZm9ydGhFbmRPZkNvbG9uRGVmIDsgO00gO20KK3N5biBrZXl3b3JkIGZvcnRoRGVmaW5lIENPTlNUQU5UIDJDT05TVEFOVCBGQ09OU1RBTlQgVkFSSUFCTEUgMlZBUklBQkxFIENSRUFURQorc3luIGtleXdvcmQgZm9ydGhEZWZpbmUgVVNFUiBWQUxVRSBUTyBERUZFUiBJUyBET0VTPiBJTU1FRElBVEUgQ09NUElMRS1PTkxZCitzeW4ga2V5d29yZCBmb3J0aERlZmluZSBDT01QSUxFIFJFU1RSSUNUIElOVEVSUFJFVCBQT1NUUE9ORSBFWEVDVVRFIExJVEVSQUwKK3N5biBrZXl3b3JkIGZvcnRoRGVmaW5lIENSRUFURS1JTlRFUlBSRVQvQ09NUElMRSBJTlRFUlBSRVRBVElPTj4gPElOVEVSUFJFVEFUSU9OCitzeW4ga2V5d29yZCBmb3J0aERlZmluZSBDT01QSUxBVElPTj4gPENPTVBJTEFUSU9OIF0gTEFTVFhUIENPTVAnIFBPU1RQT05FLAorc3luIGtleXdvcmQgZm9ydGhEZWZpbmUgRklORC1OQU1FIE5BTUU+SU5UIE5BTUU/SU5UIE5BTUU+Q09NUCBOQU1FPlNUUklORyBTVEFURQorc3luIGtleXdvcmQgZm9ydGhEZWZpbmUgQzsgQ1ZBUklBQkxFCitzeW4gbWF0Y2ggZm9ydGhEZWZpbmUgIlxbQ09NUCddIgorc3luIG1hdGNoIGZvcnRoRGVmaW5lICInIgorc3luIG1hdGNoIGZvcnRoRGVmaW5lICdcPFxbXD4nCitzeW4gbWF0Y2ggZm9ydGhEZWZpbmUgIlxbJ10iCitzeW4gbWF0Y2ggZm9ydGhEZWZpbmUgJ1xbQ09NUElMRV0nCitzeW4gbWF0Y2ggZm9ydGhDbGFzc0RlZiAnXDw6Y2xhc3NccypbXiBcdF1cK1w+Jworc3luIG1hdGNoIGZvcnRoT2JqZWN0RGVmICdcPDpvYmplY3RccypbXiBcdF1cK1w+Jworc3luIGtleXdvcmQgZm9ydGhFbmRPZkNsYXNzRGVmICc7Y2xhc3MnCitzeW4ga2V5d29yZCBmb3J0aEVuZE9mT2JqZWN0RGVmICc7b2JqZWN0JworCisiIGRlYnVnZ2luZworc3luIGtleXdvcmQgZm9ydGhEZWJ1ZyBQUklOVERFQlVHREFUQSBQUklOVERFQlVHTElORQorc3luIG1hdGNoIGZvcnRoRGVidWcgIlw8XH5cflw+IgorCisiIEFzc2VtYmxlcgorc3luIGtleXdvcmQgZm9ydGhBc3NlbWJsZXIgQVNTRU1CTEVSIENPREUgRU5ELUNPREUgO0NPREUgRkxVU0gtSUNBQ0hFIEMsCisKKyIgYmFzaWMgY2hhcmFjdGVyIG9wZXJhdGlvbnMKK3N5biBrZXl3b3JkIGZvcnRoQ2hhck9wcyAoLikgQ0hBUiBFWFBFQ1QgRklORCBXT1JEIFRZUEUgLVRSQUlMSU5HIEVNSVQgS0VZCitzeW4ga2V5d29yZCBmb3J0aENoYXJPcHMgS0VZPyBUSUIgQ1IKKyIgcmVjb2duaXplICdjaGFyICgnIG9yICdbY2hhcl0gKCcgY29ycmVjdGx5LCBzbyBpdCBkb2Vzbid0CisiIGhpZ2hsaWdodCBldmVyeXRoaW5nIGFmdGVyIHRoZSBwYXJlbiBhcyBhIGNvbW1lbnQgdGlsbCBhIGNsb3NpbmcgJyknCitzeW4gbWF0Y2ggZm9ydGhDaGFyT3BzICdcPGNoYXJcc1xTXHMnCitzeW4gbWF0Y2ggZm9ydGhDaGFyT3BzICdcPFxbY2hhclxdXHNcU1xzJworc3luIHJlZ2lvbiBmb3J0aENoYXJPcHMgc3RhcnQ9Ky4iXHMrIHNraXA9K1xcIisgZW5kPSsiKworCisiIGNoYXItbnVtYmVyIGNvbnZlcnNpb24KK3N5biBrZXl3b3JkIGZvcnRoQ29udmVyc2lvbiA8IyAjICM+ICNTIChOVU1CRVIpIChOVU1CRVI/KSBDT05WRVJUIEQ+RiBEPlMgRElHSVQKK3N5biBrZXl3b3JkIGZvcnRoQ29udmVyc2lvbiBEUEwgRj5EIEhMRCBIT0xEIE5VTUJFUiBTPkQgU0lHTiA+TlVNQkVSCisKKyIgaW50ZXJwdHJldGVyLCB3b3JkYm9vaywgY29tcGlsZXIKK3N5biBrZXl3b3JkIGZvcnRoRm9ydGggKExPQ0FMKSBCWUUgQ09MRCBBQk9SVCA+Qk9EWSA+TkVYVCA+TElOSyBDRkEgPlZJRVcgSEVSRQorc3luIGtleXdvcmQgZm9ydGhGb3J0aCBQQUQgV09SRFMgVklFVyBWSUVXPiBOPkxJTksgTkFNRT4gTElOSz4gTD5OQU1FIEZPUkdFVAorc3luIGtleXdvcmQgZm9ydGhGb3J0aCBCT0RZPgorc3luIHJlZ2lvbiBmb3J0aEZvcnRoIHN0YXJ0PStBQk9SVCJccysgc2tpcD0rXFwiKyBlbmQ9KyIrCisKKyIgdm9jYWJ1bGFyaWVzCitzeW4ga2V5d29yZCBmb3J0aFZvY3MgT05MWSBGT1JUSCBBTFNPIFJPT1QgU0VBTCBWT0NTIE9SREVSIENPTlRFWFQgI1ZPQ1MKK3N5biBrZXl3b3JkIGZvcnRoVm9jcyBWT0NBQlVMQVJZIERFRklOSVRJT05TCisKKyIgbnVtYmVycworc3luIGtleXdvcmQgZm9ydGhNYXRoIERFQ0lNQUwgSEVYIEJBU0UKK3N5biBtYXRjaCBmb3J0aEludGVnZXIgJ1w8LVw9WzAtOS5dKlswLTkuXVwrXD4nCisiIHJlY29nbml6ZSBoZXggYW5kIGJpbmFyeSBudW1iZXJzLCB0aGUgJyQnIGFuZCAnJScgbm90YXRpb24gaXMgZm9yIGdmb3J0aAorc3luIG1hdGNoIGZvcnRoSW50ZWdlciAnXDxcJFx4Klx4XCtcPicgIiAqMSogLS0tIGRvbnQndCBtZXNzCitzeW4gbWF0Y2ggZm9ydGhJbnRlZ2VyICdcPFx4KlxkXHgqXD4nICAiICoyKiAtLS0gdGhpcyBvcmRlciEKK3N5biBtYXRjaCBmb3J0aEludGVnZXIgJ1w8JVswLTFdKlswLTFdXCtcPicKK3N5biBtYXRjaCBmb3J0aEZsb2F0ICdcPC1cPVxkKlsuXVw9XGRcK1tFZV1cZFwrXD4nCisKKyIgU3RyaW5ncworc3luIHJlZ2lvbiBmb3J0aFN0cmluZyBzdGFydD0rXC4qXCIrIGVuZD0rIisgZW5kPSskKworIiBYWFgKK3N5biByZWdpb24gZm9ydGhTdHJpbmcgc3RhcnQ9K3NcIisgZW5kPSsiKyBlbmQ9KyQrCitzeW4gcmVnaW9uIGZvcnRoU3RyaW5nIHN0YXJ0PStjXCIrIGVuZD0rIisgZW5kPSskKworCisiIENvbW1lbnRzCitzeW4gbWF0Y2ggZm9ydGhDb21tZW50ICdcXFxzLiokJyBjb250YWlucz1mb3J0aFRvZG8KK3N5biByZWdpb24gZm9ydGhDb21tZW50IHN0YXJ0PSdcXFNccycgZW5kPScuKicgY29udGFpbnM9Zm9ydGhUb2RvCitzeW4gbWF0Y2ggZm9ydGhDb21tZW50ICdcLihcc1teKV0qKScgY29udGFpbnM9Zm9ydGhUb2RvCitzeW4gcmVnaW9uIGZvcnRoQ29tbWVudCBzdGFydD0nKFxzJyBza2lwPSdcXCknIGVuZD0nKScgY29udGFpbnM9Zm9ydGhUb2RvCitzeW4gcmVnaW9uIGZvcnRoQ29tbWVudCBzdGFydD0nL1wqJyBlbmQ9J1wqLycgY29udGFpbnM9Zm9ydGhUb2RvCisic3luIG1hdGNoIGZvcnRoQ29tbWVudCAnKFxzW15cLV0qXC1cLVteXC1dKiknIGNvbnRhaW5zPWZvcnRoVG9kbworCisiIEluY2x1ZGUgZmlsZXMKK3N5biBtYXRjaCBmb3J0aEluY2x1ZGUgJ15JTkNMVURFXHNcK1xrXCsnCitzeW4gbWF0Y2ggZm9ydGhJbmNsdWRlICdeZmxvYWRcc1wrJworc3luIG1hdGNoIGZvcnRoSW5jbHVkZSAnXm5lZWRzXHNcKycKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZm9ydGhfc3luX2luaXRzIikKKyAgICBpZiB2ZXJzaW9uIDwgNTA4CisJbGV0IGRpZF9mb3J0aF9zeW5faW5pdHMgPSAxCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgICBlbHNlCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICAgZW5kaWYKKworICAgICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiBDYW4gYmUgb3ZlcnJpZGVuIGxhdGVyLgorICAgIEhpTGluayBmb3J0aFRvZG8gVG9kbworICAgIEhpTGluayBmb3J0aE9wZXJhdG9ycyBPcGVyYXRvcgorICAgIEhpTGluayBmb3J0aE1hdGggTnVtYmVyCisgICAgSGlMaW5rIGZvcnRoSW50ZWdlciBOdW1iZXIKKyAgICBIaUxpbmsgZm9ydGhGbG9hdCBGbG9hdAorICAgIEhpTGluayBmb3J0aFN0YWNrIFNwZWNpYWwKKyAgICBIaUxpbmsgZm9ydGhSc3RhY2sgU3BlY2lhbAorICAgIEhpTGluayBmb3J0aEZTdGFjayBTcGVjaWFsCisgICAgSGlMaW5rIGZvcnRoU1AgU3BlY2lhbAorICAgIEhpTGluayBmb3J0aE1lbW9yeSBGdW5jdGlvbgorICAgIEhpTGluayBmb3J0aEFkckFyaXRoIEZ1bmN0aW9uCisgICAgSGlMaW5rIGZvcnRoTWVtQmxrcyBGdW5jdGlvbgorICAgIEhpTGluayBmb3J0aENvbmQgQ29uZGl0aW9uYWwKKyAgICBIaUxpbmsgZm9ydGhMb29wIFJlcGVhdAorICAgIEhpTGluayBmb3J0aENvbG9uRGVmIERlZmluZQorICAgIEhpTGluayBmb3J0aEVuZE9mQ29sb25EZWYgRGVmaW5lCisgICAgSGlMaW5rIGZvcnRoRGVmaW5lIERlZmluZQorICAgIEhpTGluayBmb3J0aERlYnVnIERlYnVnCisgICAgSGlMaW5rIGZvcnRoQXNzZW1ibGVyIEluY2x1ZGUKKyAgICBIaUxpbmsgZm9ydGhDaGFyT3BzIENoYXJhY3RlcgorICAgIEhpTGluayBmb3J0aENvbnZlcnNpb24gU3RyaW5nCisgICAgSGlMaW5rIGZvcnRoRm9ydGggU3RhdGVtZW50CisgICAgSGlMaW5rIGZvcnRoVm9jcyBTdGF0ZW1lbnQKKyAgICBIaUxpbmsgZm9ydGhTdHJpbmcgU3RyaW5nCisgICAgSGlMaW5rIGZvcnRoQ29tbWVudCBDb21tZW50CisgICAgSGlMaW5rIGZvcnRoQ2xhc3NEZWYgRGVmaW5lCisgICAgSGlMaW5rIGZvcnRoRW5kT2ZDbGFzc0RlZiBEZWZpbmUKKyAgICBIaUxpbmsgZm9ydGhPYmplY3REZWYgRGVmaW5lCisgICAgSGlMaW5rIGZvcnRoRW5kT2ZPYmplY3REZWYgRGVmaW5lCisgICAgSGlMaW5rIGZvcnRoSW5jbHVkZSBJbmNsdWRlCisKKyAgICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZm9ydGgiCisKKyIgdmltOnRzPTg6c3c9NDpub2NpbmRlbnQ6c21hcnRpbmRlbnQ6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mb3J0cmFuLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlMWZhOGIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9mb3J0cmFuLnZpbQpAQCAtMCwwICsxLDUyNiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUZvcnRyYW45NSAoYW5kIEZvcnRyYW45MCwgRm9ydHJhbjc3LCBGIGFuZCBlbGY5MCkKKyIgVmVyc2lvbjoJMC44NgorIiBVUkw6CQlodHRwOi8vd3d3LnVuYi5jYS9jaGVtL2FqaXQvc3ludGF4L2ZvcnRyYW4udmltCisiIExhc3QgQ2hhbmdlOgkyMDAzIE1hci4gMTIKKyIgTWFpbnRhaW5lcjoJQWppdCBKLiBUaGFra2FyIChhaml0IEFUIHVuYi5jYSk7IDxodHRwOi8vd3d3LnVuYi5jYS9jaGVtL2FqaXQvPgorIiBVc2FnZToJRG8gOmhlbHAgZm9ydHJhbi1zeW50YXggZnJvbSBWaW0KKyIgQ3JlZGl0czoKKyIgIFZlcnNpb24gMC4xIHdhcyBiYXNlZCBvbiB0aGUgZm9ydHJhbiA3NyBzeW50YXggZmlsZSBieSBNYXJpbyBFdXNlYmlvIGFuZAorIiAgUHJlYmVuIEd1bGRiZXJnLiBVc2VmdWwgc3VnZ2VzdGlvbnMgd2VyZSBtYWRlIGJ5OiBBbmRyZWogUGFuamtvdiwKKyIgIEJyYW0gTW9vbGVuYWFyLCBUaG9tYXMgT2xzZW4sIE1pY2hhZWwgU3Rlcm5iZXJnLCBDaHJpc3RpYW4gUmVpbGUsCisiICBXYWx0ZXIgRGlldWRvbm7pLCBBbGV4YW5kZXIgV2FnbmVyLCBSb21hbiBCZXJ0bGUsIENoYXJsZXMgUmVuZGxlbWFuLAorIiAgYW5kIEFuZHJldyBHcmlmZml0aHMuIEZvciBpbnN0cnVjdGlvbnMgb24gdXNlLCBkbyA6aGVscCBmb3J0cmFuIGZyb20gdmltCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCBpZiBhIHN5bnRheCBmaWxlIGlzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSBmb3J0cmFuX2RpYWxlY3QgaWYgc2V0IGNvcnJlY3RseSBieSB1c2VyCitpZiBleGlzdHMoImZvcnRyYW5fZGlhbGVjdCIpCisgIGlmIGZvcnRyYW5fZGlhbGVjdCA9fiAnXDxcKGZcKDlbMDVdXHw3N1wpXHxlbGZcfEZcKVw+JworICAgIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9IG1hdGNoc3RyKGZvcnRyYW5fZGlhbGVjdCwnXDxcKGZcKDlbMDVdXHw3N1wpXHxlbGZcfEZcKVw+JykKKyAgZWxzZQorICAgIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiVW5rbm93biB2YWx1ZSBvZiBmb3J0cmFuX2RpYWxlY3QiIHwgZWNob2hsIE5vbmUKKyAgICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAidW5rbm93biIKKyAgZW5kaWYKK2Vsc2UKKyAgbGV0IGI6Zm9ydHJhbl9kaWFsZWN0ID0gInVua25vd24iCitlbmRpZgorCisiIGZvcnRyYW5fZGlhbGVjdCBub3Qgc2V0IG9yIHNldCBpbmNvcnJlY3RseSBieSB1c2VyLAoraWYgYjpmb3J0cmFuX2RpYWxlY3QgPT0gInVua25vd24iCisgICIgc2V0IGI6Zm9ydHJhbl9kaWFsZWN0IGZyb20gZGlyZWN0aXZlIGluIGZpcnN0IHRocmVlIGxpbmVzIG9mIGZpbGUKKyAgbGV0IGI6Zm9ydHJhbl9yZXR5cGUgPSBnZXRsaW5lKDEpLiIgIi5nZXRsaW5lKDIpLiIgIi5nZXRsaW5lKDMpCisgIGlmIGI6Zm9ydHJhbl9yZXR5cGUgPX4gJ1w8Zm9ydHJhbl9kaWFsZWN0XHMqPVxzKkZcPicKKyAgICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiRiIKKyAgZWxzZWlmIGI6Zm9ydHJhbl9yZXR5cGUgPX4gJ1w8Zm9ydHJhbl9kaWFsZWN0XHMqPVxzKmVsZlw+JworICAgIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9ICJlbGYiCisgIGVsc2VpZiBiOmZvcnRyYW5fcmV0eXBlID1+ICdcPGZvcnRyYW5fZGlhbGVjdFxzKj1ccypmOTBcPicKKyAgICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiZjkwIgorICBlbHNlaWYgYjpmb3J0cmFuX3JldHlwZSA9fiAnXDxmb3J0cmFuX2RpYWxlY3Rccyo9XHMqZjk1XD4nCisgICAgbGV0IGI6Zm9ydHJhbl9kaWFsZWN0ID0gImY5NSIKKyAgZWxzZWlmIGI6Zm9ydHJhbl9yZXR5cGUgPX4gJ1w8Zm9ydHJhbl9kaWFsZWN0XHMqPVxzKmY3N1w+JworICAgIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9ICJmNzciCisgIGVsc2UKKyAgICAiIG5vIGRpcmVjdGl2ZSBmb3VuZCwgc28gYXNzdW1lIGY5NQorICAgIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9ICJmOTUiCisgIGVuZGlmCisgIHVubGV0IGI6Zm9ydHJhbl9yZXR5cGUKK2VuZGlmCisKKyIgQ2hvb3NlIGJldHdlZW4gZml4ZWQgYW5kIGZyZWUgc291cmNlIGZvcm0gaWYgdGhpcyBoYXNuJ3QgYmVlbiBkb25lIHlldAoraWYgIWV4aXN0cygiYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSIpCisgIGlmIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJlbGYiIHx8IGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIgorICAgICIgZWxmIGFuZCBGIHJlcXVpcmUgZnJlZSBzb3VyY2UgZm9ybQorICAgIGxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMAorICBlbHNlaWYgYjpmb3J0cmFuX2RpYWxlY3QgPT0gImY3NyIKKyAgICAiIGY3NyByZXF1aXJlcyBmaXhlZCBzb3VyY2UgZm9ybQorICAgIGxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMQorICBlbHNlaWYgZXhpc3RzKCJmb3J0cmFuX2ZyZWVfc291cmNlIikKKyAgICAiIFVzZXIgZ3VhcmFudGVlcyBmcmVlIHNvdXJjZSBmb3JtIGZvciBhbGwgZjkwIGFuZCBmOTUgZmlsZXMKKyAgICBsZXQgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9IDAKKyAgZWxzZWlmIGV4aXN0cygiZm9ydHJhbl9maXhlZF9zb3VyY2UiKQorICAgICIgVXNlciBndWFyYW50ZWVzIGZpeGVkIHNvdXJjZSBmb3JtIGZvciBhbGwgZjkwIGFuZCBmOTUgZmlsZXMKKyAgICBsZXQgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9IDEKKyAgZWxzZQorICAgICIgZjkwIGFuZCBmOTUgYWxsb3cgYm90aCBmaXhlZCBhbmQgZnJlZSBzb3VyY2UgZm9ybS4KKyAgICAiIEFzc3VtZSBmaXhlZCBzb3VyY2UgZm9ybSB1bmxlc3Mgc2lnbnMgb2YgZnJlZSBzb3VyY2UgZm9ybQorICAgICIgYXJlIGRldGVjdGVkIGluIHRoZSBmaXJzdCBmaXZlIGNvbHVtbnMgb2YgdGhlIGZpcnN0IGI6bG1heCBsaW5lcy4KKyAgICAiIERldGVjdGlvbiBiZWNvbWVzIG1vcmUgYWNjdXJhdGUgYW5kIHRpbWUtY29uc3VtaW5nIGlmIG1vcmUgbGluZXMKKyAgICAiIGFyZSBjaGVja2VkLiBJbmNyZWFzZSB0aGUgbGltaXQgYmVsb3cgaWYgeW91IGtlZXAgbG90cyBvZiBjb21tZW50cyBhdAorICAgICIgdGhlIHZlcnkgdG9wIG9mIGVhY2ggZmlsZSBhbmQgeW91IGhhdmUgYSBmYXN0IGNvbXB1dGVyLgorICAgIGxldCBiOmxtYXggPSAyNQorICAgIGlmICggYjpsbWF4ID4gbGluZSgiJCIpICkKKyAgICAgIGxldCBiOmxtYXggPSBsaW5lKCIkIikKKyAgICBlbmRpZgorICAgIGxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMQorICAgIGxldCBiOmxuPTEKKyAgICB3aGlsZSBiOmxuIDw9IGI6bG1heAorICAgICAgbGV0IGI6dGVzdCA9IHN0cnBhcnQoZ2V0bGluZShiOmxuKSwwLDUpCisgICAgICBpZiBiOnRlc3RbMF0gIX4gJ1tDYyohI10nICYmIGI6dGVzdCAhfiAnXiBcK1shI10nICYmIGI6dGVzdCA9fiAnW14gMC05XHRdJworCWxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMAorCWJyZWFrCisgICAgICBlbmRpZgorICAgICAgbGV0IGI6bG4gPSBiOmxuICsgMQorICAgIGVuZHdoaWxlCisgICAgdW5sZXQgYjpsbWF4IGI6bG4gYjp0ZXN0CisgIGVuZGlmCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworaWYgYjpmb3J0cmFuX2RpYWxlY3QgPT0gImY3NyIKKyAgc3luIG1hdGNoIGZvcnRyYW5JZGVudGlmaWVyCQkiXDxcYVwoXGFcfFxkXCkqXD4iIGNvbnRhaW5zPWZvcnRyYW5TZXJpYWxOdW1iZXIKK2Vsc2UKKyAgc3luIG1hdGNoIGZvcnRyYW45MElkZW50aWZpZXIJCSJcPFxhXHcqXD4iIGNvbnRhaW5zPWZvcnRyYW5TZXJpYWxOdW1iZXIKKyAgaWYgdmVyc2lvbiA+PSA2MDAKKyAgICBpZiBiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDEKKyAgICAgIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZQkiXlxzXHs2LH1cenNcYVx3Klx6ZVxzKjoiCisgICAgZWxzZQorICAgICAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lCSJeXHMqXHpzXGFcdypcemVccyo6IgorICAgIGVuZGlmCisgICAgaWYgZXhpc3RzKCJmb3J0cmFuX21vcmVfcHJlY2lzZSIpCisgICAgICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnN0cnVjdE5hbWUgIlwoXDxlbmRccypkb1xzXCtcKVxAPD1cYVx3KiIKKyAgICAgIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZSAiXChcPGVuZFxzKmlmXHNcK1wpXEA8PVxhXHcqIgorICAgICAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lICJcKFw8ZW5kXHMqc2VsZWN0XHNcK1wpXEA8PVxhXHcqIgorICAgIGVuZGlmCisgIGVsc2UKKyAgICBpZiBiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDEKKyAgICAgIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZQkiXlxzXHs2LH1cYVx3KlxzKjoiCisgICAgZWxzZQorICAgICAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lCSJeXHMqXGFcdypccyo6IgorICAgIGVuZGlmCisgIGVuZGlmCitlbmRpZgorCitzeW4gbWF0Y2ggICBmb3J0cmFuVW5pdEhlYWRlcgkiXDxlbmRcPiIKKworc3luIGtleXdvcmQgZm9ydHJhblR5cGUJCWNoYXJhY3RlciBjb21wbGV4IGludGVnZXIKK3N5biBrZXl3b3JkIGZvcnRyYW5UeXBlCQlpbnRyaW5zaWMKK3N5biBtYXRjaCBmb3J0cmFuVHlwZQkJIlw8aW1wbGljaXRcPiIKK3N5biBrZXl3b3JkIGZvcnRyYW5TdHJ1Y3R1cmUJZGltZW5zaW9uCitzeW4ga2V5d29yZCBmb3J0cmFuU3RvcmFnZUNsYXNzCXBhcmFtZXRlciBzYXZlCitzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8c3Vicm91dGluZVw+Igorc3luIGtleXdvcmQgZm9ydHJhbkNhbGwJCWNhbGwKK3N5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxmdW5jdGlvblw+Igorc3luIG1hdGNoIGZvcnRyYW5Vbml0SGVhZGVyCSJcPHByb2dyYW1cPiIKK3N5biBrZXl3b3JkIGZvcnRyYW5TdGF0ZW1lbnQJcmV0dXJuIHN0b3AKK3N5biBrZXl3b3JkIGZvcnRyYW5Db25kaXRpb25hbAllbHNlIHRoZW4KK3N5biBtYXRjaCBmb3J0cmFuQ29uZGl0aW9uYWwJIlw8aWZcPiIKK3N5biBtYXRjaCBmb3J0cmFuUmVwZWF0CQkiXDxkb1w+IgorCitzeW4ga2V5d29yZCBmb3J0cmFuVG9kbwkJY29udGFpbmVkIHRvZG8gZml4bWUKKworIkNhdGNoIGVycm9ycyBjYXVzZWQgYnkgdG9vIG1hbnkgcmlnaHQgcGFyZW50aGVzZXMKK3N5biByZWdpb24gZm9ydHJhblBhcmVuIHRyYW5zcGFyZW50IHN0YXJ0PSIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUGFyZW5FcnJvcixAZm9ydHJhbkNvbW1lbnRHcm91cCxjSW5jbHVkZWQKK3N5biBtYXRjaCAgZm9ydHJhblBhcmVuRXJyb3IgICAiKSIKKworc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvcgkiXC5ccypuXD1lcXZccypcLiIKK3N5biBtYXRjaCBmb3J0cmFuT3BlcmF0b3IJIlwuXHMqXChhbmRcfG9yXHxub3RcKVxzKlwuIgorc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvcgkiXCgrXHwtXHwvXHxcKlwpIgorCitzeW4gbWF0Y2ggZm9ydHJhbkJvb2xlYW4JIlwuXHMqXCh0cnVlXHxmYWxzZVwpXHMqXC4iCisKK3N5biBrZXl3b3JkIGZvcnRyYW5SZWFkV3JpdGUJYmFja3NwYWNlIGNsb3NlIGlucXVpcmUgb3BlbiByZXdpbmQgZW5kZmlsZQorc3luIGtleXdvcmQgZm9ydHJhblJlYWRXcml0ZQlyZWFkIHdyaXRlIHByaW50CisKKyJJZiB0YWJzIGFyZSBhbGxvd2VkIHRoZW4gdGhlIGxlZnQgbWFyZ2luIGNoZWNrcyBkbyBub3Qgd29yaworaWYgZXhpc3RzKCJmb3J0cmFuX2hhdmVfdGFicyIpCisgIHN5biBtYXRjaCBmb3J0cmFuVGFiCQkiXHQiICB0cmFuc3BhcmVudAorZWxzZQorICBzeW4gbWF0Y2ggZm9ydHJhblRhYgkJIlx0IgorZW5kaWYKKworc3luIGtleXdvcmQgZm9ydHJhbklPCQl1bml0IGZpbGUgaW9zdGF0IGFjY2VzcyBibGFuayBmbXQgZm9ybQorc3luIGtleXdvcmQgZm9ydHJhbklPCQlyZWNsIHN0YXR1cyBleGlzdCBvcGVuZWQgbnVtYmVyIG5hbWVkIG5hbWUKK3N5biBrZXl3b3JkIGZvcnRyYW5JTwkJc2VxdWVudGlhbCBkaXJlY3QgcmVjCitzeW4ga2V5d29yZCBmb3J0cmFuSU8JCWZvcm1hdHRlZCB1bmZvcm1hdHRlZCBuZXh0cmVjCisKK3N5biBrZXl3b3JkIGZvcnRyYW42NkludHJpbnNpYwkJY2FicyBjY29zIGNleHAgY2xvZyBjc2luIGNzcXJ0CitzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoCitzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtb2QgZGFicworc3luIGtleXdvcmQgZm9ydHJhbjY2SW50cmluc2ljCQlkbmludCBkc2lnbiBkc2luIGRzaW5oIGRzcXJ0IGR0YW4KK3N5biBrZXl3b3JkIGZvcnRyYW42NkludHJpbnNpYwkJZHRhbmggaWFicyBpZGltIGlkbmludCBpc2lnbiBpZGludCBpZml4CitzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWFtYXgwIGFtYXgxIGRtYXgxIG1heDAgbWF4MQorc3luIGtleXdvcmQgZm9ydHJhbjY2SW50cmluc2ljCQlhbWluMCBhbWluMSBkbWluMSBtaW4wIG1pbjEKK3N5biBrZXl3b3JkIGZvcnRyYW42NkludHJpbnNpYwkJYW1vZCBmbG9hdCBzbmdsIGFsb2cgYWxvZzEwCisKKyIgSW50cmluc2ljcyBwcm92aWRlZCBieSBzb21lIHZlbmRvcnMKK3N5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwljZGFicyBjZGNvcyBjZGV4cCBjZGxvZyBjZHNpbiBjZHNxcnQKK3N5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwljcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQKK3N5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlxYWNvcyBxYXNpbiBxYXRhbiBxYXRhbjIgcWNvcyBxY29zaAorc3luIGtleXdvcmQgZm9ydHJhbkV4dHJhSW50cmluc2ljCXFkaW0gcWV4cCBpcWludCBxbG9nIHFsb2cxMCBxbW9kIHFhYnMKK3N5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlxbmludCBxc2lnbiBxc2luIHFzaW5oIHFzcXJ0IHF0YW4KK3N5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlxdGFuaCBxbWF4MSBxbWluMQorc3luIGtleXdvcmQgZm9ydHJhbkV4dHJhSW50cmluc2ljCWRpbWFnIHFpbWFnIGRjbXBseCBxY21wbHggZGNvbmpnIHFjb25qZworc3luIGtleXdvcmQgZm9ydHJhbkV4dHJhSW50cmluc2ljCWdhbW1hIGRnYW1tYSBxZ2FtbWEgYWxnYW1hIGRsZ2FtYSBxbGdhbWEKK3N5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwllcmYgZGVyZiBxZXJmIGVyZmMgZGVyZmMgcWVyZmMKK3N5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlkZmxvYXQKKworc3luIGtleXdvcmQgZm9ydHJhbjc3SW50cmluc2ljCWFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yCitzeW4ga2V5d29yZCBmb3J0cmFuNzdJbnRyaW5zaWMJY29zIHNpbiB0YW4gc2luaCBjb3NoIHRhbmggZXhwIGxvZyBsb2cxMAorc3luIGtleXdvcmQgZm9ydHJhbjc3SW50cmluc2ljCXNpZ24gc3FydCBpbnQgY21wbHggbmludCBtaW4gbWF4IGNvbmpnCitzeW4ga2V5d29yZCBmb3J0cmFuNzdJbnRyaW5zaWMJY2hhciBpY2hhciBpbmRleAorc3luIG1hdGNoIGZvcnRyYW43N0ludHJpbnNpYwkiXDxsZW5ccypbKCxdIm1lPXMrMworc3luIG1hdGNoIGZvcnRyYW43N0ludHJpbnNpYwkiXDxyZWFsXHMqKCJtZT1zKzQKK3N5biBtYXRjaCBmb3J0cmFuVHlwZQkJIlw8aW1wbGljaXRcc1wrcmVhbCIKK3N5biBtYXRjaCBmb3J0cmFuVHlwZQkJIl5ccypyZWFsXD4iCitzeW4gbWF0Y2ggZm9ydHJhbjkwSW50cmluc2ljCSJcPGxvZ2ljYWxccyooIm1lPXMrNworc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXDxpbXBsaWNpdFxzXCtsb2dpY2FsIgorc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXlxzKmxvZ2ljYWxcPiIKKworIk51bWJlcnMgb2YgdmFyaW91cyBzb3J0cworIiBJbnRlZ2Vycworc3luIG1hdGNoIGZvcnRyYW5OdW1iZXIJZGlzcGxheSAiXDxcZFwrXChfXGFcdypcKVw9XD4iCisiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBhIGRlY2ltYWwgcG9pbnQKK3N5biBtYXRjaCBmb3J0cmFuRmxvYXROb0RlYwlkaXNwbGF5CSJcPFxkXCtbZGVxXVstK11cPVxkXCtcKF9cYVx3KlwpXD1cPiIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZGVjaW1hbCBwb2ludAorc3luIG1hdGNoIGZvcnRyYW5GbG9hdEluaURlYwlkaXNwbGF5CSJcLlxkXCtcKFtkZXFdWy0rXVw9XGRcK1wpXD1cKF9cYVx3KlwpXD1cPiIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBubyBkaWdpdHMgYWZ0ZXIgZGVjaW1hbAorc3luIG1hdGNoIGZvcnRyYW5GbG9hdEVuZERlYwlkaXNwbGF5CSJcPFxkXCtcLlwoW2RlcV1bLStdXD1cZFwrXClcPVwoX1xhXHcqXClcPVw+IgorIiBmbG9hdGluZyBwb2ludCBudW1iZXIsIEQgb3IgUSBleHBvbmVudHMKK3N5biBtYXRjaCBmb3J0cmFuRmxvYXRERXhwCWRpc3BsYXkJIlw8XGRcK1wuXGRcK1woW2RxXVstK11cPVxkXCtcKVw9XChfXGFcdypcKVw9XD4iCisiIGZsb2F0aW5nIHBvaW50IG51bWJlcgorc3luIG1hdGNoIGZvcnRyYW5GbG9hdAlkaXNwbGF5CSJcPFxkXCtcLlxkXCtcKGVbLStdXD1cZFwrXClcPVwoX1xhXHcqXClcPVw+IgorIiBOdW1iZXJzIGluIGZvcm1hdHMKK3N5biBtYXRjaCBmb3J0cmFuRm9ybWF0U3BlYwlkaXNwbGF5CSJcZCpmXGRcK1wuXGRcKyIKK3N5biBtYXRjaCBmb3J0cmFuRm9ybWF0U3BlYwlkaXNwbGF5CSJcZCplW3NuXVw9XGRcK1wuXGRcK1woZVxkK1w+XClcPSIKK3N5biBtYXRjaCBmb3J0cmFuRm9ybWF0U3BlYwlkaXNwbGF5CSJcZCpcKGRcfHFcfGdcKVxkXCtcLlxkXCtcKGVcZCtcKVw9Igorc3luIG1hdGNoIGZvcnRyYW5Gb3JtYXRTcGVjCWRpc3BsYXkJIlxkXCt4XD4iCisiIFRoZSBuZXh0IG1hdGNoIGNhbm5vdCBiZSB1c2VkIGJlY2F1c2UgaXQgd291bGQgcGljayB1cCBpZGVudGlmaWVycyBhcyB3ZWxsCisiIHN5biBtYXRjaCBmb3J0cmFuRm9ybWF0U3BlYwlkaXNwbGF5CSJcPFwoYVx8aVwpXGRcKyIKKworIiBOdW1iZXJzIGFzIGxhYmVscworc3luIG1hdGNoIGZvcnRyYW5MYWJlbE51bWJlcglkaXNwbGF5CSJeXGRcezEsNX1ccyJtZT1lLTEKK3N5biBtYXRjaCBmb3J0cmFuTGFiZWxOdW1iZXIJZGlzcGxheQkiXiBcZFx7MSw0fVxzIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCBmb3J0cmFuTGFiZWxOdW1iZXIJZGlzcGxheQkiXiAgXGRcezEsM31ccyJtcz1zKzIsbWU9ZS0xCitzeW4gbWF0Y2ggZm9ydHJhbkxhYmVsTnVtYmVyCWRpc3BsYXkJIl4gICBcZFxkXD1ccyJtcz1zKzMsbWU9ZS0xCitzeW4gbWF0Y2ggZm9ydHJhbkxhYmVsTnVtYmVyCWRpc3BsYXkJIl4gICAgXGRccyJtcz1zKzQsbWU9ZS0xCisKK2lmIHZlcnNpb24gPj0gNjAwICYmIGV4aXN0cygiZm9ydHJhbl9tb3JlX3ByZWNpc2UiKQorICAiIE51bWJlcnMgYXMgdGFyZ2V0cworICBzeW4gbWF0Y2ggZm9ydHJhblRhcmdldAlkaXNwbGF5CSJcKFw8aWZccyooLlwrKVxzKlwpXEA8PVwoXGRcK1xzKixccypcKVx7Mn1cZFwrXD4iCisgIHN5biBtYXRjaCBmb3J0cmFuVGFyZ2V0CWRpc3BsYXkJIlwoXDxkb1xzXCtcKVxAPD1cZFwrXD4iCisgIHN5biBtYXRjaCBmb3J0cmFuVGFyZ2V0CWRpc3BsYXkJIlwoXDxnb1xzKnRvXHMqKFw9XClcQDw9XChcZFwrXHMqLFxzKlwpKlxkXCtcPiIKK2VuZGlmCisKK3N5biBrZXl3b3JkIGZvcnRyYW5UeXBlRXgJZXh0ZXJuYWwKK3N5biBrZXl3b3JkIGZvcnRyYW5JT0V4CQlmb3JtYXQKK3N5biBrZXl3b3JkIGZvcnRyYW5TdGF0ZW1lbnRFeAljb250aW51ZQorc3luIG1hdGNoIGZvcnRyYW5TdGF0ZW1lbnRFeAkiXDxnb1xzKnRvXD4iCitzeW4gcmVnaW9uIGZvcnRyYW5TdHJpbmdFeAlzdGFydD0rJysgZW5kPSsnKyBjb250YWlucz1mb3J0cmFuQ29udGludWVNYXJrLGZvcnRyYW5MZWZ0TWFyZ2luLGZvcnRyYW5TZXJpYWxOdW1iZXIKK3N5biBrZXl3b3JkIGZvcnRyYW43N0ludHJpbnNpY0V4CWRpbSBsZ2UgbGd0IGxsZSBsbHQgbW9kCitzeW4ga2V5d29yZCBmb3J0cmFuU3RhdGVtZW50T2IJYXNzaWduIHBhdXNlIHRvCisKK2lmIGI6Zm9ydHJhbl9kaWFsZWN0ICE9ICJmNzciCisKKyAgc3luIGtleXdvcmQgZm9ydHJhblR5cGUJdHlwZSBub25lCisKKyAgc3luIGtleXdvcmQgZm9ydHJhblN0cnVjdHVyZQlwcml2YXRlIHB1YmxpYyBpbnRlbnQgb3B0aW9uYWwKKyAgc3luIGtleXdvcmQgZm9ydHJhblN0cnVjdHVyZQlwb2ludGVyIHRhcmdldCBhbGxvY2F0YWJsZQorICBzeW4ga2V5d29yZCBmb3J0cmFuU3RvcmFnZUNsYXNzCWluIG91dAorICBzeW4gbWF0Y2ggZm9ydHJhblN0b3JhZ2VDbGFzcwkiXDxraW5kXHMqPSJtZT1zKzQKKyAgc3luIG1hdGNoIGZvcnRyYW5TdG9yYWdlQ2xhc3MJIlw8bGVuXHMqPSJtZT1zKzMKKworICBzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8bW9kdWxlXD4iCisgIHN5biBrZXl3b3JkIGZvcnRyYW5Vbml0SGVhZGVyCXVzZSBvbmx5IGNvbnRhaW5zCisgIHN5biBrZXl3b3JkIGZvcnRyYW5Vbml0SGVhZGVyCXJlc3VsdCBvcGVyYXRvciBhc3NpZ25tZW50CisgIHN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxpbnRlcmZhY2VcPiIKKyAgc3luIG1hdGNoIGZvcnRyYW5Vbml0SGVhZGVyCSJcPHJlY3Vyc2l2ZVw+IgorICBzeW4ga2V5d29yZCBmb3J0cmFuU3RhdGVtZW50CWFsbG9jYXRlIGRlYWxsb2NhdGUgbnVsbGlmeSBjeWNsZSBleGl0CisgIHN5biBtYXRjaCBmb3J0cmFuQ29uZGl0aW9uYWwJIlw8c2VsZWN0XD4iCisgIHN5biBrZXl3b3JkIGZvcnRyYW5Db25kaXRpb25hbAljYXNlIGRlZmF1bHQgd2hlcmUgZWxzZXdoZXJlCisKKyAgc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvcgkiXChcKD5cfDxcKT1cPVx8PT1cfC89XHw9XCkiCisgIHN5biBtYXRjaCBmb3J0cmFuT3BlcmF0b3IJIj0+IgorCisgIHN5biByZWdpb24gZm9ydHJhblN0cmluZwlzdGFydD0rIisgZW5kPSsiKwljb250YWlucz1mb3J0cmFuTGVmdE1hcmdpbixmb3J0cmFuQ29udGludWVNYXJrLGZvcnRyYW5TZXJpYWxOdW1iZXIKKyAgc3luIGtleXdvcmQgZm9ydHJhbklPCQlwYWQgcG9zaXRpb24gYWN0aW9uIGRlbGltIHJlYWR3cml0ZQorICBzeW4ga2V5d29yZCBmb3J0cmFuSU8JCWVvciBhZHZhbmNlIG5tbAorCisgIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlhZGp1c3RsIGFkanVzdHIgYWxsIGFsbG9jYXRlZCBhbnkKKyAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCWFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZworICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJY291bnQgY3NoaWZ0IGRhdGVfYW5kX3RpbWUKKyAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCWRpZ2l0cyBkb3RfcHJvZHVjdCBlb3NoaWZ0IGVwc2lsb24gZXhwb25lbnQKKyAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCWZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yCisgIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlpb3IgaXNoZnQgaXNoZnRjIGxib3VuZCBsZW5fdHJpbQorICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJbWF0bXVsIG1heGV4cG9uZW50IG1heGxvYyBtYXh2YWwgbWVyZ2UKKyAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCW1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0CisgIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlwYWNrIHByZXNlbnQgcHJvZHVjdCByYWRpeCByYW5kb21fbnVtYmVyCisgIHN5biBtYXRjaCBmb3J0cmFuOTBJbnRyaW5zaWMJCSJcPG5vdFw+XChccypcLlwpXEAhIm1lPXMrMworICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlCisgIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlzZWxlY3RlZF9pbnRfa2luZCBzZWxlY3RlZF9yZWFsX2tpbmQgc2NhbgorICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJc2hhcGUgc2l6ZSBzcGFjaW5nIHNwcmVhZCBzZXRfZXhwb25lbnQKKyAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCXRpbnkgdHJhbnNwb3NlIHRyaW0gdWJvdW5kIHVucGFjayB2ZXJpZnkKKyAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCXByZWNpc2lvbiBzdW0gc3lzdGVtX2Nsb2NrCisgIHN5biBtYXRjaCBmb3J0cmFuOTBJbnRyaW5zaWMJIlw8a2luZFw+XHMqWygsXSJtZT1zKzQKKworICBzeW4gbWF0Y2ggIGZvcnRyYW5Vbml0SGVhZGVyCSJcPGVuZFxzKmZ1bmN0aW9uIgorICBzeW4gbWF0Y2ggIGZvcnRyYW5Vbml0SGVhZGVyCSJcPGVuZFxzKmludGVyZmFjZSIKKyAgc3luIG1hdGNoICBmb3J0cmFuVW5pdEhlYWRlcgkiXDxlbmRccyptb2R1bGUiCisgIHN5biBtYXRjaCAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXHMqcHJvZ3JhbSIKKyAgc3luIG1hdGNoICBmb3J0cmFuVW5pdEhlYWRlcgkiXDxlbmRccypzdWJyb3V0aW5lIgorICBzeW4gbWF0Y2ggIGZvcnRyYW5SZXBlYXQJIlw8ZW5kXHMqZG8iCisgIHN5biBtYXRjaCAgZm9ydHJhbkNvbmRpdGlvbmFsCSJcPGVuZFxzKndoZXJlIgorICBzeW4gbWF0Y2ggIGZvcnRyYW5Db25kaXRpb25hbAkiXDxzZWxlY3RccypjYXNlIgorICBzeW4gbWF0Y2ggIGZvcnRyYW5Db25kaXRpb25hbAkiXDxlbmRccypzZWxlY3QiCisgIHN5biBtYXRjaCAgZm9ydHJhblR5cGUJIlw8ZW5kXHMqdHlwZSIKKyAgc3luIG1hdGNoICBmb3J0cmFuVHlwZQkiXDxpblxzKm91dCIKKworICBzeW4ga2V5d29yZCBmb3J0cmFuVW5pdEhlYWRlckV4CXByb2NlZHVyZQorICBzeW4ga2V5d29yZCBmb3J0cmFuSU9FeAkJbmFtZWxpc3QKKyAgc3luIGtleXdvcmQgZm9ydHJhbkNvbmRpdGlvbmFsRXgJd2hpbGUKKyAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljRXgJYWNoYXIgaWFjaGFyIHRyYW5zZmVyCisKKyAgc3luIGtleXdvcmQgZm9ydHJhbkluY2x1ZGUJCWluY2x1ZGUKKyAgc3luIGtleXdvcmQgZm9ydHJhbjkwU3RvcmFnZUNsYXNzUglzZXF1ZW5jZQorZW5kaWYKKworc3luIG1hdGNoICAgZm9ydHJhbkNvbmRpdGlvbmFsCSJcPGVuZFxzKmlmIgorc3luIG1hdGNoICAgZm9ydHJhbklPCQljb250YWlucz1mb3J0cmFuT3BlcmF0b3IgIlw8ZVwobmRcfHJyXClccyo9XHMqXGRcKyIKK3N5biBtYXRjaCAgIGZvcnRyYW5Db25kaXRpb25hbAkiXDxlbHNlXHMqaWYiCisKK3N5biBrZXl3b3JkIGZvcnRyYW5Vbml0SGVhZGVyUgllbnRyeQorc3luIG1hdGNoIGZvcnRyYW5UeXBlUgkJZGlzcGxheSAiZG91YmxlXHNcK3ByZWNpc2lvbiIKK3N5biBtYXRjaCBmb3J0cmFuVHlwZVIJCWRpc3BsYXkgImRvdWJsZVxzXCtjb21wbGV4Igorc3luIG1hdGNoIGZvcnRyYW5Vbml0SGVhZGVyUglkaXNwbGF5ICJibG9ja1xzXCtkYXRhIgorc3luIGtleXdvcmQgZm9ydHJhblN0b3JhZ2VDbGFzc1IJY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEKK3N5biBrZXl3b3JkIGZvcnRyYW43N0ludHJpbnNpY1IJZGJsZSBkcHJvZAorc3luIG1hdGNoICAgZm9ydHJhbjc3T3BlcmF0b3JSCSJcLlxzKltnbF1bZXRdXHMqXC4iCitzeW4gbWF0Y2ggICBmb3J0cmFuNzdPcGVyYXRvclIJIlwuXHMqXChlcVx8bmVcKVxzKlwuIgorCitpZiBiOmZvcnRyYW5fZGlhbGVjdCA9PSAiZjk1IgorICBzeW4ga2V5d29yZCBmb3J0cmFuUmVwZWF0CQlmb3JhbGwKKyAgc3luIG1hdGNoIGZvcnRyYW5SZXBlYXQJCSJcPGVuZFxzKmZvcmFsbCIKKyAgc3luIGtleXdvcmQgZm9ydHJhbjk1SW50cmluc2ljCW51bGwgY3B1X3RpbWUKKyAgc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkJIlw8ZWxlbWVudGFsXD4iCisgIHN5biBtYXRjaCBmb3J0cmFuVHlwZQkJCSJcPHB1cmVcPiIKKyAgaWYgZXhpc3RzKCJmb3J0cmFuX21vcmVfcHJlY2lzZSIpCisgICAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lICJcKFw8ZW5kXHMqZm9yYWxsXHNcK1wpXEA8PVxhXHcqXD4iCisgIGVuZGlmCitlbmRpZgorCitzeW4gY2x1c3RlciBmb3J0cmFuQ29tbWVudEdyb3VwIGNvbnRhaW5zPWZvcnRyYW5Ub2RvCisKK2lmIChiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDEpCisgIGlmICFleGlzdHMoImZvcnRyYW5faGF2ZV90YWJzIikKKyAgICAiRmxhZyBpdGVtcyBiZXlvbmQgY29sdW1uIDcyCisgICAgc3luIG1hdGNoIGZvcnRyYW5TZXJpYWxOdW1iZXIJZXhjbHVkZW5sICJeLlx7NzMsfSQibGM9NzIKKyAgICAiRmxhZyBsZWZ0IG1hcmdpbiBlcnJvcnMKKyAgICBzeW4gbWF0Y2ggZm9ydHJhbkxhYmVsRXJyb3IJIl4uXHstLDR9W14wLTkgXSIgY29udGFpbnM9Zm9ydHJhblRhYgorICAgIHN5biBtYXRjaCBmb3J0cmFuTGFiZWxFcnJvcgkiXi5cezR9XGRcUyIKKyAgZW5kaWYKKyAgc3luIG1hdGNoIGZvcnRyYW5Db21tZW50CQlleGNsdWRlbmwgIl5bIWMqXS4qJCIgY29udGFpbnM9QGZvcnRyYW5Db21tZW50R3JvdXAKKyAgc3luIG1hdGNoIGZvcnRyYW5MZWZ0TWFyZ2luCQl0cmFuc3BhcmVudCAiXiBcezV9IgorICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnRpbnVlTWFyawkJZGlzcGxheSAiXi5cezV9XFMibGM9NQorZWxzZQorICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnRpbnVlTWFyawkJZGlzcGxheSAiJiIKK2VuZGlmCisKK2lmIGI6Zm9ydHJhbl9kaWFsZWN0ICE9ICJmNzciCisgIHN5biBtYXRjaCBmb3J0cmFuQ29tbWVudAlleGNsdWRlbmwgIiEuKiQiIGNvbnRhaW5zPUBmb3J0cmFuQ29tbWVudEdyb3VwCitlbmRpZgorCisiY3BwIGlzIG9mdGVuIHVzZWQgd2l0aCBGb3J0cmFuCitzeW4gbWF0Y2gJY1ByZVByb2MJCSJeXHMqI1xzKlwoZGVmaW5lXHxpZmRlZlwpXD4uKiIKK3N5biBtYXRjaAljUHJlUHJvYwkJIl5ccyojXHMqXChlbGlmXHxpZlwpXD4uKiIKK3N5biBtYXRjaAljUHJlUHJvYwkJIl5ccyojXHMqXChpZm5kZWZcfHVuZGVmXClcPi4qIgorc3luIG1hdGNoCWNQcmVDb25kaXQJCSJeXHMqI1xzKlwoZWxzZVx8ZW5kaWZcKVw+LioiCitzeW4gcmVnaW9uCWNJbmNsdWRlZAljb250YWluZWQgc3RhcnQ9KyJbXihdKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Zm9ydHJhbkxlZnRNYXJnaW4sZm9ydHJhbkNvbnRpbnVlTWFyayxmb3J0cmFuU2VyaWFsTnVtYmVyCitzeW4gbWF0Y2gJY0luY2x1ZGVkCQljb250YWluZWQgIjxbXj5dKj4iCitzeW4gbWF0Y2gJY0luY2x1ZGUJCSJeXHMqI1xzKmluY2x1ZGVcPlxzKlsiPF0iIGNvbnRhaW5zPWNJbmNsdWRlZAorCisiU3luY2hyb25pc2luZyBsaW1pdHMgYXNzdW1lIHRoYXQgY29tbWVudCBhbmQgY29udGludWF0aW9uIGxpbmVzIGFyZSBub3QgbWl4ZWQKK2lmIChiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDApCisgIHN5biBzeW5jIGxpbmVjb250ICImIiBtYXhsaW5lcz00MAorZWxzZQorICBzeW4gc3luYyBtaW5saW5lcz0yMAorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAgJiYgZXhpc3RzKCJmb3J0cmFuX2ZvbGQiKQorCisgIHN5biBzeW5jIGZyb21zdGFydAorICBpZiAoYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAxKQorICAgIHN5biByZWdpb24gZm9ydHJhblByb2dyYW0gdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJeXHMqcHJvZ3JhbVxzXCtceihcYVx3KlwpIiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwocHJvZ3JhbVwoXHNcK1x6MVw+XClcPVx8JFwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhbk1vZHVsZQorICAgIHN5biByZWdpb24gZm9ydHJhbk1vZHVsZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Il5ccyptb2R1bGVcc1wrXChwcm9jZWR1cmVcKVxAIVx6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChtb2R1bGVcKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtCisgICAgc3luIHJlZ2lvbiBmb3J0cmFuRnVuY3Rpb24gdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqZnVuY3Rpb25cc1wrXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGZ1bmN0aW9uXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlCisgICAgc3luIHJlZ2lvbiBmb3J0cmFuU3Vicm91dGluZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChlbGVtZW50YWwgXHxwdXJlIFx8cmVjdXJzaXZlIFwpXD1ccypzdWJyb3V0aW5lXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxzdWJyb3V0aW5lXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlCisgICAgc3luIHJlZ2lvbiBmb3J0cmFuQmxvY2tEYXRhIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXDxibG9ja1xzKmRhdGFcc1wrXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGJsb2NrXHMqZGF0YVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCisgICAgc3luIHJlZ2lvbiBmb3J0cmFuSW50ZXJmYWNlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccyppbnRlcmZhY2VcPiIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccyppbnRlcmZhY2VcPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCisgIGVsc2UKKyAgICBzeW4gcmVnaW9uIGZvcnRyYW5Qcm9ncmFtIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKnByb2dyYW1cc1wrXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChwcm9ncmFtXChcc1wrXHoxXD5cKVw9XHwkXCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuTW9kdWxlCisgICAgc3luIHJlZ2lvbiBmb3J0cmFuTW9kdWxlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKm1vZHVsZVxzXCtcKHByb2NlZHVyZVwpXEAhXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChtb2R1bGVcKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtCisgICAgc3luIHJlZ2lvbiBmb3J0cmFuRnVuY3Rpb24gdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqZnVuY3Rpb25cc1wrXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxmdW5jdGlvblwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQorICAgIHN5biByZWdpb24gZm9ydHJhblN1YnJvdXRpbmUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqc3Vicm91dGluZVxzXCtceihcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfHN1YnJvdXRpbmVcKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUKKyAgICBzeW4gcmVnaW9uIGZvcnRyYW5CbG9ja0RhdGEgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJcPGJsb2NrXHMqZGF0YVxzXCtceihcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGJsb2NrXHMqZGF0YVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCisgICAgc3luIHJlZ2lvbiBmb3J0cmFuSW50ZXJmYWNlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccyppbnRlcmZhY2VcPiIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqaW50ZXJmYWNlXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW43N0xvb3AsZm9ydHJhbkNhc2UsZm9ydHJhbjkwTG9vcCxmb3J0cmFuSWZCbG9jaworICBlbmRpZgorCisgIGlmIGV4aXN0cygiZm9ydHJhbl9mb2xkX2NvbmRpdGlvbmFscyIpCisgICAgaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMSkKKyAgICAgIHN5biByZWdpb24gZm9ydHJhbjc3TG9vcCB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Ilw8ZG9cc1wrXHooXGRcK1wpIiBlbmQ9Il5ccypcejFcPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Vbml0SGVhZGVyLGZvcnRyYW5TdHJ1Y3R1cmUsZm9ydHJhblN0b3JhZ2VDbGFzcyxmb3J0cmFuVHlwZSxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuQmxvY2tEYXRhCisgICAgICBzeW4gcmVnaW9uIGZvcnRyYW45MExvb3AgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXChcPGVuZFxzXCtcKVxAPCFcPGRvXChcc1wrXGFcfFxzKiRcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypkb1w+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKKyAgICAgIHN5biByZWdpb24gZm9ydHJhbklmQmxvY2sgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXChcPGVcKG5kXHxsc2VcKVxzXCtcKVxAPCFcPGlmXHMqKC5cKylccyp0aGVuXD4iIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGVuZD0iXDxlbmRccyppZlw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKKyAgICAgIHN5biByZWdpb24gZm9ydHJhbkNhc2UgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXDxzZWxlY3RccypjYXNlXD4iIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGVuZD0iXDxlbmRccypzZWxlY3RcPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Vbml0SGVhZGVyLGZvcnRyYW5TdHJ1Y3R1cmUsZm9ydHJhblN0b3JhZ2VDbGFzcyxmb3J0cmFuVHlwZSxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuQmxvY2tEYXRhCisgICAgZWxzZQorICAgICAgc3luIHJlZ2lvbiBmb3J0cmFuNzdMb29wIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXDxkb1xzXCtceihcZFwrXCkiIGVuZD0iXlxzKlx6MVw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKKyAgICAgIHN5biByZWdpb24gZm9ydHJhbjkwTG9vcCB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJcKFw8ZW5kXHNcK1wpXEA8IVw8ZG9cKFxzXCtcYVx8XHMqJFwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypkb1w+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKKyAgICAgIHN5biByZWdpb24gZm9ydHJhbklmQmxvY2sgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXChcPGVcKG5kXHxsc2VcKVxzXCtcKVxAPCFcPGlmXHMqKC5cKylccyp0aGVuXD4iIHNraXA9Il5ccypbISNdLiokIiBlbmQ9Ilw8ZW5kXHMqaWZcPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Vbml0SGVhZGVyLGZvcnRyYW5TdHJ1Y3R1cmUsZm9ydHJhblN0b3JhZ2VDbGFzcyxmb3J0cmFuVHlwZSxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuQmxvY2tEYXRhCisgICAgICBzeW4gcmVnaW9uIGZvcnRyYW5DYXNlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Ilw8c2VsZWN0XHMqY2FzZVw+IiBza2lwPSJeXHMqWyEjXS4qJCIgZW5kPSJcPGVuZFxzKnNlbGVjdFw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKKyAgICBlbmRpZgorICBlbmRpZgorCisgIGlmIGV4aXN0cygiZm9ydHJhbl9mb2xkX211bHRpbGluZWNvbW1lbnRzIikKKyAgICBpZiAoYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAxKQorICAgICAgc3luIG1hdGNoIGZvcnRyYW5NdWx0aUxpbmVDb21tZW50cyB0cmFuc3BhcmVudCBmb2xkICJcKF5bIWMqXS4qXChcblx8XCUkXClcKVx7NCx9IiBjb250YWlucz1BTExCVVQsZm9ydHJhbk11bHRpQ29tbWVudExpbmVzCisgICAgZWxzZQorICAgICAgc3luIG1hdGNoIGZvcnRyYW5NdWx0aUxpbmVDb21tZW50cyB0cmFuc3BhcmVudCBmb2xkICJcKF5ccyohLipcKFxuXHxcJSRcKVwpXHs0LH0iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuTXVsdGlDb21tZW50TGluZXMKKyAgICBlbmRpZgorICBlbmRpZgorZW5kaWYKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZm9ydHJhbl9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9mb3J0cmFuX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcgZGlmZmVycyBmb3IgZWFjaCBkaWFsZWN0LgorICAiIFRyYW5zcGFyZW50IGdyb3VwczoKKyAgIiBmb3J0cmFuUGFyZW4sIGZvcnRyYW5MZWZ0TWFyZ2luCisgICIgZm9ydHJhblByb2dyYW0sIGZvcnRyYW5Nb2R1bGUsIGZvcnRyYW5TdWJyb3V0aW5lLCBmb3J0cmFuRnVuY3Rpb24sCisgICIgZm9ydHJhbkJsb2NrRGF0YQorICAiIGZvcnRyYW43N0xvb3AsIGZvcnRyYW45MExvb3AsIGZvcnRyYW5JZkJsb2NrLCBmb3J0cmFuQ2FzZQorICAiIGZvcnRyYW5NdWx0aUNvbW1lbnRMaW5lcworICBIaUxpbmsgZm9ydHJhblN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBmb3J0cmFuQ29uc3RydWN0TmFtZQlTcGVjaWFsCisgIEhpTGluayBmb3J0cmFuQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCisgIEhpTGluayBmb3J0cmFuUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIGZvcnRyYW5Ub2RvCQkJVG9kbworICBIaUxpbmsgZm9ydHJhbkNvbnRpbnVlTWFyawkJVG9kbworICBIaUxpbmsgZm9ydHJhblN0cmluZwkJU3RyaW5nCisgIEhpTGluayBmb3J0cmFuTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGZvcnRyYW5PcGVyYXRvcgkJT3BlcmF0b3IKKyAgSGlMaW5rIGZvcnRyYW5Cb29sZWFuCQlCb29sZWFuCisgIEhpTGluayBmb3J0cmFuTGFiZWxFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIGZvcnRyYW5PYnNvbGV0ZQkJVG9kbworICBIaUxpbmsgZm9ydHJhblR5cGUJCQlUeXBlCisgIEhpTGluayBmb3J0cmFuU3RydWN0dXJlCQlUeXBlCisgIEhpTGluayBmb3J0cmFuU3RvcmFnZUNsYXNzCQlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGZvcnRyYW5DYWxsCQkJZm9ydHJhblVuaXRIZWFkZXIKKyAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyCQlmb3J0cmFuUHJlQ29uZGl0CisgIEhpTGluayBmb3J0cmFuUmVhZFdyaXRlCQlmb3J0cmFuOTBJbnRyaW5zaWMKKyAgSGlMaW5rIGZvcnRyYW5JTwkJCWZvcnRyYW45MEludHJpbnNpYworICBIaUxpbmsgZm9ydHJhbjk1SW50cmluc2ljCQlmb3J0cmFuOTBJbnRyaW5zaWMKKyAgSGlMaW5rIGZvcnRyYW43N0ludHJpbnNpYwkJZm9ydHJhbjkwSW50cmluc2ljCisgIEhpTGluayBmb3J0cmFuOTBJbnRyaW5zaWMJCVNwZWNpYWwKKworICBpZiAoIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJlbGYiIHx8IGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIiApCisgICAgSGlMaW5rIGZvcnRyYW5TdGF0ZW1lbnRPYglmb3J0cmFuT2Jzb2xldGUKKyAgICBIaUxpbmsgZm9ydHJhbjY2SW50cmluc2ljCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuNzdJbnRyaW5zaWNSCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuVW5pdEhlYWRlclIJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5UeXBlUgkJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5TdG9yYWdlQ2xhc3NSCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuOTBTdG9yYWdlQ2xhc3NSCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuNzdPcGVyYXRvclIJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5JbmNsdWRlCQlmb3J0cmFuT2Jzb2xldGUKKyAgZWxzZQorICAgIEhpTGluayBmb3J0cmFuU3RhdGVtZW50T2IJU3RhdGVtZW50CisgICAgSGlMaW5rIGZvcnRyYW42NkludHJpbnNpYwlmb3J0cmFuOTBJbnRyaW5zaWMKKyAgICBIaUxpbmsgZm9ydHJhbjc3SW50cmluc2ljUglmb3J0cmFuOTBJbnRyaW5zaWMKKyAgICBIaUxpbmsgZm9ydHJhblVuaXRIZWFkZXJSCWZvcnRyYW5QcmVDb25kaXQKKyAgICBIaUxpbmsgZm9ydHJhblR5cGVSCQlmb3J0cmFuVHlwZQorICAgIEhpTGluayBmb3J0cmFuU3RvcmFnZUNsYXNzUglmb3J0cmFuU3RvcmFnZUNsYXNzCisgICAgSGlMaW5rIGZvcnRyYW43N09wZXJhdG9yUglmb3J0cmFuT3BlcmF0b3IKKyAgICBIaUxpbmsgZm9ydHJhbkluY2x1ZGUJCUluY2x1ZGUKKyAgICBIaUxpbmsgZm9ydHJhbjkwU3RvcmFnZUNsYXNzUglmb3J0cmFuU3RvcmFnZUNsYXNzCisgIGVuZGlmCisKKyAgaWYgKCBiOmZvcnRyYW5fZGlhbGVjdCA9PSAiRiIgKQorICAgIEhpTGluayBmb3J0cmFuTGFiZWxOdW1iZXIJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5UYXJnZXQJCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuRm9ybWF0U3BlYwkJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5GbG9hdERFeHAJCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuRmxvYXROb0RlYwkJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5GbG9hdEluaURlYwlmb3J0cmFuT2Jzb2xldGUKKyAgICBIaUxpbmsgZm9ydHJhbkZsb2F0RW5kRGVjCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuVHlwZUV4CQlmb3J0cmFuT2Jzb2xldGUKKyAgICBIaUxpbmsgZm9ydHJhbklPRXgJCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuU3RhdGVtZW50RXgJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5TdHJpbmdFeAkJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW43N0ludHJpbnNpY0V4CWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuVW5pdEhlYWRlckV4CWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuQ29uZGl0aW9uYWxFeAlmb3J0cmFuT2Jzb2xldGUKKyAgICBIaUxpbmsgZm9ydHJhbjkwSW50cmluc2ljRXgJZm9ydHJhbk9ic29sZXRlCisgIGVsc2UKKyAgICBIaUxpbmsgZm9ydHJhbkxhYmVsTnVtYmVyCVNwZWNpYWwKKyAgICBIaUxpbmsgZm9ydHJhblRhcmdldAkJU3BlY2lhbAorICAgIEhpTGluayBmb3J0cmFuRm9ybWF0U3BlYwkJSWRlbnRpZmllcgorICAgIEhpTGluayBmb3J0cmFuRmxvYXRERXhwCQlmb3J0cmFuRmxvYXQKKyAgICBIaUxpbmsgZm9ydHJhbkZsb2F0Tm9EZWMJCWZvcnRyYW5GbG9hdAorICAgIEhpTGluayBmb3J0cmFuRmxvYXRJbmlEZWMJZm9ydHJhbkZsb2F0CisgICAgSGlMaW5rIGZvcnRyYW5GbG9hdEVuZERlYwlmb3J0cmFuRmxvYXQKKyAgICBIaUxpbmsgZm9ydHJhblR5cGVFeAkJZm9ydHJhblR5cGUKKyAgICBIaUxpbmsgZm9ydHJhbklPRXgJCWZvcnRyYW5JTworICAgIEhpTGluayBmb3J0cmFuU3RhdGVtZW50RXgJZm9ydHJhblN0YXRlbWVudAorICAgIEhpTGluayBmb3J0cmFuU3RyaW5nRXgJCWZvcnRyYW5TdHJpbmcKKyAgICBIaUxpbmsgZm9ydHJhbjc3SW50cmluc2ljRXgJZm9ydHJhbjkwSW50cmluc2ljCisgICAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyRXgJZm9ydHJhblVuaXRIZWFkZXIKKyAgICBIaUxpbmsgZm9ydHJhbkNvbmRpdGlvbmFsRXgJZm9ydHJhbkNvbmRpdGlvbmFsCisgICAgSGlMaW5rIGZvcnRyYW45MEludHJpbnNpY0V4CWZvcnRyYW45MEludHJpbnNpYworICBlbmRpZgorCisgIEhpTGluayBmb3J0cmFuRmxvYXQJCUZsb2F0CisgIEhpTGluayBmb3J0cmFuOTBJZGVudGlmaWVyCQlmb3J0cmFuSWRlbnRpZmllcgorICAiVW5jb21tZW50IHRoZSBuZXh0IGxpbmUgaWYgeW91IHdhbnQgYWxsIGZvcnRyYW4gdmFyaWFibGVzIHRvIGJlIGhpZ2hsaWdodGVkCisgICJIaUxpbmsgZm9ydHJhbklkZW50aWZpZXIJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGZvcnRyYW5QcmVDb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgZm9ydHJhbkluY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIGNJbmNsdWRlZAkJCWZvcnRyYW5TdHJpbmcKKyAgSGlMaW5rIGNJbmNsdWRlCQkJSW5jbHVkZQorICBIaUxpbmsgY1ByZVByb2MJCQlQcmVQcm9jCisgIEhpTGluayBjUHJlQ29uZGl0CQkJUHJlQ29uZGl0CisgIEhpTGluayBmb3J0cmFuUGFyZW5FcnJvcgkJRXJyb3IKKyAgSGlMaW5rIGZvcnRyYW5Db21tZW50CQlDb21tZW50CisgIEhpTGluayBmb3J0cmFuU2VyaWFsTnVtYmVyCQlUb2RvCisgIEhpTGluayBmb3J0cmFuVGFiCQkJRXJyb3IKKyAgIiBWZW5kb3IgZXh0ZW5zaW9ucworICBIaUxpbmsgZm9ydHJhbkV4dHJhSW50cmluc2ljCVNwZWNpYWwKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZm9ydHJhbiIKKworIiB2aW06IHRzPTggdHc9MTMyCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mb3hwcm8udmltIGIvcnVudGltZS9zeW50YXgvZm94cHJvLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmFiZDIzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZm94cHJvLnZpbQpAQCAtMCwwICsxLDY5MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBGb3hQcm8gZm9yIERPUyB2Mi54CisiIE1haW50YWluZXI6ICAgUG93aW5nIFRzZSA8cG93aW5nQGhrZW0uY29tPgorIiBMYXN0IENoYW5nZTogIDA2IFNlcHRlbWJlciAyMDAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKK3N5bnRheCBjYXNlIGlnbm9yZQorCisiIEhpZ2hsaWdodCBzcGVjaWFsIGNoYXJhY3RlcnMKK3N5biBtYXRjaCBmb3hwcm9TcGVjaWFsICJeXHMqISIKK3N5biBtYXRjaCBmb3hwcm9TcGVjaWFsICImIgorc3luIG1hdGNoIGZveHByb1NwZWNpYWwgIjtccyokIgorc3luIG1hdGNoIGZveHByb1NwZWNpYWwgIl5ccyo9Igorc3luIG1hdGNoIGZveHByb1NwZWNpYWwgIl5ccypcXCIKK3N5biBtYXRjaCBmb3hwcm9TcGVjaWFsICJeXHMqXFxcXCIKK3N5biBtYXRjaCBmb3hwcm9TcGVjaWFsICJeXHMqPyIKK3N5biBtYXRjaCBmb3hwcm9TcGVjaWFsICJeXHMqPz8iCitzeW4gbWF0Y2ggZm94cHJvU3BlY2lhbCAiXlxzKj8/PyIKK3N5biBtYXRjaCBmb3hwcm9TcGVjaWFsICJcPG1cPlwuIgorCisiIEAgU3RhdGVtZW50cworc3luIG1hdGNoIGZveHByb0F0U3ltYm9sIGNvbnRhaW5lZCAiXlxzKkAiCitzeW4gbWF0Y2ggZm94cHJvQXRDbWQgICAgY29udGFpbmVkICJcPHNheVw+XHxcPGdldFw+XHxcPGVkaXRcPlx8XDxib3hcPlx8XDxjbGVhXCVbcl1cPlx8XDxmaWxsXD5cfFw8bWVudVw+XHxcPHByb21cJVtwdF1cPlx8XDxzY3JvXCVbbGxdXD5cfFw8dG9cPiIKK3N5biBtYXRjaCBmb3hwcm9BdFN0YXJ0ICB0cmFuc3BhcmVudCAiXlxzKkAuKiIgY29udGFpbnM9QUxMCisKKyIgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMKK3N5biBtYXRjaCBmb3hwcm9QcmVQcm9jICJeXHMqI1xzKlwoXDxpZlw+XHxcPGVsaWZcPlx8XDxlbHNlXD5cfFw8ZW5kaVwlW2ZdXD5cKSIKK3N5biBtYXRjaCBmb3hwcm9QcmVQcm9jICJeXHMqI1xzKlwoXDxkZWZpXCVbbmVdXD5cfFw8dW5kZVwlW2ZdXD5cKSIKK3N5biBtYXRjaCBmb3hwcm9QcmVQcm9jICJeXHMqI1xzKlw8cmVnaVwlW29uXVw+IgorCisiIEZ1bmN0aW9ucworc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YWJzXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YWNvcFwlW3ldXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YWNvc1w+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGFkZWxcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxhZGlyXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YWVsZVwlW21lbnRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YWZpZVwlW2xkc11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxhZm9uXCVbdF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxhaW5zXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YWxlblw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGFsaWFcJVtzXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGFsbHRcJVtyaW1dXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YW5zaVwlW3Rvb2VtXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGFzY1w+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGFzY2FcJVtuXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGFzaW5cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxhc29yXCVbdF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxhc3ViXCVbc2NyaXB0XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGF0XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YXRhblw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGF0Y1w+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGF0Y2xcJVtpbmVdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YXRsaVwlW25lXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGF0bjJcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxiYXJcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxiYXJjXCVbb3VudF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxiYXJwXCVbcm9tcHRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8YmV0d1wlW2Vlbl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxib2ZcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjYXBzXCVbbG9ja11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjZG93XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Y2R4XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Y2VpbFwlW2luZ11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjaHJcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjaHJzXCVbYXddXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Y2hydFwlW3Jhbl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjbW9uXCVbdGhdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Y250YlwlW2FyXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGNudHBcJVthZF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjb2xcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjb3NcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjcGNvXCVbbnZlcnRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Y3BjdVwlW3JyZW50XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGNwZGJcJVtmXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGN0b2RcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxjdXJkXCVbaXJdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZGF0ZVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGRheVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGRiZlw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGRkZWFcJVtib3J0dHJhbnNdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZGRlYVwlW2R2aXNlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGRkZWVcJVtuYWJsZWRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZGRlZVwlW3hlY3V0ZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxkZGVpXCVbbml0aWF0ZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxkZGVsXCVbYXN0ZXJyb3JdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZGRlcFwlW29rZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxkZGVyXCVbZXF1ZXN0XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGRkZXNcJVtldG9wdGlvbl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxkZGVzXCVbZXRzZXJ2aWNlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGRkZXNcJVtldHRvcGljXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGRkZXRcJVtlcm1pbmF0ZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxkZWxlXCVbdGVkXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGRlc2NcJVtlbmRpbmddXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZGlmZlwlW2VyZW5jZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxkaXNrXCVbc3BhY2VdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZG15XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZG93XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZHRvY1w+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGR0b3JcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxkdG9zXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZW1wdFwlW3ldXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZW9mXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZXJyb1wlW3JdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZXZhbFwlW3VhdGVdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZXhwXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZmNoc1wlW2l6ZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmY2xvXCVbc2VdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZmNvdVwlW250XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGZjcmVcJVthdGVdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZmRhdFwlW2VdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZmVvZlw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGZlcnJcJVtvcl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmZmx1XCVbc2hdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZmdldFwlW3NdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZmllbFwlW2RdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZmlsZVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGZpbHRcJVtlcl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxma2xhXCVbYmVsXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGZrbWFcJVt4XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGZsZGxcJVtpc3RdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8ZmxvY1wlW2tdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Zmxvb1wlW3JdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Zm9udFwlW21ldHJpY11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmb3BlXCVbbl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmb3JcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmb3VuXCVbZF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmcHV0XCVbc11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmcmVhXCVbZF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmc2VlXCVba11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmc2l6XCVbZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmdGltXCVbZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmdWxsXCVbcGF0aF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxmdlw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGZ3cmlcJVt0ZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxnZXRiXCVbYXJdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Z2V0ZFwlW2lyXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGdldGVcJVtudl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxnZXRmXCVbaWxlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGdldGZcJVtvbnRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8Z2V0cFwlW2FkXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGdvbW9cJVtudGhdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8aGVhZFwlW2VyXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGhvbWVcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxpZHhjXCVbb2xsYXRlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGlpZlw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGlua2VcJVt5XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGlubGlcJVtzdF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxpbnNtXCVbb2RlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGludFw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGlzYWxcJVtwaGFdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8aXNibFwlW2Fua11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxpc2NvXCVbbG9yXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGlzZGlcJVtnaXRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8aXNsb1wlW3dlcl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxpc3JlXCVbYWRvbmx5XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGlzdXBcJVtwZXJdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8a2V5XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8a2V5bVwlW2F0Y2hdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bGFzdFwlW2tleV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxsZWZ0XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bGVuXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bGlrZVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGxpbmVcJVtub11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxsb2NmXCVbaWxlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPGxvY2tcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxsb2dcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxsb2cxXCVbMF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxsb29rXCVbdXBdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bG93ZVwlW3JdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bHRyaVwlW21dXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bHVwZFwlW2F0ZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxtYXhcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxtY29sXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bWRvd1wlW25dXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bWR4XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bWR5XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bWVtbFwlW2luZXNdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bWVtb1wlW3J5XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG1lbnVcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxtZXNzXCVbYWdlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG1pblw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG1saW5cJVtlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG1vZFw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG1vbnRcJVtoXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG1ya2JcJVthcl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxtcmtwXCVbYWRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bXJvd1w+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG13aW5cJVtkb3ddXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bmR4XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8bm9ybVwlW2FsaXplXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG51bWxcJVtvY2tdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8b2JqblwlW3VtXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG9ianZcJVthcl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxvY2N1XCVbcnNdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8b2VtdFwlW29hbnNpXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPG9uXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8b3JkZVwlW3JdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8b3NcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxwYWRcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxwYWRjXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cGFkbFw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHBhZHJcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxwYXJhXCVbbWV0ZXJzXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHBheW1cJVtlbnRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cGNvbFw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHBpXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cG9wdVwlW3BdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cHJpblwlW3RzdGF0dXNdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cHJtYlwlW2FyXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHBybXBcJVthZF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxwcm9nXCVbcmFtXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHByb21cJVtwdF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxwcm9wXCVbZXJdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cHJvd1w+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHBydGlcJVtuZm9dXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cHV0ZlwlW2lsZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxwdlw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHJhbmRcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxyYXRcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxyYXRsXCVbaW5lXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHJkbGVcJVt2ZWxdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cmVhZFwlW2tleV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxyZWNjXCVbb3VudF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxyZWNuXCVbb11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxyZWNzXCVbaXplXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHJlbGFcJVt0aW9uXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHJlcGxcJVtpY2F0ZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxyZ2JzXCVbY2hlbWVdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cmlnaFwlW3RdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cmxvY1wlW2tdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cm91blwlW2RdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cm93XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8cnRvZFw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHJ0cmlcJVttXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHNjaGVcJVttZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxzY29sXCVbc11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxzZWNvXCVbbmRzXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHNlZWtcPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxzZWxlXCVbY3RdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8c2V0XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8c2lnblw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHNpblw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHNrcGJcJVthcl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxza3BwXCVbYWRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8c291blwlW2RleF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxzcGFjXCVbZV1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxzcXJ0XD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8c3Jvd1wlW3NdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8c3RyXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8c3RydFwlW3Jhbl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxzdHVmXCVbZl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDxzdWJzXCVbdHJdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8c3lzbVwlW2V0cmljXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHN5c1w+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHRhZ1w+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHRhZ2NcJVtvdW50XVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHRhZ25cJVtvXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHRhblw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHRhcmdcJVtldF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx0aW1lXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8dHJhblwlW3Nmb3JtXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHRyaW1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx0eHR3XCVbaWR0aF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx0eXBlXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8dW5pcVwlW3VlXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHVwZGFcJVt0ZWRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8dXBwZVwlW3JdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8dXNlZFw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHZhbFw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHZhcnJcJVtlYWRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8dmVyc1wlW2lvbl1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx3Ym9yXCVbZGVyXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHdjaGlcJVtsZF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx3Y29sXCVbc11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx3ZXhpXCVbc3RdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d2ZvblwlW3RdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d2xhc1wlW3RdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d2xjb1wlW2xdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d2xyb1wlW3ddXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d21heFwlW2ltdW1dXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d21pblwlW2ltdW1dXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d29udFwlW29wXVw+XHMqKCJtZT1lLTEKK3N5biBtYXRjaCBmb3hwcm9GdW5jICJcPHdvdXRcJVtwdXRdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d3BhclwlW2VudF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx3cmVhXCVbZF1cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx3cm93XCVbc11cPlxzKigibWU9ZS0xCitzeW4gbWF0Y2ggZm94cHJvRnVuYyAiXDx3dGl0XCVbbGVdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8d3Zpc1wlW2libGVdXD5ccyooIm1lPWUtMQorc3luIG1hdGNoIGZveHByb0Z1bmMgIlw8eWVhclw+XHMqKCJtZT1lLTEKKworIiBDb21tYW5kcworc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8YWNjZVwlW3B0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8YWN0aVwlW3ZhdGVdXD5ccypcPG1lbnVcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGFjdGlcJVt2YXRlXVw+XHMqXDxwb3B1XCVbcF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGFjdGlcJVt2YXRlXVw+XHMqXDxzY3JlXCVbZW5dXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxhY3RpXCVbdmF0ZV1cPlxzKlw8d2luZFwlW293XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8YXBwZVwlW25kXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8YXBwZVwlW25kXVw+XHMqXDxmcm9tXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxhcHBlXCVbbmRdXD5ccypcPGZyb21cPlxzKlw8YXJyYVwlW3ldXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxhcHBlXCVbbmRdXD5ccypcPGdlbmVcJVtyYWxdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxhcHBlXCVbbmRdXD5ccypcPG1lbW9cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGFzc2lcJVtzdF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGF2ZXJcJVthZ2VdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxibGFuXCVba11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGJyb3dcJVtzZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGJ1aWxcJVtkXVw+XHMqXDxhcHBcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGJ1aWxcJVtkXVw+XHMqXDxleGVcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGJ1aWxcJVtkXVw+XHMqXDxwcm9qXCVbZWN0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y2FsY1wlW3VsYXRlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y2FsbFw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y2FuY1wlW2VsXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y2hhblwlW2dlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y2xlYVwlW3JdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxjbG9zXCVbZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGNsb3NcJVtlXVw+XHMqXDxtZW1vXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxjb21wXCVbaWxlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y29udFwlW2ludWVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxjb3B5XD5ccypcPGZpbGVcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGNvcHlcPlxzKlw8aW5kZVwlW3hlc11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGNvcHlcPlxzKlw8bWVtb1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y29weVw+XHMqXDxzdHJ1XCVbY3R1cmVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxjb3B5XD5ccypcPHN0cnVcJVtjdHVyZV1cPlxzKlw8ZXh0ZVwlW25kZWRdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxjb3B5XD5ccypcPHRhZ1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y29weVw+XHMqXDx0b1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y29weVw+XHMqXDx0b1w+XHMqXDxhcnJhXCVbeV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGNvdW5cJVt0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y3JlYVwlW3RlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y3JlYVwlW3RlXVw+XHMqXDxjb2xvXCVbcl1cPlxzKlw8c2V0XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxjcmVhXCVbdGVdXD5ccypcPGN1cnNcJVtvcl1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGNyZWFcJVt0ZV1cPlxzKlw8ZnJvbVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y3JlYVwlW3RlXVw+XHMqXDxsYWJlXCVbbF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGNyZWFcJVt0ZV1cPlxzKlw8bWVudVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y3JlYVwlW3RlXVw+XHMqXDxwcm9qXCVbZWN0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y3JlYVwlW3RlXVw+XHMqXDxxdWVyXCVbeV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGNyZWFcJVt0ZV1cPlxzKlw8cmVwb1wlW3J0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y3JlYVwlW3RlXVw+XHMqXDxzY3JlXCVbZW5dXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxjcmVhXCVbdGVdXD5ccypcPHRhYmxcJVtlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Y3JlYVwlW3RlXVw+XHMqXDx2aWV3XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxkZGVcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGRlYWNcJVt0aXZhdGVdXD5ccypcPG1lbnVcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGRlYWNcJVt0aXZhdGVdXD5ccypcPHBvcHVcJVtwXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGVhY1wlW3RpdmF0ZV1cPlxzKlw8d2luZFwlW293XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGVjbFwlW2FyZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGRlZmlcJVtuZV1cPlxzKlw8YmFyXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxkZWZpXCVbbmVdXD5ccypcPGJveFw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGVmaVwlW25lXVw+XHMqXDxtZW51XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxkZWZpXCVbbmVdXD5ccypcPHBhZFw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGVmaVwlW25lXVw+XHMqXDxwb3B1XCVbcF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGRlZmlcJVtuZV1cPlxzKlw8d2luZFwlW293XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGVsZVwlW3RlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGVsZVwlW3RlXVw+XHMqXDxmaWxlXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxkZWxlXCVbdGVdXD5ccypcPHRhZ1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGltZVwlW25zaW9uXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGlyZVwlW2N0b3J5XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGlzcFwlW2xheV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGRpc3BcJVtsYXldXD5ccypcPGZpbGVcJVtzXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGlzcFwlW2xheV1cPlxzKlw8bWVtb1wlW3J5XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGlzcFwlW2xheV1cPlxzKlw8c3RhdFwlW3VzXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZGlzcFwlW2xheV1cPlxzKlw8c3RydVwlW2N0dXJlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZG9cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGVkaXRcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGVqZWNcJVt0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZWplY1wlW3RdXD5ccypcPHBhZ2VcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGVyYXNcJVtlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZXhpdFw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZXhwb1wlW3J0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZXh0ZVwlW3JuYWxdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxmaWxlXCVbcl1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGZpbmRcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGZsdXNcJVtoXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8ZnVuY1wlW3Rpb25dXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxnYXRoXCVbZXJdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxnZXRlXCVbeHByXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8Z29cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGdvdG9cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGhlbHBcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGhpZGVcPlxzKlw8bWVudVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8aGlkZVw+XHMqXDxwb3B1XCVbcF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGhpZGVcPlxzKlw8d2luZFwlW293XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8aW1wb1wlW3J0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8aW5kZVwlW3hdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxpbnB1XCVbdF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGluc2VcJVtydF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGpvaW5cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPGtleWJcJVtvYXJkXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8bGFiZVwlW2xdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxsaXN0XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxsb2FkXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxsb2NhXCVbdGVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxsb29wXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxtZW51XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxtZW51XD5ccypcPHRvXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxtb2RpXCVbZnldXD5ccypcPGNvbW1cJVthbmRdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxtb2RpXCVbZnldXD5ccypcPGZpbGVcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG1vZGlcJVtmeV1cPlxzKlw8Z2VuZVwlW3JhbF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG1vZGlcJVtmeV1cPlxzKlw8bGFiZVwlW2xdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxtb2RpXCVbZnldXD5ccypcPG1lbW9cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG1vZGlcJVtmeV1cPlxzKlw8bWVudVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8bW9kaVwlW2Z5XVw+XHMqXDxwcm9qXCVbZWN0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8bW9kaVwlW2Z5XVw+XHMqXDxxdWVyXCVbeV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG1vZGlcJVtmeV1cPlxzKlw8cmVwb1wlW3J0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8bW9kaVwlW2Z5XVw+XHMqXDxzY3JlXCVbZW5dXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxtb2RpXCVbZnldXD5ccypcPHN0cnVcJVtjdHVyZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG1vZGlcJVtmeV1cPlxzKlw8d2luZFwlW293XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8bW92ZVw+XHMqXDxwb3B1XCVbcF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG1vdmVcPlxzKlw8d2luZFwlW293XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8bm90ZVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8b25cPlxzKlw8YXBsYVwlW2JvdXRdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxvblw+XHMqXDxiYXJcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG9uXD5ccypcPGVycm9cJVtyXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8b25cPlxzKlw8ZXNjYVwlW3BlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8b25cPlxzKlw8ZXhpdFw+XHMqXDxiYXJcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG9uXD5ccypcPGV4aXRcPlxzKlw8bWVudVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8b25cPlxzKlw8ZXhpdFw+XHMqXDxwYWRcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG9uXD5ccypcPGV4aXRcPlxzKlw8cG9wdVwlW3BdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxvblw+XHMqXDxrZXlcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG9uXD5ccypcPGtleVw+XHMqXDw9XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxvblw+XHMqXDxrZXlcPlxzKlw8bGFiZVwlW2xdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxvblw+XHMqXDxtYWNoXCVbZWxwXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8b25cPlxzKlw8cGFkXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxvblw+XHMqXDxwYWdlXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxvblw+XHMqXDxyZWFkXCVbZXJyb3JdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxvblw+XHMqXDxzZWxlXCVbY3Rpb25dXD5ccypcPGJhclw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8b25cPlxzKlw8c2VsZVwlW2N0aW9uXVw+XHMqXDxtZW51XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxvblw+XHMqXDxzZWxlXCVbY3Rpb25dXD5ccypcPHBhZFw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8b25cPlxzKlw8c2VsZVwlW2N0aW9uXVw+XHMqXDxwb3B1XCVbcF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPG9uXD5ccypcPHNodXRcJVtkb3duXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8cGFja1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8cGFyYVwlW21ldGVyc11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHBsYXlcPlxzKlw8bWFjclwlW29dXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxwb3BcPlxzKlw8a2V5XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxwb3BcPlxzKlw8bWVudVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8cG9wXD5ccypcPHBvcHVcJVtwXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8cHJpdlwlW2F0ZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHByb2NcJVtlZHVyZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHB1YmxcJVtpY11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHB1c2hcPlxzKlw8a2V5XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxwdXNoXD5ccypcPG1lbnVcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHB1c2hcPlxzKlw8cG9wdVwlW3BdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxxdWl0XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZWFkXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZWFkXD5ccypcPG1lbnVcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHJlY2FcJVtsbF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHJlaW5cJVtkZXhdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZWxlXCVbYXNlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8cmVsZVwlW2FzZV1cPlxzKlw8bW9kdVwlW2xlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8cmVuYVwlW21lXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8cmVwbFwlW2FjZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHJlcGxcJVthY2VdXD5ccypcPGZyb21cPlxzKlw8YXJyYVwlW3ldXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZXBvXCVbcnRdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZXN0XCVbb3JlXVw+XHMqXDxmcm9tXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZXN0XCVbb3JlXVw+XHMqXDxtYWNyXCVbb3NdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZXN0XCVbb3JlXVw+XHMqXDxzY3JlXCVbZW5dXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZXN0XCVbb3JlXVw+XHMqXDx3aW5kXCVbb3ddXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZXN1XCVbbWVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxyZXRyXCVbeV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHJldHVcJVtybl1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHJ1blw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8cnVuXD5ccypcL24iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxydW5zXCVbY3JpcHRdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzYXZlXD5ccypcPG1hY3JcJVtvc11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNhdmVcPlxzKlw8c2NyZVwlW2VuXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2F2ZVw+XHMqXDx0b1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2F2ZVw+XHMqXDx3aW5kXCVbb3dzXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2NhdFwlW3Rlcl1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNjcm9cJVtsbF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNlZWtcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNlbGVcJVtjdF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGFsdGVcJVtybmF0ZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxhbnNpXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8YXBsYVwlW2JvdXRdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8YXV0b1wlW3NhdmVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8YmVsbFw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGJsaW5cJVtrXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGJsb2NcJVtrc2l6ZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxib3JkXCVbZXJdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8YnJzdFwlW2F0dXNdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8Y2FyclwlW3ldXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8Y2VudFwlW3VyeV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxjbGVhXCVbcl1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxjbG9jXCVba11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxjb2xsXCVbYXRlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGNvbG9cJVtyXVw+XHMqXDxvZlw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGNvbG9cJVtyXVw+XHMqXDxvZlw+XHMqXDxzY2hlXCVbbWVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8Y29sb1wlW3JdXD5ccypcPHNldFw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGNvbG9cJVtyXVw+XHMqXDx0b1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGNvbXBcJVthdGlibGVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8Y29uZlwlW2lybV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxjb25zXCVbb2xlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGN1cnJcJVtlbmN5XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGN1cnNcJVtvcl1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxkYXRlXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8ZGVidVwlW2ddXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8ZGVjaVwlW21hbHNdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8ZGVmYVwlW3VsdF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxkZWxlXCVbdGVkXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGRlbGlcJVttaXRlcnNdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8ZGV2ZVwlW2xvcG1lbnRdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8ZGV2aVwlW2NlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGRpc3BcJVtsYXldXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8ZG9oaVwlW3N0b3J5XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGVjaG9cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxlc2NhXCVbcGVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8ZXhhY1wlW3RdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8ZXhjbFwlW3VzaXZlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGZpZWxcJVtkc11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxmaWx0XCVbZXJdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8Zml4ZVwlW2RdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8Zm9ybVwlW2F0XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGZ1bGxcJVtwYXRoXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGZ1bmNcJVt0aW9uXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGhlYWRcJVtpbmdzXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGhlbHBcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxoZWxwXCVbZmlsdGVyXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGhvdXJcJVtzXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGluZGVcJVt4XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGludGVcJVtuc2l0eV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxrZXlcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxrZXljXCVbb21wXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGxpYnJcJVthcnldXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8bG9ja1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPGxvZ2VcJVtycm9yc11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxtYWNkXCVbZXNrdG9wXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPG1hY2hcJVtlbHBdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8bWFja1wlW2V5XVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPG1hcmdcJVtpbl1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxtYXJrXD5ccypcPG9mXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8bWFya1w+XHMqXDx0b1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPG1lbW9cJVt3aWR0aF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxtZXNzXCVbYWdlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPG1vdXNcJVtlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPG11bHRcJVtpbG9ja3NdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8bmVhclw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPG5vY3BcJVt0cmFuc11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxub3RpXCVbZnldXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8b2RvbVwlW2V0ZXJdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8b3B0aVwlW21pemVdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8b3JkZVwlW3JdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8cGFsZVwlW3R0ZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxwYXRoXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8cGRzZVwlW3R1cF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxwb2luXCVbdF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxwcmluXCVbdGVyXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHByb2NcJVtlZHVyZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxyZWFkXCVbYm9yZGVyXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHJlZnJcJVtlc2hdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8cmVsYVwlW3Rpb25dXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8cmVsYVwlW3Rpb25dXD5ccypcPG9mZlw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHJlcHJcJVtvY2Vzc11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxyZXNvXCVbdXJjZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxzYWZlXCVbdHldXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8c2NvclwlW2Vib2FyZF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxzZXBhXCVbcmF0b3JdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8c2hhZFwlW293c11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxza2lwXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8c2tpcFw+XHMqXDxvZlw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHNwYWNcJVtlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHN0YXRcJVt1c11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxzdGF0XCVbdXNdXD5ccypcPGJhclw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHN0ZXBcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDxzdGljXCVba3ldXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8c3lzbVwlW2VudV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDx0YWxrXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8dGV4dFwlW21lcmdlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHRleHRcJVttZXJnZV1cPlxzKlw8ZGVsaVwlW21pdGVyc11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDx0b3BpXCVbY11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDx0cmJlXCVbdHdlZW5dXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8dHlwZVwlW2FoZWFkXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHVkZnBcJVthcm1zXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHVuaXFcJVt1ZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNldFw+XHMqXDx2aWV3XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzZXRcPlxzKlw8dm9sdVwlW21lXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHdpbmRcJVtvd11cPlxzKlw8b2ZcPlxzKlw8bWVtb1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2V0XD5ccypcPHhjbWRcJVtmaWxlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2hvd1w+XHMqXDxnZXRcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNob3dcPlxzKlw8Z2V0c1w+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c2hvd1w+XHMqXDxtZW51XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzaG93XD5ccypcPG9iamVcJVtjdF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNob3dcPlxzKlw8cG9wdVwlW3BdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzaG93XD5ccypcPHdpbmRcJVtvd11cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHNpemVcPlxzKlw8cG9wdVwlW3BdXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxza2lwXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzb3J0XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDxzdG9yXCVbZV1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHN1bVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8c3VzcFwlW2VuZF1cPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHRvdGFcJVtsXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8dHlwZVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8dW5sb1wlW2NrXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8dXBkYVwlW3RlXVw+Igorc3luIG1hdGNoIGZveHByb0NtZCAiXlxzKlw8dXNlXD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDx3YWl0XD4iCitzeW4gbWF0Y2ggZm94cHJvQ21kICJeXHMqXDx6YXBcPiIKK3N5biBtYXRjaCBmb3hwcm9DbWQgIl5ccypcPHpvb21cPlxzKlw8d2luZFwlW293XVw+IgorCisiIEVuY2xvc2VkIEJsb2NrCitzeW4gbWF0Y2ggZm94cHJvRW5CbGsgIl5ccypcPGRvXD5ccypcPGNhc2VcPiIKK3N5biBtYXRjaCBmb3hwcm9FbkJsayAiXlxzKlw8Y2FzZVw+Igorc3luIG1hdGNoIGZveHByb0VuQmxrICJeXHMqXDxvdGhlXCVbcndpc2VdXD4iCitzeW4gbWF0Y2ggZm94cHJvRW5CbGsgIl5ccypcPGVuZGNcJVthc2VdXD4iCitzeW4gbWF0Y2ggZm94cHJvRW5CbGsgIl5ccypcPGRvXD5ccypcPHdoaWxcJVtlXVw+Igorc3luIG1hdGNoIGZveHByb0VuQmxrICJeXHMqXDxlbmRkXCVbb11cPiIKK3N5biBtYXRjaCBmb3hwcm9FbkJsayAiXlxzKlw8Zm9yXD4iCitzeW4gbWF0Y2ggZm94cHJvRW5CbGsgIl5ccypcPGVuZGZcJVtvcl1cPiIKK3N5biBtYXRjaCBmb3hwcm9FbkJsayAiXlxzKlw8bmV4dFw+Igorc3luIG1hdGNoIGZveHByb0VuQmxrICJeXHMqXDxpZlw+Igorc3luIG1hdGNoIGZveHByb0VuQmxrICJeXHMqXDxlbHNlXD4iCitzeW4gbWF0Y2ggZm94cHJvRW5CbGsgIl5ccypcPGVuZGlcJVtmXVw+Igorc3luIG1hdGNoIGZveHByb0VuQmxrICJeXHMqXDxwcmluXCVbdGpvYl1cPiIKK3N5biBtYXRjaCBmb3hwcm9FbkJsayAiXlxzKlw8ZW5kcFwlW3JpbnRqb2JdXD4iCitzeW4gbWF0Y2ggZm94cHJvRW5CbGsgIl5ccypcPHNjYW5cPiIKK3N5biBtYXRjaCBmb3hwcm9FbkJsayAiXlxzKlw8ZW5kc1wlW2Nhbl1cPiIKK3N5biBtYXRjaCBmb3hwcm9FbkJsayAiXlxzKlw8dGV4dFw+Igorc3luIG1hdGNoIGZveHByb0VuQmxrICJeXHMqXDxlbmR0XCVbZXh0XVw+IgorCisiIFN5c3RlbSBWYXJpYWJsZXMKK3N5biBrZXl3b3JkIGZveHByb1N5c1ZhciBfYWxpZ25tZW50IF9hc3Npc3QgX2JlYXV0aWZ5IF9ib3ggX2NhbGNtZW0gX2NhbGN2YWx1ZQorc3luIGtleXdvcmQgZm94cHJvU3lzVmFyIF9jbGlwdGV4dCBfY3Vyb2JqIF9kYmxjbGljayBfZGlhcnlkYXRlIF9kb3MgX2ZveGRvYworc3luIGtleXdvcmQgZm94cHJvU3lzVmFyIF9mb3hncmFwaCBfZ2VuZ3JhcGggX2dlbm1lbnUgX2dlbnBkIF9nZW5zY3JuIF9nZW54dGFiCitzeW4ga2V5d29yZCBmb3hwcm9TeXNWYXIgX2luZGVudCBfbG1hcmdpbiBfbWFjIF9tbGluZSBfcGFkdmFuY2UgX3BhZ2VubyBfcGJwYWdlCitzeW4ga2V5d29yZCBmb3hwcm9TeXNWYXIgX3Bjb2xubyBfcGNvcGllcyBfcGRyaXZlciBfcGRzZXR1cCBfcGVjb2RlIF9wZWplY3QgX3BlcGFnZQorc3luIGtleXdvcmQgZm94cHJvU3lzVmFyIF9wbGVuZ3RoIF9wbGluZW5vIF9wbG9mZnNldCBfcHBpdGNoIF9wcXVhbGl0eSBfcHJldGV4dAorc3luIGtleXdvcmQgZm94cHJvU3lzVmFyIF9wc2NvZGUgX3BzcGFjaW5nIF9wd2FpdCBfcm1hcmdpbiBfc2hlbGwgX3NwZWxsY2hrCitzeW4ga2V5d29yZCBmb3hwcm9TeXNWYXIgX3N0YXJ0dXAgX3RhYnMgX3RhbGx5IF90ZXh0IF90aHJvdHRsZSBfdHJhbnNwb3J0IF91bml4CitzeW4ga2V5d29yZCBmb3hwcm9TeXNWYXIgX3dpbmRvd3MgX3dyYXAKKworIiBTdHJpbmdzCitzeW4gcmVnaW9uIGZveHByb1N0cmluZyBzdGFydD0rIisgZW5kPSsiKyBvbmVsaW5lCitzeW4gcmVnaW9uIGZveHByb1N0cmluZyBzdGFydD0rJysgZW5kPSsnKyBvbmVsaW5lCitzeW4gcmVnaW9uIGZveHByb1N0cmluZyBzdGFydD0rXFsrIGVuZD0rXF0rIG9uZWxpbmUKKworIiBDb25zdGFudHMKK3N5biBtYXRjaCBmb3hwcm9Db25zdCAiXC50XC4iCitzeW4gbWF0Y2ggZm94cHJvQ29uc3QgIlwuZlwuIgorCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBtYXRjaCBmb3hwcm9OdW1iZXIgIlw8WzAtOV1cK1w+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggZm94cHJvRmxvYXQgICJcPFswLTldXCtcLlswLTldKlwoZVstK11cPVswLTldXCtcKVw9XD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoIGZveHByb0Zsb2F0ICAiXC5bMC05XVwrXChlWy0rXVw9WzAtOV1cK1wpXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CitzeW4gbWF0Y2ggZm94cHJvRmxvYXQgICJcPFswLTldXCtlWy0rXVw9WzAtOV1cK1w+IgorCitzeW4gbWF0Y2ggZm94cHJvQ29tbWVudCAiXlxzKlwqLioiCitzeW4gbWF0Y2ggZm94cHJvQ29tbWVudCAiJiYuKiIKKworImNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMKK3N5biByZWdpb24gZm94cHJvUGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULGZveHByb1BhcmVuRXJyCitzeW4gbWF0Y2ggZm94cHJvUGFyZW5FcnIgIikiCisKK3N5biBzeW5jIG1pbmxpbmVzPTEgbWF4bGluZXM9MworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9mb3hwcm9fc3luX2luaXRzIikKKyAgICBpZiB2ZXJzaW9uIDwgNTA4CisJbGV0IGRpZF9mb3hwcm9fc3luX2luaXRzID0gMQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgICAgZWxzZQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgIGVuZGlmCisKKyAgICBIaUxpbmsgZm94cHJvU3BlY2lhbCAgU3BlY2lhbAorICAgIEhpTGluayBmb3hwcm9BdFN5bWJvbCBTcGVjaWFsCisgICAgSGlMaW5rIGZveHByb0F0Q21kICAgIFN0YXRlbWVudAorICAgIEhpTGluayBmb3hwcm9QcmVQcm9jICBQcmVQcm9jCisgICAgSGlMaW5rIGZveHByb0Z1bmMgICAgIElkZW50aWZpZXIKKyAgICBIaUxpbmsgZm94cHJvQ21kICAgICAgU3RhdGVtZW50CisgICAgSGlMaW5rIGZveHByb0VuQmxrICAgIFR5cGUKKyAgICBIaUxpbmsgZm94cHJvU3lzVmFyICAgU3RyaW5nCisgICAgSGlMaW5rIGZveHByb1N0cmluZyAgIFN0cmluZworICAgIEhpTGluayBmb3hwcm9Db25zdCAgICBDb25zdGFudAorICAgIEhpTGluayBmb3hwcm9OdW1iZXIgICBOdW1iZXIKKyAgICBIaUxpbmsgZm94cHJvRmxvYXQgICAgRmxvYXQKKyAgICBIaUxpbmsgZm94cHJvQ29tbWVudCAgQ29tbWVudAorICAgIEhpTGluayBmb3hwcm9QYXJlbkVyciBFcnJvcgorCisgICAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImZveHBybyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2ZzdGFiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZzdGFiLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzY1ZjMzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZnN0YWIudmltCkBAIC0wLDAgKzEsMjA4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJZnN0YWIgZmlsZQorIiBNYWludGFuZXI6CVJhZHUgRGluZWl1IDxsaXR0bGVkcmFnb25AYWx0ZXJuLm9yZz4KKyIgVVJMOgkJaHR0cDovL2xkLnlpLm9yZy92aW0vZnN0YWIudmltCisiIENoYW5nZUxvZzoJaHR0cDovL2xkLnlpLm9yZy92aW0vZnN0YWIuQ2hhbmdlTG9nCisiIExhc3QgQ2hhbmdlOgkyMDAzIEFwciAzMAorIiBWZXJzaW9uOgkwLjYxCisKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworIiBHZW5lcmFsCitzeW4gY2x1c3RlciBmc0dlbmVyYWxDbHVzdGVyIGNvbnRhaW5zPWZzQ29tbWVudAorc3luIG1hdGNoIGZzQ29tbWVudCAvXHMqIy4qLworc3luIG1hdGNoIGZzT3BlcmF0b3IgL1ssPV0vCisKKyIgRGV2aWNlCitzeW4gY2x1c3RlciBmc0RldmljZUNsdXN0ZXIgY29udGFpbnM9ZnNPcGVyYXRvcixmc0RldmljZUtleXdvcmQsZnNEZXZpY2VFcnJvcgorc3luIG1hdGNoIGZzRGV2aWNlRXJyb3IgL1wlKFteYS16QS1aMC05X1wvI0BdXHxeXHdcey19XHplXFdcKS8gY29udGFpbmVkCitzeW4ga2V5d29yZCBmc0RldmljZUtleXdvcmQgY29udGFpbmVkIG5vbmUgcHJvYyBsaW5wcm9jIHRtcGZzCitzeW4ga2V5d29yZCBmc0RldmljZUtleXdvcmQgY29udGFpbmVkIExBQkVMIG5leHRncm91cD1mc0RldmljZUxhYmVsCitzeW4gbWF0Y2ggZnNEZXZpY2VMYWJlbCBjb250YWluZWQgLz1bXiBcdF1cKy9ocz1zKzEgY29udGFpbnM9ZnNPcGVyYXRvcgorCisiIE1vdW50IFBvaW50CitzeW4gY2x1c3RlciBmc01vdW50UG9pbnRDbHVzdGVyIGNvbnRhaW5zPWZzTW91bnRQb2ludEtleXdvcmQsZnNNb3VudFBvaW50RXJyb3IKK3N5biBtYXRjaCBmc01vdW50UG9pbnRFcnJvciAvXCUoW14gXHRhLXpBLVowLTlfXC8jQF1cfFxzXCtcenNcd1x7LX1cemVcc1wpLyBjb250YWluZWQKK3N5biBrZXl3b3JkIGZzTW91bnRQb2ludEtleXdvcmQgY29udGFpbmVkIG5vbmUgc3dhcAorCisiIFR5cGUKK3N5biBjbHVzdGVyIGZzVHlwZUNsdXN0ZXIgY29udGFpbnM9ZnNUeXBlS2V5d29yZCxmc1R5cGVFcnJvcgorc3luIG1hdGNoIGZzVHlwZUVycm9yIC9cc1wrXHpzXHdcKy8gY29udGFpbmVkCitzeW4ga2V5d29yZCBmc1R5cGVLZXl3b3JkIGNvbnRhaW5lZCBhZGZzIGFmZnMgYXV0byBhdXRvZnMgY2Q5NjYwIGNvZGEgY3JhbWZzIGRldmZzIGRldnB0cyBlZnMgZXh0MiBleHQzIGZkZXNjIGhmcyBocGZzIGlzbzk2NjAga2VybmZzIGxpbnByb2NmcyBtZnMgbWluaXggbXNkb3MgbmNwZnMgbmZzIG50ZnMgbndmcyBudWxsIHBvcnRhbCBwcm9jIHByb2NmcyBxbng0IHJlaXNlcmZzIHJvbWZzIHNtYmZzIHN0ZCBzeXN2IHN3YXAgdG1wZnMgdWRmIHVmcyB1bWFwIHVtc2RvcyB1bmlvbiB2ZmF0IHhmcworCisiIE9wdGlvbnMKKyIgLS0tLS0tLQorIiBPcHRpb25zOiBHZW5lcmFsCitzeW4gY2x1c3RlciBmc09wdGlvbnNDbHVzdGVyIGNvbnRhaW5zPWZzT3BlcmF0b3IsZnNPcHRpb25zR2VuZXJhbCxmc09wdGlvbnNLZXl3b3Jkcyxmc1R5cGVFcnJvcgorc3luIG1hdGNoIGZzT3B0aW9uc051bWJlciAvXGRcKy8KK3N5biBtYXRjaCBmc09wdGlvbnNOdW1iZXJPY3RhbCAvWzAtOF1cKy8KK3N5biBtYXRjaCBmc09wdGlvbnNTdHJpbmcgL1thLXpBLVowLTlfLV1cKy8KK3N5biBrZXl3b3JkIGZzT3B0aW9uc1llc05vIHllcyBubworc3luIGNsdXN0ZXIgZnNPcHRpb25zQ2hlY2tDbHVzdGVyIGNvbnRhaW5zPWZzT3B0aW9uc0V4dDJDaGVjayxmc09wdGlvbnNGYXRDaGVjaworc3luIGtleXdvcmQgZnNPcHRpb25zU2l6ZSA1MTIgMTAyNCAyMDQ4CitzeW4ga2V5d29yZCBmc09wdGlvbnNHZW5lcmFsIGFzeW5jIGF0aW1lIGF1dG8gY3VycmVudCBkZWZhdWx0cyBkZXYgZXhlYyBmb3JjZSBmc3RhYiBub2F0aW1lIG5vYXV0byBub2NsdXN0ZXJyIG5vY2x1c3Rlcncgbm9kZXYgbm9leGVjIG5vc3VpZCBub3N5bWZvbGxvdyBub3VzZXIgb3duZXIgcm8gcmRvbmx5IHJ3IHJxIHN3IHh4IHN1aWQgc3VpZGRpciBzeW5jIGt1ZHp1IHVuaW9uIHVwZGF0ZSB1c2VyIHN1cGVybW91bnQKK3N5biBtYXRjaCBmc09wdGlvbnNHZW5lcmFsIC9fbmV0ZGV2LworCisiIE9wdGlvbnM6IGFkZnMKK3N5biBtYXRjaCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgL1wlKFt1Z11pZFx8b1wlKHduXHx0aFwpbWFza1wpPS8gbmV4dGdyb3VwPWZzT3B0aW9uc051bWJlcgorCisiIE9wdGlvbnM6IGFmZnMKK3N5biBtYXRjaCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgL1wlKHNldFt1Z11pZFx8bW9kZVx8cmVzZXJ2ZWRcKT0vIG5leHRncm91cD1mc09wdGlvbnNOdW1iZXIKK3N5biBtYXRjaCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgL1wlKHByZWZpeFx8dm9sdW1lXHxyb290XCk9LyBuZXh0Z3JvdXA9ZnNPcHRpb25zU3RyaW5nCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9icz0vIG5leHRncm91cD1mc09wdGlvbnNTaXplCitzeW4ga2V5d29yZCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgcHJvdGVjdCB1c2VtcCB2ZXJib3NlCisKKyIgT3B0aW9uczogY2Q5NjYwCitzeW4ga2V5d29yZCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgZXh0YXR0IGdlbnMgbm9ycmlwIG5vc3RyaWN0am9pbGV0CisKKyIgT3B0aW9uczogZGV2cHRzCisiIC0tIGV2ZXJ5dGhpbmcgYWxyZWFkeSBkZWZpbmVkCisKKyIgT3B0aW9uczogZXh0Mgorc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvY2hlY2s9Ki8gbmV4dGdyb3VwPUBmc09wdGlvbnNDaGVja0NsdXN0ZXIKK3N5biBtYXRjaCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgL2Vycm9ycz0vIG5leHRncm91cD1mc09wdGlvbnNFeHQyRXJyb3JzCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9cJShyZXNbZ3VdaWRcfHNiXCk9LyBuZXh0Z3JvdXA9ZnNPcHRpb25zTnVtYmVyCitzeW4ga2V5d29yZCBmc09wdGlvbnNFeHQyQ2hlY2sgY29udGFpbmVkIG5vbmUgbm9ybWFsIHN0cmljdAorc3luIGtleXdvcmQgZnNPcHRpb25zRXh0MkVycm9ycyBjb250YWluZWQgY29udGludWUgcGFuaWMKK3N5biBtYXRjaCBmc09wdGlvbnNFeHQyRXJyb3JzIGNvbnRhaW5lZCAvcmVtb3VudC1yby8KK3N5biBrZXl3b3JkIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCBic2RkZiBtaW5peGRmIGRlYnVnIGdycGlkIGJzZGdyb3VwcyBub2NoZWNrIG5vZ3JwaWQgc3lzdmdyb3VwcyBub3VpZDMyCisKKyIgT3B0aW9uczogZXh0Mworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvam91cm5hbD0vIG5leHRncm91cD1mc09wdGlvbnNFeHQzSm91cm5hbAorc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvZGF0YT0vIG5leHRncm91cD1mc09wdGlvbnNFeHQzRGF0YQorc3luIGtleXdvcmQgZnNPcHRpb25zRXh0M0pvdXJuYWwgY29udGFpbmVkIHVwZGF0ZSBpbnVtCitzeW4ga2V5d29yZCBmc09wdGlvbnNFeHQzRGF0YSBjb250YWluZWQgam91cm5hbCBvcmRlcmVkIHdyaXRlYmFjaworc3luIGtleXdvcmQgZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIG5vbG9hZAorCisiIE9wdGlvbnM6IGZhdAorc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvYmxvY2tzaXplPS8gbmV4dGdyb3VwPWZzT3B0aW9uc1NpemUKK3N5biBtYXRjaCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgL1wlKFtkZnVdbWFza1x8Y29kZXBhZ2VcKT0vIG5leHRncm91cD1mc09wdGlvbnNOdW1iZXJPY3RhbAorc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvXCUoY3ZmX1wlKGZvcm1hdFx8b3B0aW9uXClcfGlvY2hhcnNldFwpPS8gbmV4dGdyb3VwPWZzT3B0aW9uc1N0cmluZworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvY2hlY2s9LyBuZXh0Z3JvdXA9QGZzT3B0aW9uc0NoZWNrQ2x1c3Rlcgorc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvY29udj0qLyBuZXh0Z3JvdXA9ZnNPcHRpb25zQ29udgorc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvZmF0PS8gbmV4dGdyb3VwPWZzT3B0aW9uc0ZhdFR5cGUKK3N5biBtYXRjaCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgL2RvdHNPSz0vIG5leHRncm91cD1mc09wdGlvbnNZZXNObworc3luIGtleXdvcmQgZnNPcHRpb25zRmF0Q2hlY2sgY29udGFpbmVkIHIgbiBzIHJlbGF4ZWQgbm9ybWFsIHN0cmljdAorc3luIGtleXdvcmQgZnNPcHRpb25zQ29udiBjb250YWluZWQgYiB0IGEgYmluYXJ5IHRleHQgYXV0bworc3luIGtleXdvcmQgZnNPcHRpb25zRmF0VHlwZSBjb250YWluZWQgMTIgMTYgMzIKK3N5biBrZXl3b3JkIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCBxdWlldCBzeXNfaW1tdXRhYmxlIHNob3dleGVjIGRvdHMgbm9kb3RzCisKKyIgT3B0aW9uczogaHBmcworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvY2FzZT0vIG5leHRncm91cD1mc09wdGlvbnNIcGZzQ2FzZQorc3luIGtleXdvcmQgZnNPcHRpb25zSHBmc0Nhc2UgY29udGFpbmVkIGxvd2VyIGFzaXMKKworIiBPcHRpb25zOiBpc285NjYwCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9tYXA9LyBuZXh0Z3JvdXA9ZnNPcHRpb25zSXNvTWFwCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9ibG9jaz0vIG5leHRncm91cD1mc09wdGlvbnNTaXplCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9cJShzZXNzaW9uXHxzYnNlY3RvclwpPS8gbmV4dGdyb3VwPWZzT3B0aW9uc051bWJlcgorc3luIGtleXdvcmQgZnNPcHRpb25zSXNvTWFwIGNvbnRhaW5lZCBuIG8gYSBub3JtYWwgb2ZmIGFjb3JuCitzeW4ga2V5d29yZCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgbm9yb2NrIG5vam9pbGV0IHVuaGlkZSBjcnVmdAorc3luIGtleXdvcmQgZnNPcHRpb25zQ29udiBjb250YWluZWQgbSBtdGV4dAorCisiIE9wdGlvbnM6IG5mcworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvXCUocnNpemVcfHdzaXplXHx0aW1lb1x8cmV0cmFuc1x8YWNyZWdtaW5cfGFjcmVnbWF4XHxhY2Rpcm1pblx8YWNkaXJtYXhcfGFjdGltZW9cfHJldHJ5XHxwb3J0XHxtb3VudHBvcnRcfG1vdW50aG9zdFx8bW91bnRwcm9nXHxtb3VudHZlcnNcfG5mc3Byb2dcfG5mc3ZlcnNcfG5hbWVsZW5cKT0vIG5leHRncm91cD1mc09wdGlvbnNTdHJpbmcKK3N5biBrZXl3b3JkIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCBiZyBmZyBzb2Z0IGhhcmQgaW50ciBjdG8gYWMgdGNwIHVkcCBsb2NrIG5vYmcgbm9mZyBub3NvZnQgbm9oYXJkIG5vaW50ciBub3Bvc2l4IG5vY3RvIG5vYWMgbm90Y3Agbm91ZHAgbm9sb2NrCisKKyIgT3B0aW9uczogbnRmcworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvXCUocG9zaXg9Klx8dW5pX3hsYXRlPVwpLyBuZXh0Z3JvdXA9ZnNPcHRpb25zTnVtYmVyCitzeW4ga2V5d29yZCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgdXRmOAorCisiIE9wdGlvbnM6IHByb2MKKyIgLS0gZXZlcnl0aGluZyBhbHJlYWR5IGRlZmluZWQKKworIiBPcHRpb25zOiByZWlzZXJmcworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvaGFzaD0vIG5leHRncm91cD1mc09wdGlvbnNSZWlzZXJIYXNoCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9yZXNpemU9LyBuZXh0Z3JvdXA9ZnNPcHRpb25zTnVtYmVyCitzeW4ga2V5d29yZCBmc09wdGlvbnNSZWlzZXJIYXNoIGNvbnRhaW5lZCBydXBhc292IHRlYSByNSBkZXRlY3QKK3N5biBrZXl3b3JkIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCBoYXNoZWRfcmVsb2NhdGlvbiBub2JvcmRlciBub2xvZyBub3RhaWwgbm9fdW5oYXNoZWRfcmVsb2NhdGlvbiByZXBsYXlvbmx5CisKKyIgT3B0aW9uczogdWRmCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9cJShhbmNob3JcfHBhcnRpdGlvblx8bGFzdGJsb2NrXHxmaWxlc2V0XHxyb290ZGlyXCk9LyBuZXh0Z3JvdXA9ZnNPcHRpb25zU3RyaW5nCitzeW4ga2V5d29yZCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgdW5oaWRlIHVuZGVsZXRlIHN0cmljdCBub3ZycworCisiIE9wdGlvbnM6IHVmcworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvdWZzdHlwZT0vIG5leHRncm91cD1mc09wdGlvbnNVZnNUeXBlCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9vbmVycm9yPS8gbmV4dGdyb3VwPWZzT3B0aW9uc1Vmc0Vycm9yCitzeW4ga2V5d29yZCBmc09wdGlvbnNVZnNUeXBlIGNvbnRhaW5lZCBvbGQgNDRic2Qgc3VuIHN1bng4NiBuZXh0c3RlcCBvcGVuc3RlcAorc3luIG1hdGNoIGZzT3B0aW9uc1Vmc1R5cGUgY29udGFpbmVkIC9uZXh0c3RlcC1jZC8KK3N5biBrZXl3b3JkIGZzT3B0aW9uc1Vmc0Vycm9yIGNvbnRhaW5lZCBwYW5pYyBsb2NrIHVtb3VudCByZXBhaXIKKworIiBPcHRpb25zOiB2ZmF0CitzeW4ga2V5d29yZCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgbm9udW10YWlsIHBvc2l4IHV0ZjgKK3N5biBtYXRjaCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgL3Nob3J0bmFtZT0vIG5leHRncm91cD1mc09wdGlvbnNWZmF0U2hvcnRuYW1lCitzeW4ga2V5d29yZCBmc09wdGlvbnNWZmF0U2hvcnRuYW1lIGNvbnRhaW5lZCBsb3dlciB3aW45NSB3aW5udCBtaXhlZAorCisiIE9wdGlvbnM6IHhmcworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvXCUoYmlvc2l6ZVx8bG9nYnVmc1x8bG9nYnNpemVcfGxvZ2Rldlx8cnRkZXZcfHN1bml0XHxzd2lkdGhcKT0vIG5leHRncm91cD1mc09wdGlvbnNTdHJpbmcKK3N5biBrZXl3b3JkIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCBkbWFwaSB4ZHNtIG5vYWxpZ24gbm9hdGltZSBub3JlY292ZXJ5IG9zeW5jaXNkc3luYyBxdW90YSB1c3JxdW90YSB1cXVvZW5mb3JjZSBncnBxdW90YSBncXVvZW5mb3JjZQorCisiIEZyZXF1ZW5jeSAvIFBhc3MgTm8uCitzeW4gY2x1c3RlciBmc0ZyZXFQYXNzQ2x1c3RlciBjb250YWlucz1mc0ZyZXFQYXNzTnVtYmVyLGZzRnJlcVBhc3NFcnJvcgorc3luIG1hdGNoIGZzRnJlcVBhc3NFcnJvciAvXHNcK1x6c1wlKFxELipcfFxTLipcfFxkXCtcc1wrW14wMTJdXClcemUvIGNvbnRhaW5lZAorc3luIG1hdGNoIGZzRnJlcVBhc3NOdW1iZXIgL1xkXCtcc1wrWzAxMl1ccyovIGNvbnRhaW5lZAorCisiIEdyb3Vwcworc3luIG1hdGNoIGZzRGV2aWNlIC9eXHMqXHpzLlx7LTEsfVxzL21lPWUtMSBuZXh0Z3JvdXA9ZnNNb3VudFBvaW50IGNvbnRhaW5zPUBmc0RldmljZUNsdXN0ZXIsQGZzR2VuZXJhbENsdXN0ZXIKK3N5biBtYXRjaCBmc01vdW50UG9pbnQgL1xzXCsuXHstfVxzL21lPWUtMSBuZXh0Z3JvdXA9ZnNUeXBlIGNvbnRhaW5zPUBmc01vdW50UG9pbnRDbHVzdGVyLEBmc0dlbmVyYWxDbHVzdGVyIGNvbnRhaW5lZAorc3luIG1hdGNoIGZzVHlwZSAvXHNcKy5cey19XHMvbWU9ZS0xIG5leHRncm91cD1mc09wdGlvbnMgY29udGFpbnM9QGZzVHlwZUNsdXN0ZXIsQGZzR2VuZXJhbENsdXN0ZXIgY29udGFpbmVkCitzeW4gbWF0Y2ggZnNPcHRpb25zIC9cc1wrLlx7LX1ccy9tZT1lLTEgbmV4dGdyb3VwPWZzRnJlcVBhc3MgY29udGFpbnM9QGZzT3B0aW9uc0NsdXN0ZXIsQGZzR2VuZXJhbENsdXN0ZXIgY29udGFpbmVkCitzeW4gbWF0Y2ggZnNGcmVxUGFzcyAvXHNcKy5cey19JC8gY29udGFpbnM9QGZzRnJlcVBhc3NDbHVzdGVyLEBmc0dlbmVyYWxDbHVzdGVyIGNvbnRhaW5lZAorCisiIFdob2xlIGxpbmUgY29tbWVudHMKK3N5biBtYXRjaCBmc0NvbW1lbnRMaW5lIC9eIy4qJC8KKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NvbmZpZ19zeW50YXhfaW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9jb25maWdfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kISAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQhIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKwllbmRpZgorCisJSGlMaW5rIGZzT3BlcmF0b3IgT3BlcmF0b3IKKwlIaUxpbmsgZnNDb21tZW50IENvbW1lbnQKKwlIaUxpbmsgZnNDb21tZW50TGluZSBDb21tZW50CisKKwlIaUxpbmsgZnNUeXBlS2V5d29yZCBUeXBlCisJSGlMaW5rIGZzRGV2aWNlS2V5d29yZCBJZGVudGlmaWVyCisJSGlMaW5rIGZzRGV2aWNlTGFiZWwgU3RyaW5nCisJSGlMaW5rIGZzRnJlcVBhc3NOdW1iZXIgTnVtYmVyCisKKwlIaUxpbmsgZnNUeXBlRXJyb3IgRXJyb3IKKwlIaUxpbmsgZnNEZXZpY2VFcnJvciBFcnJvcgorCUhpTGluayBmc01vdW50UG9pbnRFcnJvciBFcnJvcgorCUhpTGluayBmc01vdW50UG9pbnRLZXl3b3JkIEtleXdvcmQKKwlIaUxpbmsgZnNGcmVxUGFzc0Vycm9yIEVycm9yCisKKwlIaUxpbmsgZnNPcHRpb25zR2VuZXJhbCBUeXBlCisJSGlMaW5rIGZzT3B0aW9uc0tleXdvcmRzIEtleXdvcmQKKwlIaUxpbmsgZnNPcHRpb25zTnVtYmVyIE51bWJlcgorCUhpTGluayBmc09wdGlvbnNOdW1iZXJPY3RhbCBOdW1iZXIKKwlIaUxpbmsgZnNPcHRpb25zU3RyaW5nIFN0cmluZworCUhpTGluayBmc09wdGlvbnNTaXplIE51bWJlcgorCUhpTGluayBmc09wdGlvbnNFeHQyQ2hlY2sgU3RyaW5nCisJSGlMaW5rIGZzT3B0aW9uc0V4dDJFcnJvcnMgU3RyaW5nCisJSGlMaW5rIGZzT3B0aW9uc0V4dDNKb3VybmFsIFN0cmluZworCUhpTGluayBmc09wdGlvbnNFeHQzRGF0YSBTdHJpbmcKKwlIaUxpbmsgZnNPcHRpb25zRmF0Q2hlY2sgU3RyaW5nCisJSGlMaW5rIGZzT3B0aW9uc0NvbnYgU3RyaW5nCisJSGlMaW5rIGZzT3B0aW9uc0ZhdFR5cGUgTnVtYmVyCisJSGlMaW5rIGZzT3B0aW9uc1llc05vIFN0cmluZworCUhpTGluayBmc09wdGlvbnNIcGZzQ2FzZSBTdHJpbmcKKwlIaUxpbmsgZnNPcHRpb25zSXNvTWFwIFN0cmluZworCUhpTGluayBmc09wdGlvbnNSZWlzZXJIYXNoIFN0cmluZworCUhpTGluayBmc09wdGlvbnNVZnNUeXBlIFN0cmluZworCUhpTGluayBmc09wdGlvbnNVZnNFcnJvciBTdHJpbmcKKworCUhpTGluayBmc09wdGlvbnNWZmF0U2hvcnRuYW1lIFN0cmluZworCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImZzdGFiIgorCisiIHZpbTogdHM9OCBmdD12aW0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2Z2d20udmltIGIvcnVudGltZS9zeW50YXgvZnZ3bS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmYxYjc4MwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2Z2d20udmltCkBAIC0wLDAgKzEsMzQ5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJRnZ3bXsxLDJ9IGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOglIYWFrb24gUmlpc2VyIDxoYWtvbnJrQGZ5cy51aW8ubm8+CisiIExhc3QgQ2hhbmdlOgkyMDAyIEp1biAyCisiCisiIFRoYW5rcyB0byBEYXZpZCBOZWNhcyAoWWV0aSkgZm9yIGFkZGluZyBGdndtIDIuNCBzdXBwb3J0LgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICAgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICAgZmluaXNoCitlbmRpZgorCisiIEZ2d20gY29uZmlndXJhdGlvbiBmaWxlcyBhcmUgY2FzZSBpbnNlbnNpdGl2ZQorc3luIGNhc2UgaWdub3JlCisKKyIgSWRlbnRpZmllcnMgaW4gRnZ3bSBjYW4gY29udGFpbiBtb3N0IGNoYXJhY3RlcnMsIHNvIHdlIG9ubHkKKyIgaW5jbHVkZSB0aGUgbW9zdCBjb21tb24gb25lcyBoZXJlLgoraWYgdmVyc2lvbiA+PSA2MDAKKyAgICBzZXRsb2NhbCBpc2tleXdvcmQ9XywtLCssLixhLXosQS1aLDQ4LTU3CitlbHNlCisgICAgc2V0IGlza2V5d29yZD1fLC0sKywuLGEteixBLVosNDgtNTcKK2VuZGlmCisKKyIgUmVhZCBzeXN0ZW0gY29sb3JzIGZyb20gdGhlIGNvbG9yIGRhdGFiYXNlIChyZ2IudHh0KQoraWYgZXhpc3RzKCJyZ2JfZmlsZSIpCisgICAgIiBXZSBkb24ndCB3YW50IGFueSBoaXQtcmV0dXJuIHByb21wdHMsIHNvIHdlIG1ha2Ugc3VyZSB0aGF0CisgICAgIiAmc2hvcnRtZXNzIGlzIHNldCB0byBgTycKKyAgICBsZXQgX19mdndtX29sZHNobSA9ICZzaG9ydG1lc3MKKyAgICBzZXQgc2hvcnRtZXNzPU8KKworICAgICIgQW5kIHdlIHNldCAmcmVwb3J0IHRvIGEgaHVnZSBudW1iZXIsIHNvIHRoYXQgbm8gaGl0LXJldHVybiBwcm9tcHRzCisgICAgIiB3aWxsIGJlIGdpdmVuCisgICAgbGV0IF9fZnZ3bV9vbGRyZXBvcnQgPSAmcmVwb3J0CisgICAgc2V0IHJlcG9ydD0xMDAwMAorCisgICAgIiBBcHBlbmQgdGhlIGNvbG9yIGRhdGFiYXNlIHRvIHRoZSBmdndtIGNvbmZpZ3VyYXRpb24sIGFuZCByZWFkIHRoZQorICAgICIgY29sb3JzIGZyb20gdGhpcyBidWZmZXIKKyAgICBsZXQgX19mdndtX2kgPSBsaW5lKCIkIikgKyAxCisgICAgZXhlICIkciIgcmdiX2ZpbGUKKyAgICBsZXQgX19mdndtX2xhc3RsaW5lID0gbGluZSgiJCIpCisgICAgd2hpbGUgX19mdndtX2kgPD0gX19mdndtX2xhc3RsaW5lCisJbGV0IF9fZnZ3bV9zID0gbWF0Y2hzdHIoZ2V0bGluZShfX2Z2d21faSksICdeXHMqXGRcK1xzXCtcZFwrXHNcK1xkXCtcc1wrXGguKiQnKQorCWlmIF9fZnZ3bV9zICE9ICIiCisJICAgIGV4ZSAic3luIGtleXdvcmQgZnZ3bUNvbG9ycyAiLnN1YnN0aXR1dGUoX19mdndtX3MsICdeXHMqXGRcK1xzXCtcZFwrXHNcK1xkXCtcc1wrXChcaC4qXCkkJywgJ1wxJywgIiIpCisJZW5kaWYKKwlsZXQgX19mdndtX2kgPSBfX2Z2d21faSArIDEKKyAgICBlbmR3aGlsZQorCisgICAgIiBSZW1vdmUgdGhlIGFwcGVuZGVkIGRhdGEKKyAgICB1bmRvCisKKyAgICAiIEdvdG8gZmlyc3QgbGluZSBhZ2FpbgorICAgIDEKKworICAgICIgYW5kIHJlc3RvcmUgdGhlIG9sZCB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlcworICAgIGxldCAmc2hvcnRtZXNzID0gX19mdndtX29sZHNobQorICAgIGxldCAmcmVwb3J0ID0gX19mdndtX29sZHJlcG9ydAorICAgIHVubGV0IF9fZnZ3bV9pIF9fZnZ3bV9zIF9fZnZ3bV9sYXN0bGluZSBfX2Z2d21fb2xkc2htIF9fZnZ3bV9vbGRyZXBvcnQKK2VuZGlmCisiIGRvbmUgcmVhZGluZyBjb2xvcnMKKworc3luIG1hdGNoICAgZnZ3bVdoaXRlc3BhY2UJIlxzXCsiIGNvbnRhaW5lZAorc3luIG1hdGNoICAgZnZ3bUVudlZhcgkJIlwkXHdcKyIKK3N5biBtYXRjaCAgIGZ2d21Nb2RDb25mCQkiXlxzKlwqXGFcKyIgY29udGFpbnM9ZnZ3bVdoaXRlc3BhY2UKK3N5biBtYXRjaCAgIGZ2d21TdHJpbmcJCSciLlx7LX0iJworc3luIG1hdGNoICAgZnZ3bVJHQlZhbHVlCSIjXHhcezN9Igorc3luIG1hdGNoICAgZnZ3bVJHQlZhbHVlCSIjXHhcezZ9Igorc3luIG1hdGNoICAgZnZ3bVJHQlZhbHVlCSIjXHhcezl9Igorc3luIG1hdGNoICAgZnZ3bVJHQlZhbHVlCSIjXHhcezEyfSIKK3N5biBtYXRjaCAgIGZ2d21SR0JWYWx1ZQkicmdiOlx4XHsxLDR9L1x4XHsxLDR9L1x4XHsxLDR9Igorc3luIG1hdGNoICAgZnZ3bVBhdGgJCSJcPEljb25QYXRoXHMuKiQibGM9OCBjb250YWlucz1mdndtRW52VmFyCitzeW4gbWF0Y2ggICBmdndtUGF0aAkJIlw8TW9kdWxlUGF0aFxzLiokImxjPTEwIGNvbnRhaW5zPWZ2d21FbnZWYXIKK3N5biBtYXRjaCAgIGZ2d21QYXRoCQkiXDxQaXhtYXBQYXRoXHMuKiQibGM9MTAgY29udGFpbnM9ZnZ3bUVudlZhcgorc3luIG1hdGNoICAgZnZ3bU1vZHVsZQkJIlw8TW9kdWxlXHNcK1x3XCsiaGU9cys2CitzeW4gbWF0Y2ggICBmdndtS2V5CQkiXDxLZXlcc1wrXHdcKyJoZT1zKzMKK3N5biBrZXl3b3JkIGZ2d21FeGVjCQlFeGVjCitzeW4gbWF0Y2ggICBmdndtQ29tbWVudAkJIl4jLiokIgorCitpZiAoZXhpc3RzKCJiOmZ2d21fdmVyc2lvbiIpICYmIGI6ZnZ3bV92ZXJzaW9uID09IDEpIHx8IChleGlzdHMoInVzZV9mdndtXzEiKSAmJiB1c2VfZnZ3bV8xKQorICAgIHN5biBtYXRjaCAgZnZ3bUVudlZhcgkiXCQoXHdcKykiCisgICAgc3luIHJlZ2lvbiBmdndtU3R5bGUJbWF0Y2hncm91cD1mdndtRnVuY3Rpb24gc3RhcnQ9Il5ccypTdHlsZVw+ImhzPWUtNSBlbmQ9IiQiIG9uZWxpbmUga2VlcGVuZCBjb250YWlucz1mdndtU3RyaW5nLGZ2d21LZXl3b3JkLGZ2d21XaGl0ZVNwYWNlCisKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JQXBwc0JhY2tpbmdTdG9yZSBBdXRvUmFpc2UgQmFja2luZ1N0b3JlCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUJlZXAgQm91bmRhcnlXaWR0aCBCdXR0b25TdHlsZQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglDZW50ZXJPbkNpcmN1bGF0ZSBDaXJjdWxhdGVEb3duCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUNpcmN1bGF0ZUhpdCBDaXJjdWxhdGVTa2lwCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUNpcmN1bGF0ZVNraXBJY29ucyBDaXJjdWxhdGVVcAorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglDbGlja1RpbWUgQ2xpY2tUb0ZvY3VzIENsb3NlIEN1cnNvcgorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglDdXJzb3JNb3ZlIERlY29yYXRlVHJhbnNpZW50cyBEZWxldGUKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JRGVzayBEZXNrVG9wU2NhbGUgRGVza1RvcFNpemUgRGVzdHJveQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglEb250TW92ZU9mZiBFZGdlUmVzaXN0YW5jZSBFZGdlU2Nyb2xsCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUVuZEZ1bmN0aW9uIEVuZE1lbnUgRW5kUG9wdXAgRm9jdXMKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JRm9udCBGdW5jdGlvbiBHb3RvUGFnZSBIaUJhY2tDb2xvcgorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglIaUZvcmVDb2xvciBJY29uIEljb25Cb3ggSWNvbkZvbnQKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JSWNvbmlmeSBJY29uUGF0aCBLZXkgTGVuaWVuY2UgTG93ZXIKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JTWF4aW1pemUgTWVudUJhY2tDb2xvciBNZW51Rm9yZUNvbG9yCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCU1lbnVTdGlwcGxlQ29sb3IgTW9kdWxlIE1vZHVsZVBhdGggTW91c2UKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JTW92ZSBNV01Cb3JkZXJzIE1XTUJ1dHRvbnMgTVdNRGVjb3JIaW50cworICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglNV01GdW5jdGlvbkhpbnRzIE1XTUhpbnRPdmVycmlkZSBNV01NZW51cworICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglOb0JvcmRlciBOb0JvdW5kYXJ5V2lkdGggTm9wIE5vUFBvc2l0aW9uCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCU5vVGl0bGUgT3BhcXVlTW92ZSBPcGFxdWVSZXNpemUgUGFnZXIKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JUGFnZXJCYWNrQ29sb3IgUGFnZXJGb250IFBhZ2VyRm9yZUNvbG9yCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCVBhZ2luZ0RlZmF1bHQgUGl4bWFwUGF0aCBQb3B1cCBRdWl0IFJhaXNlCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCVJhaXNlTG93ZXIgUmFuZG9tUGxhY2VtZW50IFJlZnJlc2ggUmVzaXplCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCVJlc3RhcnQgU2F2ZVVuZGVycyBTY3JvbGwgU2xvcHB5Rm9jdXMKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JU21hcnRQbGFjZW1lbnQgU3RhcnRzT25EZXNrIFN0YXlzT25Ub3AKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JU3RkQmFja0NvbG9yIFN0ZEZvcmVDb2xvciBTdGljayBTdGlja3kKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JU3RpY2t5QmFja0NvbG9yIFN0aWNreUZvcmVDb2xvcgorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglTdGlja3lJY29ucyBTdHViYm9ybkljb25QbGFjZW1lbnQKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JU3R1YmJvcm5JY29ucyBTdHViYm9yblBsYWNlbWVudAorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglTdXBwcmVzc0ljb25zIFRpdGxlIFRvZ2dsZVBhZ2UgV2FpdCBXYXJwCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCVdpbmRvd0ZvbnQgV2luZG93TGlzdCBXaW5kb3dMaXN0U2tpcAorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglXaW5kb3dzRGVzayBXaW5kb3dTaGFkZSBYT1J2YWx1ZQorCisgICAgIiBUaGVzZSBrZXl3b3JkcyBhcmUgb25seSB1c2VkIGFmdGVyIHRoZSAiU3R5bGUiIGNvbW1hbmQuICBUbyBhdm9pZAorICAgICIgbmFtZSBjb2xsaXNpb24gd2l0aCBzZXZlcmFsIGNvbW1hbmRzLCB0aGV5IGFyZSBjb250YWluZWQuCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQmFja0NvbG9yIEJvcmRlcldpZHRoIEJvdW5kYXJ5V2lkdGggY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQnV0dG9uIENpcmN1bGF0ZUhpdCBDaXJjdWxhdGVTa2lwIENvbG9yIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCURvdWJsZUNsaWNrIEZvcmVDb2xvciBIYW5kbGVzIEhhbmRsZVdpZHRoIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUljb24gSWNvblRpdGxlIE5vQm9yZGVyIE5vQm91bmRhcnlXaWR0aCBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlOb0J1dHRvbiBOb0hhbmRsZXMgTm9JY29uIE5vSWNvblRpdGxlIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU5vVGl0bGUgU2xpcHBlcnkgU3RhcnRJY29uaWMgU3RhcnROb3JtYWwgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJU3RhcnRzQW55V2hlcmUgU3RhcnRzT25EZXNrIFN0YXlzT25Ub3AgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJU3RheXNQdXQgU3RpY2t5IFRpdGxlIFdpbmRvd0xpc3RIaXQgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJV2luZG93TGlzdFNraXAgY29udGFpbmVkCitlbHNlaWYgKGV4aXN0cygiYjpmdndtX3ZlcnNpb24iKSAmJiBiOmZ2d21fdmVyc2lvbiA9PSAyKSB8fCAoZXhpc3RzKCJ1c2VfZnZ3bV8yIikgJiYgdXNlX2Z2d21fMikKKyAgICBzeW4gbWF0Y2ggICBmdndtRW52VmFyCSJcJHtcd1wrfSIKKyAgICBzeW4gbWF0Y2ggICBmdndtRW52VmFyCSJcJFxbW15dXVwrXF0iCisgICAgc3luIG1hdGNoICAgZnZ3bUVudlZhcgkiXCRbJDAtOSpdIgorICAgIHN5biBtYXRjaCAgIGZ2d21EZWYJCSdeXHMqK1xzKiIuXHstfSInIGNvbnRhaW5zPWZ2d21NZW51U3RyaW5nLGZ2d21XaGl0ZXNwYWNlCisgICAgc3luIG1hdGNoICAgZnZ3bUljb24JJyUuXHstfSUnIGNvbnRhaW5lZAorICAgIHN5biBtYXRjaCAgIGZ2d21JY29uCSdcKi5cey19XConIGNvbnRhaW5lZAorICAgIHN5biBtYXRjaCAgIGZ2d21NZW51U3RyaW5nCSciLlx7LX0iJyBjb250YWlucz1mdndtSWNvbixmdndtU2hvcnRjdXRLZXkgY29udGFpbmVkCisgICAgc3luIG1hdGNoICAgZnZ3bVNob3J0Y3V0S2V5CSImLiIgY29udGFpbmVkCisgICAgc3luIG1hdGNoICAgZnZ3bU1vZHVsZQkiXDxLaWxsTW9kdWxlXHNcK1x3XCsiaGU9cysxMCBjb250YWlucz1mdndtTW9kdWxlTmFtZQorICAgIHN5biBtYXRjaCAgIGZ2d21Nb2R1bGUJIlw8U2VuZFRvTW9kdWxlXHNcK1x3XCsiaGU9cysxMiBjb250YWlucz1mdndtTW9kdWxlTmFtZQorICAgIHN5biBtYXRjaCAgIGZ2d21Nb2R1bGUJIlw8RGVzdHJveU1vZHVsZUNvbmZpZ1xzXCtcd1wrImhlPXMrMTkgY29udGFpbnM9ZnZ3bU1vZHVsZU5hbWUKKworICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglBZGRCdXR0b25TdHlsZSBBZGRUaXRsZVN0eWxlIEFkZFRvRGVjb3IgQWRkVG9GdW5jCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUFkZFRvTWVudSBBbmltYXRlZE1vdmUgQmVlcCBCb3JkZXJTdHlsZSBCdWdPcHRzCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUJ1c3lDdXJzb3IgQnV0dG9uU3RhdGUgQnV0dG9uU3R5bGUgQ2hhbmdlRGVjb3IKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JQ2hhbmdlTWVudVN0eWxlIENsaWNrVGltZSBDbG9zZSBDb2xvckxpbWl0CisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUNvbG9ybWFwRm9jdXMgQ29weU1lbnVTdHlsZSBDdXJyZW50IEN1cnNvck1vdmUKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JQ3Vyc29yU3R5bGUgRGVmYXVsdENvbG9ycyBEZWZhdWx0Q29sb3JzZXQKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JRGVmYXVsdEZvbnQgRGVmYXVsdEljb24gRGVmYXVsdExheWVycyBEZWxldGUgRGVzaworICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglEZXNrVG9wU2l6ZSBEZXN0cm95IERlc3Ryb3lEZWNvciBEZXN0cm95RnVuYworICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglEZXN0cm95TWVudSBEZXN0cm95TWVudVN0eWxlIERpcmVjdGlvbiBFY2hvCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUVkZ2VSZXNpc3RhbmNlIEVkZ2VTY3JvbGwgRWRnZVRoaWNrbmVzcyBFbXVsYXRlCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUVzY2FwZUZ1bmMgRXhlYyBFeGVjVXNlU2hlbGwgRXhpdEZ1bmN0aW9uCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCUZha2VDbGljayBGbGlwRm9jdXMgRm9jdXMgRnVuY3Rpb24gR2xvYmFsT3B0cworICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglHbm9tZUJ1dHRvbiBHb3RvRGVzayBHb3RvRGVza0FuZFBhZ2UgR290b1BhZ2UKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JSGlkZUdlb21ldHJ5V2luZG93IEhpbGlnaHRDb2xvciBIaWxpZ2h0Q29sb3JzZXQKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JSWNvbkZvbnQgSWNvblBhdGggSWNvbmlmeSBJZ25vcmVNb2RpZmllcnMKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JSW1hZ2VQYXRoIEtleSBMYXllciBMb3dlciBNYXhpbWl6ZSBNZW51IE1lbnVTdHlsZQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglNb2R1bGVQYXRoIE1vZHVsZVN5bmNocm9ub3VzIE1vZHVsZVRpbWVvdXQKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JTW91c2UgTW92ZSBNb3ZlVGhyZXNob2xkIE1vdmVUb0Rlc2sgTW92ZVRvUGFnZQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglNb3ZlVG9TY3JlZW4gTmV4dCBOb25lIE5vcCBPcGFxdWVNb3ZlU2l6ZQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglQaXBlUmVhZCBQaXhtYXBQYXRoIFBsYWNlQWdhaW4gUG9pbnRlcktleQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglQb3B1cCBQcmV2IFF1aXQgUXVpdFNjcmVlbiBRdWl0U2Vzc2lvbiBSYWlzZQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglSYWlzZUxvd2VyIFJlYWQgUmVjYXB0dXJlIFJlY2FwdHVyZVdpbmRvdworICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglSZWZyZXNoIFJlZnJlc2hXaW5kb3cgUmVzaXplIFJlc2l6ZU1vdmUKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JUmVzdGFydCBTYXZlUXVpdFNlc3Npb24gU2F2ZVNlc3Npb24gU2Nyb2xsCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCVNldEFuaW1hdGlvbiBTZXRFbnYgU2V0TWVudURlbGF5IFNldE1lbnVTdHlsZQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglTaWxlbnQgU25hcEF0dHJhY3Rpb24gU25hcEdyaWQgU3RpY2sgU3Ryb2tlCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCVN0cm9rZUZ1bmMgU3R5bGUgVGl0bGUgVGl0bGVTdHlsZSBVbnNldEVudgorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglVcGRhdGVEZWNvciBVcGRhdGVTdHlsZXMgV2FpdCBXYXJwVG9XaW5kb3cKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb24JV2luZG93Rm9udCBXaW5kb3dJZCBXaW5kb3dMaXN0IFdpbmRvd1NoYWRlCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCVdpbmRvd1NoYWRlQW5pbWF0ZSBXaW5kb3dzRGVzayBYaW5lcmFtYQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbglYaW5lcmFtYVByaW1hcnlTY3JlZW4gWGluZXJhbWFTbHMgWGluZXJhbWFTbHNTaXplCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uCVhvclBpeG1hcCBYb3JWYWx1ZQorCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQWN0aXZlIEFjdGl2ZUNvbG9yc2V0IEFjdGl2ZURvd24KKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlBY3RpdmVGb3JlIEFjdGl2ZUZvcmVPZmYgQWN0aXZlUGxhY2VtZW50CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQWN0aXZlUGxhY2VtZW50SG9ub3JzU3RhcnRzT25QYWdlCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQWN0aXZlUGxhY2VtZW50SWdub3Jlc1N0YXJ0c09uUGFnZSBBY3RpdmVVcCBBbGwKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlBbGxvd1Jlc3RhY2sgQWxwaGFiZXRpYyBBbmltIEFuaW1hdGVkIEFuaW1hdGlvbgorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUFuaW1hdGlvbk9mZiBBdXRvbWF0aWNIb3RrZXlzIEF1dG9tYXRpY0hvdGtleXNPZmYKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlCR3JhZGllbnQgQmFja0NvbG9yIEJhY2tncm91bmQgQmFja2luZ1N0b3JlCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQmFja2luZ1N0b3JlT2ZmIEJvcmRlckNvbG9yc2V0IEJvcmRlcldpZHRoCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQm90dG9tIEJ1dHRvbiBCdXR0b24wIEJ1dHRvbjEgQnV0dG9uMiBCdXR0b24zCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQnV0dG9uNCBCdXR0b241IEJ1dHRvbjYgQnV0dG9uNyBCdXR0b244CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQnV0dG9uOSBDR3JhZGllbnQgQ2FwdHVyZUhvbm9yc1N0YXJ0c09uUGFnZQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUNhcHR1cmVJZ25vcmVzU3RhcnRzT25QYWdlIENhc2NhZGVQbGFjZW1lbnQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlDZW50ZXJlZCBDaXJjdWxhdGVIaXQgQ2lyY3VsYXRlSGl0SWNvbgorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUNpcmN1bGF0ZUhpdFNoYWRlZCBDaXJjdWxhdGVTa2lwCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQ2lyY3VsYXRlU2tpcEljb24gQ2lyY3VsYXRlU2tpcFNoYWRlZCBDbGVhcgorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUNsaWNrVG9Gb2N1cyBDbGlja1RvRm9jdXNEb2VzbnRQYXNzQ2xpY2sKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlDbGlja1RvRm9jdXNEb2VzbnRSYWlzZSBDbGlja1RvRm9jdXNQYXNzZXNDbGljaworICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUNsaWNrVG9Gb2N1c1Bhc3Nlc0NsaWNrT2ZmIENsaWNrVG9Gb2N1c1JhaXNlcworICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUNsaWNrVG9Gb2N1c1JhaXNlc09mZiBDb2xvciBDb2xvcnNldCBDb250ZXh0CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJQ3VycmVudERlc2sgQ3VycmVudFBhZ2UgQ3VycmVudFBhZ2VBbnlEZXNrCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJREdyYWRpZW50IERlY29yYXRlVHJhbnNpZW50IERlZmF1bHQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlEZXByZXNzYWJsZUJvcmRlciBEZXNrIERvbnRMb3dlclRyYW5zaWVudAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCURvbnRSYWlzZVRyYW5zaWVudCBEb250U3RhY2tUcmFuc2llbnRQYXJlbnQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlEb3VibGVDbGlja1RpbWUgRG93biBEdW1iUGxhY2VtZW50IER5bmFtaWNNZW51CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJRHluYW1pY1BvcERvd25BY3Rpb24gRHluYW1pY1BvcFVwQWN0aW9uCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJRWFzdCBFeHBlY3QgRlZXTSBGaXJtQm9yZGVyIEZpeGVkCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJRml4ZWRQb3NpdGlvbiBGbGF0IEZsaWNrZXJpbmdNb3ZlV29ya2Fyb3VuZAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUZsaWNrZXJpbmdRdERpYWxvZ3NXb3JrYXJvdW5kIEZvY3VzRm9sbG93c01vdXNlCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJRm9sbG93c0ZvY3VzIEZvbGxvd3NNb3VzZSBGb250IEZvcmVDb2xvcgorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUZvcmVncm91bmQgRnVuY3Rpb24gRnZ3bSBGdndtQm9yZGVyCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJRnZ3bUJ1dHRvbnMgR05PTUVJZ25vcmVIaW50cyBHTk9NRVVzZUhpbnRzCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJR3JhYkZvY3VzIEdyYWJGb2N1c09mZiBHcmFiRm9jdXNUcmFuc2llbnQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlHcmFiRm9jdXNUcmFuc2llbnRPZmYgR3JleWVkIEdyZXllZENvbG9yc2V0CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJSEdyYWRpZW50IEhhbmRsZVdpZHRoIEhhbmRsZXMgSGVpZ2h0CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJSGlkZGVuSGFuZGxlcyBIaWxpZ2h0M0RPZmYgSGlsaWdodDNEVGhpY2sKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlIaWxpZ2h0M0RUaGlja25lc3MgSGlsaWdodDNEVGhpbiBIaWxpZ2h0QmFjaworICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUhpbGlnaHRCYWNrT2ZmIEhpbGlnaHRCb3JkZXJDb2xvcnNldAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUhpbGlnaHRDb2xvcnNldCBIaWxpZ2h0Rm9yZSBIaW50T3ZlcnJpZGUKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlIb2xkU3VibWVudXMgSWNvbiBJY29uQm94IEljb25GaWxsIEljb25Gb250CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJSWNvbkdyaWQgSWNvbk92ZXJyaWRlIEljb25UaXRsZSBJY29uaWMKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlJY29uaWZ5V2luZG93R3JvdXBzIEljb25pZnlXaW5kb3dHcm91cHNPZmYKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlJY29ucyBJZ25vcmVSZXN0YWNrIEluYWN0aXZlIEludGVyaW9yIEl0ZW0KKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlJdGVtRm9ybWF0IEtlZXBXaW5kb3dHcm91cHNPbkRlc2sgTGF5ZXIgTGVmdAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCUxlZnRKdXN0aWZpZWQgTGVuaWVuY2UgTG93ZXJUcmFuc2llbnQgTVdNCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJTVdNQm9yZGVyIE1XTUJ1dHRvbnMgTVdNRGVjb3IgTVdNRGVjb3JNYXgKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlNV01EZWNvck1lbnUgTVdNRGVjb3JNaW4gTVdNRnVuY3Rpb25zCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJTWFudWFsUGxhY2VtZW50IE1hbnVhbFBsYWNlbWVudEhvbm9yc1N0YXJ0c09uUGFnZQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU1hbnVhbFBsYWNlbWVudElnbm9yZXNTdGFydHNPblBhZ2UgTWF4V2luZG93U2l6ZQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU1heGltaXplZCBNZW51IE1lbnVDb2xvcnNldCBNZW51RmFjZQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU1pbk92ZXJsYXBQZXJjZW50UGxhY2VtZW50IE1pbk92ZXJsYXBQbGFjZW1lbnQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlNaW5pSWNvbiBNaXhlZFZpc3VhbFdvcmthcm91bmQgTW9kYWxpdHlJc0V2aWwKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlNb2R1bGVTeW5jaHJvbm91cyBNb3VzZSBNb3VzZUZvY3VzCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJTW91c2VGb2N1c0NsaWNrRG9lc250UmFpc2UgTW91c2VGb2N1c0NsaWNrUmFpc2VzCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJTW91c2VGb2N1c0NsaWNrUmFpc2VzT2ZmIE1vdmUgTXdtIE13bUJvcmRlcgorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU13bUJ1dHRvbnMgTXdtRGVjb3IgTXdtRnVuY3Rpb25zIE5ha2VkVHJhbnNpZW50CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJTmV2ZXIgTmV2ZXJGb2N1cyBOb0FjdGl2ZUljb25PdmVycmlkZSBOb0J1dHRvbgorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU5vRGVjb3JIaW50IE5vRGVza1NvcnQgTm9GdW5jSGludCBOb0dlb21ldHJ5CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJTm9HZW9tZXRyeVdpdGhJbmZvIE5vSGFuZGxlcyBOb0hvdGtleXMgTm9JY29uCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJTm9JY29uT3ZlcnJpZGUgTm9JY29uUG9zaXRpb24gTm9JY29uVGl0bGUKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlOb0ljb25zIE5vSW5zZXQgTm9MZW5pZW5jZSBOb05vcm1hbAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU5vT0xEZWNvciBOb09uQm90dG9tIE5vT25Ub3AgTm9PdmVycmlkZQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU5vUFBvc2l0aW9uIE5vUmVzaXplT3ZlcnJpZGUgTm9TdGlja3kKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlOb1N0aXBsZWRUaXRsZXMgTm9UaXRsZSBOb1RyYW5zaWVudFBQb3NpdGlvbgorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU5vVHJhbnNpZW50VVNQb3NpdGlvbiBOb1VTUG9zaXRpb24KKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlOb1dhcnAgTm9ybWFsIE5vcnRoIE5vcnRoZWFzdCBOb3J0aHdlc3QKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlOb3RBbHBoYWJldGljIE9MRGVjb3IgT25Cb3R0b20gT25Ub3AgT25jZQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCU9ubHlJY29ucyBPbmx5TGlzdFNraXAgT25seU5vcm1hbCBPbmx5T25Cb3R0b20KKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlPbmx5T25Ub3AgT25seVN0aWNreSBPcGFjaXR5IFBhcmVudGFsUmVsYXRpdml0eQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVBpeG1hcCBQb3Bkb3duRGVsYXllZCBQb3Bkb3duRGVsYXkgUG9wdXBEZWxheQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVBvcHVwQXNSb290TWVudSBQb3B1cEFzU3VibWVudSBQb3Bkb3duSW1tZWRpYXRlbHkKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlQb3B1cERlbGF5ZWQgUG9wdXBJbW1lZGlhdGVseSBQb3B1cE9mZnNldAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVF1aWV0IFJHcmFkaWVudCBSYWlzZU92ZXJOYXRpdmVXaW5kb3dzCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJUmFpc2VPdmVyVW5tYW5hZ2VkIFJhaXNlVHJhbnNpZW50CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJUmFpc2VkIFJlYWQgUmVjYXB0dXJlSG9ub3JzU3RhcnRzT25QYWdlCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJUmVjYXB0dXJlSWdub3Jlc1N0YXJ0c09uUGFnZSBSZWN0YW5nbGUKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlSZW1vdmVTdWJtZW51cyBSZXNldCBSZXNpemUgUmVzaXplSGludE92ZXJyaWRlCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJUmVzaXplT3BhcXVlIFJlc2l6ZU91dGxpbmUgUmV2ZXJzZU9yZGVyCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJUmlnaHQgUmlnaHRKdXN0aWZpZWQgUm9vdCBTR3JhZGllbnQgU2FtZVR5cGUKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTYXZlVW5kZXIgU2F2ZVVuZGVyT2ZmIFNjYXR0ZXJXaW5kb3dHcm91cHMKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTY3JlZW4gU2VsZWN0SW5QbGFjZSBTZWxlY3RPblJlbGVhc2UKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTZWxlY3RXYXJwIFNlcGFyYXRvcnNMb25nIFNlcGFyYXRvcnNTaG9ydAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVNob3dNYXBwaW5nIFNpZGVDb2xvciBTaWRlUGljIFNpbXBsZQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVNraXBNYXBwaW5nIFNsaXBwZXJ5IFNsaXBwZXJ5SWNvbiBTbG9wcHlGb2N1cworICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVNtYXJ0UGxhY2VtZW50IFNtYXJ0UGxhY2VtZW50SXNOb3JtYWwKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTbWFydFBsYWNlbWVudElzUmVhbGx5U21hcnQgU29saWQgU291dGgKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTb3V0aGVhc3QgU291dGh3ZXN0IFN0YWNrVHJhbnNpZW50UGFyZW50CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJU3RhcnRJY29uaWMgU3RhcnROb3JtYWwgU3RhcnRzQW55V2hlcmUKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTdGFydHNMb3dlcmVkIFN0YXJ0c09uRGVzayBTdGFydHNPblBhZ2UKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTdGFydHNPblBhZ2VJZ25vcmVzVHJhbnNpZW50cworICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVN0YXJ0c09uUGFnZUluY2x1ZGVzVHJhbnNpZW50cyBTdGFydHNPblNjcmVlbgorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVN0YXJ0c1JhaXNlZCBTdGF5c09uQm90dG9tIFN0YXlzT25Ub3AgU3RheXNQdXQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTdGlja3kgU3RpY2t5SWNvbiBTdGlwbGVkVGl0bGVzIFN0aXBwbGVkVGl0bGUKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlTdGlwcGxlZFRpdGxlT2ZmIFN1Ym1lbnVzTGVmdCBTdWJtZW51c1JpZ2h0IFN1bmsKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlUaGlzIFRpbGVDYXNjYWRlUGxhY2VtZW50IFRpbGVNYW51YWxQbGFjZW1lbnQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlUaWxlZFBpeG1hcCBUaW1lb3V0IFRpdGxlIFRpdGxlQXRCb3R0b20KKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlUaXRsZUF0VG9wIFRpdGxlVW5kZXJsaW5lczAgVGl0bGVVbmRlcmxpbmVzMQorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVRpdGxlVW5kZXJsaW5lczIgVGl0bGVXYXJwIFRpdGxlV2FycE9mZiBUb3AKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlUcmFuc2llbnQgVHJpYW5nbGVzUmVsaWVmIFRyaWFuZ2xlc1NvbGlkCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJVXAgVXNlQm9yZGVyU3R5bGUgVXNlRGVjb3IgVXNlSWNvbk5hbWUKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlVc2VJY29uUG9zaXRpb24gVXNlTGlzdFNraXAgVXNlUFBvc2l0aW9uCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJVXNlU3R5bGUgVXNlVGl0bGVTdHlsZSBVc2VUcmFuc2llbnRQUG9zaXRpb24KKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlVc2VUcmFuc2llbnRVU1Bvc2l0aW9uIFVzZVVTUG9zaXRpb24gVkdyYWRpZW50CisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJVmFyaWFibGVQb3NpdGlvbiBWZWN0b3IgVmVydGljYWxJdGVtU3BhY2luZworICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVZlcnRpY2FsVGl0bGVTcGFjaW5nIFdJTiBXYWl0IFdhcnAgV2FycFRpdGxlCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJV2VzdCBXaW4gV2luZG93IFdpbmRvd0xpc3RIaXQgV2luZG93TGlzdFNraXAKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlXaW5kb3dTaGFkZVNjcm9sbHMgV2luZG93U2hhZGVTaHJpbmtzCisgICAgc3luIGtleXdvcmQgZnZ3bUtleXdvcmQJV2luZG93U2hhZGVTdGVwcyBXaW5kb3dzIFhpbmVyYW1hUm9vdCBZR3JhZGllbnQKKyAgICBzeW4ga2V5d29yZCBmdndtS2V5d29yZAlib3R0b21yaWdodCBkZWZhdWx0IHBvaW50ZXIgcHJldiBxdWlldAorICAgIHN5biBrZXl3b3JkIGZ2d21LZXl3b3JkCVRydWUgRmFsc2UgVG9nZ2xlCisKKyAgICBzeW4ga2V5d29yZCBmdndtQ29uZGl0aW9uTmFtZQlBY2NlcHRzRm9jdXMgQ3VycmVudERlc2sgQ3VycmVudEdsb2JhbFBhZ2UKKyAgICBzeW4ga2V5d29yZCBmdndtQ29uZGl0aW9uTmFtZQlDdXJyZW50R2xvYmFsUGFnZUFueURlc2sgQ3VycmVudFBhZ2UKKyAgICBzeW4ga2V5d29yZCBmdndtQ29uZGl0aW9uTmFtZQlDdXJyZW50UGFnZUFueURlc2sgQ3VycmVudFNjcmVlbiBJY29uaWMgTGF5ZXIKKyAgICBzeW4ga2V5d29yZCBmdndtQ29uZGl0aW9uTmFtZQlNYXhpbWl6ZWQgUGxhY2VkQnlCdXR0b24zIFBsYWNlZEJ5RnZ3bSBSYWlzZWQKKyAgICBzeW4ga2V5d29yZCBmdndtQ29uZGl0aW9uTmFtZQlTaGFkZWQgU3RpY2t5IFRyYW5zaWVudCBWaXNpYmxlCisKKyAgICBzeW4ga2V5d29yZCBmdndtQ29udGV4dE5hbWUJQk9UVE9NIEJPVFRPTV9FREdFIEJPVFRPTV9MRUZUIEJPVFRPTV9SSUdIVAorICAgIHN5biBrZXl3b3JkIGZ2d21Db250ZXh0TmFtZQlERUZBVUxUIERFU1RST1kgTEVGVCBMRUZUX0VER0UgTUVOVSBNT1ZFCisgICAgc3luIGtleXdvcmQgZnZ3bUNvbnRleHROYW1lCVJFU0laRSBSSUdIVCBSSUdIVF9FREdFIFJPT1QgU0VMRUNUIFNUUk9LRSBTWVMKKyAgICBzeW4ga2V5d29yZCBmdndtQ29udGV4dE5hbWUJVElUTEUgVE9QIFRPUF9FREdFIFRPUF9MRUZUIFRPUF9SSUdIVCBXQUlUCisgICAgc3luIGtleXdvcmQgZnZ3bUNvbnRleHROYW1lCVBPU0lUSU9OCisKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb25OYW1lCWNvbnRhaW5lZCBGdndtQW5pbWF0ZSBGdndtQXVkaW8gRnZ3bUF1dG8KKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb25OYW1lCWNvbnRhaW5lZCBGdndtQmFja2VyIEZ2d21CYW5uZXIgRnZ3bUJ1dHRvbnMKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb25OYW1lCWNvbnRhaW5lZCBGdndtQ2FzY2FkZSBGdndtQ29tbWFuZFMKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb25OYW1lCWNvbnRhaW5lZCBGdndtQ29uc29sZSBGdndtQ29uc29sZUMgRnZ3bUNwcAorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbk5hbWUJY29udGFpbmVkIEZ2d21EZWJ1ZyBGdndtRHJhZ1dlbGwgRnZ3bUV2ZW50CisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uTmFtZQljb250YWluZWQgRnZ3bUZvcm0gRnZ3bUd0ayBGdndtSWNvbkJveAorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbk5hbWUJY29udGFpbmVkIEZ2d21JY29uTWFuIEZ2d21JZGVudCBGdndtTTQKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb25OYW1lCWNvbnRhaW5lZCBGdndtUGFnZXIgRnZ3bVJlYXJyYW5nZSBGdndtU2F2ZQorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbk5hbWUJY29udGFpbmVkIEZ2d21TYXZlRGVzayBGdndtU2NyaXB0IEZ2d21TY3JvbGwKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb25OYW1lCWNvbnRhaW5lZCBGdndtVGFsayBGdndtVGFza0JhciBGdndtVGhlbWUKKyAgICBzeW4ga2V5d29yZCBmdndtRnVuY3Rpb25OYW1lCWNvbnRhaW5lZCBGdndtVGlsZSBGdndtV2hhcmYgRnZ3bVdpbkxpc3QKKworICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbk5hbWUJU3RhcnRGdW5jdGlvbiBJbml0RnVuY3Rpb24gUmVzdGFydEZ1bmN0aW9uCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uTmFtZQlFeGl0RnVuY3Rpb24gU2Vzc2lvbkluaXRGdW5jdGlvbgorICAgIHN5biBrZXl3b3JkIGZ2d21GdW5jdGlvbk5hbWUJU2Vzc2lvblJlc3RhcnRGdW5jdGlvbiBTZXNzaW9uRXhpdEZ1bmN0aW9uCisgICAgc3luIGtleXdvcmQgZnZ3bUZ1bmN0aW9uTmFtZQlNaXNzaW5nU3VibWVudUZ1bmN0aW9uCitlbmRpZgorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZnZ3bV9zeW50YXhfaW5pdHMiKQorICAgIGlmIHZlcnNpb24gPCA1MDgKKwlsZXQgZGlkX2Z2d21fc3ludGF4X2luaXRzID0gMQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgICAgZWxzZQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgIGVuZGlmCisKKyAgICBIaUxpbmsgZnZ3bUNvbW1lbnQJCUNvbW1lbnQKKyAgICBIaUxpbmsgZnZ3bUVudlZhcgkJTWFjcm8KKyAgICBIaUxpbmsgZnZ3bUV4ZWMJCUZ1bmN0aW9uCisgICAgSGlMaW5rIGZ2d21GdW5jdGlvbgkJRnVuY3Rpb24KKyAgICBIaUxpbmsgZnZ3bUZ1bmN0aW9uTmFtZQlTcGVjaWFsCisgICAgSGlMaW5rIGZ2d21Db250ZXh0TmFtZQlGdW5jdGlvbgorICAgIEhpTGluayBmdndtQ29uZGl0aW9uTmFtZQlGdW5jdGlvbgorICAgIEhpTGluayBmdndtSWNvbgkJQ29tbWVudAorICAgIEhpTGluayBmdndtS2V5CQlGdW5jdGlvbgorICAgIEhpTGluayBmdndtS2V5d29yZAkJS2V5d29yZAorICAgIEhpTGluayBmdndtTWVudVN0cmluZwlTdHJpbmcKKyAgICBIaUxpbmsgZnZ3bU1vZENvbmYJCU1hY3JvCisgICAgSGlMaW5rIGZ2d21Nb2R1bGUJCUZ1bmN0aW9uCisgICAgSGlMaW5rIGZ2d21Nb2R1bGVOYW1lCVNwZWNpYWwKKyAgICBIaUxpbmsgZnZ3bVJHQlZhbHVlCQlUeXBlCisgICAgSGlMaW5rIGZ2d21TaG9ydGN1dEtleQlTcGVjaWFsQ2hhcgorICAgIEhpTGluayBmdndtU3RyaW5nCQlTdHJpbmcKKworICAgIGlmIGV4aXN0cygicmdiX2ZpbGUiKQorCUhpTGluayBmdndtQ29sb3JzCVR5cGUKKyAgICBlbmRpZgorCisgICAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImZ2d20iCisiIHZpbTogc3RzPTQgc3c9NCB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mdndtMm00LnZpbSBiL3J1bnRpbWUvc3ludGF4L2Z2d20ybTQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0M2RhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9mdndtMm00LnZpbQpAQCAtMCwwICsxLDQzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogRnZ3bU00IHByZXByb2Nlc3NlZCBGdndtMiBjb25maWd1cmF0aW9uIGZpbGVzCisiIE1haW50YWluZXI6IERhdmlkIE5lXHZ7Y31hcyAoWWV0aSkgPHlldGlAcGh5c2ljcy5tdW5pLmN6PgorIiBMYXN0IENoYW5nZTogMjAwMi0wNi0wMgorIiBVUkk6IGh0dHA6Ly9waHlzaWNzLm11bmkuY3ovfnlldGkvZG93bmxvYWQvc3ludGF4L2Z2d21tNC52aW0KKworIiBTZXR1cAoraWYgdmVyc2lvbiA+PSA2MDAKKyAgaWYgZXhpc3RzKCdiOmN1cnJlbnRfc3ludGF4JykKKyAgICBmaW5pc2gKKyAgZW5kaWYKK2Vsc2UKKyAgc3ludGF4IGNsZWFyCitlbmRpZgorCisiIExldCBpbmNsdWRlZCBmaWxlcyBrbm93IHRoZXkgYXJlIGluY2x1ZGVkCitpZiAhZXhpc3RzKCdtYWluX3N5bnRheCcpCisgIGxldCBtYWluX3N5bnRheCA9ICdmdndtMm00JworZW5kaWYKKworIiBJbmNsdWRlIE00IHN5bnRheAoraWYgdmVyc2lvbiA+PSA2MDAKKyAgcnVudGltZSEgc3ludGF4L200LnZpbQorZWxzZQorICBzbyA8c2ZpbGU+OnA6aC9tNC52aW0KK2VuZGlmCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKKyIgSW5jbHVkZSBGdndtMiBzeW50YXggKEZ2d20xIGRvZXNuJ3QgaGF2ZSBNNCBwcmVwcm9jZXNzb3IpCitpZiB2ZXJzaW9uID49IDYwMAorICBydW50aW1lISBzeW50YXgvZnZ3bS52aW0KK2Vsc2UKKyAgc28gPHNmaWxlPjpwOmgvZnZ3bS52aW0KK2VuZGlmCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKKyIgVGhhdCdzIGFsbCEKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gJ2Z2d20ybTQnCisKK2lmIG1haW5fc3ludGF4ID09ICdmdndtMm00JworICB1bmxldCBtYWluX3N5bnRheAorZW5kaWYKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ2RiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dkYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg3NGEwNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2dkYi52aW0KQEAgLTAsMCArMSwxMTEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglHREIgY29tbWFuZCBmaWxlcworIiBNYWludGFpbmVyOglDbGF1ZGlvIEZsZWluZXIgPGNsYXVkaW9AZmxlaW5lci5jb20+CisiIFVSTDoJCWh0dHA6Ly93d3cuZmxlaW5lci5jb20vdmltL3N5bnRheC9nZGIudmltCisiIExhc3QgQ2hhbmdlOgkyMDAzIEphbiAwNAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBrZXl3b3JkIGdkYkluZm8gY29udGFpbmVkIGFkZHJlc3MgYXJjaGl0ZWN0dXJlIGFyZ3MgYnJlYWtwb2ludHMgY2F0Y2ggY29tbW9uIGNvcHlpbmcgZGNhY2hlCitzeW4ga2V5d29yZCBnZGJJbmZvIGNvbnRhaW5lZCBkaXNwbGF5IGZpbGVzIGZsb2F0IGZyYW1lIGZ1bmN0aW9ucyBoYW5kbGUgbGluZQorc3luIGtleXdvcmQgZ2RiSW5mbyBjb250YWluZWQgbG9jYWxzIHByb2dyYW0gcmVnaXN0ZXJzIHNjb3BlIHNldCBzaGFyZWRsaWJyYXJ5IHNpZ25hbHMKK3N5biBrZXl3b3JkIGdkYkluZm8gY29udGFpbmVkIHNvdXJjZSBzb3VyY2VzIHN0YWNrIHN5bWJvbCB0YXJnZXQgdGVybWluYWwgdGhyZWFkcworc3luIGtleXdvcmQgZ2RiSW5mbyBjb250YWluZWQgc3luIGtleXdvcmQgdHJhY2Vwb2ludHMgdHlwZXMgdWRvdCB2YXJpYWJsZXMgd2FycmFudHkgd2F0Y2hwb2ludHMKK3N5biBtYXRjaCBnZGJJbmZvIGNvbnRhaW5lZCAiYWxsLXJlZ2lzdGVycyIKKworCitzeW4ga2V5d29yZCBnZGJTdGF0ZW1lbnQgY29udGFpbmVkIGFjdGlvbnMgYXBwbHkgYXR0YWNoIGF3YXRjaCBiYWNrdHJhY2UgYnJlYWsgYnQgY2FsbCBjYXRjaCBjZCBjbGVhciBjb2xsZWN0IGNvbW1hbmRzCitzeW4ga2V5d29yZCBnZGJTdGF0ZW1lbnQgY29udGFpbmVkIGNvbXBsZXRlIGNvbmRpdGlvbiBjb250aW51ZSBkZWxldGUgZGV0YWNoIGRpcmVjdG9yeSBkaXNhYmxlIGRpc2Fzc2VtYmxlIGRpc3BsYXkgZG93bgorc3luIGtleXdvcmQgZ2RiU3RhdGVtZW50IGNvbnRhaW5lZCBlY2hvIGVsc2UgZW5hYmxlIGVuZCBmaWxlIGZpbmlzaCBmcmFtZSBoYW5kbGUgaGJyZWFrIGhlbHAgaWYgaWdub3JlCitzeW4ga2V5d29yZCBnZGJTdGF0ZW1lbnQgY29udGFpbmVkIGluc3BlY3QganVtcCBraWxsIGxpc3QgbG9hZCBtYWludGVuYW5jZSBtYWtlIG5leHQgbmV4dGkgbmkgb3V0cHV0IG92ZXJsYXkKK3N5biBrZXl3b3JkIGdkYlN0YXRlbWVudCBjb250YWluZWQgcGFzc2NvdW50IHBhdGggcHJpbnQgcHJpbnRmIHB0eXBlIHB3ZCBxdWl0IHJicmVhayByZW1vdGUgcmV0dXJuIHJ1biByd2F0Y2gKK3N5biBrZXl3b3JkIGdkYlN0YXRlbWVudCBjb250YWluZWQgc2VhcmNoIHNlY3Rpb24gc2V0IHNoYXJlZGxpYnJhcnkgc2hlbGwgc2hvdyBzaSBzaWduYWwgc291cmNlIHN0ZXAgc3RlcGkgc3RlcHBpbmcKK3N5biBrZXl3b3JkIGdkYlN0YXRlbWVudCBjb250YWluZWQgc3RvcCB0YXJnZXQgdGJyZWFrIHRkdW1wIHRmaW5kIHRoYnJlYWsgdGhyZWFkIHRwIHRyYWNlIHRzdGFydCB0c3RhdHVzIHRzdG9wCitzeW4ga2V5d29yZCBnZGJTdGF0ZW1lbnQgY29udGFpbmVkIHR0eSB1bmRpc3BsYXkgdW5zZXQgdW50aWwgdXAgd2F0Y2ggd2hhdGlzIHdoZXJlIHdoaWxlIHdzIHgKK3N5biBtYXRjaCBnZGJGdW5jRGVmICJcPGRlZmluZVw+LioiCitzeW4gbWF0Y2ggZ2RiU3RhdG1lbnRDb250YWluZXIgIl5ccypcU1wrIiBjb250YWlucz1nZGJTdGF0ZW1lbnQsZ2RiRnVuY0RlZgorc3luIG1hdGNoIGdkYlN0YXRlbWVudCAiXlxzKmluZm8iIG5leHRncm91cD1nZGJJbmZvIHNraXB3aGl0ZSBza2lwZW1wdHkKKworIiBzb21lIGNvbW1vbmx5IHVzZWQgYWJyZXZpYXRpb25zCitzeW4ga2V5d29yZCBnZGJTdGF0ZW1lbnQgYyBkaXNwIHVuZGlzcCBkaXNhcyBwCisKK3N5biByZWdpb24gZ2RiRG9jdW1lbnQgbWF0Y2hncm91cD1nZGJGdW5jRGVmIHN0YXJ0PSJcPGRvY3VtZW50XD4uKiQiIG1hdGNoZ3JvdXA9Z2RiRnVuY0RlZiBlbmQ9Il5lbmQkIgorCitzeW4gbWF0Y2ggZ2RiU3RhdGVtZW50ICJcPGFkZC1zaGFyZWQtc3ltYm9sLWZpbGVzXD4iCitzeW4gbWF0Y2ggZ2RiU3RhdGVtZW50ICJcPGFkZC1zeW1ib2wtZmlsZVw+Igorc3luIG1hdGNoIGdkYlN0YXRlbWVudCAiXDxjb3JlLWZpbGVcPiIKK3N5biBtYXRjaCBnZGJTdGF0ZW1lbnQgIlw8ZG9udC1yZXBlYXRcPiIKK3N5biBtYXRjaCBnZGJTdGF0ZW1lbnQgIlw8ZG93bi1zaWxlbnRseVw+Igorc3luIG1hdGNoIGdkYlN0YXRlbWVudCAiXDxleGVjLWZpbGVcPiIKK3N5biBtYXRjaCBnZGJTdGF0ZW1lbnQgIlw8Zm9yd2FyZC1zZWFyY2hcPiIKK3N5biBtYXRjaCBnZGJTdGF0ZW1lbnQgIlw8cmV2ZXJzZS1zZWFyY2hcPiIKK3N5biBtYXRjaCBnZGJTdGF0ZW1lbnQgIlw8c2F2ZS10cmFjZXBvaW50c1w+Igorc3luIG1hdGNoIGdkYlN0YXRlbWVudCAiXDxzZWxlY3QtZnJhbWVcPiIKK3N5biBtYXRjaCBnZGJTdGF0ZW1lbnQgIlw8c3ltYm9sLWZpbGVcPiIKK3N5biBtYXRjaCBnZGJTdGF0ZW1lbnQgIlw8dXAtc2lsZW50bHlcPiIKK3N5biBtYXRjaCBnZGJTdGF0ZW1lbnQgIlw8d2hpbGUtc3RlcHBpbmdcPiIKKworc3luIGtleXdvcmQgZ2RiU2V0IGFubm90YXRlIGFyY2hpdGVjdHVyZSBhcmdzIGNoZWNrIGNvbXBsYWludHMgY29uZmlybSBlZGl0aW5nIGVuZGlhbgorc3luIGtleXdvcmQgZ2RiU2V0IGVudmlyb25tZW50IGdudXRhcmdldCBoZWlnaHQgaGlzdG9yeSBsYW5ndWFnZSBsaXN0c2l6ZSBwcmludCBwcm9tcHQKK3N5biBrZXl3b3JkIGdkYlNldCByYWRpeCByZW1vdGViYXVkIHJlbW90ZWJyZWFrIHJlbW90ZWNhY2hlIHJlbW90ZWRlYnVnIHJlbW90ZWRldmljZSByZW1vdGVsb2diYXNlCitzeW4ga2V5d29yZCBnZGJTZXQgcmVtb3RlbG9nZmlsZSByZW1vdGV0aW1lb3V0IHJlbW90ZXdyaXRlc2l6ZSB0YXJnZXRkZWJ1ZyB2YXJpYWJsZSB2ZXJib3NlCitzeW4ga2V5d29yZCBnZGJTZXQgd2F0Y2hkb2cgd2lkdGggd3JpdGUKK3N5biBtYXRjaCBnZGJTZXQgIlw8YXV0by1zb2xpYi1hZGRcPiIKK3N5biBtYXRjaCBnZGJTZXQgIlw8c29saWItYWJzb2x1dGUtcHJlZml4XD4iCitzeW4gbWF0Y2ggZ2RiU2V0ICJcPHNvbGliLXNlYXJjaC1wYXRoXD4iCitzeW4gbWF0Y2ggZ2RiU2V0ICJcPHN0b3Atb24tc29saWItZXZlbnRzXD4iCitzeW4gbWF0Y2ggZ2RiU2V0ICJcPHN5bWJvbC1yZWxvYWRpbmdcPiIKK3N5biBtYXRjaCBnZGJTZXQgIlw8aW5wdXQtcmFkaXhcPiIKK3N5biBtYXRjaCBnZGJTZXQgIlw8ZGVtYW5nbGUtc3R5bGVcPiIKK3N5biBtYXRjaCBnZGJTZXQgIlw8b3V0cHV0LXJhZGl4XD4iCisKK3N5biBtYXRjaCBnZGJDb21tZW50ICJeXHMqIy4qIgorCitzeW4gbWF0Y2ggZ2RiVmFyaWFibGUgIlwkXEtcayoiCisKKyIgU3RyaW5ncyBhbmQgY29uc3RhbnRzCitzeW4gcmVnaW9uICBnZGJTdHJpbmcJCXN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKworc3luIG1hdGNoICAgZ2RiQ2hhcmFjdGVyCSInW14nXSonIiBjb250YWlucz1nZGJTcGVjaWFsQ2hhcixnZGJTcGVjaWFsQ2hhckVycm9yCitzeW4gbWF0Y2ggICBnZGJDaGFyYWN0ZXIJIidcXCcnIiBjb250YWlucz1nZGJTcGVjaWFsQ2hhcgorc3luIG1hdGNoICAgZ2RiQ2hhcmFjdGVyCSInW15cXF0nIgorc3luIG1hdGNoICAgZ2RiTnVtYmVyCQkiXDxbMC05X11cK1w+Igorc3luIG1hdGNoICAgZ2RiTnVtYmVyCQkiXDwweFswLTlhLWZBLUZfXVwrXD4iCisKKworaWYgIWV4aXN0cygiZ2RiX21pbmxpbmVzIikKKyAgbGV0IGdkYl9taW5saW5lcyA9IDEwCitlbmRpZgorZXhlYyAic3luIHN5bmMgY2NvbW1lbnQgZ2RiQ29tbWVudCBtaW5saW5lcz0iIC4gZ2RiX21pbmxpbmVzCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2dkYl9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9nZGJfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKyAgSGlMaW5rIGdkYkZ1bmNEZWYJRnVuY3Rpb24KKyAgSGlMaW5rIGdkYkNvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgZ2RiU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgZ2RiU3RyaW5nCVN0cmluZworICBIaUxpbmsgZ2RiQ2hhcmFjdGVyCUNoYXJhY3RlcgorICBIaUxpbmsgZ2RiVmFyaWFibGUJSWRlbnRpZmllcgorICBIaUxpbmsgZ2RiU2V0CQlDb25zdGFudAorICBIaUxpbmsgZ2RiSW5mbwlUeXBlCisgIEhpTGluayBnZGJEb2N1bWVudAlTcGVjaWFsCisgIEhpTGluayBnZGJOdW1iZXIJTnVtYmVyCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJnZGIiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9nZG1vLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dkbW8udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4YTZiMzUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9nZG1vLnZpbQpAQCAtMCwwICsxLDk2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJR0RNTworIgkJKElTTy0xMDE2NS00OyBHdWlkZWxpbmVzIGZvciB0aGUgRGVmaW5pdGlvbiBvZiBNYW5hZ2VkIE9iamVjdCkKKyIgTWFpbnRhaW5lcjoJR3l1bWFuIEtpbSA8dmlvbGlub0Bkb29seS5tb2RhY29tLmNvLmtyPgorIiBVUkw6CQlodHRwOi8vZG9vbHkubW9kYWNvbS5jby5rci9nZG1vLnZpbQorIiBMYXN0IGNoYW5nZToJMjAwMSBTZXAgMDIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGtleXdvcmQgZGVmaW5pdGlvbnMKK3N5biBtYXRjaCAgIGdkbW9DYXRlZ29yeSAgICAgICJNQU5BR0VEXHNcK09CSkVDVFxzXCtDTEFTUyIKK3N5biBrZXl3b3JkIGdkbW9DYXRlZ29yeSAgICAgIE5PVElGSUNBVElPTiBBVFRSSUJVVEUgQkVIQVZJT1VSIFBBQ0tBR0UgQUNUSU9OCitzeW4gbWF0Y2ggICBnZG1vQ2F0ZWdvcnkgICAgICAiTkFNRVxzXCtCSU5ESU5HIgorc3luIG1hdGNoICAgZ2Rtb1JlbGF0aW9uc2hpcCAgIkRFUklWRURcc1wrRlJPTSIKK3N5biBtYXRjaCAgIGdkbW9SZWxhdGlvbnNoaXAgICJTVVBFUklPUlxzXCtPQkpFQ1Rcc1wrQ0xBU1MiCitzeW4gbWF0Y2ggICBnZG1vUmVsYXRpb25zaGlwICAiU1VCT1JESU5BVEVcc1wrT0JKRUNUXHNcK0NMQVNTIgorc3luIG1hdGNoICAgZ2Rtb0V4dGVuc2lvbiAgICAgIkFORFxzXCtTVUJDTEFTU0VTIgorc3luIG1hdGNoICAgZ2Rtb0RlZmluaXRpb24gICAgIkRFRklORURcc1wrQVMiCitzeW4gbWF0Y2ggICBnZG1vRGVmaW5pdGlvbiAgICAiUkVHSVNURVJFRFxzXCtBUyIKK3N5biBtYXRjaCAgIGdkbW9FeHRlbnNpb24gICAgICJPUkRFUlxzXCtCWSIKK3N5biBtYXRjaCAgIGdkbW9SZWZlcmVuY2UgICAgICJXSVRIXHNcK0FUVFJJQlVURSIKK3N5biBtYXRjaCAgIGdkbW9SZWZlcmVuY2UgICAgICJXSVRIXHNcK0lORk9STUFUSU9OXHNcK1NZTlRBWCIKK3N5biBtYXRjaCAgIGdkbW9SZWZlcmVuY2UgICAgICJXSVRIXHNcK1JFUExZXHNcK1NZTlRBWCIKK3N5biBtYXRjaCAgIGdkbW9SZWZlcmVuY2UgICAgICJXSVRIXHNcK0FUVFJJQlVURVxzXCtTWU5UQVgiCitzeW4gbWF0Y2ggICBnZG1vRXh0ZW5zaW9uICAgICAiQU5EXHNcK0FUVFJJQlVURVxzXCtJRFMiCitzeW4gbWF0Y2ggICBnZG1vRXh0ZW5zaW9uICAgICAiTUFUQ0hFU1xzXCtGT1IiCitzeW4gbWF0Y2ggICBnZG1vUmVmZXJlbmNlICAgICAiQ0hBUkFDVEVSSVpFRFxzXCtCWSIKK3N5biBtYXRjaCAgIGdkbW9SZWZlcmVuY2UgICAgICJDT05ESVRJT05BTFxzXCtQQUNLQUdFUyIKK3N5biBtYXRjaCAgIGdkbW9FeHRlbnNpb24gICAgICJQUkVTRU5UXHNcK0lGIgorc3luIG1hdGNoICAgZ2Rtb0V4dGVuc2lvbiAgICAgIkRFRkFVTFRcc1wrVkFMVUUiCitzeW4gbWF0Y2ggICBnZG1vRXh0ZW5zaW9uICAgICAiUEVSTUlUVEVEXHNcK1ZBTFVFUyIKK3N5biBtYXRjaCAgIGdkbW9FeHRlbnNpb24gICAgICJSRVFVSVJFRFxzXCtWQUxVRVMiCitzeW4gbWF0Y2ggICBnZG1vRXh0ZW5zaW9uICAgICAiTkFNRURcc1wrQlkiCitzeW4ga2V5d29yZCBnZG1vUmVmZXJlbmNlICAgICBBVFRSSUJVVEVTIE5PVElGSUNBVElPTlMgQUNUSU9OUworc3luIGtleXdvcmQgZ2Rtb0V4dGVuc2lvbiAgICAgREVMRVRFIENSRUFURQorc3luIGtleXdvcmQgZ2Rtb0V4dGVuc2lvbiAgICAgRVFVQUxJVFkgU1VCU1RSSU5HUyBPUkRFUklORworc3luIG1hdGNoICAgZ2Rtb0V4dGVuc2lvbiAgICAgIlJFUExBQ0UtV0lUSC1ERUZBVUxUIgorc3luIG1hdGNoICAgZ2Rtb0V4dGVuc2lvbiAgICAgIkdFVCIKK3N5biBtYXRjaCAgIGdkbW9FeHRlbnNpb24gICAgICJHRVQtUkVQTEFDRSIKK3N5biBtYXRjaCAgIGdkbW9FeHRlbnNpb24gICAgICJBREQtUkVNT1ZFIgorc3luIG1hdGNoICAgZ2Rtb0V4dGVuc2lvbiAgICAgIldJVEgtUkVGRVJFTkNFLU9CSkVDVCIKK3N5biBtYXRjaCAgIGdkbW9FeHRlbnNpb24gICAgICJXSVRILUFVVE9NQVRJQy1JTlNUQU5DRS1OQU1JTkciCitzeW4gbWF0Y2ggICBnZG1vRXh0ZW5zaW9uICAgICAiT05MWS1JRi1OTy1DT05UQUlORUQtT0JKRUNUUyIKKworCisiIFN0cmluZ3MgYW5kIGNvbnN0YW50cworc3luIG1hdGNoICAgZ2Rtb1NwZWNpYWwJCWNvbnRhaW5lZCAiXFxcZFxkXGRcfFxcLiIKK3N5biByZWdpb24gIGdkbW9TdHJpbmcJCXN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKyAgY29udGFpbnM9Z2Rtb1NwZWNpYWwKK3N5biBtYXRjaCAgIGdkbW9DaGFyYWN0ZXIJICAiJ1teXFxdJyIKK3N5biBtYXRjaCAgIGdkbW9TcGVjaWFsQ2hhcmFjdGVyICAiJ1xcLiciCitzeW4gbWF0Y2ggICBnZG1vTnVtYmVyCQkgICIwW3hYXVswLTlhLWZBLUZdXCtcPiIKK3N5biBtYXRjaCAgIGdkbW9MaW5lQ29tbWVudCAgICAgICAiLS0uKiIKK3N5biBtYXRjaCAgIGdkbW9MaW5lQ29tbWVudCAgICAgICAiLS0uKi0tIgorCitzeW4gbWF0Y2ggZ2Rtb0RlZmluaXRpb24gIl5ccypbYS16QS1aXVstYS16QS1aMC05Xy5cW1xdIFx0e31dKiAqOjo9Im1lPWUtMworc3luIG1hdGNoIGdkbW9CcmFjZXMgICAgICJbe31dIgorCitzeW4gc3luYyBjY29tbWVudCBnZG1vQ29tbWVudAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9nZG1vX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2dkbW9fc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZ2Rtb0NhdGVnb3J5CSAgICAgIFN0cnVjdHVyZQorICBIaUxpbmsgZ2Rtb1JlbGF0aW9uc2hpcCAgICAgTWFjcm8KKyAgSGlMaW5rIGdkbW9EZWZpbml0aW9uICAgICAgIFN0YXRlbWVudAorICBIaUxpbmsgZ2Rtb1JlZmVyZW5jZQkgICAgICBUeXBlCisgIEhpTGluayBnZG1vRXh0ZW5zaW9uCSAgICAgIE9wZXJhdG9yCisgIEhpTGluayBnZG1vQnJhY2VzCSAgICAgIEZ1bmN0aW9uCisgIEhpTGluayBnZG1vU3BlY2lhbAkgICAgICBTcGVjaWFsCisgIEhpTGluayBnZG1vU3RyaW5nCSAgICAgIFN0cmluZworICBIaUxpbmsgZ2Rtb0NoYXJhY3RlcgkgICAgICBDaGFyYWN0ZXIKKyAgSGlMaW5rIGdkbW9TcGVjaWFsQ2hhcmFjdGVyIGdkbW9TcGVjaWFsCisgIEhpTGluayBnZG1vQ29tbWVudAkgICAgICBDb21tZW50CisgIEhpTGluayBnZG1vTGluZUNvbW1lbnQgICAgICBnZG1vQ29tbWVudAorICBIaUxpbmsgZ2Rtb1R5cGUJICAgICAgVHlwZQorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJnZG1vIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ2VkY29tLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dlZGNvbS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg4NTFjYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2dlZGNvbS52aW0KQEAgLTAsMCArMSw2NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUdlZGNvbQorIiBNYWludGFpbmVyOglQYXVsIEpvaG5zb24gKHBqY2pAdHJhbnNlZGEuY29tKQorIiBWZXJzaW9uIDEuMDU5IC0gMjNyZCBEZWNlbWJlciAxOTk5CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3ludGF4IGNhc2UgbWF0Y2gKKworc3ludGF4IGtleXdvcmQgZ2VkY29tX3JlY29yZCBBQkJSIEFERFIgQURPUCBBRFIxIEFEUjIgQUZOIEFHRSBBR05DIEFMSUEgQU5DRQorc3ludGF4IGtleXdvcmQgZ2VkY29tX3JlY29yZCBBTkNJIEFOVUwgQVNTTyBBVVRIIEJBUEwgQkFQTSBCQVJNIEJBU00gQklSVCBCTEVTCitzeW50YXgga2V5d29yZCBnZWRjb21fcmVjb3JkIEJMT0IgQlVSSSBDQUxOIENBU1QgQ0FVUyBDRU5TIENIQU4gQ0hBUiBDSElMIENIUgorc3ludGF4IGtleXdvcmQgZ2VkY29tX3JlY29yZCBDSFJBIENJVFkgQ09OQyBDT05GIENPTkwgQ09OVCBDT1BSIENPUlAgQ1JFTSBDVFJZCitzeW50YXgga2V5d29yZCBnZWRjb21fcmVjb3JkIERBVEEgREVBVCBERVNDIERFU0kgREVTVCBESVYgRElWRiBEU0NSIEVEVUMgRU1JRworc3ludGF4IGtleXdvcmQgZ2VkY29tX3JlY29yZCBFTkRMIEVOR0EgRVZFTiBGQU0gRkFNQyBGQU1GIEZBTVMgRkNPTSBGSUxFIEZPUk0KK3N5bnRheCBrZXl3b3JkIGdlZGNvbV9yZWNvcmQgR0VEQyBHSVZOIEdSQUQgSEVBRCBIVVNCIElETk8gSU1NSSBJTkRJIExBTkcgTUFSQgorc3ludGF4IGtleXdvcmQgZ2VkY29tX3JlY29yZCBNQVJDIE1BUkwgTUFSUiBNQVJTIE1FREkgTkFUSSBOQVRVIE5DSEkgTklDSyBOTVIKK3N5bnRheCBrZXl3b3JkIGdlZGNvbV9yZWNvcmQgTk9URSBOUEZYIE5TRlggT0JKRSBPQ0NVIE9SREkgT1JETiBQQUdFIFBFREkgUEhPTgorc3ludGF4IGtleXdvcmQgZ2VkY29tX3JlY29yZCBQTEFDIFBPU1QgUFJPQiBQUk9QIFBVQkwgUVVBWSBSRUZOIFJFTEEgUkVMSSBSRVBPCitzeW50YXgga2V5d29yZCBnZWRjb21fcmVjb3JkIFJFU0kgUkVTTiBSRVRJIFJGTiBSSU4gUk9MRSBTRVggU0xHQyBTTEdTIFNPVVIKK3N5bnRheCBrZXl3b3JkIGdlZGNvbV9yZWNvcmQgU1BGWCBTU04gU1RBRSBTVEFUIFNVQk0gU1VCTiBTVVJOIFRFTVAgVEVYVCBUSU1FCitzeW50YXgga2V5d29yZCBnZWRjb21fcmVjb3JkIFRJVEwgVFJMUiBUWVBFIFZFUlMgV0lGRSBXSUxMCitzeW50YXgga2V5d29yZCBnZWRjb21fcmVjb3JkIERBVEUgbmV4dGdyb3VwPWdlZGNvbV9kYXRlCitzeW50YXgga2V5d29yZCBnZWRjb21fcmVjb3JkIE5BTUUgbmV4dGdyb3VwPWdlZGNvbV9uYW1lCisKK3N5bnRheCBjYXNlIGlnbm9yZQorCitzeW50YXggcmVnaW9uIGdlZGNvbV9pZCBzdGFydD0iQCIgZW5kPSJAIiBvbmVsaW5lIGNvbnRhaW5zPWdlZGNvbV9paSwgZ2VkY29tX2luCitzeW50YXggbWF0Y2ggZ2VkY29tX2lpICJcSVwrIiBjb250YWluZWQgbmV4dGdyb3VwPWdlZGNvbV9pbgorc3ludGF4IG1hdGNoIGdlZGNvbV9pbiAiXGRcKyIgY29udGFpbmVkCitzeW50YXggcmVnaW9uIGdlZGNvbV9uYW1lIHN0YXJ0PSIiIGVuZD0iJCIgc2tpcHdoaXRlIG9uZWxpbmUgY29udGFpbnM9Z2VkY29tX2NuYW1lLCBnZWRjb21fc3VybmFtZSBjb250YWluZWQKK3N5bnRheCBtYXRjaCBnZWRjb21fY25hbWUgIlxpXCsiIGNvbnRhaW5lZAorc3ludGF4IG1hdGNoIGdlZGNvbV9zdXJuYW1lICIvXChcaVx8XHNcKSovIiBjb250YWluZWQKK3N5bnRheCBtYXRjaCBnZWRjb21fZGF0ZSAiXGRcezEsMn1cc1wrXChqYW5cfGZlYlx8bWFyXHxhcHJcfG1heVx8anVuXHxqdWxcfGF1Z1x8c2VwXHxvY3RcfG5vdlx8ZGVjXClcc1wrXGRcKyIKK3N5bnRheCBtYXRjaCBnZWRjb21fZGF0ZSAiLioiIGNvbnRhaW5lZAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9nZWRjb21fc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZ2VkY29tX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGdlZGNvbV9yZWNvcmQgU3RhdGVtZW50CisgIEhpTGluayBnZWRjb21faWQgQ29tbWVudAorICBIaUxpbmsgZ2VkY29tX2lpIFByZVByb2MKKyAgSGlMaW5rIGdlZGNvbV9pbiBUeXBlCisgIEhpTGluayBnZWRjb21fbmFtZSBQcmVQcm9jCisgIEhpTGluayBnZWRjb21fY25hbWUgVHlwZQorICBIaUxpbmsgZ2VkY29tX3N1cm5hbWUgSWRlbnRpZmllcgorICBIaUxpbmsgZ2VkY29tX2RhdGUgQ29uc3RhbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ2VkY29tIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ2tyZWxsbXJjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2drcmVsbG1yYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNlMTIzOAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2drcmVsbG1yYy52aW0KQEAgLTAsMCArMSw5MSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgVGhpcyBpcyBhIEdFTkVSQVRFRCBGSUxFLiBQbGVhc2UgYWx3YXlzIHJlZmVyIHRvIHNvdXJjZSBmaWxlIGF0IHRoZSBVUkkgYmVsb3cuCisiIExhbmd1YWdlOiBna3JlbGxtIHRoZW1lIGZpbGVzIGBna3JlbGxtcmMnCisiIE1haW50YWluZXI6IERhdmlkIE5lXHZ7Y31hcyAoWWV0aSkgPHlldGlAcGh5c2ljcy5tdW5pLmN6PgorIiBMYXN0IENoYW5nZTogMjAwMy0wNC0zMAorIiBVUkw6IGh0dHA6Ly90cmlmaWMuYXRoLmN4L0Z0cC92aW0vc3ludGF4L2drcmVsbG1yYy52aW0KKworIiBTZXR1cAoraWYgdmVyc2lvbiA+PSA2MDAKKwlpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCQlmaW5pc2gKKwllbmRpZgorZWxzZQorCXN5bnRheCBjbGVhcgorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAKKwlzZXRsb2NhbCBpc2tleXdvcmQ9XywtLGEteixBLVosNDgtNTcKK2Vsc2UKKwlzZXQgaXNrZXl3b3JkPV8sLSxhLXosQS1aLDQ4LTU3CitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCisiIEJhc2UgY29uc3RydWN0cworc3luIG1hdGNoIGdrcmVsbG1yY0NvbW1lbnQgIiMuKiQiIGNvbnRhaW5zPWdrcmVsbG1yY0ZpeG1lCitzeW4ga2V5d29yZCBna3JlbGxtcmNGaXhtZSBGSVhNRSBUT0RPIFhYWCBOT1QgY29udGFpbmVkCitzeW4gcmVnaW9uIGdrcmVsbG1yY1N0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIG9uZWxpbmUKK3N5biBtYXRjaCBna3JlbGxtcmNOdW1iZXIgIl4tXD1cKFxkXCtcKVw9XC5cPVxkXCsiCitzeW4gbWF0Y2ggZ2tyZWxsbXJjTnVtYmVyICJcVy1cPVwoXGRcK1wpXD1cLlw9XGRcKyJsYz0xCitzeW4ga2V5d29yZCBna3JlbGxtcmNDb25zdGFudCBub25lCitzeW4gbWF0Y2ggZ2tyZWxsbXJjUkdCQ29sb3IgIiNcKFx4XHsxMn1cfFx4XHs5fVx8XHhcezZ9XHxceFx7M31cKVw+IgorCisiIEtleXdvcmRzCitzeW4ga2V5d29yZCBna3JlbGxtcmNCdWlsdGluRXh0IGNwdV9uaWNlX2NvbG9yIGNwdV9uaWNlX2dyaWRfY29sb3Iga3JlbGxfZGVwdGgga3JlbGxfZXhwYW5kIGtyZWxsX2xlZnRfbWFyZ2luIGtyZWxsX3JpZ2h0X21hcmdpbiBrcmVsbF94X2hvdCBrcmVsbF95b2ZmIG1lbV9rcmVsbF9idWZmZXJzX2RlcHRoIG1lbV9rcmVsbF9idWZmZXJzX2V4cGFuZCBtZW1fa3JlbGxfYnVmZmVyc194X2hvdCBtZW1fa3JlbGxfYnVmZmVyc195b2ZmIG1lbV9rcmVsbF9jYWNoZV9kZXB0aCBtZW1fa3JlbGxfY2FjaGVfZXhwYW5kIG1lbV9rcmVsbF9jYWNoZV94X2hvdCBtZW1fa3JlbGxfY2FjaGVfeW9mZiBzZW5zb3JzX2JnX3ZvbHQgdGltZXJfYmdfdGltZXIKK3N5biBrZXl3b3JkIGdrcmVsbG1yY0dsb2JhbCBhbGxvd19zY2FsaW5nIGF1dGhvciBjaGFydF93aWR0aF9yZWYgdGhlbWVfYWx0ZXJuYXRpdmVzCitzeW4ga2V5d29yZCBna3JlbGxtcmNTZXRDbWQgc2V0X2ltYWdlX2JvcmRlciBzZXRfaW50ZWdlciBzZXRfc3RyaW5nCitzeW4ga2V5d29yZCBna3JlbGxtcmNHbG9iYWwgYmdfc2xpZGVyX21ldGVyX2JvcmRlciBiZ19zbGlkZXJfcGFuZWxfYm9yZGVyCitzeW4ga2V5d29yZCBna3JlbGxtcmNHbG9iYWwgZnJhbWVfYm90dG9tX2hlaWdodCBmcmFtZV9sZWZ0X3dpZHRoIGZyYW1lX3JpZ2h0X3dpZHRoIGZyYW1lX3RvcF9oZWlnaHQgZnJhbWVfbGVmdF9jaGFydF9vdmVybGFwIGZyYW1lX3JpZ2h0X2NoYXJ0X292ZXJsYXAgZnJhbWVfbGVmdF9wYW5lbF9vdmVybGFwIGZyYW1lX3JpZ2h0X3BhbmVsX292ZXJsYXAgZnJhbWVfbGVmdF9zcGFjZXJfb3ZlcmxhcCBmcmFtZV9yaWdodF9zcGFjZXJfb3ZlcmxhcCBzcGFjZXJfb3ZlcmxhcF9vZmYgY2FwX2ltYWdlc19vZmYKK3N5biBrZXl3b3JkIGdrcmVsbG1yY0dsb2JhbCBmcmFtZV9ib3R0b21fYm9yZGVyIGZyYW1lX2xlZnRfYm9yZGVyIGZyYW1lX3JpZ2h0X2JvcmRlciBmcmFtZV90b3BfYm9yZGVyIHNwYWNlcl90b3BfYm9yZGVyIHNwYWNlcl9ib3R0b21fYm9yZGVyIGZyYW1lX2xlZnRfY2hhcnRfYm9yZGVyIGZyYW1lX3JpZ2h0X2NoYXJ0X2JvcmRlciBmcmFtZV9sZWZ0X3BhbmVsX2JvcmRlciBmcmFtZV9yaWdodF9wYW5lbF9ib3JkZXIKK3N5biBrZXl3b3JkIGdrcmVsbG1yY0dsb2JhbCBjaGFydF9pbl9jb2xvciBjaGFydF9pbl9jb2xvcl9ncmlkIGNoYXJ0X291dF9jb2xvciBjaGFydF9vdXRfY29sb3JfZ3JpZAorc3luIGtleXdvcmQgZ2tyZWxsbXJjR2xvYmFsIGJnX3NlcGFyYXRvcl9oZWlnaHQgYmdfZ3JpZF9tb2RlCitzeW4ga2V5d29yZCBna3JlbGxtcmNHbG9iYWwgcnhfbGVkX3ggcnhfbGVkX3kgdHhfbGVkX3ggdHhfbGVkX3kKK3N5biBrZXl3b3JkIGdrcmVsbG1yY0dsb2JhbCBkZWNhbF9tYWlsX2ZyYW1lcyBkZWNhbF9tYWlsX2RlbGF5CitzeW4ga2V5d29yZCBna3JlbGxtcmNHbG9iYWwgZGVjYWxfYWxhcm1fZnJhbWVzIGRlY2FsX3dhcm5fZnJhbWVzCitzeW4ga2V5d29yZCBna3JlbGxtcmNHbG9iYWwga3JlbGxfc2xpZGVyX2RlcHRoIGtyZWxsX3NsaWRlcl9leHBhbmQga3JlbGxfc2xpZGVyX3hfaG90CitzeW4ga2V5d29yZCBna3JlbGxtcmNHbG9iYWwgYnV0dG9uX3BhbmVsX2JvcmRlciBidXR0b25fbWV0ZXJfYm9yZGVyCitzeW4ga2V5d29yZCBna3JlbGxtcmNHbG9iYWwgbGFyZ2VfZm9udCBub3JtYWxfZm9udCBzbWFsbF9mb250CitzeW4ga2V5d29yZCBna3JlbGxtcmNHbG9iYWwgc3BhY2VyX2JvdHRvbV9oZWlnaHQgc3BhY2VyX3RvcF9oZWlnaHQgc3BhY2VyX2JvdHRvbV9oZWlnaHRfY2hhcnQgc3BhY2VyX3RvcF9oZWlnaHRfY2hhcnQgc3BhY2VyX2JvdHRvbV9oZWlnaHRfbWV0ZXIgc3BhY2VyX3RvcF9oZWlnaHRfbWV0ZXIKK3N5biBrZXl3b3JkIGdrcmVsbG1yY0V4cGFuZE1vZGUgbGVmdCByaWdodCBiYXItbW9kZSBsZWZ0LXNjYWxlZCByaWdodC1zY2FsZWQgYmFyLW1vZGUtc2NhbGVkCitzeW4ga2V5d29yZCBna3JlbGxtcmNNZXRlck5hbWUgYXBtIGNhbCBjbG9jayBmcyBob3N0IG1haWwgbWVtIHN3YXAgdGltZXIgc2Vuc29ycyB1cHRpbWUKK3N5biBrZXl3b3JkIGdrcmVsbG1yY0NoYXJ0TmFtZSBjcHUgcHJvYyBkaXNrIGluZXQgYW5kIG5ldAorc3luIG1hdGNoIGdrcmVsbG1yY1NwZWNpYWxDbGFzc05hbWUgIlwqIgorc3luIGtleXdvcmQgZ2tyZWxsbXJjU3R5bGVDbWQgU3R5bGVNZXRlciBTdHlsZUNoYXJ0IFN0eWxlUGFuZWwKK3N5biBrZXl3b3JkIGdrcmVsbG1yY1N0eWxlSXRlbSB0ZXh0Y29sb3IgYWx0X3RleHRjb2xvciBmb250IGFsdF9mb250IHRyYW5zcGFyZW5jeSBib3JkZXIgbGFiZWxfcG9zaXRpb24gbWFyZ2luIG1hcmdpbnMgbGVmdF9tYXJnaW4gcmlnaHRfbWFyZ2luIHRvcF9tYXJnaW4gYm90dG9tX21hcmdpbiBrcmVsbF9kZXB0aCBrcmVsbF95b2ZmIGtyZWxsX3hfaG90IGtyZWxsX2V4cGFuZCBrcmVsbF9sZWZ0X21hcmdpbiBrcmVsbF9yaWdodF9tYXJnaW4KKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZ3RrcmNfc3ludGF4X2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfZ3RrcmNfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayBna3JlbGxtcmNDb21tZW50IENvbW1lbnQKKwlIaUxpbmsgZ2tyZWxsbXJjRml4bWUgVG9kbworCisJSGlMaW5rIGdrcmVsbG1yY1N0cmluZyBna3JlbGxtcmNDb25zdGFudAorCUhpTGluayBna3JlbGxtcmNOdW1iZXIgZ2tyZWxsbXJjQ29uc3RhbnQKKwlIaUxpbmsgZ2tyZWxsbXJjUkdCQ29sb3IgZ2tyZWxsbXJjQ29uc3RhbnQKKwlIaUxpbmsgZ2tyZWxsbXJjRXhwYW5kTW9kZSBna3JlbGxtcmNDb25zdGFudAorCUhpTGluayBna3JlbGxtcmNDb25zdGFudCBDb25zdGFudAorCisJSGlMaW5rIGdrcmVsbG1yY01ldGVyTmFtZSBna3JlbGxtcmNDbGFzcworCUhpTGluayBna3JlbGxtcmNDaGFydE5hbWUgZ2tyZWxsbXJjQ2xhc3MKKwlIaUxpbmsgZ2tyZWxsbXJjU3BlY2lhbENsYXNzTmFtZSBna3JlbGxtcmNDbGFzcworCUhpTGluayBna3JlbGxtcmNDbGFzcyBUeXBlCisKKwlIaUxpbmsgZ2tyZWxsbXJjR2xvYmFsIGdrcmVsbG1yY0l0ZW0KKwlIaUxpbmsgZ2tyZWxsbXJjQnVpbHRpbkV4dCBna3JlbGxtcmNJdGVtCisJSGlMaW5rIGdrcmVsbG1yY1N0eWxlSXRlbSBna3JlbGxtcmNJdGVtCisJSGlMaW5rIGdrcmVsbG1yY0l0ZW0gRnVuY3Rpb24KKworCUhpTGluayBna3JlbGxtcmNTZXRDbWQgU3BlY2lhbAorCUhpTGluayBna3JlbGxtcmNTdHlsZUNtZCBTdGF0ZW1lbnQKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJna3JlbGxtcmMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9nbnVwbG90LnZpbSBiL3J1bnRpbWUvc3ludGF4L2dudXBsb3QudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2ZmE3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9nbnVwbG90LnZpbQpAQCAtMCwwICsxLDE5OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CWdudXBsb3QgMy44aS4wCisiIE1haW50YWluZXI6CUpvaG4gSG9lbHplbCBqb2huaDUxQHVzZXJzLnNvdXJjZWZvcmdlLm5ldAorIiBMYXN0IENoYW5nZToJTW9uIE1heSAyNiAwMjozMzozMyBVVEMgMjAwMworIiBGaWxlbmFtZXM6CSouZ3BpICAqLmdpaCAgIHNjcmlwdHM6ICMhKmdudXBsb3QKKyIgVVJMOgkJaHR0cDovL2pvaG5oNTEuZ2V0LnRvL3ZpbS9zeW50YXgvZ251cGxvdC52aW0KKyIKKworIiB0aGFua3MgdG8gIkRhdmlkIE5lY2FzIChZZXRpKSIgPHlldGlAcGh5c2ljcy5tdW5pLmN6PiBmb3IgaGVhZHMgdXAgLSB3b3JraW5nIG9uIG1vcmUgY2hhbmdlcyAuCisiICouZ3BpICAgICAgPSBHbnVQbG90IElucHV0IC0gd2hhdCBJIHVzZSBiZWNhdXNlIHRoZXJlIGlzIG5vIG90aGVyIGd1aWRlbGluZS4gamVoIDExLzIwMDAKKyIgKi5naWggICAgICA9IG1ha2VzIHVzaW5nIGN1dC9wYXN0aW5nIGZyb20gZ251cGxvdC5naWggZWFzaWVyIC4uLgorIiAjISpnbnVwbG90ID0gZm9yIExpbnV4IGJhc2ggc2hlbGwgc2NyaXB0cyBvZiBnbnVwbG90IGNvbW1hbmRzLgorIgkgICAgICAgZW1hY3MgdXNlZCBhIHN1ZmZpeCBvZiAnPGdwPz4nCisiIGdudXBsb3QgZGVtbyBmaWxlcyBzaG93IG5vIHByZWZlcmVuY2UuCisiIEkgd2lsbCBwb3N0IG1haWwgYW5kIG5ld3Nncm91cCBjb21tZW50cyBvbiBhIHN0YW5kYXJkIHN1ZmZpeCBpbiAnVVJMJyBkaXJlY3RvcnkuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBzb21lIHNob3J0ZW5lZCBuYW1lcyB0byBtYWtlIGRlbW8gZmlsZXMgbG9vayBjbGVhbi4uLiBqZWguIDExLzIwMDAKKyIgZGVtb3MgLT4gMy44aSAuLi4gamVoLiA1LzIwMDMgLSBhIHdvcmsgaW4gcHJvZ3Jlc3MuLi4KKworIiBjb21tYW5kcworCitzeW4ga2V5d29yZCBnbnVwbG90U3RhdGVtZW50CWNkIGNhbGwgY2xlYXIgZXhpdCBzZXQgdW5zZXQgcGxvdCBzcGxvdCBoZWxwCitzeW4ga2V5d29yZCBnbnVwbG90U3RhdGVtZW50CWxvYWQgcGF1c2UgcXVpdCBmaXQgcmVwW2xvdF0gaWYKK3N5biBrZXl3b3JkIGdudXBsb3RTdGF0ZW1lbnQJRklUX0xJTUlUIEZJVF9NQVhJVEVSIEZJVF9TVEFSVF9MQU1CREEKK3N5biBrZXl3b3JkIGdudXBsb3RTdGF0ZW1lbnQJRklUX0xBTUJEQV9GQUNUT1IgRklUX0xPRyBGSVRfU0NSSVBUCitzeW4ga2V5d29yZCBnbnVwbG90U3RhdGVtZW50CXByaW50IHB3ZCByZXJlYWQgcmVzZXQgc2F2ZSBzaG93IHRlc3QgISBmdW5jdGlvbnMgdmFyCitzeW4ga2V5d29yZCBnbnVwbG90Q29uZGl0aW9uYWwJaWYKKyIgaWYgaXMgY29uZCArIHN0bXQgLSBvaz8KKworIiBudW1iZXJzIGZtIGMudmltCisKKyIJaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBjYXNlICAgIGlnbm9yZQorc3luIG1hdGNoICAgZ251cGxvdE51bWJlcgkiXDxbMC05XVwrXCh1XD1sXD1cfGx1XHxmXClcPiIKKyIJZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCAgIGdudXBsb3RGbG9hdAkiXDxbMC05XVwrXC5bMC05XSpcKGVbLStdXD1bMC05XVwrXClcPVtmbF1cPVw+IgorIglmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggICBnbnVwbG90RmxvYXQJIlwuWzAtOV1cK1woZVstK11cPVswLTldXCtcKVw9W2ZsXVw9XD4iCisiCWZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKK3N5biBtYXRjaCAgIGdudXBsb3RGbG9hdAkiXDxbMC05XVwrZVstK11cPVswLTldXCtbZmxdXD1cPiIKKyIJaGV4IG51bWJlcgorc3luIG1hdGNoICAgZ251cGxvdE51bWJlcgkiXDwweFswLTlhLWZdXCtcKHVcPWxcPVx8bHVcKVw+Igorc3luIGNhc2UgICAgbWF0Y2gKKyIJZmxhZyBhbiBvY3RhbCBudW1iZXIgd2l0aCB3cm9uZyBkaWdpdHMgYnkgbm90IGhpbGlnaHRpbmcKK3N5biBtYXRjaCAgIGdudXBsb3RPY3RhbEVycm9yCSJcPDBbMC03XSpbODldIgorCisiIHBsb3QgYXJncworCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJdVtzaW5nXSB0aXRbbGVdIG5vdGl0W2xlXSB3aVt0aF0gc3RlcHMgZnNbdGVwc10KK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl0aXRsZSBub3RpdGxlIHQKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl3aXRoIHcKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlsaVtuZXNdIGwKKyIgdCAtIHRvbyBtdWNoPyAgdyAtIHRvbyBtdWNoPyAgbCAtIHRvbyBtdWNoPworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWxpbmVzcG9pbnRzIHZpYQorCisiIGZ1bmNzCisKK3N5biBrZXl3b3JkIGdudXBsb3RGdW5jCQlhYnMgYWNvcyBhY29zaCBhcmcgYXNpbiBhc2luaCBhdGFuIGF0YW5oIGF0YW4yCitzeW4ga2V5d29yZCBnbnVwbG90RnVuYwkJYmVzajAgYmVzajEgYmVzeTAgYmVzeTEKK3N5biBrZXl3b3JkIGdudXBsb3RGdW5jCQljZWlsIGNvbHVtbiBjb3MgY29zaCBlcmYgZXJmYyBleHAgZmxvb3IgZ2FtbWEKK3N5biBrZXl3b3JkIGdudXBsb3RGdW5jCQlpYmV0YSBpbnZlcmYgaWdhbW1hIGltYWcgaW52bm9ybSBpbnQgbGdhbW1hCitzeW4ga2V5d29yZCBnbnVwbG90RnVuYwkJbG9nIGxvZzEwIG5vcm0gcmFuZCByZWFsIHNnbiBzaW4gc2luaCBzcXJ0IHRhbgorc3luIGtleXdvcmQgZ251cGxvdEZ1bmMJCWxhbWJlcnR3CitzeW4ga2V5d29yZCBnbnVwbG90RnVuYwkJdGFuaCB2YWxpZAorc3luIGtleXdvcmQgZ251cGxvdEZ1bmMJCXRtX2hvdXIgdG1fbWRheSB0bV9taW4gdG1fbW9uIHRtX3NlYworc3luIGtleXdvcmQgZ251cGxvdEZ1bmMJCXRtX3dkYXkgdG1feWRheSB0bV95ZWFyCisKKyIgc2V0IHZhcnMKKworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXhkYXRhIHRpbWVmbXQgZ3JpZCBub3l0aWNzIHl0aWNzIGZzCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJbG9nc2NhbGUgdGltZSBub3RpbWUgbXh0aWNzIG5vbXh0aWNzIHN0eWxlIG1jYnRpY3MKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlub2xvZ3NjYWxlCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJYXhlcyB4MXkyIHVuaXF1ZSBhY3NbcGxpbmVzXQorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXNpemUgb3JpZ2luIG11bHRpcGxvdCB4dGljcyB4clthbmdlXSB5clthbmdlXSBzcXVhcmUgbm9zcXVhcmUgcmF0aW8gbm9yYXRpbworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWJpbmFyeSBtYXRyaXggaW5kZXggZXZlcnkgdGhydSBzbVtvb3RoXQorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWFsbCBhbmdsZXMgZGVncmVlcyByYWRpYW5zCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJYXJyb3cgbm9hcnJvdyBhdXRvc2NhbGUgbm9hdXRvc2NhbGUgYXJyb3dzdHlsZQorIiBhdXRvc2NhbGUgYXJncyA9IHggeSB4eSB6IHQgeW1pbiAuLi4gLSB0b28gbXVjaD8KKyIgbmVlZHMgY29kZSB0bzogdXNpbmcgdGl0bGUgdnMgYXV0b3NjYWxlIHQKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl4IHkgeiB6Y2IKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlsaW5lYXIgIGN1Ymljc3BsaW5lICBic3BsaW5lIG9yZGVyIGxldmVsW3NdCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJYXV0byBkaXNjW3JldGVdIGluY3JbZW1lbnRhbF0gZnJvbSB0byBoZWFkIG5vaGVhZAorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWdyYXBoIGJhc2UgYm90aCBub3N1cmZhY2UgdGFibGUgb3V0W3B1dF0gZGF0YQorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWJhciBib3JkZXIgbm9ib3JkZXIgYm94d2lkdGgKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQljbGFiZWwgbm9jbGFiZWwgY2xpcCBub2NsaXAgY250cnBbYXJhbV0KK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQljb250b3VyIG5vY29udG91cgorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWRncmlkM2Qgbm9kZ3JpZDNkIGR1bW15IGVuY29kaW5nIGZvcm1hdAorIiBzZXQgZW5jb2RpbmcgYXJncyBub3QgaW5jbHVkZWQgLSB5ZXQuCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJZnVuY3Rpb24gZ3JpZCBub2dyaWQgaGlkZGVuWzNkXSBub2hpZGRlblszZF0gaXNvc2FtcGxlW3NdIGtleSBub2tleQorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWhpc3RvcnlzaXplIG5vaGlzdG9yeXNpemUKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlkZWZhdWx0cyBvZmZzZXQgbm9vZmZzZXQgdHJpYW5nbGVwYXR0ZXJuIHVuZGVmaW5lZCBub3VuZGVmaW5lZCBhbHRkaWFnb25hbCBiZW50b3ZlciBub2FsdGRpYWdvbmFsIG5vYmVudG92ZXIKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlsZWZ0IHJpZ2h0IHRvcCBib3R0b20gb3V0c2lkZSBiZWxvdyBzYW1wbGVuIHNwYWNpbmcgd2lkdGggaGVpZ2h0IGJveCBub2JveCBsaW5lc3R5bGUgbHMgbGluZXR5cGUgbHQgbGluZXdpZHRoIGx3CitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJTGVmdCBSaWdodCBhdXRvdGl0bGVzIG5vYXV0b3RpdGxlcyBlbmhhbmNlZCBub2VuaGFuY2VkCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJaXNvc2FtcGxlcworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWxhYmVsIG5vbGFiZWwgbG9nc2NhbGUgbm9sb2dbc2NhbGVdIG1pc3NpbmcgY2VudGVyIGZvbnQgbG9jYWxlCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJbWFwcGluZyBtYXJnaW4gYm1hcmdpbiBsbWFyZ2luIHJtYXJnaW4gdG1hcmdpbiBzcGhlcmljYWwgY3lsaW5kcmljYWwgY2FydGVzaWFuCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJbGluZXN0eWxlIG5vbGluZXN0eWxlIGxpbmV0eXBlIGx0IGxpbmV3aWR0aCBsdyBwb2ludHR5cGUgcHQgcG9pbnRzaXplIHBzCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJbW91c2Ugbm9tb3VzZQorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCW5vb2Zmc2V0cyBkYXRhIGNhbmRsZXN0aWNrcyBmaW5hbmNlYmFycyBsaW5lc3BvaW50cyBscCB2ZWN0b3Igbm9zdXJmYWNlCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJdGVybVtpbmFsXSBsaW51eCBhZWQ3NjcgYWVkNTEyIGdwaWMKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlyZWdpcyB0ZWs0MTB4IHRlazQwIHZ0dGVrIGtjLXRlazQweHgKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlrbS10ZWs0MHh4IHNlbGFuYXIgYml0Z3JhcGggeGxpYiB4MTEgWDExCisiIHgxMSBhcmdzCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJYWlmbSBjZ20gZHVtYiBmaWcgZ2lmIHNtYWxsIGxhcmdlIHNpemUgbm9mb250bGlzdCB3aW53b3JkNiBjb3JlbCBkeGYgZW1mCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJaHBnbAorIiBzeW4ga2V5d29yZCBnbnVwbG90VHlwZQl0cmFuc3BhcmVudCBocDI2MjNhIGhwMjY0OCBocDUwMGMgcGNsNQkJCQkgICAgICB3aHkgamVoCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJaHAyNjIzYSBocDI2NDggaHA1MDBjIHBjbDUKK3N5biBtYXRjaCBnbnVwbG90VHlwZQkJIlw8dHJhbnNwYXJlbnRcPiIKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlocGxqaWkgaHBkaiBocHBqIGltYWdlbiBtaWYgcGJtIHBuZyBzdmcKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlwb3N0c2NyaXB0IGVuaGFuY2VkX3Bvc3RzY3JpcHQgcW1zIHRhYmxlCisiIHBvc3RzY3JpcHQgZWRpdGluZyB2YWx1ZXM/CitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJdGdpZiB0a2NhbnZhcyBlcHNvbi0xODBkcGkgZXBzb24tNjBkcGkKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQllcHNvbi1seDgwMCBuZWMtY3A2IG9raWRhdGEgc3RhcmMKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl0YW5keS02MGRwaSBsYXRleCBlbXRleCBwc2xhdGV4IHBzdGV4IGVwc2xhdGV4CitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJZWVwaWMgdHBpYyBwc3RyaWNrcyB0ZXhkcmF3IG1mIG1ldGFmb250IG1wb3N0IG1wCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJdGltZXN0YW1wIG5vdGltZXN0YW1wCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJdmFyaWFibGVzIHZlcnNpb24KK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl4MmRhdGEgeTJkYXRhIHlkYXRhIHpkYXRhCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJcmV2ZXJzZSB3cml0ZWJhY2sgbm9yZXZlcnNlIG5vd3JpdGViYWNrCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJYXhpcyBtaXJyb3IgYXV0b2ZyZXEgbm9taXJyb3Igcm90YXRlIGF1dG9mcmVxIG5vcm90YXRlCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJdXBkYXRlCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJbXVsdGlwbG90IG5vbXVsdGlwbG90IG15dGljcworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCW5vbXl0aWNzIG16dGljcyBub216dGljcyBteDJ0aWNzIG5vbXgydGljcworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCW15MnRpY3Mgbm9teTJ0aWNzIG9mZnNldHMgb3JpZ2luIG91dHB1dAorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXBhcmFbbWV0cmljXSBub3BhcmFbbWV0cmljXSBwb2ludHNpemUgcG9sYXIgbm9wb2xhcgorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXpyYW5nZSB4MnJhbmdlIHkycmFuZ2UgcnJhbmdlIGNicmFuZ2UKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl0cmFuZ2UgdXJhbmdlIHZyYW5nZSBzYW1wbGVbc10gc2l6ZQorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWJlemllciBib3hlcnJvcmJhcnMgYm94ZXMgYmFyZ3JhcGggYmFyW3NdCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJYm94eHlbZXJyb3JiYXJzXSBjc3BsaW5lcyBkb3RzIGZzdGVwcyBoaXN0ZXBzIGltcHVsc2VzCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJbGluZVtzXSBsaW5lc3Bbb2ludHNdIHBvaW50cyBwb2lpbnR0eXBlIHNiZXppZXIgc3BsaW5lcyBzdGVwcworIiB3IGx0IGx3IGxzCSAgICAgID0gb3B0aW9uYWwKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl2ZWN0b3JzIHhlcnJbb3JiYXJzXSB4eWVycltvcmJhcnNdIHllcnJbb3JiYXJzXSBmaW5hbmNlYmFycyBjYW5kbGVzdGlja3MgdmVjdG9yCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJZXJyb3JiW2FycyBzdXJmYWNlCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJZmlsbGVkY3VydmVbc10gcG0zZCAgIHgxIHgyIHkxIHkyIHh5IGNsb3NlZAorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCWF0IHBpIGZyb250CitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJZXJyb3JsaW5lcyB4ZXJyb3JsaW5lcyB5ZXJyb3JsaW5lcyB4eWVycm9ybGluZXMKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl0aWNzIHRpY3NsZXZlbCB0aWNzY2FsZSB0aW1lIHRpbWVmbXQgdmlldworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXhkYXRhIHhkdGljcyBub3hkdGljcyB5ZHRpY3Mgbm95ZHRpY3MKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl6ZHRpY3Mgbm96ZHRpY3MgeDJkdGljcyBub3gyZHRpY3MgeTJkdGljcyBub3kyZHRpY3MKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl4bGFiW2VsXSB5bGFiW2VsXSB6bGFiW2VsXSBjYmxhYltlbF0geDJsYWJlbCB5MmxhYmVsIHhtdGljcworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXhtdGljcyBub3htdGljcyB5bXRpY3Mgbm95bXRpY3Mgem10aWNzIG5vem10aWNzCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJeDJtdGljcyBub3gybXRpY3MgeTJtdGljcyBub3kybXRpY3MKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQljYmR0aWNzIG5vY2JkdGljcyBjYm10aWNzIG5vY2JtdGljcyBjYnRpY3Mgbm9jYnRpY3MKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl4dGljcyBub3h0aWNzIHl0aWNzIG5veXRpY3MKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQl6dGljcyBub3p0aWNzIHgydGljcyBub3gydGljcworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXkydGljcyBub3kydGljcyB6ZXJvIG5vemVybyB6ZXJvYXhpcyBub3plcm9heGlzCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJeHplcm9heGlzIG5veHplcm9heGlzIHl6ZXJvYXhpcyBub3l6ZXJvYXhpcworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXgyemVyb2F4aXMgbm94Mnplcm9heGlzIHkyemVyb2F4aXMgbm95Mnplcm9heGlzCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJYW5nbGVzIG9uZSB0d28gZmlsbCBlbXB0eSBzb2xpZCBwYXR0ZXJuCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJZGVmYXVsdAorc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXNjYW5zYXV0b21hdGljIGZsdXNoIGJbZWdpbl0gbm9mdHJpYW5nbGVzIGltcGxpY2l0CisiIGIgdG9vIG11Y2g/IC0gdXNlZCBpbiBkZW1vCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJcGFsZXR0ZSBwb3NpdGl2ZSBuZWdhdGl2ZSBwc19hbGxjRiBub3BzX2FsbGNGIG1heGNvbG9ycworc3luIGtleXdvcmQgZ251cGxvdFR5cGUJCXB1c2ggZm9udGZpbGUgcG9wCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJcmdiZm9ybXVsYWUgZGVmaW5lZCBmaWxlIGNvbG9yIG1vZGVsIGdyYWRpZW50IGNvbG9ybmFtZXMKK3N5biBrZXl3b3JkIGdudXBsb3RUeXBlCQlSR0IgSFNWIENNWSBZSVEgWFlaCitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJY29sb3Jib3ggdmVydGljYWwgaG9yaXpvbnRhbCB1c2VyIGJkZWZhdWx0CitzeW4ga2V5d29yZCBnbnVwbG90VHlwZQkJbG9hZHBhdGggZm9udHBhdGggZGVjaW1hbHNpZ24gaW4gb3V0CisKKyIgY29tbWVudHMgKyBzdHJpbmdzCitzeW4gcmVnaW9uIGdudXBsb3RDb21tZW50CXN0YXJ0PSIjIiBlbmQ9IiQiCitzeW4gcmVnaW9uIGdudXBsb3RDb21tZW50CXN0YXJ0PSsiKyBza2lwPStcXCIrIGVuZD0rIisKK3N5biByZWdpb24gZ251cGxvdENvbW1lbnQJc3RhcnQ9KycrCSAgICAgZW5kPSsnKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9nbnVwbG90X3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2dudXBsb3Rfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZ251cGxvdFN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIGdudXBsb3RDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgZ251cGxvdE51bWJlcgkJTnVtYmVyCisgIEhpTGluayBnbnVwbG90RmxvYXQJCUZsb2F0CisgIEhpTGluayBnbnVwbG90T2N0YWxFcnJvcglFcnJvcgorICBIaUxpbmsgZ251cGxvdEZ1bmMJCVR5cGUKKyAgSGlMaW5rIGdudXBsb3RUeXBlCQlUeXBlCisgIEhpTGluayBnbnVwbG90Q29tbWVudAlDb21tZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImdudXBsb3QiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ncC52aW0gYi9ydW50aW1lL3N5bnRheC9ncC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk5OTc0OQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2dwLnZpbQpAQCAtMCwwICsxLDc5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJZ3AgKHZlcnNpb24gMi4xKQorIiBNYWludGFpbmVyOglLYXJpbSBCZWxhYmFzIDxLYXJpbS5CZWxhYmFzQG1hdGgudS1wc3VkLmZyPgorIiBMYXN0IGNoYW5nZToJMjAwMSBTZXAgMDIKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgc29tZSBjb250cm9sIHN0YXRlbWVudHMKK3N5bnRheCBrZXl3b3JkIGdwU3RhdGVtZW50CWJyZWFrIHJldHVybiBuZXh0CitzeW50YXgga2V5d29yZCBncENvbmRpdGlvbmFsCWlmCitzeW50YXgga2V5d29yZCBncFJlcGVhdAkJdW50aWwgd2hpbGUgZm9yIGZvcmRpdiBmb3JwcmltZSBmb3JzdGVwIGZvcnZlYworc3ludGF4IGtleXdvcmQgZ3BTY29wZQkJbG9jYWwgZ2xvYmFsCisKK3N5bnRheCBrZXl3b3JkIGdwSW50ZXJmYWNlS2V5CWJ1ZmZlcnNpemUgY29sb3JzIGNvbXBhdGlibGUgZGVidWcgZGVidWdtZW0KK3N5bnRheCBrZXl3b3JkIGdwSW50ZXJmYWNlS2V5CWVjaG8gZm9ybWF0IGhlbHAgaGlzdHNpemUgbG9nIGxvZ2ZpbGUgb3V0cHV0CitzeW50YXgga2V5d29yZCBncEludGVyZmFjZUtleQlwYXJpc2l6ZSBwYXRoIHByaW1lbGltaXQgcHJvbXB0IHBzZmlsZQorc3ludGF4IGtleXdvcmQgZ3BJbnRlcmZhY2VLZXkJcmVhbHByZWNpc2lvbiBzZXJpZXNwcmVjaXNpb24gc2ltcGxpZnkKK3N5bnRheCBrZXl3b3JkIGdwSW50ZXJmYWNlS2V5CXN0cmljdG1hdGNoIHRpbWVyCisKK3N5bnRheCBtYXRjaCAgIGdwSW50ZXJmYWNlCSJeXHMqXFxbYS16XS4qIgorc3ludGF4IGtleXdvcmQgZ3BJbnRlcmZhY2UJZGVmYXVsdAorc3ludGF4IGtleXdvcmQgZ3BJbnB1dAkJcmVhZCBpbnB1dAorCisiIGZ1bmN0aW9ucworc3ludGF4IG1hdGNoIGdwRnVuUmVnaW9uICJeXHMqW2EtekEtWl1bX2EtekEtWjAtOV0qKC4qKVxzKj1ccypbXiBcdD1dIm1lPWUtMSBjb250YWlucz1ncEZ1bmN0aW9uLGdwQXJncworc3ludGF4IG1hdGNoIGdwRnVuUmVnaW9uICJeXHMqW2EtekEtWl1bX2EtekEtWjAtOV0qKC4qKVxzKj1ccyokIiBjb250YWlucz1ncEZ1bmN0aW9uLGdwQXJncworc3ludGF4IG1hdGNoIGdwQXJncyBjb250YWluZWQgIlthLXpBLVpdW19hLXpBLVowLTldKiIKK3N5bnRheCBtYXRjaCBncEZ1bmN0aW9uIGNvbnRhaW5lZCAiXlxzKlthLXpBLVpdW19hLXpBLVowLTldKigibWU9ZS0xCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29uc3RhbnRzCisiIEhpZ2hsaWdodCBzcGVjaWFsIChiYWNrc2xhc2gnZWQpIGNoYXJhY3RlcnMgZGlmZmVyZW50bHkKK3N5bnRheCBtYXRjaCAgZ3BTcGVjaWFsIGNvbnRhaW5lZCAiXFxbZW50XFxdIgorc3ludGF4IHJlZ2lvbiBncFN0cmluZyAgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1ncFNwZWNpYWwKKworImNvbW1lbnRzCitzeW50YXggcmVnaW9uIGdwQ29tbWVudAlzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPWdwVG9kbworc3ludGF4IG1hdGNoICBncENvbW1lbnQgIlxcXFwuKiIgY29udGFpbnM9Z3BUb2RvCitzeW50YXgga2V5d29yZCBncFRvZG8gY29udGFpbmVkCVRPRE8KK3N5bnRheCBzeW5jIGNjb21tZW50IGdwQ29tbWVudCBtaW5saW5lcz0xMAorCisiY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworc3ludGF4IHJlZ2lvbiBncFBhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsZ3BQYXJlbkVycm9yLGdwVG9kbyxncEZ1bmN0aW9uLGdwQXJncyxncFNwZWNpYWwKK3N5bnRheCBtYXRjaCBncFBhcmVuRXJyb3IJIikiCitzeW50YXggbWF0Y2ggZ3BJblBhcmVuIGNvbnRhaW5lZCAiW3t9XSIKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2dwX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2dwX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGdwQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCisgIEhpTGluayBncFJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBncEVycm9yCQlFcnJvcgorICBIaUxpbmsgZ3BQYXJlbkVycm9yCQlncEVycm9yCisgIEhpTGluayBncEluUGFyZW4JCWdwRXJyb3IKKyAgSGlMaW5rIGdwU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGdwU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIGdwQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgZ3BJbnRlcmZhY2UJCVR5cGUKKyAgSGlMaW5rIGdwSW5wdXQJCVR5cGUKKyAgSGlMaW5rIGdwSW50ZXJmYWNlS2V5CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGdwRnVuY3Rpb24JCUZ1bmN0aW9uCisgIEhpTGluayBncFNjb3BlCQlUeXBlCisgICIgY29udGFpbmVkIG9uZXMKKyAgSGlMaW5rIGdwU3BlY2lhbAkJU3BlY2lhbAorICBIaUxpbmsgZ3BUb2RvCQkJVG9kbworICBIaUxpbmsgZ3BBcmdzCQkJVHlwZQorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3AiCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ3BnLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dwZy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM0MDE5NgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2dwZy52aW0KQEAgLTAsMCArMSw3MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSAgICBHbnVQRyBDb25maWd1cmF0aW9uIEZpbGUuCisiIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgorIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL2dwZy8KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0wNgorIiBhcmNoLXRhZzoJICAgIDYwMjMwNWY3LWQ4YWUtNDhlZi1hNjhmLTRkNTRmMTJhZjcwYQorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBTZXQgaXNrZXl3b3JkIHNpbmNlIHdlIG5lZWQgYC0nIChhbmQgcG90ZW50aWFsbHkgb3RoZXJzKSBpbiBrZXl3b3Jkcy4KKyIgRm9yIHZlcnNpb24gNS54OiBTZXQgaXQgZ2xvYmFsbHkKKyIgRm9yIHZlcnNpb24gNi54OiBTZXQgaXQgbG9jYWxseQoraWYgdmVyc2lvbiA+PSA2MDAKKyAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgorZWxzZQorICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXQgaXNrZXl3b3JkPTxhcmdzPgorZW5kaWYKK1NldElzayA0OC01Nyw2NS05MCw5Ny0xMjIsLQorZGVsY29tbWFuZCBTZXRJc2sKKworIiBjb21tZW50cworc3luIHJlZ2lvbiAgZ3BnQ29tbWVudAkgICAgY29udGFpbmVkIGRpc3BsYXkgb25lbGluZSBzdGFydD0iIyIgZW5kPSIkIiBjb250YWlucz1ncGdUb2RvLGdwZ0lECisKKyIgdG9kbworc3luIGtleXdvcmQgZ3BnVG9kbwkgICAgY29udGFpbmVkIEZJWE1FIFRPRE8gWFhYIE5PVEUKKworIiBpZHMKK3N5biBtYXRjaCAgIGdwZ0lECSAgICBjb250YWluZWQgZGlzcGxheSAiXDxcKDB4XClcPVx4XHs4LH1cPiIKKworc3luIG1hdGNoICAgZ3BnQmVnaW4JICAgICJeIiBza2lwd2hpdGUgbmV4dGdyb3VwPWdwZ0NvbW1lbnQsZ3BnT3B0aW9uLGdwZ0NvbW1hbmQKKworIiBjb21tYW5kcyB0aGF0IHRha2UgYXJncworc3luIGtleXdvcmQgZ3BnQ29tbWFuZCAgICAgIGNvbnRhaW5lZCBza2lwd2hpdGUgbmV4dGdyb3VwPWdwZ0FyZyBjaGVjay1zaWdzIGRlY3J5cHQgZGVjcnlwdC1maWxlcyBkZWxldGUta2V5IGRlbGV0ZS1zZWNyZXQtYW5kLXB1YmxpYy1rZXkgZGVsZXRlLXNlY3JldC1rZXkgZWRpdC1rZXkgZW5jcnlwdC1maWxlcyBleHBvcnQgZXhwb3J0LWFsbCBleHBvcnQtb3duZXJ0cnVzdCBleHBvcnQtc2VjcmV0LWtleXMgZXhwb3J0LXNlY3JldC1zdWJrZXlzIGZhc3QtaW1wb3J0IGZpbmdlcnByaW50IGdlbi1wcmltZSBnZW4tcmFuZG9tIGltcG9ydCBpbXBvcnQtb3duZXJ0cnVzdCBsaXN0LWtleXMgbGlzdC1wdWJsaWMta2V5cyBsaXN0LXNlY3JldC1rZXlzIGxpc3Qtc2lncyBsc2lnbi1rZXkgbnJzaWduLWtleSBwcmludC1tZCBwcmludC1tZHMgcmVjdi1rZXlzIHNlYXJjaC1rZXlzIHNlbmQta2V5cyBzaWduLWtleSB2ZXJpZnkgdmVyaWZ5LWZpbGVzCisiIGNvbW1hbmRzIHRoYXQgdGFrZSBubyBhcmdzCitzeW4ga2V5d29yZCBncGdDb21tYW5kICAgICAgY29udGFpbmVkIHNraXB3aGl0ZSBuZXh0Z3JvdXA9Z3BnQXJnRXJyb3IgY2hlY2stdHJ1c3RkYiBjbGVhcnNpZ24gZGVzaWctcmV2b2tlIGRldGFjaC1zaWduIGVuY3J5cHQgZ2VuLWtleSBnZW4tcmV2b2tlIGhlbHAgbGlzdC1wYWNrZXRzIHJlYnVpbGQta2V5ZGItY2FjaGVzIHNpZ24gc3RvcmUgc3ltbWV0cmljIHVwZGF0ZS10cnVzdGRiIHZlcnNpb24gd2FycmFudHkKKworIiBvcHRpb25zIHRoYXQgdGFrZSBhcmdzCitzeW4ga2V5d29yZCBncGdPcHRpb24gICAgICAgY29udGFpbmVkIHNraXB3aGl0ZSBuZXh0Z3JvdXA9Z3BnQXJnIGF0dHJpYnV0ZS1mZCBjZXJ0LWRpZ2VzdC1hbGdvIGNoYXJzZXQgY2lwaGVyLWFsZ28gY29tbWFuZC1mZCBjb21tZW50IGNvbXBsZXRlcy1uZWVkZWQgY29tcHJlc3MgY29tcHJlc3MtYWxnbyBkZWJ1ZyBkZWZhdWx0LWNlcnQtY2hlY2stbGV2ZWwgZGVmYXVsdC1rZXkgZGVmYXVsdC1wcmVmZXJlbmNlLWxpc3QgZGVmYXVsdC1yZWNpcGllbnQgZGlnZXN0LWFsZ28gZGlzYWJsZS1jaXBoZXItYWxnbyBkaXNhYmxlLXB1YmtleS1hbGdvIGVuY3J5cHQtdG8gZXhlYy1wYXRoIGV4cG9ydC1vcHRpb25zIGdyb3VwIGhvbWVkaXIgaW1wb3J0LW9wdGlvbnMga2V5cmluZyBrZXlzZXJ2ZXIga2V5c2VydmVyLW9wdGlvbnMgbG9hZC1leHRlbnNpb24gbG9jYWwtdXNlciBsb2dnZXItZmQgbWFyZ2luYWxzLW5lZWRlZCBtYXgtY2VydC1kZXB0aCBub3RhdGlvbi1kYXRhIG9wdGlvbnMgb3V0cHV0IG92ZXJyaWRlLXNlc3Npb24ta2V5IHBhc3NwaHJhc2UtZmQgcGVyc29uYWwtY2lwaGVyLXByZWZlcmVuY2VzIHBlcnNvbmFsLWNvbXByZXNzLXByZWZlcmVuY2VzIHBlcnNvbmFsLWRpZ2VzdC1wcmVmZXJlbmNlcyBwaG90by12aWV3ZXIgcmVjaXBpZW50IHMyay1jaXBoZXItYWxnbyBzMmstZGlnZXN0LWFsZ28gczJrLW1vZGUgc2VjcmV0LWtleXJpbmcgc2V0LWZpbGVuYW1lIHNldC1wb2xpY3ktdXJsIHN0YXR1cy1mZCB0cnVzdGVkLWtleQorIiBvcHRpb25zIHRoYXQgdGFrZSBubyBhcmdzCitzeW4ga2V5d29yZCBncGdPcHRpb24gICAgICAgY29udGFpbmVkIHNraXB3aGl0ZSBuZXh0Z3JvdXA9Z3BnQXJnRXJyb3IgYWxsb3ctZnJlZWZvcm0tdWlkIGFsbG93LW5vbi1zZWxmc2lnbmVkLXVpZCBhbGxvdy1zZWNyZXQta2V5LWltcG9ydCBhbHdheXMtdHJ1c3QgYXJtb3IgYXNrLWNlcnQtZXhwaXJlIGFzay1zaWctZXhwaXJlIGF1dG8tY2hlY2stdHJ1c3RkYiBiYXRjaCBkZWJ1Zy1hbGwgZGVmYXVsdC1jb21tZW50IGRlZmF1bHQtcmVjaXBpZW50LXNlbGYgZHJ5LXJ1biBlbWl0LXZlcnNpb24gZW11bGF0ZS1tZC1lbmNvZGUtYnVnIGVuYWJsZS1zcGVjaWFsLWZpbGVuYW1lcyBlc2NhcGUtZnJvbS1saW5lcyBleHBlcnQgZmFzdC1saXN0LW1vZGUgZml4ZWQtbGlzdC1tb2RlIGZvci15b3VyLWV5ZXMtb25seSBmb3JjZS1tZGMgZm9yY2UtdjMtc2lncyBmb3JjZS12NC1jZXJ0cyBncGctYWdlbnQtaW5mbyBpZ25vcmUtY3JjLWVycm9yIGlnbm9yZS1tZGMtZXJyb3IgaWdub3JlLXRpbWUtY29uZmxpY3QgaWdub3JlLXZhbGlkLWZyb20gaW50ZXJhY3RpdmUgbGlzdC1vbmx5IGxvY2stbXVsdGlwbGUgbG9jay1uZXZlciBsb2NrLW9uY2UgbWVyZ2Utb25seSBubyBuby1hbGxvdy1ub24tc2VsZnNpZ25lZC11aWQgbm8tYXJtb3Igbm8tYXNrLWNlcnQtZXhwaXJlIG5vLWFzay1zaWctZXhwaXJlIG5vLWF1dG8tY2hlY2stdHJ1c3RkYiBuby1iYXRjaCBuby1jb21tZW50IG5vLWRlZmF1bHQta2V5cmluZyBuby1kZWZhdWx0LXJlY2lwaWVudCBuby1lbmNyeXB0LXRvIG5vLWV4cGVuc2l2ZS10cnVzdC1jaGVja3Mgbm8tZXhwZXJ0IG5vLWZvci15b3VyLWV5ZXMtb25seSBuby1mb3JjZS12My1zaWdzIG5vLWZvcmNlLXY0LWNlcnRzIG5vLWdyZWV0aW5nIG5vLWxpdGVyYWwgbm8tbWRjLXdhcm5pbmcgbm8tb3B0aW9ucyBuby1wZXJtaXNzaW9uLXdhcm5pbmcgbm8tcGdwMiBuby1wZ3A2IG5vLXBncDcgbm8tcmFuZG9tLXNlZWQtZmlsZSBuby1zZWNtZW0td2FybmluZyBuby1zaG93LW5vdGF0aW9uIG5vLXNob3ctcGhvdG9zIG5vLXNob3ctcG9saWN5LXVybCBuby1zaWctY2FjaGUgbm8tc2lnLWNyZWF0ZS1jaGVjayBuby1zay1jb21tZW50cyBuby10dHkgbm8tdXRmOC1zdHJpbmdzIG5vLXZlcmJvc2Ugbm8tdmVyc2lvbiBub3QtZGFzaC1lc2NhcGVkIG9wZW5wZ3AgcGdwMiBwZ3A2IHBncDcgcHJlc2VydmUtcGVybWlzc2lvbnMgcXVpZXQgcmZjMTk5MSBzZXQtZmlsZXNpemUgc2hvdy1rZXlyaW5nIHNob3ctbm90YXRpb24gc2hvdy1waG90b3Mgc2hvdy1wb2xpY3ktdXJsIHNob3ctc2Vzc2lvbi1rZXkgc2ltcGxlLXNrLWNoZWNrc3VtIHNrLWNvbW1lbnRzIHNraXAtdmVyaWZ5IHRleHRtb2RlIHRocm93LWtleWlkIHRyeS1hbGwtc2VjcmV0cyB1c2UtYWdlbnQgdXNlLWVtYmVkZGVkLWZpbGVuYW1lIHV0Zjgtc3RyaW5ncyB2ZXJib3NlIHdpdGgtY29sb25zIHdpdGgtZmluZ2VycHJpbnQgd2l0aC1rZXktZGF0YSB5ZXMKKworIiBhcmd1bWVudHMgdG8gY29tbWFuZHMgYW5kIG9wdGlvbnMKK3N5biBtYXRjaCAgIGdwZ0FyZyAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAiXFNcK1woXHNcK1xTXCtcKSoiIGNvbnRhaW5zPWdwZ0lECitzeW4gbWF0Y2ggICBncGdBcmdFcnJvciAgICAgY29udGFpbmVkIGRpc3BsYXkgIlxTXCtcKFxzXCtcU1wrXCkqIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ncGdfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZ3BnX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGdwZ0NvbW1lbnQgICBDb21tZW50CisgIEhpTGluayBncGdUb2RvICAgICAgVG9kbworICBIaUxpbmsgZ3BnSUQgICAgICAgIE51bWJlcgorICBIaUxpbmsgZ3BnT3B0aW9uICAgIEtleXdvcmQKKyAgSGlMaW5rIGdwZ0NvbW1hbmQgICBFcnJvcgorICBIaUxpbmsgZ3BnQXJnRXJyb3IgIEVycm9yCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJncGciCisKKyIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dyYWRzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dyYWRzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjg4NTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZ3JhZHMudmltCkBAIC0wLDAgKzEsODYgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglncmFkcyAoR3JBRFMgc2NyaXB0cykKKyIgTWFpbnRhaW5lcjoJU3RlZmFuIEZyb256ZWsgKHNmcm9uemVrIGF0IGdteCBkb3QgbmV0KQorIiBMYXN0IGNoYW5nZTogMTMgRmViIDIwMDQKKworIiBHcmlkIEFuYWx5c2lzIGFuZCBEaXNwbGF5IFN5c3RlbSAoR3JBRFMpOyBodHRwOi8vZ3JhZHMuaWdlcy5vcmcvZ3JhZHMKKyIgVGhpcyBzeW50YXggZmlsZSBkZWZpbmVzIGhpZ2hsaWdodGluZyBmb3Igb25seSB2ZXJ5IGZldyBmZWF0dXJlcyBvZgorIiB0aGUgR3JBRFMgc2NyaXB0aW5nIGxhbmd1YWdlLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgR3JBRFMgaXMgZW50aXJlbHkgY2FzZS1pbnNlbnNpdGl2ZS4KK3N5biBjYXNlIGlnbm9yZQorCisiIFRoZSBrZXl3b3JkcworCitzeW4ga2V5d29yZCBncmFkc1N0YXRlbWVudAlpZiBlbHNlIGVuZGlmIGJyZWFrIGV4aXQgcmV0dXJuCitzeW4ga2V5d29yZCBncmFkc1N0YXRlbWVudAl3aGlsZSBlbmR3aGlsZSBzYXkgcHJvbXB0IHB1bGwgZnVuY3Rpb24KK3N5biBrZXl3b3JkIGdyYWRzU3RhdGVtZW50IHN1YndyZCBzdWJsaW4gc3Vic3RyIHJlYWQgd3JpdGUgY2xvc2UKKyIgU3RyaW5nCisKK3N5biByZWdpb24gZ3JhZHNTdHJpbmcJCXN0YXJ0PSsnKyBlbmQ9KycrCisKKyIgSW50ZWdlciBudW1iZXIKK3N5biBtYXRjaCAgZ3JhZHNOdW1iZXIJCSJbKy1dXD1cPFswLTldXCtcPiIKKworIiBPcGVyYXRvcgorCisic3luIGtleXdvcmQgZ3JhZHNPcGVyYXRvcgl8ICEgJSAmICE9ID49Cisic3luIG1hdGNoIGdyYWRzT3BlcmF0b3IJCSJbXlwuXW5vdFteYS16QS1aXSIKKworIiBWYXJpYWJsZXMKKworc3luIGtleXdvcmQgZ3JhZHNGaXhWYXJpYWJsZXMJbGF0IGxvbiBsZXYgcmVzdWx0IHJlYyByYworc3luIG1hdGNoIGdyYWRzZ2xvYmFsVmFyaWFibGVzCSJfW2EtekEtWl1bYS16QS1aMC05XSoiCitzeW4gbWF0Y2ggZ3JhZHNWYXJpYWJsZXMJCSJbYS16QS1aXVthLXpBLVowLTldKiIKK3N5biBtYXRjaCBncmFkc0NvbnN0CQkiI1tBLVpdW0EtWl9dKyIKKworIiBDb21tZW50cworCitzeW4gbWF0Y2ggZ3JhZHNDb21tZW50CSJcKi4qIgorCisiIFR5cGljYWwgVHlwb3MKKworIiBmb3IgQyBwcm9ncmFtbWVyczoKKyIgc3luIG1hdGNoIGdyYWRzVHlwb3MJIj09IgorIiBzeW4gbWF0Y2ggZ3JhZHNUeXBvcwkiIT0iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhncyBoaWdobGlnaHRpbmcreWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZ3Nfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorCWxldCBkaWRfZ3Nfc3luX2luaXRzID0gMQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZ3JhZHNTdGF0ZW1lbnQJCVN0YXRlbWVudAorCisgIEhpTGluayBncmFkc1N0cmluZwkJU3RyaW5nCisgIEhpTGluayBncmFkc051bWJlcgkJTnVtYmVyCisKKyAgSGlMaW5rIGdyYWRzRml4VmFyaWFibGVzCVNwZWNpYWwKKyAgSGlMaW5rIGdyYWRzVmFyaWFibGVzCQlJZGVudGlmaWVyCisgIEhpTGluayBncmFkc2dsb2JhbFZhcmlhYmxlcwlTcGVjaWFsCisgIEhpTGluayBncmFkc0NvbnN0CQlTcGVjaWFsCisKKyAgSGlMaW5rIGdyYWRzQ2xhc3NNZXRob2RzCUZ1bmN0aW9uCisKKyAgSGlMaW5rIGdyYWRzT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBncmFkc0NvbW1lbnQJCUNvbW1lbnQKKworICBIaUxpbmsgZ3JhZHNUeXBvcwkJRXJyb3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3JhZHMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ncm9mZi52aW0gYi9ydW50aW1lL3N5bnRheC9ncm9mZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRkYzBjYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2dyb2ZmLnZpbQpAQCAtMCwwICsxLDEwIEBACisiIFZJTSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJZ3JvZmYKKyIgTWFpbnRhaW5lcjoJQWxlamFuZHJvIEzzcGV6LVZhbGVuY2lhIDxkcmFkdWxAeWFob28uY29tPgorIiBVUkw6CQlodHRwOi8vZHJhZHVsLnRyaXBvZC5jb20vdmltCisiIExhc3QgQ2hhbmdlOgkyMDAzLTA1LTA4LTEyOjQxOjEzIEdNVC01LgorCisiIFRoaXMgdXNlcyB0aGUgbnJvZmYudmltIHN5bnRheCBmaWxlLgorbGV0IGI6bWFpbl9zeW50YXggPSAibnJvZmYiCitsZXQgYjpucm9mZl9pc19ncm9mZiA9IDEKK3J1bnRpbWUhIHN5bnRheC9ucm9mZi52aW0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dydWIudmltIGIvcnVudGltZS9zeW50YXgvZ3J1Yi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg3YThkOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2dydWIudmltCkBAIC0wLDAgKzEsNzcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgICAgR1JVQiBDb25maWd1cmF0aW9uIEZpbGUKKyIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+CisiIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvZ3J1Yi8KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0wNgorIiBhcmNoLXRhZzoJICAgIDdhNTZkZGQwLWU1NTEtNDRiYy1iOGMwLTIzNWZlZGJkZjNjMAorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBjb21tZW50cworc3luIHJlZ2lvbiAgZ3J1YkNvbW1lbnQJICAgIGRpc3BsYXkgb25lbGluZSBzdGFydD0iXiMiIGVuZD0iJCIgY29udGFpbnM9Z3J1YlRvZG8KKworIiB0b2RvCitzeW4ga2V5d29yZCBncnViVG9kbwkgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworIiBkZXZpY2VzCitzeW4gbWF0Y2ggICBncnViRGV2aWNlCSAgICBkaXNwbGF5ICIoXChbZmhdZFxkXHxcZFwrXHwweFx4XCtcKVwoLFxkXCtcKVw9XCgsXGxcKVw9KSIKKworIiBibG9jayBsaXN0cworc3luIG1hdGNoICAgZ3J1YkJsb2NrCSAgICBkaXNwbGF5ICJcKFxkXCtcKVw9K1xkXCtcKCxcKFxkXCtcKVw9K1xkXCtcKSoiCisKKyIgbnVtYmVycworc3luIG1hdGNoICAgZ3J1Yk51bWJlcnMJICAgIGRpc3BsYXkgIitcPVw8XGRcK1x8MHhceFwrXD4iCisKK3N5biBtYXRjaCAgZ3J1YkJlZ2luCSAgICBkaXNwbGF5ICJeIiBuZXh0Z3JvdXA9Z3J1YkNvbW1hbmQsZ3J1YkNvbW1lbnQgc2tpcHdoaXRlCisKKyIgbWVudSBjb21tYW5kcworc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBkZWZhdWx0IGZhbGxiYWNrIGhpZGRlbm1lbnUgdGltZW91dCB0aXRsZQorCisiIGdlbmVyYWwgY29tbWFuZHMKK3N5biBrZXl3b3JkIGdydWJDb21tYW5kCSAgICBjb250YWluZWQgYm9vdHAgY29sb3IgZGV2aWNlIGRoY3AgaGlkZSBpZmNvbmZpZyBwYWdlcgorc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBwYXJ0bmV3IHBhcnR0eXBlIHBhc3N3b3JkIHJhcnAgc2VyaWFsIHNldGtleQorc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCB0ZXJtaW5hbCB0ZnRwc2VydmVyIHVuaGlkZSBibG9ja2xpc3QgYm9vdCBjYXQKK3N5biBrZXl3b3JkIGdydWJDb21tYW5kCSAgICBjb250YWluZWQgY2hhaW5sb2FkZXIgY21wIGNvbmZpZ2ZpbGUgZGVidWcgZGlzcGxheWFwbQorc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBkaXNwbGF5bWVtIGVtYmVkIGZpbmQgZnN0ZXN0IGdlb21ldHJ5IGhhbHQgaGVscAorc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBpbXBzcHJvYmUgaW5pdHJkIGluc3RhbGwgaW9wcm9iZSBrZXJuZWwgbG9jaworc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBtYWtlYWN0aXZlIG1hcCBtZDVjcnlwdCBtb2R1bGUgbW9kdWxlbm91bnppcCBwYXVzZQorc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBxdWl0IHJlYm9vdCByZWFkIHJvb3Qgcm9vdG5vdmVyaWZ5IHNhdmVkZWZhdWx0CitzeW4ga2V5d29yZCBncnViQ29tbWFuZAkgICAgY29udGFpbmVkIHNldHVwIHRlc3Rsb2FkIHRlc3R2YmUgdXBwZXJtZW0gdmJlcHJvYmUKKworIiBjb2xvcnMKK3N5biBtYXRjaCAgIGdydWJDb2xvcgkgICAgIlwoYmxpbmstXClcPVwoYmxhY2tcfGJsdWVcfGdyZWVuXHxjeWFuXHxyZWRcfG1hZ2VudGFcfGJyb3duXHx5ZWxsb3dcfHdoaXRlXCkiCitzeW4gbWF0Y2ggICBncnViQ29sb3IJICAgICJcPFwoYmxpbmstXClcPWxpZ2h0LVwoZ3JheVx8Ymx1ZVx8Z3JlZW5cfGN5YW5cfHJlZFx8bWFnZW50YVwpIgorc3luIG1hdGNoICAgZ3J1YkNvbG9yCSAgICAiXDxcKGJsaW5rLVwpXD1kYXJrLWdyYXkiCisKKyIgc3BlY2lhbHMKK3N5biBrZXl3b3JkIGdydWJTcGVjaWFsCSAgICBzYXZlZAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ncnViX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2dydWJfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgZ3J1YkNvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgZ3J1YlRvZG8JVG9kbworICBIaUxpbmsgZ3J1Yk51bWJlcnMJTnVtYmVyCisgIEhpTGluayBncnViRGV2aWNlCUlkZW50aWZpZXIKKyAgSGlMaW5rIGdydWJCbG9jawlJZGVudGlmaWVyCisgIEhpTGluayBncnViQ29tbWFuZAlLZXl3b3JkCisgIEhpTGluayBncnViQ29sb3IJSWRlbnRpZmllcgorICBIaUxpbmsgZ3J1YlNwZWNpYWwJU3BlY2lhbAorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3J1YiIKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ3NwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dzcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc3NjZjNQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2dzcC52aW0KQEAgLTAsMCArMSw1OSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUdTUCAtIEdOVSBTZXJ2ZXIgUGFnZXMgKHYuIDAuODYpCisiIENyZWF0ZWQgQnk6CU5hdGhhbmllbCBIYXJ3YXJkIG5oYXJ3YXJkQHlhaG9vLmNvbQorIiBMYXN0IENoYW5nZWQ6IERlYy4gMTIsIDIwMDAKKyIgRmlsZW5hbWVzOiAgICAqLmdzcAorIiBVUkw6CQlodHRwOi8vd3d3LmNvbnN0cnVjdGljb24uY29tL35uaGFyd2FyZC92aW0vc3ludGF4L2dzcC52aW0KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCisgIGxldCBtYWluX3N5bnRheCA9ICdnc3AnCitlbmRpZgorCisiIFNvdXJjZSBIVE1MIHN5bnRheAoraWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvaHRtbC52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCitlbmRpZgordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCitzeW4gY2FzZSBtYXRjaAorCisiIEluY2x1ZGUgSmF2YSBzeW50YXgKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3luIGluY2x1ZGUgQGdzcEphdmEgPHNmaWxlPjpwOmgvamF2YS52aW0KK2Vsc2UKKyAgc3luIGluY2x1ZGUgQGdzcEphdmEgc3ludGF4L2phdmEudmltCitlbmRpZgorCisiIEFkZCA8amF2YT4gYXMgYW4gSFRNTCB0YWcgbmFtZSBhbG9uZyB3aXRoIGl0cyBhcmdzCitzeW4ga2V5d29yZCBodG1sVGFnTmFtZSBjb250YWluZWQgamF2YQorc3luIGtleXdvcmQgaHRtbEFyZyAgICAgY29udGFpbmVkIHR5cGUgZmlsZSBwYWdlCisKKyIgUmVkZWZpbmUgc29tZSBIVE1MIHRoaW5ncyB0byBpbmNsdWRlIChhbmQgaGlnaGxpZ2h0KSBnc3BJbkxpbmUgY29kZSBpbgorIiBwbGFjZXMgd2hlcmUgaXQncyBsaWtlbHkgdG8gYmUgZm91bmQKK3N5biByZWdpb24gaHRtbFN0cmluZyBjb250YWluZWQgc3RhcnQ9KyIrIGVuZD0rIisgY29udGFpbnM9aHRtbFNwZWNpYWxDaGFyLGphdmFTY3JpcHRFeHByZXNzaW9uLEBodG1sUHJlcHJvYyxnc3BJbkxpbmUKK3N5biByZWdpb24gaHRtbFN0cmluZyBjb250YWluZWQgc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbnM9aHRtbFNwZWNpYWxDaGFyLGphdmFTY3JpcHRFeHByZXNzaW9uLEBodG1sUHJlcHJvYyxnc3BJbkxpbmUKK3N5biBtYXRjaCAgaHRtbFZhbHVlICBjb250YWluZWQgIj1bXHQgXSpbXiciIFx0Pl1bXiBcdD5dKiJocz1zKzEgY29udGFpbnM9amF2YVNjcmlwdEV4cHJlc3Npb24sQGh0bWxQcmVwcm9jLGdzcEluTGluZQorc3luIHJlZ2lvbiBodG1sRW5kVGFnCQlzdGFydD0rPC8rICAgIGVuZD0rPisgY29udGFpbnM9aHRtbFRhZ04saHRtbFRhZ0Vycm9yLGdzcEluTGluZQorc3luIHJlZ2lvbiBodG1sVGFnCQlzdGFydD0rPFteL10rIGVuZD0rPisgY29udGFpbnM9aHRtbFRhZ04saHRtbFN0cmluZyxodG1sQXJnLGh0bWxWYWx1ZSxodG1sVGFnRXJyb3IsaHRtbEV2ZW50LGh0bWxDc3NEZWZpbml0aW9uLEBodG1sUHJlcHJvYyxAaHRtbEFyZ0NsdXN0ZXIsZ3NwSW5MaW5lCitzeW4gbWF0Y2ggIGh0bWxUYWdOICAgY29udGFpbmVkICs8XHMqWy1hLXpBLVowLTldXCsraHM9cysxIGNvbnRhaW5zPWh0bWxUYWdOYW1lLGh0bWxTcGVjaWFsVGFnTmFtZSxAaHRtbFRhZ05hbWVDbHVzdGVyLGdzcEluTGluZQorc3luIG1hdGNoICBodG1sVGFnTiAgIGNvbnRhaW5lZCArPC9ccypbLWEtekEtWjAtOV1cKytocz1zKzIgY29udGFpbnM9aHRtbFRhZ05hbWUsaHRtbFNwZWNpYWxUYWdOYW1lLEBodG1sVGFnTmFtZUNsdXN0ZXIsZ3NwSW5MaW5lCisKKyIgRGVmaW5lIHRoZSBHU1AgamF2YSBjb2RlIGJsb2Nrcworc3luIHJlZ2lvbiAgZ3NwSmF2YUJsb2NrIHN0YXJ0PSI8amF2YVw+W14+XSpcPiIgZW5kPSI8L2phdmE+Im1lPWUtNyBjb250YWlucz1AZ3NwSmF2YSxodG1sVGFnCitzeW4gcmVnaW9uICBnc3BJbkxpbmUgICAgbWF0Y2hncm91cD1odG1sRXJyb3Igc3RhcnQ9ImAiIGVuZD0iYCIgY29udGFpbnM9QGdzcEphdmEKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3NwIgorCitpZiBtYWluX3N5bnRheCA9PSAnZ3NwJworICB1bmxldCBtYWluX3N5bnRheAorZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2d0a3JjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2d0a3JjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzA1NGEyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvZ3RrcmMudmltCkBAIC0wLDAgKzEsMTQyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBUaGlzIGlzIGEgR0VORVJBVEVEIEZJTEUuIFBsZWFzZSBhbHdheXMgcmVmZXIgdG8gc291cmNlIGZpbGUgYXQgdGhlIFVSSSBiZWxvdy4KKyIgTGFuZ3VhZ2U6IEd0aysgdGhlbWUgZmlsZXMgYGd0a3JjJworIiBNYWludGFpbmVyOiBEYXZpZCBOZVx2e2N9YXMgKFlldGkpIDx5ZXRpQHBoeXNpY3MubXVuaS5jej4KKyIgTGFzdCBDaGFuZ2U6IDIwMDItMTAtMzEKKyIgVVJMOiBodHRwOi8vdHJpZmljLmF0aC5jeC9GdHAvdmltL3N5bnRheC9ndGtyYy52aW0KKworIiBTZXR1cAoraWYgdmVyc2lvbiA+PSA2MDAKKwlpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCQlmaW5pc2gKKwllbmRpZgorZWxzZQorCXN5bnRheCBjbGVhcgorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAKKwlzZXRsb2NhbCBpc2tleXdvcmQ9XywtLGEteixBLVosNDgtNTcKK2Vsc2UKKwlzZXQgaXNrZXl3b3JkPV8sLSxhLXosQS1aLDQ4LTU3CitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCisiIEJhc2UgY29uc3RydWN0cworc3luIG1hdGNoIGd0a3JjQ29tbWVudCAiIy4qJCIgY29udGFpbnM9Z3RrcmNGaXhtZQorc3luIGtleXdvcmQgZ3RrcmNGaXhtZSBGSVhNRSBUT0RPIFhYWCBOT1QgY29udGFpbmVkCitzeW4gcmVnaW9uIGd0a3JjQUNTdHJpbmcgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBvbmVsaW5lIGNvbnRhaW5zPWd0a3JjV1BhdGhTcGVjaWFsLGd0a3JjQ2xhc3NOYW1lLGd0a3JjQ2xhc3NOYW1lR25vbWUgY29udGFpbmVkCitzeW4gcmVnaW9uIGd0a3JjQlN0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIG9uZWxpbmUgY29udGFpbnM9Z3RrcmNLZXlNb2QgY29udGFpbmVkCitzeW4gcmVnaW9uIGd0a3JjU3RyaW5nIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Z3RrcmNTdG9ja05hbWUsZ3RrcmNQYXRoU3BlY2lhbCxndGtyY1JHQkNvbG9yCitzeW4gbWF0Y2ggZ3RrcmNQYXRoU3BlY2lhbCAiPHBhcmVudD4iIGNvbnRhaW5lZAorc3luIG1hdGNoIGd0a3JjV1BhdGhTcGVjaWFsICJbKj8uXSIgY29udGFpbmVkCitzeW4gbWF0Y2ggZ3RrcmNOdW1iZXIgIl5cKFxkXCtcKVw9XC5cPVxkXCsiCitzeW4gbWF0Y2ggZ3RrcmNOdW1iZXIgIlxXXChcZFwrXClcPVwuXD1cZFwrImxjPTEKK3N5biBtYXRjaCBndGtyY1JHQkNvbG9yICIjXChceFx7MTJ9XHxceFx7OX1cfFx4XHs2fVx8XHhcezN9XCkiIGNvbnRhaW5lZAorc3luIGNsdXN0ZXIgZ3RrcmNQUklWQVRFIGFkZD1ndGtyY0ZpeG1lLGd0a3JjUGF0aFNwZWNpYWwsZ3RrcmNXUGF0aFNwZWNpYWwsZ3RrcmNSR0JDb2xvcixndGtyY0FDU3RyaW5nCisKKyIgS2V5d29yZHMKK3N5biBrZXl3b3JkIGd0a3JjSW5jbHVkZSBpbmNsdWRlCitzeW4ga2V5d29yZCBndGtyY1BhdGhTZXQgbW9kdWxlX3BhdGggcGl4bWFwX3BhdGgKK3N5biBrZXl3b3JkIGd0a3JjVG9wIGJpbmRpbmcgc3R5bGUKK3N5biBrZXl3b3JkIGd0a3JjVG9wIHdpZGdldCB3aWRnZXRfY2xhc3MgbmV4dGdyb3VwPWd0a3JjQUNTdHJpbmcgc2tpcHdoaXRlCitzeW4ga2V5d29yZCBndGtyY1RvcCBjbGFzcyBuZXh0Z3JvdXA9Z3RrcmNBQ1N0cmluZyBza2lwd2hpdGUKK3N5biBrZXl3b3JkIGd0a3JjQmluZCBiaW5kIG5leHRncm91cD1ndGtyY0JTdHJpbmcgc2tpcHdoaXRlCitzeW4ga2V5d29yZCBndGtyY1N0YXRlTmFtZSBOT1JNQUwgSU5TRU5TSVRJVkUgUFJFTElHSFQgQUNUSVZFIFNFTEVDVEVECitzeW4ga2V5d29yZCBndGtyY1ByaW9yaXR5TmFtZSBISUdIRVNUIFJDIEFQUExJQ0FUSU9OIEdUSyBMT1dFU1QKK3N5biBrZXl3b3JkIGd0a3JjUHJpb3JpdHlOYW1lIGhpZ2hlc3QgcmMgYXBwbGljYXRpb24gZ3RrIGxvd2VzdAorc3luIGtleXdvcmQgZ3RrcmNUZXh0RGlyTmFtZSBMVFIgUlRMCitzeW4ga2V5d29yZCBndGtyY1N0eWxlS2V5d29yZCBmZyBiZyBmZ19waXhtYXAgYmdfcGl4bWFwIGJnX3RleHQgYmFzZSBmb250IGZvbnRfbmFtZSBmb250c2V0IHN0b2NrIHRleHQKK3N5biBtYXRjaCBndGtyY0tleU1vZCAiPFwoYWx0XHxjdHJsXHxjb250cm9sXHxtb2RbMS01XVx8cmVsZWFzZVx8c2hmdFx8c2hpZnRcKT4iIGNvbnRhaW5lZAorc3luIGNsdXN0ZXIgZ3RrcmNQUklWQVRFIGFkZD1ndGtyY0tleU1vZAorCisiIEVudW1zIGFuZCBlbmdpbmUgd29yZHMKK3N5biBrZXl3b3JkIGd0a3JjS2V5d29yZCBlbmdpbmUgaW1hZ2UKK3N5biBrZXl3b3JkIGd0a3JjSW1hZ2UgYXJyb3dfZGlyZWN0aW9uIGJvcmRlciBkZXRhaWwgZmlsZSBnYXBfYm9yZGVyIGdhcF9lbmRfYm9yZGVyIGdhcF9lbmRfZmlsZSBnYXBfZmlsZSBnYXBfc2lkZSBnYXBfc2lkZSBnYXBfc3RhcnRfYm9yZGVyIGdhcF9zdGFydF9maWxlIG9yaWVudGF0aW9uIG92ZXJsYXlfYm9yZGVyIG92ZXJsYXlfZmlsZSBvdmVybGF5X3N0cmV0Y2ggcmVjb2xvcmFibGUgc2hhZG93IHN0YXRlIHN0cmV0Y2ggdGhpY2tuZXNzCitzeW4ga2V5d29yZCBndGtyY0NvbnN0YW50IFRSVUUgRkFMU0UgTk9ORSBJTiBPVVQgTEVGVCBSSUdIVCBUT1AgQk9UVE9NIFVQIERPV04gVkVSVElDQUwgSE9SSVpPTlRBTCBFVENIRURfSU4gRVRDSEVEX09VVAorc3luIGtleXdvcmQgZ3RrcmNGdW5jdGlvbiBmdW5jdGlvbiBuZXh0Z3JvdXA9Z3RrcmNGdW5jdGlvbkVxIHNraXB3aGl0ZQorc3luIG1hdGNoIGd0a3JjRnVuY3Rpb25FcSAiPSIgbmV4dGdyb3VwPWd0a3JjRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBza2lwd2hpdGUKK3N5biBrZXl3b3JkIGd0a3JjRnVuY3Rpb25OYW1lIEFSUk9XIEJPWCBCT1hfR0FQIENIRUNLIENST1NTIERJQU1PTkQgRVhURU5TSU9OIEZMQVRfQk9YIEZPQ1VTIEhBTkRMRSBITElORSBPUFRJT04gT1ZBTCBQT0xZR09OIFJBTVAgU0hBRE9XIFNIQURPV19HQVAgU0xJREVSIFNUUklORyBUQUIgVkxJTkUgY29udGFpbmVkCitzeW4gY2x1c3RlciBndGtyY1BSSVZBVEUgYWRkPWd0a3JjRnVuY3Rpb25OYW1lLGd0a3JjRnVuY3Rpb25FcQorCisiIENsYXNzIG5hbWVzCitzeW4ga2V5d29yZCBndGtyY0NsYXNzTmFtZSBHdGtBY2NlbExhYmVsIEd0a0FkanVzdG1lbnQgR3RrQWxpZ25tZW50IEd0a0Fycm93IEd0a0FzcGVjdEZyYW1lIEd0a0JpbiBHdGtCb3ggR3RrQnV0dG9uIEd0a0J1dHRvbkJveCBHdGtDTGlzdCBHdGtDVHJlZSBHdGtDYWxlbmRhciBHdGtDaGVja0J1dHRvbiBHdGtDaGVja01lbnVJdGVtIEd0a0NvbG9yU2VsZWN0aW9uIEd0a0NvbG9yU2VsZWN0aW9uRGlhbG9nIEd0a0NvbWJvIEd0a0NvbnRhaW5lciBHdGtDdXJ2ZSBHdGtEYXRhIEd0a0RpYWxvZyBHdGtEcmF3aW5nQXJlYSBHdGtFZGl0YWJsZSBHdGtFbnRyeSBHdGtFdmVudEJveCBHdGtGaWxlU2VsZWN0aW9uIEd0a0ZpeGVkIEd0a0ZvbnRTZWxlY3Rpb24gR3RrRm9udFNlbGVjdGlvbkRpYWxvZyBHdGtGcmFtZSBHdGtHYW1tYUN1cnZlIEd0a0hCb3ggR3RrSEJ1dHRvbkJveCBHdGtIUGFuZWQgR3RrSFJ1bGVyIEd0a0hTY2FsZSBHdGtIU2Nyb2xsYmFyIEd0a0hTZXBhcmF0b3IgR3RrSGFuZGxlQm94IEd0a0ltYWdlIEd0a0ltYWdlTWVudUl0ZW0gR3RrSW5wdXREaWFsb2cgR3RrSW52aXNpYmxlIEd0a0l0ZW0gR3RrSXRlbUZhY3RvcnkgR3RrTGFiZWwgR3RrTGF5b3V0IEd0a0xpc3QgR3RrTGlzdEl0ZW0gR3RrTWVudSBHdGtNZW51QmFyIEd0a01lbnVJdGVtIEd0a01lbnVTaGVsbCBHdGtNZXNzYWdlRGlhbG9nIEd0a01pc2MgR3RrTm90ZWJvb2sgR3RrT2JqZWN0IEd0a09wdGlvbk1lbnUgR3RrUGFja2VyIEd0a1BhbmVkIEd0a1BpeG1hcCBHdGtQbHVnIEd0a1ByZXZpZXcgR3RrUHJvZ3Jlc3MgR3RrUHJvZ3Jlc3NCYXIgR3RrUmFkaW9CdXR0b24gR3RrUmFkaW9NZW51SXRlbSBHdGtSYW5nZSBHdGtSdWxlciBHdGtTY2FsZSBHdGtTY3JvbGxiYXIgR3RrU2Nyb2xsZWRXaW5kb3cgR3RrU2VwYXJhdG9yTWVudUl0ZW0gR3RrU29ja2V0IEd0a1NwaW5CdXR0b24gR3RrU3RhdHVzYmFyIEd0a1RhYmxlIEd0a1RlYXJvZmZNZW51SXRlbSBHdGtUZXh0IEd0a1RleHRCdWZmZXIgR3RrVGV4dE1hcmsgR3RrVGV4dFRhZyBHdGtUZXh0VmlldyBHdGtUaXBzUXVlcnkgR3RrVG9nZ2xlQnV0dG9uIEd0a1Rvb2xiYXIgR3RrVG9vbHRpcHMgR3RrVHJlZSBHdGtUcmVlVmlldyBHdGtUcmVlSXRlbSBHdGtWQm94IEd0a1ZCdXR0b25Cb3ggR3RrVlBhbmVkIEd0a1ZSdWxlciBHdGtWU2NhbGUgR3RrVlNjcm9sbGJhciBHdGtWU2VwYXJhdG9yIEd0a1ZpZXdwb3J0IEd0a1dpZGdldCBHdGtXaW5kb3cgR3RrV2luZG93R3JvdXAgY29udGFpbmVkCitzeW4ga2V5d29yZCBndGtyY0NsYXNzTmFtZSBBY2NlbExhYmVsIEFkanVzdG1lbnQgQWxpZ25tZW50IEFycm93IEFzcGVjdEZyYW1lIEJpbiBCb3ggQnV0dG9uIEJ1dHRvbkJveCBDTGlzdCBDVHJlZSBDYWxlbmRhciBDaGVja0J1dHRvbiBDaGVja01lbnVJdGVtIENvbG9yU2VsZWN0aW9uIENvbG9yU2VsZWN0aW9uRGlhbG9nIENvbWJvIENvbnRhaW5lciBDdXJ2ZSBEYXRhIERpYWxvZyBEcmF3aW5nQXJlYSBFZGl0YWJsZSBFbnRyeSBFdmVudEJveCBGaWxlU2VsZWN0aW9uIEZpeGVkIEZvbnRTZWxlY3Rpb24gRm9udFNlbGVjdGlvbkRpYWxvZyBGcmFtZSBHYW1tYUN1cnZlIEhCb3ggSEJ1dHRvbkJveCBIUGFuZWQgSFJ1bGVyIEhTY2FsZSBIU2Nyb2xsYmFyIEhTZXBhcmF0b3IgSGFuZGxlQm94IEltYWdlIEltYWdlTWVudUl0ZW0gSW5wdXREaWFsb2cgSW52aXNpYmxlIEl0ZW0gSXRlbUZhY3RvcnkgTGFiZWwgTGF5b3V0IExpc3QgTGlzdEl0ZW0gTWVudSBNZW51QmFyIE1lbnVJdGVtIE1lbnVTaGVsbCBNZXNzYWdlRGlhbG9nIE1pc2MgTm90ZWJvb2sgT2JqZWN0IE9wdGlvbk1lbnUgUGFja2VyIFBhbmVkIFBpeG1hcCBQbHVnIFByZXZpZXcgUHJvZ3Jlc3MgUHJvZ3Jlc3NCYXIgUmFkaW9CdXR0b24gUmFkaW9NZW51SXRlbSBSYW5nZSBSdWxlciBTY2FsZSBTY3JvbGxiYXIgU2Nyb2xsZWRXaW5kb3cgU2VwYXJhdG9yTWVudUl0ZW0gU29ja2V0IFNwaW5CdXR0b24gU3RhdHVzYmFyIFRhYmxlIFRlYXJvZmZNZW51SXRlbSBUZXh0IFRleHRCdWZmZXIgVGV4dE1hcmsgVGV4dFRhZyBUZXh0VmlldyBUaXBzUXVlcnkgVG9nZ2xlQnV0dG9uIFRvb2xiYXIgVG9vbHRpcHMgVHJlZSBUcmVlVmlldyBUcmVlSXRlbSBWQm94IFZCdXR0b25Cb3ggVlBhbmVkIFZSdWxlciBWU2NhbGUgVlNjcm9sbGJhciBWU2VwYXJhdG9yIFZpZXdwb3J0IFdpZGdldCBXaW5kb3cgV2luZG93R3JvdXAgY29udGFpbmVkCitzeW4ga2V5d29yZCBndGtyY0NsYXNzTmFtZUdub21lIEdub21lQWJvdXQgR25vbWVBbmltYXRvciBHbm9tZUFwcCBHbm9tZUFwcEJhciBHbm9tZUNhbGN1bGF0b3IgR25vbWVDYW52YXMgR25vbWVDYW52YXNFbGxpcHNlIEdub21lQ2FudmFzR3JvdXAgR25vbWVDYW52YXNJbWFnZSBHbm9tZUNhbnZhc0l0ZW0gR25vbWVDYW52YXNMaW5lIEdub21lQ2FudmFzUG9seWdvbiBHbm9tZUNhbnZhc1JFIEdub21lQ2FudmFzUmVjdCBHbm9tZUNhbnZhc1RleHQgR25vbWVDYW52YXNXaWRnZXQgR25vbWVDbGllbnQgR25vbWVDb2xvclBpY2tlciBHbm9tZURFbnRyeUVkaXQgR25vbWVEYXRlRWRpdCBHbm9tZURpYWxvZyBHbm9tZURvY2sgR25vbWVEb2NrQmFuZCBHbm9tZURvY2tJdGVtIEdub21lRG9ja0xheW91dCBHbm9tZURydWlkIEdub21lRHJ1aWRQYWdlIEdub21lRHJ1aWRQYWdlRmluaXNoIEdub21lRHJ1aWRQYWdlU3RhbmRhcmQgR25vbWVEcnVpZFBhZ2VTdGFydCBHbm9tZUVudHJ5IEdub21lRmlsZUVudHJ5IEdub21lRm9udFBpY2tlciBHbm9tZUZvbnRTZWxlY3RvciBHbm9tZUhSZWYgR25vbWVJY29uRW50cnkgR25vbWVJY29uTGlzdCBHbm9tZUljb25TZWxlY3Rpb24gR25vbWVJY29uVGV4dEl0ZW0gR25vbWVMZXNzIEdub21lTURJIEdub21lTURJQ2hpbGQgR25vbWVNRElHZW5lcmljQ2hpbGQgR25vbWVNZXNzYWdlQm94IEdub21lTnVtYmVyRW50cnkgR25vbWVQYXBlclNlbGVjdG9yIEdub21lUGl4bWFwIEdub21lUGl4bWFwRW50cnkgR25vbWVQcm9jQmFyIEdub21lUHJvcGVydHlCb3ggR25vbWVTY29yZXMgR25vbWVTcGVsbCBHbm9tZVN0b2NrIEd0a0Nsb2NrIEd0a0RpYWwgR3RrUGl4bWFwTWVudUl0ZW0gR3RrVGVkIGNvbnRhaW5lZAorc3luIGNsdXN0ZXIgZ3RrcmNQUklWQVRFIGFkZD1ndGtyY0NsYXNzTmFtZSxndGtyY0NsYXNzTmFtZUdub21lCisKKyIgU3RvY2sgaXRlbSBuYW1lcworc3luIGtleXdvcmQgZ3RrcmNTdG9ja05hbWUgZ3RrLWFkZCBndGstYXBwbHkgZ3RrLWJvbGQgZ3RrLWNhbmNlbCBndGstY2Ryb20gZ3RrLWNsZWFyIGd0ay1jbG9zZSBndGstY29udmVydCBndGstY29weSBndGstY3V0IGd0ay1kZWxldGUgZ3RrLWRpYWxvZy1lcnJvciBndGstZGlhbG9nLWluZm8gZ3RrLWRpYWxvZy1xdWVzdGlvbiBndGstZGlhbG9nLXdhcm5pbmcgZ3RrLWRuZCBndGstZG5kLW11bHRpcGxlIGd0ay1leGVjdXRlIGd0ay1maW5kIGd0ay1maW5kLWFuZC1yZXBsYWNlIGd0ay1mbG9wcHkgZ3RrLWdvdG8tYm90dG9tIGd0ay1nb3RvLWZpcnN0IGd0ay1nb3RvLWxhc3QgZ3RrLWdvdG8tdG9wIGd0ay1nby1iYWNrIGd0ay1nby1kb3duIGd0ay1nby1mb3J3YXJkIGd0ay1nby11cCBndGstaGVscCBndGstaG9tZSBndGstaW5kZXggZ3RrLWl0YWxpYyBndGstanVtcC10byBndGstanVzdGlmeS1jZW50ZXIgZ3RrLWp1c3RpZnktZmlsbCBndGstanVzdGlmeS1sZWZ0IGd0ay1qdXN0aWZ5LXJpZ2h0IGd0ay1taXNzaW5nLWltYWdlIGd0ay1uZXcgZ3RrLW5vIGd0ay1vayBndGstb3BlbiBndGstcGFzdGUgZ3RrLXByZWZlcmVuY2VzIGd0ay1wcmludCBndGstcHJpbnQtcHJldmlldyBndGstcHJvcGVydGllcyBndGstcXVpdCBndGstcmVkbyBndGstcmVmcmVzaCBndGstcmVtb3ZlIGd0ay1yZXZlcnQtdG8tc2F2ZWQgZ3RrLXNhdmUgZ3RrLXNhdmUtYXMgZ3RrLXNlbGVjdC1jb2xvciBndGstc2VsZWN0LWZvbnQgZ3RrLXNvcnQtYXNjZW5kaW5nIGd0ay1zb3J0LWRlc2NlbmRpbmcgZ3RrLXNwZWxsLWNoZWNrIGd0ay1zdG9wIGd0ay1zdHJpa2V0aHJvdWdoIGd0ay11bmRlbGV0ZSBndGstdW5kZXJsaW5lIGd0ay11bmRvIGd0ay15ZXMgZ3RrLXpvb20tMTAwIGd0ay16b29tLWZpdCBndGstem9vbS1pbiBndGstem9vbS1vdXQgY29udGFpbmVkCitzeW4gY2x1c3RlciBndGtyY1BSSVZBVEUgYWRkPWd0a3JjU3RvY2tOYW1lCisKKyIgR3RrIFNldHRpbmdzCitzeW4ga2V5d29yZCBndGtyY1NldHRpbmdzTmFtZSBndGstZG91YmxlLWNsaWNrLXRpbWUgZ3RrLWN1cnNvci1ibGluayBndGstY3Vyc29yLWJsaW5rLXRpbWUgZ3RrLXNwbGl0LWN1cnNvciBndGstdGhlbWUtbmFtZSBndGsta2V5LXRoZW1lLW5hbWUgZ3RrLW1lbnUtYmFyLWFjY2VsIGd0ay1kbmQtZHJhZy10aHJlc2hvbGQgZ3RrLWZvbnQtbmFtZSBndGstY29sb3ItcGFsZXR0ZSBndGstZW50cnktc2VsZWN0LW9uLWZvY3VzIGd0ay1jYW4tY2hhbmdlLWFjY2VscyBndGstdG9vbGJhci1zdHlsZSBndGstdG9vbGJhci1pY29uLXNpemUKK3N5biBjbHVzdGVyIGd0a3JjUFJJVkFURSBhZGQ9Z3RrcmNTZXR0aW5nc05hbWUKKworIiBDYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2l6YXRpb24KK3N5biByZWdpb24gZ3RrcmNQYXJlbiBzdGFydD0nKCcgZW5kPScpJyB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQsZ3RrcmNQYXJlbkVycm9yLEBndGtyY1BSSVZBVEUKK3N5biBtYXRjaCBndGtyY1BhcmVuRXJyb3IgIikiCitzeW4gcmVnaW9uIGd0a3JjQnJhY2Ugc3RhcnQ9J3snIGVuZD0nfScgdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULGd0a3JjQnJhY2VFcnJvcixAZ3RrcmNQUklWQVRFCitzeW4gbWF0Y2ggZ3RrcmNCcmFjZUVycm9yICJ9Igorc3luIHJlZ2lvbiBndGtyY0JyYWNrZXQgc3RhcnQ9J1xbJyBlbmQ9J10nIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxndGtyY0JyYWNrZXRFcnJvcixAZ3RrcmNQUklWQVRFCitzeW4gbWF0Y2ggZ3RrcmNCcmFja2V0RXJyb3IgIl0iCisKKyIgU3luY2hyb25pemF0aW9uCitzeW4gc3luYyBtaW5saW5lcz01MAorc3luIHN5bmMgbWF0Y2ggZ3RrcmNTeW5jQ2xhc3MgZ3JvdXB0aGVyZSBOT05FICJeXHMqY2xhc3NcPiIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZ3RrcmNfc3ludGF4X2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfZ3RrcmNfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayBndGtyY0NvbW1lbnQgQ29tbWVudAorCUhpTGluayBndGtyY0ZpeG1lIFRvZG8KKworCUhpTGluayBndGtyY0luY2x1ZGUgUHJlcHJvYworCisJSGlMaW5rIGd0a3JjQUNTdHJpbmcgZ3RrcmNTdHJpbmcKKwlIaUxpbmsgZ3RrcmNCU3RyaW5nIGd0a3JjU3RyaW5nCisJSGlMaW5rIGd0a3JjU3RyaW5nIFN0cmluZworCUhpTGluayBndGtyY051bWJlciBOdW1iZXIKKwlIaUxpbmsgZ3RrcmNTdGF0ZU5hbWUgZ3RrcmNDb25zdGFudAorCUhpTGluayBndGtyY1ByaW9yaXR5TmFtZSBndGtyY0NvbnN0YW50CisJSGlMaW5rIGd0a3JjVGV4dERpck5hbWUgZ3RrcmNDb25zdGFudAorCUhpTGluayBndGtyY1NldHRpbmdzTmFtZSBGdW5jdGlvbgorCUhpTGluayBndGtyY1N0b2NrTmFtZSBGdW5jdGlvbgorCUhpTGluayBndGtyY0NvbnN0YW50IENvbnN0YW50CisKKwlIaUxpbmsgZ3RrcmNQYXRoU3BlY2lhbCBndGtyY1NwZWNpYWwKKwlIaUxpbmsgZ3RrcmNXUGF0aFNwZWNpYWwgZ3RrcmNTcGVjaWFsCisJSGlMaW5rIGd0a3JjUkdCQ29sb3IgZ3RrcmNTcGVjaWFsCisJSGlMaW5rIGd0a3JjS2V5TW9kIGd0a3JjU3BlY2lhbAorCUhpTGluayBndGtyY1NwZWNpYWwgU3BlY2lhbAorCisJSGlMaW5rIGd0a3JjVG9wIGd0a3JjS2V5d29yZAorCUhpTGluayBndGtyY1BhdGhTZXQgZ3RrcmNLZXl3b3JkCisJSGlMaW5rIGd0a3JjU3R5bGVLZXl3b3JkIGd0a3JjS2V5d29yZAorCUhpTGluayBndGtyY0Z1bmN0aW9uIGd0a3JjS2V5d29yZAorCUhpTGluayBndGtyY0JpbmQgZ3RrcmNLZXl3b3JkCisJSGlMaW5rIGd0a3JjS2V5d29yZCBLZXl3b3JkCisKKwlIaUxpbmsgZ3RrcmNDbGFzc05hbWVHbm9tZSBndGtyY0d0a0NsYXNzCisJSGlMaW5rIGd0a3JjQ2xhc3NOYW1lIGd0a3JjR3RrQ2xhc3MKKwlIaUxpbmsgZ3RrcmNGdW5jdGlvbk5hbWUgZ3RrcmNHdGtDbGFzcworCUhpTGluayBndGtyY0d0a0NsYXNzIFR5cGUKKworCUhpTGluayBndGtyY0ltYWdlIGd0a3JjT3RoZXJ3b3JkCisJSGlMaW5rIGd0a3JjT3RoZXJ3b3JkIEZ1bmN0aW9uCisKKwlIaUxpbmsgZ3RrcmNQYXJlbkVycm9yIGd0a3JjRXJyb3IKKwlIaUxpbmsgZ3RrcmNCcmFjZUVycm9yIGd0a3JjRXJyb3IKKwlIaUxpbmsgZ3RrcmNCcmFja2V0RXJyb3IgZ3RrcmNFcnJvcgorCUhpTGluayBndGtyY0Vycm9yIEVycm9yCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3RrcmMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9oYXNrZWxsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hhc2tlbGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxZmNmODEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9oYXNrZWxsLnZpbQpAQCAtMCwwICsxLDE5MyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQlIYXNrZWxsCisiIE1haW50YWluZXI6CQlIYXNrZWxsIENhZmUgbWFpbGluZ2xpc3QgPGhhc2tlbGwtY2FmZUBoYXNrZWxsLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CQkyMDA0IEZlYiAyMworIiBPcmlnaW5hbCBBdXRob3I6CUpvaG4gV2lsbGlhbXMgPGpyd0Bwb2JveC5jb20+CisiCisiIFRoYW5rcyB0byBSeWFuIENydW1sZXkgZm9yIHN1Z2dlc3Rpb25zIGFuZCBKb2huIE1lYWNoYW0gZm9yCisiIHBvaW50aW5nIG91dCBidWdzLiBBbHNvIHRoYW5rcyB0byBJYW4gTHluYWdoIGFuZCBEb25hbGQgQnJ1Y2UgU3Rld2FydAorIiBmb3IgcHJvdmlkaW5nIHRoZSBpbnNwaXJhdGlvbiBmb3IgdGhlIGluY2x1c2lvbiBvZiB0aGUgaGFuZGxpbmcKKyIgb2YgQyBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlcywgYW5kIGZvciBwb2ludGluZyBvdXQgYSBidWcgaW4gdGhlCisiIGVuZC1vZi1saW5lIGNvbW1lbnQgaGFuZGxpbmcuCisiCisiIE9wdGlvbnMtYXNzaWduIGEgdmFsdWUgdG8gdGhlc2UgdmFyaWFibGVzIHRvIHR1cm4gdGhlIG9wdGlvbiBvbjoKKyIKKyIgaHNfaGlnaGxpZ2h0X2RlbGltaXRlcnMgLSBIaWdobGlnaHQgZGVsaW1pdGVyIGNoYXJhY3RlcnMtLXVzZXJzCisiCQkJICAgIHdpdGggYSBsaWdodC1jb2xvcmVkIGJhY2tncm91bmQgd2lsbAorIgkJCSAgICBwcm9iYWJseSB3YW50IHRvIHR1cm4gdGhpcyBvbi4KKyIgaHNfaGlnaGxpZ2h0X2Jvb2xlYW4gLSBUcmVhdCBUcnVlIGFuZCBGYWxzZSBhcyBrZXl3b3Jkcy4KKyIgaHNfaGlnaGxpZ2h0X3R5cGVzIC0gVHJlYXQgbmFtZXMgb2YgcHJpbWl0aXZlIHR5cGVzIGFzIGtleXdvcmRzLgorIiBoc19oaWdobGlnaHRfbW9yZV90eXBlcyAtIFRyZWF0IG5hbWVzIG9mIG90aGVyIGNvbW1vbiB0eXBlcyBhcyBrZXl3b3Jkcy4KKyIgaHNfaGlnaGxpZ2h0X2RlYnVnIC0gSGlnaGxpZ2h0IG5hbWVzIG9mIGRlYnVnZ2luZyBmdW5jdGlvbnMuCisiIGhzX2FsbG93X2hhc2hfb3BlcmF0b3IgLSBEb24ndCBoaWdobGlnaHQgc2VlbWluZ2x5IGluY29ycmVjdCBDCisiCQkJICAgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMgYnV0IGFzc3VtZSB0aGVtIHRvIGJlCisiCQkJICAgb3BlcmF0b3JzCisiCisiIDIwMDQgRmViIDE5OiBBZGRlZCBDIHByZXByb2Nlc3NvciBkaXJlY3RpdmUgaGFuZGxpbmcsIGNvcnJlY3RlZCBlb2wgY29tbWVudHMKKyIJICAgICAgIGNsZWFuZWQgYXdheSBsaXRlcmF0ZSBoYXNrZWxsIHN1cHBvcnQgKHNob3VsZCBiZSBlbnRpcmVseSBpbgorIgkgICAgICAgbGhhc2tlbGwudmltKQorIiAyMDA0IEZlYiAyMDogQ2xlYW5lZCB1cCBDIHByZXByb2Nlc3NvciBkaXJlY3RpdmUgaGFuZGxpbmcsIGZpeGVkIHNpbmdsZSBcCisiCSAgICAgICBpbiBlb2wgY29tbWVudCBjaGFyYWN0ZXIgY2xhc3MKKyIgMjAwNCBGZWIgMjM6IE1hZGUgdGhlIGxlYWRpbmcgY29tbWVudHMgc29tZXdoYXQgY2xlYXJlciB3aGVyZSBpdCBjb21lcworIgkgICAgICAgdG8gYXR0cmlidXRpb24gb2Ygd29yay4KKworIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3luIGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIChRdWFsaWZpZWQpIGlkZW50aWZpZXJzIChubyBkZWZhdWx0IGhpZ2hsaWdodGluZykKK3N5biBtYXRjaCBDb25JZCAiXChcPFtBLVpdW2EtekEtWjAtOV8nXSpcLlwpXD1cPFtBLVpdW2EtekEtWjAtOV8nXSpcPiIKK3N5biBtYXRjaCBWYXJJZCAiXChcPFtBLVpdW2EtekEtWjAtOV8nXSpcLlwpXD1cPFthLXpdW2EtekEtWjAtOV8nXSpcPiIKKworIiBJbmZpeCBvcGVyYXRvcnMtLW1vc3QgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBhbmQgYW55IChxdWFsaWZpZWQpIGlkZW50aWZpZXIKKyIgZW5jbG9zZWQgaW4gYGJhY2txdW90ZXNgLiBBbiBvcGVyYXRvciBzdGFydGluZyB3aXRoIDogaXMgYSBjb25zdHJ1Y3RvciwKKyIgb3RoZXJzIGFyZSB2YXJpYWJsZXMgKGUuZy4gZnVuY3Rpb25zKS4KK3N5biBtYXRjaCBoc1ZhclN5bSAiXChcPFtBLVpdW2EtekEtWjAtOV8nXSpcLlwpXD1bLSEjJCUmXCpcKy88PT5cP0BcXF58fi5dWy0hIyQlJlwqXCsvPD0+XD9AXFxefH46Ll0qIgorc3luIG1hdGNoIGhzQ29uU3ltICJcKFw8W0EtWl1bYS16QS1aMC05XyddKlwuXClcPTpbLSEjJCUmXCpcKy4vPD0+XD9AXFxefH46XSoiCitzeW4gbWF0Y2ggaHNWYXJTeW0gImBcKFw8W0EtWl1bYS16QS1aMC05XyddKlwuXClcPVthLXpdW2EtekEtWjAtOV8nXSpgIgorc3luIG1hdGNoIGhzQ29uU3ltICJgXChcPFtBLVpdW2EtekEtWjAtOV8nXSpcLlwpXD1bQS1aXVthLXpBLVowLTlfJ10qYCIKKworIiBSZXNlcnZlZCBzeW1ib2xzLS1jYW5ub3QgYmUgb3ZlcmxvYWRlZC4KK3N5biBtYXRjaCBoc0RlbGltaXRlciAgIihcfClcfFxbXHxcXVx8LFx8O1x8X1x8e1x8fSIKKworIiBTdHJpbmdzIGFuZCBjb25zdGFudHMKK3N5biBtYXRjaCAgIGhzU3BlY2lhbENoYXIJY29udGFpbmVkICJcXFwoWzAtOV1cK1x8b1swLTddXCtcfHhbMC05YS1mQS1GXVwrXHxbXCJcXCcmXFxhYmZucnR2XVx8XltBLVpeX1xbXFxcXV1cKSIKK3N5biBtYXRjaCAgIGhzU3BlY2lhbENoYXIJY29udGFpbmVkICJcXFwoTlVMXHxTT0hcfFNUWFx8RVRYXHxFT1RcfEVOUVx8QUNLXHxCRUxcfEJTXHxIVFx8TEZcfFZUXHxGRlx8Q1JcfFNPXHxTSVx8RExFXHxEQzFcfERDMlx8REMzXHxEQzRcfE5BS1x8U1lOXHxFVEJcfENBTlx8RU1cfFNVQlx8RVNDXHxGU1x8R1NcfFJTXHxVU1x8U1BcfERFTFwpIgorc3luIG1hdGNoICAgaHNTcGVjaWFsQ2hhckVycm9yCWNvbnRhaW5lZCAiXFwmXHwnJydcKyIKK3N5biByZWdpb24gIGhzU3RyaW5nCQlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgIGNvbnRhaW5zPWhzU3BlY2lhbENoYXIKK3N5biBtYXRjaCAgIGhzQ2hhcmFjdGVyCQkiW15hLXpBLVowLTlfJ10nXChbXlxcXVx8XFxbXiddXCtcfFxcJ1wpJyJsYz0xIGNvbnRhaW5zPWhzU3BlY2lhbENoYXIsaHNTcGVjaWFsQ2hhckVycm9yCitzeW4gbWF0Y2ggICBoc0NoYXJhY3RlcgkJIl4nXChbXlxcXVx8XFxbXiddXCtcfFxcJ1wpJyIgY29udGFpbnM9aHNTcGVjaWFsQ2hhcixoc1NwZWNpYWxDaGFyRXJyb3IKK3N5biBtYXRjaCAgIGhzTnVtYmVyCQkiXDxbMC05XVwrXD5cfFw8MFt4WF1bMC05YS1mQS1GXVwrXD5cfFw8MFtvT11bMC03XVwrXD4iCitzeW4gbWF0Y2ggICBoc0Zsb2F0CQkiXDxbMC05XVwrXC5bMC05XVwrXChbZUVdWy0rXVw9WzAtOV1cK1wpXD1cPiIKKworIiBLZXl3b3JkIGRlZmluaXRpb25zLiBUaGVzZSBtdXN0IGJlIHBhdHRlcnMgaW5zdGVhZCBvZiBrZXl3b3JkcworIiBiZWNhdXNlIG90aGVyd2lzZSB0aGV5IHdvdWxkIG1hdGNoIGFzIGtleXdvcmRzIGF0IHRoZSBzdGFydCBvZiBhCisiICJsaXRlcmF0ZSIgY29tbWVudCAoc2VlIGxocy52aW0pLgorc3luIG1hdGNoIGhzTW9kdWxlCQkiXDxtb2R1bGVcPiIKK3N5biBtYXRjaCBoc0ltcG9ydAkJIlw8aW1wb3J0XD4uKiJoZT1zKzYgY29udGFpbnM9aHNJbXBvcnRNb2QKK3N5biBtYXRjaCBoc0ltcG9ydE1vZAkJY29udGFpbmVkICJcPFwoYXNcfHF1YWxpZmllZFx8aGlkaW5nXClcPiIKK3N5biBtYXRjaCBoc0luZml4CQkiXDxcKGluZml4XHxpbmZpeGxcfGluZml4clwpXD4iCitzeW4gbWF0Y2ggaHNTdHJ1Y3R1cmUJCSJcPFwoY2xhc3NcfGRhdGFcfGRlcml2aW5nXHxpbnN0YW5jZVx8ZGVmYXVsdFx8d2hlcmVcKVw+Igorc3luIG1hdGNoIGhzVHlwZWRlZgkJIlw8XCh0eXBlXHxuZXd0eXBlXClcPiIKK3N5biBtYXRjaCBoc1N0YXRlbWVudAkJIlw8XChkb1x8Y2FzZVx8b2ZcfGxldFx8aW5cKVw+Igorc3luIG1hdGNoIGhzQ29uZGl0aW9uYWwJCSJcPFwoaWZcfHRoZW5cfGVsc2VcKVw+IgorCisiIE5vdCByZWFsIGtleXdvcmRzLCBidXQgY2xvc2UuCitpZiBleGlzdHMoImhzX2hpZ2hsaWdodF9ib29sZWFuIikKKyAgIiBCb29sZWFuIGNvbnN0YW50cyBmcm9tIHRoZSBzdGFuZGFyZCBwcmVsdWRlLgorICBzeW4gbWF0Y2ggaHNCb29sZWFuICJcPFwoVHJ1ZVx8RmFsc2VcKVw+IgorZW5kaWYKK2lmIGV4aXN0cygiaHNfaGlnaGxpZ2h0X3R5cGVzIikKKyAgIiBQcmltaXRpdmUgdHlwZXMgZnJvbSB0aGUgc3RhbmRhcmQgcHJlbHVkZSBhbmQgbGlicmFyaWVzLgorICBzeW4gbWF0Y2ggaHNUeXBlICJcPFwoSW50XHxJbnRlZ2VyXHxDaGFyXHxCb29sXHxGbG9hdFx8RG91YmxlXHxJT1x8Vm9pZFx8QWRkclx8QXJyYXlcfFN0cmluZ1wpXD4iCitlbmRpZgoraWYgZXhpc3RzKCJoc19oaWdobGlnaHRfbW9yZV90eXBlcyIpCisgICIgVHlwZXMgZnJvbSB0aGUgc3RhbmRhcmQgcHJlbHVkZSBsaWJyYXJpZXMuCisgIHN5biBtYXRjaCBoc1R5cGUgIlw8XChNYXliZVx8RWl0aGVyXHxSYXRpb1x8Q29tcGxleFx8T3JkZXJpbmdcfElPRXJyb3JcfElPUmVzdWx0XHxFeGl0Q29kZVwpXD4iCisgIHN5biBtYXRjaCBoc01heWJlICAgICJcPE5vdGhpbmdcPiIKKyAgc3luIG1hdGNoIGhzRXhpdENvZGUgIlw8XChFeGl0U3VjY2Vzc1wpXD4iCisgIHN5biBtYXRjaCBoc09yZGVyaW5nICJcPFwoR1RcfExUXHxFUVwpXD4iCitlbmRpZgoraWYgZXhpc3RzKCJoc19oaWdobGlnaHRfZGVidWciKQorICAiIERlYnVnZ2luZyBmdW5jdGlvbnMgZnJvbSB0aGUgc3RhbmRhcmQgcHJlbHVkZS4KKyAgc3luIG1hdGNoIGhzRGVidWcgIlw8XCh1bmRlZmluZWRcfGVycm9yXHx0cmFjZVwpXD4iCitlbmRpZgorCisKKyIgQ29tbWVudHMKK3N5biBtYXRjaCAgIGhzTGluZUNvbW1lbnQgICAgICAiLS0tKlwoW14tISMkJSZcKlwrLi88PT5cP0BcXF58fl0uKlwpXD8kIgorc3luIHJlZ2lvbiAgaHNCbG9ja0NvbW1lbnQgICAgIHN0YXJ0PSJ7LSIgIGVuZD0iLX0iIGNvbnRhaW5zPWhzQmxvY2tDb21tZW50CitzeW4gcmVnaW9uICBoc1ByYWdtYQkgICAgICAgc3RhcnQ9InstIyIgZW5kPSIjLX0iCisKKyIgQyBQcmVwcm9jZXNzb3IgZGlyZWN0aXZlcy4gU2hhbWVsZXNzbHkgcmlwcGVkIGZyb20gYy52aW0gYW5kIHRyaW1tZWQKKyIgRmlyc3QsIHNlZSB3aGV0aGVyIHRvIGZsYWcgZGlyZWN0aXZlLWxpa2UgbGluZXMgb3Igbm90CitpZiAoIWV4aXN0cygiaHNfYWxsb3dfaGFzaF9vcGVyYXRvciIpKQorICAgIHN5biBtYXRjaAljRXJyb3IJCWRpc3BsYXkgIl5ccypcKCU6XHwjXCkuKiQiCitlbmRpZgorIiBBY2NlcHQgJTogZm9yICMgKEM5OSkKK3N5biByZWdpb24JY1ByZUNvbmRpdAlzdGFydD0iXlxzKlwoJTpcfCNcKVxzKlwoaWZcfGlmZGVmXHxpZm5kZWZcfGVsaWZcKVw+IiBza2lwPSJcXCQiIGVuZD0iJCIgZW5kPSIvLyJtZT1zLTEgY29udGFpbnM9Y0NvbW1lbnQsY0NwcFN0cmluZyxjQ29tbWVudEVycm9yCitzeW4gbWF0Y2gJY1ByZUNvbmRpdAlkaXNwbGF5ICJeXHMqXCglOlx8I1wpXHMqXChlbHNlXHxlbmRpZlwpXD4iCitzeW4gcmVnaW9uCWNDcHBPdXQJCXN0YXJ0PSJeXHMqXCglOlx8I1wpXHMqaWZcc1wrMFwrXD4iIGVuZD0iLlxAPVx8JCIgY29udGFpbnM9Y0NwcE91dDIKK3N5biByZWdpb24JY0NwcE91dDIJY29udGFpbmVkIHN0YXJ0PSIwIiBlbmQ9Il5ccypcKCU6XHwjXClccypcKGVuZGlmXD5cfGVsc2VcPlx8ZWxpZlw+XCkiIGNvbnRhaW5zPWNDcHBTa2lwCitzeW4gcmVnaW9uCWNDcHBTa2lwCWNvbnRhaW5lZCBzdGFydD0iXlxzKlwoJTpcfCNcKVxzKlwoaWZcPlx8aWZkZWZcPlx8aWZuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9Il5ccypcKCU6XHwjXClccyplbmRpZlw+IiBjb250YWlucz1jQ3BwU2tpcAorc3luIHJlZ2lvbgljSW5jbHVkZWQJZGlzcGxheSBjb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworc3luIG1hdGNoCWNJbmNsdWRlZAlkaXNwbGF5IGNvbnRhaW5lZCAiPFtePl0qPiIKK3N5biBtYXRjaAljSW5jbHVkZQlkaXNwbGF5ICJeXHMqXCglOlx8I1wpXHMqaW5jbHVkZVw+XHMqWyI8XSIgY29udGFpbnM9Y0luY2x1ZGVkCitzeW4gY2x1c3RlcgljUHJlUHJvY0dyb3VwCWNvbnRhaW5zPWNQcmVDb25kaXQsY0luY2x1ZGVkLGNJbmNsdWRlLGNEZWZpbmUsY0NwcE91dCxjQ3BwT3V0MixjQ3BwU2tpcCxjQ29tbWVudFN0YXJ0RXJyb3IKK3N5biByZWdpb24JY0RlZmluZQkJbWF0Y2hncm91cD1jUHJlQ29uZGl0IHN0YXJ0PSJeXHMqXCglOlx8I1wpXHMqXChkZWZpbmVcfHVuZGVmXClcPiIgc2tpcD0iXFwkIiBlbmQ9IiQiCitzeW4gcmVnaW9uCWNQcmVQcm9jCW1hdGNoZ3JvdXA9Y1ByZUNvbmRpdCBzdGFydD0iXlxzKlwoJTpcfCNcKVxzKlwocHJhZ21hXD5cfGxpbmVcPlx8d2FybmluZ1w+XHx3YXJuXD5cfGVycm9yXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGtlZXBlbmQKKworc3luIHJlZ2lvbgljQ29tbWVudAltYXRjaGdyb3VwPWNDb21tZW50U3RhcnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPWNDb21tZW50U3RhcnRFcnJvcixjU3BhY2VFcnJvciBjb250YWluZWQKK3N5bnRheCBtYXRjaAljQ29tbWVudEVycm9yCWRpc3BsYXkgIlwqLyIgY29udGFpbmVkCitzeW50YXggbWF0Y2gJY0NvbW1lbnRTdGFydEVycm9yIGRpc3BsYXkgIi9cKiJtZT1lLTEgY29udGFpbmVkCitzeW4gcmVnaW9uCWNDcHBTdHJpbmcJc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIlx8XFwkKyBleGNsdWRlbmwgZW5kPSsiKyBlbmQ9JyQnIGNvbnRhaW5zPWNTcGVjaWFsIGNvbnRhaW5lZAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9oc19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9oc19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBoc01vZHVsZQkJCSAgaHNTdHJ1Y3R1cmUKKyAgSGlMaW5rIGhzSW1wb3J0CQkJICBJbmNsdWRlCisgIEhpTGluayBoc0ltcG9ydE1vZAkJCSAgaHNJbXBvcnQKKyAgSGlMaW5rIGhzSW5maXgJCQkgIFByZVByb2MKKyAgSGlMaW5rIGhzU3RydWN0dXJlCQkJICBTdHJ1Y3R1cmUKKyAgSGlMaW5rIGhzU3RhdGVtZW50CQkJICBTdGF0ZW1lbnQKKyAgSGlMaW5rIGhzQ29uZGl0aW9uYWwJCQkgIENvbmRpdGlvbmFsCisgIEhpTGluayBoc1NwZWNpYWxDaGFyCQkJICBTcGVjaWFsQ2hhcgorICBIaUxpbmsgaHNUeXBlZGVmCQkJICBUeXBlZGVmCisgIEhpTGluayBoc1ZhclN5bQkJCSAgaHNPcGVyYXRvcgorICBIaUxpbmsgaHNDb25TeW0JCQkgIGhzT3BlcmF0b3IKKyAgSGlMaW5rIGhzT3BlcmF0b3IJCQkgIE9wZXJhdG9yCisgIGlmIGV4aXN0cygiaHNfaGlnaGxpZ2h0X2RlbGltaXRlcnMiKQorICAgICIgU29tZSBwZW9wbGUgZmluZCB0aGlzIGhpZ2hsaWdodGluZyBkaXN0cmFjdGluZy4KKyAgICBIaUxpbmsgaHNEZWxpbWl0ZXIJCQkgIERlbGltaXRlcgorICBlbmRpZgorICBIaUxpbmsgaHNTcGVjaWFsQ2hhckVycm9yCQkgIEVycm9yCisgIEhpTGluayBoc1N0cmluZwkJCSAgU3RyaW5nCisgIEhpTGluayBoc0NoYXJhY3RlcgkJCSAgQ2hhcmFjdGVyCisgIEhpTGluayBoc051bWJlcgkJCSAgTnVtYmVyCisgIEhpTGluayBoc0Zsb2F0CQkJICBGbG9hdAorICBIaUxpbmsgaHNDb25kaXRpb25hbAkJCSAgQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGhzTGl0ZXJhdGVDb21tZW50CQkgIGhzQ29tbWVudAorICBIaUxpbmsgaHNCbG9ja0NvbW1lbnQJCSAgaHNDb21tZW50CisgIEhpTGluayBoc0xpbmVDb21tZW50CQkJICBoc0NvbW1lbnQKKyAgSGlMaW5rIGhzQ29tbWVudAkJCSAgQ29tbWVudAorICBIaUxpbmsgaHNQcmFnbWEJCQkgIFNwZWNpYWxDb21tZW50CisgIEhpTGluayBoc0Jvb2xlYW4JCQkgIEJvb2xlYW4KKyAgSGlMaW5rIGhzVHlwZQkJCSAgVHlwZQorICBIaUxpbmsgaHNNYXliZQkJCSAgaHNFbnVtQ29uc3QKKyAgSGlMaW5rIGhzT3JkZXJpbmcJCQkgIGhzRW51bUNvbnN0CisgIEhpTGluayBoc0VudW1Db25zdAkJCSAgQ29uc3RhbnQKKyAgSGlMaW5rIGhzRGVidWcJCQkgIERlYnVnCisKKyAgSGlMaW5rIGNDcHBTdHJpbmcJCWhzU3RyaW5nCisgIEhpTGluayBjQ29tbWVudFN0YXJ0CQloc0NvbW1lbnQKKyAgSGlMaW5rIGNDb21tZW50RXJyb3IJCWhzRXJyb3IKKyAgSGlMaW5rIGNDb21tZW50U3RhcnRFcnJvcgloc0Vycm9yCisgIEhpTGluayBjSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgY1ByZVByb2MJCVByZVByb2MKKyAgSGlMaW5rIGNEZWZpbmUJCU1hY3JvCisgIEhpTGluayBjSW5jbHVkZWQJCWhzU3RyaW5nCisgIEhpTGluayBjRXJyb3IJCQlFcnJvcgorICBIaUxpbmsgY1ByZUNvbmRpdAkJUHJlQ29uZGl0CisgIEhpTGluayBjQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgY0NwcFNraXAJCWNDcHBPdXQKKyAgSGlMaW5rIGNDcHBPdXQyCQljQ3BwT3V0CisgIEhpTGluayBjQ3BwT3V0CQlDb21tZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImhhc2tlbGwiCisKKyIgT3B0aW9ucyBmb3Igdmk6IHRzPTggc3c9MiBzdHM9MiBub3dyYXAgbm9leHBhbmR0YWIgZnQ9dmltCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9oYi52aW0gYi9ydW50aW1lL3N5bnRheC9oYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRmMzA1NAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2hiLnZpbQpAQCAtMCwwICsxLDk3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSHlwZXIgQnVpbGRlcgorIiBNYWludGFpbmVyOglBbGVqYW5kcm8gRm9yZXJvIEN1ZXJ2bworIiBVUkw6CQlodHRwOi8vYmFjaHVlLmNvbS9oYi92aW0vc3ludGF4L2hiLnZpbQorIiBMYXN0IENoYW5nZToJMjAwMSBTZXAgMDIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFJlYWQgdGhlIEhUTUwgc3ludGF4IHRvIHN0YXJ0IHdpdGgKKyJzeW4gaW5jbHVkZSBASFRNTFN0dWZmIDxzZmlsZT46cDpoL2h0bWxoYi52aW0KKworInRoaXMgd291bGQgYmUgbmljZSBidXQgd2UgYXJlIHN1cHBvc2VkIG5vdCB0byBkbyBpdAorInNldCBtcHM9PDo+CisKKyJzeW4gcmVnaW9uICBIQmh0bWxTdHJpbmcgY29udGFpbmVkIHN0YXJ0PSsiKyBlbmQ9KyIrIGNvbnRhaW5zPWh0bWxTcGVjaWFsQ2hhcgorInN5biByZWdpb24gIEhCaHRtbFN0cmluZyBjb250YWluZWQgc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbnM9aHRtbFNwZWNpYWxDaGFyCisKKyJzeW4gbWF0Y2ggICBodG1sVmFsdWUgICAgY29udGFpbmVkICI9W1x0IF0qW14nIiBcdD5dW14gXHQ+XSoiCisKK3N5biBtYXRjaCAgIGh0bWxTcGVjaWFsQ2hhciAiJlteO10qOyIgY29udGFpbmVkCisKK3N5biBtYXRjaCAgIEhCaHRtbFRhZ1NrICBjb250YWluZWQgIltBLVphLXpdKiIKKworc3luIG1hdGNoICAgSEJodG1sVGFnUyAgIGNvbnRhaW5lZCAiPFxzKlwoaGJccypcLlxzKlwoc2VjXHxtaW5cfGhvdXJcfGRheVx8bW9uXHx5ZWFyXHxpbnB1dFx8aHRtbFx8dGltZVx8Z2V0Y29va2llXHxzdHJlcWxcfHVybC1lbmNcKVx8d2FsbFxzKlwuXHMqXChzaG93XHxpbmZvXHxpZFx8bmV3XHxybVx8Y291bnRcKVx8YXV0aFxzKlwuXHMqXChjaGtcfGFkZFx8ZmluZFx8dXNlclwpXHxtYXRoXHMqXC5ccypleHBcKVxzKlwoW14uQS1aYS16MC05XVx8JFwpIiBjb250YWlucz1IQmh0bWxUYWdTayB0cmFuc3BhcmVudAorCitzeW4gbWF0Y2ggICBIQmh0bWxUYWdOICAgY29udGFpbmVkICJbQS1aYS16MC05XC9cLV1cKyIKKworc3luIG1hdGNoICAgSEJodG1sVGFnQiAgIGNvbnRhaW5lZCAiPFxzKltBLVphLXowLTlcL1wtXVwrXChccypcLlxzKltBLVphLXowLTlcL1wtXVwrXCkqIiBjb250YWlucz1IQmh0bWxUYWdTLEhCaHRtbFRhZ04KKworc3luIHJlZ2lvbiAgSEJodG1sVGFnIGNvbnRhaW5lZCBzdGFydD0rPCsgZW5kPSs+KyBjb250YWlucz1IQmh0bWxUYWdCLEhCRGlyZWN0aXZlRXJyb3IKKworc3luIG1hdGNoIEhCRmlsZU5hbWUgIi4qIiBjb250YWluZWQKKworc3luIG1hdGNoIEhCRGlyZWN0aXZlS2V5d29yZAkiOlxzKlwoaW5jbHVkZVx8bGliXHxzZXRcfG91dFwpXHNcKyIgY29udGFpbmVkCisKK3N5biBtYXRjaCBIQkRpcmVjdGl2ZUVycm9yCSJeOi4qJCIgY29udGFpbmVkCisKKyJzeW4gbWF0Y2ggSEJEaXJlY3RpdmVCbG9ja0VuZCAiXjpccyokIiBjb250YWluZWQKKworInN5biBtYXRjaCBIQkRpcmVjdGl2ZU91dEhlYWQgIl46XHMqb3V0XHNcK1xTXCsuKiIgY29udGFpbmVkIGNvbnRhaW5zPUhCRGlyZWN0aXZlS2V5d29yZCxIQkZpbGVOYW1lCisKKyJzeW4gbWF0Y2ggSEJEaXJlY3RpdmVTZXRIZWFkICJeOlxzKnNldFxzXCtcU1wrLioiIGNvbnRhaW5lZCBjb250YWlucz1IQkRpcmVjdGl2ZUtleXdvcmQsSEJGaWxlTmFtZQorCitzeW4gbWF0Y2ggSEJJbnZhbGlkTGluZSAiXi4qJCIKKworc3luIG1hdGNoIEhCRGlyZWN0aXZlSW5jbHVkZSAiXjpccyppbmNsdWRlXHNcK1xTXCsuKiQiIGNvbnRhaW5zPUhCRmlsZU5hbWUsSEJEaXJlY3RpdmVLZXl3b3JkCisKK3N5biBtYXRjaCBIQkRpcmVjdGl2ZUxpYiAiXjpccypsaWJcc1wrXFNcKy4qJCIgY29udGFpbnM9SEJGaWxlTmFtZSxIQkRpcmVjdGl2ZUtleXdvcmQKKworc3luIHJlZ2lvbiBIQlRleHQgbWF0Y2hncm91cD1IQkRpcmVjdGl2ZUtleXdvcmQgc3RhcnQ9L146XChzZXRcfG91dFwpXHMqXFNcKy4qJC8gZW5kPS9eOlxzKiQvIGNvbnRhaW5zPUhCRGlyZWN0aXZlRXJyb3IsaHRtbFNwZWNpYWxDaGFyLEhCaHRtbFRhZyBrZWVwZW5kCisKKyJzeW4gbWF0Y2ggSEJMaW5lICJeOi4qJCIgY29udGFpbnM9SEJEaXJlY3RpdmVJbmNsdWRlLEhCRGlyZWN0aXZlTGliLEhCRGlyZWN0aXZlRXJyb3IsSEJEaXJlY3RpdmVTZXQsSEJEaXJlY3RpdmVPdXQKKworc3luIG1hdGNoIEhCQ29tbWVudCAiXiMuKiQiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2hiX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2hiX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIEhCaHRtbFN0cmluZwkJCSBTdHJpbmcKKyAgSGlMaW5rIEhCaHRtbFRhZ04JCQkgRnVuY3Rpb24KKyAgSGlMaW5rIGh0bWxTcGVjaWFsQ2hhcgkJIFN0cmluZworCisgIEhpTGluayBIQkludmFsaWRMaW5lIEVycm9yCisgIEhpTGluayBIQkZvb2JhciBDb21tZW50CisgIGhpIEhCRmlsZU5hbWUgZ3VpYmc9bGlnaHRncmF5IGd1aWZnPWJsYWNrCisgIEhpTGluayBIQkRpcmVjdGl2ZUVycm9yIEVycm9yCisgIEhpTGluayBIQkRpcmVjdGl2ZUJsb2NrRW5kIEhCRGlyZWN0aXZlS2V5d29yZAorICBoaSBIQkRpcmVjdGl2ZUtleXdvcmQgZ3VpYmc9bGlnaHRncmF5IGd1aWZnPWRhcmtncmVlbgorICBIaUxpbmsgSEJDb21tZW50IENvbW1lbnQKKyAgSGlMaW5rIEhCaHRtbFRhZ1NrIFN0YXRlbWVudAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitzeW4gc3luYyBtYXRjaCBOb3JtYWwgZ3JvdXBoZXJlIE5PTkUgIl46XHMqJCIKK3N5biBzeW5jIG1hdGNoIE5vcm1hbCBncm91cGhlcmUgTk9ORSAiXjpccypsaWJcc1wrW14gXHRdXCskIgorc3luIHN5bmMgbWF0Y2ggTm9ybWFsIGdyb3VwaGVyZSBOT05FICJeOlxzKmluY2x1ZGVcc1wrW14gXHRdXCskIgorInN5biBzeW5jIG1hdGNoIEJsb2NrICBncm91cGhlcmUgSEJEaXJlY3RpdmVTZXQgIl4jOlxzKnNldFxzXCtbXiBcdF1cKyIKKyJzeW4gc3luYyBtYXRjaCBCbG9jayAgZ3JvdXBoZXJlIEhCRGlyZWN0aXZlT3V0ICJeIzpccypvdXRcc1wrW14gXHRdXCsiCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImhiIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaGVscC52aW0gYi9ydW50aW1lL3N5bnRheC9oZWxwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTdhNTUwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaGVscC52aW0KQEAgLTAsMCArMSwxODcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglWaW0gaGVscCBmaWxlCisiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIChCcmFtQHZpbS5vcmcpCisiIExhc3QgQ2hhbmdlOgkyMDA0IE1heSAxNworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBtYXRjaCBoZWxwSGVhZGxpbmUJCSJeW0EtWiBdXCtbIF1cK1wqIm1lPWUtMQorc3luIG1hdGNoIGhlbHBTZWN0aW9uRGVsaW0JIl49XHszLH0uKj09PSQiCitzeW4gbWF0Y2ggaGVscFNlY3Rpb25EZWxpbQkiXi1cezMsfS4qLS0kIgorc3luIHJlZ2lvbiBoZWxwRXhhbXBsZQkJbWF0Y2hncm91cD1oZWxwSWdub3JlIHN0YXJ0PSIgPiQiIHN0YXJ0PSJePiQiIGVuZD0iXlteIFx0XSJtZT1lLTEgZW5kPSJePCIKK2lmIGhhcygiZWJjZGljIikKKyAgc3luIG1hdGNoIGhlbHBIeXBlclRleHRKdW1wCSJcXFxAPCF8W14iKnxdXCt8IgorICBzeW4gbWF0Y2ggaGVscEh5cGVyVGV4dEVudHJ5CSJcKlteIip8XVwrXCpccyJoZT1lLTEKKyAgc3luIG1hdGNoIGhlbHBIeXBlclRleHRFbnRyeQkiXCpbXiIqfF1cK1wqJCIKK2Vsc2UKKyAgc3luIG1hdGNoIGhlbHBIeXBlclRleHRKdW1wCSJcXFxAPCF8WyMtKSErLX5dXCt8IgorICBzeW4gbWF0Y2ggaGVscEh5cGVyVGV4dEVudHJ5CSJcKlsjLSkhKy1+XVwrXCpccyJoZT1lLTEKKyAgc3luIG1hdGNoIGhlbHBIeXBlclRleHRFbnRyeQkiXCpbIy0pISstfl1cK1wqJCIKK2VuZGlmCitzeW4gbWF0Y2ggaGVscE5vcm1hbAkJInwuKj09PT0qfCIKK3N5biBtYXRjaCBoZWxwTm9ybWFsCQkiOnx2aW06fCIJIiBmb3IgOmhlbHAgbW9kZWxpbmUKK3N5biBtYXRjaCBoZWxwVmltCQkiVmltIHZlcnNpb24gWzAtOS5hLXpdXCsiCitzeW4gbWF0Y2ggaGVscFZpbQkJIlZJTSBSRUZFUkVOQ0UuKiIKK3N5biBtYXRjaCBoZWxwT3B0aW9uCQkiJ1thLXpdXHsyLFx9JyIKK3N5biBtYXRjaCBoZWxwT3B0aW9uCQkiJ3RfLi4nIgorc3luIG1hdGNoIGhlbHBIZWFkZXIJCSJccypcenMuXHstfVx6ZVxzXD1cfiQiIG5leHRncm91cD1oZWxwSWdub3JlCitzeW4gbWF0Y2ggaGVscElnbm9yZQkJIi4iIGNvbnRhaW5lZAorc3luIGtleXdvcmQgaGVscE5vdGUJCW5vdGUgTm90ZSBOT1RFIG5vdGU6IE5vdGU6IE5PVEU6IE5vdGVzIE5vdGVzOgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiXDxOXD4iCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJcPE5cLiQibWU9ZS0xCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJcPE5cLlxzIm1lPWUtMgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiKE5cPiJtcz1zKzEKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlxbTl0iCisiIGF2b2lkIGhpZ2hsaWdodGluZyBOICBOIGluIGhlbHAudHh0CitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJOICBOImhlPXMrMQorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiTnRoIm1lPWUtMgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiTi0xIm1lPWUtMgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkie1stYS16QS1aMC05JyI6JSM9W1xdPD4uLF1cK30iCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJ7Wy1hLXpBLVowLTknIiorLzolIz1bXF08Pi4sXVwrfSIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlxzXFtbLWEtel5BLVowLTlfXVx7Mix9XSJtcz1zKzEKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIjxbLWEtekEtWjAtOV9dXCs+Igorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiPFtTQ01dLS4+Igorc3luIG1hdGNoIGhlbHBOb3JtYWwJCSI8LS0tKj4iCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJcW3JhbmdlXSIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlxbbGluZV0iCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJcW2NvdW50XSIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlxbb2Zmc2V0XSIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlxbY21kXSIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlxbbnVtXSIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlxbK251bV0iCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJcWy1udW1dIgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiXFsrY21kXSIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlxbKytvcHRdIgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiXFthcmddIgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiXFthcmd1bWVudHNdIgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiXFtpZGVudF0iCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJcW2FkZHJdIgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiXFtncm91cF0iCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJDVFJMLS4iCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJDVFJMLUJyZWFrIgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiQ1RSTC1QYWdlVXAiCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJDVFJMLVBhZ2VEb3duIgorc3luIG1hdGNoIGhlbHBTcGVjaWFsCQkiQ1RSTC1JbnNlcnQiCitzeW4gbWF0Y2ggaGVscFNwZWNpYWwJCSJDVFJMLURlbCIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIkNUUkwte2NoYXJ9Igorc3luIHJlZ2lvbiBoZWxwTm90VmkJCXN0YXJ0PSJ7VmlbOiBdIiBzdGFydD0ie25vdCIgc3RhcnQ9Intvbmx5IiBlbmQ9In0iIGNvbnRhaW5zPWhlbHBMZWFkQmxhbmssaGVscEh5cGVyVGV4dEp1bXAKK3N5biBtYXRjaCBoZWxwTGVhZEJsYW5rCQkiXlxzXCsiIGNvbnRhaW5lZAorCisiIEhpZ2hsaWdodCBncm91cCBpdGVtcyBpbiB0aGVpciBvd24gY29sb3IuCitzeW4gbWF0Y2ggaGVscENvbW1lbnQJCSJcdFsqIF1Db21tZW50XHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscENvbnN0YW50CQkiXHRbKiBdQ29uc3RhbnRcdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwU3RyaW5nCQkiXHRbKiBdU3RyaW5nXHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscENoYXJhY3RlcgkJIlx0WyogXUNoYXJhY3Rlclx0XCtbYS16XS4qIgorc3luIG1hdGNoIGhlbHBOdW1iZXIJCSJcdFsqIF1OdW1iZXJcdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwQm9vbGVhbgkJIlx0WyogXUJvb2xlYW5cdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwRmxvYXQJCSJcdFsqIF1GbG9hdFx0XCtbYS16XS4qIgorc3luIG1hdGNoIGhlbHBJZGVudGlmaWVyCSJcdFsqIF1JZGVudGlmaWVyXHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscEZ1bmN0aW9uCQkiXHRbKiBdRnVuY3Rpb25cdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwU3RhdGVtZW50CQkiXHRbKiBdU3RhdGVtZW50XHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscENvbmRpdGlvbmFsCSJcdFsqIF1Db25kaXRpb25hbFx0XCtbYS16XS4qIgorc3luIG1hdGNoIGhlbHBSZXBlYXQJCSJcdFsqIF1SZXBlYXRcdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwTGFiZWwJCSJcdFsqIF1MYWJlbFx0XCtbYS16XS4qIgorc3luIG1hdGNoIGhlbHBPcGVyYXRvcgkJIlx0WyogXU9wZXJhdG9yXHRcK1siYS16XS4qIgorc3luIG1hdGNoIGhlbHBLZXl3b3JkCQkiXHRbKiBdS2V5d29yZFx0XCtbYS16XS4qIgorc3luIG1hdGNoIGhlbHBFeGNlcHRpb24JCSJcdFsqIF1FeGNlcHRpb25cdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwUHJlUHJvYwkJIlx0WyogXVByZVByb2NcdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwSW5jbHVkZQkJIlx0WyogXUluY2x1ZGVcdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwRGVmaW5lCQkiXHRbKiBdRGVmaW5lXHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscE1hY3JvCQkiXHRbKiBdTWFjcm9cdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwUHJlQ29uZGl0CQkiXHRbKiBdUHJlQ29uZGl0XHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscFR5cGUJCSJcdFsqIF1UeXBlXHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscFN0b3JhZ2VDbGFzcwkiXHRbKiBdU3RvcmFnZUNsYXNzXHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscFN0cnVjdHVyZQkJIlx0WyogXVN0cnVjdHVyZVx0XCtbYS16XS4qIgorc3luIG1hdGNoIGhlbHBUeXBlZGVmCQkiXHRbKiBdVHlwZWRlZlx0XCtbQWEtel0uKiIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbAkJIlx0WyogXVNwZWNpYWxcdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbENoYXIJIlx0WyogXVNwZWNpYWxDaGFyXHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscFRhZwkJIlx0WyogXVRhZ1x0XCtbYS16XS4qIgorc3luIG1hdGNoIGhlbHBEZWxpbWl0ZXIJCSJcdFsqIF1EZWxpbWl0ZXJcdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwU3BlY2lhbENvbW1lbnQJIlx0WyogXVNwZWNpYWxDb21tZW50XHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscERlYnVnCQkiXHRbKiBdRGVidWdcdFwrW2Etel0uKiIKK3N5biBtYXRjaCBoZWxwVW5kZXJsaW5lZAkiXHRbKiBdVW5kZXJsaW5lZFx0XCtbYS16XS4qIgorc3luIG1hdGNoIGhlbHBFcnJvcgkJIlx0WyogXUVycm9yXHRcK1thLXpdLioiCitzeW4gbWF0Y2ggaGVscFRvZG8JCSJcdFsqIF1Ub2RvXHRcK1thLXpdLioiCisKKworIiBBZGRpdGlvbmFsbHkgbG9hZCBhIGxhbmd1YWdlLXNwZWNpZmljIHN5bnRheCBmaWxlICJoZWxwX2FiLnZpbSIuCitsZXQgaSA9IG1hdGNoKGV4cGFuZCgiJSIpLCAnXC5cYVxheCQnKQoraWYgaSA+IDAKKyAgZXhlICJydW50aW1lIHN5bnRheC9oZWxwXyIgLiBzdHJwYXJ0KGV4cGFuZCgiJSIpLCBpICsgMSwgMikgLiAiLnZpbSIKK2VuZGlmCisKK3N5biBzeW5jIG1pbmxpbmVzPTQwCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaGVscF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9oZWxwX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGhlbHBFeGFtcGxlU3RhcnQJaGVscElnbm9yZQorICBIaUxpbmsgaGVscElnbm9yZQkJSWdub3JlCisgIEhpTGluayBoZWxwSHlwZXJUZXh0SnVtcAlTdWJ0aXRsZQorICBIaUxpbmsgaGVscEh5cGVyVGV4dEVudHJ5CVN0cmluZworICBIaUxpbmsgaGVscEhlYWRsaW5lCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhlbHBIZWFkZXIJCVByZVByb2MKKyAgSGlMaW5rIGhlbHBTZWN0aW9uRGVsaW0JUHJlUHJvYworICBIaUxpbmsgaGVscFZpbQkJSWRlbnRpZmllcgorICBIaUxpbmsgaGVscEV4YW1wbGUJCUNvbW1lbnQKKyAgSGlMaW5rIGhlbHBPcHRpb24JCVR5cGUKKyAgSGlMaW5rIGhlbHBOb3RWaQkJU3BlY2lhbAorICBIaUxpbmsgaGVscFNwZWNpYWwJCVNwZWNpYWwKKyAgSGlMaW5rIGhlbHBOb3RlCQlUb2RvCisgIEhpTGluayBTdWJ0aXRsZQkJSWRlbnRpZmllcgorCisgIEhpTGluayBoZWxwQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgaGVscENvbnN0YW50CQlDb25zdGFudAorICBIaUxpbmsgaGVscFN0cmluZwkJU3RyaW5nCisgIEhpTGluayBoZWxwQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKKyAgSGlMaW5rIGhlbHBOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgaGVscEJvb2xlYW4JCUJvb2xlYW4KKyAgSGlMaW5rIGhlbHBGbG9hdAkJRmxvYXQKKyAgSGlMaW5rIGhlbHBJZGVudGlmaWVyCQlJZGVudGlmaWVyCisgIEhpTGluayBoZWxwRnVuY3Rpb24JCUZ1bmN0aW9uCisgIEhpTGluayBoZWxwU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhlbHBDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgaGVscFJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBoZWxwTGFiZWwJCUxhYmVsCisgIEhpTGluayBoZWxwT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBoZWxwS2V5d29yZAkJS2V5d29yZAorICBIaUxpbmsgaGVscEV4Y2VwdGlvbgkJRXhjZXB0aW9uCisgIEhpTGluayBoZWxwUHJlUHJvYwkJUHJlUHJvYworICBIaUxpbmsgaGVscEluY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIGhlbHBEZWZpbmUJCURlZmluZQorICBIaUxpbmsgaGVscE1hY3JvCQlNYWNybworICBIaUxpbmsgaGVscFByZUNvbmRpdAkJUHJlQ29uZGl0CisgIEhpTGluayBoZWxwVHlwZQkJVHlwZQorICBIaUxpbmsgaGVscFN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGhlbHBTdHJ1Y3R1cmUJCVN0cnVjdHVyZQorICBIaUxpbmsgaGVscFR5cGVkZWYJCVR5cGVkZWYKKyAgSGlMaW5rIGhlbHBTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgorICBIaUxpbmsgaGVscFRhZwkJVGFnCisgIEhpTGluayBoZWxwRGVsaW1pdGVyCQlEZWxpbWl0ZXIKKyAgSGlMaW5rIGhlbHBTcGVjaWFsQ29tbWVudAlTcGVjaWFsQ29tbWVudAorICBIaUxpbmsgaGVscERlYnVnCQlEZWJ1ZworICBIaUxpbmsgaGVscFVuZGVybGluZWQJCVVuZGVybGluZWQKKyAgSGlMaW5rIGhlbHBFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIGhlbHBUb2RvCQlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImhlbHAiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hlcmN1bGVzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hlcmN1bGVzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmQ4ZTliCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaGVyY3VsZXMudmltCkBAIC0wLDAgKzEsMTMzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSGVyY3VsZXMKKyIgTWFpbnRhaW5lcjoJRGFuYSBFZHdhcmRzIDxEYW5hX0Vkd2FyZHNAYXZhbnRpY29ycC5jb20+CisiIEV4dGVuc2lvbnM6ICAgKi52YywqLmV2LCoucnMKKyIgTGFzdCBjaGFuZ2U6ICBOb3YuIDksIDIwMDEKKyIgQ29tbWVudDogICAgICBIZXJjdWxlcyBwaHlzaWNhbCBJQyBkZXNpZ24gdmVyaWZpY2F0aW9uIHNvZnR3YXJlIGVuc3VyZXMKKyIJCXRoYXQgYW4gSUMncyBwaHlzaWNhbCBkZXNpZ24gbWF0Y2hlcyBpdHMgbG9naWNhbCBkZXNpZ24gYW5kCisiCQlzYXRpc2ZpZXMgbWFudWZhY3R1cmluZyBydWxlcy4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIElnbm9yZSBjYXNlCitzeW4gY2FzZSBpZ25vcmUKKworIiBIZXJjdWxlcyBydW5zZXQgc2VjdGlvbnMKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNUeXBlCSAgaGVhZGVyIGFzc2lnbl9wcm9wZXJ0eSBhbGlhcyBhc3NpZ24KK3N5biBrZXl3b3JkICAgaGVyY3VsZXNUeXBlCSAgb3B0aW9ucyBwcmVwcm9jZXNzX29wdGlvbnMKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNUeXBlCSAgZXhwbG9kZV9vcHRpb25zIHRlY2hub2xvZ3lfb3B0aW9ucworc3luIGtleXdvcmQgICBoZXJjdWxlc1R5cGUJICBkcmNfb3B0aW9ucyBkYXRhYmFzZV9vcHRpb25zCitzeW4ga2V5d29yZCAgIGhlcmN1bGVzVHlwZQkgIHRleHRfb3B0aW9ucyBscGVfb3B0aW9ucyBldmFjY2Vzc19vcHRpb25zCitzeW4ga2V5d29yZCAgIGhlcmN1bGVzVHlwZQkgIGNoZWNrX3BvaW50IGNvbXBhcmVfZ3JvdXAgZW52aXJvbm1lbnQKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNUeXBlCSAgZ3JpZF9jaGVjayBpbmNsdWRlIGxheWVyX3N0YXRzIGxvYWRfZ3JvdXAKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNUeXBlCSAgcmVzdGFydCBydW5fb25seSBzZWxmX2ludGVyc2VjdCBzZXQgc25hcAorc3luIGtleXdvcmQgICBoZXJjdWxlc1R5cGUJICBzeXN0ZW0gdmFyaWFibGUgd2FpdmVyCisKKyIgSGVyY3VsZXMgY29tbWFuZHMKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBhdHRhY2hfcHJvcGVydHkgYm9vbGVhbiBjZWxsX2V4dGVudAorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIGNvbW1vbl9oaWVyYXJjaHkgY29ubmVjdGlvbl9wb2ludHMKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBjb3B5IGRhdGFfZmlsdGVyIGFsdGVybmF0ZSBkZWxldGUKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBleHBsb2RlIGV4cGxvZGVfYWxsIGZpbGxfcGF0dGVybiBmaW5kX25ldAorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIGZsYXR0ZW4KK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBsZXZlbCBuZWdhdGUgcG9seWdvbl9mZWF0dXJlcyBwdXNoCitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgcmVjdGFuZ2xlcyByZWxvY2F0ZSByZW1vdmVfb3ZlcmxhcCByZXZlcnNlIHNlbGVjdAorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIHNlbGVjdF9jZWxsIHNlbGVjdF9jb250YWlucyBzZWxlY3RfZWRnZSBzZWxlY3RfbmV0IHNpemUKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICB0ZXh0X3BvbHlnb24gdGV4dF9wcm9wZXJ0eSB2ZXJ0ZXggYXJlYSBjdXQKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBkZW5zaXR5IGVuY2xvc2UgZXh0ZXJuYWwgaW5zaWRlX2VkZ2UKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBpbnRlcm5hbCBub3RjaCB2ZWN0b3JpemUgY2VudGVyX3RvX2NlbnRlcgorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIGxlbmd0aCBtYXNrX2FsaWduIG1vc2NoZWNrIHJlc2NoZWNrCitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgYW5hbHlzaXMgYnVpbGRzdWIgaW5pdF9scGVfZGIgY2FwYWNpdG9yCitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgZGV2aWNlIGdlbmRldiBubW9zIHBtb3MgZGlvZGUgbnBuIHBucAorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIHJlc2lzdG9yIHNldF9wYXJhbSBzYXZlX3Byb3BlcnR5CitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgY29ubmVjdCBkaXNjb25uZWN0IHRleHQgIHRleHRfYm9vbGVhbgorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIHJlcGxhY2VfdGV4dCBjcmVhdGVfcG9ydHMgbGFiZWwgZ3JhcGhpY3MKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBzYXZlX25ldGxpc3RfZGF0YWJhc2UgbHBlX3N0YXRzIG5ldGxpc3QKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBzcGljZSBncmFwaGljc19wcm9wZXJ0eSBncmFwaGljc19uZXRsaXN0CitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgd3JpdGVfbWlsa3l3YXkgbXVsdGlfcnVsZV9lbmNsb3NlCitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgaWYgZXJyb3JfcHJvcGVydHkgZXF1YXRlIGNvbXBhcmUKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBhbnRlbm5hX2ZpeCBjX3RocnUgZGV2X2Nvbm5lY3RfY2hlY2sKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBkZXZfbmV0X2NvdW50IGRldmljZV9jb3VudCBuZXRfZmlsdGVyCitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgbmV0X3BhdGhfY2hlY2sgcmF0aW8gcHJvY2Vzc190ZXh0X29wZW5zCisKKyIgSGVyY3VsZXMga2V5d29yZHMKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBibGFja19ib3hfZmlsZSBibG9jayBjb21wYXJlX2RpciBlcXVpdmFsZW5jZQorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIGZvcm1hdCBnZHNpbl9kaXIgZ3JvdXBfZGlyIGdyb3VwX2Rpcl91c2FnZQorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIGlubGliIGxheW91dF9wYXRoIG91dGxpYiBvdXRwdXRfZm9ybWF0CitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgb3V0cHV0X2xheW91dF9wYXRoIHNjaGVtYXRpYyBzY2hlbWF0aWNfZm9ybWF0CitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgc2NoZW1lX2ZpbGUgb3V0cHV0X2Jsb2NrIGVsc2UKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBhbmQgb3Igbm90IHhvciBhbmRvdmVybGFwIGluc2lkZSBvdXRzaWRlIGJ5IHRvCitzeW4ga2V5d29yZCAgIGhlcmN1bGVzU3RhdGVtZW50ICAgd2l0aCBjb25uZWN0ZWQgY29ubmVjdGVkX2FsbCB0ZXh0ZWRfd2l0aCB0ZXh0ZWQKK3N5biBrZXl3b3JkICAgaGVyY3VsZXNTdGF0ZW1lbnQgICBieV9wcm9wZXJ0eSBjdXR0aW5nIGVkZ2VfdG91Y2ggZW5jbG9zaW5nIGluc2lkZQorc3luIGtleXdvcmQgICBoZXJjdWxlc1N0YXRlbWVudCAgIGluc2lkZV9ob2xlIGludGVyYWN0IHRvdWNoaW5nIHZlcnRleAorCisiIEhlcmN1bGVzIGNvbW1lbnRzCitzeW4gcmVnaW9uICAgIGhlcmN1bGVzQ29tbWVudAkJc3RhcnQ9Ii9cKiIgc2tpcD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9aGVyY3VsZXNUb2RvCitzeW4gbWF0Y2ggICAgIGhlcmN1bGVzQ29tbWVudAkJIi8vLioiIGNvbnRhaW5zPWhlcmN1bGVzVG9kbworCisiIFByZXByb2Nlc3NvciBkaXJlY3RpdmVzCitzeW4gbWF0Y2ggICAgIGhlcmN1bGVzUHJlUHJvYyAiXiMuKiIKK3N5biBtYXRjaCAgICAgaGVyY3VsZXNQcmVQcm9jICJeQC4qIgorc3luIG1hdGNoICAgICBoZXJjdWxlc1ByZVByb2MgIm1hY3JvcyIKKworIiBIZXJjdWxlcyBDT01NRU5UIG9wdGlvbgorc3luIG1hdGNoICAgICBoZXJjdWxlc0NtZENtbnQgImNvbW1lbnQuKj0uKiIKKworIiBTcGFjaW5ncywgUmVzb2x1dGlvbnMsIFJhbmdlcywgUmF0aW9zLCBldGMuCitzeW4gbWF0Y2ggICAgIGhlcmN1bGVzTnVtYmVyCSAgICAgICItXD1cPFswLTldXCtMXD1cPlx8MFt4WF1bMC05XVwrXD4iCisKKyIgUGFyZW50aGVzaXMgc2FuaXR5IGNoZWNrZXIKK3N5biByZWdpb24gICAgaGVyY3VsZXNab25lICAgICAgIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxoZXJjdWxlc0Vycm9yLGhlcmN1bGVzQnJhY2VFcnJvcixoZXJjdWxlc0N1cmx5RXJyb3IKK3N5biByZWdpb24gICAgaGVyY3VsZXNab25lICAgICAgIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9In0iIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxoZXJjdWxlc0Vycm9yLGhlcmN1bGVzQnJhY2VFcnJvcixoZXJjdWxlc1BhcmVuRXJyb3IKK3N5biByZWdpb24gICAgaGVyY3VsZXNab25lICAgICAgIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcWyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSJdIiB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQsaGVyY3VsZXNFcnJvcixoZXJjdWxlc0N1cmx5RXJyb3IsaGVyY3VsZXNQYXJlbkVycm9yCitzeW4gbWF0Y2ggICAgIGhlcmN1bGVzRXJyb3IgICAgICAiWylcXX1dIgorc3luIG1hdGNoICAgICBoZXJjdWxlc0JyYWNlRXJyb3IgIlspfV0iICBjb250YWluZWQKK3N5biBtYXRjaCAgICAgaGVyY3VsZXNDdXJseUVycm9yICJbKVxdXSIgY29udGFpbmVkCitzeW4gbWF0Y2ggICAgIGhlcmN1bGVzUGFyZW5FcnJvciAiW1xdfV0iIGNvbnRhaW5lZAorCisiIEhlcmN1bGVzIG91dHB1dCBmb3JtYXQKKyJzeW4gbWF0Y2ggIGhlcmN1bGVzT3V0cHV0ICIoWzAtOV0uKikiCisic3luIG1hdGNoICBoZXJjdWxlc091dHB1dCAiKFswLTldLipcOy4qKSIKK3N5biBtYXRjaCAgICAgaGVyY3VsZXNPdXRwdXQgInBlcm1ccyo9LiooLiopIgorc3luIG1hdGNoICAgICBoZXJjdWxlc091dHB1dCAidGVtcFxzKj1ccyoiCitzeW4gbWF0Y2ggICAgIGhlcmN1bGVzT3V0cHV0ICJlcnJvclxzKj1ccyooLiopIgorCisiTW9kaWZ5IHRoZSBmb2xsb3dpbmcgYXMgbmVlZGVkLiAgVGhlIHRyYWRlLW9mZiBpcyBwZXJmb3JtYW5jZSB2ZXJzdXMgZnVuY3Rpb25hbGl0eS4KK3N5biBzeW5jICAgICAgbGluZXM9MTAwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2hlcmN1bGVzX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2hlcmN1bGVzX3N5bnRheF9pbml0cyA9IDEKKyAgICAiIERlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLgorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgaGVyY3VsZXNTdGF0ZW1lbnQgIFN0YXRlbWVudAorICBIaUxpbmsgaGVyY3VsZXNUeXBlICAgICAgIFR5cGUKKyAgSGlMaW5rIGhlcmN1bGVzQ29tbWVudCAgICBDb21tZW50CisgIEhpTGluayBoZXJjdWxlc1ByZVByb2MgICAgUHJlUHJvYworICBIaUxpbmsgaGVyY3VsZXNUb2RvICAgICAgIFRvZG8KKyAgSGlMaW5rIGhlcmN1bGVzT3V0cHV0ICAgICBJbmNsdWRlCisgIEhpTGluayBoZXJjdWxlc0NtZENtbnQgICAgSWRlbnRpZmllcgorICBIaUxpbmsgaGVyY3VsZXNOdW1iZXIgICAgIE51bWJlcgorICBIaUxpbmsgaGVyY3VsZXNCcmFjZUVycm9yIGhlcmN1bGVzRXJyb3IKKyAgSGlMaW5rIGhlcmN1bGVzQ3VybHlFcnJvciBoZXJjdWxlc0Vycm9yCisgIEhpTGluayBoZXJjdWxlc1BhcmVuRXJyb3IgaGVyY3VsZXNFcnJvcgorICBIaUxpbmsgaGVyY3VsZXNFcnJvciAgICAgIEVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImhlcmN1bGVzIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaGV4LnZpbSBiL3J1bnRpbWUvc3ludGF4L2hleC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBjNjU1MwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2hleC52aW0KQEAgLTAsMCArMSw1NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUludGVsIGhleCBNQ1M1MQorIiBNYWludGFpbmVyOglTYW1zIFJpY2FocmQgPHNhbXNAcGluZy5hdD4KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgQXByIDI1CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgc3RvcmFnZSB0eXBlcworCitzeW4gbWF0Y2ggaGV4Q2hlY2tzdW0JIlswLTlhLWZBLUZdXHsyfSQiCitzeW4gbWF0Y2ggaGV4QWRyZXNzICAiXjpbMC05YS1mQS1GXVx7Nn0iIGNvbnRhaW5zPWhleERhdGFCeXRlQ291bnQKK3N5biBtYXRjaCBoZXhSZWNUeXBlICAiXjpbMC05YS1mQS1GXVx7OH0iIGNvbnRhaW5zPWhleEFkcmVzcworc3luIG1hdGNoIGhleERhdGFCeXRlQ291bnQgIGNvbnRhaW5lZCAiXjpbMC05YS1mQS1GXVx7Mn0iIGNvbnRhaW5zPWhleFN0YXJ0CitzeW4gbWF0Y2ggaGV4U3RhcnQgY29udGFpbmVkICJeOiIKK3N5biBtYXRjaCBoZXhFeHRBZHJSZWMgIl46MDIwMDAwMDJbMC05YS1mQS1GXVx7NH0iIGNvbnRhaW5zPWhleFNwZWNSZWMKK3N5biBtYXRjaCBoZXhFeHRMaW5BZHJSZWMgIl46MDIwMDAwMDRbMC05YS1mQS1GXVx7NH0iIGNvbnRhaW5zPWhleFNwZWNSZWMKK3N5biBtYXRjaCBoZXhTcGVjUmVjIGNvbnRhaW5lZCAiXjowWzAyXTAwMDAwWzEyNF0iIGNvbnRhaW5zPWhleFN0YXJ0CitzeW4gbWF0Y2ggaGV4RU9GICJeOjAwMDAwMDAxIiBjb250YWlucz1oZXhTdGFydAorCitzeW4gY2FzZSBtYXRjaAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9oZXhfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfaGV4X3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICBIaUxpbmsgaGV4U3RhcnQJCVNwZWNpYWxLZXkKKyAgSGlMaW5rIGhleERhdGFCeXRlQ291bnQJQ29uc3RhbnQKKyAgSGlMaW5rIGhleEFkcmVzcwkJQ29tbWVudAorICBIaUxpbmsgaGV4UmVjVHlwZQkJV2FybmluZ01zZworICBIaUxpbmsgaGV4Q2hlY2tzdW0JCVNlYXJjaAorICBIaUxpbmsgaGV4RXh0QWRyUmVjCQloZXhBZHJlc3MKKyAgSGlMaW5rIGhleEVPRgkJCWhleFNwZWNSZWMKKyAgSGlMaW5rIGhleEV4dExpbkFkclJlYwloZXhBZHJlc3MKKyAgSGlMaW5rIGhleFNwZWNSZWMJCURpZmZBZGQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaGV4IgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaGl0ZXN0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2hpdGVzdC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ4OTEwMQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2hpdGVzdC52aW0KQEAgLTAsMCArMSwxNDkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglub25lOyB1c2VkIHRvIHNlZSBoaWdobGlnaHRpbmcKKyIgTWFpbnRhaW5lcjoJUm9uYWxkIFNjaGlsZCA8cnNAc2N1dHVtLmRlPgorIiBMYXN0IENoYW5nZToJMjAwMSBTZXAgMDIKKyIgVmVyc2lvbjoJNS40bi4xCisKKyIgVG8gc2VlIHlvdXIgY3VycmVudCBoaWdobGlnaHQgc2V0dGluZ3MsIGRvCisiICAgIDpzbyAkVklNUlVOVElNRS9zeW50YXgvaGl0ZXN0LnZpbQorCisiIHNhdmUgZ2xvYmFsIG9wdGlvbnMgYW5kIHJlZ2lzdGVycworbGV0IHM6aGlkZGVuICAgICAgPSAmaGlkZGVuCitsZXQgczpsYXp5cmVkcmF3ICA9ICZsYXp5cmVkcmF3CitsZXQgczptb3JlCSAgPSAmbW9yZQorbGV0IHM6cmVwb3J0ICAgICAgPSAmcmVwb3J0CitsZXQgczpzaG9ydG1lc3MgICA9ICZzaG9ydG1lc3MKK2xldCBzOndyYXBzY2FuICAgID0gJndyYXBzY2FuCitsZXQgczpyZWdpc3Rlcl9hICA9IEBhCitsZXQgczpyZWdpc3Rlcl9zZSA9IEAvCisKKyIgc2V0IGdsb2JhbCBvcHRpb25zCitzZXQgaGlkZGVuIGxhenlyZWRyYXcgbm9tb3JlIHJlcG9ydD05OTk5OSBzaG9ydG1lc3M9YW9Pc3RUVyB3cmFwc2NhbgorCisiIHByaW50IGN1cnJlbnQgaGlnaGxpZ2h0IHNldHRpbmdzIGludG8gcmVnaXN0ZXIgYQorcmVkaXIgQGEKK2hpZ2hsaWdodAorcmVkaXIgRU5ECisKKyIgT3BlbiBhIG5ldyB3aW5kb3cgaWYgdGhlIGN1cnJlbnQgb25lIGlzbid0IGVtcHR5CitpZiBsaW5lKCIkIikgIT0gMSB8fCBnZXRsaW5lKDEpICE9ICIiCisgIG5ldworZW5kaWYKKworIiBlZGl0IHRlbXBvcmFyeSBmaWxlCitlZGl0IEhpZ2hsaWdodFwgdGVzdAorCisiIHNldCBsb2NhbCBvcHRpb25zCitzZXRsb2NhbCBhdXRvaW5kZW50IG5vZXhwYW5kdGFiIGZvcm1hdG9wdGlvbnM9dCBzaGlmdHdpZHRoPTE2IG5vc3dhcGZpbGUgdGFic3RvcD0xNgorbGV0ICZ0ZXh0d2lkdGg9JmNvbHVtbnMKKworIiBpbnNlcnQgaGlnaGxpZ2h0IHNldHRpbmdzCislIGRlbGV0ZQorcHV0IGEKKworIiByZW1vdmUgdGhlIGNvbG9yZWQgeHh4IGl0ZW1zCitnL3h4eCAvcy8vL2UKKworIiByZW1vdmUgY29sb3Igc2V0dGluZ3MgKG5vdCBuZWVkZWQgaGVyZSkKK2dsb2JhbCEgL2xpbmtzIHRvLyBzdWJzdGl0dXRlIC9ccy4qJC8vZQorCisiIG1vdmUgbGlua2VkIGdyb3VwcyB0byB0aGUgZW5kIG9mIGZpbGUKK2dsb2JhbCAvbGlua3MgdG8vIG1vdmUgJAorCisiIG1vdmUgbGlua2VkIGdyb3VwIG5hbWVzIHRvIHRoZSBtYXRjaGluZyBwcmVmZXJyZWQgZ3JvdXBzCislIHN1YnN0aXR1dGUgL15cKFx3XCtcKVxzKlwobGlua3MgdG9cKVxzKlwoXHdcK1wpJC9cM1x0XDIgXDEvZQorZ2xvYmFsIC9saW5rcyB0by8gbm9ybWFsIG16M0VsRDAjJHAnemRkCisKKyIgZGVsZXRlIGVtcHR5IGxpbmVzCitnbG9iYWwgL14gKiQvIGRlbGV0ZQorCisiIHByZWNlZGUgc3ludGF4IGNvbW1hbmQKKyUgc3Vic3RpdHV0ZSAvXlteIF0qL3N5biBrZXl3b3JkICZcdCYvCisKKyIgZXhlY3V0ZSBzeW50YXggY29tbWFuZHMKK3N5bnRheCBjbGVhcgorJSB5YW5rIGEKK0BhCisKKyIgcmVtb3ZlIHN5bnRheCBjb21tYW5kcyBhZ2FpbgorJSBzdWJzdGl0dXRlIC9ec3luIGtleXdvcmQgLy8KKworIiBwcmV0dHkgZm9ybWF0dGluZworZ2xvYmFsIC9eLyBleGUgIm5vcm1hbCBXaVw8Q1I+XHRcZUFBXGV4IgorZ2xvYmFsIC9eXFMvIGpvaW4KKworIiBmaW5kIG91dCBmaXJzdCBzeW50YXggaGlnaGxpZ2h0aW5nCitsZXQgYjp2YXJpb3VzID0gJmhpZ2hsaWdodC4nLDpOb3JtYWwsOkN1cnNvciw6LCcKK2xldCBiOmkgPSAxCit3aGlsZSBiOnZhcmlvdXMgPX4gJzonLnN1YnN0aXR1dGUoZ2V0bGluZShiOmkpLCAnXHMuKiQnLCAnLCcsICcnKQorICAgbGV0IGI6aSA9IGI6aSArIDEKKyAgIGlmIGI6aSA+IGxpbmUoIiQiKSB8IGJyZWFrIHwgZW5kaWYKK2VuZHdoaWxlCisKKyIgaW5zZXJ0IGhlYWRsaW5lcworY2FsbCBhcHBlbmQoMCwgIkhpZ2hsaWdodGluZyBncm91cHMgZm9yIHZhcmlvdXMgb2NjYXNpb25zIikKK2NhbGwgYXBwZW5kKDEsICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpCisKK2lmIGI6aSA8IGxpbmUoIiQiKS0xCisgICBsZXQgYjpzeW5oZWFkID0gIlN5bnRheCBoaWdobGlnaHRpbmcgZ3JvdXBzIgorICAgaWYgZXhpc3RzKCJoaXRlc3RfZmlsZXR5cGVzIikKKyAgICAgIHJlZGlyIEBhCisgICAgICBsZXQKKyAgICAgIHJlZGlyIEVORAorICAgICAgbGV0IEBhID0gc3Vic3RpdHV0ZShAYSwgJ2RpZF9cKFx3XCtcKV9zeW5cdypfaW5pdHNccyojMScsICcsIFwxJywgJ2cnKQorICAgICAgbGV0IEBhID0gc3Vic3RpdHV0ZShAYSwgIlxuXFx3W15cbl0qIiwgJycsICdnJykKKyAgICAgIGxldCBAYSA9IHN1YnN0aXR1dGUoQGEsICJcbiIsICcnLCAnZycpCisgICAgICBsZXQgQGEgPSBzdWJzdGl0dXRlKEBhLCAnXiwnLCAnJywgJ2cnKQorICAgICAgaWYgQGEgIT0gIiIKKwkgbGV0IGI6c3luaGVhZCA9IGI6c3luaGVhZC4iIC0gZmlsZXR5cGUiCisJIGlmIEBhID1+ICcsJworCSAgICBsZXQgYjpzeW5oZWFkID0gYjpzeW5oZWFkLiJzIgorCSBlbmRpZgorCSBsZXQgYjpzeW5oZWFkID0gYjpzeW5oZWFkLiI6Ii5AYQorICAgICAgZW5kaWYKKyAgIGVuZGlmCisgICBjYWxsIGFwcGVuZChiOmkrMSwgIiIpCisgICBjYWxsIGFwcGVuZChiOmkrMiwgYjpzeW5oZWFkKQorICAgY2FsbCBhcHBlbmQoYjppKzMsIHN1YnN0aXR1dGUoYjpzeW5oZWFkLCAnLicsICctJywgJ2cnKSkKK2VuZGlmCisKKyIgcmVtb3ZlICdobHMnIGhpZ2hsaWdodGluZworbm9obHNlYXJjaAorbm9ybWFsIDAKKworIiBhZGQgYXV0b2NvbW1hbmRzIHRvIHJlbW92ZSB0ZW1wb3JhcnkgZmlsZSBmcm9tIGJ1ZmZlciBsaXN0CithdWcgaGlnaGxpZ2h0dGVzdAorICAgYXUhCisgICBhdSBCdWZVbmxvYWQgSGlnaGxpZ2h0XCB0ZXN0IGlmIGV4cGFuZCgiPGFmaWxlPiIpID09ICJIaWdobGlnaHQgdGVzdCIKKyAgIGF1IEJ1ZlVubG9hZCBIaWdobGlnaHRcIHRlc3QgICAgYmRlbGV0ZSEgSGlnaGxpZ2h0XCB0ZXN0CisgICBhdSBCdWZVbmxvYWQgSGlnaGxpZ2h0XCB0ZXN0IGVuZGlmCisgICBhdSBWaW1MZWF2ZVByZSAqIGlmIGJ1ZmV4aXN0cygiSGlnaGxpZ2h0IHRlc3QiKQorICAgYXUgVmltTGVhdmVQcmUgKiAgICBiZGVsZXRlISBIaWdobGlnaHRcIHRlc3QKKyAgIGF1IFZpbUxlYXZlUHJlICogZW5kaWYKK2F1ZyBFTkQKKworIiB3ZSBkb24ndCB3YW50IHRvIHNhdmUgdGhpcyB0ZW1wb3JhcnkgZmlsZQorc2V0IG5vbW9kaWZpZWQKKworIiB0aGUgZm9sbG93aW5nIHRyaWNrIGF2b2lkcyB0aGUgIlByZXNzIFJFVFVSTiAuLi4iIHByb21wdAorMCBhcHBlbmQKKy4KKworIiByZXN0b3JlIGdsb2JhbCBvcHRpb25zIGFuZCByZWdpc3RlcnMKK2xldCAmaGlkZGVuICAgICAgPSBzOmhpZGRlbgorbGV0ICZsYXp5cmVkcmF3ICA9IHM6bGF6eXJlZHJhdworbGV0ICZtb3JlCSA9IHM6bW9yZQorbGV0ICZyZXBvcnQJID0gczpyZXBvcnQKK2xldCAmc2hvcnRtZXNzCSA9IHM6c2hvcnRtZXNzCitsZXQgJndyYXBzY2FuCSA9IHM6d3JhcHNjYW4KK2xldCBAYQkJID0gczpyZWdpc3Rlcl9hCisKKyIgcmVzdG9yZSBsYXN0IHNlYXJjaCBwYXR0ZXJuCitjYWxsIGhpc3RkZWwoInNlYXJjaCIsIC0xKQorbGV0IEAvID0gczpyZWdpc3Rlcl9zZQorCisiIHJlbW92ZSB2YXJpYWJsZXMKK3VubGV0IHM6aGlkZGVuIHM6bGF6eXJlZHJhdyBzOm1vcmUgczpyZXBvcnQgczpzaG9ydG1lc3MKK3VubGV0IHM6d3JhcHNjYW4gczpyZWdpc3Rlcl9hIHM6cmVnaXN0ZXJfc2UKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hvZy52aW0gYi9ydW50aW1lL3N5bnRheC9ob2cudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzOWMxNzEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9ob2cudmltCkBAIC0wLDAgKzEsMzUwIEBACisiIFNub3J0IHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgIFNub3J0IENvbmZpZ3VyYXRpb24gRmlsZSAoc2VlOiBodHRwOi8vd3d3LnNub3J0Lm9yZykKKyIgTWFpbnRhaW5lcjoJICBQaGlsIFdvb2QsIGNvcm5ldHRAYXJwYS5uZXQKKyIgTGFzdCBDaGFuZ2U6CSAgJERhdGUkCisiIEZpbGVuYW1lczoJICAqLmhvZyAqLnJ1bGVzIHNub3J0LmNvbmYgdmlzaW9uLmNvbmYKKyIgVVJMOgkJICBodHRwOi8vaG9tZS5sYW5sLmdvdi9jcHcvdmltL3N5bnRheC9ob2cudmltCisiIFNub3J0IFZlcnNpb246ICAxLjggQnkgTWFydGluIFJvZXNjaCAocm9lc2NoQGNsYXJrLm5ldCwgd3d3LnNub3J0Lm9yZykKKyIgVE9ETwkJICBpbmNsdWRlIGFsbCAxLjggc3ludGF4CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAorICAgZmluaXNoCitlbmRpZgorCitzeW4gbWF0Y2ggIGhvZ0NvbW1lbnQJK1xzXCNbXlwtOi4lIz0qXS4qJCtsYz0xCWNvbnRhaW5zPWhvZ1RvZG8saG9nQ29tbWVudFN0cmluZworc3luIHJlZ2lvbiBob2dDb21tZW50U3RyaW5nIGNvbnRhaW5lZCBvbmVsaW5lIHN0YXJ0PSdcU1xzXCtcIysnbXM9cysxIGVuZD0nXCMnCisKK3N5biBtYXRjaCAgIGhvZ0p1bmsgIlw8XGFcK3xcc1wrJCIKK3N5biBtYXRjaCAgIGhvZ051bWJlciBjb250YWluZWQJIlw8XGRcK1w+Igorc3luIHJlZ2lvbiAgaG9nVGV4dCBjb250YWluZWQgb25lbGluZSBzdGFydD0nXFMnIGVuZD0nLCcgc2tpcHdoaXRlCitzeW4gcmVnaW9uICBob2dUZXh0cyBjb250YWluZWQgb25lbGluZSBzdGFydD0nXFMnIGVuZD0nOycgc2tpcHdoaXRlCisKKyIgRW52aXJvbm1lbnQgVmFyaWFibGVzCisiID09PT09PT09PT09PT09PT09PT09PQorInN5biBtYXRjaCBob2dFbnZ2YXIgY29udGFpbmVkCSJbXCFdXD1cJFxJXGkqIgorInN5biBtYXRjaCBob2dFbnZ2YXIgY29udGFpbmVkCSJbXCFdXD1cJHtcSVxpKn0iCitzeW4gbWF0Y2ggaG9nRW52dmFyIGNvbnRhaW5lZAkiXCRcSVxpKiIKK3N5biBtYXRjaCBob2dFbnZ2YXIgY29udGFpbmVkCSJbXCFdXD1cJHtcSVxpKn0iCisKKworIiBTdHJpbmcgaGFuZGxpbmcgbGlmdGVkIGZyb20gdmltLnZpbSB3cml0dGVuIGJ5IERyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4KKyIgVHJ5IHRvIGNhdGNoIHN0cmluZ3MsIGlmIG5vdGhpbmcgZWxzZSBtYXRjaGVzICh0aGVyZWZvcmUgaXQgbXVzdCBwcmVjZWRlIHRoZSBvdGhlcnMhKQorIiB2bUVzY2FwZUJyYWNlIGhhbmRsZXMgWyJdICBbXSJdIChpZS4gc3RheXMgYXMgc3RyaW5nKQorc3luIHJlZ2lvbiAgICAgICBob2dFc2NhcGVCcmFjZSAgIG9uZWxpbmUgY29udGFpbmVkIHRyYW5zcGFyZW50ICAgICBzdGFydD0iW15cXF1cKFxcXFxcKSpcW1xeXD1cXVw9IiBza2lwPSJcXFxcXHxcXFxdIiBlbmQ9IlxdIm1lPWUtMQorc3luIG1hdGNoCSBob2dQYXRTZXAJICBjb250YWluZWQJICAgIlxcW3woKV0iCitzeW4gbWF0Y2gJIGhvZ05vdFBhdFNlcAkgIGNvbnRhaW5lZAkgICAiXFxcXCIKK3N5biByZWdpb24JIGhvZ1N0cmluZwkgIG9uZWxpbmUJICAgc3RhcnQ9K1teOmEtekEtWlwtPiFcXF0iK2hzPWUrMSBza2lwPStcXFxcXHxcXCIrIGVuZD0rIlxzKjsraGU9cy0xCQkgICAgIGNvbnRhaW5zPWhvZ0VzY2FwZUJyYWNlLGhvZ1BhdFNlcCxob2dOb3RQYXRTZXAgb25lbGluZQorIiJzeW4gcmVnaW9uCSAgIGhvZ1N0cmluZwkgICAgb25lbGluZQkgICAgIHN0YXJ0PStbXjphLXpBLVo+IVxcXScrbGM9MSBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysJCSBjb250YWlucz1ob2dFc2NhcGVCcmFjZSx2aW1QYXRTZXAsaG9nTm90UGF0U2VwCisic3luIHJlZ2lvbgkgIGhvZ1N0cmluZwkgICBvbmVsaW5lCSAgICBzdGFydD0rPSErbGM9MSAgIHNraXA9K1xcXFxcfFxcISsgZW5kPSshKwkJCQljb250YWlucz1ob2dFc2NhcGVCcmFjZSxob2dQYXRTZXAsaG9nTm90UGF0U2VwCisic3luIHJlZ2lvbgkgIGhvZ1N0cmluZwkgICBvbmVsaW5lCSAgICBzdGFydD0iPSsibGM9MSAgIHNraXA9IlxcXFxcfFxcKyIgZW5kPSIrIgkJCQljb250YWlucz1ob2dFc2NhcGVCcmFjZSxob2dQYXRTZXAsaG9nTm90UGF0U2VwCisic3luIHJlZ2lvbgkgIGhvZ1N0cmluZwkgICBvbmVsaW5lCSAgICBzdGFydD0iW15cXF0rXHMqW15hLXpBLVowLTkuXSJsYz0xIHNraXA9IlxcXFxcfFxcKyIgZW5kPSIrIgkJY29udGFpbnM9aG9nRXNjYXBlQnJhY2UsaG9nUGF0U2VwLGhvZ05vdFBhdFNlcAorInN5biByZWdpb24JICBob2dTdHJpbmcJICAgb25lbGluZQkgICAgc3RhcnQ9IlxzL1xzKlxBImxjPTEgc2tpcD0iXFxcXFx8XFwrIiBlbmQ9Ii8iCQkJY29udGFpbnM9aG9nRXNjYXBlQnJhY2UsaG9nUGF0U2VwLGhvZ05vdFBhdFNlcAorInN5biBtYXRjaAkgIGhvZ1N0cmluZwkgICBjb250YWluZWQJICAgICsiW14iXSpcXCQrICAgICAgc2tpcG5sIG5leHRncm91cD1ob2dTdHJpbmdDb250Cisic3luIG1hdGNoCSAgaG9nU3RyaW5nQ29udCAgICBjb250YWluZWQJICAgICtcKFxcXFxcfC5cKVx7LX1bXlxcXSIrCisKKworIiBCZWdpbm5lcnMgLSBQYXR0ZXJucyB0aGF0IGludm9sdmUgXgorIgorc3luIG1hdGNoICBob2dMaW5lQ29tbWVudAkrXlsgXHRdKiMuKiQrCWNvbnRhaW5zPWhvZ1RvZG8saG9nQ29tbWVudFN0cmluZyxob2dDb21tZW50VGl0bGUKK3N5biBtYXRjaCAgaG9nQ29tbWVudFRpdGxlCScjXHMqXHVcYSpcKFxzXCtcdVxhKlwpKjonbXM9cysxIGNvbnRhaW5lZAorc3luIGtleXdvcmQgaG9nVG9kbyBjb250YWluZWQJVE9ETworCisiIFJ1bGUga2V5d29yZHMKK3N5biBtYXRjaCAgIGhvZ0FSUENPcHQgY29udGFpbmVkICJcZFwrLFwqLFwqIgorc3luIG1hdGNoICAgaG9nQVJQQ09wdCBjb250YWluZWQgIlxkXCssXGRcKyxcKiIKK3N5biBtYXRjaCAgIGhvZ0FSUENPcHQgY29udGFpbmVkICJcZFwrLFwqLFxkXCsiCitzeW4gbWF0Y2ggICBob2dBUlBDT3B0IGNvbnRhaW5lZCAiXGRcKyxcZFwrLFxkIgorc3luIG1hdGNoICAgaG9nQVRBR09wdCBjb250YWluZWQgInNlc3Npb24iCitzeW4gbWF0Y2ggICBob2dBVEFHT3B0IGNvbnRhaW5lZCAiaG9zdCIKK3N5biBtYXRjaCAgIGhvZ0FUQUdPcHQgY29udGFpbmVkICJkc3QiCitzeW4gbWF0Y2ggICBob2dBVEFHT3B0IGNvbnRhaW5lZCAic3JjIgorc3luIG1hdGNoICAgaG9nQVRBR09wdCBjb250YWluZWQgInNlY29uZHMiCitzeW4gbWF0Y2ggICBob2dBVEFHT3B0IGNvbnRhaW5lZCAicGFja2V0cyIKK3N5biBtYXRjaCAgIGhvZ0FUQUdPcHQgY29udGFpbmVkICJieXRlcyIKK3N5biBrZXl3b3JkIGhvZ0FSZXNwT3B0IGNvbnRhaW5lZCByc3Rfc25kIHJzdF9yY3YgcnN0X2FsbCBza2lwd2hpdGUKK3N5biBrZXl3b3JkIGhvZ0FSZXNwT3B0IGNvbnRhaW5lZCBpY21wX25ldCBpY21wX2hvc3QgaWNtcF9wb3J0IGljbXBfYWxsIHNraXB3aGl0ZQorc3luIGtleXdvcmQgaG9nQVJlYWN0T3B0IGNvbnRhaW5lZCBibG9jayB3YXJuIG1zZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIGhvZ0FSZWFjdE9wdCBjb250YWluZWQgInByb3h5XGRcKyIgc2tpcHdoaXRlCitzeW4ga2V5d29yZCBob2dBRk9wdCBjb250YWluZWQgbG9ndG8gY29udGVudF9saXN0IHNraXB3aGl0ZQorc3luIGtleXdvcmQgaG9nQUlQT3B0VmFsIGNvbnRhaW5lZCAgZW9sIG5vcCB0cyBzZWMgbHNyciBsc3JyZSBzYXRpZCBzc3JyIHJyIHNraXB3aGl0ZQorc3luIGtleXdvcmQgaG9nQVJlZkdycHMgY29udGFpbmVkIGFyYWNobmlkcyBza2lwd2hpdGUKK3N5biBrZXl3b3JkIGhvZ0FSZWZHcnBzIGNvbnRhaW5lZCBidWd0cmFxIHNraXB3aGl0ZQorc3luIGtleXdvcmQgaG9nQVJlZkdycHMgY29udGFpbmVkIGN2ZSBza2lwd2hpdGUKK3N5biBrZXl3b3JkIGhvZ1Nlc3Npb25WYWwgY29udGFpbmVkICBwcmludGFibGUgYWxsIHNraXB3aGl0ZQorc3luIG1hdGNoICAgaG9nQUZsYWdPcHQgY29udGFpbmVkICJbMEZTUlBBVWZzcnBhdTIxXVwrIiBza2lwd2hpdGUKK3N5biBtYXRjaCAgIGhvZ0FGcmFnT3B0IGNvbnRhaW5lZCAiW0RSTWRybV1cKyIgc2tpcHdoaXRlCisiCisiIE91dHB1dCBzeXNsb2cgb3B0aW9ucworIiBGYWNpbGl0aWVzCitzeW4ga2V5d29yZCBob2dTeXNGYWMgY29udGFpbmVkIExPR19BVVRIIExPR19BVVRIUFJJViBMT0dfREFFTU9OIExPR19MT0NBTDAKK3N5biBrZXl3b3JkIGhvZ1N5c0ZhYyBjb250YWluZWQgTE9HX0xPQ0FMMSBMT0dfTE9DQUwyIExPR19MT0NBTDMgTE9HX0xPQ0FMNAorc3luIGtleXdvcmQgaG9nU3lzRmFjIGNvbnRhaW5lZCBMT0dfTE9DQUw1IExPR19MT0NBTDYgTE9HX0xPQ0FMNyBMT0dfVVNFUgorIiBQcmlvcml0aWVzCitzeW4ga2V5d29yZCBob2dTeXNQcmkgY29udGFpbmVkIExPR19FTUVSRyBBTEVSVCBMT0dfQ1JJVCBMT0dfRVJSCitzeW4ga2V5d29yZCBob2dTeXNQcmkgY29udGFpbmVkIExPR19XQVJOSU5HIExPR19OT1RJQ0UgTE9HX0lORk8gTE9HX0RFQlVHCisiIE9wdGlvbnMKK3N5biBrZXl3b3JkIGhvZ1N5c09wdCBjb250YWluZWQgTE9HX0NPTlMgTE9HX05ERUxBWSBMT0dfUEVSUk9SCitzeW4ga2V5d29yZCBob2dTeXNPcHQgY29udGFpbmVkIExPR19QSUQKKyIgUnVsZVR5cGVzCitzeW4ga2V5d29yZCBob2dSdWxlVHlwZSBjb250YWluZWQgbG9nIHBhc3MgYWxlcnQgYWN0aXZhdGUgZHluYW1pYworCisiIE91dHB1dCBsb2dfZGF0YWJhc2UgYXJndW1lbnRzIGFuZCBwYXJhbWV0ZXJzCisiIFR5cGUgb2YgZGF0YWJhc2UgZm9sbG93ZWQgYnkgLAorIiBzeW4ga2V5d29yZCBob2dEQlNRTCBjb250YWluZWQgbXlzcWwgcG9zdGdyZXNxbCB1bml4b2RiYworIiBQYXJhbWV0ZXJzIHBhcmFtPWNvbnN0YW50CisiIGFyZSBqdXN0IHZhcmlvdXMgY29uc3RhbnRzIGFzc2lnbmVkIHRvIHBhcmFtZXRlciBuYW1lcworCisiIE91dHB1dCBsb2dfZGF0YWJhc2UgYXJndW1lbnRzIGFuZCBwYXJhbWV0ZXJzCisiIFR5cGUgb2YgZGF0YWJhc2UgZm9sbG93ZWQgYnkgLAorc3luIGtleXdvcmQgaG9nREJUeXBlIGNvbnRhaW5lZCBhbGVydCBsb2cKK3N5biBrZXl3b3JkIGhvZ0RCU1JWIGNvbnRhaW5lZCBteXNxbCBwb3N0Z3Jlc3FsIHVuaXhvZGJjCisiIFBhcmFtZXRlcnMgcGFyYW09Y29uc3RhbnQKKyIgYXJlIGp1c3QgdmFyaW91cyBjb25zdGFudHMgYXNzaWduZWQgdG8gcGFyYW1ldGVyIG5hbWVzCitzeW4ga2V5d29yZCBob2dEQlBhcmFtIGNvbnRhaW5lZCBkYm5hbWUgaG9zdCBwb3J0IHVzZXIgcGFzc3dvcmQgc2Vuc29yX25hbWUKKworIiBPdXRwdXQgeG1sIGFyZ3VtZW50cyBhbmQgcGFyYW1ldGVycworIiB4bWwgYXJncworc3luIGtleXdvcmQgaG9nWE1MQXJnICBjb250YWluZWQgbG9nIGFsZXJ0CitzeW4ga2V5d29yZCBob2dYTUxQYXJhbSBjb250YWluZWQgZmlsZSBwcm90b2NvbCBob3N0IHBvcnQgY2VydCBrZXkgY2Egc2VydmVyIHNhbml0aXplIGVuY29kaW5nIGRldGFpbAorIgorIiBob2cgcnVsZSBoYW5kbGVyICcoLiopJworc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgb25lbGluZSBzdGFydD0icnBjIiBlbmQ9IjoibWU9ZS0xIG5leHRncm91cD1ob2dBUlBDT3B0R3JwIHNraXB3aGl0ZQorc3luIHJlZ2lvbiAgaG9nQVJQQ09wdEdycCBjb250YWluZWQgb25lbGluZSBzdGFydD0iLiJocz1zKzEgZW5kPSI7Im1lPWUtMSBjb250YWlucz1ob2dBUlBDT3B0IHNraXB3aGl0ZQorCitzeW4gcmVnaW9uICBob2dBT3B0IGNvbnRhaW5lZCBvbmVsaW5lIHN0YXJ0PSJ0YWciIGVuZD0iOiJtZT1lLTEgbmV4dGdyb3VwPWhvZ0FUQUdPcHRHcnAgc2tpcHdoaXRlCitzeW4gcmVnaW9uICBob2dBVEFHT3B0R3JwIGNvbnRhaW5lZCBvbmVsaW5lIHN0YXJ0PSIuImhzPXMrMSBza2lwPSIsIiBlbmQ9IjsibWU9ZS0xIGNvbnRhaW5zPWhvZ0FUQUdPcHQsaG9nTnVtYmVyIHNraXB3aGl0ZQorIgorc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgb25lbGluZSBzdGFydD0ibm9jYXNlXHxzYW1laXAiIGVuZD0iOyJtZT1lLTEgc2tpcHdoaXRlIG9uZWxpbmUga2VlcGVuZAorIgorc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgc3RhcnQ9InJlc3AiIGVuZD0iOiJtZT1lLTEgbmV4dGdyb3VwPWhvZ0FSZXNwT3B0cyBza2lwd2hpdGUKK3N5biByZWdpb24gIGhvZ0FSZXNwT3B0cyBjb250YWluZWQgb25lbGluZSBzdGFydD0iLiIgZW5kPSJbLDtdIiBjb250YWlucz1ob2dBUmVzcE9wdCBza2lwd2hpdGUgbmV4dGdyb3VwPWhvZ0FSZXNwT3B0cworIgorc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgc3RhcnQ9InJlYWN0IiBlbmQ9IjoibWU9ZS0xIG5leHRncm91cD1ob2dBUmVhY3RPcHRzIHNraXB3aGl0ZQorc3luIHJlZ2lvbiAgaG9nQVJlYWN0T3B0cyBjb250YWluZWQgb25lbGluZSBzdGFydD0iLiIgZW5kPSJbLDtdIiBjb250YWlucz1ob2dBUmVhY3RPcHQgc2tpcHdoaXRlIG5leHRncm91cD1ob2dBUmVhY3RPcHRzCisKK3N5biByZWdpb24gIGhvZ0FPcHQgY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9ImRlcHRoXHxzZXFcfHR0bFx8YWNrXHxpY21wX3NlcVx8YWN0aXZhdGVzXHxhY3RpdmF0ZWRfYnlcfGRzaXplXHxpY29kZVx8aWNtcF9pZFx8Y291bnRcfGl0eXBlXHx0b3NcfGlkXHxvZmZzZXQiIGVuZD0iOiJtZT1lLTEgbmV4dGdyb3VwPWhvZ0FOT3B0R3JwIHNraXB3aGl0ZQorc3luIHJlZ2lvbiAgaG9nQU5PcHRHcnAgY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9Ii4iaHM9cysxIGVuZD0iOyJtZT1lLTEgY29udGFpbnM9aG9nTnVtYmVyIHNraXB3aGl0ZSBvbmVsaW5lIGtlZXBlbmQKKworc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgb25lbGluZSBzdGFydD0iY2xhc3N0eXBlIiBlbmQ9IjoibWU9ZS0xIG5leHRncm91cD1ob2dBRmlsZUdycCBza2lwd2hpdGUKKworc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgb25lbGluZSBzdGFydD0icmVnZXhcfG1zZ1x8Y29udGVudCIgZW5kPSI6Im1lPWUtMSBuZXh0Z3JvdXA9aG9nQVN0ckdycCBza2lwd2hpdGUKKyJzeW4gcmVnaW9uICBob2dBU3RyR3JwIGNvbnRhaW5lZCBvbmVsaW5lIHN0YXJ0PSs6XHMqIitocz1zKzEgc2tpcD0iXFw7IiBlbmQ9KyJccyo7K2hlPXMtMSBjb250YWlucz1ob2dTdHJpbmcgc2tpcHdoaXRlIG9uZWxpbmUga2VlcGVuZAorc3luIHJlZ2lvbiAgaG9nQVN0ckdycCBjb250YWluZWQgb25lbGluZSBzdGFydD0rOlxzKiJcfDoiK2hzPXMrMSBza2lwPSJcXDsiIGVuZD0rIlxzKjsraGU9cy0xIGNvbnRhaW5zPWhvZ1N0cmluZyBza2lwd2hpdGUgb25lbGluZSBrZWVwZW5kCisKK3N5biByZWdpb24gIGhvZ0FPcHQgY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9ImxvZ3RvXHxjb250ZW50LWxpc3QiIGVuZD0iOiJtZT1lLTEgbmV4dGdyb3VwPWhvZ0FGaWxlR3JwIHNraXB3aGl0ZQorc3luIHJlZ2lvbiAgaG9nQUZpbGVHcnAgY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9Ii4iaHM9cysxIGVuZD0iOyJtZT1lLTEgY29udGFpbnM9aG9nRmlsZU5hbWUgc2tpcHdoaXRlCisKK3N5biByZWdpb24gIGhvZ0FPcHQgY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9InJlZmVyZW5jZSIgZW5kPSI6Im1lPWUtMSBuZXh0Z3JvdXA9aG9nQVJlZkdycCBza2lwd2hpdGUKK3N5biByZWdpb24gIGhvZ0FSZWZHcnAgY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9Ii4iaHM9cysxIGVuZD0iLCJtZT1lLTEgY29udGFpbnM9aG9nQVJlZkdycHMgbmV4dGdyb3VwPWhvZ0FSZWZOYW1lIHNraXB3aGl0ZQorc3luIHJlZ2lvbiAgaG9nQVJlZk5hbWUgY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9Ii4iaHM9cysxIGVuZD0iOyJtZT1lLTEgY29udGFpbnM9aG9nU3RyaW5nLGhvZ0ZpbGVOYW1lLGhvZ051bWJlciBza2lwd2hpdGUKKworc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgb25lbGluZSBzdGFydD0iZmxhZ3MiIGVuZD0iOiJoZT1zLTEgbmV4dGdyb3VwPWhvZ0FGbGFnT3B0IHNraXB3aGl0ZSBvbmVsaW5lIGtlZXBlbmQKKworc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgb25lbGluZSBzdGFydD0iZnJhZ2JpdHMiIGVuZD0iOiJoZT1zLTEgbmV4dGdyb3VwPWhvZ0FGbGFnT3B0IHNraXB3aGl0ZSBvbmVsaW5lIGtlZXBlbmQKKworc3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgb25lbGluZSBzdGFydD0iaXBvcHRzIiBlbmQ9IjoiaGU9cy0xIG5leHRncm91cD1ob2dBSVBPcHRWYWwgc2tpcHdoaXRlIG9uZWxpbmUga2VlcGVuZAorCisic3luIHJlZ2lvbiAgaG9nQU9wdCBjb250YWluZWQgb25lbGluZSBzdGFydD0iLiIgZW5kPSI6ImhlPXMtMSBjb250YWlucz1ob2dBRk9wdCBuZXh0Z3JvdXA9aG9nRmlsZU5hbWUgc2tpcHdoaXRlCisKK3N5biByZWdpb24gIGhvZ0FPcHQgY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9InNlc3Npb24iIGVuZD0iOiJoZT1zLTEgbmV4dGdyb3VwPWhvZ1Nlc3Npb25WYWwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIG5vdGhpbmcgICIkIgorc3luIHJlZ2lvbiAgaG9nUnVsZXMgb25lbGluZSAgY29udGFpbnM9bm90aGluZyBzdGFydD0nJCcgZW5kPSIkIgorc3luIHJlZ2lvbiAgaG9nUnVsZXMgb25lbGluZSAgY29udGFpbnM9aG9nUnVsZSBzdGFydD0nKCdtcz1zKzEgZW5kPSIpXHMqJCIgc2tpcHdoaXRlCitzeW4gcmVnaW9uICBob2dSdWxlICBjb250YWluZWQgb25lbGluZSBzdGFydD0iLiIgc2tpcD0iXFw7IiBlbmQ9IjsiaGU9cy0xIGNvbnRhaW5zPWhvZ0FPcHRzLCBza2lwd2hpdGUga2VlcGVuZAorInN5biByZWdpb24gIGhvZ0FPcHRzIGNvbnRhaW5lZCBvbmVsaW5lIHN0YXJ0PSIuIiBlbmQ9Ils7XSJoZT1zLTEgY29udGFpbnM9aG9nQU9wdCBza2lwd2hpdGUKK3N5biByZWdpb24gIGhvZ0FPcHRzIGNvbnRhaW5lZCBvbmVsaW5lIHN0YXJ0PSIuIiBlbmQ9Ils7XSJtZT1lLTEgY29udGFpbnM9aG9nQU9wdCBza2lwd2hpdGUKKworCisiIHJ1bGV0eXBlIGNvbW1hbmQKK3N5biBrZXl3b3JkIGhvZ1JUeXBlU3RhcnQgc2tpcHdoaXRlIHJ1bGV0eXBlIG5leHRncm91cD1ob2dSdWxlTmFtZSBza2lwd2hpdGUKK3N5biByZWdpb24gIGhvZ1J1bGVOYW1lICBjb250YWluZWQgIHN0YXJ0PSIuIiBlbmQ9IlxzIiBjb250YWlucz1ob2dGaWxlTmFtZSAgbmV4dGdyb3VwPWhvZ1JUeXBlUmVnaW9uCisiIHR5cGUgcnVsZXR5cGUgc3ViIHR5cGUKK3N5biByZWdpb24gaG9nUnR5cGVSZWdpb24gY29udGFpbmVkIHN0YXJ0PSJ7IiBlbmQ9In0iIG5leHRncm91cD1ob2dSVHlwZVN0YXJ0CitzeW4ga2V5d29yZCBob2dSVHlwZVN0YXJ0IHNraXB3aGl0ZSB0eXBlIG5leHRncm91cD1ob2dSdWxlVHlwZXMgc2tpcHdoaXRlCitzeW4gcmVnaW9uICBob2dSdWxlVHlwZXMgIGNvbnRhaW5lZCAgc3RhcnQ9Ii4iIGVuZD0iXHMiIGNvbnRhaW5zPWhvZ1J1bGVUeXBlIG5leHRncm91cD1ob2dPdXRTdGFydAorCisKKyIgdmFyIGNvbW1hbmQKK3N5biBrZXl3b3JkIGhvZ1ZhclN0YXJ0IHNraXB3aGl0ZSB2YXIgbmV4dGdyb3VwPWhvZ1ZhcklkZW50IHNraXB3aGl0ZQorc3luIHJlZ2lvbiAgaG9nVmFySWRlbnQgY29udGFpbmVkICBzdGFydD0iLiJocz1lKzEgZW5kPSJcc1wrImhlPXMtMSBjb250YWlucz1ob2dFbnZ2YXIgbmV4dGdyb3VwPWhvZ1ZhclJlZ2lvbiBza2lwd2hpdGUKK3N5biByZWdpb24gIGhvZ1ZhclJlZ2lvbiAgY29udGFpbmVkICBvbmVsaW5lICBzdGFydD0iLiIgY29udGFpbnM9aG9nSVBhZGRyLGhvZ0VudnZhcixob2dOdW1iZXIsaG9nU3RyaW5nLGhvZ0ZpbGVOYW1lIGVuZD0iJCJoZT1zLTEga2VlcGVuZCBza2lwd2hpdGUKKworIiBjb25maWcgY29tbWFuZAorc3luIGtleXdvcmQgaG9nQ29uZmlnU3RhcnQgY29uZmlnIHNraXB3aGl0ZSBuZXh0Z3JvdXA9aG9nQ29uZmlnVHlwZQorc3luIG1hdGNoIGhvZ0NvbmZpZ1R5cGUgY29udGFpbmVkICJcPGNsYXNzaWZpY2F0aW9uXD4iIG5leHRncm91cD1ob2dDb25maWdUeXBlUmVnaW9uIHNraXB3aGl0ZQorc3luIHJlZ2lvbiAgaG9nQ29uZmlnVHlwZVJlZ2lvbiBjb250YWluZWQgb25lbGluZQlzdGFydD0iOiJtcz1zKzEgZW5kPSIkIiBjb250YWlucz1ob2dOdW1iZXIsaG9nVGV4dCBrZWVwZW5kIHNraXB3aGl0ZQorCisKKyIgaW5jbHVkZSBjb21tYW5kCitzeW4ga2V5d29yZCBob2dJbmNTdGFydAlpbmNsdWRlICBza2lwd2hpdGUgbmV4dGdyb3VwPWhvZ0luY1JlZ2lvbgorc3luIHJlZ2lvbiAgaG9nSW5jUmVnaW9uICBjb250YWluZWQgIG9uZWxpbmUgIHN0YXJ0PSJcPiIgY29udGFpbnM9aG9nRmlsZU5hbWUsaG9nRW52dmFyIGVuZD0iJCIga2VlcGVuZAorCisiIHByZXByb2Nlc3NvciBjb21tYW5kCisiIGh0dHBfZGVjb2RlLCBtaW5mcmFnLCBwb3J0c2NhblstaWdub3JlaG9zdHNdCitzeW4ga2V5d29yZCBob2dQUHJTdGFydAlwcmVwcm9jZXNzb3IgIHNraXB3aGl0ZSBuZXh0Z3JvdXA9aG9nUFByCitzeW4gbWF0Y2ggaG9nUFByICAgY29udGFpbmVkICAiXDxzcGFkZVw+IiBuZXh0Z3JvdXA9aG9nUFByUmVnaW9uIHNraXB3aGl0ZQorc3luIG1hdGNoIGhvZ1BQciAgIGNvbnRhaW5lZCAgIlw8c3BhZGUtaG9tZW5ldFw+IiBuZXh0Z3JvdXA9aG9nUFByUmVnaW9uIHNraXB3aGl0ZQorc3luIG1hdGNoIGhvZ1BQciAgIGNvbnRhaW5lZCAgIlw8c3BhZGUtdGhyZXNobGVhcm5cPiIgbmV4dGdyb3VwPWhvZ1BQclJlZ2lvbiBza2lwd2hpdGUKK3N5biBtYXRjaCBob2dQUHIgICBjb250YWluZWQgICJcPHNwYWRlLWFkYXB0XD4iIG5leHRncm91cD1ob2dQUHJSZWdpb24gc2tpcHdoaXRlCitzeW4gbWF0Y2ggaG9nUFByICAgY29udGFpbmVkICAiXDxzcGFkZS1hZGFwdDJcPiIgbmV4dGdyb3VwPWhvZ1BQclJlZ2lvbiBza2lwd2hpdGUKK3N5biBtYXRjaCBob2dQUHIgICBjb250YWluZWQgICJcPHNwYWRlLWFkYXB0M1w+IiBuZXh0Z3JvdXA9aG9nUFByUmVnaW9uIHNraXB3aGl0ZQorc3luIG1hdGNoIGhvZ1BQciAgIGNvbnRhaW5lZCAgIlw8c3BhZGUtc3VydmV5XD4iIG5leHRncm91cD1ob2dQUHJSZWdpb24gc2tpcHdoaXRlCitzeW4gbWF0Y2ggaG9nUFByICAgY29udGFpbmVkICAiXDxkZWZyYWdcPiIgbmV4dGdyb3VwPWhvZ1BQclJlZ2lvbiBza2lwd2hpdGUKK3N5biBtYXRjaCBob2dQUHIgICBjb250YWluZWQgICJcPHRlbG5ldF9kZWNvZGVcPiIgbmV4dGdyb3VwPWhvZ1BQclJlZ2lvbiBza2lwd2hpdGUKK3N5biBtYXRjaCBob2dQUHIgICBjb250YWluZWQgICJcPHJwY19kZWNvZGVcPiIgbmV4dGdyb3VwPWhvZ1BQclJlZ2lvbiBza2lwd2hpdGUKK3N5biBtYXRjaCBob2dQUHIgICBjb250YWluZWQgICJcPGJvXD4iIG5leHRncm91cD1ob2dQUHJSZWdpb24gc2tpcHdoaXRlCitzeW4gbWF0Y2ggaG9nUFByICAgY29udGFpbmVkICAiXDxzdHJlYW1cPiIgbmV4dGdyb3VwPWhvZ1N0cmVhbVJlZ2lvbiBza2lwd2hpdGUKK3N5biBtYXRjaCBob2dQUHIgICBjb250YWluZWQgICJcPHN0cmVhbTJcPiIgbmV4dGdyb3VwPWhvZ1N0cmVhbVJlZ2lvbiBza2lwd2hpdGUKK3N5biBtYXRjaCBob2dQUHIgICBjb250YWluZWQgICJcPHN0cmVhbTNcPiIgbmV4dGdyb3VwPWhvZ1N0cmVhbVJlZ2lvbiBza2lwd2hpdGUKK3N5biBtYXRjaCBob2dQUHIgICBjb250YWluZWQgICJcPGh0dHBfZGVjb2RlXD4iIG5leHRncm91cD1ob2dQUHJSZWdpb24gc2tpcHdoaXRlCitzeW4gbWF0Y2ggaG9nUFByICAgY29udGFpbmVkICAiXDxtaW5mcmFnXD4iIG5leHRncm91cD1ob2dQUHJSZWdpb24gc2tpcHdoaXRlCitzeW4gbWF0Y2ggaG9nUFByICAgICBjb250YWluZWQgIlw8cG9ydHNjYW5bLWlnbm9yZWhvc3RzXSpcPiIgbmV4dGdyb3VwPWhvZ1BQclJlZ2lvbiBza2lwd2hpdGUKK3N5biByZWdpb24gIGhvZ1BQclJlZ2lvbiBjb250YWluZWQgb25lbGluZQlzdGFydD0iJCIgZW5kPSIkIiBrZWVwZW5kCitzeW4gcmVnaW9uICBob2dQUHJSZWdpb24gY29udGFpbmVkIG9uZWxpbmUJc3RhcnQ9IjoiIGVuZD0iJCIgY29udGFpbnM9aG9nTnVtYmVyLGhvZ0lQYWRkcixob2dFbnZ2YXIsaG9nRmlsZU5hbWUga2VlcGVuZAorc3luIGtleXdvcmQgaG9nU3RyZWFtQXJncyBjb250YWluZWQgdGltZW91dCBwb3J0cyBtYXhieXRlcworc3luIHJlZ2lvbiBob2dTdHJlYW1SZWdpb24gY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9IjoiIGVuZD0iJCIgY29udGFpbnM9aG9nU3RyZWFtQXJncyxob2dOdW1iZXIKKworIiBvdXRwdXQgY29tbWFuZAorc3luIGtleXdvcmQgaG9nT3V0U3RhcnQJb3V0cHV0ICBuZXh0Z3JvdXA9aG9nT3V0IHNraXB3aGl0ZQorIgorIiBhbGVydF9zeXNsb2cKK3N5biBtYXRjaCBob2dPdXQgICBjb250YWluZWQgICJcPGFsZXJ0X3N5c2xvZ1w+IiBuZXh0Z3JvdXA9aG9nU3lzbG9nUmVnaW9uIHNraXB3aGl0ZQorc3luIHJlZ2lvbiBob2dTeXNsb2dSZWdpb24gIGNvbnRhaW5lZCBzdGFydD0iOiIgZW5kPSIkIiBjb250YWlucz1ob2dTeXNGYWMsaG9nU3lzUHJpLGhvZ1N5c09wdCxob2dFbnZ2YXIgb25lbGluZSBza2lwd2hpdGUga2VlcGVuZAorIgorIiBhbGVydF9mYXN0IChmdWxsLHNtYix1bml4c29jaywgYW5kIHRjcGR1bXApCitzeW4gbWF0Y2ggaG9nT3V0ICAgY29udGFpbmVkICAiXDxhbGVydF9mYXN0XHxhbGVydF9mdWxsXHxhbGVydF9zbWJcfGFsZXJ0X3VuaXhzb2NrXHxsb2dfdGNwZHVtcFw+IiBuZXh0Z3JvdXA9aG9nTG9nRmlsZVJlZ2lvbiBza2lwd2hpdGUKK3N5biByZWdpb24gaG9nTG9nRmlsZVJlZ2lvbiAgY29udGFpbmVkIHN0YXJ0PSI6IiBlbmQ9IiQiIGNvbnRhaW5zPWhvZ0ZpbGVOYW1lLGhvZ0VudnZhciBvbmVsaW5lIHNraXB3aGl0ZSBrZWVwZW5kCisiCisiIGRhdGFiYXNlCitzeW4gbWF0Y2ggaG9nT3V0ICBjb250YWluZWQgIlw8ZGF0YWJhc2VcPiIgbmV4dGdyb3VwPWhvZ0RCVHlwZXMgc2tpcHdoaXRlCitzeW4gcmVnaW9uIGhvZ0RCVHlwZXMgY29udGFpbmVkIHN0YXJ0PSI6IiBlbmQ9IiwiIGNvbnRhaW5zPWhvZ0RCVHlwZSxob2dFbnZ2YXIgbmV4dGdyb3VwPWhvZ0RCU1JWcyBza2lwd2hpdGUKK3N5biByZWdpb24gaG9nREJTUlZzIGNvbnRhaW5lZCBzdGFydD0iXHNcKyIgZW5kPSIsIiBjb250YWlucz1ob2dEQlNSViBuZXh0Z3JvdXA9aG9nREJQYXJhbXMgc2tpcHdoaXRlCitzeW4gcmVnaW9uIGhvZ0RCUGFyYW1zIGNvbnRhaW5lZCBzdGFydD0iLiIgZW5kPSI9Im1lPWUtMSBjb250YWlucz1ob2dEQlBhcmFtICBuZXh0Z3JvdXA9aG9nREJWYWx1ZXMKK3N5biByZWdpb24gaG9nREJWYWx1ZXMgY29udGFpbmVkIHN0YXJ0PSIuIiBlbmQ9Ilw+IiBjb250YWlucz1ob2dOdW1iZXIsaG9nRW52dmFyLGhvZ0FzY2lpIG5leHRncm91cD1ob2dEQlBhcmFtcyBvbmVsaW5lIHNraXB3aGl0ZQorc3luIG1hdGNoIGhvZ0FzY2lpIGNvbnRhaW5lZCAiXDxcYVwrIgorIgorIiBsb2dfdGNwZHVtcAorc3luIG1hdGNoIGhvZ091dCAgIGNvbnRhaW5lZCAgIlw8bG9nX3RjcGR1bXBcPiIgbmV4dGdyb3VwPWhvZ0xvZ1JlZ2lvbiBza2lwd2hpdGUKK3N5biByZWdpb24gIGhvZ0xvZ1JlZ2lvbiAgb25lbGluZQlzdGFydD0iOiIgc2tpcHdoaXRlIGVuZD0iJCIgY29udGFpbnM9aG9nRW52dmFyLGhvZ0ZpbGVOYW1lIGtlZXBlbmQKKyIKKyIgeG1sCitzeW4ga2V5d29yZCBob2dYTUxUcmFucyBjb250YWluZWQgaHR0cCBodHRwcyB0Y3AgaWFwCitzeW4gbWF0Y2ggaG9nT3V0ICAgICBjb250YWluZWQgIlw8eG1sXD4iIG5leHRncm91cD1ob2dYTUxSZWdpb24gc2tpcHdoaXRlCitzeW4gcmVnaW9uIGhvZ1hNTFJlZ2lvbiBjb250YWluZWQgc3RhcnQ9IjoiIGVuZD0iLCIgY29udGFpbnM9aG9nWE1MQXJnLGhvZ0VudnZhciBuZXh0Z3JvdXA9aG9nWE1MUGFyYW1zIHNraXB3aGl0ZQorInN5biByZWdpb24gaG9nWE1MUGFyYW1zIGNvbnRhaW5lZCBzdGFydD0iLiIgZW5kPSI9Im1lPWUtMSBjb250YWlucz1ob2dYTUxQcm90byBuZXh0Z3JvdXA9aG9nWE1MUHJvdG9zCisic3luIHJlZ2lvbiBob2dYTUxQcm90b3MgY29udGFpbmVkIHN0YXJ0PSIuIiBlbmQ9Ilw+IiBjb250YWlucz1ob2dYTUxUcmFucyBuZXh0Z3JvdXA9aG9nWE1MUGFyYW1zCitzeW4gcmVnaW9uIGhvZ1hNTFBhcmFtcyBjb250YWluZWQgc3RhcnQ9Ii4iIGVuZD0iPSJtZT1lLTEgY29udGFpbnM9aG9nWE1MUGFyYW0gIG5leHRncm91cD1ob2dYTUxWYWx1ZQorc3luIHJlZ2lvbiBob2dYTUxWYWx1ZSBjb250YWluZWQgc3RhcnQ9Ii4iIGVuZD0iXD4iIGNvbnRhaW5zPWhvZ051bWJlcixob2dJUGFkZHIsaG9nRW52dmFyLGhvZ0FzY2lpLGhvZ0ZpbGVOYW1lIG5leHRncm91cD1ob2dYTUxQYXJhbXMgb25lbGluZSBza2lwd2hpdGUga2VlcGVuZAorIgorIiBGaWxlbmFtZQorc3luIG1hdGNoICAgaG9nRmlsZU5hbWUgIGNvbnRhaW5lZCAiWy0uL1s6YWxudW06XV9+XVwrIgorc3luIG1hdGNoICAgaG9nRmlsZU5hbWUgIGNvbnRhaW5lZCAiWy0uL1s6YWxudW06XV9+XVwrIgorIiBJUCBhZGRyZXNzCitzeW4gbWF0Y2ggICBob2dJUGFkZHIgICAiXDxcZFx7MSwzfVwuXGRcezEsM31cLlxkXHsxLDN9XC5cZFx7MSwzfVw+Igorc3luIG1hdGNoICAgaG9nSVBhZGRyICAgIlw8XGRcezEsM31cLlxkXHsxLDN9XC5cZFx7MSwzfVwuXGRcezEsM30vXGRcezEsMn1cPiIKKworc3luIGtleXdvcmQgaG9nUHJvdG8JdGNwIFRDUCBJQ01QIGljbXAgdWRwIFVEUAorCisiIGhvZyBhbGVydCBhZGRyZXNzIHBvcnQgcGFpcnMKKyIgaG9nIElQYWRkcmVzc2VzCitzeW4gbWF0Y2ggICBob2dJUGFkZHJBbmRQb3J0IGNvbnRhaW5lZAkiXDxcZFx7MSwzfVwuXGRcezEsM31cLlxkXHsxLDN9XC5cZFx7MSwzfVw+IiBza2lwd2hpdGUJCQluZXh0Z3JvdXA9aG9nUG9ydAorc3luIG1hdGNoICAgaG9nSVBhZGRyQW5kUG9ydCBjb250YWluZWQJIlw8XGRcezEsM31cLlxkXHsxLDN9XC5cZFx7MSwzfVwuXGRcezEsM30vXGRcezEsMn1cPiIgc2tpcHdoaXRlCQluZXh0Z3JvdXA9aG9nUG9ydAorc3luIG1hdGNoICAgaG9nSVBhZGRyQW5kUG9ydCBjb250YWluZWQgIlw8YW55XD4iIHNraXB3aGl0ZSBuZXh0Z3JvdXA9aG9nUG9ydAorc3luIG1hdGNoIGhvZ0lQYWRkckFuZFBvcnQgY29udGFpbmVkCSAiXCRcSVxpKiIgbmV4dGdyb3VwPWhvZ1BvcnQgc2tpcHdoaXRlCitzeW4gbWF0Y2ggaG9nSVBhZGRyQW5kUG9ydCBjb250YWluZWQgICAgICJcJHtcSVxpKn0iIG5leHRncm91cD1ob2dQb3J0IHNraXB3aGl0ZQorInN5biBtYXRjaCAgIGhvZ1BvcnQgY29udGFpbmVkICJbXCFdXD1bXDpdXD1cZFwrTFw9XD4iIHNraXB3aGl0ZQorc3luIG1hdGNoICAgaG9nUG9ydCBjb250YWluZWQgIltcOl1cPVxkXCtcPiIKK3N5biBtYXRjaCAgIGhvZ1BvcnQgY29udGFpbmVkICJbXCFdXD1cPGFueVw+IiBza2lwd2hpdGUKK3N5biBtYXRjaCAgIGhvZ1BvcnQgY29udGFpbmVkICJbXCFdXD1cZFwrTFw9OlxkXCtMXD1cPiIgc2tpcHdoaXRlCisKKyIgYWN0aW9uIGNvbW1hbmRzCitzeW4ga2V5d29yZCBob2c3RnVuY3Rpb25zIGFjdGl2YXRlIHNraXB3aGl0ZSBuZXh0Z3JvdXA9aG9nQWN0UmVnaW9uCitzeW4ga2V5d29yZCBob2c3RnVuY3Rpb25zIGR5bmFtaWMgc2tpcHdoaXRlIG5leHRncm91cD1ob2dBY3RSZWdpb24KK3N5biBrZXl3b3JkIGhvZ0FjdFN0YXJ0IGFsZXJ0IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aG9nQWN0UmVnaW9uCitzeW4ga2V5d29yZCBob2dBY3RTdGFydCBsb2cgc2tpcHdoaXRlIG5leHRncm91cD1ob2dBY3RSZWdpb24KK3N5biBrZXl3b3JkIGhvZ0FjdFN0YXJ0IHBhc3Mgc2tpcHdoaXRlIG5leHRncm91cD1ob2dBY3RSZWdpb24KKworc3luIHJlZ2lvbiBob2dBY3RSZWdpb24gY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9InRjcFx8VENQXHx1ZHBcfFVEUFx8aWNtcFx8SUNNUCIgZW5kPSJcc1wrIm1lPXMtMSBuZXh0Z3JvdXA9aG9nQWN0U291cmNlIG9uZWxpbmUga2VlcGVuZCBza2lwd2hpdGUKK3N5biByZWdpb24gaG9nQWN0U291cmNlIGNvbnRhaW5lZCBvbmVsaW5lIGNvbnRhaW5zPWhvZ0lQYWRkckFuZFBvcnQgc3RhcnQ9IlxzXCsibXM9ZSsxIGVuZD0iLT5cfDw+Im1lPWUtMiAgb25lbGluZSBrZWVwZW5kIHNraXB3aGl0ZSBuZXh0Z3JvdXA9aG9nQWN0RGVzdAorc3luIHJlZ2lvbiBob2dBY3REZXN0IGNvbnRhaW5lZCBvbmVsaW5lIGNvbnRhaW5zPWhvZ0lQYWRkckFuZFBvcnQgc3RhcnQ9Ii0+XHw8PiIgZW5kPSIkIiAgb25lbGluZSBrZWVwZW5kCitzeW4gcmVnaW9uIGhvZ0FjdERlc3QgY29udGFpbmVkIG9uZWxpbmUgY29udGFpbnM9aG9nSVBhZGRyQW5kUG9ydCBzdGFydD0iLT5cfDw+IiBlbmQ9IigibWU9ZS0xICBvbmVsaW5lIGtlZXBlbmQgc2tpcHdoaXRlIG5leHRncm91cD1ob2dSdWxlcworCisKKyIgPT09PT09PT09PT09PT09PT09PT0KK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ob2dfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfaG9nX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCisgIEhpTGluayBob2dDb21tZW50CQlDb21tZW50CisgIEhpTGluayBob2dMaW5lQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgaG9nQXNjaWkJCUNvbnN0YW50CisgIEhpTGluayBob2dDb21tZW50U3RyaW5nCUNvbnN0YW50CisgIEhpTGluayBob2dGaWxlTmFtZQkJQ29uc3RhbnQKKyAgSGlMaW5rIGhvZ0lQYWRkcgkJQ29uc3RhbnQKKyAgSGlMaW5rIGhvZ05vdFBhdFNlcAkJQ29uc3RhbnQKKyAgSGlMaW5rIGhvZ051bWJlcgkJQ29uc3RhbnQKKyAgSGlMaW5rIGhvZ1RleHQJCUNvbnN0YW50CisgIEhpTGluayBob2dTdHJpbmcJCUNvbnN0YW50CisgIEhpTGluayBob2dTeXNGYWMJCUNvbnN0YW50CisgIEhpTGluayBob2dTeXNPcHQJCUNvbnN0YW50CisgIEhpTGluayBob2dTeXNQcmkJCUNvbnN0YW50CisiICBIaUxpbmsgaG9nQVN0ckdycAkJRXJyb3IKKyAgSGlMaW5rIGhvZ0p1bmsJCUVycm9yCisgIEhpTGluayBob2dFbnZ2YXIJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGhvZ0lQYWRkckFuZFBvcnQJSWRlbnRpZmllcgorICBIaUxpbmsgaG9nVmFySWRlbnQJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGhvZ0FUQUdPcHQJCVByZVByb2MKKyAgSGlMaW5rIGhvZ0FJUE9wdFZhbAkJUHJlUHJvYworICBIaUxpbmsgaG9nQVJlc3BPcHQJCVByZVByb2MKKyAgSGlMaW5rIGhvZ0FSZWFjdE9wdAkJUHJlUHJvYworICBIaUxpbmsgaG9nQUZsYWdPcHQJCVByZVByb2MKKyAgSGlMaW5rIGhvZ0FGcmFnT3B0CQlQcmVQcm9jCisgIEhpTGluayBob2dDb21tZW50VGl0bGUJUHJlUHJvYworICBIaUxpbmsgaG9nREJUeXBlCQlQcmVQcm9jCisgIEhpTGluayBob2dEQlNSVgkJUHJlUHJvYworICBIaUxpbmsgaG9nUG9ydAkJUHJlUHJvYworICBIaUxpbmsgaG9nQVJlZkdycHMJCVByZVByb2MKKyAgSGlMaW5rIGhvZ1Nlc3Npb25WYWwJCVByZVByb2MKKyAgSGlMaW5rIGhvZ1hNTEFyZwkJUHJlUHJvYworICBIaUxpbmsgaG9nQVJQQ09wdAkJUHJlUHJvYworICBIaUxpbmsgaG9nUGF0U2VwCQlTcGVjaWFsCisgIEhpTGluayBob2c3RnVuY3Rpb25zCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhvZ0FjdFN0YXJ0CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhvZ0luY1N0YXJ0CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhvZ0NvbmZpZ1N0YXJ0CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhvZ091dFN0YXJ0CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhvZ1BQclN0YXJ0CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhvZ1ZhclN0YXJ0CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGhvZ1JUeXBlU3RhcnQJCVN0YXRlbWVudAorICBIaUxpbmsgaG9nVG9kbwkJVG9kbworICBIaUxpbmsgaG9nUnVsZVR5cGUJCVR5cGUKKyAgSGlMaW5rIGhvZ0FGT3B0CQlUeXBlCisgIEhpTGluayBob2dBTm9WYWwJCVR5cGUKKyAgSGlMaW5rIGhvZ0FTdHJPcHQJCVR5cGUKKyAgSGlMaW5rIGhvZ0FOT3B0CQlUeXBlCisgIEhpTGluayBob2dBT3B0CQlUeXBlCisgIEhpTGluayBob2dEQlBhcmFtCQlUeXBlCisgIEhpTGluayBob2dTdHJlYW1BcmdzCQlUeXBlCisgIEhpTGluayBob2dPdXQJCQlUeXBlCisgIEhpTGluayBob2dQUHIJCQlUeXBlCisgIEhpTGluayAgaG9nQ29uZmlnVHlwZQkJVHlwZQorICBIaUxpbmsgaG9nQWN0UmVnaW9uCQlUeXBlCisgIEhpTGluayBob2dQcm90bwkJVHlwZQorICBIaUxpbmsgaG9nWE1MUGFyYW0JCVR5cGUKKyAgSGlMaW5rIHJlc3AJCQlUb2RvCisgIEhpTGluayBjTGFiZWwJCQlMYWJlbAorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaG9nIgorCisiIGhvZzogY3B3PTU5CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9odG1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L2h0bWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MmJhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9odG1sLnZpbQpAQCAtMCwwICsxLDI5MSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUhUTUwKKyIgTWFpbnRhaW5lcjoJQ2xhdWRpbyBGbGVpbmVyIDxjbGF1ZGlvQGZsZWluZXIuY29tPgorIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvaHRtbC52aW0KKyIgTGFzdCBDaGFuZ2U6ICAyMDA0IE1heSAxNgorCisiIFBsZWFzZSBjaGVjayA6aGVscCBodG1sLnZpbSBmb3Igc29tZSBjb21tZW50cyBhbmQgYSBkZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9ucworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3ludGF4IGNsZWFyCisgIGVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorICBlbmRpZgorICBsZXQgbWFpbl9zeW50YXggPSAnaHRtbCcKK2VuZGlmCisKKyIgZG9uJ3QgdXNlIHN0YW5kYXJkIEhpTGluaywgaXQgd2lsbCBub3Qgd29yayB3aXRoIGluY2x1ZGVkIHN5bnRheCBmaWxlcworaWYgdmVyc2lvbiA8IDUwOAorICBjb21tYW5kISAtbmFyZ3M9KyBIdG1sSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CitlbHNlCisgIGNvbW1hbmQhIC1uYXJncz0rIEh0bWxIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CitlbmRpZgorCisKK3N5biBjYXNlIGlnbm9yZQorCisiIG1hcmsgaWxsZWdhbCBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggaHRtbEVycm9yICJbPD4mXSIKKworCisiIHRhZ3MKK3N5biByZWdpb24gIGh0bWxTdHJpbmcgICBjb250YWluZWQgc3RhcnQ9KyIrIGVuZD0rIisgY29udGFpbnM9aHRtbFNwZWNpYWxDaGFyLGphdmFTY3JpcHRFeHByZXNzaW9uLEBodG1sUHJlcHJvYworc3luIHJlZ2lvbiAgaHRtbFN0cmluZyAgIGNvbnRhaW5lZCBzdGFydD0rJysgZW5kPSsnKyBjb250YWlucz1odG1sU3BlY2lhbENoYXIsamF2YVNjcmlwdEV4cHJlc3Npb24sQGh0bWxQcmVwcm9jCitzeW4gbWF0Y2ggICBodG1sVmFsdWUgICAgY29udGFpbmVkICI9W1x0IF0qW14nIiBcdD5dW14gXHQ+XSoiaHM9cysxICAgY29udGFpbnM9amF2YVNjcmlwdEV4cHJlc3Npb24sQGh0bWxQcmVwcm9jCitzeW4gcmVnaW9uICBodG1sRW5kVGFnCQkgICBzdGFydD0rPC8rCSAgIGVuZD0rPisgY29udGFpbnM9aHRtbFRhZ04saHRtbFRhZ0Vycm9yCitzeW4gcmVnaW9uICBodG1sVGFnCQkgICBzdGFydD0rPFteL10rICAgZW5kPSs+KyBjb250YWlucz1odG1sVGFnTixodG1sU3RyaW5nLGh0bWxBcmcsaHRtbFZhbHVlLGh0bWxUYWdFcnJvcixodG1sRXZlbnQsaHRtbENzc0RlZmluaXRpb24sQGh0bWxQcmVwcm9jLEBodG1sQXJnQ2x1c3Rlcgorc3luIG1hdGNoICAgaHRtbFRhZ04gICAgIGNvbnRhaW5lZCArPFxzKlstYS16QS1aMC05XVwrK2hzPXMrMSBjb250YWlucz1odG1sVGFnTmFtZSxodG1sU3BlY2lhbFRhZ05hbWUsQGh0bWxUYWdOYW1lQ2x1c3Rlcgorc3luIG1hdGNoICAgaHRtbFRhZ04gICAgIGNvbnRhaW5lZCArPC9ccypbLWEtekEtWjAtOV1cKytocz1zKzIgY29udGFpbnM9aHRtbFRhZ05hbWUsaHRtbFNwZWNpYWxUYWdOYW1lLEBodG1sVGFnTmFtZUNsdXN0ZXIKK3N5biBtYXRjaCAgIGh0bWxUYWdFcnJvciBjb250YWluZWQgIltePl08Im1zPXMrMQorCisKKyIgdGFnIG5hbWVzCitzeW4ga2V5d29yZCBodG1sVGFnTmFtZSBjb250YWluZWQgYWRkcmVzcyBhcHBsZXQgYXJlYSBhIGJhc2UgYmFzZWZvbnQKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBiaWcgYmxvY2txdW90ZSBiciBjYXB0aW9uIGNlbnRlcgorc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIGNpdGUgY29kZSBkZCBkZm4gZGlyIGRpdiBkbCBkdCBmb250CitzeW4ga2V5d29yZCBodG1sVGFnTmFtZSBjb250YWluZWQgZm9ybSBociBodG1sIGltZworc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIGlucHV0IGlzaW5kZXgga2JkIGxpIGxpbmsgbWFwIG1lbnUKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBtZXRhIG9sIG9wdGlvbiBwYXJhbSBwcmUgcCBzYW1wIHNwYW4KK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBzZWxlY3Qgc21hbGwgc3RyaWtlIHN1YiBzdXAKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCB0YWJsZSB0ZCB0ZXh0YXJlYSB0aCB0ciB0dCB1bCB2YXIgeG1wCitzeW4gbWF0Y2ggaHRtbFRhZ05hbWUgY29udGFpbmVkICJcPFwoYlx8aVx8dVx8aFsxLTZdXHxlbVx8c3Ryb25nXHxoZWFkXHxib2R5XHx0aXRsZVwpXD4iCisKKyIgbmV3IGh0bWwgNC4wIHRhZ3MKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBhYmJyIGFjcm9ueW0gYmRvIGJ1dHRvbiBjb2wgbGFiZWwKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBjb2xncm91cCBkZWwgZmllbGRzZXQgaWZyYW1lIGlucyBsZWdlbmQKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBvYmplY3Qgb3B0Z3JvdXAgcSBzIHRib2R5IHRmb290IHRoZWFkCisKKyIgbGVnYWwgYXJnIG5hbWVzCitzeW4ga2V5d29yZCBodG1sQXJnIGNvbnRhaW5lZCBhY3Rpb24KK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIGFsaWduIGFsaW5rIGFsdCBhcmNoaXZlIGJhY2tncm91bmQgYmdjb2xvcgorc3luIGtleXdvcmQgaHRtbEFyZyBjb250YWluZWQgYm9yZGVyIGJvcmRlcmNvbG9yIGNlbGxwYWRkaW5nCitzeW4ga2V5d29yZCBodG1sQXJnIGNvbnRhaW5lZCBjZWxsc3BhY2luZyBjaGVja2VkIGNsYXNzIGNsZWFyIGNvZGUgY29kZWJhc2UgY29sb3IKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIGNvbHMgY29sc3BhbiBjb250ZW50IGNvb3JkcyBlbmN0eXBlIGZhY2UKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIGd1dHRlciBoZWlnaHQgaHNwYWNlIGlkCitzeW4ga2V5d29yZCBodG1sQXJnIGNvbnRhaW5lZCBsaW5rIGxvd3NyYyBtYXJnaW5oZWlnaHQKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIG1hcmdpbndpZHRoIG1heGxlbmd0aCBtZXRob2QgbmFtZSBwcm9tcHQKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIHJlbCByZXYgcm93cyByb3dzcGFuIHNjcm9sbGluZyBzZWxlY3RlZCBzaGFwZQorc3luIGtleXdvcmQgaHRtbEFyZyBjb250YWluZWQgc2l6ZSBzcmMgc3RhcnQgdGFyZ2V0IHRleHQgdHlwZSB1cmwKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIHVzZW1hcCBpc21hcCB2YWxpZ24gdmFsdWUgdmxpbmsgdnNwYWNlIHdpZHRoIHdyYXAKK3N5biBtYXRjaCAgIGh0bWxBcmcgY29udGFpbmVkICJcPFwoaHR0cC1lcXVpdlx8aHJlZlx8dGl0bGVcKT0ibWU9ZS0xCisKKyIgTmV0c2NhcGUgZXh0ZW5zaW9ucworc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIGZyYW1lIG5vZnJhbWVzIGZyYW1lc2V0IG5vYnIgYmxpbmsKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBsYXllciBpbGF5ZXIgbm9sYXllciBzcGFjZXIKK3N5biBrZXl3b3JkIGh0bWxBcmcgICAgIGNvbnRhaW5lZCBmcmFtZWJvcmRlciBub3Jlc2l6ZSBwYWdleCBwYWdleSBhYm92ZSBiZWxvdworc3luIGtleXdvcmQgaHRtbEFyZyAgICAgY29udGFpbmVkIGxlZnQgdG9wIHZpc2liaWxpdHkgY2xpcCBpZCBub3NoYWRlCitzeW4gbWF0Y2ggICBodG1sQXJnICAgICBjb250YWluZWQgIlw8ei1pbmRleFw+IgorCisiIE1pY3Jvc29mdCBleHRlbnNpb25zCitzeW4ga2V5d29yZCBodG1sVGFnTmFtZSBjb250YWluZWQgbWFycXVlZQorCisiIGh0bWwgNC4wIGFyZyBuYW1lcworc3luIG1hdGNoICAgaHRtbEFyZyBjb250YWluZWQgIlw8XChhY2NlcHQtY2hhcnNldFx8bGFiZWxcKVw+Igorc3luIGtleXdvcmQgaHRtbEFyZyBjb250YWluZWQgYWJiciBhY2NlcHQgYWNjZXNza2V5IGF4aXMgY2hhciBjaGFyb2ZmIGNoYXJzZXQKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIGNpdGUgY2xhc3NpZCBjb2RldHlwZSBjb21wYWN0IGRhdGEgZGF0ZXRpbWUKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIGRlY2xhcmUgZGVmZXIgZGlyIGRpc2FibGVkIGZvciBmcmFtZQorc3luIGtleXdvcmQgaHRtbEFyZyBjb250YWluZWQgaGVhZGVycyBocmVmbGFuZyBsYW5nIGxhbmd1YWdlIGxvbmdkZXNjCitzeW4ga2V5d29yZCBodG1sQXJnIGNvbnRhaW5lZCBtdWx0aXBsZSBub2hyZWYgbm93cmFwIG9iamVjdCBwcm9maWxlIHJlYWRvbmx5CitzeW4ga2V5d29yZCBodG1sQXJnIGNvbnRhaW5lZCBydWxlcyBzY2hlbWUgc2NvcGUgc3BhbiBzdGFuZGJ5IHN0eWxlCitzeW4ga2V5d29yZCBodG1sQXJnIGNvbnRhaW5lZCBzdW1tYXJ5IHRhYmluZGV4IHZhbHVldHlwZSB2ZXJzaW9uCisKKyIgc3BlY2lhbCBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggaHRtbFNwZWNpYWxDaGFyICImI1w9WzAtOUEtWmEtel1cezEsOH07IgorCisiIENvbW1lbnRzICh0aGUgcmVhbCBvbmVzIG9yIHRoZSBvbGQgbmV0c2NhcGUgb25lcykKK2lmIGV4aXN0cygiaHRtbF93cm9uZ19jb21tZW50cyIpCisgIHN5biByZWdpb24gaHRtbENvbW1lbnQJCXN0YXJ0PSs8IS0tKwllbmQ9Ky0tXHMqPisKK2Vsc2UKKyAgc3luIHJlZ2lvbiBodG1sQ29tbWVudAkJc3RhcnQ9KzwhKwllbmQ9Kz4rICAgY29udGFpbnM9aHRtbENvbW1lbnRQYXJ0LGh0bWxDb21tZW50RXJyb3IKKyAgc3luIG1hdGNoICBodG1sQ29tbWVudEVycm9yIGNvbnRhaW5lZCAiW14+PCFdIgorICBzeW4gcmVnaW9uIGh0bWxDb21tZW50UGFydCAgY29udGFpbmVkIHN0YXJ0PSstLSsgICAgICBlbmQ9Ky0tXHMqKyAgY29udGFpbnM9QGh0bWxQcmVQcm9jCitlbmRpZgorc3luIHJlZ2lvbiBodG1sQ29tbWVudAkJCXN0YXJ0PSs8IURPQ1RZUEUrIGtlZXBlbmQgZW5kPSs+KworCisiIHNlcnZlci1wYXJzZWQgY29tbWFuZHMKK3N5biByZWdpb24gaHRtbFByZVByb2Mgc3RhcnQ9KzwhLS0jKyBlbmQ9Ky0tPisgY29udGFpbnM9aHRtbFByZVN0bXQsaHRtbFByZUVycm9yLGh0bWxQcmVBdHRyCitzeW4gbWF0Y2ggaHRtbFByZVN0bXQgY29udGFpbmVkICI8IS0tI1woY29uZmlnXHxlY2hvXHxleGVjXHxmc2l6ZVx8Zmxhc3Rtb2RcfGluY2x1ZGVcfHByaW50ZW52XHxzZXRcfGlmXHxlbGlmXHxlbHNlXHxlbmRpZlx8Z2VvZ3VpZGVcKVw+Igorc3luIG1hdGNoIGh0bWxQcmVFcnJvciBjb250YWluZWQgIjwhLS0jXFMqIm1zPXMrNAorc3luIG1hdGNoIGh0bWxQcmVBdHRyIGNvbnRhaW5lZCAiXHdcKz1bXiJdXFNcKyIgY29udGFpbnM9aHRtbFByZVByb2NBdHRyRXJyb3IsaHRtbFByZVByb2NBdHRyTmFtZQorc3luIHJlZ2lvbiBodG1sUHJlQXR0ciBjb250YWluZWQgc3RhcnQ9K1x3XCs9Iisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPWh0bWxQcmVQcm9jQXR0ck5hbWUga2VlcGVuZAorc3luIG1hdGNoIGh0bWxQcmVQcm9jQXR0ckVycm9yIGNvbnRhaW5lZCAiXHdcKz0iaGU9ZS0xCitzeW4gbWF0Y2ggaHRtbFByZVByb2NBdHRyTmFtZSBjb250YWluZWQgIlwoZXhwclx8ZXJybXNnXHxzaXplZm10XHx0aW1lZm10XHx2YXJcfGNnaVx8Y21kXHxmaWxlXHx2aXJ0dWFsXHx2YWx1ZVwpPSJoZT1lLTEKKworaWYgIWV4aXN0cygiaHRtbF9ub19yZW5kZXJpbmciKQorICAiIHJlbmRlcmluZworICBzeW4gY2x1c3RlciBodG1sVG9wIGNvbnRhaW5zPUBTcGVsbCxodG1sVGFnLGh0bWxFbmRUYWcsaHRtbFNwZWNpYWxDaGFyLGh0bWxQcmVQcm9jLGh0bWxDb21tZW50LGh0bWxMaW5rLGphdmFTY3JpcHQsQGh0bWxQcmVwcm9jCisKKyAgc3luIHJlZ2lvbiBodG1sQm9sZCBzdGFydD0iPGJcPiIgZW5kPSI8L2I+Im1lPWUtNCBjb250YWlucz1AaHRtbFRvcCxodG1sQm9sZFVuZGVybGluZSxodG1sQm9sZEl0YWxpYworICBzeW4gcmVnaW9uIGh0bWxCb2xkIHN0YXJ0PSI8c3Ryb25nXD4iIGVuZD0iPC9zdHJvbmc+Im1lPWUtOSBjb250YWlucz1AaHRtbFRvcCxodG1sQm9sZFVuZGVybGluZSxodG1sQm9sZEl0YWxpYworICBzeW4gcmVnaW9uIGh0bWxCb2xkVW5kZXJsaW5lIGNvbnRhaW5lZCBzdGFydD0iPHVcPiIgZW5kPSI8L3U+Im1lPWUtNCBjb250YWlucz1AaHRtbFRvcCxodG1sQm9sZFVuZGVybGluZUl0YWxpYworICBzeW4gcmVnaW9uIGh0bWxCb2xkSXRhbGljIGNvbnRhaW5lZCBzdGFydD0iPGlcPiIgZW5kPSI8L2k+Im1lPWUtNCBjb250YWlucz1AaHRtbFRvcCxodG1sQm9sZEl0YWxpY1VuZGVybGluZQorICBzeW4gcmVnaW9uIGh0bWxCb2xkSXRhbGljIGNvbnRhaW5lZCBzdGFydD0iPGVtXD4iIGVuZD0iPC9lbT4ibWU9ZS01IGNvbnRhaW5zPUBodG1sVG9wLGh0bWxCb2xkSXRhbGljVW5kZXJsaW5lCisgIHN5biByZWdpb24gaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMgY29udGFpbmVkIHN0YXJ0PSI8aVw+IiBlbmQ9IjwvaT4ibWU9ZS00IGNvbnRhaW5zPUBodG1sVG9wCisgIHN5biByZWdpb24gaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMgY29udGFpbmVkIHN0YXJ0PSI8ZW1cPiIgZW5kPSI8L2VtPiJtZT1lLTUgY29udGFpbnM9QGh0bWxUb3AKKyAgc3luIHJlZ2lvbiBodG1sQm9sZEl0YWxpY1VuZGVybGluZSBjb250YWluZWQgc3RhcnQ9Ijx1XD4iIGVuZD0iPC91PiJtZT1lLTQgY29udGFpbnM9QGh0bWxUb3AsaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMKKworICBzeW4gcmVnaW9uIGh0bWxVbmRlcmxpbmUgc3RhcnQ9Ijx1XD4iIGVuZD0iPC91PiJtZT1lLTQgY29udGFpbnM9QGh0bWxUb3AsaHRtbFVuZGVybGluZUJvbGQsaHRtbFVuZGVybGluZUl0YWxpYworICBzeW4gcmVnaW9uIGh0bWxVbmRlcmxpbmVCb2xkIGNvbnRhaW5lZCBzdGFydD0iPGJcPiIgZW5kPSI8L2I+Im1lPWUtNCBjb250YWlucz1AaHRtbFRvcCxodG1sVW5kZXJsaW5lQm9sZEl0YWxpYworICBzeW4gcmVnaW9uIGh0bWxVbmRlcmxpbmVCb2xkIGNvbnRhaW5lZCBzdGFydD0iPHN0cm9uZ1w+IiBlbmQ9Ijwvc3Ryb25nPiJtZT1lLTkgY29udGFpbnM9QGh0bWxUb3AsaHRtbFVuZGVybGluZUJvbGRJdGFsaWMKKyAgc3luIHJlZ2lvbiBodG1sVW5kZXJsaW5lSXRhbGljIGNvbnRhaW5lZCBzdGFydD0iPGlcPiIgZW5kPSI8L2k+Im1lPWUtNCBjb250YWlucz1AaHRtbFRvcCxodG1sVW5kZXJsaW5lSXRhbGljQm9sZAorICBzeW4gcmVnaW9uIGh0bWxVbmRlcmxpbmVJdGFsaWMgY29udGFpbmVkIHN0YXJ0PSI8ZW1cPiIgZW5kPSI8L2VtPiJtZT1lLTUgY29udGFpbnM9QGh0bWxUb3AsaHRtbFVuZGVybGluZUl0YWxpY0JvbGQKKyAgc3luIHJlZ2lvbiBodG1sVW5kZXJsaW5lSXRhbGljQm9sZCBjb250YWluZWQgc3RhcnQ9IjxiXD4iIGVuZD0iPC9iPiJtZT1lLTQgY29udGFpbnM9QGh0bWxUb3AKKyAgc3luIHJlZ2lvbiBodG1sVW5kZXJsaW5lSXRhbGljQm9sZCBjb250YWluZWQgc3RhcnQ9IjxzdHJvbmdcPiIgZW5kPSI8L3N0cm9uZz4ibWU9ZS05IGNvbnRhaW5zPUBodG1sVG9wCisgIHN5biByZWdpb24gaHRtbFVuZGVybGluZUJvbGRJdGFsaWMgY29udGFpbmVkIHN0YXJ0PSI8aVw+IiBlbmQ9IjwvaT4ibWU9ZS00IGNvbnRhaW5zPUBodG1sVG9wCisgIHN5biByZWdpb24gaHRtbFVuZGVybGluZUJvbGRJdGFsaWMgY29udGFpbmVkIHN0YXJ0PSI8ZW1cPiIgZW5kPSI8L2VtPiJtZT1lLTUgY29udGFpbnM9QGh0bWxUb3AKKworICBzeW4gcmVnaW9uIGh0bWxJdGFsaWMgc3RhcnQ9IjxpXD4iIGVuZD0iPC9pPiJtZT1lLTQgY29udGFpbnM9QGh0bWxUb3AsaHRtbEl0YWxpY0JvbGQsaHRtbEl0YWxpY1VuZGVybGluZQorICBzeW4gcmVnaW9uIGh0bWxJdGFsaWMgc3RhcnQ9IjxlbVw+IiBlbmQ9IjwvZW0+Im1lPWUtNSBjb250YWlucz1AaHRtbFRvcAorICBzeW4gcmVnaW9uIGh0bWxJdGFsaWNCb2xkIGNvbnRhaW5lZCBzdGFydD0iPGJcPiIgZW5kPSI8L2I+Im1lPWUtNCBjb250YWlucz1AaHRtbFRvcCxodG1sSXRhbGljQm9sZFVuZGVybGluZQorICBzeW4gcmVnaW9uIGh0bWxJdGFsaWNCb2xkIGNvbnRhaW5lZCBzdGFydD0iPHN0cm9uZ1w+IiBlbmQ9Ijwvc3Ryb25nPiJtZT1lLTkgY29udGFpbnM9QGh0bWxUb3AsaHRtbEl0YWxpY0JvbGRVbmRlcmxpbmUKKyAgc3luIHJlZ2lvbiBodG1sSXRhbGljQm9sZFVuZGVybGluZSBjb250YWluZWQgc3RhcnQ9Ijx1XD4iIGVuZD0iPC91PiJtZT1lLTQgY29udGFpbnM9QGh0bWxUb3AKKyAgc3luIHJlZ2lvbiBodG1sSXRhbGljVW5kZXJsaW5lIGNvbnRhaW5lZCBzdGFydD0iPHVcPiIgZW5kPSI8L3U+Im1lPWUtNCBjb250YWlucz1AaHRtbFRvcCxodG1sSXRhbGljVW5kZXJsaW5lQm9sZAorICBzeW4gcmVnaW9uIGh0bWxJdGFsaWNVbmRlcmxpbmVCb2xkIGNvbnRhaW5lZCBzdGFydD0iPGJcPiIgZW5kPSI8L2I+Im1lPWUtNCBjb250YWlucz1AaHRtbFRvcAorICBzeW4gcmVnaW9uIGh0bWxJdGFsaWNVbmRlcmxpbmVCb2xkIGNvbnRhaW5lZCBzdGFydD0iPHN0cm9uZ1w+IiBlbmQ9Ijwvc3Ryb25nPiJtZT1lLTkgY29udGFpbnM9QGh0bWxUb3AKKworICBzeW4gcmVnaW9uIGh0bWxMaW5rIHN0YXJ0PSI8YVw+XF9bXj5dKlw8aHJlZlw+IiBlbmQ9IjwvYT4ibWU9ZS00IGNvbnRhaW5zPUBTcGVsbCxodG1sVGFnLGh0bWxFbmRUYWcsaHRtbFNwZWNpYWxDaGFyLGh0bWxQcmVQcm9jLGh0bWxDb21tZW50LGphdmFTY3JpcHQsQGh0bWxQcmVwcm9jCisgIHN5biByZWdpb24gaHRtbEgxIHN0YXJ0PSI8aDFcPiIgZW5kPSI8L2gxPiJtZT1lLTUgY29udGFpbnM9QGh0bWxUb3AKKyAgc3luIHJlZ2lvbiBodG1sSDIgc3RhcnQ9IjxoMlw+IiBlbmQ9IjwvaDI+Im1lPWUtNSBjb250YWlucz1AaHRtbFRvcAorICBzeW4gcmVnaW9uIGh0bWxIMyBzdGFydD0iPGgzXD4iIGVuZD0iPC9oMz4ibWU9ZS01IGNvbnRhaW5zPUBodG1sVG9wCisgIHN5biByZWdpb24gaHRtbEg0IHN0YXJ0PSI8aDRcPiIgZW5kPSI8L2g0PiJtZT1lLTUgY29udGFpbnM9QGh0bWxUb3AKKyAgc3luIHJlZ2lvbiBodG1sSDUgc3RhcnQ9IjxoNVw+IiBlbmQ9IjwvaDU+Im1lPWUtNSBjb250YWlucz1AaHRtbFRvcAorICBzeW4gcmVnaW9uIGh0bWxINiBzdGFydD0iPGg2XD4iIGVuZD0iPC9oNj4ibWU9ZS01IGNvbnRhaW5zPUBodG1sVG9wCisgIHN5biByZWdpb24gaHRtbEhlYWQgc3RhcnQ9IjxoZWFkXD4iIGVuZD0iPC9oZWFkPiJtZT1lLTcgZW5kPSI8Ym9keVw+Im1lPWUtNSBlbmQ9IjxoWzEtNl1cPiJtZT1lLTMgY29udGFpbnM9aHRtbFRhZyxodG1sRW5kVGFnLGh0bWxTcGVjaWFsQ2hhcixodG1sUHJlUHJvYyxodG1sQ29tbWVudCxodG1sTGluayxodG1sVGl0bGUsamF2YVNjcmlwdCxjc3NTdHlsZSxAaHRtbFByZXByb2MKKyAgc3luIHJlZ2lvbiBodG1sVGl0bGUgc3RhcnQ9Ijx0aXRsZVw+IiBlbmQ9IjwvdGl0bGU+Im1lPWUtOCBjb250YWlucz1odG1sVGFnLGh0bWxFbmRUYWcsaHRtbFNwZWNpYWxDaGFyLGh0bWxQcmVQcm9jLGh0bWxDb21tZW50LGphdmFTY3JpcHQsQGh0bWxQcmVwcm9jCitlbmRpZgorCitzeW4ga2V5d29yZCBodG1sVGFnTmFtZQkJY29udGFpbmVkIG5vc2NyaXB0CitzeW4ga2V5d29yZCBodG1sU3BlY2lhbFRhZ05hbWUgIGNvbnRhaW5lZCBzY3JpcHQgc3R5bGUKK2lmIG1haW5fc3ludGF4ICE9ICdqYXZhJyB8fCBleGlzdHMoImphdmFfamF2YXNjcmlwdCIpCisgICIgSkFWQSBTQ1JJUFQKKyAgc3luIGluY2x1ZGUgQGh0bWxKYXZhU2NyaXB0IDxzZmlsZT46cDpoL2phdmFzY3JpcHQudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKKyAgc3luIHJlZ2lvbiAgamF2YVNjcmlwdCBzdGFydD0rPHNjcmlwdFtePl0qPisga2VlcGVuZCBlbmQ9Kzwvc2NyaXB0PittZT1zLTEgY29udGFpbnM9QGh0bWxKYXZhU2NyaXB0LGh0bWxDc3NTdHlsZUNvbW1lbnQsaHRtbFNjcmlwdFRhZyxAaHRtbFByZXByb2MKKyAgc3luIHJlZ2lvbiAgaHRtbFNjcmlwdFRhZyAgICAgY29udGFpbmVkIHN0YXJ0PSs8c2NyaXB0KyBlbmQ9Kz4rICAgICAgIGNvbnRhaW5zPWh0bWxUYWdOLGh0bWxTdHJpbmcsaHRtbEFyZyxodG1sVmFsdWUsaHRtbFRhZ0Vycm9yLGh0bWxFdmVudAorICBIdG1sSGlMaW5rIGh0bWxTY3JpcHRUYWcgaHRtbFRhZworCisgICIgaHRtbCBldmVudHMgKGkuZS4gYXJndW1lbnRzIHRoYXQgaW5jbHVkZSBqYXZhc2NyaXB0IGNvbW1hbmRzKQorICBpZiBleGlzdHMoImh0bWxfZXh0ZW5kZWRfZXZlbnRzIikKKyAgICBzeW4gcmVnaW9uIGh0bWxFdmVudAljb250YWluZWQgc3RhcnQ9K1w8b25cYVwrXHMqPVtcdCBdKicrIGVuZD0rJysgY29udGFpbnM9aHRtbEV2ZW50U1EKKyAgICBzeW4gcmVnaW9uIGh0bWxFdmVudAljb250YWluZWQgc3RhcnQ9K1w8b25cYVwrXHMqPVtcdCBdKiIrIGVuZD0rIisgY29udGFpbnM9aHRtbEV2ZW50RFEKKyAgZWxzZQorICAgIHN5biByZWdpb24gaHRtbEV2ZW50CWNvbnRhaW5lZCBzdGFydD0rXDxvblxhXCtccyo9W1x0IF0qJysgZW5kPSsnKyBrZWVwZW5kIGNvbnRhaW5zPWh0bWxFdmVudFNRCisgICAgc3luIHJlZ2lvbiBodG1sRXZlbnQJY29udGFpbmVkIHN0YXJ0PStcPG9uXGFcK1xzKj1bXHQgXSoiKyBlbmQ9KyIrIGtlZXBlbmQgY29udGFpbnM9aHRtbEV2ZW50RFEKKyAgZW5kaWYKKyAgc3luIHJlZ2lvbiBodG1sRXZlbnRTUQljb250YWluZWQgc3RhcnQ9KycrbXM9cysxIGVuZD0rJyttZT1zLTEgY29udGFpbnM9QGh0bWxKYXZhU2NyaXB0CisgIHN5biByZWdpb24gaHRtbEV2ZW50RFEJY29udGFpbmVkIHN0YXJ0PSsiK21zPXMrMSBlbmQ9KyIrbWU9cy0xIGNvbnRhaW5zPUBodG1sSmF2YVNjcmlwdAorICBIdG1sSGlMaW5rIGh0bWxFdmVudFNRIGh0bWxFdmVudAorICBIdG1sSGlMaW5rIGh0bWxFdmVudERRIGh0bWxFdmVudAorCisgICIgYSBqYXZhc2NyaXB0IGV4cHJlc3Npb24gaXMgdXNlZCBhcyBhbiBhcmcgdmFsdWUKKyAgc3luIHJlZ2lvbiAgamF2YVNjcmlwdEV4cHJlc3Npb24gY29udGFpbmVkIHN0YXJ0PSsmeysga2VlcGVuZCBlbmQ9K307KyBjb250YWlucz1AaHRtbEphdmFTY3JpcHQsQGh0bWxQcmVwcm9jCitlbmRpZgorCitpZiBtYWluX3N5bnRheCAhPSAnamF2YScgfHwgZXhpc3RzKCJqYXZhX3ZiIikKKyAgIiBWQiBTQ1JJUFQKKyAgc3luIGluY2x1ZGUgQGh0bWxWYlNjcmlwdCA8c2ZpbGU+OnA6aC92Yi52aW0KKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorICBzeW4gcmVnaW9uICBqYXZhU2NyaXB0IHN0YXJ0PSs8c2NyaXB0IFtePl0qbGFuZ3VhZ2UgKj1bXj5dKnZic2NyaXB0W14+XSo+KyBrZWVwZW5kIGVuZD0rPC9zY3JpcHQ+K21lPXMtMSBjb250YWlucz1AaHRtbFZiU2NyaXB0LGh0bWxDc3NTdHlsZUNvbW1lbnQsaHRtbFNjcmlwdFRhZyxAaHRtbFByZXByb2MKK2VuZGlmCisKK3N5biBjbHVzdGVyIGh0bWxKYXZhU2NyaXB0ICAgICAgYWRkPUBodG1sUHJlcHJvYworCitpZiBtYWluX3N5bnRheCAhPSAnamF2YScgfHwgZXhpc3RzKCJqYXZhX2NzcyIpCisgICIgZW1iZWRkZWQgc3R5bGUgc2hlZXRzCisgIHN5biBrZXl3b3JkIGh0bWxBcmcJCWNvbnRhaW5lZCBtZWRpYQorICBzeW4gaW5jbHVkZSBAaHRtbENzcyA8c2ZpbGU+OnA6aC9jc3MudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKKyAgc3luIHJlZ2lvbiBjc3NTdHlsZSBzdGFydD0rPHN0eWxlKyBrZWVwZW5kIGVuZD0rPC9zdHlsZT4rIGNvbnRhaW5zPUBodG1sQ3NzLGh0bWxUYWcsaHRtbEVuZFRhZyxodG1sQ3NzU3R5bGVDb21tZW50LEBodG1sUHJlcHJvYworICBzeW4gbWF0Y2ggaHRtbENzc1N0eWxlQ29tbWVudCBjb250YWluZWQgIlwoPCEtLVx8LS0+XCkiCisgIHN5biByZWdpb24gaHRtbENzc0RlZmluaXRpb24gbWF0Y2hncm91cD1odG1sQXJnIHN0YXJ0PSdzdHlsZT0iJyBrZWVwZW5kIG1hdGNoZ3JvdXA9aHRtbFN0cmluZyBlbmQ9JyInIGNvbnRhaW5zPWNzcy4qQXR0cixjc3MuKlByb3AsY3NzQ29tbWVudCxjc3NMZW5ndGgsY3NzQ29sb3IsY3NzVVJMLGNzc0ltcG9ydGFudCxjc3NFcnJvcixjc3NTdHJpbmcsQGh0bWxQcmVwcm9jCisgIEh0bWxIaUxpbmsgaHRtbFN0eWxlQXJnIGh0bWxTdHJpbmcKK2VuZGlmCisKK2lmIG1haW5fc3ludGF4ID09ICJodG1sIgorICAiIHN5bmNocm9uaXppbmcgKGRvZXMgbm90IGFsd2F5cyB3b3JrIGlmIGEgY29tbWVudCBpbmNsdWRlcyBsZWdhbAorICAiIGh0bWwgdGFncywgYnV0IGRvaW5nIGl0IHJpZ2h0IHdvdWxkIG1lYW4gdG8gYWx3YXlzIHN0YXJ0CisgICIgYXQgdGhlIGZpcnN0IGxpbmUsIHdoaWNoIGlzIHRvbyBzbG93KQorICBzeW4gc3luYyBtYXRjaCBodG1sSGlnaGxpZ2h0IGdyb3VwdGhlcmUgTk9ORSAiPFsvYS16QS1aXSIKKyAgc3luIHN5bmMgbWF0Y2ggaHRtbEhpZ2hsaWdodCBncm91cHRoZXJlIGphdmFTY3JpcHQgIjxzY3JpcHQiCisgIHN5biBzeW5jIG1hdGNoIGh0bWxIaWdobGlnaHRTa2lwICJeLipbJ1wiXS4qJCIKKyAgc3luIHN5bmMgbWlubGluZXM9MTAKK2VuZGlmCisKKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2h0bWxfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfaHRtbF9zeW5faW5pdHMgPSAxCisgIGVuZGlmCisgIEh0bWxIaUxpbmsgaHRtbFRhZwkJCUZ1bmN0aW9uCisgIEh0bWxIaUxpbmsgaHRtbEVuZFRhZwkJCUlkZW50aWZpZXIKKyAgSHRtbEhpTGluayBodG1sQXJnCQkJVHlwZQorICBIdG1sSGlMaW5rIGh0bWxUYWdOYW1lCQlodG1sU3RhdGVtZW50CisgIEh0bWxIaUxpbmsgaHRtbFNwZWNpYWxUYWdOYW1lCQlFeGNlcHRpb24KKyAgSHRtbEhpTGluayBodG1sVmFsdWUJCQlTdHJpbmcKKyAgSHRtbEhpTGluayBodG1sU3BlY2lhbENoYXIJCVNwZWNpYWwKKworICBpZiAhZXhpc3RzKCJodG1sX25vX3JlbmRlcmluZyIpCisgICAgSHRtbEhpTGluayBodG1sSDEJCQkgICBUaXRsZQorICAgIEh0bWxIaUxpbmsgaHRtbEgyCQkJICAgaHRtbEgxCisgICAgSHRtbEhpTGluayBodG1sSDMJCQkgICBodG1sSDIKKyAgICBIdG1sSGlMaW5rIGh0bWxINAkJCSAgIGh0bWxIMworICAgIEh0bWxIaUxpbmsgaHRtbEg1CQkJICAgaHRtbEg0CisgICAgSHRtbEhpTGluayBodG1sSDYJCQkgICBodG1sSDUKKyAgICBIdG1sSGlMaW5rIGh0bWxIZWFkCQkJICAgUHJlUHJvYworICAgIEh0bWxIaUxpbmsgaHRtbFRpdGxlCQkgICBUaXRsZQorICAgIEh0bWxIaUxpbmsgaHRtbEJvbGRJdGFsaWNVbmRlcmxpbmUJICAgaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMKKyAgICBIdG1sSGlMaW5rIGh0bWxVbmRlcmxpbmVCb2xkCSAgIGh0bWxCb2xkVW5kZXJsaW5lCisgICAgSHRtbEhpTGluayBodG1sVW5kZXJsaW5lSXRhbGljQm9sZAkgICBodG1sQm9sZFVuZGVybGluZUl0YWxpYworICAgIEh0bWxIaUxpbmsgaHRtbFVuZGVybGluZUJvbGRJdGFsaWMJICAgaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMKKyAgICBIdG1sSGlMaW5rIGh0bWxJdGFsaWNVbmRlcmxpbmUJICAgaHRtbFVuZGVybGluZUl0YWxpYworICAgIEh0bWxIaUxpbmsgaHRtbEl0YWxpY0JvbGQJCSAgIGh0bWxCb2xkSXRhbGljCisgICAgSHRtbEhpTGluayBodG1sSXRhbGljQm9sZFVuZGVybGluZQkgICBodG1sQm9sZFVuZGVybGluZUl0YWxpYworICAgIEh0bWxIaUxpbmsgaHRtbEl0YWxpY1VuZGVybGluZUJvbGQJICAgaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMKKyAgICBIdG1sSGlMaW5rIGh0bWxMaW5rCQkJICAgVW5kZXJsaW5lZAorICAgIGlmICFleGlzdHMoImh0bWxfbXlfcmVuZGVyaW5nIikKKyAgICAgIGhpIGRlZiBodG1sQm9sZAkJICAgICB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWk9Ym9sZAorICAgICAgaGkgZGVmIGh0bWxCb2xkVW5kZXJsaW5lCSAgICAgdGVybT1ib2xkLHVuZGVybGluZSBjdGVybT1ib2xkLHVuZGVybGluZSBndWk9Ym9sZCx1bmRlcmxpbmUKKyAgICAgIGhpIGRlZiBodG1sQm9sZEl0YWxpYwkgICAgIHRlcm09Ym9sZCxpdGFsaWMgY3Rlcm09Ym9sZCxpdGFsaWMgZ3VpPWJvbGQsaXRhbGljCisgICAgICBoaSBkZWYgaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMgdGVybT1ib2xkLGl0YWxpYyx1bmRlcmxpbmUgY3Rlcm09Ym9sZCxpdGFsaWMsdW5kZXJsaW5lIGd1aT1ib2xkLGl0YWxpYyx1bmRlcmxpbmUKKyAgICAgIGhpIGRlZiBodG1sVW5kZXJsaW5lCSAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGd1aT11bmRlcmxpbmUKKyAgICAgIGhpIGRlZiBodG1sVW5kZXJsaW5lSXRhbGljICAgICB0ZXJtPWl0YWxpYyx1bmRlcmxpbmUgY3Rlcm09aXRhbGljLHVuZGVybGluZSBndWk9aXRhbGljLHVuZGVybGluZQorICAgICAgaGkgZGVmIGh0bWxJdGFsaWMJCSAgICAgdGVybT1pdGFsaWMgY3Rlcm09aXRhbGljIGd1aT1pdGFsaWMKKyAgICBlbmRpZgorICBlbmRpZgorCisgIEh0bWxIaUxpbmsgaHRtbFByZVN0bXQJICAgIFByZVByb2MKKyAgSHRtbEhpTGluayBodG1sUHJlRXJyb3IJICAgIEVycm9yCisgIEh0bWxIaUxpbmsgaHRtbFByZVByb2MJICAgIFByZVByb2MKKyAgSHRtbEhpTGluayBodG1sUHJlQXR0cgkgICAgU3RyaW5nCisgIEh0bWxIaUxpbmsgaHRtbFByZVByb2NBdHRyTmFtZSAgICBQcmVQcm9jCisgIEh0bWxIaUxpbmsgaHRtbFByZVByb2NBdHRyRXJyb3IgICBFcnJvcgorICBIdG1sSGlMaW5rIGh0bWxTcGVjaWFsCSAgICBTcGVjaWFsCisgIEh0bWxIaUxpbmsgaHRtbFNwZWNpYWxDaGFyCSAgICBTcGVjaWFsCisgIEh0bWxIaUxpbmsgaHRtbFN0cmluZwkJICAgIFN0cmluZworICBIdG1sSGlMaW5rIGh0bWxTdGF0ZW1lbnQJICAgIFN0YXRlbWVudAorICBIdG1sSGlMaW5rIGh0bWxDb21tZW50CSAgICBDb21tZW50CisgIEh0bWxIaUxpbmsgaHRtbENvbW1lbnRQYXJ0CSAgICBDb21tZW50CisgIEh0bWxIaUxpbmsgaHRtbFZhbHVlCQkgICAgU3RyaW5nCisgIEh0bWxIaUxpbmsgaHRtbENvbW1lbnRFcnJvcgkgICAgaHRtbEVycm9yCisgIEh0bWxIaUxpbmsgaHRtbFRhZ0Vycm9yCSAgICBodG1sRXJyb3IKKyAgSHRtbEhpTGluayBodG1sRXZlbnQJCSAgICBqYXZhU2NyaXB0CisgIEh0bWxIaUxpbmsgaHRtbEVycm9yCQkgICAgRXJyb3IKKworICBIdG1sSGlMaW5rIGphdmFTY3JpcHQJCSAgICBTcGVjaWFsCisgIEh0bWxIaUxpbmsgamF2YVNjcmlwdEV4cHJlc3Npb24gICBqYXZhU2NyaXB0CisgIEh0bWxIaUxpbmsgaHRtbENzc1N0eWxlQ29tbWVudCAgICBDb21tZW50CisgIEh0bWxIaUxpbmsgaHRtbENzc0RlZmluaXRpb24JICAgIFNwZWNpYWwKK2VuZGlmCisKK2RlbGNvbW1hbmQgSHRtbEhpTGluaworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJodG1sIgorCitpZiBtYWluX3N5bnRheCA9PSAnaHRtbCcKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9odG1sY2hlZXRhaC52aW0gYi9ydW50aW1lL3N5bnRheC9odG1sY2hlZXRhaC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU3ZGY5MAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2h0bWxjaGVldGFoLnZpbQpAQCAtMCwwICsxLDMyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSFRNTCB3aXRoIENoZWV0YWggdGFncworIiBNYWludGFpbmVyOglNYXggSXNjaGVua28gPG1maUB1a3IubmV0PgorIiBMYXN0IENoYW5nZTogMjAwMy0wNS0xMQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgbGV0IG1haW5fc3ludGF4ID0gJ2h0bWwnCitlbmRpZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvIDxzZmlsZT46cDpoL2NoZWV0YWgudmltCisgIHNvIDxzZmlsZT46cDpoL2h0bWwudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9jaGVldGFoLnZpbQorICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworc3ludGF4IGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPWNoZWV0YWhQbGFjZUhvbGRlcgorc3ludGF4IGNsdXN0ZXIgaHRtbFN0cmluZyBhZGQ9Y2hlZXRhaFBsYWNlSG9sZGVyCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImh0bWxjaGVldGFoIgorCisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2h0bWxtNC52aW0gYi9ydW50aW1lL3N5bnRheC9odG1sbTQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMTlkMmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9odG1sbTQudmltCkBAIC0wLDAgKzEsNDEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglIVE1MIGFuZCBNNAorIiBNYWludGFpbmVyOglDbGF1ZGlvIEZsZWluZXIgPGNsYXVkaW9AZmxlaW5lci5jb20+CisiIFVSTDoJCWh0dHA6Ly93d3cuZmxlaW5lci5jb20vdmltL3N5bnRheC9odG1sbTQudmltCisiIExhc3QgQ2hhbmdlOgkyMDAxIEFwciAzMAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgd2UgZGVmaW5lIGl0IGhlcmUgc28gdGhhdCBpbmNsdWRlZCBmaWxlcyBjYW4gdGVzdCBmb3IgaXQKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgbGV0IG1haW5fc3ludGF4PSdodG1sbTQnCitlbmRpZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvIDxzZmlsZT46cDpoL2h0bWwudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9odG1sLnZpbQorZW5kaWYKK3VubGV0IGI6Y3VycmVudF9zeW50YXgKK3N5biBjYXNlIG1hdGNoCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc28gPHNmaWxlPjpwOmgvbTQudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9tNC52aW0KK2VuZGlmCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CitzeW4gY2x1c3RlciBodG1sUHJlcHJvYyBhZGQ9QG00VG9wCitzeW4gY2x1c3RlciBtNFN0cmluZ0NvbnRlbnRzIGFkZD1odG1sVGFnLGh0bWxFbmRUYWcKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaHRtbG00IgorCitpZiBtYWluX3N5bnRheCA9PSAnaHRtbG00JworICB1bmxldCBtYWluX3N5bnRheAorZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2h0bWxvcy52aW0gYi9ydW50aW1lL3N5bnRheC9odG1sb3MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMWI5ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9odG1sb3MudmltCkBAIC0wLDAgKzEsMTY2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSFRNTC9PUyBieSBBZXN0aXZhCisiIE1haW50YWluZXI6CUphc29uIFJ1c3QgPGpydXN0QHdlc3Rtb250LmVkdT4KKyIgVVJMOgkJaHR0cDovL3d3dy5ydXN0eXBhcnRzLmNvbS92aW0vc3ludGF4L2h0bWxvcy52aW0KKyIgSW5mbzoJCWh0dHA6Ly93d3cucnVzdHlwYXJ0cy5jb20vc2NyaXB0cy5waHAKKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisiCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAnaHRtbG9zJworZW5kaWYKKworaWYgdmVyc2lvbiA8IDYwMAorICBzbyA8c2ZpbGU+OnA6aC9odG1sLnZpbQorZWxzZQorICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPWh0bWxvc1JlZ2lvbgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBGdW5jdGlvbiBuYW1lcworc3luIGtleXdvcmQJaHRtbG9zRnVuY3Rpb25zCWV4cGFuZCBzbGVlcCBnZXRsaW5rIHZlcnNpb24gc3lzdGVtIGFzY2lpIGdldGFzY2lpIHN5c2xvY2sgc3lzdW5sb2NrIGNyIGxmIGNsZWFuIHBvc3RwcmVwIGxpc3R0b3JvdyBzcGxpdCBsaXN0dG9jb2wgY29sdG9saXN0IHJvd3RvbGlzdCB0YWJsZXRvbGlzdAljb250YWluZWQKK3N5biBrZXl3b3JkCWh0bWxvc0Z1bmN0aW9ucwljdXQgXGRpc3BsYXkgY3V0YWxsIGN1dHggY3V0YWxseCBsZW5ndGggcmV2ZXJzZSBsb3dlciB1cHBlciBwcm9wZXIgcmVwZWF0IGxlZnQgcmlnaHQgbWlkZGxlIHRyaW0gdHJpbWxlZnQgdHJpbXJpZ2h0IGNvdW50IGNvdW50eCBsb2NhdGUgbG9jYXRleCByZXBsYWNlIHJlcGxhY2V4IHJlcGxhY2VhbGwgcmVwbGFjZWFsbHggcGFzdGUgcGFzdGVsZWZ0IHBhc3RlbGVmdHggcGFzdGVsZWZ0YWxsIHBhc3RlbGVmdGFsbHggcGFzdGVyaWdodCBwYXN0ZXJpZ2h0YWxsIHBhc3RlcmlnaHRhbGx4IGNob3BsZWZ0IGNob3BsZWZ0eCBjaG9wcmlnaHQgY2hvcHJpZ2h0eCBmb3JtYXQgY29uY2F0CWNvbnRhaW5lZAorc3luIGtleXdvcmQJaHRtbG9zRnVuY3Rpb25zCWdvdG8gZXhpdGdvdG8JY29udGFpbmVkCitzeW4ga2V5d29yZAlodG1sb3NGdW5jdGlvbnMJbGF5b3V0IGNvbHMgcm93cyByb3cgaXRlbXMgZ2V0aXRlbSBwdXRpdGVtIHN3aXRjaGl0ZW1zIGdldHRhYmxlIGRlbHJvdyBkZWxyb3dzIGRlbGNvbCBkZWxjb2xzIGFwcGVuZCAgbWVyZ2UgZmlsbGNvbCBmaWxscm93IGZpbGx0YWJsZSBwYXN0ZXRhYmxlIGdldGNvbCBnZXRyb3cgZmlsbGluZGV4Y29sIGluc2luZGV4Y29sIGR1cHMgbm9kdXBzIG1heHRhYmxlIG1pbnRhYmxlIG1heGNvbCBtaW5jb2wgbWF4cm93IG1pbnJvdyBhdmV0YWJsZSBhdmVjb2wgYXZlcm93IG1lZGlhbnRhYmxlIG1lZGlhbmNvbCBtZWRpYW5yb3cgcHJvZHVjdHRhYmxlIHByb2R1Y3Rjb2wgcHJvZHVjdHJvdyBzdW10YWJsZSBzdW1jb2wgc3Vtcm93IHN1bXNxcnRhYmxlIHN1bXNxcmNvbCBzdW1zcXJyb3cgcmV2ZXJzZWNvbHMgcmV2ZXJzZXJvd3Mgc3dpdGNoY29scyBzd2l0Y2hyb3dzIGluc2NvbHMgaW5zcm93cyBpbnNmaWxsY29sIHNvcnRjb2wgcmV2ZXJzZXNvcnRjb2wgc29ydGNvbG4gcmV2ZXJzZXNvcnRjb2xuIHNvcnRyb3cgc29ydHJvd24gcmV2ZXJzZXNvcnRyb3cgcmV2ZXJzZXNvcnRyb3duIGdldGNvbGVxIGdldGNvbGVxbiBnZXRjb2xub3RlcSBnZXRjb2xhbnkgZ2V0Y29sYmVnaW4gZ2V0Y29sbm90YW55IGdldGNvbG5vdGJlZ2luIGdldGNvbGdlIGdldGNvbGd0IGdldGNvbGxlIGdldGNvbGx0IGdldGNvbGdlbiBnZXRjb2xndG4gZ2V0Y29sbGVuIGdldGNvbHRuIGdldGNvbGVuZCBnZXRjb2xub3RlbmQgZ2V0cm93ZW5kIGdldHJvd25vdGVuZCBnZXRjb2xpbiBnZXRjb2xub3RpbiBnZXRjb2xpbmJlZ2luIGdldGNvbG5vdGluYmVnaW4gZ2V0Y29saW5lbmQgZ2V0Y29sbm90aW5lbmQgZ2V0cm93aW4gZ2V0cm93bm90aW4gZ2V0cm93aW5iZWdpbiBnZXRyb3dub3RpbmJlZ2luIGdldHJvd2luZW5kIGdldHJvd25vdGluZW5kCWNvbnRhaW5lZAorc3luIGtleXdvcmQJaHRtbG9zRnVuY3Rpb25zCWRiY3JlYXRlIGRiYWRkIGRiZWRpdCBkYmRlbGV0ZSBkYnNlYXJjaCBkYnNlYXJjaHNvcnQgZGJnZXQgZGJnZXRzb3J0IGRic3RhdHVzIGRiaW5kZXggZGJpbXBvcnQgZGJmaWxsIGRiZXhwb3J0IGRic29ydCBkYmdldHJlYyBkYnJlbW92ZSBkYnB1cmdlIGRiZmluZCBkYmZpbmRzb3J0IGRidW5pcXVlIGRiY29weSBkYm1vdmUgZGJraWxsIGRidHJhbnNmZXIgZGJwb2tlIGRic2VhcmNoeCBkYmdldHgJY29udGFpbmVkCitzeW4ga2V5d29yZAlodG1sb3NGdW5jdGlvbnMJc3lzaHRtbG9zbmFtZSBzeXNzdGFydG5hbWUgc3lzZml4ZmlsZSBmaWxlaW5mbyBmaWxlbGlzdCBmaWxlaW5kZXggZG9tYWlubmFtZSBwYWdlIGJyb3dzZXIgcmVnZG9tYWluIHVzZXJuYW1lIHVzZXJudW0gZ2V0ZW52IGh0dHBoZWFkZXIgY29weSBmaWxlIHRzIHJvdyBzeXNscyBzeXNjcCBzeXNtdiBzeXNtZCBzeXNyZCBmaWxlcHVzaCBmaWxlcHVzaGxpbmsgZGlybmFtZQljb250YWluZWQKK3N5biBrZXl3b3JkCWh0bWxvc0Z1bmN0aW9ucwltYWlsIHRvIGFkZHJlc3Mgc3ViamVjdCBuZXRtYWlsIG5ldG1haWxvcGVuIG5ldG1haWxjbG9zZSBtYWlsZmlsZWxpc3QgbmV0d2ViIG5ldHdlYnJlc3VsdHMgd2VicHVzaCBuZXRzb2Nrb3BlbiBuZXRzb2NrcmVhZCBuZXRzb2Nrd3JpdGUgbmV0c29ja2Nsb3NlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJaHRtbG9zRnVuY3Rpb25zIHRvZGF5IHRpbWUgc3lzdGltZSBub3cgeWVzdGVyZGF5IHRvbW9ycm93IGdldGRheSBnZXRtb250aCBnZXR5ZWFyIGdldG1pbnV0ZSBnZXR3ZWVrZGF5IGdldHdlZWtudW0gZ2V0eWVhcmRheSBnZXRkYXRlIGdldHRpbWUgZ2V0YW1vcnBtIGdldGhvdXIgYWRkaG91cnMgYWRkbWludXRlcyBhZGRkYXlzIHRpbWViZXR3ZWVuIHRpbWV0aWxsIHRpbWVmcm9tIGRhdGV0aWxsIGRhdGVmcm9tIG1peGVkdGltZWJldHdlZW4gbWl4ZWRkYXRldGlsbCBtaXhlZHRpbWV0aWxsIG1peGVkdGltZWZyb20gbWl4ZWRkYXRlZnJvbSBuZXh0ZGF5Ynl3ZWVrZnJvbWRhdGUgbmV4dGRheWJ5d2Vla2Zyb210b2RheSBuZXh0ZGF5Ynltb250aGZyb21kYXRlIG5leHRkYXlieW1vbnRoZnJvbXRvZGF5IG5leHRkYXlieXllYXJmcm9tZGF0ZSBuZXh0ZGF5Ynl5ZWFyZnJvbXRvZGF5IG9mZnNldGRheWJ5d2Vla2Zyb21kYXRlIG9mZnNldGRheWJ5d2Vla2Zyb210b2RheSBvZmZzZXRkYXlieW1vbnRoZnJvbWRhdGUgb2Zmc2V0ZGF5Ynltb250aGZyb210b2RheQljb250YWluZWQKK3N5biBrZXl3b3JkCWh0bWxvc0Z1bmN0aW9ucyBpc3ByaXZhdGUgaXNwdWJsaWMgaXNmaWxlIGlzZGlyIGlzYmxhbmsgaXNlcnJvciBpc2Vycm9yIGlzZXZlbiBpc29kZCBpc3RydWUgaXNmYWxzZSBpc2xvZ2ljYWwgaXN0ZXh0IGlzdGFnIGlzbnVtYmVyIGlzaW50ZWdlciBpc2RhdGUgaXN0YWJsZWVxIGlzdGFibGVlcXggaXN0YWJsZWVxbiBpc2Z1dHVyZSBpc3Bhc3QgaXN0b2RheSBpc3dlZWtkYXkgaXN3ZWVrZW5kIGlzc2FtZWRhdGUgaXNlcSBpc25vdGVxIGlzZ2UgaXNsZSBpc21vZDEwIGlzdmFsaWRzdHJpbmcJY29udGFpbmVkCitzeW4ga2V5d29yZAlodG1sb3NGdW5jdGlvbnMgY2VsdG9mIGNlbHRva2VsIGZ0b2NlbCBmdG9rZWwga2VsdG9jZWwga2VsdG9mIGNtdG9pbiBpbnRvY20gZnR0b20gbXRvZnQgZnR0b21pbGUgbWlsZXRvZnQga210b21pbGUgbWlsZXRva20gbXRveWQgeWR0b20gZ2FsdG9sdHIgbHRydG9nYWwgbHRydG9xdCBxdHRvbHRyIGd0b296IG96dG9nIGtndG9sYiBsYnRva2cgbXR0b3RvbiB0b250b210CWNvbnRhaW5lZAorc3luIGtleXdvcmQJaHRtbG9zRnVuY3Rpb25zIG1heCBtaW4gYWJzIHNpZ24gaW52ZXJzZSBzcXVhcmUgc3FydCBjdWJlIHJvdW5kc2lnIHJvdW5kIGNlaWxpbmcgcm91bmR1cCBmbG9vciByb3VuZGRvd24gcm91bmRldmVuIHJvdW5kZG93bmV2ZW4gcm91bmR1cGV2ZW4gcm91bmRvZGQgcm91bmR1cG9kZCByb3VuZGRvd25vZGQgcmFuZG9tIGZhY3RvcmlhbCBzdW1tYW5kIGZpYm9uYWNjaSByZW1haW5kZXIgbW9kIHJhZGlhbnMgZGVncmVlcyBjb3Mgc2luIHRhbiBjb3RhbiBzZWNhbnQgY29zZWNhbnQgYWNvcyBhc2luIGF0YW4gZXhwIHBvd2VyIHBvd2VyMTAgbG4gbG9nMTAgbG9nIHNpbmggY29zaCB0YW5oCWNvbnRhaW5lZAorc3luIGtleXdvcmQJaHRtbG9zRnVuY3Rpb25zIHhtbGRlbGV0ZSB4bWxkZWxldGV4IHhtbGRlbGV0ZWF0dHIgeG1sZGVsZXRlYXR0cnggeG1sZWRpdCB4bWxlZGl0eCB4bWxlZGl0dmFsdWUgeG1sZWRpdHZhbHVleCB4bWxlZGl0YXR0ciB4bWxlZGl0YXR0cnggeG1saW5zZXJ0YmVmb3JlIHhtbGluc2VydGJlZm9yZXggc21saW5zZXJ0YWZ0ZXIgeG1saW5zZXJ0YWZ0ZXJ4IHhtbGluc2VydGF0dHIgeG1saW5zZXJ0YXR0cnggc21sZ2V0IHhtbGdldHggeG1sZ2V0dmFsdWUgeG1sZ2V0dmFsdWV4IHhtbGdldGF0dHJ2YWx1ZSB4bWxnZXRhdHRydmFsdWV4IHhtbGdldHJlYyB4bWxnZXRyZWN4IHhtbGdldHJlY2F0dHJ2YWx1ZSB4bWxnZXRyZWNhdHRydmFsdWV4IHhtbGNob3BsZWZ0YmVmb3JlIHhtbGNob3BsZWZ0YmVmb3JleCB4bWxjaG9wcmlnaHRiZWZvcmUgeG1sY2hvcHJpZ2h0YmVmb3JleCB4bWxjaG9wbGVmdGFmdGVyIHhtbGNob3BsZWZ0YWZ0ZXJ4IHhtbGNob3ByaWdodGFmdGVyIHhtbGNob3ByaWdodGFmdGVyeCB4bWxsb2NhdGViZWZvcmUgeG1sbG9jYXRlYmVmb3JleCB4bWxsb2NhdGVhZnRlciB4bWxsb2NhdGVhZnRlcngJY29udGFpbmVkCisKKyIgVHlwZQorc3luIGtleXdvcmQJaHRtbG9zVHlwZQlpbnQgc3RyIGRvbCBmbHQgZGF0IGdycAljb250YWluZWQKKworIiBTdG9yYWdlQ2xhc3MKK3N5biBrZXl3b3JkCWh0bWxvc1N0b3JhZ2VDbGFzcwlsb2NhbHMJY29udGFpbmVkCisKKyIgT3BlcmF0b3IKK3N5biBtYXRjaAlodG1sb3NPcGVyYXRvcgkiWy09Ky9cKiFdIgljb250YWluZWQKK3N5biBtYXRjaAlodG1sb3NSZWxhdGlvbgkiW35dIgljb250YWluZWQKK3N5biBtYXRjaAlodG1sb3NSZWxhdGlvbgkiWz1+XVsmIV0iCWNvbnRhaW5lZAorc3luIG1hdGNoCWh0bWxvc1JlbGF0aW9uCSJbIT08Pl09Igljb250YWluZWQKK3N5biBtYXRjaAlodG1sb3NSZWxhdGlvbgkiWzw+XSIJY29udGFpbmVkCisKKyIgQ29tbWVudAorc3luIHJlZ2lvbglodG1sb3NDb21tZW50CXN0YXJ0PSIjIiBlbmQ9Ii8jIgljb250YWluZWQKKworIiBDb25kaXRpb25hbAorc3luIGtleXdvcmQJaHRtbG9zQ29uZGl0aW9uYWwJaWYgdGhlbiAvaWYgdG8gZWxzZSBlbGlmCWNvbnRhaW5lZAorc3luIGtleXdvcmQJaHRtbG9zQ29uZGl0aW9uYWwJYW5kIG9yIG5hbmQgbm9yIHhvciBub3QJY29udGFpbmVkCisiIFJlcGVhdAorc3luIGtleXdvcmQJaHRtbG9zUmVwZWF0CXdoaWxlIGRvIC93aGlsZSBmb3IgL2Zvcgljb250YWluZWQKKworIiBLZXl3b3JkCitzeW4ga2V5d29yZAlodG1sb3NLZXl3b3JkCW5hbWUgdmFsdWUgc3RlcCBkbyByb3duYW1lIGNvbG5hbWUgcm93bnVtCWNvbnRhaW5lZAorCisiIFJlcGVhdAorc3luIGtleXdvcmQJaHRtbG9zTGFiZWwJY2FzZSBtYXRjaGVkIC9jYXNlIHN3aXRjaAljb250YWluZWQKKworIiBTdGF0ZW1lbnQKK3N5biBrZXl3b3JkCWh0bWxvc1N0YXRlbWVudCAgICAgYnJlYWsgZXhpdCByZXR1cm4gY29udGludWUJY29udGFpbmVkCisKKyIgSWRlbnRpZmllcgorc3luIG1hdGNoCWh0bWxvc0lkZW50aWZpZXIJIlxoXHcqW1wuXSpcdyoiCWNvbnRhaW5lZAorCisiIFNwZWNpYWwgaWRlbnRpZmllcgorc3luIG1hdGNoCWh0bWxvc1NwZWNpYWxJZGVudGlmaWVyCSJbXCRAXSIJY29udGFpbmVkCisKKyIgRGVmaW5lCitzeW4ga2V5d29yZAlodG1sb3NEZWZpbmUJZnVuY3Rpb24gb3ZlcmxheQljb250YWluZWQKKworIiBCb29sZWFuCitzeW4ga2V5d29yZAlodG1sb3NCb29sZWFuCXRydWUgZmFsc2UJY29udGFpbmVkCisKKyIgU3RyaW5nCitzeW4gcmVnaW9uCWh0bWxvc1N0cmluZ0RvdWJsZQlrZWVwZW5kIG1hdGNoZ3JvdXA9Tm9uZSBzdGFydD0rIisgZW5kPSsiKyBjb250YWluZWQKK3N5biByZWdpb24JaHRtbG9zU3RyaW5nU2luZ2xlCWtlZXBlbmQgbWF0Y2hncm91cD1Ob25lIHN0YXJ0PSsnKyBlbmQ9KycrIGNvbnRhaW5lZAorCisiIE51bWJlcgorc3luIG1hdGNoIGh0bWxvc051bWJlcgkiLVw9XDxcZFwrXD4iCWNvbnRhaW5lZAorCisiIEZsb2F0CitzeW4gbWF0Y2ggaHRtbG9zRmxvYXQJIlwoLVw9XDxcZCtcfC1cPVwpXC5cZFwrXD4iCWNvbnRhaW5lZAorCisiIEVycm9yCitzeW4gbWF0Y2ggaHRtbG9zRXJyb3IJIkVSUk9SIgljb250YWluZWQKKworIiBQYXJlbnQKK3N5biBtYXRjaCAgICAgaHRtbG9zUGFyZW50ICAgICAgICJbKHtbXF19KV0iICAgICBjb250YWluZWQKKworIiBUb2RvCitzeW4ga2V5d29yZAlodG1sb3NUb2RvIFRPRE8gVG9kbyB0b2RvCWNvbnRhaW5lZAorCitzeW4gY2x1c3RlcglodG1sb3NJbnNpZGUJY29udGFpbnM9aHRtbG9zQ29tbWVudCxodG1sb3NGdW5jdGlvbnMsaHRtbG9zSWRlbnRpZmllcixodG1sb3NTcGVjaWFsSWRlbnRpZmllcixodG1sb3NDb25kaXRpb25hbCxodG1sb3NSZXBlYXQsaHRtbG9zTGFiZWwsaHRtbG9zU3RhdGVtZW50LGh0bWxvc09wZXJhdG9yLGh0bWxvc1JlbGF0aW9uLGh0bWxvc1N0cmluZ1NpbmdsZSxodG1sb3NTdHJpbmdEb3VibGUsaHRtbG9zTnVtYmVyLGh0bWxvc0Zsb2F0LGh0bWxvc0Vycm9yLGh0bWxvc0tleXdvcmQsaHRtbG9zVHlwZSxodG1sb3NCb29sZWFuLGh0bWxvc1BhcmVudAorCitzeW4gY2x1c3RlcglodG1sb3NUb3AJY29udGFpbnM9QGh0bWxvc0luc2lkZSxodG1sb3NEZWZpbmUsaHRtbG9zRXJyb3IsaHRtbG9zU3RvcmFnZUNsYXNzCisKK3N5biByZWdpb24JIGh0bWxvc1JlZ2lvbglrZWVwZW5kIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8PCIgc2tpcD0rIi5cey19Pz4uXHstfSJcfCcuXHstfT8+Llx7LX0nXHwvXCouXHstfT8+Llx7LX1cKi8rIGVuZD0iPj4iIGNvbnRhaW5zPUBodG1sb3NUb3AKK3N5biByZWdpb24JIGh0bWxvc1JlZ2lvbglrZWVwZW5kIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcW1xbIiBza2lwPSsiLlx7LX0/Pi5cey19Ilx8Jy5cey19Pz4uXHstfSdcfC9cKi5cey19Pz4uXHstfVwqLysgZW5kPSJcXVxdIiBjb250YWlucz1AaHRtbG9zVG9wCisKKworIiBzeW5jCitpZiBleGlzdHMoImh0bWxvc19taW5saW5lcyIpCisgIGV4ZWMgInN5biBzeW5jIG1pbmxpbmVzPSIgLiBodG1sb3NfbWlubGluZXMKK2Vsc2UKKyAgc3luIHN5bmMgbWlubGluZXM9MTAwCitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9odG1sb3Nfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfaHRtbG9zX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICBIaUxpbmsJIGh0bWxvc1NwZWNpYWxJZGVudGlmaWVyCU9wZXJhdG9yCisgIEhpTGluawkgaHRtbG9zSWRlbnRpZmllcglJZGVudGlmaWVyCisgIEhpTGluawkgaHRtbG9zU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcworICBIaUxpbmsJIGh0bWxvc0NvbW1lbnQJQ29tbWVudAorICBIaUxpbmsJIGh0bWxvc0Jvb2xlYW4JQm9vbGVhbgorICBIaUxpbmsJIGh0bWxvc1N0cmluZ1NpbmdsZQlTdHJpbmcKKyAgSGlMaW5rCSBodG1sb3NTdHJpbmdEb3VibGUJU3RyaW5nCisgIEhpTGluawkgaHRtbG9zTnVtYmVyCU51bWJlcgorICBIaUxpbmsJIGh0bWxvc0Zsb2F0CUZsb2F0CisgIEhpTGluawkgaHRtbG9zRnVuY3Rpb25zCUZ1bmN0aW9uCisgIEhpTGluawkgaHRtbG9zUmVwZWF0CVJlcGVhdAorICBIaUxpbmsJIGh0bWxvc0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluawkgaHRtbG9zTGFiZWwJTGFiZWwKKyAgSGlMaW5rCSBodG1sb3NTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluawkgaHRtbG9zS2V5d29yZAlTdGF0ZW1lbnQKKyAgSGlMaW5rCSBodG1sb3NUeXBlCVR5cGUKKyAgSGlMaW5rCSBodG1sb3NEZWZpbmUJRGVmaW5lCisgIEhpTGluawkgaHRtbG9zUGFyZW50CURlbGltaXRlcgorICBIaUxpbmsJIGh0bWxvc0Vycm9yCUVycm9yCisgIEhpTGluawkgaHRtbG9zVG9kbwlUb2RvCisgIEhpTGluawlodG1sb3NPcGVyYXRvcglPcGVyYXRvcgorICBIaUxpbmsJaHRtbG9zUmVsYXRpb24JT3BlcmF0b3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImh0bWxvcyIKKworaWYgbWFpbl9zeW50YXggPT0gJ2h0bWxvcycKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2lhNjQudmltIGIvcnVudGltZS9zeW50YXgvaWE2NC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDYyOTJjZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2lhNjQudmltCkBAIC0wLDAgKzEsMzEyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIElBLTY0IChJdGFuaXVtKSBhc3NlbWJseSBsYW5ndWFnZQorIiBNYWludGFpbmVyOiAgIFBhcnRoIE1hbHdhbmthciA8cG1hbHdhbmthckB5YWhvby5jb20+CisiIFVSTDoJCWh0dHA6Ly93d3cuZ2VvY2l0aWVzLmNvbS9wbWFsd2Fua2FyIChIb21lIFBhZ2Ugd2l0aCBsaW5rIHRvIG15IFZpbSBwYWdlKQorIgkJaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL3BtYWx3YW5rYXIvdmltLmh0bSAoZm9yIFZJTSkKKyIgRmlsZSBWZXJzaW9uOiAwLjcKKyIgTGFzdCBDaGFuZ2U6ICAyMDA0IE1heSAwNAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworImlnbm9yZSBjYXNlIGZvciBhc3NlbWJseQorc3luIGNhc2UgaWdub3JlCisKKyIgIElkZW50aWZpZXIgS2V5d29yZCBjaGFyYWN0ZXJzIChkZWZpbmVzIFxrKQoraWYgdmVyc2lvbiA+PSA2MDAKKwlzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywjLCQsLiw6LD8sQC1ALF8sfgorZWxzZQorCXNldCBpc2tleXdvcmQ9QCw0OC01NywjLCQsLiw6LD8sQC1ALF8sfgorZW5kaWYKKworc3luIHN5bmMgbWlubGluZXM9NQorCisiIFJlYWQgdGhlIE1BU00gc3ludGF4IHRvIHN0YXJ0IHdpdGgKKyIgVGhpcyBpcyBuZWVkZWQgYXMgYm90aCBJQS02NCBhcyB3ZWxsIGFzIElBLTMyIGluc3RydWN0aW9ucyBhcmUgc3VwcG9ydGVkCitzb3VyY2UgPHNmaWxlPjpwOmgvbWFzbS52aW0KKworc3luIHJlZ2lvbiBpYTY0Q29tbWVudCBzdGFydD0iLy8iIGVuZD0iJCIgY29udGFpbnM9aWE2NFRvZG8KK3N5biByZWdpb24gaWE2NENvbW1lbnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPWlhNjRUb2RvCisKK3N5biBtYXRjaCBpYTY0SWRlbnRpZmllcgkiW2EtekEtWl8kXVthLXpBLVowLTlfJF0qIgorc3luIG1hdGNoIGlhNjREaXJlY3RpdmUJCSJcLlthLXpBLVpfJF1bYS16QS1aXyQuXVwrIgorc3luIG1hdGNoIGlhNjRMYWJlbAkJIlthLXpBLVpfJC5dW2EtekEtWjAtOV8kLl0qXHNcPTpcPiJoZT1lLTEKK3N5biBtYXRjaCBpYTY0TGFiZWwJCSJbYS16QS1aXyQuXVthLXpBLVowLTlfJC5dKlxzXD06Olw+ImhlPWUtMgorc3luIG1hdGNoIGlhNjRMYWJlbAkJIlthLXpBLVpfJC5dW2EtekEtWjAtOV8kLl0qXHNcPSNcPiJoZT1lLTEKK3N5biByZWdpb24gaWE2NHN0cmluZwkJc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworc3luIG1hdGNoIGlhNjRPY3RhbAkJIjBbMC03X10qXD4iCitzeW4gbWF0Y2ggaWE2NEJpbmFyeQkJIjBbYkJdWzAxX10qXD4iCitzeW4gbWF0Y2ggaWE2NEhleAkJIjBbeFhdWzAtOWEtZkEtRl9dKlw+Igorc3luIG1hdGNoIGlhNjREZWNpbWFsCQkiWzEtOV9dWzAtOV9dKlw+Igorc3luIG1hdGNoIGlhNjRGbG9hdAkJIlswLTlfXSpcLlswLTlfXSpcKFtlRV1bKy1dXD1bMC05X10qXClcPVw+IgorCisic2ltcGxlIGluc3RydWN0aW9ucworc3luIGtleXdvcmQgaWE2NG9wY29kZSBhZGQgYWRkcyBhZGRsIGFkZHA0IGFsbG9jIGFuZCBhbmRjbSBjb3ZlciBlcGMKK3N5biBrZXl3b3JkIGlhNjRvcGNvZGUgZmFicyBmYW5kIGZhbmRjbSBmYyBmbHVzaHJzIGZuZWcgZm5lZ2FicyBmb3IKK3N5biBrZXl3b3JkIGlhNjRvcGNvZGUgZnBhYnMgZnBhY2sgZnBuZWcgZnBuZWdhYnMgZnNlbGVjdCBmYW5kIGZhYmRjbQorc3luIGtleXdvcmQgaWE2NG9wY29kZSBmYyBmd2IgZnhvciBsb2FkcnMgbW92bCBtdXgxIG11eDIgb3IgcGFkZDQKK3N5biBrZXl3b3JkIGlhNjRvcGNvZGUgcGF2Z3N1YjEgcGF2Z3N1YjIgcG9wY250IHBzYWQxIHBzaGwyIHBzaGw0IHBzaGxhZGQyCitzeW4ga2V5d29yZCBpYTY0b3Bjb2RlIHBzaHJhZGQyIHBzdWI0IHJmaSByc20gcnVtIHNobCBzaGxhZGQgc2hsYWRkcDQKK3N5biBrZXl3b3JkIGlhNjRvcGNvZGUgc2hycCBzc20gc3ViIHN1bSBzeW5jLmkgdGFrIHRoYXNoCitzeW4ga2V5d29yZCBpYTY0b3Bjb2RlIHRwYSB0dGFnIHhvcgorCisicHV0IHRvIG92ZXJyaWRlIHRoZXNlIGJlaW5nIHJlY29nbml6ZWQgYXMgZmxvYXRzLiBUaGV5IGFyZSBvcmlnbmFsbHkgZnJvbSBtYXNtLnZpbQorInB1dCBoZXJlIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoIGZsb2F0CitzeW4gbWF0Y2ggICBpYTY0RGlyZWN0aXZlICAgICAgICJcLjE4NiIKK3N5biBtYXRjaCAgIGlhNjREaXJlY3RpdmUgICAgICAgIlwuMjg2Igorc3luIG1hdGNoICAgaWE2NERpcmVjdGl2ZSAgICAgICAiXC4yODZjIgorc3luIG1hdGNoICAgaWE2NERpcmVjdGl2ZSAgICAgICAiXC4yODZwIgorc3luIG1hdGNoICAgaWE2NERpcmVjdGl2ZSAgICAgICAiXC4yODciCitzeW4gbWF0Y2ggICBpYTY0RGlyZWN0aXZlICAgICAgICJcLjM4NiIKK3N5biBtYXRjaCAgIGlhNjREaXJlY3RpdmUgICAgICAgIlwuMzg2YyIKK3N5biBtYXRjaCAgIGlhNjREaXJlY3RpdmUgICAgICAgIlwuMzg2cCIKK3N5biBtYXRjaCAgIGlhNjREaXJlY3RpdmUgICAgICAgIlwuMzg3Igorc3luIG1hdGNoICAgaWE2NERpcmVjdGl2ZSAgICAgICAiXC40ODYiCitzeW4gbWF0Y2ggICBpYTY0RGlyZWN0aXZlICAgICAgICJcLjQ4NmMiCitzeW4gbWF0Y2ggICBpYTY0RGlyZWN0aXZlICAgICAgICJcLjQ4NnAiCitzeW4gbWF0Y2ggICBpYTY0RGlyZWN0aXZlICAgICAgICJcLjgwODYiCitzeW4gbWF0Y2ggICBpYTY0RGlyZWN0aXZlICAgICAgICJcLjgwODciCisKKworCisiZGVsaW1pdGVycworc3luIG1hdGNoIGlhNjRkZWxpbWl0ZXIgIjs7IgorCisib3BlcmF0b3JzCitzeW4gbWF0Y2ggaWE2NG9wZXJhdG9ycyAiW1xbXF0oKSMsXSIKK3N5biBtYXRjaCBpYTY0b3BlcmF0b3JzICJcKCtcfC1cfD1cKSIKKworIlRPRE8KK3N5biBtYXRjaCBpYTY0VG9kbyAgICAgICJcKFRPRE9cfFhYWFx8RklYTUVcfE5PVEVcKSIKKworIldoYXQgZm9sbG93cyBpcyBhIGxvbmcgbGlzdCBvZiByZWd1bGFyIGV4cHJlc3Npb25zIGZvciBwYXJzaW5nIHRoZQorImlhNjQgaW5zdHJ1Y3Rpb25zIHRoYXQgdXNlIG1hbnkgY29tcGxldGVycworCisiYnIKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJiclwoXChcLlwoY29uZFx8Y2FsbFx8cmV0XHxpYVx8Y2xvb3BcfGN0b3BcfGNleGl0XHx3dG9wXHx3ZXhpdFwpXClcPVwoXC5cKHNwbnRcfGRwbnRcfHNwdGtcfGRwdGtcKVwpXD1cKFwuZmV3XHxcLm1hbnlcKVw9XChcLmNsclwpXD1cKVw9XD4iCisiYnJlYWsKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJicmVha1woXC5baWJtZnhdXClcPVw+IgorImJycAorc3luIG1hdGNoIGlhNjRvcGNvZGUgImJycFwoXC5cKHNwdGtcfGRwdGtcfGxvb3BcfGV4aXRcKVwpXChcLmltcFwpXD1cPiIKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJicnBcLnJldFwoXC5cKHNwdGtcfGRwdGtcKVwpXHsxfVwoXC5pbXBcKVw9XD4iCisiYnN3CitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiYnN3XC5bMDFdXD4iCisiY2hrCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiY2hrXC5cKHNcKFwuW2ltXVwpXD1cKVw+Igorc3luIG1hdGNoIGlhNjRvcGNvZGUgImNoa1wuYVwuXChjbHJcfG5jXClcPiIKKyJjbHJycmIKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJjbHJycmJcKFwucHJcKVw9XD4iCisiY21wL2NtcDQKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJjbXA0XD1cLlwoZXFcfG5lXHxsW3RlXVx8Z1t0ZV1cfFtsZ110dVx8W2xnXWV1XClcKFwudW5jXClcPVw+Igorc3luIG1hdGNoIGlhNjRvcGNvZGUgImNtcDRcPVwuXChlcVx8W2xnbl1lXHxbbGdddFwpXC5cKFwob3JcKFwuYW5kY21cfGNtXClcPVwpXHxcKGFuZFwoXChcLm9yXClcPWNtXClcPVwpXClcPiIKKyJjbXB4Y2hnCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiY21weGNoZ1sxMjQ4XVwuXChhY3FcfHJlbFwpXChcLm50MVx8XC5udGFcKVw9XD4iCisiY3p4CitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiY3p4WzEyXVwuW2xyXVw+IgorImRlcAorc3luIG1hdGNoIGlhNjRvcGNvZGUgImRlcFwoXC56XClcPVw+IgorImV4dHIKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJleHRyXChcLnVcKVw9XD4iCisiZmFkZAorc3luIG1hdGNoIGlhNjRvcGNvZGUgImZhZGRcKFwuW3NkXVwpXD1cKFwuc1swLTNdXClcPVw+IgorImZhbWF4L2ZhbWluCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiZmFcKG1heFx8bWluXClcKFwuc1swLTNdXClcPVw+IgorImZjaGtmL2ZtYXgvZm1pbgorc3luIG1hdGNoIGlhNjRvcGNvZGUgImZcKGNoa2ZcfG1heFx8bWluXClcKFwuc1swLTNdXClcPVw+IgorImZjbGFzcworc3luIG1hdGNoIGlhNjRvcGNvZGUgImZjbGFzc1woXC5uXD1tXClcKFwudW5jXClcPVw+IgorImZjbHJmL2ZwYW1heAorc3luIG1hdGNoIGlhNjRvcGNvZGUgImZcKGNscmZcfHBhbWF4XHxwYW1pblwpXChcLnNbMC0zXVwpXD1cPiIKKyJmY21wCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiZmNtcFwuXChuXD1bbGddW3RlXVx8blw9ZXFcfFwodW5cKVw9b3JkXClcKFwudW5jXClcPVwoXC5zWzAtM11cKVw9XD4iCisiZmN2dC9mY3Z0LnhmL2ZjdnQueHVmLnBjLnNmCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiZmN2dFwuXChcKGZ4dVw9XChcLnRydW5jXClcPVwoXC5zWzAtM11cKVw9XClcfFwoeGZcfHh1ZlwoXC5bc2RdXClcPVwoXC5zWzAtM11cKVw9XClcKVw+IgorImZldGNoYWRkCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiZmV0Y2hhZGRbNDhdXC5cKGFjcVx8cmVsXClcKFwubnQxXHxcLm50YVwpXD1cPiIKKyJmbWEvZm1weS9mbXMKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJmbVwoW2FzXVx8cHlcKVwoXC5bc2RdXClcPVwoXC5zWzAtM11cKVw9XD4iCisiZm1lcmdlL2ZwbWVyZ2UKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJmcFw9bWVyZ2VcLlwobnNcfHNlXD1cKVw+IgorImZtaXgKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJmbWl4XC5cKGxyXHxbbHJdXClcPiIKKyJmbm1hL2Zub3JtL2ZubXB5CitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiZm5cKG1hXHxtcHlcfG9ybVwpXChcLltzZF1cKVw9XChcLnNbMC0zXVwpXD1cPiIKKyJmcGNtcAorc3luIG1hdGNoIGlhNjRvcGNvZGUgImZwY21wXC5cKG5cPVtsZ11bdGVdXHxuXD1lcVx8XCh1blwpXD1vcmRcKVwoXC5zWzAtM11cKVw9XD4iCisiZnBjdnQKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJmcGN2dFwuZnh1XD1cKFwoXC50cnVuY1wpXD1cKFwuc1swLTNdXClcPVwpXD4iCisiZnBtYS9mcG1heC9mcG1pbi9mcG1weS9mcG1zL2Zwbm1hL2Zwbm1weS9mcHJjcGEvZnBzcXJ0YQorc3luIG1hdGNoIGlhNjRvcGNvZGUgImZwXChtYXhcPVx8bWluXHxuXD1tcHlcfG1zXHxubWFcfHJjcGFcfHNxcnRhXClcKFwuc1swLTNdXClcPVw+IgorImZyY3BhL2Zyc3FydGEKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJmclwoY3BhXHxzcXJ0YVwpXChcLnNbMC0zXVwpXD1cPiIKKyJmc2V0Yy9mYW1pbi9mY2hrZgorc3luIG1hdGNoIGlhNjRvcGNvZGUgImZcKHNldGNcfGFtaW5cfGNoa2ZcKVwoXC5zWzAtM11cKVw9XD4iCisiZnN1Ygorc3luIG1hdGNoIGlhNjRvcGNvZGUgImZzdWJcKFwuW3NkXVwpXD1cKFwuc1swLTNdXClcPVw+IgorImZzd2FwCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiZnN3YXBcKFwubltscl1cPVwpXD1cPiIKKyJmc3h0CitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiZnN4dFwuW2xyXVw+IgorImdldGYKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJnZXRmXC5cKFtzZF1cfGV4cFx8c2lnXClcPiIKKyJpbnZhbGEKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJpbnZhbGFcKFwuW2FlXVwpXD1cPiIKKyJpdGMvaXRyCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAiaXRbY3JdXC5baWRdXD4iCisibGQKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJsZFsxMjQ4XVw+XHxsZFsxMjQ4XVwoXC5cKHNhXD1cfGFcfGNcLlwobmNcfGNsclwoXC5hY3FcKVw9XClcfGFjcVx8Ymlhc1wpXClcPVwoXC5udFsxYV1cKVw9XD4iCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAibGQ4XC5maWxsXChcLm50WzFhXVwpXD1cPiIKKyJsZGYKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJsZGZbc2RlOF1cKFwoXC5cKHNhXD1cfGFcfGNcLlwobmNcfGNsclwpXClcKVw9XChcLm50WzFhXVwpXD1cKVw9XD4iCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAibGRmXC5maWxsXChcLm50WzFhXVwpXD1cPiIKKyJsZGZwCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAibGRmcFtzZDhdXChcKFwuXChzYVw9XHxhXHxjXC5cKG5jXHxjbHJcKVwpXClcPVwoXC5udFsxYV1cKVw9XClcPVw+IgorImxmZXRjaAorc3luIG1hdGNoIGlhNjRvcGNvZGUgImxmZXRjaFwoXC5mYXVsdFwoXC5leGNsXClcPVx8XC5leGNsXClcPVwoXC5udFsxMmFdXClcPVw+IgorIm1mCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAibWZcKFwuYVwpXD1cPiIKKyJtaXgKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJtaXhbMTI0XVwuW2xyXVw+IgorIm1vdgorc3luIG1hdGNoIGlhNjRvcGNvZGUgIm1vdlwoXC5baW1dXClcPVw+Igorc3luIG1hdGNoIGlhNjRvcGNvZGUgIm1vdlwoXC5yZXRcKVw9XChcKFwuc3B0a1x8XC5kcHRrXClcPVwoXC5pbXBcKVw9XClcPVw+IgorIm5vcAorc3luIG1hdGNoIGlhNjRvcGNvZGUgIm5vcFwoXC5baWJtZnhdXClcPVw+IgorInBhY2sKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJwYWNrXCgyXC5bc3Vdc3NcfDRcLnNzc1wpXD4iCisicGFkZCAvL3BhZGQ0IGFkZGVkIHRvIGtleXdvcmRzCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAicGFkZFsxMl1cKFwuXChzc3NcfHV1c1x8dXV1XClcKVw9XD4iCisicGF2Zworc3luIG1hdGNoIGlhNjRvcGNvZGUgInBhdmdbMTJdXChcLnJhelwpXD1cPiIKKyJwY21wCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAicGNtcFsxMjRdXC5cKGVxXHxndFwpXD4iCisicG1heC9wbWluCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAicG1cKGF4XHxpblwpXChcKDFcLnVcKVx8MlwpXD4iCisicG1weQorc3luIG1hdGNoIGlhNjRvcGNvZGUgInBtcHkyXC5bcmxdXD4iCisicG1weXNocgorc3luIG1hdGNoIGlhNjRvcGNvZGUgInBtcHlzaHIyXChcLnVcKVw9XD4iCisicHJvYmUKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJwcm9iZVwuW3J3XVw+Igorc3luIG1hdGNoIGlhNjRvcGNvZGUgInByb2JlXC5cKFwoclx8d1x8cndcKVwuZmF1bHRcKVw+IgorInBzaHIKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJwc2hyWzI0XVwoXC51XClcPVw+IgorInBzdWIKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJwc3ViWzEyXVwoXC5cKHNzc1x8dXVbc3VdXClcKVw9XD4iCisicHRjCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAicHRjXC5cKGxcfGVcfGdhXD1cKVw+IgorInB0cgorc3luIG1hdGNoIGlhNjRvcGNvZGUgInB0clwuXChkXHxpXClcPiIKKyJzZXRmCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAic2V0ZlwuXChzXHxkXHxleHBcfHNpZ1wpXD4iCisic2hyCitzeW4gbWF0Y2ggaWE2NG9wY29kZSAic2hyXChcLnVcKVw9XD4iCisic3Jsegorc3luIG1hdGNoIGlhNjRvcGNvZGUgInNybHpcKFwuW2lkXVwpXD4iCisic3QKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJzdFsxMjQ4XVwoXC5yZWxcKVw9XChcLm50YVwpXD1cPiIKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJzdDhcLnNwaWxsXChcLm50YVwpXD1cPiIKKyJzdGYKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJzdGZbMTI0OF1cKFwubnRhXClcPVw+Igorc3luIG1hdGNoIGlhNjRvcGNvZGUgInN0Zlwuc3BpbGxcKFwubnRhXClcPVw+IgorInN4dAorc3luIG1hdGNoIGlhNjRvcGNvZGUgInN4dFsxMjRdXD4iCisidGJpdC90bmF0CitzeW4gbWF0Y2ggaWE2NG9wY29kZSAidFwoYml0XHxuYXRcKVwoXC5uelx8XC56XClcPVwoXC5cKHVuY1x8b3JcKFwuYW5kY21cfGNtXClcPVx8YW5kXChcLm9yY21cfGNtXClcPVwpXClcPVw+IgorInVucGFjaworc3luIG1hdGNoIGlhNjRvcGNvZGUgInVucGFja1sxMjRdXC5bbGhdXD4iCisieGNocQorc3luIG1hdGNoIGlhNjRvcGNvZGUgInhjaGdbMTI0OF1cKFwubnRbMWFdXClcPVw+IgorInhtYS94bXB5CitzeW4gbWF0Y2ggaWE2NG9wY29kZSAieG1cKGFcfHB5XClcLltsaF11XD1cPiIKKyJ6eHQKK3N5biBtYXRjaCBpYTY0b3Bjb2RlICJ6eHRbMTI0XVw+IgorCisKKyJUaGUgcmVnZXggZm9yIGRpZmZlcmVudCBpYTY0IHJlZ2lzdGVycyBhcmUgZ2l2ZW4gYmVsb3cKKworImxpbWl0cyB0aGUgclhYWCBhbmQgZlhYWCBhbmQgY3Igc3VmZml4IGluIHRoZSByYW5nZSAwLTEyNworc3luIG1hdGNoIGlhNjRyZWdpc3RlcnMgIlwoW2ZyXVx8Y3JcKVwoWzAtOV1cfFsxLTldWzAtOV1cfDFbMC0xXVswLTldXHwxMlswLTddXClcezF9XD4iCisiYnJhbmNoIGlhNjRyZWdpc3RlcnMKK3N5biBtYXRjaCBpYTY0cmVnaXN0ZXJzICJiWzAtN11cPiIKKyJwcmVkaWNhdGUgaWE2NHJlZ2lzdGVycworc3luIG1hdGNoIGlhNjRyZWdpc3RlcnMgInBcKFswLTldXHxbMS01XVswLTldXHw2WzAtM11cKVw+IgorImFwcGxpY2F0aW9uIGlhNjRyZWdpc3RlcnMKK3N5biBtYXRjaCBpYTY0cmVnaXN0ZXJzICJhclwuXChmcHNyXHxtYXRcfHVuYXRcfHJuYXRcfHBmc1x8YnNwXHxic3BzdG9yZVx8cnNjXHxsY1x8ZWNcfGNjdlx8aXRjXHxrWzAtN11cKVw+IgorImlhMzIgQVIncworc3luIG1hdGNoIGlhNjRyZWdpc3RlcnMgImFyXC5cKGVmbGFnXHxmY3JcfGNzZFx8c3NkXHxjZmxnXHxmc3JcfGZpclx8ZmRyXClcPiIKKyJzcC9ncC9wci9wci5yb3QvcnAKK3N5biBrZXl3b3JkIGlhNjRyZWdpc3RlcnMgc3AgZ3AgcHIgcHIucm90IHJwIGlwIHRwCisiaW4vb3V0L2xvY2FsCitzeW4gbWF0Y2ggaWE2NHJlZ2lzdGVycyAiXChpblx8b3V0XHxsb2NcKVwoWzAtOV1cfFsxLThdWzAtOV1cfDlbMC01XVwpXD4iCisiYXJndW1lbnQgaWE2NHJlZ2lzdGVycworc3luIG1hdGNoIGlhNjRyZWdpc3RlcnMgImZhcmdbMC03XVw+IgorInJldHVybiB2YWx1ZSBpYTY0cmVnaXN0ZXJzCitzeW4gbWF0Y2ggaWE2NHJlZ2lzdGVycyAiZnJldFswLTddXD4iCisicHNyCitzeW4gbWF0Y2ggaWE2NHJlZ2lzdGVycyAicHNyXChcLlwobFx8dW1cKVwpXD1cPiIKKyJjcgorc3luIG1hdGNoIGlhNjRyZWdpc3RlcnMgImNyXC5cKGRjclx8aXRtXHxpdmFcfHB0YVx8aXBzclx8aXNyXHxpZmFcfGlpcFx8aXRpclx8aWlwYVx8aWZzXHxpaW1cfGloYVx8bGlkXHxpdnJcfHRwclx8ZW9pXHxpcnJbMC0zXVx8aXR2XHxwbXZcfGxyclswMV1cfGNtY3ZcKVw+IgorIkluZGlyZWN0IHJlZ2lzdGVycworc3luIG1hdGNoIGlhNjRyZWdpc3RlcnMgIlwoY3B1aWRcfGRiclx8aWJyXHxwa3JcfHBtY1x8cG1kXHxyclx8aXRyXHxkdHJcKVw+IgorIk1VWCBwZXJtdXRhdGlvbnMgZm9yIDgtYml0IGVsZW1lbnRzCitzeW4gbWF0Y2ggaWE2NHJlZ2lzdGVycyAiXChAcmV2XHxAbWl4XHxAc2h1Zlx8QGFsdFx8QGJyY3N0XClcPiIKKyJmbG9hdGluZyBwb2ludCBjbGFzc2VzCitzeW4gbWF0Y2ggaWE2NHJlZ2lzdGVycyAiXChAbmF0XHxAcW5hblx8QHNuYW5cfEBwb3NcfEBuZWdcfEB6ZXJvXHxAdW5vcm1cfEBub3JtXHxAaW5mXClcPiIKKyJsaW5rIHJlbG9jYXRpb24gb3BlcmF0b3JzCitzeW4gbWF0Y2ggaWE2NHJlZ2lzdGVycyAiXChAXChcKFwoZ3BcfHNlY1x8c2VnXHxpbWFnZVwpcmVsXClcfGx0b2ZmXHxmcHRyXHxwdGxvZmZcfGx0dlx8c2VjdGlvblwpXClcPiIKKworIkRhdGEgYWxsb2NhdGlvbiBzeW50YXgKK3N5biBtYXRjaCBpYTY0ZGF0YSAiZGF0YVsxMjQ4XVwoXChcKFwudWFcKVw9XChcLm1zYlx8XC5sc2JcKVw9XClcfFwoXChcLm1zYlx8XC5sc2JcKVw9XChcLnVhXClcPVwpXClcPVw+Igorc3luIG1hdGNoIGlhNjRkYXRhICJyZWFsXChbNDhdXHwxWzA2XVwpXChcKFwoXC51YVwpXD1cKFwubXNiXHxcLmxzYlwpXD1cKVx8XChcKFwubXNiXHxcLmxzYlwpXD1cKFwudWFcKVw9XClcKVw9XD4iCitzeW4gbWF0Y2ggaWE2NGRhdGEgInN0cmluZ3pcPVwoXChcKFwudWFcKVw9XChcLm1zYlx8XC5sc2JcKVw9XClcfFwoXChcLm1zYlx8XC5sc2JcKVw9XChcLnVhXClcPVwpXClcPVw+IgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9pYTY0X3N5bl9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX2lhNjRfc3luX2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCSJwdXQgbWFzbSBncm91cHMgd2l0aCBvdXIgZ3JvdXBzCisJSGlMaW5rIG1hc21PcGVyYXRvcglpYTY0b3BlcmF0b3IKKwlIaUxpbmsgbWFzbURpcmVjdGl2ZQlpYTY0RGlyZWN0aXZlCisJSGlMaW5rIG1hc21PcGNvZGUJaWE2NE9wY29kZQorCUhpTGluayBtYXNtSWRlbnRpZmllcglpYTY0SWRlbnRpZmllcgorCUhpTGluayBtYXNtRmxvYXQJaWE2NEZsb2F0CisKKwkiaWE2NCBzcGVjaWZpYyBzdHVmZgorCUhpTGluayBpYTY0TGFiZWwJRGVmaW5lCisJSGlMaW5rIGlhNjRDb21tZW50CUNvbW1lbnQKKwlIaUxpbmsgaWE2NERpcmVjdGl2ZQlUeXBlCisJSGlMaW5rIGlhNjRvcGNvZGUJU3RhdGVtZW50CisJSGlMaW5rIGlhNjRyZWdpc3RlcnMJT3BlcmF0b3IKKwlIaUxpbmsgaWE2NHN0cmluZwlTdHJpbmcKKwlIaUxpbmsgaWE2NEhleAkJTnVtYmVyCisJSGlMaW5rIGlhNjRCaW5hcnkJTnVtYmVyCisJSGlMaW5rIGlhNjRPY3RhbAlOdW1iZXIKKwlIaUxpbmsgaWE2NEZsb2F0CUZsb2F0CisJSGlMaW5rIGlhNjREZWNpbWFsCU51bWJlcgorCUhpTGluayBpYTY0SWRlbnRpZmllcglJZGVudGlmaWVyCisJSGlMaW5rIGlhNjRkYXRhCQlUeXBlCisJSGlMaW5rIGlhNjRkZWxpbWl0ZXIJRGVsaW1pdGVyCisJSGlMaW5rIGlhNjRvcGVyYXRvcglPcGVyYXRvcgorCUhpTGluayBpYTY0VG9kbwkJVG9kbworCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImlhNjQiCisKKyIgdmltOiB0cz04IHN3PTIKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaWNlbWVudS52aW0gYi9ydW50aW1lL3N5bnRheC9pY2VtZW51LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTEwOTM4Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaWNlbWVudS52aW0KQEAgLTAsMCArMSwzNiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUljZXdtIE1lbnUKKyIgTWFpbnRhaW5lcjoJSmFtZXMgTWFobGVyIDxqbWFobGVyQHB1cmR1ZS5lZHU+CisiIExhc3QgQ2hhbmdlOglUdWUgRGVjICA5IDIxOjA4OjIyIEVTVCAyMDAzCisiIEV4dGVuc2lvbnM6CX4vLmljZXdtL21lbnUKKyIgQ29tbWVudDoJSWNld20gaXMgYSBsaWdodHdlaWdodCB3aW5kb3cgbWFuYWdlci4gIFRoaXMgYWRkcyBzeW50YXgKKyIJCWhpZ2hsaWdodGluZyB3aGVuIGVkaXRpbmcgeW91ciB1c2VyJ3MgbWVudSBmaWxlICh+Ly5pY2V3bS9tZW51KS4KKworIiBjbGVhciBleGlzdGluZyBzeW50YXgKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImJMY3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworIiBub3QgY2FzZSBzZW5zaXRpdmUKK3N5bnRheCBjYXNlIGlnbm9yZQorCisiIGljb25zIC54cG0gLnBuZyBhbmQgLmdpZgorc3ludGF4IG1hdGNoIF9pY29uIC8iXD1cLy4qXC54cG0iXD0vCitzeW50YXggbWF0Y2ggX2ljb24gLyJcPVwvLipcLnBuZyJcPS8KK3N5bnRheCBtYXRjaCBfaWNvbiAvIlw9XC8uKlwuZ2lmIlw9Lworc3ludGF4IG1hdGNoIF9pY29uIC8iXC0iLworCisiIHNlcGFyYXRvcgorc3ludGF4IGtleXdvcmQgX3J1bGVzIHNlcGFyYXRvcgorCisiIHByb2cgYW5kIG1lbnUKK3N5bnRheCBrZXl3b3JkIF9pZHMgbWVudSBwcm9nCisKKyIgaGlnaGxpZ2h0cworaGlnaGxpZ2h0IGxpbmsgX3J1bGVzIFVuZGVybGluZWQKK2hpZ2hsaWdodCBsaW5rIF9pZHMgVHlwZQoraGlnaGxpZ2h0IGxpbmsgX2ljb24gU3BlY2lhbAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJJY2VNZW51IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaWNvbi52aW0gYi9ydW50aW1lL3N5bnRheC9pY29uLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTczYzQzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaWNvbi52aW0KQEAgLTAsMCArMSwyMTIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglJY29uCisiIE1haW50YWluZXI6CVdlbmRlbGwgVHVybmVyIDx3ZW5kZWxsQGFkc2ktbTQuY29tPgorIiBVUkw6CQlmdHA6Ly9mdHAuaGFsY3lvbi5jb20vcHViL3VzZXJzL3d0dXJuZXIvaWNvbi52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGtleXdvcmQgIGljb25GdW5jdGlvbiAgIGFicyBhY29zIGFueSBhcmdzIGFzaW4gYXRhbiBiYWwKK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICBjYWxsb3V0IGNlbnRlciBjaGFyIGNoZGlyIGNsb3NlIGNvbGxlY3QgY29weQorc3luIGtleXdvcmQgIGljb25GdW5jdGlvbiAgIGNvcyBjc2V0IGRlbGF5IGRlbGV0ZSBkZXRhYiBkaXNwbGF5IGR0b3IKK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICBlbnRhYiBlcnJvcmNsZWFyIGV4aXQgZXhwIGZpbmQgZmx1c2ggZnVuY3Rpb24KK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICBnZXQgZ2V0Y2ggZ2V0Y2hlIGdldGVudiBpYW5kIGljb20gaW1hZ2UKK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICBpbnNlcnQgaW50ZWdlciBpb3IgaXNoaWZ0IGl4b3Iga2JoaXQga2V5CitzeW4ga2V5d29yZCAgaWNvbkZ1bmN0aW9uICAgbGVmdCBsaXN0IGxvYWRmdW5jIGxvZyBtYW55IG1hcCBtYXRjaAorc3luIGtleXdvcmQgIGljb25GdW5jdGlvbiAgIG1lbWJlciBtb3ZlIG5hbWUgbnVtZXJpYyBvcGVuIG9yZCBwb3AKK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICBwb3MgcHJvYyBwdWxsIHB1c2ggcHV0IHJlYWQgcmVhZHMKK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICByZWFsIHJlbW92ZSByZW5hbWUgcmVwbCByZXZlcnNlIHJpZ2h0IHJ0b2QKK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICBydW5lcnIgc2F2ZSBzZWVrIHNlcSBzZXQgc2luIHNvcnQKK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICBzb3J0ZiBzcXJ0IHN0b3Agc3RyaW5nIHN5c3RlbSB0YWIgdGFibGUKK3N5biBrZXl3b3JkICBpY29uRnVuY3Rpb24gICB0YW4gdHJpbSB0eXBlIHVwdG8gdmFyaWFibGUgd2hlcmUgd3JpdGUgd3JpdGVzCisKKyIgS2V5d29yZHMKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmFsbG9jYXRlZCIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmFzY2lpIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImY2xvY2siCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZjb2xsZWN0aW9ucyIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmNzZXQiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZjdXJyZW50Igorc3luIG1hdGNoIGljb25LZXl3b3JkICImZGF0ZSIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmRhdGVsaW5lIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImZGlnaXRzIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImZHVtcCIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmUiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZlcnJvciIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmVycm9ybnVtYmVyIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImZXJyb3J0ZXh0Igorc3luIG1hdGNoIGljb25LZXl3b3JkICImZXJyb3J2YWx1ZSIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmVycm91dCIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmZhaWwiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZmZWF0dXJlcyIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmZpbGUiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZob3N0Igorc3luIG1hdGNoIGljb25LZXl3b3JkICImaW5wdXQiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZsY2FzZSIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmxldHRlcnMiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZsZXZlbCIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJmxpbmUiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZtYWluIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImbnVsbCIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJm91dHB1dCIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJnBoaSIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJnBpIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImcG9zIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImcHJvZ25hbWUiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZyYW5kb20iCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZyZWdpb25zIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImc291cmNlIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImc3RvcmFnZSIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJnN1YmplY3QiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZ0aW1lIgorc3luIG1hdGNoIGljb25LZXl3b3JkICImdHJhY2UiCitzeW4gbWF0Y2ggaWNvbktleXdvcmQgIiZ1Y2FzZSIKK3N5biBtYXRjaCBpY29uS2V5d29yZCAiJnZlcnNpb24iCisKKyIgUmVzZXJ2ZWQgd29yZHMKK3N5biBrZXl3b3JkIGljb25SZXNlcnZlZCBicmVhayBieSBjYXNlIGNyZWF0ZSBkZWZhdWx0IGRvCitzeW4ga2V5d29yZCBpY29uUmVzZXJ2ZWQgZWxzZSBlbmQgZXZlcnkgZmFpbCBpZgorc3luIGtleXdvcmQgaWNvblJlc2VydmVkIGluaXRpYWwgbGluayBuZXh0IG5vdCBvZgorc3luIGtleXdvcmQgaWNvblJlc2VydmVkIHByb2NlZHVyZSByZXBlYXQgcmV0dXJuIHN1c3BlbmQKK3N5biBrZXl3b3JkIGljb25SZXNlcnZlZCB0aGVuIHRvIHVudGlsIHdoaWxlCisKKyIgU3RvcmFnZSBjbGFzcyByZXNlcnZlZCB3b3Jkcworc3luIGtleXdvcmQJaWNvblN0b3JhZ2VDbGFzcwlnbG9iYWwgc3RhdGljIGxvY2FsIHJlY29yZAorCitzeW4ga2V5d29yZAlpY29uVG9kbwljb250YWluZWQgVE9ETyBGSVhNRSBYWFggQlVHCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29uc3RhbnRzCisiIEhpZ2hsaWdodCBzcGVjaWFsIGNoYXJhY3RlcnMgKHRob3NlIHdoaWNoIGhhdmUgYSBiYWNrc2xhc2gpIGRpZmZlcmVudGx5CitzeW4gbWF0Y2ggaWNvblNwZWNpYWwgY29udGFpbmVkICJcXHhceFx7Mn1cfFxcXG9cezNcfVx8XFxbYmRlZmxucnR2XCJcJ1xcXVx8XFxeY1thLXpBLVowLTldXHxcXCQiCitzeW4gcmVnaW9uCWljb25TdHJpbmcJc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1pY29uU3BlY2lhbAorc3luIHJlZ2lvbglpY29uQ3NldAlzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrIGNvbnRhaW5zPWljb25TcGVjaWFsCitzeW4gbWF0Y2gJaWNvbkNoYXJhY3RlcgkiJ1teXFxdJyIKKworIiBub3Qgc3VyZSBhYm91dCB0aGVzZQorInN5biBtYXRjaAlpY29uU3BlY2lhbENoYXJhY3RlciAiJ1xcW2JkZWZsbnJ0dl0nIgorInN5biBtYXRjaAlpY29uU3BlY2lhbENoYXJhY3RlciAiJ1xcXG9cezNcfSciCisic3luIG1hdGNoCWljb25TcGVjaWFsQ2hhcmFjdGVyICInXFx4XHhcezJ9JyIKKyJzeW4gbWF0Y2gJaWNvblNwZWNpYWxDaGFyYWN0ZXIgIidcXF5jXFthLXpBLVowLTldJyIKKworIndoZW4gd2FudGVkLCBoaWdobGlnaHQgdHJhaWxpbmcgd2hpdGUgc3BhY2UKK2lmIGV4aXN0cygiaWNvbl9zcGFjZV9lcnJvcnMiKQorICBzeW4gbWF0Y2gJaWNvblNwYWNlRXJyb3IJIlxzKiQiCisgIHN5biBtYXRjaAlpY29uU3BhY2VFcnJvcgkiIFwrXHQibWU9ZS0xCitlbmRpZgorCisiY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworc3luIGNsdXN0ZXIJaWNvblBhcmVuR3JvdXAgY29udGFpbnM9aWNvblBhcmVuRXJyb3IsaWNvbkluY2x1ZGVkLGljb25TcGVjaWFsLGljb25Ub2RvLGljb25Vc2VyQ29udCxpY29uVXNlckxhYmVsLGljb25CaXRGaWVsZAorCitzeW4gcmVnaW9uCWljb25QYXJlbgl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsQGljb25QYXJlbkdyb3VwCitzeW4gbWF0Y2gJaWNvblBhcmVuRXJyb3IJIikiCitzeW4gbWF0Y2gJaWNvbkluUGFyZW4JY29udGFpbmVkICJbe31dIgorCisKK3N5biBjYXNlIGlnbm9yZQorCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90CitzeW4gbWF0Y2gJaWNvbk51bWJlcgkJIlw8XGRcK1w+IgorCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaAlpY29uRmxvYXQJCSJcPFxkXCtcLlxkKlwoZVstK11cPVxkXCtcKVw9XD4iCisKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2gJaWNvbkZsb2F0CQkiXC5cZFwrXChlWy0rXVw9XGRcK1wpXD1cPiIKKworImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKK3N5biBtYXRjaAlpY29uRmxvYXQJCSJcPFxkXCtlWy0rXVw9XGRcK1w+IgorCisicmFkaXggbnVtYmVyCitzeW4gbWF0Y2gJaWNvblJhZGl4CQkiXDxcZFx7MSwyfVtyUl1bYS16QS1aMC05XVwrXD4iCisKKworIiBzeW4gbWF0Y2ggaWNvbklkZW50aWZpZXIJIlw8W2Etel9dW2EtejAtOV9dKlw+IgorCitzeW4gY2FzZSBtYXRjaAorCisiIENvbW1lbnQKK3N5biBtYXRjaAlpY29uQ29tbWVudAkiIy4qIiBjb250YWlucz1pY29uVG9kbyxpY29uU3BhY2VFcnJvcgorCitzeW4gcmVnaW9uCWljb25QcmVDb25kaXQgc3RhcnQ9Il5ccyokXHMqXChpZlw+XHxpZmRlZlw+XHxpZm5kZWZcPlx8ZWxpZlw+XHxlbHNlXD5cfGVuZGlmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPWljb25Db21tZW50LGljb25TdHJpbmcsaWNvbkNoYXJhY3RlcixpY29uTnVtYmVyLGljb25Db21tZW50RXJyb3IsaWNvblNwYWNlRXJyb3IKKworc3luIHJlZ2lvbglpY29uSW5jbHVkZWQJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKK3N5biBtYXRjaAlpY29uSW5jbHVkZWQJY29udGFpbmVkICI8W14+XSo+Igorc3luIG1hdGNoCWljb25JbmNsdWRlCSJeXHMqJFxzKmluY2x1ZGVcPlxzKlsiPF0iIGNvbnRhaW5zPWljb25JbmNsdWRlZAorInN5biBtYXRjaCBpY29uTGluZVNraXAJIlxcJCIKKworc3luIGNsdXN0ZXIJaWNvblByZVByb2NHcm91cCBjb250YWlucz1pY29uUHJlQ29uZGl0LGljb25JbmNsdWRlZCxpY29uSW5jbHVkZSxpY29uRGVmaW5lLGljb25JblBhcmVuLGljb25Vc2VyTGFiZWwKKworc3luIHJlZ2lvbglpY29uRGVmaW5lCXN0YXJ0PSJeXHMqJFxzKlwoZGVmaW5lXD5cfHVuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPUFMTEJVVCxAaWNvblByZVByb2NHcm91cAorCisid3Q6c3luIHJlZ2lvbglpY29uUHJlUHJvYyAic3RhcnQ9Il5ccyojXHMqXChwcmFnbWFcPlx8bGluZVw+XHx3YXJuaW5nXD5cfHdhcm5cPlx8ZXJyb3JcPlwpIiBza2lwPSJcXCQiICJlbmQ9IiQiIGNvbnRhaW5zPUFMTEJVVCxAaWNvblByZVByb2NHcm91cAorCisiIEhpZ2hsaWdodCBVc2VyIExhYmVscworCisiIHN5biBjbHVzdGVyCWljb25NdWx0aUdyb3VwIGNvbnRhaW5zPWljb25JbmNsdWRlZCxpY29uU3BlY2lhbCxpY29uVG9kbyxpY29uVXNlckNvbnQsaWNvblVzZXJMYWJlbCxpY29uQml0RmllbGQKKworaWYgIWV4aXN0cygiaWNvbl9taW5saW5lcyIpCisgIGxldCBpY29uX21pbmxpbmVzID0gMTUKK2VuZGlmCitleGVjICJzeW4gc3luYyBjY29tbWVudCBpY29uQ29tbWVudCBtaW5saW5lcz0iIC4gaWNvbl9taW5saW5lcworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisKKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaWNvbl9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9pY29uX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorCisgICIgSGlMaW5rIGljb25TcGVjaWFsQ2hhcmFjdGVyCWljb25TcGVjaWFsCisKKyAgSGlMaW5rIGljb25PY3RhbEVycm9yCQlpY29uRXJyb3IKKyAgSGlMaW5rIGljb25QYXJlbkVycm9yCQlpY29uRXJyb3IKKyAgSGlMaW5rIGljb25JblBhcmVuCQlpY29uRXJyb3IKKyAgSGlMaW5rIGljb25Db21tZW50RXJyb3IJaWNvbkVycm9yCisgIEhpTGluayBpY29uU3BhY2VFcnJvcgkJaWNvbkVycm9yCisgIEhpTGluayBpY29uQ29tbWVudEVycm9yCWljb25FcnJvcgorICBIaUxpbmsgaWNvbkluY2x1ZGVkCQlpY29uU3RyaW5nCisgIEhpTGluayBpY29uQ29tbWVudFN0cmluZwlpY29uU3RyaW5nCisgIEhpTGluayBpY29uQ29tbWVudDJTdHJpbmcJaWNvblN0cmluZworICBIaUxpbmsgaWNvbkNvbW1lbnRTa2lwCWljb25Db21tZW50CisKKyAgSGlMaW5rIGljb25Vc2VyTGFiZWwJCUxhYmVsCisgIEhpTGluayBpY29uQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKKyAgSGlMaW5rIGljb25OdW1iZXIJCQlOdW1iZXIKKyAgSGlMaW5rIGljb25SYWRpeAkJCU51bWJlcgorICBIaUxpbmsgaWNvbkZsb2F0CQkJRmxvYXQKKyAgSGlMaW5rIGljb25JbmNsdWRlCQlJbmNsdWRlCisgIEhpTGluayBpY29uUHJlUHJvYwkJUHJlUHJvYworICBIaUxpbmsgaWNvbkRlZmluZQkJCU1hY3JvCisgIEhpTGluayBpY29uRXJyb3IJCQlFcnJvcgorICBIaUxpbmsgaWNvblN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBpY29uUHJlQ29uZGl0CQlQcmVDb25kaXQKKyAgSGlMaW5rIGljb25TdHJpbmcJCQlTdHJpbmcKKyAgSGlMaW5rIGljb25Dc2V0CQkJU3RyaW5nCisgIEhpTGluayBpY29uQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgaWNvblNwZWNpYWwJCVNwZWNpYWxDaGFyCisgIEhpTGluayBpY29uVG9kbwkJCVRvZG8KKyAgSGlMaW5rIGljb25TdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayBpY29uRnVuY3Rpb24JCVN0YXRlbWVudAorICBIaUxpbmsgaWNvblJlc2VydmVkCQlMYWJlbAorICBIaUxpbmsgaWNvbktleXdvcmQJCU9wZXJhdG9yCisKKyAgIkhpTGluayBpY29uSWRlbnRpZmllcglJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImljb24iCisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2lkbC52aW0gYi9ydW50aW1lL3N5bnRheC9pZGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0Y2YwOGIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9pZGwudmltCkBAIC0wLDAgKzEsMjAzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSURMIChJbnRlcmZhY2UgRGVzY3JpcHRpb24gTGFuZ3VhZ2UpCisiIE1haW50YWluZXI6CUpvZHkgR29sZGJlcmcgPGpnb2xkYmVyZ0Bob21lLmNvbT4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDA5CisKKyIgVGhpcyBpcyBhbiBleHBlcmltZW50LiAgSURMJ3Mgc3RydWN0dXJlIGlzIHNpbXBsZSBlbm91Z2ggdG8gcGVybWl0IGEgZnVsbAorIiBncmFtbWFyIGJhc2VkIGFwcHJvYWNoIHRvIHJhdGhlciB0aGFuIHVzaW5nIGEgZmV3IGhldXJpc3RpY3MuICBUaGUgcmVzdWx0CisiIGlzIGxhcmdlIGFuZCBzb21ld2hhdCByZXBldGF0aXZlIGJ1dCBzZWVtcyB0byB3b3JrLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgTWlzYyBiYXNpYworc3luIG1hdGNoCWlkbElkCQljb250YWluZWQgIlthLXpBLVpdW2EtekEtWjAtOV9dKiIKK3N5biBtYXRjaAlpZGxTZW1pQ29sb24JY29udGFpbmVkICI7Igorc3luIG1hdGNoCWlkbENvbW1hQXJnCWNvbnRhaW5lZCAiLCIJCQlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxTaW1wRGVjbAorc3luIHJlZ2lvbglpZGxBcnJheVNpemUxCWNvbnRhaW5lZCBzdGFydD06XFs6IGVuZD06XF06CXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbEFycmF5U2l6ZTEsaWRsU2VtaUNvbG9uLGlkbENvbW1hQXJnIGNvbnRhaW5zPWlkbEFycmF5U2l6ZTEsaWRsTGl0ZXJhbAorc3luIG1hdGNoICAgaWRsU2ltcERlY2wJIGNvbnRhaW5lZCAiW2EtekEtWl1bYS16QS1aMC05X10qIglza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxTZW1pQ29sb24saWRsQ29tbWFBcmcsaWRsQXJyYXlTaXplMQorc3luIHJlZ2lvbiAgaWRsU3RpbmcJIGNvbnRhaW5lZCBzdGFydD0rIisgIHNraXA9K1xcXChcXFxcXCkqIisgIGVuZD0rIisKK3N5biBtYXRjaCAgIGlkbExpdGVyYWwJIGNvbnRhaW5lZCAiWzEtOV1cZCpcKFwuXGQqXClcPSIKK3N5biBtYXRjaCAgIGlkbExpdGVyYWwJIGNvbnRhaW5lZCAiXC5cZFwrIgorc3luIGtleXdvcmQgaWRsTGl0ZXJhbAkgY29udGFpbmVkIFRSVUUgRkFMU0UKKworIiBDb21tZW50cworc3luIGtleXdvcmQgaWRsVG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFgKK3N5biByZWdpb24gaWRsQ29tbWVudAkJc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIiBjb250YWlucz1pZGxUb2RvCitzeW4gbWF0Y2ggIGlkbENvbW1lbnQJCSIvLy4qIiBjb250YWlucz1pZGxUb2RvCitzeW4gbWF0Y2ggIGlkbENvbW1lbnRFcnJvcgkiXCovIgorCisiIEMgc3R5bGUgUHJlcHJvY2Vzc29yCitzeW4gcmVnaW9uIGlkbEluY2x1ZGVkIGNvbnRhaW5lZCBzdGFydD0rIisgIHNraXA9K1xcXChcXFxcXCkqIisgIGVuZD0rIisKK3N5biBtYXRjaCAgaWRsSW5jbHVkZWQgY29udGFpbmVkICI8W14+XSo+Igorc3luIG1hdGNoICBpZGxJbmNsdWRlCQkiXlsgXHRdKiNbIFx0XSppbmNsdWRlXD5bIFx0XSpbIjxdIiBjb250YWlucz1pZGxJbmNsdWRlZCxpZGxTdHJpbmcKK3N5biByZWdpb24gaWRsUHJlQ29uZGl0CXN0YXJ0PSJeWyBcdF0qI1sgXHRdKlwoaWZcPlx8aWZkZWZcPlx8aWZuZGVmXD5cfGVsaWZcPlx8ZWxzZVw+XHxlbmRpZlw+XCkiICBza2lwPSJcXCQiICBlbmQ9IiQiIGNvbnRhaW5zPWlkbENvbW1lbnQsaWRsQ29tbWVudEVycm9yCitzeW4gcmVnaW9uIGlkbERlZmluZQlzdGFydD0iXlsgXHRdKiNbIFx0XSpcKGRlZmluZVw+XHx1bmRlZlw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1pZGxMaXRlcmFsLCBpZGxTdHJpbmcKKworIiBDb25zdGFudHMKK3N5biBrZXl3b3JkIGlkbENvbnN0CWNvbnN0CXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbEJhc2VUeXBlLGlkbEJhc2VUeXBlSW50CisKKyIgQXR0cmlidXRlCitzeW4ga2V5d29yZCBpZGxST0F0dHIJcmVhZG9ubHkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsQXR0cgorc3luIGtleXdvcmQgaWRsQXR0cglhdHRyaWJ1dGUJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsQmFzZVR5cGVJbnQsaWRsQmFzZVR5cGUKKworIiBUeXBlcworc3luIHJlZ2lvbiAgaWRsRDQJY29udGFpbmVkIHN0YXJ0PSI8IiBlbmQ9Ij4iCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFNpbXBEZWNsCWNvbnRhaW5zPWlkbFNlcVR5cGUsaWRsQmFzZVR5cGVJbnQsaWRsQmFzZVR5cGUsaWRsTGl0ZXJhbAorc3luIGtleXdvcmQgaWRsU2VxVHlwZQljb250YWluZWQgc2VxdWVuY2UJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbEQ0CitzeW4ga2V5d29yZCBpZGxCYXNlVHlwZQkJY29udGFpbmVkCWZsb2F0IGRvdWJsZSBjaGFyIGJvb2xlYW4gb2N0ZXQgYW55CXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFNpbXBEZWNsCitzeW4ga2V5d29yZCBpZGxCYXNlVHlwZUludAljb250YWluZWQJc2hvcnQgbG9uZwkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsU2ltcERlY2wKK3N5biBrZXl3b3JkIGlkbEJhc2VUeXBlCQljb250YWluZWQJdW5zaWduZWQJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbEJhc2VUeXBlSW50CitzeW4gcmVnaW9uICBpZGxEMQkJY29udGFpbmVkCXN0YXJ0PSI8IiBlbmQ9Ij4iCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFNpbXBEZWNsCWNvbnRhaW5zPWlkbFN0cmluZyxpZGxMaXRlcmFsCitzeW4ga2V5d29yZCBpZGxCYXNlVHlwZQkJY29udGFpbmVkCXN0cmluZwlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxEMSxpZGxTaW1wRGVjbAorc3luIG1hdGNoICAgaWRsQmFzZVR5cGUJCWNvbnRhaW5lZAkiW2EtekEtWjAtOV9dXCtbIFx0XSpcKDo6WyBcdF0qW2EtekEtWjAtOV9dXCtcKSoiCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFNpbXBEZWNsCisKKyIgTW9kdWxlcworc3luIHJlZ2lvbiAgaWRsTW9kdWxlQ29udGVudCBjb250YWluZWQgc3RhcnQ9InsiIGVuZD0ifSIJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsU2VtaUNvbG9uIGNvbnRhaW5zPWlkbFVuaW9uLGlkbFN0cnVjdCxpZGxFbnVtLGlkbEludGVyZmFjZSxpZGxDb21tZW50LGlkbFR5cGVkZWYsaWRsQ29uc3QsaWRsRXhjZXB0aW9uLGlkbE1vZHVsZQorc3luIG1hdGNoICAgaWRsTW9kdWxlTmFtZSBjb250YWluZWQJIlthLXpBLVowLTlfXVwrIglza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxNb2R1bGVDb250ZW50LGlkbFNlbWlDb2xvbgorc3luIGtleXdvcmQgaWRsTW9kdWxlCQkJbW9kdWxlCQkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsTW9kdWxlTmFtZQorCisiIEludGVyZmFjZXMKK3N5biByZWdpb24gIGlkbEludGVyZmFjZUNvbnRlbnQgY29udGFpbmVkIHN0YXJ0PSJ7IiBlbmQ9In0iCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFNlbWlDb2xvbiBjb250YWlucz1pZGxVbmlvbixpZGxTdHJ1Y3QsaWRsRW51bSxpZGxDb21tZW50LGlkbFJPQXR0cixpZGxBdHRyLGlkbE9wLGlkbE9uZVdheU9wLGlkbEV4Y2VwdGlvbixpZGxDb25zdCxpZGxUeXBlZGVmCitzeW4gbWF0Y2ggICBpZGxJbmhlcml0RnJvbTIgY29udGFpbmVkICIsIiBza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxJbmhlcml0RnJvbQorc3luIG1hdGNoIGlkbEluaGVyaXRGcm9tIGNvbnRhaW5lZCAiW2EtekEtWjAtOV9dXCtbIFx0XSpcKDo6WyBcdF0qW2EtekEtWjAtOV9dXCtcKSoiIHNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbEluaGVyaXRGcm9tMixpZGxJbnRlcmZhY2VDb250ZW50CitzeW4gbWF0Y2ggaWRsSW5oZXJpdCBjb250YWluZWQJIjoiCQlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxJbmhlcml0RnJvbQorc3luIG1hdGNoICAgaWRsSW50ZXJmYWNlTmFtZSBjb250YWluZWQJIlthLXpBLVowLTlfXVwrIglza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxJbnRlcmZhY2VDb250ZW50LGlkbEluaGVyaXQsaWRsU2VtaUNvbG9uCitzeW4ga2V5d29yZCBpZGxJbnRlcmZhY2UJCWludGVyZmFjZQkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsSW50ZXJmYWNlTmFtZQorCisKKyIgUmFpc2VzCitzeW4ga2V5d29yZCBpZGxSYWlzZXMJY29udGFpbmVkIHJhaXNlcwlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxSYWlzZXMsaWRsQ29udGV4dCxpZGxTZW1pQ29sb24KKworIiBDb250ZXh0CitzeW4ga2V5d29yZCBpZGxDb250ZXh0CWNvbnRhaW5lZCBjb250ZXh0CXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFJhaXNlcyxpZGxDb250ZXh0LGlkbFNlbWlDb2xvbgorCisiIE9wZXJhdGlvbgorc3luIG1hdGNoICAgaWRsUGFybUxpc3QJY29udGFpbmVkICIsIiBza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxPcFBhcm1zCitzeW4gcmVnaW9uICBpZGxBcnJheVNpemUgY29udGFpbmVkIHN0YXJ0PSJcWyIgZW5kPSJcXSIJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsQXJyYXlTaXplLGlkbFBhcm1MaXN0IGNvbnRhaW5zPWlkbEFycmF5U2l6ZSxpZGxMaXRlcmFsCitzeW4gbWF0Y2ggICBpZGxQYXJtTmFtZSBjb250YWluZWQgIlthLXpBLVowLTlfXVwrIglza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxQYXJtTGlzdCxpZGxBcnJheVNpemUKK3N5biBrZXl3b3JkIGlkbFBhcm1JbnQJY29udGFpbmVkIHNob3J0IGxvbmcJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFBhcm1OYW1lCitzeW4ga2V5d29yZCBpZGxQYXJtVHlwZQljb250YWluZWQgdW5zaWduZWQJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFBhcm1JbnQKK3N5biByZWdpb24gIGlkbEQzCWNvbnRhaW5lZCBzdGFydD0iPCIgZW5kPSI+Iglza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxQYXJtTmFtZQljb250YWlucz1pZGxTdHJpbmcsaWRsTGl0ZXJhbAorc3luIGtleXdvcmQgaWRsUGFybVR5cGUJY29udGFpbmVkIHN0cmluZwkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsRDMsaWRsUGFybU5hbWUKK3N5biBrZXl3b3JkIGlkbFBhcm1UeXBlCWNvbnRhaW5lZCB2b2lkIGZsb2F0IGRvdWJsZSBjaGFyIGJvb2xlYW4gb2N0ZXQgYW55CSAgc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsUGFybU5hbWUKK3N5biBtYXRjaCAgIGlkbFBhcm1UeXBlCWNvbnRhaW5lZCAiW2EtekEtWjAtOV9dXCtbIFx0XSpcKDo6WyBcdF0qW2EtekEtWjAtOV9dXCtcKSoiIHNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFBhcm1OYW1lCitzeW4ga2V5d29yZCBpZGxPcFBhcm1zCWNvbnRhaW5lZCBpbiBvdXQgaW5vdXQJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFBhcm1UeXBlCisKK3N5biByZWdpb24gaWRsT3BDb250ZW50cyBjb250YWluZWQgc3RhcnQ9IigiIGVuZD0iKSIJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsUmFpc2VzLGlkbENvbnRleHQsaWRsU2VtaUNvbG9uIGNvbnRhaW5zPWlkbE9wUGFybXMKK3N5biBtYXRjaCAgIGlkbE9wTmFtZSAgIGNvbnRhaW5lZCAiW2EtekEtWjAtOV9dXCsiCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbE9wQ29udGVudHMKK3N5biBrZXl3b3JkIGlkbE9wSW50CWNvbnRhaW5lZCBzaG9ydCBsb25nCQlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxPcE5hbWUKK3N5biByZWdpb24gIGlkbEQyCWNvbnRhaW5lZCBzdGFydD0iPCIgZW5kPSI+Iglza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxPcE5hbWUJY29udGFpbnM9aWRsU3RyaW5nLGlkbExpdGVyYWwKK3N5biBrZXl3b3JkIGlkbE9wCWNvbnRhaW5lZCB1bnNpZ25lZAkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsT3BJbnQKK3N5biBrZXl3b3JkIGlkbE9wCWNvbnRhaW5lZCBzdHJpbmcJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbEQyLGlkbE9wTmFtZQorc3luIGtleXdvcmQgaWRsT3AJY29udGFpbmVkIHZvaWQgZmxvYXQgZG91YmxlIGNoYXIgYm9vbGVhbiBvY3RldCBhbnkJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbE9wTmFtZQorc3luIG1hdGNoICAgaWRsT3AJY29udGFpbmVkICJbYS16QS1aMC05X11cK1sgXHRdKlwoOjpbIFx0XSpbYS16QS1aMC05X11cK1wpKiIJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsT3BOYW1lCitzeW4ga2V5d29yZCBpZGxPcAljb250YWluZWQgdm9pZAkJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbE9wTmFtZQorc3luIGtleXdvcmQgaWRsT25lV2F5T3AJY29udGFpbmVkIG9uZXdheQkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRPcAorCisiIEVudW0KK3N5biByZWdpb24gIGlkbEVudW1Db250ZW50cyBjb250YWluZWQgc3RhcnQ9InsiIGVuZD0ifSIJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFNlbWlDb2xvbiwgaWRsU2ltcERlY2wgY29udGFpbnM9aWRsSWQsaWRsQ29tbWVudAorc3luIG1hdGNoICAgaWRsRW51bU5hbWUgY29udGFpbmVkCSJbYS16QS1aMC05X11cKyIJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsRW51bUNvbnRlbnRzCitzeW4ga2V5d29yZCBpZGxFbnVtCQkJZW51bQkJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbEVudW1OYW1lCisKKyIgVHlwZWRlZgorc3luIGtleXdvcmQgaWRsVHlwZWRlZgkJCXR5cGVkZWYJCQlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxCYXNlVHlwZSwgaWRsQmFzZVR5cGVJbnQsIGlkbFNlcVR5cGUKKworIiBTdHJ1Y3QKK3N5biByZWdpb24gIGlkbFN0cnVjdENvbnRlbnQgY29udGFpbmVkIHN0YXJ0PSJ7IiBlbmQ9In0iIHNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFNlbWlDb2xvbiwgaWRsU2ltcERlY2wJY29udGFpbnM9aWRsQmFzZVR5cGUsIGlkbEJhc2VUeXBlSW50LCBpZGxTZXFUeXBlLGlkbENvbW1lbnQsIGlkbEVudW0sIGlkbFVuaW9uCitzeW4gbWF0Y2ggICBpZGxTdHJ1Y3ROYW1lIGNvbnRhaW5lZAkiW2EtekEtWjAtOV9dXCsiIHNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFN0cnVjdENvbnRlbnQKK3N5biBrZXl3b3JkIGlkbFN0cnVjdAkJCXN0cnVjdAkJIHNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFN0cnVjdE5hbWUKKworIiBFeGNlcHRpb24KK3N5biBrZXl3b3JkIGlkbEV4Y2VwdGlvbiBleGNlcHRpb24gc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsU3RydWN0TmFtZQorCisiIFVuaW9uCitzeW4gbWF0Y2ggICBpZGxDb2xvbiBjb250YWluZWQgIjoiCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbENhc2UsaWRsU2VxVHlwZSxpZGxCYXNlVHlwZSxpZGxCYXNlVHlwZUludAorc3luIHJlZ2lvbiAgaWRsQ2FzZUxhYmVsIGNvbnRhaW5lZCBzdGFydD0iIiBza2lwPSI6OiIgZW5kPSI6Im1lPWUtMQlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxDb2xvbiBjb250YWlucz1pZGxMaXRlcmFsLGlkbFN0cmluZworc3luIGtleXdvcmQgaWRsQ2FzZQkJY29udGFpbmVkIGNhc2UJCQkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsQ2FzZUxhYmVsCitzeW4ga2V5d29yZCBpZGxDYXNlCQljb250YWluZWQgZGVmYXVsdAkJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbENvbG9uCitzeW4gcmVnaW9uICBpZGxVbmlvbkNvbnRlbnQJY29udGFpbmVkIHN0YXJ0PSJ7IiBlbmQ9In0iCQlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxTZW1pQ29sb24saWRsU2ltcERlY2wJY29udGFpbnM9aWRsQ2FzZQorc3luIHJlZ2lvbiAgaWRsU3dpdGNoVHlwZQljb250YWluZWQgc3RhcnQ9IigiIGVuZD0iKSIJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFVuaW9uQ29udGVudAorc3luIGtleXdvcmQgaWRsVW5pb25Td2l0Y2gJY29udGFpbmVkIHN3aXRjaAkJCXNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPWlkbFN3aXRjaFR5cGUKK3N5biBtYXRjaCAgIGlkbFVuaW9uTmFtZQljb250YWluZWQgIlthLXpBLVowLTlfXVwrIgkJc2tpcGVtcHR5IHNraXB3aGl0ZSBuZXh0Z3JvdXA9aWRsVW5pb25Td2l0Y2gKK3N5biBrZXl3b3JkIGlkbFVuaW9uCQl1bmlvbgkJCQlza2lwZW1wdHkgc2tpcHdoaXRlIG5leHRncm91cD1pZGxVbmlvbk5hbWUKKworc3luIHN5bmMgbGluZXM9MjAwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2lkbF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9pZGxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgaWRsSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgaWRsUHJlUHJvYwkJUHJlUHJvYworICBIaUxpbmsgaWRsUHJlQ29uZGl0CQlQcmVDb25kaXQKKyAgSGlMaW5rIGlkbERlZmluZQkJTWFjcm8KKyAgSGlMaW5rIGlkbEluY2x1ZGVkCQlTdHJpbmcKKyAgSGlMaW5rIGlkbFN0cmluZwkJU3RyaW5nCisgIEhpTGluayBpZGxDb21tZW50CQlDb21tZW50CisgIEhpTGluayBpZGxUb2RvCQlUb2RvCisgIEhpTGluayBpZGxMaXRlcmFsCQlOdW1iZXIKKworICBIaUxpbmsgaWRsTW9kdWxlCQlLZXl3b3JkCisgIEhpTGluayBpZGxJbnRlcmZhY2UJCUtleXdvcmQKKyAgSGlMaW5rIGlkbEVudW0JCUtleXdvcmQKKyAgSGlMaW5rIGlkbFN0cnVjdAkJS2V5d29yZAorICBIaUxpbmsgaWRsVW5pb24JCUtleXdvcmQKKyAgSGlMaW5rIGlkbFR5cGVkZWYJCUtleXdvcmQKKyAgSGlMaW5rIGlkbEV4Y2VwdGlvbgkJS2V5d29yZAorCisgIEhpTGluayBpZGxNb2R1bGVOYW1lCQlUeXBlZGVmCisgIEhpTGluayBpZGxJbnRlcmZhY2VOYW1lCVR5cGVkZWYKKyAgSGlMaW5rIGlkbEVudW1OYW1lCQlUeXBlZGVmCisgIEhpTGluayBpZGxTdHJ1Y3ROYW1lCQlUeXBlZGVmCisgIEhpTGluayBpZGxVbmlvbk5hbWUJCVR5cGVkZWYKKworICBIaUxpbmsgaWRsQmFzZVR5cGVJbnQJCWlkbFR5cGUKKyAgSGlMaW5rIGlkbEJhc2VUeXBlCQlpZGxUeXBlCisgIEhpTGluayBpZGxTZXFUeXBlCQlpZGxUeXBlCisgIEhpTGluayBpZGxEMQkJCVBhcmVuCisgIEhpTGluayBpZGxEMgkJCVBhcmVuCisgIEhpTGluayBpZGxEMwkJCVBhcmVuCisgIEhpTGluayBpZGxENAkJCVBhcmVuCisgICJIaUxpbmsgaWRsQXJyYXlTaXplCQlQYXJlbgorICAiSGlMaW5rIGlkbEFycmF5U2l6ZTEJCVBhcmVuCisgIEhpTGluayBpZGxNb2R1bGVDb250ZW50CVBhcmVuCisgIEhpTGluayBpZGxVbmlvbkNvbnRlbnQJUGFyZW4KKyAgSGlMaW5rIGlkbFN0cnVjdENvbnRlbnQJUGFyZW4KKyAgSGlMaW5rIGlkbEVudW1Db250ZW50cwlQYXJlbgorICBIaUxpbmsgaWRsSW50ZXJmYWNlQ29udGVudAlQYXJlbgorCisgIEhpTGluayBpZGxTaW1wRGVjbAkJSWRlbnRpZmllcgorICBIaUxpbmsgaWRsUk9BdHRyCQlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIGlkbEF0dHIJCUtleXdvcmQKKyAgSGlMaW5rIGlkbENvbnN0CQlTdG9yYWdlQ2xhc3MKKworICBIaUxpbmsgaWRsT25lV2F5T3AJCVN0b3JhZ2VDbGFzcworICBIaUxpbmsgaWRsT3AJCQlpZGxUeXBlCisgIEhpTGluayBpZGxQYXJtVHlwZQkJaWRsVHlwZQorICBIaUxpbmsgaWRsT3BOYW1lCQlGdW5jdGlvbgorICBIaUxpbmsgaWRsT3BQYXJtcwkJU3RvcmFnZUNsYXNzCisgIEhpTGluayBpZGxQYXJtTmFtZQkJSWRlbnRpZmllcgorICBIaUxpbmsgaWRsSW5oZXJpdEZyb20JCUlkZW50aWZpZXIKKworICBIaUxpbmsgaWRsSWQJCQlDb25zdGFudAorICAiSGlMaW5rIGlkbENhc2UJCUtleXdvcmQKKyAgSGlMaW5rIGlkbENhc2VMYWJlbAkJQ29uc3RhbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaWRsIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaWRsYW5nLnZpbSBiL3J1bnRpbWUvc3ludGF4L2lkbGFuZy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ1NjdlNQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2lkbGFuZy52aW0KQEAgLTAsMCArMSwyNTMgQEAKKyIgSW50ZXJhY3RpdmUgRGF0YSBMYW5ndWFnZSBzeW50YXggZmlsZSAoSURMLCB0b28gIFs6LSldCisiIE1haW50YWluZXI6IEFsZWtzYW5kYXIgSmVsZW5hayA8YWplbGVuYWsgQVQgeWFob28uY29tPgorIiBMYXN0IGNoYW5nZTogMjAwMyBBcHIgMjUKKyIgQ3JlYXRlZCBieTogSGVybWFubiBSb2NoaG9seiA8SGVybWFubi5Sb2NoaG9seiBBVCBnbXguZGU+CisKKyIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5bnRheCBjYXNlIGlnbm9yZQorCitzeW4gbWF0Y2ggaWRsYW5nU3RhdGVtZW50ICJeXHMqcHJvXHMiCitzeW4gbWF0Y2ggaWRsYW5nU3RhdGVtZW50ICJeXHMqZnVuY3Rpb25ccyIKK3N5biBrZXl3b3JkIGlkbGFuZ1N0YXRlbWVudCByZXR1cm4gY29udGludWUgbW9kIGRvIGJyZWFrCitzeW4ga2V5d29yZCBpZGxhbmdTdGF0ZW1lbnQgY29tcGlsZV9vcHQgZm9yd2FyZF9mdW5jdGlvbiBnb3RvCitzeW4ga2V5d29yZCBpZGxhbmdTdGF0ZW1lbnQgYmVnaW4gY29tbW9uIGVuZCBvZgorc3luIGtleXdvcmQgaWRsYW5nU3RhdGVtZW50IGluaGVyaXRzIG9uX2lvZXJyb3IgYmVnaW4KKworc3luIGtleXdvcmQgaWRsYW5nQ29uZGl0aW9uYWwgaWYgZWxzZSB0aGVuIGZvciB3aGlsZSBjYXNlIHN3aXRjaAorc3luIGtleXdvcmQgaWRsYW5nQ29uZGl0aW9uYWwgZW5kY2FzZSBlbmRlbHNlIGVuZGZvciBlbmRzd2l0Y2gKK3N5biBrZXl3b3JkIGlkbGFuZ0NvbmRpdGlvbmFsIGVuZGlmIGVuZHJlcCBlbmR3aGlsZSByZXBlYXQgdW50aWwKKworc3luIG1hdGNoIGlkbGFuZ09wZXJhdG9yICJcIGFuZFwgIgorc3luIG1hdGNoIGlkbGFuZ09wZXJhdG9yICJcIGVxXCAiCitzeW4gbWF0Y2ggaWRsYW5nT3BlcmF0b3IgIlwgZ2VcICIKK3N5biBtYXRjaCBpZGxhbmdPcGVyYXRvciAiXCBndFwgIgorc3luIG1hdGNoIGlkbGFuZ09wZXJhdG9yICJcIGxlXCAiCitzeW4gbWF0Y2ggaWRsYW5nT3BlcmF0b3IgIlwgbHRcICIKK3N5biBtYXRjaCBpZGxhbmdPcGVyYXRvciAiXCBuZVwgIgorc3luIG1hdGNoIGlkbGFuZ09wZXJhdG9yIC9cKFwgXHwoXClub3RcIC9ocz1lLTMKK3N5biBtYXRjaCBpZGxhbmdPcGVyYXRvciAiXCBvclwgIgorc3luIG1hdGNoIGlkbGFuZ09wZXJhdG9yICJcIHhvclwgIgorCitzeW4ga2V5d29yZCBpZGxhbmdTdG9wIHN0b3AgcGF1c2UKKworc3luIG1hdGNoIGlkbGFuZ1N0cnVjdmFyICJcaFx3KlwoXC5caFx3KlwpXCsiCitzeW4gbWF0Y2ggaWRsYW5nU3RydWN2YXIgIlspLFxdXVwoXC5caFx3KlwpXCsiaHM9cysxCisKK3N5biBtYXRjaCBpZGxhbmdTeXN0ZW0gIlwhXGFcdypcKFwuXHcqXClcPSIKKworc3luIG1hdGNoIGlkbGFuZ0tleXdvcmQgIlwoWygsXVxzKlwoXCRcX3MqXClcPVwpXEA8PS9caFx3KiIKK3N5biBtYXRjaCBpZGxhbmdLZXl3b3JkICJcKFsoLF1ccypcKFwkXF9zKlwpXD1cKVxAPD1caFx3KlxzKj0iCisKK3N5biBrZXl3b3JkIGlkbGFuZ1RvZG8gY29udGFpbmVkIFRPRE8KKworc3luIHJlZ2lvbiBpZGxhbmdTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisKK3N5biByZWdpb24gaWRsYW5nU3RyaW5nIHN0YXJ0PSsnKyBlbmQ9KycrCisKK3N5biBtYXRjaCBpZGxhbmdQcmVDb25kaXQgIl5ccypAXHcqXChcLlxhXHszfVwpXD0iCisKK3N5biBtYXRjaCBpZGxhbmdSZWFsTnVtYmVyICJcPFxkXCtcKFwuXD1cZCplWystXVw9XGRcK1x8XC5cZCpkXHxcLlxkKlx8ZFwpIgorc3luIG1hdGNoIGlkbGFuZ1JlYWxOdW1iZXIgIlwuXGRcK1woZFx8ZVsrLV1cPVxkXCtcKVw9IgorCitzeW4gbWF0Y2ggaWRsYW5nTnVtYmVyICJcPFwuXEAhXGRcK1wuXEAhXChiXHx1XHx1c1x8c1x8bFx8dWxcfGxsXHx1bGxcKVw9XD4iCisKK3N5biBtYXRjaCAgaWRsYW5nQ29tbWVudCAiW1w7XS4qJCIgY29udGFpbnM9aWRsYW5nVG9kbworCitzeW4gbWF0Y2ggaWRsYW5nQ29udGludWVMaW5lICJcJFxzKlwoJFx8O1wpImhlPXMrMSBjb250YWlucz1pZGxhbmdDb21tZW50CitzeW4gbWF0Y2ggaWRsYW5nQ29udGludWVMaW5lICImXHMqXChcaFx8O1wpImhlPXMrMSBjb250YWlucz1BTEwKKworc3luIG1hdGNoICBpZGxhbmdEYmxDb21tYUVycm9yICJcLFxzKlwsIgorCisiIExpc3Qgb2Ygc3RhbmRhcmQgcm91dGluZXMgYXMgb2YgSURMIHZlcnNpb24gNS40Lgorc3luIG1hdGNoIGlkbGFuZ1JvdXRpbmUgIkVPU19cYSoiCitzeW4gbWF0Y2ggaWRsYW5nUm91dGluZSAiSERGX1xhKiIKK3N5biBtYXRjaCBpZGxhbmdSb3V0aW5lICJDREZfXGEqIgorc3luIG1hdGNoIGlkbGFuZ1JvdXRpbmUgIk5DREZfXGEqIgorc3luIG1hdGNoIGlkbGFuZ1JvdXRpbmUgIlFVRVJZX1xhKiIKK3N5biBtYXRjaCBpZGxhbmdSb3V0aW5lICJcPE1BWFxzKigiaGU9ZS0xCitzeW4gbWF0Y2ggaWRsYW5nUm91dGluZSAiXDxNSU5ccyooImhlPWUtMQorCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEFfQ09SUkVMQVRFIEFCUyBBQ09TIEFEQVBUX0hJU1RfRVFVQUwgQUxPRyBBTE9HMTAKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgQU1PRUJBIEFOTk9UQVRFIEFSR19QUkVTRU5UIEFSUkFZX0VRVUFMIEFSUk9XCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEFTQ0lJX1RFTVBMQVRFIEFTSU4gQVNTT0MgQVRBTiBBWElTIEJBUl9QTE9UCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEJFU0VMSSBCRVNFTEogQkVTRUxLIEJFU0VMWSBCRVRBIEJJTElORUFSIEJJTl9EQVRFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEJJTkFSWV9URU1QTEFURSBCSU5ER0VOIEJJTk9NSUFMIEJMQVNfQVhQWSBCTEtfQ09OCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEJPWF9DVVJTT1IgQlJFQUsgQlJFQUtQT0lOVCBCUk9ZREVOIEJZVEFSUiBCWVRFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEJZVEVPUkRFUiBCWVRTQ0wgQ19DT1JSRUxBVEUgQ0FMREFUIENBTEVOREFSCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIENBTExfRVhURVJOQUwgQ0FMTF9GVU5DVElPTiBDQUxMX01FVEhPRAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBDQUxMX1BST0NFRFVSRSBDQVRDSCBDRCBDRUlMIENIRUJZU0hFViBDSEVDS19NQVRICitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIENISVNRUl9DVkYgQ0hJU1FSX1BERiBDSE9MREMgQ0hPTFNPTCBDSU5ER0VOCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIENJUl8zUE5UIENMT1NFIENMVVNUX1dUUyBDTFVTVEVSIENPTE9SX0NPTlZFUlQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgQ09MT1JfUVVBTiBDT0xPUk1BUF9BUFBMSUNBQkxFIENPTUZJVCBDT01NT04KK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgQ09NUExFWCBDT01QTEVYQVJSIENPTVBMRVhST1VORAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBDT01QVVRFX01FU0hfTk9STUFMUyBDT05EIENPTkdSSUQgQ09OSgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBDT05TVFJBSU5FRF9NSU4gQ09OVE9VUiBDT05WRVJUX0NPT1JEIENPTlZPTAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBDT09SRDJUTzMgQ09SUkVMQVRFIENPUyBDT1NIIENSQU1FUiBDUkVBVEVfU1RSVUNUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIENSRUFURV9WSUVXIENST1NTUCBDUlZMRU5HVEggQ1RfTFVNSU5BTkNFIENUSV9URVNUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIENVUlNPUiBDVVJWRUZJVCBDVl9DT09SRCBDVlRUT0JNIENXX0FOSU1BVEUKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgQ1dfQU5JTUFURV9HRVRQIENXX0FOSU1BVEVfTE9BRCBDV19BTklNQVRFX1JVTgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBDV19BUkNCQUxMIENXX0JHUk9VUCBDV19DTFJfSU5ERVggQ1dfQ09MT1JTRUwKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgQ1dfREVGUk9JIENXX0ZJRUxEIENXX0ZJTEVTRUwgQ1dfRk9STSBDV19GU0xJREVSCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIENXX0xJR0hUX0VESVRPUiBDV19MSUdIVF9FRElUT1JfR0VUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIENXX0xJR0hUX0VESVRPUl9TRVQgQ1dfT1JJRU5UIENXX1BBTEVUVEVfRURJVE9SCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIENXX1BBTEVUVEVfRURJVE9SX0dFVCBDV19QQUxFVFRFX0VESVRPUl9TRVQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgQ1dfUERNRU5VIENXX1JHQlNMSURFUiBDV19UTVBMIENXX1pPT00gREJMQVJSCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIERDSU5ER0VOIERDT01QTEVYIERDT01QTEVYQVJSIERFRklORV9LRVkgREVGUk9JCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIERFRlNZU1YgREVMRVRFX1NZTUJPTCBERUxMT0cgREVMVkFSIERFUklWIERFUklWU0lHCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIERFVEVSTSBERVZJQ0UgREZQTUlOIERJQUxPR19NRVNTQUdFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIERJQUxPR19QSUNLRklMRSBESUFMT0dfUFJJTlRFUlNFVFVQCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIERJQUxPR19QUklOVEpPQiBESUFMT0dfUkVBRF9JTUFHRQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBESUFMT0dfV1JJVEVfSU1BR0UgRElHSVRBTF9GSUxURVIgRElMQVRFIERJTkRHRU4KK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgRElTU09MVkUgRElTVCBETE1fTE9BRCBETE1fUkVHSVNURVIKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgRE9fQVBQTEVfU0NSSVBUIERPQ19MSUJSQVJZIERPVUJMRSBEUkFXX1JPSSBFRk9OVAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBFSUdFTlFMIEVJR0VOVkVDIEVMTUhFUyBFTVBUWSBFTkFCTEVfU1lTUlROIEVPRgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBFUkFTRSBFUk9ERSBFUlJPUkYgRVJSUExPVCBFWEVDVVRFIEVYSVQgRVhQIEVYUEFORAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBFWFBBTkRfUEFUSCBFWFBJTlQgRVhUUkFDIEVYVFJBQ1RfU0xJQ0UgRl9DVkYKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgRl9QREYgRkFDVE9SSUFMIEZGVCBGSUxFX0NITU9EIEZJTEVfREVMRVRFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEZJTEVfRVhQQU5EX1BBVEggRklMRV9NS0RJUiBGSUxFX1RFU1QgRklMRV9XSElDSAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBGSUxFUEFUSCBGSU5ERklMRSBGSU5ER0VOIEZJTklURSBGSVggRkxJQ0sgRkxPQVQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgRkxPT1IgRkxPVzMgRkxUQVJSIEZMVVNIIEZPUiBGT1JNQVRfQVhJU19WQUxVRVMKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgRk9SV0FSRF9GVU5DVElPTiBGUkVFX0xVTiBGU1RBVCBGVUxTVFIgRlVOQ1QKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgRlZfVEVTVCBGWF9ST09UIEZaX1JPT1RTIEdBTU1BIEdBTU1BX0NUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEdBVVNTX0NWRiBHQVVTU19QREYgR0FVU1MyREZJVCBHQVVTU0ZJVCBHQVVTU0lOVAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBHRVRfRFJJVkVfTElTVCBHRVRfS0JSRCBHRVRfTFVOIEdFVF9TQ1JFRU5fU0laRQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBHRVRfU1lNQk9MIEdFVEVOViBHT1RPIEdSSURfVFBTIEdSSUQzIEdTX0lURVIKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgSF9FUV9DVCBIX0VRX0lOVCBIQU5OSU5HIEhFQVBfR0MgSEVMUCBISUxCRVJUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIEhJU1RfMkQgSElTVF9FUVVBTCBISVNUT0dSQU0gSExTIEhPVUdIIEhRUiBIU1YKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgSUJFVEEgSURFTlRJVFkgSURMX0NvbnRhaW5lciBJRExhblJPSQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBJRExhblJPSUdyb3VwIElETGZmRElDT00gSURMZmZEWEYgSURMZmZMYW5ndWFnZUNhdAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBJRExmZlNoYXBlIElETGdyQXhpcyBJRExnckJ1ZmZlciBJRExnckNsaXBib2FyZAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBJRExnckNvbG9yYmFyIElETGdyQ29udG91ciBJRExnckZvbnQgSURMZ3JJbWFnZQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBJRExnckxlZ2VuZCBJRExnckxpZ2h0IElETGdyTW9kZWwgSURMZ3JNUEVHCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIElETGdyUGFsZXR0ZSBJRExnclBhdHRlcm4gSURMZ3JQbG90IElETGdyUG9seWdvbgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBJRExnclBvbHlsaW5lIElETGdyUHJpbnRlciBJRExnclJPSSBJRExnclJPSUdyb3VwCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIElETGdyU2NlbmUgSURMZ3JTdXJmYWNlIElETGdyU3ltYm9sCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIElETGdyVGVzc2VsbGF0b3IgSURMZ3JUZXh0IElETGdyVmlldworc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBJRExnclZpZXdncm91cCBJRExnclZvbHVtZSBJRExnclZSTUwgSURMZ3JXaW5kb3cKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgSUdBTU1BIElNQUdFX0NPTlQgSU1BR0VfU1RBVElTVElDUyBJTUFHSU5BUlkKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgSU5ER0VOIElOVF8yRCBJTlRfM0QgSU5UX1RBQlVMQVRFRCBJTlRBUlIgSU5URVJQT0wKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgSU5URVJQT0xBVEUgSU5WRVJUIElPQ1RMIElTSEZUIElTT0NPTlRPVVIKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgSVNPU1VSRkFDRSBKT1VSTkFMIEpVTERBWSBLRVlXT1JEX1NFVCBLUklHMkQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgS1VSVE9TSVMgS1dfVEVTVCBMNjRJTkRHRU4gTEFCRUxfREFURSBMQUJFTF9SRUdJT04KK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgTEFERklUIExBR1VFUlJFIExFRUZJTFQgTEVHRU5EUkUgTElOQkNHIExJTkRHRU4KK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgTElORklUIExJTktJTUFHRSBMSVZFX0NPTlRPVVIgTElWRV9DT05UUk9MCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIExJVkVfREVTVFJPWSBMSVZFX0VYUE9SVCBMSVZFX0lNQUdFIExJVkVfSU5GTworc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBMSVZFX0xJTkUgTElWRV9MT0FEIExJVkVfT1BMT1QgTElWRV9QTE9UCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIExJVkVfUFJJTlQgTElWRV9SRUNUIExJVkVfU1RZTEUgTElWRV9TVVJGQUNFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIExJVkVfVEVYVCBMSkxDVCBMTF9BUkNfRElTVEFOQ0UgTE1GSVQgTE1HUiBMTkdBTU1BCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIExOUF9URVNUIExPQURDVCBMT0NBTEVfR0VUIExPTjY0QVJSIExPTkFSUiBMT05HCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIExPTkc2NCBMU09ERSBMVV9DT01QTEVYIExVREMgTFVNUFJPVkUgTFVTT0wKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgTV9DT1JSRUxBVEUgTUFDSEFSIE1BS0VfQVJSQVkgTUFLRV9ETEwgTUFQXzJQT0lOVFMKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgTUFQX0NPTlRJTkVOVFMgTUFQX0dSSUQgTUFQX0lNQUdFIE1BUF9QQVRDSAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBNQVBfUFJPSl9JTkZPIE1BUF9TRVQgTUFUUklYX01VTFRJUExZIE1EX1RFU1QgTUVBTgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBNRUFOQUJTREVWIE1FRElBTiBNRU1PUlkgTUVTSF9DTElQIE1FU0hfREVDSU1BVEUKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgTUVTSF9JU1NPTElEIE1FU0hfTUVSR0UgTUVTSF9OVU1UUklBTkdMRVMgTUVTSF9PQkoKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgTUVTSF9TTU9PVEggTUVTSF9TVVJGQUNFQVJFQSBNRVNIX1ZBTElEQVRFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIE1FU0hfVk9MVU1FIE1FU1NBR0UgTUlOX0NVUlZFX1NVUkYgTUtfSFRNTF9IRUxQCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIE1PRElGWUNUIE1PTUVOVCBNT1JQSF9DTE9TRSBNT1JQSF9ESVNUQU5DRQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBNT1JQSF9HUkFESUVOVCBNT1JQSF9ISVRPUk1JU1MgTU9SUEhfT1BFTgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBNT1JQSF9USElOIE1PUlBIX1RPUEhBVCBNUEVHX0NMT1NFIE1QRUdfT1BFTgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBNUEVHX1BVVCBNUEVHX1NBVkUgTVNHX0NBVF9DTE9TRSBNU0dfQ0FUX0NPTVBJTEUKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgTVNHX0NBVF9PUEVOIE1VTFRJIE5fRUxFTUVOVFMgTl9QQVJBTVMgTl9UQUdTCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIE5FV1RPTiBOT1JNIE9CSl9DTEFTUyBPQkpfREVTVFJPWSBPQkpfSVNBIE9CSl9ORVcKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgT0JKX1ZBTElEIE9CSkFSUiBPTl9FUlJPUiBPTl9JT0VSUk9SIE9OTElORV9IRUxQCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIE9QRU4gT1BFTlIgT1BFTlcgT1BMT1QgT1BMT1RFUlIgUF9DT1JSRUxBVEUKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgUEFSVElDTEVfVFJBQ0UgUENPTVAgUExPVCBQTE9UXzNEQk9YIFBMT1RfRklFTEQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgUExPVEVSUiBQTE9UUyBQTlRfTElORSBQT0lOVF9MVU4gUE9MQVJfQ09OVE9VUgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBQT0xBUl9TVVJGQUNFIFBPTFkgUE9MWV8yRCBQT0xZX0FSRUEgUE9MWV9GSVQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgUE9MWUZJTEwgUE9MWUZJTExWIFBPTFlTSEFERSBQT0xZV0FSUCBQT1BEIFBPV0VMTAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBQUklNRVMgUFJJTlQgUFJJTlRGIFBSSU5URCBQUk9GSUxFIFBST0ZJTEVSCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFBST0ZJTEVTIFBST0pFQ1RfVk9MIFBTX1NIT1dfRk9OVFMgUFNBRk0gUFNFVURPCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFBUUl9GUkVFIFBUUl9ORVcgUFRSX1ZBTElEIFBUUkFSUiBQVVNIRCBRUk9NQgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBRUk9NTyBRU0lNUCBSX0NPUlJFTEFURSBSX1RFU1QgUkFET04gUkFORE9NTgorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBSQU5ET01VIFJBTktTIFJEUElYIFJFQUQgUkVBREYgUkVBRF9BU0NJSQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBSRUFEX0JJTkFSWSBSRUFEX0JNUCBSRUFEX0RJQ09NIFJFQURfSU1BR0UKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgUkVBRF9JTlRFUkZJTEUgUkVBRF9KUEVHIFJFQURfUElDVCBSRUFEX1BORworc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBSRUFEX1BQTSBSRUFEX1NQUiBSRUFEX1NSRiBSRUFEX1NZTEsgUkVBRF9USUZGCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFJFQURfV0FWIFJFQURfV0FWRSBSRUFEX1gxMV9CSVRNQVAgUkVBRF9YV0QgUkVBRFMKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgUkVBRFUgUkVCSU4gUkVDQUxMX0NPTU1BTkRTIFJFQ09OMyBSRURVQ0VfQ09MT1JTCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFJFRk9STSBSRUdSRVNTIFJFUExJQ0FURSBSRVBMSUNBVEVfSU5QTEFDRQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBSRVNPTFZFX0FMTCBSRVNPTFZFX1JPVVRJTkUgUkVTVE9SRSBSRVRBTEwgUkVUVVJOCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFJFVkVSU0UgUkVXSU5EIFJLNCBST0JFUlRTIFJPVCBST1RBVEUgUk9VTkQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgUk9VVElORV9JTkZPIFJTX1RFU1QgU19URVNUIFNBVkUgU0FWR09MIFNDQUxFMworc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBTQ0FMRTNEIFNFQVJDSDJEIFNFQVJDSDNEIFNFVF9QTE9UIFNFVF9TSEFESU5HCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFNFVF9TWU1CT0wgU0VURU5WIFNFVExPRyBTRVRVUF9LRVlTIFNGSVQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgU0hBREVfU1VSRiBTSEFERV9TVVJGX0lSUiBTSEFERV9WT0xVTUUgU0hJRlQgU0hPVzMKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgU0hPV0ZPTlQgU0lOIFNJTkRHRU4gU0lOSCBTSVpFIFNLRVdORVNTIFNLSVBGCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFNMSUNFUjMgU0xJREVfSU1BR0UgU01PT1RIIFNPQkVMIFNPQ0tFVCBTT1JUIFNQQVdOCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFNQSF80UE5UIFNQSF9TQ0FUIFNQSEVSX0hBUk0gU1BMX0lOSVQgU1BMX0lOVEVSUAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBTUExJTkUgU1BMSU5FX1AgU1BSU0FCIFNQUlNBWCBTUFJTSU4gU1BSU1RQIFNRUlQKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgU1RBTkRBUkRJWkUgU1REREVWIFNUT1AgU1RSQVJSIFNUUkNNUCBTVFJDT01QUkVTUworc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBTVFJFQU1MSU5FIFNUUkVHRVggU1RSRVRDSCBTVFJJTkcgU1RSSk9JTiBTVFJMRU4KK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgU1RSTE9XQ0FTRSBTVFJNQVRDSCBTVFJNRVNTQUdFIFNUUk1JRCBTVFJQT1MKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgU1RSUFVUIFNUUlNQTElUIFNUUlRSSU0gU1RSVUNUX0FTU0lHTiBTVFJVQ1RfSElERQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBTVFJVUENBU0UgU1VSRkFDRSBTVVJGUiBTVkRDIFNWREZJVCBTVlNPTAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBTV0FQX0VORElBTiBTV0lUQ0ggU1lTVElNRSBUX0NWRiBUX1BERiBUM0QKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgVEFHX05BTUVTIFRBTiBUQU5IIFRBUFJEIFRBUFdSVCBURUtfQ09MT1IKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgVEVNUE9SQVJZIFRFVFJBX0NMSVAgVEVUUkFfU1VSRkFDRSBURVRSQV9WT0xVTUUKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgVEhJTiBUSFJFRUQgVElNRV9URVNUMiBUSU1FR0VOIFRNX1RFU1QgVE9UQUwgVFJBQ0UKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgVFJBTlNQT1NFIFRSSV9TVVJGIFRSSUFOR1VMQVRFIFRSSUdSSUQgVFJJUUwKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgVFJJUkVEIFRSSVNPTCBUUk5MT0cgVFNfQ09FRiBUU19ESUZGIFRTX0ZDQVNUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFRTX1NNT09USCBUViBUVkNSUyBUVkxDVCBUVlJEIFRWU0NMIFVJTkRHRU4gVUlOVAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBVSU5UQVJSIFVMNjRJTkRHRU4gVUxJTkRHRU4gVUxPTjY0QVJSIFVMT05BUlIKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgVUxPTkcgVUxPTkc2NCBVTklRIFVTRVJTWU0gVkFMVUVfTE9DQVRFIFZBUklBTkNFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFZBWF9GTE9BVCBWRUNUT1JfRklFTEQgVkVMIFZFTE9WRUNUIFZFUlRfVDNEIFZPSUdUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFZPUk9OT0kgVk9YRUxfUFJPSiBXQUlUIFdBUlBfVFJJIFdBVEVSU0hFRCBXREVMRVRFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFdFT0YgV0ZfRFJBVyBXSEVSRSBXSURHRVRfQkFTRSBXSURHRVRfQlVUVE9OCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFdJREdFVF9DT05UUk9MIFdJREdFVF9EUkFXIFdJREdFVF9EUk9QTElTVAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBXSURHRVRfRVZFTlQgV0lER0VUX0lORk8gV0lER0VUX0xBQkVMIFdJREdFVF9MSVNUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFdJREdFVF9TTElERVIgV0lER0VUX1RBQkxFIFdJREdFVF9URVhUIFdJTkRPVworc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBXUklURV9CTVAgV1JJVEVfSU1BR0UgV1JJVEVfSlBFRyBXUklURV9OUklGCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFdSSVRFX1BJQ1QgV1JJVEVfUE5HIFdSSVRFX1BQTSBXUklURV9TUFIgV1JJVEVfU1JGCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFdSSVRFX1NZTEsgV1JJVEVfVElGRiBXUklURV9XQVYgV1JJVEVfV0FWRSBXUklURVUKK3N5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgV1NFVCBXU0hPVyBXVE4gV1ZfQVBQTEVUIFdWX0NXX1dBVkVMRVQgV1ZfQ1dUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFdWX0RFTk9JU0UgV1ZfRFdUIFdWX0ZOX0NPSUZMRVQgV1ZfRk5fREFVQkVDSElFUworc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBXVl9GTl9HQVVTU0lBTiBXVl9GTl9IQUFSIFdWX0ZOX01PUkxFVCBXVl9GTl9QQVVMCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFdWX0ZOX1NZTUxFVCBXVl9JTVBPUlRfREFUQSBXVl9JTVBPUlRfV0FWRUxFVAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBXVl9QTE9UM0RfV1BTIFdWX1BMT1RfTVVMVElSRVMgV1ZfUFdUCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFdWX1RPT0xfREVOT0lTRSBYQk1fRURJVCBYRElTUExBWUZJTEUgWERYRiBYRk9OVAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBYSU5URVJBTklNQVRFIFhMT0FEQ1QgWE1BTkFHRVIgWE1OR19UTVBMIFhNVE9PTAorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBYT0JKVklFVyBYUEFMRVRURSBYUENPTE9SIFhQTE9UM0QgWFJFR0lTVEVSRUQgWFJPSQorc3luIGtleXdvcmQgaWRsYW5nUm91dGluZSBYU1FfVEVTVCBYU1VSRkFDRSBYVkFSRURJVCBYVk9MVU1FIFhWT0xVTUVfUk9UQVRFCitzeW4ga2V5d29yZCBpZGxhbmdSb3V0aW5lIFhWT0xVTUVfV1JJVEVfSU1BR0UgWFlPVVRTIFpPT00gWk9PTV8yNAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9pZGxhbmdfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfaWRsYW5nX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorZW5kaWYKKworICBIaUxpbmsgaWRsYW5nQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGlkbGFuZ1JvdXRpbmUJVHlwZQorICBIaUxpbmsgaWRsYW5nU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgaWRsYW5nQ29udGludWVMaW5lCVRvZG8KKyAgSGlMaW5rIGlkbGFuZ1JlYWxOdW1iZXIJRmxvYXQKKyAgSGlMaW5rIGlkbGFuZ051bWJlcglOdW1iZXIKKyAgSGlMaW5rIGlkbGFuZ1N0cmluZwlTdHJpbmcKKyAgSGlMaW5rIGlkbGFuZ09wZXJhdG9yCU9wZXJhdG9yCisgIEhpTGluayBpZGxhbmdDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIGlkbGFuZ1RvZG8JVG9kbworICBIaUxpbmsgaWRsYW5nUHJlQ29uZGl0CUlkZW50aWZpZXIKKyAgSGlMaW5rIGlkbGFuZ0RibENvbW1hRXJyb3IJRXJyb3IKKyAgSGlMaW5rIGlkbGFuZ1N0b3AJRXJyb3IKKyAgSGlMaW5rIGlkbGFuZ1N0cnVjdmFyCVByZVByb2MKKyAgSGlMaW5rIGlkbGFuZ1N5c3RlbQlJZGVudGlmaWVyCisgIEhpTGluayBpZGxhbmdLZXl3b3JkCVNwZWNpYWwKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaWRsYW5nIgorIiB2aW06IHRzPTE4CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9pbmRlbnQudmltIGIvcnVudGltZS9zeW50YXgvaW5kZW50LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWYzYzdlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaW5kZW50LnZpbQpAQCAtMCwwICsxLDEwMSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSAgICBpbmRlbnQgUkMgRmlsZQorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9pbmRlbnQvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKKyIgYXJjaC10YWc6CSAgICAyM2MxMTE5MC03OWZhLTQ0OTMtOWZjNS0zNjQzNTQwMmEyMGQKKyIgVE9ETzogaXMgdGhlIGRlbnktYWxsIChhIGxhIGxpbG8udmltIG5pY2Ugb3Igbm8/KS4uLgorIglpcnJpdGF0aW5nIHRvIGJlIHdyb25nIHRvIHRoZSBsYXN0IGNoYXIuLi4KKyIJd291bGQgYmUgc3dlZXQgaWYgcmlnaHQgdW50aWwgb25lIGNoYXIgZmFpbHMKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgU2V0IGlza2V5d29yZCBzaW5jZSB3ZSBuZWVkIGAtJyAoYW5kIHBvdGVudGlhbGx5IG90aGVycykgaW4ga2V5d29yZHMuCisiIEZvciB2ZXJzaW9uIDUueDogU2V0IGl0IGdsb2JhbGx5CisiIEZvciB2ZXJzaW9uIDYueDogU2V0IGl0IGxvY2FsbHkKK2lmIHZlcnNpb24gPj0gNjAwCisgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldGxvY2FsIGlza2V5d29yZD08YXJncz4KK2Vsc2UKKyAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0IGlza2V5d29yZD08YXJncz4KK2VuZGlmCitTZXRJc2sgNDgtNTcsNjUtOTAsOTctMTIyLC0sXworZGVsY29tbWFuZCBTZXRJc2sKKworIiBlcnJvcnMKK3N5biBtYXRjaCAgIGluZGVudEVycm9yICJcU1wrIgorCisiIHRvZG8KK3N5biBrZXl3b3JkIGluZGVudFRvZG8gY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworIiBjb21tZW50cworc3luIHJlZ2lvbiAgaW5kZW50Q29tbWVudCBtYXRjaGdyb3VwPWluZGVudENvbW1lbnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPWluZGVudFRvZG8KKworIiBrZXl3b3JkcyAoY29tbWFuZC1saW5lIHN3aXRjaGVzKQorc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLVwobm8tXClcPWJsYW5rLVwoYmVmb3JlLXNpemVvZlx8QmlsbC1TaGFubm9uXHxsaW5lcy1cKGFmdGVyLVwoY29tbWFzXHxkZWNsYXJhdGlvbnNcfHByb2NlZHVyZXNcKVx8YmVmb3JlLWJsb2NrLWNvbW1lbnRzXClcKVw+Igorc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLWJyYWNlLWluZGVudFxzKlxkXCtcPiIKK3N5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1icmFjZXMtXChhZnRlclx8b25cKS1cKGlmXHxzdHJ1Y3QtZGVjbFwpLWxpbmVcPiIKK3N5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1icmVhay1cKFwoYWZ0ZXJcfGJlZm9yZVwpLWJvb2xlYW4tb3BlcmF0b3JcfGZ1bmN0aW9uLWRlY2wtYXJnc1wpXD4iCitzeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tXChjYXNlXCgtYnJhY2VcKVw9XHxjb21tZW50XHxjb250aW51YXRpb25cfGRlY2xhcmF0aW9uXHxsaW5lLWNvbW1lbnRzXHxwYXJhbWV0ZXJcfHBhcmVuXHxzdHJ1Y3QtYnJhY2VcKS1pbmRlbnRhdGlvblxzKlxkXCtcPiIKK3N5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKG5vLVwpXD1jb21tZW50LWRlbGltaXRlcnMtb24tYmxhbmstbGluZXNcPiIKK3N5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKGRvbnQtXClcPWN1ZGRsZS1cKGRvLXdoaWxlXHxlbHNlXClcPiIKK3N5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKGRlY2xhcmF0aW9uLWNvbW1lbnRcfGVsc2UtZW5kaWZcKS1jb2x1bW5ccypcZFwrXD4iCitzeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tZG9udC1icmVhay1cKGZ1bmN0aW9uLWRlY2wtYXJnc1x8cHJvY2VkdXJlLXR5cGVcKVw+Igorc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLVwoZG9udC1cKVw9XChmb3JtYXRcKC1maXJzdC1jb2x1bW5cKVw9XHxzdGFyXCktY29tbWVudHNcPiIKK3N5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKGhvbm91clx8aWdub3JlXCktbmV3bGluZXNcPiIKK3N5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKGluZGVudC1sZXZlbFx8XChjb21tZW50LVwpXD1saW5lLWxlbmd0aFwpXHMqXGRcK1w+Igorc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLVwobGVhdmVcfHJlbW92ZVwpLXByZXByb2Nlc3Nvci1zcGFjZVw+IgorIm5vdCAxMDAlLCBzaW5jZSBjYXN0c1w9IHNob3VsZCBhbHdheXMgYmUgY2FzdCBpZiBuby0gaXNuJ3QgZ2l2ZW4KK3N5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKG5vLVwpXD1zcGFjZS1hZnRlci1cKHBhcmVudGhlc2VzXHxjYXN0c1w9XHxmb3JcfGlmXHx3aGlsZVwpXD4iCitzeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tXChkb250LVwpXD1zcGFjZS1zcGVjaWFsLXNlbWljb2xvblw+Igorc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLVwobGVhdmVcfHN3YWxsb3dcKS1vcHRpb25hbC1ibGFuay1saW5lc1w+Igorc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLXRhYi1zaXplXHMqXGRcK1w+Igorc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLVwobm9cfHVzZVwpLXRhYnNcPiIKK3N5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLS1nbnUtc3R5bGUgLS1pZ25vcmUtcHJvZmlsZSAtLWstYW5kLXItc3R5bGUgLS1vcmlnaW5hbAorc3luIGtleXdvcmQgaW5kZW50T3B0aW9ucyAtLXByZXNlcnZlLW10aW1lIC0tbm8tdmVyYm9zaXR5IC0tdmVyYm9zZSAtLW91dHB1dC1maWxlCitzeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC0tbm8tcGFyYW1ldGVyLWluZGVudGF0aW9uIC0tcHJvY25hbWVzLXN0YXJ0LWxpbmVzCitzeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC0tc3RhbmRhcmQtb3V0cHV0IC0tc3RhcnQtbGVmdC1zaWRlLW9mLWNvbW1lbnRzCitzeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC0tc3BhY2UtYWZ0ZXItcHJvY2VkdXJlLWNhbGxzCisiIHRoaXMgYWxzbyBoZXJlIHNpbmNlIHRoZSBnbnUgaW5kZW50IGZlbGxhcyBhcmVuJ3QgY29uc2lzdGVudC4gKGV2ZXIgcmVhZAorIiB0aGUgY29kZSB0byBgaW5kZW50Jz8geW91J2xsIGtub3cgd2hhdCBpIG1lYW4gaWYgeW91IGhhdmUpCitzeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC1cKGJsaVx8Y2JpXHxjZFx8Y2lcfGNsaVx8Y1x8Y3BcfGRpXHxkXHxpXHxpcFx8bFx8bGNcfHBpXHxzYmlcfHRzXClccypcZFwrXD4iCitzeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC1UXHNcK1x3XCtcPiIKK3N5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLS1mb3JtYXQtYWxsLWNvbW1lbnRzIC0tY29udGludWUtYXQtcGFyZW50aGVzZXMgLS1kb250LWxpbmUtdXAtcGFyZW50aGVzZXMKK3N5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLS1uby1zcGFjZS1hZnRlci1mdW5jdGlvbi1jYWxsLW5hbWVzCitzeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC1iYWQgLWJhcCAtYmJiIC1iYm8gLWJjIC1iZmRhIC1ibCAtYnIgLWJzIC1uYnMgLWNkYiAtY2R3IC1jZSAtY3MgLWRjZSAtZmMxIC1mY2EKK3N5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLWdudSAtaG5sIC1rciAtbHAgLWxwcyAtbmJhZCAtbmJhcCAtbmJiYiAtbmJibyAtbmJjIC1uYmZkYSAtbmNkYiAtbmNkdyAtbnBycworc3luIGtleXdvcmQgaW5kZW50T3B0aW9ucyAtbmNlIC1uY3MgLW5mYzEgLW5mY2EgLW5obmwgLW5pcCAtbmxwIC1ubHBzIC1ucGNzIC1ucG10IC1ucHJvIC1ucHNsIC1uc2FmIC1uc2FpCitzeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC1uc2F3IC1uc2MgLW5zb2IgLW5zcyAtbnYgLW8gLW9yaWcgLXBjcyAtcG10IC1wcnMgLXBzbCAtc2FmIC1zYWkgLXNhdyAtc2MKK3N5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLXNvYiAtc3MgLXN0IC12IC12ZXJzaW9uIC1ibHMgLWJycyAtdXQgLW51dAorCitpZiBleGlzdHMoImluZGVudF9taW5saW5lcyIpCisgICAgbGV0IGI6aW5kZW50X21pbmxpbmVzID0gaW5kZW50X21pbmxpbmVzCitlbHNlCisgICAgbGV0IGI6aW5kZW50X21pbmxpbmVzID0gNTAKK2VuZGlmCitleGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gYjppbmRlbnRfbWlubGluZXMKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaW5kZW50X3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2luZGVudF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBpbmRlbnRFcnJvcglFcnJvcgorICBIaUxpbmsgaW5kZW50Q29tbWVudAlDb21tZW50CisgIEhpTGluayBpbmRlbnRUb2RvCVRvZG8KKyAgSGlMaW5rIGluZGVudE9wdGlvbnMJS2V5d29yZAorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaW5kZW50IgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9pbmZvcm0udmltIGIvcnVudGltZS9zeW50YXgvaW5mb3JtLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTkwMTYzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaW5mb3JtLnZpbQpAQCAtMCwwICsxLDQwOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBJbmZvcm0KKyIgTWFpbnRhaW5lcjogICBTdGVwaGVuIFRob21hcyAoaW5mb3JtdmltQHN0ZXBoZW50aG9tYXMudWtsaW51eC5uZXQpCisiIFVSTDoJCWh0dHA6Ly93d3cuc3RlcGhlbnRob21hcy51a2xpbnV4Lm5ldC9pbmZvcm12aW0KKyIgTGFzdCBDaGFuZ2U6ICAyMDA0IE1heSAxNgorCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQSBidW5jaCBvZiB1c2VmdWwgSW5mb3JtIGtleXdvcmRzLiAgRmlyc3QsIGNhc2UgaW5zZW5zaXRpdmUgc3R1ZmYKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBrZXl3b3JkIGluZm9ybURlZmluZSBDb25zdGFudAorCitzeW4ga2V5d29yZCBpbmZvcm1UeXBlIEFycmF5IEF0dHJpYnV0ZSBDbGFzcyBOZWFyYnkKK3N5biBrZXl3b3JkIGluZm9ybVR5cGUgT2JqZWN0IFByb3BlcnR5IFN0cmluZyBSb3V0aW5lCitzeW4gbWF0Y2ggICBpbmZvcm1UeXBlICJcPEdsb2JhbFw+IgorCitzeW4ga2V5d29yZCBpbmZvcm1JbmNsdWRlIEltcG9ydCBJbmNsdWRlIExpbmsgUmVwbGFjZSBTeXN0ZW1fZmlsZQorCitzeW4ga2V5d29yZCBpbmZvcm1QcmVDb25kaXQgRW5kIEVuZGlmIElmZGVmIElmbmRlZiBJZnRydWUgSWZmYWxzZSBJZnYzIElmdjUKK3N5biBrZXl3b3JkIGluZm9ybVByZUNvbmRpdCBJZm5vdAorCitzeW4ga2V5d29yZCBpbmZvcm1QcmVQcm9jIEFiYnJldmlhdGUgRGVmYXVsdCBGYWtlX2FjdGlvbiBMb3dzdHJpbmcKK3N5biBrZXl3b3JkIGluZm9ybVByZVByb2MgTWVzc2FnZSBSZWxlYXNlIFNlcmlhbCBTdGF0dXNsaW5lIFN0dWIgU3dpdGNoZXMKK3N5biBrZXl3b3JkIGluZm9ybVByZVByb2MgVHJhY2UgWmNoYXJhY3RlcgorCitzeW4gcmVnaW9uICBpbmZvcm1HbG9iYWxSZWdpb24gbWF0Y2hncm91cD1pbmZvcm1UeXBlIHN0YXJ0PSJcPEdsb2JhbFw+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0rIS4qJFx8Ii4qIlx8Jy4qJysgZW5kPSI7IiBjb250YWlucz1BTExCVVQsaW5mb3JtR3JhbVByZVByb2MsaW5mb3JtUHJlZGljYXRlLGluZm9ybUdyYW1tYXIsaW5mb3JtQXNtLGluZm9ybUFzbU9ic29sZXRlCisKK3N5biBrZXl3b3JkIGluZm9ybUdyYW1QcmVQcm9jIGNvbnRhaW5lZCBWZXJiIEV4dGVuZAorCitpZiAhZXhpc3RzKCJpbmZvcm1faGlnaGxpZ2h0X3NpbXBsZSIpCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkF0dHJpYiBhYnNlbnQgYW5pbWF0ZSBjbG90aGluZyBjb25jZWFsZWQgY29udGFpbmVyCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkF0dHJpYiBkb29yIGVkaWJsZSBlbnRlcmFibGUgZmVtYWxlIGdlbmVyYWwgbGlnaHQKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQXR0cmliIGxvY2thYmxlIGxvY2tlZCBtYWxlIG1vdmVkIG5ldXRlciBvbiBvcGVuCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkF0dHJpYiBvcGVuYWJsZSBwbHVyYWxuYW1lIHByb3BlciBzY2VuZXJ5IHNjb3JlZAorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJBdHRyaWIgc3RhdGljIHN1cHBvcnRlciBzd2l0Y2hhYmxlIHRhbGthYmxlCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkF0dHJpYiB2aXNpdGVkIHdvcmtmbGFnIHdvcm4KKyAgc3luIG1hdGNoIGluZm9ybUxpYkF0dHJpYiAiXDx0cmFuc3BhcmVudFw+IgorCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlByb3AgZV90byBzZV90byBzX3RvIHN3X3RvIHdfdG8gbndfdG8gbl90byBuZV90bworICBzeW4ga2V5d29yZCBpbmZvcm1MaWJQcm9wIHVfdG8gZF90byBpbl90byBvdXRfdG8gYmVmb3JlIGFmdGVyIGxpZmUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUHJvcCBkb29yX3RvIHdpdGhfa2V5IGRvb3JfZGlyIGludmVudCBwbHVyYWwKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUHJvcCBhZGRfdG9fc2NvcGUgbGlzdF90b2dldGhlciByZWFjdF9iZWZvcmUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUHJvcCByZWFjdF9hZnRlciBncmFtbWFyIG9yZGVycyBpbml0aWFsIHdoZW5fb3BlbgorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJQcm9wIHdoZW5fY2xvc2VkIHdoZW5fb24gd2hlbl9vZmYgZGVzY3JpcHRpb24KKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUHJvcCBkZXNjcmliZSBhcnRpY2xlIGNhbnRfZ28gZm91bmRfaW4gdGltZV9sZWZ0CisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlByb3AgbnVtYmVyIHRpbWVfb3V0IGRhZW1vbiBlYWNoX3R1cm4gY2FwYWNpdHkKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUHJvcCBuYW1lIHNob3J0X25hbWUgc2hvcnRfbmFtZV9pbmRlZiBwYXJzZV9uYW1lCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlByb3AgYXJ0aWNsZXMgaW5zaWRlX2Rlc2NyaXB0aW9uCisgIGlmICFleGlzdHMoImluZm9ybV9oaWdobGlnaHRfb2xkIikKKyAgICBzeW4ga2V5d29yZCBpbmZvcm1MaWJQcm9wIGNvbXBhc3NfbG9vayBiZWZvcmVfaW1wbGljaXQKKyAgICBzeW4ga2V5d29yZCBpbmZvcm1MaWJQcm9wIGV4dF9pbml0aWFsaXNlIGV4dF9tZXNzYWdlcworICBlbmRpZgorCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYk9iaiBlX29iaiBzZV9vYmogc19vYmogc3dfb2JqIHdfb2JqIG53X29iaiBuX29iagorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJPYmogbmVfb2JqIHVfb2JqIGRfb2JqIGluX29iaiBvdXRfb2JqIGNvbXBhc3MKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliT2JqIHRoZWRhcmsgc2VsZm9iaiBwbGF5ZXIgbG9jYXRpb24gc2Vjb25kIGFjdG9yCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYk9iaiBub3VuCisgIGlmICFleGlzdHMoImluZm9ybV9oaWdobGlnaHRfb2xkIikKKyAgICBzeW4ga2V5d29yZCBpbmZvcm1MaWJPYmogTGlicmFyeUV4dGVuc2lvbnMKKyAgZW5kaWYKKworICBzeW4ga2V5d29yZCBpbmZvcm1MaWJSb3V0aW5lIEFjaGlldmVkIEFmdGVyUm91dGluZXMgQWRkVG9TY29wZQorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJSb3V0aW5lIEFsbG93UHVzaERpciBCYW5uZXIgQ2hhbmdlRGVmYXVsdAorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJSb3V0aW5lIENoYW5nZVBsYXllciBDb21tb25BbmNlc3RvciBEaWN0aW9uYXJ5TG9va3VwCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgRGlzcGxheVN0YXR1cyBEb01lbnUgRHJhd1N0YXR1c0xpbmUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSBFbmdsaXNoTnVtYmVyIEhhc0xpZ2h0U291cmNlIEdldEdOQU9mT2JqZWN0CisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgSW5kaXJlY3RseUNvbnRhaW5zIElzU2VlVGhyb3VnaCBMb2NhbGUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSBMb29wT3ZlclNjb3BlIExUSV9JbnNlcnQgTW92ZUZsb2F0aW5nT2JqZWN0cworICBzeW4ga2V5d29yZCBpbmZvcm1MaWJSb3V0aW5lIE5leHRXb3JkIE5leHRXb3JkU3RvcHBlZCBOb3VuRG9tYWluCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgT2JqZWN0SXNVbnRvdWNoYWJsZSBPZmZlcnNMaWdodCBQYXJzZVRva2VuCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgUGxhY2VJblNjb3BlIFBsYXllclRvIFByaW50U2hvcnROYW1lCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgUHJvbm91bk5vdGljZSBTY29wZVdpdGhpbiBTZXRQcm9ub3VuIFNldFRpbWUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSBTdGFydERhZW1vbiBTdGFydFRpbWVyIFN0b3BEYWVtb24gU3RvcFRpbWVyCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgVGVzdFNjb3BlIFRyeU51bWJlciBVbnNpZ25lZENvbXBhcmUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSBXb3JkQWRkcmVzcyBXb3JkSW5Qcm9wZXJ0eSBXb3JkTGVuZ3RoCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgV3JpdGVMaXN0RnJvbSBZZXNPck5vIFpSZWdpb24gUnVuUm91dGluZXMKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSBBZnRlckxpZmUgQWZ0ZXJQcm9tcHQgQW11c2luZyBCZWZvcmVQYXJzaW5nCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgQ2hvb3NlT2JqZWN0cyBEYXJrVG9EYXJrIERlYXRoTWVzc2FnZQorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJSb3V0aW5lIEdhbWVQb3N0Um91dGluZSBHYW1lUHJlUm91dGluZSBJbml0aWFsaXNlCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgSW5TY29wZSBMb29rUm91dGluZSBOZXdSb29tIFBhcnNlTm91bgorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJSb3V0aW5lIFBhcnNlTnVtYmVyIFBhcnNlckVycm9yIFByaW50UmFuayBQcmludFZlcmIKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSBQcmludFRhc2tOYW1lIFRpbWVQYXNzZXMgVW5rbm93blZlcmIKKyAgaWYgZXhpc3RzKCJpbmZvcm1faGlnaGxpZ2h0X2dsdWx4IikKKyAgICAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSAgSWRlbnRpZnlHbGtPYmplY3QgSGFuZGxlR2xrRXZlbnQKKyAgICAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSAgSW5pdEdsa1dpbmRvdworICBlbmRpZgorICBpZiAhZXhpc3RzKCJpbmZvcm1faGlnaGxpZ2h0X29sZCIpCisgICAgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgIEtleUNoYXJQcmltaXRpdmUgS2V5RGVsYXkgQ2xlYXJTY3JlZW4KKyAgICAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSAgTW92ZUN1cnNvciBNYWluV2luZG93IFN0YXR1c0xpbmVIZWlnaHQKKyAgICAgc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSAgU2NyZWVuV2lkdGggU2NyZWVuSGVpZ2h0IFNldENvbG91cgorICAgICBzeW4ga2V5d29yZCBpbmZvcm1MaWJSb3V0aW5lICBEZWNpbWFsTnVtYmVyIFByaW50VG9CdWZmZXIgTGVuZ3RoCisgICAgIHN5biBrZXl3b3JkIGluZm9ybUxpYlJvdXRpbmUgIFVwcGVyQ2FzZSBMb3dlckNhc2UgUHJpbnRDYXBpdGFsaXNlZAorICAgICBzeW4ga2V5d29yZCBpbmZvcm1MaWJSb3V0aW5lICBDYXAgQ2VudHJlCisgICAgIGlmIGV4aXN0cygiaW5mb3JtX2hpZ2hsaWdodF9nbHVseCIpCisJc3luIGtleXdvcmQgaW5mb3JtTGliUm91dGluZSAgUHJpbnRBbnl0aGluZyBQcmludEFueVRvQXJyYXkKKyAgICAgZW5kaWYKKyAgZW5kaWYKKworICBzeW4ga2V5d29yZCBpbmZvcm1MaWJBY3Rpb24gIFF1aXQgUmVzdGFydCBSZXN0b3JlIFZlcmlmeSBTYXZlCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgU2NyaXB0T24gU2NyaXB0T2ZmIFByb25vdW5zIFNjb3JlCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgRnVsbHNjb3JlIExNb2RlMSBMTW9kZTIgTE1vZGUzCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgTm90aWZ5T24gTm90aWZ5T2ZmIFZlcnNpb24gUGxhY2VzCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgT2JqZWN0cyBUcmFjZU9uIFRyYWNlT2ZmIFRyYWNlTGV2ZWwKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBBY3Rpb25zT24gQWN0aW9uc09mZiBSb3V0aW5lc09uCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgUm91dGluZXNPZmYgVGltZXJzT24gVGltZXJzT2ZmCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgQ29tbWFuZHNPbiBDb21tYW5kc09mZiBDb21tYW5kc1JlYWQKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBQcmVkaWN0YWJsZSBYUHVybG9pbiBYQWJzdHJhY3QgWFRyZWUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBTY29wZSBHb3RvIEdvbmVhciBJbnYgSW52VGFsbCBJbnZXaWRlCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgVGFrZSBEcm9wIFJlbW92ZSBQdXRPbiBJbnNlcnQgVHJhbnNmZXIKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBFbXB0eSBFbnRlciBFeGl0IEdldE9mZiBHbyBHb2luIExvb2sKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBFeGFtaW5lIFNlYXJjaCBHaXZlIFNob3cgVW5sb2NrIExvY2sKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBTd2l0Y2hPbiBTd2l0Y2hPZmYgT3BlbiBDbG9zZSBEaXNyb2JlCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgV2VhciBFYXQgWWVzIE5vIEJ1cm4gUHJheSBXYWtlCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgV2FrZU90aGVyIENvbnN1bHQgS2lzcyBUaGluayBTbWVsbAorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJBY3Rpb24gIExpc3RlbiBUYXN0ZSBUb3VjaCBEaWcgQ3V0IEp1bXAKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBKdW1wT3ZlciBUaWUgRHJpbmsgRmlsbCBTb3JyeSBTdHJvbmcKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBNaWxkIEF0dGFjayBTd2ltIFN3aW5nIEJsb3cgUnViIFNldAorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJBY3Rpb24gIFNldFRvIFdhdmVIYW5kcyBXYXZlIFB1bGwgUHVzaCBQdXNoRGlyCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgVHVybiBTcXVlZXplIExvb2tVbmRlciBUaHJvd0F0IFRlbGwKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBBbnN3ZXIgQnV5IEFzayBBc2tGb3IgU2luZyBDbGltYiBXYWl0CisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgU2xlZXAgTGV0R28gUmVjZWl2ZSBUaHJvd25BdCBPcmRlcgorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJBY3Rpb24gIFRoZVNhbWUgUGx1cmFsRm91bmQgTWlzY2VsbGFueSBQcm9tcHQKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBDaGFuZ2VzT24gQ2hhbmdlc09mZiBTaG93dmVyYiBTaG93b2JqCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkFjdGlvbiAgRW1wdHlUIFZhZ3VlR28KKyAgaWYgZXhpc3RzKCJpbmZvcm1faGlnaGxpZ2h0X2dsdWx4IikKKyAgICAgc3luIGtleXdvcmQgaW5mb3JtTGliQWN0aW9uICBHbGtMaXN0CisgIGVuZGlmCisKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliVmFyaWFibGUga2VlcF9zaWxlbnQgZGVhZGZsYWcgYWN0aW9uIHNwZWNpYWxfbnVtYmVyCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlZhcmlhYmxlIGNvbnN1bHRfZnJvbSBjb25zdWx0X3dvcmRzIGV0eXBlIHZlcmJfbnVtCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlZhcmlhYmxlIHZlcmJfd29yZCB0aGVfdGltZSByZWFsX2xvY2F0aW9uIGNfc3R5bGUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliVmFyaWFibGUgcGFyc2VyX29uZSBwYXJzZXJfdHdvIGxpc3RpbmdfdG9nZXRoZXIgd24KKyAgc3luIGtleXdvcmQgaW5mb3JtTGliVmFyaWFibGUgcGFyc2VyX2FjdGlvbiBzY29wZV9zdGFnZSBzY29wZV9yZWFzb24KKyAgc3luIGtleXdvcmQgaW5mb3JtTGliVmFyaWFibGUgYWN0aW9uX3RvX2JlIG1lbnVfaXRlbSBpdGVtX25hbWUgaXRlbV93aWR0aAorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJWYXJpYWJsZSBsbV9vIGxtX24gaW52ZW50b3J5X3N0eWxlIHRhc2tfc2NvcmVzCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYlZhcmlhYmxlIGludmVudG9yeV9zdGFnZQorCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkNvbnN0IEFNVVNJTkdfUFJPVklERUQgREVCVUcgSGVhZGxpbmUgTUFYX0NBUlJJRUQKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQ29uc3QgTUFYX1NDT1JFIE1BWF9USU1FUlMgTk9fUExBQ0VTIE5VTUJFUl9UQVNLUworICBzeW4ga2V5d29yZCBpbmZvcm1MaWJDb25zdCBPQkpFQ1RfU0NPUkUgUk9PTV9TQ09SRSBTQUNLX09CSkVDVCBTdG9yeQorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJDb25zdCBUQVNLU19QUk9WSURFRCBXSVRIT1VUX0RJUkVDVElPTlMKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQ29uc3QgTkVXTElORV9CSVQgSU5ERU5UX0JJVCBGVUxMSU5WX0JJVCBFTkdMSVNIX0JJVAorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJDb25zdCBSRUNVUlNFX0JJVCBBTFdBWVNfQklUIFRFUlNFX0JJVCBQQVJUSU5WX0JJVAorICBzeW4ga2V5d29yZCBpbmZvcm1MaWJDb25zdCBERUZBUlRfQklUIFdPUktGTEFHX0JJVCBJU0FSRV9CSVQgQ09OQ0VBTF9CSVQKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQ29uc3QgUEFSU0lOR19SRUFTT04gVEFMS0lOR19SRUFTT04gRUFDSFRVUk5fUkVBU09OCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkNvbnN0IFJFQUNUX0JFRk9SRV9SRUFTT04gUkVBQ1RfQUZURVJfUkVBU09OCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkNvbnN0IFRFU1RTQ09QRV9SRUFTT04gTE9PUE9WRVJTQ09QRV9SRUFTT04KKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQ29uc3QgU1RVQ0tfUEUgVVBUT19QRSBOVU1CRVJfUEUgQ0FOVFNFRV9QRSBUT09MSVRfUEUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQ29uc3QgTk9USEVMRF9QRSBNVUxUSV9QRSBNTVVMVElfUEUgVkFHVUVfUEUgRVhDRVBUX1BFCisgIHN5biBrZXl3b3JkIGluZm9ybUxpYkNvbnN0IEFOSU1BX1BFIFZFUkJfUEUgU0NFTkVSWV9QRSBJVEdPTkVfUEUKKyAgc3luIGtleXdvcmQgaW5mb3JtTGliQ29uc3QgSlVOS0FGVEVSX1BFIFRPT0ZFV19QRSBOT1RISU5HX1BFIEFTS1NDT1BFX1BFCisgIGlmICFleGlzdHMoImluZm9ybV9oaWdobGlnaHRfb2xkIikKKyAgICAgc3luIGtleXdvcmQgaW5mb3JtTGliQ29uc3QgV09SRFNJWkUgVEFSR0VUX1pDT0RFIFRBUkdFVF9HTFVMWAorICAgICBzeW4ga2V5d29yZCBpbmZvcm1MaWJDb25zdCBMSUJSQVJZX1BBUlNFUiBMSUJSQVJZX1ZFUkJMSUIgTElCUkFSWV9HUkFNTUFSCisgICAgIHN5biBrZXl3b3JkIGluZm9ybUxpYkNvbnN0IExJQlJBUllfRU5HTElTSCBOT19TQ09SRSBTVEFSVF9NT1ZFCisgICAgIHN5biBrZXl3b3JkIGluZm9ybUxpYkNvbnN0IENMUl9ERUZBVUxUIENMUl9CTEFDSyBDTFJfUkVEIENMUl9HUkVFTgorICAgICBzeW4ga2V5d29yZCBpbmZvcm1MaWJDb25zdCBDTFJfWUVMTE9XIENMUl9CTFVFIENMUl9NQUdFTlRBIENMUl9DWUFOCisgICAgIHN5biBrZXl3b3JkIGluZm9ybUxpYkNvbnN0IENMUl9XSElURSBDTFJfUFVSUExFIENMUl9BWlVSRQorICAgICBzeW4ga2V5d29yZCBpbmZvcm1MaWJDb25zdCBXSU5fQUxMIFdJTl9NQUlOIFdJTl9TVEFUVVMKKyAgZW5kaWYKK2VuZGlmCisKKyIgTm93IHRoZSBjYXNlIHNlbnNpdGl2ZSBzdHVmZi4KKworc3ludGF4IGNhc2UgbWF0Y2gKKworc3luIGtleXdvcmQgaW5mb3JtU3lzRnVuYyBjaGlsZCBjaGlsZHJlbiBlbGRlciBpbmRpcmVjdCBwYXJlbnQgcmFuZG9tCitzeW4ga2V5d29yZCBpbmZvcm1TeXNGdW5jIHNpYmxpbmcgeW91bmdlciB5b3VuZ2VzdCBtZXRhY2xhc3MKK2lmIGV4aXN0cygiaW5mb3JtX2hpZ2hsaWdodF9nbHVseCIpCisgIHN5biBrZXl3b3JkIGluZm9ybVN5c0Z1bmMgZ2xrCitlbmRpZgorCitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBhZGplY3RpdmVzX3RhYmxlIGFjdGlvbnNfdGFibGUgY2xhc3Nlc190YWJsZQorc3luIGtleXdvcmQgaW5mb3JtU3lzQ29uc3QgaWRlbnRpZmllcnNfdGFibGUgcHJlYWN0aW9uc190YWJsZSB2ZXJzaW9uX251bWJlcgorc3luIGtleXdvcmQgaW5mb3JtU3lzQ29uc3QgbGFyZ2VzdF9vYmplY3Qgc3RyaW5nc19vZmZzZXQgY29kZV9vZmZzZXQKK3N5biBrZXl3b3JkIGluZm9ybVN5c0NvbnN0IGRpY3RfcGFyMSBkaWN0X3BhcjIgZGljdF9wYXIzCitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBhY3R1YWxfbGFyZ2VzdF9vYmplY3Qgc3RhdGljX21lbW9yeV9vZmZzZXQKK3N5biBrZXl3b3JkIGluZm9ybVN5c0NvbnN0IGFycmF5X25hbWVzX29mZnNldCByZWFkYWJsZV9tZW1vcnlfb2Zmc2V0CitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBjcHZfX3N0YXJ0IGNwdl9fZW5kIGlwdl9fc3RhcnQgaXB2X19lbmQKK3N5biBrZXl3b3JkIGluZm9ybVN5c0NvbnN0IGFycmF5X19zdGFydCBhcnJheV9fZW5kIGxvd2VzdF9hdHRyaWJ1dGVfbnVtYmVyCitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBoaWdoZXN0X2F0dHJpYnV0ZV9udW1iZXIgYXR0cmlidXRlX25hbWVzX2FycmF5CitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBsb3dlc3RfcHJvcGVydHlfbnVtYmVyIGhpZ2hlc3RfcHJvcGVydHlfbnVtYmVyCitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBwcm9wZXJ0eV9uYW1lc19hcnJheSBsb3dlc3RfYWN0aW9uX251bWJlcgorc3luIGtleXdvcmQgaW5mb3JtU3lzQ29uc3QgaGlnaGVzdF9hY3Rpb25fbnVtYmVyIGFjdGlvbl9uYW1lc19hcnJheQorc3luIGtleXdvcmQgaW5mb3JtU3lzQ29uc3QgbG93ZXN0X2Zha2VfYWN0aW9uX251bWJlciBoaWdoZXN0X2Zha2VfYWN0aW9uX251bWJlcgorc3luIGtleXdvcmQgaW5mb3JtU3lzQ29uc3QgZmFrZV9hY3Rpb25fbmFtZXNfYXJyYXkgbG93ZXN0X3JvdXRpbmVfbnVtYmVyCitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBoaWdoZXN0X3JvdXRpbmVfbnVtYmVyIHJvdXRpbmVzX2FycmF5CitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCByb3V0aW5lX25hbWVzX2FycmF5IHJvdXRpbmVfZmxhZ3NfYXJyYXkKK3N5biBrZXl3b3JkIGluZm9ybVN5c0NvbnN0IGxvd2VzdF9nbG9iYWxfbnVtYmVyIGhpZ2hlc3RfZ2xvYmFsX251bWJlciBnbG9iYWxzX2FycmF5CitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBnbG9iYWxfbmFtZXNfYXJyYXkgZ2xvYmFsX2ZsYWdzX2FycmF5CitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBsb3dlc3RfYXJyYXlfbnVtYmVyIGhpZ2hlc3RfYXJyYXlfbnVtYmVyIGFycmF5c19hcnJheQorc3luIGtleXdvcmQgaW5mb3JtU3lzQ29uc3QgYXJyYXlfbmFtZXNfYXJyYXkgYXJyYXlfZmxhZ3NfYXJyYXkgbG93ZXN0X2NvbnN0YW50X251bWJlcgorc3luIGtleXdvcmQgaW5mb3JtU3lzQ29uc3QgaGlnaGVzdF9jb25zdGFudF9udW1iZXIgY29uc3RhbnRzX2FycmF5IGNvbnN0YW50X25hbWVzX2FycmF5CitzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBsb3dlc3RfY2xhc3NfbnVtYmVyIGhpZ2hlc3RfY2xhc3NfbnVtYmVyIGNsYXNzX29iamVjdHNfYXJyYXkKK3N5biBrZXl3b3JkIGluZm9ybVN5c0NvbnN0IGxvd2VzdF9vYmplY3RfbnVtYmVyIGhpZ2hlc3Rfb2JqZWN0X251bWJlcgoraWYgIWV4aXN0cygiaW5mb3JtX2hpZ2hsaWdodF9vbGQiKQorICBzeW4ga2V5d29yZCBpbmZvcm1TeXNDb25zdCBzeXNfc3RhdHVzbGluZV9mbGFnCitlbmRpZgorCitzeW4ga2V5d29yZCBpbmZvcm1Db25kaXRpb25hbCBkZWZhdWx0IGVsc2UgaWYgc3dpdGNoCisKK3N5biBrZXl3b3JkIGluZm9ybVJlcGVhdCBicmVhayBjb250aW51ZSBkbyBmb3Igb2JqZWN0bG9vcCB1bnRpbCB3aGlsZQorCitzeW4ga2V5d29yZCBpbmZvcm1TdGF0ZW1lbnQgYm94IGZvbnQgZ2l2ZSBpbnZlcnNpb24ganVtcCBtb3ZlIG5ld19saW5lCitzeW4ga2V5d29yZCBpbmZvcm1TdGF0ZW1lbnQgcHJpbnQgcHJpbnRfcmV0IHF1aXQgcmVhZCByZW1vdmUgcmVzdG9yZSByZXR1cm4KK3N5biBrZXl3b3JkIGluZm9ybVN0YXRlbWVudCByZmFsc2UgcnRydWUgc2F2ZSBzcGFjZXMgc3RyaW5nIHN0eWxlCisKK3N5biBrZXl3b3JkIGluZm9ybU9wZXJhdG9yIHJvbWFuIHJldmVyc2UgYm9sZCB1bmRlcmxpbmUgZml4ZWQgb24gb2ZmIHRvCitzeW4ga2V5d29yZCBpbmZvcm1PcGVyYXRvciBuZWFyIGZyb20KKworc3luIGtleXdvcmQgaW5mb3JtS2V5d29yZCBkaWN0aW9uYXJ5IHN5bWJvbHMgb2JqZWN0cyB2ZXJicyBhc3NlbWJseQorc3luIGtleXdvcmQgaW5mb3JtS2V5d29yZCBleHByZXNzaW9ucyBsaW5lcyB0b2tlbnMgbGlua2VyIG9uIG9mZiBhbGlhcyBsb25nCitzeW4ga2V5d29yZCBpbmZvcm1LZXl3b3JkIGFkZGl0aXZlIHNjb3JlIHRpbWUgc3RyaW5nIHRhYmxlCitzeW4ga2V5d29yZCBpbmZvcm1LZXl3b3JkIHdpdGggcHJpdmF0ZSBoYXMgY2xhc3MgZXJyb3IgZmF0YWxlcnJvcgorc3luIGtleXdvcmQgaW5mb3JtS2V5d29yZCB3YXJuaW5nIHNlbGYKK2lmICFleGlzdHMoImluZm9ybV9oaWdobGlnaHRfb2xkIikKKyAgc3luIGtleXdvcmQgaW5mb3JtS2V5d29yZCBidWZmZXIKK2VuZGlmCisKK3N5biBrZXl3b3JkIGluZm9ybU1ldGFBdHRyaWIgcmVtYWluaW5nIGNyZWF0ZSBkZXN0cm95IHJlY3JlYXRlIGNvcHkgY2FsbAorc3luIGtleXdvcmQgaW5mb3JtTWV0YUF0dHJpYiBwcmludF90b19hcnJheQorCitzeW4ga2V5d29yZCBpbmZvcm1QcmVkaWNhdGUgaGFzIGhhc250IGluIG5vdGluIG9mY2xhc3Mgb3IKK3N5biBrZXl3b3JkIGluZm9ybVByZWRpY2F0ZSBwcm92aWRlcworCitzeW4ga2V5d29yZCBpbmZvcm1HcmFtbWFyIGNvbnRhaW5lZCBub3VuIGhlbGQgbXVsdGkgbXVsdGloZWxkIG11bHRpZXhjZXB0CitzeW4ga2V5d29yZCBpbmZvcm1HcmFtbWFyIGNvbnRhaW5lZCBtdWx0aWluc2lkZSBjcmVhdHVyZSBzcGVjaWFsIG51bWJlcgorc3luIGtleXdvcmQgaW5mb3JtR3JhbW1hciBjb250YWluZWQgc2NvcGUgdG9waWMgcmV2ZXJzZSBtZXRhIG9ubHkgcmVwbGFjZQorc3luIGtleXdvcmQgaW5mb3JtR3JhbW1hciBjb250YWluZWQgZmlyc3QgbGFzdAorCitzeW4ga2V5d29yZCBpbmZvcm1LZXl3b3JkT2Jzb2xldGUgY29udGFpbmVkIGluaXRpYWwgZGF0YSBpbml0c3RyCisKK3N5biBrZXl3b3JkIGluZm9ybVRvZG8gY29udGFpbmVkIFRPRE8KKworIiBBc3NlbWJseSBsYW5ndWFnZSBtbmVtb25pY3MgbXVzdCBiZSBwcmVjZWRlZCBieSBhICdAJy4KKworc3luIG1hdGNoIGluZm9ybUFzbUNvbnRhaW5lciAiQFxzKlxrKiIgY29udGFpbnM9aW5mb3JtQXNtLGluZm9ybUFzbU9ic29sZXRlCisKK2lmIGV4aXN0cygiaW5mb3JtX2hpZ2hsaWdodF9nbHVseCIpCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgbm9wIGFkZCBzdWIgbXVsIGRpdiBtb2QgbmVnIGJpdGFuZCBiaXRvcgorICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIGJpdHhvciBiaXRub3Qgc2hpZnRsIHNzaGlmdHIgdXNoaWZ0ciBqdW1wIGp6CisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgam56IGplcSBqbmUgamx0IGpnZSBqZ3QgamxlIGpsdHUgamdldSBqZ3R1CisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgamxldSBjYWxsIHJldHVybiBjYXRjaCB0aHJvdyB0YWlsY2FsbCBjb3B5CisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgY29weXMgY29weWIgc2V4cyBzZXhiIGFsb2FkIGFsb2FkcyBhbG9hZGIKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBhbG9hZGJpdCBhc3RvcmUgYXN0b3JlcyBhc3RvcmViIGFzdG9yZWJpdAorICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIHN0a2NvdW50IHN0a3BlZWsgc3Rrc3dhcCBzdGtyb2xsIHN0a2NvcHkKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBzdHJlYW1jaGFyIHN0cmVhbW51bSBzdHJlYW1zdHIgZ2VzdGFsdAorICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIGRlYnVndHJhcCBnZXRtZW1zaXplIHNldG1lbXNpemUganVtcGFicworICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIHJhbmRvbSBzZXRyYW5kb20gcXVpdCB2ZXJpZnkgcmVzdGFydCBzYXZlCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgcmVzdG9yZSBzYXZldW5kbyByZXN0b3JldW5kbyBwcm90ZWN0IGdsaworICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIGdldHN0cmluZ3RibCBzZXRzdHJpbmd0YmwgZ2V0aW9zeXMgc2V0aW9zeXMKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBsaW5lYXJzZWFyY2ggYmluYXJ5c2VhcmNoIGxpbmtlZHNlYXJjaAorICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIGNhbGxmIGNhbGxmaSBjYWxsZmlpIGNhbGxmaWlpCitlbHNlCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgamUgamwgamcgZGVjX2NoayBpbmNfY2hrIGppbiB0ZXN0IG9yIGFuZAorICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIHRlc3RfYXR0ciBzZXRfYXR0ciBjbGVhcl9hdHRyIHN0b3JlCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgaW5zZXJ0X29iaiBsb2FkdyBsb2FkYiBnZXRfcHJvcAorICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIGdldF9wcm9wX2FkZHIgZ2V0X25leHRfcHJvcCBhZGQgc3ViIG11bCBkaXYKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBtb2QgY2FsbCBzdG9yZXcgc3RvcmViIHB1dF9wcm9wIHNyZWFkCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgcHJpbnRfbnVtIHJhbmRvbSBwdXNoIHB1bGwKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBzcGxpdF93aW5kb3cgc2V0X3dpbmRvdyBvdXRwdXRfc3RyZWFtCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgaW5wdXRfc3RyZWFtIHNvdW5kX2VmZmVjdCBqeiBnZXRfc2libGluZworICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIGdldF9jaGlsZCBnZXRfcGFyZW50IGdldF9wcm9wX2xlbiBpbmMgZGVjCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgcmVtb3ZlX29iaiBwcmludF9vYmogcmV0IGp1bXAKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBsb2FkIG5vdCBydHJ1ZSByZmFsc2UgcHJpbnQKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBwcmludF9yZXQgbm9wIHNhdmUgcmVzdG9yZSByZXN0YXJ0CisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgcmV0X3BvcHBlZCBwb3AgcXVpdCBuZXdfbGluZSBzaG93X3N0YXR1cworICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIHZlcmlmeSBjYWxsXzJzIGNhbGxfdnMgYXJlYWQgY2FsbF92czIKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBlcmFzZV93aW5kb3cgZXJhc2VfbGluZSBzZXRfY3Vyc29yIGdldF9jdXJzb3IKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBzZXRfdGV4dF9zdHlsZSBidWZmZXJfbW9kZSByZWFkX2NoYXIKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBzY2FuX3RhYmxlIGNhbGxfMXMgY2FsbF8ybiBzZXRfY29sb3VyIHRocm93CisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgY2FsbF92biBjYWxsX3ZuMiB0b2tlbmlzZSBlbmNvZGVfdGV4dAorICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIGNvcHlfdGFibGUgcHJpbnRfdGFibGUgY2hlY2tfYXJnX2NvdW50CisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgY2FsbF8xbiBjYXRjaCBwaXJhY3kgbG9nX3NoaWZ0IGFydF9zaGlmdAorICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIHNldF9mb250IHNhdmVfdW5kbyByZXN0b3JlX3VuZG8gZHJhd19waWN0dXJlCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgcGljdHVyZV9kYXRhIGVyYXNlX3BpY3R1cmUgc2V0X21hcmdpbnMKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBtb3ZlX3dpbmRvdyB3aW5kb3dfc2l6ZSB3aW5kb3dfc3R5bGUKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBnZXRfd2luZF9wcm9wIHNjcm9sbF93aW5kb3cgcG9wX3N0YWNrCisgIHN5biBrZXl3b3JkIGluZm9ybUFzbSBjb250YWluZWQgcmVhZF9tb3VzZSBtb3VzZV93aW5kb3cgcHVzaF9zdGFjaworICBzeW4ga2V5d29yZCBpbmZvcm1Bc20gY29udGFpbmVkIHB1dF93aW5kX3Byb3AgcHJpbnRfZm9ybSBtYWtlX21lbnUKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBwaWN0dXJlX3RhYmxlCisgIGlmICFleGlzdHMoImluZm9ybV9oaWdobGlnaHRfb2xkIikKKyAgICAgc3luIGtleXdvcmQgaW5mb3JtQXNtIGNvbnRhaW5lZCBjaGVja191bmljb2RlIHByaW50X3VuaWNvZGUKKyAgZW5kaWYKKyAgc3luIGtleXdvcmQgaW5mb3JtQXNtT2Jzb2xldGUgY29udGFpbmVkIHByaW50X3BhZGRyIHByaW50X2FkZHIgcHJpbnRfY2hhcgorZW5kaWYKKworIiBIYW5kbGluZyBmb3IgZGlmZmVyZW50IHZlcnNpb25zIG9mIFZJTS4KKworaWYgdmVyc2lvbiA+PSA2MDAKKyAgc2V0bG9jYWwgaXNrZXl3b3JkKz0kCisgIGNvbW1hbmQgLW5hcmdzPSsgU3luRGlzcGxheSBzeW50YXggPGFyZ3M+IGRpc3BsYXkKK2Vsc2UKKyAgc2V0IGlza2V5d29yZCs9JAorICBjb21tYW5kIC1uYXJncz0rIFN5bkRpc3BsYXkgc3ludGF4IDxhcmdzPgorZW5kaWYKKworIiBHcmFtbWFyIHNlY3Rpb25zLgorCitzeW4gcmVnaW9uIGluZm9ybUdyYW1tYXJTZWN0aW9uIG1hdGNoZ3JvdXA9aW5mb3JtR3JhbVByZVByb2Mgc3RhcnQ9Ilw8VmVyYlx8RXh0ZW5kXD4iIHNraXA9KyIuKiIrIGVuZD0iOyJoZT1lLTEgY29udGFpbnM9QUxMQlVULGluZm9ybUFzbQorCisiIFNwZWNpYWwgY2hhcmFjdGVyIGZvcm1zLgorCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybUJhZEFjY2VudCBjb250YWluZWQgIkBbXntbOmRpZ2l0Ol1dXEQiCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybUJhZEFjY2VudCBjb250YWluZWQgIkB7W159XSp9IgorU3luRGlzcGxheSBtYXRjaCBpbmZvcm1BY2NlbnQgY29udGFpbmVkICJAOlthb3VBT1VlaXlFSV0iCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybUFjY2VudCBjb250YWluZWQgIkAnW2FlaW91eUFFSU9VWV0iCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybUFjY2VudCBjb250YWluZWQgIkBgW2FlaW91QUVJT1VdIgorU3luRGlzcGxheSBtYXRjaCBpbmZvcm1BY2NlbnQgY29udGFpbmVkICJAXF5bYWVpb3VBRUlPVV0iCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybUFjY2VudCBjb250YWluZWQgIkBcflthbm9BTk9dIgorU3luRGlzcGxheSBtYXRjaCBpbmZvcm1BY2NlbnQgY29udGFpbmVkICJAL1tvT10iCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybUFjY2VudCBjb250YWluZWQgIkBzc1x8QDw8XHxAPj5cfEBvYVx8QG9BXHxAYWVcfEBBRVx8QGNjXHxAY0MiCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybUFjY2VudCBjb250YWluZWQgIkB0aFx8QGV0XHxAVGhcfEBFdFx8QExMXHxAb2VcfEBPRVx8QCEhXHxAPz8iCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybUFjY2VudCBjb250YWluZWQgIkB7XHhcezEsNH19IgorU3luRGlzcGxheSBtYXRjaCBpbmZvcm1CYWRTdHJVbmljb2RlIGNvbnRhaW5lZCAiQEBcRCIKK1N5bkRpc3BsYXkgbWF0Y2ggaW5mb3JtU3RyaW5nVW5pY29kZSBjb250YWluZWQgIkBAXGRcKyIKK1N5bkRpc3BsYXkgbWF0Y2ggaW5mb3JtU3RyaW5nQ29kZSBjb250YWluZWQgIkBcZFxkIgorCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnN0YW50cy4gIE9yZGVyaW5nIGlzIGltcG9ydGFudCBoZXJlLgorc3luIHJlZ2lvbiBpbmZvcm1TdHJpbmcgc3RhcnQ9KyIrIHNraXA9K1xcXFwrIGVuZD0rIisgY29udGFpbnM9aW5mb3JtQWNjZW50LGluZm9ybVN0cmluZ1VuaWNvZGUsaW5mb3JtU3RyaW5nQ29kZSxpbmZvcm1CYWRBY2NlbnQsaW5mb3JtQmFkU3RyVW5pY29kZQorc3luIHJlZ2lvbiBpbmZvcm1EaWN0U3RyaW5nIHN0YXJ0PSInIiBlbmQ9IiciIGNvbnRhaW5zPWluZm9ybUFjY2VudCxpbmZvcm1CYWRBY2NlbnQKK1N5bkRpc3BsYXkgbWF0Y2ggaW5mb3JtQmFkRGljdFN0cmluZyAiJyciCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybURpY3RTdHJpbmcgIicnJyIKKworIiBJbnRlZ2VyIG51bWJlcnM6IGRlY2ltYWwsIGhleGFkZWNpbWFsIGFuZCBiaW5hcnkuCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybU51bWJlciAiXDxcZFwrXD4iCitTeW5EaXNwbGF5IG1hdGNoIGluZm9ybU51bWJlciAiXDxcJFx4XCtcPiIKK1N5bkRpc3BsYXkgbWF0Y2ggaW5mb3JtTnVtYmVyICJcPFwkXCRbMDFdXCtcPiIKKworIiBDb21tZW50cworc3luIG1hdGNoIGluZm9ybUNvbW1lbnQgIiEuKiIgY29udGFpbnM9aW5mb3JtVG9kbworCisiIFN5bmNyb25pemF0aW9uCitzeW4gc3luYyBtYXRjaCBpbmZvcm1TeW5jU3RyaW5nRW5kIGdyb3VwaGVyZSBOT05FIC8iWzssXVxzKiQvCitzeW4gc3luYyBtYXRjaCBpbmZvcm1TeW5jUm91dGluZUVuZCBncm91cGhlcmUgTk9ORSAvXVs7LF1ccyokLworc3luIHN5bmMgbWF0Y2ggaW5mb3JtU3luY0NvbW1lbnRFbmQgZ3JvdXBoZXJlIE5PTkUgL15ccyohLiokLworc3luIHN5bmMgbWF0Y2ggaW5mb3JtU3luY1JvdXRpbmUgZ3JvdXB0aGVyZSBpbmZvcm1HcmFtbWFyU2VjdGlvbiAiXDxWZXJiXHxFeHRlbmRcPiIKK3N5biBzeW5jIG1heGxpbmVzPTUwMAorCitkZWxjb21tYW5kIFN5bkRpc3BsYXkKKworIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaW5mb3JtX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2luZm9ybV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBpbmZvcm1EZWZpbmUJCURlZmluZQorICBIaUxpbmsgaW5mb3JtVHlwZQkJVHlwZQorICBIaUxpbmsgaW5mb3JtSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgaW5mb3JtUHJlQ29uZGl0CVByZUNvbmRpdAorICBIaUxpbmsgaW5mb3JtUHJlUHJvYwkJUHJlUHJvYworICBIaUxpbmsgaW5mb3JtR3JhbVByZVByb2MJUHJlUHJvYworICBIaUxpbmsgaW5mb3JtQXNtCQlTcGVjaWFsCisgIGlmICFleGlzdHMoImluZm9ybV9zdXBwcmVzc19vYnNvbGV0ZSIpCisgICAgSGlMaW5rIGluZm9ybUFzbU9ic29sZXRlCQlpbmZvcm1FcnJvcgorICAgIEhpTGluayBpbmZvcm1LZXl3b3JkT2Jzb2xldGUJaW5mb3JtRXJyb3IKKyAgZWxzZQorICAgIEhpTGluayBpbmZvcm1Bc21PYnNvbGV0ZQkJU3BlY2lhbAorICAgIEhpTGluayBpbmZvcm1LZXl3b3JkT2Jzb2xldGUJS2V5d29yZAorICBlbmRpZgorICBIaUxpbmsgaW5mb3JtUHJlZGljYXRlCU9wZXJhdG9yCisgIEhpTGluayBpbmZvcm1TeXNGdW5jCQlJZGVudGlmaWVyCisgIEhpTGluayBpbmZvcm1TeXNDb25zdAkJSWRlbnRpZmllcgorICBIaUxpbmsgaW5mb3JtQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGluZm9ybVJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBpbmZvcm1TdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBpbmZvcm1PcGVyYXRvcgkJT3BlcmF0b3IKKyAgSGlMaW5rIGluZm9ybUtleXdvcmQJCUtleXdvcmQKKyAgSGlMaW5rIGluZm9ybUdyYW1tYXIJCUtleXdvcmQKKyAgSGlMaW5rIGluZm9ybURpY3RTdHJpbmcJU3RyaW5nCisgIEhpTGluayBpbmZvcm1OdW1iZXIJCU51bWJlcgorICBIaUxpbmsgaW5mb3JtRXJyb3IJCUVycm9yCisgIEhpTGluayBpbmZvcm1TdHJpbmcJCVN0cmluZworICBIaUxpbmsgaW5mb3JtQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgaW5mb3JtQWNjZW50CQlTcGVjaWFsCisgIEhpTGluayBpbmZvcm1TdHJpbmdVbmljb2RlCVNwZWNpYWwKKyAgSGlMaW5rIGluZm9ybVN0cmluZ0NvZGUJU3BlY2lhbAorICBIaUxpbmsgaW5mb3JtVG9kbwkJVG9kbworICBpZiAhZXhpc3RzKCJpbmZvcm1faGlnaGxpZ2h0X3NpbXBsZSIpCisgICAgSGlMaW5rIGluZm9ybUxpYkF0dHJpYglJZGVudGlmaWVyCisgICAgSGlMaW5rIGluZm9ybUxpYlByb3AJSWRlbnRpZmllcgorICAgIEhpTGluayBpbmZvcm1MaWJPYmoJCUlkZW50aWZpZXIKKyAgICBIaUxpbmsgaW5mb3JtTGliUm91dGluZQlJZGVudGlmaWVyCisgICAgSGlMaW5rIGluZm9ybUxpYlZhcmlhYmxlCUlkZW50aWZpZXIKKyAgICBIaUxpbmsgaW5mb3JtTGliQ29uc3QJSWRlbnRpZmllcgorICAgIEhpTGluayBpbmZvcm1MaWJBY3Rpb24JSWRlbnRpZmllcgorICBlbmRpZgorICBIaUxpbmsgaW5mb3JtQmFkRGljdFN0cmluZwlpbmZvcm1FcnJvcgorICBIaUxpbmsgaW5mb3JtQmFkQWNjZW50CWluZm9ybUVycm9yCisgIEhpTGluayBpbmZvcm1CYWRTdHJVbmljb2RlCWluZm9ybUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImluZm9ybSIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2luaXR0YWIudmltIGIvcnVudGltZS9zeW50YXgvaW5pdHRhYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc0NzJmOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2luaXR0YWIudmltCkBAIC0wLDAgKzEsNzUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIFRoaXMgaXMgYSBHRU5FUkFURUQgRklMRS4gUGxlYXNlIGFsd2F5cyByZWZlciB0byBzb3VyY2UgZmlsZSBhdCB0aGUgVVJJIGJlbG93LgorIiBMYW5ndWFnZTogU3lzVi1jb21wYXRpYmxlIGluaXQgcHJvY2VzcyBjb250cm9sIGZpbGUgYGluaXR0YWInCisiIE1haW50YWluZXI6IERhdmlkIE5lXHZ7Y31hcyAoWWV0aSkgPHlldGlAcGh5c2ljcy5tdW5pLmN6PgorIiBMYXN0IENoYW5nZTogMjAwMi0wOS0xMworIiBVUkw6IGh0dHA6Ly9waHlzaWNzLm11bmkuY3ovfnlldGkvZG93bmxvYWQvc3ludGF4L2luaXR0YWIudmltCisKKyIgU2V0dXAKK2lmIHZlcnNpb24gPj0gNjAwCisgIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICAgZmluaXNoCisgIGVuZGlmCitlbHNlCisgIHN5bnRheCBjbGVhcgorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKKworIiBCYXNlIGNvbnN0cnVjdHMKK3N5biBtYXRjaCBpbml0dGFiRXJyb3IgIlteOl1cKzoibWU9ZS0xIGNvbnRhaW5lZAorc3luIG1hdGNoIGluaXR0YWJFcnJvciAiW146XVwrJCIgY29udGFpbmVkCitzeW4gbWF0Y2ggaW5pdHRhYkNvbW1lbnQgIl5bIzpdLiokIiBjb250YWlucz1pbml0dGFiRml4bWUKK3N5biBtYXRjaCBpbml0dGFiQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIGNvbnRhaW5zPWluaXR0YWJGaXhtZQorc3luIGtleXdvcmQgaW5pdHRhYkZpeG1lIEZJWE1FIFRPRE8gWFhYIE5PVAorCisiIFNoZWxsCitzeW4gcmVnaW9uIGluaXR0YWJTaFN0cmluZyBzdGFydD0rIisgZW5kPSsiKyBza2lwPStcXFxcXHxcXFwiKyBjb250YWluZWQKK3N5biByZWdpb24gaW5pdHRhYlNoU3RyaW5nIHN0YXJ0PSsnKyBlbmQ9KycrIGNvbnRhaW5lZAorc3luIG1hdGNoIGluaXR0YWJTaE9wdGlvbiAiXHNbLStdW1s6YWxudW06XV1cKyJtcz1zKzEgY29udGFpbmVkCitzeW4gbWF0Y2ggaW5pdHRhYlNoT3B0aW9uICJccy0tWzphbG51bTpdWy1bOmFsbnVtOl1dKiJtcz1zKzEgY29udGFpbmVkCitzeW4gbWF0Y2ggaW5pdHRhYlNoQ29tbWFuZCAiL1xTXCsiIGNvbnRhaW5lZAorc3luIGNsdXN0ZXIgaW5pdHRhYlNoIGFkZD1pbml0dGFiU2hPcHRpb24saW5pdHRhYlNoU3RyaW5nLGluaXR0YWJTaENvbW1hbmQKKworIiBLZXl3b3Jkcworc3luIGtleXdvcmQgaW5pdHRhYkFjdGlvbk5hbWUgcmVzcGF3biB3YWl0IG9uY2UgYm9vdCBib290d2FpdCBvZmYgb25kZW1hbmQgc3lzaW5pdCBwb3dlcndhaXQgcG93ZXJmYWlsIHBvd2Vyb2t3YWl0IHBvd2VyZmFpbG5vdyBjdHJsYWx0ZGVsIGticmVxdWVzdCBpbml0ZGVmYXVsdCBjb250YWluZWQKKworIiBMaW5lIHBhcnNlcgorc3luIG1hdGNoIGluaXR0YWJJZCAiXltbOmFsbnVtOl1+XVx7MSw0fSIgbmV4dGdyb3VwPWluaXR0YWJDb2xvblJ1bkxldmVscyxpbml0dGFiRXJyb3IKK3N5biBtYXRjaCBpbml0dGFiQ29sb25SdW5MZXZlbHMgIjoiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9aW5pdHRhYlJ1bkxldmVscyxpbml0dGFiQ29sb25BY3Rpb24saW5pdHRhYkVycm9yCitzeW4gbWF0Y2ggaW5pdHRhYlJ1bkxldmVscyAiWzAtNkEtQ2EtY1NzXVwrIiBjb250YWluZWQgbmV4dGdyb3VwPWluaXR0YWJDb2xvbkFjdGlvbixpbml0dGFiRXJyb3IKK3N5biBtYXRjaCBpbml0dGFiQ29sb25BY3Rpb24gIjoiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9aW5pdHRhYkFjdGlvbixpbml0dGFiRXJyb3IKK3N5biBtYXRjaCBpbml0dGFiQWN0aW9uICJcd1wrIiBjb250YWluZWQgbmV4dGdyb3VwPWluaXR0YWJDb2xvblByb2Nlc3MsaW5pdHRhYkVycm9yIGNvbnRhaW5zPWluaXR0YWJBY3Rpb25OYW1lCitzeW4gbWF0Y2ggaW5pdHRhYkNvbG9uUHJvY2VzcyAiOiIgY29udGFpbmVkIG5leHRncm91cD1pbml0dGFiUHJvY2Vzc1BsdXMsaW5pdHRhYlByb2Nlc3MsaW5pdHRhYkVycm9yCitzeW4gbWF0Y2ggaW5pdHRhYlByb2Nlc3NQbHVzICIrIiBjb250YWluZWQgbmV4dGdyb3VwPWluaXR0YWJQcm9jZXNzLGluaXR0YWJFcnJvcgorc3luIHJlZ2lvbiBpbml0dGFiUHJvY2VzcyBzdGFydD0iLyIgZW5kPSIkIiB0cmFuc3BhcmVudCBvbmVsaW5lIGNvbnRhaW5lZCBjb250YWlucz1AaW5pdHRhYlNoLGluaXR0YWJDb21tZW50CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2luaXR0YWJfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfaW5pdHRhYl9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBpbml0dGFiQ29tbWVudCBDb21tZW50CisgIEhpTGluayBpbml0dGFiRml4bWUgVG9kbworICBIaUxpbmsgaW5pdHRhYkFjdGlvbk5hbWUgVHlwZQorICBIaUxpbmsgaW5pdHRhYkVycm9yIEVycm9yCisgIEhpTGluayBpbml0dGFiSWQgSWRlbnRpZmllcgorICBIaUxpbmsgaW5pdHRhYlJ1bkxldmVscyBTcGVjaWFsCisKKyAgSGlMaW5rIGluaXR0YWJDb2xvblByb2Nlc3MgaW5pdHRhYkNvbG9uCisgIEhpTGluayBpbml0dGFiQ29sb25BY3Rpb24gaW5pdHRhYkNvbG9uCisgIEhpTGluayBpbml0dGFiQ29sb25SdW5MZXZlbHMgaW5pdHRhYkNvbG9uCisgIEhpTGluayBpbml0dGFiQ29sb24gUHJlUHJvYworCisgIEhpTGluayBpbml0dGFiU2hTdHJpbmcgU3RyaW5nCisgIEhpTGluayBpbml0dGFiU2hPcHRpb24gU3BlY2lhbAorICBIaUxpbmsgaW5pdHRhYlNoQ29tbWFuZCBTdGF0ZW1lbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaW5pdHRhYiIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2lwZmlsdGVyLnZpbSBiL3J1bnRpbWUvc3ludGF4L2lwZmlsdGVyLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWU2ZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaXBmaWx0ZXIudmltCkBAIC0wLDAgKzEsNDMgQEAKKyIgaXBmaWx0ZXIgc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6IGlwZmlsdGVyIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiBIZW5kcmlrIFNjaG9seiA8aGVuZHJpa0BzY2hvbHoubmV0PgorIiBMYXN0IENoYW5nZTogMjAwMyBNYXkgMTEKKyIKKyIgaHR0cDovL3JhaXNkb3JmLm5ldC9maWxlcy9taXNjL2lwZmlsdGVyLnZpbQorIgorIiBUaGlzIHdpbGwgYWxzbyB3b3JrIGZvciBPcGVuQlNEIHBmIGJ1dCB0aGVyZSBtaWdodCBiZSBzb21lIHRhZ3MgdGhhdCBhcmUKKyIgbm90IGNvcnJlY3RseSBpZGVudGlmaWVkLgorIiBQbGVhc2Ugc2VuZCBjb21tZW50cyB0byBoZW5kcmlrQHNjaG9sei5uZXQKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGNvbW1lbnRzCitzeW4gbWF0Y2ggaXBmQ29tbWVudCAvIy8KKyJzeW4gbWF0Y2ggaXBmQ29tbWVudCAvIy4qLworCitzeW4ga2V5d29yZCBpcGZRdWljayBxdWljayBsb2cgZHVwLXRvCitzeW4ga2V5d29yZCBpcGZBbnkgYWxsIGFueQorIiBydWxlIEFjdGlvbiB0eXBlCitzeW4gcmVnaW9uIGlwZkFjdGlvbkJsb2NrIHN0YXJ0PS9eYmxvY2svIGVuZD0vJC8gY29udGFpbnM9aXBmUXVpY2ssaXBmQW55CitzeW4gcmVnaW9uIGlwZkFjdGlvblBhc3MgIHN0YXJ0PS9ecGFzcy8gZW5kPS8kLyBjb250YWlucz1pcGZRdWljayxpcGZBbnkKK3N5biByZWdpb24gaXBmQWN0aW9uTWlzYyAgc3RhcnQ9L15sb2cvIGVuZD0vJC8gY29udGFpbnM9aXBmUXVpY2ssaXBmQW55CitzeW4gcmVnaW9uIGlwZkFjdGlvbk1pc2MgIHN0YXJ0PS9eY291bnQvIGVuZD0vJC8gY29udGFpbnM9aXBmUXVpY2ssaXBmQW55CitzeW4gcmVnaW9uIGlwZkFjdGlvbk1pc2MgIHN0YXJ0PS9ec2tpcC8gZW5kPS8kLyBjb250YWlucz1pcGZRdWljayxpcGZBbnkKK3N5biByZWdpb24gaXBmQWN0aW9uTWlzYyAgc3RhcnQ9L15hdXRoLyBlbmQ9LyQvIGNvbnRhaW5zPWlwZlF1aWNrLGlwZkFueQorc3luIHJlZ2lvbiBpcGZBY3Rpb25NaXNjICBzdGFydD0vXmNhbGwvIGVuZD0vJC8gY29udGFpbnM9aXBmUXVpY2ssaXBmQW55CisKK2hpIGRlZiBsaW5rIGlwZkNvbW1lbnQJCUNvbW1lbnQKK2hpIGRlZiBsaW5rIGlwZkFjdGlvbkJsb2NrCVN0cmluZworaGkgZGVmIGxpbmsgaXBmQWN0aW9uUGFzcwlUeXBlCitoaSBkZWYgbGluayBpcGZBY3Rpb25NaXNjCUxhYmVsCisiaGkgZGVmIGxpbmsgaXBmUXVpY2sJCUVycm9yCitoaSBkZWYgbGluayBpcGZRdWljawkJU3BlY2lhbAoraGkgZGVmIGxpbmsgaXBmQW55CQlUb2RvCisKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaXNoZC52aW0gYi9ydW50aW1lL3N5bnRheC9pc2hkLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzAxMWYxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaXNoZC52aW0KQEAgLTAsMCArMSw0MjIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglJbnN0YWxsU2hpZWxkIFNjcmlwdAorIiBNYWludGFpbmVyOglSb2JlcnQgTS4gQ29ydG9wYXNzaSA8Y29ydG9wYXJAbWluZHNwcmluZy5jb20+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBrZXl3b3JkIGlzaGRTdGF0ZW1lbnQgYWJvcnQgYmVnaW4gY2FzZSBkZWZhdWx0IGRvd250byBlbHNlIGVuZAorc3luIGtleXdvcmQgaXNoZFN0YXRlbWVudCBlbmRpZiBlbmRmb3IgZW5kd2hpbGUgZW5kc3dpdGNoIGVuZHByb2dyYW0gZXhpdCBlbHNlaWYKK3N5biBrZXl3b3JkIGlzaGRTdGF0ZW1lbnQgZXJyb3IgZm9yIGZ1bmN0aW9uIGdvdG8gaWYKK3N5biBrZXl3b3JkIGlzaGRTdGF0ZW1lbnQgcHJvZ3JhbSBwcm90b3R5cGUgcmV0dXJuIHJlcGVhdCBzdHJpbmcgc3RlcCBzd2l0Y2gKK3N5biBrZXl3b3JkIGlzaGRTdGF0ZW1lbnQgc3RydWN0IHRoZW4gdG8gdHlwZWRlZiB1bnRpbCB3aGlsZQorCitzeW4ga2V5d29yZCBpc2hkVHlwZSBCT09MIEJZUkVGIENIQVIgR0RJIEhXTkQgSU5UIEtFUk5FTCBMSVNUIExPTkcKK3N5biBrZXl3b3JkIGlzaGRUeXBlIE5VTUJFUiBQT0lOVEVSIFNIT1JUIFNUUklORyBVU0VSCisKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBfTUFYX0xFTkdUSCBfTUFYX1NUUklORworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEFGVEVSIEFMTENPTlRFTlRTIEFMTENPTlRST0xTIEFQUEVORCBBU0tERVNUUEFUSAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEFTS09QVElPTlMgQVNLUEFUSCBBU0tURVhUIEJBVENIX0lOU1RBTEwgQkFDSworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEJBQ0tCVVRUT04gQkFDS0dST1VORCBCQUNLR1JPVU5EQ0FQVElPTiBCQURQQVRICitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQkFEVEFHRklMRSBCQVNFTUVNT1JZIEJFRk9SRSBCSUxMQk9BUkQgQklOQVJZCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQklUTUFQMjU2Q09MT1JTIEJJVE1BUEZBREUgQklUTUFQSUNPTiBCS19CTFVFIEJLX0dSRUVOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQktfTUFHRU5UQSBCS19NQUdFTlRBMSBCS19PUkFOR0UgQktfUElOSyBCS19SRUQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBCS19TTU9PVEggQktfU09MSURCTEFDSyAgQktfU09MSURCTFVFIEJLX1NPTElER1JFRU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBCS19TT0xJRE1BR0VOVEEgQktfU09MSURPUkFOR0UgQktfU09MSURQSU5LIEJLX1NPTElEUkVECitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQktfU09MSURXSElURSBCS19TT0xJRFlFTExPVyBCS19ZRUxMT1cgQkxBQ0sgQkxVRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEJPT1RVUERSSVZFIEJVVFRPTl9DSEVDS0VEIEJVVFRPTl9FTlRFUiBCVVRUT05fVU5DSEVDS0VECitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQlVUVE9OX1VOS05PV04gQ01ETElORSBDT01NT05GSUxFUyBDQU5DRUwgQ0FOQ0VMQlVUVE9OCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ0NfRVJSX0ZJTEVGT1JNQVRFUlJPUiBDQ19FUlJfRklMRVJFQURFUlJPUgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENDX0VSUl9OT0NPTVBPTkVOVExJU1QgQ0NfRVJSX09VVE9GTUVNT1JZIENEUk9NCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ0RST01fRFJJVkUgQ0VOVEVSRUQgQ0hBTkdFRElSIENIRUNLQk9YIENIRUNLQk9YOTUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDSEVDS0xJTkUgQ0hFQ0tNQVJLIENNRF9DTE9TRSBDTURfTUFYSU1JWkUgQ01EX01JTklNSVpFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ01EX1BVU0hET1dOIENNRF9SRVNUT1JFIENPTE9STU9ERTI1NiBDT0xPUlMKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01CT0JPWF9FTlRFUiBDT01CT0JPWF9TRUxFQ1QgQ09NTUFORCBDT01NQU5ERVgKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01NT04gQ09NUF9ET05FIENPTVBfRVJSX0NSRUFURURJUgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBfRVJSX0RFU1RDT05GTElDVCBDT01QX0VSUl9GSUxFTk9USU5MSUIKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QX0VSUl9GSUxFU0laRSBDT01QX0VSUl9GSUxFVE9PTEFSR0UKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QX0VSUl9IRUFERVIgQ09NUF9FUlJfSU5DT01QQVRJQkxFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUF9FUlJfSU5UUFVUTk9UQ09NUFJFU1NFRCBDT01QX0VSUl9JTlZBTElETElTVAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBfRVJSX0xBVU5DSFNFUlZFUiBDT01QX0VSUl9NRU1PUlkKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QX0VSUl9OT0RJU0tTUEFDRSBDT01QX0VSUl9PUEVOSU5QVVQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QX0VSUl9PUEVOT1VUUFVUIENPTVBfRVJSX09QVElPTlMKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QX0VSUl9PVVRQVVROT1RDT01QUkVTU0VEIENPTVBfRVJSX1NQTElUCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUF9FUlJfVEFSR0VUIENPTVBfRVJSX1RBUkdFVFJFQURPTkxZIENPTVBfRVJSX1dSSVRFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUF9JTkZPX0FUVFJJQlVURSBDT01QX0lORk9fQ09NUFNJWkUgQ09NUF9JTkZPX0RBVEUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QX0lORk9fSU5WQUxJREFURVBBU1NXT1JEIENPTVBfSU5GT19PUklHU0laRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBfSU5GT19TRVRQQVNTV09SRCBDT01QX0lORk9fVElNRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBfSU5GT19WRVJTSU9OTFMgQ09NUF9JTkZPX1ZFUlNJT05NUyBDT01QX05PUk1BTAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBfVVBEQVRFX0RBVEUgQ09NUF9VUERBVEVfREFURV9ORVdFUgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBfVVBEQVRFX1NBTUUgQ09NUF9VUERBVEVfVkVSU0lPTiBDT01QQUNUCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUEFSRV9EQVRFIENPTVBBUkVfU0laRSBDT01QQVJFX1ZFUlNJT04KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklFTERfQ0RST01fRk9MREVSCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX0ZJRUxEX0RFU0NSSVBUSU9OIENPTVBPTkVOVF9GSUVMRF9ERVNUSU5BVElPTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBPTkVOVF9GSUVMRF9ESVNQTEFZTkFNRSBDT01QT05FTlRfRklFTERfRklMRU5FRUQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklFTERfRlRQTE9DQVRJT04KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklFTERfSFRUUExPQ0FUSU9OIENPTVBPTkVOVF9GSUVMRF9NSVNDCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX0ZJRUxEX09WRVJXUklURSBDT01QT05FTlRfRklFTERfUEFTU1dPUkQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklFTERfU0VMRUNURUQgQ09NUE9ORU5UX0ZJRUxEX1NJWkUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklFTERfU1RBVFVTIENPTVBPTkVOVF9GSUVMRF9WSVNJQkxFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX0ZJTEVJTkZPX0NPTVBSRVNTRUQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklMRUlORk9fQ09NUFJFU1NFTkdJTkUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklMRUlORk9fTEFOR1VBR0VDT01QT05FTlRfRklMRUlORk9fT1MKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklMRUlORk9fUE9URU5USUFMTFlMT0NLRUQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklMRUlORk9fU0VMRlJFR0lTVEVSSU5HCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX0ZJTEVJTkZPX1NIQVJFRCBDT01QT05FTlRfSU5GT19BVFRSSUJVVEUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfSU5GT19DT01QU0laRSBDT01QT05FTlRfSU5GT19EQVRFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX0lORk9fREFURV9FWF9FWCBDT01QT05FTlRfSU5GT19MQU5HVUFHRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBPTkVOVF9JTkZPX09SSUdTSVpFIENPTVBPTkVOVF9JTkZPX09TCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX0lORk9fVElNRSBDT01QT05FTlRfSU5GT19WRVJTSU9OTFMKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfSU5GT19WRVJTSU9OTVMgQ09NUE9ORU5UX0lORk9fVkVSU0lPTlNUUgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBPTkVOVF9WQUxVRV9BTFdBWVNPVkVSV1JJVEUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfVkFMVUVfQ1JJVElDQUwKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfVkFMVUVfSElHSExZUkVDT01NRU5ERUQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfRklMRUlORk9fTEFOR1VBR0UgQ09NUE9ORU5UX0ZJTEVJTkZPX09TCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX1ZBTFVFX05FVkVST1ZFUldSSVRFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX1ZBTFVFX05FV0VSREFURSBDT01QT05FTlRfVkFMVUVfTkVXRVJWRVJTSU9OCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX1ZBTFVFX09MREVSREFURSBDT01QT05FTlRfVkFMVUVfT0xERVJWRVJTSU9OCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX1ZBTFVFX1NBTUVPUk5FV0RBVEUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfVkFMVUVfU0FNRU9STkVXRVJWRVJTSU9OCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX1ZBTFVFX1NUQU5EQVJEIENPTVBPTkVOVF9WSUVXX0NIQU5HRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBPTkVOVF9JTkZPX0RBVEVfRVggQ09NUE9ORU5UX1ZJRVdfQ0hJTERWSUVXCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX1ZJRVdfQ09NUE9ORU5UIENPTVBPTkVOVF9WSUVXX0RFU0NSSVBUSU9OCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09NUE9ORU5UX1ZJRVdfTUVESUEgQ09NUE9ORU5UX1ZJRVdfUEFSRU5UVklFVworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPTVBPTkVOVF9WSUVXX1NJWkVBVkFJTCBDT01QT05FTlRfVklFV19TSVpFVE9UQUwKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QT05FTlRfVklFV19UQVJHRVRMT0NBVElPTiBDT01QUkVTU0hJR0ggQ09NUFJFU1NMT1cKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBDT01QUkVTU01FRCBDT01QUkVTU05PTkUgQ09OVElHVU9VUyBDT05USU5VRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPUFlfRVJSX0NSRUFURURJUiBDT1BZX0VSUl9OT0RJU0tTUEFDRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IENPUFlfRVJSX09QRU5JTlBVVCBDT1BZX0VSUl9PUEVOT1VUUFVUCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09QWV9FUlJfVEFSR0VUUkVBRE9OTFkgQ09QWV9FUlJfTUVNT1JZCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgQ09SRUNPTVBPTkVOVEhBTkRMSU5HIENQVSBDVVNUT00gREFUQV9DT01QT05FTlQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBEQVRBX0xJU1QgREFUQV9OVU1CRVIgREFUQV9TVFJJTkcgREFURSBERUZBVUxUCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgREVGV0lORE9XTU9ERSBERUxFVEVfRU9GIERJQUxPRyBESUFMT0dDQUNIRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IERJQUxPR1RISU5GT05UIERJUl9XUklURUFCTEUgRElSRUNUT1JZIERJU0FCTEUgRElTSworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IERJU0tfRlJFRVNQQUNFIERJU0tfVE9UQUxTUEFDRSBESVNLSUQgRExHX0FTS19PUFRJT05TCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRExHX0FTS19QQVRIIERMR19BU0tfVEVYVCBETEdfQVNLX1lFU05PIERMR19DQU5DRUwKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBETEdfQ0RJUiBETEdfQ0RJUl9NU0cgRExHX0NFTlRFUkVEIERMR19DTE9TRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IERMR19ESVJfRElSRUNUT1JZIERMR19ESVJfRklMRSBETEdfRU5URVJfRElTSyBETEdfRVJSCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRExHX0VSUl9BTFJFQURZX0VYSVNUUyBETEdfRVJSX0VORERMRyBETEdfSU5GT19BTFRJTUFHRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IERMR19JTkZPX0NIRUNLTUVUSE9EIERMR19JTkZPX0NIRUNLU0VMRUNUSU9OCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRExHX0lORk9fRU5BQkxFSU1BR0UgRExHX0lORk9fS1VOSVRTCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRExHX0lORk9fVVNFREVDSU1BTCBETEdfSU5JVCBETEdfTVNHX0FMTAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IERMR19NU0dfSU5GT1JNQVRJT04gRExHX01TR19OT1RfSEFORCBETEdfTVNHX1NFVkVSRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IERMR19NU0dfU1RBTkRBUkQgRExHX01TR19XQVJOSU5HIERMR19PSyBETEdfU1RBVFVTCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRExHX1VTRVJfQ0FQVElPTiBEUklWRSBEUklWRU9QRU4gRExHX0RJUl9EUklWRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEVESVRCT1hfQ0hBTkdFIEVGRl9CT1hTVFJJUEUgRUZGX0ZBREUgRUZGX0hPUlpSRVZFQUwKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBFRkZfSE9SWlNUUklQRSBFRkZfTk9ORSBFRkZfUkVWRUFMIEVGRl9WRVJUU1RSSVBFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRU5BQkxFIEVORF9PRl9GSUxFIEVORF9PRl9MSVNUIEVOSEFOQ0VEIEVOVEVSRElTSworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEVOVEVSRElTS19FUlJNU0cgRU5URVJESVNLQkVFUCBFTlZTUEFDRSBFUVVBTFMKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBFUlJfQkFEUEFUSCBFUlJfQkFEVEFHRklMRSBFUlJfQk9YX0JBRFBBVEgKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBFUlJfQk9YX0JBRFRBR0ZJTEUgRVJSX0JPWF9ESVNLSUQgRVJSX0JPWF9EUklWRU9QRU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBFUlJfQk9YX0VYSVQgRVJSX0JPWF9IRUxQIEVSUl9CT1hfTk9TUEFDRSBFUlJfQk9YX1BBVVNFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRVJSX0JPWF9SRUFET05MWSBFUlJfRElTS0lEIEVSUl9EUklWRU9QRU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBFWENMVURFX1NVQkRJUiBFWENMVVNJVkUgRVhJU1RTIEVYSVQgRVhURU5ERURNRU1PUlkKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBFWFRFTlNJT05fT05MWSBFUlJPUkZJTEVOQU1FIEZBREVfSU4gRkFERV9PVVQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBGQUlMSUZFWElTVFMgRkFMU0UgRkRSSVZFX05VTSBGRUVEQkFDSyBGRUVEQkFDS19GVUxMCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRkVFREJBQ0tfT1BFUkFUSU9OIEZFRURCQUNLX1NQQUNFIEZJTEVfQVRUUl9BUkNISVZFRAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEZJTEVfQVRUUl9ESVJFQ1RPUlkgRklMRV9BVFRSX0hJRERFTiBGSUxFX0FUVFJfTk9STUFMCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRklMRV9BVFRSX1JFQURPTkxZIEZJTEVfQVRUUl9TWVNURU0gRklMRV9BVFRSSUJVVEUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBGSUxFX0JJTl9DVVIgRklMRV9CSU5fRU5EIEZJTEVfQklOX1NUQVJUIEZJTEVfREFURQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEZJTEVfRVhJU1RTIEZJTEVfSU5TVEFMTEVEIEZJTEVfSU5WQUxJRCBGSUxFX0lTX0xPQ0tFRAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEZJTEVfTElORV9MRU5HVEggRklMRV9MT0NLRUQgRklMRV9NT0RFX0FQUEVORAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEZJTEVfTU9ERV9CSU5BUlkgRklMRV9NT0RFX0JJTkFSWVJFQURPTkxZCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRklMRV9NT0RFX05PUk1BTCBGSUxFX05PX1ZFUlNJT04gRklMRV9OT1RfRk9VTkQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBGSUxFX1JEX09OTFkgRklMRV9TSVpFIEZJTEVfU1JDX0VRVUFMIEZJTEVfU1JDX09MRAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEZJTEVfVElNRSBGSUxFX1dSSVRFQUJMRSBGSUxFTkFNRSBGSUxFTkFNRV9PTkxZCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRklOSVNIQlVUVE9OIEZJWEVEX0RSSVZFIEZPTlRfVElUTEUgRlJFRUVOVlNQQUNFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRlNfQ1JFQVRFRElSIEZTX0RJU0tPTkVSRVFVSVJFRCBGU19ET05FIEZTX0ZJTEVOT1RJTkxJQgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEZTX0dFTkVSUk9SIEZTX0lOQ09SUkVDVERJU0sgRlNfTEFVTkNIUFJPQ0VTUworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEZTX09QRVJST1IgRlNfT1VUT0ZTUEFDRSBGU19QQUNLQUdJTkcgRlNfUkVTRVRSRVFVSVJFRAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEZTX1RBUkdFVFJFQURPTkxZIEZTX1RPTkVYVERJU0sgRlVMTCBGVUxMU0NSRUVOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgRlVMTFNDUkVFTlNJWkUgRlVMTFdJTkRPV01PREUgRk9MREVSX0RFU0tUT1AKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBGT0xERVJfUFJPR1JBTVMgRk9MREVSX1NUQVJUTUVOVSBGT0xERVJfU1RBUlRVUAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IEdSRUFURVJfVEhBTiBHUkVFTiBIRUxQIEhLRVlfQ0xBU1NFU19ST09UCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSEtFWV9DVVJSRU5UX0NPTkZJRyBIS0VZX0NVUlJFTlRfVVNFUiBIS0VZX0RZTl9EQVRBCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSEtFWV9MT0NBTF9NQUNISU5FIEhLRVlfUEVSRk9STUFOQ0VfREFUQSBIS0VZX1VTRVJTCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSE9VUkdMQVNTIEhXTkRfREVTS1RPUCBIV05EX0lOU1RBTEwgSUdOT1JFX1JFQURPTkxZCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSU5DTFVERV9TVUJESVIgSU5EVkZJTEVTVEFUVVMgSU5GTyBJTkZPX0RFU0NSSVBUSU9OCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSU5GT19JTUFHRSBJTkZPX01JU0MgSU5GT19TSVpFIElORk9fU1VCQ09NUE9ORU5UCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSU5GT19WSVNJQkxFIElORk9STUFUSU9OIElOVkFMSURfTElTVCBJU18xODYgSVNfMjg2CitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNfMzg2IElTXzQ4NiBJU184NTE0QSBJU184NiBJU19BTFBIQSBJU19DRFJPTSBJU19DR0EKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU19ET1MgSVNfRUdBIElTX0ZJWEVEIElTX0ZPTERFUiBJU19JVEVNIElTTEFOR19BTEwKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfQVJBQklDIElTTEFOR19BUkFCSUNfU0FVRElBUkFCSUEKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfQVJBQklDX0lSQVEgSVNMQU5HX0FSQUJJQ19FR1lQVAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19BUkFCSUNfTElCWUEgSVNMQU5HX0FSQUJJQ19BTEdFUklBCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0FSQUJJQ19NT1JPQ0NPIElTTEFOR19BUkFCSUNfVFVOSVNJQQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19BUkFCSUNfT01BTiBJU0xBTkdfQVJBQklDX1lFTUVOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0FSQUJJQ19TWVJJQSBJU0xBTkdfQVJBQklDX0pPUkRBTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19BUkFCSUNfTEVCQU5PTiBJU0xBTkdfQVJBQklDX0tVV0FJVAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19BUkFCSUNfVUFFIElTTEFOR19BUkFCSUNfQkFIUkFJTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19BUkFCSUNfUUFUQVIgSVNMQU5HX0FGUklLQUFOUworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19BRlJJS0FBTlNfU1RBTkRBUkQgSVNMQU5HX0FMQkFOSUFOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0VOR0xJU0hfVFJJTklEQUQgSVNMQU5HX0FMQkFOSUFOX1NUQU5EQVJECitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0JBU1FVRSBJU0xBTkdfQkFTUVVFX1NUQU5EQVJEIElTTEFOR19CVUxHQVJJQU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfQlVMR0FSSUFOX1NUQU5EQVJEIElTTEFOR19CRUxBUlVTSUFOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0JFTEFSVVNJQU5fU1RBTkRBUkQgSVNMQU5HX0NBVEFMQU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfQ0FUQUxBTl9TVEFOREFSRCBJU0xBTkdfQ0hJTkVTRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19DSElORVNFX1RBSVdBTiBJU0xBTkdfQ0hJTkVTRV9QUkMKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfU1BBTklTSF9QVUVSVE9SSUNPIElTTEFOR19DSElORVNFX0hPTkdLT05HCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0NISU5FU0VfU0lOR0FQT1JFIElTTEFOR19DUk9BVElBTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19DUk9BVElBTl9TVEFOREFSRCBJU0xBTkdfQ1pFQ0gKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfQ1pFQ0hfU1RBTkRBUkQgSVNMQU5HX0RBTklTSAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19EQU5JU0hfU1RBTkRBUkQgSVNMQU5HX0RVVENICitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0RVVENIX1NUQU5EQVJEIElTTEFOR19EVVRDSF9CRUxHSUFOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0VOR0xJU0ggSVNMQU5HX0VOR0xJU0hfQkVMSVpFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0VOR0xJU0hfVU5JVEVEU1RBVEVTCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0VOR0xJU0hfVU5JVEVES0lOR0RPTSBJU0xBTkdfRU5HTElTSF9BVVNUUkFMSUFOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0VOR0xJU0hfQ0FOQURJQU4gSVNMQU5HX0VOR0xJU0hfTkVXWkVBTEFORAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19FTkdMSVNIX0lSRUxBTkQgSVNMQU5HX0VOR0xJU0hfU09VVEhBRlJJQ0EKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfRU5HTElTSF9KQU1BSUNBIElTTEFOR19FTkdMSVNIX0NBUklCQkVBTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19FU1RPTklBTiBJU0xBTkdfRVNUT05JQU5fU1RBTkRBUkQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfRkFFUk9FU0UgSVNMQU5HX0ZBRVJPRVNFX1NUQU5EQVJEIElTTEFOR19GQVJTSQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19GSU5OSVNIIElTTEFOR19GSU5OSVNIX1NUQU5EQVJEIElTTEFOR19GUkVOQ0gKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfRlJFTkNIX1NUQU5EQVJEIElTTEFOR19GUkVOQ0hfQkVMR0lBTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19GUkVOQ0hfQ0FOQURJQU4gSVNMQU5HX0ZSRU5DSF9TV0lTUworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19GUkVOQ0hfTFVYRU1CT1VSRyBJU0xBTkdfRkFSU0lfU1RBTkRBUkQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfR0VSTUFOIElTTEFOR19HRVJNQU5fU1RBTkRBUkQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfR0VSTUFOX1NXSVNTIElTTEFOR19HRVJNQU5fQVVTVFJJQU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfR0VSTUFOX0xVWEVNQk9VUkcgSVNMQU5HX0dFUk1BTl9MSUVDSFRFTlNURUlOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0dSRUVLIElTTEFOR19HUkVFS19TVEFOREFSRCBJU0xBTkdfSEVCUkVXCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0hFQlJFV19TVEFOREFSRCBJU0xBTkdfSFVOR0FSSUFOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0hVTkdBUklBTl9TVEFOREFSRCBJU0xBTkdfSUNFTEFORElDCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0lDRUxBTkRJQ19TVEFOREFSRCBJU0xBTkdfSU5ET05FU0lBTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19JTkRPTkVTSUFOX1NUQU5EQVJEIElTTEFOR19JVEFMSUFOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0lUQUxJQU5fU1RBTkRBUkQgSVNMQU5HX0lUQUxJQU5fU1dJU1MKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfSkFQQU5FU0UgSVNMQU5HX0pBUEFORVNFX1NUQU5EQVJEIElTTEFOR19LT1JFQU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfS09SRUFOX1NUQU5EQVJEICBJU0xBTkdfS09SRUFOX0pPSEFCCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX0xBVFZJQU4gSVNMQU5HX0xBVFZJQU5fU1RBTkRBUkQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfTElUSFVBTklBTiBJU0xBTkdfTElUSFVBTklBTl9TVEFOREFSRAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19OT1JXRUdJQU4gSVNMQU5HX05PUldFR0lBTl9CT0tNQUwKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfTk9SV0VHSUFOX05ZTk9SU0sgSVNMQU5HX1BPTElTSAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19QT0xJU0hfU1RBTkRBUkQgSVNMQU5HX1BPUlRVR1VFU0UKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfUE9SVFVHVUVTRV9CUkFaSUxJQU4gSVNMQU5HX1BPUlRVR1VFU0VfU1RBTkRBUkQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfUk9NQU5JQU4gSVNMQU5HX1JPTUFOSUFOX1NUQU5EQVJEIElTTEFOR19SVVNTSUFOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX1JVU1NJQU5fU1RBTkRBUkQgSVNMQU5HX1NMT1ZBSworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19TTE9WQUtfU1RBTkRBUkQgSVNMQU5HX1NMT1ZFTklBTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19TTE9WRU5JQU5fU1RBTkRBUkQgSVNMQU5HX1NFUkJJQU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfU0VSQklBTl9MQVRJTiBJU0xBTkdfU0VSQklBTl9DWVJJTExJQworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19TUEFOSVNIIElTTEFOR19TUEFOSVNIX0FSR0VOVElOQQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19TUEFOSVNIX0JPTElWSUEgSVNMQU5HX1NQQU5JU0hfQ0hJTEUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfU1BBTklTSF9DT0xPTUJJQSBJU0xBTkdfU1BBTklTSF9DT1NUQVJJQ0EKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfU1BBTklTSF9ET01JTklDQU5SRVBVQkxJQyBJU0xBTkdfU1BBTklTSF9FQ1VBRE9SCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX1NQQU5JU0hfRUxTQUxWQURPUiBJU0xBTkdfU1BBTklTSF9HVUFURU1BTEEKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfU1BBTklTSF9IT05EVVJBUyBJU0xBTkdfU1BBTklTSF9NRVhJQ0FOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX1RIQUlfU1RBTkRBUkQgSVNMQU5HX1NQQU5JU0hfTU9ERVJOU09SVAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19TUEFOSVNIX05JQ0FSQUdVQSBJU0xBTkdfU1BBTklTSF9QQU5BTUEKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfU1BBTklTSF9QQVJBR1VBWSBJU0xBTkdfU1BBTklTSF9QRVJVCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSUlTTEFOR19TUEFOSVNIX1BVRVJUT1JJQ08KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfU1BBTklTSF9UUkFESVRJT05BTFNPUlQgSVNMQU5HX1NQQU5JU0hfVkVORVpVRUxBCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX1NQQU5JU0hfVVJVR1VBWSBJU0xBTkdfU1dFRElTSAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19TV0VESVNIX0ZJTkxBTkQgSVNMQU5HX1NXRURJU0hfU1RBTkRBUkQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfVEhBSSBJU0xBTkdfVEhBX1NUQU5EQVJESSBJU0xBTkdfVFVSS0lTSAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTTEFOR19UVVJLSVNIX1NUQU5EQVJEIElTTEFOR19VS1JBSU5JQU4KK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU0xBTkdfVUtSQUlOSUFOX1NUQU5EQVJEIElTTEFOR19WSUVUTkFNRVNFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNMQU5HX1ZJRVROQU1FU0VfU1RBTkRBUkQgSVNfTUlQUyBJU19NT05PIElTX09TMgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTT1NMX0FMTCBJU09TTF9XSU4zMSBJU09TTF9XSU45NSBJU09TTF9OVDM1MQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTT1NMX05UMzUxX0FMUEhBIElTT1NMX05UMzUxX01JUFMgSVNPU0xfTlQzNTFfUFBDCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgSVNPU0xfTlQ0MCBJU09TTF9OVDQwX0FMUEhBIElTT1NMX05UNDBfTUlQUworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTT1NMX05UNDBfUFBDIElTX1BFTlRJVU0gSVNfUE9XRVJQQyBJU19SQU1EUklWRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTX1JFTU9URSBJU19SRU1PVkFCTEUgSVNfU1ZHQSBJU19VTktOT1dOIElTX1VWR0EKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU19WQUxJRF9QQVRIIElTX1ZHQSBJU19XSU4zMlMgSVNfV0lORE9XUyBJU19XSU5ET1dTOTUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBJU19XSU5ET1dTTlQgSVNfV0lOT1MyIElTX1hWR0EgSVNUWVBFIElORk9GSUxFTkFNRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IElTUkVTIElTVVNFUiBJU1ZFUlNJT04gTEFOR1VBR0UgTEFOR1VBR0VfRFJWIExFU1NfVEhBTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IExJTkVfTlVNQkVSIExJU1RCT1hfRU5URVIgTElTVEJPWF9TRUxFQ1QgTElTVEZJUlNUCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgTElTVExBU1QgTElTVE5FWFQgTElTVFBSRVYgTE9DS0VERklMRSBMT0dHSU5HCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgTE9XRVJfTEVGVCBMT1dFUl9SSUdIVCBMSVNUX05VTEwgTUFHRU5UQSBNQUlOQ0FQVElPTgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IE1BVEhfQ09QUk9DRVNTT1IgTUFYX1NUUklORyBNRU5VIE1FVEFGSUxFIE1NRURJQV9BVkkKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBNTUVESUFfTUlESSBNTUVESUFfUExBWUFTWU5DSCBNTUVESUFfUExBWUNPTlRJTlVPVVMKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBNTUVESUFfUExBWVNZTkNIIE1NRURJQV9TVE9QIE1NRURJQV9XQVZFIE1PVVNFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgTU9VU0VfRFJWIE1FRElBIE1PREUgTkVUV09SSyBORVRXT1JLX0RSViBORVhUCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgTkVYVEJVVFRPTiBOTyBOT19TVUJESVIgTk9fV1JJVEVfQUNDRVNTIE5PTkNPTlRJR1VPVVMKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBOT05FWENMVVNJVkUgTk9STUFMIE5PUk1BTE1PREUgTk9TRVQgTk9URVhJU1RTIE5PVFJFU0VUCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgTk9XQUlUIE5VTEwgTlVNQkVSTElTVCBPRkYgT0sgT04gT05MWURJUiBPUyBPU01BSk9SCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgT1NNSU5PUiBPVEhFUl9GQUlMVVJFIE9VVF9PRl9ESVNLX1NQQUNFIFBBUkFMTEVMCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgUEFSVElBTCBQQVRIIFBBVEhfRVhJU1RTIFBBVVNFIFBFUlNPTkFMIFBST0ZTVFJJTkcKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBQUk9HTUFOIFBST0dSQU1GSUxFUyBSQU1fRFJJVkUgUkVBTCBSRUNPUkRNT0RFIFJFRAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJFR0RCX0FQUFBBVEggUkVHREJfQVBQUEFUSF9ERUZBVUxUIFJFR0RCX0JJTkFSWQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJFR0RCX0VSUl9DT05ORUNUSU9ORVhJU1RTIFJFR0RCX0VSUl9DT1JSVVBURURSRUdJU1RSWQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJFR0RCX0VSUl9GSUxFQ0xPU0UgUkVHREJfRVJSX0ZJTEVOT1RGT1VORAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJFR0RCX0VSUl9GSUxFT1BFTiBSRUdEQl9FUlJfRklMRVJFQUQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBSRUdEQl9FUlJfSU5JVElBTElaQVRJT04gUkVHREJfRVJSX0lOVkFMSURGT1JNQVQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBSRUdEQl9FUlJfSU5WQUxJREhBTkRMRSBSRUdEQl9FUlJfSU5WQUxJRE5BTUUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBSRUdEQl9FUlJfSU5WQUxJRFBMQVRGT1JNIFJFR0RCX0VSUl9PVVRPRk1FTU9SWQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJFR0RCX0VSUl9SRUdJU1RSWSBSRUdEQl9LRVlTIFJFR0RCX05BTUVTIFJFR0RCX05VTUJFUgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJFR0RCX1NUUklORyBSRUdEQl9TVFJJTkdfRVhQQU5EIFJFR0RCX1NUUklOR19NVUxUSQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJFR0RCX1VOSU5TVEFMTF9OQU1FIFJFR0tFWV9DTEFTU0VTX1JPT1QKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBSRUdLRVlfQ1VSUkVOVF9VU0VSIFJFR0tFWV9MT0NBTF9NQUNISU5FIFJFR0tFWV9VU0VSUworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJFTU9URV9EUklWRSBSRU1PVkUgUkVNT1ZFQUJMRV9EUklWRSBSRVBMQUNFCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgUkVQTEFDRV9JVEVNIFJFU0VUIFJFU1RBUlQgUk9PVCBST1RBVEUgUlVOX01BWElNSVpFRAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFJVTl9NSU5JTUlaRUQgUlVOX1NFUEFSQVRFTUVNT1JZIFNFTEVDVEZPTERFUgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFNFTEZSRUdJU1RFUiBTRUxGUkVHSVNURVJCQVRDSCBTRUxGUkVHSVNUUkFUSU9OUFJPQ0VTUworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFNFUklBTCBTRVQgU0VUVVBUWVBFIFNFVFVQVFlQRV9JTkZPX0RFU0NSSVBUSU9OCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgU0VUVVBUWVBFX0lORk9fRElTUExBWU5BTUUgU0VWRVJFIFNIQVJFIFNIQVJFREZJTEUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBTSEVMTF9PQkpFQ1RfRk9MREVSIFNJTEVOVE1PREUgU1BMSVRDT01QUkVTUyBTUExJVENPUFkKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBTUkNUQVJHRVRESVIgU1RBTkRBUkQgU1RBVFVTIFNUQVRVUzk1IFNUQVRVU0JBUgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFNUQVRVU0RMRyBTVEFUVVNFWCBTVEFUVVNPTEQgU1RSSU5HTElTVCBTVFlMRV9CT0xECitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgU1RZTEVfSVRBTElDIFNUWUxFX05PUk1BTCBTVFlMRV9TSEFET1cgU1RZTEVfVU5ERVJMSU5FCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgU1dfSElERSBTV19NQVhJTUlaRSBTV19NSU5JTUlaRSBTV19OT1JNQUwgU1dfUkVTVE9SRQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFNXX1NIT1cgU1dfU0hPV01BWElNSVpFRCBTV19TSE9XTUlOSU1JWkVECitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgU1dfU0hPV01JTk5PQUNUSVZFIFNXX1NIT1dOQSBTV19TSE9XTk9BQ1RJVkFURQorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFNXX1NIT1dOT1JNQUwgU1lTX0JPT1RNQUNISU5FIFNZU19CT09UV0lOCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgU1lTX0JPT1RXSU5fSU5TVEFMTCBTWVNfUkVTVEFSVCBTWVNfU0hVVERPV04gU1lTX1RPRE9TCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgU0VMRUNURURfTEFOR1VBR0UgU0hFTExfT0JKRUNUX0xBTkdVQUdFIFNSQ0RJUiBTUkNESVNLCitzeW4ga2V5d29yZCBpc2hkQ29uc3RhbnQgU1VQUE9SVERJUiBURVhUIFRJTEVEIFRJTUUgVFJVRSBUWVBJQ0FMIFRBUkdFVERJUgorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFRBUkdFVERJU0sgVVBQRVJfTEVGVCBVUFBFUl9SSUdIVCBVU0VSX0FETUlOSVNUUkFUT1IKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBVTklOU1QgVkFMSURfUEFUSCBWQVJJQUJMRV9MRUZUIFZBUklBQkxFX1VOREVGSU5FRAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFZFUl9ETExfTk9UX0ZPVU5EIFZFUl9VUERBVEVfQUxXQVlTIFZFUl9VUERBVEVfQ09ORAorc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFZFUlNJT04gVklERU8gVk9MVU1FTEFCRUwgV0FJVCBXQVJOSU5HIFdFTENPTUUgV0hJVEUKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBXSU4zMlNJTlNUQUxMRUQgV0lOMzJTTUFKT1IgV0lOMzJTTUlOT1IgV0lORE9XU19TSEFSRUQKK3N5biBrZXl3b3JkIGlzaGRDb25zdGFudCBXSU5NQUpPUiBXSU5NSU5PUiBXSU5ESVIgV0lORElTSyBXSU5TWVNESVIgV0lOU1lTRElTSworc3luIGtleXdvcmQgaXNoZENvbnN0YW50IFhDT1BZX0RBVEVUSU1FIFlFTExPVyBZRVMKKworc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIEFza0Rlc3RQYXRoIEFza09wdGlvbnMgQXNrUGF0aCBBc2tUZXh0IEFza1llc05vCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gQXBwQ29tbWFuZCBBZGRQcm9mU3RyaW5nIEFkZEZvbGRlckljb24gQmF0Y2hBZGQKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBCYXRjaERlbGV0ZUV4IEJhdGNoRmlsZUxvYWQgQmF0Y2hGaWxlU2F2ZSBCYXRjaEZpbmQKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBCYXRjaEdldEZpbGVOYW1lIEJhdGNoTW92ZUV4IEJhdGNoU2V0RmlsZU5hbWUKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBDb21wb25lbnREaWFsb2cgQ29tcG9uZW50QWRkSXRlbQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIENvbXBvbmVudENvbXBhcmVTaXplUmVxdWlyZWQgQ29tcG9uZW50RGlhbG9nCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gQ29tcG9uZW50RXJyb3IgQ29tcG9uZW50RmlsZUVudW0gQ29tcG9uZW50RmlsZUluZm8KK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBDb21wb25lbnRGaWx0ZXJMYW5ndWFnZSBDb21wb25lbnRGaWx0ZXJPUworc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIENvbXBvbmVudEdldERhdGEgQ29tcG9uZW50R2V0SXRlbVNpemUKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBDb21wb25lbnRJbml0aWFsaXplIENvbXBvbmVudElzSXRlbVNlbGVjdGVkCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gQ29tcG9uZW50TGlzdEl0ZW1zIENvbXBvbmVudE1vdmVEYXRhCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gQ29tcG9uZW50U2VsZWN0SXRlbSBDb21wb25lbnRTZXREYXRhIENvbXBvbmVudFNldFRhcmdldAorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIENvbXBvbmVudFNldHVwVHlwZUVudW0gQ29tcG9uZW50U2V0dXBUeXBlR2V0RGF0YQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIENvbXBvbmVudFNldHVwVHlwZVNldCBDb21wb25lbnRUb3RhbFNpemUKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBDb21wb25lbnRWYWxpZGF0ZSBDb25maWdBZGQgQ29uZmlnRGVsZXRlIENvbmZpZ0ZpbGVMb2FkCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gQ29uZmlnRmlsZVNhdmUgQ29uZmlnRmluZCBDb25maWdHZXRGaWxlTmFtZQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIENvbmZpZ0dldEludCBDb25maWdNb3ZlIENvbmZpZ1NldEZpbGVOYW1lIENvbmZpZ1NldEludAorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIENtZEdldEh3bmREbGcgQ3RybENsZWFyIEN0cmxEaXIgQ3RybEdldEN1clNlbAorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIEN0cmxHZXRNTEVUZXh0IEN0cmxHZXRNdWx0Q3VyU2VsIEN0cmxHZXRTdGF0ZQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIEN0cmxHZXRTdWJDb21tYW5kIEN0cmxHZXRUZXh0IEN0cmxQR3JvdXBzCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gQ3RybFNlbGVjdFRleHQgQ3RybFNldEN1clNlbCBDdHJsU2V0Rm9udCBDdHJsU2V0TGlzdAorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIEN0cmxTZXRNTEVUZXh0IEN0cmxTZXRNdWx0Q3VyU2VsIEN0cmxTZXRTdGF0ZQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIEN0cmxTZXRUZXh0IENhbGxETExGeCBDaGFuZ2VEaXJlY3RvcnkgQ2xvc2VGaWxlCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gQ29weUZpbGUgQ3JlYXRlRGlyIENyZWF0ZUZpbGUgQ3JlYXRlUmVnaXN0cnlTZXQKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBDb21taXRTaGFyZWRGaWxlcyBDcmVhdGVQcm9ncmFtRm9sZGVyCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gQ3JlYXRlU2hlbGxPYmplY3RzIENvcHlCeXRlcyBEZWZpbmVEaWFsb2cgRGVsYXkKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBEZWxldGVEaXIgRGVsZXRlRmlsZSBEbyBEb0luc3RhbGwgRGVpbnN0YWxsU2V0UmVmZXJlbmNlCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gRGVpbnN0YWxsU3RhcnQgRGlhbG9nU2V0SW5mbyBEZWxldGVGb2xkZXJJY29uCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gRGVsZXRlUHJvZ3JhbUZvbGRlciBEaXNhYmxlIEV6QmF0Y2hBZGRQYXRoCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gRXpCYXRjaEFkZFN0cmluZyBFeEJhdGNoUmVwbGFjZSBFbnRlckRpc2sKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBFekNvbmZpZ0FkZERyaXZlciBFekNvbmZpZ0FkZFN0cmluZyBFekNvbmZpZ0dldFZhbHVlCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gRXpDb25maWdTZXRWYWx1ZSBFbmREaWFsb2cgRXpEZWZpbmVEaWFsb2cgRXhpc3RzRGlyCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gRXhpc3RzRGlzayBFeGl0UHJvZ01hbiBFbmFibGUgRXpCYXRjaFJlcGxhY2UKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBGaWxlQ29tcGFyZSBGaWxlRGVsZXRlTGluZSBGaWxlR3JlcCBGaWxlSW5zZXJ0TGluZQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIEZpbmRBbGxEaXJzIEZpbmRBbGxGaWxlcyBGaW5kRmlsZSBGaW5kV2luZG93CitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gR2V0RmlsZUluZm8gR2V0TGluZSBHZXRGb250IEdldERpc2tTcGFjZSBHZXRFbnZWYXIKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBHZXRFeHRlbnRzIEdldE1lbUZyZWUgR2V0TW9kZSBHZXRTeXN0ZW1JbmZvCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gR2V0VmFsaWREcml2ZXNMaXN0IEdldFdpbmRvd0hhbmRsZSBHZXRQcm9mSW50CitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gR2V0UHJvZlN0cmluZyBHZXRGb2xkZXJOYW1lTGlzdCBHZXRHcm91cE5hbWVMaXN0CitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gR2V0SXRlbU5hbWVMaXN0IEdldERpciBHZXREaXNrIEhJV09SRCBIYW5kbGVyIElzCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gSVNDb21wYXJlU2VydmljZVBhY2sgSW5zdGFsbGF0aW9uSW5mbyBMT1dPUkQgTGF1bmNoQXBwCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gTGF1bmNoQXBwQW5kV2FpdCBMaXN0QWRkSXRlbSBMaXN0QWRkU3RyaW5nIExpc3RDb3VudAorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIExpc3RDcmVhdGUgTGlzdEN1cnJlbnRJdGVtIExpc3RDdXJyZW50U3RyaW5nCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gTGlzdERlbGV0ZUl0ZW0gTGlzdERlbGV0ZVN0cmluZyBMaXN0RGVzdHJveQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIExpc3RGaW5kSXRlbSBMaXN0RmluZFN0cmluZyBMaXN0R2V0Rmlyc3RJdGVtCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gTGlzdEdldEZpcnN0U3RyaW5nIExpc3RHZXROZXh0SXRlbSBMaXN0R2V0TmV4dFN0cmluZworc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIExpc3RSZWFkRnJvbUZpbGUgTGlzdFNldEN1cnJlbnRJdGVtCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gTGlzdFNldEN1cnJlbnRTdHJpbmcgTGlzdFNldEluZGV4IExpc3RXcml0ZVRvRmlsZQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIExvbmdQYXRoRnJvbVNob3J0UGF0aCBMb25nUGF0aFRvUXVvdGUKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBMb25nUGF0aFRvU2hvcnRQYXRoIE1lc3NhZ2VCb3ggTWVzc2FnZUJlZXAgTnVtVG9TdHIKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBPcGVuRmlsZSBPcGVuRmlsZU1vZGUgUGF0aEFkZCBQYXRoRGVsZXRlIFBhdGhGaW5kCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gUGF0aEdldCBQYXRoTW92ZSBQYXRoU2V0IFByb2dEZWZHcm91cFR5cGUgUGFyc2VQYXRoCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gUGxhY2VCaXRtYXAgUGxhY2VXaW5kb3cgUGxheU1NZWRpYSBRdWVyeVByb2dHcm91cAorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFF1ZXJ5UHJvZ0l0ZW0gUXVlcnlTaGVsbE1nciBSZWJvb3REaWFsb2cgUmVsZWFzZURpYWxvZworc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFJlYWRCeXRlcyBSZW5hbWVGaWxlIFJlcGxhY2VQcm9mU3RyaW5nIFJlbG9hZFByb2dHcm91cAorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFJlcGxhY2VGb2xkZXJJY29uIFJHQiBSZWdEQkNvbm5lY3RSZWdpc3RyeQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFJlZ0RCQ3JlYXRlS2V5RXggUmVnREJEZWxldGVLZXkgUmVnREJEZWxldGVWYWx1ZQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFJlZ0RCRGlzQ29ubmVjdFJlZ2lzdHJ5IFJlZ0RCR2V0QXBwSW5mbyBSZWdEQkdldEl0ZW0KK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBSZWdEQkdldEtleVZhbHVlRXggUmVnREJLZXlFeGlzdCBSZWdEQlF1ZXJ5S2V5CitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gUmVnREJTZXRBcHBJbmZvIFJlZ0RCU2V0RGVmYXVsdFJvb3QgUmVnREJTZXRJdGVtCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gUmVnREJTZXRLZXlWYWx1ZUV4IFNlZWtCeXRlcyBTZWxlY3REaXIgU2V0RmlsZUluZm8KK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBTZWxlY3REaXIgU2VsZWN0Rm9sZGVyIFNldHVwVHlwZSBTcHJpbnRmQm94IFNkU2V0dXBUeXBlCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gU2RTZXR1cFR5cGVFeCBTZE1ha2VOYW1lIFNpbGVudFJlYWREYXRhIFNpbGVudFdyaXRlRGF0YQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFNlbmRNZXNzYWdlIFNwcmludGYgU3lzdGVtIFNkQXNrRGVzdFBhdGggU2RBc2tPcHRpb25zCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gU2RBc2tPcHRpb25zTGlzdCBTZEJpdG1hcCBTZENvbXBvbmVudERpYWxvZworc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFNkQ29tcG9uZW50RGlhbG9nMiBTZENvbXBvbmVudERpYWxvZ0FkdiBTZENvbXBvbmVudE11bHQKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBTZENvbmZpcm1OZXdEaXIgU2RDb25maXJtUmVnaXN0cmF0aW9uIFNkRGlzcGxheVRvcGljcworc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFNkRmluaXNoIFNkRmluaXNoUmVib290IFNkSW5pdCBTZExpY2Vuc2UgU2RNYWtlTmFtZQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFNkT3B0aW9uc0J1dHRvbnMgU2RQcm9kdWN0TmFtZSBTZFJlZ2lzdGVyVXNlcgorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFNkUmVnaXN0ZXJVc2VyRXggU2RTZWxlY3RGb2xkZXIgU2RTZXR1cFR5cGUKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBTZFNldHVwVHlwZUV4IFNkU2hvd0FueURpYWxvZyBTZFNob3dEbGdFZGl0MQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFNkU2hvd0RsZ0VkaXQyIFNkU2hvd0RsZ0VkaXQzIFNkU2hvd0ZpbGVNb2RzCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gU2RTaG93SW5mb0xpc3QgU2RTaG93TXNnIFNkU3RhcnRDb3B5IFNkV2VsY29tZQorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFNlbGVjdEZvbGRlciBTaG93R3JvdXAgU2hvd1Byb2dhbUZvbGRlciBTZXRDb2xvcgorc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFNldERpYWxvZ1RpdGxlIFNldERpc3BsYXlFZmZlY3QgU2V0RXJyb3JNc2cKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBTZXRFcnJvclRpdGxlIFNldEZvbnQgU2V0U3RhdHVzV2luZG93IFNldFRpdGxlCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gU2l6ZVdpbmRvdyBTdGF0dXNVcGRhdGUgU3RyQ29tcGFyZSBTdHJGaW5kIFN0ckdldFRva2Vucworc3luIGtleXdvcmQgaXNoZEZ1bmN0aW9uIFN0ckxlbmd0aCBTdHJSZW1vdmVMYXN0U2xhc2ggU3RyU3ViIFN0clRvTG93ZXIgU3RyVG9OdW0KK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBTdHJUb1VwcGVyIFNob3dQcm9ncmFtRm9sZGVyIFVuVXNlRExMIFVzZURMTCBWYXJSZXN0b3JlCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gVmFyU2F2ZSBWZXJVcGRhdGVGaWxlIFZlckNvbXBhcmUgVmVyRmluZEZpbGVWZXJzaW9uCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gVmVyR2V0RmlsZVZlcnNpb24gVmVyU2VhcmNoQW5kVXBkYXRlRmlsZSBWZXJVcGRhdGVGaWxlCitzeW4ga2V5d29yZCBpc2hkRnVuY3Rpb24gV2VsY29tZSBXYWl0T25EaWFsb2cgV3JpdGVCeXRlcyBXcml0ZUxpbmUKK3N5biBrZXl3b3JkIGlzaGRGdW5jdGlvbiBXcml0ZVByb2ZTdHJpbmcgWENvcHlGaWxlCisKK3N5biBrZXl3b3JkIGlzaGRUb2RvIGNvbnRhaW5lZCBUT0RPCisKKyJpbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHdpdGhvdXQgYSBkb3QuCitzeW4gbWF0Y2ggIGlzaGROdW1iZXIJCSJcPFxkXCtcPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90CitzeW4gbWF0Y2ggIGlzaGROdW1iZXIJCSJcPFxkXCtcLlxkKlw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdAorc3luIG1hdGNoICBpc2hkTnVtYmVyCQkiXC5cZFwrXD4iCisKKyIgU3RyaW5nIGNvbnN0YW50cworc3luIHJlZ2lvbiAgaXNoZFN0cmluZwlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisKKworc3luIHJlZ2lvbiAgaXNoZENvbW1lbnQJc3RhcnQ9Ii8vIiBlbmQ9IiQiIGNvbnRhaW5zPWlzaGRUb2RvCitzeW4gcmVnaW9uICBpc2hkQ29tbWVudAlzdGFydD0iL1wqIiAgIGVuZD0iXCovIiBjb250YWlucz1pc2hkVG9kbworCisiIFByZS1wcm9jZXNzb3IgY29tbWFuZHMKK3N5biByZWdpb24JaXNoZFByZUNvbmRpdAlzdGFydD0iXlxzKiNccypcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XHxlbGlmXD5cfGVsc2VcPlx8ZW5kaWZcPlwpIiBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9aXNoZENvbW1lbnQsaXNoZFN0cmluZworaWYgIWV4aXN0cygiaXNoZF9ub19pZjAiKQorICBzeW4gcmVnaW9uCWlzaGRIYXNoSWYwCXN0YXJ0PSJeXHMqI1xzKmlmXHNcKzBcPiIgZW5kPSIuXHwkIiBjb250YWlucz1pc2hkSGFzaElmMEVuZAorICBzeW4gcmVnaW9uCWlzaGRIYXNoSWYwRW5kCWNvbnRhaW5lZCBzdGFydD0iMCIgZW5kPSJeXHMqI1xzKlwoZW5kaWZcPlx8ZWxzZVw+XHxlbGlmXD5cKSIgY29udGFpbnM9aXNoZEhhc2hJZjBTa2lwCisgIHN5biByZWdpb24JaXNoZEhhc2hJZjBTa2lwCWNvbnRhaW5lZCBzdGFydD0iXlxzKiNccypcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XCkiIHNraXA9IlxcJCIgZW5kPSJeXHMqI1xzKmVuZGlmXD4iIGNvbnRhaW5zPWlzaGRIYXNoSWYwU2tpcAorZW5kaWYKK3N5biByZWdpb24JaXNoZEluY2x1ZGVkCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCitzeW4gbWF0Y2gJaXNoZEluY2x1ZGUJK15ccyojXHMqaW5jbHVkZVw+XHMqIisgY29udGFpbnM9aXNoZEluY2x1ZGVkCitzeW4gY2x1c3Rlcglpc2hkUHJlUHJvY0dyb3VwCWNvbnRhaW5zPWlzaGRQcmVDb25kaXQsaXNoZEluY2x1ZGVkLGlzaGRJbmNsdWRlLGlzaGREZWZpbmUsaXNoZEhhc2hJZjAsaXNoZEhhc2hJZjBFbmQsaXNoZEhhc2hJZjBTa2lwLGlzaGROdW1iZXIKK3N5biByZWdpb24JaXNoZERlZmluZQkJc3RhcnQ9Il5ccyojXHMqXChkZWZpbmVcfHVuZGVmXClcPiIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsQGlzaGRQcmVQcm9jR3JvdXAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaXNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfaXNfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgaXNoZE51bWJlcgkgICAgTnVtYmVyCisgIEhpTGluayBpc2hkRXJyb3IJICAgIEVycm9yCisgIEhpTGluayBpc2hkU3RhdGVtZW50CSAgICBTdGF0ZW1lbnQKKyAgSGlMaW5rIGlzaGRTdHJpbmcJICAgIFN0cmluZworICBIaUxpbmsgaXNoZENvbW1lbnQJICAgIENvbW1lbnQKKyAgSGlMaW5rIGlzaGRUb2RvCSAgICBUb2RvCisgIEhpTGluayBpc2hkRnVuY3Rpb24JICAgIElkZW50aWZpZXIKKyAgSGlMaW5rIGlzaGRDb25zdGFudAkgICAgUHJlUHJvYworICBIaUxpbmsgaXNoZFR5cGUJICAgIFR5cGUKKyAgSGlMaW5rIGlzaGRJbmNsdWRlCSAgICBJbmNsdWRlCisgIEhpTGluayBpc2hkRGVmaW5lCSAgICBNYWNybworICBIaUxpbmsgaXNoZEluY2x1ZGVkCSAgICBTdHJpbmcKKyAgSGlMaW5rIGlzaGRQcmVDb25kaXQJICAgIFByZUNvbmRpdAorICBIaUxpbmsgaXNoZEhhc2hJZjBTa2lwICAgaXNoZEhhc2hJZjAKKyAgSGlMaW5rIGlzaGRIYXNoSWYwRW5kICAgIGlzaGRIYXNoSWYwCisgIEhpTGluayBpc2hkSGFzaElmMAkgICAgQ29tbWVudAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJpc2hkIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaXNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2lzcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU4OTAxYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2lzcy52aW0KQEAgLTAsMCArMSwxMjUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglJbm5vIFNldHVwIEZpbGUgKGlzcyBmaWxlKSBhbmQgTXkgSW5ub1NldHVwIGV4dGVuc2lvbgorIiBNYWludGFpbmVyOglEb21pbmlxdWUgU3TpcGhhbiAoZG9taW5pcXVlQG1nZ2VuLmNvbSkKKyIgTGFzdCBjaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBzaHV0IGNhc2Ugb2ZmCitzeW4gY2FzZSBpZ25vcmUKKworIiBTZWN0aW9uCitzeW4gcmVnaW9uIGlzc0hlYWRlcgkJc3RhcnQ9IlxbIiBlbmQ9IlxdIgorCisiIExhYmVsIGluIHRoZSBbU2V0dXBdIFNlY3Rpb24KK3N5biBtYXRjaCAgaXNzTGFiZWwJCSJeW149XVwrPSIKKworIiBVUkwKK3N5biBtYXRjaCAgaXNzVVJMCQkiaHR0cFtzXVw9OlwvXC8uKiQiCisKKyIgc3luIG1hdGNoICBpc3NOYW1lCQkiW146IF1cKzoiCitzeW4gbWF0Y2ggIGlzc05hbWUJCSJOYW1lOiIKK3N5biBtYXRjaCAgaXNzTmFtZQkJIk1pblZlcnNpb246XHxPbmx5QmVsb3dWZXJzaW9uOiIKK3N5biBtYXRjaCAgaXNzTmFtZQkJIlNvdXJjZTpcfERlc3REaXI6XHxEZXN0TmFtZTpcfENvcHlNb2RlOiIKK3N5biBtYXRjaCAgaXNzTmFtZQkJIkF0dHJpYnM6XHxGb250SW5zdGFsbDpcfEZsYWdzOiIKK3N5biBtYXRjaCAgaXNzTmFtZQkJIkZpbGVOYW1lOlx8UGFyYW1ldGVyczpcfFdvcmtpbmdEaXI6XHxDb21tZW50OiIKK3N5biBtYXRjaCAgaXNzTmFtZQkJIkljb25GaWxlbmFtZTpcfEljb25JbmRleDoiCitzeW4gbWF0Y2ggIGlzc05hbWUJCSJTZWN0aW9uOlx8S2V5Olx8U3RyaW5nOiIKK3N5biBtYXRjaCAgaXNzTmFtZQkJIlJvb3Q6XHxTdWJLZXk6XHxWYWx1ZVR5cGU6XHxWYWx1ZU5hbWU6XHxWYWx1ZURhdGE6Igorc3luIG1hdGNoICBpc3NOYW1lCQkiUnVuT25jZUlkOiIKK3N5biBtYXRjaCAgaXNzTmFtZQkJIlR5cGU6Igorc3luIG1hdGNoICBpc3NOYW1lCQkiQ29tcG9uZW50czpcfERlc2NyaXB0aW9uOlx8R3JvdXBEZXNjcmlwdGlvblx8VHlwZXM6IgorCitzeW4gbWF0Y2ggIGlzc0NvbW1lbnQJCSJeOy4qJCIKKworIiBmb2xkZXIgY29uc3RhbnQKK3N5biBtYXRjaCAgaXNzRm9sZGVyCQkie1tee10qfSIKKworIiBzdHJpbmcKK3N5biByZWdpb24gaXNzU3RyaW5nCXN0YXJ0PSsiKyAgZW5kPSsiKyBjb250YWlucz1pc3NGb2xkZXIKKworIiBbRGlyc10KK3N5biBrZXl3b3JkIGlzc0RpcnNGbGFncyBkZWxldGVhZnRlcmluc3RhbGwgdW5pbnNhbHdheXN1bmluc3RhbGwgdW5pbnNuZXZlcnVuaW5zdGFsbAorCisiIFtGaWxlc10KK3N5biBrZXl3b3JkIGlzc0ZpbGVzQ29weU1vZGUgbm9ybWFsIG9ubHlpZmRvZXNudGV4aXN0IGFsd2F5c292ZXJ3cml0ZSBhbHdheXNza2lwaWZzYW1lb3JvbGRlcgorc3luIGtleXdvcmQgaXNzRmlsZXNBdHRyaWJzIHJlYWRvbmx5IGhpZGRlbiBzeXN0ZW0KK3N5biBrZXl3b3JkIGlzc0ZpbGVzRmxhZ3MgY29tcGFyZXRpbWVzdGFtcGFsc28gY29uZmlybW92ZXJ3cml0ZSBkZWxldGVhZnRlcmluc3RhbGwKK3N5biBrZXl3b3JkIGlzc0ZpbGVzRmxhZ3MgZXh0ZXJuYWwgZm9udGlzbnR0cnVldHlwZSBpc3JlYWRtZSBvdmVyd3JpdGVyZWFkb25seQorc3luIGtleXdvcmQgaXNzRmlsZXNGbGFncyByZWdzZXJ2ZXIgcmVndHlwZWxpYiByZXN0YXJ0cmVwbGFjZQorc3luIGtleXdvcmQgaXNzRmlsZXNGbGFncyBzaGFyZWRmaWxlIHNraXBpZnNvdXJjZWRvZXNudGV4aXN0IHVuaW5zbmV2ZXJ1bmluc3RhbGwKKworIiBbSWNvbnNdCitzeW4ga2V5d29yZCBpc3NJY29uc0ZsYWdzIGNyZWF0ZW9ubHlpZmZpbGVleGlzdHMgcnVubWluaW1pemVkIHVuaW5zbmV2ZXJ1bmluc3RhbGwgdXNlYXBwcGF0aHMKKworIiBbSU5JXQorc3luIGtleXdvcmQgaXNzSU5JRmxhZ3MgY3JlYXRla2V5aWZkb2VzbnRleGlzdCB1bmluc2RlbGV0ZWVudHJ5IHVuaW5zZGVsZXRlc2VjdGlvbiB1bmluc2RlbGV0ZXNlY3Rpb25pZmVtcHR5CisKKyIgW1JlZ2lzdHJ5XQorc3luIGtleXdvcmQgaXNzUmVnUm9vdEtleSAgIEhLQ1IgSEtDVSBIS0xNIEhLVSBIS0NDCitzeW4ga2V5d29yZCBpc3NSZWdWYWx1ZVR5cGUgbm9uZSBzdHJpbmcgZXhwYW5kc3ogbXVsdGlzeiBkd29yZCBiaW5hcnkKK3N5biBrZXl3b3JkIGlzc1JlZ0ZsYWdzIGNyZWF0ZXZhbHVlaWZkb2VzbnRleGlzdCBkZWxldGVrZXkgZGVsZXRldmFsdWUgcHJlc2VydmVzdHJpbmd0eXBlCitzeW4ga2V5d29yZCBpc3NSZWdGbGFncyB1bmluc2NsZWFydmFsdWUgdW5pbnNkZWxldGVrZXkgdW5pbnNkZWxldGVrZXlpZmVtcHR5IHVuaW5zZGVsZXRldmFsdWUKKworIiBbUnVuXSBhbmQgW1VuaW5zdGFsbFJ1bl0KK3N5biBrZXl3b3JkIGlzc1J1bkZsYWdzIG5vd2FpdCBzaGVsbGV4ZWMgc2tpcGlmZG9lc250ZXhpc3QgcnVubWluaW1pemVkIHdhaXR1bnRpbGlkbGUKK3N5biBrZXl3b3JkIGlzc1J1bkZsYWdzIHBvc3RpbnN0YWxsIHVuY2hlY2tlZCBzaG93Y2hlY2tib3gKKworIiBbVHlwZXNdCitzeW4ga2V5d29yZCBpc3NUeXBlc0ZsYWdzIGlzY3VzdG9tCisKKyIgW0NvbXBvbmVudHNdCitzeW4ga2V5d29yZCBpc3NDb21wb25lbnRzRmxhZ3MgZml4ZWQgcmVzdGFydCBkaXNhYmxlbm91bmluc3RhbGx3YXJuaW5nCisKKyIgW1VuaW5zdGFsbERlbGV0ZV0gYW5kIFtJbnN0YWxsRGVsZXRlXQorc3luIGtleXdvcmQgaXNzSW5zdGFsbERlbGV0ZVR5cGUgZmlsZXMgZmlsZXNhbmRvcmRpcnMgZGlyaWZlbXB0eQorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2lzc19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9pc3Nfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICAgSGlMaW5rIGlzc0hlYWRlcglTcGVjaWFsCisgICBIaUxpbmsgaXNzQ29tbWVudAlDb21tZW50CisgICBIaUxpbmsgaXNzTGFiZWwJVHlwZQorICAgSGlMaW5rIGlzc05hbWUJVHlwZQorICAgSGlMaW5rIGlzc0ZvbGRlcglTcGVjaWFsCisgICBIaUxpbmsgaXNzU3RyaW5nCVN0cmluZworICAgSGlMaW5rIGlzc1ZhbHVlCVN0cmluZworICAgSGlMaW5rIGlzc1VSTAlJbmNsdWRlCisKKyAgIEhpTGluayBpc3NEaXJzRmxhZ3MJCUtleXdvcmQKKyAgIEhpTGluayBpc3NGaWxlc0NvcHlNb2RlCUtleXdvcmQKKyAgIEhpTGluayBpc3NGaWxlc0F0dHJpYnMJS2V5d29yZAorICAgSGlMaW5rIGlzc0ZpbGVzRmxhZ3MJCUtleXdvcmQKKyAgIEhpTGluayBpc3NJY29uc0ZsYWdzCQlLZXl3b3JkCisgICBIaUxpbmsgaXNzSU5JRmxhZ3MJCUtleXdvcmQKKyAgIEhpTGluayBpc3NSZWdSb290S2V5CQlLZXl3b3JkCisgICBIaUxpbmsgaXNzUmVnVmFsdWVUeXBlCUtleXdvcmQKKyAgIEhpTGluayBpc3NSZWdGbGFncwkJS2V5d29yZAorICAgSGlMaW5rIGlzc1J1bkZsYWdzCQlLZXl3b3JkCisgICBIaUxpbmsgaXNzVHlwZXNGbGFncwkJS2V5d29yZAorICAgSGlMaW5rIGlzc0NvbXBvbmVudHNGbGFncwlLZXl3b3JkCisgICBIaUxpbmsgaXNzSW5zdGFsbERlbGV0ZVR5cGUJS2V5d29yZAorCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImlzcyIKKworIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaXN0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2lzdC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQwMDA1ZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2lzdC52aW0KQEAgLTAsMCArMSw3MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1ha2VpbmRleCBzdHlsZSBmaWxlLCAqLmlzdAorIiBNYWludGFpbmVyOglQZXRlciBNZXN6YXJvcyA8cG1lc3phcm9zQGVmZmljZS5odT4KKyIgTGFzdCBDaGFuZ2U6CU1heSA0LCAyMDAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAKKyAgc2V0bG9jYWwgaXNrZXl3b3JkPSQsQCw0OC01NyxfCitlbHNlCisgIHNldCBpc2tleXdvcmQ9JCxALDQ4LTU3LF8KK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQgSXN0SW5wU3BlYyAgYWN0dWFsICBhcmdfY2xvc2UgYXJnX29wZW4gZW5jYXAgICAgICAgZXNjYXBlCitzeW4ga2V5d29yZCBJc3RJbnBTcGVjICBrZXl3b3JkIGxldmVsICAgICBxdW90ZSAgICByYW5nZV9jbG9zZSByYW5nZV9vcGVuCitzeW4ga2V5d29yZCBJc3RJbnBTcGVjICBwYWdlX2NvbXBvc2l0b3IKKworc3luIGtleXdvcmQgSXN0T3V0U3BlYwlwcmVhbWJsZQkgcG9zdGFtYmxlCSAgc2V0cGFnZV9wcmVmaXggICBzZXRwYWdlX3N1ZmZpeCAgIGdyb3VwX3NraXAKK3N5biBrZXl3b3JkIElzdE91dFNwZWMJaGVhZGluZ3NfZmxhZwkgaGVhZGluZ19wcmVmaXggICBoZWFkaW5nX3N1ZmZpeAorc3luIGtleXdvcmQgSXN0T3V0U3BlYwlsZXRoZWFkX2ZsYWcJIGxldGhlYWRfcHJlZml4ICAgbGV0aGVhZF9zdWZmaXgKK3N5biBrZXl3b3JkIElzdE91dFNwZWMJc3ltaGVhZF9wb3NpdGl2ZSBzeW1oZWFkX25lZ2F0aXZlIG51bWhlYWRfcG9zaXRpdmUgbnVtaGVhZF9uZWdhdGl2ZQorc3luIGtleXdvcmQgSXN0T3V0U3BlYwlpdGVtXzAJCSBpdGVtXzEJCSAgaXRlbV8yCSAgIGl0ZW1fMDEKK3N5biBrZXl3b3JkIElzdE91dFNwZWMJaXRlbV94MQkJIGl0ZW1fMTIJICBpdGVtX3gyCitzeW4ga2V5d29yZCBJc3RPdXRTcGVjCWRlbGltXzAJCSBkZWxpbV8xCSAgZGVsaW1fMgorc3luIGtleXdvcmQgSXN0T3V0U3BlYwlkZWxpbV9uCQkgZGVsaW1fcgkgIGRlbGltX3QKK3N5biBrZXl3b3JkIElzdE91dFNwZWMJZW5jYXBfcHJlZml4CSBlbmNhcF9pbmZpeAkgIGVuY2FwX3N1ZmZpeAorc3luIGtleXdvcmQgSXN0T3V0U3BlYwlsaW5lX21heAkgaW5kZW50X3NwYWNlCSAgaW5kZW50X2xlbmd0aAorc3luIGtleXdvcmQgSXN0T3V0U3BlYwlzdWZmaXhfMnAJIHN1ZmZpeF8zcAkgIHN1ZmZpeF9tcAorCitzeW4gcmVnaW9uICBJc3RTdHJpbmcJICAgbWF0Y2hncm91cD1Jc3REb3VibGVRdW90ZSBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrIGNvbnRhaW5zPUlzdFNwZWNpYWwKK3N5biBtYXRjaCAgIElzdENoYXJhY3RlciAgICInLiciCitzeW4gbWF0Y2ggICBJc3ROdW1iZXIJICAgIlxkXCsiCitzeW4gbWF0Y2ggICBJc3RDb21tZW50CSAgICJeW1x0IF0qJS4qJCIJIGNvbnRhaW5zPUlzdFRvZG8KK3N5biBtYXRjaCAgIElzdFNwZWNpYWwJICAgIlxcXFxcfHtcfH1cfCNcfFxcbiIgIGNvbnRhaW5lZAorc3luIG1hdGNoICAgSXN0VG9kbwkgICAiREVCVUdcfFRPRE8iCSBjb250YWluZWQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHVtbXlfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfZHVtbXlfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgSXN0SW5wU3BlYwlUeXBlCisgIEhpTGluayBJc3RPdXRTcGVjCUlkZW50aWZpZXIKKyAgSGlMaW5rIElzdFN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIElzdE51bWJlcglOdW1iZXIKKyAgSGlMaW5rIElzdENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgSXN0VG9kbwlUb2RvCisgIEhpTGluayBJc3RTcGVjaWFsCVNwZWNpYWwKKyAgSGlMaW5rIElzdERvdWJsZVF1b3RlCUxhYmVsCisgIEhpTGluayBJc3RDaGFyYWN0ZXIJTGFiZWwKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaXN0IgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9qYWwudmltIGIvcnVudGltZS9zeW50YXgvamFsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGJhNjcyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvamFsLnZpbQpAQCAtMCwwICsxLDI0OSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUpBTAorIiBWZXJzaW9uOiAwLjEKKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisiIE1haW50YWluZXI6ICBNYXJrIEdyb3NzIDxtYXJrQHRoZWduYXIub3JnPgorIiBUaGlzIGlzIGEgc3ludGF4IGRlZmluaXRpb24gZm9yIHRoZSBKQUwgbGFuZ3VhZ2UuCisiIEl0IGlzIGJhc2VkIG9uIHRoZSBTb3VyY2UgRm9yZ2UgY29tcGlsZXIgc291cmNlIGNvZGUuCisiIGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2phbC8KKyIKKyIgVE9ETyB0ZXN0LgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorc3luIHN5bmMgbGluZXM9MjUwCisKK3N5biBrZXl3b3JkIHBpY1RvZG8gTk9URSBUT0RPIFhYWCBjb250YWluZWQKKworc3luIG1hdGNoIHBpY0lkZW50aWZpZXIgIlthLXpfJF1bYS16MC05XyRdKiIKK3N5biBtYXRjaCBwaWNMYWJlbCAgICAgICJeW0EtWl8kXVtBLVowLTlfJF0qIgorc3luIG1hdGNoIHBpY0xhYmVsICAgICAgIl5bQS1aXyRdW0EtWjAtOV8kXSo6Im1lPWUtMQorCitzeW4gbWF0Y2ggcGljQVNDSUkgICAgICAiQVw9Jy4nIgorc3luIG1hdGNoIHBpY0JpbmFyeSAgICAgIkInWzAtMV1cKyciCitzeW4gbWF0Y2ggcGljRGVjaW1hbCAgICAiRCdcZFwrJyIKK3N5biBtYXRjaCBwaWNEZWNpbWFsICAgICJcZFwrIgorc3luIG1hdGNoIHBpY0hleGFkZWNpbWFsICIweFx4XCsiCitzeW4gbWF0Y2ggcGljSGV4YWRlY2ltYWwgIkgnXHhcKyciCitzeW4gbWF0Y2ggcGljSGV4YWRlY2ltYWwgIlswLTldXHgqaCIKK3N5biBtYXRjaCBwaWNPY3RhbCAgICAgICJPJ1swLTddXG8qJyIKKworc3luIG1hdGNoIHBpY0NvbW1lbnQgICAgIjsuKiIgY29udGFpbnM9cGljVG9kbworCitzeW4gcmVnaW9uIHBpY1N0cmluZyAgICBzdGFydD0rIisgZW5kPSsiKworCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlciBpbmRmIHRtcjAgcGNsIHN0YXR1cyBmc3IgcG9ydF9hIHBvcnRfYiBwb3J0X2MgcG9ydF9kIHBvcnRfZSB4ODRfZWVkYXRhIHg4NF9lZWFkciBwY2xhdGggaW50Y29uCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlciBmODc3X3RtcjFsICAgZjg3N190bXIxaCAgIGY4NzdfdDFjb24gICBmODc3X3QyY29uICAgZjg3N19jY3ByMWwgIGY4NzdfY2NwcjFoICBmODc3X2NjcDFjb24KK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyIGY4NzdfcGlyMSAgICBmODc3X3BpcjIgICAgZjg3N19waWUxICAgIGY4NzdfYWRjb24xICBmODc3X2FkY29uMCAgZjg3N19wcjIgICAgIGY4NzdfYWRyZXNsICBmODc3X2FkcmVzaAorc3luIGtleXdvcmQgcGljUmVnaXN0ZXIgZjg3N19lZWFkciAgIGY4NzdfZWVkYXRoICBmODc3X2VlYWRyaCAgZjg3N19lZWRhdGEgIGY4NzdfZWVjb24xICBmODc3X2VlY29uMiAgZjYyOF9FRUNPTjIKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyIGY4NzdfcmNzdGEgICBmODc3X3R4c3RhICAgZjg3N19zcGJyZyAgIGY4NzdfdHhyZWcgICBmODc3X3JjcmVnICAgZjYyOF9FRURBVEEgIGY2MjhfRUVBRFIgICBmNjI4X0VFQ09OMQorCisiIFJlZ2lzdGVyIC0tLSBiaXRzCisiIFNUQVRVUworc3luIGtleXdvcmQgcGljUmVnaXN0ZXJQYXJ0IHN0YXR1c19jIHN0YXR1c19kYyBzdGF0dXNfeiBzdGF0dXNfcGQKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCBzdGF0dXNfdG8gc3RhdHVzX3JwMCBzdGF0dXNfcnAxIHN0YXR1c19pcnAKKworIiBwaW5zCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlclBhcnQgcGluX2EwIHBpbl9hMSBwaW5fYTIgcGluX2EzIHBpbl9hNCBwaW5fYTUKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCBwaW5fYjAgcGluX2IxIHBpbl9iMiBwaW5fYjMgcGluX2I0IHBpbl9iNSBwaW5fYjYgcGluX2I3CitzeW4ga2V5d29yZCBwaWNSZWdpc3RlclBhcnQgcGluX2MwIHBpbl9jMSBwaW5fYzIgcGluX2MzIHBpbl9jNCBwaW5fYzUgcGluX2M2IHBpbl9jNworc3luIGtleXdvcmQgcGljUmVnaXN0ZXJQYXJ0IHBpbl9kMCBwaW5fZDEgcGluX2QyIHBpbl9kMyBwaW5fZDQgcGluX2Q1IHBpbl9kNiBwaW5fZDcKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCBwaW5fZTAgcGluX2UxIHBpbl9lMgorCitzeW4ga2V5d29yZCBwaWNQb3J0RGlyIHBvcnRfYV9kaXJlY3Rpb24gIHBvcnRfYl9kaXJlY3Rpb24gIHBvcnRfY19kaXJlY3Rpb24gIHBvcnRfZF9kaXJlY3Rpb24gIHBvcnRfZV9kaXJlY3Rpb24KKworc3luIG1hdGNoIHBpY1BpbkRpciAicGluX2FbMDEyMzQ1XV9kaXJlY3Rpb24iCitzeW4gbWF0Y2ggcGljUGluRGlyICJwaW5fYlswMTIzNDU2N11fZGlyZWN0aW9uIgorc3luIG1hdGNoIHBpY1BpbkRpciAicGluX2NbMDEyMzQ1NjddX2RpcmVjdGlvbiIKK3N5biBtYXRjaCBwaWNQaW5EaXIgInBpbl9kWzAxMjM0NTY3XV9kaXJlY3Rpb24iCitzeW4gbWF0Y2ggcGljUGluRGlyICJwaW5fZVswMTJdX2RpcmVjdGlvbiIKKworCisiIElOVENPTgorc3luIGtleXdvcmQgcGljUmVnaXN0ZXJQYXJ0IGludGNvbl9naWUgaW50Y29uX2VlaWUgaW50Y29uX3BlaWUgaW50Y29uX3QwaWUgaW50Y29uX2ludGUKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCBpbnRjb25fcmJpZSBpbnRjb25fdDBpZiBpbnRjb25faW50ZiBpbnRjb25fcmJpZgorCisiIFRJTUVSCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlclBhcnQgdDFja3BzMSB0MWNrcHMwIHQxb3NjZW4gdDFzeW5jIHRtcjFjcyB0bXIxb24gdG1yMWllIHRtcjFpZgorCisiY3BwIGJpdHMKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCBjY3AxeCBjY3AxeQorCisiIGFkY29uIGJpdHMKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCBhZGNvbjBfZ28gYWRjb24wX2NoMCBhZGNvbjBfY2gxIGFkY29uMF9jaDIKKworIiBFRUNPTgorc3luIGtleXdvcmQgcGljUmVnaXN0ZXJQYXJ0ICBlZWNvbjFfcmQgZWVjb24xX3dyIGVlY29uMV93cmVuIGVlY29uMV93cmVyciBlZWNvbjFfZWVwZ2QKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCBmNjI4X2VlY29uMV9yZCBmNjI4X2VlY29uMV93ciBmNjI4X2VlY29uMV93cmVuIGY2MjhfZWVjb24xX3dyZXJyCisKKyIgdXNhcnQKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCB0eDkgdHhlbiBzeW5jIGJyZ2ggdHg5ZAorc3luIGtleXdvcmQgcGljUmVnaXN0ZXJQYXJ0IHNwZW4gcng5IGNyZW4gZmVyciBvZXJyIHJ4OWQKK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCBUWElGIFJDSUYKKworIiBPcENvZGVzLi4uCitzeW4ga2V5d29yZCBwaWNPcGNvZGUgYWRkbHcgYW5kbHcgY2FsbCBjbHJ3ZHQgZ290byBpb3JsdyBtb3ZsdyBvcHRpb24gcmV0ZmllIHJldGx3IHJldHVybiBzbGVlcCBzdWJsdyB0cmlzCitzeW4ga2V5d29yZCBwaWNPcGNvZGUgeG9ybHcgYWRkd2YgYW5kd2YgY2xyZiBjbHJ3IGNvbWYgZGVjZiBkZWNmc3ogaW5jZiBpbmNmc3ogcmV0aXcgaW9yd2YgbW92ZiBtb3Z3ZiBub3AKK3N5biBrZXl3b3JkIHBpY09wY29kZSBybGYgcnJmIHN1YndmIHN3YXBmIHhvcndmIGJjZiBic2YgYnRmc2MgYnRmc3Mgc2tweiBza3BueiBzZXR6IGNscnogc2twYyBza3BuYyBzZXRjIGNscmMKK3N5biBrZXl3b3JkIHBpY09wY29kZSBza3BkYyBza3BuZGMgc2V0ZGMgY2xyZGMgbW92ZncgdHN0ZiBiYW5rIHBhZ2UgSFBBR0UgbXVsbHcgbXVsd2YgY3Bmc2VxIGNwZnNndCBjcGZzbHQgYmFua2EgYmFua2IKKworCitzeW4ga2V5d29yZCBqYWxCb29sZWFuCQl0cnVlIGZhbHNlCitzeW4ga2V5d29yZCBqYWxCb29sZWFuCQlvZmYgb24KK3N5biBrZXl3b3JkIGphbEJpdAkJaGlnaCBsb3cKK3N5biBrZXl3b3JkIGphbENvbnN0YW50CQlJbnB1dCBPdXRwdXQgYWxsX2lucHV0IGFsbF9vdXRwdXQKK3N5biBrZXl3b3JkIGphbENvbmRpdGlvbmFsCWlmIGVsc2UgdGhlbiBlbHNpZiBlbmQgaWYKK3N5biBrZXl3b3JkIGphbExhYmVsCQlnb3RvCitzeW4ga2V5d29yZCBqYWxSZXBlYXQJCWZvciB3aGlsZSBmb3JldmVyIGxvb3AKK3N5biBrZXl3b3JkIGphbFN0YXRlbWVudAlwcm9jZWR1cmUgZnVuY3Rpb24KK3N5biBrZXl3b3JkIGphbFN0YXRlbWVudAlyZXR1cm4gZW5kIHZvbGF0aWxlIGNvbnN0IHZhcgorc3luIGtleXdvcmQgamFsVHlwZQkJYml0IGJ5dGUKKworc3luIGtleXdvcmQgamFsTW9kaWZpZXIJCWludGVycnVwdCBhc3NlbWJsZXIgYXNtIHB1dCBnZXQKK3N5biBrZXl3b3JkIGphbFN0YXRlbWVudAlvdXQgaW4gaXMgYmVnaW4gYXQKK3N5biBrZXl3b3JkIGphbERpcmVjdGl2ZQlwcmFnbWEganVtcF90YWJsZSB0YXJnZXQgdGFyZ2V0X2Nsb2NrIHRhcmdldF9jaGlwIG5hbWUgZXJyb3IgdGVzdCBhc3NlcnQKK3N5biBrZXl3b3JkIGphbFByZWRlZmluZWQgICAgICAgaHMgeHQgcmMgbHAgaW50ZXJuYWwgMTZjODQgMTZmODQgMTZmODc3IHN4MTggc3gyOCAxMmM1MDlhIDEyYzUwOAorc3luIGtleXdvcmQgamFsUHJlZGVmaW5lZCAgICAgICAxMmNlNjc0IDE2ZjYyOCAxOGYyNTIgMThmMjQyIDE4ZjQ0MiAxOGY0NTIgMTJmNjI5IDEyZjY3NSAxNmY4OAorc3luIGtleXdvcmQgamFsUHJlZGVmaW5lZAkxNmY4NzYgMTZmODczIHN4XzEyIHN4MTggc3gyOCBwaWNfMTIgcGljXzE0IHBpY18xNgorCitzeW4ga2V5d29yZCBqYWxEaXJlY3RpdmUgY2hpcCBvc2MgY2xvY2sgIGZ1c2VzICBjcHUgd2F0Y2hkb2cgcG93ZXJ1cCBwcm90ZWN0aW9uCisKK3N5biBrZXl3b3JkIGphbEZ1bmN0aW9uCQliYW5rXzAgYmFua18xIGJhbmtfMiBiYW5rXzMgYmFua180IGJhbmtfNSBiYW5rXzYgYmFua183IHRyaXNhIHRyaXNiIHRyaXNjIHRyaXNkIHRyaXNlCitzeW4ga2V5d29yZCBqYWxGdW5jdGlvbgkJX3RyaXNhX2ZsdXNoIF90cmlzYl9mbHVzaCBfdHJpc2NfZmx1c2ggX3RyaXNkX2ZsdXNoIF90cmlzZV9mbHVzaAorCitzeW4ga2V5d29yZCBqYWxQSUMJCWxvY2FsIGlkbGVfbG9vcAorCitzeW4gcmVnaW9uICBqYWxBc20JCW1hdGNoZ3JvdXA9amFsQXNtS2V5IHN0YXJ0PSJcPGFzc2VtYmxlclw+IiBlbmQ9Ilw8ZW5kIGFzc2VtYmxlclw+IiBjb250YWlucz1qYWxDb21tZW50LGphbFByZVByb2MsamFsTGFiZWwscGljSWRlbnRpZmllciwgcGljTGFiZWwscGljQVNDSUkscGljRGVjaW1hbCxwaWNIZXhhZGVjaW1hbCxwaWNPY3RhbCxwaWNDb21tZW50LHBpY1N0cmluZyxwaWNSZWdpc3RlcixwaWNSaWdpc3RlclBhcnQscGljT3Bjb2RlLHBpY0RpcmVjdGl2ZSxqYWxQSUMKK3N5biByZWdpb24gIGphbEFzbQkJbWF0Y2hncm91cD1qYWxBc21LZXkgc3RhcnQ9Ilw8YXNtXD4iIGVuZD0vJC8gY29udGFpbnM9amFsQ29tbWVudCxqYWxQcmVQcm9jLGphbExhYmVsLHBpY0lkZW50aWZpZXIsIHBpY0xhYmVsLHBpY0FTQ0lJLHBpY0RlY2ltYWwscGljSGV4YWRlY2ltYWwscGljT2N0YWwscGljQ29tbWVudCxwaWNTdHJpbmcscGljUmVnaXN0ZXIscGljUmlnaXN0ZXJQYXJ0LHBpY09wY29kZSxwaWNEaXJlY3RpdmUsamFsUElDCisKK3N5biByZWdpb24gIGphbFBzdWRvVmFycyBtYXRjaGdyb3VwPWphbFBzdWRvVmFyc0tleSBzdGFydD0iXDwncHV0XD4iIGVuZD0iLzxpcy8+IiAgY29udGFpbnM9amFsQ29tbWVudAorCitzeW4gbWF0Y2ggIGphbFN0cmluZ0VzY2FwZQljb250YWluZWQgIiNbMTJdWzAtOV1cPVswLTldXD0iCitzeW4gbWF0Y2ggICBqYWxJZGVudGlmaWVyCQkiXDxbYS16QS1aX11bYS16QS1aMC05X10qXD4iCitzeW4gbWF0Y2ggICBqYWxTeW1ib2xPcGVyYXRvcgkJIlsrXC0vKj1dIgorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSIhIgorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSI8Igorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSI+Igorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSI8PSIKK3N5biBtYXRjaCAgIGphbFN5bWJvbE9wZXJhdG9yCQkiPj0iCitzeW4gbWF0Y2ggICBqYWxTeW1ib2xPcGVyYXRvcgkJIiE9Igorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSI9PSIKK3N5biBtYXRjaCAgIGphbFN5bWJvbE9wZXJhdG9yCQkiPDwiCitzeW4gbWF0Y2ggICBqYWxTeW1ib2xPcGVyYXRvcgkJIj4+Igorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSJ8Igorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSImIgorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSIlIgorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSI/Igorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSJbKCldIgorc3luIG1hdGNoICAgamFsU3ltYm9sT3BlcmF0b3IJCSJbXF4uXSIKK3N5biBtYXRjaCAgIGphbExhYmVsCQkJIltcXl0qOiIKKworc3luIG1hdGNoICBqYWxOdW1iZXIJCSItXD1cPFxkWzAtOV9dXCtcPiIKK3N5biBtYXRjaCAgamFsSGV4TnVtYmVyCQkiMHhbMC05QS1GYS1mX11cK1w+Igorc3luIG1hdGNoICBqYWxCaW5OdW1iZXIJCSIwYlswMV9dXCtcPiIKKworIiBTdHJpbmcKKyJ3cm9uZyBzdHJpbmdzCitzeW4gcmVnaW9uICBqYWxTdHJpbmdFcnJvciBtYXRjaGdyb3VwPWphbFN0cmluZ0Vycm9yIHN0YXJ0PSsiKyBlbmQ9KyIrIGVuZD0rJCsgY29udGFpbnM9amFsU3RyaW5nRXNjYXBlCisKKyJyaWdodCBzdHJpbmdzCitzeW4gcmVnaW9uICBqYWxTdHJpbmcgbWF0Y2hncm91cD1qYWxTdHJpbmcgc3RhcnQ9KycrIGVuZD0rJysgb25lbGluZSBjb250YWlucz1qYWxTdHJpbmdFc2NhcGUKKyIgVG8gc2VlIHRoZSBzdGFydCBhbmQgZW5kIG9mIHN0cmluZ3M6CitzeW4gcmVnaW9uICBqYWxTdHJpbmcgbWF0Y2hncm91cD1qYWxTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisgb25lbGluZSBjb250YWlucz1qYWxTdHJpbmdFc2NhcGVHUEMKKworc3luIGtleXdvcmQgamFsVG9kbyBjb250YWluZWQJVE9ETworc3luIHJlZ2lvbiBqYWxDb21tZW50CQlzdGFydD0vLS0gLyAgZW5kPS8kLyBvbmVsaW5lIGNvbnRhaW5zPWphbFRvZG8KK3N5biByZWdpb24gamFsQ29tbWVudAkJc3RhcnQ9Ly0tXHQvICBlbmQ9LyQvIG9uZWxpbmUgY29udGFpbnM9amFsVG9kbworc3luIG1hdGNoICBqYWxDb21tZW50CQkvLS1cXyQvCitzeW4gcmVnaW9uIGphbFByZVByb2MJCXN0YXJ0PSJpbmNsdWRlIiAgZW5kPS8kLyBjb250YWlucz1KYWxDb21tZW50LGphbFRvRG8KKworCitpZiBleGlzdHMoImphbF9ub190YWJzIikKKwlzeW4gbWF0Y2ggamFsU2hvd1RhYiAiXHQiCitlbmRpZgorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2phbF9zeW5faW5pdHMiKQoraWYgdmVyc2lvbiA8IDUwOAorICBsZXQgZGlkX2phbF9zeW5faW5pdHMgPSAxCisgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CitlbHNlCisgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorZW5kaWYKKworICBIaUxpbmsgamFsQWNjZXMJCWphbFN0YXRlbWVudAorICBIaUxpbmsgamFsQm9vbGVhbgkJQm9vbGVhbgorICBIaUxpbmsgamFsQml0CQkJQm9vbGVhbgorICBIaUxpbmsgamFsQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgamFsQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCisgIEhpTGluayBqYWxDb25zdGFudAkJQ29uc3RhbnQKKyAgSGlMaW5rIGphbERlbGltaXRlcgkJSWRlbnRpZmllcgorICBIaUxpbmsgamFsRGlyZWN0aXZlCQlQcmVQcm9jCisgIEhpTGluayBqYWxFeGNlcHRpb24JCUV4Y2VwdGlvbgorICBIaUxpbmsgamFsRmxvYXQJCUZsb2F0CisgIEhpTGluayBqYWxGdW5jdGlvbgkJRnVuY3Rpb24KKyAgSGlMaW5rIGphbFBzdWRvVmFyc0tleQlGdW5jdGlvbgorICBIaUxpbmsgamFsTGFiZWwJCUxhYmVsCisgIEhpTGluayBqYWxNYXRyaXhEZWxpbWl0ZXIJSWRlbnRpZmllcgorICBIaUxpbmsgamFsTW9kaWZpZXIJCVR5cGUKKyAgSGlMaW5rIGphbE51bWJlcgkJTnVtYmVyCisgIEhpTGluayBqYWxCaW5OdW1iZXIJCU51bWJlcgorICBIaUxpbmsgamFsSGV4TnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGphbE9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgamFsUHJlZGVmaW5lZAkJQ29uc3RhbnQKKyAgSGlMaW5rIGphbFByZVByb2MJCVByZVByb2MKKyAgSGlMaW5rIGphbFJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBqYWxTdGF0ZW1lbnQJCVN0YXRlbWVudAorICBIaUxpbmsgamFsU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIGphbFN0cmluZ0VzY2FwZQlTcGVjaWFsCisgIEhpTGluayBqYWxTdHJpbmdFc2NhcGVHUEMJU3BlY2lhbAorICBIaUxpbmsgamFsU3RyaW5nRXJyb3IJCUVycm9yCisgIEhpTGluayBqYWxTdHJ1Y3QJCWphbFN0YXRlbWVudAorICBIaUxpbmsgamFsU3ltYm9sT3BlcmF0b3IJamFsT3BlcmF0b3IKKyAgSGlMaW5rIGphbFRvZG8JCVRvZG8KKyAgSGlMaW5rIGphbFR5cGUJCVR5cGUKKyAgSGlMaW5rIGphbFVuY2xhc3NpZmllZAlTdGF0ZW1lbnQKKyAgSGlMaW5rIGphbEFzbQkJCUFzc2VtYmxlcgorICBIaUxpbmsgamFsRXJyb3IJCUVycm9yCisgIEhpTGluayBqYWxBc21LZXkJCVN0YXRlbWVudAorICBIaUxpbmsgamFsUElDCQkJU3RhdGVtZW50CisKKyAgSGlMaW5rIGphbFNob3dUYWIJCUVycm9yCisKKyAgSGlMaW5rIHBpY1RvZG8JCVRvZG8KKyAgSGlMaW5rIHBpY0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHBpY0RpcmVjdGl2ZQkJU3RhdGVtZW50CisgIEhpTGluayBwaWNMYWJlbAkJTGFiZWwKKyAgSGlMaW5rIHBpY1N0cmluZwkJU3RyaW5nCisKKyAgSGlMaW5rIHBpY09wY29kZQkJS2V5d29yZAorICBIaUxpbmsgcGljUmVnaXN0ZXIJCVN0cnVjdHVyZQorICBIaUxpbmsgcGljUmVnaXN0ZXJQYXJ0CVNwZWNpYWwKKyAgSGlMaW5rIHBpY1BpbkRpcgkJU1BlY2lhbAorICBIaUxpbmsgcGljUG9ydERpcgkJU1BlY2lhbAorCisgIEhpTGluayBwaWNBU0NJSQkJU3RyaW5nCisgIEhpTGluayBwaWNCaW5hcnkJCU51bWJlcgorICBIaUxpbmsgcGljRGVjaW1hbAkJTnVtYmVyCisgIEhpTGluayBwaWNIZXhhZGVjaW1hbAkJTnVtYmVyCisgIEhpTGluayBwaWNPY3RhbAkJTnVtYmVyCisKKyAgSGlMaW5rIHBpY0lkZW50aWZpZXIJCUlkZW50aWZpZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJqYWwiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2phbS52aW0gYi9ydW50aW1lL3N5bnRheC9qYW0udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmZTY2NzgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9qYW0udmltCkBAIC0wLDAgKzEsMjUyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSkFNCisiIE1haW50YWluZXI6CVJhbGYgTGVta2UgKHJhbGZsZW1rQHQtb25saW5lLmRlKQorIiBMYXN0IGNoYW5nZToJMDktMTAtMjAwMAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmIHZlcnNpb24gPj0gNjAwCisgIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sLQorZWxzZQorICBzZXQgaXNrZXl3b3JkPUAsNDgtNTcsXywtCitlbmRpZgorCisiIEEgYnVuY2ggb2YgdXNlZnVsIGphbSBrZXl3b3Jkcworc3luIGtleXdvcmQJamFtU3RhdGVtZW50CWJyZWFrIGNhbGwgZGJtcyBmbHVzaCBnbG9iYWwgaW5jbHVkZSBtc2cgcGFybXMgcHJvYyBwdWJsaWMgcmVjZWl2ZSByZXR1cm4gc2VuZCB1bmxvYWQgdmFycworc3luIGtleXdvcmQJamFtQ29uZGl0aW9uYWwJaWYgZWxzZQorc3luIGtleXdvcmQJamFtUmVwZWF0CWZvciB3aGlsZSBuZXh0IHN0ZXAKKworc3luIGtleXdvcmQJamFtVG9kbwkJY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCitzeW4ga2V5d29yZAlqYW1EQlN0YXRlMQlhbGlhcyBiaW5hcnkgY2F0cXVlcnkgY2xvc2UgY2xvc2VfYWxsX2Nvbm5lY3Rpb25zIGNvbHVtbl9uYW1lcyBjb25uZWN0aW9uIGNvbnRpbnVlIGNvbnRpbnVlX2JvdHRvbSBjb250aW51ZV9kb3duIGNvbnRpbnVlX3RvcCBjb250aW51ZV91cAorc3luIGtleXdvcmQJamFtREJTdGF0ZTIJICAgICBjdXJzb3IgZGVjbGFyZSBlbmdpbmUgZXhlY3V0ZSBmb3JtYXQgb2NjdXIgb25lbnRyeSBvbmVycm9yIG9uZXhpdCBzcWwgc3RhcnQgc3RvcmUgdW5pcXVlIHdpdGgKK3N5biBrZXl3b3JkCWphbVNRTFN0YXRlMQlhbGwgYWx0ZXIgYW5kIGFueSBhdmcgYmV0d2VlbiBieSBjb3VudCBjcmVhdGUgY3VycmVudCBkYXRhIGRhdGFiYXNlIGRlbGV0ZSBkaXN0aW5jdCBkcm9wIGV4aXN0cyBmZXRjaCBmcm9tIGdyYW50IGdyb3VwCitzeW4ga2V5d29yZAlqYW1TUUxTdGF0ZTIJaGF2aW5nIGluZGV4IGluc2VydCBpbnRvIGxpa2UgbG9hZCBtYXggbWluIG9mIG9wZW4gb3JkZXIgcmV2b2tlIHJvbGxiYWNrIHJ1bnN0YXRzIHNlbGVjdCBzZXQgc2hvdyBzdG9wIHN1bSBzeW5vbnltIHRhYmxlIHRvIHVuaW9uIHVwZGF0ZSB2YWx1ZXMgdmlldyB3aGVyZSBidW5kbGUKKworc3luIGtleXdvcmQgICAgIGphbUxpYkZ1bmMxICAgICBkbV9iaW5fY3JlYXRlX29jY3VyIGRtX2Jpbl9kZWxldGVfb2NjdXIgZG1fYmluX2dldF9kbGVuZ3RoIGRtX2Jpbl9nZXRfb2NjdXIgZG1fYmluX2xlbmd0aCBkbV9iaW5fbWF4X29jY3VyIGRtX2Jpbl9zZXRfZGxlbmd0aCBkbV9jb252ZXJ0X2VtcHR5IGRtX2N1cnNvcl9jb25uZWN0aW9uIGRtX2N1cnNvcl9jb25zaXN0ZW50IGRtX2N1cnNvcl9lbmdpbmUgZG1fZGJpX2luaXQgZG1fZGJtcyBkbV9kYm1zX25vZXhwIGRtX2Rpc2FibGVfc3R5bGVzIGRtX2VuYWJsZV9zdHlsZXMgZG1fZXhlY19zcWwgZG1fZXhwYW5kIGRtX2ZyZWVfc3FsX2luZm8gZG1fZ2VuX2NoYW5nZV9leGVjdXRlX3VzaW5nIGRtX2dlbl9jaGFuZ2Vfc2VsZWN0X2Zyb20gZG1fZ2VuX2NoYW5nZV9zZWxlY3RfZ3JvdXBfYnkgZG1fZ2VuX2NoYW5nZV9zZWxlY3RfaGF2aW5nIGRtX2dlbl9jaGFuZ2Vfc2VsZWN0X2xpc3QgZG1fZ2VuX2NoYW5nZV9zZWxlY3Rfb3JkZXJfYnkgZG1fZ2VuX2NoYW5nZV9zZWxlY3Rfc3VmZml4IGRtX2dlbl9jaGFuZ2Vfc2VsZWN0X3doZXJlIGRtX2dlbl9nZXRfdHZfYWxpYXMgZG1fZ2VuX3NxbF9pbmZvCisKK3N5biBrZXl3b3JkICAgICBqYW1MaWJGdW5jMiAgICAgZG1fZ2V0X2RiX2Nvbm5faGFuZGxlIGRtX2dldF9kYl9jdXJzb3JfaGFuZGxlIGRtX2dldF9kcml2ZXJfb3B0aW9uIGRtX2dldGRiaXRleHQgZG1faW5pdCBkbV9pc19jb25uZWN0aW9uIGRtX2lzX2N1cnNvciBkbV9pc19lbmdpbmUgZG1fb2RiX3ByZXNlcnZlc19jdXJzb3IgZG1fcmVzZXQgZG1fc2V0X2RyaXZlcl9vcHRpb24gZG1fc2V0X21heF9mZXRjaGVzIGRtX3NldF9tYXhfcm93c19wZXJfZmV0Y2ggZG1fc2V0X3RtX2NsZWFyX2Zhc3QgZG1fdmFsX3JlbGF0aXZlIHNtX2FkanVzdF9hcmVhIHNtX2FsbGdldCBzbV9hbXRfZm9ybWF0IHNtX2VfYW10X2Zvcm1hdCBzbV9pX2FtdF9mb3JtYXQgc21fbl9hbXRfZm9ybWF0IHNtX29fYW10X2Zvcm1hdCBzbV9hcHBlbmRfYnVuZGxlX2RhdGEgc21fYXBwZW5kX2J1bmRsZV9kb25lIHNtX2FwcGVuZF9idW5kbGVfaXRlbSBzbV9kX2F0X2N1ciBzbV9sX2F0X2N1ciBzbV9yX2F0X2N1ciBzbV9td19hdHRhY2hfZHJhd2luZ19mdW5jIHNtX213bl9hdHRhY2hfZHJhd2luZ19mdW5jIHNtX213ZV9hdHRhY2hfZHJhd2luZ19mdW5jIHNtX3htX2F0dGFjaF9kcmF3aW5nX2Z1bmMgc21feG1uX2F0dGFjaF9kcmF3aW5nX2Z1bmMgc21feG1lX2F0dGFjaF9kcmF3aW5nX2Z1bmMgc21fYmFja3RhYiBzbV9iZWwgc21fYmlfY29tcGFyZXNtX2JpX2NvcHkgc21fYmlfaW5pdGlhbGl6ZSBzbV9ia3JlY3Qgc21fY19vZmYgc21fY19vbiBzbV9jX3ZpcyBzbV9jYWxjIHNtX2NhbmNlbCBzbV9ja2RpZ2l0IHNtX2NsX2FsbF9tZHRzIHNtX2NsX3VucHJvdCBzbV9jbGVhcl9hcnJheSBzbV9uX2NsZWFyX2FycmF5IHNtXzFjbGVhcl9hcnJheSBzbV9uXzFjbGVhcl9hcnJheSBzbV9jbG9zZV93aW5kb3cgc21fY29tX2xvYWRfcGljdHVyZSBzbV9jb21fUXVlcnlJbnRlcmZhY2Ugc21fY29tX3Jlc3VsdCBzbV9jb21fcmVzdWx0X21zZyBzbV9jb21fc2V0X2hhbmRsZXIgc21fY29weWFycmF5IHNtX25fY29weWFycmF5IHNtX2NyZWF0ZV9idW5kbGUKKworc3luIGtleXdvcmQgICAgIGphbUxpYkZ1bmMzICAgICBzbV9kX21zZ19saW5lIHNtX2RibHZhbCBzbV9lX2RibHZhbCBzbV9pX2RibHZhbCBzbV9uX2RibHZhbCBzbV9vX2RibHZhbCBzbV9kZF9hYmxlIHNtX2RkZV9jbGllbnRfY29ubmVjdF9jb2xkIHNtX2RkZV9jbGllbnRfY29ubmVjdF9ob3Qgc21fZGRlX2NsaWVudF9jb25uZWN0X3dhcm0gc21fZGRlX2NsaWVudF9kaXNjb25uZWN0IHNtX2RkZV9jbGllbnRfb2ZmIHNtX2RkZV9jbGllbnRfb24gc21fZGRlX2NsaWVudF9wYXN0ZV9saW5rX2NvbGQgc21fZGRlX2NsaWVudF9wYXN0ZV9saW5rX2hvdCBzbV9kZGVfY2xpZW50X3Bhc3RlX2xpbmtfd2FybSBzbV9kZGVfY2xpZW50X3JlcXVlc3Qgc21fZGRlX2V4ZWN1dGUgc21fZGRlX2luc3RhbGxfbm90aWZ5IHNtX2RkZV9wb2tlIHNtX2RkZV9zZXJ2ZXJfb2ZmIHNtX2RkZV9zZXJ2ZXJfb24gc21fZGVsYXlfY3Vyc29yIHNtX2Rlc2VsZWN0IHNtX2RpY25hbWUgc21fZGlzcF9vZmYgc21fZGxlbmd0aCBzbV9lX2RsZW5ndGggc21faV9kbGVuZ3RoIHNtX25fZGxlbmd0aCBzbV9vX2RsZW5ndGggc21fZG9fdWluc3RhbGxzIHNtX2lfZG9jY3VyIHNtX29fZG9jY3VyIHNtX2RyYXdpbmdhcmVhIHNtX3htX2RyYXdpbmdhcmVhIHNtX2R0b2ZpZWxkIHNtX2VfZHRvZmllbGQgc21faV9kdG9maWVsZCBzbV9uX2R0b2ZpZWxkIHNtX29fZHRvZmllbGQgc21fZmVtc2cgc21fZmVycl9yZXNldCBzbV9maV9wYXRoIHNtX2ZpbGVfY29weSBzbV9maWxlX2V4aXN0cyBzbV9maWxlX21vdmUgc21fZmlsZV9yZW1vdmUgc21fZmlfb3BlbiBzbV9maV9wYXRoIHNtX2ZpbGVib3ggc21fZmlsZXR5cGVzIHNtX2Zpb19hMmYgc21fZmlvX2Nsb3NlIHNtX2Zpb19lZGl0b3Igc21fZmlvX2Vycm9yIHNtX2Zpb19lcnJvcl9zZXQgc21fZmlvX2YyYSBzbV9maW9fZ2V0YyBzbV9maW9fZ2V0cyBzbV9maW9faGFuZGxlIHNtX2Zpb19vcGVuIHNtX2Zpb19wdXRjIHNtX2Zpb19wdXRzIHNtX2Zpb19yZXdpbmQgc21fZmx1c2ggc21fZF9mb3JtIHNtX2xfZm9ybQorCitzeW4ga2V5d29yZCAgICAgamFtTGliRnVuYzQgICAgIHNtX3JfZm9ybSBzbV9mb3JtbGlzdCBzbV9mcHRyIHNtX2VfZnB0ciBzbV9pX2ZwdHIgc21fbl9mcHRyIHNtX29fZnB0ciBzbV9mcXVpX21zZyBzbV9mcXVpZXRfZXJyIHNtX2ZyZWVfYnVuZGxlIHNtX2Z0b2cgc21fZV9mdG9nIHNtX2lfZnRvZyBzbV9uX2Z0b2cgc21fb19mdG9nIHNtX2Z2YWwgc21fZV9mdmFsIHNtX2lfZnZhbCBzbV9uX2Z2YWwgc21fb19mdmFsIHNtX2lfZ2V0X2JpX2RhdGEgc21fb19nZXRfYmlfZGF0YSBzbV9nZXRfYnVuZGxlX2RhdGEgc21fZ2V0X2J1bmRsZV9pdGVtX2NvdW50IHNtX2dldF9idW5kbGVfb2NjdXJfY291bnQgc21fZ2V0X25leHRfYnVuZGxlX25hbWUgc21faV9nZXRfdHZfYmlfZGF0YSBzbV9vX2dldF90dl9iaV9kYXRhIHNtX2dldGZpZWxkIHNtX2VfZ2V0ZmllbGQgc21faV9nZXRmaWVsZCBzbV9uX2dldGZpZWxkIHNtX29fZ2V0ZmllbGQgc21fZ2V0a2V5IHNtX2dvZmllbGQgc21fZV9nb2ZpZWxkIHNtX2lfZ29maWVsZCBzbV9uX2dvZmllbGQgc21fb19nb2ZpZWxkIHNtX2d0b2Ygc21fZ3ZhbCBzbV9pX2d0b2Ygc21fbl9ndmFsIHNtX2hscF9ieV9uYW1lIHNtX2hvbWUgc21faW5pbXNnIHNtX2luaXRjcnQgc21famluaXRjcnQgc21fanhpbml0Y3J0IHNtX2lucHV0IHNtX2lucXVpcmUgc21faW5zdGFsbCBzbV9pbnR2YWwgc21fZV9pbnR2YWwgc21faV9pbnR2YWwgc21fbl9pbnR2YWwgc21fb19pbnR2YWwgc21faV9pb2NjdXIgc21fb19pb2NjdXIgc21faXNfYnVuZGxlIHNtX2lzX25vIHNtX2VfaXNfbm8gc21faV9pc19ubyBzbV9uX2lzX25vIHNtX29faXNfbm8gc21faXNfeWVzIHNtX2VfaXNfeWVzIHNtX2lfaXNfeWVzIHNtX25faXNfeWVzIHNtX29faXNfeWVzIHNtX2lzYWJvcnQgc21faXNldCBzbV9pc3N2IHNtX2l0b2ZpZWxkIHNtX2VfaXRvZmllbGQgc21faV9pdG9maWVsZCBzbV9uX2l0b2ZpZWxkIHNtX29faXRvZmllbGQgc21famNsb3NlIHNtX2pmaWxlYm94IHNtX2pmb3JtIHNtX2RqcGxjYWxsIHNtX2pwbGNhbGwKKworc3luIGtleXdvcmQgICAgIGphbUxpYkZ1bmM1ICAgICBzbV9zanBsY2FsbCBzbV9qcGxwdWJsaWMgc21fanBsdW5sb2FkIHNtX2p0b3Agc21fandpbmRvdyBzbV9rZXlfaW50ZWdlciBzbV9rZXlmaWx0ZXIgc21fa2V5aGl0IHNtX2tleWluaXQgc21fbl9rZXlpbml0IHNtX2tleWxhYmVsIHNtX2tleW9wdGlvbiBzbV9sX2Nsb3NlIHNtX2xfb3BlbiBzbV9sX29wZW5fc3lzbGliIHNtX2xhc3Qgc21fbGF1bmNoIHNtX2hfbGRiX2ZsZF9nZXQgc21fbl9sZGJfZmxkX2dldCBzbV9oX2xkYl9uX2ZsZF9nZXQgc21fbl9sZGJfbl9mbGRfZ2V0IHNtX2hfbGRiX2ZsZF9zdG9yZSBzbV9uX2xkYl9mbGRfc3RvcmUgc21faF9sZGJfbl9mbGRfc3RvcmUgc21fbl9sZGJfbl9mbGRfc3RvcmUgc21fbGRiX2dldF9hY3RpdmUgc21fbGRiX2dldF9pbmFjdGl2ZSBzbV9sZGJfZ2V0X25leHRfYWN0aXZlIHNtX2xkYl9nZXRfbmV4dF9pbmFjdGl2ZSBzbV9sZGJfZ2V0ZmllbGQgc21faV9sZGJfZ2V0ZmllbGQgc21fbl9sZGJfZ2V0ZmllbGQgc21fb19sZGJfZ2V0ZmllbGQgc21fbGRiX2hfZ2V0ZmllbGQgc21faV9sZGJfaF9nZXRmaWVsZCBzbV9uX2xkYl9oX2dldGZpZWxkIHNtX29fbGRiX2hfZ2V0ZmllbGQgc21fbGRiX2hhbmRsZSBzbV9sZGJfaW5pdCBzbV9sZGJfaXNfbG9hZGVkIHNtX2xkYl9sb2FkIHNtX2xkYl9uYW1lIHNtX2xkYl9uZXh0X2hhbmRsZSBzbV9sZGJfcG9wIHNtX2xkYl9wdXNoIHNtX2xkYl9wdXRmaWVsZCBzbV9pX2xkYl9wdXRmaWVsZCBzbV9uX2xkYl9wdXRmaWVsZCBzbV9vX2xkYl9wdXRmaWVsZCBzbV9sZGJfaF9wdXRmaWVsZCBzbV9pX2xkYl9oX3B1dGZpZWxkIHNtX25fbGRiX2hfcHV0ZmllbGQgc21fb19sZGJfaF9wdXRmaWVsZCBzbV9sZGJfc3RhdGVfZ2V0IHNtX2xkYl9oX3N0YXRlX2dldCBzbV9sZGJfc3RhdGVfc2V0IHNtX2xkYl9oX3N0YXRlX3NldCBzbV9sZGJfdW5sb2FkIHNtX2xkYl9oX3VubG9hZCBzbV9sZWF2ZSBzbV9saXN0X29iamVjdHNfY291bnQgc21fbGlzdF9vYmplY3RzX2VuZCBzbV9saXN0X29iamVjdHNfbmV4dAorCitzeW4ga2V5d29yZCAgICAgamFtTGliRnVuYzYgICAgIHNtX2xpc3Rfb2JqZWN0c19zdGFydCBzbV9sbmd2YWwgc21fZV9sbmd2YWwgc21faV9sbmd2YWwgc21fbl9sbmd2YWwgc21fb19sbmd2YWwgc21fbG9hZF9zY3JlZW4gc21fbG9nIHNtX2xzdG9yZSBzbV9sdG9maWVsZCBzbV9lX2x0b2ZpZWxkIHNtX2lfbHRvZmllbGQgc21fbl9sdG9maWVsZCBzbV9vX2x0b2ZpZWxkIHNtX21fZmx1c2ggc21fbWVudV9iYXJfZXJyb3Igc21fbWVudV9jaGFuZ2Ugc21fbWVudV9jcmVhdGUgc21fbWVudV9kZWxldGUgc21fbWVudV9nZXRfaW50IHNtX21lbnVfZ2V0X3N0ciBzbV9tZW51X2luc3RhbGwgc21fbWVudV9yZW1vdmUgc21fbWVzc2FnZV9ib3ggc21fbW5jcmluaXQ2IHNtX21uaXRlbV9jaGFuZ2Ugc21fbl9tbml0ZW1fY2hhbmdlIHNtX21uaXRlbV9jcmVhdGUgc21fbl9tbml0ZW1fY3JlYXRlIHNtX21uaXRlbV9kZWxldGUgc21fbl9tbml0ZW1fZGVsZXRlIHNtX21uaXRlbV9nZXRfaW50IHNtX25fbW5pdGVtX2dldF9pbnQgc21fbW5pdGVtX2dldF9zdHIgc21fbl9tbml0ZW1fZ2V0X3N0ciBzbV9tbnNjcmlwdF9sb2FkIHNtX21uc2NyaXB0X3VubG9hZCBzbV9tc19pbnF1aXJlIHNtX21zZyBzbV9tc2dfZGVsIHNtX21zZ19nZXQgc21fbXNnX3JlYWQgc21fZF9tc2dfcmVhZCBzbV9uX21zZ19yZWFkIHNtX21zZ2ZpbmQgc21fbXRzX0NyZWF0ZUluc3RhbmNlIHNtX210c19DcmVhdGVQcm9wZXJ0eSBzbV9tdHNfQ3JlYXRlUHJvcGVydHlHcm91cCBzbV9tdHNfRGlzYWJsZUNvbW1pdCBzbV9tdHNfRW5hYmxlQ29tbWl0IHNtX210c19HZXRQcm9wZXJ0eVZhbHVlIHNtX210c19Jc0NhbGxlckluUm9sZSBzbV9tdHNfSXNJblRyYW5zYWN0aW9uIHNtX210c19Jc1NlY3VyaXR5RW5hYmxlZCBzbV9tdHNfUHV0UHJvcGVydHlWYWx1ZSBzbV9tdHNfU2V0QWJvcnQgc21fbXRzX1NldENvbXBsZXRlIHNtX211c190aW1lIHNtX213X2dldF9jbGllbnRfd25kIHNtX213X2dldF9jbWRfc2hvdyBzbV9td19nZXRfZnJhbWVfd25kIHNtX213X2dldF9pbnN0YW5jZQorCitzeW4ga2V5d29yZCAgICAgamFtTGliRnVuYzcgICAgIHNtX213X2dldF9wcmV2X2luc3RhbmNlIHNtX213X1ByaW50U2NyZWVuIHNtX25leHRfc3luYyBzbV9ubCBzbV9udWxsIHNtX2VfbnVsbCBzbV9pX251bGwgc21fbl9udWxsIHNtX29fbnVsbCBzbV9vYmpfY2FsbCBzbV9vYmpfY29weSBzbV9vYmpfY29weV9pZCBzbV9vYmpfY3JlYXRlIHNtX29ial9kZWxldGUgc21fb2JqX2RlbGV0ZV9pZCBzbV9vYmpfZ2V0X3Byb3BlcnR5IHNtX29ial9vbmVycm9yIHNtX29ial9zZXRfcHJvcGVydHkgc21fb2JqX3NvcnQgc21fb2JqX3NvcnRfYXV0byBzbV9vY2N1cl9ubyBzbV9vZmZfZ29maWVsZCBzbV9lX29mZl9nb2ZpZWxkIHNtX2lfb2ZmX2dvZmllbGQgc21fbl9vZmZfZ29maWVsZCBzbV9vX29mZl9nb2ZpZWxkIHNtX29wdGlvbiBzbV9vcHRtbnVfaWQgc21fcGlucXVpcmUgc21fcG9wdXBfYXRfY3VyIHNtX3Byb3BfZXJyb3Igc21fcHJvcF9nZXRfaW50IHNtX3Byb3BfZ2V0X3N0ciBzbV9wcm9wX2dldF9kYmwgc21fcHJvcF9nZXRfeF9pbnQgc21fcHJvcF9nZXRfeF9zdHIgc21fcHJvcF9nZXRfeF9kYmwgc21fcHJvcF9nZXRfbV9pbnQgc21fcHJvcF9nZXRfbV9zdHIgc21fcHJvcF9nZXRfbV9kYmwgc21fcHJvcF9pZCBzbV9wcm9wX25hbWVfdG9faWQgc21fcHJvcF9zZXRfaW50IHNtX3Byb3Bfc2V0X3N0ciBzbV9wcm9wX3NldF9kYmwgc21fcHJvcF9zZXRfeF9pbnQgc21fcHJvcF9zZXRfeF9zdHIgc21fcHJvcF9zZXRfeF9kYmwgc21fcHJvcF9zZXRfbV9pbnQgc21fcHJvcF9zZXRfbV9zdHIgc21fcHJvcF9zZXRfbV9kYmwgc21fcHNldCBzbV9wdXRmaWVsZCBzbV9lX3B1dGZpZWxkIHNtX2lfcHV0ZmllbGQgc21fbl9wdXRmaWVsZCBzbV9vX3B1dGZpZWxkIHNtX3JhaXNlX2V4Y2VwdGlvbiBzbV9yZWNlaXZlIHNtX3JlY2VpdmVfYXJncyBzbV9yZXNjcmVlbiBzbV9yZXNldGNydCBzbV9qcmVzZXRjcnQgc21fanhyZXNldGNydCBzbV9yZXNpemUgc21fcmVzdG9yZV9kYXRhIHNtX3JldHVybiBzbV9yZXR1cm5fYXJncyBzbV9ybWZvcm1saXN0IHNtX3JzX2RhdGEKKworc3luIGtleXdvcmQgICAgIGphbUxpYkZ1bmM4ICAgICBzbV9yd19lcnJvcl9tZXNzYWdlIHNtX3J3X3BsYXlfbWV0YWZpbGUgc21fcndfcnVucmVwb3J0IHNtX3NfdmFsIHNtX3NhdmVfZGF0YSBzbV9zZHRpbWUgc21fc2VsZWN0IHNtX3NlbmQgc21fc2V0X2hlbHAgc21fc2V0YmtzdGF0IHNtX3NldHNpYmxpbmcgc21fc2V0c3RhdHVzIHNtX3NoX29mZiBzbV9zaGVsbCBzbV9zaHJpbmtfdG9fZml0IHNtX3NsaWJfZXJyb3Igc21fc2xpYl9pbnN0YWxsIHNtX3NsaWJfbG9hZCBzbV9zb3B0aW9uIHNtX3N0cmlwX2FtdF9wdHIgc21fZV9zdHJpcF9hbXRfcHRyIHNtX2lfc3RyaXBfYW10X3B0ciBzbV9uX3N0cmlwX2FtdF9wdHIgc21fb19zdHJpcF9hbXRfcHRyIHNtX3N2X2RhdGEgc21fc3ZfZnJlZSBzbV9zdnNjcmVlbiBzbV90YWIgc21fdG1fY2xlYXIgc21fdG1fY2xlYXJfbW9kZWxfZXZlbnRzIHNtX3RtX2NvbW1hbmQgc21fdG1fY29tbWFuZF9lbXNnc2V0IHNtX3RtX2NvbW1hbmRfZXJyc2V0IHNtX3RtX2NvbnRpbnVhdGlvbl92YWxpZGl0eSBzbV90bV9kYmlfY2hlY2tlciBzbV90bV9lcnJvciBzbV90bV9lcnJvcmxvZyBzbV90bV9ldmVudCBzbV90bV9ldmVudF9uYW1lIHNtX3RtX2ZhaWx1cmVfbWVzc2FnZSBzbV90bV9oYW5kbGluZyBzbV90bV9pbnF1aXJlIHNtX3RtX2lzZXQgc21fdG1fbXNnX2NvdW50X2Vycm9yIHNtX3RtX21zZ19lbXNnIHNtX3RtX21zZ19lcnJvciBzbV90bV9vbGRfYmlfY29udGV4dCBzbV90bV9wY29weSBzbV90bV9waW5xdWlyZSBzbV90bV9wb3BfbW9kZWxfZXZlbnQgc21fdG1fcHNldCBzbV90bV9wdXNoX21vZGVsX2V2ZW50IHNtX3RtcG5hbSBzbV90cF9leGVjIHNtX3RwX2ZyZWVfYXJnX2J1ZiBzbV90cF9nZW5faW5zZXJ0IHNtX3RwX2dlbl9zZWxfcmV0dXJuIHNtX3RwX2dlbl9zZWxfd2hlcmUgc21fdHBfZ2VuX3ZhbF9saW5rIHNtX3RwX2dlbl92YWxfcmV0dXJuIHNtX3RwX2dldF9zdmNfYWxpYXMgc21fdHBfZ2V0X3R1eF9jYWxsaWQgc21fdHJhbnNsYXRlY29vcmRzIHNtX3RzdF9hbGxfbWR0cworCitzeW4ga2V5d29yZCAgICAgamFtTGliRnVuYzkgICAgIHNtX3VkdGltZSBzbV91bmdldGtleSBzbV91bmxvYWRfc2NyZWVuIHNtX3Vuc3ZzY3JlZW4gc21fdXBkX3NlbGVjdCBzbV92YWxpZGF0ZSBzbV9uX3ZhbGlkYXRlIHNtX3Zpbml0IHNtX25fdmluaXQgc21fd2NvdW50IHNtX3dkZXNlbGVjdCBzbV93ZWJfZ2V0X2Nvb2tpZSBzbV93ZWJfaW52b2tlX3VybCBzbV93ZWJfbG9nX2Vycm9yIHNtX3dlYl9zYXZlX2dsb2JhbCBzbV93ZWJfc2V0X2Nvb2tpZSBzbV93ZWJfdW5zYXZlX2FsbF9nbG9iYWxzIHNtX3dlYl91bnNhdmVfZ2xvYmFsIHNtX213X3dpZGdldCBzbV9td2Vfd2lkZ2V0IHNtX213bl93aWRnZXQgc21feG1fd2lkZ2V0IHNtX3htZV93aWRnZXQgc21feG1uX3dpZGdldCBzbV93aW5fc2hyaW5rIHNtX2Rfd2luZG93IHNtX2RfYXRfY3VyIHNtX2xfd2luZG93IHNtX2xfYXRfY3VyIHNtX3Jfd2luZG93IHNtX3JfYXRfY3VyIHNtX3dpbnNpemUgc21fd3JvdGF0ZSBzbV93c2VsZWN0IHNtX25fd3NlbGVjdCBzbV93d19sZW5ndGggc21fbl93d19sZW5ndGggc21fd3dfcmVhZCBzbV9uX3d3X3JlYWQgc21fd3dfd3JpdGUgc21fbl93d193cml0ZSBzbV94bGF0ZV90YWJsZSBzbV94bV9nZXRfYmFzZV93aW5kb3cgc21feG1fZ2V0X2Rpc3BsYXkKKworc3luIGtleXdvcmQgICAgIGphbVZhcmlhYmxlMSAgICBTTV9TQ0NTX0lEIFNNX0VOVEVSVEVSTSBTTV9NQUxMT0MgU01fQ0FOQ0VMIFNNX0JBRFRFUk0gU01fRk5VTSBTTV9EWkVSTyBTTV9FWFBPTkVOVCBTTV9JTlZEQVRFIFNNX01BVEhFUlIgU01fRlJNREFUQSBTTV9OT0ZPUk0gU01fRlJNRVJSIFNNX0JBREtFWSBTTV9EVVBLRVkgU01fRVJST1IgU01fU1AxIFNNX1NQMiBTTV9SRU5UUlkgU01fTVVTVEZJTEwgU01fQUZPVlJGTFcgU01fVE9PX0ZFV19ESUdJVFMgIFNNX0NLRElHSVQgU01fSElUQU5ZIFNNX05PSEVMUCBTTV9NQVhIRUxQIFNNX09VVFJBTkdFIFNNX0VOVEVSVEVSTTEgU01fU1lTREFURSBTTV9EQVRGUk0gU01fREFUQ0xSIFNNX0RBVElOViBTTV9LU0RBVEEgU01fS1NFUlIgU01fS1NOT05FIFNNX0tTTU9SRSBTTV9EQVlBMSBTTV9EQVlBMiBTTV9EQVlBMyBTTV9EQVlBNCBTTV9EQVlBNSBTTV9EQVlBNiBTTV9EQVlBNyBTTV9EQVlMMSBTTV9EQVlMMiBTTV9EQVlMMyBTTV9EQVlMNCBTTV9EQVlMNSBTTV9EQVlMNiBTTV9EQVlMNyBTTV9NTlNDUl9MT0FEIFNNX01FTlVfSU5TVEFMTCBTTV9JTlNUREVGU0NSTCBTTV9JTlNUU0NST0xMIFNNX01PUkVEQVRBIFNNX1JFQURZIFNNX1dBSVQgU01fWUVTIFNNX05PIFNNX05PVEVNUCBTTV9GUk1IRUxQIFNNX0ZJTFZFUiBTTV9PTkxZT05FIFNNX1dNU01PVkUgU01fV01TU0laRSBTTV9XTVNPRkYgU01fTFBSSU5UIFNNX0ZNT0RFIFNNX05PRklMRSBTTV9OT1NFQ1ROIFNNX0ZGT1JNQVQgU01fRlJFQUQgU01fUlgxIFNNX1JYMiBTTV9SWDMgU01fVEFCTE9PSyBTTV9NSVNLRVQgU01fSUxMS0VUIFNNX0lMTEJSQSBTTV9NSVNEQkxLRVQgU01fSUxMREJMS0VUIFNNX0lMTERCTEJSQSBTTV9JTExfUklHSFQgU01fSUxMRUxTRSBTTV9OVU1CRVIgU01fRU9UIFNNX0JSRUFLIFNNX05PQVJHUyBTTV9CSUdWQVIgU01fRVhDRVNTIFNNX0VPTCBTTV9GSUxFSU8gU01fRk9SIFNNX1JDVVJMWSBTTV9OT05BTUUgU01fMUpQTF9FUlIgU01fMkpQTF9FUlIgU01fM0pQTF9FUlIKKworc3luIGtleXdvcmQgICAgIGphbVZhcmlhYmxlMiAgICBTTV9KUExBVENIIFNNX0ZPUk1BVCBTTV9ERVNUSU5BVElPTiBTTV9PUkFORCBTTV9PUkFUT1IgU01fSUxMX0xFRlQgU01fTUlTU1BBUkVOUyBTTV9JTExDTE9TRV9DT01NIFNNX0ZVTkNUSU9OIFNNX0VRVUFMUyBTTV9NSVNNQVRDSCBTTV9RVU9URSBTTV9TWU5UQVggU01fTkVYVCBTTV9WRVJCX1VOS05PV04gU01fSlBMRk9STSBTTV9OT1RfTE9BREVEIFNNX0dBX0ZMRyBTTV9HQV9DSEFSIFNNX0dBX0FSRyBTTV9HQV9ESUcgU01fTk9GVU5DIFNNX0JBRFBST1RPIFNNX0pQTFBVQkxJQyBTTV9OT0NPTVBJTEUgU01fTlVMTEVESVQgU01fUlBfTlVMTCBTTV9EQklfTk9UX0lOU1QgU01fTk9USlkgU01fTUFYTElCIFNNX0ZMX0ZMTElCIFNNX1RQSV9OT1RfSU5TVCBTTV9SV19OT1RfSU5TVCBTTV9NT05BMSBTTV9NT05BMiBTTV9NT05BMyBTTV9NT05BNCBTTV9NT05BNSBTTV9NT05BNiBTTV9NT05BNyBTTV9NT05BOCBTTV9NT05BOSBTTV9NT05BMTAgU01fTU9OQTExIFNNX01PTkExMiBTTV9NT05MMSBTTV9NT05MMiBTTV9NT05MMyBTTV9NT05MNCBTTV9NT05MNSBTTV9NT05MNiBTTV9NT05MNyBTTV9NT05MOCBTTV9NT05MOSBTTV9NT05MMTAgU01fTU9OTDExIFNNX01PTkwxMiBTTV9BTSBTTV9QTSBTTV8wREVGX0RUSU1FIFNNXzFERUZfRFRJTUUgU01fMkRFRl9EVElNRSBTTV8zREVGX0RUSU1FIFNNXzRERUZfRFRJTUUgU01fNURFRl9EVElNRSBTTV82REVGX0RUSU1FIFNNXzdERUZfRFRJTUUgU01fOERFRl9EVElNRSBTTV85REVGX0RUSU1FIFNNX0NBTENfREFURSBTTV9CQURfRElHSVQgU01fQkFEX1lOIFNNX0JBRF9BTFBIQSBTTV9CQURfTlVNIFNNX0JBRF9BTFBITlVNIFNNX0RFQ0lNQUwgU01fMVNUQVRTIFNNX1ZFUk5PIFNNX0RJR19FUlIgU01fWU5fRVJSIFNNX0xFVF9FUlIgU01fTlVNX0VSUiBTTV9BTlVNX0VSUiBTTV9SRVhQX0VSUiBTTV9QT1NOX0VSUiBTTV9GQlhfT1BFTiBTTV9GQlhfV0lORE9XIFNNX0ZCWF9TSUJMSU5HIFNNX09QRU5ESVIKKworc3luIGtleXdvcmQgICAgIGphbVZhcmlhYmxlMyAgICBTTV9HRVRGSUxFUyBTTV9DSERJUiBTTV9HRVRDV0QgU01fVU5DTE9TRURfQ09NTSBTTV9NQl9PS0xBQkVMIFNNX01CX0NBTkNFTExBQkVMIFNNX01CX1lFU0xBQkVMIFNNX01CX05PTEFCRUwgU01fTUJfUkVUUllMQUJFTCBTTV9NQl9JR05PUkVMQUJFTCBTTV9NQl9BQk9SVExBQkVMIFNNX01CX0hFTFBMQUJFTCBTTV9NQl9TVE9QIFNNX01CX1FVRVNUSU9OIFNNX01CX1dBUk5JTkcgU01fTUJfSU5GT1JNQVRJT04gU01fTUJfWUVTQUxMTEFCRUwgU01fME1OX0NVUlJERUYgU01fMU1OX0NVUlJERUYgU01fMk1OX0NVUlJERUYgU01fMERFRl9DVVJSIFNNXzFERUZfQ1VSUiBTTV8yREVGX0NVUlIgU01fM0RFRl9DVVJSIFNNXzRERUZfQ1VSUiBTTV81REVGX0NVUlIgU01fNkRFRl9DVVJSIFNNXzdERUZfQ1VSUiBTTV84REVGX0NVUlIgU01fOURFRl9DVVJSIFNNX1NFTkRfU1lOVEFYIFNNX1NFTkRfSVRFTSBTTV9TRU5EX0lOVkFMSURfQlVORExFIFNNX1JFQ0VJVkVfU1lOVEFYIFNNX1JFQ0VJVkVfSVRFTV9OVU1CRVIgU01fUkVDRUlWRV9PVkVSRkxPVyBTTV9SRUNFSVZFX0lURU0gU01fU1lOQ0hfUkVDRUlWRSBTTV9FWEVDX0ZBSUwgU01fRFlOQV9IRUxQX05PVF9BVkFJTCBTTV9ETExfTE9BRF9FUlIgU01fRExMX1VOUkVTT0xWRUQgU01fRExMX1ZFUlNJT05fRVJSIFNNX0RMTF9PUFRJT05fRVJSIFNNX0RFTU9FUlIgU01fTUJfT0tBTExMQUJFTCBTTV9NQl9OT0FMTExBQkVMIFNNX0JBRFBST1AgU01fQkVUV0VFTiBTTV9BVExFQVNUIFNNX0FUTU9TVCBTTV9QUl9FUlJPUiBTTV9QUl9PQkpJRCBTTV9QUl9PQkpFQ1QgU01fUFJfSVRFTSBTTV9QUl9QUk9QIFNNX1BSX1BST1BfSVRFTSBTTV9QUl9QUk9QX1ZBTCBTTV9QUl9DT05WRVJUIFNNX1BSX09CSl9UWVBFIFNNX1BSX1JBTkdFIFNNX1BSX05PX1NFVCBTTV9QUl9CWU5EX1NDUk4gU01fUFJfV1dfU0NST0xMIFNNX1BSX05PX1NZTkMgU01fUFJfVE9PX0JJRyBTTV9QUl9CQURfTUFTSyBTTV9FWEVDX01FTV9FUlIKKworc3luIGtleXdvcmQgICAgIGphbVZhcmlhYmxlNCAgICBTTV9FWEVDX05PX1BST0cgU01fUFJfTk9fS0VZU1RSVUNUIFNNX1JFT1BFTl9BU19TTElCIFNNX1JFT1BFTl9USEVfU0xJQiBTTV9FUlJMSUIgU01fV0FSTkxJQiBTTV9MSUJfRE9XTkdSQURFIFNNX09MREVSIFNNX05FV0VSIFNNX1VQR1JBREUgU01fTElCX1JFQURPTkxZIFNNX0xPUEVOX0VSUiBTTV9MT1BFTl9XQVJOIFNNX01MT1BFTl9DUkVBVCBTTV9NTE9QRU5fSU5JVCBTTV9MSUJfRVJSIFNNX0xJQl9JU09MQVRFIFNNX0xJQl9OT19FUlIgU01fTElCX1JFQ19FUlIgU01fTElCX0ZBVEFMX0VSUiBTTV9MSUJfTEVSUl9GSUxFIFNNX0xJQl9MRVJSX05PVExJQiBTTV9MSUJfTEVSUl9CQURWRVJTIFNNX0xJQl9MRVJSX0ZPUk1BVCBTTV9MSUJfTEVSUl9CQURDTSBTTV9MSUJfTEVSUl9MT0NLIFNNX0xJQl9MRVJSX1JFU0VSVkVEIFNNX0xJQl9MRVJSX1JFQURPTkxZIFNNX0xJQl9MRVJSX05PRU5UUlkgU01fTElCX0xFUlJfQlVTWSBTTV9MSUJfTEVSUl9ST1ZFUlMgU01fTElCX0xFUlJfREVGQVVMVCBTTV9MSUJfQkFEQ00gU01fTElCX0xFUlJfTkVXIFNNX1NUQU5EQUxPTkVfTU9ERSBTTV9GRUFUVVJFX1JFU1RSSUNUIEZNX0NIX0xPU1QgRk1fSlBMX1BST01QVCBGTV9ZUjQgRk1fWVIyIEZNX01PTiBGTV9NT04yIEZNX0RBVEUgRk1fREFURTIgRk1fSE9VUiBGTV9IT1VSMiBGTV9NSU4gRk1fTUlOMiBGTV9TRUMgRk1fU0VDMiBGTV9ZUkRBWSBGTV9BTVBNIEZNX0RBWUEgRk1fREFZTCBGTV9NT05BIEZNX01PTkwgRk1fME1OX0RFRl9EVCBGTV8xTU5fREVGX0RUIEZNXzJNTl9ERUZfRFQgRk1fREFZIEpNX1FURVJNSU5BVEUgSk1fSElUU1BBQ0UgSk1fSElUQUNLIEpNX05PSldJTiBVVF9NRU1FUlIgVVRfUF9PUFQgVVRfVl9PUFQgVVRfRV9CSU5PUFQgVVRfTk9fSU5QVVQgVVRfU0VDTE9ORyBVVF8xRk5BTUUgVVRfU0xJTkUgVVRfRklMRSBVVF9FUlJPUiBVVF9XQVJOSU5HIFVUX01JU1NFUSBVVF9WT1BUIFVUX00yX0RFU0NSCisKK3N5biBrZXl3b3JkICAgICBqYW1WYXJpYWJsZTUgICAgVVRfTTJfUFJPR05BTUUgVVRfTTJfVVNBR0UgVVRfTTJfT19PUFQgVVRfTTJfQ09NIFVUX00yX0JBRFRBRyBVVF9NMl9NU1NRVU9UIFVUX00yX0FGVFJRVU9UIFVUX00yX0RVUFNFQ1QgVVRfTTJfQkFEVUNMU1MgVVRfTTJfVVNFQ1BSRlggVVRfTTJfTVBUWVVTQ1QgVVRfTTJfRFVQTVNHVEcgVVRfTTJfVE9PTE9ORyBVVF9NMl9MT05HIFVUX0syX0RFU0NSIFVUX0syX1BST0dOQU1FIFVUX0syX1VTQUdFIFVUX0syX01ORU0gVVRfSzJfTktFWURFRiBVVF9LMl9EVVBLRVkgVVRfSzJfTk9URk9VTkQgVVRfSzJfMUZOQU1FIFVUX0syX1ZPUFQgVVRfSzJfRVhDSEFSIFVUX1YyX0RFU0NSIFVUX1YyX1BST0dOQU1FIFVUX1YyX1VTQUdFIFVUX1YyX1NMSU5FIFVUX1YyX1NFUVVBTCBVVF9WMl9TVkFSTkFNRSBVVF9WMl9TTkFNRSBVVF9WMl9WT1BUIFVUX1YyXzFSRVEgVVRfQ0JfREVTQ1IgVVRfQ0JfUFJPR05BTUUgVVRfQ0JfVVNBR0UgVVRfQ0JfVk9QVCBVVF9DQl9NSUVYVCBVVF9DQl9BRVhUIFVUX0NCX1VOS05PV04gVVRfQ0JfSVNDSEVNRSBVVF9DQl9CS0ZHUyBVVF9DQl9BQkdTIFVUX0NCX1JFQyBVVF9DQl9HVUkgVVRfQ0JfQ09OVCBVVF9DQl9DT05URkcgVVRfQ0JfQUZJTEUgVVRfQ0JfTEVGVF9RVU9URSBVVF9DQl9OT19FUVVBTCBVVF9DQl9FWFRSQV9FUSBVVF9DQl9CQURfTEhTIFVUX0NCX0JBRF9SSFMgVVRfQ0JfQkFEX1FVT1RFRCBVVF9DQl9GSUxFIFVUX0NCX0ZJTEVfTElORSBVVF9DQl9EVVBfQUxJQVMgVVRfQ0JfTElORV9MT09QIFVUX0NCX0JBRF9TVFlMRSBVVF9DQl9EVVBfU1RZTEUgVVRfQ0JfTk9fU0VDVCBVVF9DQl9EVVBfU0NIRU1FIERNX0VSUk9SIERNX05PREFUQUJBU0UgRE1fTk9UTE9HR0VET04gRE1fQUxSRUFEWV9PTiBETV9BUkdTX05FRURFRCBETV9MT0dPTl9ERU5JRUQgRE1fQkFEX0FSR1MgRE1fQkFEX0NNRCBETV9OT19NT1JFX1JPV1MgRE1fQUJPUlRFRCBETV9OT19DVVJTT1IgRE1fTUFOWV9DVVJTT1JTIERNX0tFWVdPUkQKKworc3luIGtleXdvcmQgICAgIGphbVZhcmlhYmxlNiAgICBETV9JTlZBTElEX0RBVEUgRE1fQ09NTUlUIERNX1JPTExCQUNLIERNX1BBUlNFX0VSUk9SIERNX0JJTkRfQ09VTlQgRE1fQklORF9WQVIgRE1fREVTQ19DT0wgRE1fRkVUQ0ggRE1fTk9fTkFNRSBETV9FTkRfT0ZfUFJPQyBETV9OT0NPTk5FQ1RJT04gRE1fTk9UU1VQUE9SVEVEIERNX1RSQU5fUEVORCBETV9OT19UUkFOU0FDVElPTiBETV9BTFJFQURZX0lOSVQgRE1fSU5JVF9FUlJPUiBETV9NQVhfREVQVEggRE1fTk9fUEFSRU5UIERNX05PX0NISUxEIERNX01PREFMSVRZX05PVF9GT1VORCBETV9OQVRJVkVfTk9fU1VQUE9SVCBETV9OQVRJVkVfQ0FOQ0VMIERNX1RNX0FMUkVBRFkgRE1fVE1fSU5fUFJPR1JFU1MgRE1fVE1fQ0xPU0VfRVJST1IgRE1fVE1fQkFEX01PREUgRE1fVE1fQkFEX0NMT1NFX0FDVElPTiBETV9UTV9JTlRFUk5BTCBETV9UTV9NT0RFTF9JTlRFUk5BTCBETV9UTV9OT19ST09UIERNX1RNX05PX1RSQU5TQUNUSU9OIERNX1RNX0lOSVRJQUxfTU9ERSBETV9UTV9QQVJFTlRfTkFNRSBETV9UTV9CQURfTUVNQkVSIERNX1RNX0ZMRF9OQU1fTEVOIERNX1RNX05PX1BBUkVOVCBETV9UTV9CQURfUkVRVUVTVCBETV9UTV9DQU5OT1RfR0VOX1NRTCBETV9UTV9DQU5OT1RfRVhFQ19TUUwgRE1fVE1fREJJX0VSUk9SIERNX1RNX0RJU0NBUkRfQUxMIERNX1RNX0RJU0NBUkRfTEFURVNUIERNX1RNX0NBTExfRVJST1IgRE1fVE1fQ0FMTF9UWVBFIERNX1RNX0hPT0tfTU9ERUwgRE1fVE1fUk9PVF9OQU1FIERNX1RNX1RWX0lOVkFMSUQgRE1fVE1fQ09MX05PVF9GT1VORCBETV9UTV9CQURfTElOSyBETV9UTV9IT09LX01PREVMX0VSUk9SIERNX1RNX09ORV9ST1cgRE1fVE1fU09NRV9ST1dTIERNX1RNX0dFTkVSQUwgRE1fVE1fTk9fSE9PSyBETV9UTV9OT1NFVCBETV9UTV9UQkxOQU1FIERNX1RNX1BSSU1BUllfS0VZIERNX1RNX0lOQ09NUExFVEVfS0VZIERNX1RNX0NNRF9NT0RFIERNX1RNX05PX1NVQ0hfQ01EIERNX1RNX05PX1NVQ0hfU0NPUEUKKworc3luIGtleXdvcmQgICAgIGphbVZhcmlhYmxlNyAgICBETV9UTV9OT19TVUNIX1RWIERNX1RNX0VWRU5UX0xPT1AgRE1fVE1fVU5TVVBQT1JURUQgRE1fVE1fTk9fTU9ERUwgRE1fVE1fU1lOQ0hfU1YgRE1fVE1fV1JPTkdfRk9STSAgRE1fVE1fVkNfRklFTEQgRE1fVE1fVkNfREFURSBETV9UTV9WQ19UWVBFIERNX1RNX0JBRF9DT05USU5VRSBETV9KREJfT1VUX09GX01FTU9SWSBETV9KREJfRFVQVEFCTEVBTElBUyBETV9KREJfRFVQQ1VSU09STkFNRSBETV9KREJfTk9EQiBETV9KREJfQklORENPVU5UIERNX0pEQl9OT19NT1JFX1JPV1MgRE1fSkRCX0FNQklHVU9VU19DT0xVTU5fUkVGIERNX0pEQl9VTlJFU09MVkVEX0NPTFVNTl9SRUYgRE1fSkRCX1RBQkxFX1JFQURfV1JJVEVfQ09ORkxJQ1QgRE1fSkRCX1NZTlRBWF9FUlJPUiBETV9KREJfRFVQX0NPTFVNTl9BU1NJR05NRU5UIERNX0pEQl9OT19NU0dfRklMRSBETV9KREJfTk9fTVNHIERNX0pEQl9OT1RfSU1QTEVNRU5URUQgRE1fSkRCX0FHR1JFR0FURV9OT1RfQUxMT1dFRCBETV9KREJfVFlQRV9NSVNNQVRDSCBETV9KREJfTk9fQ1VSUkVOVF9ST1cgRE1fSkRCX0RCX0NPUlJVUFQgRE1fSkRCX0JVRl9PVkVSRkxPVyBETV9KREJfRklMRV9JT19FUlIgRE1fSkRCX0JBRF9IQU5ETEUgRE1fSkRCX0RVUF9UTkFNRSBETV9KREJfSU5WQUxJRF9UQUJMRV9PUCBETV9KREJfVEFCTEVfTk9UX0ZPVU5EIERNX0pEQl9DT05WRVJTSU9OX0ZBSUxFRCBETV9KREJfSU5WQUxJRF9DT0xVTU5fTElTVCBETV9KREJfVEFCTEVfT1BFTiBETV9KREJfQkFEX0lOUFVUIERNX0pEQl9EQVRBVFlQRV9PVkVSRkxPVyBETV9KREJfREFUQUJBU0VfRVhJU1RTIERNX0pEQl9EQVRBQkFTRV9PUEVOIERNX0pEQl9EVVBfQ05BTUUgRE1fSkRCX1RNUERBVEFCQVNFX0VSUiBETV9KREJfSU5WQUxJRF9WQUxVRVNfQ09VTlQgRE1fSkRCX0lOVkFMSURfQ09MVU1OX0NPVU5UIERNX0pEQl9NQVhfUkVDTEVOX0VYQ0VFREVEIERNX0pEQl9FTkRfT0ZfR1JPVVAKKworc3luIGtleXdvcmQgICAgIGphbVZhcmlhYmxlOCAgICBUUF9FWENfSU5WQUxJRF9DTElFTlRfQ09NTUFORCAgVFBfRVhDX0lOVkFMSURfQ0xJRU5UX09QVElPTiAgVFBfRVhDX0lOVkFMSURfQ09NTUFORCBUUF9FWENfSU5WQUxJRF9DT01NQU5EX1NZTlRBWCBUUF9FWENfSU5WQUxJRF9DT05ORUNUSU9OIFRQX0VYQ19JTlZBTElEX0NPTlRFWFQgVFBfRVhDX0lOVkFMSURfRk9SV0FSRCBUUF9FWENfSU5WQUxJRF9KQU1fVkFSSUFCTEVfUkVGICBUUF9FWENfSU5WQUxJRF9NT05JVE9SX0NPTU1BTkQgVFBfRVhDX0lOVkFMSURfTU9OSVRPUl9PUFRJT04gVFBfRVhDX0lOVkFMSURfT1BUSU9OIFRQX0VYQ19JTlZBTElEX09QVElPTl9WQUxVRSAgVFBfRVhDX0lOVkFMSURfU0VSVkVSX0NPTU1BTkQgVFBfRVhDX0lOVkFMSURfU0VSVkVSX09QVElPTiBUUF9FWENfSU5WQUxJRF9TRVJWSUNFIFRQX0VYQ19JTlZBTElEX1RSQU5TQUNUSU9OIFRQX0VYQ19KSUZfQUNDRVNTX0ZBSUxFRCBUUF9FWENfSklGX0xPV0VSX1ZFUlNJT04gVFBfRVhDX0xPR0ZJTEVfRVJST1IgVFBfRVhDX01PTklUT1JfRVJST1IgVFBfRVhDX05PX09VVFNJREVfVFJBTlNBQ1RJT04gVFBfRVhDX05PX09VVFNUQU5ESU5HX0NBTExTIFRQX0VYQ19OT19PVVRTVEFORElOR19NRVNTQUdFIFRQX0VYQ19OT19TRVJWSUNFU19BRFZFUlRJU0VEIFRQX0VYQ19OT19TSUdOQUxTIFRQX0VYQ19OT05UUkFOU0FDVElPTkFMX1NFUlZJQ0UgVFBfRVhDX05PTlRSQU5TQUNUSU9OQUxfQUNUSU9OIFRQX0VYQ19PVVRfT0ZfTUVNT1JZIFRQX0VYQ19QT1NUSU5HX0ZBSUxFRCBUUF9FWENfUEVSTUlTU0lPTl9ERU5JRUQgIFRQX0VYQ19SRVFVRVNUX0xJTUlUIFRQX0VYQ19ST0xMQkFDS19DT01NSVRURUQgIFRQX0VYQ19ST0xMQkFDS19GQUlMRUQgVFBfRVhDX1NFUlZJQ0VfRkFJTEVEIFRQX0VYQ19TRVJWSUNFX05PVF9JTl9KSUYgIFRQX0VYQ19TRVJWSUNFX1BST1RPQ09MX0VSUk9SICBUUF9FWENfU1VCU0NSSVBUSU9OX0xJTUlUCisKK3N5biBrZXl3b3JkICAgICBqYW1WYXJpYWJsZTkgICAgVFBfRVhDX1NVQlNDUklQVElPTl9NQVRDSCBUUF9FWENfU1ZDX0FEVkVSVElTRV9MSU1JVCBUUF9FWENfU1ZDX1dPUktfT1VUU1RBTkRJTkcgVFBfRVhDX1NWQ1JPVVRJTkVfTUlTU0lORyBUUF9FWENfU1ZSSU5JVF9XT1JLX09VVFNUQU5ESU5HIFRQX0VYQ19USU1FT1VUIFRQX0VYQ19UUkFOU0FDVElPTl9MSU1JVCBUUF9FWENfVU5MT0FEX0ZBSUxFRCBUUF9FWENfVU5TVVBQT1JURURfQlVGRkVSIFRQX0VYQ19VTlNVUFBPUlRFRF9CVUZfV19TVUJUIFRQX0VYQ19VU0VSX0FCT1JUIFRQX0VYQ19XT1JLX09VVFNUQU5ESU5HIFRQX0VYQ19YQV9DTE9TRV9GQUlMRUQgVFBfRVhDX1hBX09QRU5fRkFJTEVEIFRQX0VYQ19RVUVVRV9CQURfTVNHSUQgVFBfRVhDX1FVRVVFX0JBRF9OQU1FU1BBQ0UgVFBfRVhDX1FVRVVFX0JBRF9RVUVVRSBUUF9FWENfUVVFVUVfQ0FOVF9TVEFSVF9UUkFOIFRQX0VYQ19RVUVVRV9GVUxMIFRQX0VYQ19RVUVVRV9NU0dfSU5fVVNFIFRQX0VYQ19RVUVVRV9OT19NU0cgVFBfRVhDX1FVRVVFX05PVF9JTl9RU1BBQ0UgVFBfRVhDX1FVRVVFX1JTUkNfTk9UX09QRU4gVFBfRVhDX1FVRVVFX1NQQUNFX05PVF9JTl9KSUYgVFBfRVhDX1FVRVVFX1RSQU5fQUJPUlRFRCBUUF9FWENfUVVFVUVfVFJBTl9BQlNFTlQgVFBfRVhDX1FVRVVFX1VORVhQRUNURUQgVFBfRVhDX0RDRV9MT0dJTl9SRVFVSVJFRCBUUF9FWENfRU5DX0NFTExfTkFNRV9SRVFVSVJFRCBUUF9FWENfRU5DX0NPTk5fSU5GT19ESUZGUyBUUF9FWENfRU5DX1NWQ19SRUdJU1RSWV9FUlJPUiBUUF9JTlZBTElEX1NUQVJUX1JPVVRJTkUgVFBfSklGX05PVF9GT1VORCBUUF9KSUZfT1BFTl9FUlJPUiBUUF9OT19KSUYgVFBfTk9fTU9OSVRPUlNfRVJST1IgVFBfTk9fU0VTU0lPTlNfRVJST1IgVFBfTk9fU1RBUlRfUk9VVElORSBUUF9BRFZfU0VSVklDRSBUUF9BRFZfU0VSVklDRV9JTl9HUk9VUCAgVFBfUFJFX1NWQ0hETF9XSU5PUEVOX0ZBSUxFRAorCitzeW4ga2V5d29yZCAgICAgamFtVmFyaWFibGUxMCAgIFBWX1lFUyBQVl9OTyBUUlVFIEZBTFNFIFRNX1RSQU5fTkFNRQorCisiIGphbUNvbW1lbnRHcm91cCBhbGxvd3MgYWRkaW5nIG1hdGNoZXMgZm9yIHNwZWNpYWwgdGhpbmdzIGluIGNvbW1lbnRzCitzeW4gY2x1c3RlcglqYW1Db21tZW50R3JvdXAJY29udGFpbnM9amFtVG9kbworCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnN0YW50cworIiBIaWdobGlnaHQgc3BlY2lhbCBjaGFyYWN0ZXJzICh0aG9zZSB3aGljaCBoYXZlIGEgYmFja3NsYXNoKSBkaWZmZXJlbnRseQorc3luIG1hdGNoCWphbVNwZWNpYWwJY29udGFpbmVkICJcXFwoeFx4XCtcfFxvXHsxLDN9XHwuXHwkXCkiCitpZiAhZXhpc3RzKCJjX25vX3V0ZiIpCisgIHN5biBtYXRjaAlqYW1TcGVjaWFsCWNvbnRhaW5lZCAiXFxcKHVceFx7NH1cfFVceFx7OH1cKSIKK2VuZGlmCitpZiBleGlzdHMoImNfbm9fY2Zvcm1hdCIpCisgIHN5biByZWdpb24JamFtU3RyaW5nCQlzdGFydD0rTFw9Iisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPWNTcGVjaWFsCitlbHNlCisgIHN5biBtYXRjaAlqYW1Gb3JtYXQJCSIlXChcZFwrXCRcKVw9Wy0rJyAjMCpdKlwoXGQqXHxcKlx8XCpcZFwrXCRcKVwoXC5cKFxkKlx8XCpcfFwqXGRcK1wkXClcKVw9XChbaGxMXVx8bGxcKVw9XChbZGl1b3hYZmVFZ0djQ3NTcG5dXHxcW1xeXD0uW15dXSpcXVwpIiBjb250YWluZWQKKyAgc3luIG1hdGNoCWphbUZvcm1hdAkJIiUlIiBjb250YWluZWQKKyAgc3luIHJlZ2lvbglqYW1TdHJpbmcJCXN0YXJ0PStMXD0iKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Y1NwZWNpYWwsY0Zvcm1hdAorICBoaSBsaW5rIGphbUZvcm1hdCBqYW1TcGVjaWFsCitlbmRpZgorc3luIG1hdGNoCWphbUNoYXJhY3RlcgkiTFw9J1teXFxdJyIKK3N5biBtYXRjaAlqYW1DaGFyYWN0ZXIJIkwnW14nXSonIiBjb250YWlucz1qYW1TcGVjaWFsCitzeW4gbWF0Y2gJamFtU3BlY2lhbEVycm9yCSJMXD0nXFxbXidcIj9cXGFiZm5ydHZdJyIKK3N5biBtYXRjaAlqYW1TcGVjaWFsQ2hhcmFjdGVyICJMXD0nXFxbJ1wiP1xcYWJmbnJ0dl0nIgorc3luIG1hdGNoCWphbVNwZWNpYWxDaGFyYWN0ZXIgIkxcPSdcXFxvXHsxLDN9JyIKK3N5biBtYXRjaAlqYW1TcGVjaWFsQ2hhcmFjdGVyICInXFx4XHhcezEsMn0nIgorc3luIG1hdGNoCWphbVNwZWNpYWxDaGFyYWN0ZXIgIkwnXFx4XHhcKyciCisKKyJjYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2lzIGFuZCBicmFja2V0cworc3luIGNsdXN0ZXIJamFtUGFyZW5Hcm91cAljb250YWlucz1qYW1QYXJlbkVycm9yLGphbUluY2x1ZGVkLGphbVNwZWNpYWwsQGphbUNvbW1lbnRHcm91cCxqYW1Vc2VyQ29udCxqYW1Vc2VyTGFiZWwsamFtQml0RmllbGQsamFtQ29tbWVudFNraXAsamFtT2N0YWxaZXJvLGphbUNwcE91dCxqYW1DcHBPdXQyLGphbUNwcFNraXAsamFtRm9ybWF0LGphbU51bWJlcixqYW1GbG9hdCxqYW1PY3RhbCxqYW1PY3RhbEVycm9yLGphbU51bWJlcnNDb20KKworc3luIHJlZ2lvbglqYW1QYXJlbgkJdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBqYW1QYXJlbkdyb3VwLGphbUVyckluQnJhY2tldAorc3luIG1hdGNoCWphbVBhcmVuRXJyb3IJIltcXSldIgorc3luIG1hdGNoCWphbUVyckluUGFyZW4JY29udGFpbmVkICJbXF17fV0iCitzeW4gcmVnaW9uCWphbUJyYWNrZXQJdHJhbnNwYXJlbnQgc3RhcnQ9J1xbJyBlbmQ9J10nIGNvbnRhaW5zPUFMTEJVVCxAamFtUGFyZW5Hcm91cCxqYW1FcnJJblBhcmVuCitzeW4gbWF0Y2gJamFtRXJySW5CcmFja2V0CWNvbnRhaW5lZCAiWyk7e31dIgorCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoCWphbU51bWJlcnMJdHJhbnNwYXJlbnQgIlw8XGRcfFwsXGQiIGNvbnRhaW5zPWphbU51bWJlcixqYW1GbG9hdCxqYW1PY3RhbEVycm9yLGphbU9jdGFsCisiIFNhbWUsIGJ1dCB3aXRob3V0IG9jdGFsIGVycm9yIChmb3IgY29tbWVudHMpCitzeW4gbWF0Y2gJamFtTnVtYmVyc0NvbQljb250YWluZWQgdHJhbnNwYXJlbnQgIlw8XGRcfFwsXGQiIGNvbnRhaW5zPWphbU51bWJlcixqYW1GbG9hdCxqYW1PY3RhbAorc3luIG1hdGNoCWphbU51bWJlcgkJY29udGFpbmVkICJcZFwrXCh1XD1sXHswLDJ9XHxsbFw9dVwpXD4iCisiaGV4IG51bWJlcgorc3luIG1hdGNoCWphbU51bWJlcgkJY29udGFpbmVkICIweFx4XCtcKHVcPWxcezAsMn1cfGxsXD11XClcPiIKKyIgRmxhZyB0aGUgZmlyc3QgemVybyBvZiBhbiBvY3RhbCBudW1iZXIgYXMgc29tZXRoaW5nIHNwZWNpYWwKK3N5biBtYXRjaAlqYW1PY3RhbAkJY29udGFpbmVkICIwXG9cK1wodVw9bFx7MCwyfVx8bGxcPXVcKVw+IiBjb250YWlucz1jT2N0YWxaZXJvCitzeW4gbWF0Y2gJamFtT2N0YWxaZXJvCWNvbnRhaW5lZCAiXDwwIgorc3luIG1hdGNoCWphbUZsb2F0CQljb250YWluZWQgIlxkXCtmIgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2gJamFtRmxvYXQJCWNvbnRhaW5lZCAiXGRcK1wsXGQqXChlWy0rXVw9XGRcK1wpXD1bZmxdXD0iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoCWphbUZsb2F0CQljb250YWluZWQgIlwsXGRcK1woZVstK11cPVxkXCtcKVw9W2ZsXVw9XD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGRvdCwgd2l0aCBleHBvbmVudAorc3luIG1hdGNoCWphbUZsb2F0CQljb250YWluZWQgIlxkXCtlWy0rXVw9XGRcK1tmbF1cPVw+IgorIiBmbGFnIGFuIG9jdGFsIG51bWJlciB3aXRoIHdyb25nIGRpZ2l0cworc3luIG1hdGNoCWphbU9jdGFsRXJyb3IJY29udGFpbmVkICIwXG8qWzg5XVxkKiIKK3N5biBjYXNlIG1hdGNoCisKK3N5bnRheCBtYXRjaAlqYW1PcGVyYXRvcjEJIlwjXCMiCitzeW50YXggbWF0Y2gJamFtT3BlcmF0b3I2CSIvIgorc3ludGF4IG1hdGNoCWphbU9wZXJhdG9yMgkiKyIKK3N5bnRheCBtYXRjaAlqYW1PcGVyYXRvcjMJIioiCitzeW50YXggbWF0Y2gJamFtT3BlcmF0b3I0CSItIgorc3ludGF4IG1hdGNoCWphbU9wZXJhdG9yNQkifCIKK3N5bnRheCBtYXRjaAlqYW1PcGVyYXRvcjYJIi8iCitzeW50YXggbWF0Y2gJamFtT3BlcmF0b3I3CSImIgorc3ludGF4IG1hdGNoCWphbU9wZXJhdG9yOAkiOiIKK3N5bnRheCBtYXRjaAlqYW1PcGVyYXRvcjkJIjwiCitzeW50YXggbWF0Y2gJamFtT3BlcmF0b3IxMAkiPiIKK3N5bnRheCBtYXRjaAlqYW1PcGVyYXRvcjExCSIhIgorc3ludGF4IG1hdGNoCWphbU9wZXJhdG9yMTIJIiUiCitzeW50YXggbWF0Y2gJamFtT3BlcmF0b3IxMwkiXiIKK3N5bnRheCBtYXRjaAlqYW1PcGVyYXRvcjE0CSJAIgorCitzeW50YXggbWF0Y2gJamFtQ29tbWVudEwJIi8vIgorCitpZiBleGlzdHMoImphbV9jb21tZW50X3N0cmluZ3MiKQorICAiIEEgY29tbWVudCBjYW4gY29udGFpbiBqYW1TdHJpbmcsIGphbUNoYXJhY3RlciBhbmQgamFtTnVtYmVyLgorICAiIEJ1dCBhICIqLyIgaW5zaWRlIGEgamFtU3RyaW5nIGluIGEgamFtQ29tbWVudCBET0VTIGVuZCB0aGUgY29tbWVudCEgIFNvIHdlCisgICIgbmVlZCB0byB1c2UgYSBzcGVjaWFsIHR5cGUgb2YgamFtU3RyaW5nOiBqYW1Db21tZW50U3RyaW5nLCB3aGljaCBhbHNvIGVuZHMgb24KKyAgIiAiKi8iLCBhbmQgc2VlcyBhICIqIiBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpbmUgYXMgY29tbWVudCBhZ2Fpbi4KKyAgIiBVbmZvcnR1bmF0ZWx5IHRoaXMgZG9lc24ndCB2ZXJ5IHdlbGwgd29yayBmb3IgLy8gdHlwZSBvZiBjb21tZW50cyA6LSgKKyAgc3ludGF4IG1hdGNoCWphbUNvbW1lbnRTa2lwCWNvbnRhaW5lZCAiXlxzKlwqXCgkXHxcc1wrXCkiCisgIHN5bnRheCByZWdpb24gamFtQ29tbWVudFN0cmluZwljb250YWluZWQgc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBlbmQ9K1wqLyttZT1zLTEgY29udGFpbnM9amFtU3BlY2lhbCxqYW1Db21tZW50U2tpcAorICBzeW50YXggcmVnaW9uIGphbUNvbW1lbnQyU3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rTFw9Iisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0iJCIgY29udGFpbnM9amFtU3BlY2lhbAorICBzeW50YXggcmVnaW9uICBqYW1Db21tZW50TAlzdGFydD0iLy8iIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPUBqYW1Db21tZW50R3JvdXAsamFtQ29tbWVudDJTdHJpbmcsamFtQ2hhcmFjdGVyLGphbU51bWJlcnNDb20samFtU3BhY2VFcnJvcgorICBzeW50YXggcmVnaW9uICBqYW1Db21tZW50TDIJCSAgc3RhcnQ9Il4jXHxeXHNcK1wjIiBza2lwPSJcXCQiIGVuZD0iJCIga2VlcGVuZCBjb250YWlucz1AamFtQ29tbWVudEdyb3VwLGphbUNvbW1lbnQyU3RyaW5nLGphbUNoYXJhY3RlcixqYW1OdW1iZXJzQ29tLGphbVNwYWNlRXJyb3IKKyAgc3ludGF4IHJlZ2lvbiBqYW1Db21tZW50CXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1AamFtQ29tbWVudEdyb3VwLGphbUNvbW1lbnRTdHJpbmcsamFtQ2hhcmFjdGVyLGphbU51bWJlcnNDb20samFtU3BhY2VFcnJvcgorZWxzZQorICBzeW4gcmVnaW9uCWphbUNvbW1lbnRMCXN0YXJ0PSIvLyIgc2tpcD0iXFwkIiBlbmQ9IiQiIGtlZXBlbmQgY29udGFpbnM9QGphbUNvbW1lbnRHcm91cCxqYW1TcGFjZUVycm9yCisgIHN5biByZWdpb24JamFtQ29tbWVudEwyICAgICAgc3RhcnQ9Il5cI1x8XlxzXCtcIyIgc2tpcD0iXFwkIiBlbmQ9IiQiIGtlZXBlbmQgY29udGFpbnM9QGphbUNvbW1lbnRHcm91cCxqYW1TcGFjZUVycm9yCisgIHN5biByZWdpb24JamFtQ29tbWVudAlzdGFydD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9QGphbUNvbW1lbnRHcm91cCxqYW1TcGFjZUVycm9yCitlbmRpZgorCisiIGtlZXAgYSAvLyBjb21tZW50IHNlcGFyYXRlbHksIGl0IHRlcm1pbmF0ZXMgYSBwcmVwcm9jLiBjb25kaXRpb25hbAorc3ludGF4IG1hdGNoCWphbUNvbW1lbnRFcnJvcgkiXCovIgorCitzeW50YXggbWF0Y2ggICAgamFtT3BlcmF0b3IzRXJyb3IgICAiKi8iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2phbV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9qYW1fc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAgIEhpTGluayBqYW1Db21tZW50TAkJamFtQ29tbWVudAorICAgIEhpTGluayBqYW1Db21tZW50TDIJCWphbUNvbW1lbnQKKyAgICBIaUxpbmsgamFtT3BlcmF0b3IzRXJyb3IJamFtRXJyb3IKKyAgICBIaUxpbmsgamFtQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgICBIaUxpbmsgamFtUmVwZWF0CQlSZXBlYXQKKyAgICBIaUxpbmsgamFtQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKKyAgICBIaUxpbmsgamFtU3BlY2lhbENoYXJhY3RlcglqYW1TcGVjaWFsCisgICAgSGlMaW5rIGphbU51bWJlcgkJTnVtYmVyCisgICAgSGlMaW5rIGphbVBhcmVuRXJyb3IJamFtRXJyb3IKKyAgICBIaUxpbmsgamFtRXJySW5QYXJlbglqYW1FcnJvcgorICAgIEhpTGluayBqYW1FcnJJbkJyYWNrZXQJamFtRXJyb3IKKyAgICBIaUxpbmsgamFtQ29tbWVudEVycm9yCWphbUVycm9yCisgICAgSGlMaW5rIGphbVNwYWNlRXJyb3IJamFtRXJyb3IKKyAgICBIaUxpbmsgamFtU3BlY2lhbEVycm9yCWphbUVycm9yCisgICAgSGlMaW5rIGphbU9wZXJhdG9yMQkJamFtT3BlcmF0b3IKKyAgICBIaUxpbmsgamFtT3BlcmF0b3IyCQlqYW1PcGVyYXRvcgorICAgIEhpTGluayBqYW1PcGVyYXRvcjMJCWphbU9wZXJhdG9yCisgICAgSGlMaW5rIGphbU9wZXJhdG9yNAkJamFtT3BlcmF0b3IKKyAgICBIaUxpbmsgamFtT3BlcmF0b3I1CQlqYW1PcGVyYXRvcgorICAgIEhpTGluayBqYW1PcGVyYXRvcjYJCWphbU9wZXJhdG9yCisgICAgSGlMaW5rIGphbU9wZXJhdG9yNwkJamFtT3BlcmF0b3IKKyAgICBIaUxpbmsgamFtT3BlcmF0b3I4CQlqYW1PcGVyYXRvcgorICAgIEhpTGluayBqYW1PcGVyYXRvcjkJCWphbU9wZXJhdG9yCisgICAgSGlMaW5rIGphbU9wZXJhdG9yMTAJamFtT3BlcmF0b3IKKyAgICBIaUxpbmsgamFtT3BlcmF0b3IxMQlqYW1PcGVyYXRvcgorICAgIEhpTGluayBqYW1PcGVyYXRvcjEyCWphbU9wZXJhdG9yCisgICAgSGlMaW5rIGphbU9wZXJhdG9yMTMJamFtT3BlcmF0b3IKKyAgICBIaUxpbmsgamFtT3BlcmF0b3IxNAlqYW1PcGVyYXRvcgorICAgIEhpTGluayBqYW1FcnJvcgkJRXJyb3IKKyAgICBIaUxpbmsgamFtU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgICBIaUxpbmsgamFtUHJlQ29uZGl0CQlQcmVDb25kaXQKKyAgICBIaUxpbmsgamFtQ29tbWVudEVycm9yCWphbUVycm9yCisgICAgSGlMaW5rIGphbUNvbW1lbnRTdHJpbmcJamFtU3RyaW5nCisgICAgSGlMaW5rIGphbUNvbW1lbnQyU3RyaW5nCWphbVN0cmluZworICAgIEhpTGluayBqYW1Db21tZW50U2tpcAlqYW1Db21tZW50CisgICAgSGlMaW5rIGphbVN0cmluZwkJU3RyaW5nCisgICAgSGlMaW5rIGphbUNvbW1lbnQJCUNvbW1lbnQKKyAgICBIaUxpbmsgamFtU3BlY2lhbAkJU3BlY2lhbENoYXIKKyAgICBIaUxpbmsgamFtVG9kbwkJVG9kbworICAgIEhpTGluayBqYW1DcHBTa2lwCQlqYW1DcHBPdXQKKyAgICBIaUxpbmsgamFtQ3BwT3V0MgkJamFtQ3BwT3V0CisgICAgSGlMaW5rIGphbUNwcE91dAkJQ29tbWVudAorICAgIEhpTGluayBqYW1EQlN0YXRlMQkJSWRlbnRpZmllcgorICAgIEhpTGluayBqYW1EQlN0YXRlMgkJSWRlbnRpZmllcgorICAgIEhpTGluayBqYW1TUUxTdGF0ZTEJCWphbVNRTAorICAgIEhpTGluayBqYW1TUUxTdGF0ZTIJCWphbVNRTAorICAgIEhpTGluayBqYW1MaWJGdW5jMQkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1MaWJGdW5jMgkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1MaWJGdW5jMwkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1MaWJGdW5jNAkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1MaWJGdW5jNQkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1MaWJGdW5jNgkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1MaWJGdW5jNwkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1MaWJGdW5jOAkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1MaWJGdW5jOQkJamFtTGliRnVuYworICAgIEhpTGluayBqYW1WYXJpYWJsZTEJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTIJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTMJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTQJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTUJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTYJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTcJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTgJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTkJCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZTEwCWphbVZhcmlhYmxlbgorICAgIEhpTGluayBqYW1WYXJpYWJsZW4JCUNvbnN0YW50CisgICAgSGlMaW5rIGphbVNRTAkJVHlwZQorICAgIEhpTGluayBqYW1MaWJGdW5jCQlQcmVQcm9jCisgICAgSGlMaW5rIGphbU9wZXJhdG9yCQlTcGVjaWFsCisKKyAgICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiamFtIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvamFyZ29uLnZpbSBiL3J1bnRpbWUvc3ludGF4L2phcmdvbi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVhODhiYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2phcmdvbi52aW0KQEAgLTAsMCArMSwzNiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUphcmdvbiBGaWxlCisiIE1haW50YWluZXI6CTxybXNAcG9jenRhLm9uZXQucGw+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAyNgorIgorIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworc3luIG1hdGNoIGphcmdvbkNoYXB0VGl0bGUJLzpbXjpdKjovCitzeW4gbWF0Y2ggamFyZ29uRW1haWxBZGRyCS9bXjxAIF5JXSpAW14gXkk+XSovCitzeW4gbWF0Y2ggamFyZ29uVXJsCSArXChodHRwXHxmdHBcKTovL1teXHQgKSJdKisKK3N5biBtYXRjaCBqYXJnb25NYXJrCS97W159XSp9LworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9qYXJnb25fc3ludGF4X2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfamFyZ29uX3N5bnRheF9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisJSGlMaW5rIGphcmdvbkNoYXB0VGl0bGUJVGl0bGUKKwlIaUxpbmsgamFyZ29uRW1haWxBZGRyCSBDb21tZW50CisJSGlMaW5rIGphcmdvblVybAkgQ29tbWVudAorCUhpTGluayBqYXJnb25NYXJrCUxhYmVsCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImphcmdvbiIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2phdmEudmltIGIvcnVudGltZS9zeW50YXgvamF2YS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQ3YzE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2phdmEudmltCkBAIC0wLDAgKzEsMzM0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIEphdmEKKyIgTWFpbnRhaW5lcjogICBDbGF1ZGlvIEZsZWluZXIgPGNsYXVkaW9AZmxlaW5lci5jb20+CisiIFVSTDoJCWh0dHA6Ly93d3cuZmxlaW5lci5jb20vdmltL3N5bnRheC9qYXZhLnZpbQorIiBMYXN0IENoYW5nZTogIDIwMDQgQXByIDIzCisKKyIgUGxlYXNlIGNoZWNrIDpoZWxwIGphdmEudmltIGZvciBjb21tZW50cyBvbiBzb21lIG9mIHRoZSBvcHRpb25zIGF2YWlsYWJsZS4KKworIiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgaWYgdmVyc2lvbiA8IDYwMAorICAgIHN5bnRheCBjbGVhcgorICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKKyAgZW5kaWYKKyAgIiB3ZSBkZWZpbmUgaXQgaGVyZSBzbyB0aGF0IGluY2x1ZGVkIGZpbGVzIGNhbiB0ZXN0IGZvciBpdAorICBsZXQgbWFpbl9zeW50YXg9J2phdmEnCitlbmRpZgorCisiIGRvbid0IHVzZSBzdGFuZGFyZCBIaUxpbmssIGl0IHdpbGwgbm90IHdvcmsgd2l0aCBpbmNsdWRlZCBzeW50YXggZmlsZXMKK2lmIHZlcnNpb24gPCA1MDgKKyAgY29tbWFuZCEgLW5hcmdzPSsgSmF2YUhpTGluayBoaSBsaW5rIDxhcmdzPgorZWxzZQorICBjb21tYW5kISAtbmFyZ3M9KyBKYXZhSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorZW5kaWYKKworIiBzb21lIGNoYXJhY3RlcnMgdGhhdCBjYW5ub3QgYmUgaW4gYSBqYXZhIHByb2dyYW0gKG91dHNpZGUgYSBzdHJpbmcpCitzeW4gbWF0Y2ggamF2YUVycm9yICJbXFxAYF0iCitzeW4gbWF0Y2ggamF2YUVycm9yICI8PDxcfFwuXC5cfD0+XHw8Plx8fHw9XHwmJj1cfFteLV0tPlx8XCpcLyIKK3N5biBtYXRjaCBqYXZhT0sgIlwuXC5cLiIKKworIiB1c2Ugc2VwYXJhdGUgbmFtZSBzbyB0aGF0IGl0IGNhbiBiZSBkZWxldGVkIGluIGphdmFjYy52aW0KK3N5biBtYXRjaCAgIGphdmFFcnJvcjIgIiNcfD08IgorSmF2YUhpTGluayBqYXZhRXJyb3IyIGphdmFFcnJvcgorCisKKworIiBrZXl3b3JkIGRlZmluaXRpb25zCitzeW4ga2V5d29yZCBqYXZhRXh0ZXJuYWwJbmF0aXZlIHBhY2thZ2UKK3N5biBtYXRjaCBqYXZhRXh0ZXJuYWwJCSJcPGltcG9ydFwoXHNcK3N0YXRpY1w+XClcPyIKK3N5biBrZXl3b3JkIGphdmFFcnJvcgkJZ290byBjb25zdAorc3luIGtleXdvcmQgamF2YUNvbmRpdGlvbmFsCWlmIGVsc2Ugc3dpdGNoCitzeW4ga2V5d29yZCBqYXZhUmVwZWF0CQl3aGlsZSBmb3IgZG8KK3N5biBrZXl3b3JkIGphdmFCb29sZWFuCQl0cnVlIGZhbHNlCitzeW4ga2V5d29yZCBqYXZhQ29uc3RhbnQJbnVsbAorc3luIGtleXdvcmQgamF2YVR5cGVkZWYJCXRoaXMgc3VwZXIKK3N5biBrZXl3b3JkIGphdmFPcGVyYXRvcgluZXcgaW5zdGFuY2VvZgorc3luIGtleXdvcmQgamF2YVR5cGUJCWJvb2xlYW4gY2hhciBieXRlIHNob3J0IGludCBsb25nIGZsb2F0IGRvdWJsZQorc3luIGtleXdvcmQgamF2YVR5cGUJCXZvaWQKK3N5biBrZXl3b3JkIGphdmFTdGF0ZW1lbnQJcmV0dXJuCitzeW4ga2V5d29yZCBqYXZhU3RvcmFnZUNsYXNzCXN0YXRpYyBzeW5jaHJvbml6ZWQgdHJhbnNpZW50IHZvbGF0aWxlIGZpbmFsIHN0cmljdGZwIHNlcmlhbGl6YWJsZQorc3luIGtleXdvcmQgamF2YUV4Y2VwdGlvbnMJdGhyb3cgdHJ5IGNhdGNoIGZpbmFsbHkKK3N5biBrZXl3b3JkIGphdmFBc3NlcnQJCWFzc2VydAorc3luIGtleXdvcmQgamF2YU1ldGhvZERlY2wJc3luY2hyb25pemVkIHRocm93cworc3luIGtleXdvcmQgamF2YUNsYXNzRGVjbAlleHRlbmRzIGltcGxlbWVudHMgaW50ZXJmYWNlCisiIHRvIGRpZmZlcmVudGlhdGUgdGhlIGtleXdvcmQgY2xhc3MgZnJvbSBNeUNsYXNzLmNsYXNzIHdlIHVzZSBhIG1hdGNoIGhlcmUKK3N5biBtYXRjaCAgIGphdmFUeXBlZGVmCQkiXC5ccypcPGNsYXNzXD4ibXM9cysxCitzeW4ga2V5d29yZCBqYXZhQ2xhc3NEZWNsCWVudW0KK3N5biBtYXRjaCAgIGphdmFDbGFzc0RlY2wJIl5jbGFzc1w+Igorc3luIG1hdGNoICAgamF2YUNsYXNzRGVjbAkiW14uXVxzKlw8Y2xhc3NcPiJtcz1zKzEKK3N5biBrZXl3b3JkIGphdmFCcmFuY2gJCWJyZWFrIGNvbnRpbnVlIG5leHRncm91cD1qYXZhVXNlckxhYmVsUmVmIHNraXB3aGl0ZQorc3luIG1hdGNoICAgamF2YVVzZXJMYWJlbFJlZgkiXGtcKyIgY29udGFpbmVkCitzeW4ga2V5d29yZCBqYXZhU2NvcGVEZWNsCXB1YmxpYyBwcm90ZWN0ZWQgcHJpdmF0ZSBhYnN0cmFjdAorCitpZiBleGlzdHMoImphdmFfaGlnaGxpZ2h0X2phdmFfbGFuZ19pZHMiKSB8fCBleGlzdHMoImphdmFfaGlnaGxpZ2h0X2phdmFfbGFuZyIpIHx8IGV4aXN0cygiamF2YV9oaWdobGlnaHRfYWxsIikKKyAgIiBqYXZhLmxhbmcuKgorICBzeW4gbWF0Y2ggamF2YUxhbmdDbGFzcyAiXDxTeXN0ZW1cPiIKKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgQ2xvbmVhYmxlIENvbXBhcmFibGUgUnVubmFibGUgQm9vbGVhbiBCeXRlIENsYXNzCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIENoYXJhY3RlciBDaGFyU2VxdWVuY2UgQ2xhc3NMb2FkZXIgQ29tcGlsZXIgRG91YmxlIEZsb2F0CisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIEludGVnZXIgSW5oZXJpdGFibGVUaHJlYWRMb2NhbCBMb25nIE1hdGggTnVtYmVyIE9iamVjdCBQYWNrYWdlIFByb2Nlc3MKKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgUnVudGltZSBSdW50aW1lUGVybWlzc2lvbiBJbmhlcml0YWJsZVRocmVhZExvY2FsCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIFNlY3VyaXR5TWFuYWdlciBTaG9ydCBTdHJpbmcgU3RyaWN0TWF0aCBTdGFja1RyYWNlRWxlbWVudAorICBzeW4ga2V5d29yZCBqYXZhTGFuZ0NsYXNzICBTdHJpbmdCdWZmZXIgVGhyZWFkIFRocmVhZEdyb3VwCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIFRocmVhZExvY2FsIFRocm93YWJsZSBWb2lkIEFyaXRobWV0aWNFeGNlcHRpb24KKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIEFzc2VydGlvbkVycm9yCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIEFycmF5U3RvcmVFeGNlcHRpb24gQ2xhc3NDYXN0RXhjZXB0aW9uCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIENsYXNzTm90Rm91bmRFeGNlcHRpb24KKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgQ2xvbmVOb3RTdXBwb3J0ZWRFeGNlcHRpb24gRXhjZXB0aW9uCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIElsbGVnYWxBY2Nlc3NFeGNlcHRpb24KKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIElsbGVnYWxNb25pdG9yU3RhdGVFeGNlcHRpb24KKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgSWxsZWdhbFN0YXRlRXhjZXB0aW9uCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIElsbGVnYWxUaHJlYWRTdGF0ZUV4Y2VwdGlvbgorICBzeW4ga2V5d29yZCBqYXZhTGFuZ0NsYXNzICBJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIEluc3RhbnRpYXRpb25FeGNlcHRpb24gSW50ZXJydXB0ZWRFeGNlcHRpb24KKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgTmVnYXRpdmVBcnJheVNpemVFeGNlcHRpb24gTm9TdWNoRmllbGRFeGNlcHRpb24KKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgTm9TdWNoTWV0aG9kRXhjZXB0aW9uIE51bGxQb2ludGVyRXhjZXB0aW9uCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIE51bWJlckZvcm1hdEV4Y2VwdGlvbiBSdW50aW1lRXhjZXB0aW9uCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIFNlY3VyaXR5RXhjZXB0aW9uIFN0cmluZ0luZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24KKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgVW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb24KKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgQWJzdHJhY3RNZXRob2RFcnJvciBDbGFzc0NpcmN1bGFyaXR5RXJyb3IKKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgQ2xhc3NGb3JtYXRFcnJvciBFcnJvciBFeGNlcHRpb25JbkluaXRpYWxpemVyRXJyb3IKKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgSWxsZWdhbEFjY2Vzc0Vycm9yIEluc3RhbnRpYXRpb25FcnJvcgorICBzeW4ga2V5d29yZCBqYXZhTGFuZ0NsYXNzICBJbmNvbXBhdGlibGVDbGFzc0NoYW5nZUVycm9yIEludGVybmFsRXJyb3IKKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgTGlua2FnZUVycm9yIE5vQ2xhc3NEZWZGb3VuZEVycm9yCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIE5vU3VjaEZpZWxkRXJyb3IgTm9TdWNoTWV0aG9kRXJyb3IKKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgT3V0T2ZNZW1vcnlFcnJvciBTdGFja092ZXJmbG93RXJyb3IKKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgVGhyZWFkRGVhdGggVW5rbm93bkVycm9yIFVuc2F0aXNmaWVkTGlua0Vycm9yCisgIHN5biBrZXl3b3JkIGphdmFMYW5nQ2xhc3MgIFVuc3VwcG9ydGVkQ2xhc3NWZXJzaW9uRXJyb3IgVmVyaWZ5RXJyb3IKKyAgc3luIGtleXdvcmQgamF2YUxhbmdDbGFzcyAgVmlydHVhbE1hY2hpbmVFcnJvcgorICBzeW4ga2V5d29yZCBqYXZhTGFuZ09iamVjdCBjbG9uZSBlcXVhbHMgZmluYWxpemUgZ2V0Q2xhc3MgaGFzaENvZGUKKyAgc3luIGtleXdvcmQgamF2YUxhbmdPYmplY3Qgbm90aWZ5IG5vdGlmeUFsbCB0b1N0cmluZyB3YWl0CisgIEphdmFIaUxpbmsgamF2YUxhbmdDbGFzcwkJICAgICBqYXZhQ29uc3RhbnQKKyAgSmF2YUhpTGluayBqYXZhTGFuZ09iamVjdAkJICAgICBqYXZhQ29uc3RhbnQKKyAgc3luIGNsdXN0ZXIgamF2YVRvcCBhZGQ9amF2YUxhbmdPYmplY3QsamF2YUxhbmdDbGFzcworICBzeW4gY2x1c3RlciBqYXZhQ2xhc3NlcyBhZGQ9amF2YUxhbmdDbGFzcworZW5kaWYKKworaWYgZmlsZXJlYWRhYmxlKGV4cGFuZCgiPHNmaWxlPjpwOmgiKS4iL2phdmFpZC52aW0iKQorICBzb3VyY2UgPHNmaWxlPjpwOmgvamF2YWlkLnZpbQorZW5kaWYKKworaWYgZXhpc3RzKCJqYXZhX3NwYWNlX2Vycm9ycyIpCisgIGlmICFleGlzdHMoImphdmFfbm9fdHJhaWxfc3BhY2VfZXJyb3IiKQorICAgIHN5biBtYXRjaCAgIGphdmFTcGFjZUVycm9yICAiXHNcKyQiCisgIGVuZGlmCisgIGlmICFleGlzdHMoImphdmFfbm9fdGFiX3NwYWNlX2Vycm9yIikKKyAgICBzeW4gbWF0Y2ggICBqYXZhU3BhY2VFcnJvciAgIiBcK1x0Im1lPWUtMQorICBlbmRpZgorZW5kaWYKKworc3luIHJlZ2lvbiAgamF2YUxhYmVsUmVnaW9uICAgICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWphdmFMYWJlbCBzdGFydD0iXDxjYXNlXD4iIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IjoiIGNvbnRhaW5zPWphdmFOdW1iZXIsamF2YUNoYXJhY3Rlcgorc3luIG1hdGNoICAgamF2YVVzZXJMYWJlbCAgICAgICAiXlxzKltfJGEtekEtWl1bXyRhLXpBLVowLTlfXSpccyo6ImhlPWUtMSBjb250YWlucz1qYXZhTGFiZWwKK3N5biBrZXl3b3JkIGphdmFMYWJlbAkJZGVmYXVsdAorCitpZiAhZXhpc3RzKCJqYXZhX2FsbG93X2NwcF9rZXl3b3JkcyIpCisgIHN5biBrZXl3b3JkIGphdmFFcnJvciBhdXRvIGRlbGV0ZSBleHRlcm4gZnJpZW5kIGlubGluZSByZWRlY2xhcmVkCisgIHN5biBrZXl3b3JkIGphdmFFcnJvciByZWdpc3RlciBzaWduZWQgc2l6ZW9mIHN0cnVjdCB0ZW1wbGF0ZSB0eXBlZGVmIHVuaW9uCisgIHN5biBrZXl3b3JkIGphdmFFcnJvciB1bnNpZ25lZCBvcGVyYXRvcgorZW5kaWYKKworIiBUaGUgZm9sbG93aW5nIGNsdXN0ZXIgY29udGFpbnMgYWxsIGphdmEgZ3JvdXBzIGV4Y2VwdCB0aGUgY29udGFpbmVkIG9uZXMKK3N5biBjbHVzdGVyIGphdmFUb3AgYWRkPWphdmFFeHRlcm5hbCxqYXZhRXJyb3IsamF2YUVycm9yLGphdmFCcmFuY2gsamF2YUxhYmVsUmVnaW9uLGphdmFMYWJlbCxqYXZhQ29uZGl0aW9uYWwsamF2YVJlcGVhdCxqYXZhQm9vbGVhbixqYXZhQ29uc3RhbnQsamF2YVR5cGVkZWYsamF2YU9wZXJhdG9yLGphdmFUeXBlLGphdmFUeXBlLGphdmFTdGF0ZW1lbnQsamF2YVN0b3JhZ2VDbGFzcyxqYXZhQXNzZXJ0LGphdmFFeGNlcHRpb25zLGphdmFNZXRob2REZWNsLGphdmFDbGFzc0RlY2wsamF2YUNsYXNzRGVjbCxqYXZhQ2xhc3NEZWNsLGphdmFTY29wZURlY2wsamF2YUVycm9yLGphdmFFcnJvcjIsamF2YVVzZXJMYWJlbCxqYXZhTGFuZ09iamVjdAorCisKKyIgQ29tbWVudHMKK3N5biBrZXl3b3JkIGphdmFUb2RvCQkgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCitpZiBleGlzdHMoImphdmFfY29tbWVudF9zdHJpbmdzIikKKyAgc3luIHJlZ2lvbiAgamF2YUNvbW1lbnRTdHJpbmcgICAgY29udGFpbmVkIHN0YXJ0PSsiKyBlbmQ9KyIrIGVuZD0rJCsgZW5kPStcKi8rbWU9cy0xLGhlPXMtMSBjb250YWlucz1qYXZhU3BlY2lhbCxqYXZhQ29tbWVudFN0YXIsamF2YVNwZWNpYWxDaGFyLEBTcGVsbAorICBzeW4gcmVnaW9uICBqYXZhQ29tbWVudDJTdHJpbmcgICBjb250YWluZWQgc3RhcnQ9KyIrICBlbmQ9KyRcfCIrICBjb250YWlucz1qYXZhU3BlY2lhbCxqYXZhU3BlY2lhbENoYXIsQFNwZWxsCisgIHN5biBtYXRjaCAgIGphdmFDb21tZW50Q2hhcmFjdGVyIGNvbnRhaW5lZCAiJ1xcW14nXVx7MSw2XH0nIiBjb250YWlucz1qYXZhU3BlY2lhbENoYXIKKyAgc3luIG1hdGNoICAgamF2YUNvbW1lbnRDaGFyYWN0ZXIgY29udGFpbmVkICInXFwnJyIgY29udGFpbnM9amF2YVNwZWNpYWxDaGFyCisgIHN5biBtYXRjaCAgIGphdmFDb21tZW50Q2hhcmFjdGVyIGNvbnRhaW5lZCAiJ1teXFxdJyIKKyAgc3luIGNsdXN0ZXIgamF2YUNvbW1lbnRTcGVjaWFsIGFkZD1qYXZhQ29tbWVudFN0cmluZyxqYXZhQ29tbWVudENoYXJhY3RlcixqYXZhTnVtYmVyCisgIHN5biBjbHVzdGVyIGphdmFDb21tZW50U3BlY2lhbDIgYWRkPWphdmFDb21tZW50MlN0cmluZyxqYXZhQ29tbWVudENoYXJhY3RlcixqYXZhTnVtYmVyCitlbmRpZgorc3luIHJlZ2lvbiAgamF2YUNvbW1lbnQJCSBzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPUBqYXZhQ29tbWVudFNwZWNpYWwsamF2YVRvZG8sQFNwZWxsCitzeW4gbWF0Y2ggICBqYXZhQ29tbWVudFN0YXIgICAgICBjb250YWluZWQgIl5ccypcKlteL10ibWU9ZS0xCitzeW4gbWF0Y2ggICBqYXZhQ29tbWVudFN0YXIgICAgICBjb250YWluZWQgIl5ccypcKiQiCitzeW4gbWF0Y2ggICBqYXZhTGluZUNvbW1lbnQgICAgICAiLy8uKiIgY29udGFpbnM9QGphdmFDb21tZW50U3BlY2lhbDIsamF2YVRvZG8sQFNwZWxsCitKYXZhSGlMaW5rIGphdmFDb21tZW50U3RyaW5nIGphdmFTdHJpbmcKK0phdmFIaUxpbmsgamF2YUNvbW1lbnQyU3RyaW5nIGphdmFTdHJpbmcKK0phdmFIaUxpbmsgamF2YUNvbW1lbnRDaGFyYWN0ZXIgamF2YUNoYXJhY3RlcgorCitzeW4gY2x1c3RlciBqYXZhVG9wIGFkZD1qYXZhQ29tbWVudCxqYXZhTGluZUNvbW1lbnQKKworaWYgIWV4aXN0cygiamF2YV9pZ25vcmVfamF2YWRvYyIpICYmIG1haW5fc3ludGF4ICE9ICdqc3AnCisgIHN5bnRheCBjYXNlIGlnbm9yZQorICAiIHN5bnRheCBjb2xvcmluZyBmb3IgamF2YWRvYyBjb21tZW50cyAoSFRNTCkKKyAgc3ludGF4IGluY2x1ZGUgQGphdmFIdG1sIDxzZmlsZT46cDpoL2h0bWwudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKKyAgc3luIHJlZ2lvbiAgamF2YURvY0NvbW1lbnQgICAgc3RhcnQ9Ii9cKlwqIiAgZW5kPSJcKi8iIGtlZXBlbmQgY29udGFpbnM9amF2YUNvbW1lbnRUaXRsZSxAamF2YUh0bWwsamF2YURvY1RhZ3MsamF2YVRvZG8sQFNwZWxsCisgIHN5biByZWdpb24gIGphdmFDb21tZW50VGl0bGUgIGNvbnRhaW5lZCBtYXRjaGdyb3VwPWphdmFEb2NDb21tZW50IHN0YXJ0PSIvXCpcKiIgICBtYXRjaGdyb3VwPWphdmFDb21tZW50VGl0bGUga2VlcGVuZCBlbmQ9IlwuJCIgZW5kPSJcLlsgXHRccjwmXSJtZT1lLTEgZW5kPSJbXntdQCJtZT1zLTIsaGU9cy0xIGVuZD0iXCovIm1lPXMtMSxoZT1zLTEgY29udGFpbnM9QGphdmFIdG1sLGphdmFDb21tZW50U3RhcixqYXZhVG9kbyxAU3BlbGwsamF2YURvY1RhZ3MKKworICBzeW4gcmVnaW9uIGphdmFEb2NUYWdzICBjb250YWluZWQgc3RhcnQ9IntAXChsaW5rXHxsaW5rcGxhaW5cfGluaGVyaXRbRGRdb2NcfGRvY1tyUl1vb3RcfHZhbHVlXCkiIGVuZD0ifSIKKyAgc3luIG1hdGNoICBqYXZhRG9jVGFncyAgY29udGFpbmVkICJAXChzZWVcfHBhcmFtXHxleGNlcHRpb25cfHRocm93c1x8c2luY2VcKVxzXCtcU1wrIiBjb250YWlucz1qYXZhRG9jUGFyYW0KKyAgc3luIG1hdGNoICBqYXZhRG9jUGFyYW0gY29udGFpbmVkICJcc1xTXCsiCisgIHN5biBtYXRjaCAgamF2YURvY1RhZ3MgIGNvbnRhaW5lZCAiQFwodmVyc2lvblx8YXV0aG9yXHxyZXR1cm5cfGRlcHJlY2F0ZWRcfHNlcmlhbFx8c2VyaWFsRmllbGRcfHNlcmlhbERhdGFcKVw+IgorICBzeW50YXggY2FzZSBtYXRjaAorZW5kaWYKKworIiBtYXRjaCB0aGUgc3BlY2lhbCBjb21tZW50IC8qKi8KK3N5biBtYXRjaCAgIGphdmFDb21tZW50CQkgIi9cKlwqLyIKKworIiBTdHJpbmdzIGFuZCBjb25zdGFudHMKK3N5biBtYXRjaCAgIGphdmFTcGVjaWFsRXJyb3IgICAgIGNvbnRhaW5lZCAiXFwuIgorc3luIG1hdGNoICAgamF2YVNwZWNpYWxDaGFyRXJyb3IgY29udGFpbmVkICJbXiddIgorc3luIG1hdGNoICAgamF2YVNwZWNpYWxDaGFyICAgICAgY29udGFpbmVkICJcXFwoWzQtOV1cZFx8WzAtM11cZFxkXHxbXCJcXCdudGJyZl1cfHVceFx7NFx9XCkiCitzeW4gcmVnaW9uICBqYXZhU3RyaW5nCQlzdGFydD0rIisgZW5kPSsiKyBlbmQ9KyQrIGNvbnRhaW5zPWphdmFTcGVjaWFsQ2hhcixqYXZhU3BlY2lhbEVycm9yLEBTcGVsbAorIiBuZXh0IGxpbmUgZGlzYWJsZWQsIGl0IGNhbiBjYXVzZSBhIGNyYXNoIGZvciBhIGxvbmcgbGluZQorInN5biBtYXRjaCAgIGphdmFTdHJpbmdFcnJvcgkgICsiXChbXiJcXF1cfFxcLlwpKiQrCitzeW4gbWF0Y2ggICBqYXZhQ2hhcmFjdGVyCSAiJ1teJ10qJyIgY29udGFpbnM9amF2YVNwZWNpYWxDaGFyLGphdmFTcGVjaWFsQ2hhckVycm9yCitzeW4gbWF0Y2ggICBqYXZhQ2hhcmFjdGVyCSAiJ1xcJyciIGNvbnRhaW5zPWphdmFTcGVjaWFsQ2hhcgorc3luIG1hdGNoICAgamF2YUNoYXJhY3RlcgkgIidbXlxcXSciCitzeW4gbWF0Y2ggICBqYXZhTnVtYmVyCQkgIlw8XCgwWzAtN10qXHwwW3hYXVx4XCtcfFxkXCtcKVtsTF1cPVw+Igorc3luIG1hdGNoICAgamF2YU51bWJlcgkJICJcKFw8XGRcK1wuXGQqXHxcLlxkXCtcKVwoW2VFXVstK11cPVxkXCtcKVw9W2ZGZERdXD0iCitzeW4gbWF0Y2ggICBqYXZhTnVtYmVyCQkgIlw8XGRcK1tlRV1bLStdXD1cZFwrW2ZGZERdXD1cPiIKK3N5biBtYXRjaCAgIGphdmFOdW1iZXIJCSAiXDxcZFwrXChbZUVdWy0rXVw9XGRcK1wpXD1bZkZkRF1cPiIKKworIiB1bmljb2RlIGNoYXJhY3RlcnMKK3N5biBtYXRjaCAgIGphdmFTcGVjaWFsICJcXHVcZFx7NFx9IgorCitzeW4gY2x1c3RlciBqYXZhVG9wIGFkZD1qYXZhU3RyaW5nLGphdmFDaGFyYWN0ZXIsamF2YU51bWJlcixqYXZhU3BlY2lhbCxqYXZhU3RyaW5nRXJyb3IKKworaWYgZXhpc3RzKCJqYXZhX2hpZ2hsaWdodF9mdW5jdGlvbnMiKQorICBpZiBqYXZhX2hpZ2hsaWdodF9mdW5jdGlvbnMgPT0gImluZGVudCIKKyAgICBzeW4gbWF0Y2ggIGphdmFGdW5jRGVmICJeXChcdFx8IFx7OFx9XClbXyRhLXpBLVpdW18kYS16QS1aMC05Xy4gXFtcXV0qKFteLSsqLygpXSopIiBjb250YWlucz1qYXZhU2NvcGVEZWNsLGphdmFUeXBlLGphdmFTdG9yYWdlQ2xhc3MsQGphdmFDbGFzc2VzCisgICAgc3luIHJlZ2lvbiBqYXZhRnVuY0RlZiBzdGFydD0rXlwoXHRcfCBcezhcfVwpWyRfYS16QS1aXVskX2EtekEtWjAtOV8uIFxbXF1dKihbXi0rKi8oKV0qLFxzKisgZW5kPSspKyBjb250YWlucz1qYXZhU2NvcGVEZWNsLGphdmFUeXBlLGphdmFTdG9yYWdlQ2xhc3MsQGphdmFDbGFzc2VzCisgICAgc3luIG1hdGNoICBqYXZhRnVuY0RlZiAiXiAgWyRfYS16QS1aXVskX2EtekEtWjAtOV8uIFxbXF1dKihbXi0rKi8oKV0qKSIgY29udGFpbnM9amF2YVNjb3BlRGVjbCxqYXZhVHlwZSxqYXZhU3RvcmFnZUNsYXNzLEBqYXZhQ2xhc3NlcworICAgIHN5biByZWdpb24gamF2YUZ1bmNEZWYgc3RhcnQ9K14gIFskX2EtekEtWl1bJF9hLXpBLVowLTlfLiBcW1xdXSooW14tKyovKCldKixccyorIGVuZD0rKSsgY29udGFpbnM9amF2YVNjb3BlRGVjbCxqYXZhVHlwZSxqYXZhU3RvcmFnZUNsYXNzLEBqYXZhQ2xhc3NlcworICBlbHNlCisgICAgIiBUaGlzIGxpbmUgY2F0Y2hlcyBtZXRob2QgZGVjbGFyYXRpb25zIGF0IGFueSBpbmRlbnRhdGlvbj4wLCBidXQgaXQgYXNzdW1lcworICAgICIgdHdvIHRoaW5nczoKKyAgICAiICAgMS4gY2xhc3MgbmFtZXMgYXJlIGFsd2F5cyBjYXBpdGFsaXplZCAoaWU6IEJ1dHRvbikKKyAgICAiICAgMi4gbWV0aG9kIG5hbWVzIGFyZSBuZXZlciBjYXBpdGFsaXplZCAoZXhjZXB0IGNvbnN0cnVjdG9ycywgb2YgY291cnNlKQorICAgIHN5biByZWdpb24gamF2YUZ1bmNEZWYgc3RhcnQ9K15cc1wrXChcKHB1YmxpY1x8cHJvdGVjdGVkXHxwcml2YXRlXHxzdGF0aWNcfGFic3RyYWN0XHxmaW5hbFx8bmF0aXZlXHxzeW5jaHJvbml6ZWRcKVxzXCtcKSpcKFwodm9pZFx8Ym9vbGVhblx8Y2hhclx8Ynl0ZVx8c2hvcnRcfGludFx8bG9uZ1x8ZmxvYXRcfGRvdWJsZVx8XChbQS1aYS16X11bQS1aYS16MC05XyRdKlwuXCkqW0EtWl1bQS1aYS16MC05XyRdKlwpXCg8W14+XSo+XClcPVwoXFtcXVwpKlxzXCtbYS16XVtBLVphLXowLTlfJF0qXHxbQS1aXVtBLVphLXowLTlfJF0qXClccyooW14wLTldKyBlbmQ9KykrIGNvbnRhaW5zPWphdmFTY29wZURlY2wsamF2YVR5cGUsamF2YVN0b3JhZ2VDbGFzcyxqYXZhQ29tbWVudCxqYXZhTGluZUNvbW1lbnQsQGphdmFDbGFzc2VzCisgIGVuZGlmCisgIHN5biBtYXRjaCAgamF2YUJyYWNlcyAgIlt7fV0iCisgIHN5biBjbHVzdGVyIGphdmFUb3AgYWRkPWphdmFGdW5jRGVmLGphdmFCcmFjZXMKK2VuZGlmCisKK2lmIGV4aXN0cygiamF2YV9oaWdobGlnaHRfZGVidWciKQorCisgICIgU3RyaW5ncyBhbmQgY29uc3RhbnRzCisgIHN5biBtYXRjaCAgIGphdmFEZWJ1Z1NwZWNpYWwJCWNvbnRhaW5lZCAiXFxcZFxkXGRcfFxcLiIKKyAgc3luIHJlZ2lvbiAgamF2YURlYnVnU3RyaW5nCQljb250YWluZWQgc3RhcnQ9KyIrICBlbmQ9KyIrICBjb250YWlucz1qYXZhRGVidWdTcGVjaWFsCisgIHN5biBtYXRjaCAgIGphdmFEZWJ1Z1N0cmluZ0Vycm9yICAgICAgKyJcKFteIlxcXVx8XFwuXCkqJCsKKyAgc3luIG1hdGNoICAgamF2YURlYnVnQ2hhcmFjdGVyCWNvbnRhaW5lZCAiJ1teXFxdJyIKKyAgc3luIG1hdGNoICAgamF2YURlYnVnU3BlY2lhbENoYXJhY3RlciBjb250YWluZWQgIidcXC4nIgorICBzeW4gbWF0Y2ggICBqYXZhRGVidWdTcGVjaWFsQ2hhcmFjdGVyIGNvbnRhaW5lZCAiJ1xcJyciCisgIHN5biBtYXRjaCAgIGphdmFEZWJ1Z051bWJlcgkJY29udGFpbmVkICJcPFwoMFswLTddKlx8MFt4WF1ceFwrXHxcZFwrXClbbExdXD1cPiIKKyAgc3luIG1hdGNoICAgamF2YURlYnVnTnVtYmVyCQljb250YWluZWQgIlwoXDxcZFwrXC5cZCpcfFwuXGRcK1wpXChbZUVdWy0rXVw9XGRcK1wpXD1bZkZkRF1cPSIKKyAgc3luIG1hdGNoICAgamF2YURlYnVnTnVtYmVyCQljb250YWluZWQgIlw8XGRcK1tlRV1bLStdXD1cZFwrW2ZGZERdXD1cPiIKKyAgc3luIG1hdGNoICAgamF2YURlYnVnTnVtYmVyCQljb250YWluZWQgIlw8XGRcK1woW2VFXVstK11cPVxkXCtcKVw9W2ZGZERdXD4iCisgIHN5biBrZXl3b3JkIGphdmFEZWJ1Z0Jvb2xlYW4JCWNvbnRhaW5lZCB0cnVlIGZhbHNlCisgIHN5biBrZXl3b3JkIGphdmFEZWJ1Z1R5cGUJCWNvbnRhaW5lZCBudWxsIHRoaXMgc3VwZXIKKyAgc3luIHJlZ2lvbiBqYXZhRGVidWdQYXJlbiAgc3RhcnQ9KygrIGVuZD0rKSsgY29udGFpbmVkIGNvbnRhaW5zPWphdmFEZWJ1Zy4qLGphdmFEZWJ1Z1BhcmVuCisKKyAgIiB0byBtYWtlIHRoaXMgd29yayB5b3UgbXVzdCBkZWZpbmUgdGhlIGhpZ2hsaWdodGluZyBmb3IgdGhlc2UgZ3JvdXBzCisgIHN5biBtYXRjaCBqYXZhRGVidWcgIlw8U3lzdGVtXC5cKG91dFx8ZXJyXClcLnByaW50XChsblwpKlxzKigibWU9ZS0xIGNvbnRhaW5zPWphdmFEZWJ1Zy4qIG5leHRncm91cD1qYXZhRGVidWdQYXJlbgorICBzeW4gbWF0Y2ggamF2YURlYnVnICJbQS1aYS16XVthLXpBLVowLTlfXSpcLnByaW50U3RhY2tUcmFjZVxzKigibWU9ZS0xIGNvbnRhaW5zPWphdmFEZWJ1Zy4qIG5leHRncm91cD1qYXZhRGVidWdQYXJlbgorICBzeW4gbWF0Y2ggamF2YURlYnVnICJcPHRyYWNlW1NMXVw9XHMqKCJtZT1lLTEgY29udGFpbnM9amF2YURlYnVnLiogbmV4dGdyb3VwPWphdmFEZWJ1Z1BhcmVuCisKKyAgc3luIGNsdXN0ZXIgamF2YVRvcCBhZGQ9amF2YURlYnVnCisKKyAgaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2Nfc3luX2luaXRzIikKKyAgICBKYXZhSGlMaW5rIGphdmFEZWJ1ZwkJIERlYnVnCisgICAgSmF2YUhpTGluayBqYXZhRGVidWdTdHJpbmcJCSBEZWJ1Z1N0cmluZworICAgIEphdmFIaUxpbmsgamF2YURlYnVnU3RyaW5nRXJyb3IJIGphdmFFcnJvcgorICAgIEphdmFIaUxpbmsgamF2YURlYnVnVHlwZQkJIERlYnVnVHlwZQorICAgIEphdmFIaUxpbmsgamF2YURlYnVnQm9vbGVhbgkJIERlYnVnQm9vbGVhbgorICAgIEphdmFIaUxpbmsgamF2YURlYnVnTnVtYmVyCQkgRGVidWcKKyAgICBKYXZhSGlMaW5rIGphdmFEZWJ1Z1NwZWNpYWwJCSBEZWJ1Z1NwZWNpYWwKKyAgICBKYXZhSGlMaW5rIGphdmFEZWJ1Z1NwZWNpYWxDaGFyYWN0ZXIgRGVidWdTcGVjaWFsCisgICAgSmF2YUhpTGluayBqYXZhRGVidWdDaGFyYWN0ZXIJIERlYnVnU3RyaW5nCisgICAgSmF2YUhpTGluayBqYXZhRGVidWdQYXJlbgkJIERlYnVnCisKKyAgICBKYXZhSGlMaW5rIERlYnVnU3RyaW5nCQkgU3RyaW5nCisgICAgSmF2YUhpTGluayBEZWJ1Z1NwZWNpYWwJCSBTcGVjaWFsCisgICAgSmF2YUhpTGluayBEZWJ1Z0Jvb2xlYW4JCSBCb29sZWFuCisgICAgSmF2YUhpTGluayBEZWJ1Z1R5cGUJCSBUeXBlCisgIGVuZGlmCitlbmRpZgorCitpZiBleGlzdHMoImphdmFfbWFya19icmFjZXNfaW5fcGFyZW5zX2FzX2Vycm9ycyIpCisgIHN5biBtYXRjaCBqYXZhSW5QYXJlbgkJIGNvbnRhaW5lZCAiW3t9XSIKKyAgSmF2YUhpTGluayBqYXZhSW5QYXJlbglqYXZhRXJyb3IKKyAgc3luIGNsdXN0ZXIgamF2YVRvcCBhZGQ9amF2YUluUGFyZW4KK2VuZGlmCisKKyIgY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworc3luIHJlZ2lvbiAgamF2YVBhcmVuVCAgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1qYXZhUGFyZW4gIHN0YXJ0PSIoIiAgZW5kPSIpIiBjb250YWlucz1AamF2YVRvcCxqYXZhUGFyZW5UMQorc3luIHJlZ2lvbiAgamF2YVBhcmVuVDEgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1qYXZhUGFyZW4xIHN0YXJ0PSIoIiBlbmQ9IikiIGNvbnRhaW5zPUBqYXZhVG9wLGphdmFQYXJlblQyIGNvbnRhaW5lZAorc3luIHJlZ2lvbiAgamF2YVBhcmVuVDIgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1qYXZhUGFyZW4yIHN0YXJ0PSIoIiBlbmQ9IikiIGNvbnRhaW5zPUBqYXZhVG9wLGphdmFQYXJlblQgIGNvbnRhaW5lZAorc3luIG1hdGNoICAgamF2YVBhcmVuRXJyb3IgICAgICAgIikiCitKYXZhSGlMaW5rIGphdmFQYXJlbkVycm9yICAgICAgIGphdmFFcnJvcgorCitpZiAhZXhpc3RzKCJqYXZhX21pbmxpbmVzIikKKyAgbGV0IGphdmFfbWlubGluZXMgPSAxMAorZW5kaWYKK2V4ZWMgInN5biBzeW5jIGNjb21tZW50IGphdmFDb21tZW50IG1pbmxpbmVzPSIgLiBqYXZhX21pbmxpbmVzCisKKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2phdmFfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfamF2YV9zeW5faW5pdHMgPSAxCisgIGVuZGlmCisgIEphdmFIaUxpbmsgamF2YUZ1bmNEZWYJCUZ1bmN0aW9uCisgIEphdmFIaUxpbmsgamF2YUJyYWNlcwkJCUZ1bmN0aW9uCisgIEphdmFIaUxpbmsgamF2YUJyYW5jaAkJCUNvbmRpdGlvbmFsCisgIEphdmFIaUxpbmsgamF2YVVzZXJMYWJlbFJlZgkJamF2YVVzZXJMYWJlbAorICBKYXZhSGlMaW5rIGphdmFMYWJlbAkJCUxhYmVsCisgIEphdmFIaUxpbmsgamF2YVVzZXJMYWJlbAkJTGFiZWwKKyAgSmF2YUhpTGluayBqYXZhQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCisgIEphdmFIaUxpbmsgamF2YVJlcGVhdAkJCVJlcGVhdAorICBKYXZhSGlMaW5rIGphdmFFeGNlcHRpb25zCQlFeGNlcHRpb24KKyAgSmF2YUhpTGluayBqYXZhQXNzZXJ0CQkJU3RhdGVtZW50CisgIEphdmFIaUxpbmsgamF2YVN0b3JhZ2VDbGFzcwkJU3RvcmFnZUNsYXNzCisgIEphdmFIaUxpbmsgamF2YU1ldGhvZERlY2wJCWphdmFTdG9yYWdlQ2xhc3MKKyAgSmF2YUhpTGluayBqYXZhQ2xhc3NEZWNsCQlqYXZhU3RvcmFnZUNsYXNzCisgIEphdmFIaUxpbmsgamF2YVNjb3BlRGVjbAkJamF2YVN0b3JhZ2VDbGFzcworICBKYXZhSGlMaW5rIGphdmFCb29sZWFuCQlCb29sZWFuCisgIEphdmFIaUxpbmsgamF2YVNwZWNpYWwJCVNwZWNpYWwKKyAgSmF2YUhpTGluayBqYXZhU3BlY2lhbEVycm9yCQlFcnJvcgorICBKYXZhSGlMaW5rIGphdmFTcGVjaWFsQ2hhckVycm9yCUVycm9yCisgIEphdmFIaUxpbmsgamF2YVN0cmluZwkJCVN0cmluZworICBKYXZhSGlMaW5rIGphdmFDaGFyYWN0ZXIJCUNoYXJhY3RlcgorICBKYXZhSGlMaW5rIGphdmFTcGVjaWFsQ2hhcgkJU3BlY2lhbENoYXIKKyAgSmF2YUhpTGluayBqYXZhTnVtYmVyCQkJTnVtYmVyCisgIEphdmFIaUxpbmsgamF2YUVycm9yCQkJRXJyb3IKKyAgSmF2YUhpTGluayBqYXZhU3RyaW5nRXJyb3IJCUVycm9yCisgIEphdmFIaUxpbmsgamF2YVN0YXRlbWVudAkJU3RhdGVtZW50CisgIEphdmFIaUxpbmsgamF2YU9wZXJhdG9yCQlPcGVyYXRvcgorICBKYXZhSGlMaW5rIGphdmFDb21tZW50CQlDb21tZW50CisgIEphdmFIaUxpbmsgamF2YURvY0NvbW1lbnQJCUNvbW1lbnQKKyAgSmF2YUhpTGluayBqYXZhTGluZUNvbW1lbnQJCUNvbW1lbnQKKyAgSmF2YUhpTGluayBqYXZhQ29uc3RhbnQJCUNvbnN0YW50CisgIEphdmFIaUxpbmsgamF2YVR5cGVkZWYJCVR5cGVkZWYKKyAgSmF2YUhpTGluayBqYXZhVG9kbwkJCVRvZG8KKworICBKYXZhSGlMaW5rIGphdmFDb21tZW50VGl0bGUJCVNwZWNpYWxDb21tZW50CisgIEphdmFIaUxpbmsgamF2YURvY1RhZ3MJCVNwZWNpYWwKKyAgSmF2YUhpTGluayBqYXZhRG9jUGFyYW0JCUZ1bmN0aW9uCisgIEphdmFIaUxpbmsgamF2YUNvbW1lbnRTdGFyCQlqYXZhQ29tbWVudAorCisgIEphdmFIaUxpbmsgamF2YVR5cGUJCQlUeXBlCisgIEphdmFIaUxpbmsgamF2YUV4dGVybmFsCQlJbmNsdWRlCisKKyAgSmF2YUhpTGluayBodG1sQ29tbWVudAkJU3BlY2lhbAorICBKYXZhSGlMaW5rIGh0bWxDb21tZW50UGFydAkJU3BlY2lhbAorICBKYXZhSGlMaW5rIGphdmFTcGFjZUVycm9yCQlFcnJvcgorZW5kaWYKKworZGVsY29tbWFuZCBKYXZhSGlMaW5rCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImphdmEiCisKK2lmIG1haW5fc3ludGF4ID09ICdqYXZhJworICB1bmxldCBtYWluX3N5bnRheAorZW5kaWYKKworbGV0IGI6c3BlbGxfb3B0aW9ucz0iY29udGFpbmVkIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvamF2YWNjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2phdmFjYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdjNTdiNQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2phdmFjYy52aW0KQEAgLTAsMCArMSw3NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUphdmFDQywgYSBKYXZhIENvbXBpbGVyIENvbXBpbGVyIHdyaXR0ZW4gYnkgSmF2YVNvZnQKKyIgTWFpbnRhaW5lcjoJQ2xhdWRpbyBGbGVpbmVyIDxjbGF1ZGlvQGZsZWluZXIuY29tPgorIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvamF2YWNjLnZpbQorIiBMYXN0IENoYW5nZToJMjAwMSBKdW4gMjAKKworIiBVc2VzIGphdmEudmltLCBhbmQgYWRkcyBhIGZldyBzcGVjaWFsIHRoaW5ncyBmb3IgSmF2YUNDIFBhcnNlciBmaWxlcy4KKyIgVGhvc2UgZmlsZXMgdXN1YWxseSBoYXZlIHRoZSBleHRlbnNpb24gICouamoKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIHNvdXJjZSB0aGUgamF2YS52aW0gZmlsZQoraWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvamF2YS52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2phdmEudmltCitlbmRpZgordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCisicmVtb3ZlIGNhdGNoaW5nIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMgKGRvZXMgbm90IHdvcmsgaW4gamF2YWNjCisiZmlsZXMpIChmaXJzdCBkZWZpbmUgdGhlbSBpbiBjYXNlIHRoZXkgaGF2ZSBub3QgYmVlbiBkZWZpbmVkIGluIGphdmEpCitzeW4gbWF0Y2gJamF2YVBhcmVuICItLSIKK3N5biBtYXRjaAlqYXZhUGFyZW5FcnJvciAiLS0iCitzeW4gbWF0Y2gJamF2YUluUGFyZW4gIi0tIgorc3luIG1hdGNoCWphdmFFcnJvcjIgIi0tIgorc3luIGNsZWFyCWphdmFQYXJlbgorc3luIGNsZWFyCWphdmFQYXJlbkVycm9yCitzeW4gY2xlYXIJamF2YUluUGFyZW4KK3N5biBjbGVhcglqYXZhRXJyb3IyCisKKyIgcmVtb3ZlIGZ1bmN0aW9uIGRlZmluaXRpb25zICh0aGV5IGxvb2sgZGlmZmVyZW50KSAoZmlyc3QgZGVmaW5lIGluCisiIGluIGNhc2UgaXQgd2FzIG5vdCBkZWZpbmVkIGluIGphdmEudmltKQorInN5biBtYXRjaCBqYXZhRnVuY0RlZiAiLS0iCitzeW4gY2xlYXIgamF2YUZ1bmNEZWYKK3N5biBtYXRjaCBqYXZhRnVuY0RlZiAiWyRfYS16QS1aXVskX2EtekEtWjAtOV8uIFxbXF1dKihbXi0rKi8oKV0qKVsgXHRdKjoiIGNvbnRhaW5zPWphdmFUeXBlCisKK3N5biBrZXl3b3JkIGphdmFjY1BhY2thZ2VzIG9wdGlvbnMgREVCVUdfUEFSU0VSIERFQlVHX0xPT0tBSEVBRCBERUJVR19UT0tFTl9NQU5BR0VSCitzeW4ga2V5d29yZCBqYXZhY2NQYWNrYWdlcyBDT01NT05fVE9LRU5fQUNUSU9OIElHTk9SRV9DQVNFIENIT0lDRV9BTUJJR1VJVFlfQ0hFQ0sKK3N5biBrZXl3b3JkIGphdmFjY1BhY2thZ2VzIE9USEVSX0FNQklHVUlUWV9DSEVDSyBTVEFUSUMgTE9PS0FIRUFEIEVSUk9SX1JFUE9SVElORworc3luIGtleXdvcmQgamF2YWNjUGFja2FnZXMgVVNFUl9UT0tFTl9NQU5BR0VSICBVU0VSX0NIQVJfU1RSRUFNIEpBVkFfVU5JQ09ERV9FU0NBUEUKK3N5biBrZXl3b3JkIGphdmFjY1BhY2thZ2VzIFVOSUNPREVfSU5QVVQKK3N5biBtYXRjaCBqYXZhY2NQYWNrYWdlcyAiUEFSU0VSX0VORChbXildKikiCitzeW4gbWF0Y2ggamF2YWNjUGFja2FnZXMgIlBBUlNFUl9CRUdJTihbXildKikiCitzeW4gbWF0Y2ggamF2YWNjU3BlY1Rva2VuICI8RU9GPiIKKyIgdGhlIGRvdCBpcyBuZWNlc3NhcnkgYXMgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgbWF0Y2hlZCBhcyBhIGtleXdvcmQuCitzeW4gbWF0Y2ggamF2YWNjU3BlY1Rva2VuICIuTE9PS0FIRUFEKCJtcz1zKzEsbWU9ZS0xCitzeW4gbWF0Y2ggamF2YWNjVG9rZW4gIjxbXj4gXHRdKj4iCitzeW4ga2V5d29yZCBqYXZhY2NBY3Rpb25Ub2tlbiBUT0tFTiBTS0lQIE1PUkUgU1BFQ0lBTF9UT0tFTgorc3luIGtleXdvcmQgamF2YWNjRXJyb3IgREVCVUcgSUdOT1JFX0lOX0JORgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jc3Nfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfY3NzX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisgIEhpTGluayBqYXZhY2NTcGVjVG9rZW4gU3RhdGVtZW50CisgIEhpTGluayBqYXZhY2NBY3Rpb25Ub2tlbiBUeXBlCisgIEhpTGluayBqYXZhY2NQYWNrYWdlcyBqYXZhU2NvcGVEZWNsCisgIEhpTGluayBqYXZhY2NUb2tlbiBTdHJpbmcKKyAgSGlMaW5rIGphdmFjY0Vycm9yIEVycm9yCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJqYXZhY2MiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9qYXZhc2NyaXB0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2phdmFzY3JpcHQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMzc0OTYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9qYXZhc2NyaXB0LnZpbQpAQCAtMCwwICsxLDExMSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUphdmFTY3JpcHQKKyIgTWFpbnRhaW5lcjoJQ2xhdWRpbyBGbGVpbmVyIDxjbGF1ZGlvQGZsZWluZXIuY29tPgorIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvamF2YXNjcmlwdC52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDQgTWF5IDE2CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCisiIHR1bmluZyBwYXJhbWV0ZXJzOgorIiB1bmxldCBqYXZhU2NyaXB0X2ZvbGQKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3ludGF4IGNsZWFyCisgIGVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorICBlbmRpZgorICBsZXQgbWFpbl9zeW50YXggPSAnamF2YXNjcmlwdCcKK2VuZGlmCisKKyIgRHJvcCBmb2xkIGlmIGl0IHNldCBidXQgdmltIGRvZXNuJ3Qgc3VwcG9ydCBpdC4KK2lmIHZlcnNpb24gPCA2MDAgJiYgZXhpc3RzKCJqYXZhU2NyaXB0X2ZvbGQiKQorICB1bmxldCBqYXZhU2NyaXB0X2ZvbGQKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCisKK3N5biBrZXl3b3JkIGphdmFTY3JpcHRDb21tZW50VG9kbyAgICAgIFRPRE8gRklYTUUgWFhYIFRCRCBjb250YWluZWQKK3N5biBtYXRjaCAgIGphdmFTY3JpcHRMaW5lQ29tbWVudCAgICAgICJcL1wvLiokIiBjb250YWlucz1qYXZhU2NyaXB0Q29tbWVudFRvZG8KK3N5biBtYXRjaCAgIGphdmFTY3JpcHRDb21tZW50U2tpcCAgICAgICJeWyBcdF0qXCpcKCRcfFsgXHRdXCtcKSIKK3N5biByZWdpb24gIGphdmFTY3JpcHRDb21tZW50CSAgICAgICBzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPWphdmFTY3JpcHRDb21tZW50VG9kbworc3luIG1hdGNoICAgamF2YVNjcmlwdFNwZWNpYWwJICAgICAgICJcXFxkXGRcZFx8XFwuIgorc3luIHJlZ2lvbiAgamF2YVNjcmlwdFN0cmluZ0QJICAgICAgIHN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKyAgY29udGFpbnM9amF2YVNjcmlwdFNwZWNpYWwsQGh0bWxQcmVwcm9jCitzeW4gcmVnaW9uICBqYXZhU2NyaXB0U3RyaW5nUwkgICAgICAgc3RhcnQ9KycrICBza2lwPStcXFxcXHxcXCcrICBlbmQ9KycrICBjb250YWlucz1qYXZhU2NyaXB0U3BlY2lhbCxAaHRtbFByZXByb2MKK3N5biBtYXRjaCAgIGphdmFTY3JpcHRTcGVjaWFsQ2hhcmFjdGVyICInXFwuJyIKK3N5biBtYXRjaCAgIGphdmFTY3JpcHROdW1iZXIJICAgICAgICItXD1cPFxkXCtMXD1cPlx8MFt4WF1bMC05YS1mQS1GXVwrXD4iCitzeW4gcmVnaW9uICBqYXZhU2NyaXB0UmVnZXhwU3RyaW5nICAgICBzdGFydD0rLysgc2tpcD0rXFxcXFx8XFwvKyBlbmQ9Ky9bZ2ldXD9ccyokKyBlbmQ9Ky9bZ2ldXD9ccypbOywpXSttZT1lLTEgY29udGFpbnM9QGh0bWxQcmVwcm9jIG9uZWxpbmUKK3N5biBrZXl3b3JkIGphdmFTY3JpcHRDb25kaXRpb25hbCAgICAgIGlmIGVsc2UKK3N5biBrZXl3b3JkIGphdmFTY3JpcHRSZXBlYXQJICAgICAgIHdoaWxlIGZvcgorc3luIGtleXdvcmQgamF2YVNjcmlwdEJyYW5jaAkgICAgICAgYnJlYWsgY29udGludWUgc3dpdGNoIGNhc2UgZGVmYXVsdAorc3luIGtleXdvcmQgamF2YVNjcmlwdE9wZXJhdG9yCSAgICAgICBuZXcgaW4KK3N5biBrZXl3b3JkIGphdmFTY3JpcHRUeXBlCSAgICAgICB0aGlzIHZhciBjb25zdAorc3luIGtleXdvcmQgamF2YVNjcmlwdFN0YXRlbWVudCAgICAgICAgcmV0dXJuIHdpdGgKK3N5biBrZXl3b3JkIGphdmFTY3JpcHRCb29sZWFuCSAgICAgICB0cnVlIGZhbHNlCisKK2lmIGV4aXN0cygiamF2YVNjcmlwdF9mb2xkIikKKyAgICBzeW4gbWF0Y2gJamF2YVNjcmlwdEZ1bmN0aW9uICAgICAgIlw8ZnVuY3Rpb25cPiIKKyAgICBzeW4gcmVnaW9uCWphdmFTY3JpcHRGdW5jdGlvbkZvbGQJc3RhcnQ9Ilw8ZnVuY3Rpb25cPi4qW159O10kIiBlbmQ9Il5cejF9LiokIiB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQKKworICAgIHN5biBzeW5jIG1hdGNoIGphdmFTY3JpcHRTeW5jCWdyb3VwaGVyZSBqYXZhU2NyaXB0RnVuY3Rpb25Gb2xkICJcPGZ1bmN0aW9uXD4iCisgICAgc3luIHN5bmMgbWF0Y2ggamF2YVNjcmlwdFN5bmMJZ3JvdXBoZXJlIE5PTkUgIl59IgorCisgICAgc2V0bG9jYWwgZm9sZG1ldGhvZD1zeW50YXgKKyAgICBzZXRsb2NhbCBmb2xkdGV4dD1nZXRsaW5lKHY6Zm9sZHN0YXJ0KQorZWxzZQorICAgIHN5biBrZXl3b3JkCWphdmFTY3JpcHRGdW5jdGlvbiAgICAgIGZ1bmN0aW9uCisgICAgc3luIG1hdGNoCWphdmFTY3JpcHRCcmFjZXMJICAgIlt7fV0iCitlbmRpZgorCitzeW4gc3luYyBmcm9tc3RhcnQKK3N5biBzeW5jIG1heGxpbmVzPTEwMAorCisiIGNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMKK3N5biByZWdpb24gIGphdmFTY3JpcHRQYXJlbiAgICAgICB0cmFuc3BhcmVudCBzdGFydD0iKCIgZW5kPSIpIiBjb250YWlucz1qYXZhU2NyaXB0UGFyZW4samF2YVNjcmlwdENvbW1lbnQsamF2YVNjcmlwdFNwZWNpYWwsamF2YVNjcmlwdFN0cmluZ0QsamF2YVNjcmlwdFN0cmluZ1MsamF2YVNjcmlwdFNwZWNpYWxDaGFyYWN0ZXIsamF2YVNjcmlwdE51bWJlcixqYXZhU2NyaXB0UmVnZXhwU3RyaW5nLGphdmFTY3JpcHRCb29sZWFuLGphdmFTY3JpcHRCcmFjZXMKK3N5biBtYXRjaCAgIGphdmFTY3JQYXJlbkVycm9yICAiKSIKKworaWYgbWFpbl9zeW50YXggPT0gImphdmFzY3JpcHQiCisgIHN5biBzeW5jIGNjb21tZW50IGphdmFTY3JpcHRDb21tZW50CitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9qYXZhc2NyaXB0X3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2phdmFzY3JpcHRfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKyAgSGlMaW5rIGphdmFTY3JpcHRDb21tZW50CSAgICAgQ29tbWVudAorICBIaUxpbmsgamF2YVNjcmlwdExpbmVDb21tZW50CSAgICAgQ29tbWVudAorICBIaUxpbmsgamF2YVNjcmlwdENvbW1lbnRUb2RvCSAgICAgVG9kbworICBIaUxpbmsgamF2YVNjcmlwdFNwZWNpYWwJICAgICBTcGVjaWFsCisgIEhpTGluayBqYXZhU2NyaXB0U3RyaW5nUwkgICAgIFN0cmluZworICBIaUxpbmsgamF2YVNjcmlwdFN0cmluZ0QJICAgICBTdHJpbmcKKyAgSGlMaW5rIGphdmFTY3JpcHRDaGFyYWN0ZXIJICAgICBDaGFyYWN0ZXIKKyAgSGlMaW5rIGphdmFTY3JpcHRTcGVjaWFsQ2hhcmFjdGVyICBqYXZhU2NyaXB0U3BlY2lhbAorICBIaUxpbmsgamF2YVNjcmlwdE51bWJlcgkgICAgIGphdmFTY3JpcHRWYWx1ZQorICBIaUxpbmsgamF2YVNjcmlwdENvbmRpdGlvbmFsCSAgICAgQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGphdmFTY3JpcHRSZXBlYXQJICAgICBSZXBlYXQKKyAgSGlMaW5rIGphdmFTY3JpcHRCcmFuY2gJICAgICBDb25kaXRpb25hbAorICBIaUxpbmsgamF2YVNjcmlwdE9wZXJhdG9yCSAgICAgT3BlcmF0b3IKKyAgSGlMaW5rIGphdmFTY3JpcHRUeXBlCQkgICAgIFR5cGUKKyAgSGlMaW5rIGphdmFTY3JpcHRTdGF0ZW1lbnQJICAgICBTdGF0ZW1lbnQKKyAgSGlMaW5rIGphdmFTY3JpcHRGdW5jdGlvbgkgICAgIEZ1bmN0aW9uCisgIEhpTGluayBqYXZhU2NyaXB0QnJhY2VzCSAgICAgRnVuY3Rpb24KKyAgSGlMaW5rIGphdmFTY3JpcHRFcnJvcgkgICAgIEVycm9yCisgIEhpTGluayBqYXZhU2NyUGFyZW5FcnJvcgkgICAgIGphdmFTY3JpcHRFcnJvcgorICBIaUxpbmsgamF2YVNjcmlwdEJvb2xlYW4JICAgICBCb29sZWFuCisgIEhpTGluayBqYXZhU2NyaXB0UmVnZXhwU3RyaW5nICAgICAgU3RyaW5nCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJqYXZhc2NyaXB0IgoraWYgbWFpbl9zeW50YXggPT0gJ2phdmFzY3JpcHQnCisgIHVubGV0IG1haW5fc3ludGF4CitlbmRpZgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvamVzcy52aW0gYi9ydW50aW1lL3N5bnRheC9qZXNzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDNiYWIzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvamVzcy52aW0KQEAgLTAsMCArMSwxNjEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglKZXNzCisiIE1haW50YWluZXI6CVBhdWwgQmFsZW1lIDxwYmFsZW1lQG1haWwuY29tPgorIiBMYXN0IGNoYW5nZToJU2VwdGVtYmVyIDE0LCAyMDAwCisiIEJhc2VkIG9uIGxpc3AudmltIGJ5IDogRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc2V0IGlza2V5d29yZD00Miw0Myw0NSw0Ny01OCw2MC02Miw2NC05MCw5Ny0xMjIsXworZWxzZQorICBzZXRsb2NhbCBpc2tleXdvcmQ9NDIsNDMsNDUsNDctNTgsNjAtNjIsNjQtOTAsOTctMTIyLF8KK2VuZGlmCisKKyIgTGlzdHMKK3N5biBtYXRjaAlqZXNzU3ltYm9sCSFbXigpJ2AsIjsgXHRdXCshCWNvbnRhaW5lZAorc3luIG1hdGNoCWplc3NCYXJTeW1ib2wJIXwuLlx7LX18IQkJY29udGFpbmVkCitzeW4gcmVnaW9uCWplc3NMaXN0IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBza2lwPSJ8Llx7LX18IiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPWplc3NBdG9tLGplc3NCUUxpc3QsamVzc0NvbmNhdCxqZXNzRGVjbGFyYXRpb24samVzc0xpc3QsamVzc051bWJlcixqZXNzU3ltYm9sLGplc3NTcGVjaWFsLGplc3NGdW5jLGplc3NLZXksamVzc0F0b21NYXJrLGplc3NTdHJpbmcsamVzc0NvbW1lbnQsamVzc0JhclN5bWJvbCxqZXNzQXRvbUJhclN5bWJvbCxqZXNzVmFyCitzeW4gcmVnaW9uCWplc3NCUUxpc3QJbWF0Y2hncm91cD1QcmVQcm9jICAgc3RhcnQ9ImAoIglza2lwPSJ8Llx7LX18IiBtYXRjaGdyb3VwPVByZVByb2MgICBlbmQ9IikiIGNvbnRhaW5zPWplc3NBdG9tLGplc3NCUUxpc3QsamVzc0NvbmNhdCxqZXNzRGVjbGFyYXRpb24samVzc0xpc3QsamVzc051bWJlcixqZXNzU3BlY2lhbCxqZXNzU3ltYm9sLGplc3NGdW5jLGplc3NLZXksamVzc1ZhcixqZXNzQXRvbU1hcmssamVzc1N0cmluZyxqZXNzQ29tbWVudCxqZXNzQmFyU3ltYm9sLGplc3NBdG9tQmFyU3ltYm9sCisKKyIgQXRvbXMKK3N5biBtYXRjaAlqZXNzQXRvbU1hcmsJIiciCitzeW4gbWF0Y2gJamVzc0F0b20JIicoIm1lPWUtMQljb250YWlucz1qZXNzQXRvbU1hcmsJbmV4dGdyb3VwPWplc3NBdG9tTGlzdAorc3luIG1hdGNoCWplc3NBdG9tCSInW14gXHQoKV1cKyIJY29udGFpbnM9amVzc0F0b21NYXJrCitzeW4gbWF0Y2gJamVzc0F0b21CYXJTeW1ib2wJISd8Li5cey19fCEJY29udGFpbnM9amVzc0F0b21NYXJrCitzeW4gcmVnaW9uCWplc3NBdG9tCXN0YXJ0PSsnIisJc2tpcD0rXFwiKyBlbmQ9KyIrCitzeW4gcmVnaW9uCWplc3NBdG9tTGlzdAltYXRjaGdyb3VwPVNwZWNpYWwgc3RhcnQ9IigiCXNraXA9InwuXHstfXwiIG1hdGNoZ3JvdXA9U3BlY2lhbCBlbmQ9IikiCWNvbnRhaW5lZCBjb250YWlucz1qZXNzQXRvbUxpc3QsamVzc0F0b21ObWJyMCxqZXNzU3RyaW5nLGplc3NDb21tZW50LGplc3NBdG9tQmFyU3ltYm9sCitzeW4gbWF0Y2gJamVzc0F0b21ObWJyCSJcPFswLTldXCsiCQkJY29udGFpbmVkCisKKyIgU3RhbmRhcmQgamVzcyBGdW5jdGlvbnMgYW5kIE1hY3Jvcworc3luIGtleXdvcmQgamVzc0Z1bmMgICAgKiAgICsgICAqKgktICAgLyAgIDwgICA+ICAgPD0gID49ICA8PiAgPQorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgbG9uZwkgICAgbG9uZ3AKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGFicwkgICAgYWdlbmRhCSAgICAgIGFuZAorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgYXNzZXJ0CSAgICBhc3NlcnQtc3RyaW5nICAgICAgIGJhZworc3luIGtleXdvcmQgamVzc0Z1bmMgICAgYmF0Y2gJICAgIGJpbmQJICAgICAgYml0LWFuZAorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgYml0LW5vdAkgICAgYml0LW9yCSAgICAgIGJsb2FkCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBic2F2ZQkgICAgYnVpbGQJICAgICAgY2FsbAorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgY2xlYXIJICAgIGNsZWFyLXN0b3JhZ2UgICAgICAgY2xvc2UKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGNvbXBsZW1lbnQkICAgICBjb250ZXh0CSAgICAgIGNvdW50LXF1ZXJ5LXJlc3VsdHMKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGNyZWF0ZSQKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGRlbGV0ZSQJICAgIGRpdgorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgZG8tYmFja3dhcmQtY2hhaW5pbmcJICAgICAgZQorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgZW5naW5lCSAgICBlcQkgICAgICBlcSoKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGV2YWwJICAgIGV2ZW5wCSAgICAgIGV4aXQKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGV4cAkgICAgZXhwbG9kZSQJICAgICAgZXh0ZXJuYWwtYWRkcmVzc3AKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGZhY3Qtc2xvdC12YWx1ZSBmYWN0cwkgICAgICBmZXRjaAorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgZmlyc3QkCSAgICBmbG9hdAkgICAgICBmbG9hdHAKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGZvcmVhY2gJICAgIGZvcm1hdAkgICAgICBnZW5zeW0qCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBnZXQJICAgIGdldC1mYWN0LWR1cGxpY2F0aW9uCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBnZXQtbWVtYmVyCSAgICBnZXQtbXVsdGl0aHJlYWRlZC1pbworc3luIGtleXdvcmQgamVzc0Z1bmMgICAgZ2V0LXJlc2V0LWdsb2JhbHMJICAgICAgZ2V0LXNhbGllbmNlLWV2YWx1YXRpb24KK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGhhbHQJICAgIGlmCSAgICAgIGltcGxvZGUkCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBpbXBvcnQJICAgIGluc2VydCQJICAgICAgaW50ZWdlcgorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgaW50ZWdlcnAJICAgIGludGVyc2VjdGlvbiQgICAgICAgamVzcy12ZXJzaW9uLW51bWJlcgorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgamVzcy12ZXJzaW9uLXN0cmluZwkgICAgICBsZW5ndGgkCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBsZXhlbWVwCSAgICBsaXN0LWZ1bmN0aW9uJCAgICAgIGxvYWQtZmFjdHMKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIGxvYWQtZnVuY3Rpb24gICBsb2FkLXBhY2thZ2UJICAgICAgbG9nCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBsb2cxMAkgICAgbG93Y2FzZQkgICAgICBtYXRjaGVzCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBtYXgJICAgIG1lbWJlciQJICAgICAgbWluCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBtb2QJICAgIG1vZGlmeQkgICAgICBtdWx0aWZpZWxkcAorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgbmVxCSAgICBuZXcJICAgICAgbm90CitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBudGgkCSAgICBudW1iZXJwCSAgICAgIG9kZHAKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIG9wZW4JICAgIG9yCSAgICAgIHBpCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBwcGRlZmZ1bmN0aW9uICAgcHBkZWZnbG9iYWwJICAgICAgZGRwZWZydWxlCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBwcmludG91dAkgICAgcmFuZG9tCSAgICAgIHJlYWQKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHJlYWRsaW5lCSAgICByZXBsYWNlJAkgICAgICByZXNldAorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgcmVzdCQJICAgIHJldHJhY3QJICAgICAgcmV0cmFjdC1zdHJpbmcKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHJldHVybgkgICAgcm91bmQJICAgICAgcnVsZXMKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHJ1bgkgICAgcnVuLXF1ZXJ5CSAgICAgIHJ1bi11bnRpbC1oYWx0CitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBzYXZlLWZhY3RzCSAgICBzZXQJICAgICAgc2V0LWZhY3QtZHVwbGljYXRpb24KK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHNldC1mYWN0b3J5ICAgICBzZXQtbWVtYmVyCSAgICAgIHNldC1tdWx0aXRocmVhZGVkLWlvCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBzZXQtbm9kZS1pbmRleC1oYXNoCSAgICAgIHNldC1yZXNldC1nbG9iYWxzCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBzZXQtc2FsaWVuY2UtZXZhbHVhdGlvbgkgICAgICBzZXQtc3RyYXRlZ3kKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHNldGdlbgkgICAgc2hvdy1kZWZmYWN0cyAgICAgICBzaG93LWRlZnRlbXBsYXRlcworc3luIGtleXdvcmQgamVzc0Z1bmMgICAgc2hvdy1qZXNzLWxpc3RlbmVycwkgICAgICBzb2NrZXQKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHNxcnQJICAgIHN0b3JlCSAgICAgIHN0ci1jYXQKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHN0ci1jb21wYXJlICAgICBzdHItaW5kZXgJICAgICAgc3RyLWxlbmd0aAorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgc3RyaW5ncAkgICAgc3ViLXN0cmluZwkgICAgICBzdWJzZXEkCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICBzdWJzZXRwCSAgICBzeW0tY2F0CSAgICAgIHN5bWJvbHAKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHN5c3RlbQkgICAgdGhyb3cJICAgICAgdGltZQorc3luIGtleXdvcmQgamVzc0Z1bmMgICAgdHJ5CSAgICB1bmRlZmFkdmljZQkgICAgICB1bmRlZmluc3RhbmNlCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICB1bmRlZnJ1bGUJICAgIHVuaW9uJAkgICAgICB1bndhdGNoCitzeW4ga2V5d29yZCBqZXNzRnVuYyAgICB1cGNhc2UJICAgIHZpZXcJICAgICAgd2F0Y2gKK3N5biBrZXl3b3JkIGplc3NGdW5jICAgIHdoaWxlCitzeW4gbWF0Y2ggICBqZXNzRnVuYwkiXDxjW2FkXVwrclw+IgorCisiIGplc3MgS2V5d29yZHMgKG1vZGlmaWVycykKK3N5biBrZXl3b3JkIGplc3NLZXkJICAgIGRlZmdsb2JhbAkgIGRlZmZ1bmN0aW9uCSAgICBkZWZydWxlCitzeW4ga2V5d29yZCBqZXNzS2V5CSAgICBkZWZmYWN0cworc3luIGtleXdvcmQgamVzc0tleQkgICAgZGVmYWR2aWNlCSAgZGVmY2xhc3MJICAgIGRlZmluc3RhbmNlCisKKyIgU3RhbmRhcmQgamVzcyBWYXJpYWJsZXMKK3N5biByZWdpb24JamVzc1ZhcglzdGFydD0iPyIJZW5kPSJbXmEtekEtWjAtOV0ibWU9ZS0xCisKKyIgU3RyaW5ncworc3luIHJlZ2lvbglqZXNzU3RyaW5nCXN0YXJ0PSsiKwlza2lwPStcXCIrIGVuZD0rIisKKworIiBTaGFyZWQgd2l0aCBEZWNsYXJhdGlvbnMsIE1hY3JvcywgRnVuY3Rpb25zCisic3luIGtleXdvcmQJamVzc0RlY2xhcmF0aW9uCisKK3N5biBtYXRjaAlqZXNzTnVtYmVyCSJbMC05XVwrIgorCitzeW4gbWF0Y2gJamVzc1NwZWNpYWwJIlwqW2EtekEtWl9dW2EtekEtWl8wLTktXSpcKiIKK3N5biBtYXRjaAlqZXNzU3BlY2lhbAkhI3xbXigpJ2AsIjsgXHRdXCt8IyEKK3N5biBtYXRjaAlqZXNzU3BlY2lhbAkhI3hbMC05YS1mQS1GXVwrIQorc3luIG1hdGNoCWplc3NTcGVjaWFsCSEjb1swLTddXCshCitzeW4gbWF0Y2gJamVzc1NwZWNpYWwJISNiWzAxXVwrIQorc3luIG1hdGNoCWplc3NTcGVjaWFsCSEjXFxbIC1cfl0hCitzeW4gbWF0Y2gJamVzc1NwZWNpYWwJISNbJzpdW14oKSdgLCI7IFx0XVwrIQorc3luIG1hdGNoCWplc3NTcGVjaWFsCSEjKFteKCknYCwiOyBcdF1cKykhCisKK3N5biBtYXRjaAlqZXNzQ29uY2F0CSJcc1wuXHMiCitzeW50YXggbWF0Y2gJamVzc1BhcmVuRXJyb3IJIikiCisKKyIgQ29tbWVudHMKK3N5biBtYXRjaAlqZXNzQ29tbWVudAkiOy4qJCIKKworIiBzeW5jaHJvbml6YXRpb24KK3N5biBzeW5jIGxpbmVzPTEwMAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9qZXNzX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2plc3Nfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgamVzc0F0b21ObWJyCWplc3NOdW1iZXIKKyAgSGlMaW5rIGplc3NBdG9tTWFyawlqZXNzTWFyaworCisgIEhpTGluayBqZXNzQXRvbQkJSWRlbnRpZmllcgorICBIaUxpbmsgamVzc0F0b21CYXJTeW1ib2wJU3BlY2lhbAorICBIaUxpbmsgamVzc0JhclN5bWJvbAlTcGVjaWFsCisgIEhpTGluayBqZXNzQ29tbWVudAlDb21tZW50CisgIEhpTGluayBqZXNzQ29uY2F0CVN0YXRlbWVudAorICBIaUxpbmsgamVzc0RlY2xhcmF0aW9uCVN0YXRlbWVudAorICBIaUxpbmsgamVzc0Z1bmMJCVN0YXRlbWVudAorICBIaUxpbmsgamVzc0tleQkJVHlwZQorICBIaUxpbmsgamVzc01hcmsJCURlbGltaXRlcgorICBIaUxpbmsgamVzc051bWJlcglOdW1iZXIKKyAgSGlMaW5rIGplc3NQYXJlbkVycm9yCUVycm9yCisgIEhpTGluayBqZXNzU3BlY2lhbAlUeXBlCisgIEhpTGluayBqZXNzU3RyaW5nCVN0cmluZworICBIaUxpbmsgamVzc1ZhcgkJSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJqZXNzIgorCisiIHZpbTogdHM9MTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2pncmFwaC52aW0gYi9ydW50aW1lL3N5bnRheC9qZ3JhcGgudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlY2Q1YWYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9qZ3JhcGgudmltCkBAIC0wLDAgKzEsNTggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglqZ3JhcGggKGdyYXBoIHBsb3R0aW5nIHV0aWxpdHkpCisiIE1haW50YWluZXI6CUpvbmFzIE11bnNpbiBqbXVuc2luQGlraS5maQorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMDQKKyIgdGhpcyBzeW50YXggZmlsZSBpcyBub3QgeWV0IGNvbXBsZXRlCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCisiIGNvbW1lbnRzCitzeW4gcmVnaW9uCWpncmFwaENvbW1lbnQJc3RhcnQ9IihcKiAiIGVuZD0iIFwqKSIKKworc3luIGtleXdvcmQJamdyYXBoQ21kCW5ld2N1cnZlIG5ld2dyYXBoIG1hcmt0eXBlCitzeW4ga2V5d29yZAlqZ3JhcGhUeXBlCXhheGlzIHlheGlzCisKK3N5biBrZXl3b3JkCWpncmFwaFR5cGUJY2lyY2xlIGJveCBkaWFtb25kIHRyaWFuZ2xlIHggY3Jvc3MgZWxsaXBzZQorc3luIGtleXdvcmQJamdyYXBoVHlwZQl4YmFyIHliYXIgdGV4dCBwb3N0c2NyaXB0IGVwcyBub25lIGdlbmVyYWwKKworc3luIGtleXdvcmQJamdyYXBoVHlwZQlzb2xpZCBkb3R0ZWQgZGFzaGVkIGxvbmdkYXNoIGRvdGRhc2ggZG9kb3RkYXNoCitzeW4ga2V5d29yZAlqZ3JhcGhUeXBlCWRvdGRvdGRhc2hkYXNoIHB0cworCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90LiAtIG9yIG5vIC0KK3N5biBtYXRjaCAgamdyYXBoTnVtYmVyCQkgIlw8LVw9XGRcK1w+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QgLSBvciBubyAtCitzeW4gbWF0Y2ggIGpncmFwaE51bWJlcgkJICJcPC1cPVxkXCtcLlxkKlw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCAtIG9yIG5vIC0KK3N5biBtYXRjaCAgamdyYXBoTnVtYmVyCQkgIlwtXD1cLlxkXCtcPiIKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9qZ3JhcGhfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfamdyYXBoX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGpncmFwaENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgamdyYXBoQ21kCUlkZW50aWZpZXIKKyAgSGlMaW5rIGpncmFwaFR5cGUJVHlwZQorICBIaUxpbmsgamdyYXBoTnVtYmVyCU51bWJlcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImpncmFwaCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2pwcm9wZXJ0aWVzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2pwcm9wZXJ0aWVzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzQzYmQyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvanByb3BlcnRpZXMudmltCkBAIC0wLDAgKzEsMTQ4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJSmF2YSBQcm9wZXJ0aWVzIHJlc291cmNlIGZpbGUgKCoucHJvcGVydGllc1tfKl0pCisiIE1haW50YWluZXI6CVNpbW9uIEJhbGR3aW4gPHNpbW9uYkBzY28uY29tPgorIiBMYXN0IGNoYW5nZToJMjZ0aCBNYXIgMjAwMAorCisiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyIgT3B0aW9uYWwgYW5kIHR1bmluZyB2YXJpYWJsZXM6CisKKyIganByb3BlcnRpZXNfbGluZXMKKyIgLS0tLS0tLS0tLS0tLS0tLS0KKyIgICBTZXQgYSB2YWx1ZSBmb3IgdGhlIHN5bmMgYmxvY2sgdGhhdCB3ZSB1c2UgdG8gZmluZCBsb25nIGNvbnRpbnVhdGlvbiBsaW5lcworIiAgIGluIHByb3BlcnRpZXM7IHRoZSB2YWx1ZSBpcyBhbHJlYWR5IGxhcmdlIC0gaWYgeW91IGhhdmUgbGFyZ2VyIGNvbnRpbnVhdGlvbgorIiAgIHNldHMgeW91IG1heSBuZWVkIHRvIGluY3JlYXNlIGl0IGZ1cnRoZXIgLSBpZiBub3QsIGFuZCB5b3UgZmluZCBlZGl0aW5nIGlzCisiICAgc2xvdywgcmVkdWNlIHRoZSB2YWx1ZSBvZiBqcHJvcGVydGllc19saW5lcy4KK2lmICFleGlzdHMoImpwcm9wZXJ0aWVzX2xpbmVzIikKKwlsZXQganByb3BlcnRpZXNfbGluZXMgPSAyNTYKK2VuZGlmCisKKyIganByb3BlcnRpZXNfc3RyaWN0X3N5bnRheAorIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiICAgTW9zdCBwcm9wZXJ0aWVzIGZpbGVzIGFzc2lnbiB2YWx1ZXMgd2l0aCAiaWQ9dmFsdWUiIG9yICJpZDp2YWx1ZSIuICBCdXQsCisiICAgc3RyaWN0bHksIHRoZSBKYXZhIHByb3BlcnRpZXMgcGFyc2VyIGFsc28gYWxsb3dzICJpZCB2YWx1ZSIsICJpZCIsIGFuZAorIiAgIGV2ZW4gbW9yZSBiaXphcnJlbHkgIj12YWx1ZSIsICI6dmFsdWUiLCAiIHZhbHVlIiwgYW5kIHNvIG9uLiAgVGhlc2UgbGF0dGVyCisiICAgb25lcywgaG93ZXZlciwgYXJlIHJhcmVseSB1c2VkLCBpZiBldmVyLCBhbmQgaGFuZGxpbmcgdGhlbSBpbiB0aGUgaGlnaC0KKyIgICBsaWdodGluZyBjYW4gb2JzY3VyZSBlcnJvcnMgaW4gdGhlIG1vcmUgbm9ybWFsIGZvcm1zLiAgU28sIGluIHByYWN0aWNlCisiICAgd2UgdGFrZSBzcGVjaWFsIGVmZm9ydHMgdG8gcGljayBvdXQgb25seSAiaWQ9dmFsdWUiIGFuZCAiaWQ6dmFsdWUiIGZvcm1zCisiICAgYnkgZGVmYXVsdC4gIElmIHlvdSB3YW50IHN0cmljdCBjb21wbGlhbmNlLCBzZXQganByb3BlcnRpZXNfc3RyaWN0X3N5bnRheAorIiAgIHRvIG5vbi16ZXJvIChhbmQgZ29vZCBsdWNrKS4KK2lmICFleGlzdHMoImpwcm9wZXJ0aWVzX3N0cmljdF9zeW50YXgiKQorCWxldCBqcHJvcGVydGllc19zdHJpY3Rfc3ludGF4ID0gMAorZW5kaWYKKworIiBqcHJvcGVydGllc19zaG93X21lc3NhZ2VzCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgICBJZiB0aGlzIHByb3BlcnRpZXMgZmlsZSBjb250YWlucyBtZXNzYWdlcyBmb3IgdXNlIHdpdGggTWVzc2FnZUZvcm1hdCwKKyIgICBzZXR0aW5nIGEgbm9uLXplcm8gdmFsdWUgd2lsbCBoaWdobGlnaHQgdGhlbS4gIE1lc3NhZ2VzIGFyZSBvZiB0aGUgZm9ybQorIiAgICJ7Li4ufSIuICBIaWdobGlnaHRpbmcgZG9lc24ndCBnbyB0byB0aGUgcGFpbnMgb2YgcGlja2luZyBhcGFydCB3aGF0IGlzCisiICAgaW4gdGhlIGZvcm1hdCBpdHNlbGYgLSBqdXN0IHRoZSBiYXNpY3MgZm9yIG5vdy4KK2lmICFleGlzdHMoImpwcm9wZXJ0aWVzX3Nob3dfbWVzc2FnZXMiKQorCWxldCBqcHJvcGVydGllc19zaG93X21lc3NhZ2VzID0gMAorZW5kaWYKKworIiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgc3dpdGNoIGNhc2Ugc2Vuc2l0aXZpdHkgb2ZmCitzeW4gY2FzZSBpZ25vcmUKKworIiBzZXQgdGhlIGJsb2NrCitleGVjICJzeW4gc3luYyBsaW5lcz0iIC4ganByb3BlcnRpZXNfbGluZXMKKworIiBzd2l0Y2ggYmV0d2VlbiAnbm9ybWFsJyBhbmQgJ3N0cmljdCcgc3ludGF4CitpZiBqcHJvcGVydGllc19zdHJpY3Rfc3ludGF4ICE9IDAKKworCSIgYW4gYXNzaWdubWVudCBpcyBwcmV0dHkgbXVjaCBhbnkgbm9uLWVtcHR5IGxpbmUgYXQgdGhpcyBwb2ludCwKKwkiIHRyeWluZyB0byBub3QgdGhpbmsgYWJvdXQgY29udGludWF0aW9uIGxpbmVzCisJc3luIG1hdGNoICAganByb3BlcnRpZXNBc3NpZ25tZW50CSJeXHMqW15bOnNwYWNlOl1dXCsuKiQiIGNvbnRhaW5zPWpwcm9wZXJ0aWVzSWRlbnRpZmllcgorCisJIiBhbiBpZGVudGlmaWVyIGlzIGFueXRoaW5nIG5vdCBhIHNwYWNlIGNoYXJhY3RlciwgcHJldHR5IG11Y2g7IGl0J3MKKwkiIGZvbGxvd2VkIGJ5ID0gb3IgOiwgb3Igc3BhY2Ugb3IgdGFiLiAgT3IgZW5kLW9mLWxpbmUuCisJc3luIG1hdGNoICAganByb3BlcnRpZXNJZGVudGlmaWVyCSJbXj06WzpzcGFjZTpdXSoiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9anByb3BlcnRpZXNEZWxpbWl0ZXIKKworCSIgdHJlYXQgdGhlIGRlbGltaXRlciBzcGVjaWFsbHkgdG8gZ2V0IGNvbG91cnMgcmlnaHQKKwlzeW4gbWF0Y2ggICBqcHJvcGVydGllc0RlbGltaXRlcgkiXHMqWz06WzpzcGFjZTpdXVxzKiIgY29udGFpbmVkIG5leHRncm91cD1qcHJvcGVydGllc1N0cmluZworCisJIiBjYXRjaCB0aGUgYml6YXJyZSBjYXNlIG9mIG5vIGlkZW50aWZpZXI7IGEgc3BlY2lhbCBjYXNlIG9mIGRlbGltaXRlcgorCXN5biBtYXRjaCAgIGpwcm9wZXJ0aWVzRW1wdHlJZGVudGlmaWVyCSJeXHMqWz06XVxzKiIgbmV4dGdyb3VwPWpwcm9wZXJ0aWVzU3RyaW5nCitlbHNlCisKKwkiIGhlcmUgYW4gYXNzaWdubWVudCBpcyBpZD12YWx1ZSBvciBpZDp2YWx1ZSwgYW5kIHdlIGNvbnZlbmllbnRseQorCSIgaWdub3JlIGNvbnRpbnVhdGlvbiBsaW5lcyBmb3IgdGhlIHByZXNlbnQKKwlzeW4gbWF0Y2ggICBqcHJvcGVydGllc0Fzc2lnbm1lbnQJIl5ccypbXj06WzpzcGFjZTpdXVwrXHMqWz06XS4qJCIgY29udGFpbnM9anByb3BlcnRpZXNJZGVudGlmaWVyCisKKwkiIGFuIGlkZW50aWZpZXIgaXMgYW55dGhpbmcgbm90IGEgc3BhY2UgY2hhcmFjdGVyLCBwcmV0dHkgbXVjaDsgaXQncworCSIgYWx3YXlzIGZvbGxvd2VkIGJ5ID0gb3IgOiwgYW5kIHdlIGZpbmQgaXQgaW4gYW4gYXNzaWdubWVudAorCXN5biBtYXRjaCAgIGpwcm9wZXJ0aWVzSWRlbnRpZmllcgkiW149Ols6c3BhY2U6XV1cKyIgY29udGFpbmVkIG5leHRncm91cD1qcHJvcGVydGllc0RlbGltaXRlcgorCisJIiB0cmVhdCB0aGUgZGVsaW1pdGVyIHNwZWNpYWxseSB0byBnZXQgY29sb3VycyByaWdodDsgdGhpcyB0aW1lIHRoZQorCSIgZGVsaW1pdGVyIG11c3QgY29udGFpbiA9IG9yIDoKKwlzeW4gbWF0Y2ggICBqcHJvcGVydGllc0RlbGltaXRlcgkiXHMqWz06XVxzKiIgY29udGFpbmVkIG5leHRncm91cD1qcHJvcGVydGllc1N0cmluZworZW5kaWYKKworIiBhIGRlZmluaXRpb24gaXMgYWxsIHVwIHRvIHRoZSBsYXN0IG5vbi1cLXRlcm1pbmF0ZWQgbGluZTsgc3RyaWN0bHksIEphdmEKKyIgcHJvcGVydGllcyB0ZW5kIHRvIGlnbm9yZSBsZWFkaW5nIHdoaXRlc3BhY2Ugb24gYWxsIGxpbmVzIG9mIGEgbXVsdGktbGluZQorIiBkZWZpbml0aW9uLCBidXQgd2UgZG9uJ3QgbG9vayBmb3IgdGhhdCBoZXJlIChiZWNhdXNlIGl0J3MgYSBtYWpvciBoYXNzbGUpCitzeW4gcmVnaW9uICBqcHJvcGVydGllc1N0cmluZwkJc3RhcnQ9IiIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5lZCBjb250YWlucz1qcHJvcGVydGllc1NwZWNpYWxDaGFyLGpwcm9wZXJ0aWVzRXJyb3IsanByb3BlcnRpZXNTcGVjaWFsCisKKyIgey4uLn0gaXMgYSBKYXZhIE1lc3NhZ2UgZm9ybWF0dGVyIC0gYWRkIGEgbWluaW1hbCByZWNvZ25pdGlvbiBvZiB0aGVzZQorIiBpZiByZXF1aXJlZAoraWYganByb3BlcnRpZXNfc2hvd19tZXNzYWdlcyAhPSAwCisJc3luIG1hdGNoICAganByb3BlcnRpZXNTcGVjaWFsCQkie1tefV0qfVx7LTEsXH0iIGNvbnRhaW5lZAorCXN5biBtYXRjaCAgIGpwcm9wZXJ0aWVzU3BlY2lhbAkJIid7IiBjb250YWluZWQKKwlzeW4gbWF0Y2ggICBqcHJvcGVydGllc1NwZWNpYWwJCSInJyIgY29udGFpbmVkCitlbmRpZgorCisiIFx1QUJDRCBhcmUgdW5pY29kZSBzcGVjaWFsIGNoYXJhY3RlcnMKK3N5biBtYXRjaCAgIGpwcm9wZXJ0aWVzU3BlY2lhbENoYXIJIlxcdVx4XHsxLDR9IiBjb250YWluZWQKKworIiAuLi5hbmQgXHUgbm90IGZvbGxvd2VkIGJ5IGEgaGV4IGRpZ2l0IGlzIGFuIGVycm9yLCB0aG91Z2ggdGhlIHByb3BlcnRpZXMKKyIgZmlsZSBwYXJzZXIgd29uJ3QgaXNzdWUgYW4gZXJyb3Igb24gaXQsIGp1c3Qgc2V0IHNvbWV0aGluZyB3YWNreSBsaWtlIHplcm8KK3N5biBtYXRjaCAgIGpwcm9wZXJ0aWVzRXJyb3IJCSJcXHVcWFx7MSw0fSIgY29udGFpbmVkCitzeW4gbWF0Y2ggICBqcHJvcGVydGllc0Vycm9yCQkiXFx1JCJtZT1lLTEgY29udGFpbmVkCisKKyIgb3RoZXIgdGhpbmdzIG9mIG5vdGUgYXJlIHRoZSBcdCxyLG4sXCwgYW5kIHRoZSBcIHByZWNlZGluZyBsaW5lIGVuZAorc3luIG1hdGNoICAganByb3BlcnRpZXNTcGVjaWFsCQkiXFxbdHJuXFxdIiBjb250YWluZWQKK3N5biBtYXRjaCAgIGpwcm9wZXJ0aWVzU3BlY2lhbAkJIlxcXHMiIGNvbnRhaW5lZAorc3luIG1hdGNoICAganByb3BlcnRpZXNTcGVjaWFsCQkiXFwkIiBjb250YWluZWQKKworIiBjb21tZW50cyBiZWdpbiB3aXRoICMgb3IgISwgYW5kIHBlcnNpc3QgdG8gZW5kIG9mIGxpbmU7IHB1dCBoZXJlIHNpbmNlCisiIHRoZXkgbWF5IGhhdmUgYmVlbiBjYXVnaHQgYnkgcGF0dGVybnMgYWJvdmUgdXMKK3N5biBtYXRjaCAgIGpwcm9wZXJ0aWVzQ29tbWVudAkJIl5ccypbIyFdLiokIiBjb250YWlucz1qcHJvcGVydGllc1RPRE8KK3N5biBrZXl3b3JkIGpwcm9wZXJ0aWVzVG9kbwkJVE9ETyBGSVhNRSBYWFggY29udGFpbmVkCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2pwcm9wZXJ0aWVzX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2pwcm9wZXJ0aWVzX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKwlIaUxpbmsganByb3BlcnRpZXNDb21tZW50CUNvbW1lbnQKKwlIaUxpbmsganByb3BlcnRpZXNUb2RvCQlUb2RvCisJSGlMaW5rIGpwcm9wZXJ0aWVzSWRlbnRpZmllcglJZGVudGlmaWVyCisJSGlMaW5rIGpwcm9wZXJ0aWVzU3RyaW5nCVN0cmluZworCUhpTGluayBqcHJvcGVydGllc0V4dGVuZFN0cmluZwlTdHJpbmcKKwlIaUxpbmsganByb3BlcnRpZXNDaGFyYWN0ZXIJQ2hhcmFjdGVyCisJSGlMaW5rIGpwcm9wZXJ0aWVzU3BlY2lhbAlTcGVjaWFsCisJSGlMaW5rIGpwcm9wZXJ0aWVzU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKKwlIaUxpbmsganByb3BlcnRpZXNFcnJvcglFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJqcHJvcGVydGllcyIKKworIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvanNwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2pzcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIzYzhlMwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2pzcC52aW0KQEAgLTAsMCArMSw4NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUpTUCAoSmF2YSBTZXJ2ZXIgUGFnZXMpCisiIE1haW50YWluZXI6CVJhZmFlbCBHYXJjaWEtU3VhcmV6IDxyZ2FyY2lhc3VhcmV6QGZyZWUuZnI+CisiIFVSTDoJCWh0dHA6Ly9yZ2FyY2lhc3VhcmV6LmZyZWUuZnIvdmltL3N5bnRheC9qc3AudmltCisiIExhc3QgY2hhbmdlOgkyMDA0IEZlYiAwMgorIiBDcmVkaXRzIDogUGF0Y2ggYnkgRGFycmVuIEdyZWF2ZXMgKHJlY29nbml6ZXMgPGpzcDouLi4+IHRhZ3MpCisiCSAgICBQYXRjaCBieSBUaG9tYXMgS2ltcHRvbiAocmVjb2duaXplcyBqc3BFeHByIGluc2lkZSBIVE1MIHRhZ3MpCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAnanNwJworZW5kaWYKKworIiBTb3VyY2UgSFRNTCBzeW50YXgKK2lmIHZlcnNpb24gPCA2MDAKKyAgc291cmNlIDxzZmlsZT46cDpoL2h0bWwudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9odG1sLnZpbQorZW5kaWYKK3VubGV0IGI6Y3VycmVudF9zeW50YXgKKworIiBOZXh0IHN5bnRheCBpdGVtcyBhcmUgY2FzZS1zZW5zaXRpdmUKK3N5biBjYXNlIG1hdGNoCisKKyIgSW5jbHVkZSBKYXZhIHN5bnRheAorc3luIGluY2x1ZGUgQGpzcEphdmEgPHNmaWxlPjpwOmgvamF2YS52aW0KKworc3luIHJlZ2lvbiBqc3BTY3JpcHRsZXQgbWF0Y2hncm91cD1qc3BUYWcgc3RhcnQ9LzwlLyAga2VlcGVuZCBlbmQ9LyU+LyBjb250YWlucz1AanNwSmF2YQorc3luIHJlZ2lvbiBqc3BDb21tZW50CQkJICBzdGFydD0vPCUtLS8JICAgICAgZW5kPS8tLSU+Lworc3luIHJlZ2lvbiBqc3BEZWNsCW1hdGNoZ3JvdXA9anNwVGFnIHN0YXJ0PS88JSEvIGtlZXBlbmQgZW5kPS8lPi8gY29udGFpbnM9QGpzcEphdmEKK3N5biByZWdpb24ganNwRXhwcgltYXRjaGdyb3VwPWpzcFRhZyBzdGFydD0vPCU9LyBrZWVwZW5kIGVuZD0vJT4vIGNvbnRhaW5zPUBqc3BKYXZhCitzeW4gcmVnaW9uIGpzcERpcmVjdGl2ZQkJCSAgc3RhcnQ9LzwlQC8JICAgICAgZW5kPS8lPi8gY29udGFpbnM9aHRtbFN0cmluZyxqc3BEaXJOYW1lLGpzcERpckFyZworCitzeW4ga2V5d29yZCBqc3BEaXJOYW1lIGNvbnRhaW5lZCBpbmNsdWRlIHBhZ2UgdGFnbGliCitzeW4ga2V5d29yZCBqc3BEaXJBcmcgY29udGFpbmVkIGZpbGUgdXJpIHByZWZpeCBsYW5ndWFnZSBleHRlbmRzIGltcG9ydCBzZXNzaW9uIGJ1ZmZlciBhdXRvRmx1c2gKK3N5biBrZXl3b3JkIGpzcERpckFyZyBjb250YWluZWQgaXNUaHJlYWRTYWZlIGluZm8gZXJyb3JQYWdlIGNvbnRlbnRUeXBlIGlzRXJyb3JQYWdlCitzeW4gcmVnaW9uIGpzcENvbW1hbmQJCQkgIHN0YXJ0PS88anNwOi8gc3RhcnQ9LzxcL2pzcDovIGtlZXBlbmQgZW5kPS8+LyBlbmQ9L1wvPi8gY29udGFpbnM9aHRtbFN0cmluZyxqc3BDb21tYW5kTmFtZSxqc3BDb21tYW5kQXJnCitzeW4ga2V5d29yZCBqc3BDb21tYW5kTmFtZSBjb250YWluZWQgaW5jbHVkZSBmb3J3YXJkIGdldFByb3BlcnR5IHBsdWdpbiBzZXRQcm9wZXJ0eSB1c2VCZWFuIHBhcmFtIHBhcmFtcyBmYWxsYmFjaworc3luIGtleXdvcmQganNwQ29tbWFuZEFyZyBjb250YWluZWQgaWQgc2NvcGUgY2xhc3MgdHlwZSBiZWFuTmFtZSBwYWdlIGZsdXNoIG5hbWUgdmFsdWUgcHJvcGVydHkKK3N5biBrZXl3b3JkIGpzcENvbW1hbmRBcmcgY29udGFpbmVkIGNvZGUgY29kZWJhc2UgbmFtZSBhcmNoaXZlIGFsaWduIGhlaWdodAorc3luIGtleXdvcmQganNwQ29tbWFuZEFyZyBjb250YWluZWQgd2lkdGggaHNwYWNlIHZzcGFjZSBqcmV2ZXJzaW9uIG5zcGx1Z2ludXJsIGllcGx1Z2ludXJsCisKKyIgUmVkZWZpbmUgaHRtbFRhZyBzbyB0aGF0IGl0IGNhbiBjb250YWluIGpzcEV4cHIKK3N5biByZWdpb24gaHRtbFRhZyBzdGFydD0rPFteLyVdKyBlbmQ9Kz4rIGNvbnRhaW5zPWh0bWxUYWdOLGh0bWxTdHJpbmcsaHRtbEFyZyxodG1sVmFsdWUsaHRtbFRhZ0Vycm9yLGh0bWxFdmVudCxodG1sQ3NzRGVmaW5pdGlvbixAaHRtbFByZXByb2MsQGh0bWxBcmdDbHVzdGVyLGpzcEV4cHIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfanNwX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2pzcF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorICAiIGphdmEudmltIGhhcyByZWRlZmluZWQgaHRtbENvbW1lbnQgaGlnaGxpZ2h0aW5nCisgIEhpTGluayBodG1sQ29tbWVudAkgQ29tbWVudAorICBIaUxpbmsgaHRtbENvbW1lbnRQYXJ0IENvbW1lbnQKKyAgIiBCZSBjb25zaXN0ZW50IHdpdGggaHRtbCBoaWdobGlnaHQgc2V0dGluZ3MKKyAgSGlMaW5rIGpzcENvbW1lbnQJIGh0bWxDb21tZW50CisgIEhpTGluayBqc3BUYWcJCSBodG1sVGFnCisgIEhpTGluayBqc3BEaXJlY3RpdmUJIGpzcFRhZworICBIaUxpbmsganNwRGlyTmFtZQkgaHRtbFRhZ05hbWUKKyAgSGlMaW5rIGpzcERpckFyZwkgaHRtbEFyZworICBIaUxpbmsganNwQ29tbWFuZAkganNwVGFnCisgIEhpTGluayBqc3BDb21tYW5kTmFtZSAgaHRtbFRhZ05hbWUKKyAgSGlMaW5rIGpzcENvbW1hbmRBcmcJIGh0bWxBcmcKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2lmIG1haW5fc3ludGF4ID09ICdqc3AnCisgIHVubGV0IG1haW5fc3ludGF4CitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJqc3AiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9raXgudmltIGIvcnVudGltZS9zeW50YXgva2l4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmRjMzI1Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgva2l4LnZpbQpAQCAtMCwwICsxLDE4MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUtpeFRhcnQgOTUsIEtpeDIwMDEgV2luZG93cyBzY3JpcHQgbGFuZ3VhZ2UgaHR0cDovL2tpeHRhcnQub3JnLworIiBNYWludGFpbmVyOglSaWNoYXJkIEhvd2FydGggPHJob3dhcnRoQHNnYi5jby51az4KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisiIFVSTDoJCWh0dHA6Ly93d3cuaG93c29mdC5kZW1vbi5jby51ay8KKworIiBLaXhUYXJ0IGZpbGVzIGlkZW50aWZpZWQgYnkgKi5raXggZXh0ZW5zaW9uLgorCisiIEFtZW5kbWVudCBIaXN0b3J5OgorIiAyNiBBcHJpbCAyMDAxOiBSTUgKKyIgICAgUmVtb3ZlZCBkZXZlbG9wbWVudCBjb21tZW50cyBmcm9tIGRpc3RybyB2ZXJzaW9uCisiICAgIFJlbmFtZWQgIktpeCoiIHRvICJraXgqIiBmb3IgY29uc2lzdGFuY3kKKyIgICAgQ2hhbmdlcyBtYWRlIGluIHByZXBlcmF0aW9uIGZvciBWSU0gdmVyc2lvbiA1LjgvNi4wMAorCisiIFRPRE86CisiCUhhbmRsZSBhcnJheXMgaGlnaGxpZ2h0aW5nCisiCUhhbmRsZSBvYmplY3QgaGlnaGxpZ2h0aW5nCisiIFRoZSBuZXh0IHR3byBtYXkgbm90IGJlIHBvc3NpYmxlOgorIglXb3JrIG91dCBob3cgdG8gZXJyb3IgdG9vIG1hbnkgIigiLCBpLmUuICgoKSBzaG91bGQgYmUgYW4gZXJyb3IuCisiCVNpbWlsYXJseSwgImlmIiB3aXRob3V0ICJlbmRpZiIgYW5kIHNpbWlsYXIgY29uc3RydWN0cyBzaG91bGQgZXJyb3IuCisKKyIgQ2xlYXIgbGVnYWN5IHN5bnRheCBydWxlcyBmb3IgdmVyc2lvbiA1LngsIGV4aXQgaWYgYWxyZWFkeSBwcm9jZXNzZWQgZm9yIHZlcnNpb24gNisKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW4gY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKK3N5biBrZXl3b3JkIGtpeFRPRE8JCVRPRE8gRklYIFhYWCBjb250YWluZWQKKworIiBDYXNlIGluc2Vuc2l0aXZlIGxhbmd1YWdlLgorc3luIGNhc2UgaWdub3JlCisKKyIgS2l4IHN0YXRlbWVudHMKK3N5biBtYXRjaCAgIGtpeFN0YXRlbWVudAkiPyIKK3N5biBrZXl3b3JkIGtpeFN0YXRlbWVudAliZWVwIGJpZyBicmVhaworc3luIGtleXdvcmQga2l4U3RhdGVtZW50CWNhbGwgY2QgY2xzIGNvbG9yIGNvb2tpZTEgY29weQorc3luIGtleXdvcmQga2l4U3RhdGVtZW50CWRlbCBkaW0gZGlzcGxheQorc3luIGtleXdvcmQga2l4U3RhdGVtZW50CWV4aXQKK3N5biBrZXl3b3JkIGtpeFN0YXRlbWVudAlmbHVzaGtiCitzeW4ga2V5d29yZCBraXhTdGF0ZW1lbnQJZ2V0IGdldHMgZ2xvYmFsIGdvIGdvc3ViIGdvdG8KK3N5biBrZXl3b3JkIGtpeFN0YXRlbWVudAltZAorc3luIGtleXdvcmQga2l4U3RhdGVtZW50CXBhc3N3b3JkIHBsYXkKK3N5biBrZXl3b3JkIGtpeFN0YXRlbWVudAlxdWl0CitzeW4ga2V5d29yZCBraXhTdGF0ZW1lbnQJcmQgcmV0dXJuIHJ1bgorc3luIGtleXdvcmQga2l4U3RhdGVtZW50CXNldCBzZXRsIHNldG0gc2V0dGltZSBzaGVsbCBzbGVlcCBzbWFsbAorc3luIGtleXdvcmQga2l4U3RhdGVtZW50CXVzZQorCisiIEtpeDIwMDEKK3N5biBrZXl3b3JkIGtpeFN0YXRlbWVudAlkZWJ1ZyBmdW5jdGlvbiBlbmRmdW5jdGlvbiByZWRpbQorCisiIFNpbXBsZSB2YXJpYWJsZXMKK3N5biBtYXRjaCAgIGtpeE5vdFZhcgkJIlwkXCRcfEBAXHwlJSIgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorc3luIG1hdGNoICAga2l4TG9jYWxWYXIJCSJcJFx3XCsiCitzeW4gbWF0Y2ggICBraXhNYWNybwkJIkBcd1wrIgorc3luIG1hdGNoICAga2l4RW52VmFyCQkiJVx3XCsiCisKKyIgRGVzdGluYXRpb24gbGFiZWxzCitzeW4gbWF0Y2ggICBraXhMYWJlbAkJIjpcd1wrXD4iCisKKyIgSWRlbnRpZnkgc3RyaW5ncywgdHJhcCB1bnRlcm1pbmF0ZWQgc3RyaW5ncworc3luIG1hdGNoICAga2l4U3RyaW5nRXJyb3IgICAgICArIi4qXHwnLiorCitzeW4gcmVnaW9uICBraXhEb3VibGVTdHJpbmcJb25lbGluZSBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPWtpeExvY2FsVmFyLGtpeE1hY3JvLGtpeEVudlZhcixraXhOb3RWYXIKK3N5biByZWdpb24gIGtpeFNpbmdsZVN0cmluZwlvbmVsaW5lIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysgY29udGFpbnM9a2l4TG9jYWxWYXIsa2l4TWFjcm8sa2l4RW52VmFyLGtpeE5vdFZhcgorCisiIE9wZXJhdG9ycworc3luIG1hdGNoICAga2l4T3BlcmF0b3IJCSIrXHwtXHxcKlx8L1x8PVx8Jlx8fCIKK3N5biBrZXl3b3JkIGtpeE9wZXJhdG9yCQlhbmQgb3IKKyIgS2l4MjAwMQorc3luIG1hdGNoICAga2l4T3BlcmF0b3IJCSI9PSIKK3N5biBrZXl3b3JkIGtpeE9wZXJhdG9yCQlub3QKKworIiBOdW1lcmljIGNvbnN0YW50cworc3luIG1hdGNoICAga2l4SW50ZWdlcgkJIi1cPVw8XGRcK1w+IiBjb250YWlucz1OT05FCitzeW4gbWF0Y2ggICBraXhGbG9hdAkJIi1cPVwuXGRcK1w+XHwtXD1cPFxkXCtcLlxkXCtcPiIgY29udGFpbnM9Tk9ORQorCisiIEhleCBudW1lcmljIGNvbnN0YW50cworc3luIG1hdGNoICAga2l4SGV4CQkiXCZceFwrXD4iIGNvbnRhaW5zPU5PTkUKKworIiBPdGhlciBjb250YW50cworIiBLaXgyMDAxCitzeW4ga2V5d29yZCBraXhDb25zdGFudAkJb24gb2ZmCisKKyIgQ29tbWVudHMKK3N5biBtYXRjaCAgIGtpeENvbW1lbnQJCSI7LiokIiBjb250YWlucz1raXhUT0RPCisKKyIgVHJhcCB1bm1hdGNoZWQgcGFyZW50aGVzaXMKK3N5biBtYXRjaCAgIGtpeFBhcmVuQ2xvc2VFcnJvcgkiKSIKK3N5biByZWdpb24gIGtpeFBhcmVuCQlvbmVsaW5lIHRyYW5zcGFyZW50IHN0YXJ0PSIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxraXhQYXJlbkNsb3NlRXJyb3IKKworIiBGdW5jdGlvbnMgKEJ1aWx0aW4gKyBVREYpCitzeW4gbWF0Y2ggICBraXhGdW5jdGlvbgkJIlx3XCsoImhlPWUtMSxtZT1lLTEgY29udGFpbnM9QUxMCisKKyIgVHJhcCB1bm1hdGNoZWQgYnJhY2tldHMKK3N5biBtYXRjaCAgIGtpeEJyYWNrQ2xvc2VFcnJvcgkiXF0iCitzeW4gcmVnaW9uICBraXhCcmFjawkJdHJhbnNwYXJlbnQgc3RhcnQ9IlxbIiBlbmQ9IlxdIiBjb250YWlucz1BTExCVVQsa2l4QnJhY2tDbG9zZUVycm9yCisKKyIgQ2x1c3RlcnMgZm9yIEFMTEJVVCBzaG9ydGhhbmQKK3N5biBjbHVzdGVyIGtpeElmQnV0CQljb250YWlucz1raXhJZkVycm9yLGtpeFNlbGVjdE9LLGtpeERvT0ssa2l4V2hpbGVPSyxraXhGb3JFYWNoT0ssa2l4Rm9yTmV4dE9LCitzeW4gY2x1c3RlciBraXhTZWxlY3RCdXQJY29udGFpbnM9a2l4U2VsZWN0RXJyb3Isa2l4SWZPSyxraXhEb09LLGtpeFdoaWxlT0ssa2l4Rm9yRWFjaE9LLGtpeEZvck5leHRPSworc3luIGNsdXN0ZXIga2l4RG9CdXQJCWNvbnRhaW5zPWtpeERvRXJyb3Isa2l4U2VsZWN0T0ssa2l4SWZPSyxraXhXaGlsZU9LLGtpeEZvckVhY2hPSyxraXhGb3JOZXh0T0sKK3N5biBjbHVzdGVyIGtpeFdoaWxlQnV0CQljb250YWlucz1raXhXaGlsZUVycm9yLGtpeFNlbGVjdE9LLGtpeElmT0ssa2l4RG9PSyxraXhGb3JFYWNoT0ssa2l4Rm9yTmV4dE9LCitzeW4gY2x1c3RlciBraXhGb3JFYWNoQnV0CWNvbnRhaW5zPWtpeEZvckVhY2hFcnJvcixraXhTZWxlY3RPSyxraXhJZk9LLGtpeERvT0ssa2l4Rm9yTmV4dE9LLGtpeFdoaWxlT0sKK3N5biBjbHVzdGVyIGtpeEZvck5leHRCdXQJY29udGFpbnM9a2l4Rm9yTmV4dEVycm9yLGtpeFNlbGVjdE9LLGtpeElmT0ssa2l4RG9PSyxraXhGb3JFYWNoT0ssa2l4V2hpbGVPSworIiBDb25kdGlvbmFsIGNvbnN0cnVjdCBlcnJvcnMuCitzeW4gbWF0Y2ggICBraXhJZkVycm9yCQkiXDxpZlw+XHxcPGVsc2VcPlx8XDxlbmRpZlw+Igorc3luIG1hdGNoICAga2l4SWZPSwkJY29udGFpbmVkICJcPGlmXD5cfFw8ZWxzZVw+XHxcPGVuZGlmXD4iCitzeW4gcmVnaW9uICBraXhJZgkJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1raXhJZk9LIHN0YXJ0PSJcPGlmXD4iIGVuZD0iXDxlbmRpZlw+IiBjb250YWlucz1BTExCVVQsQGtpeElmQnV0CitzeW4gbWF0Y2ggICBraXhTZWxlY3RFcnJvcgkiXDxzZWxlY3RcPlx8XDxjYXNlXD5cfFw8ZW5kc2VsZWN0XD4iCitzeW4gbWF0Y2ggICBraXhTZWxlY3RPSwkJY29udGFpbmVkICJcPHNlbGVjdFw+XHxcPGNhc2VcPlx8XDxlbmRzZWxlY3RcPiIKK3N5biByZWdpb24gIGtpeFNlbGVjdAkJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1raXhTZWxlY3RPSyBzdGFydD0iXDxzZWxlY3RcPiIgZW5kPSJcPGVuZHNlbGVjdFw+IiBjb250YWlucz1BTExCVVQsQGtpeFNlbGVjdEJ1dAorCisiIFByb2dyYW0gY29udHJvbCBjb25zdHJ1Y3RzLgorc3luIG1hdGNoICAga2l4RG9FcnJvcgkJIlw8ZG9cPlx8XDx1bnRpbFw+Igorc3luIG1hdGNoICAga2l4RG9PSwkJY29udGFpbmVkICJcPGRvXD5cfFw8dW50aWxcPiIKK3N5biByZWdpb24gIGtpeERvCQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWtpeERvT0sgc3RhcnQ9Ilw8ZG9cPiIgZW5kPSJcPHVudGlsXD4iIGNvbnRhaW5zPUFMTEJVVCxAa2l4RG9CdXQKK3N5biBtYXRjaCAgIGtpeFdoaWxlRXJyb3IJIlw8d2hpbGVcPlx8XDxsb29wXD4iCitzeW4gbWF0Y2ggICBraXhXaGlsZU9LCQljb250YWluZWQgIlw8d2hpbGVcPlx8XDxsb29wXD4iCitzeW4gcmVnaW9uICBraXhXaGlsZQkJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1raXhXaGlsZU9LIHN0YXJ0PSJcPHdoaWxlXD4iIGVuZD0iXDxsb29wXD4iIGNvbnRhaW5zPUFMTEJVVCxAa2l4V2hpbGVCdXQKK3N5biBtYXRjaCAgIGtpeEZvck5leHRFcnJvcgkiXDxmb3JcPlx8XDx0b1w+XHxcPHN0ZXBcPlx8XDxuZXh0XD4iCitzeW4gbWF0Y2ggICBraXhGb3JOZXh0T0sJY29udGFpbmVkICJcPGZvclw+XHxcPHRvXD5cfFw8c3RlcFw+XHxcPG5leHRcPiIKK3N5biByZWdpb24gIGtpeEZvck5leHQJCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9a2l4Rm9yTmV4dE9LIHN0YXJ0PSJcPGZvclw+IiBlbmQ9Ilw8bmV4dFw+IiBjb250YWlucz1BTExCVVQsQGtpeEZvckJ1dAorc3luIG1hdGNoICAga2l4Rm9yRWFjaEVycm9yCSJcPGZvciBlYWNoXD5cfFw8aW5cPlx8XDxuZXh0XD4iCitzeW4gbWF0Y2ggICBraXhGb3JFYWNoT0sJY29udGFpbmVkICJcPGZvciBlYWNoXD5cfFw8aW5cPlx8XDxuZXh0XD4iCitzeW4gcmVnaW9uICBraXhGb3JFYWNoCQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWtpeEZvckVhY2hPSyBzdGFydD0iXDxmb3IgZWFjaFw+IiBlbmQ9Ilw8bmV4dFw+IiBjb250YWlucz1BTExCVVQsQGtpeEZvckVhY2hCdXQKKworIiBFeHByZXNzaW9ucworc3luIG1hdGNoICAga2l4RXhwcmVzc2lvbgkiPFx8Plx8PD1cfD49XHw8PiIKKworCisiIERlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBWZXJzaW9uIDwgNS44IHNldCBkZWZhdWx0IGhpZ2hsaWdodCBpZiBmaWxlIG5vdCBhbHJlYWR5IHByb2Nlc3NlZC4KKyIgVmVyc2lvbiA+PSA1Ljggc2V0IGRlZmF1bHQgaGlnaGxpZ2h0IG9ubHkgaWYgaXQgZG9lc24ndCBhbHJlYWR5IGhhdmUgYSB2YWx1ZS4KK2lmIHZlcnNpb24gPiA1MDggfHwgIWV4aXN0cygiZGlkX2tpeF9zeW5faW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9raXhfc3luX2luaXRzPTEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwlIaUxpbmsga2l4RG91YmxlU3RyaW5nCQlTdHJpbmcKKwlIaUxpbmsga2l4U2luZ2xlU3RyaW5nCQlTdHJpbmcKKwlIaUxpbmsga2l4U3RhdGVtZW50CQlTdGF0ZW1lbnQKKwlIaUxpbmsga2l4UmVwZWF0CQlSZXBlYXQKKwlIaUxpbmsga2l4Q29tbWVudAkJQ29tbWVudAorCUhpTGluayBraXhCdWlsdGluCQlGdW5jdGlvbgorCUhpTGluayBraXhMb2NhbFZhcgkJU3BlY2lhbAorCUhpTGluayBraXhNYWNybwkJCVNwZWNpYWwKKwlIaUxpbmsga2l4RW52VmFyCQlTcGVjaWFsCisJSGlMaW5rIGtpeExhYmVsCQkJVHlwZQorCUhpTGluayBraXhGdW5jdGlvbgkJRnVuY3Rpb24KKwlIaUxpbmsga2l4SW50ZWdlcgkJTnVtYmVyCisJSGlMaW5rIGtpeEhleAkJCU51bWJlcgorCUhpTGluayBraXhGbG9hdAkJCU51bWJlcgorCUhpTGluayBraXhPcGVyYXRvcgkJT3BlcmF0b3IKKwlIaUxpbmsga2l4RXhwcmVzc2lvbgkJT3BlcmF0b3IKKworCUhpTGluayBraXhQYXJlbkNsb3NlRXJyb3IJRXJyb3IKKwlIaUxpbmsga2l4QnJhY2tDbG9zZUVycm9yCUVycm9yCisJSGlMaW5rIGtpeFN0cmluZ0Vycm9yCQlFcnJvcgorCisJSGlMaW5rIGtpeFdoaWxlRXJyb3IJCUVycm9yCisJSGlMaW5rIGtpeFdoaWxlT0sJCUNvbmRpdGlvbmFsCisJSGlMaW5rIGtpeERvRXJyb3IJCUVycm9yCisJSGlMaW5rIGtpeERvT0sJCQlDb25kaXRpb25hbAorCUhpTGluayBraXhJZkVycm9yCQlFcnJvcgorCUhpTGluayBraXhJZk9LCQkJQ29uZGl0aW9uYWwKKwlIaUxpbmsga2l4U2VsZWN0RXJyb3IJCUVycm9yCisJSGlMaW5rIGtpeFNlbGVjdE9LCQlDb25kaXRpb25hbAorCUhpTGluayBraXhGb3JOZXh0RXJyb3IJCUVycm9yCisJSGlMaW5rIGtpeEZvck5leHRPSwkJQ29uZGl0aW9uYWwKKwlIaUxpbmsga2l4Rm9yRWFjaEVycm9yCQlFcnJvcgorCUhpTGluayBraXhGb3JFYWNoT0sJCUNvbmRpdGlvbmFsCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAia2l4IgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9rc2NyaXB0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2tzY3JpcHQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwM2Y4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9rc2NyaXB0LnZpbQpAQCAtMCwwICsxLDcwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJa3NjcmlwdAorIiBNYWludGFpbmVyOglUaG9tYXMgQ2FwcmljZWxsaSA8b3J6ZWxAeWFsYmkuY29tPgorIiBVUkw6CQlodHRwOi8vYXF1aWxhLnJlemVsLmVuc3QuZnIvdGhvbWFzL3ZpbS9rc2NyaXB0LnZpbQorIiBDVlM6CQkkSWQkCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGtleXdvcmQJa3NjcmlwdFByZUNvbmRpdAlpbXBvcnQgZnJvbQorCitzeW4ga2V5d29yZAlrc2NyaXB0SGFyZENvZGVkCXByaW50IHByaW50bG4gY29ubmVjdCBsZW5ndGggYXJnIG1pZCB1cHBlciBsb3dlciBpc0VtcHR5IHRvSW50IHRvRmxvYXQgZmluZEFwcGxpY2F0aW9uCitzeW4ga2V5d29yZAlrc2NyaXB0Q29uZGl0aW9uYWwJaWYgZWxzZSBzd2l0Y2gKK3N5biBrZXl3b3JkCWtzY3JpcHRSZXBlYXQJCXdoaWxlIGZvciBkbyBmb3JlYWNoCitzeW4ga2V5d29yZAlrc2NyaXB0RXhjZXB0aW9ucwllbWl0IGNhdGNoIHJhaXNlIHRyeSBzaWduYWwKK3N5biBrZXl3b3JkCWtzY3JpcHRGdW5jdGlvbgkJY2xhc3Mgc3RydWN0IGVudW0KK3N5biBrZXl3b3JkCWtzY3JpcHRDb25zdAkJRkFMU0UgVFJVRSBmYWxzZSB0cnVlCitzeW4ga2V5d29yZAlrc2NyaXB0U3RhdGVtZW50CXJldHVybiBkZWxldGUKK3N5biBrZXl3b3JkCWtzY3JpcHRMYWJlbAkJY2FzZSBkZWZhdWx0CitzeW4ga2V5d29yZAlrc2NyaXB0U3RvcmFnZUNsYXNzCWNvbnN0CitzeW4ga2V5d29yZAlrc2NyaXB0VHlwZQkJaW4gb3V0IGlub3V0IHZhcgorCitzeW4ga2V5d29yZAlrc2NyaXB0VG9kbwkJY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCisKK3N5biByZWdpb24Ja3NjcmlwdENvbW1lbnQJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1rc2NyaXB0VG9kbworc3luIG1hdGNoCWtzY3JpcHRDb21tZW50CQkiLy8uKiIgY29udGFpbnM9a3NjcmlwdFRvZG8KK3N5biBtYXRjaAlrc2NyaXB0Q29tbWVudAkJIiMuKiQiIGNvbnRhaW5zPWtzY3JpcHRUb2RvCisKK3N5biByZWdpb24Ja3NjcmlwdFN0cmluZwkJc3RhcnQ9KycrICBlbmQ9KycrIHNraXA9K1xcXFxcfFxcJysKK3N5biByZWdpb24Ja3NjcmlwdFN0cmluZwkJc3RhcnQ9KyIrICBlbmQ9KyIrIHNraXA9K1xcXFxcfFxcIisKK3N5biByZWdpb24Ja3NjcmlwdFN0cmluZwkJc3RhcnQ9KyIiIisgIGVuZD0rIiIiKworc3luIHJlZ2lvbglrc2NyaXB0U3RyaW5nCQlzdGFydD0rJycnKyAgZW5kPSsnJycrCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2tzY3JpcHRfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfa3NjcmlwdF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBrc2NyaXB0Q29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCisgIEhpTGluayBrc2NyaXB0UmVwZWF0CQkJUmVwZWF0CisgIEhpTGluayBrc2NyaXB0RXhjZXB0aW9ucwkJU3RhdGVtZW50CisgIEhpTGluayBrc2NyaXB0RnVuY3Rpb24JCUZ1bmN0aW9uCisgIEhpTGluayBrc2NyaXB0Q29uc3QJCQlDb25zdGFudAorICBIaUxpbmsga3NjcmlwdFN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBrc2NyaXB0TGFiZWwJCQlMYWJlbAorICBIaUxpbmsga3NjcmlwdFN0b3JhZ2VDbGFzcwkJU3RvcmFnZUNsYXNzCisgIEhpTGluayBrc2NyaXB0VHlwZQkJCVR5cGUKKyAgSGlMaW5rIGtzY3JpcHRUb2RvCQkJVG9kbworICBIaUxpbmsga3NjcmlwdENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGtzY3JpcHRTdHJpbmcJCQlTdHJpbmcKKyAgSGlMaW5rIGtzY3JpcHRQcmVDb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsga3NjcmlwdEhhcmRDb2RlZAkJU3RhdGVtZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImtzY3JpcHQiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9rd3QudmltIGIvcnVudGltZS9zeW50YXgva3d0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2JlN2E4Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgva3d0LnZpbQpAQCAtMCwwICsxLDg3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJa2ltd2l0dSsrCisiIE1haW50YWluZXI6CU1pY2hhZWwgUGllZmVsIDxwaWVmZWxAaW5mb3JtYXRpay5odS1iZXJsaW4uZGU+CisiIExhc3QgQ2hhbmdlOgkyIE1heSAyMDAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKKyIgUmVhZCB0aGUgQysrIHN5bnRheCB0byBzdGFydCB3aXRoCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9jcHAudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9jcHAudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKK2VuZGlmCisKKyIga2ltd2l0dSsrIGV4dGVudGlvbnMKKworIiBEb24ndCBzdG9wIGF0IGVvbCwgbWVzc2VzIGFyb3VuZCB3aXRoIENQUCBtb2RlLCBidXQgZ2l2ZXMgbGluZSBzcGFubmluZworIiBzdHJpbmdzIGluIHVucGFyc2UgcnVsZXMKK3N5biByZWdpb24gY0NwcFN0cmluZwkJc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1jU3BlY2lhbCxjRm9ybWF0CitzeW4ga2V5d29yZCBjVHlwZQkJaW50ZWdlciByZWFsIGNhc2VzdHJpbmcgbm9jYXNlc3RyaW5nIHZvaWRwdHIgbGlzdAorc3luIGtleXdvcmQgY1R5cGUJCXV2aWV3IHJ2aWV3IHV2aWV3X2VudW0gcnZpZXdfZW51bQorCisiIGF2b2lkIHVucGFyc2luZyBydWxlIHN0aDp2aWV3IGJlaW5nIHNjYW5uZWQgYXMgbGFiZWwKK3N5biBjbGVhciAgIGNVc2VyQ29udAorc3luIG1hdGNoICAgY1VzZXJDb250CQkiXlxzKlxJXGkqXHMqOiQiIGNvbnRhaW5zPWNVc2VyTGFiZWwgY29udGFpbmVkCitzeW4gbWF0Y2ggICBjVXNlckNvbnQJCSI7XHMqXElcaSpccyo6JCIgY29udGFpbnM9Y1VzZXJMYWJlbCBjb250YWluZWQKK3N5biBtYXRjaCAgIGNVc2VyQ29udAkJIl5ccypcSVxpKlxzKjpbXjpdIm1lPWUtMSBjb250YWlucz1jVXNlckxhYmVsIGNvbnRhaW5lZAorc3luIG1hdGNoICAgY1VzZXJDb250CQkiO1xzKlxJXGkqXHMqOlteOl0ibWU9ZS0xIGNvbnRhaW5zPWNVc2VyTGFiZWwgY29udGFpbmVkCisKKyIgaGlnaGxpZ2h0IHBoeWx1bSBkZWNscworc3luIG1hdGNoICAga3d0UGh5bHVtCQkiXlxJXGkqOiQiCitzeW4gbWF0Y2ggICBrd3RQaHlsdW0JCSJeXElcaSpccyp7XHMqXCghXHxcSVwpXGkqXHMqfVxzKjokIgorCitzeW4ga2V5d29yZCBrd3RTdGF0ZW1lbnQJd2l0aCBmb3JlYWNoIGFmdGVyZm9yZWFjaCBwcm92aWRlZAorc3luIG1hdGNoIGt3dERlY2wJCSIlXCh1dmlld3Zhclx8cnZpZXd2YXJcKSIKK3N5biBtYXRjaCBrd3REZWNsCQkiXiVcKHV2aWV3XHxydmlld1x8Y3Rvclx8ZHRvclx8YmFzZVx8c3RvcmFnZWNsYXNzXHxsaXN0XHxhdHRyXHxtZW1iZXJcfG9wdGlvblwpIgorc3luIG1hdGNoIGt3dE9wdGlvbgkJIm5vLWNzZ2lvXHxuby11bnBhcnNlXHxuby1yZXdyaXRlXHxuby1wcmludGRvdFx8bm8taGFzaHRhYmxlc1x8c21hcnQtcG9pbnRlclx8d2Vhay1wb2ludGVyIgorc3luIG1hdGNoIGt3dFNlcAkJIl4lfSQiCitzeW4gbWF0Y2gga3d0U2VwCQkiXiV7XChcc1wrXElcaSpcKSokIgorc3luIG1hdGNoIGt3dENhc3QJCSJcPHBoeWx1bV9jYXN0XHMqPCJtZT1lLTEKK3N5biBtYXRjaCBrd3RDYXN0CQkiXDxwaHlsdW1fY2FzdFxzKiQiCisKKworIiBtYXRjaCB2aWV3cywgcmVtb3ZlIHBhcmVuIGVycm9yIGluIGJyYWNrZXRzCitzeW4gY2xlYXIgY0VyckluQnJhY2tldAorc3luIG1hdGNoIGNFcnJJbkJyYWNrZXQJCWNvbnRhaW5lZCAiKSIKK3N5biBtYXRjaCBrd3RWaWV3cwkJIlwoXFtcfDxcKVxAPD1bIFs6YWxudW06XV9dXHstfToiCisKKyIgbWF0Y2ggcnVsZSBib2RpZXMKK3N5biByZWdpb24ga3d0VW5wQm9keQkJdHJhbnNwYXJlbnQga2VlcGVuZCBleHRlbmQgZm9sZCBzdGFydD0iLT5ccypcWyIgc3RhcnQ9Il5ccypcWyIgc2tpcD0iXCRcQDwhe1xfLlx7LX1cJFxAPCF9IiBlbmQ9IlxzXVxzXD07XD0kIiBlbmQ9Il5dXHNcPTtcPSQiIGVuZD0ifV1cc1w9O1w9JCIKK3N5biByZWdpb24ga3d0UmV3Qm9keQkJdHJhbnNwYXJlbnQga2VlcGVuZCBleHRlbmQgZm9sZCBzdGFydD0iLT5ccyo8IiBzdGFydD0iXlxzKjwiIGVuZD0iXHM+XHNcPTtcPSQiIGVuZD0iXj5cc1w9O1w9JCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfa3d0X3N5bl9pbml0cyIpCisgICAgaWYgdmVyc2lvbiA8IDUwOAorCWxldCBkaWRfa3d0X3N5bl9pbml0cyA9IDEKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICAgIGVsc2UKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgICBlbmRpZgorCisgICAgSGlMaW5rIGt3dFN0YXRlbWVudAljcHBTdGF0ZW1lbnQKKyAgICBIaUxpbmsga3d0RGVjbAljcHBTdGF0ZW1lbnQKKyAgICBIaUxpbmsga3d0Q2FzdAljcHBTdGF0ZW1lbnQKKyAgICBIaUxpbmsga3d0U2VwCURlbGltaXRlcgorICAgIEhpTGluayBrd3RWaWV3cwlMYWJlbAorICAgIEhpTGluayBrd3RQaHlsdW0JVHlwZQorICAgIEhpTGluayBrd3RPcHRpb24JUHJlUHJvYworICAgICJIaUxpbmsgY1RleHQJQ29tbWVudAorCisgICAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK3N5biBzeW5jIGxpbmVzPTMwMAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJrd3QiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sYWNlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xhY2UudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNjRlZWEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9sYWNlLnZpbQpAQCAtMCwwICsxLDEzNSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQlsYWNlCisiIE1haW50YWluZXI6CUpvY2VseW4gRmlhdCA8dXRpbGl0aWVzQGVpZmZlbC5jb20+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIENvcHlyaWdodCBJbnRlcmFjdGl2ZSBTb2Z0d2FyZSBFbmdpbmVlcmluZywgMTk5OAorIiBZb3UgYXJlIGZyZWUgdG8gdXNlIHRoaXMgZmlsZSBhcyB5b3UgcGxlYXNlLCBidXQKKyIgaWYgeW91IG1ha2UgYSBjaGFuZ2Ugb3IgaW1wcm92ZW1lbnQgeW91IG11c3Qgc2VuZAorIiBpdCB0byB0aGUgbWFpbnRhaW5lciBhdCA8dXRpbGl0aWVzQGVpZmZlbC5jb20+CisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIExBQ0UgaXMgY2FzZSBpbnNlbnNpdGl2ZSwgYnV0IHRoZSBzdHlsZSBndWlkZSBsaW5lcyBhcmUgbm90LgorCitpZiAhZXhpc3RzKCJsYWNlX2Nhc2VfaW5zZW5zaXRpdmUiKQorCXN5biBjYXNlIG1hdGNoCitlbHNlCisJc3luIGNhc2UgaWdub3JlCitlbmRpZgorCisiIEEgYnVuY2ggb2YgdXNlZnVsIExBQ0Uga2V5d29yZHMKK3N5biBrZXl3b3JkIGxhY2VUb3BTdHJ1Y3QJCXN5c3RlbSByb290IGRlZmF1bHQgb3B0aW9uIHZpc2libGUgY2x1c3Rlcgorc3luIGtleXdvcmQgbGFjZVRvcFN0cnVjdAkJZXh0ZXJuYWwgZ2VuZXJhdGUgZW5kCitzeW4ga2V5d29yZCBsYWNlT3B0aW9uQ2xhdXNlCWNvbGxlY3QgYXNzZXJ0aW9uIGRlYnVnIG9wdGltaXplIHRyYWNlCitzeW4ga2V5d29yZCBsYWNlT3B0aW9uQ2xhdXNlCXByb2ZpbGUgaW5saW5lIHByZWNvbXBpbGVkIG11bHRpdGhyZWFkZWQKK3N5biBrZXl3b3JkIGxhY2VPcHRpb25DbGF1c2UJZXhjZXB0aW9uX3RyYWNlIGRlYWRfY29kZV9yZW1vdmFsCitzeW4ga2V5d29yZCBsYWNlT3B0aW9uQ2xhdXNlCWFycmF5X29wdGltaXphdGlvbgorc3luIGtleXdvcmQgbGFjZU9wdGlvbkNsYXVzZQlpbmxpbmluZ19zaXplIGlubGluaW5nCitzeW4ga2V5d29yZCBsYWNlT3B0aW9uQ2xhdXNlCWNvbnNvbGVfYXBwbGljYXRpb24gZHluYW1pY19ydW50aW1lCitzeW4ga2V5d29yZCBsYWNlT3B0aW9uQ2xhdXNlCWxpbmVfZ2VuZXJhdGlvbgorc3luIGtleXdvcmQgbGFjZU9wdGlvbk1hcmsJCXllcyBubyBhbGwKK3N5biBrZXl3b3JkIGxhY2VPcHRpb25NYXJrCQlyZXF1aXJlIGVuc3VyZSBpbnZhcmlhbnQgbG9vcCBjaGVjaworc3luIGtleXdvcmQgbGFjZUNsdXN0ZXJQcm9wCQl1c2UgaW5jbHVkZSBleGNsdWRlCitzeW4ga2V5d29yZCBsYWNlQWRhcHRDbGFzc05hbWUJYWRhcHQgaWdub3JlIHJlbmFtZSBhcworc3luIGtleXdvcmQgbGFjZUFkYXB0Q2xhc3NOYW1lCWNyZWF0aW9uIGV4cG9ydCB2aXNpYmxlCitzeW4ga2V5d29yZCBsYWNlRXh0ZXJuYWwJCWluY2x1ZGVfcGF0aCBvYmplY3QgbWFrZWZpbGUKKworIiBPcGVyYXRvcnMKK3N5biBtYXRjaCAgIGxhY2VPcGVyYXRvcgkJIlwkIgorc3luIG1hdGNoICAgbGFjZUJyYWNrZXRzCQkiW1tcXV0iCitzeW4gbWF0Y2ggICBsYWNlRXhwb3J0CQkJIlt7fV0iCisKKyIgQ29uc3RhbnRzCitzeW4ga2V5d29yZCBsYWNlQm9vbAkJdHJ1ZSBmYWxzZQorc3luIGtleXdvcmQgbGFjZUJvb2wJCVRydWUgRmFsc2UKK3N5biByZWdpb24gIGxhY2VTdHJpbmcJCXN0YXJ0PSsiKyBza2lwPSslIisgZW5kPSsiKyBjb250YWlucz1sYWNlRXNjYXBlLGxhY2VTdHJpbmdFcnJvcgorc3luIG1hdGNoICAgbGFjZUVzY2FwZQkJY29udGFpbmVkICIlW14vXSIKK3N5biBtYXRjaCAgIGxhY2VFc2NhcGUJCWNvbnRhaW5lZCAiJS9cZFwrLyIKK3N5biBtYXRjaCAgIGxhY2VFc2NhcGUJCWNvbnRhaW5lZCAiXlsgXHRdKiUiCitzeW4gbWF0Y2ggICBsYWNlRXNjYXBlCQljb250YWluZWQgIiVbIFx0XSokIgorc3luIG1hdGNoICAgbGFjZVN0cmluZ0Vycm9yCWNvbnRhaW5lZCAiJS9bXjAtOV0iCitzeW4gbWF0Y2ggICBsYWNlU3RyaW5nRXJyb3IJY29udGFpbmVkICIlL1xkXCtbXjAtOS9dIgorc3luIG1hdGNoICAgbGFjZVN0cmluZ0Vycm9yCSInXCglW14vXVx8JS9cZFwrL1x8W14nJV1cKVwrJyIKK3N5biBtYXRjaCAgIGxhY2VDaGFyYWN0ZXIJIidcKCVbXi9dXHwlL1xkXCsvXHxbXiclXVwpJyIgY29udGFpbnM9bGFjZUVzY2FwZQorc3luIG1hdGNoICAgbGFjZU51bWJlcgkJIi1cPVw8XGRcK1woX1xkXCtcKSpcPiIKK3N5biBtYXRjaCAgIGxhY2VOdW1iZXIJCSJcPFswMV1cK1tiQl1cPiIKK3N5biBtYXRjaCAgIGxhY2VOdW1iZXIJCSItXD1cPFxkXCtcKF9cZFwrXCkqXC5cKFxkXCtcKF9cZFwrXCkqXClcPVwoW2VFXVstK11cPVxkXCtcKF9cZFwrXCkqXClcPSIKK3N5biBtYXRjaCAgIGxhY2VOdW1iZXIJCSItXD1cLlxkXCtcKF9cZFwrXCkqXChbZUVdWy0rXVw9XGRcK1woX1xkXCtcKSpcKVw9Igorc3luIG1hdGNoICAgbGFjZUNvbW1lbnQJCSItLS4qIiBjb250YWlucz1sYWNlVG9kbworCisKK3N5biBjYXNlIG1hdGNoCisKKyIgQ2FzZSBzZW5zaXRpdmUgc3R1ZmYKKworc3luIGtleXdvcmQgbGFjZVRvZG8JCVRPRE8gWFhYIEZJWE1FCitzeW4gbWF0Y2gJbGFjZUNsYXNzTmFtZQkiXDxbQS1aXVtBLVowLTlfXSpcPiIKK3N5biBtYXRjaAlsYWNlQ2x1c3RlcgkJIlthLXpBLVpdW2EtekEtWjAtOV9dKlxzKjoiCitzeW4gbWF0Y2gJbGFjZUNsdXN0ZXIJCSJbYS16QS1aXVthLXpBLVowLTlfXSpccyooXHMqW2EtekEtWl1bYS16QS1aMC05X10qXHMqKVxzKjoiCisKKyIgQ2F0Y2ggbWlzbWF0Y2hlZCBwYXJlbnRoZXNlcworc3luIG1hdGNoIGxhY2VQYXJlbkVycm9yCSIpIgorc3luIG1hdGNoIGxhY2VCcmFja2V0RXJyb3IJIlxdIgorc3luIHJlZ2lvbiBsYWNlR2VuZXJpYwkJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1sYWNlQnJhY2tldHMgc3RhcnQ9IlxbIiBlbmQ9IlxdIiBjb250YWlucz1BTExCVVQsbGFjZUJyYWNrZXRFcnJvcgorc3luIHJlZ2lvbiBsYWNlUGFyZW4JCXRyYW5zcGFyZW50IHN0YXJ0PSIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxsYWNlUGFyZW5FcnJvcgorCisiIFNob3VsZCBzdWZmaWNlIGZvciBldmVuIHZlcnkgbG9uZyBzdHJpbmdzIGFuZCBleHByZXNzaW9ucworc3luIHN5bmMgbGluZXM9NDAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbGFjZV9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9sYWNlX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGxhY2VUb3BTdHJ1Y3QJCQlQcmVQcm9jCisKKyAgSGlMaW5rIGxhY2VPcHRpb25DbGF1c2UJCVN0YXRlbWVudAorICBIaUxpbmsgbGFjZU9wdGlvbk1hcmsJCQlDb25zdGFudAorICBIaUxpbmsgbGFjZUNsdXN0ZXJQcm9wCQlMYWJlbAorICBIaUxpbmsgbGFjZUFkYXB0Q2xhc3NOYW1lCQlMYWJlbAorICBIaUxpbmsgbGFjZUV4dGVybmFsCQkJU3RhdGVtZW50CisgIEhpTGluayBsYWNlQ2x1c3RlcgkJCU1vZGVNc2cKKworICBIaUxpbmsgbGFjZUVzY2FwZQkJCQlTcGVjaWFsCisKKyAgSGlMaW5rIGxhY2VCb29sCQkJCUJvb2xlYW4KKyAgSGlMaW5rIGxhY2VTdHJpbmcJCQkJU3RyaW5nCisgIEhpTGluayBsYWNlQ2hhcmFjdGVyCQkJQ2hhcmFjdGVyCisgIEhpTGluayBsYWNlQ2xhc3NOYW1lCQkJVHlwZQorICBIaUxpbmsgbGFjZU51bWJlcgkJCQlOdW1iZXIKKworICBIaUxpbmsgbGFjZU9wZXJhdG9yCQkJU3BlY2lhbAorICBIaUxpbmsgbGFjZUFycmF5CQkJCVNwZWNpYWwKKyAgSGlMaW5rIGxhY2VFeHBvcnQJCQkJU3BlY2lhbAorICBIaUxpbmsgbGFjZUNyZWF0aW9uCQkJU3BlY2lhbAorICBIaUxpbmsgbGFjZUJyYWNrZXRzCQkJU3BlY2lhbAorICBIaUxpbmsgbGFjZUNvbnN0cmFpbnQJCQlTcGVjaWFsCisKKyAgSGlMaW5rIGxhY2VDb21tZW50CQkJQ29tbWVudAorCisgIEhpTGluayBsYWNlRXJyb3IJCQkJRXJyb3IKKyAgSGlMaW5rIGxhY2VTdHJpbmdFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIGxhY2VQYXJlbkVycm9yCQkJRXJyb3IKKyAgSGlMaW5rIGxhY2VCcmFja2V0RXJyb3IJCUVycm9yCisgIEhpTGluayBsYWNlVG9kbwkJCQlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImxhY2UiCisKKyIgdmltOiB0cz00CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sYXR0ZS52aW0gYi9ydW50aW1lL3N5bnRheC9sYXR0ZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJhODcyOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2xhdHRlLnZpbQpAQCAtMCwwICsxLDk4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJTGF0dGUKKyIgTWFpbnRhaW5lcjoJTmljayBNb2ZmaXR0LCA8bmlja0B6b3JrLm5ldD4KKyIgTGFzdCBDaGFuZ2U6CTE0IEp1bmUsIDIwMDAKKyIKKyIgTm90ZXM6CisiIEkgYmFzZWQgdGhpcyBvbiB0aGUgVGVYIGFuZCBTY2hlbWUgc3ludGF4IGZpbGVzIChidXQgbW9zdGx5IHNjaGVtZSkuCisiIFNlZSBodHRwOi8vd3d3LmxhdHRlLm9yZyBmb3IgaW5mbyBvbiB0aGUgbGFuZ3VhZ2UuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIG1hdGNoIGxhdHRlRXJyb3IgIlt7fVxcXSIKK3N5biBtYXRjaCBsYXR0ZU90aGVyICJcXHsiCitzeW4gbWF0Y2ggbGF0dGVPdGhlciAiXFx9Igorc3luIG1hdGNoIGxhdHRlT3RoZXIgIlxcXFwiCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc2V0IGlza2V5d29yZD0zMyw0Myw0NSw0OC01Nyw2Myw2NS05MCw5NSw5Ny0xMjIsXworZWxzZQorICBzZXRsb2NhbCBpc2tleXdvcmQ9MzMsNDMsNDUsNDgtNTcsNjMsNjUtOTAsOTUsOTctMTIyLF8KK2VuZGlmCisKK3N5biByZWdpb24gbGF0dGVWYXIgbWF0Y2hncm91cD1TcGVjaWFsQ2hhciBzdGFydD0hXFxbQS1aYS16X10hcnM9cysxIGVuZD0hW15BLVphLXowLTk/IStfLV0hbWU9ZS0xIGNvbnRhaW5zPUFMTEJVVCxsYXR0ZU51bWJlcixsYXR0ZU90aGVyCitzeW4gcmVnaW9uIGxhdHRlVmFyIG1hdGNoZ3JvdXA9U3BlY2lhbENoYXIgc3RhcnQ9IVxcWz1cJl1bQS1aYS16X10hcnM9cysyIGVuZD0hW15BLVphLXowLTk/IStfLV0hbWU9ZS0xIGNvbnRhaW5zPUFMTEJVVCxsYXR0ZU51bWJlcixsYXR0ZU90aGVyCitzeW4gcmVnaW9uIGxhdHRlU3RyaW5nCXN0YXJ0PStcXCIrIHNraXA9K1xcXFwiKyBlbmQ9K1xcIisKKworc3luIHJlZ2lvbiBsYXR0ZUdyb3VwCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiBza2lwPSJcXFt7fV0iIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0ifSIgY29udGFpbnM9QUxMQlVULGxhdHRlU3ludGF4CisKK3N5biByZWdpb24gbGF0dGVVbnF1b3RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXCx7IiBza2lwPSJcXFt7fV0iIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0ifSIgY29udGFpbnM9QUxMQlVULGxhdHRlU3ludGF4CitzeW4gcmVnaW9uIGxhdHRlU3BsaWNlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXCxAeyIgc2tpcD0iXFxbe31dIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9In0iIGNvbnRhaW5zPUFMTEJVVCxsYXR0ZVN5bnRheAorc3luIHJlZ2lvbiBsYXR0ZVF1b3RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXCd7IiBza2lwPSJcXFt7fV0iIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0ifSIKK3N5biByZWdpb24gbGF0dGVRdW90ZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxgeyIgc2tpcD0iXFxbe31dIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9In0iIGNvbnRhaW5zPWxhdHRlVW5xdW90ZSxsYXR0ZVNwbGljZQorCitzeW4gbWF0Y2ggIGxhdHRlT3BlcmF0b3IgICAnXFwvJworc3luIG1hdGNoICBsYXR0ZU9wZXJhdG9yICAgJz0nCisKK3N5biBtYXRjaCAgbGF0dGVDb21tZW50CSJcXDsuKiQiCisKKyIgVGhpcyB3YXMgZ2F0aGVyZWQgYnkgc2x1cnBpbmcgaW4gdGhlIGluZGV4LgorCitzeW4ga2V5d29yZCBsYXR0ZVN5bnRheCBfX0ZJTEVfXyBfX2xhdHRlLXZlcnNpb25fXyBjb250YWluZWQKK3N5biBrZXl3b3JkIGxhdHRlU3ludGF4IF9iYWwtdGFnIF9wcmUgX3RhZyBhZGQgYW5kIGFwcGVuZCBhcHBseSBiYWNrIGNvbnRhaW5lZAorc3luIGtleXdvcmQgbGF0dGVTeW50YXggY2FhciBjYWRyIGNhciBjZGFyIGNkZHIgY2RyIGNlaWwgY29tcG9zZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGxhdHRlU3ludGF4IGNvbmNhdCBjb25zIGRlZiBkZWZtYWNybyBkaXZpZGUgZG93bmNhc2UgY29udGFpbmVkCitzeW4ga2V5d29yZCBsYXR0ZVN5bnRheCBlbXB0eT8gZXF1YWw/IGVycm9yIGV4cGxvZGUgZmlsZS1jb250ZW50cyBjb250YWluZWQKK3N5biBrZXl3b3JkIGxhdHRlU3ludGF4IGZsb29yIGZvcmVhY2ggZnJvbnQgZnVuY2FsbCBnZT8gIGdldGVudiBjb250YWluZWQKK3N5biBrZXl3b3JkIGxhdHRlU3ludGF4IGdyZWF0ZXItZXF1YWw/IGdyZWF0ZXI/IGdyb3VwIGdyb3VwPyBndD8gaHRtbCBjb250YWluZWQKK3N5biBrZXl3b3JkIGxhdHRlU3ludGF4IGlmIGluY2x1ZGUgbGFtYmRhIGxlPyBsZW5ndGggbGVzcy1lcXVhbD8gY29udGFpbmVkCitzeW4ga2V5d29yZCBsYXR0ZVN5bnRheCBsZXNzPyBsZXQgbG1hcCBsb2FkLWZpbGUgbG9hZC1saWJyYXJ5IGx0PyAgbWFjcm8gY29udGFpbmVkCitzeW4ga2V5d29yZCBsYXR0ZVN5bnRheCBtZW1iZXI/ICBtb2R1bG8gbXVsdGlwbHkgbm90IG50aCBvcGVyYXRvcj8gY29udGFpbmVkCitzeW4ga2V5d29yZCBsYXR0ZVN5bnRheCBvciBvcmRpbmFyeSBxdW90ZSBwcm9jZXNzLW91dHB1dCBwdXNoLWJhY2sgY29udGFpbmVkCitzeW4ga2V5d29yZCBsYXR0ZVN5bnRheCBwdXNoLWZyb250IHF1YXNpcXVvdGUgcXVvdGUgcmFuZG9tIHJkYyByZXZlcnNlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgbGF0dGVTeW50YXggc2V0ISAgc25vYyBzcGxpY2luZyB1bnF1b3RlIHN0cmljdC1odG1sNCBjb250YWluZWQKK3N5biBrZXl3b3JkIGxhdHRlU3ludGF4IHN0cmluZy1hcHBlbmQgc3RyaW5nLWdlPyAgc3RyaW5nLWdyZWF0ZXItZXF1YWw/IGNvbnRhaW5lZAorc3luIGtleXdvcmQgbGF0dGVTeW50YXggc3RyaW5nLWdyZWF0ZXI/ICBzdHJpbmctZ3Q/ICBzdHJpbmctbGU/IGNvbnRhaW5lZAorc3luIGtleXdvcmQgbGF0dGVTeW50YXggc3RyaW5nLWxlc3MtZXF1YWw/ICBzdHJpbmctbGVzcz8gIHN0cmluZy1sdD8gY29udGFpbmVkCitzeW4ga2V5d29yZCBsYXR0ZVN5bnRheCBzdHJpbmc/ICBzdWJzZXEgc3Vic3RyIHN1YnRyYWN0ICBjb250YWluZWQKK3N5biBrZXl3b3JkIGxhdHRlU3ludGF4IHVwY2FzZSB1c2VsZXNzIHdhcm4gd2hpbGUgemVybz8gIGNvbnRhaW5lZAorCisKKyIgSWYgaXQncyBnb29kIGVub3VnaCBmb3Igc2NoZW1lLi4uCisKK3N5biBzeW5jIG1hdGNoIG1hdGNoUGxhY2UgZ3JvdXBoZXJlIE5PTkUgIl5bXiBcdF0iCisiIC4uLiBpLmUuIHN5bmNocm9uaXplIG9uIGEgbGluZSB0aGF0IHN0YXJ0cyBhdCB0aGUgbGVmdCBtYXJnaW4KKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbGF0dGVfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbGF0dGVfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbGF0dGVTeW50YXgJCVN0YXRlbWVudAorICBIaUxpbmsgbGF0dGVWYXIJCQlGdW5jdGlvbgorCisgIEhpTGluayBsYXR0ZVN0cmluZwkJU3RyaW5nCisgIEhpTGluayBsYXR0ZVF1b3RlCQkJU3RyaW5nCisKKyAgSGlMaW5rIGxhdHRlRGVsaW1pdGVyCQlEZWxpbWl0ZXIKKyAgSGlMaW5rIGxhdHRlT3BlcmF0b3IJCU9wZXJhdG9yCisKKyAgSGlMaW5rIGxhdHRlQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbGF0dGVFcnJvcgkJCUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImxhdHRlIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGRpZi52aW0gYi9ydW50aW1lL3N5bnRheC9sZGlmLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjY3YjU3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbGRpZi52aW0KQEAgLTAsMCArMSw0MyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUxEQVAgTERJRgorIiBNYWludGFpbmVyOglaYWsgSm9obnNvbiA8emFrakBub3guY3g+CisiIExhc3QgQ2hhbmdlOgkyMDAzLTEyLTMwCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gc3luYyBtaW5saW5lcz0xMCBsaW5lYnJlYWtzPTEKKworc3luIG1hdGNoIGxkaWZBdHRyaWJ1dGUgL15bXiAjXVteOl0qLyBjb250YWlucz1sZGlmT3B0aW9uIGRpc3BsYXkKK3N5biBtYXRjaCBsZGlmT3B0aW9uIC87W146XVwrLyBjb250YWluZWQgY29udGFpbnM9bGRpZlB1bmN0dWF0aW9uIGRpc3BsYXkKK3N5biBtYXRjaCBsZGlmUHVuY3R1YXRpb24gLzsvIGNvbnRhaW5lZCBkaXNwbGF5CisKK3N5biByZWdpb24gbGRpZlN0cmluZ1ZhbHVlIG1hdGNoZ3JvdXA9bGRpZlB1bmN0dWF0aW9uIHN0YXJ0PS86IC8gIGVuZD0vXF8kLyBza2lwPS9cbiAvCitzeW4gcmVnaW9uIGxkaWZCYXNlNjRWYWx1ZSBtYXRjaGdyb3VwPWxkaWZQdW5jdHVhdGlvbiBzdGFydD0vOjogLyBlbmQ9L1xfJC8gc2tpcD0vXG4gLworc3luIHJlZ2lvbiBsZGlmRmlsZVZhbHVlICAgbWF0Y2hncm91cD1sZGlmUHVuY3R1YXRpb24gc3RhcnQ9Lzo8IC8gZW5kPS9cXyQvIHNraXA9L1xuIC8KKworc3luIHJlZ2lvbiBsZGlmQ29tbWVudCBzdGFydD0vXiMvIGVuZD0vXF8kLyBza2lwPS9cbiAvCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sZGlmX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2xkaWZfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbGRpZkF0dHJpYnV0ZQkJVHlwZQorICBIaUxpbmsgbGRpZk9wdGlvbgkJSWRlbnRpZmllcgorICBIaUxpbmsgbGRpZlB1bmN0dWF0aW9uCU5vcm1hbAorICBIaUxpbmsgbGRpZlN0cmluZ1ZhbHVlCVN0cmluZworICBIaUxpbmsgbGRpZkJhc2U2NFZhbHVlCVNwZWNpYWwKKyAgSGlMaW5rIGxkaWZGaWxlVmFsdWUJCVNwZWNpYWwKKyAgSGlMaW5rIGxkaWZDb21tZW50CQlDb21tZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImxkaWYiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sZXgudmltIGIvcnVudGltZS9zeW50YXgvbGV4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWM0MjNlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbGV4LnZpbQpAQCAtMCwwICsxLDk2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJTGV4CisiIE1haW50YWluZXI6CURyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gPE5kck9jaGlwU0BQY2FtcGJlbGxBZmFtaWx5Lk1iaXo+CisiIExhc3QgQ2hhbmdlOglTZXAgMDIsIDIwMDMKKyIgVmVyc2lvbjoJNAorIiBVUkw6CWh0dHA6Ly93d3cuZXJvbHMuY29tL2FzdHJvbmF1dC92aW0vaW5kZXguaHRtbCN2aW1saW5rc19zeW50YXgKKyIKKyIgT3B0aW9uOgorIiAgIGxleF91c2VzX2NwcCA6IGlmIHRoaXMgdmFyaWFibGUgZXhpc3RzLCB0aGVuIEMrKyBpcyBsb2FkZWQgcmF0aGVyIHRoYW4gQworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgUmVhZCB0aGUgQyBzeW50YXggdG8gc3RhcnQgd2l0aAoraWYgdmVyc2lvbiA+PSA2MDAKKyAgaWYgZXhpc3RzKCJsZXhfdXNlc19jcHAiKQorICAgIHJ1bnRpbWUhIHN5bnRheC9jcHAudmltCisgIGVsc2UKKyAgICBydW50aW1lISBzeW50YXgvYy52aW0KKyAgZW5kaWYKKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZWxzZQorICBpZiBleGlzdHMoImxleF91c2VzX2NwcCIpCisgICAgc28gPHNmaWxlPjpwOmgvY3BwLnZpbQorICBlbHNlCisgICAgc28gPHNmaWxlPjpwOmgvYy52aW0KKyAgZW5kaWYKK2VuZGlmCisKKyIgLS0tIExleCBzdHVmZiAtLS0KKworIkknZCBwcmVmZXIgdG8gdXNlIGxleC4qICwgYnV0IGl0IGRvZXNuJ3QgaGFuZGxlIGZvcndhcmQgZGVmaW5pdGlvbnMgeWV0CitzeW4gY2x1c3RlciBsZXhMaXN0R3JvdXAJCWNvbnRhaW5zPWxleEFiYnJ2QmxvY2ssbGV4QWJicnYsbGV4QWJicnYsbGV4QWJicnZSZWdFeHAsbGV4SW5jbHVkZSxsZXhQYXRCbG9jayxsZXhQYXQsbGV4QnJhY2UsbGV4UGF0U3RyaW5nLGxleFBhdFRhZyxsZXhQYXRUYWcsbGV4UGF0Q29tbWVudCxsZXhQYXRDb2RlTGluZSxsZXhNb3JlUGF0LGxleFBhdFNlcCxsZXhTbGFzaFF1b3RlLGxleFBhdENvZGUsY0luUGFyZW4sY1VzZXJMYWJlbCxjT2N0YWxaZXJvLGNDcHBTa2lwLGNFcnJJbkJyYWNrZXQsY0VyckluUGFyZW4sY09jdGFsRXJyb3IsY0NwcE91dDIsY0NvbW1lbnRTdGFydEVycm9yLGNQYXJlbkVycm9yCitzeW4gY2x1c3RlciBsZXhMaXN0UGF0Q29kZUdyb3VwCWNvbnRhaW5zPWxleEFiYnJ2QmxvY2ssbGV4QWJicnYsbGV4QWJicnYsbGV4QWJicnZSZWdFeHAsbGV4SW5jbHVkZSxsZXhQYXRCbG9jayxsZXhQYXQsbGV4QnJhY2UsbGV4UGF0VGFnLGxleFBhdFRhZyxsZXhQYXRDb21tZW50LGxleFBhdENvZGVMaW5lLGxleE1vcmVQYXQsbGV4UGF0U2VwLGxleFNsYXNoUXVvdGUsY0luUGFyZW4sY1VzZXJMYWJlbCxjT2N0YWxaZXJvLGNDcHBTa2lwLGNFcnJJbkJyYWNrZXQsY0VyckluUGFyZW4sY09jdGFsRXJyb3IsY0NwcE91dDIsY0NvbW1lbnRTdGFydEVycm9yLGNQYXJlbkVycm9yCisKKyIgQWJicmV2aWF0aW9ucyBTZWN0aW9uCitzeW4gcmVnaW9uIGxleEFiYnJ2QmxvY2sJc3RhcnQ9Il5cKFthLXpBLVpfXVwrXHRcfCV7XCkiIGVuZD0iXiUlJCJtZT1lLTIJc2tpcG5sCW5leHRncm91cD1sZXhQYXRCbG9jayBjb250YWlucz1sZXhBYmJydixsZXhJbmNsdWRlLGxleEFiYnJ2Q29tbWVudAorc3luIG1hdGNoICBsZXhBYmJydgkJIl5cSVxpKlxzIm1lPWUtMQkJCXNraXB3aGl0ZQljb250YWluZWQgbmV4dGdyb3VwPWxleEFiYnJ2UmVnRXhwCitzeW4gbWF0Y2ggIGxleEFiYnJ2CQkiXiVbc3hdIgkJCQkJY29udGFpbmVkCitzeW4gbWF0Y2ggIGxleEFiYnJ2UmVnRXhwCSJcc1xTLiokImxjPTEJCQkJY29udGFpbmVkIG5leHRncm91cD1sZXhBYmJydixsZXhJbmNsdWRlCitzeW4gcmVnaW9uIGxleEluY2x1ZGUJbWF0Y2hncm91cD1sZXhTZXAJc3RhcnQ9Il4leyIgZW5kPSIlfSIJY29udGFpbmVkCWNvbnRhaW5zPUFMTEJVVCxAbGV4TGlzdEdyb3VwCitzeW4gcmVnaW9uIGxleEFiYnJ2Q29tbWVudAlzdGFydD0iXlxzXCsvXCoiCWVuZD0iXCovIgkJCWNvbnRhaW5zPUBTcGVsbAorCisiJSUgOiBQYXR0ZXJucyB7QWN0aW9uc30KK3N5biByZWdpb24gbGV4UGF0QmxvY2sJbWF0Y2hncm91cD1Ub2RvCXN0YXJ0PSJeJSUkIiBtYXRjaGdyb3VwPVRvZG8gZW5kPSJeJSUkIglza2lwbmwgc2tpcHdoaXRlIGNvbnRhaW5zPWxleFBhdCxsZXhQYXRUYWcsbGV4UGF0Q29tbWVudAorc3luIHJlZ2lvbiBsZXhQYXQJCXN0YXJ0PStcUysgc2tpcD0iXFxcXFx8XFwuIgllbmQ9IlxzIm1lPWUtMQljb250YWluZWQgbmV4dGdyb3VwPWxleE1vcmVQYXQsbGV4UGF0U2VwIGNvbnRhaW5zPWxleFBhdFN0cmluZyxsZXhTbGFzaFF1b3RlLGxleEJyYWNlCitzeW4gcmVnaW9uIGxleEJyYWNlCXN0YXJ0PSJcWyIgc2tpcD0rXFxcXFx8XFwrCQllbmQ9Il0iCQljb250YWluZWQKK3N5biByZWdpb24gbGV4UGF0U3RyaW5nCW1hdGNoZ3JvdXA9U3RyaW5nIHN0YXJ0PSsiKwlza2lwPStcXFxcXHxcXCIrCW1hdGNoZ3JvdXA9U3RyaW5nIGVuZD0rIisJY29udGFpbmVkCitzeW4gbWF0Y2ggIGxleFBhdFRhZwkiXjxcSVxpKlwoLFxJXGkqXCkqPioiCQkJY29udGFpbmVkIG5leHRncm91cD1sZXhQYXQsbGV4UGF0VGFnLGxleE1vcmVQYXQsbGV4UGF0U2VwCitzeW4gbWF0Y2ggIGxleFBhdFRhZwkrXjxcSVxpKlwoLFxJXGkqXCkqPipcKFxcXFxcKSpcXCIrCQljb250YWluZWQgbmV4dGdyb3VwPWxleFBhdCxsZXhQYXRUYWcsbGV4TW9yZVBhdCxsZXhQYXRTZXAKK3N5biByZWdpb24gbGV4UGF0Q29tbWVudAlzdGFydD0iXlxzKi9cKiIgZW5kPSJcKi8iCQlza2lwbmwJY29udGFpbmVkIGNvbnRhaW5zPWNUb2RvIG5leHRncm91cD1sZXhQYXRDb21tZW50LGxleFBhdCxsZXhQYXRTdHJpbmcsbGV4UGF0VGFnLEBTcGVsbAorc3luIG1hdGNoICBsZXhQYXRDb2RlTGluZQkiLiokIgkJCQkJY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxAbGV4TGlzdEdyb3VwCitzeW4gbWF0Y2ggIGxleE1vcmVQYXQJIlxzKnxccyokIgkJCXNraXBubAljb250YWluZWQgbmV4dGdyb3VwPWxleFBhdCxsZXhQYXRUYWcsbGV4UGF0Q29tbWVudAorc3luIG1hdGNoICBsZXhQYXRTZXAJIlxzXCsiCQkJCQljb250YWluZWQgbmV4dGdyb3VwPWxleE1vcmVQYXQsbGV4UGF0Q29kZSxsZXhQYXRDb2RlTGluZQorc3luIG1hdGNoICBsZXhTbGFzaFF1b3RlCStcKFxcXFxcKSpcXCIrCQkJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiBsZXhQYXRDb2RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9In0iCXNraXBubCBjb250YWluZWQgY29udGFpbnM9QUxMQlVULEBsZXhMaXN0UGF0Q29kZUdyb3VwCisKK3N5biBrZXl3b3JkIGxleENGdW5jdGlvbnMJQkVHSU4JaW5wdXQJdW5wdXQJd291dHB1dAl5eWxlbmcJeXlsb29rCXl5dGV4dAorc3luIGtleXdvcmQgbGV4Q0Z1bmN0aW9ucwlFQ0hPCW91dHB1dAl3aW5wdXQJd3VucHV0CXl5bGVzcwl5eW1vcmUJeXl3cmFwCisKKyIgPGMudmltPiBpbmNsdWRlcyBzZXZlcmFsIEFMTEJVVHM7IHRoZXNlIGhhdmUgdG8gYmUgdHJlYXRlZCBzbyBhcyB0byBleGNsdWRlIGxleCogZ3JvdXBzCitzeW4gY2x1c3RlciBjUGFyZW5Hcm91cAlhZGQ9bGV4LioKK3N5biBjbHVzdGVyIGNEZWZpbmVHcm91cAlhZGQ9bGV4LioKK3N5biBjbHVzdGVyIGNQcmVQcm9jR3JvdXAJYWRkPWxleC4qCitzeW4gY2x1c3RlciBjTXVsdGlHcm91cAlhZGQ9bGV4LioKKworIiBTeW5jaHJvbml6YXRpb24KK3N5biBzeW5jIGNsZWFyCitzeW4gc3luYyBtaW5saW5lcz0zMDAKK3N5biBzeW5jIG1hdGNoIGxleFN5bmNQYXQJZ3JvdXBoZXJlICBsZXhQYXRCbG9jawkiXiVbYS16QS1aXSIKK3N5biBzeW5jIG1hdGNoIGxleFN5bmNQYXQJZ3JvdXB0aGVyZSBsZXhQYXRCbG9jawkiXjwkIgorc3luIHN5bmMgbWF0Y2ggbGV4U3luY1BhdAlncm91cHRoZXJlIGxleFBhdEJsb2NrCSJeJSUkIgorCisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK2hpIGRlZiBsaW5rIGxleFNsYXNoUXVvdGUJbGV4UGF0CitoaSBkZWYgbGluayBsZXhCcmFjZQlsZXhQYXQKK2hpIGRlZiBsaW5rIGxleEFiYnJ2Q29tbWVudAlsZXhQYXRDb21tZW50CisKK2hpIGRlZiBsaW5rIGxleEFiYnJ2CVNwZWNpYWxDaGFyCitoaSBkZWYgbGluayBsZXhBYmJydlJlZ0V4cAlNYWNybworaGkgZGVmIGxpbmsgbGV4Q0Z1bmN0aW9ucwlGdW5jdGlvbgoraGkgZGVmIGxpbmsgbGV4TW9yZVBhdAlTcGVjaWFsQ2hhcgoraGkgZGVmIGxpbmsgbGV4UGF0CQlGdW5jdGlvbgoraGkgZGVmIGxpbmsgbGV4UGF0Q29tbWVudAlDb21tZW50CitoaSBkZWYgbGluayBsZXhQYXRTdHJpbmcJRnVuY3Rpb24KK2hpIGRlZiBsaW5rIGxleFBhdFRhZwlTcGVjaWFsCitoaSBkZWYgbGluayBsZXhTZXAJCURlbGltaXRlcgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsZXgiCisKKyIgdmltOnRzPTEwCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sZnRwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xmdHAudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMTk1OGUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9sZnRwLnZpbQpAQCAtMCwwICsxLDE4NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSAgICBsZnRwKDEpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9sZnRwLworIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCisiIGFyY2gtdGFnOgkgICAgZjI1MzdjNDktNWQ2NC00MmI4LWJlYjQtMTNhMDlkZDcyM2QyCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFNldCBpc2tleXdvcmQgc2luY2Ugd2UgbmVlZCBgLScgKGFuZCBwb3RlbnRpYWxseSBvdGhlcnMpIGluIGtleXdvcmRzLgorIiBGb3IgdmVyc2lvbiA1Lng6IFNldCBpdCBnbG9iYWxseQorIiBGb3IgdmVyc2lvbiA2Lng6IFNldCBpdCBsb2NhbGx5CitpZiB2ZXJzaW9uID49IDYwMAorICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXRsb2NhbCBpc2tleXdvcmQ9PGFyZ3M+CitlbHNlCisgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+CitlbmRpZgorU2V0SXNrIDQ4LTU3LDk3LTEyMiwtCitkZWxjb21tYW5kIFNldElzaworCisiIGNvbW1lbnRzCitzeW4gcmVnaW9uICBsZnRwQ29tbWVudAkJZGlzcGxheSBvbmVsaW5lIG1hdGNoZ3JvdXA9bGZ0cENvbW1lbnQgc3RhcnQ9IiMiIGVuZD0iJCIgY29udGFpbnM9bGZ0cFRvZG8KKworIiB0b2RvCitzeW4ga2V5d29yZCBsZnRwVG9kbwkJY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworIiBzdHJpbmdzCitzeW4gcmVnaW9uICBsZnRwU3RyaW5nCQljb250YWluZWQgZGlzcGxheSBzdGFydD0rIisgc2tpcD0rXFwkXHxcXCIrIGVuZD0rIisgZW5kPSskKworCisiIG51bWJlcnMKK3N5biBtYXRjaCAgIGxmdHBOdW1iZXIJCWNvbnRhaW5lZCBkaXNwbGF5ICJcPFxkXCtcKFwuXGRcK1wpXD1cPiIKKworIiBib29sZWFucyBhbmQgb3RoZXIgdGhpbmdzCitzeW4ga2V5d29yZCBsZnRwQm9vbGVhbgkJY29udGFpbmVkIHllcyBubyBvbiBvZmYgdHJ1ZSBmYWxzZQorCisiIGludGVydmFscworc3luIGtleXdvcmQgbGZ0cEludGVydmFsCWNvbnRhaW5lZCBpbmZpbml0eSBpbmYgbmV2ZXIgZm9yZXZlcgorc3luIG1hdGNoICAgbGZ0cEludGVydmFsCWNvbnRhaW5lZCAiXDxcKFxkXCtcKFwuXGRcK1wpXD1bZGhtc11cKVwrXD4iCisKKyIgY29tbWFuZHMKK3N5biBrZXl3b3JkIGxmdHBLZXl3b3JkcwlhbGlhcyBhbm9uIGF0IGJvb2ttYXJrIGNhY2hlIGNhdCBjZCBjaG1vZCBjbG9zZQorc3luIGtleXdvcmQgbGZ0cEtleXdvcmRzCWNscyBjb21tYW5kIGRlYnVnIGR1IGVjaG8gZXhpdCBmZyBmaW5kIGdldCBnZXQxCitzeW4ga2V5d29yZCBsZnRwS2V5d29yZHMJZ2xvYiBoZWxwIGhpc3Rvcnkgam9icyBraWxsIGxjZCBsZnRwIGxwd2QgbHMKK3N5biBrZXl3b3JkIGxmdHBLZXl3b3JkcwltZ2V0IG1pcnJvciBta2RpciBtb2R1bGUKK3N5biBrZXl3b3JkIGxmdHBLZXl3b3Jkcwltb3JlIG1wdXQgbXJtIG12IG5saXN0IG9wZW4gcGdldCBwdXQgcHdkIHF1ZXVlCitzeW4ga2V5d29yZCBsZnRwS2V5d29yZHMJcXVvdGUgcmVnZXQgcmVjbHMgcmVscyByZW5saXN0IHJlcGVhdAorc3luIGtleXdvcmQgbGZ0cEtleXdvcmRzCXJlcHV0IHJtIHJtZGlyIHNjYWNoZSBzaXRlIHNvdXJjZSBzdXNwZW5kIHVzZXIKK3N5biBrZXl3b3JkIGxmdHBLZXl3b3Jkcwl2ZXJzaW9uIHdhaXQgemNhdCB6bW9yZQorCisiIHNldHRpbmdzCitzeW4gcmVnaW9uICBsZnRwU2V0CQltYXRjaGdyb3VwPWxmdHBLZXl3b3JkcyBzdGFydD0ic2V0IiBlbmQ9IjsiIGVuZD0iJCIgY29udGFpbnM9bGZ0cFN0cmluZyxsZnRwTnVtYmVyLGxmdHBCb29sZWFuLGxmdHBJbnRlcnZhbCxsZnRwU2V0dGluZ3NQcmVmaXgsbGZ0cFNldHRpbmdzCitzeW4gbWF0Y2ggICBsZnRwU2V0dGluZ3NQcmVmaXgJY29udGFpbmVkICdcPFwlKGJta1x8Y2FjaGVcfGNtZFx8Y29sb3JcfGRuc1wpOicKK3N5biBtYXRjaCAgIGxmdHBTZXR0aW5nc1ByZWZpeAljb250YWluZWQgJ1w8XCUoZmlsZVx8ZmlzaFx8ZnRwXHxoZnRwXCk6Jworc3luIG1hdGNoICAgbGZ0cFNldHRpbmdzUHJlZml4CWNvbnRhaW5lZCAnXDxcJShodHRwXHxodHRwc1x8bWlycm9yXHxtb2R1bGVcKTonCitzeW4gbWF0Y2ggICBsZnRwU2V0dGluZ3NQcmVmaXgJY29udGFpbmVkICdcPFwlKG5ldFx8c2Z0cFx8c3NsXHx4ZmVyXCk6JworIiBibWs6CitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHNhdmUtcFthc3N3b3Jkc10KKyIgY2FjaGU6CitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGNhY2hlLWVtW3B0eS1saXN0aW5nc10gZW5bYWJsZV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgZXhwW2lyZV0gc2l6W2VdCisiIGNtZDoKK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgYXRbLWV4aXRdIGNscy1jW29tcGxldGlvbi1kZWZhdWx0XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjbHMtZFtlZmF1bHRdIGNzW2gtaGlzdG9yeV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgZGVmYXVsdC1wW3JvdG9jb2xdIGRlZmF1bHQtdFtpdGxlXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBmYWlbbC1leGl0XSBpblt0ZXJhY3RpdmVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGxvW25nLXJ1bm5pbmddIGxzWy1kZWZhdWx0XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBtb1t2ZS1iYWNrZ3JvdW5kXSBwcm9tW3B0XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCByZW1bb3RlLWNvbXBsZXRpb25dCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHNhdmUtY1t3ZC1oaXN0b3J5XSBzYXZlLXJbbC1oaXN0b3J5XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBzZXQtdFtlcm0tc3RhdHVzXSBzdGF0dVtzLWludGVydmFsXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCB0ZVtybS1zdGF0dXNdIHZlcmJbb3NlXSB2ZXJpZnktaFtvc3RdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHZlcmlmeS1wYXRoIHZlcmlmeS1wYXRoWy1jYWNoZWRdCisiIGNvbG9yOgorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBkaXJbLWNvbG9yc10gdXNlLWNbb2xvcl0KKyIgZG5zOgorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBTW1JWLXF1ZXJ5XSBjYWNoZS1lblthYmxlXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjYWNoZS1leFtwaXJlXSBjYWNoZS1zW2l6ZV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgZmF0W2FsLXRpbWVvdXRdIG9bcmRlcl0gdXNlLWZvW3JrXQorIiBmaWxlOgorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjaFthcnNldF0KKyIgZmlzaDoKK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgY29ubmVjdFstcHJvZ3JhbV0gc2hbZWxsXQorIiBmdHA6CitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGFjY3QgYW5vbi1wW2Fzc10gYW5vbi11W3Nlcl0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgYXVbdG8tc3luYy1tb2RlXSBiW2luZC1kYXRhLXNvY2tldF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgY2hbYXJzZXRdIGNsaVtlbnRdIGRldltpY2UtcHJlZml4XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBmaVt4LXBhc3YtYWRkcmVzc10gZnhwLWZbb3JjZV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgZnhwLXBbYXNzaXZlLXNvdXJjZV0gaFtvbWVdIGxhW25nXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBsaXN0LWVbbXB0eS1va10gbGlzdC1vW3B0aW9uc10KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgbm9wWy1pbnRlcnZhbF0gcGFzW3NpdmUtbW9kZV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcG9ydC1pW3B2NF0gcG9ydC1yW2FuZ2VdIHByb3hbeV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcmVzdC1sW2lzdF0gcmVzdC1zW3Rvcl0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcmV0cnktNTMwIHJldHJ5LTUzMFstYW5vbnltb3VzXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBzaXRbZS1ncm91cF0gc2tleS1hW2xsb3ddCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHNrZXktZltvcmNlXSBzc2wtYWxsb3cKK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc3NsLWFsbG93Wy1hbm9ueW1vdXNdIHNzbC1hdVt0aF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc3NsLWZbb3JjZV0gc3NsLXByb3RlY3QtZFthdGFdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHNzbC1wcm90ZWN0LWxbaXN0XSBzdGF0LVtpbnRlcnZhbF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc3lbbmMtbW9kZV0gdGltZXpbb25lXSB1c2UtYVtib3JdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHVzZS1mZVthdF0gdXNlLWZ4W3BdIHVzZS1oZlt0cF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgdXNlLW1kdG0gdXNlLW1kdG1bLW92ZXJsb2FkZWRdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHVzZS1tbFtzZF0gdXNlLXBbcmV0XSB1c2UtcVt1aXRdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHVzZS1zaXRlLWNbaG1vZF0gdXNlLXNpdGUtaVtkbGVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHVzZS1zaXRlLXVbdGltZV0gdXNlLXNpeltlXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCB1c2Utc3RbYXRdIHVzZS10ZVtsbmV0LWlhY10KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgdmVyaWZ5LWFbZGRyZXNzXSB2ZXJpZnktcFtvcnRdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHdbZWItbW9kZV0KKyIgaGZ0cDoKK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgd1tlYi1tb2RlXSBjYWNoZSBwcm94W3ldCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHVzZS1hdVt0aG9yaXphdGlvbl0gdXNlLWhlW2FkXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCB1c2UtdHlbcGVdCisiIGh0dHA6CitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGFjY2VwdCBhY2NlcHQtY1toYXJzZXRdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGFjY2VwdC1sW2FuZ3VhZ2VdIGNhY2hlIGNvb1traWVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHBvc1t0LWNvbnRlbnQtdHlwZV0gcHJveFt5XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwdXQtY1tvbnRlbnQtdHlwZV0gcHV0LW1bZXRob2RdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHJlZltlcmVyXSBzZXQtY1tvb2tpZXNdIHVzZXJbLWFnZW50XQorIiBodHRwczoKK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcHJveFt5XQorIiBtaXJyb3I6CitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGV4Y1tsdWRlLXJlZ2V4XSBvW3JkZXJdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHBhcmFsbGVsLWRbaXJlY3Rvcmllc10KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcGFyYWxsZWwtdFtyYW5zZmVyLWNvdW50XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCB1c2UtcFtnZXQtbl0KKyIgbW9kdWxlOgorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwYXRbaF0KKyIgbmV0Ogorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjb25uZWN0aW9uLWxbaW1pdF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgY29ubmVjdGlvbi10W2FrZW92ZXJdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGlkW2xlXSBsaW1pdC1tW2F4XSBsaW1pdC1yW2F0ZV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgbGltaXQtdG90YWwtbVtheF0gbGltaXQtdG90YWwtclthdGVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIG1heC1yZXRbcmllc10gbm8tW3Byb3h5XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwZVtyc2lzdC1yZXRyaWVzXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCByZWNvbm5lY3QtaW50ZXJ2YWwtYlthc2VdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHJlY29ubmVjdC1pbnRlcnZhbC1tYVt4XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCByZWNvbm5lY3QtaW50ZXJ2YWwtbXVbbHRpcGxpZXJdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHNvY2tldC1iaW5kLWlwdjQgc29ja2V0LWJpbmQtaXB2Ngorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBzb2NrZXQtYnVbZmZlcl0gc29ja2V0LW1bYXhzZWddCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHRpbWVvW3V0XQorIiBzZnRwOgorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjb25uZWN0Wy1wcm9ncmFtXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBtYXgtcFthY2tldHMtaW4tZmxpZ2h0XQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwcm90W29jb2wtdmVyc2lvbl0gc2VyW3Zlci1wcm9ncmFtXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBzaXplLXJbZWFkXSBzaXplLXdbcml0ZV0KKyIgc3NsOgorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjYS1mW2lsZV0gY2EtcFthdGhdIGNlW3J0LWZpbGVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGNybC1mW2lsZV0gY3JsLXBbYXRoXSBrW2V5LWZpbGVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHZlcmlmeS1jW2VydGlmaWNhdGVdCisiIHhmZXI6CitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGNsb1tiYmVyXSBkaXNbay1mdWxsLWZhdGFsXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBldGEtcFtlcmlvZF0gZXRhLXRbZXJzZV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgbWFrW2UtYmFja3VwXSBtYXgtcmVkW2lyZWN0aW9uc10KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcmFbdGUtcGVyaW9kXQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sZnRwX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2xmdHBfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbGZ0cENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGxmdHBUb2RvCQlUb2RvCisgIEhpTGluayBsZnRwU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIGxmdHBOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgbGZ0cEJvb2xlYW4JCUJvb2xlYW4KKyAgSGlMaW5rIGxmdHBJbnRlcnZhbAkJTnVtYmVyCisgIEhpTGluayBsZnRwS2V5d29yZHMJCUtleXdvcmQKKyAgSGlMaW5rIGxmdHBTZXR0aW5nc1ByZWZpeAlQcmVQcm9jCisgIEhpTGluayBsZnRwU2V0dGluZ3MJCVR5cGUKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImxmdHAiCisKKyIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xoYXNrZWxsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xoYXNrZWxsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTBjY2ZhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbGhhc2tlbGwudmltCkBAIC0wLDAgKzEsMTM2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJCUhhc2tlbGwgd2l0aCBsaXRlcmF0ZSBjb21tZW50cywgQmlyZCBzdHlsZSwKKyIJCQlUZVggc3R5bGUgYW5kIHBsYWluIHRleHQgc3Vycm91bmRpbmcKKyIJCQlcYmVnaW57Y29kZX0gXGVuZHtjb2RlfSBibG9ja3MKKyIgTWFpbnRhaW5lcjoJCUhhc2tlbGwgQ2FmZSBtYWlsaW5nbGlzdCA8aGFza2VsbC1jYWZlQGhhc2tlbGwub3JnPgorIiBPcmlnaW5hbCBBdXRob3I6CUFydGh1ciB2YW4gTGVldXdlbiA8YXJ0aHVydmxAY3MudXUubmw+CisiIExhc3QgQ2hhbmdlOgkJMjAwNCBNYXkgMTYKKyIgVmVyc2lvbjoJCTEuMDEKKyIKKyIgVGhhbmtzIHRvIElhbiBMeW5hZ2ggZm9yIHRob3VnaHRmdWwgY29tbWVudHMgb24gaW5pdGlhbCB2ZXJzaW9ucyBhbmQKKyIgZm9yIHRoZSBpbnNwaXJhdGlvbiBmb3Igd3JpdGluZyB0aGlzIGluIHRoZSBmaXJzdCBwbGFjZS4KKyIKKyIgVGhpcyBzdHlsZSBndWVzc2VzIGFzIHRvIHRoZSB0eXBlIG9mIG1hcmt1cCB1c2VkIGluIGEgbGl0ZXJhdGUgaGFza2VsbAorIiBmaWxlIGFuZCB3aWxsIGhpZ2hsaWdodCAoTGEpVGVYIG1hcmt1cCBpZiBpdCBmaW5kcyBhbnkKKyIgVGhpcyBiZWhhdmlvdXIgY2FuIGJlIG92ZXJyaWRkZW4sIGJvdGggZ2xhYmFsbHkgYW5kIGxvY2FsbHkgdXNpbmcKKyIgdGhlIGxoc19tYXJrdXAgdmFyaWFibGUgb3IgYjpsaHNfbWFya3VwIHZhcmlhYmxlIHJlc3BlY3RpdmVseS4KKyIKKyIgbGhzX21hcmt1cAkgICAgbXVzdCBiZSBzZXQgdG8gZWl0aGVyICB0ZXgJb3IgIG5vbmUgIHRvIGluZGljYXRlIHRoYXQKKyIJCSAgICB5b3UgYWx3YXlzIHdhbnQgKExhKVRlWCBoaWdobGlnaHRpbmcgb3Igbm8gaGlnaGxpZ2h0aW5nCisiCQkgICAgbXVzdCBub3QgYmUgc2V0IHRvIGxldCB0aGUgaGlnaGxpZ2h0aW5nIGJlIGd1ZXNzZWQKKyIgYjpsaHNfbWFya3VwCSAgICBtdXN0IGJlIHNldCB0byBlaXRlcmggIHRleAlvciAgbm9uZSAgdG8gaW5kaWNhdGUgdGhhdAorIgkJICAgIHlvdSB3YW50IChMYSlUZVggaGlnaGxpZ2h0aW5nIG9yIG5vIGhpZ2hsaWdodGluZyBmb3IKKyIJCSAgICB0aGlzIHBhcnRpY3VsYXIgYnVmZmVyCisiCQkgICAgbXVzdCBub3QgYmUgc2V0IHRvIGxldCB0aGUgaGlnaGxpZ2h0aW5nIGJlIGd1ZXNzZWQKKyIKKyIKKyIgMjAwNCBGZWJydWFyeSAxODogTmV3IHZlcnNpb24sIGJhc2VkIG9uIElhbiBMeW5hZ2gncyBUZVggZ3Vlc3NpbmcKKyIJCSAgICBsaGFza2VsbC52aW0sIGN3ZWIudmltLCB0ZXgudmltLCBzaC52aW0gYW5kIGZvcnRyYW4udmltCisiIDIwMDQgRmVicnVhcnkgMjA6IENsZWFuZWQgdXAgdGhlIGd1ZXNzaW5nIGFuZCBvdmVycmlkaW5nIGEgYml0CisiIDIwMDQgRmVicnVhcnkgMjM6IENsZWFuZWQgdXAgc3ludGF4IGhpZ2hsaWdodGluZyBmb3IgXGJlZ2lue2NvZGV9IGFuZAorIgkJICAgIFxlbmR7Y29kZX0sIGFkZGVkIHNvbWUgY2xhcmlmaWNhdGlvbiB0byB0aGUgYXR0cmlidXRpb25zCisiCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEZpcnN0IG9mZiwgc2VlIGlmIHdlIGNhbiBpbmhlcml0IGEgdXNlciBwcmVmZXJlbmNlIGZvciBsaHNfbWFya3VwCitpZiAhZXhpc3RzKCJiOmxoc19tYXJrdXAiKQorICAgIGlmIGV4aXN0cygibGhzX21hcmt1cCIpCisJaWYgbGhzX21hcmt1cCA9fiAnXDxcJSh0ZXhcfG5vbmVcKVw+JworCSAgICBsZXQgYjpsaHNfbWFya3VwID0gbWF0Y2hzdHIobGhzX21hcmt1cCwnXDxcJSh0ZXhcfG5vbmVcKVw+JykKKwllbHNlCisJICAgIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiVW5rbm93biB2YWx1ZSBvZiBsaHNfbWFya3VwIiB8IGVjaG9obCBOb25lCisJICAgIGxldCBiOmxoc19tYXJrdXAgPSAidW5rbm93biIKKwllbmRpZgorICAgIGVsc2UKKwlsZXQgYjpsaHNfbWFya3VwID0gInVua25vd24iCisgICAgZW5kaWYKK2Vsc2UKKyAgICBpZiBiOmxoc19tYXJrdXAgIX4gJ1w8XCUodGV4XHxub25lXClcPicKKwlsZXQgYjpsaHNfbWFya3VwID0gInVua25vd24iCisgICAgZW5kaWYKK2VuZGlmCisKKyIgUmVtZW1iZXIgd2hlcmUgdGhlIGN1cnNvciBpcywgYW5kIGdvIHRvIHVwcGVybGVmdAorbGV0IHM6b2xkbGluZT1saW5lKCIuIikKK2xldCBzOm9sZGNvbHVtbj1jb2woIi4iKQorY2FsbCBjdXJzb3IoMSwxKQorCisiIElmIG5vIHVzZXIgcHJlZmVyZW5jZSwgc2NhbiBidWZmZXIgZm9yIG91ciBndWVzcyBvZiB0aGUgbWFya3VwIHRvCisiIGhpZ2hsaWdodC4gV2Ugb25seSBkaWZmZXJlbnRpYXRlIGJldHdlZW4gVGVYIGFuZCBwbGFpbiBtYXJrdXAsIHdoZXJlCisiIHBsYWluIGlzIG5vdCBoaWdobGlnaHRlZC4gVGhlIGhldXJpc3RpYyBmb3IgZmluZGluZyBUZVggbWFya3VwIGlzIGlmCisiIG9uZSBvZiB0aGUgZm9sbG93aW5nIG9jY3VycyBhbnl3aGVyZSBpbiB0aGUgZmlsZToKKyIgICAtIFxkb2N1bWVudGNsYXNzCisiICAgLSBcYmVnaW57ZW52fSAgICAgICAoZm9yIGVudiAhPSBjb2RlKQorIiAgIC0gXHBhcnQsIFxjaGFwdGVyLCBcc2VjdGlvbiwgXHN1YnNlY3Rpb24sIFxzdWJzdWJzZWN0aW9uLCBldGMKK2lmIGI6bGhzX21hcmt1cCA9PSAidW5rbm93biIKKyAgICBpZiBzZWFyY2goJyVcfFxcZG9jdW1lbnRjbGFzc1x8XFxiZWdpbntcKGNvZGV9XClcQCFcfFxcXChzdWJcKSpzZWN0aW9uXHxcXGNoYXB0ZXJ8XFxwYXJ0JywnVycpICE9IDAKKwlsZXQgYjpsaHNfbWFya3VwID0gInRleCIKKyAgICBlbHNlCisJbGV0IGI6bGhzX21hcmt1cCA9ICJwbGFpbiIKKyAgICBlbmRpZgorZW5kaWYKKworIiBJZiB1c2VyIHdhbnRzIHVzIHRvIGhpZ2hsaWdodCBUZVggc3ludGF4LCByZWFkIGl0LgoraWYgYjpsaHNfbWFya3VwID09ICJ0ZXgiCisgICAgaWYgdmVyc2lvbiA8IDYwMAorCXNvdXJjZSA8c2ZpbGU+OnA6aC90ZXgudmltCisgICAgZWxzZQorCXJ1bnRpbWUhIHN5bnRheC90ZXgudmltCisJdW5sZXQgYjpjdXJyZW50X3N5bnRheAorICAgIGVuZGlmCitlbmRpZgorCisiIExpdGVyYXRlIEhhc2tlbGwgaXMgSGFza2VsbCBpbiBiZXR3ZWVuIHRleHQsIHNvIGF0IGxlYXN0IHJlYWQgSGFza2VsbAorIiBoaWdobGlnaHRpbmcKK2lmIHZlcnNpb24gPCA2MDAKKyAgICBzeW50YXggaW5jbHVkZSBAaGFza2VsbFRvcCA8c2ZpbGU+OnA6aC9oYXNrZWxsLnZpbQorZWxzZQorICAgIHN5bnRheCBpbmNsdWRlIEBoYXNrZWxsVG9wIHN5bnRheC9oYXNrZWxsLnZpbQorZW5kaWYKKworc3ludGF4IHJlZ2lvbiBsaHNIYXNrZWxsQmlyZFRyYWNrIHN0YXJ0PSJePiIgZW5kPSJcJSheW14+XVwpXEA9IiBjb250YWlucz1AaGFza2VsbFRvcCxsaHNCaXJkVHJhY2sKK3N5bnRheCByZWdpb24gbGhzSGFza2VsbEJlZ2luRW5kQmxvY2sgc3RhcnQ9Il5cXGJlZ2lue2NvZGV9XHMqJCIgbWF0Y2hncm91cD1OT05FIGVuZD0iXCUoXlxcZW5ke2NvZGV9LiokXClcQD0iIGNvbnRhaW5zPUBoYXNrZWxsVG9wLEBiZWdpbkNvZGUKKworc3ludGF4IG1hdGNoIGxoc0JpcmRUcmFjayAiXj4iIGNvbnRhaW5lZAorCitzeW50YXggbWF0Y2ggYmVnaW5Db2RlQmVnaW4gIl5cXGJlZ2luIiBuZXh0Z3JvdXA9YmVnaW5Db2RlQ29kZSBjb250YWluZWQKK3N5bnRheCByZWdpb24gYmVnaW5Db2RlQ29kZSAgbWF0Y2hncm91cD10ZXhEZWxpbWl0ZXIgc3RhcnQ9InsiIGVuZD0ifSIKK3N5bnRheCBjbHVzdGVyIGJlZ2luQ29kZSAgICBjb250YWlucz1iZWdpbkNvZGVCZWdpbixiZWdpbkNvZGVDb2RlCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RleF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF90ZXhfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbGhzQmlyZFRyYWNrIENvbW1lbnQKKworICBIaUxpbmsgYmVnaW5Db2RlQmVnaW4JICAgICAgdGV4Q21kTmFtZQorICBIaUxpbmsgYmVnaW5Db2RlQ29kZQkgICAgICB0ZXhTZWN0aW9uCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKyIgUmVzdG9yZSBjdXJzb3IgdG8gb3JpZ2luYWwgcG9zaXRpb24sIGFzIGl0IG1heSBoYXZlIGJlZW4gZGlzdHVyYmVkCisiIGJ5IHRoZSBzZWFyY2hlcyBpbiBvdXIgZ3Vlc3NpbmcgY29kZQorY2FsbCBjdXJzb3IgKHM6b2xkbGluZSwgczpvbGRjb2x1bW4pCisKK3VubGV0IHM6b2xkbGluZQordW5sZXQgczpvbGRjb2x1bW4KKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibGhhc2tlbGwiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9saWJhby52aW0gYi9ydW50aW1lL3N5bnRheC9saWJhby52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY3NTE1MAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2xpYmFvLnZpbQpAQCAtMCwwICsxLDQ2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIGxpYmFvIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9saWJhby8KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgorIiBhcmNoLXRhZzoJICAgIDRkZGVmMGE4LTY4MTctNDU1NS1hNWExLTBiZTgyMDk0MDUzZAorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBUb2RvCitzeW4ga2V5d29yZCBsaWJhb1RvZG8JICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCisKKyIgQ29tbWVudHMKK3N5biByZWdpb24gIGxpYmFvQ29tbWVudCAgICBtYXRjaGdyb3VwPWxpYmFvQ29tbWVudCBzdGFydD0nXlxzKiMnIGVuZD0nJCcgY29udGFpbnM9bGliYW9Ub2RvCisKKyIgS2V5d29yZHMKK3N5biBrZXl3b3JkIGxpYmFvS2V5d29yZCAgICBkZWZhdWx0X2RyaXZlcgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9saWJhb19zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9saWJhb19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgICBjb21tYW5kIC1uYXJncz0rIEhpRGVmIGhpIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaURlZiBoaSBkZWYgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGxpYmFvVG9kbwlUb2RvCisgIEhpTGluayBsaWJhb0NvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgbGliYW9LZXl3b3JkCUtleXdvcmQKKworICBkZWxjb21tYW5kIEhpTGluaworICBkZWxjb21tYW5kIEhpRGVmCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsaWJhbyIKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGlmZWxpbmVzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xpZmVsaW5lcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZhMmM4ZAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2xpZmVsaW5lcy52aW0KQEAgLTAsMCArMSwxMTggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglMaWZlbGluZXMgKHYgMy4wLjcpIGh0dHA6Ly9saWZlbGluZXMuc291cmNlZm9yZ2UubmV0CisiIE1haW50YWluZXI6CVBhdHJpY2sgVGV4aWVyIDxwLnRleGllckBvcnNlbm5lcy5jb20+CisiIExvY2F0aW9uOglmdHA6Ly8yMTYuNzEuNzIuMjM2L2xpZmVsaW5lcy52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDIgTWFyIDAzCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEEgYnVuY2ggb2YgdXNlZnVsIGxpZmVsaW5lcyBrZXl3b3JkcyAzLjAuNworCitzeW4ga2V5d29yZAlsaWZlbGluZXNTdGF0ZW1lbnQJc2V0CitzeW4ga2V5d29yZAlsaWZlbGluZXNVc2VyCQlnZXRpbmRpIGdlaW5kaXNldCBnZXRmYW0gZ2V0aW50IGdldHN0ciBjaG9vc2VjaGlsZAorc3luIGtleXdvcmQJbGlmZWxpbmVzVXNlcgkJY2hvb3NlaW5kaSBjaG9vc2VzcG91c2UgY2hvb3Nlc3Vic2V0IG1lbnVjaG9vc2UKK3N5biBrZXl3b3JkCWxpZmVsaW5lc1VzZXIJCWNob29zZWZhbSBnZXRpbnRtc2cgZ2V0aW5kaW1zZyBnZXRzdHJtc2cKK3N5biBrZXl3b3JkCWxpZmVsaW5lc1Byb2MJCXByb2MgZnVuYyByZXR1cm4gY2FsbAorc3luIGtleXdvcmQJbGlmZWxpbmVzSW5jbHVkZQlpbmNsdWRlCitzeW4ga2V5d29yZAlsaWZlbGluZXNEZWYJCWdsb2JhbAorc3luIGtleXdvcmQJbGlmZWxpbmVzQ29uZGl0aW9uYWwJaWYgZWxzZSBlbHNpZiBzd2l0Y2gKK3N5biBrZXl3b3JkCWxpZmVsaW5lc1JlcGVhdAkJY29udGludWUgYnJlYWsgd2hpbGUKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0xvZ2ljYWwJYW5kIG9yIG5vdCBlcSBuZSBsdCBndCBsZSBnZSBzdHJjbXAgZXFzdHIgbmVzdHIKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0FyaXRobQkJYWRkIHN1YiBtdWwgZGl2IG1vZCBleHAgbmVnIGluY3IgZGVjcgorc3luIGtleXdvcmQJbGlmZWxpbmVzSW5kaQkJbmFtZSBmdWxsbmFtZSBzdXJuYW1lIGdpdmVucyB0cmltbmFtZSBiaXJ0aAorc3luIGtleXdvcmQJbGlmZWxpbmVzSW5kaQkJZGVhdGggYmFwdGlzbSBidXJpYWwKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0luZGkJCWZhdGhlciBtb3RoZXIgbmV4dHNpYiBwcmV2c2liIHNleCBtYWxlIGZlbWFsZQorc3luIGtleXdvcmQJbGlmZWxpbmVzSW5kaQkJcG4gbnNwb3VzZXMgbmZhbWlsaWVzIHBhcmVudHMgdGl0bGUga2V5CitzeW4ga2V5d29yZAlsaWZlbGluZXNJbmRpCQlzb3VuZGV4IGlub2RlIHJvb3QgaW5kaSBmaXJzdGluZGkgbmV4dGluZGkKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0luZGkJCXByZXZpbmRpIHNwb3VzZXMgZmFtaWxpZXMgZm9yaW5kaSBpbmRpc2V0CitzeW4ga2V5d29yZAlsaWZlbGluZXNJbmRpCQlhZGR0b3NldCBkZWxldGVmcm9tc2V0IGxlbmd0aHNldCB1bmlvbiBpbnRlcnNlY3QKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0luZGkJCWRpZmZlcmVuY2UgcGFyZW50c2V0IGNoaWxkc2V0IHNwb3VzZXNldCBzaWJsaW5nc2V0CitzeW4ga2V5d29yZAlsaWZlbGluZXNJbmRpCQlhbmNlc3RvcnNldCBkZXNjZW5kZW50c2V0IGRlc2NlbmRhbnRzZXQgdW5pcXVlc2V0CitzeW4ga2V5d29yZAlsaWZlbGluZXNJbmRpCQluYW1lc29ydCBrZXlzb3J0IHZhbHVlc29ydCBnZW5pbmRpc2V0IGdldGluZGlzZXQKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0luZGkJCWZvcmluZGlzZXQgbGFzdGluZGkgd3JpdGVpbmRpCitzeW4ga2V5d29yZAlsaWZlbGluZXNJbmRpCQlpbnNldAorc3luIGtleXdvcmQJbGlmZWxpbmVzRmFtCQltYXJyaWFnZSBodXNiYW5kIHdpZmUgbmNoaWxkcmVuIGZpcnN0Y2hpbGQKK3N5biBrZXl3b3JkICAgICBsaWZlbGluZXNGYW0JCWxhc3RjaGlsZCBmbm9kZSBmYW0gZmlyc3RmYW0gbmV4dGZhbSBsYXN0ZmFtCitzeW4ga2V5d29yZCAgICAgbGlmZWxpbmVzRmFtCQlwcmV2ZmFtIGNoaWxkcmVuIGZvcmZhbSB3cml0ZWZhbQorc3luIGtleXdvcmQJbGlmZWxpbmVzTGlzdAkJbGlzdCBlbXB0eSBsZW5ndGggZW5xdWV1ZSBkZXF1ZXVlIHJlcXVldWUKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0xpc3QJCXB1c2ggcG9wIHNldGVsIGdldGVsIGZvcmxpc3QgaW5saXN0CitzeW4ga2V5d29yZAlsaWZlbGluZXNUYWJsZQkJdGFibGUgaW5zZXJ0IGxvb2t1cAorc3luIGtleXdvcmQJbGlmZWxpbmVzR2VkY29tCQl4cmVmIHRhZyB2YWx1ZSBwYXJlbnQgY2hpbGQgc2libGluZyBzYXZlbm9kZQorc3luIGtleXdvcmQJbGlmZWxpbmVzR2VkY29tCQlmb3Jub2RlcyB0cmF2ZXJzZSBjcmVhdGVub2RlIGFkZG5vZGUgZGVsZXRlbm9kZQorc3luIGtleXdvcmQJbGlmZWxpbmVzR2VkY29tCQlyZWZlcmVuY2UgZGVyZWZlcmVuY2UgZ2V0cmVjb3JkCitzeW4ga2V5d29yZCAgICAgbGlmZWxpbmVzR2VkY29tCQlnZW5nZWRjb20gZ2VuZ2VkY29tc3Ryb25nIGdlbmdlZGNvbXdlYWsKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0Z1bmN0CQlkYXRlIHBsYWNlIHllYXIgbG9uZyBzaG9ydCBnZXR0b2RheSBkYXlmb3JtYXQKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0Z1bmN0CQltb250aGZvcm1hdCBkYXRlZm9ybWF0IGV4dHJhY3RkYXRlCitzeW4ga2V5d29yZAlsaWZlbGluZXNGdW5jdAkJY29tcGxleGRhdGUKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0Z1bmN0CQlleHRyYWN0bmFtZXMgZXh0cmFjdHBsYWNlcyBleHRyYWN0dG9rZW5zIGxvd2VyCitzeW4ga2V5d29yZCAgICAgbGlmZWxpbmVzRnVuY3QJCXVwcGVyIGNhcGl0YWxpemUgdHJpbSByanVzdGlmeSBzYXZlIHN0cnNhdmUKK3N5biBrZXl3b3JkICAgICBsaWZlbGluZXNGdW5jdAkJY29uY2F0IHN0cmNvbmNhdCBzdHJsZW4gc3Vic3RyaW5nIGluZGV4CitzeW4ga2V5d29yZAlsaWZlbGluZXNGdW5jdAkJZCBjYXJkIG9yZCBhbHBoYSByb21hbiBzdHJzb3VuZGV4IHN0cnRvaW50CitzeW4ga2V5d29yZAlsaWZlbGluZXNGdW5jdAkJYXRvaSBsaW5lbW9kZSBwYWdlbW9kIGNvbCByb3cgcG9zIHBhZ2VvdXQgbmwKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0Z1bmN0CQlzcCBxdCBuZXdmaWxlIG91dGZpbGUgY29weWZpbGUgcHJpbnQgbG9jayB1bmxvY2sKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0Z1bmN0CQlkYXRhYmFzZSB2ZXJzaW9uIHN5c3RlbSBzdGRkYXRlIHByb2dyYW0KK3N5biBrZXl3b3JkCWxpZmVsaW5lc0Z1bmN0CQlwdmFsdWUgcGFnZW1vZGUgbGV2ZWwgZXh0cmFjdGRhdGVzdHIgZGVidWcKK3N5biBrZXl3b3JkCWxpZmVsaW5lc0Z1bmN0CQlmIGZyZWUgZ2V0Y29sIGdldHByb3BlcnR5IGhlYXB1c2VkCisKK3N5biByZWdpb24JbGlmZWxpbmVzU3RyaW5nCQlzdGFydD0rTFw9Iisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPWxpZmVsaW5lc1NwZWNpYWwKKworc3luIHJlZ2lvbglsaWZlbGluZXNDb21tZW50CXN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIgY29udGFpbnM9bGlmZWxpbmVzQ29tbWVudAorCisiIE9ubHkgaW50ZWdlcnMgd2l0aCBsaWZlbGluZXMKKworc3luIG1hdGNoCWxpZmVsaW5lc051bWJlcgkJIlw8XGRcK1w+IgorCisiY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworImFkYXB0ZWQgZnJvbSBvcmlnaW5hbCBjLnZpbSB3cml0dGVuIGJ5IEJyYW0gTW9vbGVuYWFyCisKK3N5biBjbHVzdGVyCWxpZmVsaW5lc1BhcmVuR3JvdXAJY29udGFpbnM9bGlmZWxpbmVzUGFyZW5FcnJvcgorc3luIHJlZ2lvbglsaWZlbGluZXNQYXJlbgkJdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBsaWZlbGluZXNQYXJlbkdyb3VwCitzeW4gbWF0Y2gJbGlmZWxpbmVzUGFyZW5FcnJvcgkiKSIKK3N5biBtYXRjaAlsaWZlbGluZXNFcnJJblBhcmVuCWNvbnRhaW5lZCAiW3t9XSIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9saWZlbGluZXNfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbGlmZWxpbmVzX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGxpZmVsaW5lc0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBsaWZlbGluZXNBcml0aG0JT3BlcmF0b3IKKyAgSGlMaW5rIGxpZmVsaW5lc0xvZ2ljYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGxpZmVsaW5lc0luY2x1ZGUJSW5jbHVkZQorICBIaUxpbmsgbGlmZWxpbmVzQ29tbWVudAlDb21tZW50CisgIEhpTGluayBsaWZlbGluZXNTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBsaWZlbGluZXNVc2VyCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGxpZmVsaW5lc0Z1bmN0CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGxpZmVsaW5lc1RhYmxlCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGxpZmVsaW5lc0dlZGNvbQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGxpZmVsaW5lc0xpc3QJCVN0YXRlbWVudAorICBIaUxpbmsgbGlmZWxpbmVzUmVwZWF0CVJlcGVhdAorICBIaUxpbmsgbGlmZWxpbmVzRmFtCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGxpZmVsaW5lc0luZGkJCVN0YXRlbWVudAorICBIaUxpbmsgbGlmZWxpbmVzUHJvYwkJU3RhdGVtZW50CisgIEhpTGluayBsaWZlbGluZXNEZWYJCVN0YXRlbWVudAorICBIaUxpbmsgbGlmZWxpbmVzU3RyaW5nCVN0cmluZworICBIaUxpbmsgbGlmZWxpbmVzTnVtYmVyCU51bWJlcgorICBIaUxpbmsgbGlmZWxpbmVzUGFyZW5FcnJvcglFcnJvcgorICBIaUxpbmsgbGlmZWxpbmVzRXJySW5QYXJlbglFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsaWZlbGluZXMiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9saWxvLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xpbG8udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5N2JiOWMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9saWxvLnZpbQpAQCAtMCwwICsxLDE5NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgVGhpcyBpcyBhIEdFTkVSQVRFRCBGSUxFLiBQbGVhc2UgYWx3YXlzIHJlZmVyIHRvIHNvdXJjZSBmaWxlIGF0IHRoZSBVUkkgYmVsb3cuCisiIExhbmd1YWdlOiBsaWxvIGNvbmZpZ3VyYXRpb24gKGxpbG8uY29uZikKKyIgTWFpbnRhaW5lcjogRGF2aWQgTmVcdntjfWFzIChZZXRpKSA8eWV0aUBwaHlzaWNzLm11bmkuY3o+CisiIExhc3QgQ2hhbmdlOiAyMDAzIE1heSAwNAorIiBVUkw6IGh0dHA6Ly90cmlmaWMuYXRoLmN4L0Z0cC92aW0vc3ludGF4L2xpbG8udmltCisKKyIgU2V0dXAKK2lmIHZlcnNpb24gPj0gNjAwCisJaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwkJZmluaXNoCisJZW5kaWYKK2Vsc2UKKwlzeW50YXggY2xlYXIKK2VuZGlmCisKK2lmIHZlcnNpb24gPj0gNjAwCisJY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgorZWxzZQorCWNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+CitlbmRpZgorU2V0SXNrIEAsNDgtNTcsLiwtLF8KK2RlbGNvbW1hbmQgU2V0SXNrCisKK3N5biBjYXNlIGlnbm9yZQorCisiIEJhc2UgY29uc3RydWN0cworc3luIG1hdGNoIGxpbG9FcnJvciAiXFNcKyIKK3N5biBtYXRjaCBsaWxvQ29tbWVudCAiIy4qJCIKK3N5biBtYXRjaCBsaWxvRW52aXJvbiAiXCRcd1wrIiBjb250YWluZWQKK3N5biBtYXRjaCBsaWxvRW52aXJvbiAiXCR7W159XVwrfSIgY29udGFpbmVkCitzeW4gbWF0Y2ggbGlsb0RlY051bWJlciAiXGRcKyIgY29udGFpbmVkCitzeW4gbWF0Y2ggbGlsb0hleE51bWJlciAiMFt4WF1ceFwrIiBjb250YWluZWQKK3N5biBtYXRjaCBsaWxvRGVjTnVtYmVyUCAiXGRcK3BcPSIgY29udGFpbmVkCitzeW4gbWF0Y2ggbGlsb1NwZWNpYWwgY29udGFpbmVkICJcXFwoXCJcfFxcXHwkXCkiCitzeW4gcmVnaW9uIGxpbG9TdHJpbmcgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWluZWQgY29udGFpbnM9bGlsb1NwZWNpYWwsbGlsb0Vudmlyb24KK3N5biBtYXRjaCBsaWxvTGFiZWwgIlxTXCsiIGNvbnRhaW5lZCBjb250YWlucz1saWxvU3BlY2lhbCxsaWxvRW52aXJvbgorc3luIHJlZ2lvbiBsaWxvUGF0aCBzdGFydD0rWyQvXSsgc2tpcD0rXFxcXFx8XFwgXHxcXCQiKyBlbmQ9KyBcfCQrIGNvbnRhaW5lZCBjb250YWlucz1saWxvU3BlY2lhbCxsaWxvRW52aXJvbgorc3luIG1hdGNoIGxpbG9EZWNOdW1iZXJMaXN0ICJcKFxkXHwsXClcKyIgY29udGFpbmVkIGNvbnRhaW5zPWxpbG9EZWNOdW1iZXIKK3N5biBtYXRjaCBsaWxvRGVjTnVtYmVyUExpc3QgIlwoXGRcfFsscF1cKVwrIiBjb250YWluZWQgY29udGFpbnM9bGlsb0RlY051bWJlclAsbGlsb0RlY051bWJlcgorc3luIHJlZ2lvbiBsaWxvQW55dGhpbmcgc3RhcnQ9K1teWzpzcGFjZTpdI10rIHNraXA9K1xcXFxcfFxcIFx8XFwkKyBlbmQ9KyBcfCQrIGNvbnRhaW5lZCBjb250YWlucz1saWxvU3BlY2lhbCxsaWxvRW52aXJvbixsaWxvU3RyaW5nCisKKyIgUGF0aAorc3luIGtleXdvcmQgbGlsb09wdGlvbiBiYWNrdXAgYml0bWFwIGJvb3QgZGlza3RhYiBmb3JjZS1iYWNrdXAgaW5zdGFsbCBrZXl0YWJsZSBtYXAgbWVzc2FnZSBuZXh0Z3JvdXA9bGlsb0VxUGF0aCxsaWxvRXFQYXRoQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIGtleXdvcmQgbGlsb0tlcm5lbE9wdCBpbml0cmQgcm9vdCBuZXh0Z3JvdXA9bGlsb0VxUGF0aCxsaWxvRXFQYXRoQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIGtleXdvcmQgbGlsb0ltYWdlT3B0IHBhdGggbG9hZGVyIHRhYmxlIG5leHRncm91cD1saWxvRXFQYXRoLGxpbG9FcVBhdGhDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4ga2V5d29yZCBsaWxvRGlza09wdCBwYXJ0aXRpb24gbmV4dGdyb3VwPWxpbG9FcVBhdGgsbGlsb0VxUGF0aENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKKworIiBPdGhlcgorc3luIGtleXdvcmQgbGlsb09wdGlvbiBtZW51LXNjaGVtZSByYWlkLWV4dHJhLWJvb3Qgc2VyaWFsIG5leHRncm91cD1saWxvRXFBbnl0aGluZyxsaWxvRXFBbnl0aGluZ0NvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBrZXl3b3JkIGxpbG9PcHRpb24gZGVmYXVsdCBuZXh0Z3JvdXA9bGlsb0VxTGFiZWwsbGlsb0VxTGFiZWxDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4ga2V5d29yZCBsaWxvS2VybmVsT3B0IHJhbWRpc2sgbmV4dGdyb3VwPWxpbG9FcUFueXRoaW5nLGxpbG9FcUFueXRoaW5nQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIGtleXdvcmQgbGlsb0ltYWdlT3B0IGFsaWFzIGxhYmVsIG5leHRncm91cD1saWxvRXFMYWJlbCxsaWxvRXFMYWJlbENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBrZXl3b3JkIGxpbG9JbWFnZU9wdCBwYXNzd29yZCByYW5nZSBuZXh0Z3JvdXA9bGlsb0VxQW55dGhpbmcsbGlsb0VxQW55dGhpbmdDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4ga2V5d29yZCBsaWxvRGlza09wdCBzZXQgdHlwZSBuZXh0Z3JvdXA9bGlsb0VxQW55dGhpbmcsbGlsb0VxQW55dGhpbmdDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CisKKyIgU3ltYm9saWMKK3N5biBrZXl3b3JkIGxpbG9LZXJuZWxPcHQgdmdhIG5leHRncm91cD1saWxvRXFWZ2EsbGlsb0VxVmdhQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorCisiIE51bWJlcgorc3luIGtleXdvcmQgbGlsb09wdGlvbiBkZWxheSB0aW1lb3V0IHZlcmJvc2UgbmV4dGdyb3VwPWxpbG9FcURlY051bWJlcixsaWxvRXFEZWNOdW1iZXJDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4ga2V5d29yZCBsaWxvRGlza09wdCBzZWN0b3JzIGhlYWRzIGN5bGluZGVycyBzdGFydCBuZXh0Z3JvdXA9bGlsb0VxRGVjTnVtYmVyLGxpbG9FcURlY051bWJlckNvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKKworIiBTdHJpbmcKK3N5biBrZXl3b3JkIGxpbG9PcHRpb24gbWVudS10aXRsZSBuZXh0Z3JvdXA9bGlsb0VxU3RyaW5nLGxpbG9FcVN0cmluZ0NvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBrZXl3b3JkIGxpbG9LZXJuZWxPcHQgYXBwZW5kIG5leHRncm91cD1saWxvRXFTdHJpbmcsbGlsb0VxU3RyaW5nQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIGtleXdvcmQgbGlsb0ltYWdlT3B0IGZhbGxiYWNrIGxpdGVyYWwgbmV4dGdyb3VwPWxpbG9FcVN0cmluZyxsaWxvRXFTdHJpbmdDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CisKKyIgSGV4IG51bWJlcgorc3luIGtleXdvcmQgbGlsb0ltYWdlT3B0IG1hcC1kcml2ZSB0byBuZXh0Z3JvdXA9bGlsb0VxSGV4TnVtYmVyLGxpbG9FcUhleE51bWJlckNvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBrZXl3b3JkIGxpbG9EaXNrT3B0IGJpb3Mgbm9ybWFsIGhpZGRlbiBuZXh0Z3JvdXA9bGlsb0VxTnVtYmVyLGxpbG9FcU51bWJlckNvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKKworIiBOdW1iZXIgbGlzdAorc3luIGtleXdvcmQgbGlsb09wdGlvbiBibXAtY29sb3JzIGJtcC10aW1lciBuZXh0Z3JvdXA9bGlsb0VxTnVtYmVyTGlzdCxsaWxvRXFOdW1iZXJMaXN0Q29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorCisiIE51bWJlciBsaXN0LCBzb21lIG9mIHRoZSBudW1iZXJzIGZvbGxvd2VkIGJ5IHAKK3N5biBrZXl3b3JkIGxpbG9PcHRpb24gYm1wLXRhYmxlIG5leHRncm91cD1saWxvRXFEZWNOdW1iZXJQTGlzdCxsaWxvRXFEZWNOdW1iZXJQTGlzdENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKKworIiBGbGFnCitzeW4ga2V5d29yZCBsaWxvT3B0aW9uIGNvbXBhY3QgZml4LXRhYmxlIGdlb21ldHJpYyBpZ25vcmUtdGFibGUgbGJhMzIgbGluZWFyIG1hbmRhdG9yeSBub3dhcm4gcHJvbXB0CitzeW4ga2V5d29yZCBsaWxvS2VybmVsT3B0IHJlYWQtb25seSByZWFkLXdyaXRlCitzeW4ga2V5d29yZCBsaWxvSW1hZ2VPcHQgYnlwYXNzIGxvY2sgbWFuZGF0b3J5IG9wdGlvbmFsIHJlc3RyaWN0ZWQgc2luZ2xlLWtleSB1bnNhZmUKK3N5biBrZXl3b3JkIGxpbG9EaXNrT3B0IGNoYW5nZSBhY3RpdmF0ZSBkZWFjdGl2YXRlIGluYWNjZXNzaWJsZSByZXNldAorCisiIEltYWdlCitzeW4ga2V5d29yZCBsaWxvSW1hZ2UgaW1hZ2Ugb3RoZXIgbmV4dGdyb3VwPWxpbG9FcVBhdGgsbGlsb0VxUGF0aENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBrZXl3b3JkIGxpbG9EaXNrIGRpc2sgbmV4dGdyb3VwPWxpbG9FcVBhdGgsbGlsb0VxUGF0aENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBrZXl3b3JkIGxpbG9DaFJ1bGVzIGNoYW5nZS1ydWxlcworCisiIFZnYSBrZXl3b3Jkcworc3luIGtleXdvcmQgbGlsb1ZnYUtleXdvcmQgYXNrIGV4dCBleHRlbmRlZCBub3JtYWwgY29udGFpbmVkCisKKyIgQ29tbWVudCBmb2xsb3dlZCBieSBlcXVhbCBzaWduIGFuZCAuLi4KK3N5biBtYXRjaCBsaWxvRXFQYXRoQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvRXFQYXRoLGxpbG9FcVBhdGhDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0VxVmdhQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvRXFWZ2EsbGlsb0VxVmdhQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIG1hdGNoIGxpbG9FcU51bWJlckNvbW1lbnQgIiMuKiQiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0VxTnVtYmVyLGxpbG9FcU51bWJlckNvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvRXFEZWNOdW1iZXJDb21tZW50ICIjLiokIiBjb250YWluZWQgbmV4dGdyb3VwPWxpbG9FcURlY051bWJlcixsaWxvRXFEZWNOdW1iZXJDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0VxSGV4TnVtYmVyQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvRXFIZXhOdW1iZXIsbGlsb0VxSGV4TnVtYmVyQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIG1hdGNoIGxpbG9FcVN0cmluZ0NvbW1lbnQgIiMuKiQiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0VxU3RyaW5nLGxpbG9FcVN0cmluZ0NvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvRXFMYWJlbENvbW1lbnQgIiMuKiQiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0VxTGFiZWwsbGlsb0VxTGFiZWxDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0VxTnVtYmVyTGlzdENvbW1lbnQgIiMuKiQiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0VxTnVtYmVyTGlzdCxsaWxvRXFOdW1iZXJMaXN0Q29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIG1hdGNoIGxpbG9FcURlY051bWJlclBMaXN0Q29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvRXFEZWNOdW1iZXJQTGlzdCxsaWxvRXFEZWNOdW1iZXJQTGlzdENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvRXFBbnl0aGluZ0NvbW1lbnQgIiMuKiQiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0VxQW55dGhpbmcsbGlsb0VxQW55dGhpbmdDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CisKKyIgRXF1YWwgc2lnbiBmb2xsb3dlZCBieSAuLi4KK3N5biBtYXRjaCBsaWxvRXFQYXRoICI9IiBjb250YWluZWQgbmV4dGdyb3VwPWxpbG9QYXRoLGxpbG9QYXRoQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIG1hdGNoIGxpbG9FcVZnYSAiPSIgY29udGFpbmVkIG5leHRncm91cD1saWxvVmdhS2V5d29yZCxsaWxvSGV4TnVtYmVyLGxpbG9EZWNOdW1iZXIsbGlsb1ZnYUNvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvRXFOdW1iZXIgIj0iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0RlY051bWJlcixsaWxvSGV4TnVtYmVyLGxpbG9OdW1iZXJDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0VxRGVjTnVtYmVyICI9IiBjb250YWluZWQgbmV4dGdyb3VwPWxpbG9EZWNOdW1iZXIsbGlsb0RlY051bWJlckNvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvRXFIZXhOdW1iZXIgIj0iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0hleE51bWJlcixsaWxvSGV4TnVtYmVyQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIG1hdGNoIGxpbG9FcVN0cmluZyAiPSIgY29udGFpbmVkIG5leHRncm91cD1saWxvU3RyaW5nLGxpbG9TdHJpbmdDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0VxTGFiZWwgIj0iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0xhYmVsLGxpbG9MYWJlbENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvRXFOdW1iZXJMaXN0ICI9IiBjb250YWluZWQgbmV4dGdyb3VwPWxpbG9EZWNOdW1iZXJMaXN0LGxpbG9EZWNOdW1iZXJMaXN0Q29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIG1hdGNoIGxpbG9FcURlY051bWJlclBMaXN0ICI9IiBjb250YWluZWQgbmV4dGdyb3VwPWxpbG9EZWNOdW1iZXJQTGlzdCxsaWxvRGVjTnVtYmVyUExpc3RDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0VxQW55dGhpbmcgIj0iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0FueXRoaW5nLGxpbG9Bbnl0aGluZ0NvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKKworIiBDb21tZW50IGZvbGxvd2VkIGJ5IC4uLgorc3luIG1hdGNoIGxpbG9QYXRoQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvUGF0aCxsaWxvUGF0aENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvVmdhQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvVmdhS2V5d29yZCxsaWxvSGV4TnVtYmVyLGxpbG9WZ2FDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb051bWJlckNvbW1lbnQgIiMuKiQiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0RlY051bWJlcixsaWxvSGV4TnVtYmVyLGxpbG9OdW1iZXJDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0RlY051bWJlckNvbW1lbnQgIiMuKiQiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bGlsb0RlY051bWJlcixsaWxvRGVjTnVtYmVyQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIG1hdGNoIGxpbG9IZXhOdW1iZXJDb21tZW50ICIjLiokIiBjb250YWluZWQgbmV4dGdyb3VwPWxpbG9IZXhOdW1iZXIsbGlsb0hleE51bWJlckNvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvU3RyaW5nQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvU3RyaW5nLGxpbG9TdHJpbmdDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0xhYmVsQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvTGFiZWwsbGlsb0xhYmVsQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorc3luIG1hdGNoIGxpbG9EZWNOdW1iZXJMaXN0Q29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvRGVjTnVtYmVyTGlzdCxsaWxvRGVjTnVtYmVyTGlzdENvbW1lbnQsbGlsb0Vycm9yIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCBsaWxvRGVjTnVtYmVyUExpc3RDb21tZW50ICIjLiokIiBjb250YWluZWQgbmV4dGdyb3VwPWxpbG9EZWNOdW1iZXJQTGlzdCxsaWxvRGVjTnVtYmVyUExpc3RDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CitzeW4gbWF0Y2ggbGlsb0FueXRoaW5nQ29tbWVudCAiIy4qJCIgY29udGFpbmVkIG5leHRncm91cD1saWxvQW55dGhpbmcsbGlsb0FueXRoaW5nQ29tbWVudCxsaWxvRXJyb3Igc2tpcHdoaXRlIHNraXBlbXB0eQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9saWxvX3N5bnRheF9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX2xpbG9fc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayBsaWxvRXFQYXRoIGxpbG9FcXVhbHMKKwlIaUxpbmsgbGlsb0VxV29yZCBsaWxvRXF1YWxzCisJSGlMaW5rIGxpbG9FcVZnYSBsaWxvRXF1YWxzCisJSGlMaW5rIGxpbG9FcURlY051bWJlciBsaWxvRXF1YWxzCisJSGlMaW5rIGxpbG9FcUhleE51bWJlciBsaWxvRXF1YWxzCisJSGlMaW5rIGxpbG9FcU51bWJlciBsaWxvRXF1YWxzCisJSGlMaW5rIGxpbG9FcVN0cmluZyBsaWxvRXF1YWxzCisJSGlMaW5rIGxpbG9FcUxhYmVsIGxpbG9FcXVhbHMKKwlIaUxpbmsgbGlsb0VxQW55dGhpbmcgbGlsb0VxdWFscworCUhpTGluayBsaWxvRXF1YWxzIFNwZWNpYWwKKworCUhpTGluayBsaWxvRXJyb3IgRXJyb3IKKworCUhpTGluayBsaWxvRXFQYXRoQ29tbWVudCBsaWxvQ29tbWVudAorCUhpTGluayBsaWxvRXFWZ2FDb21tZW50IGxpbG9Db21tZW50CisJSGlMaW5rIGxpbG9FcURlY051bWJlckNvbW1lbnQgbGlsb0NvbW1lbnQKKwlIaUxpbmsgbGlsb0VxSGV4TnVtYmVyQ29tbWVudCBsaWxvQ29tbWVudAorCUhpTGluayBsaWxvRXFTdHJpbmdDb21tZW50IGxpbG9Db21tZW50CisJSGlMaW5rIGxpbG9FcUxhYmVsQ29tbWVudCBsaWxvQ29tbWVudAorCUhpTGluayBsaWxvRXFBbnl0aGluZ0NvbW1lbnQgbGlsb0NvbW1lbnQKKwlIaUxpbmsgbGlsb1BhdGhDb21tZW50IGxpbG9Db21tZW50CisJSGlMaW5rIGxpbG9WZ2FDb21tZW50IGxpbG9Db21tZW50CisJSGlMaW5rIGxpbG9EZWNOdW1iZXJDb21tZW50IGxpbG9Db21tZW50CisJSGlMaW5rIGxpbG9IZXhOdW1iZXJDb21tZW50IGxpbG9Db21tZW50CisJSGlMaW5rIGxpbG9OdW1iZXJDb21tZW50IGxpbG9Db21tZW50CisJSGlMaW5rIGxpbG9TdHJpbmdDb21tZW50IGxpbG9Db21tZW50CisJSGlMaW5rIGxpbG9MYWJlbENvbW1lbnQgbGlsb0NvbW1lbnQKKwlIaUxpbmsgbGlsb0FueXRoaW5nQ29tbWVudCBsaWxvQ29tbWVudAorCUhpTGluayBsaWxvQ29tbWVudCBDb21tZW50CisKKwlIaUxpbmsgbGlsb0Rpc2tPcHQgbGlsb09wdGlvbgorCUhpTGluayBsaWxvS2VybmVsT3B0IGxpbG9PcHRpb24KKwlIaUxpbmsgbGlsb0ltYWdlT3B0IGxpbG9PcHRpb24KKwlIaUxpbmsgbGlsb09wdGlvbiBLZXl3b3JkCisKKwlIaUxpbmsgbGlsb0RlY051bWJlciBsaWxvTnVtYmVyCisJSGlMaW5rIGxpbG9IZXhOdW1iZXIgbGlsb051bWJlcgorCUhpTGluayBsaWxvRGVjTnVtYmVyUCBsaWxvTnVtYmVyCisJSGlMaW5rIGxpbG9OdW1iZXIgTnVtYmVyCisJSGlMaW5rIGxpbG9TdHJpbmcgU3RyaW5nCisJSGlMaW5rIGxpbG9QYXRoIENvbnN0YW50CisKKwlIaUxpbmsgbGlsb1NwZWNpYWwgU3BlY2lhbAorCUhpTGluayBsaWxvTGFiZWwgVGl0bGUKKwlIaUxpbmsgbGlsb0RlY051bWJlckxpc3QgU3BlY2lhbAorCUhpTGluayBsaWxvRGVjTnVtYmVyUExpc3QgU3BlY2lhbAorCUhpTGluayBsaWxvQW55dGhpbmcgTm9ybWFsCisJSGlMaW5rIGxpbG9FbnZpcm9uIElkZW50aWZpZXIKKwlIaUxpbmsgbGlsb1ZnYUtleXdvcmQgSWRlbnRpZmllcgorCUhpTGluayBsaWxvSW1hZ2UgVHlwZQorCUhpTGluayBsaWxvQ2hSdWxlcyBQcmVwcm9jCisJSGlMaW5rIGxpbG9EaXNrIFByZXByb2MKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsaWxvIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGlzcC52aW0gYi9ydW50aW1lL3N5bnRheC9saXNwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDkxNGVmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbGlzcC52aW0KQEAgLTAsMCArMSw0OTkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICBMaXNwCisiIE1haW50YWluZXI6ICBEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgorIiBMYXN0IENoYW5nZTogU2VwIDAyLCAyMDAzCisiIFZlcnNpb246ICAgICAxNAorIiBVUkw6CQkJCSBodHRwOi8vd3d3LmVyb2xzLmNvbS9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjdmltbGlua3Nfc3ludGF4CisiCisiICBUaGFua3MgdG8gRiBYYXZpZXIgTm9yaWEgZm9yIGEgbGlzdCBvZiA5NzggQ29tbW9uIExpc3Agc3ltYm9scworIiAgdGFrZW4gZnJvbSB0aGUgSHlwZXJTcGVjCisiCisiICBPcHRpb25zOgorIiAgICBsaXNwX2luc3RyaW5nIDogaWYgaXQgZXhpc3RzLCB0aGVuICIoLi4uIikgc3RyaW5ncyBhcmUgaGlnaGxpZ2h0ZWQKKyIJCSAgICAgYXMgaWYgdGhlIGNvbnRlbnRzIHdlcmUgbGlzcC4gIFVzZWZ1bCBmb3IgQXV0b0xpc3AuCisiCQkgICAgIFB1dCAgICBsZXQgbGlzcF9pbnN0cmluZz0xICAgaW50byB5b3VyIDwudmltcmM+IGlmCisiCQkgICAgIHlvdSB3YW50IHRoaXMgb3B0aW9uLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmIHZlcnNpb24gPj0gNjAwCisgc2V0bG9jYWwgaXNrZXl3b3JkPTQyLDQzLDQ1LDQ3LTU4LDYwLTYyLDY0LTkwLDk3LTEyMixfCitlbHNlCisgc2V0IGlza2V5d29yZD00Miw0Myw0NSw0Ny01OCw2MC02Miw2NC05MCw5Ny0xMjIsXworZW5kaWYKKworIiBDbHVzdGVycworc3luIGNsdXN0ZXIJCQkgbGlzcEF0b21DbHVzdGVyCQkgIGNvbnRhaW5zPWxpc3BBdG9tQmFyU3ltYm9sLGxpc3BBdG9tTGlzdCxsaXNwQXRvbU5tYnIwLGxpc3BDb21tZW50LGxpc3BEZWNsLGxpc3BGdW5jLGxpc3BMZWFkV2hpdGUKK3N5biBjbHVzdGVyCQkJIGxpc3BMaXN0Q2x1c3RlcgkJICBjb250YWlucz1saXNwQXRvbSxsaXNwQXRvbUJhclN5bWJvbCxsaXNwQXRvbU1hcmssbGlzcEJRTGlzdCxsaXNwQmFyU3ltYm9sLGxpc3BDb21tZW50LGxpc3BDb25jYXQsbGlzcERlY2wsbGlzcEZ1bmMsbGlzcEtleSxsaXNwTGlzdCxsaXNwTnVtYmVyLGxpc3BTcGVjaWFsLGxpc3BTeW1ib2wsbGlzcFZhcixsaXNwTGVhZFdoaXRlCisKKyIgTGlzdHMKK3N5biBtYXRjaAkJCSBsaXNwU3ltYm9sCQkJICBjb250YWluZWQJCQkgICAhW14oKSdgLCI7IFx0XVwrIQorc3luIG1hdGNoCQkJIGxpc3BCYXJTeW1ib2wJCQkgIGNvbnRhaW5lZAkJCSAgICF8Li5cey19fCEKK2lmIGV4aXN0cygibGlzcF9pbnN0cmluZyIpCisgc3luIHJlZ2lvbgkJCSBsaXNwTGlzdAkJCSAgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigiIHNraXA9InwuXHstfXwiCQkJICAgIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iKSIgY29udGFpbnM9QGxpc3BMaXN0Q2x1c3RlcixsaXNwU3RyaW5nLGxpc3BJblN0cmluZyxsaXNwSW5TdHJpbmdTdHJpbmcKKyBzeW4gcmVnaW9uCQkJIGxpc3BCUUxpc3QJCQkgIG1hdGNoZ3JvdXA9UHJlUHJvYyAgIHN0YXJ0PSJgKCIgIHNraXA9InwuXHstfXwiCQkgICAgbWF0Y2hncm91cD1QcmVQcm9jICAgZW5kPSIpIiBjb250YWlucz1AbGlzcExpc3RDbHVzdGVyLGxpc3BTdHJpbmcsbGlzcEluU3RyaW5nLGxpc3BJblN0cmluZ1N0cmluZworZWxzZQorIHN5biByZWdpb24JCQkgbGlzcExpc3QJCQkgIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBza2lwPSJ8Llx7LX18IgkJCSAgICBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUBsaXNwTGlzdENsdXN0ZXIsbGlzcFN0cmluZworIHN5biByZWdpb24JCQkgbGlzcEJRTGlzdAkJCSAgbWF0Y2hncm91cD1QcmVQcm9jICAgc3RhcnQ9ImAoIiAgc2tpcD0ifC5cey19fCIJCSAgICBtYXRjaGdyb3VwPVByZVByb2MgICBlbmQ9IikiIGNvbnRhaW5zPUBsaXNwTGlzdENsdXN0ZXIsbGlzcFN0cmluZworZW5kaWYKKyIgQXRvbXMKK3N5biBtYXRjaAkJCSBsaXNwQXRvbU1hcmsJCQkgICInIgorc3luIG1hdGNoCQkJIGxpc3BBdG9tCQkJICAiJygibWU9ZS0xCQkJICAgY29udGFpbnM9bGlzcEF0b21NYXJrCSAgICBuZXh0Z3JvdXA9bGlzcEF0b21MaXN0CitzeW4gbWF0Y2gJCQkgbGlzcEF0b20JCQkgICInW14gXHQoKV1cKyIJCQkgICBjb250YWlucz1saXNwQXRvbU1hcmsKK3N5biBtYXRjaAkJCSBsaXNwQXRvbUJhclN5bWJvbAkJICAhJ3wuLlx7LX18IQkJCSAgIGNvbnRhaW5zPWxpc3BBdG9tTWFyaworc3luIHJlZ2lvbgkJCSBsaXNwQXRvbQkJCSAgc3RhcnQ9KyciKwkJCSAgIHNraXA9K1xcIisgZW5kPSsiKworc3luIHJlZ2lvbgkJCSBsaXNwQXRvbUxpc3QJCQkgIGNvbnRhaW5lZAkJCSAgIG1hdGNoZ3JvdXA9U3BlY2lhbCBzdGFydD0iKCIJICAgIHNraXA9InwuXHstfXwiIG1hdGNoZ3JvdXA9U3BlY2lhbCBlbmQ9IikiCQkJICAgICAgY29udGFpbnM9QGxpc3BBdG9tQ2x1c3RlcixsaXNwU3RyaW5nCitzeW4gbWF0Y2gJCQkgbGlzcEF0b21ObWJyCQkJICBjb250YWluZWQJCQkgICAiXDxcZFwrIgorc3luIG1hdGNoCQkJIGxpc3BMZWFkV2hpdGUJCQkgIGNvbnRhaW5lZAkJCSAgICJeXHNcKyIKKworIiBTdGFuZGFyZCBMaXNwIEZ1bmN0aW9ucyBhbmQgTWFjcm9zCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJICoJCQkJICBmaW5kLW1ldGhvZAkJCSAgIHBwcmludC1pbmRlbnQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgKioJCQkJICBmaW5kLXBhY2thZ2UJCQkgICBwcHJpbnQtbGluZWFyCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJICoqKgkJCQkgIGZpbmQtcmVzdGFydAkJCSAgIHBwcmludC1sb2dpY2FsLWJsb2NrCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJICsJCQkJICBmaW5kLXN5bWJvbAkJCSAgIHBwcmludC1uZXdsaW5lCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJICsrCQkJCSAgZmluaXNoLW91dHB1dAkJCSAgIHBwcmludC1wb3AKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgKysrCQkJCSAgZmlyc3QJCQkJICAgcHByaW50LXRhYgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSAtCQkJCSAgZml4bnVtCQkJICAgcHByaW50LXRhYnVsYXIKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgLwkJCQkgIGZsZXQJCQkJICAgcHJpbjEKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgLy8JCQkJICBmbG9hdAkJCQkgICBwcmluMS10by1zdHJpbmcKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgLy8vCQkJCSAgZmxvYXQtZGlnaXRzCQkJICAgcHJpbmMKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgLz0JCQkJICBmbG9hdC1wcmVjaXNpb24JCSAgIHByaW5jLXRvLXN0cmluZworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSAxKwkJCQkgIGZsb2F0LXJhZGl4CQkJICAgcHJpbnQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgMS0JCQkJICBmbG9hdC1zaWduCQkJICAgcHJpbnQtbm90LXJlYWRhYmxlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIDwJCQkJICBmbG9hdGluZy1wb2ludC1pbmV4YWN0CSAgIHByaW50LW5vdC1yZWFkYWJsZS1vYmplY3QKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgPD0JCQkJICBmbG9hdGluZy1wb2ludC1pbnZhbGlkLW9wZXJhdGlvbiBwcmludC1vYmplY3QKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgPQkJCQkgIGZsb2F0aW5nLXBvaW50LW92ZXJmbG93CSAgIHByaW50LXVucmVhZGFibGUtb2JqZWN0CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJID4JCQkJICBmbG9hdGluZy1wb2ludC11bmRlcmZsb3cJICAgcHJvYmUtZmlsZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSA+PQkJCQkgIGZsb2F0cAkJCSAgIHByb2NsYWltCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFib3J0CQkJCSAgZmxvb3IJCQkJICAgcHJvZworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhYnMJCQkJICBmbWFrdW5ib3VuZAkJCSAgIHByb2cqCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFjY2VzcwkJCQkgIGZvcmNlLW91dHB1dAkJCSAgIHByb2cxCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFjb25zCQkJCSAgZm9ybWF0CQkJICAgcHJvZzIKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYWNvcwkJCQkgIGZvcm1hdHRlcgkJCSAgIHByb2duCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFjb3NoCQkJCSAgZm91cnRoCQkJICAgcHJvZ3JhbS1lcnJvcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhZGQtbWV0aG9kCQkJICBmcmVzaC1saW5lCQkJICAgcHJvZ3YKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYWRqb2luCQkJCSAgZnJvdW5kCQkJICAgcHJvdmlkZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhZGp1c3QtYXJyYXkJCQkgIGZ0cnVuY2F0ZQkJCSAgIHBzZXRmCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFkanVzdGFibGUtYXJyYXktcAkJICBmdHlwZQkJCQkgICBwc2V0cQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhbGxvY2F0ZS1pbnN0YW5jZQkJICBmdW5jYWxsCQkJICAgcHVzaAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhbHBoYS1jaGFyLXAJCQkgIGZ1bmN0aW9uCQkJICAgcHVzaG5ldworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhbHBoYW51bWVyaWNwCQkJICBmdW5jdGlvbi1rZXl3b3JkcwkJICAgcHV0cHJvcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhbmQJCQkJICBmdW5jdGlvbi1sYW1iZGEtZXhwcmVzc2lvbgkgICBxdW90ZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhcHBlbmQJCQkJICBmdW5jdGlvbnAJCQkgICByYW5kb20KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXBwbHkJCQkJICBnYml0cAkJCQkgICByYW5kb20tc3RhdGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXBwbHlob29rCQkJICBnY2QJCQkJICAgcmFuZG9tLXN0YXRlLXAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXByb3BvcwkJCSAgZ2VuZXJpYy1mdW5jdGlvbgkJICAgcmFzc29jCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFwcm9wb3MtbGlzdAkJCSAgZ2Vuc3ltCQkJICAgcmFzc29jLWlmCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFyZWYJCQkJICBnZW50ZW1wCQkJICAgcmFzc29jLWlmLW5vdAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhcml0aG1ldGljLWVycm9yCQkgIGdldAkJCQkgICByYXRpbworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhcml0aG1ldGljLWVycm9yLW9wZXJhbmRzCSAgZ2V0LWRlY29kZWQtdGltZQkJICAgcmF0aW9uYWwKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXJpdGhtZXRpYy1lcnJvci1vcGVyYXRpb24JICBnZXQtZGlzcGF0Y2gtbWFjcm8tY2hhcmFjdGVyCSAgIHJhdGlvbmFsaXplCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFycmF5CQkJCSAgZ2V0LWludGVybmFsLXJlYWwtdGltZQkgICByYXRpb25hbHAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXJyYXktZGltZW5zaW9uCQkgIGdldC1pbnRlcm5hbC1ydW4tdGltZQkJICAgcmVhZAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhcnJheS1kaW1lbnNpb24tbGltaXQJCSAgZ2V0LW1hY3JvLWNoYXJhY3RlcgkJICAgcmVhZC1ieXRlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFycmF5LWRpbWVuc2lvbnMJCSAgZ2V0LW91dHB1dC1zdHJlYW0tc3RyaW5nCSAgIHJlYWQtY2hhcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhcnJheS1kaXNwbGFjZW1lbnQJCSAgZ2V0LXByb3BlcnRpZXMJCSAgIHJlYWQtY2hhci1uby1oYW5nCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFycmF5LWVsZW1lbnQtdHlwZQkJICBnZXQtc2V0Zi1leHBhbnNpb24JCSAgIHJlYWQtZGVsaW1pdGVkLWxpc3QKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXJyYXktaGFzLWZpbGwtcG9pbnRlci1wCSAgZ2V0LXNldGYtbWV0aG9kCQkgICByZWFkLWV2YWwtcHJpbnQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXJyYXktaW4tYm91bmRzLXAJCSAgZ2V0LXVuaXZlcnNhbC10aW1lCQkgICByZWFkLWZyb20tc3RyaW5nCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFycmF5LXJhbmsJCQkgIGdldGYJCQkJICAgcmVhZC1saW5lCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFycmF5LXJhbmstbGltaXQJCSAgZ2V0aGFzaAkJCSAgIHJlYWQtcHJlc2VydmluZy13aGl0ZXNwYWNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFycmF5LXJvdy1tYWpvci1pbmRleAkJICBnbwkJCQkgICByZWFkLXNlcXVlbmNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFycmF5LXRvdGFsLXNpemUJCSAgZ3JhcGhpYy1jaGFyLXAJCSAgIHJlYWRlci1lcnJvcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhcnJheS10b3RhbC1zaXplLWxpbWl0CQkgIGhhbmRsZXItYmluZAkJCSAgIHJlYWR0YWJsZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhcnJheXAJCQkJICBoYW5kbGVyLWNhc2UJCQkgICByZWFkdGFibGUtY2FzZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhc2gJCQkJICBoYXNoLXRhYmxlCQkJICAgcmVhZHRhYmxlcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhc2luCQkJCSAgaGFzaC10YWJsZS1jb3VudAkJICAgcmVhbAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhc2luaAkJCQkgIGhhc2gtdGFibGUtcAkJCSAgIHJlYWxwCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFzc2VydAkJCQkgIGhhc2gtdGFibGUtcmVoYXNoLXNpemUJICAgcmVhbHBhcnQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXNzb2MJCQkJICBoYXNoLXRhYmxlLXJlaGFzaC10aHJlc2hvbGQJICAgcmVkdWNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGFzc29jLWlmCQkJICBoYXNoLXRhYmxlLXNpemUJCSAgIHJlaW5pdGlhbGl6ZS1pbnN0YW5jZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBhc3NvYy1pZi1ub3QJCQkgIGhhc2gtdGFibGUtdGVzdAkJICAgcmVtCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGF0YW4JCQkJICBob3N0LW5hbWVzdHJpbmcJCSAgIHJlbWYKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXRhbmgJCQkJICBpZGVudGl0eQkJCSAgIHJlbWhhc2gKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYXRvbQkJCQkgIGlmCQkJCSAgIHJlbW92ZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBiYXNlLWNoYXIJCQkgIGlmLWV4aXN0cwkJCSAgIHJlbW92ZS1kdXBsaWNhdGVzCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJhc2Utc3RyaW5nCQkJICBpZ25vcmFibGUJCQkgICByZW1vdmUtaWYKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYmlnbnVtCQkJCSAgaWdub3JlCQkJICAgcmVtb3ZlLWlmLW5vdAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBiaXQJCQkJICBpZ25vcmUtZXJyb3JzCQkJICAgcmVtb3ZlLW1ldGhvZAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBiaXQtYW5kCQkJICBpbWFncGFydAkJCSAgIHJlbXByb3AKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYml0LWFuZGMxCQkJICBpbXBvcnQJCQkgICByZW5hbWUtZmlsZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBiaXQtYW5kYzIJCQkgIGluLXBhY2thZ2UJCQkgICByZW5hbWUtcGFja2FnZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBiaXQtZXF2CQkJICBpbi1wYWNrYWdlCQkJICAgcmVwbGFjZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBiaXQtaW9yCQkJICBpbmNmCQkJCSAgIHJlcXVpcmUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYml0LW5hbmQJCQkgIGluaXRpYWxpemUtaW5zdGFuY2UJCSAgIHJlc3QKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYml0LW5vcgkJCSAgaW5saW5lCQkJICAgcmVzdGFydAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBiaXQtbm90CQkJICBpbnB1dC1zdHJlYW0tcAkJICAgcmVzdGFydC1iaW5kCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJpdC1vcmMxCQkJICBpbnNwZWN0CQkJICAgcmVzdGFydC1jYXNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJpdC1vcmMyCQkJICBpbnQtY2hhcgkJCSAgIHJlc3RhcnQtbmFtZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBiaXQtdmVjdG9yCQkJICBpbnRlZ2VyCQkJICAgcmV0dXJuCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJpdC12ZWN0b3ItcAkJCSAgaW50ZWdlci1kZWNvZGUtZmxvYXQJCSAgIHJldHVybi1mcm9tCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJpdC14b3IJCQkgIGludGVnZXItbGVuZ3RoCQkgICByZXZhcHBlbmQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYmxvY2sJCQkJICBpbnRlZ2VycAkJCSAgIHJldmVyc2UKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm9vbGUJCQkJICBpbnRlcmFjdGl2ZS1zdHJlYW0tcAkJICAgcm9vbQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBib29sZS0xCQkJICBpbnRlcm4JCQkgICByb3RhdGVmCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJvb2xlLTIJCQkgIGludGVybmFsLXRpbWUtdW5pdHMtcGVyLXNlY29uZCAgIHJvdW5kCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJvb2xlLWFuZAkJCSAgaW50ZXJzZWN0aW9uCQkJICAgcm93LW1ham9yLWFyZWYKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm9vbGUtYW5kYzEJCQkgIGludmFsaWQtbWV0aG9kLWVycm9yCQkgICBycGxhY2EKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm9vbGUtYW5kYzIJCQkgIGludm9rZS1kZWJ1Z2dlcgkJICAgcnBsYWNkCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJvb2xlLWMxCQkJICBpbnZva2UtcmVzdGFydAkJICAgc2FmZXR5CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJvb2xlLWMyCQkJICBpbnZva2UtcmVzdGFydC1pbnRlcmFjdGl2ZWx5CSAgIHNhdGlzZmllcworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBib29sZS1jbHIJCQkgIGlzcXJ0CQkJCSAgIHNiaXQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm9vbGUtZXF2CQkJICBrZXl3b3JkCQkJICAgc2NhbGUtZmxvYXQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm9vbGUtaW9yCQkJICBrZXl3b3JkcAkJCSAgIHNjaGFyCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJvb2xlLW5hbmQJCQkgIGxhYmVscwkJCSAgIHNlYXJjaAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBib29sZS1ub3IJCQkgIGxhbWJkYQkJCSAgIHNlY29uZAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBib29sZS1vcmMxCQkJICBsYW1iZGEtbGlzdC1rZXl3b3JkcwkJICAgc2VxdWVuY2UKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm9vbGUtb3JjMgkJCSAgbGFtYmRhLXBhcmFtZXRlcnMtbGltaXQJICAgc2VyaW91cy1jb25kaXRpb24KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm9vbGUtc2V0CQkJICBsYXN0CQkJCSAgIHNldAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBib29sZS14b3IJCQkgIGxjbQkJCQkgICBzZXQtY2hhci1iaXQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm9vbGVhbgkJCSAgbGRiCQkJCSAgIHNldC1kaWZmZXJlbmNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJvdGgtY2FzZS1wCQkJICBsZGItdGVzdAkJCSAgIHNldC1kaXNwYXRjaC1tYWNyby1jaGFyYWN0ZXIKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYm91bmRwCQkJCSAgbGRpZmYJCQkJICAgc2V0LWV4Y2x1c2l2ZS1vcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBicmVhawkJCQkgIGxlYXN0LW5lZ2F0aXZlLWRvdWJsZS1mbG9hdAkgICBzZXQtbWFjcm8tY2hhcmFjdGVyCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJyb2FkY2FzdC1zdHJlYW0JCSAgbGVhc3QtbmVnYXRpdmUtbG9uZy1mbG9hdAkgICBzZXQtcHByaW50LWRpc3BhdGNoCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJyb2FkY2FzdC1zdHJlYW0tc3RyZWFtcwkgIGxlYXN0LW5lZ2F0aXZlLW5vcm1hbGl6ZWQtZG91YmxlLWZsb2F0CQkJICAgIHNldC1zeW50YXgtZnJvbS1jaGFyCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGJ1aWx0LWluLWNsYXNzCQkJICBsZWFzdC1uZWdhdGl2ZS1ub3JtYWxpemVkLWxvbmctZmxvYXQJCQkJICAgIHNldGYKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYnV0bGFzdAkJCSAgbGVhc3QtbmVnYXRpdmUtbm9ybWFsaXplZC1zaG9ydC1mbG9hdAkJCQkgICAgc2V0cQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBieXRlCQkJCSAgbGVhc3QtbmVnYXRpdmUtbm9ybWFsaXplZC1zaW5nbGUtZmxvYXQJCQkgICAgc2V2ZW50aAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBieXRlLXBvc2l0aW9uCQkJICBsZWFzdC1uZWdhdGl2ZS1zaG9ydC1mbG9hdAkgICBzaGFkb3cKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgYnl0ZS1zaXplCQkJICBsZWFzdC1uZWdhdGl2ZS1zaW5nbGUtZmxvYXQJICAgc2hhZG93aW5nLWltcG9ydAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjYWxsLWFyZ3VtZW50cy1saW1pdAkJICBsZWFzdC1wb3NpdGl2ZS1kb3VibGUtZmxvYXQJICAgc2hhcmVkLWluaXRpYWxpemUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2FsbC1tZXRob2QJCQkgIGxlYXN0LXBvc2l0aXZlLWxvbmctZmxvYXQJICAgc2hpZnRmCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNhbGwtbmV4dC1tZXRob2QJCSAgbGVhc3QtcG9zaXRpdmUtbm9ybWFsaXplZC1kb3VibGUtZmxvYXQJCQkgICAgc2hvcnQtZmxvYXQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2FwaXRhbGl6ZQkJCSAgbGVhc3QtcG9zaXRpdmUtbm9ybWFsaXplZC1sb25nLWZsb2F0CQkJCSAgICBzaG9ydC1mbG9hdC1lcHNpbG9uCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNhcgkJCQkgIGxlYXN0LXBvc2l0aXZlLW5vcm1hbGl6ZWQtc2hvcnQtZmxvYXQJCQkJICAgIHNob3J0LWZsb2F0LW5lZ2F0aXZlLWVwc2lsb24KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2FzZQkJCQkgIGxlYXN0LXBvc2l0aXZlLW5vcm1hbGl6ZWQtc2luZ2xlLWZsb2F0CQkJICAgIHNob3J0LXNpdGUtbmFtZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjYXRjaAkJCQkgIGxlYXN0LXBvc2l0aXZlLXNob3J0LWZsb2F0CSAgIHNpZ25hbAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjY2FzZQkJCQkgIGxlYXN0LXBvc2l0aXZlLXNpbmdsZS1mbG9hdAkgICBzaWduZWQtYnl0ZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjZHIJCQkJICBsZW5ndGgJCQkgICBzaWdudW0KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2VpbGluZwkJCSAgbGV0CQkJCSAgIHNpbWxlLWNvbmRpdGlvbgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjZWxsLWVycm9yCQkJICBsZXQqCQkJCSAgIHNpbXBsZS1hcnJheQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjZWxsLWVycm9yLW5hbWUJCSAgbGlzcAkJCQkgICBzaW1wbGUtYmFzZS1zdHJpbmcKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2Vycm9yCQkJCSAgbGlzcC1pbXBsZW1lbnRhdGlvbi10eXBlCSAgIHNpbXBsZS1iaXQtdmVjdG9yCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYW5nZS1jbGFzcwkJCSAgbGlzcC1pbXBsZW1lbnRhdGlvbi12ZXJzaW9uCSAgIHNpbXBsZS1iaXQtdmVjdG9yLXAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhcgkJCQkgIGxpc3QJCQkJICAgc2ltcGxlLWNvbmRpdGlvbi1mb3JtYXQtYXJndW1lbnRzCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXItYml0CQkJICBsaXN0KgkJCQkgICBzaW1wbGUtY29uZGl0aW9uLWZvcm1hdC1jb250cm9sCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXItYml0cwkJCSAgbGlzdC1hbGwtcGFja2FnZXMJCSAgIHNpbXBsZS1lcnJvcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyLWJpdHMtbGltaXQJCSAgbGlzdC1sZW5ndGgJCQkgICBzaW1wbGUtc3RyaW5nCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXItY29kZQkJCSAgbGlzdGVuCQkJICAgc2ltcGxlLXN0cmluZy1wCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXItY29kZS1saW1pdAkJICBsaXN0cAkJCQkgICBzaW1wbGUtdHlwZS1lcnJvcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyLWNvbnRyb2wtYml0CQkgIGxvYWQJCQkJICAgc2ltcGxlLXZlY3Rvcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyLWRvd25jYXNlCQkJICBsb2FkLWxvZ2ljYWwtcGF0aG5hbWUtdHJhbnNsYXRpb25zCQkJCSAgICBzaW1wbGUtdmVjdG9yLXAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhci1lcXVhbAkJCSAgbG9hZC10aW1lLXZhbHVlCQkgICBzaW1wbGUtd2FybmluZworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyLWZvbnQJCQkgIGxvY2FsbHkJCQkgICBzaW4KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhci1mb250LWxpbWl0CQkgIGxvZwkJCQkgICBzaW5nbGUtZmxhb3QtZXBzaWxvbgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyLWdyZWF0ZXJwCQkJICBsb2dhbmQJCQkgICBzaW5nbGUtZmxvYXQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhci1oeXBlci1iaXQJCQkgIGxvZ2FuZGMxCQkJICAgc2luZ2xlLWZsb2F0LWVwc2lsb24KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhci1pbnQJCQkgIGxvZ2FuZGMyCQkJICAgc2luZ2xlLWZsb2F0LW5lZ2F0aXZlLWVwc2lsb24KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhci1sZXNzcAkJCSAgbG9nYml0cAkJCSAgIHNpbmgKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhci1tZXRhLWJpdAkJCSAgbG9nY291bnQJCQkgICBzaXh0aAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyLW5hbWUJCQkgIGxvZ2VxdgkJCSAgIHNsZWVwCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXItbm90LWVxdWFsCQkJICBsb2dpY2FsLXBhdGhuYW1lCQkgICBzbG90LWJvdW5kcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyLW5vdC1ncmVhdGVycAkJICBsb2dpY2FsLXBhdGhuYW1lLXRyYW5zbGF0aW9ucwkgICBzbG90LWV4aXN0cy1wCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXItbm90LWxlc3NwCQkJICBsb2dpb3IJCQkgICBzbG90LW1ha3VuYm91bmQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhci1zdXBlci1iaXQJCQkgIGxvZ25hbmQJCQkgICBzbG90LW1pc3NpbmcKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhci11cGNhc2UJCQkgIGxvZ25vcgkJCSAgIHNsb3QtdW5ib3VuZAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyLz0JCQkJICBsb2dub3QJCQkgICBzbG90LXZhbHVlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXI8CQkJCSAgbG9nb3JjMQkJCSAgIHNvZnR3YXJlLXR5cGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhcjw9CQkJCSAgbG9nb3JjMgkJCSAgIHNvZnR3YXJlLXZlcnNpb24KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhcj0JCQkJICBsb2d0ZXN0CQkJICAgc29tZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGFyPgkJCQkgIGxvZ3hvcgkJCSAgIHNvcnQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2hhcj49CQkJCSAgbG9uZy1mbG9hdAkJCSAgIHNwYWNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXJhY3RlcgkJCSAgbG9uZy1mbG9hdC1lcHNpbG9uCQkgICBzcGVjaWFsCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNoYXJhY3RlcnAJCQkgIGxvbmctZmxvYXQtbmVnYXRpdmUtZXBzaWxvbgkgICBzcGVjaWFsLWZvcm0tcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjaGVjay10eXBlCQkJICBsb25nLXNpdGUtbmFtZQkJICAgc3BlY2lhbC1vcGVyYXRvci1wCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNpcwkJCQkgIGxvb3AJCQkJICAgc3BlZWQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2xhc3MJCQkJICBsb29wLWZpbmlzaAkJCSAgIHNxcnQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2xhc3MtbmFtZQkJCSAgbG93ZXItY2FzZS1wCQkJICAgc3RhYmxlLXNvcnQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2xhc3Mtb2YJCQkgIG1hY2hpbmUtaW5zdGFuY2UJCSAgIHN0YW5kYXJkCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNsZWFyLWlucHV0CQkJICBtYWNoaW5lLXR5cGUJCQkgICBzdGFuZGFyZC1jaGFyCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNsZWFyLW91dHB1dAkJCSAgbWFjaGluZS12ZXJzaW9uCQkgICBzdGFuZGFyZC1jaGFyLXAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2xvc2UJCQkJICBtYWNyby1mdW5jdGlvbgkJICAgc3RhbmRhcmQtY2xhc3MKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY2xyaGFzaAkJCSAgbWFjcm9leHBhbmQJCQkgICBzdGFuZGFyZC1nZW5lcmljLWZ1bmN0aW9uCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvZGUtY2hhcgkJCSAgbWFjcm9leHBhbmQtMQkJCSAgIHN0YW5kYXJkLW1ldGhvZAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb2VyY2UJCQkJICBtYWNyb2V4cGFuZC1sCQkJICAgc3RhbmRhcmQtb2JqZWN0CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbW1vbnAJCQkgIG1hY3JvbGV0CQkJICAgc3RlcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb21waWxhdGlvbi1zcGVlZAkJICBtYWtlLWFycmF5CQkJICAgc3RvcmFnZS1jb25kaXRpb24KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29tcGlsZQkJCSAgbWFrZS1hcnJheQkJCSAgIHN0b3JlLXZhbHVlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbXBpbGUtZmlsZQkJCSAgbWFrZS1icm9hZGNhc3Qtc3RyZWFtCQkgICBzdHJlYW0KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29tcGlsZS1maWxlLXBhdGhuYW1lCQkgIG1ha2UtY2hhcgkJCSAgIHN0cmVhbS1lbGVtZW50LXR5cGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29tcGlsZWQtZnVuY3Rpb24JCSAgbWFrZS1jb25jYXRlbmF0ZWQtc3RyZWFtCSAgIHN0cmVhbS1lcnJvcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb21waWxlZC1mdW5jdGlvbi1wCQkgIG1ha2UtY29uZGl0aW9uCQkgICBzdHJlYW0tZXJyb3Itc3RyZWFtCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbXBpbGVyLWxldAkJCSAgbWFrZS1kaXNwYXRjaC1tYWNyby1jaGFyYWN0ZXIJICAgc3RyZWFtLWV4dGVybmFsLWZvcm1hdAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb21waWxlci1tYWNybwkJCSAgbWFrZS1lY2hvLXN0cmVhbQkJICAgc3RyZWFtcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb21waWxlci1tYWNyby1mdW5jdGlvbgkgIG1ha2UtaGFzaC10YWJsZQkJICAgc3RyZWFtdXAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29tcGxlbWVudAkJCSAgbWFrZS1pbnN0YW5jZQkJCSAgIHN0cmluZworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb21wbGV4CQkJICBtYWtlLWluc3RhbmNlcy1vYnNvbGV0ZQkgICBzdHJpbmctY2FwaXRhbGl6ZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb21wbGV4cAkJCSAgbWFrZS1saXN0CQkJICAgc3RyaW5nLWNoYXIKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29tcHV0ZS1hcHBsaWNhYmxlLW1ldGhvZHMJICBtYWtlLWxvYWQtZm9ybQkJICAgc3RyaW5nLWNoYXItcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb21wdXRlLXJlc3RhcnRzCQkgIG1ha2UtbG9hZC1mb3JtLXNhdmluZy1zbG90cwkgICBzdHJpbmctZG93bmNhc2UKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29uY2F0ZW5hdGUJCQkgIG1ha2UtbWV0aG9kCQkJICAgc3RyaW5nLWVxdWFsCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbmNhdGVuYXRlZC1zdHJlYW0JCSAgbWFrZS1wYWNrYWdlCQkJICAgc3RyaW5nLWdyZWF0ZXJwCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbmNhdGVuYXRlZC1zdHJlYW0tc3RyZWFtcwkgIG1ha2UtcGF0aG5hbWUJCQkgICBzdHJpbmctbGVmdC10cmltCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbmQJCQkJICBtYWtlLXJhbmRvbS1zdGF0ZQkJICAgc3RyaW5nLWxlc3NwCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbmRpdGlvbgkJCSAgbWFrZS1zZXF1ZW5jZQkJCSAgIHN0cmluZy1ub3QtZXF1YWwKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29uanVnYXRlCQkJICBtYWtlLXN0cmluZwkJCSAgIHN0cmluZy1ub3QtZ3JlYXRlcnAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29ucwkJCQkgIG1ha2Utc3RyaW5nLWlucHV0LXN0cmVhbQkgICBzdHJpbmctbm90LWxlc3NwCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbnNwCQkJCSAgbWFrZS1zdHJpbmctb3V0cHV0LXN0cmVhbQkgICBzdHJpbmctcmlnaHQtc3RyaW0KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29uc3RhbnRseQkJCSAgbWFrZS1zeW1ib2wJCQkgICBzdHJpbmctcmlnaHQtdHJpbQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb25zdGFudHAJCQkgIG1ha2Utc3lub255bS1zdHJlYW0JCSAgIHN0cmluZy1zdHJlYW0KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29udGludWUJCQkgIG1ha2UtdHdvLXdheS1zdHJlYW0JCSAgIHN0cmluZy10cmltCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvbnRyb2wtZXJyb3IJCQkgIG1ha3VuYm91bmQJCQkgICBzdHJpbmctdXBjYXNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvcHktYWxpc3QJCQkgIG1hcAkJCQkgICBzdHJpbmcvPQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb3B5LWxpc3QJCQkgIG1hcC1pbnRvCQkJICAgc3RyaW5nPAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb3B5LXBwcmludC1kaXNwYXRjaAkJICBtYXBjCQkJCSAgIHN0cmluZzw9CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvcHktcmVhZHRhYmxlCQkJICBtYXBjYW4JCQkgICBzdHJpbmc9CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvcHktc2VxCQkJICBtYXBjYXIJCQkgICBzdHJpbmc+CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvcHktc3RydWN0dXJlCQkJICBtYXBjb24JCQkgICBzdHJpbmc+PQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb3B5LXN5bWJvbAkJCSAgbWFwaGFzaAkJCSAgIHN0cmluZ3AKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY29weS10cmVlCQkJICBtYXBsCQkJCSAgIHN0cnVjdHVyZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb3MJCQkJICBtYXBsaXN0CQkJICAgc3RydWN0dXJlLWNsYXNzCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvc2gJCQkJICBtYXNrLWZpZWxkCQkJICAgc3RydWN0dXJlLW9iamVjdAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBjb3VudAkJCQkgIG1heAkJCQkgICBzdHlsZS13YXJuaW5nCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGNvdW50LWlmCQkJICBtZW1iZXIJCQkgICBzdWJsaW0KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY291bnQtaWYtbm90CQkJICBtZW1iZXItaWYJCQkgICBzdWJsaXMKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgY3R5cGVjYXNlCQkJICBtZW1iZXItaWYtbm90CQkJICAgc3Vic2VxCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlYnVnCQkJCSAgbWVyZ2UJCQkJICAgc3Vic2V0cAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZWNmCQkJCSAgbWVyZ2UtcGF0aG5hbWUJCSAgIHN1YnN0CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlY2xhaW0JCQkgIG1lcmdlLXBhdGhuYW1lcwkJICAgc3Vic3QtaWYKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVjbGFyYXRpb24JCQkgIG1ldGhvZAkJCSAgIHN1YnN0LWlmLW5vdAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZWNsYXJlCQkJICBtZXRob2QtY29tYmluYXRpb24JCSAgIHN1YnN0aXR1dGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVjb2RlLWZsb2F0CQkJICBtZXRob2QtY29tYmluYXRpb24tZXJyb3IJICAgc3Vic3RpdHV0ZS1pZgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZWNvZGUtdW5pdmVyc2FsLXRpbWUJCSAgbWV0aG9kLXF1YWxpZmllcnMJCSAgIHN1YnN0aXR1dGUtaWYtbm90CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlZmNsYXNzCQkJICBtaW4JCQkJICAgc3VidHlwZXAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVmY29uc3RhbnQJCQkgIG1pbnVzcAkJCSAgIHN2cmVmCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlZmdlbmVyaWMJCQkgIG1pc21hdGNoCQkJICAgc3hoYXNoCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlZmluZS1jb21waWxlci1tYWNybwkJICBtb2QJCQkJICAgc3ltYm9sCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlZmluZS1jb25kaXRpb24JCSAgbW9zdC1uZWdhdGl2ZS1kb3VibGUtZmxvYXQJICAgc3ltYm9sLWZ1bmN0aW9uCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlZmluZS1tZXRob2QtY29tYmluYXRpb24JICBtb3N0LW5lZ2F0aXZlLWZpeG51bQkJICAgc3ltYm9sLW1hY3JvbGV0CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlZmluZS1tb2RpZnktbWFjcm8JCSAgbW9zdC1uZWdhdGl2ZS1sb25nLWZsb2F0CSAgIHN5bWJvbC1uYW1lCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlZmluZS1zZXRmLWV4cGFuZGVyCQkgIG1vc3QtbmVnYXRpdmUtc2hvcnQtZmxvYXQJICAgc3ltYm9sLXBhY2thZ2UKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVmaW5lLXNldGYtbWV0aG9kCQkgIG1vc3QtbmVnYXRpdmUtc2luZ2xlLWZsb2F0CSAgIHN5bWJvbC1wbGlzdAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZWZpbmUtc3ltYm9sLW1hY3JvCQkgIG1vc3QtcG9zaXRpdmUtZG91YmxlLWZsb2F0CSAgIHN5bWJvbC12YWx1ZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZWZtYWNybwkJCSAgbW9zdC1wb3NpdGl2ZS1maXhudW0JCSAgIHN5bWJvbHAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVmbWV0aG9kCQkJICBtb3N0LXBvc2l0aXZlLWxvbmctZmxvYXQJICAgc3lub255bS1zdHJlYW0KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVmcGFja2FnZQkJCSAgbW9zdC1wb3NpdGl2ZS1zaG9ydC1mbG9hdAkgICBzeW5vbnltLXN0cmVhbS1zeW1ib2wKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVmcGFyYW1ldGVyCQkJICBtb3N0LXBvc2l0aXZlLXNpbmdsZS1mbG9hdAkgICBzeXMKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVmc2V0ZgkJCSAgbXVmZmxlLXdhcm5pbmcJCSAgIHN5c3RlbQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZWZzdHJ1Y3QJCQkgIG11bHRpcGxlLXZhbHVlLWJpbmQJCSAgIHQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVmdHlwZQkJCSAgbXVsdGlwbGUtdmFsdWUtY2FsbAkJICAgdGFnYm9keQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZWZ1bgkJCQkgIG11bHRpcGxlLXZhbHVlLWxpc3QJCSAgIHRhaWxwCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlZnZhcgkJCQkgIG11bHRpcGxlLXZhbHVlLXByb2cxCQkgICB0YW4KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVsZXRlCQkJCSAgbXVsdGlwbGUtdmFsdWUtc2V0ZXEJCSAgIHRhbmgKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVsZXRlLWR1cGxpY2F0ZXMJCSAgbXVsdGlwbGUtdmFsdWUtc2V0cQkJICAgdGVudGgKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVsZXRlLWZpbGUJCQkgIG11bHRpcGxlLXZhbHVlcy1saW1pdAkJICAgdGVycHJpCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlbGV0ZS1pZgkJCSAgbmFtZS1jaGFyCQkJICAgdGhlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRlbGV0ZS1pZi1ub3QJCQkgIG5hbWVzdHJpbmcJCQkgICB0aGlyZAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZWxldGUtcGFja2FnZQkJCSAgbmJ1dGxhc3QJCQkgICB0aHJvdworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZW5vbWluYXRvcgkJCSAgbmNvbmMJCQkJICAgdGltZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZXBvc2l0LWZpZWxkCQkJICBuZXh0LW1ldGhvZC1wCQkJICAgdHJhY2UKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGVzY3JpYmUJCQkgIG5pbAkJCQkgICB0cmFuc2xhdGUtbG9naWNhbC1wYXRobmFtZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZXNjcmliZS1vYmplY3QJCSAgbmludGVyc2VjdGlvbgkJCSAgIHRyYW5zbGF0ZS1wYXRobmFtZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkZXN0cnVjdHVyaW5nLWJpbmQJCSAgbmludGgJCQkJICAgdHJlZS1lcXVhbAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkaWdpdC1jaGFyCQkJICBuby1hcHBsaWNhYmxlLW1ldGhvZAkJICAgdHJ1ZW5hbWUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGlnaXQtY2hhci1wCQkJICBuby1uZXh0LW1ldGhvZAkJICAgdHJ1bmNhc2UKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGlyZWN0b3J5CQkJICBub3QJCQkJICAgdHJ1bmNhdGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGlyZWN0b3J5LW5hbWVzdHJpbmcJCSAgbm90YW55CQkJICAgdHdvLXdheS1zdHJlYW0KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZGlzYXNzZW1ibGUJCQkgIG5vdGV2ZXJ5CQkJICAgdHdvLXdheS1zdHJlYW0taW5wdXQtc3RyZWFtCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRpdmlzaW9uLWJ5LXplcm8JCSAgbm90aW5saW5lCQkJICAgdHdvLXdheS1zdHJlYW0tb3V0cHV0LXN0cmVhbQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkbwkJCQkgIG5yZWNvbmMJCQkgICB0eXBlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRvKgkJCQkgIG5yZXZlcnNlCQkJICAgdHlwZS1lcnJvcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkby1hbGwtc3ltYm9scwkJCSAgbnNldC1kaWZmZXJlbmNlCQkgICB0eXBlLWVycm9yLWRhdHVtCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRvLWV4ZXRlcm5hbC1zeW1ib2xzCQkgIG5zZXQtZXhjbHVzaXZlLW9yCQkgICB0eXBlLWVycm9yLWV4cGVjdGVkLXR5cGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZG8tZXh0ZXJuYWwtc3ltYm9scwkJICBuc3RyaW5nCQkJICAgdHlwZS1vZgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkby1zeW1ib2xzCQkJICBuc3RyaW5nLWNhcGl0YWxpemUJCSAgIHR5cGVjYXNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRvY3VtZW50YXRpb24JCQkgIG5zdHJpbmctZG93bmNhc2UJCSAgIHR5cGVwCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRvbGlzdAkJCQkgIG5zdHJpbmctdXBjYXNlCQkgICB1bmJvdW5kLXNsb3QKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZG90aW1lcwkJCSAgbnN1YmxpcwkJCSAgIHVuYm91bmQtc2xvdC1pbnN0YW5jZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBkb3VibGUtZmxvYXQJCQkgIG5zdWJzdAkJCSAgIHVuYm91bmQtdmFyaWFibGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZG91YmxlLWZsb2F0LWVwc2lsb24JCSAgbnN1YnN0LWlmCQkJICAgdW5kZWZpbmVkLWZ1bmN0aW9uCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRvdWJsZS1mbG9hdC1uZWdhdGl2ZS1lcHNpbG9uCSAgbnN1YnN0LWlmLW5vdAkJCSAgIHVuZXhwb3J0CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGRwYgkJCQkgIG5zdWJzdGl0dXRlCQkJICAgdW5pbnRlcm4KK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZHJpYmJsZQkJCSAgbnN1YnN0aXR1dGUtaWYJCSAgIHVuaW9uCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGR5bmFtaWMtZXh0ZW50CQkJICBuc3Vic3RpdHV0ZS1pZi1ub3QJCSAgIHVubGVzcworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBlY2FzZQkJCQkgIG50aAkJCQkgICB1bnJlYWQKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZWNoby1zdHJlYW0JCQkgIG50aC12YWx1ZQkJCSAgIHVucmVhZC1jaGFyCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGVjaG8tc3RyZWFtLWlucHV0LXN0cmVhbQkgIG50aGNkcgkJCSAgIHVuc2lnbmVkLWJ5dGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZWNoby1zdHJlYW0tb3V0cHV0LXN0cmVhbQkgIG51bGwJCQkJICAgdW50cmFjZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBlZAkJCQkgIG51bWJlcgkJCSAgIHVudXNlLXBhY2thZ2UKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZWlnaHRoCQkJCSAgbnVtYmVycAkJCSAgIHVud2luZC1wcm90ZWN0CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGVsdAkJCQkgIG51bWVyYXRvcgkJCSAgIHVwZGF0ZS1pbnN0YW5jZS1mb3ItZGlmZmVyZW50LWNsYXNzCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGVuY29kZS11bml2ZXJzYWwtdGltZQkJICBudW5pb24JCQkgICB1cGRhdGUtaW5zdGFuY2UtZm9yLXJlZGVmaW5lZC1jbGFzcworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBlbmQtb2YtZmlsZQkJCSAgb2RkcAkJCQkgICB1cGdyYWRlZC1hcnJheS1lbGVtZW50LXR5cGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZW5kcAkJCQkgIG9wZW4JCQkJICAgdXBncmFkZWQtY29tcGxleC1wYXJ0LXR5cGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZW5vdWdoLW5hbWVzdHJpbmcJCSAgb3Blbi1zdHJlYW0tcAkJCSAgIHVwcGVyLWNhc2UtcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBlbnN1cmUtZGlyZWN0b3JpZXMtZXhpc3QJICBvcHRpbWl6ZQkJCSAgIHVzZS1wYWNrYWdlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGVuc3VyZS1nZW5lcmljLWZ1bmN0aW9uCSAgb3IJCQkJICAgdXNlLXZhbHVlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGVxCQkJCSAgb3RoZXJ3aXNlCQkJICAgdXNlcgorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBlcWwJCQkJICBvdXRwdXQtc3RyZWFtLXAJCSAgIHVzZXItaG9tZWRpci1wYXRobmFtZQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBlcXVhbAkJCQkgIHBhY2thZ2UJCQkgICB2YWx1ZXMKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZXF1YWxwCQkJCSAgcGFja2FnZS1lcnJvcgkJCSAgIHZhbHVlcy1saXN0CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGVycm9yCQkJCSAgcGFja2FnZS1lcnJvci1wYWNrYWdlCQkgICB2ZWN0b3IKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZXR5cGVjYXNlCQkJICBwYWNrYWdlLW5hbWUJCQkgICB2ZWN0b3ItcG9wCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGV2YWwJCQkJICBwYWNrYWdlLW5pY2tuYW1lcwkJICAgdmVjdG9yLXB1c2gKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZXZhbC13aGVuCQkJICBwYWNrYWdlLXNoYWRvd2luZy1zeW1ib2xzCSAgIHZlY3Rvci1wdXNoLWV4dGVuZAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBldmFsaG9vawkJCSAgcGFja2FnZS11c2UtbGlzdAkJICAgdmVjdG9ycAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBldmVucAkJCQkgIHBhY2thZ2UtdXNlZC1ieS1saXN0CQkgICB3YXJuCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGV2ZXJ5CQkJCSAgcGFja2FnZXAJCQkgICB3YXJuaW5nCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGV4cAkJCQkgIHBhaXJsaXMJCQkgICB3aGVuCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGV4cG9ydAkJCQkgIHBhcnNlLWVycm9yCQkJICAgd2lsZC1wYXRobmFtZS1wCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGV4cHQJCQkJICBwYXJzZS1pbnRlZ2VyCQkJICAgd2l0aC1hY2Nlc3NvcnMKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZXh0ZW5kZWQtY2hhcgkJCSAgcGFyc2UtbmFtZXN0cmluZwkJICAgd2l0aC1jb21waWxhdGlvbi11bml0CitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGZib3VuZHAJCQkgIHBhdGhuYW1lCQkJICAgd2l0aC1jb25kaXRpb24tcmVzdGFydHMKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZmNlaWxpbmcJCQkgIHBhdGhuYW1lLWRldmljZQkJICAgd2l0aC1oYXNoLXRhYmxlLWl0ZXJhdG9yCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGZkZWZpbml0aW9uCQkJICBwYXRobmFtZS1kaXJlY3RvcnkJCSAgIHdpdGgtaW5wdXQtZnJvbS1zdHJpbmcKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZmZsb29yCQkJCSAgcGF0aG5hbWUtaG9zdAkJCSAgIHdpdGgtb3Blbi1maWxlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGZpZnRoCQkJCSAgcGF0aG5hbWUtbWF0Y2gtcAkJICAgd2l0aC1vcGVuLXN0cmVhbQorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBmaWxlLWF1dGhvcgkJCSAgcGF0aG5hbWUtbmFtZQkJCSAgIHdpdGgtb3V0cHV0LXRvLXN0cmluZworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBmaWxlLWVycm9yCQkJICBwYXRobmFtZS10eXBlCQkJICAgd2l0aC1wYWNrYWdlLWl0ZXJhdG9yCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGZpbGUtZXJyb3ItcGF0aG5hbWUJCSAgcGF0aG5hbWUtdmVyc2lvbgkJICAgd2l0aC1zaW1wbGUtcmVzdGFydAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBmaWxlLWxlbmd0aAkJCSAgcGF0aG5hbWVwCQkJICAgd2l0aC1zbG90cworc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBmaWxlLW5hbWVzdHJpbmcJCSAgcGVlay1jaGFyCQkJICAgd2l0aC1zdGFuZGFyZC1pby1zeW50YXgKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZmlsZS1wb3NpdGlvbgkJCSAgcGhhc2UJCQkJICAgd3JpdGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZmlsZS1zdHJlYW0JCQkgIHBpCQkJCSAgIHdyaXRlLWJ5dGUKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZmlsZS1zdHJpbmctbGVuZ3RoCQkgIHBsdXNwCQkJCSAgIHdyaXRlLWNoYXIKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZmlsZS13cml0ZS1kYXRlCQkgIHBvcAkJCQkgICB3cml0ZS1saW5lCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGZpbGwJCQkJICBwb3NpdGlvbgkJCSAgIHdyaXRlLXNlcXVlbmNlCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGZpbGwtcG9pbnRlcgkJCSAgcG9zaXRpb24taWYJCQkgICB3cml0ZS1zdHJpbmcKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZmluZAkJCQkgIHBvc2l0aW9uLWlmLW5vdAkJICAgd3JpdGUtdG8tc3RyaW5nCitzeW4ga2V5d29yZCBsaXNwRnVuYwkJIGZpbmQtYWxsLXN5bWJvbHMJCSAgcHByaW50CQkJICAgeS1vci1uLXAKK3N5biBrZXl3b3JkIGxpc3BGdW5jCQkgZmluZC1jbGFzcwkJCSAgcHByaW50LWRpc3BhdGNoCQkgICB5ZXMtb3Itbm8tcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBmaW5kLWlmCQkJICBwcHJpbnQtZXhpdC1pZi1saXN0LWV4aGF1c3RlZAkgICB6ZXJvcAorc3luIGtleXdvcmQgbGlzcEZ1bmMJCSBmaW5kLWlmLW5vdAkJCSAgcHByaW50LWZpbGwKKworc3luIG1hdGNoICAgbGlzcEZ1bmMJCSAiXDxjW2FkXVwrclw+IgorCisKKyIgTGlzcCBLZXl3b3JkcyAobW9kaWZpZXJzKQorc3luIGtleXdvcmQgbGlzcEtleQkJIDphYm9ydAkJCQkgIDpmcm9tLWVuZAkJCSAgIDpvdmVyd3JpdGUKK3N5biBrZXl3b3JkIGxpc3BLZXkJCSA6YWRqdXN0YWJsZQkJCSAgOmdlbnN5bQkJCSAgIDpwcmVkaWNhdGUKK3N5biBrZXl3b3JkIGxpc3BLZXkJCSA6YXBwZW5kCQkJICA6aG9zdAkJCQkgICA6cHJlc2VydmUtd2hpdGVzcGFjZQorc3luIGtleXdvcmQgbGlzcEtleQkJIDphcnJheQkJCQkgIDppZi1kb2VzLW5vdC1leGlzdAkJICAgOnByZXR0eQorc3luIGtleXdvcmQgbGlzcEtleQkJIDpiYXNlCQkJCSAgOmlmLWV4aXN0cwkJCSAgIDpwcmludAorc3luIGtleXdvcmQgbGlzcEtleQkJIDpjYXNlCQkJCSAgOmluY2x1ZGUJCQkgICA6cHJpbnQtZnVuY3Rpb24KK3N5biBrZXl3b3JkIGxpc3BLZXkJCSA6Y2lyY2xlCQkJICA6aW5kZXgJCQkgICA6cHJvYmUKK3N5biBrZXl3b3JkIGxpc3BLZXkJCSA6Y29uYy1uYW1lCQkJICA6aW5oZXJpdGVkCQkJICAgOnJhZGl4CitzeW4ga2V5d29yZCBsaXNwS2V5CQkgOmNvbnN0cnVjdG9yCQkJICA6aW5pdGlhbC1jb250ZW50cwkJICAgOnJlYWQtb25seQorc3luIGtleXdvcmQgbGlzcEtleQkJIDpjb3BpZXIJCQkgIDppbml0aWFsLWVsZW1lbnQJCSAgIDpyZWhhc2gtc2l6ZQorc3luIGtleXdvcmQgbGlzcEtleQkJIDpjb3VudAkJCQkgIDppbml0aWFsLW9mZnNldAkJICAgOnJlaGFzaC10aHJlc2hvbGQKK3N5biBrZXl3b3JkIGxpc3BLZXkJCSA6Y3JlYXRlCQkJICA6aW5pdGlhbC12YWx1ZQkJICAgOnJlbmFtZQorc3luIGtleXdvcmQgbGlzcEtleQkJIDpkZWZhdWx0CQkJICA6aW5wdXQJCQkgICA6cmVuYW1lLWFuZC1kZWxldGUKK3N5biBrZXl3b3JkIGxpc3BLZXkJCSA6ZGVmYXVsdHMJCQkgIDppbnRlcm5hbAkJCSAgIDpzaXplCitzeW4ga2V5d29yZCBsaXNwS2V5CQkgOmRldmljZQkJCSAgOmlvCQkJCSAgIDpzdGFydAorc3luIGtleXdvcmQgbGlzcEtleQkJIDpkaXJlY3Rpb24JCQkgIDpqdW5rLWFsbG93ZWQJCQkgICA6c3RhcnQxCitzeW4ga2V5d29yZCBsaXNwS2V5CQkgOmRpcmVjdG9yeQkJCSAgOmtleQkJCQkgICA6c3RhcnQyCitzeW4ga2V5d29yZCBsaXNwS2V5CQkgOmRpc3BsYWNlZC1pbmRleC1vZmZzZXQJICA6bGVuZ3RoCQkJICAgOnN0cmVhbQorc3luIGtleXdvcmQgbGlzcEtleQkJIDpkaXNwbGFjZWQtdG8JCQkgIDpsZXZlbAkJCSAgIDpzdXBlcnNlZGUKK3N5biBrZXl3b3JkIGxpc3BLZXkJCSA6ZWxlbWVudC10eXBlCQkJICA6bmFtZQkJCQkgICA6dGVzdAorc3luIGtleXdvcmQgbGlzcEtleQkJIDplbmQJCQkJICA6bmFtZWQJCQkgICA6dGVzdC1ub3QKK3N5biBrZXl3b3JkIGxpc3BLZXkJCSA6ZW5kMQkJCQkgIDpuZXctdmVyc2lvbgkJCSAgIDp0eXBlCitzeW4ga2V5d29yZCBsaXNwS2V5CQkgOmVuZDIJCQkJICA6bmlja25hbWVzCQkJICAgOnVzZQorc3luIGtleXdvcmQgbGlzcEtleQkJIDplcnJvcgkJCQkgIDpvdXRwdXQJCQkgICA6dmVyYm9zZQorc3luIGtleXdvcmQgbGlzcEtleQkJIDplc2NhcGUJCQkgIDpvdXRwdXQtZmlsZQkJCSAgIDp2ZXJzaW9uCitzeW4ga2V5d29yZCBsaXNwS2V5CQkgOmV4dGVybmFsCisKKyIgU3RhbmRhcmQgTGlzcCBWYXJpYWJsZXMKK3N5biBrZXl3b3JkIGxpc3BWYXIJCSAqYXBwbHlob29rKgkJCSAgKmxvYWQtcGF0aG5hbWUqCQkgICAqcHJpbnQtcHByaW50LWRpc3BhdGNoKgorc3luIGtleXdvcmQgbGlzcFZhcgkJICpicmVhay1vbi1zaWduYWxzKgkJICAqbG9hZC1wcmludCoJCQkgICAqcHJpbnQtcHByaW50LWRpc3BhdGNoKgorc3luIGtleXdvcmQgbGlzcFZhcgkJICpicmVhay1vbi1zaWduYWxzKgkJICAqbG9hZC10cnVlbmFtZSoJCSAgICpwcmludC1wcmV0dHkqCitzeW4ga2V5d29yZCBsaXNwVmFyCQkgKmJyZWFrLW9uLXdhcm5pbmdzKgkJICAqbG9hZC12ZXJib3NlKgkJICAgKnByaW50LXJhZGl4Kgorc3luIGtleXdvcmQgbGlzcFZhcgkJICpjb21waWxlLWZpbGUtcGF0aG5hbWUqCSAgKm1hY3JvZXhwYW5kLWhvb2sqCQkgICAqcHJpbnQtcmVhZGFibHkqCitzeW4ga2V5d29yZCBsaXNwVmFyCQkgKmNvbXBpbGUtZmlsZS1wYXRobmFtZSoJICAqbW9kdWxlcyoJCQkgICAqcHJpbnQtcmlnaHQtbWFyZ2luKgorc3luIGtleXdvcmQgbGlzcFZhcgkJICpjb21waWxlLWZpbGUtdHJ1ZW5hbWUqCSAgKnBhY2thZ2UqCQkJICAgKnByaW50LXJpZ2h0LW1hcmdpbioKK3N5biBrZXl3b3JkIGxpc3BWYXIJCSAqY29tcGlsZS1maWxlLXRydWVuYW1lKgkgICpwcmludC1hcnJheSoJCQkgICAqcXVlcnktaW8qCitzeW4ga2V5d29yZCBsaXNwVmFyCQkgKmNvbXBpbGUtcHJpbnQqCQkgICpwcmludC1iYXNlKgkJCSAgICpyYW5kb20tc3RhdGUqCitzeW4ga2V5d29yZCBsaXNwVmFyCQkgKmNvbXBpbGUtdmVyYm9zZSoJCSAgKnByaW50LWNhc2UqCQkJICAgKnJlYWQtYmFzZSoKK3N5biBrZXl3b3JkIGxpc3BWYXIJCSAqY29tcGlsZS12ZXJib3NlKgkJICAqcHJpbnQtY2lyY2xlKgkJICAgKnJlYWQtZGVmYXVsdC1mbG9hdC1mb3JtYXQqCitzeW4ga2V5d29yZCBsaXNwVmFyCQkgKmRlYnVnLWlvKgkJCSAgKnByaW50LWVzY2FwZSoJCSAgICpyZWFkLWV2YWwqCitzeW4ga2V5d29yZCBsaXNwVmFyCQkgKmRlYnVnZ2VyLWhvb2sqCQkgICpwcmludC1nZW5zeW0qCQkgICAqcmVhZC1zdXBwcmVzcyoKK3N5biBrZXl3b3JkIGxpc3BWYXIJCSAqZGVmYXVsdC1wYXRobmFtZS1kZWZhdWx0cyoJICAqcHJpbnQtbGVuZ3RoKgkJICAgKnJlYWR0YWJsZSoKK3N5biBrZXl3b3JkIGxpc3BWYXIJCSAqZXJyb3Itb3V0cHV0KgkJCSAgKnByaW50LWxldmVsKgkJCSAgICpzdGFuZGFyZC1pbnB1dCoKK3N5biBrZXl3b3JkIGxpc3BWYXIJCSAqZXZhbGhvb2sqCQkJICAqcHJpbnQtbGluZXMqCQkJICAgKnN0YW5kYXJkLW91dHB1dCoKK3N5biBrZXl3b3JkIGxpc3BWYXIJCSAqZmVhdHVyZXMqCQkJICAqcHJpbnQtbWlzZXItd2lkdGgqCQkgICAqdGVybWluYWwtaW8qCitzeW4ga2V5d29yZCBsaXNwVmFyCQkgKmdlbnN5bS1jb3VudGVyKgkJICAqcHJpbnQtbWlzZXItd2lkdGgqCQkgICAqdHJhY2Utb3V0cHV0KgorCisiIFN0cmluZ3MKK3N5biByZWdpb24JCQkgbGlzcFN0cmluZwkJCSAgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworaWYgZXhpc3RzKCJsaXNwX2luc3RyaW5nIikKKyBzeW4gcmVnaW9uCQkJIGxpc3BJblN0cmluZwkJCSAga2VlcGVuZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0rIigrcnM9cysxIHNraXA9K3wuXHstfXwrIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0rKSIrIGNvbnRhaW5zPUBsaXNwTGlzdENsdXN0ZXIsbGlzcEluU3RyaW5nU3RyaW5nCisgc3luIHJlZ2lvbgkJCSBsaXNwSW5TdHJpbmdTdHJpbmcJCSAgc3RhcnQ9K1xcIisgc2tpcD0rXFxcXCsgZW5kPStcXCIrIGNvbnRhaW5lZAorZW5kaWYKKworIiBTaGFyZWQgd2l0aCBYbGlzcCwgRGVjbGFyYXRpb25zLCBNYWNyb3MsIEZ1bmN0aW9ucworc3luIGtleXdvcmQgbGlzcERlY2wJCSBkZWZtYWNybwkJCSAgZG8tYWxsLXN5bWJvbHMJCSAgIGxhYmVscworc3luIGtleXdvcmQgbGlzcERlY2wJCSBkZWZzZXRmCQkJICBkby1leHRlcm5hbC1zeW1ib2xzCQkgICBsZXQKK3N5biBrZXl3b3JkIGxpc3BEZWNsCQkgZGVmdHlwZQkJCSAgZG8tc3ltYm9scwkJCSAgIGxvY2FsbHkKK3N5biBrZXl3b3JkIGxpc3BEZWNsCQkgZGVmdW4JCQkJICBkb3RpbWVzCQkJICAgbWFjcm9sZXQKK3N5biBrZXl3b3JkIGxpc3BEZWNsCQkgZG8qCQkJCSAgZmxldAkJCQkgICBtdWx0aXBsZS12YWx1ZS1iaW5kCisKKyIgTnVtYmVyczogc3VwcG9ydGluZyBpbnRlZ2VycyBhbmQgZmxvYXRpbmcgcG9pbnQgbnVtYmVycworc3luIG1hdGNoIGxpc3BOdW1iZXIJCSAiLVw9XChcLlxkXCtcfFxkXCtcKFwuXGQqXClcPVwpXChlWy0rXVw9XGRcK1wpXD0iCisKK3N5biBtYXRjaCBsaXNwU3BlY2lhbAkJICJcKlthLXpBLVpfXVthLXpBLVpfMC05LV0qXCoiCitzeW4gbWF0Y2ggbGlzcFNwZWNpYWwJCSAhI3xbXigpJ2AsIjsgXHRdXCt8IyEKK3N5biBtYXRjaCBsaXNwU3BlY2lhbAkJICEjeFswLTlhLWZBLUZdXCshCitzeW4gbWF0Y2ggbGlzcFNwZWNpYWwJCSAhI29bMC03XVwrIQorc3luIG1hdGNoIGxpc3BTcGVjaWFsCQkgISNiWzAxXVwrIQorc3luIG1hdGNoIGxpc3BTcGVjaWFsCQkgISNcXFsgLVx+XSEKK3N5biBtYXRjaCBsaXNwU3BlY2lhbAkJICEjWyc6XVteKCknYCwiOyBcdF1cKyEKK3N5biBtYXRjaCBsaXNwU3BlY2lhbAkJICEjKFteKCknYCwiOyBcdF1cKykhCisKK3N5biBtYXRjaCBsaXNwQ29uY2F0CQkgIlxzXC5ccyIKK3N5biBtYXRjaCBsaXNwUGFyZW5FcnJvcgkgIikiCisKKyIgQ29tbWVudHMKK3N5biBjbHVzdGVyIGxpc3BDb21tZW50R3JvdXAJIGNvbnRhaW5zPWxpc3BUb2RvLEBTcGVsbAorc3luIG1hdGNoICAgbGlzcENvbW1lbnQJCSAiOy4qJCIJCQkJICBjb250YWlucz1AbGlzcENvbW1lbnRHcm91cAorc3luIHJlZ2lvbiAgbGlzcENvbW1lbnRSZWdpb24JIHN0YXJ0PSIjfCIgZW5kPSJ8IyIJCSAgY29udGFpbnM9bGlzcENvbW1lbnRSZWdpb24sQGxpc3BDb21tZW50R3JvdXAKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQgbGlzcFRvZG8JCSBjb250YWluZWQJCQkgIGNvbWJhawkJCSAgIGNvbWJhazoJCQkgICAgdG9kbwkJCSAgICAgdG9kbzoKK3N5biBjYXNlIG1hdGNoCisKKyIgc3luY2hyb25pemF0aW9uCitzeW4gc3luYyBsaW5lcz0xMDAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbGlzcF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9saXNwX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIGxpc3BDb21tZW50UmVnaW9uCSBsaXNwQ29tbWVudAorICBIaUxpbmsgbGlzcEF0b21ObWJyCQkgbGlzcE51bWJlcgorICBIaUxpbmsgbGlzcEF0b21NYXJrCQkgbGlzcE1hcmsKKyAgSGlMaW5rIGxpc3BJblN0cmluZ1N0cmluZwkgbGlzcFN0cmluZworCisgIEhpTGluayBsaXNwQXRvbQkJIElkZW50aWZpZXIKKyAgSGlMaW5rIGxpc3BBdG9tQmFyU3ltYm9sCSBTcGVjaWFsCisgIEhpTGluayBsaXNwQmFyU3ltYm9sCQkgU3BlY2lhbAorICBIaUxpbmsgbGlzcENvbW1lbnQJCSBDb21tZW50CisgIEhpTGluayBsaXNwQ29uY2F0CQkgU3RhdGVtZW50CisgIEhpTGluayBsaXNwRGVjbAkJIFN0YXRlbWVudAorICBIaUxpbmsgbGlzcEZ1bmMJCSBTdGF0ZW1lbnQKKyAgSGlMaW5rIGxpc3BLZXkJCSBUeXBlCisgIEhpTGluayBsaXNwTWFyawkJIERlbGltaXRlcgorICBIaUxpbmsgbGlzcE51bWJlcgkJIE51bWJlcgorICBIaUxpbmsgbGlzcFBhcmVuRXJyb3IJCSBFcnJvcgorICBIaUxpbmsgbGlzcFNwZWNpYWwJCSBUeXBlCisgIEhpTGluayBsaXNwU3RyaW5nCQkgU3RyaW5nCisgIEhpTGluayBsaXNwVG9kbwkJIFRvZG8KKyAgSGlMaW5rIGxpc3BWYXIJCSBTdGF0ZW1lbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibGlzcCIKKworIiB2aW06IHRzPTggbm93cmFwCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9saXRlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xpdGUudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYmM1MWQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9saXRlLnZpbQpAQCAtMCwwICsxLDE4MSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CWxpdGUKKyIgTWFpbnRhaW5lcjoJTHV0eiBFeW1lcnMgPGl4dGFiQHBvbHppbi5jb20+CisiIFVSTDoJCWh0dHA6Ly93d3cuaXNwLmRlL2RhdGEvbGl0ZS52aW0KKyIgRW1haWw6CVN1YmplY3Q6IHNlbmQgc3ludGF4X3ZpbS50Z3oKKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWFpIDAxCisiCisiIE9wdGlvbnMJbGl0ZV9zcWxfcXVlcnkgPSAxIGZvciBTUUwgc3ludGF4IGhpZ2hsaWd0aGluZyBpbnNpZGUgc3RyaW5ncworIgkJbGl0ZV9taW5saW5lcyA9IHggICAgIHRvIHN5bmMgYXQgbGVhc3QgeCBsaW5lcyBiYWNrd2FyZHMKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCisgIGxldCBtYWluX3N5bnRheCA9ICdsaXRlJworZW5kaWYKKworaWYgbWFpbl9zeW50YXggPT0gJ2xpdGUnCisgIGlmIGV4aXN0cygibGl0ZV9zcWxfcXVlcnkiKQorICAgIGlmIGxpdGVfc3FsX3F1ZXJ5ID09IDEKKyAgICAgIHN5biBpbmNsdWRlIEBsaXRlU3FsIDxzZmlsZT46cDpoL3NxbC52aW0KKyAgICAgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKKyAgICBlbmRpZgorICBlbmRpZgorZW5kaWYKKworaWYgbWFpbl9zeW50YXggPT0gJ21zcWwnCisgIGlmIGV4aXN0cygibXNxbF9zcWxfcXVlcnkiKQorICAgIGlmIG1zcWxfc3FsX3F1ZXJ5ID09IDEKKyAgICAgIHN5biBpbmNsdWRlIEBsaXRlU3FsIDxzZmlsZT46cDpoL3NxbC52aW0KKyAgICAgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKKyAgICBlbmRpZgorICBlbmRpZgorZW5kaWYKKworc3luIGNsdXN0ZXIgbGl0ZVNxbCByZW1vdmU9c3FsU3RyaW5nLHNxbENvbW1lbnQKKworc3luIGNhc2UgbWF0Y2gKKworIiBJbnRlcm5hbCBWYXJpYWJsZXMKK3N5biBrZXl3b3JkIGxpdGVJbnRWYXIgRVJSTVNHIGNvbnRhaW5lZAorCisiIENvbW1lbnQKK3N5biByZWdpb24gbGl0ZUNvbW1lbnQJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1saXRlVG9kbworCisiIEZ1bmN0aW9uIG5hbWVzCitzeW4ga2V5d29yZCBsaXRlRnVuY3Rpb25zICBlY2hvIHByaW50ZiBmcHJpbnRmIG9wZW4gY2xvc2UgcmVhZAorc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgcmVhZGxuIHJlYWR0b2sKK3N5biBrZXl3b3JkIGxpdGVGdW5jdGlvbnMgIHNwbGl0IHN0cnNlZyBjaG9wIHRyIHN1YiBzdWJzdHIKK3N5biBrZXl3b3JkIGxpdGVGdW5jdGlvbnMgIHRlc3QgdW5saW5rIHVtYXNrIGNobW9kIG1rZGlyIGNoZGlyIHJtZGlyCitzeW4ga2V5d29yZCBsaXRlRnVuY3Rpb25zICByZW5hbWUgdHJ1bmNhdGUgbGluayBzeW1saW5rIHN0YXQKK3N5biBrZXl3b3JkIGxpdGVGdW5jdGlvbnMgIHNsZWVwIHN5c3RlbSBnZXRwaWQgZ2V0cHBpZCBraWxsCitzeW4ga2V5d29yZCBsaXRlRnVuY3Rpb25zICB0aW1lIGN0aW1lIHRpbWUydW5peHRpbWUgdW5peHRpbWUyeWVhcgorc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgdW5peHRpbWUyeWVhciB1bml4dGltZTJtb250aCB1bml4dGltZTJkYXkKK3N5biBrZXl3b3JkIGxpdGVGdW5jdGlvbnMgIHVuaXh0aW1lMmhvdXIgdW5peHRpbWUybWluIHVuaXh0aW1lMnNlYworc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgc3RyZnRpbWUKK3N5biBrZXl3b3JkIGxpdGVGdW5jdGlvbnMgIGdldHB3bmFtIGdldHB3dWlkCitzeW4ga2V5d29yZCBsaXRlRnVuY3Rpb25zICBnZXRob3N0YnluYW1lIGdldGhvc3RieWFkZHJlc3MKK3N5biBrZXl3b3JkIGxpdGVGdW5jdGlvbnMgIHVybEVuY29kZSBzZXRDb250ZW50VHlwZSBpbmNsdWRlRmlsZQorc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgbXNxbENvbm5lY3QgbXNxbENsb3NlIG1zcWxTZWxlY3REQgorc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgbXNxbFF1ZXJ5IG1zcWxTdG9yZVJlc3VsdCBtc3FsRnJlZVJlc3VsdAorc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgbXNxbEZldGNoUm93IG1zcWxEYXRhU2VlayBtc3FsTGlzdERCcworc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgbXNxbExpc3RUYWJsZXMgbXNxbEluaXRGaWVsZExpc3QgbXNxbExpc3RGaWVsZAorc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgbXNxbEZpZWxkU2VlayBtc3FsTnVtUm93cyBtc3FsRW5jb2RlCitzeW4ga2V5d29yZCBsaXRlRnVuY3Rpb25zICBleGl0IGZhdGFsIHR5cGVvZgorc3luIGtleXdvcmQgbGl0ZUZ1bmN0aW9ucyAgY3J5cHQgYWRkSHR0cEhlYWRlcgorCisiIENvbmRpdGlvbmFsCitzeW4ga2V5d29yZCBsaXRlQ29uZGl0aW9uYWwgIGlmIGVsc2UKKworIiBSZXBlYXQKK3N5biBrZXl3b3JkIGxpdGVSZXBlYXQgIHdoaWxlCisKKyIgT3BlcmF0b3IKK3N5biBrZXl3b3JkIGxpdGVTdGF0ZW1lbnQgIGJyZWFrIHJldHVybiBjb250aW51ZQorCisiIE9wZXJhdG9yCitzeW4gbWF0Y2ggbGl0ZU9wZXJhdG9yICAiWy0rPSMqXSIKK3N5biBtYXRjaCBsaXRlT3BlcmF0b3IgICIvW14qXSJtZT1lLTEKK3N5biBtYXRjaCBsaXRlT3BlcmF0b3IgICJcJCIKK3N5biBtYXRjaCBsaXRlUmVsYXRpb24gICImJiIKK3N5biBtYXRjaCBsaXRlUmVsYXRpb24gICJ8fCIKK3N5biBtYXRjaCBsaXRlUmVsYXRpb24gICJbIT08Pl09Igorc3luIG1hdGNoIGxpdGVSZWxhdGlvbiAgIls8Pl0iCisKKyIgSWRlbnRpZmllcgorc3luIG1hdGNoICBsaXRlSWRlbnRpZmllciAiJFxoXHcqIiBjb250YWlucz1saXRlSW50VmFyLGxpdGVPcGVyYXRvcgorc3luIG1hdGNoICBsaXRlR2xvYmFsSWRlbnRpZmllciAiQFxoXHcqIiBjb250YWlucz1saXRlSW50VmFyCisKKyIgSW5jbHVkZQorc3luIGtleXdvcmQgbGl0ZUluY2x1ZGUgIGxvYWQKKworIiBEZWZpbmUKK3N5biBrZXl3b3JkIGxpdGVEZWZpbmUgIGZ1bmN0CisKKyIgVHlwZQorc3luIGtleXdvcmQgbGl0ZVR5cGUgIGludCB1aW50IGNoYXIgcmVhbAorCisiIFN0cmluZworc3luIHJlZ2lvbiBsaXRlU3RyaW5nICBrZWVwZW5kIG1hdGNoZ3JvdXA9Tm9uZSBzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgY29udGFpbnM9bGl0ZUlkZW50aWZpZXIsbGl0ZVNwZWNpYWxDaGFyLEBsaXRlU3FsCisKKyIgTnVtYmVyCitzeW4gbWF0Y2ggbGl0ZU51bWJlciAgIi1cPVw8XGRcK1w+IgorCisiIEZsb2F0CitzeW4gbWF0Y2ggbGl0ZUZsb2F0ICAiXCgtXD1cPFxkK1x8LVw9XClcLlxkXCtcPiIKKworIiBTcGVjaWFsQ2hhcgorc3luIG1hdGNoIGxpdGVTcGVjaWFsQ2hhciAiXFxbYWJjZm5ydHZcXF0iIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggbGl0ZVBhcmVudEVycm9yICJbKX1cXV0iCisKKyIgVG9kbworc3luIGtleXdvcmQgbGl0ZVRvZG8gVE9ETyBUb2RvIHRvZG8gY29udGFpbmVkCisKKyIgZG9udCBzeW4gIyEuLi4KK3N5biBtYXRjaCBsaXRlRXhlYyAiXiMhLiokIgorCisiIFBhcmVudHMKK3N5biBjbHVzdGVyIGxpdGVJbnNpZGUgY29udGFpbnM9bGl0ZUNvbW1lbnQsbGl0ZUZ1bmN0aW9ucyxsaXRlSWRlbnRpZmllcixsaXRlR2xvYmFsSWRlbnRpZmllcixsaXRlQ29uZGl0aW9uYWwsbGl0ZVJlcGVhdCxsaXRlU3RhdGVtZW50LGxpdGVPcGVyYXRvcixsaXRlUmVsYXRpb24sbGl0ZVR5cGUsbGl0ZVN0cmluZyxsaXRlTnVtYmVyLGxpdGVGbG9hdCxsaXRlUGFyZW50CisKK3N5biByZWdpb24gbGl0ZVBhcmVudCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iKCIgZW5kPSIpIiBjb250YWlucz1AbGl0ZUluc2lkZQorc3luIHJlZ2lvbiBsaXRlUGFyZW50IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5zPUBsaXRlSW5zaWRlCitzeW4gcmVnaW9uIGxpdGVQYXJlbnQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxbIiBlbmQ9IlxdIiBjb250YWlucz1AbGl0ZUluc2lkZQorCisiIHN5bmMKK2lmIG1haW5fc3ludGF4ID09ICdsaXRlJworICBpZiBleGlzdHMoImxpdGVfbWlubGluZXMiKQorICAgIGV4ZWMgInN5biBzeW5jIG1pbmxpbmVzPSIgLiBsaXRlX21pbmxpbmVzCisgIGVsc2UKKyAgICBzeW4gc3luYyBtaW5saW5lcz0xMDAKKyAgZW5kaWYKK2VuZGlmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xpdGVfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbGl0ZV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBsaXRlQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbGl0ZVN0cmluZwkJU3RyaW5nCisgIEhpTGluayBsaXRlTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIGxpdGVGbG9hdAkJRmxvYXQKKyAgSGlMaW5rIGxpdGVJZGVudGlmaWVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIGxpdGVHbG9iYWxJZGVudGlmaWVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIGxpdGVJbnRWYXIJCUlkZW50aWZpZXIKKyAgSGlMaW5rIGxpdGVGdW5jdGlvbnMJCUZ1bmN0aW9uCisgIEhpTGluayBsaXRlUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIGxpdGVDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgbGl0ZVN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBsaXRlVHlwZQkJVHlwZQorICBIaUxpbmsgbGl0ZUluY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIGxpdGVEZWZpbmUJCURlZmluZQorICBIaUxpbmsgbGl0ZVNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCisgIEhpTGluayBsaXRlUGFyZW50RXJyb3IJbGl0ZUVycm9yCisgIEhpTGluayBsaXRlRXJyb3IJCUVycm9yCisgIEhpTGluayBsaXRlVG9kbwkJVG9kbworICBIaUxpbmsgbGl0ZU9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgbGl0ZVJlbGF0aW9uCQlPcGVyYXRvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsaXRlIgorCitpZiBtYWluX3N5bnRheCA9PSAnbGl0ZScKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sb2d0YWxrLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xvZ3RhbGsudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4MjE4ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9sb2d0YWxrLnZpbQpAQCAtMCwwICsxLDQyOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIKKyIgTGFuZ3VhZ2U6CUxvZ3RhbGsKKyIgTWFpbnRhaW5lcjoJUGF1bG8gTW91cmEgPHBtb3VyYUBsb2d0YWxrLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDQgTWF5IDE2CisKKworIiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQ6CisKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworCisiIExvZ3RhbGsgaXMgY2FzZSBzZW5zaXRpdmU6CisKK3N5biBjYXNlIG1hdGNoCisKKworIiBMb2d0YWxrIHZhcmlhYmxlcworCitzeW4gbWF0Y2ggICBsb2d0YWxrVmFyaWFibGUJCSJcPFwoXHVcfF9cKVwoXHdcKSpcPiIKKworCisiIExvZ3RhbGsgY2xhdXNlIGZ1bmN0b3IKKworc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIjotIgorCisKKyIgTG9ndGFsayBxdW90ZWQgYXRvbXMgYW5kIHN0cmluZ3MKKworc3luIHJlZ2lvbglsb2d0YWxrU3RyaW5nCQlzdGFydD0rIisJc2tpcD0rXFwiKwllbmQ9KyIrCitzeW4gcmVnaW9uCWxvZ3RhbGtBdG9tCQlzdGFydD0rJysJc2tpcD0rXFwnKwllbmQ9KycrCisKKworIiBMb2d0YWxrIG1lc3NhZ2Ugc2VuZGluZyBvcGVyYXRvcnMKKworc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIjo6Igorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIlxeXF4iCisKKworIiBMb2d0YWxrIGV4dGVybmFsIGNhbGwKKworc3luIHJlZ2lvbglsb2d0YWxrRXh0Q2FsbAkJbWF0Y2hncm91cD1sb2d0YWxrRXh0Q2FsbFRhZwkJc3RhcnQ9InsiCQltYXRjaGdyb3VwPWxvZ3RhbGtFeHRDYWxsVGFnCQllbmQ9In0iCQljb250YWlucz1BTEwKKworCisiIExvZ3RhbGsgb3BlbmluZyBlbnRpdHkgZGlyZWN0aXZlcworCitzeW4gcmVnaW9uCWxvZ3RhbGtPcGVuRW50aXR5RGlyCW1hdGNoZ3JvdXA9bG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJc3RhcnQ9IjotIG9iamVjdCgiCW1hdGNoZ3JvdXA9bG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbglsb2d0YWxrT3BlbkVudGl0eURpcgltYXRjaGdyb3VwPWxvZ3RhbGtPcGVuRW50aXR5RGlyVGFnCXN0YXJ0PSI6LSBwcm90b2NvbCgiCW1hdGNoZ3JvdXA9bG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbglsb2d0YWxrT3BlbkVudGl0eURpcgltYXRjaGdyb3VwPWxvZ3RhbGtPcGVuRW50aXR5RGlyVGFnCXN0YXJ0PSI6LSBjYXRlZ29yeSgiCW1hdGNoZ3JvdXA9bG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAorCisKKyIgTG9ndGFsayBjbG9zaW5nIGVudGl0eSBkaXJlY3RpdmVzCisKK3N5biBtYXRjaAlsb2d0YWxrQ2xvc2VFbnRpdHlEaXIJIjotIGVuZF9vYmplY3RcLiIKK3N5biBtYXRjaAlsb2d0YWxrQ2xvc2VFbnRpdHlEaXIJIjotIGVuZF9wcm90b2NvbFwuIgorc3luIG1hdGNoCWxvZ3RhbGtDbG9zZUVudGl0eURpcgkiOi0gZW5kX2NhdGVnb3J5XC4iCisKKworIiBMb2d0YWxrIGVudGl0eSByZWxhdGlvbnMKKworc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0iaW5zdGFudGlhdGVzKCIJbWF0Y2hncm91cD1sb2d0YWxrRW50aXR5UmVsVGFnCWVuZD0iKSIJCWNvbnRhaW5zPWxvZ3RhbGtFbnRpdHkJCWNvbnRhaW5lZAorc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0ic3BlY2lhbGl6ZXMoIgltYXRjaGdyb3VwPWxvZ3RhbGtFbnRpdHlSZWxUYWcJZW5kPSIpIgkJY29udGFpbnM9bG9ndGFsa0VudGl0eQkJY29udGFpbmVkCitzeW4gcmVnaW9uCWxvZ3RhbGtFbnRpdHlSZWwJbWF0Y2hncm91cD1sb2d0YWxrRW50aXR5UmVsVGFnCXN0YXJ0PSJleHRlbmRzKCIJbWF0Y2hncm91cD1sb2d0YWxrRW50aXR5UmVsVGFnCWVuZD0iKSIJCWNvbnRhaW5zPWxvZ3RhbGtFbnRpdHkJCWNvbnRhaW5lZAorc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0iaW1wb3J0cygiCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwllbmQ9IikiCQljb250YWlucz1sb2d0YWxrRW50aXR5CQljb250YWluZWQKK3N5biByZWdpb24JbG9ndGFsa0VudGl0eVJlbAltYXRjaGdyb3VwPWxvZ3RhbGtFbnRpdHlSZWxUYWcJc3RhcnQ9ImltcGxlbWVudHMoIgltYXRjaGdyb3VwPWxvZ3RhbGtFbnRpdHlSZWxUYWcJZW5kPSIpIgkJY29udGFpbnM9bG9ndGFsa0VudGl0eQkJY29udGFpbmVkCisKKworIiBMb2d0YWxrIGRpcmVjdGl2ZXMKKworc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIGluaXRpYWxpemF0aW9uKCIJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKK3N5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBpbmZvKCIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCitzeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gbW9kZSgiCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPWxvZ3RhbGtPcGVyYXRvcixsb2d0YWxrQXRvbQorc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIGR5bmFtaWMoIgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKK3N5biBtYXRjaAlsb2d0YWxrRGlyVGFnCQkiOi0gZHluYW1pY1wuIgorc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIGRpc2NvbnRpZ3VvdXMoIgltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIHB1YmxpYygiCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIHByb3RlY3RlZCgiCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIHByaXZhdGUoIgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKK3N5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBtZXRhcHJlZGljYXRlKCIJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKK3N5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBvcCgiCQkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKK3N5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBjYWxscygiCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIHVzZXMoIgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKKworCisiIExvZ3RhbGsgYnVpbHQtaW4gcHJlZGljYXRlcworCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGN1cnJlbnRfb2JqZWN0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8Y3VycmVudF9wcm90b2NvbFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGN1cnJlbnRfY2F0ZWdvcnlcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGNyZWF0ZV9vYmplY3RcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxjcmVhdGVfcHJvdG9jb2xcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxjcmVhdGVfY2F0ZWdvcnlcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPG9iamVjdF9wcm9wZXJ0eVx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPHByb3RvY29sX3Byb3BlcnR5XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8Y2F0ZWdvcnlfcHJvcGVydHlcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGFib2xpc2hfb2JqZWN0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8YWJvbGlzaF9wcm90b2NvbFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGFib2xpc2hfY2F0ZWdvcnlcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGV4dGVuZHNfb2JqZWN0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8ZXh0ZW5kc19wcm90b2NvbFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGltcGxlbWVudHNfcHJvdG9jb2xcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxpbnN0YW50aWF0ZXNfY2xhc3NcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxzcGVjaWFsaXplc19jbGFzc1x6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGltcG9ydHNfY2F0ZWdvcnlcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGFib2xpc2hfZXZlbnRzXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8Y3VycmVudF9ldmVudFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGRlZmluZV9ldmVudHNcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGN1cnJlbnRfbG9ndGFsa19mbGFnXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8c2V0X2xvZ3RhbGtfZmxhZ1x6ZSgiCisKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8bG9ndGFsa19jb21waWxlXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8bG9ndGFsa19sb2FkXHplKCIKKworc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxmb3JhbGxcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxyZXRyYWN0YWxsXHplKCIKKworCisiIExvZ3RhbGsgYnVpbHQtaW4gbWV0aG9kcworCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW5NZXRob2QJIlw8cGFyYW1ldGVyXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxzZWxmXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxzZW5kZXJcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluTWV0aG9kCSJcPHRoaXNcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW5NZXRob2QJIlw8Y3VycmVudF9wcmVkaWNhdGVcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluTWV0aG9kCSJcPHByZWRpY2F0ZV9wcm9wZXJ0eVx6ZSgiCisKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxhYm9saXNoXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxhc3NlcnRhXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxhc3NlcnR6XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxjbGF1c2VcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluTWV0aG9kCSJcPHJldHJhY3RcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluTWV0aG9kCSJcPHJldHJhY3RhbGxcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW5NZXRob2QJIlw8YmFnb2ZcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluTWV0aG9kCSJcPGZpbmRhbGxcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluTWV0aG9kCSJcPGZvcmFsbFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW5NZXRob2QJIlw8c2V0b2ZcemUoIgorCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW5NZXRob2QJIlw8YmVmb3JlXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxhZnRlclx6ZSgiCisKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxwaHJhc2VcemUoIgorCisKKyIgTW9kZSBvcGVyYXRvcnMKKworc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIj8iCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiQCIKKworCisiIENvbnRyb2wgY29uc3RydWN0cworCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHRydWVcPiIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8ZmFpbFw+Igorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxjYWxsXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSIhIgorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIiwiCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiOyIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSItLT4iCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiLT4iCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGNhdGNoXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8dGhyb3dcemUoIgorCisKKyIgVGVybSB1bmlmaWNhdGlvbgorCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiPSIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8dW5pZnlfd2l0aF9vY2N1cnNfY2hlY2tcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIlxcPSIKKworCisiIFRlcm0gdGVzdGluZworCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHZhclx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGF0b21cemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxpbnRlZ2VyXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8ZmxvYXRcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxhdG9taWNcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxjb21wb3VuZFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG5vbnZhclx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG51bWJlclx6ZSgiCisKKworIiBUZXJtIGNvbXBhcmlzb24KKworc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIkA9PCIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSI9PSIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSJcXD09Igorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIkA8Igorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIkA+Igorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIkA+PSIKKworCisiIFRlcm0gY3JlYXRpb24gYW5kIGRlY29tcG9zaXRpb24KKworc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxmdW5jdG9yXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8YXJnXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSI9XC5cLiIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8Y29weV90ZXJtXHplKCIKKworCisiIEFyaXRoZW10aWMgZXZhbHVhdGlvbgorCitzeW4ga2V5d29yZAlsb2d0YWxrT3BlcmF0b3IJCWlzCisKKworIiBBcml0aGVtdGljIGNvbXBhcmlzb24KKworc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIj06PSIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSI9XFw9Igorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIjwiCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiPTwiCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiPiIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSI+PSIKKworCisiIFN0cmVhbSBzZWxlY3Rpb24gYW5kIGNvbnRyb2wKKworc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxjdXJyZW50X2lucHV0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8Y3VycmVudF9vdXRwdXRcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxzZXRfaW5wdXRcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxzZXRfb3V0cHV0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8b3Blblx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGNsb3NlXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8Zmx1c2hfb3V0cHV0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8Zmx1c2hfb3V0cHV0XD4iCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHN0cmVhbV9wcm9wZXJ0eVx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGF0X2VuZF9vZl9zdHJlYW1cemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxhdF9lbmRfb2Zfc3RyZWFtXD4iCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHNldF9zdHJlYW1fcG9zaXRpb25cemUoIgorCisKKyIgQ2hhcmFjdGVyIGlucHV0L291dHB1dAorCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGdldF9jaGFyXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8Z2V0X2NvZGVcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxwZWVrX2NoYXJcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxwZWVrX2NvZGVcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxwdXRfY2hhclx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHB1dF9jb2RlXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8bmxcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxubFw+IgorCisKKyIgQnl0ZSBpbnB1dC9vdXRwdXQKKworc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxnZXRfYnl0ZVx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHBlZWtfYnl0ZVx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHB1dF9ieXRlXHplKCIKKworCisiIFRlcm0gaW5wdXQvb3V0cHV0CisKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8cmVhZF90ZXJtXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8cmVhZFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHdyaXRlX3Rlcm1cemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDx3cml0ZVx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHdyaXRlcVx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHdyaXRlX2Nhbm9uaWNhbFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG9wXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8Y3VycmVudF9vcFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGNoYXJfY29udmVyc2lvblx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGN1cnJlbnRfY2hhcl9jb252ZXJzaW9uXHplKCIKKworCisiIExvZ2ljIGFuZCBjb250cm9sCisKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSJcXCsiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG9uY2VcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxyZXBlYXRcPiIKKworCisiIEF0b21pYyB0ZXJtIHByb2Nlc3NpbmcKKworc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxhdG9tX2xlbmd0aFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGF0b21fY29uY2F0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8c3ViX2F0b21cemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxhdG9tX2NoYXJzXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8YXRvbV9jb2Rlc1x6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGNoYXJfY29kZVx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG51bWJlcl9jaGFyc1x6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG51bWJlcl9jb2Rlc1x6ZSgiCisKKworIiBJbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGhvb2tzIGZ1bmN0aW9ucworCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHNldF9wcm9sb2dfZmxhZ1x6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGN1cnJlbnRfcHJvbG9nX2ZsYWdcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxoYWx0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8aGFsdFw+IgorCisKKyIgRXZhbHVhYmxlIGZ1bmN0b3JzCisKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSIrIgorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIi0iCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiXCoiCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiLy8iCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiLyIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8cmVtKD89WyhdKSIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8cmVtXD4iCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG1vZFx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG1vZFw+Igorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxhYnNcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxzaWduXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8ZmxvYXRfaW50ZWdlcl9wYXJ0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8ZmxvYXRfZnJhY3Rpb25hbF9wYXJ0XHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8ZmxvYXRcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxmbG9vclx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHRydW5jYXRlXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8cm91bmRcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxjZWlsaW5nXHplKCIKKworCisiIE90aGVyIGFyaXRoZW10aWMgZnVuY3RvcnMKKworc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIlwqXCoiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHNpblx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGNvc1x6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGF0YW5cemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxleHBcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxsb2dcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxzcXJ0XHplKCIKKworCisiIEJpdHdpc2UgZnVuY3RvcnMKKworc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIj4+Igorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIjw8Igorc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIi9cXCIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSJcXC8iCitzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkiXFwiCisKKworIiBMb2d0YWxrIGVuZC1vZi1jbGF1c2UKKworc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIlwuIgorCisKKyIgTG9ndGFsayBsaXN0IG9wZXJhdG9yCisKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSJ8IgorCisKKyIgTG9ndGFsayBjb21tZW50cworCitzeW4gcmVnaW9uCWxvZ3RhbGtCbG9ja0NvbW1lbnQJc3RhcnQ9Ii9cKiIJZW5kPSJcKi8iCitzeW4gbWF0Y2gJbG9ndGFsa0xpbmVDb21tZW50CSIlLioiCisKKworIiBMb2d0YWxrIG51bWJlcnMKKworc3luIG1hdGNoCWxvZ3RhbGtOdW1iZXIJCSJcPFswLTldXCtcPiIKK3N5biBtYXRjaAlsb2d0YWxrTnVtYmVyCQkiXDxbMC05XVwrXC5bMC05XVwrXD4iCitzeW4gbWF0Y2gJbG9ndGFsa051bWJlcgkJIlw8WzAtOV1cK1wuWzAtOV1cK1tlRV1bLStdWzAtOV0rXD4iCitzeW4gbWF0Y2gJbG9ndGFsa051bWJlcgkJIlw8MCdbMC05YS16QS1aXVw+Igorc3luIG1hdGNoCWxvZ3RhbGtOdW1iZXIJCSJcPDBiWzAtMV1cK1w+Igorc3luIG1hdGNoCWxvZ3RhbGtOdW1iZXIJCSJcPDBvWzAtN11cK1w+Igorc3luIG1hdGNoCWxvZ3RhbGtOdW1iZXIJCSJcPDB4WzAtOWEtZkEtRl1cK1w+IgorCisKK3N5biBzeW5jIGNjb21tZW50IG1heGxpbmVzPTUwCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sb2d0YWxrX3N5bl9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX2xvZ3RhbGtfc3luX2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluawlsb2d0YWxrQmxvY2tDb21tZW50CUNvbW1lbnQKKwlIaUxpbmsJbG9ndGFsa0xpbmVDb21tZW50CUNvbW1lbnQKKworCUhpTGluawlsb2d0YWxrT3BlbkVudGl0eURpcglOb3JtYWwKKwlIaUxpbmsJbG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJUHJlUHJvYworCisJSGlMaW5rCWxvZ3RhbGtFbnRpdHkJCU5vcm1hbAorCisJSGlMaW5rCWxvZ3RhbGtFbnRpdHlSZWwJTm9ybWFsCisJSGlMaW5rCWxvZ3RhbGtFbnRpdHlSZWxUYWcJUHJlUHJvYworCisJSGlMaW5rCWxvZ3RhbGtDbG9zZUVudGl0eURpcglQcmVQcm9jCisKKwlIaUxpbmsJbG9ndGFsa0RpcgkJTm9ybWFsCisJSGlMaW5rCWxvZ3RhbGtEaXJUYWcJCVByZVByb2MKKworCUhpTGluawlsb2d0YWxrQXRvbQkJU3RyaW5nCisJSGlMaW5rCWxvZ3RhbGtTdHJpbmcJCVN0cmluZworCisJSGlMaW5rCWxvZ3RhbGtOdW1iZXIJCU51bWJlcgorCisJSGlMaW5rCWxvZ3RhbGtLZXl3b3JkCQlLZXl3b3JkCisKKwlIaUxpbmsJbG9ndGFsa0J1aWx0SW4JCUtleXdvcmQKKwlIaUxpbmsJbG9ndGFsa0J1aWx0SW5NZXRob2QJS2V5d29yZAorCisJSGlMaW5rCWxvZ3RhbGtPcGVyYXRvcgkJT3BlcmF0b3IKKworCUhpTGluawlsb2d0YWxrRXh0Q2FsbAkJTm9ybWFsCisJSGlMaW5rCWxvZ3RhbGtFeHRDYWxsVGFnCU9wZXJhdG9yCisKKwlIaUxpbmsJbG9ndGFsa1ZhcmlhYmxlCQlJZGVudGlmaWVyCisKKwlkZWxjb21tYW5kIEhpTGluaworCitlbmRpZgorCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImxvZ3RhbGsiCisKK3NldGxvY2FsIHRzPTQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xvdG9zLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xvdG9zLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2Q4M2M0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbG90b3MudmltCkBAIC0wLDAgKzEsODIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglMT1RPUyAoTGFuZ3VhZ2UgT2YgVGVtcG9yYWwgT3JkZXJpbmcgU3BlY2lmaWNhdGlvbnMsIElTODgwNykKKyIgTWFpbnRhaW5lcjoJRGFuaWVsIEFteW90IDxkYW15b3RAY3NpLnVvdHRhd2EuY2E+CisiIExhc3QgQ2hhbmdlOglXZWQgQXVnIDE5IDE5OTgKKyIgVVJMOgkJaHR0cDovL2xvdG9zLmNzaS51b3R0YXdhLmNhL35kYW15b3QvdmltL2xvdG9zLnZpbQorIiBUaGlzIGZpbGUgaXMgYW4gYWRhcHRhdGlvbiBvZiBwYXNjYWwudmltIGJ5IE1hcmlvIEV1c2ViaW8KKyIgSSdtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCBhbGwgb2YgdGhlIHN5bnRheCBoaWdobGlnaHQgbGFuZ3VhZ2UsCisiIGJ1dCB0aGlzIGZpbGUgc2VlbXMgdG8gZG8gdGhlIGpvYiBmb3Igc3RhbmRhcmQgTE9UT1MuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyJDb21tZW50cyBpbiBMT1RPUyBhcmUgYmV0d2VlbiAoKiBhbmQgKikKK3N5biByZWdpb24gbG90b3NDb21tZW50CXN0YXJ0PSIoXCoiICBlbmQ9IlwqKSIgY29udGFpbnM9bG90b3NUb2RvCisKKyJPcGVyYXRvcnMgW10sIFsuLi5dLCA+PiwgLT4sIHx8fCwgfFsuLi5dfCwgfHwsIDssICEsID8sIDosID0sICwsIDo9CitzeW4gbWF0Y2ggIGxvdG9zRGVsaW1pdGVyICAgICAgICJbXVtdIgorc3luIG1hdGNoICBsb3Rvc0RlbGltaXRlcgkiPj4iCitzeW4gbWF0Y2ggIGxvdG9zRGVsaW1pdGVyCSItPiIKK3N5biBtYXRjaCAgbG90b3NEZWxpbWl0ZXIJIlxbPiIKK3N5biBtYXRjaCAgbG90b3NEZWxpbWl0ZXIJIlt8OyE/Oj0sXSIKKworIlJlZ3VsYXIga2V5d29yZHMKK3N5biBrZXl3b3JkIGxvdG9zU3RhdGVtZW50CXNwZWNpZmljYXRpb24gZW5kc3BlYyBwcm9jZXNzIGVuZHByb2MKK3N5biBrZXl3b3JkIGxvdG9zU3RhdGVtZW50CXdoZXJlIGJlaGF2aW91ciBiZWhhdmlvcgorc3luIGtleXdvcmQgbG90b3NTdGF0ZW1lbnQgICAgICBhbnkgbGV0IHBhciBhY2NlcHQgY2hvaWNlIGhpZGUgb2YgaW4KK3N5biBrZXl3b3JkIGxvdG9zU3RhdGVtZW50CWkgc3RvcCBleGl0IG5vZXhpdAorCisiT3BlcmF0b3JzIGZyb20gdGhlIEFic3RyYWN0IERhdGEgVHlwZXMgaW4gSVM4ODA3CitzeW4ga2V5d29yZCBsb3Rvc09wZXJhdG9yCWVxIG5lIHN1Y2MgYW5kIG9yIHhvciBpbXBsaWVzIGlmZgorc3luIGtleXdvcmQgbG90b3NPcGVyYXRvcglub3QgdHJ1ZSBmYWxzZQorc3luIGtleXdvcmQgbG90b3NPcGVyYXRvcglJbnNlcnQgUmVtb3ZlIElzSW4gTm90SW4gVW5pb24gSW50cworc3luIGtleXdvcmQgbG90b3NPcGVyYXRvcglNaW51cyBJbmNsdWRlcyBJc1N1YnNldE9mCitzeW4ga2V5d29yZCBsb3Rvc09wZXJhdG9yCWx0IGxlIGdlIGd0IDAKKworIlNvcnRzIGluIElTODgwNworc3luIGtleXdvcmQgbG90b3NTb3J0CQlCb29sZWFuIEJvb2wgRkJvb2xlYW4gRkJvb2wgRWxlbWVudAorc3luIGtleXdvcmQgbG90b3NTb3J0CQlTZXQgU3RyaW5nIE5hdHVyYWxOdW1iZXIgTmF0IEhleFN0cmluZworc3luIGtleXdvcmQgbG90b3NTb3J0CQlIZXhEaWdpdCBEZWNTdHJpbmcgRGVjRGlnaXQKK3N5biBrZXl3b3JkIGxvdG9zU29ydAkJT2N0U3RyaW5nIE9jdERpZ2l0IEJpdFN0cmluZyBCaXQKK3N5biBrZXl3b3JkIGxvdG9zU29ydAkJT2N0ZXQgT2N0ZXRTdHJpbmcKKworIktleXdvcmRzIGZvciBBRFRzCitzeW4ga2V5d29yZCBsb3Rvc1R5cGUJdHlwZSBlbmR0eXBlIGxpYnJhcnkgZW5kbGliIHNvcnRzIGZvcm1hbHNvcnRzCitzeW4ga2V5d29yZCBsb3Rvc1R5cGUJZXFucyBmb3JtYWxlcW5zIG9wbnMgZm9ybWFsb3BucyBmb3JhbGwgb2Zzb3J0IGlzCitzeW4ga2V5d29yZCBsb3Rvc1R5cGUgICBmb3IgcmVuYW1lZGJ5IGFjdHVhbGl6ZWRieSBzb3J0bmFtZXMgb3BubmFtZXMKK3N5biBrZXl3b3JkIGxvdG9zVHlwZSAgIHVzaW5nCisKK3N5biBzeW5jIGxpbmVzPTI1MAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sb3Rvc19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9sb3Rvc19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBsb3Rvc1N0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBsb3Rvc1Byb2Nlc3MJCUxhYmVsCisgIEhpTGluayBsb3Rvc09wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgbG90b3NTb3J0CQlGdW5jdGlvbgorICBIaUxpbmsgbG90b3NUeXBlCQlUeXBlCisgIEhpTGluayBsb3Rvc0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIGxvdG9zRGVsaW1pdGVyCQlTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibG90b3MiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sb3V0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2xvdXQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNGNiMDAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9sb3V0LnZpbQpAQCAtMCwwICsxLDEzOSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgIExvdXQKKyIgTWFpbnRhaW5lcjogIENocmlzdGlhbiBWLiBKLiBCcvxzc293IDxjdmpiQGN2amIuZGU+CisiIExhc3QgQ2hhbmdlOiBTb24gMjIgSnVuIDIwMDMgMjA6NDM6MjYgQ0VTVAorIiBGaWxlbmFtZXM6ICAgKi5sb3V0LCoubHQKKyIgVVJMOgkJCWh0dHA6Ly93d3cuY3ZqYi5kZS9jb21wL3ZpbS9sb3V0LnZpbQorIiAkSWQkCisiCisiIExvdXQ6IEJhc3NlciBMb3V0IGRvY3VtZW50IGZvcm1hdHRpbmcgc3lzdGVtLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorCXN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCitlbmRpZgorCisiIExvdXQgaXMgY2FzZSBzZW5zaXRpdmUKK3N5biBjYXNlIG1hdGNoCisKKyIgU3luY2hyb25pemF0aW9uLCBJIGtub3cgaXQgaXMgYSBodWdlIG51bWJlciwgYnV0IG5vcm1hbCB0ZXh0cyBjYW4gYmUKKyIgX3ZlcnlfIGxvbmcgOy0pCitzeW4gc3luYyBsaW5lcz0xMDAwCisKKyIgQ2hhcmFjdGVycyBhbGxvd2VkIGluIGtleXdvcmRzCisiIEkgZG9uJ3Qga25vdyBpZiAxMjgtMjU1IGFyZSBhbGxvd2VkIGluIEFOUy1GT1JIVAoraWYgdmVyc2lvbiA+PSA2MDAKKwlzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywuLEAtQCxfLDE5Mi0yNTUKK2Vsc2UKKwlzZXQgaXNrZXl3b3JkPUAsNDgtNTcsLixALUAsXywxOTItMjU1CitlbmRpZgorCisiIFNvbWUgc3BlY2lhbCBrZXl3b3Jkcworc3luIGtleXdvcmQgbG91dFRvZG8gY29udGFpbmVkIFRPRE8gbG91dCBMb3V0IExPVVQKK3N5biBrZXl3b3JkIGxvdXREZWZpbmUgZGVmIG1hY3JvCisKKyIgU29tZSBiaWcgc3RydWN0dXJlcworc3luIGtleXdvcmQgbG91dEtleXdvcmQgQEJlZ2luIEBFbmQgQEZpZ3VyZSBAVGFiCitzeW4ga2V5d29yZCBsb3V0S2V5d29yZCBAQm9vayBARG9jIEBEb2N1bWVudCBAUmVwb3J0CitzeW4ga2V5d29yZCBsb3V0S2V5d29yZCBASW50cm9kdWN0aW9uIEBBYnN0cmFjdCBAQXBwZW5kaXgKK3N5biBrZXl3b3JkIGxvdXRLZXl3b3JkIEBDaGFwdGVyIEBTZWN0aW9uIEBCZWdpblNlY3Rpb25zIEBFbmRTZWN0aW9ucworCisiIEFsbCBraW5kIG9mIExvdXQga2V5d29yZHMKK3N5biBtYXRjaCBsb3V0RnVuY3Rpb24gJ1w8QFteIFx0e31dXCtcPicKKworIiBCcmFjZXMgLS0gRG9uYHQgZWRpdCB0aGVzZSBsaW5lcyEKK3N5biBtYXRjaCBsb3V0TUJyYWNlcyAnW3t9XScKK3N5biBtYXRjaCBsb3V0SUJyYWNlcyAnW3t9XScKK3N5biBtYXRjaCBsb3V0QkJyYWNlICdbe31dJworc3luIG1hdGNoIGxvdXRCSUJyYWNlcyAnW3t9XScKK3N5biBtYXRjaCBsb3V0SGVhZHMgJ1t7fV0nCisKKyIgVW5tYXRjaGVkIGJyYWNlcy4KK3N5biBtYXRjaCBsb3V0QnJhY2VFcnJvciAnfScKKworIiBFbmQgb2YgbXVsdGktbGluZSBkZWZpbml0aW9ucywgbGlrZSBARG9jdW1lbnQsIEBSZXBvcnQgYW5kIEBCb29rLgorc3luIG1hdGNoIGxvdXRFT21sRGVmICdeLy8kJworCisiIEdyb3VwaW5nIG9mIHBhcmFtZXRlcnMgYW5kIG9iamVjdHMuCitzeW4gcmVnaW9uIGxvdXRPYmplY3QgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9J3snIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCisKKyIgVGhlIE5VTEwgb2JqZWN0IGhhcyBhIHNwZWNpYWwgbWVhbmluZworc3luIGtleXdvcmQgbG91dE5VTEwge30KKworIiBDb21tZW50cworc3luIHJlZ2lvbiBsb3V0Q29tbWVudCBzdGFydD0nXCMnIGVuZD0nJCcgY29udGFpbnM9bG91dFRvZG8KKworIiBEb3VibGUgcXVvdGVzCitzeW4gcmVnaW9uIGxvdXRTcGVjaWFsIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKKworIiBJU08tTEFUSU4tMSBjaGFyYWN0ZXJzIGNyZWF0ZWQgd2l0aCBAQ2hhciwgb3IgQWRvYmUgc3ltYm9scworIiBjcmVhdGVkIHdpdGggQFN5bQorc3luIG1hdGNoIGxvdXRTeW1ib2xzICdAXChcKENoYXJcKVx8XChTeW1cKVwpXHNcK1tBLVphLXpdXCsnCisKKyIgSW5jbHVkZSBmaWxlcworc3luIG1hdGNoIGxvdXRJbmNsdWRlICdASW5jbHVkZUdyYXBoaWNcc1wrXGtcKycKK3N5biByZWdpb24gbG91dEluY2x1ZGUgc3RhcnQ9J0BcKFwoU3lzSW5jbHVkZVwpXHxcKEluY2x1ZGVHcmFwaGljXClcfFwoSW5jbHVkZVwpXClccyp7JyBlbmQ9J30nCisKKyIgVGFncworc3luIG1hdGNoIGxvdXRUYWcgJ0BcKFwoVGFnXClcfFwoUGFnZU1hcmtcKVx8XChQYWdlT2ZcKVx8XChOdW1iZXJPZlwpXClcc1wrXGtcKycKK3N5biByZWdpb24gbG91dFRhZyBzdGFydD0nQFRhZ1xzKnsnIGVuZD0nfScKKworIiBFcXVhdGlvbnMKK3N5biBtYXRjaCBsb3V0TWF0aCAnQEVxXHNcK1xrXCsnCitzeW4gcmVnaW9uIGxvdXRNYXRoIG1hdGNoZ3JvdXA9bG91dE1CcmFjZXMgc3RhcnQ9J0BFcVxzKnsnIG1hdGNoZ3JvdXA9bG91dE1CcmFjZXMgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKKyIKKyIgRm9udHMKK3N5biBtYXRjaCBsb3V0SXRhbGljICdASVxzXCtca1wrJworc3luIHJlZ2lvbiBsb3V0SXRhbGljIG1hdGNoZ3JvdXA9bG91dElCcmFjZXMgc3RhcnQ9J0BJXHMqeycgbWF0Y2hncm91cD1sb3V0SUJyYWNlcyBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCxsb3V0QnJhY2VFcnJvcgorc3luIG1hdGNoIGxvdXRCb2xkICdAQlxzXCtca1wrJworc3luIHJlZ2lvbiBsb3V0Qm9sZCBtYXRjaGdyb3VwPWxvdXRCQnJhY2VzIHN0YXJ0PSdAQlxzKnsnIG1hdGNoZ3JvdXA9bG91dEJCcmFjZXMgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKK3N5biBtYXRjaCBsb3V0Qm9sZEl0YWxpYyAnQEJJXHNcK1xrXCsnCitzeW4gcmVnaW9uIGxvdXRCb2xkSXRhbGljIG1hdGNoZ3JvdXA9bG91dEJJQnJhY2VzIHN0YXJ0PSdAQklccyp7JyBtYXRjaGdyb3VwPWxvdXRCSUJyYWNlcyBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCxsb3V0QnJhY2VFcnJvcgorc3luIHJlZ2lvbiBsb3V0SGVhZGluZ3MgbWF0Y2hncm91cD1sb3V0SGVhZHMgc3RhcnQ9J0BcKFwoVGl0bGVcKVx8XChDYXB0aW9uXClcKVxzKnsnIG1hdGNoZ3JvdXA9bG91dEhlYWRzIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xvdXRfc3luX2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfbG91dF9zeW5faW5pdHMgPSAxCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisJZWxzZQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKwllbmRpZgorCisJIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycnJpZGVuIGxhdGVyLgorCUhpTGluayBsb3V0VG9kbyBUb2RvCisJSGlMaW5rIGxvdXREZWZpbmUgRGVmaW5lCisJSGlMaW5rIGxvdXRFT21sRGVmIERlZmluZQorCUhpTGluayBsb3V0RnVuY3Rpb24gRnVuY3Rpb24KKwlIaUxpbmsgbG91dEJyYWNlRXJyb3IgRXJyb3IKKwlIaUxpbmsgbG91dE5VTEwgU3BlY2lhbAorCUhpTGluayBsb3V0Q29tbWVudCBDb21tZW50CisJSGlMaW5rIGxvdXRTcGVjaWFsIFNwZWNpYWwKKwlIaUxpbmsgbG91dFN5bWJvbHMgQ2hhcmFjdGVyCisJSGlMaW5rIGxvdXRJbmNsdWRlIEluY2x1ZGUKKwlIaUxpbmsgbG91dEtleXdvcmQgS2V5d29yZAorCUhpTGluayBsb3V0VGFnIFRhZworCUhpTGluayBsb3V0TWF0aCBOdW1iZXIKKworCSIgSGlMaW5rIE5vdCByZWFsbHkgbmVlZGVkIGhlcmUsIGJ1dCBJIHRoaW5rIGl0IGlzIG1vcmUgY29uc2lzdGVudC4KKwlIaUxpbmsgbG91dE1CcmFjZXMgbG91dE1hdGgKKwloaSBsb3V0SXRhbGljIHRlcm09aXRhbGljIGN0ZXJtPWl0YWxpYyBndWk9aXRhbGljCisJSGlMaW5rIGxvdXRJQnJhY2VzIGxvdXRJdGFsaWMKKwloaSBsb3V0Qm9sZCB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWk9Ym9sZAorCUhpTGluayBsb3V0QkJyYWNlcyBsb3V0Qm9sZAorCWhpIGxvdXRCb2xkSXRhbGljIHRlcm09Ym9sZCxpdGFsaWMgY3Rlcm09Ym9sZCxpdGFsaWMgZ3VpPWJvbGQsaXRhbGljCisJSGlMaW5rIGxvdXRCSUJyYWNlcyBsb3V0Qm9sZEl0YWxpYworCWhpIGxvdXRIZWFkaW5ncyB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWlmZz1pbmRpYW5yZWQKKwlIaUxpbmsgbG91dEhlYWRzIGxvdXRIZWFkaW5ncworCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImxvdXQiCisKKyIgdmltOnRzPTg6c3c9NDpub2NpbmRlbnQ6c21hcnRpbmRlbnQ6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9scGMudmltIGIvcnVudGltZS9zeW50YXgvbHBjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjY1YzFhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbHBjLnZpbQpAQCAtMCwwICsxLDQ1NSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUxQQworIiBNYWludGFpbmVyOglTaGl6aHUgUGFuIDxwb2V0QG11ZGJ1aWxkZXIubmV0PgorIiBVUkw6CQlodHRwOi8vcG9ldC50b211ZC5jb20vcHViL2xwYy52aW0uYnoyCisiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxMQorIiBDb21tZW50czoJSWYgeW91IGFyZSB1c2luZyBWaW0gNi4yIG9yIGxhdGVyLCBzZWUgOmggbHBjLnZpbSBmb3IKKyIJCWZpbGUgdHlwZSByZWNvZ25pemluZywgaWYgbm90LCB5b3UgaGFkIHRvIHVzZSBtb2RlbGluZS4KKworCisiIE5vZHVsZTogVGhpcyBpcyB0aGUgc3RhcnQgbm9kdWxlLiB7e3sxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBOb2R1bGU6IEtleXdvcmRzIHt7ezEKKworIiBMUEMga2V5d29yZHMKKyIga2V5d29yZHMgc2hvdWxkIGFsd2F5cyBiZSBoaWdobGlnaHRlZCBzbyAiY29udGFpbmVkIiBpcyBub3QgdXNlZC4KK3N5biBjbHVzdGVyCWxwY0tleXdkR3JwCWNvbnRhaW5zPWxwY0NvbmRpdGlvbmFsLGxwY0xhYmVsLGxwY09wZXJhdG9yLGxwY1JlcGVhdCxscGNTdGF0ZW1lbnQsbHBjTW9kaWZpZXIsbHBjUmVzZXJ2ZWQKKworc3luIGtleXdvcmQJbHBjQ29uZGl0aW9uYWwJaWYgZWxzZSBzd2l0Y2gKK3N5biBrZXl3b3JkCWxwY0xhYmVsCWNhc2UgZGVmYXVsdAorc3luIGtleXdvcmQJbHBjT3BlcmF0b3IJY2F0Y2ggZWZ1biBpbiBpbmhlcml0CitzeW4ga2V5d29yZAlscGNSZXBlYXQJZG8gZm9yIGZvcmVhY2ggd2hpbGUKK3N5biBrZXl3b3JkCWxwY1N0YXRlbWVudAlicmVhayBjb250aW51ZSByZXR1cm4KKworc3luIG1hdGNoCWxwY0VmdW5FcnJvcgkvZWZ1blteOl0vIGRpc3BsYXkKKworIiBJbGxlZ2FsIHRvIHVzZSBrZXl3b3JkIGFzIGZ1bmN0aW9uCisiIEl0J3Mgbm90IHdvcmtpbmcsIG1heWJlIGluIHRoZSBuZXh0IHZlcnNpb24uCitzeW4ga2V5d29yZAlscGNLZXl3ZEVycm9yCWNvbnRhaW5lZCBpZiBmb3IgZm9yZWFjaCByZXR1cm4gc3dpdGNoIHdoaWxlCisKKyIgVGhlc2UgYXJlIGtleXdvcmRzIG9ubHkgYmVjYXVzZSB0aGV5IHRha2UgbHZhbHVlIG9yIHR5cGUgYXMgcGFyYW1ldGVyLAorIiBzbyB0aGVzZSBrZXl3b3JkcyBzaG91bGQgb25seSBiZSB1c2VkIGFzIGZ1bmN0aW9uIGJ1dCBjYW5ub3QgYmUgbmFtZXMgb2YKKyIgdXNlci1kZWZpbmVkIGZ1bmN0aW9ucy4KK3N5biBrZXl3b3JkCWxwY0tleXdkRnVuYwluZXcgcGFyc2VfY29tbWFuZCBzc2NhbmYgdGltZV9leHByZXNzaW9uCisKKyIgTm9kdWxlOiBUeXBlIGFuZCBtb2RpZmllcnMge3t7MQorCisiIFR5cGUgbmFtZXMgbGlzdC4KKworIiBTcGVjaWFsIHR5cGVzCitzeW4ga2V5d29yZAlscGNUeXBlCQl2b2lkIG1peGVkIHVua25vd24KKyIgU2NhbGFyL1ZhbHVlIHR5cGVzLgorc3luIGtleXdvcmQJbHBjVHlwZQkJaW50IGZsb2F0IHN0cmluZworIiBQb2ludGVyIHR5cGVzLgorc3luIGtleXdvcmQJbHBjVHlwZQkJYXJyYXkgYnVmZmVyIGNsYXNzIGZ1bmN0aW9uIG1hcHBpbmcgb2JqZWN0CisiIE90aGVyIHR5cGVzLgoraWYgZXhpc3RzKCJscGNfY29tcGF0XzMyIikKKyAgICBzeW4ga2V5d29yZCAgICAgbHBjVHlwZQkgICAgY2xvc3VyZSBzdGF0dXMgZnVuY2FsbAorZWxzZQorICAgIHN5biBrZXl3b3JkICAgICBscGNFcnJvcgkgICAgY2xvc3VyZSBzdGF0dXMKKyAgICBzeW4ga2V5d29yZCAgICAgbHBjVHlwZQkgICAgbXVsdGlzZXQKK2VuZGlmCisKKyIgVHlwZSBtb2RpZmllci4KK3N5biBrZXl3b3JkCWxwY01vZGlmaWVyCW5vbWFzayBwcml2YXRlIHB1YmxpYworc3luIGtleXdvcmQJbHBjTW9kaWZpZXIJdmFyYXJncyB2aXJ0dWFsCisKKyIgc2Vuc2libGUgbW9kaWZpZXJzCitpZiBleGlzdHMoImxwY19wcmVfdjIyIikKKyAgICBzeW4ga2V5d29yZAlscGNSZXNlcnZlZAlub3NhdmUgcHJvdGVjdGVkIHJlZgorICAgIHN5biBrZXl3b3JkCWxwY01vZGlmaWVyCXN0YXRpYworZWxzZQorICAgIHN5biBrZXl3b3JkCWxwY0Vycm9yCXN0YXRpYworICAgIHN5biBrZXl3b3JkCWxwY01vZGlmaWVyCW5vc2F2ZSBwcm90ZWN0ZWQgcmVmCitlbmRpZgorCisiIE5vZHVsZTogQXBwbGllcyB7e3sxCisKKyIgTWF0Y2ggYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvciBmdW5jdGlvbiBwb2ludGVyCitzeW4gbWF0Y2gJbHBjQXBwbHlEZWNsCWV4Y2x1ZGVubCAvLT5caFx3KigvbWU9ZS0xIGNvbnRhaW5zPWxwY0FwcGxpZXMgdHJhbnNwYXJlbnQgZGlzcGxheQorCisiIFdlIHNob3VsZCBub3RlIHRoYXQgaW4gZnVuY19zcGVjLmMgdGhlIGVmdW4gZGVmaW5pdGlvbiBzeW50YXggaXMgc28KKyIgY29tcGxpY2F0ZWQgdGhhdCBJIHVzZSBzdWNoIGEgbG9uZyByZWd1bGFyIGV4cHJlc3Npb24gdG8gZGVzY3JpYmUuCitzeW4gbWF0Y2gJbHBjTG9uZ0RlY2wJZXhjbHVkZW5sIC9cKFxzXHxcKlwpXGhcK1xzXGhcKygvbWU9ZS0xIGNvbnRhaW5zPUBscGNFZnVuR3JvdXAsbHBjVHlwZSxAbHBjS2V5d2RHcnAgdHJhbnNwYXJlbnQgZGlzcGxheQorCisiIHRoaXMgaXMgZm9ybSBmb3IgYWxsIGZ1bmN0aW9ucworIiAtPmZvbygpIGZvcm0gaGFkIGJlZW4gZXhjbHVkZWQKK3N5biBtYXRjaAlscGNGdW5jRGVjbAlleGNsdWRlbmwgL1xoXHcqKC9tZT1lLTEgY29udGFpbnM9bHBjQXBwbGllcyxAbHBjRWZ1bkdyb3VwLGxwY0tleXdkRXJyb3IgdHJhbnNwYXJlbnQgZGlzcGxheQorCisiIFRoZSAoOiA6KSBwYXJlbnRoZXNpcyBvciAkKCkgZm9ybXMgYSBmdW5jdGlvbiBwb2ludGVyCitzeW4gbWF0Y2gJbHBjRnVuY05hbWUJLyg6XHMqXGhcK1xzKjopL21lPWUtMSBjb250YWlucz1scGNBcHBsaWVzLEBscGNFZnVuR3JvdXAgdHJhbnNwYXJlbnQgZGlzcGxheSBjb250YWluZWQKK3N5biBtYXRjaAlscGNGdW5jTmFtZQkvKDpccypcaFwrLC8gY29udGFpbnM9bHBjQXBwbGllcyxAbHBjRWZ1bkdyb3VwIHRyYW5zcGFyZW50IGRpc3BsYXkgY29udGFpbmVkCitzeW4gbWF0Y2gJbHBjRnVuY05hbWUJL1wkKFxoXCspLyBjb250YWlucz1scGNBcHBsaWVzLEBscGNFZnVuR3JvdXAgdHJhbnNwYXJlbnQgZGlzcGxheSBjb250YWluZWQKKworIiBBcHBsaWVzIGxpc3QuCisiICAgICAgIHN5c3RlbSBhcHBsaWVzCitzeW4ga2V5d29yZCAgICAgbHBjQXBwbGllcyAgICAgIGNvbnRhaW5lZCBfX0lOSVQgY2xlYW5fdXAgY3JlYXRlIGRlc3RydWN0b3IgaGVhcnRfYmVhdCBpZCBpbml0IG1vdmVfb3JfZGVzdHJ1Y3QgcmVzZXQKKyIgICAgICAgaW50ZXJhY3RpdmUKK3N5biBrZXl3b3JkICAgICBscGNBcHBsaWVzICAgICAgY29udGFpbmVkIGNhdGNoX3RlbGwgbG9nb24gbmV0X2RlYWQgcHJvY2Vzc19pbnB1dCByZWNlaXZlX21lc3NhZ2UgcmVjZWl2ZV9zbm9vcCB0ZWxuZXRfc3Vib3B0aW9uIHRlcm1pbmFsX3R5cGUgd2luZG93X3NpemUgd3JpdGVfcHJvbXB0CisiICAgICAgIG1hc3RlciBhcHBsaWVzCitzeW4ga2V5d29yZCAgICAgbHBjQXBwbGllcyAgICAgIGNvbnRhaW5lZCBhdXRob3JfZmlsZSBjb21waWxlX29iamVjdCBjb25uZWN0IGNyYXNoIGNyZWF0b3JfZmlsZSBkb21haW5fZmlsZSBlcGlsb2cgZXJyb3JfaGFuZGxlciBmbGFnIGdldF9iYl91aWQgZ2V0X3Jvb3RfdWlkIGdldF9zYXZlX2ZpbGVfbmFtZSBsb2dfZXJyb3IgbWFrZV9wYXRoX2Fic29sdXRlIG9iamVjdF9uYW1lIHByZWxvYWQgcHJpdnNfZmlsZSByZXRyaWV2ZV9lZF9zZXR1cCBzYXZlX2VkX3NldHVwIHNsb3dfc2h1dGRvd24KK3N5biBrZXl3b3JkICAgICBscGNBcHBsaWVzICAgICAgY29udGFpbmVkIHZhbGlkX2FzbSB2YWxpZF9iaW5kIHZhbGlkX2NvbXBpbGVfdG9fYyB2YWxpZF9kYXRhYmFzZSB2YWxpZF9oaWRlIHZhbGlkX2xpbmsgdmFsaWRfb2JqZWN0IHZhbGlkX292ZXJyaWRlIHZhbGlkX3JlYWQgdmFsaWRfc2F2ZV9iaW5hcnkgdmFsaWRfc2V0ZXVpZCB2YWxpZF9zaGFkb3cgdmFsaWRfc29ja2V0IHZhbGlkX3dyaXRlCisiICAgICAgIHBhcnNpbmcKK3N5biBrZXl3b3JkICAgICBscGNBcHBsaWVzICAgICAgY29udGFpbmVkIGludmVudG9yeV9hY2Nlc3NpYmxlIGludmVudG9yeV92aXNpYmxlIGlzX2xpdmluZyBwYXJzZV9jb21tYW5kX2FkamVjdGl2X2lkX2xpc3QgcGFyc2VfY29tbWFuZF9hZGplY3RpdmVfaWRfbGlzdCBwYXJzZV9jb21tYW5kX2FsbF93b3JkIHBhcnNlX2NvbW1hbmRfaWRfbGlzdCBwYXJzZV9jb21tYW5kX3BsdXJhbF9pZF9saXN0IHBhcnNlX2NvbW1hbmRfcHJlcG9zX2xpc3QgcGFyc2VfY29tbWFuZF91c2VycyBwYXJzZV9nZXRfZW52aXJvbm1lbnQgcGFyc2VfZ2V0X2ZpcnN0X2ludmVudG9yeSBwYXJzZV9nZXRfbmV4dF9pbnZlbnRvcnkgcGFyc2VyX2Vycm9yX21lc3NhZ2UKKworCisiIE5vZHVsZTogRWZ1bnMge3t7MQorCitzeW4gY2x1c3RlcglscGNFZnVuR3JvdXAJY29udGFpbnM9bHBjX2VmdW5zLGxwY09sZEVmdW5zLGxwY05ld0VmdW5zLGxwY0tleXdkRnVuYworCisiIENvbXBhdDMyIGVmdW5zCitpZiBleGlzdHMoImxwY19jb21wYXRfMzIiKQorICAgIHN5biBrZXl3b3JkIGxwY19lZnVucwljb250YWluZWQgY2xvc3VyZXAgaGVhcnRfYmVhdF9pbmZvIG1fZGVsZXRlIG1fdmFsdWVzIG1faW5kaWNlcyBxdWVyeV9vbmNlX2ludGVyYWN0aXZlIHN0cnN0cgorZWxzZQorICAgIHN5biBtYXRjaCAgIGxwY0VyckZ1bmMJLyNgXGhcdyovCisgICAgIiBTaGVsbCBjb21wYXRpYmxlIGZpcnN0IGxpbmUgY29tbWVudC4KKyAgICBzeW4gcmVnaW9uCWxwY0NvbW1lbnRGdW5jCXN0YXJ0PS9eIyEvIGVuZD0vJC8KK2VuZGlmCisKKyIgcHJlLXYyMiBlZnVucyB3aGljaCBhcmUgcmVtb3ZlZCBpbiBuZXdlciB2ZXJzaW9ucy4KK3N5biBrZXl3b3JkICAgICBscGNPbGRFZnVucyAgICAgY29udGFpbmVkIHRhaWwgZHVtcF9zb2NrZXRfc3RhdHVzCisKKyIgbmV3IGVmdW5zIGFmdGVyIHYyMiBzaG91bGQgYmUgYWRkZWQgaGVyZSEKK3N5biBrZXl3b3JkICAgICBscGNOZXdFZnVucyAgICAgY29udGFpbmVkIHNvY2tldF9zdGF0dXMKKworIiBMUEMgZWZ1bnMgbGlzdC4KKyIgREVCVUcgZWZ1bnMgTm90IGluY2x1ZGVkLgorIiBOZXcgZWZ1bnMgc2hvdWxkIE5PVCBiZSBhZGRlZCB0byB0aGlzIGxpc3QsIHNlZSB2MjIgZWZ1bnMgYWJvdmUuCisiIEVmdW5zIGxpc3Qge3t7Mgorc3luIGtleXdvcmQgICAgIGxwY19lZnVucyAgICAgICBjb250YWluZWQgYWNvcyBhZGRfYWN0aW9uIGFsbF9pbnZlbnRvcnkgYWxsX3ByZXZpb3VzX29iamVjdHMgYWxsb2NhdGUgYWxsb2NhdGVfYnVmZmVyIGFsbG9jYXRlX21hcHBpbmcgYXBwbHkgYXJyYXlwIGFzaW4gYXRhbiBhdXRob3Jfc3RhdHMKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIGJpbmQgYnJlYWtfc3RyaW5nIGJ1ZmZlcnAKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIGNhY2hlX3N0YXRzIGNhbGxfb3RoZXIgY2FsbF9vdXQgY2FsbF9vdXRfaW5mbyBjYWxsX3N0YWNrIGNhcGl0YWxpemUgY2F0Y2ggY2VpbCBjaGVja19tZW1vcnkgY2hpbGRyZW4gY2xhc3NwIGNsZWFyX2JpdCBjbG9uZV9vYmplY3QgY2xvbmVwIGNvbW1hbmQgY29tbWFuZHMgY29weSBjb3MgY3AgY3JjMzIgY3J5cHQgY3RpbWUKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIGRiX2Nsb3NlIGRiX2NvbW1pdCBkYl9jb25uZWN0IGRiX2V4ZWMgZGJfZmV0Y2ggZGJfcm9sbGJhY2sgZGJfc3RhdHVzIGRlYnVnX2luZm8gZGVidWdtYWxsb2MgZGVidWdfbWVzc2FnZSBkZWVwX2luaGVyaXRfbGlzdCBkZWVwX2ludmVudG9yeSBkZXN0cnVjdCBkaXNhYmxlX2NvbW1hbmRzIGRpc2FibGVfd2l6YXJkIGRvbWFpbl9zdGF0cyBkdW1wYWxsb2JqIGR1bXBfZmlsZV9kZXNjcmlwdG9ycyBkdW1wX3Byb2cKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIGVhY2ggZWQgZWRfY21kIGVkX3N0YXJ0IGVuYWJsZV9jb21tYW5kcyBlbmFibGVfd2l6YXJkIGVudmlyb25tZW50IGVycm9yIGVycm9ycCBldmFsX2Nvc3QgZXZhbHVhdGUgZXhlYyBleHAgZXhwbG9kZSBleHBvcnRfdWlkIGV4dGVybmFsX3N0YXJ0CitzeW4ga2V5d29yZCAgICAgbHBjX2VmdW5zICAgICAgIGNvbnRhaW5lZCBmZXRjaF92YXJpYWJsZSBmaWxlX2xlbmd0aCBmaWxlX25hbWUgZmlsZV9zaXplIGZpbHRlciBmaWx0ZXJfYXJyYXkgZmlsdGVyX21hcHBpbmcgZmluZF9jYWxsX291dCBmaW5kX2xpdmluZyBmaW5kX29iamVjdCBmaW5kX3BsYXllciBmaXJzdF9pbnZlbnRvcnkgZmxvYXRwIGZsb29yIGZsdXNoX21lc3NhZ2VzIGZ1bmN0aW9uX2V4aXN0cyBmdW5jdGlvbl9vd25lciBmdW5jdGlvbl9wcm9maWxlIGZ1bmN0aW9ucCBmdW5jdGlvbnMKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIGdlbmVyYXRlX3NvdXJjZSBnZXRfY2hhciBnZXRfY29uZmlnIGdldF9kaXIgZ2V0ZXVpZCBnZXR1aWQKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIGhlYXJ0X2JlYXRzCitzeW4ga2V5d29yZCAgICAgbHBjX2VmdW5zICAgICAgIGNvbnRhaW5lZCBpZF9tYXRyaXggaW1wbG9kZSBpbl9lZGl0IGluX2lucHV0IGluaGVyaXRfbGlzdCBpbmhlcml0cyBpbnB1dF90byBpbnRlcmFjdGl2ZSBpbnRwCitzeW4ga2V5d29yZCAgICAgbHBjX2VmdW5zICAgICAgIGNvbnRhaW5lZCBrZXlzCitzeW4ga2V5d29yZCAgICAgbHBjX2VmdW5zICAgICAgIGNvbnRhaW5lZCBsaW5rIGxpdmluZyBsaXZpbmdzIGxvYWRfb2JqZWN0IGxvY2FsdGltZSBsb2cgbG9nMTAgbG9va2F0X3JvdGF0ZSBsb3dlcl9jYXNlIGxwY19pbmZvCitzeW4ga2V5d29yZCAgICAgbHBjX2VmdW5zICAgICAgIGNvbnRhaW5lZCBtYWxsb2NfY2hlY2sgbWFsbG9jX2RlYnVnIG1hbGxvY19zdGF0dXMgbWFwIG1hcF9hcnJheSBtYXBfZGVsZXRlIG1hcF9tYXBwaW5nIG1hcHAgbWFzdGVyIG1hdGNoX3BhdGggbWF4X2V2YWxfY29zdCBtZW1iZXJfYXJyYXkgbWVtb3J5X2luZm8gbWVtb3J5X3N1bW1hcnkgbWVzc2FnZSBta2RpciBtb25jb250cm9sIG1vdmVfb2JqZWN0IG11ZF9zdGF0dXMKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIG5hbWVkX2xpdmluZ3MgbmV0d29ya19zdGF0cyBuZXh0X2JpdCBuZXh0X2ludmVudG9yeSBub3RpZnlfZmFpbCBudWxscAorc3luIGtleXdvcmQgICAgIGxwY19lZnVucyAgICAgICBjb250YWluZWQgb2JqZWN0cCBvYmplY3RzIG9sZGNyeXB0IG9wY3Byb2Ygb3JpZ2luCitzeW4ga2V5d29yZCAgICAgbHBjX2VmdW5zICAgICAgIGNvbnRhaW5lZCBwYXJzZV9hZGRfcnVsZSBwYXJzZV9hZGRfc3lub255bSBwYXJzZV9jb21tYW5kIHBhcnNlX2R1bXAgcGFyc2VfaW5pdCBwYXJzZV9teV9ydWxlcyBwYXJzZV9yZWZyZXNoIHBhcnNlX3JlbW92ZSBwYXJzZV9zZW50ZW5jZSBwbHVyYWxpemUgcG9pbnRlcnAgcG93IHByZXNlbnQgcHJldmlvdXNfb2JqZWN0IHByaW50ZiBwcm9jZXNzX3N0cmluZyBwcm9jZXNzX3ZhbHVlIHByb2dyYW1faW5mbworc3luIGtleXdvcmQgICAgIGxwY19lZnVucyAgICAgICBjb250YWluZWQgcXVlcnlfZWRfbW9kZSBxdWVyeV9oZWFydF9iZWF0IHF1ZXJ5X2hvc3RfbmFtZSBxdWVyeV9pZGxlIHF1ZXJ5X2lwX25hbWUgcXVlcnlfaXBfbnVtYmVyIHF1ZXJ5X2lwX3BvcnQgcXVlcnlfbG9hZF9hdmVyYWdlIHF1ZXJ5X25vdGlmeV9mYWlsIHF1ZXJ5X3ByaXZzIHF1ZXJ5X3JlcGxhY2VkX3Byb2dyYW0gcXVlcnlfc2hhZG93aW5nIHF1ZXJ5X3Nub29wIHF1ZXJ5X3Nub29waW5nIHF1ZXJ5X3ZlcmIKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIHJhbmRvbSByZWFkX2J1ZmZlciByZWFkX2J5dGVzIHJlYWRfZmlsZSByZWNlaXZlIHJlY2xhaW1fb2JqZWN0cyByZWZzIHJlZ2V4cCByZWdfYXNzb2MgcmVsb2FkX29iamVjdCByZW1vdmVfYWN0aW9uIHJlbW92ZV9jYWxsX291dCByZW1vdmVfaW50ZXJhY3RpdmUgcmVtb3ZlX3NoYWRvdyByZW5hbWUgcmVwZWF0X3N0cmluZyByZXBsYWNlX3Byb2dyYW0gcmVwbGFjZV9zdHJpbmcgcmVwbGFjZWFibGUgcmVzZXRfZXZhbF9jb3N0IHJlc29sdmUgcmVzdG9yZV9vYmplY3QgcmVzdG9yZV92YXJpYWJsZSBybSBybWRpciByb3RhdGVfeCByb3RhdGVfeSByb3RhdGVfeiBydXNhZ2UKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIHNhdmVfb2JqZWN0IHNhdmVfdmFyaWFibGUgc2F5IHNjYWxlIHNldF9hdXRob3Igc2V0X2JpdCBzZXRfZXZhbF9saW1pdCBzZXRfaGVhcnRfYmVhdCBzZXRfaGlkZSBzZXRfbGlnaHQgc2V0X2xpdmluZ19uYW1lIHNldF9tYWxsb2NfbWFzayBzZXRfcHJpdnMgc2V0X3Jlc2V0IHNldF90aGlzX3BsYXllciBzZXRfdGhpc191c2VyIHNldGV1aWQgc2hhZG93IHNoYWxsb3dfaW5oZXJpdF9saXN0IHNob3V0IHNodXRkb3duIHNpbiBzaXplb2Ygc25vb3Agc29ja2V0X2FjY2VwdCBzb2NrZXRfYWNxdWlyZSBzb2NrZXRfYWRkcmVzcyBzb2NrZXRfYmluZCBzb2NrZXRfY2xvc2Ugc29ja2V0X2Nvbm5lY3Qgc29ja2V0X2NyZWF0ZSBzb2NrZXRfZXJyb3Igc29ja2V0X2xpc3RlbiBzb2NrZXRfcmVsZWFzZSBzb2NrZXRfd3JpdGUgc29ydF9hcnJheSBzcHJpbnRmIHNxcnQgc3RhdCBzdG9yZV92YXJpYWJsZSBzdHJjbXAgc3RyaW5ncCBzdHJsZW4gc3Ryc3JjaAorc3luIGtleXdvcmQgICAgIGxwY19lZnVucyAgICAgICBjb250YWluZWQgdGFuIHRlbGxfb2JqZWN0IHRlbGxfcm9vbSB0ZXJtaW5hbF9jb2xvdXIgdGVzdF9iaXQgdGhpc19pbnRlcmFjdGl2ZSB0aGlzX29iamVjdCB0aGlzX3BsYXllciB0aGlzX3VzZXIgdGhyb3cgdGltZSB0b19mbG9hdCB0b19pbnQgdHJhY2UgdHJhY2VwcmVmaXggdHJhbnNsYXRlIHR5cGVvZgorc3luIGtleXdvcmQgICAgIGxwY19lZnVucyAgICAgICBjb250YWluZWQgdW5kZWZpbmVkcCB1bmlxdWVfYXJyYXkgdW5pcXVlX21hcHBpbmcgdXBwZXJfY2FzZSB1cHRpbWUgdXNlcnAgdXNlcnMKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIHZhbHVlcyB2YXJpYWJsZXMgdmlydHVhbHAKK3N5biBrZXl3b3JkICAgICBscGNfZWZ1bnMgICAgICAgY29udGFpbmVkIHdpemFyZHAgd3JpdGUgd3JpdGVfYnVmZmVyIHdyaXRlX2J5dGVzIHdyaXRlX2ZpbGUKKworIiBOb2R1bGU6IENvbnN0YW50cyB7e3sxCisKKyIgTFBDIENvbnN0YW50cy4KKyIgbGlrZSBrZXl3b3JkcywgY29uc3RhbnRzIGFyZSBhbHdheXMgaGlnaGxpZ2h0ZWQsIGJlIGNhcmVmdWwgdG8gY2hvb3NlIG9ubHkKKyIgdGhlIGNvbnN0YW50cyB3ZSB1c2VkIHRvIGFkZCB0byB0aGlzIGxpc3QuCitzeW4ga2V5d29yZCAgICAgbHBjQ29uc3RhbnQgICAgIF9fQVJDSF9fIF9fQ09NUElMRVJfXyBfX0RJUl9fIF9fRklMRV9fIF9fT1BUSU1JWkFUSU9OX18gX19QT1JUX18gX19WRVJTSU9OX18KKyIgICAgICAgRGVmaW5lcyBpbiBvcHRpb25zLmggYXJlIGFsbCBwcmVkZWZpbmVkIGluIExQQyBzb3VyY2VzIHN1cnJvdW5kaW5nIGJ5CisiICAgICAgIHR3byB1bmRlcnNjb3Jlcy4gRG8gd2UgbmVlZCB0byBpbmNsdWRlIGFsbCBvZiB0aGF0Pworc3luIGtleXdvcmQgICAgIGxwY0NvbnN0YW50ICAgICBfX1NBVkVfRVhURU5TSU9OX18gX19IRUFSVEJFQVRfSU5URVJWQUxfXworIiAgICAgICBmcm9tIHRoZSBkb2N1bWVudGF0aW9uIHdlIGtub3cgdGhhdCB0aGVzZSBjb25zdGFudHMgcmVtYWlucyBvbmx5IGZvcgorIiAgICAgICBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYW55IG1vcmUuCitzeW4ga2V5d29yZCAgICAgbHBjQ29uc3RhbnQgICAgIEhBU19FRCBIQVNfUFJJTlRGIEhBU19SVVNBR0UgSEFTX0RFQlVHX0xFVkVMCitzeW4ga2V5d29yZCAgICAgbHBjQ29uc3RhbnQgICAgIE1VRF9OQU1FIEZfX1RISVNfT0JKRUNUCisKKyIgTm9kdWxlOiBUb2RvIGZvciB0aGlzIGZpbGUuICB7e3sxCisKKyIgVE9ETyA6IG5lZWQgdG8gY2hlY2sgZm9yIExQQzQgc3ludGF4IGFuZCBvdGhlciBzZXJpZXMgb2YgTFBDIGJlc2lkZXMKKyIgdjIyLCBiMjEgYW5kIGwzMiwgaWYgeW91IGhhZCBhIGdvb2QgaWRlYSwgY29udGFjdCBtZSBhdCBwb2V0QG11ZGJ1aWxkZXIubmV0CisiIGFuZCBJIHdpbGwgYmUgYXBwcmVjaWF0ZWQgYWJvdXQgdGhhdC4KKworIiBOb3RlcyBhYm91dCBzb21lIEZBUToKKyIKKyIgQWJvdXQgdmFyaWFibGVzIDogV2UgYWRvcHRzIHRoZSBzYW1lIGJlaGF2aW9yIGZvciBDIGJlY2F1c2UgYWxtb3N0IGFsbCB0aGUKKyIgTFBDIHByb2dyYW1tZXJzIGFyZSBhbHNvIEMgcHJvZ3JhbW1lcnMsIHNvIHdlIGRvbid0IG5lZWQgc2VwYXJhdGUgc2V0dGluZ3MKKyIgZm9yIEMgYW5kIExQQy4gVGhhdCBpcyB0aGUgcmVhc29uIHdoeSBJIGRvbid0IGNoYW5nZSB2YXJpYWJsZXMgbGlrZQorIiAiY19ub191dGYicyB0byAibHBjX25vX3V0ZiJzLgorIgorIiBDb3B5IDogU29tZSBvZiB0aGUgZm9sbG93aW5nIHNlZW1zIHRvIGJlIGNvcGllZCBmcm9tIGMudmltIGJ1dCBub3QgcXVpdGUKKyIgdGhlIHNhbWUgaW4gZGV0YWlscyBiZWNhdXNlIHRoZSBzeW50YXggZm9yIEMgYW5kIExQQyBpcyBkaWZmZXJlbnQuCisiCisiIENvbG9yIHNjaGVtZSA6IHRoaXMgc3ludGF4IGZpbGUgaGFkIGJlZW4gdGhvdXJvdWdobHkgdGVzdGVkIHRvIHdvcmsgd2VsbAorIiBmb3IgYWxsIG9mIHRoZSBkYXJrLWJhY2tncm91bmRlZCBjb2xvciBzY2hlbWVzIFZpbSBoYXMgcHJvdmlkZWQgb2ZmaWNpYWxseSwKKyIgYW5kIGl0IHNob3VsZCBiZSBxdWl0ZSBPayBmb3IgYWxsIG9mIHRoZSBicmlnaHQtYmFja2dyb3VuZGVkIGNvbG9yIHNjaGVtZXMsCisiIG9mIGNvdXJzZSBpdCB3b3JrcyBiZXN0IGZvciB0aGUgY29sb3Igc2NoZW1lIHRoYXQgSSBhbSB1c2luZywgZG93bmxvYWQgaXQKKyIgZnJvbSBodHRwOi8vcG9ldC50b211ZC5jb20vcHViL3BzX2NvbG9yLnZpbS5iejIgaWYgeW91IHdhbnQgdG8gdHJ5IGl0LgorIgorCisiIE5vZHVsZTogU3RyaW5nIGFuZCBDaGFyYWN0ZXIge3t7MQorCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29uc3RhbnRzCisiIEhpZ2hsaWdodCBzcGVjaWFsIGNoYXJhY3RlcnMgKHRob3NlIHdoaWNoIGhhdmUgYSBiYWNrc2xhc2gpIGRpZmZlcmVudGx5CitzeW4gbWF0Y2gJbHBjU3BlY2lhbAlkaXNwbGF5IGNvbnRhaW5lZCAiXFxcKHhceFwrXHxcb1x7MSwzfVx8Llx8JFwpIgoraWYgIWV4aXN0cygiY19ub191dGYiKQorICBzeW4gbWF0Y2gJbHBjU3BlY2lhbAlkaXNwbGF5IGNvbnRhaW5lZCAiXFxcKHVceFx7NH1cfFVceFx7OH1cKSIKK2VuZGlmCisKKyIgTFBDIHZlcnNpb24gb2Ygc3ByaW50ZigpIGZvcm1hdCwKK3N5biBtYXRjaAlscGNGb3JtYXQJZGlzcGxheSAiJVwoXGRcK1wpXD1bLSsgfD0jQDouXSpcKFxkXCtcKVw9XCgnXElcKydcfCdcSSpcXCdcSSonXClcPVtPc2RpY294WGZdIiBjb250YWluZWQKK3N5biBtYXRjaAlscGNGb3JtYXQJZGlzcGxheSAiJSUiIGNvbnRhaW5lZAorc3luIHJlZ2lvbglscGNTdHJpbmcJc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1scGNTcGVjaWFsLGxwY0Zvcm1hdAorIiBscGNDcHBTdHJpbmc6IHNhbWUgYXMgbHBjU3RyaW5nLCBidXQgZW5kcyBhdCBlbmQgb2YgbGluZQorc3luIHJlZ2lvbglscGNDcHBTdHJpbmcJc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIlx8XFwkKyBleGNsdWRlbmwgZW5kPSsiKyBlbmQ9JyQnIGNvbnRhaW5zPWxwY1NwZWNpYWwsbHBjRm9ybWF0CisKKyIgTFBDIHByZXByb2Nlc3NvciBmb3IgdGhlIHRleHQgZm9ybWF0dGluZyBzaG9ydCBjdXRzCisiIFRoYW5rcyB0byBEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCA8Y2VjQGdyeXBob24uZ3NmYy5uYXNhLmdvdj4KKyIJaGUgc3VnZ2VzdHMgdGhlIGJlc3Qgd2F5IHRvIGRvIHRoaXMuCitzeW4gcmVnaW9uCWxwY1RleHRTdHJpbmcJc3RhcnQ9L0BceihcaFx3KlwpJC8gZW5kPS9eXHoxLyBjb250YWlucz1scGNTcGVjaWFsCitzeW4gcmVnaW9uCWxwY0FycmF5U3RyaW5nCXN0YXJ0PS9AQFx6KFxoXHcqXCkkLyBlbmQ9L15cejEvIGNvbnRhaW5zPWxwY1NwZWNpYWwKKworIiBDaGFyYWN0ZXIKK3N5biBtYXRjaAlscGNDaGFyYWN0ZXIJIkxcPSdbXlxcXSciCitzeW4gbWF0Y2gJbHBjQ2hhcmFjdGVyCSJMJ1teJ10qJyIgY29udGFpbnM9bHBjU3BlY2lhbAorc3luIG1hdGNoCWxwY1NwZWNpYWxFcnJvcgkiTFw9J1xcW14nXCI/XFxhYmVmbnJ0dl0nIgorc3luIG1hdGNoCWxwY1NwZWNpYWxDaGFyYWN0ZXIgIkxcPSdcXFsnXCI/XFxhYmVmbnJ0dl0nIgorc3luIG1hdGNoCWxwY1NwZWNpYWxDaGFyYWN0ZXIgZGlzcGxheSAiTFw9J1xcXG9cezEsM30nIgorc3luIG1hdGNoCWxwY1NwZWNpYWxDaGFyYWN0ZXIgZGlzcGxheSAiJ1xceFx4XHsxLDJ9JyIKK3N5biBtYXRjaAlscGNTcGVjaWFsQ2hhcmFjdGVyIGRpc3BsYXkgIkwnXFx4XHhcKyciCisKKyIgTm9kdWxlOiBXaGl0ZSBzcGFjZSB7e3sxCisKKyIgd2hlbiB3YW50ZWQsIGhpZ2hsaWdodCB0cmFpbGluZyB3aGl0ZSBzcGFjZQoraWYgZXhpc3RzKCJjX3NwYWNlX2Vycm9ycyIpCisgIGlmICFleGlzdHMoImNfbm9fdHJhaWxfc3BhY2VfZXJyb3IiKQorICAgIHN5biBtYXRjaAlscGNTcGFjZUVycm9yCWRpc3BsYXkgZXhjbHVkZW5sICJcc1wrJCIKKyAgZW5kaWYKKyAgaWYgIWV4aXN0cygiY19ub190YWJfc3BhY2VfZXJyb3IiKQorICAgIHN5biBtYXRjaAlscGNTcGFjZUVycm9yCWRpc3BsYXkgIiBcK1x0Im1lPWUtMQorICBlbmRpZgorZW5kaWYKKworIiBOb2R1bGU6IFBhcmVudGhlc2lzIGFuZCBicmFja2V0cyB7e3sxCisKKyIgY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcyBhbmQgYnJhY2tldHMKK3N5biBjbHVzdGVyCWxwY1BhcmVuR3JvdXAJY29udGFpbnM9bHBjUGFyZW5FcnJvcixscGNJbmNsdWRlZCxscGNTcGVjaWFsLGxwY0NvbW1lbnRTa2lwLGxwY0NvbW1lbnRTdHJpbmcsbHBjQ29tbWVudDJTdHJpbmcsQGxwY0NvbW1lbnRHcm91cCxscGNDb21tZW50U3RhcnRFcnJvcixscGNVc2VyQ29udCxscGNVc2VyTGFiZWwsbHBjQml0RmllbGQsbHBjQ29tbWVudFNraXAsbHBjT2N0YWxaZXJvLGxwY0NwcE91dCxscGNDcHBPdXQyLGxwY0NwcFNraXAsbHBjRm9ybWF0LGxwY051bWJlcixscGNGbG9hdCxscGNPY3RhbCxscGNPY3RhbEVycm9yLGxwY051bWJlcnNDb20KK3N5biByZWdpb24JbHBjUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBscGNQYXJlbkdyb3VwLGxwY0NwcFBhcmVuLGxwY0VyckluQnJhY2tldCxscGNDcHBCcmFja2V0LGxwY0NwcFN0cmluZyxAbHBjRWZ1bkdyb3VwLGxwY0FwcGxpZXMsbHBjS2V5d2RFcnJvcgorIiBscGNDcHBQYXJlbjogc2FtZSBhcyBscGNQYXJlbiBidXQgZW5kcyBhdCBlbmQtb2YtbGluZTsgdXNlZCBpbiBscGNEZWZpbmUKK3N5biByZWdpb24JbHBjQ3BwUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9JygnIHNraXA9J1xcJCcgZXhjbHVkZW5sIGVuZD0nKScgZW5kPSckJyBjb250YWluZWQgY29udGFpbnM9QUxMQlVULEBscGNQYXJlbkdyb3VwLGxwY0VyckluQnJhY2tldCxscGNQYXJlbixscGNCcmFja2V0LGxwY1N0cmluZyxAbHBjRWZ1bkdyb3VwLGxwY0FwcGxpZXMsbHBjS2V5d2RFcnJvcgorc3luIG1hdGNoCWxwY1BhcmVuRXJyb3IJZGlzcGxheSAiKSIKK3N5biBtYXRjaAlscGNQYXJlbkVycm9yCWRpc3BsYXkgIlxdIgorIiBmb3IgTFBDOgorIiBIZXJlIHdlIHNob3VsZCBjb25zaWRlciB0aGUgYXJyYXkgKHsgfSkgcGFyZW50aGVzaXMgYW5kIG1hcHBpbmcgKFsgXSkKKyIgcGFyZW50aGVzaXMgYW5kIG11bHRpc2V0ICg8ID4pIHBhcmVudGhlc2lzLgorc3luIG1hdGNoCWxwY0VyckluUGFyZW4JZGlzcGxheSBjb250YWluZWQgIlteXl17Im1zPXMrMQorc3luIG1hdGNoCWxwY0VyckluUGFyZW4JZGlzcGxheSBjb250YWluZWQgIlwofVx8XF1cKVteKV0ibWU9ZS0xCitzeW4gcmVnaW9uCWxwY0JyYWNrZXQJdHJhbnNwYXJlbnQgc3RhcnQ9J1xbJyBlbmQ9J10nIGNvbnRhaW5zPUFMTEJVVCxAbHBjUGFyZW5Hcm91cCxscGNFcnJJblBhcmVuLGxwY0NwcFBhcmVuLGxwY0NwcEJyYWNrZXQsbHBjQ3BwU3RyaW5nLEBscGNFZnVuR3JvdXAsbHBjQXBwbGllcyxscGNGdW5jTmFtZSxscGNLZXl3ZEVycm9yCisiIGxwY0NwcEJyYWNrZXQ6IHNhbWUgYXMgbHBjUGFyZW4gYnV0IGVuZHMgYXQgZW5kLW9mLWxpbmU7IHVzZWQgaW4gbHBjRGVmaW5lCitzeW4gcmVnaW9uCWxwY0NwcEJyYWNrZXQJdHJhbnNwYXJlbnQgc3RhcnQ9J1xbJyBza2lwPSdcXCQnIGV4Y2x1ZGVubCBlbmQ9J10nIGVuZD0nJCcgY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxAbHBjUGFyZW5Hcm91cCxscGNFcnJJblBhcmVuLGxwY1BhcmVuLGxwY0JyYWNrZXQsbHBjU3RyaW5nLEBscGNFZnVuR3JvdXAsbHBjQXBwbGllcyxscGNGdW5jTmFtZSxscGNLZXl3ZEVycm9yCitzeW4gbWF0Y2gJbHBjRXJySW5CcmFja2V0CWRpc3BsYXkgY29udGFpbmVkICJbKTt7fV0iCisKKyIgTm9kdWxlOiBOdW1iZXJzIHt7ezEKKworIiBpbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHdpdGhvdXQgYSBkb3QgYW5kIHdpdGggImYiLgorc3luIGNhc2UgaWdub3JlCitzeW4gbWF0Y2gJbHBjTnVtYmVycwlkaXNwbGF5IHRyYW5zcGFyZW50ICJcPFxkXHxcLlxkIiBjb250YWlucz1scGNOdW1iZXIsbHBjRmxvYXQsbHBjT2N0YWxFcnJvcixscGNPY3RhbAorIiBTYW1lLCBidXQgd2l0aG91dCBvY3RhbCBlcnJvciAoZm9yIGNvbW1lbnRzKQorc3luIG1hdGNoCWxwY051bWJlcnNDb20JZGlzcGxheSBjb250YWluZWQgdHJhbnNwYXJlbnQgIlw8XGRcfFwuXGQiIGNvbnRhaW5zPWxwY051bWJlcixscGNGbG9hdCxscGNPY3RhbAorc3luIG1hdGNoCWxwY051bWJlcglkaXNwbGF5IGNvbnRhaW5lZCAiXGRcK1wodVw9bFx7MCwyfVx8bGxcPXVcKVw+IgorIiBoZXggbnVtYmVyCitzeW4gbWF0Y2gJbHBjTnVtYmVyCWRpc3BsYXkgY29udGFpbmVkICIweFx4XCtcKHVcPWxcezAsMn1cfGxsXD11XClcPiIKKyIgRmxhZyB0aGUgZmlyc3QgemVybyBvZiBhbiBvY3RhbCBudW1iZXIgYXMgc29tZXRoaW5nIHNwZWNpYWwKK3N5biBtYXRjaAlscGNPY3RhbAlkaXNwbGF5IGNvbnRhaW5lZCAiMFxvXCtcKHVcPWxcezAsMn1cfGxsXD11XClcPiIgY29udGFpbnM9bHBjT2N0YWxaZXJvCitzeW4gbWF0Y2gJbHBjT2N0YWxaZXJvCWRpc3BsYXkgY29udGFpbmVkICJcPDAiCitzeW4gbWF0Y2gJbHBjRmxvYXQJZGlzcGxheSBjb250YWluZWQgIlxkXCtmIgorIiBmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoCWxwY0Zsb2F0CWRpc3BsYXkgY29udGFpbmVkICJcZFwrXC5cZCpcKGVbLStdXD1cZFwrXClcPVtmbF1cPSIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoCWxwY0Zsb2F0CWRpc3BsYXkgY29udGFpbmVkICJcLlxkXCtcKGVbLStdXD1cZFwrXClcPVtmbF1cPVw+IgorIiBmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CitzeW4gbWF0Y2gJbHBjRmxvYXQJZGlzcGxheSBjb250YWluZWQgIlxkXCtlWy0rXVw9XGRcK1tmbF1cPVw+IgorIiBmbGFnIGFuIG9jdGFsIG51bWJlciB3aXRoIHdyb25nIGRpZ2l0cworc3luIG1hdGNoCWxwY09jdGFsRXJyb3IJZGlzcGxheSBjb250YWluZWQgIjBcbypbODldXGQqIgorc3luIGNhc2UgbWF0Y2gKKworIiBOb2R1bGU6IENvbW1lbnQgc3RyaW5nIHt7ezEKKworIiBscGNDb21tZW50R3JvdXAgYWxsb3dzIGFkZGluZyBtYXRjaGVzIGZvciBzcGVjaWFsIHRoaW5ncyBpbiBjb21tZW50cworc3luIGtleXdvcmQJbHBjVG9kbwkJY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCitzeW4gY2x1c3RlcglscGNDb21tZW50R3JvdXAJY29udGFpbnM9bHBjVG9kbworCitpZiBleGlzdHMoImNfY29tbWVudF9zdHJpbmdzIikKKyAgIiBBIGNvbW1lbnQgY2FuIGNvbnRhaW4gbHBjU3RyaW5nLCBscGNDaGFyYWN0ZXIgYW5kIGxwY051bWJlci4KKyAgc3ludGF4IG1hdGNoCWxwY0NvbW1lbnRTa2lwCWNvbnRhaW5lZCAiXlxzKlwqXCgkXHxcc1wrXCkiCisgIHN5bnRheCByZWdpb24gbHBjQ29tbWVudFN0cmluZwljb250YWluZWQgc3RhcnQ9K0xcPVxcXEA8ISIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBlbmQ9K1wqLyttZT1zLTEgY29udGFpbnM9bHBjU3BlY2lhbCxscGNDb21tZW50U2tpcAorICBzeW50YXggcmVnaW9uIGxwY0NvbW1lbnQyU3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rTFw9XFxcQDwhIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0iJCIgY29udGFpbnM9bHBjU3BlY2lhbAorICBzeW50YXggcmVnaW9uICBscGNDb21tZW50TAlzdGFydD0iLy8iIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPUBscGNDb21tZW50R3JvdXAsbHBjQ29tbWVudDJTdHJpbmcsbHBjQ2hhcmFjdGVyLGxwY051bWJlcnNDb20sbHBjU3BhY2VFcnJvcgorICBzeW50YXggcmVnaW9uIGxwY0NvbW1lbnQJbWF0Y2hncm91cD1scGNDb21tZW50U3RhcnQgc3RhcnQ9Ii9cKiIgbWF0Y2hncm91cD1OT05FIGVuZD0iXCovIiBjb250YWlucz1AbHBjQ29tbWVudEdyb3VwLGxwY0NvbW1lbnRTdGFydEVycm9yLGxwY0NvbW1lbnRTdHJpbmcsbHBjQ2hhcmFjdGVyLGxwY051bWJlcnNDb20sbHBjU3BhY2VFcnJvcgorZWxzZQorICBzeW4gcmVnaW9uCWxwY0NvbW1lbnRMCXN0YXJ0PSIvLyIgc2tpcD0iXFwkIiBlbmQ9IiQiIGtlZXBlbmQgY29udGFpbnM9QGxwY0NvbW1lbnRHcm91cCxscGNTcGFjZUVycm9yCisgIHN5biByZWdpb24JbHBjQ29tbWVudAltYXRjaGdyb3VwPWxwY0NvbW1lbnRTdGFydCBzdGFydD0iL1wqIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJcKi8iIGNvbnRhaW5zPUBscGNDb21tZW50R3JvdXAsbHBjQ29tbWVudFN0YXJ0RXJyb3IsbHBjU3BhY2VFcnJvcgorZW5kaWYKKyIga2VlcCBhIC8vIGNvbW1lbnQgc2VwYXJhdGVseSwgaXQgdGVybWluYXRlcyBhIHByZXByb2MuIGNvbmRpdGlvbmFsCitzeW50YXggbWF0Y2gJbHBjQ29tbWVudEVycm9yCWRpc3BsYXkgIlwqLyIKK3N5bnRheCBtYXRjaAlscGNDb21tZW50U3RhcnRFcnJvciBkaXNwbGF5ICIvXCoibWU9ZS0xIGNvbnRhaW5lZAorCisiIE5vZHVsZTogUHJlLXByb2Nlc3NvciB7e3sxCisKK3N5biByZWdpb24JbHBjUHJlQ29uZGl0CXN0YXJ0PSJeXHMqI1xzKlwoaWZcfGlmZGVmXHxpZm5kZWZcfGVsaWZcKVw+IiBza2lwPSJcXCQiIGVuZD0iJCIgZW5kPSIvLyJtZT1zLTEgY29udGFpbnM9bHBjQ29tbWVudCxscGNDcHBTdHJpbmcsbHBjQ2hhcmFjdGVyLGxwY0NwcFBhcmVuLGxwY1BhcmVuRXJyb3IsbHBjTnVtYmVycyxscGNDb21tZW50RXJyb3IsbHBjU3BhY2VFcnJvcgorc3luIG1hdGNoCWxwY1ByZUNvbmRpdAlkaXNwbGF5ICJeXHMqI1xzKlwoZWxzZVx8ZW5kaWZcKVw+IgoraWYgIWV4aXN0cygiY19ub19pZjAiKQorICBzeW4gcmVnaW9uCWxwY0NwcE91dAkJc3RhcnQ9Il5ccyojXHMqaWZcc1wrMFwrXD4iIGVuZD0iLlx8JCIgY29udGFpbnM9bHBjQ3BwT3V0MgorICBzeW4gcmVnaW9uCWxwY0NwcE91dDIJY29udGFpbmVkIHN0YXJ0PSIwIiBlbmQ9Il5ccyojXHMqXChlbmRpZlw+XHxlbHNlXD5cfGVsaWZcPlwpIiBjb250YWlucz1scGNTcGFjZUVycm9yLGxwY0NwcFNraXAKKyAgc3luIHJlZ2lvbglscGNDcHBTa2lwCWNvbnRhaW5lZCBzdGFydD0iXlxzKiNccypcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XCkiIHNraXA9IlxcJCIgZW5kPSJeXHMqI1xzKmVuZGlmXD4iIGNvbnRhaW5zPWxwY1NwYWNlRXJyb3IsbHBjQ3BwU2tpcAorZW5kaWYKK3N5biByZWdpb24JbHBjSW5jbHVkZWQJZGlzcGxheSBjb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworc3luIG1hdGNoCWxwY0luY2x1ZGVkCWRpc3BsYXkgY29udGFpbmVkICI8W14+XSo+Igorc3luIG1hdGNoCWxwY0luY2x1ZGUJZGlzcGxheSAiXlxzKiNccyppbmNsdWRlXD5ccypbIjxdIiBjb250YWlucz1scGNJbmNsdWRlZAorc3luIG1hdGNoIGxwY0xpbmVTa2lwCSJcXCQiCitzeW4gY2x1c3RlcglscGNQcmVQcm9jR3JvdXAJY29udGFpbnM9bHBjUHJlQ29uZGl0LGxwY0luY2x1ZGVkLGxwY0luY2x1ZGUsbHBjRGVmaW5lLGxwY0VyckluUGFyZW4sbHBjRXJySW5CcmFja2V0LGxwY1VzZXJMYWJlbCxscGNTcGVjaWFsLGxwY09jdGFsWmVybyxscGNDcHBPdXQsbHBjQ3BwT3V0MixscGNDcHBTa2lwLGxwY0Zvcm1hdCxscGNOdW1iZXIsbHBjRmxvYXQsbHBjT2N0YWwsbHBjT2N0YWxFcnJvcixscGNOdW1iZXJzQ29tLGxwY1N0cmluZyxscGNDb21tZW50U2tpcCxscGNDb21tZW50U3RyaW5nLGxwY0NvbW1lbnQyU3RyaW5nLEBscGNDb21tZW50R3JvdXAsbHBjQ29tbWVudFN0YXJ0RXJyb3IsbHBjUGFyZW4sbHBjQnJhY2tldCxscGNNdWx0aSxscGNLZXl3ZEVycm9yCitzeW4gcmVnaW9uCWxwY0RlZmluZQlzdGFydD0iXlxzKiNccypcKGRlZmluZVx8dW5kZWZcKVw+IiBza2lwPSJcXCQiIGVuZD0iJCIgZW5kPSIvLyJtZT1zLTEgY29udGFpbnM9QUxMQlVULEBscGNQcmVQcm9jR3JvdXAKKworaWYgZXhpc3RzKCJscGNfcHJlX3YyMiIpCisgICAgc3luIHJlZ2lvbglscGNQcmVQcm9jCXN0YXJ0PSJeXHMqI1xzKlwocHJhZ21hXD5cfGVjaG9cPlwpIiBza2lwPSJcXCQiIGVuZD0iJCIga2VlcGVuZCBjb250YWlucz1BTExCVVQsQGxwY1ByZVByb2NHcm91cAorZWxzZQorICAgIHN5biByZWdpb24JbHBjUHJlUHJvYwlzdGFydD0iXlxzKiNccypcKHByYWdtYVw+XHxlY2hvXD5cfHdhcm5cPlx8ZXJyb3JcPlwpIiBza2lwPSJcXCQiIGVuZD0iJCIga2VlcGVuZCBjb250YWlucz1BTExCVVQsQGxwY1ByZVByb2NHcm91cAorZW5kaWYKKworIiBOb2R1bGU6IFVzZXIgbGFiZWxzIHt7ezEKKworIiBIaWdobGlnaHQgTGFiZWxzCisiIFVzZXIgbGFiZWxzIGluIExQQyBpcyBub3QgYWxsb3dlZCwgb25seSAiY2FzZSB4IiBhbmQgImRlZmF1bHQiIGlzIHN1cHBvcnRlZAorc3luIGNsdXN0ZXIJbHBjTXVsdGlHcm91cAljb250YWlucz1scGNJbmNsdWRlZCxscGNTcGVjaWFsLGxwY0NvbW1lbnRTa2lwLGxwY0NvbW1lbnRTdHJpbmcsbHBjQ29tbWVudDJTdHJpbmcsQGxwY0NvbW1lbnRHcm91cCxscGNDb21tZW50U3RhcnRFcnJvcixscGNVc2VyQ29udCxscGNVc2VyTGFiZWwsbHBjQml0RmllbGQsbHBjT2N0YWxaZXJvLGxwY0NwcE91dCxscGNDcHBPdXQyLGxwY0NwcFNraXAsbHBjRm9ybWF0LGxwY051bWJlcixscGNGbG9hdCxscGNPY3RhbCxscGNPY3RhbEVycm9yLGxwY051bWJlcnNDb20sbHBjQ3BwUGFyZW4sbHBjQ3BwQnJhY2tldCxscGNDcHBTdHJpbmcsbHBjS2V5d2RFcnJvcgorc3luIHJlZ2lvbglscGNNdWx0aQkJdHJhbnNwYXJlbnQgc3RhcnQ9J1woY2FzZVx8ZGVmYXVsdFx8cHVibGljXHxwcm90ZWN0ZWRcfHByaXZhdGVcKScgc2tpcD0nOjonIGVuZD0nOicgY29udGFpbnM9QUxMQlVULEBscGNNdWx0aUdyb3VwCisKK3N5biBjbHVzdGVyCWxwY0xhYmVsR3JvdXAJY29udGFpbnM9bHBjVXNlckxhYmVsCitzeW4gbWF0Y2gJbHBjVXNlckNvbnQJZGlzcGxheSAiXlxzKmxwYzokIiBjb250YWlucz1AbHBjTGFiZWxHcm91cAorCisiIERvbid0IHdhbnQgdG8gbWF0Y2ggYW55dGhpbmcKK3N5biBtYXRjaAlscGNVc2VyTGFiZWwJZGlzcGxheSAibHBjIiBjb250YWluZWQKKworIiBOb2R1bGU6IEluaXRpYWxpemF0aW9ucyB7e3sxCisKK2lmIGV4aXN0cygiY19taW5saW5lcyIpCisgIGxldCBiOmNfbWlubGluZXMgPSBjX21pbmxpbmVzCitlbHNlCisgIGlmICFleGlzdHMoImNfbm9faWYwIikKKyAgICBsZXQgYjpjX21pbmxpbmVzID0gNTAJIiAjaWYgMCBjb25zdHJ1Y3RzIGNhbiBiZSBsb25nCisgIGVsc2UKKyAgICBsZXQgYjpjX21pbmxpbmVzID0gMTUJIiBtb3N0bHkgZm9yICgpIGNvbnN0cnVjdHMKKyAgZW5kaWYKK2VuZGlmCitleGVjICJzeW4gc3luYyBjY29tbWVudCBscGNDb21tZW50IG1pbmxpbmVzPSIgLiBiOmNfbWlubGluZXMKKworIiBNYWtlIHN1cmUgdGhlc2Ugb3B0aW9ucyB0YWtlIHBsYWNlIHNpbmNlIHdlIG5vIGxvbmdlciBkZXBlbmQgb24gZmlsZSB0eXBlCisiIHBsdWdpbiBmb3IgQworc2V0bG9jYWwgY2luZGVudAorc2V0bG9jYWwgZm8tPXQgZm8rPWNyb3FsCitzZXRsb2NhbCBjb21tZW50cz1zTzoqXCAtLG1POipcIFwgLGV4TzoqLyxzMTovKixtYjoqLGV4OiovLDovLworc2V0IGNwby09QworCisiIFdpbjMyIGNhbiBmaWx0ZXIgZmlsZXMgaW4gdGhlIGJyb3dzZSBkaWFsb2cKK2lmIGhhcygiZ3VpX3dpbjMyIikgJiYgIWV4aXN0cygiYjpicm93c2VmaWx0ZXIiKQorICAgIGxldCBiOmJyb3dzZWZpbHRlciA9ICJMUEMgU291cmNlIEZpbGVzICgqLmMgKi5kICouaClcdCouYzsqLmQ7Ki5oXG4iIC4KKwlcICJMUEMgRGF0YSBGaWxlcyAoKi5zY3IgKi5vICouZGF0KVx0Ki5zY3I7Ki5vOyouZGF0XG4iIC4KKwlcICJUZXh0IERvY3VtZW50YXRpb24gKCoudHh0KVx0Ki50eHRcbiIgLgorCVwgIkFsbCBGaWxlcyAoKi4qKVx0Ki4qXG4iCitlbmRpZgorCisiIE5vZHVsZTogSGlnaGxpZ2h0IGxpbmtzIHt7ezEKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbHBjX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX2xwY19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBscGNNb2RpZmllcgkJbHBjU3RvcmFnZUNsYXNzCisKKyAgSGlMaW5rIGxwY1F1b3RlZEZtdAkJbHBjRm9ybWF0CisgIEhpTGluayBscGNGb3JtYXQJCWxwY1NwZWNpYWwKKyAgSGlMaW5rIGxwY0NwcFN0cmluZwkJbHBjU3RyaW5nCSIgQ3BwIG1lYW5zCisJCQkJCQkiIEMgUHJlLVByb2Nlc3NvcgorICBIaUxpbmsgbHBjQ29tbWVudEwJCWxwY0NvbW1lbnQKKyAgSGlMaW5rIGxwY0NvbW1lbnRTdGFydAlscGNDb21tZW50CisgIEhpTGluayBscGNVc2VyTGFiZWwJCWxwY0xhYmVsCisgIEhpTGluayBscGNTcGVjaWFsQ2hhcmFjdGVyCWxwY1NwZWNpYWwKKyAgSGlMaW5rIGxwY09jdGFsCQlscGNQcmVQcm9jCisgIEhpTGluayBscGNPY3RhbFplcm8JCWxwY1NwZWNpYWwgICIgTFBDIHdpbGwgdHJlYXQgb2N0YWwgbnVtYmVycworCQkJCQkgICAgIiBhcyBkZWNpbWFscywgcHJvZ3JhbW1lcnMgc2hvdWxkCisJCQkJCSAgICAiIGJlIGF3YXJlIG9mIHRoYXQuCisgIEhpTGluayBscGNFZnVuRXJyb3IJCWxwY0Vycm9yCisgIEhpTGluayBscGNLZXl3ZEVycm9yCQlscGNFcnJvcgorICBIaUxpbmsgbHBjT2N0YWxFcnJvcgkJbHBjRXJyb3IKKyAgSGlMaW5rIGxwY1BhcmVuRXJyb3IJCWxwY0Vycm9yCisgIEhpTGluayBscGNFcnJJblBhcmVuCQlscGNFcnJvcgorICBIaUxpbmsgbHBjRXJySW5CcmFja2V0CWxwY0Vycm9yCisgIEhpTGluayBscGNDb21tZW50RXJyb3IJbHBjRXJyb3IKKyAgSGlMaW5rIGxwY0NvbW1lbnRTdGFydEVycm9yCWxwY0Vycm9yCisgIEhpTGluayBscGNTcGFjZUVycm9yCQlscGNFcnJvcgorICBIaUxpbmsgbHBjU3BlY2lhbEVycm9yCWxwY0Vycm9yCisgIEhpTGluayBscGNFcnJGdW5jCQlscGNFcnJvcgorCisgIGlmIGV4aXN0cygibHBjX3ByZV92MjIiKQorICAgICAgSGlMaW5rIGxwY09sZEVmdW5zCWxwY19lZnVucworICAgICAgSGlMaW5rIGxwY05ld0VmdW5zCWxwY0Vycm9yCisgIGVsc2UKKyAgICAgIEhpTGluayBscGNPbGRFZnVucwlscGNSZXNlcnZlZAorICAgICAgSGlMaW5rIGxwY05ld0VmdW5zCWxwY19lZnVucworICBlbmRpZgorICBIaUxpbmsgbHBjX2VmdW5zCQlscGNGdW5jdGlvbgorCisgIEhpTGluayBscGNSZXNlcnZlZAkJbHBjUHJlUHJvYworICBIaUxpbmsgbHBjVGV4dFN0cmluZwkJbHBjU3RyaW5nICAgIiBUaGlzIHNob3VsZCBiZSBwcmVwcm9jZXNzb3JzLCBidXQKKyAgSGlMaW5rIGxwY0FycmF5U3RyaW5nCQlscGNQcmVQcm9jICAiIGxldCdzIG1ha2Ugc29tZSBkaWZmZXJlbmNlCisJCQkJCSAgICAiIGJldHdlZW4gdGV4dCBhbmQgYXJyYXkKKworICBIaUxpbmsgbHBjSW5jbHVkZWQJCWxwY1N0cmluZworICBIaUxpbmsgbHBjQ29tbWVudFN0cmluZwlscGNTdHJpbmcKKyAgSGlMaW5rIGxwY0NvbW1lbnQyU3RyaW5nCWxwY1N0cmluZworICBIaUxpbmsgbHBjQ29tbWVudFNraXAJCWxwY0NvbW1lbnQKKyAgSGlMaW5rIGxwY0NvbW1lbnRGdW5jCQlscGNDb21tZW50CisKKyAgSGlMaW5rIGxwY0NwcFNraXAJCWxwY0NwcE91dAorICBIaUxpbmsgbHBjQ3BwT3V0MgkJbHBjQ3BwT3V0CisgIEhpTGluayBscGNDcHBPdXQJCWxwY0NvbW1lbnQKKworICAiIFN0YW5kYXJkIHR5cGUgYmVsb3cKKyAgSGlMaW5rIGxwY0FwcGxpZXMJCVNwZWNpYWwKKyAgSGlMaW5rIGxwY0NoYXJhY3RlcgkJQ2hhcmFjdGVyCisgIEhpTGluayBscGNDb21tZW50CQlDb21tZW50CisgIEhpTGluayBscGNDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGxwY0NvbnN0YW50CQlDb25zdGFudAorICBIaUxpbmsgbHBjRGVmaW5lCQlNYWNybworICBIaUxpbmsgbHBjRXJyb3IJCUVycm9yCisgIEhpTGluayBscGNGbG9hdAkJRmxvYXQKKyAgSGlMaW5rIGxwY0Z1bmN0aW9uCQlGdW5jdGlvbgorICBIaUxpbmsgbHBjSWRlbnRpZmllcgkJSWRlbnRpZmllcgorICBIaUxpbmsgbHBjSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgbHBjTGFiZWwJCUxhYmVsCisgIEhpTGluayBscGNOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgbHBjT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBscGNQcmVDb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgbHBjUHJlUHJvYwkJUHJlUHJvYworICBIaUxpbmsgbHBjUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIGxwY1N0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBscGNTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayBscGNTdHJpbmcJCVN0cmluZworICBIaUxpbmsgbHBjU3RydWN0dXJlCQlTdHJ1Y3R1cmUKKyAgSGlMaW5rIGxwY1NwZWNpYWwJCUxpbmVOcgorICBIaUxpbmsgbHBjVG9kbwkJVG9kbworICBIaUxpbmsgbHBjVHlwZQkJVHlwZQorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisiIE5vZHVsZTogVGhpcyBpcyB0aGUgZW5kIG5vZHVsZS4ge3t7MQorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJscGMiCisKKyIgdmltOnRzPTg6bm9zdGE6c3c9MjphaTpzaToKKyIgdmltNjAwOnNldCBmZG09bWFya2VyOiB9fX0xCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9scHJvbG9nLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xwcm9sb2cudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjYzQyZjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9scHJvbG9nLnZpbQpAQCAtMCwwICsxLDEzNyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBMYW1iZGFQcm9sb2cgKFRleWp1cykKKyIgRmlsZW5hbWVzOiAgICAqLm1vZCAqLnNpZworIiBNYWludGFpbmVyOiAgIE1hcmt1cyBNb3R0bCAgPG1hcmt1c0BvZWZhaS5hdD4KKyIgVVJMOgkJaHR0cDovL3d3dy5haS51bml2aWUuYWMuYXQvfm1hcmt1cy92aW0vc3ludGF4L2xwcm9sb2cudmltCisiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxMQorIgkJMjAwMSBBcHIgMjYgLSBVcGdyYWRlZCBmb3IgbmV3IFZpbSB2ZXJzaW9uCisiCQkyMDAwIEp1biAgNSAtIEluaXRpYWwgcmVsZWFzZQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgTGFtYmRhIFByb2xvZyBpcyBjYXNlIHNlbnNpdGl2ZS4KK3N5biBjYXNlIG1hdGNoCisKK3N5biBtYXRjaCAgIGxwcm9sb2dCcmFja0VyciAgICAiXF0iCitzeW4gbWF0Y2ggICBscHJvbG9nUGFyZW5FcnIgICAgIikiCisKK3N5biBjbHVzdGVyIGxwcm9sb2dDb250YWluZWQgY29udGFpbnM9bHByb2xvZ1RvZG8sbHByb2xvZ01vZHVsZU5hbWUsbHByb2xvZ1R5cGVOYW1lcyxscHJvbG9nVHlwZU5hbWUKKworIiBFbmNsb3NpbmcgZGVsaW1pdGVycworc3luIHJlZ2lvbiAgbHByb2xvZ0VuY2wgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1scHJvbG9nS2V5d29yZCBzdGFydD0iKCIgbWF0Y2hncm91cD1scHJvbG9nS2V5d29yZCBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxAbHByb2xvZ0NvbnRhaW5lZCxscHJvbG9nUGFyZW5FcnIKK3N5biByZWdpb24gIGxwcm9sb2dFbmNsIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9bHByb2xvZ0tleXdvcmQgc3RhcnQ9IlxbIiBtYXRjaGdyb3VwPWxwcm9sb2dLZXl3b3JkIGVuZD0iXF0iIGNvbnRhaW5zPUFMTEJVVCxAbHByb2xvZ0NvbnRhaW5lZCxscHJvbG9nQnJhY2tFcnIKKworIiBHZW5lcmFsIGlkZW50aWZpZXJzCitzeW4gbWF0Y2ggICBscHJvbG9nSWRlbnRpZmllciAgIlw8XChcd1x8Wy0rKi9cXF48Pj1gJ34/QCMkJiFfXVwpKlw+Igorc3luIG1hdGNoICAgbHByb2xvZ1ZhcmlhYmxlICAgICJcPFwoXHVcfF9cKVwoXHdcfFstKyovXFxePD49YCd+P0AjJCYhXVwpKlw+IgorCitzeW4gbWF0Y2ggICBscHJvbG9nT3BlcmF0b3IgICIvIgorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uICBscHJvbG9nQ29tbWVudCAgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPWxwcm9sb2dDb21tZW50LGxwcm9sb2dUb2RvCitzeW4gcmVnaW9uICBscHJvbG9nQ29tbWVudCAgc3RhcnQ9IiUiIGVuZD0iJCIgY29udGFpbnM9bHByb2xvZ1RvZG8KK3N5biBrZXl3b3JkIGxwcm9sb2dUb2RvICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFgKKworc3luIG1hdGNoICAgbHByb2xvZ0ludGVnZXIgICJcPFxkXCtcPiIKK3N5biBtYXRjaCAgIGxwcm9sb2dSZWFsICAgICAiXDxcKFxkXCtcKVw9XC5cZCtcPiIKK3N5biByZWdpb24gIGxwcm9sb2dTdHJpbmcgICBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCisKKyIgQ2xhdXNlIGRlZmluaXRpb25zCitzeW4gcmVnaW9uICBscHJvbG9nQ2xhdXNlIHN0YXJ0PSJeXHdcKyIgZW5kPSI6LVx8XC4iCisKKyIgTW9kdWxlcworc3luIHJlZ2lvbiAgbHByb2xvZ01vZHVsZSBtYXRjaGdyb3VwPWxwcm9sb2dLZXl3b3JkIHN0YXJ0PSJeXDxtb2R1bGVcPiIgbWF0Y2hncm91cD1scHJvbG9nS2V5d29yZCBlbmQ9IlwuIgorCisiIFR5cGVzCitzeW4gbWF0Y2ggICBscHJvbG9nS2V5d29yZCAiXlw8dHlwZVw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPWxwcm9sb2dUeXBlTmFtZXMKK3N5biByZWdpb24gIGxwcm9sb2dUeXBlTmFtZXMgbWF0Y2hncm91cD1scHJvbG9nQnJhY2VFcnIgc3RhcnQ9Ilw8XHdcK1w+IiBtYXRjaGdyb3VwPWxwcm9sb2dLZXl3b3JkIGVuZD0iXC4iIGNvbnRhaW5lZCBjb250YWlucz1scHJvbG9nVHlwZU5hbWUsbHByb2xvZ09wZXJhdG9yCitzeW4gbWF0Y2ggICBscHJvbG9nVHlwZU5hbWUgIlw8XHdcK1w+IiBjb250YWluZWQKKworIiBLZXl3b3Jkcworc3luIGtleXdvcmQgbHByb2xvZ0tleXdvcmQgIGVuZCBpbXBvcnQgYWNjdW11bGF0ZSBhY2N1bV9zaWcKK3N5biBrZXl3b3JkIGxwcm9sb2dLZXl3b3JkICBsb2NhbCBsb2NhbGtpbmQgY2xvc2VkIHNpZworc3luIGtleXdvcmQgbHByb2xvZ0tleXdvcmQgIGtpbmQgZXhwb3J0ZGVmIHVzZW9ubHkKK3N5biBrZXl3b3JkIGxwcm9sb2dLZXl3b3JkICBpbmZpeGwgaW5maXhyIGluZml4IHByZWZpeAorc3luIGtleXdvcmQgbHByb2xvZ0tleXdvcmQgIHByZWZpeHIgcG9zdGZpeCBwb3N0Zml4bAorCitzeW4ga2V5d29yZCBscHJvbG9nU3BlY2lhbCAgcGkgc2lnbWEgaXMgdHJ1ZSBmYWlsIGhhbHQgc3RvcCBub3QKKworIiBPcGVyYXRvcnMKK3N5biBtYXRjaCAgIGxwcm9sb2dTcGVjaWFsICI6LSIKK3N5biBtYXRjaCAgIGxwcm9sb2dTcGVjaWFsICItPiIKK3N5biBtYXRjaCAgIGxwcm9sb2dTcGVjaWFsICI9PiIKK3N5biBtYXRjaCAgIGxwcm9sb2dTcGVjaWFsICJcXCIKK3N5biBtYXRjaCAgIGxwcm9sb2dTcGVjaWFsICIhIgorCitzeW4gbWF0Y2ggICBscHJvbG9nU3BlY2lhbCAiLCIKK3N5biBtYXRjaCAgIGxwcm9sb2dTcGVjaWFsICI7Igorc3luIG1hdGNoICAgbHByb2xvZ1NwZWNpYWwgIiYiCisKK3N5biBtYXRjaCAgIGxwcm9sb2dPcGVyYXRvciAiKyIKK3N5biBtYXRjaCAgIGxwcm9sb2dPcGVyYXRvciAiLSIKK3N5biBtYXRjaCAgIGxwcm9sb2dPcGVyYXRvciAiKiIKK3N5biBtYXRjaCAgIGxwcm9sb2dPcGVyYXRvciAiXH4iCitzeW4gbWF0Y2ggICBscHJvbG9nT3BlcmF0b3IgIlxeIgorc3luIG1hdGNoICAgbHByb2xvZ09wZXJhdG9yICI8Igorc3luIG1hdGNoICAgbHByb2xvZ09wZXJhdG9yICI+Igorc3luIG1hdGNoICAgbHByb2xvZ09wZXJhdG9yICI9PCIKK3N5biBtYXRjaCAgIGxwcm9sb2dPcGVyYXRvciAiPj0iCitzeW4gbWF0Y2ggICBscHJvbG9nT3BlcmF0b3IgIjo6Igorc3luIG1hdGNoICAgbHByb2xvZ09wZXJhdG9yICI9IgorCitzeW4gbWF0Y2ggICBscHJvbG9nT3BlcmF0b3IgIlwuIgorc3luIG1hdGNoICAgbHByb2xvZ09wZXJhdG9yICI6Igorc3luIG1hdGNoICAgbHByb2xvZ09wZXJhdG9yICJ8IgorCitzeW4gbWF0Y2ggICBscHJvbG9nQ29tbWVudEVyciAgIlwqLyIKKworc3luIHN5bmMgbWlubGluZXM9NTAKK3N5biBzeW5jIG1heGxpbmVzPTUwMAorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xwcm9sb2dfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbHByb2xvZ19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBscHJvbG9nQ29tbWVudCAgICAgQ29tbWVudAorICBIaUxpbmsgbHByb2xvZ1RvZG8JICAgIFRvZG8KKworICBIaUxpbmsgbHByb2xvZ0tleXdvcmQgICAgIEtleXdvcmQKKyAgSGlMaW5rIGxwcm9sb2dTcGVjaWFsICAgICBTcGVjaWFsCisgIEhpTGluayBscHJvbG9nT3BlcmF0b3IgICAgT3BlcmF0b3IKKyAgSGlMaW5rIGxwcm9sb2dJZGVudGlmaWVyICBOb3JtYWwKKworICBIaUxpbmsgbHByb2xvZ0ludGVnZXIgICAgIE51bWJlcgorICBIaUxpbmsgbHByb2xvZ1JlYWwJICAgIE51bWJlcgorICBIaUxpbmsgbHByb2xvZ1N0cmluZwkgICAgU3RyaW5nCisKKyAgSGlMaW5rIGxwcm9sb2dDb21tZW50RXJyICBFcnJvcgorICBIaUxpbmsgbHByb2xvZ0JyYWNrRXJyICAgIEVycm9yCisgIEhpTGluayBscHJvbG9nUGFyZW5FcnIgICAgRXJyb3IKKworICBIaUxpbmsgbHByb2xvZ01vZHVsZU5hbWUgIFNwZWNpYWwKKyAgSGlMaW5rIGxwcm9sb2dUeXBlTmFtZSAgICBJZGVudGlmaWVyCisKKyAgSGlMaW5rIGxwcm9sb2dWYXJpYWJsZSAgICBLZXl3b3JkCisgIEhpTGluayBscHJvbG9nQXRvbQkgICAgTm9ybWFsCisgIEhpTGluayBscHJvbG9nQ2xhdXNlCSAgICBUeXBlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImxwcm9sb2ciCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sc2NyaXB0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2xzY3JpcHQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0OGEwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9sc2NyaXB0LnZpbQpAQCAtMCwwICsxLDIxMyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUxvdHVzU2NyaXB0CisiIE1haW50YWluZXI6CVRhcnluIEVhc3QgKHRhcnluZWFzdEBob3RtYWlsLmNvbSkKKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgVGhpcyBpcyBhIHJvdWdoICBhbWFsZ2FtYXRpb24gb2YgdGhlIHZpc3VhbCBiYXNpYyBzeW50YXggZmlsZSwgYW5kIHRoZSBVbHRyYUVkaXQKKyIgYW5kIFRleHRwYWQgc3ludGF4IGhpZ2hsaWdodGVycy4KKyIgSXQncyBub3QgdG9vIGJyaWxsaWFudCBnaXZlbiB0aGF0IGEpIEkndmUgbmV2ZXIgd3JpdHRlbiBhIHN5bnRheC52aW0gZmlsZSBiZWZvcmUKKyIgYW5kIGIpIEknbSBub3Qgc28gY3Jhc2ggaG90IGF0IExvdHVzU2NyaXB0IGVpdGhlci4gSWYgeW91IHNlZSBhbnkgcHJvYmxlbXMKKyIgZmVlbCBmcmVlIHRvIGVtYWlsIG1lIHdpdGggdGhlbS4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIExvdHVzU2NyaXB0IGlzIGNhc2UgaW5zZW5zaXRpdmUKK3N5biBjYXNlIGlnbm9yZQorCisiIFRoZXNlIGFyZSBOb3RlcyB0aGluZ2llcyB0aGF0IGhhZCBhbiBlcXVpdmFsZW50IGluIHRoZSB2YiBoaWdobGlnaHRlcgorIiBvciBJIHdhcyBhbHJlYWR5IGZhbWlsaWFyIHdpdGggdGhlbQorc3luIGtleXdvcmQgbHNjcmlwdFN0YXRlbWVudCBBY3RpdmF0ZUFwcCBBcyBBbmQgQmFzZSBCZWVwIENhbGwgQ2FzZSBDaERpciBDaERyaXZlIENsYXNzCitzeW4ga2V5d29yZCBsc2NyaXB0U3RhdGVtZW50IENvbnN0IERpbSBEZWNsYXJlIERlZkN1ciBEZWZEYmwgRGVmSW50IERlZkxuZyBEZWZTbmcgRGVmU3RyCitzeW4ga2V5d29yZCBsc2NyaXB0U3RhdGVtZW50IERlZlZhciBEbyBFbHNlICVFbHNlIEVsc2VJZiAlRWxzZUlmIEVuZCAlRW5kIEVyYXNlIEV2ZW50IEV4aXQKK3N5biBrZXl3b3JkIGxzY3JpcHRTdGF0ZW1lbnQgRXhwbGljaXQgRmlsZUNvcHkgRkFMU0UgRm9yIEZvckFsbCBGdW5jdGlvbiBHZXQgR29UbyBHb1N1Ygorc3luIGtleXdvcmQgbHNjcmlwdFN0YXRlbWVudCBJZiAlSWYgSW4gSXMgS2lsbCBMZXQgTGlzdCBMb2NrIExvb3AgTWtEaXIKK3N5biBrZXl3b3JkIGxzY3JpcHRTdGF0ZW1lbnQgTmFtZSBOZXh0IE5ldyBOb0Nhc2UgTm9QaXRjaCBOb3QgTm90aGluZyBOVUxMCitzeW4ga2V5d29yZCBsc2NyaXB0U3RhdGVtZW50IE9uIE9wdGlvbiBPciBQSSBQaXRjaCBQcmVzZXJ2ZSBQcml2YXRlIFB1YmxpYworc3luIGtleXdvcmQgbHNjcmlwdFN0YXRlbWVudCBQcm9wZXJ0eSBQdWJsaWMgUHV0CitzeW4ga2V5d29yZCBsc2NyaXB0U3RhdGVtZW50IFJhbmRvbWl6ZSBSZURpbSBSZXNldCBSZXN1bWUgUmV0dXJuIFJtRGlyCitzeW4ga2V5d29yZCBsc2NyaXB0U3RhdGVtZW50IFNlbGVjdCBTZW5kS2V5cyBTZXRGaWxlQXR0ciBTZXQgU3RhdGljIFN1YiBUaGVuIFRvIFRSVUUKK3N5biBrZXl3b3JkIGxzY3JpcHRTdGF0ZW1lbnQgVHlwZSBVbmxvY2sgVW50aWwgV2hpbGUgV0VuZCBXaXRoIFdyaXRlIFhPcgorCitzeW4ga2V5d29yZCBsc2NyaXB0RGF0YXR5cGUgQXJyYXkgQ3VycmVuY3kgRG91YmxlIEludGVnZXIgTG9uZyBTaW5nbGUgU3RyaW5nIFN0cmluZyQgVmFyaWFudAorCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNUeXBlIEZpZWxkIEJ1dHRvbiBOYXZpZ2F0b3IKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc1R5cGUgTm90ZXNBQ0wgTm90ZXNBQ0xFbnRyeSBOb3Rlc0FnZW50IE5vdGVzRGF0YWJhc2UgTm90ZXNEYXRlUmFuZ2UKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc1R5cGUgTm90ZXNEYXRlVGltZSBOb3Rlc0RiRGlyZWN0b3J5IE5vdGVzRG9jdW1lbnQKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc1R5cGUgTm90ZXNEb2N1bWVudENvbGxlY3Rpb24gTm90ZXNFbWJlZGRlZE9iamVjdCBOb3Rlc0Zvcm0KK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc1R5cGUgTm90ZXNJbnRlcm5hdGlvbmFsIE5vdGVzSXRlbSBOb3Rlc0xvZyBOb3Rlc05hbWUgTm90ZXNOZXdzTGV0dGVyCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNUeXBlIE5vdGVzTUlNRUVudHJ5IE5vdGVzT3V0bGluZSBOb3Rlc091dGxpbmVFbnRyeSBOb3Rlc1JlZ2lzdHJhdGlvbgorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzVHlwZSBOb3Rlc1JlcGxpY2F0aW9uIE5vdGVzUmljaFRleHRJdGVtIE5vdGVzUmljaFRleHRQYXJhZ3JhcGhTdHlsZQorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzVHlwZSBOb3Rlc1JpY2hUZXh0U3R5bGUgTm90ZXNSaWNoVGV4dFRhYgorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzVHlwZSBOb3Rlc1Nlc3Npb24gTm90ZXNUaW1lciBOb3Rlc1ZpZXcgTm90ZXNWaWV3Q29sdW1uIE5vdGVzVmlld0VudHJ5CitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNUeXBlIE5vdGVzVmlld0VudHJ5Q29sbGVjdGlvbiBOb3Rlc1ZpZXdOYXZpZ2F0b3IgTm90ZXNVSURhdGFiYXNlCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNUeXBlIE5vdGVzVUlEb2N1bWVudCBOb3Rlc1VJVmlldyBOb3Rlc1VJV29ya3NwYWNlCisKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IEFDTExFVkVMX0FVVEhPUiBBQ0xMRVZFTF9ERVBPU0lUT1IgQUNMTEVWRUxfREVTSUdORVIKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IEFDTExFVkVMX0VESVRPUiBBQ0xMRVZFTF9NQU5BR0VSIEFDTExFVkVMX05PQUNDRVNTCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBBQ0xMRVZFTF9SRUFERVIgQUNMVFlQRV9NSVhFRF9HUk9VUCBBQ0xUWVBFX1BFUlNPTgorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgQUNMVFlQRV9QRVJTT05fR1JPVVAgQUNMVFlQRV9TRVJWRVIgQUNMVFlQRV9TRVJWRVJfR1JPVVAKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IEFDTFRZUEVfVU5TUEVDSUZJRUQgQUNUSU9OQ0QgQUxJR05fQ0VOVEVSCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBBTElHTl9GVUxMIEFMSUdOX0xFRlQgQUxJR05fTk9XUkFQIEFMSUdOX1JJR0hUCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBBU1NJU1RBTlRJTkZPIEFUVEFDSE1FTlQgQVVUSE9SUyBDT0xPUl9CTEFDSworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgQ09MT1JfQkxVRSBDT0xPUl9DWUFOIENPTE9SX0RBUktfQkxVRSBDT0xPUl9EQVJLX0NZQU4KK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IENPTE9SX0RBUktfR1JFRU4gQ09MT1JfREFSS19NQUdFTlRBIENPTE9SX0RBUktfUkVECitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBDT0xPUl9EQVJLX1lFTExPVyBDT0xPUl9HUkFZIENPTE9SX0dSRUVOIENPTE9SX0xJR0hUX0dSQVkKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IENPTE9SX01BR0VOVEEgQ09MT1JfUkVEIENPTE9SX1dISVRFIENPTE9SX1lFTExPVworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgREFUQUJBU0UgREFURVRJTUVTIERCX1JFUExJQ0FUSU9OX1BSSU9SSVRZX0hJR0gKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IERCX1JFUExJQ0FUSU9OX1BSSU9SSVRZX0xPVyBEQl9SRVBMSUNBVElPTl9QUklPUklUWV9NRUQKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IERCX1JFUExJQ0FUSU9OX1BSSU9SSVRZX05PVFNFVCBFRkZFQ1RTX0VNQk9TUworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgRUZGRUNUU19FWFRSVURFIEVGRkVDVFNfTk9ORSBFRkZFQ1RTX1NIQURPVworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgRUZGRUNUU19TVUJTQ1JJUFQgRUZGRUNUU19TVVBFUlNDUklQVCBFTUJFRF9BVFRBQ0hNRU5UCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBFTUJFRF9PQkpFQ1QgRU1CRURfT0JKRUNUTElOSyBFTUJFRERFRE9CSkVDVCBFUlJPUklURU0KK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IEVWX0FMQVJNIEVWX0NPTU0gRVZfTUFJTCBFVl9NSVNDIEVWX1JFUExJQ0EgRVZfUkVTT1VSQ0UKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IEVWX1NFQ1VSSVRZIEVWX1NFUlZFUiBFVl9VTktOT1dOIEVWX1VQREFURSBGT05UX0NPVVJJRVIKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IEZPTlRfSEVMViBGT05UX1JPTUFOIEZPUk1VTEEgRlRfREFUQUJBU0UgRlRfREFURV9BU0MKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IEZUX0RBVEVfREVTIEZUX0ZJTEVTWVNURU0gRlRfRlVaWlkgRlRfU0NPUkVTIEZUX1NURU1TCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBGVF9USEVTQVVSVVMgSFRNTCBJQ09OIElEX0NFUlRJRklFUiBJRF9GTEFUCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBJRF9ISUVSQVJDSElDQUwgTFNPQkpFQ1QgTUlNRV9QQVJUIE5BTUVTIE5PVEVTTElOS1MKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IE5PVEVSRUZTIE5PVEVTX0RFU0tUT1BfQ0xJRU5UIE5PVEVTX0ZVTExfQ0xJRU5UCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBOT1RFU19MSU1JVEVEX0NMSUVOVCBOVU1CRVJTIE9USEVST0JKRUNUCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBPVVRMSU5FX0NMQVNTX0RBVEFCQVNFIE9VVExJTkVfQ0xBU1NfRE9DVU1FTlQKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IE9VVExJTkVfQ0xBU1NfRk9MREVSIE9VVExJTkVfQ0xBU1NfRk9STQorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgT1VUTElORV9DTEFTU19GUkFNRVNFVCBPVVRMSU5FX0NMQVNTX05BVklHQVRPUgorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgT1VUTElORV9DTEFTU19QQUdFIE9VVExJTkVfQ0xBU1NfVU5LTk9XTgorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgT1VUTElORV9DTEFTU19WSUVXIE9VVExJTkVfT1RIRVJfRk9MREVSU19UWVBFCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBPVVRMSU5FX09USEVSX1VOS05PV05fVFlQRSBPVVRMSU5FX09USEVSX1ZJRVdTX1RZUEUKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IE9VVExJTkVfVFlQRV9BQ1RJT04gT1VUTElORV9UWVBFX05BTUVERUxFTUVOVAorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgT1VUTElORV9UWVBFX05PVEVMSU5LIE9VVExJTkVfVFlQRV9VUkwgUEFHSU5BVEVfQkVGT1JFCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBQQUdJTkFURV9ERUZBVUxUIFBBR0lOQVRFX0tFRVBfVE9HRVRIRVIKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IFBBR0lOQVRFX0tFRVBfV0lUSF9ORVhUIFBJQ0tMSVNUX0NVU1RPTSBQSUNLTElTVF9OQU1FUworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgUElDS0xJU1RfUkVTT1VSQ0VTIFBJQ0tMSVNUX1JPT01TIFBST01QVF9PSyBQUk9NUFRfT0tDQU5DRUxDT01CTworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgUFJPTVBUX09LQ0FOQ0VMRURJVCBQUk9NUFRfT0tDQU5DRUxFRElUQ09NQk8gUFJPTVBUX09LQ0FOQ0VMTElTVAorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgUFJPTVBUX09LQ0FOQ0VMTElTVE1VTFQgUFJPTVBUX1BBU1NXT1JEIFBST01QVF9ZRVNOTworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgUFJPTVBUX1lFU05PQ0FOQ0VMIFFVRVJZQ0QgUkVBREVSUyBSRVBMSUNBX0NBTkRJREFURQorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgUklDSFRFWFQgUlVMRVJfT05FX0NFTlRJTUVURVIgUlVMRVJfT05FX0lOQ0ggU0VWX0ZBSUxVUkUKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IFNFVl9GQVRBTCBTRVZfTk9STUFMIFNFVl9XQVJOSU5HMSBTRVZfV0FSTklORzIKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IFNJR05BVFVSRSBTUEFDSU5HX0RPVUJMRSBTUEFDSU5HX09ORV9QT0lOVF81MAorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgU1BBQ0lOR19TSU5HTEUgU1RZTEVfTk9fQ0hBTkdFIFRBQl9DRU5URVIgVEFCX0RFQ0lNQUwKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IFRBQl9MRUZUIFRBQl9SSUdIVCBUQVJHRVRfQUxMX0RPQ1MgVEFSR0VUX0FMTF9ET0NTX0lOX1ZJRVcKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IFRBUkdFVF9ORVdfRE9DUyBUQVJHRVRfTkVXX09SX01PRElGSUVEX0RPQ1MgVEFSR0VUX05PTkUKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IFRBUkdFVF9SVU5fT05DRSBUQVJHRVRfU0VMRUNURURfRE9DUyBUQVJHRVRfVU5SRUFEX0RPQ1NfSU5fVklFVworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVEVNUExBVEUgVEVNUExBVEVfQ0FORElEQVRFIFRFWFQgVFJJR0dFUl9BRlRFUl9NQUlMX0RFTElWRVJZCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBUUklHR0VSX0JFRk9SRV9NQUlMX0RFTElWRVJZIFRSSUdHRVJfRE9DX1BBU1RFRAorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVFJJR0dFUl9ET0NfVVBEQVRFIFRSSUdHRVJfTUFOVUFMIFRSSUdHRVJfTk9ORQorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVFJJR0dFUl9TQ0hFRFVMRUQgVU5BVkFJTEFCTEUgVU5LTk9XTiBVU0VSREFUQQorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVVNFUklEIFZDX0FMSUdOX0NFTlRFUiBWQ19BTElHTl9MRUZUIFZDX0FMSUdOX1JJR0hUCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBWQ19BVFRSX1BBUkVOUyBWQ19BVFRSX1BVTkNUVUFURUQgVkNfQVRUUl9QRVJDRU5UCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBWQ19GTVRfQUxXQVlTIFZDX0ZNVF9DVVJSRU5DWSBWQ19GTVRfREFURSBWQ19GTVRfREFURVRJTUUKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IFZDX0ZNVF9GSVhFRCBWQ19GTVRfR0VORVJBTCBWQ19GTVRfSE0gVkNfRk1UX0hNUworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVkNfRk1UX01EIFZDX0ZNVF9ORVZFUiBWQ19GTVRfU0NJRU5USUZJQworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVkNfRk1UX1NPTUVUSU1FUyBWQ19GTVRfVElNRSBWQ19GTVRfVE9EQVlUSU1FIFZDX0ZNVF9ZTQorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVkNfRk1UX1lNRCBWQ19GTVRfWTRNIFZDX0ZPTlRfQk9MRCBWQ19GT05UX0lUQUxJQworc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVkNfRk9OVF9TVFJJS0VPVVQgVkNfRk9OVF9VTkRFUkxJTkUgVkNfU0VQX0NPTU1BCitzeW4ga2V5d29yZCBsc2NyaXB0Tm90ZXNDb25zdCBWQ19TRVBfTkVXTElORSBWQ19TRVBfU0VNSUNPTE9OIFZDX1NFUF9TUEFDRQorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVklFV01BUERBVEEgVklFV01BUExBWU9VVCBWV19TUEFDSU5HX0RPVUJMRQorc3luIGtleXdvcmQgbHNjcmlwdE5vdGVzQ29uc3QgVldfU1BBQ0lOR19PTkVfUE9JTlRfMjUgVldfU1BBQ0lOR19PTkVfUE9JTlRfNTAKK3N5biBrZXl3b3JkIGxzY3JpcHROb3Rlc0NvbnN0IFZXX1NQQUNJTkdfT05FX1BPSU5UXzc1IFZXX1NQQUNJTkdfU0lOR0xFCisKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBBYnMgQXNjIEF0biBBdG4yIEFDb3MgQVNpbgorc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIENDdXIgQ0RhdCBDRGJsIENociBDaHIkIENJbnQgQ0xuZyBDb21tYW5kIENvbW1hbmQkCitzeW4ga2V5d29yZCBsc2NyaXB0RnVuY3Rpb24gQ29zIENTbmcgQ1N0cgorc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIEN1ckRpciBDdXJEaXIkIENWYXIgRGF0ZSBEYXRlJCBEYXRlTnVtYmVyIERhdGVTZXJpYWwgRGF0ZVZhbHVlCitzeW4ga2V5d29yZCBsc2NyaXB0RnVuY3Rpb24gRGF5IERpciBEaXIkIEVudmlyb24kIEVudmlyb24gRU9GIEVycm9yIEVycm9yJCBFdmFsdWF0ZSBFeHAKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBGaWxlQXR0ciBGaWxlRGF0ZVRpbWUgRmlsZUxlbiBGaXggRm9ybWF0IEZvcm1hdCQgRnJlZUZpbGUKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBHZXRGaWxlQXR0ciBHZXRUaHJlYWRJbmZvIEhleCBIZXgkIEhvdXIKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBJTUVTZXRNb2RlIElNRVN0YXR1cyBJbnB1dCBJbnB1dCQgSW5wdXRCIElucHV0QiQKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBJbnB1dEJQIElucHV0QlAkIElucHV0Qm94IElucHV0Qm94JCBJblN0ciBJblN0ckIgSW5TdHJCUCBJbnN0ckMKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBJc0EgSXNBcnJheSBJc0RhdGUgSXNFbGVtZW50IElzTGlzdCBJc051bWVyaWMKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBJc09iamVjdCBJc1Jlc3BvbnNlIElzU2NhbGFyIElzVW5rbm93biBMQ2FzZSBMQ2FzZSQKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBMZWZ0IExlZnQkIExlZnRCIExlZnRCJCBMZWZ0Qworc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIExlZnRCUCBMZWZ0QlAkIExlbiBMZW5CIExlbkJQIExlbkMgTG9jIExPRiBMb2cKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBMU2V0IExUcmltIExUcmltJCBNZXNzYWdlQm94IE1pZCBNaWQkIE1pZEIgTWlkQiQgTWlkQworc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIE1pbnV0ZSBNb250aCBOb3cgT2N0IE9jdCQgUmVzcG9uc2VzIFJpZ2h0IFJpZ2h0JAorc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIFJpZ2h0QiBSaWdodEIkIFJpZ2h0QlAgUmlnaHRCUCQgUmlnaHRDIFJvdW5kIFJuZCBSU2V0IFJUcmltIFJUcmltJAorc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIFNlY29uZCBTZWVrIFNnbiBTaGVsbCBTaW4gU2xlZXAgU3BhY2UgU3BhY2UkIFNwYyBTcXIgU3RyIFN0ciQKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBTdHJDb252IFN0ckxlZnQgU3RybGVmdEJhY2sgU3RyUmlnaHQgU3RyUmlnaHRCYWNrCitzeW4ga2V5d29yZCBsc2NyaXB0RnVuY3Rpb24gU3RyQ29tcGFyZSBUYWIgVGFuIFRpbWUgVGltZSQgVGltZU51bWJlciBUaW1lcgorc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIFRpbWVWYWx1ZSBUcmltIFRyaW0kIFRvZGF5IFR5cGVOYW1lIFVDYXNlIFVDYXNlJAorc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIFVuaXZlcnNhbElEIFZhbCBXZWVrZGF5IFllYXIKKworc3luIGtleXdvcmQgbHNjcmlwdE1ldGhvZHMgQXBwZW5kVG9UZXh0TGlzdCBBcnJheUFwcGVuZCBBcnJheVJlcGxhY2UgQXJyYXlHZXRJbmRleAorc3luIGtleXdvcmQgbHNjcmlwdE1ldGhvZHMgQXBwZW5kIEJpbmQgQ2xvc2UKKyJzeW4ga2V5d29yZCBsc2NyaXB0TWV0aG9kcyBDb250YWlucworc3luIGtleXdvcmQgbHNjcmlwdE1ldGhvZHMgQ29weVRvRGF0YWJhc2UgQ29weUFsbEl0ZW1zIENvdW50IEN1cnJlbnREYXRhYmFzZSBEZWxldGUgRXhlY3V0ZQorc3luIGtleXdvcmQgbHNjcmlwdE1ldGhvZHMgR2V0QWxsRG9jdW1lbnRzQnlLZXkgR2V0RGF0YWJhc2UgR2V0RG9jdW1lbnRCeUtleQorc3luIGtleXdvcmQgbHNjcmlwdE1ldGhvZHMgR2V0RG9jdW1lbnRCeVVOSUQgR2V0Rmlyc3REb2N1bWVudCBHZXRGaXJzdEl0ZW0KK3N5biBrZXl3b3JkIGxzY3JpcHRNZXRob2RzIEdldEl0ZW1zIEdldEl0ZW1WYWx1ZSBHZXROdGhEb2N1bWVudCBHZXRWaWV3CitzeW4ga2V5d29yZCBsc2NyaXB0TWV0aG9kcyBJc0VtcHR5IElzTnVsbCAlSW5jbHVkZSBJdGVtcworc3luIGtleXdvcmQgbHNjcmlwdE1ldGhvZHMgTGluZSBMQm91bmQgTG9hZE1zZ1RleHQgT3BlbiBQcmludAorc3luIGtleXdvcmQgbHNjcmlwdE1ldGhvZHMgUmFpc2VFdmVudCBSZXBsYWNlSXRlbVZhbHVlIFJlbW92ZSBSZW1vdmVJdGVtIFJlc3BvbnNlcworc3luIGtleXdvcmQgbHNjcmlwdE1ldGhvZHMgU2F2ZSBTdG9wIFVCb3VuZCBVbnByb2Nlc3NlZERvY3VtZW50cyBXcml0ZQorCitzeW4ga2V5d29yZCBsc2NyaXB0RXZlbnRzIENvbXBhcmUgT25FcnJvcgorCisiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIlRoZXNlIGFyZSBOb3RlcyB0aGluZ2llcyB0aGF0IEknbSBub3Qgc3VyZSBob3cgdG8gY2xhc3NpZnkgYXMgdGhleSBoYWQgbm8gdmIgZXF1aXZhbGVudAorIiBBdCBhIHdpbGQgZ3Vlc3MgSSdkIHB1dCB0aGVtIGFzIEZ1bmN0aW9ucy4uLgorIiBpZiBhbnlvbmUgc2VlcyBzb21ldGhpbmcgcmVhbGx5IG91dCBvZiBwbGFjZS4uLiB0ZWxsIG1lIQorCitzeW4ga2V5d29yZCBsc2NyaXB0RnVuY3Rpb24gQWNjZXNzIEFsaWFzIEFueSBCaW4gQmluJCBCaW5hcnkgQnlWYWwKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBDb2RlTG9jayBDb2RlTG9ja0NoZWNrIENvZGVVbmxvY2sgQ3JlYXRlTG9jaworc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIEN1ckRyaXZlIEN1ckRyaXZlJCBEYXRhVHlwZSBEZXN0cm95TG9jayBFcXYKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBFcmwgRXJyIEZyYWN0aW9uIEZyb20gRnJvbUZ1bmN0aW9uIEZ1bGxUcmltCitzeW4ga2V5d29yZCBsc2NyaXB0RnVuY3Rpb24gSW1wIEludCBMaWIgTGlrZSBMaXN0VGFnIExNQkNTIExTU2VydmVyIE1lCitzeW4ga2V5d29yZCBsc2NyaXB0RnVuY3Rpb24gTW9kIE1zZ0Rlc2NyaXB0aW9uIE1zZ1RleHQgT3V0cHV0IFB1Ymxpc2hlZAorc3luIGtleXdvcmQgbHNjcmlwdEZ1bmN0aW9uIFJhbmRvbSBSZWFkIFNoYXJlZCBTdGVwIFVDaHIgVUNociQgVW5pIFVuaWNvZGUKK3N5biBrZXl3b3JkIGxzY3JpcHRGdW5jdGlvbiBVbnRpbCBVc2UgVXNlTFNYIFVTdHJpbmcgVVN0cmluZyQgV2lkdGggWWllbGQKKworCitzeW4ga2V5d29yZCBsc2NyaXB0VG9kbyBjb250YWluZWQJVE9ETworCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90Lgorc3luIG1hdGNoICBsc2NyaXB0TnVtYmVyCQkiXDxcZFwrXD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdAorc3luIG1hdGNoICBsc2NyaXB0TnVtYmVyCQkiXDxcZFwrXC5cZCpcPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QKK3N5biBtYXRjaCAgbHNjcmlwdE51bWJlcgkJIlwuXGRcK1w+IgorCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnN0YW50cworc3luIHJlZ2lvbiAgbHNjcmlwdFN0cmluZwkJc3RhcnQ9KyIrICBlbmQ9KyIrCitzeW4gcmVnaW9uICBsc2NyaXB0Q29tbWVudAkJc3RhcnQ9IlJFTSIgZW5kPSIkIiBjb250YWlucz1sc2NyaXB0VG9kbworc3luIHJlZ2lvbiAgbHNjcmlwdENvbW1lbnQJCXN0YXJ0PSInIiAgIGVuZD0iJCIgY29udGFpbnM9bHNjcmlwdFRvZG8KK3N5biByZWdpb24gIGxzY3JpcHRMaW5lTnVtYmVyCXN0YXJ0PSJeXGQiIGVuZD0iXHMiCitzeW4gbWF0Y2ggICBsc2NyaXB0VHlwZVNwZWNpZmllcgkiW2EtekEtWjAtOV1bXCQlJiEjXSJtcz1zKzEKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbHNjcmlwdF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9sc2NyaXB0X3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgaGkgbHNjcmlwdE5vdGVzVHlwZQl0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtHcmVlbiBndWlmZz1TZWFHcmVlbiBndWk9Ym9sZAorCisgIEhpTGluayBsc2NyaXB0Tm90ZXNDb25zdAlsc2NyaXB0Tm90ZXNUeXBlCisgIEhpTGluayBsc2NyaXB0TGluZU51bWJlcglDb21tZW50CisgIEhpTGluayBsc2NyaXB0RGF0YXR5cGUJVHlwZQorICBIaUxpbmsgbHNjcmlwdE51bWJlcgkJTnVtYmVyCisgIEhpTGluayBsc2NyaXB0RXJyb3IJCUVycm9yCisgIEhpTGluayBsc2NyaXB0U3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgbHNjcmlwdFN0cmluZwkJU3RyaW5nCisgIEhpTGluayBsc2NyaXB0Q29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbHNjcmlwdFRvZG8JCVRvZG8KKyAgSGlMaW5rIGxzY3JpcHRGdW5jdGlvbglJZGVudGlmaWVyCisgIEhpTGluayBsc2NyaXB0TWV0aG9kcwkJUHJlUHJvYworICBIaUxpbmsgbHNjcmlwdEV2ZW50cwkJU3BlY2lhbAorICBIaUxpbmsgbHNjcmlwdFR5cGVTcGVjaWZpZXIJVHlwZQorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsc2NyaXB0IgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbHNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xzcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUyMDcwMQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2xzcy52aW0KQEAgLTAsMCArMSwxMzMgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglMeW54IDIuNy4xIHN0eWxlIGZpbGUKKyIgTWFpbnRhaW5lcjoJU2NvdHQgQmlnaGFtIDxkc2JAY3MuZHVrZS5lZHU+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgVGhpcyBzZXR1cCBpcyBwcm9iYWJseSBhdHlwaWNhbCBmb3IgYSBzeW50YXggaGlnaGxpZ2h0aW5nIGZpbGUsIGJlY2F1c2UKKyIgbW9zdCBvZiBpdCBpcyBub3QgcmVhbGx5IGludGVuZGVkIHRvIGJlIG92ZXJyaWRlYWJsZS4gIEluc3RlYWQsIHRoZQorIiBoaWdobGlnaHRpbmcgaXMgc3VwcG9zZWQgdG8gY29ycmVzcG9uZCB0byB0aGUgaGlnaGxpZ2h0aW5nIHNwZWNpZmllZCBieQorIiB0aGUgLmxzcyBmaWxlIGVudHJpZXMgdGhlbXNlbHZlczsgaWUuIHRoZSAiYm9sZCIga2V5d29yZCBzaG91bGQgYmUgYm9sZCwKKyIgdGhlICJyZWQiIGtleXdvcmQgc2hvdWxkIGJlIHJlZCwgYW5kIHNvIGZvcnRoLiAgVGhlIGV4Y2VwdGlvbnMgdG8gdGhpcworIiBhcmUgY29tbWVudHMsIG9mIGNvdXJzZSwgYW5kIHRoZSBpbml0aWFsIGtleXdvcmQgaWRlbnRpZnlpbmcgdGhlIGFmZmVjdGVkCisiIGVsZW1lbnQsIHdoaWNoIHdpbGwgaW5oZXJpdCB0aGUgdXN1YWwgSWRlbnRpZmllciBoaWdobGlnaHRpbmcuCisKK3N5biBtYXRjaCBsc3NFbGVtZW50ICJeW146XVwrIiBuZXh0Z3JvdXA9bHNzTW9ubworCitzeW4gbWF0Y2ggbHNzTW9ubyAiOlteOl1cKyIgY29udGFpbmVkIG5leHRncm91cD1sc3NGZ0NvbG9yIGNvbnRhaW5zPWxzc1JldmVyc2UsbHNzVW5kZXJsaW5lLGxzc0JvbGQsbHNzU3RhbmRvdXQKKworc3luIGtleXdvcmQJbHNzQm9sZAkJYm9sZAkJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NSZXZlcnNlCXJldmVyc2UJCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzVW5kZXJsaW5lCXVuZGVybGluZQljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc1N0YW5kb3V0CXN0YW5kb3V0CWNvbnRhaW5lZAorCitzeW4gbWF0Y2ggbHNzRmdDb2xvciAiOlteOl1cKyIgY29udGFpbmVkIG5leHRncm91cD1sc3NCZ0NvbG9yIGNvbnRhaW5zPWxzc1JlZEZnLGxzc0JsdWVGZyxsc3NHcmVlbkZnLGxzc0Jyb3duRmcsbHNzTWFnZW50YUZnLGxzc0N5YW5GZyxsc3NMaWdodGdyYXlGZyxsc3NHcmF5RmcsbHNzQnJpZ2h0cmVkRmcsbHNzQnJpZ2h0Z3JlZW5GZyxsc3NZZWxsb3dGZyxsc3NCcmlnaHRibHVlRmcsbHNzQnJpZ2h0bWFnZW50YUZnLGxzc0JyaWdodGN5YW5GZworCitzeW4gY2FzZSBpZ25vcmUKK3N5biBrZXl3b3JkCWxzc1JlZEZnCQlyZWQJCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzQmx1ZUZnCQlibHVlCQljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc0dyZWVuRmcJCWdyZWVuCQljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc0Jyb3duRmcJCWJyb3duCQljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc01hZ2VudGFGZwkJbWFnZW50YQkJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NDeWFuRmcJCWN5YW4JCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzTGlnaHRncmF5RmcJCWxpZ2h0Z3JheQljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc0dyYXlGZwkJZ3JheQkJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NCcmlnaHRyZWRGZwkJYnJpZ2h0cmVkCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzQnJpZ2h0Z3JlZW5GZwlicmlnaHRncmVlbgljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc1llbGxvd0ZnCQl5ZWxsb3cJCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzQnJpZ2h0Ymx1ZUZnCQlicmlnaHRibHVlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzQnJpZ2h0bWFnZW50YUZnCWJyaWdodG1hZ2VudGEJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NCcmlnaHRjeWFuRmcJCWJyaWdodGN5YW4JY29udGFpbmVkCitzeW4gY2FzZSBtYXRjaAorCitzeW4gbWF0Y2ggbHNzQmdDb2xvciAiOlteOl1cKyIgY29udGFpbmVkIGNvbnRhaW5zPWxzc1JlZEJnLGxzc0JsdWVCZyxsc3NHcmVlbkJnLGxzc0Jyb3duQmcsbHNzTWFnZW50YUJnLGxzc0N5YW5CZyxsc3NMaWdodGdyYXlCZyxsc3NHcmF5QmcsbHNzQnJpZ2h0cmVkQmcsbHNzQnJpZ2h0Z3JlZW5CZyxsc3NZZWxsb3dCZyxsc3NCcmlnaHRibHVlQmcsbHNzQnJpZ2h0bWFnZW50YUJnLGxzc0JyaWdodGN5YW5CZyxsc3NXaGl0ZUJnCisKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQJbHNzUmVkQmcJCXJlZAkJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NCbHVlQmcJCWJsdWUJCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzR3JlZW5CZwkJZ3JlZW4JCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzQnJvd25CZwkJYnJvd24JCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzTWFnZW50YUJnCQltYWdlbnRhCQljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc0N5YW5CZwkJY3lhbgkJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NMaWdodGdyYXlCZwkJbGlnaHRncmF5CWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzR3JheUJnCQlncmF5CQljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc0JyaWdodHJlZEJnCQlicmlnaHRyZWQJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NCcmlnaHRncmVlbkJnCWJyaWdodGdyZWVuCWNvbnRhaW5lZAorc3luIGtleXdvcmQJbHNzWWVsbG93QmcJCXllbGxvdwkJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NCcmlnaHRibHVlQmcJCWJyaWdodGJsdWUJY29udGFpbmVkCitzeW4ga2V5d29yZAlsc3NCcmlnaHRtYWdlbnRhQmcJYnJpZ2h0bWFnZW50YQljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc0JyaWdodGN5YW5CZwkJYnJpZ2h0Y3lhbgljb250YWluZWQKK3N5biBrZXl3b3JkCWxzc1doaXRlQmcJCXdoaXRlCQljb250YWluZWQKK3N5biBjYXNlIG1hdGNoCisKK3N5biBtYXRjaCBsc3NDb21tZW50ICIjLiokIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sc3Nfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbHNzX3N5bnRheF9pbml0cyA9IDEKKyAgZW5kaWYKKworICBoaSBkZWYgbGluayBsc3NDb21tZW50IENvbW1lbnQKKyAgaGkgZGVmIGxpbmsgbHNzRWxlbWVudCBJZGVudGlmaWVyCisKKyAgaGkgZGVmIGxzc0JvbGQJCXRlcm09Ym9sZCBjdGVybT1ib2xkCisgIGhpIGRlZiBsc3NSZXZlcnNlCQl0ZXJtPXJldmVyc2UgY3Rlcm09cmV2ZXJzZQorICBoaSBkZWYgbHNzVW5kZXJsaW5lCQl0ZXJtPXVuZGVybGluZSBjdGVybT11bmRlcmxpbmUKKyAgaGkgZGVmIGxzc1N0YW5kb3V0CQl0ZXJtPXN0YW5kb3V0IGN0ZXJtPXN0YW5kb3V0CisKKyAgaGkgZGVmIGxzc1JlZEZnCQljdGVybWZnPXJlZAorICBoaSBkZWYgbHNzQmx1ZUZnCQljdGVybWZnPWJsdWUKKyAgaGkgZGVmIGxzc0dyZWVuRmcJCWN0ZXJtZmc9Z3JlZW4KKyAgaGkgZGVmIGxzc0Jyb3duRmcJCWN0ZXJtZmc9YnJvd24KKyAgaGkgZGVmIGxzc01hZ2VudGFGZwkJY3Rlcm1mZz1tYWdlbnRhCisgIGhpIGRlZiBsc3NDeWFuRmcJCWN0ZXJtZmc9Y3lhbgorICBoaSBkZWYgbHNzR3JheUZnCQljdGVybWZnPWdyYXkKKyAgaWYgJENPTE9SVEVSTSA9PSAicnh2dCIKKyAgICAiIE9uIHJ4dnQncywgYnJpZ2h0IGNvbG9ycyBhcmUgYWN0aXZhdGVkIGJ5IHNldHRpbmcgdGhlIGJvbGQgYXR0cmlidXRlLgorICAgIGhpIGRlZiBsc3NMaWdodGdyYXlGZwljdGVybWZnPWdyYXkgY3Rlcm09Ym9sZAorICAgIGhpIGRlZiBsc3NCcmlnaHRyZWRGZwljdGVybWZnPXJlZCBjdGVybT1ib2xkCisgICAgaGkgZGVmIGxzc0JyaWdodGdyZWVuRmcJY3Rlcm1mZz1ncmVlbiBjdGVybT1ib2xkCisgICAgaGkgZGVmIGxzc1llbGxvd0ZnCQljdGVybWZnPXllbGxvdyBjdGVybT1ib2xkCisgICAgaGkgZGVmIGxzc0JyaWdodGJsdWVGZwljdGVybWZnPWJsdWUgY3Rlcm09Ym9sZAorICAgIGhpIGRlZiBsc3NCcmlnaHRtYWdlbnRhRmcJY3Rlcm1mZz1tYWdlbnRhIGN0ZXJtPWJvbGQKKyAgICBoaSBkZWYgbHNzQnJpZ2h0Y3lhbkZnCWN0ZXJtZmc9Y3lhbiBjdGVybT1ib2xkCisgIGVsc2UKKyAgICBoaSBkZWYgbHNzTGlnaHRncmF5RmcJY3Rlcm1mZz1saWdodGdyYXkKKyAgICBoaSBkZWYgbHNzQnJpZ2h0cmVkRmcJY3Rlcm1mZz1saWdodHJlZAorICAgIGhpIGRlZiBsc3NCcmlnaHRncmVlbkZnCWN0ZXJtZmc9bGlnaHRncmVlbgorICAgIGhpIGRlZiBsc3NZZWxsb3dGZwkJY3Rlcm1mZz15ZWxsb3cKKyAgICBoaSBkZWYgbHNzQnJpZ2h0Ymx1ZUZnCWN0ZXJtZmc9bGlnaHRibHVlCisgICAgaGkgZGVmIGxzc0JyaWdodG1hZ2VudGFGZwljdGVybWZnPWxpZ2h0bWFnZW50YQorICAgIGhpIGRlZiBsc3NCcmlnaHRjeWFuRmcJY3Rlcm1mZz1saWdodGN5YW4KKyAgZW5kaWYKKworICBoaSBkZWYgbHNzUmVkQmcJCWN0ZXJtYmc9cmVkCisgIGhpIGRlZiBsc3NCbHVlQmcJCWN0ZXJtYmc9Ymx1ZQorICBoaSBkZWYgbHNzR3JlZW5CZwkJY3Rlcm1iZz1ncmVlbgorICBoaSBkZWYgbHNzQnJvd25CZwkJY3Rlcm1iZz1icm93bgorICBoaSBkZWYgbHNzTWFnZW50YUJnCQljdGVybWJnPW1hZ2VudGEKKyAgaGkgZGVmIGxzc0N5YW5CZwkJY3Rlcm1iZz1jeWFuCisgIGhpIGRlZiBsc3NMaWdodGdyYXlCZwkJY3Rlcm1iZz1saWdodGdyYXkKKyAgaGkgZGVmIGxzc0dyYXlCZwkJY3Rlcm1iZz1ncmF5CisgIGhpIGRlZiBsc3NCcmlnaHRyZWRCZwkJY3Rlcm1iZz1saWdodHJlZAorICBoaSBkZWYgbHNzQnJpZ2h0Z3JlZW5CZwljdGVybWJnPWxpZ2h0Z3JlZW4KKyAgaGkgZGVmIGxzc1llbGxvd0JnCQljdGVybWJnPXllbGxvdworICBoaSBkZWYgbHNzQnJpZ2h0Ymx1ZUJnCWN0ZXJtYmc9bGlnaHRibHVlCisgIGhpIGRlZiBsc3NCcmlnaHRtYWdlbnRhQmcJY3Rlcm1iZz1saWdodG1hZ2VudGEKKyAgaGkgZGVmIGxzc0JyaWdodGN5YW5CZwljdGVybWJnPWxpZ2h0Y3lhbgorICBoaSBkZWYgbHNzV2hpdGVCZwkJY3Rlcm1iZz13aGl0ZSBjdGVybWZnPWJsYWNrCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsc3MiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sdWEudmltIGIvcnVudGltZS9zeW50YXgvbHVhLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmNkYTYyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbHVhLnZpbQpAQCAtMCwwICsxLDI1NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUx1YSA0LjAgYW5kIEx1YSA1LjAKKyIgTWFpbnRhaW5lcjoJTWFyY3VzIEF1cmVsaXVzIEZhcmlhcyA8bWFyY3VzY2ZAdmFudC5jb20uYnI+CisiIEZpcnN0IEF1dGhvcjoJQ2FybG9zIEF1Z3VzdG8gVGVpeGVpcmEgTWVuZGVzIDxjbWVuZGVzQGluZi5wdWMtcmlvLmJyPgorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMDQKKyIgT3B0aW9uczoJbHVhX3ZlcnNpb24gPSA0IG9yIDUgW2RlZmF1bHRdCisiCisiIFN0aWxsIGhhcyBzb21lIHN5bmNpbmcgcHJvYmxlbXMgKGxvbmcgW1tzdHJpbmdzXV0pLi4uCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygibHVhX3ZlcnNpb24iKQorICBsZXQgbHVhX3ZlcnNpb24gPSA1CitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCisiIENvbW1lbnRzCitzeW4ga2V5d29yZCBsdWFUb2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFgKK3N5biBtYXRjaCAgIGx1YUNvbW1lbnQJCSItLS4qJCIgY29udGFpbnM9bHVhVG9kbworaWYgbHVhX3ZlcnNpb24gPiA0CisgIHN5biByZWdpb24gIGx1YUNvbW1lbnQJbWF0Y2hncm91cD1sdWFDb21tZW50IHN0YXJ0PSItLVxbXFsiIGVuZD0iXF1cXSIgY29udGFpbnM9bHVhVG9kbyxsdWFJbm5lckNvbW1lbnQKKyAgc3luIHJlZ2lvbiAgbHVhSW5uZXJDb21tZW50CWNvbnRhaW5lZCB0cmFuc3BhcmVudCBzdGFydD0iXFtcWyIgZW5kPSJcXVxdIgorZW5kaWYKKyIgRmlyc3QgbGluZSBtYXkgc3RhcnQgd2l0aCAjIQorc3luIG1hdGNoICAgbHVhQ29tbWVudAkJIlwlXiMhLioiCisKKyIgY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcyBhbmQgd3JvbmcgY3VybHkgYnJhY2tldHMgb3IKKyIga2V5d29yZHMgcGxhY2VkIG91dHNpZGUgdGhlaXIgcmVzcGVjdGl2ZSBibG9ja3MKKworc3luIHJlZ2lvbiAgbHVhUGFyZW4JCXRyYW5zcGFyZW50IHN0YXJ0PScoJyBlbmQ9JyknIGNvbnRhaW5zPUFMTEJVVCxsdWFFcnJvcixsdWFUb2RvLGx1YVNwZWNpYWwsbHVhQ29uZCxsdWFDb25kRWxzZWlmLGx1YUNvbmRFbmQsbHVhQ29uZFN0YXJ0LGx1YUJsb2NrLGx1YVJlcGVhdEJsb2NrLGx1YVJlcGVhdCxsdWFTdGF0ZW1lbnQKK3N5biBtYXRjaCAgIGx1YUVycm9yCQkiKSIKK3N5biBtYXRjaCAgIGx1YUVycm9yCQkifSIKK3N5biBtYXRjaCAgIGx1YUVycm9yCQkiXDxcKGVuZFx8ZWxzZVx8ZWxzZWlmXHx0aGVuXHx1bnRpbFx8aW5cKVw+IgorCisKKyIgRnVuY3Rpb24gZGVjbGFyYXRpb24KK3N5biByZWdpb24gIGx1YUZ1bmN0aW9uQmxvY2sgICAgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1sdWFGdW5jdGlvbiBzdGFydD0iXDxmdW5jdGlvblw+IiBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxsdWFUb2RvLGx1YVNwZWNpYWwsbHVhQ29uZCxsdWFDb25kRWxzZWlmLGx1YUNvbmRFbmQsbHVhUmVwZWF0CisKKyIgaWYgdGhlbiBlbHNlIGVsc2VpZiBlbmQKK3N5biBrZXl3b3JkIGx1YUNvbmQJCWNvbnRhaW5lZCBlbHNlCisKKyIgdGhlbiAuLi4gZW5kCitzeW4gcmVnaW9uICBsdWFDb25kRW5kCQljb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1sdWFDb25kIHN0YXJ0PSJcPHRoZW5cPiIgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsbHVhVG9kbyxsdWFTcGVjaWFsLGx1YVJlcGVhdAorCisiIGVsc2VpZiAuLi4gdGhlbgorc3luIHJlZ2lvbiAgbHVhQ29uZEVsc2VpZgljb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1sdWFDb25kIHN0YXJ0PSJcPGVsc2VpZlw+IiBlbmQ9Ilw8dGhlblw+IiBjb250YWlucz1BTExCVVQsbHVhVG9kbyxsdWFTcGVjaWFsLGx1YUNvbmQsbHVhQ29uZEVsc2VpZixsdWFDb25kRW5kLGx1YVJlcGVhdAorCisiIGlmIC4uLiB0aGVuCitzeW4gcmVnaW9uICBsdWFDb25kU3RhcnQJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1sdWFDb25kIHN0YXJ0PSJcPGlmXD4iIGVuZD0iXDx0aGVuXD4ibWU9ZS00IGNvbnRhaW5zPUFMTEJVVCxsdWFUb2RvLGx1YVNwZWNpYWwsbHVhQ29uZCxsdWFDb25kRWxzZWlmLGx1YUNvbmRFbmQsbHVhUmVwZWF0IG5leHRncm91cD1sdWFDb25kRW5kIHNraXB3aGl0ZSBza2lwZW1wdHkKKworIiBkbyAuLi4gZW5kCitzeW4gcmVnaW9uICBsdWFCbG9jawkJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1sdWFTdGF0ZW1lbnQgc3RhcnQ9Ilw8ZG9cPiIgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsbHVhVG9kbyxsdWFTcGVjaWFsLGx1YUNvbmQsbHVhQ29uZEVsc2VpZixsdWFDb25kRW5kLGx1YVJlcGVhdAorCisiIHJlcGVhdCAuLi4gdW50aWwKK3N5biByZWdpb24gIGx1YVJlcGVhdEJsb2NrCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9bHVhUmVwZWF0IHN0YXJ0PSJcPHJlcGVhdFw+IiBlbmQ9Ilw8dW50aWxcPiIgY29udGFpbnM9QUxMQlVULGx1YVRvZG8sbHVhU3BlY2lhbCxsdWFDb25kLGx1YUNvbmRFbHNlaWYsbHVhQ29uZEVuZCxsdWFSZXBlYXQKKworIiB3aGlsZSAuLi4gZG8KK3N5biByZWdpb24gIGx1YVJlcGVhdEJsb2NrCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9bHVhUmVwZWF0IHN0YXJ0PSJcPHdoaWxlXD4iIGVuZD0iXDxkb1w+Im1lPWUtMiBjb250YWlucz1BTExCVVQsbHVhVG9kbyxsdWFTcGVjaWFsLGx1YUNvbmQsbHVhQ29uZEVsc2VpZixsdWFDb25kRW5kLGx1YVJlcGVhdCBuZXh0Z3JvdXA9bHVhQmxvY2sgc2tpcHdoaXRlIHNraXBlbXB0eQorCisiIGZvciAuLi4gZG8gYW5kIGZvciAuLi4gaW4gLi4uIGRvCitzeW4gcmVnaW9uIGx1YVJlcGVhdEJsb2NrCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9bHVhUmVwZWF0IHN0YXJ0PSJcPGZvclw+IiBlbmQ9Ilw8ZG9cPiJtZT1lLTIgY29udGFpbnM9QUxMQlVULGx1YVRvZG8sbHVhU3BlY2lhbCxsdWFDb25kLGx1YUNvbmRFbHNlaWYsbHVhQ29uZEVuZCBuZXh0Z3JvdXA9bHVhQmxvY2sgc2tpcHdoaXRlIHNraXBlbXB0eQorCisiIEZvbGxvd2luZyAnZWxzZScgZXhhbXBsZS4gVGhpcyBpcyBhbm90aGVyIGl0ZW0gdG8gdGhvc2UKKyIgY29udGFpbnM9QUxMQlVULC4uLiBiZWNhdXNlIG9ubHkgdGhlICdmb3InIGx1YVJlcGVhdEJsb2NrIGNvbnRhaW5zIGl0Lgorc3luIGtleXdvcmQgbHVhUmVwZWF0CQljb250YWluZWQgaW4KKworIiBvdGhlciBrZXl3b3Jkcworc3luIGtleXdvcmQgbHVhU3RhdGVtZW50CXJldHVybiBsb2NhbCBicmVhaworc3luIGtleXdvcmQgbHVhT3BlcmF0b3IJCWFuZCBvciBub3QKK3N5biBrZXl3b3JkIGx1YUNvbnN0YW50CQluaWwKK2lmIGx1YV92ZXJzaW9uID4gNAorICBzeW4ga2V5d29yZCBsdWFDb25zdGFudAl0cnVlIGZhbHNlCitlbmRpZgorCisiIFByZSBwcm9jZXNzb3IgZG9lc24ndCBleGlzdCBzaW5jZSBMdWEgNC4wCisiIHN5biBtYXRjaCAgIGx1YVByZVByb2MJICAiXlxzKiRcKGRlYnVnXHxub2RlYnVnXHxpZlx8aWZub3RcfGVuZFx8ZWxzZVx8ZW5kaW5wdXRcKVw+IgorCisiIFN0cmluZ3MKK3N5biBtYXRjaCAgIGx1YVNwZWNpYWwJCWNvbnRhaW5lZCAiXFxbXFxhYmZucnR2XCdcIltcXV1cfFxcXGRceywzfSIKK3N5biByZWdpb24gIGx1YVN0cmluZwkJc3RhcnQ9KycrICBlbmQ9KycrIHNraXA9K1xcXFxcfFxcJysgY29udGFpbnM9bHVhU3BlY2lhbAorc3luIHJlZ2lvbiAgbHVhU3RyaW5nCQlzdGFydD0rIisgIGVuZD0rIisgc2tpcD0rXFxcXFx8XFwiKyBjb250YWlucz1sdWFTcGVjaWFsCisiIE5lc3RlZCBzdHJpbmdzCitzeW4gcmVnaW9uICBsdWFTdHJpbmcyCQltYXRjaGdyb3VwPWx1YVN0cmluZyBzdGFydD0rXFtcWysgZW5kPStcXVxdKyBjb250YWlucz1sdWFTdHJpbmcyCisKKyIgaW50ZWdlciBudW1iZXIKK3N5biBtYXRjaCBsdWFOdW1iZXIJCSJcPFswLTldXCtcPiIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCBsdWFGbG9hdAkJIlw8WzAtOV1cK1wuWzAtOV0qXChlWy0rXVw9WzAtOV1cK1wpXD1cPiIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoIGx1YUZsb2F0CQkiXC5bMC05XVwrXChlWy0rXVw9WzAtOV1cK1wpXD1cPiIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGRvdCwgd2l0aCBleHBvbmVudAorc3luIG1hdGNoIGx1YUZsb2F0CQkiXDxbMC05XVwrZVstK11cPVswLTldXCtcPiIKKworIiB0YWJsZXMKK3N5biByZWdpb24gIGx1YVRhYmxlQmxvY2sgICAgICAgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1sdWFUYWJsZSBzdGFydD0ieyIgZW5kPSJ9IiBjb250YWlucz1BTExCVVQsbHVhVG9kbyxsdWFTcGVjaWFsLGx1YUNvbmQsbHVhQ29uZEVsc2VpZixsdWFDb25kRW5kLGx1YUNvbmRTdGFydCxsdWFCbG9jayxsdWFSZXBlYXRCbG9jayxsdWFSZXBlYXQsbHVhU3RhdGVtZW50CisKK3N5biBrZXl3b3JkIGx1YUZ1bmMJYXNzZXJ0IGNvbGxlY3RnYXJiYWdlIGRvZmlsZSBlcnJvciBnY2luZm8gbmV4dAorc3luIGtleXdvcmQgbHVhRnVuYwlwcmludCByYXdnZXQgcmF3c2V0IHRvbnVtYmVyIHRvc3RyaW5nIHR5cGUgX1ZFUlNJT04KKworaWYgbHVhX3ZlcnNpb24gPT0gNAorICBzeW4ga2V5d29yZCBsdWFGdW5jCV9BTEVSVCBfRVJST1JNRVNTQUdFCisgIHN5biBrZXl3b3JkIGx1YUZ1bmMJY2FsbCBjb3B5dGFnbWV0aG9kcyBkb3N0cmluZworICBzeW4ga2V5d29yZCBsdWFGdW5jCWZvcmVhY2ggZm9yZWFjaGkgZ2V0Z2xvYmFsIGdldG4KKyAgc3luIGtleXdvcmQgbHVhRnVuYwlnZXR0YWdtZXRob2QgZ2xvYmFscyBuZXd0YWcKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlzZXRnbG9iYWwgc2V0dGFnIHNldHRhZ21ldGhvZCBzb3J0CisgIHN5biBrZXl3b3JkIGx1YUZ1bmMJdGFnIHRpbnNlcnQgdHJlbW92ZQorICBzeW4ga2V5d29yZCBsdWFGdW5jCV9JTlBVVCBfT1VUUFVUIF9TVERJTiBfU1RET1VUIF9TVERFUlIKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlvcGVuZmlsZSBjbG9zZWZpbGUgZmx1c2ggc2VlaworICBzeW4ga2V5d29yZCBsdWFGdW5jCXNldGxvY2FsZSBleGVjdXRlIHJlbW92ZSByZW5hbWUgdG1wbmFtZQorICBzeW4ga2V5d29yZCBsdWFGdW5jCWdldGVudiBkYXRlIGNsb2NrIGV4aXQKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlyZWFkZnJvbSB3cml0ZXRvIGFwcGVuZHRvIHJlYWQgd3JpdGUKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlQSSBhYnMgc2luIGNvcyB0YW4gYXNpbgorICBzeW4ga2V5d29yZCBsdWFGdW5jCWFjb3MgYXRhbiBhdGFuMiBjZWlsIGZsb29yCisgIHN5biBrZXl3b3JkIGx1YUZ1bmMJbW9kIGZyZXhwIGxkZXhwIHNxcnQgbWluIG1heCBsb2cKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlsb2cxMCBleHAgZGVnIHJhZCByYW5kb20KKyAgc3luIGtleXdvcmQgbHVhRnVuYwlyYW5kb21zZWVkIHN0cmxlbiBzdHJzdWIgc3RybG93ZXIgc3RydXBwZXIKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlzdHJjaGFyIHN0cnJlcCBhc2NpaSBzdHJieXRlCisgIHN5biBrZXl3b3JkIGx1YUZ1bmMJZm9ybWF0IHN0cmZpbmQgZ3N1YgorICBzeW4ga2V5d29yZCBsdWFGdW5jCWdldGluZm8gZ2V0bG9jYWwgc2V0bG9jYWwgc2V0Y2FsbGhvb2sgc2V0bGluZWhvb2sKK2Vsc2UKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlfRyBnZXRmZW52IGdldG1ldGF0YWJsZSBpcGFpcnMgbG9hZGZpbGUKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlsb2FkbGliIGxvYWRzdHJpbmcgcGFpcnMgcGNhbGwgcmF3ZXF1YWwKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlyZXF1aXJlIHNldGZlbnYgc2V0bWV0YXRhYmxlIHVucGFjayB4cGNhbGwKKyAgc3luIGtleXdvcmQgbHVhRnVuYwlMVUFfUEFUSCBfTE9BREVEIF9SRVFVSVJFRE5BTUUKKyIgTm90IHN1cmUgaWYgYWxsIHRoZXNlIGZ1bmN0aW9ucyBuZWVkIHRvIGJlIGhpZ2hsaWdodGVkLi4uCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2Nvcm91dGluZVwuY3JlYXRlLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9jb3JvdXRpbmVcLnJlc3VtZS8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvY29yb3V0aW5lXC5zdGF0dXMvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2Nvcm91dGluZVwud3JhcC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvY29yb3V0aW5lXC55aWVsZC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvc3RyaW5nXC5ieXRlLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9zdHJpbmdcLmNoYXIvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL3N0cmluZ1wuZHVtcC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvc3RyaW5nXC5maW5kLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9zdHJpbmdcLmxlbi8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvc3RyaW5nXC5sb3dlci8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvc3RyaW5nXC5yZXAvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL3N0cmluZ1wuc3ViLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9zdHJpbmdcLnVwcGVyLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9zdHJpbmdcLmZvcm1hdC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvc3RyaW5nXC5nZmluZC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvc3RyaW5nXC5nc3ViLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS90YWJsZVwuY29uY2F0LworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS90YWJsZVwuZm9yZWFjaC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvdGFibGVcLmZvcmVhY2hpLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS90YWJsZVwuZ2V0bi8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvdGFibGVcLnNvcnQvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL3RhYmxlXC5pbnNlcnQvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL3RhYmxlXC5yZW1vdmUvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL3RhYmxlXC5zZXRuLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9tYXRoXC5hYnMvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL21hdGhcLmFjb3MvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL21hdGhcLmFzaW4vCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL21hdGhcLmF0YW4vCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL21hdGhcLmF0YW4yLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9tYXRoXC5jZWlsLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9tYXRoXC5jb3MvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL21hdGhcLmRlZy8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwuZXhwLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9tYXRoXC5mbG9vci8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwubG9nLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9tYXRoXC5sb2cxMC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwubWF4LworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9tYXRoXC5taW4vCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL21hdGhcLm1vZC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwucG93LworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9tYXRoXC5yYWQvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL21hdGhcLnNpbi8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwuc3FydC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwudGFuLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9tYXRoXC5mcmV4cC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwubGRleHAvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL21hdGhcLnJhbmRvbS8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwucmFuZG9tc2VlZC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvbWF0aFwucGkvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2lvXC5zdGRpbi8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvaW9cLnN0ZG91dC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvaW9cLnN0ZGVyci8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvaW9cLmNsb3NlLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9pb1wuZmx1c2gvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2lvXC5pbnB1dC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvaW9cLmxpbmVzLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9pb1wub3Blbi8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvaW9cLm91dHB1dC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvaW9cLnBvcGVuLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9pb1wucmVhZC8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvaW9cLnRtcGZpbGUvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2lvXC50eXBlLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9pb1wud3JpdGUvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL29zXC5jbG9jay8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvb3NcLmRhdGUvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL29zXC5kaWZmdGltZS8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvb3NcLmV4ZWN1dGUvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL29zXC5leGl0LworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9vc1wuZ2V0ZW52LworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9vc1wucmVtb3ZlLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9vc1wucmVuYW1lLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9vc1wuc2V0bG9jYWxlLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9vc1wudGltZS8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvb3NcLnRtcG5hbWUvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2RlYnVnXC5kZWJ1Zy8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvZGVidWdcLmdldGhvb2svCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2RlYnVnXC5nZXRpbmZvLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9kZWJ1Z1wuZ2V0bG9jYWwvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2RlYnVnXC5nZXR1cHZhbHVlLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9kZWJ1Z1wuc2V0bG9jYWwvCisgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2RlYnVnXC5zZXR1cHZhbHVlLworICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9kZWJ1Z1wuc2V0aG9vay8KKyAgc3luIG1hdGNoICAgbHVhRnVuYwkvZGVidWdcLnRyYWNlYmFjay8KK2VuZGlmCisKKyJzeW5jaW5nIG1ldGhvZAorc3luIHN5bmMgbWlubGluZXM9MTAwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2x1YV9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9sdWFfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbHVhU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIGx1YVJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBsdWFTdHJpbmcJCVN0cmluZworICBIaUxpbmsgbHVhU3RyaW5nMgkJU3RyaW5nCisgIEhpTGluayBsdWFOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgbHVhRmxvYXQJCUZsb2F0CisgIEhpTGluayBsdWFPcGVyYXRvcgkJT3BlcmF0b3IKKyAgSGlMaW5rIGx1YUNvbnN0YW50CQlDb25zdGFudAorICBIaUxpbmsgbHVhQ29uZAkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGx1YUZ1bmN0aW9uCQlGdW5jdGlvbgorICBIaUxpbmsgbHVhQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbHVhVG9kbwkJVG9kbworICBIaUxpbmsgbHVhVGFibGUJCVN0cnVjdHVyZQorICBIaUxpbmsgbHVhRXJyb3IJCUVycm9yCisgIEhpTGluayBsdWFTcGVjaWFsCQlTcGVjaWFsQ2hhcgorICAiIEhpTGluayBsdWFQcmVQcm9jCQlQcmVQcm9jCisgIEhpTGluayBsdWFGdW5jCQlJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImx1YSIKKworIiB2aW06IG5vZXQgdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbHlueC52aW0gYi9ydW50aW1lL3N5bnRheC9seW54LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGVlMWVmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbHlueC52aW0KQEAgLTAsMCArMSw5OCBAQAorIiBMeW54IHN5bnRheCBmaWxlCisiIEZpbGVuYW1lOglseW54LnZpbQorIiBMYW5ndWFnZToJTHlueCBjb25maWd1cmF0aW9uIGZpbGUgKCBseW54LmNmZyApCisiIE1haW50YWluZXI6CURvdWcgS2Vhcm5zIDxkamtlYTJAbXVnY2EuaXRzLm1vbmFzaC5lZHUuYXU+CisiIFVSTDoJCWh0dHA6Ly9tdWdjYS5pdHMubW9uYXNoLmVkdS5hdS9+ZGprZWEyL3ZpbS9zeW50YXgvbHlueC52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgVE9ETzogbW9yZSBpbnRlbGxpZ2VudCBhbmQgY29tcGxldGUgYXJndW1lbnQgaGlnaGxpZ2h0aW5nCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIG1hdGNoICAgbHlueExlYWRpbmdXUyAgIl5ccyoiIHRyYW5zcGFyZW50IG5leHRncm91cD1seW54T3B0aW9uCisKK3N5biBtYXRjaCAgIGx5bnhDb21tZW50ICAgICJcKF5cfFxzXCtcKSMuKiQiIGNvbnRhaW5zPWx5bnhUb2RvCisKK3N5biBrZXl3b3JkIGx5bnhUb2RvICAgICAgIFRPRE8gTk9URSBGSVhNRSBYWFggY29udGFpbmVkCisKK3N5biBtYXRjaCAgIGx5bnhEZWxpbWl0ZXIgICI6IiBjb250YWluZWQgbmV4dGdyb3VwPWx5bnhCb29sZWFuLGx5bnhOdW1iZXIKKworc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZCBseW54Qm9vbGVhbiAgICBUUlVFIEZBTFNFIGNvbnRhaW5lZAorc3luIGNhc2UgbWF0Y2gKKworc3luIG1hdGNoICAgbHlueE51bWJlciAgICAgIi1cPVw8XGRcK1w+IiBjb250YWluZWQKKworc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZCBseW54T3B0aW9uIEFDQ0VQVF9BTExfQ09PS0lFUyBBTEVSVFNFQ1MgQUxXQVlTX1JFU1VCTUlUX1BPU1RTIEFMV0FZU19UUlVTVEVEX0VYRUMgQVNTVU1FX0NIQVJTRVQgQVNTVU1FRF9DT0xPUiAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIEFTU1VNRURfRE9DX0NIQVJTRVRfQ0hPSUNFIEFTU1VNRV9MT0NBTF9DSEFSU0VUIEFTU1VNRV9VTlJFQ19DSEFSU0VUIEFVVE9fVU5DQUNIRV9ESVJMSVNUUwkgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIEJJQlBfQklCSE9TVCBCSUJQX0dMT0JBTF9TRVJWRVIgQkxPQ0tfTVVMVElfQk9PS01BUktTIEJPTERfSDEgQk9MRF9IRUFERVJTIEJPTERfTkFNRV9BTkNIT1JTCSAgICBjb250YWluZWQgbmV4dGdyb3VwPWx5bnhEZWxpbWl0ZXIKK3N5biBrZXl3b3JkIGx5bnhPcHRpb24gQ0FTRV9TRU5TSVRJVkVfQUxXQVlTX09OIENIQVJBQ1RFUl9TRVQgQ0hBUlNFVFNfRElSRUNUT1JZIENIQVJTRVRfU1dJVENIX1JVTEVTIENIRUNLTUFJTAkJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBDT0xMQVBTRV9CUl9UQUdTIENPTE9SIENPTk5FQ1RfVElNRU9VVCBDT09LSUVfQUNDRVBUX0RPTUFJTlMgQ09PS0lFX0ZJTEUJCQkJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBDT09LSUVfTE9PU0VfSU5WQUxJRF9ET01BSU5TIENPT0tJRV9RVUVSWV9JTlZBTElEX0RPTUFJTlMgQ09PS0lFX1JFSkVDVF9ET01BSU5TIENPT0tJRV9TQVZFX0ZJTEUgICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBDT09LSUVfU1RSSUNUX0lOVkFMSURfRE9NQUlOUyBDU09fUFJPWFkgQ1NXSU5HX1BBVEggREVGQVVMVF9CT09LTUFSS19GSUxFIERFRkFVTFRfQ0FDSEVfU0laRQkgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIERFRkFVTFRfRURJVE9SIERFRkFVTFRfSU5ERVhfRklMRSBERUZBVUxUX0tFWVBBRF9NT0RFIERFRkFVTFRfS0VZUEFEX01PREVfSVNfTlVNQkVSU19BU19BUlJPV1MJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBERUZBVUxUX1VTRVJfTU9ERSBERUZBVUxUX1ZJUlRVQUxfTUVNT1JZX1NJWkUgRElSRURfTUVOVSBESVNQTEFZX0NIQVJTRVRfQ0hPSUNFIERPV05MT0FERVIJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBFTUFDU19LRVlTX0FMV0FZU19PTiBFTkFCTEVfTFlOWFJDIEVOQUJMRV9TQ1JPTExCQUNLIEVYVEVSTkFMIEZJTkdFUl9QUk9YWSBGT0NVU19XSU5ET1cJCSAgICBjb250YWluZWQgbmV4dGdyb3VwPWx5bnhEZWxpbWl0ZXIKK3N5biBrZXl3b3JkIGx5bnhPcHRpb24gRk9SQ0VfOEJJVF9UT1VQUEVSIEZPUkNFX0VNUFRZX0hSRUZMRVNTX0EgRk9SQ0VfU1NMX0NPT0tJRVNfU0VDVVJFIEZPUk1TX09QVElPTlMgRlRQX1BBU1NJVkUJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBGVFBfUFJPWFkgR0xPQkFMX0VYVEVOU0lPTl9NQVAgR0xPQkFMX01BSUxDQVAgR09QSEVSX1BST1hZIEdPVE9CVUZGRVIgSEVMUEZJTEUgSElEREVOX0xJTktfTUFSS0VSICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBISVNUT1JJQ0FMX0NPTU1FTlRTIEhUTUxTUkNfQVRUUk5BTUVfWEZPUk0gSFRNTFNSQ19UQUdOQU1FX1hGT1JNIEhUVFBfUFJPWFkgSFRUUFNfUFJPWFkgSU5DTFVERQkgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIElORk9TRUNTIEpVTVBCVUZGRVIgSlVNUEZJTEUgSlVNUF9QUk9NUFQgSlVTVElGWSBKVVNUSUZZX01BWF9WT0lEX1BFUkNFTlQgS0VZQk9BUkRfTEFZT1VUIEtFWU1BUCAgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIExFRlRBUlJPV19JTl9URVhURklFTERfUFJPTVBUIExJU1RfRk9STUFUIExJU1RfTkVXU19EQVRFUyBMSVNUX05FV1NfTlVNQkVSUyBMT0NBTF9ET01BSU4JCSAgICBjb250YWluZWQgbmV4dGdyb3VwPWx5bnhEZWxpbWl0ZXIKK3N5biBrZXl3b3JkIGx5bnhPcHRpb24gTE9DQUxfRVhFQ1VUSU9OX0xJTktTX0FMV0FZU19PTiBMT0NBTF9FWEVDVVRJT05fTElOS1NfT05fQlVUX05PVF9SRU1PVEUgTE9DQUxIT1NUX0FMSUFTCQkgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIExZTlhDR0lfRE9DVU1FTlRfUk9PVCBMWU5YQ0dJX0VOVklST05NRU5UIExZTlhfSE9TVF9OQU1FIExZTlhfU0lHX0ZJTEUgTUFJTF9BRFJTCQkJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBNQUlMX1NZU1RFTV9FUlJPUl9MT0dHSU5HIE1BS0VfTElOS1NfRk9SX0FMTF9JTUFHRVMgTUFLRV9QU0VVRE9fQUxUU19GT1JfSU5MSU5FUyBNRVNTQUdFU0VDUwkgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIE1JTklNQUxfQ09NTUVOVFMgTVVMVElfQk9PS01BUktfU1VQUE9SVCBOQ1JfSU5fQk9PS01BUktTIE5FV1NfQ0hVTktfU0laRSBORVdTX01BWF9DSFVOSwkJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBORVdTX1BPU1RJTkcgTkVXU1BPU1RfUFJPWFkgTkVXU19QUk9YWSBORVdTUkVQTFlfUFJPWFkgTk5UUF9QUk9YWSBOTlRQU0VSVkVSIE5PX0RPVF9GSUxFUwkgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIE5PX0ZJTEVfUkVGRVJFUiBOT19GT1JDRURfQ09SRV9EVU1QIE5PX0ZST01fSEVBREVSIE5PX0lTTUFQX0lGX1VTRU1BUCBOT05SRVNUQVJUSU5HX1NJR1dJTkNICSAgICBjb250YWluZWQgbmV4dGdyb3VwPWx5bnhEZWxpbWl0ZXIKK3N5biBrZXl3b3JkIGx5bnhPcHRpb24gTk9fUFJPWFkgTk9fUkVGRVJFUl9IRUFERVIgTk9fVEFCTEVfQ0VOVEVSIE9VVEdPSU5HX01BSUxfQ0hBUlNFVCBQQVJUSUFMIFBBUlRJQUxfVEhSRVMJCSAgICBjb250YWluZWQgbmV4dGdyb3VwPWx5bnhEZWxpbWl0ZXIKK3N5biBrZXl3b3JkIGx5bnhPcHRpb24gUEVSU0lTVEVOVF9DT09LSUVTIFBFUlNPTkFMX0VYVEVOU0lPTl9NQVAgUEVSU09OQUxfTUFJTENBUCBQUkVGRVJSRURfQ0hBUlNFVCBQUkVGRVJSRURfTEFOR1VBR0UJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBQUkVQRU5EX0JBU0VfVE9fU09VUkNFIFBSRVBFTkRfQ0hBUlNFVF9UT19TT1VSQ0UgUFJFVFRZU1JDIFBSRVRUWVNSQ19TUEVDCQkJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBQUkVUVFlTUkNfVklFV19OT19BTkNIT1JfTlVNQkVSSU5HIFBSSU5URVIgUVVJVF9ERUZBVUxUX1lFUyBSRUZFUkVSX1dJVEhfUVVFUlkgUkVVU0VfVEVNUEZJTEVTCSAgICBjb250YWluZWQgbmV4dGdyb3VwPWx5bnhEZWxpbWl0ZXIKK3N5biBrZXl3b3JkIGx5bnhPcHRpb24gUlVMRSBSVUxFU0ZJTEUgU0FWRV9TUEFDRSBTQ0FOX0ZPUl9CVVJJRURfTkVXU19SRUZTIFNDUk9MTEJBUiBTQ1JPTExCQVJfQVJST1cgU0VFS19GUkFHX0FSRUFfSU5fQ1VSICBjb250YWluZWQgbmV4dGdyb3VwPWx5bnhEZWxpbWl0ZXIKK3N5biBrZXl3b3JkIGx5bnhPcHRpb24gU0VFS19GUkFHX01BUF9JTl9DVVIgU0VUX0NPT0tJRVMgU0hPV19DVVJTT1IgU0hPV19LQl9SQVRFIFNORVdTUE9TVF9QUk9YWSBTTkVXU19QUk9YWQkJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBTTkVXU1JFUExZX1BST1hZIFNPRlRfRFFVT1RFUyBTT1VSQ0VfQ0FDSEUgU09VUkNFX0NBQ0hFX0ZPUl9BQk9SVEVEIFNUQVJURklMRSBTVFJJUF9ET1RET1RfVVJMUwkgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4ga2V5d29yZCBseW54T3B0aW9uIFNVQlNUSVRVVEVfVU5ERVJTQ09SRVMgU1VGRklYIFNVRkZJWF9PUkRFUiBTWVNURU1fRURJVE9SIFNZU1RFTV9NQUlMIFNZU1RFTV9NQUlMX0ZMQUdTIFRBR1NPVVAJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBURVhURklFTERTX05FRURfQUNUSVZBVElPTiBUSU1FT1VUIFRSSU1fSU5QVVRfRklFTERTIFRSVVNURURfRVhFQyBUUlVTVEVEX0xZTlhDR0kgVVBMT0FERVIJICAgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBVUkxfRE9NQUlOX1BSRUZJWEVTIFVSTF9ET01BSU5fU1VGRklYRVMgVVNFX0ZJWEVEX1JFQ09SRFMgVVNFX01PVVNFIFVTRV9TRUxFQ1RfUE9QVVBTIFZFUkJPU0VfSU1BR0VTIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bHlueERlbGltaXRlcgorc3luIGtleXdvcmQgbHlueE9wdGlvbiBWSUVXRVIgVklfS0VZU19BTFdBWVNfT04gV0FJU19QUk9YWSBYTE9BRElNQUdFX0NPTU1BTkQJCQkJCQkgICAgY29udGFpbmVkIG5leHRncm91cD1seW54RGVsaW1pdGVyCitzeW4gY2FzZSBtYXRjaAorCisiIE5PVEU6IHNldCB0aGlzIGlmIHlvdSB3YW50IHRoZSBjZmcyaHRtbC5wbCBmb3JtYXR0aW5nIGRpcmVjdGl2ZXMgdG8gYmUgaGlnaGxpZ2h0ZWQKK2lmIGV4aXN0cygibHlueF9mb3JtYXR0aW5nX2RpcmVjdGl2ZXMiKQorICBzeW4gbWF0Y2ggbHlueEZvcm1hdERpciAgIl5cLlwoaDFcfGgyXClccy4qJCIKKyAgc3luIG1hdGNoIGx5bnhGb3JtYXREaXIgICJeXC5cKGV4XHxuZlwpXChcc1wrXGRcK1wpXD0kIgorICBzeW4gbWF0Y2ggbHlueEZvcm1hdERpciAgIl5cLmZpJCIKK2VuZGlmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2x5bnhfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbHlueF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBseW54Qm9vbGVhbiAgICBCb29sZWFuCisgIEhpTGluayBseW54Q29tbWVudCAgICBDb21tZW50CisgIEhpTGluayBseW54RGVsaW1pdGVyICBTcGVjaWFsCisgIEhpTGluayBseW54Rm9ybWF0RGlyICBTcGVjaWFsCisgIEhpTGluayBseW54TnVtYmVyICAgICBOdW1iZXIKKyAgSGlMaW5rIGx5bnhPcHRpb24gICAgIElkZW50aWZpZXIKKyAgSGlMaW5rIGx5bnhUb2RvICAgICAgIFRvZG8KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibHlueCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L200LnZpbSBiL3J1bnRpbWUvc3ludGF4L200LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjYwYThmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbTQudmltCkBAIC0wLDAgKzEsNzMgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkJTTQKKyIgTWFpbnRhaW5lcjoJQ2xhdWRpbyBGbGVpbmVyCisiIFVSTDoJCQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvbTQudmltCisiIExhc3QgQ2hhbmdlOgkyMDAxIEFwciAyNgorCisiIFRoaXMgZmlsZSB3aWxsIGhpZ2hsaWdodCB1c2VyIGZ1bmN0aW9uIGNhbGxzIGlmIHRoZXkgdXNlIG9ubHkKKyIgY2FwaXRhbCBsZXR0ZXJzIGFuZCBoYXZlIGF0IGxlYXN0IG9uZSBhcmd1bWVudCAoaS5lLiB0aGUgJygnCisiIG11c3QgYmUgdGhlcmUpLiBMZXQgbWUga25vdyBpZiB0aGlzIGlzIGEgcHJvYmxlbS4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgaWYgdmVyc2lvbiA8IDYwMAorICAgIHN5bnRheCBjbGVhcgorICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorIiB3ZSBkZWZpbmUgaXQgaGVyZSBzbyB0aGF0IGluY2x1ZGVkIGZpbGVzIGNhbiB0ZXN0IGZvciBpdAorICBsZXQgbWFpbl9zeW50YXg9J200JworZW5kaWYKKworIiBkZWZpbmUgdGhlIG00IHN5bnRheAorc3luIG1hdGNoICBtNFZhcmlhYmxlIGNvbnRhaW5lZCAiXCRcZFwrIgorc3luIG1hdGNoICBtNFNwZWNpYWwgIGNvbnRhaW5lZCAiJFtAKiNdIgorc3luIG1hdGNoICBtNENvbW1lbnQgICJkbmxcPi4qIiBjb250YWlucz1TcGVsbEVycm9ycworc3luIG1hdGNoICBtNENvbnN0YW50cyAiXChcPG00X1wpXD1fX2ZpbGVfXyIKK3N5biBtYXRjaCAgbTRDb25zdGFudHMgIlwoXDxtNF9cKVw9X19saW5lX18iCitzeW4ga2V5d29yZCBtNENvbnN0YW50cyBkaXZudW0gc3lzdmFsIG00X2Rpdm51bSBtNF9zeXN2YWwKK3N5biByZWdpb24gbTRQYXJlbiAgICBtYXRjaGdyb3VwPW00RGVsaW1pdGVyIHN0YXJ0PSIoIiBlbmQ9IikiIGNvbnRhaW5lZCBjb250YWlucz1AbTRUb3AKK3N5biByZWdpb24gbTRDb21tYW5kICBtYXRjaGdyb3VwPW00RnVuY3Rpb24gIHN0YXJ0PSJcPFwobTRfXClcPVwoZGVmaW5lXHxkZWZuXHxwdXNoZGVmXCkoIiBlbmQ9IikiIGNvbnRhaW5zPUBtNFRvcAorc3luIHJlZ2lvbiBtNENvbW1hbmQgIG1hdGNoZ3JvdXA9bTRQcmVwcm9jICAgc3RhcnQ9Ilw8XChtNF9cKVw9XChpbmNsdWRlXHxzaW5jbHVkZVwpKCJoZT1lLTEgZW5kPSIpIiBjb250YWlucz1AbTRUb3AKK3N5biByZWdpb24gbTRDb21tYW5kICBtYXRjaGdyb3VwPW00U3RhdGVtZW50IHN0YXJ0PSJcPFwobTRfXClcPVwoc3lzY21kXHxlc3lzY21kXHxpZmRlZlx8aWZlbHNlXHxpbmRpclx8YnVpbHRpblx8c2hpZnRcfGVycnByaW50XHxtNGV4aXRcfGNoYW5nZWNvbVx8Y2hhbmdlcXVvdGVcfGNoYW5nZXdvcmRcfG00d3JhcFx8ZGVidWdmaWxlXHxkaXZlcnRcfHVuZGl2ZXJ0XCkoImhlPWUtMSBlbmQ9IikiIGNvbnRhaW5zPUBtNFRvcAorc3luIHJlZ2lvbiBtNENvbW1hbmQgIG1hdGNoZ3JvdXA9bTRidWlsdGluIHN0YXJ0PSJcPFwobTRfXClcPVwobGVuXHxpbmRleFx8cmVnZXhwXHxzdWJzdHJcfHRyYW5zbGl0XHxwYXRzdWJzdFx8Zm9ybWF0XHxpbmNyXHxkZWNyXHxldmFsXHxtYWtldGVtcFwpKCJoZT1lLTEgZW5kPSIpIiBjb250YWlucz1AbTRUb3AKK3N5biBrZXl3b3JkIG00U3RhdGVtZW50IGRpdmVydCB1bmRpdmVydAorc3luIHJlZ2lvbiBtNENvbW1hbmQgIG1hdGNoZ3JvdXA9bTRUeXBlICAgICAgc3RhcnQ9Ilw8XChtNF9cKVw9XCh1bmRlZmluZVx8cG9wZGVmXCkoImhlPWUtMSBlbmQ9IikiIGNvbnRhaW5zPUBtNFRvcAorc3luIHJlZ2lvbiBtNEZ1bmN0aW9uIG1hdGNoZ3JvdXA9bTRUeXBlICAgICAgc3RhcnQ9Ilw8W19BLVpdW19BLVowLTldKigiaGU9ZS0xIGVuZD0iKSIgY29udGFpbnM9QG00VG9wCitzeW4gcmVnaW9uIG00U3RyaW5nICAgc3RhcnQ9ImAiIGVuZD0iJyIgY29udGFpbmVkIGNvbnRhaW5zPUBtNFRvcCxAbTRTdHJpbmdDb250ZW50cyxTcGVsbEVycm9ycworc3luIGNsdXN0ZXIgbTRUb3AgICAgIGNvbnRhaW5zPW00Q29tbWVudCxtNENvbnN0YW50cyxtNFNwZWNpYWwsbTRWYXJpYWJsZSxtNFN0cmluZyxtNFBhcmVuLG00Q29tbWFuZCxtNFN0YXRlbWVudCxtNEZ1bmN0aW9uCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX200X3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX200X3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisgIEhpTGluayBtNERlbGltaXRlciBEZWxpbWl0ZXIKKyAgSGlMaW5rIG00Q29tbWVudCAgIENvbW1lbnQKKyAgSGlMaW5rIG00RnVuY3Rpb24gIEZ1bmN0aW9uCisgIEhpTGluayBtNEtleXdvcmQgICBLZXl3b3JkCisgIEhpTGluayBtNFNwZWNpYWwgICBTcGVjaWFsCisgIEhpTGluayBtNFN0cmluZyAgICBTdHJpbmcKKyAgSGlMaW5rIG00U3RhdGVtZW50IFN0YXRlbWVudAorICBIaUxpbmsgbTRQcmVwcm9jICAgUHJlUHJvYworICBIaUxpbmsgbTRUeXBlICAgICAgVHlwZQorICBIaUxpbmsgbTRTcGVjaWFsICAgU3BlY2lhbAorICBIaUxpbmsgbTRWYXJpYWJsZSAgU3BlY2lhbAorICBIaUxpbmsgbTRDb25zdGFudHMgQ29uc3RhbnQKKyAgSGlMaW5rIG00QnVpbHRpbiAgIFN0YXRlbWVudAorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibTQiCisKK2lmIG1haW5fc3ludGF4ID09ICdtNCcKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz00CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tYWlsLnZpbSBiL3J1bnRpbWUvc3ludGF4L21haWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmYzBhZmIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tYWlsLnZpbQpAQCAtMCwwICsxLDkyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJCU1haWwgZmlsZQorIiBQcmV2aW91cyBNYWludGFpbmVyOglGZWxpeCB2b24gTGVpdG5lciA8bGVpdG5lckBtYXRoLmZ1LWJlcmxpbi5kZT4KKyIgTWFpbnRhaW5lcjoJCUdhdXRhbSBJeWVyIDxnYXV0YW1AbWF0aC51Y2hpY2Fnby5lZHU+CisiIExhc3QgQ2hhbmdlOgkJTW9uIDIzIEZlYiAyMDA0IDAyOjI2OjE2IFBNIENTVAorCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFRoZSBtYWlsIGhlYWRlciBpcyByZWNvZ25pemVkIHN0YXJ0aW5nIHdpdGggYSAia2V5d29yZDoiIGxpbmUgYW5kIGVuZGluZworIiB3aXRoIGFuIGVtcHR5IGxpbmUgb3Igb3RoZXIgbGluZSB0aGF0IGNhbid0IGJlIGluIHRoZSBoZWFkZXIuIEFsbCBsaW5lcyBvZgorIiB0aGUgaGVhZGVyIGFyZSBoaWdobGlnaHRlZC4gSGVhZGVycyBvZiBxdW90ZWQgbWVzc2FnZXMgKHF1b3RlZCB3aXRoID4pIGFyZQorIiBhbHNvIGhpZ2hsaWdodGVkLgorCisiIFN5bnRheCBjbHVzdGVycworc3luIGNsdXN0ZXIgbWFpbEhlYWRlckZpZWxkcwljb250YWlucz1tYWlsSGVhZGVyS2V5LG1haWxTdWJqZWN0LG1haWxIZWFkZXJFbWFpbCxAbWFpbExpbmtzCitzeW4gY2x1c3RlciBtYWlsTGlua3MJCWNvbnRhaW5zPW1haWxVUkwsbWFpbEVtYWlsCitzeW4gY2x1c3RlciBtYWlsUXVvdGVFeHBzCWNvbnRhaW5zPW1haWxRdW90ZUV4cDEsbWFpbFF1b3RlRXhwMixtYWlsUXVvdGVFeHAzLG1haWxRdW90ZUV4cDQsbWFpbFF1b3RlRXhwNSxtYWlsUXVvdGVFeHA2CisKK3N5biBjYXNlIG1hdGNoCisiIEZvciAiRnJvbSAiIG1hdGNoaW5nIGNhc2UgaXMgcmVxdWlyZWQuIFRoZSAiRnJvbSAiIGlzIG5vdCBtYXRjaGVkIGluIHF1b3RlZAorIiBlbWFpbHMKK3N5biByZWdpb24JbWFpbEhlYWRlcgljb250YWlucz1AbWFpbEhlYWRlckZpZWxkcyBzdGFydD0iXkZyb20gIiBza2lwPSJeXHMiIGVuZD0iXHZeWy1BLVphLXowLTldKihbXi1BLVphLXowLTk6XXwkKSJtZT1zLTEKK3N5biBtYXRjaAltYWlsSGVhZGVyS2V5CWNvbnRhaW5lZCBjb250YWlucz1tYWlsRW1haWwgIl5Gcm9tXHMuKiQiCisKK3N5biBjYXNlIGlnbm9yZQorIiBOb3RoaW5nIGVsc2UgZGVwZW5kcyBvbiBjYXNlLiBIZWFkZXJzIGluIHByb3Blcmx5IHF1b3RlZCAod2l0aCAiPiAiIG9yICI+IikKKyIgZW1haWxzIGFyZSBtYXRjaGVkCitzeW4gcmVnaW9uCW1haWxIZWFkZXIJa2VlcGVuZCBjb250YWlucz1AbWFpbEhlYWRlckZpZWxkcyxAbWFpbFF1b3RlRXhwcyBzdGFydD0iXlx6KFwoPiBcP1wpKlwpXHYobmV3c2dyb3Vwc3xmcm9tfCgoaW4tKT9yZXBseS0pP3RvfGI/Y2N8c3ViamVjdHxyZXR1cm4tcGF0aHxyZWNlaXZlZHxkYXRlfHJlcGxpZWQpOiIgc2tpcD0iXlx6MVxzIiBlbmQ9Ilx2Xlx6MVstYS16MC05XSooW14tYS16MC05Ol18JCkibWU9cy0xIGVuZD0iXHZeXHoxQCEibWU9cy0xIGVuZD0iXHZeXHoxKFw+ID8pKyJtZT1zLTEKKworc3luIHJlZ2lvbgltYWlsSGVhZGVyS2V5CWNvbnRhaW5lZCBjb250YWlucz1tYWlsSGVhZGVyRW1haWwsbWFpbEVtYWlsLEBtYWlsUXVvdGVFeHBzIHN0YXJ0PSJcdiheKFw+ID8pKilAPD0odG98Yj9jYyk6IiBza2lwPSIsJCIgZW5kPSIkIgorc3luIG1hdGNoCW1haWxIZWFkZXJLZXkJY29udGFpbmVkIGNvbnRhaW5zPW1haWxIZWFkZXJFbWFpbCxtYWlsRW1haWwgIlx2KF4oXD4gPykqKUA8PShmcm9tfHJlcGx5LXRvKTouKiQiCitzeW4gbWF0Y2gJbWFpbEhlYWRlcktleQljb250YWluZWQgIlx2KF4oXD4gPykqKUA8PWRhdGU6Igorc3luIG1hdGNoCW1haWxTdWJqZWN0CWNvbnRhaW5lZCAiXHYoXihcPiA/KSopQDw9c3ViamVjdDouKiQiIGNvbnRhaW5zPUBTcGVsbAorCisiIEFueXRoaW5nIGluIHRoZSBoZWFkZXIgYmV0d2VlbiA8IGFuZCA+IGlzIGFuIGVtYWlsIGFkZHJlc3MKK3N5biBtYXRjaAltYWlsSGVhZGVyRW1haWwJY29udGFpbmVkICI8Llx7LX0+IgorCisiIE1haWwgU2lnbmF0dXJlcy4gKEJlZ2luIHdpdGggIi0tIiwgZW5kIHdpdGggY2hhbmdlIGluIHF1b3RlIGxldmVsKQorc3luIHJlZ2lvbgltYWlsU2lnbmF0dXJlCWtlZXBlbmQgY29udGFpbnM9QG1haWxMaW5rcyxAbWFpbFF1b3RlRXhwcyBzdGFydD0iXlx6KFwoPiBcP1wpKlwpLS0gKiQiIGVuZD0iXlx6MSQiIGVuZD0iXlx6MVxAISJtZT1zLTEgZW5kPSJeXHoxXCg+IFw/XClcKyJtZT1zLTEKKworIiBVUkxzIHN0YXJ0IHdpdGggYSBrbm93biBwcm90b2NvbCBvciB3d3csd2ViLHczLgorc3luIG1hdGNoIG1haWxVUkwgYFx2PCgoKGh0dHBzP3xmdHB8Z29waGVyKTovL3wobWFpbHRvfGZpbGV8bmV3cyk6KVteJyAJPD4iXSt8KHd3d3x3ZWJ8dzMpW2EtejAtOV8tXSpcLlthLXowLTkuXy1dK1wuW14nIAk8PiJdKylbYS16MC05L11gCitzeW4gbWF0Y2ggbWFpbEVtYWlsICJcdltfPWEtelwuLyswLTktXStcQFthLXowLTkuXy1dK1xhezJ9IgorCisiIE1ha2Ugc3VyZSBxdW90ZSBtYXJrZXJzIGluIHJlZ2lvbnMgKGhlYWRlciAvIHNpZ25hdHVyZSkgaGF2ZSBjb3JyZWN0IGNvbG9yCitzeW4gbWF0Y2ggbWFpbFF1b3RlRXhwMQljb250YWluZWQgIlx2XihcPiA/KSIKK3N5biBtYXRjaCBtYWlsUXVvdGVFeHAyCWNvbnRhaW5lZCAiXHZeKFw+ID8pezJ9Igorc3luIG1hdGNoIG1haWxRdW90ZUV4cDMJY29udGFpbmVkICJcdl4oXD4gPyl7M30iCitzeW4gbWF0Y2ggbWFpbFF1b3RlRXhwNAljb250YWluZWQgIlx2XihcPiA/KXs0fSIKK3N5biBtYXRjaCBtYWlsUXVvdGVFeHA1CWNvbnRhaW5lZCAiXHZeKFw+ID8pezV9Igorc3luIG1hdGNoIG1haWxRdW90ZUV4cDYJY29udGFpbmVkICJcdl4oXD4gPyl7Nn0iCisKKyIgRXZlbiBhbmQgb2RkIHF1b3RlZCBsaW5lcy4gb3JkZXIgaXMgaW1wb3JhbnQgaGVyZSEKK3N5biBtYXRjaCBtYWlsUXVvdGVkMQljb250YWlucz1tYWlsSGVhZGVyLEBtYWlsTGlua3MsbWFpbFNpZ25hdHVyZSAiXlwoW2Etel1cKz5cfFtdfH0+XVwpLiokIgorc3luIG1hdGNoIG1haWxRdW90ZWQyCWNvbnRhaW5zPW1haWxIZWFkZXIsQG1haWxMaW5rcyxtYWlsU2lnbmF0dXJlICJeXChcKFthLXpdXCs+XHxbXXx9Pl1cKVsgXHRdKlwpXHsyfS4qJCIKK3N5biBtYXRjaCBtYWlsUXVvdGVkMwljb250YWlucz1tYWlsSGVhZGVyLEBtYWlsTGlua3MsbWFpbFNpZ25hdHVyZSAiXlwoXChbYS16XVwrPlx8W118fT5dXClbIFx0XSpcKVx7M30uKiQiCitzeW4gbWF0Y2ggbWFpbFF1b3RlZDQJY29udGFpbnM9bWFpbEhlYWRlcixAbWFpbExpbmtzLG1haWxTaWduYXR1cmUgIl5cKFwoW2Etel1cKz5cfFtdfH0+XVwpWyBcdF0qXClcezR9LiokIgorc3luIG1hdGNoIG1haWxRdW90ZWQ1CWNvbnRhaW5zPW1haWxIZWFkZXIsQG1haWxMaW5rcyxtYWlsU2lnbmF0dXJlICJeXChcKFthLXpdXCs+XHxbXXx9Pl1cKVsgXHRdKlwpXHs1fS4qJCIKK3N5biBtYXRjaCBtYWlsUXVvdGVkNgljb250YWlucz1tYWlsSGVhZGVyLEBtYWlsTGlua3MsbWFpbFNpZ25hdHVyZSAiXlwoXChbYS16XVwrPlx8W118fT5dXClbIFx0XSpcKVx7Nn0uKiQiCisKKyIgTmVlZCB0byBzeW5jIG9uIHRoZSBoZWFkZXIuIEFzc3VtZSB3ZSBjYW4gZG8gdGhhdCB3aXRoaW4gMTAwIGxpbmVzCitpZiBleGlzdHMoIm1haWxfbWlubGluZXMiKQorICAgIGV4ZWMgInN5biBzeW5jIG1pbmxpbmVzPSIgLiBtYWlsX21pbmxpbmVzCitlbHNlCisgICAgc3luIHN5bmMgbWlubGluZXM9MTAwCitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCitoaSBkZWYgbGluayBtYWlsSGVhZGVyCQlTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIG1haWxIZWFkZXJLZXkJVHlwZQoraGkgZGVmIGxpbmsgbWFpbFNpZ25hdHVyZQlQcmVQcm9jCitoaSBkZWYgbGluayBtYWlsSGVhZGVyRW1haWwJbWFpbEVtYWlsCitoaSBkZWYgbGluayBtYWlsRW1haWwJCVNwZWNpYWwKK2hpIGRlZiBsaW5rIG1haWxVUkwJCVN0cmluZworaGkgZGVmIGxpbmsgbWFpbFN1YmplY3QJCUxpbmVOUgoraGkgZGVmIGxpbmsgbWFpbFF1b3RlZDEJCUNvbW1lbnQKK2hpIGRlZiBsaW5rIG1haWxRdW90ZWQzCQltYWlsUXVvdGVkMQoraGkgZGVmIGxpbmsgbWFpbFF1b3RlZDUJCW1haWxRdW90ZWQxCitoaSBkZWYgbGluayBtYWlsUXVvdGVkMgkJSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgbWFpbFF1b3RlZDQJCW1haWxRdW90ZWQyCitoaSBkZWYgbGluayBtYWlsUXVvdGVkNgkJbWFpbFF1b3RlZDIKK2hpIGRlZiBsaW5rIG1haWxRdW90ZUV4cDEJbWFpbFF1b3RlZDEKK2hpIGRlZiBsaW5rIG1haWxRdW90ZUV4cDIJbWFpbFF1b3RlZDIKK2hpIGRlZiBsaW5rIG1haWxRdW90ZUV4cDMJbWFpbFF1b3RlZDMKK2hpIGRlZiBsaW5rIG1haWxRdW90ZUV4cDQJbWFpbFF1b3RlZDQKK2hpIGRlZiBsaW5rIG1haWxRdW90ZUV4cDUJbWFpbFF1b3RlZDUKK2hpIGRlZiBsaW5rIG1haWxRdW90ZUV4cDYJbWFpbFF1b3RlZDYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibWFpbCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21haWxjYXAudmltIGIvcnVudGltZS9zeW50YXgvbWFpbGNhcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQ2MjcwNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21haWxjYXAudmltCkBAIC0wLDAgKzEsNTQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNYWlsY2FwIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOglEb3VnIEtlYXJucworIiBMYXN0IENoYW5nZToJMjAwMiBOb3ZlbWJlciAyNAorIiBVUkw6CQlodHRwOi8vbXVnY2EuaXRzLm1vbmFzaC5lZHUuYXUvfmRqa2VhMi92aW0vc3ludGF4L21haWxjYXAudmltCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIG1hdGNoICBtYWlsY2FwQ29tbWVudAkiXiMuKiIKKworc3luIHJlZ2lvbiBtYWlsY2FwU3RyaW5nCXN0YXJ0PSsiKyBlbmQ9KyIrIGNvbnRhaW5zPW1haWxjYXBTcGVjaWFsIG9uZWxpbmUKKworc3luIG1hdGNoICBtYWlsY2FwRGVsaW1pdGVyCSJcXFxAPCE7IgorCitzeW4gbWF0Y2ggIG1haWxjYXBTcGVjaWFsCSJcXFxAPCElW25zdEZdIgorc3luIG1hdGNoICBtYWlsY2FwU3BlY2lhbAkiXFxcQDwhJXtbXn1dKn0iCisKK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoICBtYWlsY2FwRmxhZwkJIlwoPVxzKlwpXEA8IVw8XChuZWVkc3Rlcm1pbmFsXHxjb3Bpb3Vzb3V0cHV0XHx4LVx3XCtcKVw+Igorc3luIG1hdGNoICBtYWlsY2FwRmllbGRuYW1lCSJcPFwoY29tcG9zZVx8Y29tcG9zZXR5cGVkXHxwcmludFx8ZWRpdFx8dGVzdFx8eDExLWJpdG1hcFx8bmFtZXRlbXBsYXRlXHx0ZXh0dWFsbmV3bGluZXNcfGRlc2NyaXB0aW9uXHx4LVx3K1wpXD5cemVccyo9Igorc3luIG1hdGNoICBtYWlsY2FwVHlwZUZpZWxkCSJeXCh0ZXh0XHxpbWFnZVx8YXVkaW9cfHZpZGVvXHxhcHBsaWNhdGlvblx8bWVzc2FnZVx8bXVsdGlwYXJ0XHxtb2RlbFx8eC1bWzpncmFwaDpdXVwrXClcKC9cKFwqXHxbWzpncmFwaDpdXVwrXClcKVw9XHplXHMqOyIKK3N5biBjYXNlIG1hdGNoCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21haWxjYXBfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbWFpbGNhcF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBtYWlsY2FwQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbWFpbGNhcERlbGltaXRlcglEZWxpbWl0ZXIKKyAgSGlMaW5rIG1haWxjYXBGbGFnCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1haWxjYXBGaWVsZG5hbWUJU3RhdGVtZW50CisgIEhpTGluayBtYWlsY2FwU3BlY2lhbAkJSWRlbnRpZmllcgorICBIaUxpbmsgbWFpbGNhcFR5cGVGaWVsZAlUeXBlCisgIEhpTGluayBtYWlsY2FwU3RyaW5nCQlTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibWFpbGNhcCIKKworIiB2aW06IHRhYnN0b3A9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWFrZS52aW0gYi9ydW50aW1lL3N5bnRheC9tYWtlLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWRhOTgwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbWFrZS52aW0KQEAgLTAsMCArMSwxMzcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNYWtlZmlsZQorIiBNYWludGFpbmVyOglDbGF1ZGlvIEZsZWluZXIgPGNsYXVkaW9AZmxlaW5lci5jb20+CisiIFVSTDoJCWh0dHA6Ly93d3cuZmxlaW5lci5jb20vdmltL3N5bnRheC9tYWtlLnZpbQorIiBMYXN0IENoYW5nZToJMjAwNCBBcHIgMzAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIHNvbWUgc3BlY2lhbCBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggbWFrZVNwZWNpYWwJIl5ccypbQC1dXCsiCitzeW4gbWF0Y2ggbWFrZU5leHRMaW5lCSJcXFxuXHMqIgorCisiIHNvbWUgZGlyZWN0aXZlcworc3luIG1hdGNoIG1ha2VQcmVDb25kaXQJIl5ccypcKGlmZXFcPlx8ZWxzZVw+XHxlbmRpZlw+XHxpZm5lcVw+XHxpZmRlZlw+XHxpZm5kZWZcPlwpIgorc3luIG1hdGNoIG1ha2VJbmNsdWRlCSJeXHMqWy1zXVw9aW5jbHVkZSIKK3N5biBtYXRjaCBtYWtlU3RhdGVtZW50CSJeXHMqdnBhdGgiCitzeW4gbWF0Y2ggbWFrZUV4cG9ydCAgICAiXlxzKlwoZXhwb3J0XHx1bmV4cG9ydFwpXD4iCitzeW4gbWF0Y2ggbWFrZU92ZXJyaWRlCSJeXHMqb3ZlcnJpZGUiCitoaSBsaW5rIG1ha2VPdmVycmlkZSBtYWtlU3RhdGVtZW50CitoaSBsaW5rIG1ha2VFeHBvcnQgbWFrZVN0YXRlbWVudAorCisiIEtvZWhsZXI6IGNhdGNoIHVubWF0Y2hlZCBkZWZpbmUvZW5kZWYga2V5d29yZHMuICBlbmRlZiBvbmx5IG1hdGNoZXMgaXQgaXMgYnkgaXRzZWxmIG9uIGEgbGluZQorc3luIHJlZ2lvbiBtYWtlRGVmaW5lIHN0YXJ0PSJeXHMqZGVmaW5lXHMiIGVuZD0iXlxzKmVuZGVmXHMqJCIgY29udGFpbnM9bWFrZVN0YXRlbWVudCxtYWtlSWRlbnQsbWFrZVByZUNvbmRpdCxtYWtlRGVmaW5lCisKKyIgTWljcm9zb2Z0IE1ha2VmaWxlIHNwZWNpYWxzCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCBtYWtlSW5jbHVkZQkiXiFccyppbmNsdWRlIgorc3luIG1hdGNoIG1ha2VQcmVDb25kaXQgIiFccypcKGNtZHN3aXRjaGVzXHxlcnJvclx8bWVzc2FnZVx8aW5jbHVkZVx8aWZcfGlmZGVmXHxpZm5kZWZcfGVsc2VcfGVsc2VpZlx8ZWxzZSBpZlx8ZWxzZVxzKmlmZGVmXHxlbHNlXHMqaWZuZGVmXHxlbmRpZlx8dW5kZWZcKVw+Igorc3luIGNhc2UgbWF0Y2gKKworIiBpZGVudGlmaWVycworc3luIHJlZ2lvbiBtYWtlSWRlbnQJc3RhcnQ9IlwkKCIgc2tpcD0iXFwpXHxcXFxcIiBlbmQ9IikiIGNvbnRhaW5zPW1ha2VTdGF0ZW1lbnQsbWFrZUlkZW50LG1ha2VTU3RyaW5nLG1ha2VEU3RyaW5nCitzeW4gcmVnaW9uIG1ha2VJZGVudAlzdGFydD0iXCR7IiBza2lwPSJcXH1cfFxcXFwiIGVuZD0ifSIgY29udGFpbnM9bWFrZVN0YXRlbWVudCxtYWtlSWRlbnQsbWFrZVNTdHJpbmcsbWFrZURTdHJpbmcKK3N5biBtYXRjaCBtYWtlSWRlbnQJIlwkXCRcdyoiCitzeW4gbWF0Y2ggbWFrZUlkZW50CSJcJFteKHtdIgorc3luIG1hdGNoIG1ha2VJZGVudAkiXlxzKlxhXHcqXHMqWzorPyEqXT0ibWU9ZS0yCitzeW4gbWF0Y2ggbWFrZUlkZW50CSJeXHMqXGFcdypccyo9Im1lPWUtMQorc3luIG1hdGNoIG1ha2VJZGVudAkiJSIKKworIiBNYWtlZmlsZS5pbiB2YXJpYWJsZXMKK3N5biBtYXRjaCBtYWtlQ29uZmlnICJAW0EtWmEtejAtOV9dXCtAIgorCisiIG1ha2UgdGFyZ2V0cworIiBzeW4gbWF0Y2ggbWFrZVNwZWNUYXJnZXQJIl5cLlwoU1VGRklYRVNcfFBIT05ZXHxERUZBVUxUXHxQUkVDSU9VU1x8SUdOT1JFXHxTSUxFTlRcfEVYUE9SVF9BTExfVkFSSUFCTEVTXHxLRUVQX1NUQVRFXHxMSUJQQVRURVJOU1x8Tk9UUEFSQUxMRUxcfERFTEVURV9PTl9FUlJPUlx8SU5URVJNRURJQVRFXHxQT1NJWFx8U0VDT05EQVJZXClcPiIKK3N5biBtYXRjaCBtYWtlSW1wbGljaXQJCSJeXC5bQS1aYS16MC05Xy4vXHQgLV1cK1xzKjpbXj1dIm1lPWUtMiBuZXh0Z3JvdXA9bWFrZVNvdXJjZQorc3luIG1hdGNoIG1ha2VJbXBsaWNpdAkJIl5cLltBLVphLXowLTlfLi9cdCAtXVwrXHMqOiQibWU9ZS0xIG5leHRncm91cD1tYWtlU291cmNlCisKK3N5biByZWdpb24gbWFrZVRhcmdldAl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW1ha2VUYXJnZXQgc3RhcnQ9Il5bQS1aYS16MC05Xy4vJCgpJS1dW0EtWmEtejAtOV8uL1x0ICQoKSUtXSo6XHsxLDJ9W146PV0icnM9ZS0xIGVuZD0iOyJyZT1lLTEsbWU9ZS0xIGVuZD0iW15cXF0kIiBrZWVwZW5kIGNvbnRhaW5zPW1ha2VJZGVudCxtYWtlU3BlY1RhcmdldCxtYWtlTmV4dExpbmUgc2tpcG5sIG5leHRHcm91cD1tYWtlQ29tbWFuZHMKK3N5biBtYXRjaCBtYWtlVGFyZ2V0CQkiXltBLVphLXowLTlfLi8kKCklKkAtXVtBLVphLXowLTlfLi9cdCAkKCklKkAtXSo6Olw9XHMqJCIgY29udGFpbnM9bWFrZUlkZW50LG1ha2VTcGVjVGFyZ2V0IHNraXBubCBuZXh0Z3JvdXA9bWFrZUNvbW1hbmRzLG1ha2VDb21tYW5kRXJyb3IKKworc3luIHJlZ2lvbiBtYWtlU3BlY1RhcmdldAl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW1ha2VTcGVjVGFyZ2V0IHN0YXJ0PSJeXC5cKFNVRkZJWEVTXHxQSE9OWVx8REVGQVVMVFx8UFJFQ0lPVVNcfElHTk9SRVx8U0lMRU5UXHxFWFBPUlRfQUxMX1ZBUklBQkxFU1x8S0VFUF9TVEFURVx8TElCUEFUVEVSTlNcfE5PVFBBUkFMTEVMXHxERUxFVEVfT05fRVJST1JcfElOVEVSTUVESUFURVx8UE9TSVhcfFNFQ09OREFSWVwpXD46XHsxLDJ9W146PV0icnM9ZS0xIGVuZD0iW15cXF0kIiBrZWVwZW5kIGNvbnRhaW5zPW1ha2VJZGVudCxtYWtlU3BlY1RhcmdldCxtYWtlTmV4dExpbmUgc2tpcG5sIG5leHRHcm91cD1tYWtlQ29tbWFuZHMKK3N5biBtYXRjaCBtYWtlU3BlY1RhcmdldAkJIl5cLlwoU1VGRklYRVNcfFBIT05ZXHxERUZBVUxUXHxQUkVDSU9VU1x8SUdOT1JFXHxTSUxFTlRcfEVYUE9SVF9BTExfVkFSSUFCTEVTXHxLRUVQX1NUQVRFXHxMSUJQQVRURVJOU1x8Tk9UUEFSQUxMRUxcfERFTEVURV9PTl9FUlJPUlx8SU5URVJNRURJQVRFXHxQT1NJWFx8U0VDT05EQVJZXClcPjo6XD1ccyokIiBjb250YWlucz1tYWtlSWRlbnQgc2tpcG5sIG5leHRncm91cD1tYWtlQ29tbWFuZHMsbWFrZUNvbW1hbmRFcnJvcgorCitzeW4gbWF0Y2ggbWFrZUNvbW1hbmRFcnJvciAiXlxzXCtcUy4qIiBjb250YWluZWQKK3N5biByZWdpb24gbWFrZUNvbW1hbmRzIHN0YXJ0PSI7ImhzPXMrMSBzdGFydD0iXlx0IiBlbmQ9Il5bXlx0I10ibWU9ZS0xLHJlPWUtMSBlbmQ9Il4kIiBjb250YWluZWQgY29udGFpbnM9bWFrZUNtZE5leHRMaW5lLG1ha2VTcGVjaWFsLG1ha2VDb21tZW50LG1ha2VJZGVudCxtYWtlUHJlQ29uZGl0LG1ha2VEZWZpbmUsbWFrZURTdHJpbmcsbWFrZVNTdHJpbmcgbmV4dGdyb3VwPW1ha2VDb21tYW5kRXJyb3IKK3N5biBtYXRjaCBtYWtlQ21kTmV4dExpbmUJIlxcXG4uImhlPWUtMSBjb250YWluZWQKKworCisiIFN0YXRlbWVudHMgLyBGdW5jdGlvbnMgKEdOVSBtYWtlKQorc3luIG1hdGNoIG1ha2VTdGF0ZW1lbnQgY29udGFpbmVkICIoXChzdWJzdFx8YWRkcHJlZml4XHxhZGRzdWZmaXhcfGJhc2VuYW1lXHxjYWxsXHxkaXJcfGVycm9yXHxmaWx0ZXItb3V0XHxmaWx0ZXJcfGZpbmRzdHJpbmdcfGZpcnN0d29yZFx8Zm9yZWFjaFx8aWZcfGpvaW5cfG5vdGRpclx8b3JpZ2luXHxwYXRzdWJzdFx8c2hlbGxcfHNvcnRcfHN0cmlwXHxzdWZmaXhcfHdhcm5pbmdcfHdpbGRjYXJkXHx3b3JkXHx3b3JkbGlzdFx8d29yZHNcKVw+Im1zPXMrMQorCisiIENvbW1lbnQKK2lmIGV4aXN0cygibWFrZV9taWNyb3NvZnQiKQorICAgc3luIG1hdGNoICBtYWtlQ29tbWVudCAiIy4qIiBjb250YWlucz1tYWtlVG9kbworZWxzZQorICAgc3luIHJlZ2lvbiAgbWFrZUNvbW1lbnQJc3RhcnQ9IiMiIGVuZD0iXiQiIGVuZD0iW15cXF0kIiBrZWVwZW5kIGNvbnRhaW5zPW1ha2VUb2RvCisgICBzeW4gbWF0Y2ggICBtYWtlQ29tbWVudAkiIyQiCitlbmRpZgorc3luIGtleXdvcmQgbWFrZVRvZG8gVE9ETyBGSVhNRSBYWFggY29udGFpbmVkCisKKyIgbWF0Y2ggZXNjYXBlZCBxdW90ZXMgYW5kIGFueSBvdGhlciBlc2NhcGVkIGNoYXJhY3RlcgorIiBleGNlcHQgZm9yICQsIGFzIGEgYmFja3NsYXNoIGluIGZyb250IG9mIGEgJCBkb2VzCisiIG5vdCBtYWtlIGl0IGEgc3RhbmRhcmQgY2hhcmFjdGVyLCBidXQgaW5zdGVhZCBpdCB3aWxsCisiIHN0aWxsIGFjdCBhcyB0aGUgYmVnaW5uaW5nIG9mIGEgdmFyaWFibGUKKyIgVGhlIGVzY2FwZWQgY2hhciBpcyBub3QgaGlnaGxpZ2h0ZXQgY3VycmVudGx5CitzeW4gbWF0Y2ggbWFrZUVzY2FwZWRDaGFyCSJcXFteJF0iCisKKworc3luIHJlZ2lvbiAgbWFrZURTdHJpbmcgc3RhcnQ9K1woXFxcKVxAPCEiKyAgc2tpcD0rXFwuKyAgZW5kPSsiKyAgY29udGFpbnM9bWFrZUlkZW50CitzeW4gcmVnaW9uICBtYWtlU1N0cmluZyBzdGFydD0rXChcXFwpXEA8IScrICBza2lwPStcXC4rICBlbmQ9KycrICBjb250YWlucz1tYWtlSWRlbnQKK3N5biByZWdpb24gIG1ha2VCU3RyaW5nIHN0YXJ0PStcKFxcXClcQDwhYCsgIHNraXA9K1xcLisgIGVuZD0rYCsgIGNvbnRhaW5zPW1ha2VJZGVudCxtYWtlU1N0cmluZyxtYWtlRFN0cmluZyxtYWtlTmV4dExpbmUKKworIiBTeW5jaW5nCitzeW4gc3luYyBtaW5saW5lcz0yMCBtYXhsaW5lcz0yMDAKKworIiBTeW5jIG9uIE1ha2UgY29tbWFuZCBibG9jayByZWdpb246IFdoZW4gc2VhcmNoaW5nIGJhY2t3YXJkcyBoaXRzIGEgbGluZSB0aGF0CisiIGNhbid0IGJlIGEgY29tbWFuZCBvciBhIGNvbW1lbnQsIHVzZSBtYWtlQ29tbWFuZHMgaWYgaXQgbG9va3MgbGlrZSBhIHRhcmdldCwKKyIgTk9ORSBvdGhlcndpc2UuCitzeW4gc3luYyBtYXRjaCBtYWtlQ29tbWFuZFN5bmMgZ3JvdXB0aGVyZSBOT05FICJeW15cdCNdIgorc3luIHN5bmMgbWF0Y2ggbWFrZUNvbW1hbmRTeW5jIGdyb3VwdGhlcmUgbWFrZUNvbW1hbmRzICJeW0EtWmEtejAtOV8uLyQoKSUtXVtBLVphLXowLTlfLi9cdCAkKCklLV0qOlx7MSwyfVteOj1dIgorc3luIHN5bmMgbWF0Y2ggbWFrZUNvbW1hbmRTeW5jIGdyb3VwdGhlcmUgbWFrZUNvbW1hbmRzICJeW0EtWmEtejAtOV8uLyQoKSUtXVtBLVphLXowLTlfLi9cdCAkKCklLV0qOlx7MSwyfVxzKiQiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21ha2Vfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbWFrZV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBtYWtlTmV4dExpbmUJCW1ha2VTcGVjaWFsCisgIEhpTGluayBtYWtlQ21kTmV4dExpbmUJbWFrZVNwZWNpYWwKKyAgSGlMaW5rIG1ha2VTcGVjVGFyZ2V0CQlTdGF0ZW1lbnQKKyAgaWYgIWV4aXN0cygibWFrZV9ub19jb21tYW5kcyIpCisgICAgSGlMaW5rIG1ha2VDb21tYW5kcwkJTnVtYmVyCisgIGVuZGlmCisgIEhpTGluayBtYWtlSW1wbGljaXQJCUZ1bmN0aW9uCisgIEhpTGluayBtYWtlVGFyZ2V0CQlGdW5jdGlvbgorICBIaUxpbmsgbWFrZUluY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIG1ha2VQcmVDb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgbWFrZVN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBtYWtlSWRlbnQJCUlkZW50aWZpZXIKKyAgSGlMaW5rIG1ha2VTcGVjaWFsCQlTcGVjaWFsCisgIEhpTGluayBtYWtlQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbWFrZURTdHJpbmcJCVN0cmluZworICBIaUxpbmsgbWFrZVNTdHJpbmcJCVN0cmluZworICBIaUxpbmsgbWFrZUJTdHJpbmcJCUZ1bmN0aW9uCisgIEhpTGluayBtYWtlRXJyb3IJCUVycm9yCisgIEhpTGluayBtYWtlVG9kbwkJVG9kbworICBIaUxpbmsgbWFrZURlZmluZQkJRGVmaW5lCisgIEhpTGluayBtYWtlQ29tbWFuZEVycm9yCUVycm9yCisgIEhpTGluayBtYWtlQ29uZmlnCQlQcmVDb25kaXQKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1ha2UiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tYW4udmltIGIvcnVudGltZS9zeW50YXgvbWFuLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDcxODBjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbWFuLnZpbQpAQCAtMCwwICsxLDY3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJTWFuIHBhZ2UKKyIgTWFpbnRhaW5lcjoJTmFtIFN1bmdIeXVuIDxuYW1zaEBrbGRwLm9yZz4KKyIgUHJldmlvdXMgTWFpbnRhaW5lcjoJR2F1dGFtIEguIE11ZHVudXJpIDxnbXVkdW51ckBpbmZvcm1hdGljYS5jb20+CisiIFZlcnNpb24gSW5mbzoKKyIgTGFzdCBDaGFuZ2U6CTIwMDQgTWF5IDE2CisKKyIgQWRkaXRpb25hbCBoaWdobGlnaHRpbmcgYnkgSm9oYW5uZXMgVGFuemxlciA8am9oYW5uZXMudGFuemxlckBhb24uYXQ+OgorIgkqIG1hblN1YkhlYWRpbmcKKyIJKiBtYW5TeW5vcHNpcyAob25seSBmb3Igc2VjdGlvbnMgMiBhbmQgMykKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEdldCB0aGUgQ1RSTC1IIHN5bnRheCB0byBoYW5kbGUgYmFja3NwYWNlZCB0ZXh0CitpZiB2ZXJzaW9uID49IDYwMAorICBydW50aW1lISBzeW50YXgvY3RybGgudmltCitlbHNlCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9jdHJsaC52aW0KK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoICBtYW5SZWZlcmVuY2UgICAgICAgIlxmXCsoWzEtOV1bYS16XVw9KSIKK3N5biBtYXRjaCAgbWFuVGl0bGUJICAgICAgIl5cZlwrKFswLTldXCtbYS16XVw9KS4qIgorc3luIG1hdGNoICBtYW5TZWN0aW9uSGVhZGluZyAgIl5bYS16XVthLXogXSpbYS16XSQiCitzeW4gbWF0Y2ggIG1hblN1YkhlYWRpbmcgICAgICAiXlxzXHszXH1bYS16XVthLXogXSpbYS16XSQiCitzeW4gbWF0Y2ggIG1hbk9wdGlvbkRlc2MgICAgICAiXlxzKlsrLV1bYS16MC05XVxTKiIKK3N5biBtYXRjaCAgbWFuTG9uZ09wdGlvbkRlc2MgICJeXHMqLS1bYS16MC05LV1cUyoiCisiIHN5biBtYXRjaCAgbWFuSGlzdG9yeQkJIl5bYS16XS4qbGFzdCBjaGFuZ2UuKiQiCisKK2lmIGdldGxpbmUoMSkgPX4gJ15bYS16QS1aX11cKyhbMjNdKScKKyAgc3ludGF4IGluY2x1ZGUgQGNDb2RlIDxzZmlsZT46cDpoL2MudmltCisgIHN5biBtYXRjaCBtYW5DRnVuY0RlZmluaXRpb24gIGRpc3BsYXkgIlw8XGhcdypcPlxzKigibWU9ZS0xIGNvbnRhaW5lZAorICBzeW4gcmVnaW9uIG1hblN5bm9wc2lzIHN0YXJ0PSJeU1lOT1BTSVMiaHM9cys4IGVuZD0iXlx1XCtccyokImhlPWUtMTIga2VlcGVuZCBjb250YWlucz1tYW5TZWN0aW9uSGVhZGluZyxAY0NvZGUsbWFuQ0Z1bmNEZWZpbml0aW9uCitlbmRpZgorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21hbl9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tYW5fc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbWFuVGl0bGUJICAgIFRpdGxlCisgIEhpTGluayBtYW5TZWN0aW9uSGVhZGluZyAgU3RhdGVtZW50CisgIEhpTGluayBtYW5PcHRpb25EZXNjCSAgICBDb25zdGFudAorICBIaUxpbmsgbWFuTG9uZ09wdGlvbkRlc2MgIENvbnN0YW50CisgIEhpTGluayBtYW5SZWZlcmVuY2UJICAgIFByZVByb2MKKyAgSGlMaW5rIG1hblN1YkhlYWRpbmcgICAgICBGdW5jdGlvbgorICBIaUxpbmsgbWFuQ0Z1bmNEZWZpbml0aW9uIEZ1bmN0aW9uCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1hbiIKKworIiB2aW06dHM9OCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWFudWFsLnZpbSBiL3J1bnRpbWUvc3ludGF4L21hbnVhbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFjMDQ1ZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21hbnVhbC52aW0KQEAgLTAsMCArMSwyNSBAQAorIiBWaW0gc3ludGF4IHN1cHBvcnQgZmlsZQorIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgorIiBMYXN0IENoYW5nZToJMjAwMSBKdW4gMDQKKworIiBUaGlzIGZpbGUgaXMgdXNlZCBmb3IgIjpzeW50YXggbWFudWFsIi4KKyIgSXQgaW5zdGFsbHMgdGhlIFN5bnRheCBhdXRvY29tbWFuZHMsIGJ1dCBubyB0aGUgRmlsZVR5cGUgYXV0b2NvbW1hbmRzLgorCitpZiAhaGFzKCJzeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgTG9hZCB0aGUgU3ludGF4IGF1dG9jb21tYW5kcyBhbmQgc2V0IHRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4KK2lmICFleGlzdHMoInN5bnRheF9vbiIpCisgIHNvIDxzZmlsZT46cDpoL3N5bmxvYWQudmltCitlbmRpZgorCitsZXQgc3ludGF4X21hbnVhbCA9IDEKKworIiBSZW1vdmUgdGhlIGNvbm5lY3Rpb24gYmV0d2VlbiBGaWxlVHlwZSBhbmQgU3ludGF4IGF1dG9jb21tYW5kcy4KK3NpbGVudCEgYXUhIHN5bnRheHNldCBGaWxlVHlwZQorCisiIElmIHRoZSBHVUkgaXMgYWxyZWFkeSBydW5uaW5nLCBtYXkgc3RpbGwgbmVlZCB0byBpbnN0YWxsIHRoZSBGaWxlVHlwZSBtZW51LgoraWYgaGFzKCJndWlfcnVubmluZyIpICYmICFleGlzdHMoImRpZF9pbnN0YWxsX3N5bnRheF9tZW51IikKKyAgc291cmNlICRWSU1SVU5USU1FL21lbnUudmltCitlbmRpZgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWFwbGUudmltIGIvcnVudGltZS9zeW50YXgvbWFwbGUudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYTdjNzUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tYXBsZS52aW0KQEAgLTAsMCArMSw1ODIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNYXBsZSBWIChiYXNlZCBvbiByZWxlYXNlIDQpCisiIE1haW50YWluZXI6CURyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gPE5kck9jaGlwU0BQY2FtcGJlbGxBZmFtaWx5Lk1iaXo+CisiIExhc3QgQ2hhbmdlOglNYXIgMTAsIDIwMDQKKyIgVmVyc2lvbjoJNAorIiBVUkw6CWh0dHA6Ly93d3cuZXJvbHMuY29tL2FzdHJvbmF1dC92aW0vaW5kZXguaHRtbCN2aW1saW5rc19zeW50YXgKKyIKKyIgUGFja2FnZSBGdW5jdGlvbiBTZWxlY3Rpb246IHt7ezEKKyIgQmVjYXVzZSB0aGVyZSBhcmUgYSBsb3Qgb2YgcGFja2FnZXMsIGFuZCBiZWNhdXNlIG9mIHRoZSBwb3RlbnRpYWwgZm9yIG5hbWVzcGFjZQorIiBjbGFzaGVzLCB0aGlzIHZlcnNpb24gb2YgPG1hcGxlLnZpbT4gbmVlZHMgdGhlIHVzZXIgdG8gc2VsZWN0IHdoaWNoLCBpZiBhbnksCisiIHBhY2thZ2UgZnVuY3Rpb25zIHNob3VsZCBiZSBoaWdobGlnaHRlZC4gIFNlbGVjdCB5b3VyIHBhY2thZ2VzIGFuZCBwdXQgaW50byB5b3VyCisiIDwudmltcmM+IG5vbmUgb3IgbW9yZSBvZiB0aGUgbGluZXMgZm9sbG93aW5nIGxldCAuLi49MSBsaW5lczoKKyIKKyIgICBpZiBleGlzdHMoIm12cGtnX2FsbCIpCisiICAgIC4uLgorIiAgIGVuZGlmCisiCisiICpPUiogbGV0IG12cGtnX2FsbD0xCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIElza2V5d29yZCBFZmZlY3RzOiB7e3sxCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNldCBpc2tleXdvcmQ9JCw0OC01NyxfLGEteixALVoKK2Vsc2UKKyAgc2V0bG9jYWwgaXNrZXl3b3JkPSQsNDgtNTcsXyxhLXosQC1aCitlbmRpZgorCisiIFBhY2thZ2UgU2VsZWN0aW9uOiB7e3sxCisiIGFsbG93IHVzZXIgdG8gc2ltcGx5IHNlbGVjdCBhbGwgcGFja2FnZXMgZm9yIGhpZ2hsaWdodGluZworaWYgZXhpc3RzKCJtdnBrZ19hbGwiKQorICBsZXQgbXZfREV0b29scyAgICA9IDEKKyAgbGV0IG12X0dhbG9pcyAgICAgPSAxCisgIGxldCBtdl9HYXVzc0ludCAgID0gMQorICBsZXQgbXZfTFJFdG9vbHMgICA9IDEKKyAgbGV0IG12X2NvbWJpbmF0ICAgPSAxCisgIGxldCBtdl9jb21ic3RydWN0ID0gMQorICBsZXQgbXZfZGlmZm9ybXMgICA9IDEKKyAgbGV0IG12X2ZpbmFuY2UgICAgPSAxCisgIGxldCBtdl9nZW5mdW5jICAgID0gMQorICBsZXQgbXZfZ2VvbWV0cnkgICA9IDEKKyAgbGV0IG12X2dyb2JuZXIgICAgPSAxCisgIGxldCBtdl9ncm91cCAgICAgID0gMQorICBsZXQgbXZfaW50dHJhbnMgICA9IDEKKyAgbGV0IG12X2xpZXN5bW0gICAgPSAxCisgIGxldCBtdl9saW5hbGcgICAgID0gMQorICBsZXQgbXZfbG9naWMgICAgICA9IDEKKyAgbGV0IG12X25ldHdvcmtzICAgPSAxCisgIGxldCBtdl9udW1hcHByb3ggID0gMQorICBsZXQgbXZfbnVtdGhlb3J5ICA9IDEKKyAgbGV0IG12X29ydGhvcG9seSAgPSAxCisgIGxldCBtdl9wYWRpYyAgICAgID0gMQorICBsZXQgbXZfcGxvdHMgICAgICA9IDEKKyAgbGV0IG12X3Bsb3R0b29scyAgPSAxCisgIGxldCBtdl9wb3dzZXJpZXMgID0gMQorICBsZXQgbXZfcHJvY2VzcyAgICA9IDEKKyAgbGV0IG12X3NpbXBsZXggICAgPSAxCisgIGxldCBtdl9zdGF0cyAgICAgID0gMQorICBsZXQgbXZfc3R1ZGVudCAgICA9IDEKKyAgbGV0IG12X3N1bXRvb2xzICAgPSAxCisgIGxldCBtdl90ZW5zb3IgICAgID0gMQorICBsZXQgbXZfdG90b3JkZXIgICA9IDEKK2VuZGlmCisKKyIgUGFyZW50aGVzaXMvY3VybHkvYnJhY2Ugc2FuaXR5IGNoZWNrZXI6IHt7ezEKK3N5biByZWdpb24gbXZab25lCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxtdkVycm9yLG12QnJhY2VFcnJvcixtdkN1cmx5RXJyb3IKK3N5biByZWdpb24gbXZab25lCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9In0iIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxtdkVycm9yLG12QnJhY2VFcnJvcixtdlBhcmVuRXJyb3IKK3N5biByZWdpb24gbXZab25lCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcWyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSJdIiB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQsbXZFcnJvcixtdkN1cmx5RXJyb3IsbXZQYXJlbkVycm9yCitzeW4gbWF0Y2ggIG12RXJyb3IJCSJbKVxdfV0iCitzeW4gbWF0Y2ggIG12QnJhY2VFcnJvcgkiWyl9XSIJY29udGFpbmVkCitzeW4gbWF0Y2ggIG12Q3VybHlFcnJvcgkiWylcXV0iCWNvbnRhaW5lZAorc3luIG1hdGNoICBtdlBhcmVuRXJyb3IJIltcXX1dIgljb250YWluZWQKK3N5biBtYXRjaCAgbXZDb21tYQkJIlssOzpdIgorc3luIG1hdGNoICBtdlNlbWlFcnJvcgkiWzs6XSIJY29udGFpbmVkCisKKyIgTWFwbGUgViBQYWNrYWdlcywgY2lyY2EgUmVsZWFzZSA0OiB7e3sxCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJREV0b29scwlkaWZmb3Jtcwlncm91cAluZXR3b3JrcwlwbG90cwlzdGF0cworc3luIGtleXdvcmQgbXZQYWNrYWdlCUdhbG9pcwlmaW5hbmNlCWludHRyYW5zCW51bWFwcHJveAlwbG90dG9vbHMJc3R1ZGVudAorc3luIGtleXdvcmQgbXZQYWNrYWdlCUdhdXNzSW50CWdlbmZ1bmMJbGllc3ltbQludW10aGVvcnkJcG93c2VyaWVzCXN1bXRvb2xzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJTFJFdG9vbHMJZ2VvbWV0cnkJbGluYWxnCW9ydGhvcG9seQlwcm9jZXNzCXRlbnNvcgorc3luIGtleXdvcmQgbXZQYWNrYWdlCWNvbWJpbmF0CWdyb2JuZXIJbG9naWMJcGFkaWMJc2ltcGxleAl0b3RvcmRlcgorc3luIGtleXdvcmQgbXZQYWNrYWdlCWNvbWJzdHJ1Y3QKKworIiBMYW5ndWFnZSBTdXBwb3J0OiB7e3sxCitzeW4ga2V5d29yZCBtdlRvZG8JY29udGFpbmVkCVRPRE8KK3N5biByZWdpb24gIG12U3RyaW5nCXN0YXJ0PStgKyBza2lwPStgYCsgZW5kPStgKwlrZWVwZW5kCWNvbnRhaW5zPW12VG9kbworc3luIHJlZ2lvbiAgbXZEZWxheUV2YWwJc3RhcnQ9KycrIGVuZD0rJysJa2VlcGVuZCBjb250YWlucz1BTExCVVQsbXZFcnJvcixtdkJyYWNlRXJyb3IsbXZDdXJseUVycm9yLG12UGFyZW5FcnJvcixtdlNlbWlFcnJvcgorc3luIG1hdGNoICAgbXZWYXJBc3NpZ24JIlthLXpBLVpfXVthLXpBLVpfMC05XSpbIFx0XSo6PSIgY29udGFpbnM9bXZBc3NpZ24KK3N5biBtYXRjaCAgIG12QXNzaWduCSI6PSIJY29udGFpbmVkCisKKyIgTG93ZXItUHJpb3JpdHkgT3BlcmF0b3JzOiB7e3sxCitzeW4gbWF0Y2ggbXZPcGVyCSJcLiIKKworIiBOdW1iZXIgaGFuZGxpbmc6IHt7ezEKK3N5biBtYXRjaCBtdk51bWJlcgkiXDxcZFwrIgkJIiBpbnRlZ2VyCisgc3luIG1hdGNoIG12TnVtYmVyCSJbLStdXD1cLlxkXCsiCQkiIC4gaW50ZWdlcgorc3luIG1hdGNoIG12TnVtYmVyCSJcPFxkXCtcLlxkXCsiCQkiIGludGVnZXIgLiBpbnRlZ2VyCitzeW4gbWF0Y2ggbXZOdW1iZXIJIlw8XGRcK1wuIgkJIiBpbnRlZ2VyIC4KK3N5biBtYXRjaCBtdk51bWJlcgkiXDxcZFwrXC5cLiIJY29udGFpbnM9bXZSYW5nZQkiIGludGVnZXIgLi4KKworc3luIG1hdGNoIG12TnVtYmVyCSJcPFxkXCtlWy0rXVw9XGRcKyIJCSIgaW50ZWdlciBlIFstK10gaW50ZWdlcgorc3luIG1hdGNoIG12TnVtYmVyCSJbLStdXD1cLlxkXCtlWy0rXVw9XGRcKyIJIiAuIGludGVnZXIgZSBbLStdIGludGVnZXIKK3N5biBtYXRjaCBtdk51bWJlcgkiXDxcZFwrXC5cZCplWy0rXVw9XGRcKyIJIiBpbnRlZ2VyIC4gW2ludGVnZXJdIGUgWy0rXSBpbnRlZ2VyCisKK3N5biBtYXRjaCBtdk51bWJlcgkiWy0rXVxkXCsiCQkiIGludGVnZXIKK3N5biBtYXRjaCBtdk51bWJlcgkiWy0rXVxkXCtcLlxkXCsiCQkiIGludGVnZXIgLiBpbnRlZ2VyCitzeW4gbWF0Y2ggbXZOdW1iZXIJIlstK11cZFwrXC4iCQkiIGludGVnZXIgLgorc3luIG1hdGNoIG12TnVtYmVyCSJbLStdXGRcK1wuXC4iCWNvbnRhaW5zPW12UmFuZ2UJIiBpbnRlZ2VyIC4uCisKK3N5biBtYXRjaCBtdk51bWJlcgkiWy0rXVxkXCtlWy0rXVw9XGRcKyIJIiBpbnRlZ2VyIGUgWy0rXSBpbnRlZ2VyCitzeW4gbWF0Y2ggbXZOdW1iZXIJIlstK11cZFwrXC5cZCplWy0rXVw9XGRcKyIJIiBpbnRlZ2VyIC4gW2ludGVnZXJdIGUgWy0rXSBpbnRlZ2VyCisKK3N5biBtYXRjaCBtdlJhbmdlCSJcLlwuIgorCisiIE9wZXJhdG9yczoge3t7MQorc3luIGtleXdvcmQgbXZPcGVyCWFuZCBub3Qgb3IKK3N5biBtYXRjaCAgIG12T3BlcgkiPD5cfFs8Pl09XHxbPD5dXHw9Igorc3luIG1hdGNoICAgbXZPcGVyCSImK1x8Ji1cfCZcKlx8JlwvXHwmIgorc3luIG1hdGNoICAgbXZFcnJvcgkiXC5cLlwuIgorCisiIE1hcGxlViBTdGF0ZW1lbnRzOiA/IHN0YXRlbWVudCB7e3sxCisiIFNwbGl0IGludG8gYm9vbGVhbnMsIGNvbmRpdGlvbmFscywgb3BlcmF0b3JzLCByZXBlYXQtbG9naWMsIGV0Yworc3luIGtleXdvcmQgbXZCb29sCXRydWUJZmFsc2UKK3N5biBrZXl3b3JkIG12Q29uZAllbGlmCWVsc2UJZmkJaWYJdGhlbgorCitzeW4ga2V5d29yZCBtdlJlcGVhdAlieQlmb3IJaW4JdG8KK3N5biBrZXl3b3JkIG12UmVwZWF0CWRvCWZyb20Jb2QJd2hpbGUKKworc3luIGtleXdvcmQgbXZTcGVjaWFsCU5VTEwKK3N5biBtYXRjaCAgIG12U3BlY2lhbAkiXFtcXVx8e30iCisKK3N5biBrZXl3b3JkIG12U3RhdGVtZW50CU9yZGVyCWZhaWwJb3B0aW9ucwlyZWFkCXNhdmUKK3N5biBrZXl3b3JkIG12U3RhdGVtZW50CWJyZWFrCWxvY2FsCXBvaW50CXJlbWVtYmVyCXN0b3AKK3N5biBrZXl3b3JkIG12U3RhdGVtZW50CWRvbmUJbW9kCXByb2MJcmVzdGFydAl3aXRoCitzeW4ga2V5d29yZCBtdlN0YXRlbWVudAllbmQJbW9kcwlxdWl0CXJldHVybgorc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZXJyb3IJbmV4dAorCisiIEJ1aWx0aW4gQ29uc3RhbnRzOiA/IGNvbnN0YW50cyB7e3sxCitzeW4ga2V5d29yZCBtdkNvbnN0YW50CUNhdGFsYW4JSQlnYW1tYQlpbmZpbml0eQorc3luIGtleXdvcmQgbXZDb25zdGFudAlGQUlMCVBpCisKKyIgQ29tbWVudHM6ICBERUJVRywgaWYgaW4gYSBjb21tZW50LCBpcyBzcGVjaWFsbHkgaGlnaGxpZ2h0ZWQuIHt7ezEKK3N5biBrZXl3b3JkIG12RGVidWcJY29udGFpbmVkCURFQlVHCitzeW4gY2x1c3RlciBtdkNvbW1lbnRHcm91cAljb250YWlucz1tdlRvZG8sbXZEZWJ1ZyxAU3BlbGwKK3N5biBtYXRjaCBtdkNvbW1lbnQgIiMuKiQiCWNvbnRhaW5zPUBtdkNvbW1lbnRHcm91cAorCisiIEJhc2ljIExpYnJhcnkgRnVuY3Rpb25zOiA/IGluZGV4W2Z1bmN0aW9uXQorc3luIGtleXdvcmQgbXZMaWJyYXJ5ICQJQAlAQAlFUlJPUgorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEFGYWN0b3IJS2VsdmluSGVyCWFyY3RhbglmYWN0b3IJbG9nCXJocworc3luIGtleXdvcmQgbXZMaWJyYXJ5IEFGYWN0b3JzCUtlbHZpbktlaQlhcmN0YW5oCWZhY3RvcnMJbG9nMTAJcm9vdAorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEFpcnlBaQlLZWx2aW5LZXIJYXJndW1lbnQJZmNsb3NlCWxwcmludAlyb290cworc3luIGtleXdvcmQgbXZMaWJyYXJ5IEFpcnlCaQlMYW1iZXJ0VwlhcnJheQlmZW9mCW1hcAlyb3VuZAorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEFuZ2VySglMY20JYXNzaWduCWZmbHVzaAltYXAyCXJzb2x2ZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEJlcmxla2FtcAlMZWdlbmRyZUUJYXNzaWduZWQJZmlsZXBvcwltYXRjaAlzYXZlbGliCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgQmVzc2VsSQlMZWdlbmRyZUVjCWFzc3BhcglmaXhkaXYJbWF0cml4CXNjYW5mCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgQmVzc2VsSglMZWdlbmRyZUVjMQlhc3N1bWUJZmxvYXQJbWF4CXNlYXJjaHRleHQKK3N5biBrZXl3b3JkIG12TGlicmFyeSBCZXNzZWxLCUxlZ2VuZHJlRglhc3VicwlmbG9vcgltYXhpbWl6ZQlzZWMKK3N5biBrZXl3b3JkIG12TGlicmFyeSBCZXNzZWxZCUxlZ2VuZHJlS2MJYXN5bXB0CWZub3JtYWwJbWF4bm9ybQlzZWNoCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgQmV0YQlMZWdlbmRyZUtjMQlhdHRyaWJ1dGUJZm9wZW4JbWF4b3JkZXIJc2VsZWN0CitzeW4ga2V5d29yZCBtdkxpYnJhcnkgQwlMZWdlbmRyZVBpCWJlcm5zdGVpbglmb3JnZXQJbWVtYmVyCXNlcQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IENoaQlMZWdlbmRyZVBpYwlicmFuY2hlcwlmb3J0cmFuCW1pbglzZXJpZXMKK3N5biBrZXl3b3JkIG12TGlicmFyeSBDaQlMZWdlbmRyZVBpYzEJYnNwbGluZQlmcHJpbnRmCW1pbmltaXplCXNldGF0dHJpYnV0ZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IENvbXBTZXEJTGkJY2F0CWZyYWMJbWlucG9seQlzaGFrZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IENvbnRlbnQJTGluc29sdmUJY2VpbAlmcmVlemUJbW9kcAlzaG93cHJvZmlsZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEQJTU9MUwljaHJlbQlmcmVtb3ZlCW1vZHAxCXNob3d0aW1lCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgREVTb2wJTWFwbGVfZmxvYXRzCWNsb3NlCWZyb250ZW5kCW1vZHAyCXNpZ24KK3N5biBrZXl3b3JkIG12TGlicmFyeSBEZXQJTWVpamVyRwljbG9zZQlmc2NhbmYJbW9kcG9sCXNpZ251bQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IERpZmYJTm9ybQljb2VmZglmc29sdmUJbW9kcwlzaW1wbGlmeQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IERpcmFjCU5vcm1hbAljb2VmZnMJZ2Fsb2lzCW1zb2x2ZQlzaW4KK3N5biBrZXl3b3JkIG12TGlicmFyeSBEaXN0RGVnCU51bGxzcGFjZQljb2VmdGF5bAlnYwltdGF5bG9yCXNpbmd1bGFyCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgRGl2aWRlCVBvd2VyCWNvbGxlY3QJZ2NkCW11bAlzaW5oCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgRWkJUG93bW9kCWNvbWJpbmUJZ2NkZXgJbmV4dHByaW1lCXNpbnRlcnAKK3N5biBrZXl3b3JkIG12TGlicmFyeSBFaWdlbnZhbHMJUHJlbQljb21tdXRhdAlnZW5wb2x5CW5vcHMJc29sdmUKK3N5biBrZXl3b3JkIG12TGlicmFyeSBFbGxpcHRpY0NFCVByaW1maWVsZAljb21wYXJyYXkJaGFybW9uaWMJbm9ybQlzb3J0CitzeW4ga2V5d29yZCBtdkxpYnJhcnkgRWxsaXB0aWNDSwlQcmltaXRpdmUJY29tcG9seQloYXMJbm9ybWFsCXNwYXJzZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEVsbGlwdGljQ1BpCVByaW1wYXJ0CWNvbmp1Z2F0ZQloYXNmdW4JbnVtYm9jY3VyCXNwbGluZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEVsbGlwdGljRQlQcm9iU3BsaXQJY29udGVudAloYXNvcHRpb24JbnVtZXIJc3BsaXQKK3N5biBrZXl3b3JkIG12TGlicmFyeSBFbGxpcHRpY0YJUHJvZHVjdAljb252ZXJncwloYXN0eXBlCW9wCXNwbGl0cworc3luIGtleXdvcmQgbXZMaWJyYXJ5IEVsbGlwdGljSwlQc2kJY29udmVydAloZWFwCW9wZW4Jc3ByZW0KK3N5biBrZXl3b3JkIG12TGlicmFyeSBFbGxpcHRpY01vZHVsdXMJUXVvCWNvb3JkcwloaXN0b3J5CW9wdGltaXplCXNwcmludGYKK3N5biBrZXl3b3JkIG12TGlicmFyeSBFbGxpcHRpY05vbWUJUkVTb2wJY29weQloeXBlcmdlb20Jb3JkZXIJc3FyZnJlZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEVsbGlwdGljUGkJUmFuZHBvbHkJY29zCWlGRlQJcGFyc2UJc3FydAorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEV2YWwJUmFuZHByaW1lCWNvc2gJaWNvbnRlbnQJcGNsb3NlCXNzY2FuZgorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEV4cGFuZAlSYXRyZWNvbgljb3N0CWlkZW50aXR5CXBjbG9zZQlzc3lzdGVtCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgRkZUCVJlCWNvdAlpZ2NkCXBkZXNvbHZlCXN0YWNrCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgRmFjdG9yCVJlbQljb3RoCWlnY2RleAlwaWVjZXdpc2UJc3R1cm0KK3N5biBrZXl3b3JkIG12TGlicmFyeSBGYWN0b3JzCVJlc3VsdGFudAljc2MJaWxjbQlwbG90CXN0dXJtc2VxCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgRnJlc25lbEMJUm9vdE9mCWNzY2gJaWxvZwlwbG90M2QJc3Vicworc3luIGtleXdvcmQgbXZMaWJyYXJ5IEZyZXNuZWxTCVJvb3RzCWNzZ24JaWxvZzEwCXBsb3RzZXR1cAlzdWJzb3AKK3N5biBrZXl3b3JkIG12TGlicmFyeSBGcmVzbmVsZglTUHJlbQlkYXdzb24JaW1wbGljaXRkaWZmCXBvY2hoYW1tZXIJc3Vic3RyaW5nCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgRnJlc25lbGcJU2VhcmNodGV4dAlkZWZpbmUJaW5kZXRzCXBvaW50dG8Jc3VtCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgRnJvYmVuaXVzCVNoaQlkZWdyZWUJaW5kZXgJcG9pc3NvbglzdXJkCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgR0FNTUEJU2kJZGVub20JaW5kZXhlZAlwb2xhcglzeW1tZGlmZgorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEdhdXNzQUdNCVNtaXRoCWRlcGVuZHMJaW5kaWNlcwlwb2x5bG9nCXN5bW1ldHJpYworc3luIGtleXdvcmQgbXZMaWJyYXJ5IEdhdXNzZWpvcmQJU3FyZnJlZQlkaWFnb25hbAlpbmlmY24JcG9seW5vbQlzeXN0ZW0KK3N5biBrZXl3b3JkIG12TGlicmFyeSBHYXVzc2VsaW0JU3NpCWRpZmYJaW5pbmFtZQlwb3dtb2QJdGFibGUKK3N5biBrZXl3b3JkIG12TGlicmFyeSBHY2QJU3RydXZlSAlkaWxvZwlpbml0aWFsaXplCXByZW0JdGFuCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgR2NkZXgJU3RydXZlTAlkaW50ZXJwCWluc2VydAlwcmV2cHJpbWUJdGFuaAorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEhhbmtlbEgxCVN1bQlkaXNhc3NlbWJsZQlpbnQJcHJpbXBhcnQJdGVzdGVxCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSGFua2VsSDIJU3ZkCWRpc2NvbnQJaW50ZXJmYWNlCXByaW50CXRlc3RmbG9hdAorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEhlYXZpc2lkZQlURVhUCWRpc2NyaW0JaW50ZXJwCXByaW50Zgl0aGF3CitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSGVybWl0ZQlUcmFjZQlkaXNtYW50bGUJaW52ZnVuYwlwcm9jYm9keQl0aGllbGUKK3N5biBrZXl3b3JkIG12TGlicmFyeSBJbQlXZWJlckUJZGl2aWRlCWludnp0cmFucwlwcm9jbWFrZQl0aW1lCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSW5kZXAJV2VpZXJzdHJhc3NQCWRzb2x2ZQlpb3N0YXR1cwlwcm9kdWN0CXRyYW5zbGF0ZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEludGVycAlXZWllcnN0cmFzc1BQcmltZQllbGltaW5hdGUJaXBlcmZwb3cJcHJvb3QJdHJhcGVycm9yCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSW52ZXJzZQlXZWllcnN0cmFzc1NpZ21hCWVsbGlwc29pZAlpcXVvCXByb3BlcnR5CXRyaWdzdWJzCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSXJyZWR1YwlXZWllcnN0cmFzc1pldGEJZW50cmllcwlpcmF0cmVjb24JcHJvdGVjdAl0cnVuYworc3luIGtleXdvcmQgbXZMaWJyYXJ5IElzc2ltaWxhcglaZXRhCWVxbglpcmVtCXBzcXJ0CXR5cGUKK3N5biBrZXl3b3JkIG12TGlicmFyeSBKYWNvYmlBTQlhYnMJZXJmCWlyb290CXF1bwl0eXBlbWF0Y2gKK3N5biBrZXl3b3JkIG12TGlicmFyeSBKYWNvYmlDRAlhZGQJZXJmYwlpcnJlZHVjCXJhZG5vcm1hbAl1bmFtZXMKK3N5biBrZXl3b3JkIG12TGlicmFyeSBKYWNvYmlDTglhZGRjb29yZHMJZXVsZXJtYWMJaXNjb250CXJhZHNpbXAJdW5hcHBseQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEphY29iaUNTCWFkZHJlc3NvZglldmFsCWlzZGlmZmVyZW50aWFibGUJcmFuZAl1bmFzc2lnbgorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEphY29iaURDCWFsZ2VicmFpYwlldmFsYQlpc29sYXRlCXJhbmRvbWl6ZQl1bmxvYWQKK3N5biBrZXl3b3JkIG12TGlicmFyeSBKYWNvYmlETglhbGdzdWJzCWV2YWxhcHBseQlpc3BvbHkJcmFuZHBvbHkJdW5wcm90ZWN0CitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSmFjb2JpRFMJYWxpYXMJZXZhbGIJaXNxcmZyZWUJcmFuZ2UJdXBkYXRlc1I0CitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSmFjb2JpTkMJYWxsdmFsdWVzCWV2YWxjCWlzcXJ0CXJhdGlvbmFsaXplCXVzZXJpbmZvCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSmFjb2JpTkQJYW5hbWVzCWV2YWxmCWlzc3FyCXJhdHJlY29uCXZhbHVlCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSmFjb2JpTlMJYW50aXN5bW0JZXZhbGZpbnQJbGF0ZXgJcmVhZGJ5dGVzCXZlY3Rvcgorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEphY29iaVNDCWFwcGx5b3AJZXZhbGdmCWxhdHRpY2UJcmVhZGRhdGEJdmVyaWZ5CitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSmFjb2JpU0QJYXJjY29zCWV2YWxoZglsY20JcmVhZGxpYgl3aGF0dHlwZQorc3luIGtleXdvcmQgbXZMaWJyYXJ5IEphY29iaVNOCWFyY2Nvc2gJZXZhbG0JbGNvZWZmCXJlYWRsaW5lCXdpdGgKK3N5biBrZXl3b3JkIG12TGlicmFyeSBKYWNvYmlUaGV0YTEJYXJjY290CWV2YWxuCWxlYWR0ZXJtCXJlYWRzdGF0CXdyaXRlYnl0ZXMKK3N5biBrZXl3b3JkIG12TGlicmFyeSBKYWNvYmlUaGV0YTIJYXJjY290aAlldmFscglsZW5ndGgJcmVhbHJvb3QJd3JpdGVkYXRhCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSmFjb2JpVGhldGEzCWFyY2NzYwlleHAJbGV4b3JkZXIJcmVjaXBvbHkJd3JpdGVsaW5lCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSmFjb2JpVGhldGE0CWFyY2NzY2gJZXhwYW5kCWxocwlyZW0Jd3JpdGVzdGF0CitzeW4ga2V5d29yZCBtdkxpYnJhcnkgSmFjb2JpWmV0YQlhcmNzZWMJZXhwYW5kb2ZmCWxpbWl0CXJlbW92ZQl3cml0ZXRvCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgS2VsdmluQmVpCWFyY3NlY2gJZXhwYW5kb24JbG4JcmVzaWR1ZQl6aXAKK3N5biBrZXl3b3JkIG12TGlicmFyeSBLZWx2aW5CZXIJYXJjc2luCWV4dHJhY3QJbG5HQU1NQQlyZXN1bHRhbnQJenRyYW5zCitzeW4ga2V5d29yZCBtdkxpYnJhcnkgS2VsdmluSGVpCWFyY3NpbmgKKworCisiID09ICBQQUNLQUdFUyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSB7e3sxCisiIE5vdGU6IGhpZ2hsaWdodGluZyBvZiBwYWNrYWdlIGZ1bmN0aW9ucyBpcyBub3cgdXNlci1zZWxlY3RhYmxlIGJ5IHBhY2thZ2UuCisKKyIgUGFja2FnZTogREV0b29scyAgICAgZGlmZmVyZW50aWFsIGVxdWF0aW9ucyB0b29scyB7e3syCitpZiBleGlzdHMoIm12X0RFdG9vbHMiKQorICBzeW4ga2V5d29yZCBtdlBrZ19ERXRvb2xzCURFbm9ybWFsCURjaGFuZ2V2YXIJYXV0b25vbW91cwlkZmllbGRwbG90CXJlZHVjZU9yZGVyCXVudHJhbnNsYXRlCisgIHN5biBrZXl3b3JkIG12UGtnX0RFdG9vbHMJREVwbG90CVBERWNoYW5nZWNvb3Jkcwljb252ZXJ0QWxnCWluZGljaWFsZXEJcmVndWxhcnNwCXZhcnBhcmFtCisgIHN5biBrZXl3b3JkIG12UGtnX0RFdG9vbHMJREVwbG90M2QJUERFcGxvdAljb252ZXJ0c3lzCXBoYXNlcG9ydHJhaXQJdHJhbnNsYXRlCitlbmRpZgorCisiIFBhY2thZ2U6IERvbWFpbnM6IGNyZWF0ZSBkb21haW5zIG9mIGNvbXB1dGF0aW9uIHt7ezIKK2lmIGV4aXN0cygibXZfRG9tYWlucyIpCitlbmRpZgorCisiIFBhY2thZ2U6IEdGOiBHYWxvaXMgRmllbGRzIHt7ezIKK2lmIGV4aXN0cygibXZfR0YiKQorICBzeW4ga2V5d29yZCBtdlBrZ19HYWxvaXMJZ2Fsb2lzCitlbmRpZgorCisiIFBhY2thZ2U6IEdhdXNzSW50OiBHYXVzc2lhbiBJbnRlZ2VycyB7e3syCitpZiBleGlzdHMoIm12X0dhdXNzSW50IikKKyAgc3luIGtleXdvcmQgbXZQa2dfR2F1c3NJbnQJR0liYXNpcwlHSWZhY3RvcglHSWlzc3FyCUdJbm9ybQlHSXF1YWRyZXMJR0lzbWl0aAorICBzeW4ga2V5d29yZCBtdlBrZ19HYXVzc0ludAlHSWNocmVtCUdJZmFjdG9ycwlHSWxjbQlHSW5vcm1hbAlHSXF1bwlHSXNxcmZyZWUKKyAgc3luIGtleXdvcmQgbXZQa2dfR2F1c3NJbnQJR0lkaXZpc29yCUdJZ2NkCUdJbWNtYmluZQlHSW9yZGVyCUdJcmVtCUdJc3FydAorICBzeW4ga2V5d29yZCBtdlBrZ19HYXVzc0ludAlHSWZhY3BvbHkJR0lnY2RleAlHSW5lYXJlc3QJR0lwaGkJR0lyb290cwlHSXVuaXRub3JtYWwKKyAgc3luIGtleXdvcmQgbXZQa2dfR2F1c3NJbnQJR0lmYWNzZXQJR0loZXJtaXRlCUdJbm9kaXYJR0lwcmltZQlHSXNpZXZlCitlbmRpZgorCisiIFBhY2thZ2U6IExSRXRvb2xzOiBtYW5pcHVsYXRlIGxpbmVhciByZWN1cnJlbmNlIHJlbGF0aW9ucyB7e3syCitpZiBleGlzdHMoIm12X0xSRXRvb2xzIikKKyAgc3luIGtleXdvcmQgbXZQa2dfTFJFdG9vbHMJUkVjb250ZW50CVJFcHJpbXBhcnQJUkV0b2RlbHRhCWRlbHRhCWh5cGVyZ2VvbXNvbHMJcmF0cG9seXNvbHMKKyAgc3luIGtleXdvcmQgbXZQa2dfTFJFdG9vbHMJUkVjcmVhdGUJUkVyZWR1Y2VvcmRlcglSRXRvcHJvYwlkaXNwZXJzaW9uCXBvbHlzb2xzCXNoaWZ0CisgIHN5biBrZXl3b3JkIG12UGtnX0xSRXRvb2xzCVJFcGxvdAlSRXRvREUJY29uc3Rjb2VmZnNvbAorZW5kaWYKKworIiBQYWNrYWdlOiBjb21iaW5hdDogY29tYmluYXRvcmlhbCBmdW5jdGlvbnMge3t7MgoraWYgZXhpc3RzKCJtdl9jb21iaW5hdCIpCisgIHN5biBrZXl3b3JkIG12UGtnX2NvbWJpbmF0CUNoaQljb21wb3NpdGlvbglncmF5Y29kZQludW1iY29tYglwZXJtdXRlCXJhbmRwZXJtCisgIHN5biBrZXl3b3JkIG12UGtnX2NvbWJpbmF0CWJlbGwJY29uanBhcnQJaW50dG92ZWMJbnVtYmNvbXAJcG93ZXJzZXQJc3RpcmxpbmcxCisgIHN5biBrZXl3b3JkIG12UGtnX2NvbWJpbmF0CWJpbm9taWFsCWRlY29kZXBhcnQJbGFzdHBhcnQJbnVtYnBhcnQJcHJldnBhcnQJc3RpcmxpbmcyCisgIHN5biBrZXl3b3JkIG12UGtnX2NvbWJpbmF0CWNhcnRwcm9kCWVuY29kZXBhcnQJbXVsdGlub21pYWwJbnVtYnBlcm0JcmFuZGNvbWIJc3Vic2V0cworICBzeW4ga2V5d29yZCBtdlBrZ19jb21iaW5hdAljaGFyYWN0ZXIJZmlib25hY2NpCW5leHRwYXJ0CXBhcnRpdGlvbglyYW5kcGFydAl2ZWN0b2ludAorICBzeW4ga2V5d29yZCBtdlBrZ19jb21iaW5hdAljaG9vc2UJZmlyc3RwYXJ0CitlbmRpZgorCisiIFBhY2thZ2U6IGNvbWJzdHJ1Y3Q6IGNvbWJpbmF0b3JpYWwgc3RydWN0dXJlcyB7e3syCitpZiBleGlzdHMoIm12X2NvbWJzdHJ1Y3QiKQorICBzeW4ga2V5d29yZCBtdlBrZ19jb21ic3RydWN0CWFsbHN0cnVjdHMJZHJhdwlpdGVyc3RydWN0cwlvcHRpb25zCXNwZWNpZmljYXRpb24Jc3RydWN0dXJlcworICBzeW4ga2V5d29yZCBtdlBrZ19jb21ic3RydWN0CWNvdW50CWZpbmlzaGVkCW5leHRzdHJ1Y3QKK2VuZGlmCisKKyIgUGFja2FnZTogZGlmZm9ybXM6IGRpZmZlcmVudGlhbCBmb3JtcyB7e3syCitpZiBleGlzdHMoIm12X2RpZmZvcm1zIikKKyAgc3luIGtleXdvcmQgbXZQa2dfZGlmZm9ybXMJY29uc3QJZGVmZm9ybQlmb3JtcGFydAlwYXJpdHkJc2NhbGFycGFydAl3ZGVncmVlCisgIHN5biBrZXl3b3JkIG12UGtnX2RpZmZvcm1zCWQJZm9ybQltaXhwYXIJc2NhbGFyCXNpbXBmb3JtCXdlZGdlCitlbmRpZgorCisiIFBhY2thZ2U6IGZpbmFuY2U6IGZpbmFuY2lhbCBtYXRoZW1hdGljcyB7e3syCitpZiBleGlzdHMoIm12X2ZpbmFuY2UiKQorICBzeW4ga2V5d29yZCBtdlBrZ19maW5hbmNlCWFtb3J0aXphdGlvbgljYXNoZmxvd3MJZnV0dXJldmFsdWUJZ3Jvd2luZ3BlcnBldHVpdHkJbXZfZmluYW5jZQlwcmVzZW50dmFsdWUKKyAgc3luIGtleXdvcmQgbXZQa2dfZmluYW5jZQlhbm51aXR5CWVmZmVjdGl2ZXJhdGUJZ3Jvd2luZ2FubnVpdHkJbGV2ZWxjb3Vwb24JcGVycGV0dWl0eQl5aWVsZHRvbWF0dXJpdHkKKyAgc3luIGtleXdvcmQgbXZQa2dfZmluYW5jZQlibGFja3NjaG9sZXMKK2VuZGlmCisKKyIgUGFja2FnZTogZ2VuZnVuYzogcmF0aW9uYWwgZ2VuZXJhdGluZyBmdW5jdGlvbnMge3t7MgoraWYgZXhpc3RzKCJtdl9nZW5mdW5jIikKKyAgc3luIGtleXdvcmQgbXZQa2dfZ2VuZnVuYwlyZ2ZfY2hhcnNlcQlyZ2ZfZXhwYW5kCXJnZl9oeWJyaWQJcmdmX3BmcmFjCXJnZl9zZXF1ZW5jZQlyZ2ZfdGVybQorICBzeW4ga2V5d29yZCBtdlBrZ19nZW5mdW5jCXJnZl9lbmNvZGUJcmdmX2ZpbmRyZWN1cglyZ2Zfbm9ybQlyZ2ZfcmVsYXRlCXJnZl9zaW1wCXRlcm1zY2FsZQorZW5kaWYKKworIiBQYWNrYWdlOiBnZW9tZXRyeTogRXVjbGlkZWFuIGdlb21ldHJ5IHt7ezIKK2lmIGV4aXN0cygibXZfZ2VvbWV0cnkiKQorICBzeW4ga2V5d29yZCBtdlBrZ19nZW9tZXRyeQljaXJjbGUJZHNlZ21lbnQJaHlwZXJib2xhCXBhcmFib2xhCXNlZ21lbnQJdHJpYW5nbGUKKyAgc3luIGtleXdvcmQgbXZQa2dfZ2VvbWV0cnkJY29uaWMJZWxsaXBzZQlsaW5lCXBvaW50CXNxdWFyZQorZW5kaWYKKworIiBQYWNrYWdlOiBncm9ibmVyOiBHcm9ibmVyIGJhc2VzIHt7ezIKK2lmIGV4aXN0cygibXZfZ3JvYm5lciIpCisgIHN5biBrZXl3b3JkIG12UGtnX2dyb2JuZXIJZmluZHVuaQlnYmFzaXMJbGVhZG1vbglub3JtYWxmCXNvbHZhYmxlCXNwb2x5CisgIHN5biBrZXl3b3JkIG12UGtnX2dyb2JuZXIJZmluaXRlCWdzb2x2ZQorZW5kaWYKKworIiBQYWNrYWdlOiBncm91cDogcGVybXV0YXRpb24gYW5kIGZpbml0ZWx5LXByZXNlbnRlZCBncm91cHMge3t7MgoraWYgZXhpc3RzKCJtdl9ncm91cCIpCisgIHN5biBrZXl3b3JkIG12UGtnX2dyb3VwCURlcml2ZWRTCWFyZWNvbmp1Z2F0ZQljb3NldHMJZ3JvdXBvcmRlcglpc3N1Ymdyb3VwCXBlcm1yZXAKKyAgc3luIGtleXdvcmQgbXZQa2dfZ3JvdXAJTENTCWNlbnRlcgljb3NyZXAJaW50ZXIJbXVscGVybXMJcHJlcworICBzeW4ga2V5d29yZCBtdlBrZ19ncm91cAlOb3JtYWxDbG9zdXJlCWNlbnRyYWxpemVyCWRlcml2ZWQJaW52cGVybQlub3JtYWxpemVyCXN1YmdyZWwKKyAgc3luIGtleXdvcmQgbXZQa2dfZ3JvdXAJUmFuZEVsZW1lbnQJY29udmVydAlncmVsZ3JvdXAJaXNhYmVsaWFuCW9yYml0CXR5cGUKKyAgc3luIGtleXdvcmQgbXZQa2dfZ3JvdXAJU3lsb3cJY29yZQlncm91cG1lbWJlcglpc25vcm1hbAlwZXJtZ3JvdXAKK2VuZGlmCisKKyIgUGFja2FnZTogaW50dHJhbnM6IGludGVncmFsIHRyYW5zZm9ybXMge3t7MgoraWYgZXhpc3RzKCJtdl9pbnR0cmFucyIpCisgIHN5biBrZXl3b3JkIG12UGtnX2ludHRyYW5zCWFkZHRhYmxlCWZvdXJpZXJjb3MJaGFua2VsCWludmZvdXJpZXIJaW52bGFwbGFjZQltZWxsaW4KKyAgc3luIGtleXdvcmQgbXZQa2dfaW50dHJhbnMJZm91cmllcglmb3VyaWVyc2luCWhpbGJlcnQJaW52aGlsYmVydAlsYXBsYWNlCitlbmRpZgorCisiIFBhY2thZ2U6IGxpZXN5bW06IExpZSBzeW1tZXRyaWVzIHt7ezIKK2lmIGV4aXN0cygibXZfbGllc3ltbSIpCisgIHN5biBrZXl3b3JkIG12UGtnX2xpZXN5bW0JJl4JVEQJZGVwdmFycwlnZXRmb3JtCW1peHBhcgl2Zml4CisgIHN5biBrZXl3b3JkIG12UGtnX2xpZXN5bW0JJm1vZAlhbm51bAlkZXRlcm1pbmUJaGFzY2xvc3VyZQlwcm9sb25nCXdjb2xsZWN0CisgIHN5biBrZXl3b3JkIG12UGtnX2xpZXN5bW0JRXRhCWF1dG9zaW1wCWR2YWx1ZQlob29rCXJlZHVjZQl3ZGVncmVlCisgIHN5biBrZXl3b3JkIG12UGtnX2xpZXN5bW0JTGllCWNsb3NlCWV4dHZhcnMJaW5kZXB2YXJzCXNldHVwCXdlZGdlc2V0CisgIHN5biBrZXl3b3JkIG12UGtnX2xpZXN5bW0JTHJhbmsJZAlnZXRjb2VmZgltYWtlZm9ybXMJdHJhbnNsYXRlCXdzdWJzCitlbmRpZgorCisiIFBhY2thZ2U6IGxpbmFsZzogTGluZWFyIGFsZ2VicmEge3t7MgoraWYgZXhpc3RzKCJtdl9saW5hbGciKQorICBzeW4ga2V5d29yZCBtdlBrZ19saW5hbGcJR3JhbVNjaG1pZHQJY29sZGltCWVxdWFsCWluZGV4ZnVuYwltdWxjb2wJc2luZ3ZhbAorICBzeW4ga2V5d29yZCBtdlBrZ19saW5hbGcJSm9yZGFuQmxvY2sJY29sc3BhY2UJZXhwb25lbnRpYWwJaW5uZXJwcm9kCW11bHRpcGx5CXNtaXRoCisgIHN5biBrZXl3b3JkIG12UGtnX2xpbmFsZwlMVWRlY29tcAljb2xzcGFuCWV4dGVuZAlpbnRiYXNpcwlub3JtCXN0YWNrCisgIHN5biBrZXl3b3JkIG12UGtnX2xpbmFsZwlRUmRlY29tcAljb21wYW5pb24JZmZnYXVzc2VsaW0JaW52ZXJzZQlub3JtYWxpemUJc3VibWF0cml4CisgIHN5biBrZXl3b3JkIG12UGtnX2xpbmFsZwlhZGRjb2wJY29uZAlmaWJvbmFjY2kJaXNtaXRoCW9ydGhvZwlzdWJ2ZWN0b3IKKyAgc3luIGtleXdvcmQgbXZQa2dfbGluYWxnCWFkZHJvdwljb3B5aW50bwlmb3J3YXJkc3ViCWlzc2ltaWxhcglwZXJtYW5lbnQJc3VtYmFzaXMKKyAgc3luIGtleXdvcmQgbXZQa2dfbGluYWxnCWFkam9pbnQJY3Jvc3Nwcm9kCWZyb2Jlbml1cwlpc3plcm8JcGl2b3QJc3dhcGNvbAorICBzeW4ga2V5d29yZCBtdlBrZ19saW5hbGcJYW5nbGUJY3VybAlnYXVzc2VsaW0JamFjb2JpYW4JcG90ZW50aWFsCXN3YXByb3cKKyAgc3luIGtleXdvcmQgbXZQa2dfbGluYWxnCWF1Z21lbnQJZGVmaW5pdGUJZ2F1c3Nqb3JkCWpvcmRhbglyYW5kbWF0cml4CXN5bHZlc3RlcgorICBzeW4ga2V5d29yZCBtdlBrZ19saW5hbGcJYmFja3N1YglkZWxjb2xzCWdlbmVxbnMJa2VybmVsCXJhbmR2ZWN0b3IJdG9lcGxpdHoKKyAgc3luIGtleXdvcmQgbXZQa2dfbGluYWxnCWJhbmQJZGVscm93cwlnZW5tYXRyaXgJbGFwbGFjaWFuCXJhbmsJdHJhY2UKKyAgc3luIGtleXdvcmQgbXZQa2dfbGluYWxnCWJhc2lzCWRldAlncmFkCWxlYXN0c3FycwlyZWZlcmVuY2VzCXRyYW5zcG9zZQorICBzeW4ga2V5d29yZCBtdlBrZ19saW5hbGcJYmV6b3V0CWRpYWcJaGFkYW1hcmQJbGluc29sdmUJcm93CXZhbmRlcm1vbmRlCisgIHN5biBrZXl3b3JkIG12UGtnX2xpbmFsZwlibG9ja21hdHJpeAlkaXZlcmdlCWhlcm1pdGUJbWF0YWRkCXJvd2RpbQl2ZWNwb3RlbnQKKyAgc3luIGtleXdvcmQgbXZQa2dfbGluYWxnCWNoYXJtYXQJZG90cHJvZAloZXNzaWFuCW1hdHJpeAlyb3dzcGFjZQl2ZWN0ZGltCisgIHN5biBrZXl3b3JkIG12UGtnX2xpbmFsZwljaGFycG9seQllaWdlbnZhbAloaWxiZXJ0CW1pbm9yCXJvd3NwYW4JdmVjdG9yCisgIHN5biBrZXl3b3JkIG12UGtnX2xpbmFsZwljaG9sZXNreQllaWdlbnZlY3QJaHRyYW5zcG9zZQltaW5wb2x5CXNjYWxhcm11bAl3cm9uc2tpYW4KKyAgc3luIGtleXdvcmQgbXZQa2dfbGluYWxnCWNvbAllbnRlcm1hdHJpeAlpaGVybWl0ZQorZW5kaWYKKworIiBQYWNrYWdlOiBsb2dpYzogQm9vbGVhbiBsb2dpYyB7e3syCitpZiBleGlzdHMoIm12X2xvZ2ljIikKKyAgc3luIGtleXdvcmQgbXZQa2dfbG9naWMJTU9EMglic2ltcAlkaXN0cmliCWVudmlyb24JcmFuZGJvb2wJdGF1dG9sb2d5CisgIHN5biBrZXl3b3JkIG12UGtnX2xvZ2ljCWJlcXVhbAljYW5vbglkdWFsCWZyb21pbmVydAlzYXRpc2Z5CXRvaW5lcnQKK2VuZGlmCisKKyIgUGFja2FnZTogbmV0d29ya3M6IGdyYXBoIG5ldHdvcmtzIHt7ezIKK2lmIGV4aXN0cygibXZfbmV0d29ya3MiKQorICBzeW4ga2V5d29yZCBtdlBrZ19uZXR3b3JrcwlhY3ljcG9seQljb25uZWN0CWRpbmljCWdyYXBoCW1pbmN1dAlzaG93CisgIHN5biBrZXl3b3JkIG12UGtnX25ldHdvcmtzCWFkZGVkZ2UJY29ubmVjdGl2aXR5CWRqc3BhbnRyZWUJZ3JhcGhpY2FsCW1pbmRlZ3JlZQlzaHJpbmsKKyAgc3luIGtleXdvcmQgbXZQa2dfbmV0d29ya3MJYWRkdmVydGV4CWNvbnRyYWN0CWRvZGVjYWhlZHJvbglnc2ltcAluZWlnaGJvcnMJc3BhbgorICBzeW4ga2V5d29yZCBtdlBrZ19uZXR3b3JrcwlhZGphY2VuY3kJY291bnRjdXRzCWRyYXcJZ3VuaW9uCW5ldwlzcGFucG9seQorICBzeW4ga2V5d29yZCBtdlBrZ19uZXR3b3JrcwlhbGxwYWlycwljb3VudHRyZWVzCWR1cGxpY2F0ZQloZWFkCW9jdGFoZWRyb24Jc3BhbnRyZWUKKyAgc3luIGtleXdvcmQgbXZQa2dfbmV0d29ya3MJYW5jZXN0b3IJY3ViZQllZGdlcwlpY29zYWhlZHJvbglvdXRkZWdyZWUJdGFpbAorICBzeW4ga2V5d29yZCBtdlBrZ19uZXR3b3JrcwlhcnJpdmFscwljeWNsZQllbmRzCWluY2lkZW5jZQlwYXRoCXRldHJhaGVkcm9uCisgIHN5biBrZXl3b3JkIG12UGtnX25ldHdvcmtzCWJpY29tcG9uZW50cwljeWNsZWJhc2UJZXdlaWdodAlpbmNpZGVudAlwZXRlcnNlbgl0dXR0ZXBvbHkKKyAgc3luIGtleXdvcmQgbXZQa2dfbmV0d29ya3MJY2hhcnBvbHkJZGF1Z2h0ZXIJZmxvdwlpbmRlZ3JlZQlyYW5kb20JdmRlZ3JlZQorICBzeW4ga2V5d29yZCBtdlBrZ19uZXR3b3JrcwljaHJvbXBvbHkJZGVncmVlc2VxCWZsb3dwb2x5CWluZHVjZQlyYW5rCXZlcnRpY2VzCisgIHN5biBrZXl3b3JkIG12UGtnX25ldHdvcmtzCWNvbXBsZW1lbnQJZGVsZXRlCWZ1bmRjeWMJaXNwbGFuYXIJcmFua3BvbHkJdm9pZAorICBzeW4ga2V5d29yZCBtdlBrZ19uZXR3b3Jrcwljb21wbGV0ZQlkZXBhcnR1cmVzCWdldGxhYmVsCW1heGRlZ3JlZQlzaG9ydHBhdGh0cmVlCXZ3ZWlnaHQKKyAgc3luIGtleXdvcmQgbXZQa2dfbmV0d29ya3MJY29tcG9uZW50cwlkaWFtZXRlcglnaXJ0aAorZW5kaWYKKworIiBQYWNrYWdlOiBudW1hcHByb3g6IG51bWVyaWNhbCBhcHByb3hpbWF0aW9uIHt7ezIKK2lmIGV4aXN0cygibXZfbnVtYXBwcm94IikKKyAgc3luIGtleXdvcmQgbXZQa2dfbnVtYXBwcm94CWNoZWJkZWcJY2hlYnNvcnQJZm5vcm0JbGF1cmVudAltaW5pbWF4CXJlbWV6CisgIHN5biBrZXl3b3JkIG12UGtnX251bWFwcHJveAljaGVibXVsdAljaGVieXNoZXYJaG9ybmVyZm9ybQlsYXVyZW50CXBhZGUJdGF5bG9yCisgIHN5biBrZXl3b3JkIG12UGtnX251bWFwcHJveAljaGVicGFkZQljb25mcmFjZm9ybQlpbmZub3JtCW1pbmltYXgKK2VuZGlmCisKKyIgUGFja2FnZTogbnVtdGhlb3J5OiBudW1iZXIgdGhlb3J5IHt7ezIKK2lmIGV4aXN0cygibXZfbnVtdGhlb3J5IikKKyAgc3luIGtleXdvcmQgbXZQa2dfbnVtdGhlb3J5CUIJY3ljbG90b21pYwlpbnZjZnJhYwltY29tYmluZQludGhjb252ZXIJcHJpbXJvb3QKKyAgc3luIGtleXdvcmQgbXZQa2dfbnVtdGhlb3J5CUYJZGl2aXNvcnMJaW52cGhpCW1lcnNlbm5lCW50aGRlbm9tCXF1YWRyZXMKKyAgc3luIGtleXdvcmQgbXZQa2dfbnVtdGhlb3J5CUdJZ2NkCWV1bGVyCWlzb2x2ZQltaW5rb3dza2kJbnRobnVtZXIJcm9vdHN1bml0eQorICBzeW4ga2V5d29yZCBtdlBrZ19udW10aGVvcnkJSglmYWN0b3JFUQlpc3ByaW1lCW1pcG9seXMJbnRocG93CXNhZmVwcmltZQorICBzeW4ga2V5d29yZCBtdlBrZ19udW10aGVvcnkJTAlmYWN0b3JzZXQJaXNzcXJmcmVlCW1sb2cJb3JkZXIJc2lnbWEKKyAgc3luIGtleXdvcmQgbXZQa2dfbnVtdGhlb3J5CU0JZmVybWF0CWl0aHByaW1lCW1vYml1cwlwZGV4cGFuZAlzcTJmYWN0b3IKKyAgc3luIGtleXdvcmQgbXZQa2dfbnVtdGhlb3J5CWJlcm5vdWxsaQlpZmFjdG9yCWphY29iaQltcm9vdAlwaGkJc3VtMnNxcgorICBzeW4ga2V5d29yZCBtdlBrZ19udW10aGVvcnkJYmlnb21lZ2EJaWZhY3RvcnMJa3JvbmVja2VyCW1zcXJ0CXBwcmltcm9vdAl0YXUKKyAgc3luIGtleXdvcmQgbXZQa2dfbnVtdGhlb3J5CWNmcmFjCWltYWd1bml0CWxhbWJkYQluZWFyZXN0cAlwcmV2cHJpbWUJdGh1ZQorICBzeW4ga2V5d29yZCBtdlBrZ19udW10aGVvcnkJY2ZyYWNwb2wJaW5kZXgJbGVnZW5kcmUJbmV4dHByaW1lCitlbmRpZgorCisiIFBhY2thZ2U6IG9ydGhvcG9seTogb3J0aG9nb25hbCBwb2x5bm9taWFscyB7e3syCitpZiBleGlzdHMoIm12X29ydGhvcG9seSIpCisgIHN5biBrZXl3b3JkIG12UGtnX29ydGhvcG9seQlHCUgJTAlQCVQJVQorZW5kaWYKKworIiBQYWNrYWdlOiBwYWRpYzogcC1hZGljIG51bWJlcnMge3t7MgoraWYgZXhpc3RzKCJtdl9wYWRpYyIpCisgIHN5biBrZXl3b3JkIG12UGtnX3BhZGljCWV2YWxwCWZ1bmN0aW9uCW9yZGVycAlyYXR2YWx1ZXAJcm9vdHAJdmFsdWVwCisgIHN5biBrZXl3b3JkIG12UGtnX3BhZGljCWV4cGFuc2lvbglsY29lZmZwCW9yZHAKK2VuZGlmCisKKyIgUGFja2FnZTogcGxvdHM6IGdyYXBoaWNzIHBhY2thZ2Uge3t7MgoraWYgZXhpc3RzKCJtdl9wbG90cyIpCisgIHN5biBrZXl3b3JkIG12UGtnX3Bsb3RzCWFuaW1hdGUJY29vcmRwbG90M2QJZ3JhZHBsb3QzZAlsaXN0cGxvdDNkCXBvbGFycGxvdAlzZXRvcHRpb25zM2QKKyAgc3luIGtleXdvcmQgbXZQa2dfcGxvdHMJYW5pbWF0ZTNkCWN5bGluZGVycGxvdAlpbXBsaWNpdHBsb3QJbG9nbG9ncGxvdAlwb2x5Z29ucGxvdAlzcGFjZWN1cnZlCisgIHN5biBrZXl3b3JkIG12UGtnX3Bsb3RzCWNoYW5nZWNvb3JkcwlkZW5zaXR5cGxvdAlpbXBsaWNpdHBsb3QzZAlsb2dwbG90CXBvbHlnb25wbG90M2QJc3BhcnNlbWF0cml4cGxvdAorICBzeW4ga2V5d29yZCBtdlBrZ19wbG90cwljb21wbGV4cGxvdAlkaXNwbGF5CWluZXF1YWwJbWF0cml4cGxvdAlwb2x5aGVkcmFwbG90CXNwaGVyZXBsb3QKKyAgc3luIGtleXdvcmQgbXZQa2dfcGxvdHMJY29tcGxleHBsb3QzZAlkaXNwbGF5M2QJbGlzdGNvbnRwbG90CW9kZXBsb3QJcmVwbG90CXN1cmZkYXRhCisgIHN5biBrZXl3b3JkIG12UGtnX3Bsb3RzCWNvbmZvcm1hbAlmaWVsZHBsb3QJbGlzdGNvbnRwbG90M2QJcGFyZXRvCXJvb3Rsb2N1cwl0ZXh0cGxvdAorICBzeW4ga2V5d29yZCBtdlBrZ19wbG90cwljb250b3VycGxvdAlmaWVsZHBsb3QzZAlsaXN0ZGVuc2l0eXBsb3QJcG9pbnRwbG90CXNlbWlsb2dwbG90CXRleHRwbG90M2QKKyAgc3luIGtleXdvcmQgbXZQa2dfcGxvdHMJY29udG91cnBsb3QzZAlncmFkcGxvdAlsaXN0cGxvdAlwb2ludHBsb3QzZAlzZXRvcHRpb25zCXR1YmVwbG90CisgIHN5biBrZXl3b3JkIG12UGtnX3Bsb3RzCWNvb3JkcGxvdAorZW5kaWYKKworIiBQYWNrYWdlOiBwbG90dG9vbHM6IGJhc2ljIGdyYXBoaWNhbCBvYmplY3RzIHt7ezIKK2lmIGV4aXN0cygibXZfcGxvdHRvb2xzIikKKyAgc3luIGtleXdvcmQgbXZQa2dfcGxvdHRvb2xzCWFyYwljdXJ2ZQlkb2RlY2FoZWRyb24JaHlwZXJib2xhCXBpZXNsaWNlCXNlbWl0b3J1cworICBzeW4ga2V5d29yZCBtdlBrZ19wbG90dG9vbHMJYXJyb3cJY3V0aW4JZWxsaXBzZQlpY29zYWhlZHJvbglwb2ludAlzcGhlcmUKKyAgc3luIGtleXdvcmQgbXZQa2dfcGxvdHRvb2xzCWNpcmNsZQljdXRvdXQJZWxsaXB0aWNBcmMJbGluZQlwb2x5Z29uCXRldHJhaGVkcm9uCisgIHN5biBrZXl3b3JkIG12UGtnX3Bsb3R0b29scwljb25lCWN5bGluZGVyCWhlbWlzcGhlcmUJb2N0YWhlZHJvbglyZWN0YW5nbGUJdG9ydXMKKyAgc3luIGtleXdvcmQgbXZQa2dfcGxvdHRvb2xzCWN1Ym9pZAlkaXNrCWhleGFoZWRyb24KK2VuZGlmCisKKyIgUGFja2FnZTogcG93c2VyaWVzOiBmb3JtYWwgcG93ZXIgc2VyaWVzIHt7ezIKK2lmIGV4aXN0cygibXZfcG93c2VyaWVzIikKKyAgc3luIGtleXdvcmQgbXZQa2dfcG93c2VyaWVzCWNvbXBvc2UJbXVsdGlwbHkJcG93Y3JlYXRlCXBvd2xvZwlwb3dzb2x2ZQlyZXZlcnNpb24KKyAgc3luIGtleXdvcmQgbXZQa2dfcG93c2VyaWVzCWV2YWxwb3cJbmVnYXRpdmUJcG93ZGlmZglwb3dwb2x5CXBvd3NxcnQJc3VidHJhY3QKKyAgc3luIGtleXdvcmQgbXZQa2dfcG93c2VyaWVzCWludmVyc2UJcG93YWRkCXBvd2V4cAlwb3dzZXJpZXMJcXVvdGllbnQJdHBzZm9ybQorICBzeW4ga2V5d29yZCBtdlBrZ19wb3dzZXJpZXMJbXVsdGNvbnN0CXBvd2Nvcwlwb3dpbnQJcG93c2luCitlbmRpZgorCisiIFBhY2thZ2U6IHByb2Nlc3M6IChVbml4KS1tdWx0aS1wcm9jZXNzaW5nIHt7ezIKK2lmIGV4aXN0cygibXZfcHJvY2VzcyIpCisgIHN5biBrZXl3b3JkIG12UGtnX3Byb2Nlc3MJYmxvY2sJZm9yawlwY2xvc2UJcGlwZQlwb3Blbgl3YWl0CisgIHN5biBrZXl3b3JkIG12UGtnX3Byb2Nlc3MJZXhlYwlraWxsCitlbmRpZgorCisiIFBhY2thZ2U6IHNpbXBsZXg6IGxpbmVhciBvcHRpbWl6YXRpb24ge3t7MgoraWYgZXhpc3RzKCJtdl9zaW1wbGV4IikKKyAgc3luIGtleXdvcmQgbXZQa2dfc2ltcGxleAlOT05ORUdBVElWRQljdGVybQlkdWFsCW1heGltaXplCXBpdm90ZXFuCXNldHVwCisgIHN5biBrZXl3b3JkIG12UGtnX3NpbXBsZXgJYmFzaXMJZGVmaW5lX3plcm8JZXF1YWxpdHkJbWluaW1pemUJcGl2b3R2YXIJc3RhbmRhcmRpemUKKyAgc3luIGtleXdvcmQgbXZQa2dfc2ltcGxleAljb252ZXhodWxsCWRpc3BsYXkJZmVhc2libGUJcGl2b3QJcmF0aW8KK2VuZGlmCisKKyIgUGFja2FnZTogc3RhdHM6IHN0YXRpc3RpY3Mge3t7MgoraWYgZXhpc3RzKCJtdl9zdGF0cyIpCisgIHN5biBrZXl3b3JkIG12UGtnX3N0YXRzCWFub3ZhCWRlc2NyaWJlCWZpdAlyYW5kb20Jc3RhdGV2YWxmCXN0YXRwbG90cworZW5kaWYKKworIiBQYWNrYWdlOiBzdHVkZW50OiBzdHVkZW50IGNhbGN1bHVzIHt7ezIKK2lmIGV4aXN0cygibXZfc3R1ZGVudCIpCisgIHN5biBrZXl3b3JkIG12UGtnX3N0dWRlbnQJRAlQcm9kdWN0CWRpc3RhbmNlCWlzb2xhdGUJbWlkZGxlc3VtCXJpZ2h0c3VtCisgIHN5biBrZXl3b3JkIG12UGtnX3N0dWRlbnQJRGlmZglTdW0JZXF1YXRlCWxlZnRib3gJbWlkcG9pbnQJc2hvd3RhbmdlbnQKKyAgc3luIGtleXdvcmQgbXZQa2dfc3R1ZGVudAlEb3VibGVpbnQJVHJpcGxlaW50CWV4dHJlbWEJbGVmdHN1bQltaW5pbWl6ZQlzaW1wc29uCisgIHN5biBrZXl3b3JkIG12UGtnX3N0dWRlbnQJSW50CWNoYW5nZXZhcglpbnRlZ3JhbmQJbWFrZXByb2MJbWluaW1pemUJc2xvcGUKKyAgc3luIGtleXdvcmQgbXZQa2dfc3R1ZGVudAlMaW1pdAljb21iaW5lCWludGVyY2VwdAltYXhpbWl6ZQlwb3dzdWJzCXRyYXBlem9pZAorICBzeW4ga2V5d29yZCBtdlBrZ19zdHVkZW50CUxpbmVpbnQJY29tcGxldGVzcXVhcmUJaW50cGFydHMJbWlkZGxlYm94CXJpZ2h0Ym94CXZhbHVlCisgIHN5biBrZXl3b3JkIG12UGtnX3N0dWRlbnQJUG9pbnQKK2VuZGlmCisKKyIgUGFja2FnZTogc3VtdG9vbHM6IGluZGVmaW5pdGUgYW5kIGRlZmluaXRlIHN1bXMge3t7MgoraWYgZXhpc3RzKCJtdl9zdW10b29scyIpCisgIHN5biBrZXl3b3JkIG12UGtnX3N1bXRvb2xzCUh5cGVyc3VtCWV4dGVuZGVkX2dvc3BlcgloeXBlcnJlY3Vyc2lvbgloeXBlcnRlcm0Jc3VtcmVjdXJzaW9uCXN1bXRvaHlwZXIKKyAgc3luIGtleXdvcmQgbXZQa2dfc3VtdG9vbHMJU3VtdG9oeXBlcglnb3NwZXIJaHlwZXJzdW0Jc2ltcGNvbWIKK2VuZGlmCisKKyIgUGFja2FnZTogdGVuc29yOiB0ZW5zb3IgY29tcHV0YXRpb25zIGFuZCBHZW5lcmFsIFJlbGF0aXZpdHkge3t7MgoraWYgZXhpc3RzKCJtdl90ZW5zb3IiKQorICBzeW4ga2V5d29yZCBtdlBrZ190ZW5zb3IJQ2hyaXN0b2ZmZWwxCVJpZW1hbm4JY29ubmV4RglkaXNwbGF5X2FsbEdSCWdldF9jb21wdHMJcGFydGlhbF9kaWZmCisgIHN5biBrZXl3b3JkIG12UGtnX3RlbnNvcglDaHJpc3RvZmZlbDIJUmllbWFubkYJY29udHJhY3QJZHVhbAlnZXRfcmFuawlwZXJtdXRlX2luZGljZXMKKyAgc3luIGtleXdvcmQgbXZQa2dfdGVuc29yCUVpbnN0ZWluCVdleWwJY29udmVydE5QCWVudGVybWV0cmljCWludmFycwlwZXRyb3YKKyAgc3luIGtleXdvcmQgbXZQa2dfdGVuc29yCUphY29iaWFuCWFjdAljb3ZfZGlmZglleHRlcmlvcl9kaWZmCWludmVydAlwcm9kCisgIHN5biBrZXl3b3JkIG12UGtnX3RlbnNvcglLaWxsaW5nX2VxbnMJYW50aXN5bW1ldHJpemUJY3JlYXRlCWV4dGVyaW9yX3Byb2QJbGluX2NvbQlyYWlzZQorICBzeW4ga2V5d29yZCBtdlBrZ190ZW5zb3IJTGV2aV9DaXZpdGEJY2hhbmdlX2Jhc2lzCWQxbWV0cmljCWZyYW1lCWxvd2VyCXN5bW1ldHJpemUKKyAgc3luIGtleXdvcmQgbXZQa2dfdGVuc29yCUxpZV9kaWZmCWNvbW11dGF0b3IJZDJtZXRyaWMJZ2VvZGVzaWNfZXFucwlucGN1cnZlCXRlbnNvcnNHUgorICBzeW4ga2V5d29yZCBtdlBrZ190ZW5zb3IJUmljY2kJY29tcGFyZQlkaXJlY3Rpb25hbF9kaWZmCWdldF9jaGFyCW5wc3Bpbgl0cmFuc2Zvcm0KKyAgc3luIGtleXdvcmQgbXZQa2dfdGVuc29yCVJpY2Npc2NhbGFyCWNvbmoJZGlzcGxheUdSCitlbmRpZgorCisiIFBhY2thZ2U6IHRvdG9yZGVyOiB0b3RhbCBvcmRlcnMgb24gbmFtZXMge3t7MgoraWYgZXhpc3RzKCJtdl90b3RvcmRlciIpCisgIHN5biBrZXl3b3JkIG12UGtnX3RvdG9yZGVyCWZvcmdldAlpbml0CW9yZGVyaW5nCXRhc3N1bWUJdGlzCitlbmRpZgorIiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIiBIaWdobGlnaHRpbmc6IERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuIHt7ezEKKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21hcGxldl9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tYXBsZXZfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIE1hcGxlLT5NYXBsZSBMaW5rcyB7e3syCisgIEhpTGluayBtdkJyYWNlRXJyb3IJbXZFcnJvcgorICBIaUxpbmsgbXZDdXJseUVycm9yCW12RXJyb3IKKyAgSGlMaW5rIG12RGVidWcJCW12VG9kbworICBIaUxpbmsgbXZQYXJlbkVycm9yCW12RXJyb3IKKyAgSGlMaW5rIG12UGtnX0RFdG9vbHMJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19HYWxvaXMJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19HYXVzc0ludAltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX0xSRXRvb2xzCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfY29tYmluYXQJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19jb21ic3RydWN0CW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfZGlmZm9ybXMJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19maW5hbmNlCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfZ2VuZnVuYwltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX2dlb21ldHJ5CW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfZ3JvYm5lcgltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX2dyb3VwCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfaW50dHJhbnMJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19saWVzeW1tCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfbGluYWxnCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfbG9naWMJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19uZXR3b3JrcwltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX251bWFwcHJveAltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX251bXRoZW9yeQltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX29ydGhvcG9seQltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX3BhZGljCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfcGxvdHMJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19wbG90dG9vbHMJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19wb3dzZXJpZXMJbXZQa2dGdW5jCisgIEhpTGluayBtdlBrZ19wcm9jZXNzCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfc2ltcGxleAltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX3N0YXRzCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfc3R1ZGVudAltdlBrZ0Z1bmMKKyAgSGlMaW5rIG12UGtnX3N1bXRvb2xzCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfdGVuc29yCW12UGtnRnVuYworICBIaUxpbmsgbXZQa2dfdG90b3JkZXIJbXZQa2dGdW5jCisgIEhpTGluayBtdlJhbmdlCQltdk9wZXIKKyAgSGlMaW5rIG12U2VtaUVycm9yCW12RXJyb3IKKworICAiIE1hcGxlLT5TdGFuZGFyZCBMaW5rcyB7e3syCisgIEhpTGluayBtdkFzc2lnbgkJRGVsaW1pdGVyCisgIEhpTGluayBtdkJvb2wJCUJvb2xlYW4KKyAgSGlMaW5rIG12Q29tbWEJCURlbGltaXRlcgorICBIaUxpbmsgbXZDb21tZW50CQlDb21tZW50CisgIEhpTGluayBtdkNvbmQJCUNvbmRpdGlvbmFsCisgIEhpTGluayBtdkNvbnN0YW50CQlOdW1iZXIKKyAgSGlMaW5rIG12RGVsYXlFdmFsCUxhYmVsCisgIEhpTGluayBtdkVycm9yCQlFcnJvcgorICBIaUxpbmsgbXZMaWJyYXJ5CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG12TnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIG12T3BlcgkJT3BlcmF0b3IKKyAgSGlMaW5rIG12UGFja2FnZQkJVHlwZQorICBIaUxpbmsgbXZQa2dGdW5jCQlGdW5jdGlvbgorICBIaUxpbmsgbXZQa3RPcHRpb24JU3BlY2lhbAorICBIaUxpbmsgbXZSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgbXZTcGVjaWFsCQlTcGVjaWFsCisgIEhpTGluayBtdlN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG12U3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIG12VG9kbwkJVG9kbworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisiIEN1cnJlbnQgU3ludGF4OiB7e3sxCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtYXBsZSIKKyIgdmltOiB0cz0yMCBmZG09bWFya2VyCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tYXNtLnZpbSBiL3J1bnRpbWUvc3ludGF4L21hc20udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxMWEwMjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tYXNtLnZpbQpAQCAtMCwwICsxLDE0NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1pY3Jvc29mdCBBc3NlbWJsZXIgKDgweDg2KQorIiBNYWludGFpbmVyOglSb2IgQnJhZHkgPHJvYmJAZGF0YXRvbmUuY29tPgorIiBMYXN0IENoYW5nZToJJERhdGUkCisiIFVSTDogaHR0cDovL3d3dy5kYXRhdG9uZS5jb20vfnJvYmIvdmltL3N5bnRheC9tYXNtLnZpbQorIiAkUmV2aXNpb24kCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKworIiBzeW4gbWF0Y2ggbWFzbVR5cGUgIlwud29yZCIKKworc3luIG1hdGNoIG1hc21JZGVudGlmaWVyCSJbYS16XyRdW2EtejAtOV8kXSoiCitzeW4gbWF0Y2ggbWFzbUxhYmVsCQkiXltBLVpfJF1bQS1aMC05XyRdKjoiaGU9ZS0xCisKK3N5biBtYXRjaCBtYXNtRGVjaW1hbAkJIlxkKiIKK3N5biBtYXRjaCBtYXNtQmluYXJ5CQkiWzAtMV1cK2IiICAicHV0IHRoaXMgYmVmb3JlIGhleCBvciAwYmZoIGRpZXMhCitzeW4gbWF0Y2ggbWFzbUhleGFkZWNpbWFsCSJbMC05XVx4KmgiCitzeW4gbWF0Y2ggbWFzbUZsb2F0CQkiWzAtOV1ceCpyIgorCitzeW4gbWF0Y2ggbWFzbUNvbW1lbnQJCSI7LioiCitzeW4gcmVnaW9uIG1hc21TdHJpbmcJCXN0YXJ0PSsnKyBlbmQ9KycrCisKK3N5biBrZXl3b3JkIG1hc21PcGVyYXRvcglBTkQgQllURSBQVFIgQ09ERVBUUiBEQVRBUFRSIERVUCBEV09SRCBFUSBGQVIKK3N5biBrZXl3b3JkIG1hc21PcGVyYXRvcglGV09SRCBHRSBHVCBISUdIIExBUkdFIExFIExPVyBMVCBNT0QgTkUgTkVBUgorc3luIGtleXdvcmQgbWFzbU9wZXJhdG9yCU5PVCBPRkZTRVQgT1IgUFJPQyBQV09SRCBRV09SRCBTRUcgU0hPUlQgVEJZVEUKK3N5biBrZXl3b3JkIG1hc21PcGVyYXRvcglUWVBFIFdPUkQgUEFSQQorc3luIGtleXdvcmQgbWFzbURpcmVjdGl2ZQlBTElHTiBBUkcgQVNTVU1FIENPREVTRUcgQ09NTQorc3luIGtleXdvcmQgbWFzbURpcmVjdGl2ZQlDT05TVCBEQVRBU0VHIERCIEREIERGIERJU1BMQVkgRE9TU0VHIERQCitzeW4ga2V5d29yZCBtYXNtRGlyZWN0aXZlCURRIERUIERXIEVMU0UgRUxTRUlGIEVNVUwgRU5EIEVORElGIEVORE0gRU5EUAorc3luIGtleXdvcmQgbWFzbURpcmVjdGl2ZQlFTkRTIEVOVU0gRVFVIFBST0MgUFVCTElDIFBVQkxJQ0RMTCBSQURJWAorc3luIGtleXdvcmQgbWFzbURpcmVjdGl2ZQlFWFRSTiBGQVJEQVRBIEdMT0JBTCBSRUNPUkQgU0VHTUVOVCBTTUFMTFNUQUNLCitzeW4ga2V5d29yZCBtYXNtRGlyZWN0aXZlCUdST1VQIElGIElGMSBJRjIgSUZCIElGREVGIElGRElGIElGRElGSQorc3luIGtleXdvcmQgbWFzbURpcmVjdGl2ZQlJRkUgSUZJRE4gSUZJRE5JIElGTkIgSUZOREVGIElOQ0xVREUgSU5DTFVETElCCitzeW4ga2V5d29yZCBtYXNtRGlyZWN0aXZlCUxBQkVMIExBUkdFU1RBQ0sgU1RBQ0sgU1RSVUMgU1VCVFRMIFRJVExFCitzeW4ga2V5d29yZCBtYXNtRGlyZWN0aXZlCU1PREVMIE5BTUUgTk9FTVVMIFVOSU9OIFVTRVMgVkVSU0lPTgorc3luIGtleXdvcmQgbWFzbURpcmVjdGl2ZQlPUkcgRkxBVAorc3luIG1hdGNoICAgbWFzbURpcmVjdGl2ZQkiXC5tb2RlbCIKK3N5biBtYXRjaCAgIG1hc21EaXJlY3RpdmUJIlwuMTg2Igorc3luIG1hdGNoICAgbWFzbURpcmVjdGl2ZQkiXC4yODYiCitzeW4gbWF0Y2ggICBtYXNtRGlyZWN0aXZlCSJcLjI4NmMiCitzeW4gbWF0Y2ggICBtYXNtRGlyZWN0aXZlCSJcLjI4NnAiCitzeW4gbWF0Y2ggICBtYXNtRGlyZWN0aXZlCSJcLjI4NyIKK3N5biBtYXRjaCAgIG1hc21EaXJlY3RpdmUJIlwuMzg2Igorc3luIG1hdGNoICAgbWFzbURpcmVjdGl2ZQkiXC4zODZjIgorc3luIG1hdGNoICAgbWFzbURpcmVjdGl2ZQkiXC4zODZwIgorc3luIG1hdGNoICAgbWFzbURpcmVjdGl2ZQkiXC4zODciCitzeW4gbWF0Y2ggICBtYXNtRGlyZWN0aXZlCSJcLjQ4NiIKK3N5biBtYXRjaCAgIG1hc21EaXJlY3RpdmUJIlwuNDg2YyIKK3N5biBtYXRjaCAgIG1hc21EaXJlY3RpdmUJIlwuNDg2cCIKK3N5biBtYXRjaCAgIG1hc21EaXJlY3RpdmUJIlwuODA4NiIKK3N5biBtYXRjaCAgIG1hc21EaXJlY3RpdmUJIlwuODA4NyIKK3N5biBtYXRjaCAgIG1hc21EaXJlY3RpdmUJIlwuQUxQSEEiCitzeW4gbWF0Y2ggICBtYXNtRGlyZWN0aXZlCSJcLkNPREUiCitzeW4gbWF0Y2ggICBtYXNtRGlyZWN0aXZlCSJcLkRBVEEiCisKK3N5biBrZXl3b3JkIG1hc21SZWdpc3RlcglBWCBCWCBDWCBEWCBTSSBESSBCUCBTUAorc3luIGtleXdvcmQgbWFzbVJlZ2lzdGVyCUVTIERTIFNTIENTCitzeW4ga2V5d29yZCBtYXNtUmVnaXN0ZXIJQUggQkggQ0ggREggQUwgQkwgQ0wgREwKK3N5biBrZXl3b3JkIG1hc21SZWdpc3RlcglFQVggRUJYIEVDWCBFRFggRVNJIEVESSBFQlAgRVNQCisKKworIiB0aGVzZSBhcmUgY3VycmVudCBhcyBvZiB0aGUgNDg2IC0gZG9uJ3QgaGF2ZSBhbnkgcGVudGl1bSBtYW51YWxzIGhhbmR5CitzeW4ga2V5d29yZCBtYXNtT3Bjb2RlCQlBQUEgQUFEIEFBTSBBQVMgQURDIEFERCBBTkQgQVJQTCBCT1VORCBCU0YKK3N5biBrZXl3b3JkIG1hc21PcGNvZGUJCUJTUiBCU1dBUCBCVCBCVEMgQlRSIEJUUyBCU1dBUCBCVCBCVEMgQlRSCitzeW4ga2V5d29yZCBtYXNtT3Bjb2RlCQlCVFMgQ0FMTCBDQlcgQ0RRIENMQyBDTEQgQ0xJIENMVFMgQ01DIENNUAorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJQ01QUyBDTVBTQiBDTVBTVyBDTVBTRCBDTVBYQ0hHIENXRCBDV0RFIERBQQorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJREFTIERFQyBESVYgRU5URVIgSExUIElESVYgSU1VTCBJTiBJTkMgSU5TCitzeW4ga2V5d29yZCBtYXNtT3Bjb2RlCQlJTlNCIElOU1cgSU5TRCBJTlQgSU5UTyBJTlZEIElOVkxQRyBJUkVUCitzeW4ga2V5d29yZCBtYXNtT3Bjb2RlCQlJUkVURCBKQSBKQUUgSkIgSkJFIEpDIEpDWFogSkVDWFogSkUgSlogSkcKK3N5biBrZXl3b3JkIG1hc21PcGNvZGUJCUpHRSBKTCBKTEUgSk5BIEpOQUUgSk5CIEpOQkUgSk5DIEpORSBKTkcgSk5HRQorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJSk5MIEpOTEUgSk5PIEpOUCBKTlMgSk5aIEpPIEpQIEpQRSBKUE8gSlMgSloKK3N5biBrZXl3b3JkIG1hc21PcGNvZGUJCUpNUCBMQUhGIExBUiBMRUEgTEVBVkUgTEdEVCBMSURUIExHUyBMU1MgTEZTCitzeW4ga2V5d29yZCBtYXNtT3Bjb2RlCQlMT0RTIExPRFNCIExPRFNXIExPRFNEIExPT1AgTE9PUEUgTE9PUFogTE9PTkUKK3N5biBrZXl3b3JkIG1hc21PcGNvZGUJCUxPT1BORSBSRVRGIFJFVE4KK3N5biBrZXl3b3JkIG1hc21PcGNvZGUJCUxEUyBMRVMgTExEVCBMTVNXIExPQ0sgTFNMIExUUiBNT1YgTU9WUyBNT1ZTQgorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJTU9WU1cgTU9WU0QgTU9WU1ggTU9WWlggTVVMIE5FRyBOT1AgTk9UIE9SCitzeW4ga2V5d29yZCBtYXNtT3Bjb2RlCQlPVVQgT1VUUyBPVVRTQiBPVVRTVyBPVVRTRCBQT1AgUE9QQSBQT1BECitzeW4ga2V5d29yZCBtYXNtT3Bjb2RlCQlQT1BGIFBPUEZEIFBVU0ggUFVTSEEgUFVTSEFEIFBVU0hGIFBVU0hGRAorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJUkNMIFJDUiBST0wgUk9SIFJFUCBSRVBFIFJFUFogUkVQTkUgUkVQTloKK3N5biBrZXl3b3JkIG1hc21PcGNvZGUJCVJFVCBTQUhGIFNBTCBTQVIgU0hMIFNIUiBTQkIgU0NBUyBTQ0FTQgorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJU0NBU1cgU0NBU0QgU0VUQSBTRVRBRSBTRVRCIFNFVEJFIFNFVEMgU0VURQorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJU0VURyBTRVRHRSBTRVRMIFNFVExFIFNFVE5BIFNFVE5BRSBTRVROQgorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJU0VUTkJFIFNFVE5DIFNFVE5FIFNFVE5HIFNFVE5HRSBTRVROTCBTRVROTEUKK3N5biBrZXl3b3JkIG1hc21PcGNvZGUJCVNFVE5PIFNFVE5QIFNFVE5TIFNFVE5aIFNFVE8gU0VUUCBTRVRQRSBTRVRQTworc3luIGtleXdvcmQgbWFzbU9wY29kZQkJU0VUUyBTRVRaIFNHRFQgU0lEVCBTSExEIFNIUkQgU0xEVCBTTVNXIFNUQworc3luIGtleXdvcmQgbWFzbU9wY29kZQkJU1REIFNUSSBTVE9TIFNUT1NCIFNUT1NXIFNUT1NEIFNUUiBTVUIgVEVTVAorc3luIGtleXdvcmQgbWFzbU9wY29kZQkJVkVSUiBWRVJXIFdBSVQgV0JJTlZEIFhBREQgWENIRyBYTEFUIFhMQVRCIFhPUgorCisiIGZsb2F0aW5nIHBvaW50IGNvcHJvY2Vzc29yIGFzIG9mIDQ4Nworc3luIGtleXdvcmQgbWFzbU9wRmxvYXQJCUYyWE0xIEZBQlMgRkFERCBGQUREUCBGQkxEIEZCU1RQIEZDSFMgRkNMRVgKK3N5biBrZXl3b3JkIG1hc21PcEZsb2F0CQlGTkNMRVggRkNPTSBGQ09NUCBGQ09NUFAgRkNPUyBGREVDU1RQIEZESVNJCitzeW4ga2V5d29yZCBtYXNtT3BGbG9hdAkJRk5ESVNJIEZESVYgRkRJVlAgRkRJVlIgRkRJVlJQIEZFTkkgRk5FTkkKK3N5biBrZXl3b3JkIG1hc21PcEZsb2F0CQlGRlJFRSBGSUFERCBGSUNPTSBGSUNPTVAgRklESVYgRklESVZSIEZJTEQKK3N5biBrZXl3b3JkIG1hc21PcEZsb2F0CQlGSU1VTCBGSU5DU1RQIEZJTklUIEZOSU5JVCBGSVNUIEZJU1RQIEZJU1VCCitzeW4ga2V5d29yZCBtYXNtT3BGbG9hdAkJRklTVUJSIEZMRCBGTERDVyBGTERFTlYgRkxETEcyIEZMRExOMiBGTERMMkUKK3N5biBrZXl3b3JkIG1hc21PcEZsb2F0CQlGTERMMlQgRkxEUEkgRkxEWiBGTEQxIEZNVUwgRk1VTFAgRk5PUCBGUEFUQU4KK3N5biBrZXl3b3JkIG1hc21PcEZsb2F0CQlGUFJFTSBGUFJFTTEgRlBUQU4gRlJORElOVCBGUlNUT1IgRlNBVkUKK3N5biBrZXl3b3JkIG1hc21PcEZsb2F0CQlGTlNBVkUgRlNDQUxFIEZTRVRQTSBGU0lOIEZTSU5DT1MgRlNRUlQgRlNUCitzeW4ga2V5d29yZCBtYXNtT3BGbG9hdAkJRlNUQ1cgRk5TVENXIEZTVEVOViBGTlNURU5WIEZTVFAgRlNUU1cgRk5TVFNXCitzeW4ga2V5d29yZCBtYXNtT3BGbG9hdAkJRlNVQiBGU1VCUCBGU1VCUiBGU1VCUlAgRlRTVCBGVUNPTSBGVUNPTVAKK3N5biBrZXl3b3JkIG1hc21PcEZsb2F0CQlGVUNPTVBQIEZXQUlUIEZYQU0gRlhDSCBGWFRSQUNUIEZZTDJYIEZZTDJYUDEKK3N5biBtYXRjaCAgIG1hc21PcEZsb2F0CQkiRlNUU1dbIFx0XVwrQVgiCitzeW4gbWF0Y2ggICBtYXNtT3BGbG9hdAkJIkZOU1RTV1sgXHRdXCtBWCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbWFzbV9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tYXNtX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICBIaUxpbmsgbWFzbUxhYmVsCUxhYmVsCisgIEhpTGluayBtYXNtQ29tbWVudAlDb21tZW50CisgIEhpTGluayBtYXNtRGlyZWN0aXZlCVN0YXRlbWVudAorICBIaUxpbmsgbWFzbU9wZXJhdG9yCVN0YXRlbWVudAorICBIaUxpbmsgbWFzbVN0cmluZwlTdHJpbmcKKworICBIaUxpbmsgbWFzbUhleGFkZWNpbWFsIE51bWJlcgorICBIaUxpbmsgbWFzbURlY2ltYWwJTnVtYmVyCisgIEhpTGluayBtYXNtQmluYXJ5CU51bWJlcgorICBIaUxpbmsgbWFzbUZsb2F0CU51bWJlcgorCisgIEhpTGluayBtYXNtSWRlbnRpZmllciBJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1hc20iCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tYXNvbi52aW0gYi9ydW50aW1lL3N5bnRheC9tYXNvbi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBiZGIwZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21hc29uLnZpbQpAQCAtMCwwICsxLDk5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgTWFzb24gKFBlcmwgZW1iZWRkZWQgaW4gSFRNTCkKKyIgTWFpbnRhaW5lcjogIEFuZHJldyBTbWl0aCA8YW5kcmV3ZHNtaXRoQHlhaG9vLmNvbT4KKyIgTGFzdCBjaGFuZ2U6IDIwMDMgTWF5IDExCisiIFVSTDoJICAgICAgIGh0dHA6Ly93d3cubWFzb25ocS5jb20vZWRpdG9ycy9tYXNvbi52aW0KKyIKKyIgVGhpcyBzZWVtcyB0byB3b3JrIHNhdGlzZmFjdG9yaWx5IHdpdGggaHRtbC52aW0gYW5kIHBlcmwudmltIGZvciB2ZXJzaW9uIDUuNS4KKyIgUGxlYXNlIG1haWwgYW55IGZpeGVzIG9yIGltcHJvdmVtZW50cyB0byB0aGUgYWJvdmUgYWRkcmVzcy4gVGhpbmdzIHRoYXQgbmVlZAorIiBkb2luZyBpbmNsdWRlOgorIgorIiAgLSBBZGQgbWF0Y2ggZm9yIGNvbXBvbmVudCBuYW1lcyBpbiA8JiAmPiBibG9ja3MuCisiICAtIEFkZCBtYXRjaCBmb3IgY29tcG9uZW50IG5hbWVzIGluIDwlZGVmPiBhbmQgPCVtZXRob2Q+IGJsb2NrIGRlbGltaXRlcnMuCisiICAtIEZpeCA8JXRleHQ+IGJsb2NrcyB0byBzaG93IEhUTUwgdGFncyBidXQgaWdub3JlIE1hc29uIHRhZ3MuCisiCisKKyIgQ2xlYXIgcHJldmlvdXMgc3ludGF4IHNldHRpbmdzIHVubGVzcyB0aGlzIGlzIHY2IG9yIGFib3ZlLCBpbiB3aGljaCBjYXNlIGp1c3QKKyIgZXhpdCB3aXRob3V0IGRvaW5nIGFueXRoaW5nLgorIgoraWYgdmVyc2lvbiA8IDYwMAorCXN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCitlbmRpZgorCisiIFRoZSBIVE1MIHN5bnRheCBmaWxlIGluY2x1ZGVkIGJlbG93IHVzZXMgdGhpcyB2YXJpYWJsZS4KKyIKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKwlsZXQgbWFpbl9zeW50YXggPSAnbWFzb24nCitlbmRpZgorCisiIEZpcnN0IHB1bGwgaW4gdGhlIEhUTUwgc3ludGF4LgorIgoraWYgdmVyc2lvbiA8IDYwMAorCXNvIDxzZmlsZT46cDpoL2h0bWwudmltCitlbHNlCisJcnVudGltZSEgc3ludGF4L2h0bWwudmltCisJdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPUBtYXNvblRvcAorCisiIE5vdyBwdWxsIGluIHRoZSBQZXJsIHN5bnRheC4KKyIKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW4gaW5jbHVkZSBAcGVybFRvcCA8c2ZpbGU+OnA6aC9wZXJsLnZpbQorZWxzZQorCXN5biBpbmNsdWRlIEBwZXJsVG9wIHN5bnRheC9wZXJsLnZpbQorZW5kaWYKKworIiBJdCdzIGhhcmQgdG8gcmVkdWNlIGRvd24gdG8gdGhlIGNvcnJlY3Qgc3ViLXNldCBvZiBQZXJsIHRvIGhpZ2hsaWdodCBpbiBzb21lCisiIG9mIHRoZXNlIGNhc2VzIHNvIEkndmUgdGFrZW4gdGhlIHNhZmUgb3B0aW9uIG9mIGp1c3QgdXNpbmcgcGVybFRvcCBpbiBhbGwgb2YKKyIgdGhlbS4gSWYgeW91IGhhdmUgYW55IHN1Z2dlc3Rpb25zLCBwbGVhc2UgbGV0IG1lIGtub3cuCisiCitzeW4gcmVnaW9uIG1hc29uTGluZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXiUiIGVuZD0iJCIgY29udGFpbnM9QHBlcmxUb3AKK3N5biByZWdpb24gbWFzb25FeHByIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8JSIgZW5kPSIlPiIgY29udGFpbnM9QHBlcmxUb3AKK3N5biByZWdpb24gbWFzb25QZXJsIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8JXBlcmw+IiBlbmQ9IjwvJXBlcmw+IiBjb250YWlucz1AcGVybFRvcAorc3luIHJlZ2lvbiBtYXNvbkNvbXAga2VlcGVuZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPCYiIGVuZD0iJj4iIGNvbnRhaW5zPUBwZXJsVG9wCisKK3N5biByZWdpb24gbWFzb25BcmdzIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8JWFyZ3M+IiBlbmQ9IjwvJWFyZ3M+IiBjb250YWlucz1AcGVybFRvcAorCitzeW4gcmVnaW9uIG1hc29uSW5pdCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPCVpbml0PiIgZW5kPSI8LyVpbml0PiIgY29udGFpbnM9QHBlcmxUb3AKK3N5biByZWdpb24gbWFzb25DbGVhbnVwIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8JWNsZWFudXA+IiBlbmQ9IjwvJWNsZWFudXA+IiBjb250YWlucz1AcGVybFRvcAorc3luIHJlZ2lvbiBtYXNvbk9uY2UgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Ijwlb25jZT4iIGVuZD0iPC8lb25jZT4iIGNvbnRhaW5zPUBwZXJsVG9wCitzeW4gcmVnaW9uIG1hc29uU2hhcmVkIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8JXNoYXJlZD4iIGVuZD0iPC8lc2hhcmVkPiIgY29udGFpbnM9QHBlcmxUb3AKKworc3luIHJlZ2lvbiBtYXNvbkRlZiBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPCVkZWZbXj5dKj4iIGVuZD0iPC8lZGVmPiIgY29udGFpbnM9QGh0bWxUb3AKK3N5biByZWdpb24gbWFzb25NZXRob2QgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IjwlbWV0aG9kW14+XSo+IiBlbmQ9IjwvJW1ldGhvZD4iIGNvbnRhaW5zPUBodG1sVG9wCisKK3N5biByZWdpb24gbWFzb25GbGFncyBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPCVmbGFncz4iIGVuZD0iPC8lZmxhZ3M+IiBjb250YWlucz1AcGVybFRvcAorc3luIHJlZ2lvbiBtYXNvbkF0dHIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IjwlYXR0cj4iIGVuZD0iPC8lYXR0cj4iIGNvbnRhaW5zPUBwZXJsVG9wCisKK3N5biByZWdpb24gbWFzb25GaWx0ZXIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IjwlZmlsdGVyPiIgZW5kPSI8LyVmaWx0ZXI+IiBjb250YWlucz1AcGVybFRvcAorCitzeW4gcmVnaW9uIG1hc29uRG9jIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8JWRvYz4iIGVuZD0iPC8lZG9jPiIKK3N5biByZWdpb24gbWFzb25UZXh0IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8JXRleHQ+IiBlbmQ9IjwvJXRleHQ+IgorCitzeW4gY2x1c3RlciBtYXNvblRvcCBjb250YWlucz1tYXNvbkxpbmUsbWFzb25FeHByLG1hc29uUGVybCxtYXNvbkNvbXAsbWFzb25BcmdzLG1hc29uSW5pdCxtYXNvbkNsZWFudXAsbWFzb25PbmNlLG1hc29uU2hhcmVkLG1hc29uRGVmLG1hc29uTWV0aG9kLG1hc29uRmxhZ3MsbWFzb25BdHRyLG1hc29uRmlsdGVyLG1hc29uRG9jLG1hc29uVGV4dAorCisiIFNldCB1cCBkZWZhdWx0IGhpZ2hsaWdodGluZy4gQWxtb3N0IGFsbCBvZiB0aGlzIGlzIGRvbmUgaW4gdGhlIGluY2x1ZGVkCisiIHN5bnRheCBmaWxlcy4KKyIKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tYXNvbl9zeW5faW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9tYXNvbl9zeW5faW5pdHMgPSAxCisJCWNvbSAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbSAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayBtYXNvbkRvYyBDb21tZW50CisKKwlkZWxjIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibWFzb24iCisKK2lmIG1haW5fc3ludGF4ID09ICdtYXNvbicKKwl1bmxldCBtYWluX3N5bnRheAorZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21hc3Rlci52aW0gYi9ydW50aW1lL3N5bnRheC9tYXN0ZXIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyMTI1YzEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tYXN0ZXIudmltCkBAIC0wLDAgKzEsNTAgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglGb2N1cyBNYXN0ZXIgRmlsZQorIiBNYWludGFpbmVyOglSb2IgQnJhZHkgPHJvYmJAZGF0YXRvbmUuY29tPgorIiBMYXN0IENoYW5nZToJJERhdGUkCisiIFVSTDogaHR0cDovL3d3dy5kYXRhdG9uZS5jb20vfnJvYmIvdmltL3N5bnRheC9tYXN0ZXIudmltCisiICRSZXZpc2lvbiQKKworIiB0aGlzIGlzIGEgdmVyeSBzaW1wbGUgc3ludGF4IGZpbGUgLSBJIHdpbGwgYmUgaW1wcm92aW5nIGl0CisiIGFkZCBlbnRpcmUgREVGSU5FIHN5bnRheAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIG1hdGNoCisKKyIgQSBidW5jaCBvZiB1c2VmdWwga2V5d29yZHMKK3N5biBrZXl3b3JkIG1hc3RlcktleXdvcmQJRklMRU5BTUUgU1VGRklYIFNFR05BTUUgU0VHVFlQRSBQQVJFTlQgRklFTEROQU1FCitzeW4ga2V5d29yZCBtYXN0ZXJLZXl3b3JkCUZJRUxEIEFMSUFTIFVTQUdFIElOREVYIE1JU1NJTkcgT04KK3N5biBrZXl3b3JkIG1hc3RlcktleXdvcmQJRk9STUFUIENSRklMRSBDUktFWQorc3luIGtleXdvcmQgbWFzdGVyRGVmaW5lCURFRklORSBERUNPREUgRURJVAorc3luIHJlZ2lvbiAgbWFzdGVyU3RyaW5nCXN0YXJ0PSsiKyAgZW5kPSsiKworc3luIHJlZ2lvbiAgbWFzdGVyU3RyaW5nCXN0YXJ0PSsnKyAgZW5kPSsnKworc3luIG1hdGNoICAgbWFzdGVyQ29tbWVudAkiXCQuKiIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbWFzdGVyX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX21hc3Rlcl9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBtYXN0ZXJLZXl3b3JkIEtleXdvcmQKKyAgSGlMaW5rIG1hc3RlckNvbW1lbnQgQ29tbWVudAorICBIaUxpbmsgbWFzdGVyU3RyaW5nICBTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibWFzdGVyIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWF0bGFiLnZpbSBiL3J1bnRpbWUvc3ludGF4L21hdGxhYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJiYTk3NQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21hdGxhYi52aW0KQEAgLTAsMCArMSwxMDkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNYXRsYWIKKyIgTWFpbnRhaW5lcjoJUHJlYmVuICdQZXBwZScgR3VsZGJlcmcgPHBlcHBlLXZpbUB3aWVsZGVycy5vcmc+CisiCQlPcmlnaW5hbCBhdXRob3I6IE1hcmlvIEV1c2ViaW8KKyIgTGFzdCBDaGFuZ2U6CTMwIE1heSAyMDAzCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGtleXdvcmQgbWF0bGFiU3RhdGVtZW50CQlyZXR1cm4KK3N5biBrZXl3b3JkIG1hdGxhYkxhYmVsCQkJY2FzZSBzd2l0Y2gKK3N5biBrZXl3b3JkIG1hdGxhYkNvbmRpdGlvbmFsCQllbHNlIGVsc2VpZiBlbmQgaWYgb3RoZXJ3aXNlCitzeW4ga2V5d29yZCBtYXRsYWJSZXBlYXQJCWRvIGZvciB3aGlsZQorCitzeW4ga2V5d29yZCBtYXRsYWJUb2RvCQkJY29udGFpbmVkICBUT0RPCisKKyIgSWYgeW91IGRvIG5vdCB3YW50IHRoZXNlIG9wZXJhdG9ycyBsaXQsIHVuY29tbW1lbnQgdGhlbSBhbmQgdGhlICJoaSBsaW5rIiBiZWxvdworc3luIG1hdGNoIG1hdGxhYkFyaXRobWV0aWNPcGVyYXRvcgkiWy0rXSIKK3N5biBtYXRjaCBtYXRsYWJBcml0aG1ldGljT3BlcmF0b3IJIlwuXD1bKi9cXF5dIgorc3luIG1hdGNoIG1hdGxhYlJlbGF0aW9uYWxPcGVyYXRvcgkiWz1+XT0iCitzeW4gbWF0Y2ggbWF0bGFiUmVsYXRpb25hbE9wZXJhdG9yCSJbPD5dPVw9Igorc3luIG1hdGNoIG1hdGxhYkxvZ2ljYWxPcGVyYXRvcgkJIlsmfH5dIgorCitzeW4gbWF0Y2ggbWF0bGFiTGluZUNvbnRpbnVhdGlvbgkiXC5cezN9IgorCisic3luIG1hdGNoIG1hdGxhYklkZW50aWZpZXIJCSJcPFxhXHcqXD4iCisKKyIgU3RyaW5nCitzeW4gcmVnaW9uIG1hdGxhYlN0cmluZwkJCXN0YXJ0PSsnKyBlbmQ9KycrCW9uZWxpbmUKKworIiBJZiB5b3UgZG9uJ3QgbGlrZSB0YWJzCitzeW4gbWF0Y2ggbWF0bGFiVGFiCQkJIlx0IgorCisiIFN0YW5kYXJkIG51bWJlcnMKK3N5biBtYXRjaCBtYXRsYWJOdW1iZXIJCSJcPFxkXCtbaWpdXD1cPiIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCBtYXRsYWJGbG9hdAkJIlw8XGRcK1woXC5cZCpcKVw9XChbZWRFRF1bLStdXD1cZFwrXClcPVtpal1cPVw+IgorIiBmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggbWF0bGFiRmxvYXQJCSJcLlxkXCtcKFtlZEVEXVstK11cPVxkXCtcKVw9W2lqXVw9XD4iCisKKyIgVHJhbnNwb3NlIGNoYXJhY3RlciBhbmQgZGVsaW1pdGVyczogRWl0aGVyIHVzZSBqdXN0IFsuLi5dIG9yICguLi4pIGFzd2VsbAorc3luIG1hdGNoIG1hdGxhYkRlbGltaXRlcgkJIltdW10iCisic3luIG1hdGNoIG1hdGxhYkRlbGltaXRlcgkJIltdWygpXSIKK3N5biBtYXRjaCBtYXRsYWJUcmFuc3Bvc2VPcGVyYXRvcgkiW10pYS16QS1aMC05Ll0nImxjPTEKKworc3luIG1hdGNoIG1hdGxhYlNlbWljb2xvbgkJIjsiCisKK3N5biBtYXRjaCBtYXRsYWJDb21tZW50CQkJIiUuKiQiCWNvbnRhaW5zPW1hdGxhYlRvZG8sbWF0bGFiVGFiCisKK3N5biBrZXl3b3JkIG1hdGxhYk9wZXJhdG9yCQlicmVhayB6ZXJvcyBkZWZhdWx0IG1hcmdpbiByb3VuZCBvbmVzIHJhbmQKK3N5biBrZXl3b3JkIG1hdGxhYk9wZXJhdG9yCQljZWlsIGZsb29yIHNpemUgY2xlYXIgemVyb3MgZXllIG1lYW4gc3RkIGNvdgorCitzeW4ga2V5d29yZCBtYXRsYWJGdW5jdGlvbgkJZXJyb3IgZXZhbCBmdW5jdGlvbgorCitzeW4ga2V5d29yZCBtYXRsYWJJbXBsaWNpdAkJYWJzIGFjb3MgYXRhbiBhc2luIGNvcyBjb3NoIGV4cCBsb2cgcHJvZCBzdW0KK3N5biBrZXl3b3JkIG1hdGxhYkltcGxpY2l0CQlsb2cxMCBtYXggbWluIHNpZ24gc2luIHNxcnQgdGFuIHJlc2hhcGUKKworc3luIG1hdGNoIG1hdGxhYkVycm9yCSItXD1cPFxkXCtcLlxkXCtcLlteKi9cXF5dIgorc3luIG1hdGNoIG1hdGxhYkVycm9yCSItXD1cPFxkXCtcLlxkXCtbZUVkRF1bLStdXD1cZFwrXC5cKFteKi9cXF5dXCkiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21hdGxhYl9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tYXRsYWJfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbWF0bGFiVHJhbnNwb3NlT3BlcmF0b3IJbWF0bGFiT3BlcmF0b3IKKyAgSGlMaW5rIG1hdGxhYk9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgbWF0bGFiTGluZUNvbnRpbnVhdGlvbglTcGVjaWFsCisgIEhpTGluayBtYXRsYWJMYWJlbAkJCUxhYmVsCisgIEhpTGluayBtYXRsYWJDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIG1hdGxhYlJlcGVhdAkJCVJlcGVhdAorICBIaUxpbmsgbWF0bGFiVG9kbwkJCVRvZG8KKyAgSGlMaW5rIG1hdGxhYlN0cmluZwkJCVN0cmluZworICBIaUxpbmsgbWF0bGFiRGVsaW1pdGVyCQlJZGVudGlmaWVyCisgIEhpTGluayBtYXRsYWJUcmFuc3Bvc2VPdGhlcgkJSWRlbnRpZmllcgorICBIaUxpbmsgbWF0bGFiTnVtYmVyCQkJTnVtYmVyCisgIEhpTGluayBtYXRsYWJGbG9hdAkJCUZsb2F0CisgIEhpTGluayBtYXRsYWJGdW5jdGlvbgkJRnVuY3Rpb24KKyAgSGlMaW5rIG1hdGxhYkVycm9yCQkJRXJyb3IKKyAgSGlMaW5rIG1hdGxhYkltcGxpY2l0CQltYXRsYWJTdGF0ZW1lbnQKKyAgSGlMaW5rIG1hdGxhYlN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBtYXRsYWJTZW1pY29sb24JCVNwZWNpYWxDaGFyCisgIEhpTGluayBtYXRsYWJDb21tZW50CQkJQ29tbWVudAorCisgIEhpTGluayBtYXRsYWJBcml0aG1ldGljT3BlcmF0b3IJbWF0bGFiT3BlcmF0b3IKKyAgSGlMaW5rIG1hdGxhYlJlbGF0aW9uYWxPcGVyYXRvcgltYXRsYWJPcGVyYXRvcgorICBIaUxpbmsgbWF0bGFiTG9naWNhbE9wZXJhdG9yCQltYXRsYWJPcGVyYXRvcgorCisib3B0aW9uYWwgaGlnaGxpZ2h0aW5nCisgICJIaUxpbmsgbWF0bGFiSWRlbnRpZmllcgkJSWRlbnRpZmllcgorICAiSGlMaW5rIG1hdGxhYlRhYgkJCUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1hdGxhYiIKKworIkVPRgl2aW06IHRzPTggbm9ldCB0dz0xMDAgc3c9OCBzdHM9MApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWVsLnZpbSBiL3J1bnRpbWUvc3ludGF4L21lbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFiODk0OAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21lbC52aW0KQEAgLTAsMCArMSwxMjEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNRUwgKE1heWEgRXh0ZW5zaW9uIExhbmd1YWdlKQorIiBNYWludGFpbmVyOglSb2JlcnQgTWluc2sgPGVnYmVydEBjZW50cm9wb2xpc2Z4LmNvbT4KKyIgTGFzdCBDaGFuZ2U6CU1heSAyNyAxOTk5CisiIEJhc2VkIG9uOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPiBDIHN5bnRheCBmaWxlCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiB3aGVuIHdhbnRlZCwgaGlnaGxpZ2h0IHRyYWlsaW5nIHdoaXRlIHNwYWNlIGFuZCBzcGFjZXMgYmVmb3JlIHRhYnMKK2lmIGV4aXN0cygibWVsX3NwYWNlX2Vycm9ycyIpCisgIHN5IG1hdGNoCW1lbFNwYWNlRXJyb3IJIlxzXCskIgorICBzeSBtYXRjaAltZWxTcGFjZUVycm9yCSIgXCtcdCJtZT1lLTEKK2VuZGlmCisKKyIgQSBidW5jaCBvZiB1c2VmdWxsIE1FTCBrZXl3b3Jrcworc3kga2V5d29yZAltZWxCb29sZWFuCXRydWUgZmFsc2UgeWVzIG5vIG9uIG9mZgorCitzeSBrZXl3b3JkCW1lbEZ1bmN0aW9uCXByb2MKK3N5IG1hdGNoCW1lbElkZW50aWZpZXIJIlwkXChcYVx8X1wpXHcqIgorCitzeSBrZXl3b3JkCW1lbFN0YXRlbWVudAlicmVhayBjb250aW51ZSByZXR1cm4KK3N5IGtleXdvcmQJbWVsQ29uZGl0aW9uYWwJaWYgZWxzZSBzd2l0Y2gKK3N5IGtleXdvcmQJbWVsUmVwZWF0CXdoaWxlIGZvciBkbyBpbgorc3kga2V5d29yZAltZWxMYWJlbAljYXNlIGRlZmF1bHQKK3N5IGtleXdvcmQJbWVsT3BlcmF0b3IJc2l6ZSBldmFsIGVudiBleGlzdHMgd2hhdElzCitzeSBrZXl3b3JkCW1lbEtleXdvcmQJYWxpYXMKK3N5IGtleXdvcmQJbWVsRXhjZXB0aW9uCWNhdGNoIGVycm9yIHdhcm5pbmcKKworc3kga2V5d29yZAltZWxJbmNsdWRlCXNvdXJjZQorCitzeSBrZXl3b3JkCW1lbFR5cGUJCWludCBmbG9hdCBzdHJpbmcgdmVjdG9yIG1hdHJpeAorc3kga2V5d29yZAltZWxTdG9yYWdlQ2xhc3MJZ2xvYmFsCisKK3N5IGtleXdvcmQJbWVsRGVidWcJdHJhY2UKKworc3kga2V5d29yZAltZWxUb2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFgKKworIiBNRUwgZGF0YSB0eXBlcworc3kgbWF0Y2gJbWVsQ2hhclNwZWNpYWwJY29udGFpbmVkICJcXFtudHJcXCJdIgorc3kgbWF0Y2gJbWVsQ2hhckVycm9yCWNvbnRhaW5lZCAiXFxbXm50clxcIl0iCisKK3N5IHJlZ2lvbgltZWxTdHJpbmcJc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBjb250YWlucz1tZWxDaGFyU3BlY2lhbCxtZWxDaGFyRXJyb3IKKworc3kgY2FzZSBpZ25vcmUKK3N5IG1hdGNoCW1lbEludGVnZXIJIlw8XGRcK1woZVstK11cPVxkXCtcKVw9XD4iCitzeSBtYXRjaAltZWxGbG9hdAkiXDxcZFwrXChlWy0rXVw9XGRcK1wpXD1mXD4iCitzeSBtYXRjaAltZWxGbG9hdAkiXDxcZFwrXC5cZCpcKGVbLStdXD1cZFwrXClcPWZcPVw+Igorc3kgbWF0Y2gJbWVsRmxvYXQJIlwuXGRcK1woZVstK11cPVxkXCtcKVw9Zlw9XD4iCitzeSBjYXNlIG1hdGNoCisKK3N5IG1hdGNoCW1lbENvbW1hU2VtaQljb250YWluZWQgIlssO10iCitzeSByZWdpb24JbWVsTWF0cml4VmVjdG9yCXN0YXJ0PS88PC8gZW5kPS8+Pi8gY29udGFpbnM9bWVsSW50ZWdlcixtZWxGbG9hdCxtZWxJZGVudGlmaWVyLG1lbENvbW1hU2VtaQorCitzeSBjbHVzdGVyCW1lbEdyb3VwCWNvbnRhaW5zPW1lbEZ1bmN0aW9uLG1lbFN0YXRlbWVudCxtZWxDb25kaXRpb25hbCxtZWxMYWJlbCxtZWxLZXl3b3JkLG1lbFN0b3JhZ2VDbGFzcyxtZWxUT0RPLG1lbENoYXJTcGVjaWFsLG1lbENoYXJFcnJvcixtZWxDb21tYVNlbWkKKworIiBjYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2lzCitzeSByZWdpb24JbWVsUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBtZWxHcm91cCxtZWxQYXJlbkVycm9yLG1lbEluUGFyZW4KK3N5IG1hdGNoCW1lbFBhcmVuRXJyb3IJIikiCitzeSBtYXRjaAltZWxJblBhcmVuCWNvbnRhaW5lZCAiW3t9XSIKKworIiBjb21tZW50cworc3kgcmVnaW9uCW1lbENvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPW1lbFRvZG8sbWVsU3BhY2VFcnJvcgorc3kgbWF0Y2gJbWVsQ29tbWVudAkiLy8uKiIgY29udGFpbnM9bWVsVG9kbyxtZWxTcGFjZUVycm9yCitzeSBtYXRjaAltZWxDb21tZW50RXJyb3IgIlwqLyIKKworc3kgcmVnaW9uCW1lbFF1ZXN0aW9uQ29sb24gbWF0Y2hncm91cD1tZWxDb25kaXRpb25hbCB0cmFuc3BhcmVudCBzdGFydD0nPycgZW5kPSc6JyBjb250YWlucz1BTExCVVQsQG1lbEdyb3VwCisKK2lmICFleGlzdHMoIm1lbF9taW5saW5lcyIpCisgIGxldCBtZWxfbWlubGluZXM9MTUKK2VuZGlmCitleGVjICJzeSBzeW5jIGNjb21tZW50IG1lbENvbW1lbnQgbWlubGluZXM9IiAuIG1lbF9taW5saW5lcworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tZWxfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbWVsX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIG1lbEJvb2xlYW4JQm9vbGVhbgorICBIaUxpbmsgbWVsRnVuY3Rpb24JRnVuY3Rpb24KKyAgSGlMaW5rIG1lbElkZW50aWZpZXIJSWRlbnRpZmllcgorICBIaUxpbmsgbWVsU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgbWVsQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKKyAgSGlMaW5rIG1lbFJlcGVhdAlSZXBlYXQKKyAgSGlMaW5rIG1lbExhYmVsCUxhYmVsCisgIEhpTGluayBtZWxPcGVyYXRvcglPcGVyYXRvcgorICBIaUxpbmsgbWVsS2V5d29yZAlLZXl3b3JkCisgIEhpTGluayBtZWxFeGNlcHRpb24JRXhjZXB0aW9uCisgIEhpTGluayBtZWxJbmNsdWRlCUluY2x1ZGUKKyAgSGlMaW5rIG1lbFR5cGUJVHlwZQorICBIaUxpbmsgbWVsU3RvcmFnZUNsYXNzIFN0b3JhZ2VDbGFzcworICBIaUxpbmsgbWVsRGVidWcJRGVidWcKKyAgSGlMaW5rIG1lbFRvZG8JVG9kbworICBIaUxpbmsgbWVsQ2hhclNwZWNpYWwgU3BlY2lhbENoYXIKKyAgSGlMaW5rIG1lbFN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIG1lbEludGVnZXIJTnVtYmVyCisgIEhpTGluayBtZWxGbG9hdAlGbG9hdAorICBIaUxpbmsgbWVsTWF0cml4VmVjdG9yIEZsb2F0CisgIEhpTGluayBtZWxDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIG1lbEVycm9yCUVycm9yCisgIEhpTGluayBtZWxTcGFjZUVycm9yCW1lbEVycm9yCisgIEhpTGluayBtZWxDaGFyRXJyb3IJbWVsRXJyb3IKKyAgSGlMaW5rIG1lbFBhcmVuRXJyb3IJbWVsRXJyb3IKKyAgSGlMaW5rIG1lbEluUGFyZW4JbWVsRXJyb3IKKyAgSGlMaW5rIG1lbENvbW1lbnRFcnJvciBtZWxFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtZWwiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tZi52aW0gYi9ydW50aW1lL3N5bnRheC9tZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJjNDhmZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21mLnZpbQpAQCAtMCwwICsxLDE5NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1ldGFmb250CisiIE1haW50YWluZXI6CUFuZHJlYXMgU2NoZXJlciA8YW5kcmVhcy5zY2hlcmVyQHBvYm94LmNvbT4KKyIgTGFzdCBDaGFuZ2U6CUFwcmlsIDI1LCAyMDAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBNZXRhZm9udCAncHJpbWl0aXZlcycgYXMgZGVmaW5lZCBpbiBjaGFwdGVyIDI1IG9mICdUaGUgTUVUQUZPTlRib29rJworIiBQYWdlIDIxMDogJ2Jvb2xlYW4gZXhwcmVzc2lvbnMnCitzeW4ga2V5d29yZCBtZkJvb2xFeHAgdHJ1ZSBmYWxzZSBrbm93biB1bmtub3duIG9kZCBjaGFyZXhpc3RzIG5vdCBhbmQgb3IKKworIiBQYWdlIDIxMDogJ251bWVyaWMgZXhwcmVzc2lvbicKK3N5biBrZXl3b3JkIG1mTnVtRXhwIG5vcm1hbGRldmlhdGUgbGVuZ3RoIEFTQ0lJIG9jdCBoZXggYW5nbGUgdHVybmluZ251bWJlcgorc3luIGtleXdvcmQgbWZOdW1FeHAgdG90YWx3ZWlnaHQgZGlyZWN0aW9udGltZSB4cGFydCB5cGFydCB4eHBhcnQgeHlwYXJ0CitzeW4ga2V5d29yZCBtZk51bUV4cCB5eHBhcnQgeXlwYXJ0IHNxcnQgc2luZCBjb3NkIG1sb2cgbWV4cCBmbG9vcgorc3luIGtleXdvcmQgbWZOdW1FeHAgdW5pZm9ybWRldmlhdGUKKworIiBQYWdlIDIxMTogJ2ludGVybmFsIHF1YW50aXRpZXMnCitzeW4ga2V5d29yZCBtZkludGVybmFsIHRyYWNpbmd0aXRsZXMgdHJhY2luZ2VxdWF0aW9ucyB0cmFjaW5nY2Fwc3VsZXMKK3N5biBrZXl3b3JkIG1mSW50ZXJuYWwgdHJhY2luZ2Nob2ljZXMgdHJhY2luZ3NwZWNzIHRyYWNpbmdwZW5zCitzeW4ga2V5d29yZCBtZkludGVybmFsIHRyYWNpbmdjb21tYW5kcyB0cmFjaW5ncmVzdG9yZXMgdHJhY2luZ21hY3Jvcworc3luIGtleXdvcmQgbWZJbnRlcm5hbCB0cmFjaW5nZWRnZXMgdHJhY2luZ291dHB1dCB0cmFjaW5nb25saW5lIHRyYWNpbmdzdGF0cworc3luIGtleXdvcmQgbWZJbnRlcm5hbCBwYXVzaW5nIHNob3dzdG9wcGluZyBmb250bWFraW5nIHByb29maW5nCitzeW4ga2V5d29yZCBtZkludGVybmFsIHR1cm5pbmdjaGVjayB3YXJuaW5nY2hlY2sgc21vb3RoaW5nIGF1dG9yb3VuZGluZworc3luIGtleXdvcmQgbWZJbnRlcm5hbCBncmFudWxhcml0eSBmaWxsaW4geWVhciBtb250aCBkYXkgdGltZQorc3luIGtleXdvcmQgbWZJbnRlcm5hbCBjaGFyY29kZSBjaGFyZXh0IGNoYXJ3ZCBjaGFyaHQgY2hhcmRwIGNoYXJpYworc3luIGtleXdvcmQgbWZJbnRlcm5hbCBjaGFyZHggY2hhcmR5IGRlc2lnbnNpemUgaHBwcCB2cHBwIHhvZmZzZXQgeW9mZnNldAorc3luIGtleXdvcmQgbWZJbnRlcm5hbCBib3VuZGFyeWNoYXIKKworIiBQYWdlIDIxMjogJ3BhaXIgZXhwcmVzc2lvbnMnCitzeW4ga2V5d29yZCBtZlBhaXJFeHAgcG9pbnQgb2YgcHJlY29udHJvbCBwb3N0Y29udHJvbCBwZW5vZmZzZXQgcm90YXRlZAorc3luIGtleXdvcmQgbWZQYWlyRXhwIHNjYWxlZCBzaGlmdGVkIHNsYW50ZWQgdHJhbnNmb3JtZWQgeHNjYWxlZCB5c2NhbGVkCitzeW4ga2V5d29yZCBtZlBhaXJFeHAgenNjYWxlZAorCisiIFBhZ2UgMjEzOiAncGF0aCBleHByZXNzaW9ucycKK3N5biBrZXl3b3JkIG1mUGF0aEV4cCBtYWtlcGF0aCByZXZlcnNlIHN1YnBhdGggY3VybCB0ZW5zaW9uIGF0bGVhc3QKK3N5biBrZXl3b3JkIG1mUGF0aEV4cCBjb250cm9scyBjeWNsZQorCisiIFBhZ2UgMjE0OiAncGVuIGV4cHJlc3Npb25zJworc3luIGtleXdvcmQgbWZQZW5FeHAgbnVsbHBlbiBwZW5jaXJjbGUgbWFrZXBlbgorCisiIFBhZ2UgMjE0OiAncGljdXRyZSBleHByZXNzaW9ucycKK3N5biBrZXl3b3JkIG1mUGljRXhwIG51bGxwaWN0dXJlCisKKyIgUGFnZSAyMTQ6ICdzdHJpbmcgZXhwcmVzc2lvbnMnCitzeW4ga2V5d29yZCBtZlN0cmluZ0V4cCBqb2JuYW1lIHJlYWRzdHJpbmcgc3RyIGNoYXIgZGVjaW1hbCBzdWJzdHJpbmcKKworIiBQYWdlIDIxNzogJ2NvbW1hbmRzIGFuZCBzdGF0ZW1lbnRzJworc3luIGtleXdvcmQgbWZDb21tYW5kIGVuZCBkdW1wIHNhdmUgaW50ZXJpbSBuZXdpbnRlcm5hbCByYW5kb21zZWVkIGxldAorc3luIGtleXdvcmQgbWZDb21tYW5kIGRlbGltaXRlcnMgb3V0ZXIgZXZlcnlqb2Igc2hvdyBzaG93dmFyaWFibGUgc2hvd3Rva2VuCitzeW4ga2V5d29yZCBtZkNvbW1hbmQgc2hvd2RlcGVuZGVuY2llcyBzaG93c3RhdHMgbWVzc2FnZSBlcnJtZXNzYWdlIGVycmhlbHAKK3N5biBrZXl3b3JkIG1mQ29tbWFuZCBiYXRjaG1vZGUgbm9uc3RvcG1vZGUgc2Nyb2xsbW9kZSBlcnJvcnN0b3Btb2RlCitzeW4ga2V5d29yZCBtZkNvbW1hbmQgYWRkdG8gYWxzbyBjb250b3VyIGRvdWJsZXBhdGggd2l0aHBlbiB3aXRod2VpZ2h0IGN1bGwKK3N5biBrZXl3b3JkIG1mQ29tbWFuZCBrZWVwaW5nIGRyb3BwaW5nIGRpc3BsYXkgaW53aW5kb3cgb3BlbndpbmRvdyBhdCBmcm9tIHRvCitzeW4ga2V5d29yZCBtZkNvbW1hbmQgc2hpcG91dCBzcGVjaWFsIG51bXNwZWNpYWwKKworIiBQYWdlIDU2OiAndHlwZXMnCitzeW4ga2V5d29yZCBtZlR5cGUgYm9vbGVhbiBudW1lcmljIHBhaXIgcGF0aCBwZW4gcGljdHVyZSBzdHJpbmcgdHJhbnNmb3JtCisKKyIgUGFnZSAxNTU6ICdncm91cGluZycKK3N5biBrZXl3b3JkIG1mU3RhdGVtZW50IGJlZ2luZ3JvdXAgZW5kZ3JvdXAKKworIiBQYWdlIDE2NTogJ2RlZmluaXRpb25zJworc3luIGtleXdvcmQgbWZEZWZpbml0aW9uIGVuZGRlZiBkZWYgZXhwciBzdWZmaXggdGV4dCBwcmltYXJ5IHNlY29uZGFyeQorc3luIGtleXdvcmQgbWZEZWZpbml0aW9uIHRlcnRpYXJ5IHZhcmRlZiBwcmltYXJ5ZGVmIHNlY29uZGFyeWRlZiB0ZXJ0aWFyeWRlZgorCisiIFBhZ2UgMTY5OiAnY29uZGl0aW9ucyBhbmQgbG9vcHMnCitzeW4ga2V5d29yZCBtZkNvbmRpdGlvbiBpZiBmaSBlbHNlIGVsc2VpZiBlbmRmb3IgZm9yIGZvcnN1ZmZpeGVzIGZvcmV2ZXIKK3N5biBrZXl3b3JkIG1mQ29uZGl0aW9uIHN0ZXAgdW50aWwgZXhpdGlmCisKKyIgT3RoZXIgcHJpbWl0aXZlcyBsaXN0ZWQgaW4gdGhlIGluZGV4CitzeW4ga2V5d29yZCBtZlByaW1pdGl2ZSBjaGFybGlzdCBlbmRpbnB1dCBleHBhbmRhZnRlciBleHRlbnNpYmxlCitzeW4ga2V5d29yZCBtZlByaW1pdGl2ZSBmb250ZGltZW4gaGVhZGVyYnl0ZSBpbm5lciBpbnB1dCBpbnRlcnNlY3Rpb250aW1lcworc3luIGtleXdvcmQgbWZQcmltaXRpdmUga2VybiBsaWd0YWJsZSBxdW90ZSBzY2FudG9rZW5zIHNraXB0bworCisiIEtleXdvcmRzIGRlZmluZWQgYnkgcGxhaW4ubWYgKGRlZmluZWQgb24gcHAuMjYyLTI3OCkKK2lmICFleGlzdHMoInBsYWluX21mX21hY3JvcyIpCisgIGxldCBwbGFpbl9tZl9tYWNyb3MgPSAxICIgU2V0IHRoaXMgdG8gJzAnIGlmIHlvdXIgc291cmNlIGdldHMgdG9vIGNvbG91cmZ1bAorCQkJICAiIG1ldGFwb3N0LnZpbSBkb2VzIHNvIHRvIHR1cm4gb2ZmIE1ldGFmb250IG1hY3JvcworZW5kaWYKK2lmIHBsYWluX21mX21hY3JvcworICBzeW4ga2V5d29yZCBtZk1hY3JvIGFicyBhZGR0b19jdXJyZW50cGljdHVyZSBhc3BlY3RfcmF0aW8gYmFzZV9uYW1lCisgIHN5biBrZXl3b3JkIG1mTWFjcm8gYmFzZV92ZXJzaW9uIGJlZ2luY2hhciBibGFja2VyIGJsYW5rcGljdHVyZSBib3QgYnllIGJ5dGUKKyAgc3luIGtleXdvcmQgbWZNYWNybyBjYXBzdWxlX2RlZiBjZWlsaW5nIGNoYW5nZV93aWR0aCBjbGVhcl9wZW5fbWVtb3J5IGNsZWFyaXQKKyAgc3luIGtleXdvcmQgbWZNYWNybyBjbGVhcnBlbiBjbGVhcnh5IGNvdW50ZXJjbG9ja3dpc2UgY3VsbGRyYXcgY3VsbGl0CisgIHN5biBrZXl3b3JkIG1mTWFjcm8gY3VycmVudHBlbiBjdXJyZW50cGVuX3BhdGggY3VycmVudHBpY3R1cmUKKyAgc3luIGtleXdvcmQgbWZNYWNybyBjdXJyZW50dHJhbnNmb3JtIGN1cnJlbnR3aW5kb3cgY3V0ZHJhdyBjdXRvZmYgZCBkZWNyCisgIHN5biBrZXl3b3JkIG1mTWFjcm8gZGVmaW5lX2JsYWNrZXJfcGl4ZWxzIGRlZmluZV9jb3JyZWN0ZWRfcGl4ZWxzCisgIHN5biBrZXl3b3JkIG1mTWFjcm8gZGVmaW5lX2dvb2RfeF9waXhlbHMgZGVmaW5lX2dvb2RfeV9waXhlbHMKKyAgc3luIGtleXdvcmQgbWZNYWNybyBkZWZpbmVfaG9yaXpvbnRhbF9jb3JyZWN0ZWRfcGl4ZWxzIGRlZmluZV9waXhlbHMKKyAgc3luIGtleXdvcmQgbWZNYWNybyBkZWZpbmVfd2hvbGVfYmxhY2tlcl9waXhlbHMgZGVmaW5lX3dob2xlX3BpeGVscworICBzeW4ga2V5d29yZCBtZk1hY3JvIGRlZmluZV93aG9sZV92ZXJ0aWNhbF9ibGFja2VyX3BpeGVscworICBzeW4ga2V5d29yZCBtZk1hY3JvIGRlZmluZV93aG9sZV92ZXJ0aWNhbF9waXhlbHMgZGlyIGRpcmVjdGlvbiBkaXJlY3Rpb25wb2ludAorICBzeW4ga2V5d29yZCBtZk1hY3JvIGRpc3BsYXlpbmcgZGl0dG8gZGl2IGRvdHByb2QgZG93biBkb3dudG8gZHJhdyBkcmF3ZG90CisgIHN5biBrZXl3b3JkIG1mTWFjcm8gZW5kY2hhciBlcHMgZXBzaWxvbiBleHRyYV9iZWdpbmNoYXIgZXh0cmFfZW5kY2hhcgorICBzeW4ga2V5d29yZCBtZk1hY3JvIGV4dHJhX3NldHVwIGVyYXNlIGV4aXR1bmxlc3MgZmlsbCBmaWxsZHJhdyBmaXhfdW5pdHMgZmxleAorICBzeW4ga2V5d29yZCBtZk1hY3JvIGZvbnRfY29kaW5nX3NjaGVtZSBmb250X2V4dHJhX3NwYWNlIGZvbnRfaWRlbnRpZmllcgorICBzeW4ga2V5d29yZCBtZk1hY3JvIGZvbnRfbm9ybWFsX3NocmluayBmb250X25vcm1hbF9zcGFjZSBmb250X25vcm1hbF9zdHJldGNoCisgIHN5biBrZXl3b3JkIG1mTWFjcm8gZm9udF9xdWFkIGZvbnRfc2V0dXAgZm9udF9zaXplIGZvbnRfc2xhbnQgZm9udF94X2hlaWdodAorICBzeW4ga2V5d29yZCBtZk1hY3JvIGZ1bGxjaXJjbGUgZ2VuZXJhdGUgZ2Zjb3JuZXJzIGdvYmJsZSBnb2JibGVkIGdyYXlmb250IGgKKyAgc3luIGtleXdvcmQgbWZNYWNybyBoYWxmY2lyY2xlIGhpZGUgaHJvdW5kIGlkZW50aXR5IGltYWdlX3J1bGVzIGluY3IgaW5maW5pdHkKKyAgc3luIGtleXdvcmQgbWZNYWNybyBpbnRlcmFjdCBpbnRlcnBhdGggaW50ZXJzZWN0aW9ucG9pbnQgaW52ZXJzZSBpdGFsY29ycgorICBzeW4ga2V5d29yZCBtZk1hY3JvIGpvaW5fcmFkaXVzIGtpbGx0ZXh0IGxhYmVsZm9udCBsYWJlbHMgbGVmdCBsZnQgbG9jYWxmb250CisgIHN5biBrZXl3b3JkIG1mTWFjcm8gbG9nZ2luZ2FsbCBsb3dyZXMgbG93cmVzX2ZpeCBtYWcgbWFnc3RlcCBtYWtlYm94IG1ha2VncmlkCisgIHN5biBrZXl3b3JkIG1mTWFjcm8gbWFrZWxhYmVsIG1ha2V0aWNrcyBtYXggbWluIG1vZCBtb2RlIG1vZGVfZGVmIG1vZGVfbmFtZQorICBzeW4ga2V5d29yZCBtZk1hY3JvIG1vZGVfc2V0dXAgbm9kaXNwbGF5cyBub3RyYW5zZm9ybXMgbnVtYmVyX29mX21vZGVzIG51bXRvaworICBzeW4ga2V5d29yZCBtZk1hY3JvIG9fY29ycmVjdGlvbiBvcGVuaXQgb3JpZ2luIHBlbl9ib3QgcGVuX2xmdCBwZW5fcnQgcGVuX3RvcAorICBzeW4ga2V5d29yZCBtZk1hY3JvIHBlbmxhYmVscyBwZW5wb3MgcGVucmF6b3IgcGVuc3BlY2sgcGVuc3F1YXJlIHBlbnN0cm9rZQorICBzeW4ga2V5d29yZCBtZk1hY3JvIHBpY2t1cCBwaXhlbHNfcGVyX2luY2ggcHJvb2YgcHJvb2ZvZmZzZXQgcHJvb2ZydWxlCisgIHN5biBrZXl3b3JkIG1mTWFjcm8gcHJvb2ZydWxldGhpY2tuZXNzIHF1YXJ0ZXJjaXJjbGUgcmFuZ2UgcmVmbGVjdGVkYWJvdXQKKyAgc3luIGtleXdvcmQgbWZNYWNybyByZWxheCByaWdodCByb3RhdGVkYWJvdXQgcm90YXRlZGFyb3VuZCByb3VuZCBydCBydWxlcGVuCisgIHN5biBrZXl3b3JkIG1mTWFjcm8gc2F2ZXBlbiBzY3JlZW5jaGFycyBzY3JlZW5fcm93cyBzY3JlZW5fY29scyBzY3JlZW5ydWxlCisgIHN5biBrZXl3b3JkIG1mTWFjcm8gc2NyZWVuc3Ryb2tlcyBzaGlwaXQgc2hvd2l0IHNsYW50Zm9udCBzbW9kZSBzbW9rZSBzb2Z0am9pbgorICBzeW4ga2V5d29yZCBtZk1hY3JvIHNvbHZlIHN0b3Agc3VwZXJlbGxpcHNlIHRha2Vwb3dlciB0ZW5zZXBhdGggdGl0bGVmb250CisgIHN5biBrZXl3b3JkIG1mTWFjcm8gdG9sZXJhbmNlIHRvcCB0cmFjaW5nYWxsIHRyYWNpbmdub25lIHVuZHJhdyB1bmRyYXdkb3QKKyAgc3luIGtleXdvcmQgbWZNYWNybyB1bmZpbGwgdW5maWxsZHJhdyB1bml0cGl4ZWwgdW5pdHNxdWFyZSB1bml0dmVjdG9yIHVwIHVwdG8KKyAgc3luIGtleXdvcmQgbWZNYWNybyB2cm91bmQgdyB3aGF0ZXZlcgorZW5kaWYKKworIiBTb21lIG90aGVyIGJhc2ljIG1hY3JvIG5hbWVzLCBlLmcuLCBmcm9tIGNtYmFzZSwgbG9nbywgZXRjLgoraWYgIWV4aXN0cygib3RoZXJfbWZfbWFjcm9zIikKKyAgbGV0IG90aGVyX21mX21hY3JvcyA9IDEgIiBTZXQgdGhpcyB0byAnMCcgaWYgeW91ciBjb2RlIGdldHMgdG9vIGNvbG91cmZ1bAorCQkJICAiIG1ldGFwb3N0LnZpbSBkb2VzIHNvIHRvIHR1cm4gb2ZmIE1ldGFmb250IG1hY3JvcworZW5kaWYKK2lmIG90aGVyX21mX21hY3JvcworICBzeW4ga2V5d29yZCBtZk1hY3JvIGJlZ2lubG9nb2NoYXIKK2VuZGlmCisKKyIgTnVtZXJpYyB0b2tlbnMKK3N5biBtYXRjaCBtZk51bWVyaWMJIlstXVw9XGRcKyIKK3N5biBtYXRjaCBtZk51bWVyaWMJIlstXVw9XC5cZFwrIgorc3luIG1hdGNoIG1mTnVtZXJpYwkiWy1dXD1cZFwrXC5cZFwrIgorCisiIE1ldGFmb250IGxlbmd0aHMKK3N5biBtYXRjaCBtZkxlbmd0aAkiXDxcKGJwXHxjY1x8Y21cfGRkXHxpblx8bW1cfHBjXHxwdFwpXD4iCitzeW4gbWF0Y2ggbWZMZW5ndGgJIlw8Wy1dXD1cZFwrXChicFx8Y2NcfGNtXHxkZFx8aW5cfG1tXHxwY1x8cHRcKVwjXD1cPiIKK3N5biBtYXRjaCBtZkxlbmd0aAkiXDxbLV1cPVwuXGRcK1woYnBcfGNjXHxjbVx8ZGRcfGluXHxtbVx8cGNcfHB0XClcI1w9XD4iCitzeW4gbWF0Y2ggbWZMZW5ndGgJIlw8Wy1dXD1cZFwrXC5cZFwrXChicFx8Y2NcfGNtXHxkZFx8aW5cfG1tXHxwY1x8cHRcKVwjXD1cPiIKKworIiBNZXRhZm9udCBjb29yZGluYXRlcyBhbmQgcG9pbnRzCitzeW4gbWF0Y2ggbWZDb29yZAkiXDxbeHldXGRcK1w+Igorc3luIG1hdGNoIG1mUG9pbnQJIlw8elxkXCtcPiIKKworIiBTdHJpbmcgY29uc3RhbnRzCitzeW4gcmVnaW9uIG1mU3RyaW5nCXN0YXJ0PSsiKyBlbmQ9KyIrCisKKyIgQ29tbWVudHM6CitzeW4gbWF0Y2ggbWZDb21tZW50CSIlLiokIgorCisiIHN5bmNocm9uaXppbmcKK3N5biBzeW5jIG1heGxpbmVzPTUwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbWZfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbWZfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbWZCb29sRXhwCVN0YXRlbWVudAorICBIaUxpbmsgbWZOdW1FeHAJU3RhdGVtZW50CisgIEhpTGluayBtZkludGVybmFsCUlkZW50aWZpZXIKKyAgSGlMaW5rIG1mUGFpckV4cAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1mUGF0aEV4cAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1mUGVuRXhwCVN0YXRlbWVudAorICBIaUxpbmsgbWZQaWNFeHAJU3RhdGVtZW50CisgIEhpTGluayBtZlN0cmluZ0V4cAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1mQ29tbWFuZAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1mVHlwZQlUeXBlCisgIEhpTGluayBtZlN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1mRGVmaW5pdGlvbglTdGF0ZW1lbnQKKyAgSGlMaW5rIG1mQ29uZGl0aW9uCUNvbmRpdGlvbmFsCisgIEhpTGluayBtZlByaW1pdGl2ZQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1mTWFjcm8JTWFjcm8KKyAgSGlMaW5rIG1mQ29vcmQJSWRlbnRpZmllcgorICBIaUxpbmsgbWZQb2ludAlJZGVudGlmaWVyCisgIEhpTGluayBtZk51bWVyaWMJTnVtYmVyCisgIEhpTGluayBtZkxlbmd0aAlOdW1iZXIKKyAgSGlMaW5rIG1mQ29tbWVudAlDb21tZW50CisgIEhpTGluayBtZlN0cmluZwlTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibWYiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tZ3AudmltIGIvcnVudGltZS9zeW50YXgvbWdwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmI5NjYxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbWdwLnZpbQpAQCAtMCwwICsxLDgzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIG1ncCAtIE1hR2ljIFBvaW50CisiIE1haW50YWluZXI6ICAgR2VyZnJpZWQgRnVjaHMgPGFsZmllQGlzdC5vcmc+CisiIEZpbGVuYW1lczogICAgKi5tZ3AKKyIgTGFzdCBDaGFuZ2U6ICAyNSBBcHIgMjAwMQorIiBVUkw6CQlodHRwOi8vYWxmaWUuaXN0Lm9yZy92aW0vc3ludGF4L21ncC52aW0KKyIKKyIgQ29tbWVudHMgYXJlIHZlcnkgd2VsY29tZSAtIGJ1dCBwbGVhc2UgbWFrZSBzdXJlIHRoYXQgeW91IGFyZSBjb21tZW50aW5nIG9uCisiIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIGZpbGUuCisiIFNQQU0gaXMgX05PVF8gd2VsY29tZSAtIGJlIHJlYWR5IHRvIGJlIHJlcG9ydGVkIQorCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworCitzeW4gbWF0Y2ggbWdwTGluZVNraXAgIlxcJCIKKworIiBhbGwgdGhlIGNvbW1hbmRzIHRoYXQgYXJlIGN1cnJlbnRseSByZWNvZ25pemVkCitzeW4ga2V5d29yZCBtZ3BDb21tYW5kIGNvbnRhaW5lZCBzaXplIGZvcmUgYmFjayBiZ3JhZCBsZWZ0IGxlZnRmaWxsIGNlbnRlcgorc3luIGtleXdvcmQgbWdwQ29tbWFuZCBjb250YWluZWQgcmlnaHQgc2hyaW5rIGxjdXRpbiByY3V0aW4gY29udCB4Zm9udCB2Zm9udAorc3luIGtleXdvcmQgbWdwQ29tbWFuZCBjb250YWluZWQgdGZvbnQgdG1mb250IHRmb250MCBiYXIgaW1hZ2UgbmV3aW1hZ2UKK3N5biBrZXl3b3JkIG1ncENvbW1hbmQgY29udGFpbmVkIHByZWZpeCBpY29uIGJpbWFnZSBkZWZhdWx0IHRhYiB2Z2FwIGhnYXAKK3N5biBrZXl3b3JkIG1ncENvbW1hbmQgY29udGFpbmVkIHBhdXNlIG1hcmsgYWdhaW4gc3lzdGVtIGZpbHRlciBlbmRmaWx0ZXIKK3N5biBrZXl3b3JkIG1ncENvbW1hbmQgY29udGFpbmVkIHZmY2FwIHRmZGlyIGRlZmZvbnQgZm9udCBlbWJlZCBlbmRlbWJlZAorc3luIGtleXdvcmQgbWdwQ29tbWFuZCBjb250YWluZWQgbm9vcCBwY2FjaGUgaW5jbHVkZQorCisiIGNoYXJzZXQgaXMgbm90IHlldCBzdXBwb3J0ZWQgOi0pCisiIHN5biBrZXl3b3JkIG1ncENvbW1hbmQgY29udGFpbmVkIGNoYXJzZXQKKworc3luIHJlZ2lvbiBtZ3BGaWxlICAgICBjb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworc3luIG1hdGNoIG1ncFZhbHVlICAgICBjb250YWluZWQgIlxkXCsiCitzeW4gbWF0Y2ggbWdwU2l6ZSAgICAgIGNvbnRhaW5lZCAiXGRcK3hcZFwrIgorc3luIG1hdGNoIG1ncExpbmUgICAgICArXiUuKiQrIGNvbnRhaW5zPW1ncENvbW1hbmQsbWdwRmlsZSxtZ3BTaXplLG1ncFZhbHVlCisKKyIgQ29tbWVudHMKK3N5biBtYXRjaCBtZ3BQZXJjZW50ICAgK14lJS4qJCsKK3N5biBtYXRjaCBtZ3BIYXNoICAgICAgK14jLiokKworCisiIHRoZXNlIG9ubHkgd29yayBhbG9uZQorc3luIG1hdGNoIG1ncFBhZ2UgICAgICArXiVwYWdlJCsKK3N5biBtYXRjaCBtZ3BOb0RlZmF1bHQgK14lbm9kZWZhdWx0JCsKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tZ3Bfc3luX2luaXRzIikKKyAgbGV0IGRpZF9tZ3Bfc3luX2luaXRzID0gMQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tZ3Bfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbWdwTGluZVNraXAJU3BlY2lhbAorCisgIEhpTGluayBtZ3BIYXNoCW1ncENvbW1lbnQKKyAgSGlMaW5rIG1ncFBlcmNlbnQJbWdwQ29tbWVudAorICBIaUxpbmsgbWdwQ29tbWVudAlDb21tZW50CisKKyAgSGlMaW5rIG1ncENvbW1hbmQJSWRlbnRpZmllcgorCisgIEhpTGluayBtZ3BMaW5lCVR5cGUKKworICBIaUxpbmsgbWdwRmlsZQlTdHJpbmcKKyAgSGlMaW5rIG1ncFNpemUJTnVtYmVyCisgIEhpTGluayBtZ3BWYWx1ZQlOdW1iZXIKKworICBIaUxpbmsgbWdwUGFnZQltZ3BEZWZpbmUKKyAgSGlMaW5rIG1ncE5vRGVmYXVsdAltZ3BEZWZpbmUKKyAgSGlMaW5rIG1ncERlZmluZQlEZWZpbmUKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibWdwIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWliLnZpbSBiL3J1bnRpbWUvc3ludGF4L21pYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI5MjQyZAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21pYi52aW0KQEAgLTAsMCArMSw3NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVZpbSBzeW50YXggZmlsZSBmb3IgU05NUHYxIGFuZCBTTk1QdjIgTUlCIGFuZCBTTUkgZmlsZXMKKyIgQXV0aG9yOglEYXZpZCBQYXNjb2UgPHBhc2NvZWRqQHNwYW1jb3AubmV0PgorIiBXcml0dGVuOglXZWQgSmFuIDI4IDE0OjM3OjIzIEdNVC0tODowMCAxOTk4CisiIExhc3QgQ2hhbmdlZDoJVGh1IEZlYiAyNyAxMDoxODoxNiBXU1QgMjAwMworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmIHZlcnNpb24gPj0gNjAwCisgIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sMTI4LTE2NywyMjQtMjM1LC0sOiw9CitlbHNlCisgIHNldCBpc2tleXdvcmQ9QCw0OC01NyxfLDEyOC0xNjcsMjI0LTIzNSwtLDosPQorZW5kaWYKKworc3luIGtleXdvcmQgbWliSW1wbGljaXQgQUNDRVNTIEFOWSBBVUdNRU5UUyBCRUdJTiBCSVQgQklUUyBCT09MRUFOIENIT0lDRQorc3luIGtleXdvcmQgbWliSW1wbGljaXQgQ09NUE9ORU5UUyBDT05UQUNULUlORk8gREVGSU5JVElPTlMgREVGVkFMCitzeW4ga2V5d29yZCBtaWJJbXBsaWNpdCBERVNDUklQVElPTiBESVNQTEFZLUhJTlQgRU5EIEVOVEVSUFJJU0UgRVhURVJOQUwgRkFMU0UKK3N5biBrZXl3b3JkIG1pYkltcGxpY2l0IEZST00gR1JPVVAgSU1QTElDSVQgSU1QTElFRCBJTVBPUlRTIElOREVYCitzeW4ga2V5d29yZCBtaWJJbXBsaWNpdCBMQVNULVVQREFURUQgTUFOREFUT1JZLUdST1VQUyBNQVgtQUNDRVNTCitzeW4ga2V5d29yZCBtaWJJbXBsaWNpdCBNSU4tQUNDRVNTIE1PRFVMRSBNT0RVTEUtQ09NUExJQU5DRSBNT0RVTEUtSURFTlRJVFkKK3N5biBrZXl3b3JkIG1pYkltcGxpY2l0IE5PVElGSUNBVElPTi1HUk9VUCBOT1RJRklDQVRJT04tVFlQRSBOT1RJRklDQVRJT05TCitzeW4ga2V5d29yZCBtaWJJbXBsaWNpdCBOVUxMIE9CSkVDVC1HUk9VUCBPQkpFQ1QtSURFTlRJVFkgT0JKRUNULVRZUEUKK3N5biBrZXl3b3JkIG1pYkltcGxpY2l0IE9CSkVDVFMgT0YgT1BUSU9OQUwgT1JHQU5JWkFUSU9OIFJFRkVSRU5DRQorc3luIGtleXdvcmQgbWliSW1wbGljaXQgUkVWSVNJT04gU0VRVUVOQ0UgU0VUIFNJWkUgU1RBVFVTIFNZTlRBWAorc3luIGtleXdvcmQgbWliSW1wbGljaXQgVEVYVFVBTC1DT05WRU5USU9OIFRSQVAtVFlQRSBUUlVFIFVOSVRTIFZBUklBQkxFUworc3luIGtleXdvcmQgbWliSW1wbGljaXQgV1JJVEUtU1lOVEFYIDo6PQorc3luIGtleXdvcmQgbWliVmFsdWUgYWNjZXNzaWJsZS1mb3Itbm90aWZ5IGN1cnJlbnQgRGlzcGxheVN0cmluZworc3luIGtleXdvcmQgbWliVmFsdWUgZGVwcmVjYXRlZCBtYW5kYXRvcnkgbm90LWFjY2Vzc2libGUgb2Jzb2xldGUgb3B0aW9uYWwKK3N5biBrZXl3b3JkIG1pYlZhbHVlIHJlYWQtY3JlYXRlIHJlYWQtb25seSByZWFkLXdyaXRlIHdyaXRlLW9ubHkgSU5URUdFUgorc3luIGtleXdvcmQgbWliVmFsdWUgQ291bnRlciBHYXVnZSBJcEFkZHJlc3MgT0NURVQgU1RSSU5HIGV4cGVyaW1lbnRhbCBtaWItMgorc3luIGtleXdvcmQgbWliVmFsdWUgVGltZVRpY2tzIFJvd1N0YXR1cyBUcnV0aFZhbHVlIFVJbnRlZ2VyMzIgc25tcE1vZHVsZXMKK3N5biBrZXl3b3JkIG1pYlZhbHVlIEludGVnZXIzMiBDb3VudGVyMzIgVGVzdEFuZEluY3IgVGltZVN0YW1wIEluc3RhbmNlUG9pbnRlcgorc3luIGtleXdvcmQgbWliVmFsdWUgT0JKRUNUIElERU5USUZJRVIgR2F1Z2UzMiBBdXRvbm9tb3VzVHlwZSBDb3VudGVyNjQKK3N5biBrZXl3b3JkIG1pYlZhbHVlIFBoeXNBZGRyZXNzIFRpbWVJbnRlcnZhbCBNYWNBZGRyZXNzIFN0b3JhZ2VUeXBlIFJvd1BvaW50ZXIKK3N5biBrZXl3b3JkIG1pYlZhbHVlIFREb21haW4gVEFkZHJlc3MgaWZJbmRleAorCisiIEVwaWxvZ3VlIFNNSSBleHRlbnNpb25zCitzeW4ga2V5d29yZCBtaWJFcGlsb2d1ZSBGT1JDRS1JTkNMVURFIEVYQ0xVREUgY29va2llIGdldC1mdW5jdGlvbiBzZXQtZnVuY3Rpb24KK3N5biBrZXl3b3JkIG1pYkVwaWxvZ3VlIHRlc3QtZnVuY3Rpb24gZ2V0LWZ1bmN0aW9uLWFzeW5jIHNldC1mdW5jdGlvbi1hc3luYworc3luIGtleXdvcmQgbWliRXBpbG9ndWUgdGVzdC1mdW5jdGlvbi1hc3luYyBuZXh0LWZ1bmN0aW9uIG5leHQtZnVuY3Rpb24tYXN5bmMKK3N5biBrZXl3b3JkIG1pYkVwaWxvZ3VlIGxlYWYtbmFtZQorc3luIGtleXdvcmQgbWliRXBpbG9ndWUgREVGQVVMVCBjb250YWluZWQKKworc3luIG1hdGNoICBtaWJDb21tZW50CQkiXCAqLS0uKiQiCitzeW4gbWF0Y2ggIG1pYk51bWJlcgkJIlw8WycwLTlhLWZBLUZoSF0qXD4iCitzeW4gcmVnaW9uIG1pYkRlc2NyaXB0aW9uIHN0YXJ0PSJcIiIgZW5kPSJcIiIgY29udGFpbnM9REVGQVVMVAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9taWJfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbWliX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIG1pYkltcGxpY2l0CSAgICAgU3RhdGVtZW50CisgIEhpTGluayBtaWJDb21tZW50CSAgICAgQ29tbWVudAorICBIaUxpbmsgbWliQ29uc3RhbnRzCSAgICAgU3RyaW5nCisgIEhpTGluayBtaWJOdW1iZXIJICAgICBOdW1iZXIKKyAgSGlMaW5rIG1pYkRlc2NyaXB0aW9uICAgICAgSWRlbnRpZmllcgorICBIaUxpbmsgbWliRXBpbG9ndWUJICAgICBTcGVjaWFsQ2hhcgorICBIaUxpbmsgbWliVmFsdWUJICAgICBTdHJ1Y3R1cmUKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1pYiIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21tYS52aW0gYi9ydW50aW1lL3N5bnRheC9tbWEudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYjhkNjYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tbWEudmltCkBAIC0wLDAgKzEsNjMgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgTWF0aGVtYXRpY2EKKyIgTWFpbnRhaW5lcjogICBXb2xmZ2FuZyBXYWx0ZW5iZXJnZXIgPHd3YWx0ZW5AYmVuLnR1d2llbi5hYy5hdD4KKyIgTGFzdCBDaGFuZ2U6ICBUaHUgMjYgQXByIDIwMDEgMTM6MjA6MDMgQ0VTVAorCitpZiB2ZXJzaW9uIDwgNjAwCisJc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwlmaW5pc2gKK2VuZGlmCisKK3N5biBtYXRjaCBtbWFFcnJvciAiXCopIgorc3luIG1hdGNoIG1tYUZpeG1lICJGSVhNRSIKK3N5biByZWdpb24gbW1hQ29tbWVudCBzdGFydD0rKFwqKyBlbmQ9K1wqKSsgc2tpcGVtcHR5IGNvbnRhaW5zPW1tYUZpeG1lCitzeW4gbWF0Y2ggbW1hTWVzc2FnZSAiXGEqOjpcYSoiCitzeW4gcmVnaW9uIG1tYVN0cmluZyBzdGFydD0rJysgICAgZW5kPSsnKworc3luIHJlZ2lvbiBtbWFTdHJpbmcgc3RhcnQ9KyIrICAgIGVuZD0rIisKK3N5biByZWdpb24gbW1hU3RyaW5nIHN0YXJ0PStcXFwiKyBlbmQ9K1wiKworc3luIHJlZ2lvbiBtbWFTdHJpbmcgc3RhcnQ9K1wiKyAgIGVuZD0rXCIrCisKK3N5biBtYXRjaCBtbWFWYXJpYWJsZSAiJFxhKiIKKworc3luIG1hdGNoIG1tYVBhdHRlcm4gIltBLVphLXowMS05YF0qX1x7MSwzfSIKK3N5biBtYXRjaCBtbWFQYXR0ZXJuICJbQS1aYS16MDEtOWBdKl9cezEsM31cKEludGVnZXJcfFJlYWxcfFBhdHRlcm5cfFN5bWJvbFwpIgorc3luIG1hdGNoIG1tYVBhdHRlcm4gIltBLVphLXowMS05YF0qX1x7MSwzfVwoUmF0aW9uYWxcfENvbXBsZXhcfEhlYWRcKSIKK3N5biBtYXRjaCBtbWFQYXR0ZXJuICJbQS1aYS16MDEtOWBdKl9cezEsM30/W0EtWmEtejAxLTlgXSoiCisKKyIgcHJlZml4L2luZml4L3Bvc3RmaXggbm90YXRpb25zCitzeW4gbWF0Y2ggbW1hR2VuZXJpY0Z1bmN0aW9uICJbQS1aYS16MDEtOWBdKlxzKlwoXFtcfEBcKSJoZT1lLTEKK3N5biBtYXRjaCBtbWFHZW5lcmljRnVuY3Rpb24gIltBLVphLXowMS05YF0qXHMqXCgvQFx8QEBcKSJoZT1lLTIKK3N5biBtYXRjaCBtbWFHZW5lcmljRnVuY3Rpb24gIlx+XHMqW0EtWmEtejAxLTlgXSpccypcfiJocz1zKzEsaGU9ZS0xCitzeW4gbWF0Y2ggbW1hR2VuZXJpY0Z1bmN0aW9uICIvL1xzKltBLVphLXowMS05YF0qImhzPXMrMgorc3luIG1hdGNoIG1tYU9wZXJhdG9yICIvOyIKKworc3luIG1hdGNoIG1tYVB1cmVGdW5jdGlvbiAiI1xkKiIKK3N5biBtYXRjaCBtbWFQdXJlRnVuY3Rpb24gIiYiCisKK3N5biBtYXRjaCBtbWFVbmljb2RlICJcXFxbW2EtekEtWjAxLTldKlxdIgorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbW1hX3N5bl9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX21tYV9zeW5faW5pdHMgPSAxCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisJZWxzZQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKwllbmRpZgorCisJSGlMaW5rIG1tYU9wZXJhdG9yCSAgIE9wZXJhdG9yCisJSGlMaW5rIG1tYVZhcmlhYmxlCSAgIElkZW50aWZpZXIKKwlIaUxpbmsgbW1hU3RyaW5nCSAgIFN0cmluZworCUhpTGluayBtbWFVbmljb2RlCSAgIFN0cmluZworCUhpTGluayBtbWFNZXNzYWdlCSAgIElkZW50aWZpZXIKKwlIaUxpbmsgbW1hUGF0dGVybgkgICBJZGVudGlmaWVyCisJSGlMaW5rIG1tYUdlbmVyaWNGdW5jdGlvbiAgRnVuY3Rpb24KKwlIaUxpbmsgbW1hRXJyb3IJCSAgIEVycm9yCisJSGlMaW5rIG1tYUZpeG1lCQkgICBFcnJvcgorCUhpTGluayBtbWFDb21tZW50CSAgIENvbW1lbnQKKwlIaUxpbmsgbW1hUHVyZUZ1bmN0aW9uCSAgIE9wZXJhdG9yCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibW1hIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbW1peC52aW0gYi9ydW50aW1lL3N5bnRheC9tbWl4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjZhNDQzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbW1peC52aW0KQEAgLTAsMCArMSwxNjIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNTUlYCisiIE1haW50YWluZXI6CURpcmsgSPxza2VuLCA8aHVlc2tlbkBpbmZvcm1hdGlrLnVuaS10dWViaW5nZW4uZGU+CisiIExhc3QgQ2hhbmdlOglXZWQgQXByIDI0IDAxOjE4OjUyIENFU1QgMjAwMgorIiBGaWxlbmFtZXM6CSoubW1zCisiIFVSTDogaHR0cDovL2hvbWVwYWdlcy51bmktdHVlYmluZ2VuLmRlL3N0dWRlbnQvZGlyay5odWVza2VuL3ZpbS9zeW50YXgvbW1peC52aW0KKworIiBMaW1pdGF0aW9uczoJQ29tbWVudHMgbXVzdCBzdGFydCB3aXRoIGVpdGhlciAlIG9yIC8vCisiCQkocHJlZmVycmFibHkgJSwgS251dGgtU3R5bGUpCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBNTUlYIGRhdGEgdHlwZXMKK3N5biBrZXl3b3JkIG1taXhUeXBlCWJ5dGUgd3lkZSB0ZXRyYSBvY3RhCisKKyIgZGlmZmVyZW50IGxpdGVyYWxzLi4uCitzeW4gbWF0Y2ggZGVjTnVtYmVyCQkiWzAtOV0qIgorc3luIG1hdGNoIG9jdE51bWJlcgkJIjBbMC03XVswLTddXCsiCitzeW4gbWF0Y2ggaGV4TnVtYmVyCQkiI1swLTlhLWZBLUZdXCsiCitzeW4gcmVnaW9uIG1taXhTdHJpbmcJCXN0YXJ0PSsiKyBza2lwPStcXCIrIGVuZD0rIisKK3N5biBtYXRjaCBtbWl4Q2hhcgkJIicuJyIKKworIiAuLi5hbmQgbW9yZSBzcGVjaWFsIE1NSVggc3R1ZmYKK3N5biBtYXRjaCBtbWl4QXQJCSJAIgorc3luIGtleXdvcmQgbW1peFNlZ21lbnRzCURhdGFfU2VnbWVudCBQb29sX1NlZ21lbnQgU3RhY2tfU2VnbWVudAorCitzeW4gbWF0Y2ggbW1peElkZW50aWZpZXIJIlthLXpfXVthLXowLTlfXSoiCisKKyIgbGFiZWxzIChmb3IgYnJhbmNoZXMgZXRjKQorc3luIG1hdGNoIG1taXhMYWJlbAkJIl5bYS16MC05XzpdW2EtejAtOV9dKiIKK3N5biBtYXRjaCBtbWl4TGFiZWwJCSJbMC05XVtIQkZdIgorCisiIHBzZXVkby1vcGVyYXRpb25zCitzeW4ga2V5d29yZCBtbWl4UHNldWRvCQlpcyBsb2MgZ3JlZworCisiIGNvbW1lbnRzCitzeW4gbWF0Y2ggbW1peENvbW1lbnQJCSIlLioiCitzeW4gbWF0Y2ggbW1peENvbW1lbnQJCSIvLy4qIgorc3luIG1hdGNoIG1taXhDb21tZW50CQkiXlwqLioiCisKKworc3luIGtleXdvcmQgbW1peE9wY29kZQl0cmFwIGZjbXAgZnVuIGZlcWwgZmFkZCBmaXggZnN1YiBmaXh1CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWZtdWwgZmNtcGUgZnVuZSBmZXFsZSBmZGl2IGZzcXJ0IGZyZW0gZmludAorCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWZsb3RpIGZsb3R1aSBzZmxvdGkgc2Zsb3R1aSBpCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW11bGkgbXVsdWkgZGl2aSBkaXZ1aQorc3luIGtleXdvcmQgbW1peE9wY29kZQlhZGRpIGFkZHVpIHN1Ymkgc3VidWkKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJMmFkZHVpIDRhZGR1aSA4YWRkdWkgMTZhZGR1aQorc3luIGtleXdvcmQgbW1peE9wY29kZQljbXBpIGNtcHVpIG5lZ2kgbmVndWkKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJc2xpIHNsdWkgc3JpIHNydWkKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJYm5iIGJ6YiBicGIgYm9kYgorc3luIGtleXdvcmQgbW1peE9wY29kZQlibm5iIGJuemIgYm5wYiBiZXZiCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXBibmIgcGJ6YiBwYnBiIHBib2RiCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXBibm5iIHBibnpiIHBibnBiIHBiZXZiCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWNzbmkgY3N6aSBjc3BpIGNzb2RpCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWNzbm5pIGNzbnppIGNzbnBpIGNzZXZpCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXpzbmkgenN6aSB6c3BpIHpzb2RpCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXpzbm5pIHpzbnppIHpzbnBpIHpzZXZpCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWxkYmkgbGRidWkgbGR3aSBsZHd1aQorc3luIGtleXdvcmQgbW1peE9wY29kZQlsZHRpIGxkdHVpIGxkb2kgbGRvdWkKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJbGRzZmkgbGRodGkgY3N3YXBpIGxkdW5jaQorc3luIGtleXdvcmQgbW1peE9wY29kZQlsZHZ0c2kgcHJlbGRpIHByZWdvaSBnb2kKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJc3RiaSBzdGJ1aSBzdHdpIHN0d3VpCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXN0dGkgc3R0dWkgc3RvaSBzdG91aQorc3luIGtleXdvcmQgbW1peE9wY29kZQlzdHNmaSBzdGh0aSBzdGNvaSBzdHVuY2kKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJc3luY2RpIHByZXN0aSBzeW5jaWRpIHB1c2hnb2kKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJb3JpIG9ybmkgbm9yaSB4b3JpCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWFuZGkgYW5kbmkgbmFuZGkgbnhvcmkKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJYmRpZmkgd2RpZmkgdGRpZmkgb2RpZmkKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJbXV4aSBzYWRkaSBtb3JpIG14b3JpCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW11bGkgbXVsdWkgZGl2aSBkaXZ1aQorCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWZsb3QgZmxvdHUgc2Zsb3Qgc2Zsb3R1CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW11bCBtdWx1IGRpdiBkaXZ1CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWFkZCBhZGR1IHN1YiBzdWJ1CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCTJhZGR1IDRhZGR1IDhhZGR1IDE2YWRkdQorc3luIGtleXdvcmQgbW1peE9wY29kZQljbXAgY21wdSBuZWcgbmVndQorc3luIGtleXdvcmQgbW1peE9wY29kZQlzbCBzbHUgc3Igc3J1CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWJuIGJ6IGJwIGJvZAorc3luIGtleXdvcmQgbW1peE9wY29kZQlibm4gYm56IGJucCBiZXYKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJcGJuIHBieiBwYnAgcGJvZAorc3luIGtleXdvcmQgbW1peE9wY29kZQlwYm5uIHBibnogcGJucCBwYmV2CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWNzbiBjc3ogY3NwIGNzb2QKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJY3NubiBjc256IGNzbnAgY3Nldgorc3luIGtleXdvcmQgbW1peE9wY29kZQl6c24genN6IHpzcCB6c29kCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXpzbm4genNueiB6c25wIHpzZXYKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJbGRiIGxkYnUgbGR3IGxkd3UKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJbGR0IGxkdHUgbGRvIGxkb3UKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJbGRzZiBsZGh0IGNzd2FwIGxkdW5jCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWxkdnRzIHByZWxkIHByZWdvIGdvCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXN0YiBzdGJ1IHN0dyBzdHd1CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXN0dCBzdHR1IHN0byBzdG91CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXN0c2Ygc3RodCBzdGNvIHN0dW5jCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXN5bmNkIHByZXN0IHN5bmNpZCBwdXNoZ28KK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJb3Igb3JuIG5vciB4b3IKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJYW5kIGFuZG4gbmFuZCBueG9yCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWJkaWYgd2RpZiB0ZGlmIG9kaWYKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJbXV4IHNhZGQgbW9yIG14b3IKKworc3luIGtleXdvcmQgbW1peE9wY29kZQlzZXRoIHNldG1oIHNldG1sIHNldGwgaW5jaCBpbmNtaCBpbmNtbCBpbmNsCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW9yaCBvcm1oIG9ybWwgb3JsIGFuZGggYW5kbWggYW5kbWwgYW5kbmwKK3N5biBrZXl3b3JkIG1taXhPcGNvZGUJam1wIHB1c2hqIGdldGEgcHV0CitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXBvcCByZXN1bWUgc2F2ZSB1bnNhdmUgc3luYyBzd3ltIGdldCB0cmlwCitzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXNldCBsZGEKKworIiBzd2l0Y2ggYmFjayB0byBiZWluZyBjYXNlIHNlbnNpdGl2ZQorc3luIGNhc2UgbWF0Y2gKKworIiBnZW5lcmFsLXB1cnBvc2UgYW5kIHNwZWNpYWwtcHVycG9zZSByZWdpc3RlcnMKK3N5biBtYXRjaCBtbWl4UmVnaXN0ZXIJCSIkWzAtOV0qIgorc3luIG1hdGNoIG1taXhSZWdpc3RlcgkJInJbQS1aXSIKK3N5biBrZXl3b3JkIG1taXhSZWdpc3RlcglyQkIgclRUIHJXVyByWFggcllZIHJaWgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tbWl4X3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX21taXhfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCisgIEhpTGluayBtbWl4QXQJCVR5cGUKKyAgSGlMaW5rIG1taXhQc2V1ZG8JVHlwZQorICBIaUxpbmsgbW1peFJlZ2lzdGVyCVNwZWNpYWwKKyAgSGlMaW5rIG1taXhTZWdtZW50cwlUeXBlCisKKyAgSGlMaW5rIG1taXhMYWJlbAlTcGVjaWFsCisgIEhpTGluayBtbWl4Q29tbWVudAlDb21tZW50CisgIEhpTGluayBtbWl4T3Bjb2RlCUtleXdvcmQKKworICBIaUxpbmsgaGV4TnVtYmVyCU51bWJlcgorICBIaUxpbmsgZGVjTnVtYmVyCU51bWJlcgorICBIaUxpbmsgb2N0TnVtYmVyCU51bWJlcgorCisgIEhpTGluayBtbWl4U3RyaW5nCVN0cmluZworICBIaUxpbmsgbW1peENoYXIJU3RyaW5nCisKKyAgSGlMaW5rIG1taXhUeXBlCVR5cGUKKyAgSGlMaW5rIG1taXhJZGVudGlmaWVyCU5vcm1hbAorICBIaUxpbmsgbW1peFNwZWNpYWxDb21tZW50IENvbW1lbnQKKworICAiIE15IGRlZmF1bHQgY29sb3Igb3ZlcnJpZGVzOgorICAiIGhpIG1taXhTcGVjaWFsQ29tbWVudCBjdGVybWZnPXJlZAorICAiaGkgbW1peExhYmVsIGN0ZXJtZmc9bGlnaHRjeWFuCisgICIgaGkgbW1peFR5cGUgY3Rlcm1iZz1ibGFjayBjdGVybWZnPWJyb3duCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1taXgiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tb2Rjb25mLnZpbSBiL3J1bnRpbWUvc3ludGF4L21vZGNvbmYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2OWUxMzQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tb2Rjb25mLnZpbQpAQCAtMCwwICsxLDY2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIExpbnV4IG1vZHV0aWxzIG1vZHVsZXMuY29uZiBGaWxlCisiIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgorIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL21vZGNvbmYvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKKyIgYXJjaC10YWc6CSAgICBiNzk4MWJkYi1kYWEzLTQxZDEtOTRiNS1hM2Q2MGI2Mjc5MTYKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgY29tbWVudHMKK3N5biByZWdpb24gIG1vZGNvbmZDb21tZW50ICBzdGFydD0iIyIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPW1vZGNvbmZUb2RvCisKKyIgdG9kbworc3luIGtleXdvcmQgbW9kY29uZlRvZG8JICAgIEZJWE1FIFRPRE8gWFhYIE5PVEUKKworIiBrZXl3b3JkcyBhbmQgc2ltaWxhcgorc3luIG1hdGNoICAgbW9kY29uZkJlZ2luICAgICJeIiBza2lwd2hpdGUgbmV4dGdyb3VwPW1vZGNvbmZDb21tYW5kLG1vZGNvbmZDb21tZW50CisKK3N5biBtYXRjaCAgIG1vZGNvbmZDb21tYW5kICAiXChhZGRcc1wrXClcPShhYm92ZVx8YmVsb3dcfHByb2JlXHxwcm9iZWFsbFx9Igorc3luIHJlZ2lvbiAgbW9kY29uZkNvbW1hbmQgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9bW9kY29uZkNvbW1hbmQgc3RhcnQ9IlwoYWRkXHNcK1wpXD1vcHRpb25zIiBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9bW9kY29uZk1vZE9wdAorc3luIGtleXdvcmQgbW9kY29uZkNvbW1hbmQgIGRlZmluZSByZW1vdmUga2VlcCBpbnN0YWxsIGluc21vZF9vcHQgZWxzZSBlbmRpZgorc3luIGtleXdvcmQgbW9kY29uZkNvbW1hbmQgIG5leHRncm91cD1tb2Rjb25mUGF0aCBza2lwd2hpdGUgYWxpYXMgZGVwZmlsZSBnZW5lcmljX3N0cmluZ2ZpbGUgcGNpbWFwZmlsZSBpbmNsdWRlIGlzYXBucG1hcGZpbGUgdXNibWFwZmlsZSBwYXJwb3J0bWFwZmlsZSBpZWVlMTM5NG1hcGZpbGUgcG5wYmlvc21hcGZpbGUgcGVyc2lzdGRpciBwcnVuZQorc3luIG1hdGNoICAgbW9kY29uZkNvbW1hbmQgICJwYXRoXChcW1x3XCtcXVwpXD0iIG5leHRncm91cD1tb2Rjb25mUGF0aCBza2lwd2hpdGUKK3N5biByZWdpb24gIG1vZGNvbmZDb21tYW5kICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW1vZGNvbmZDb21tYW5kIHN0YXJ0PSJeXHMqXChpZlx8ZWxzZWlmXCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1tb2Rjb25mT3AKK3N5biByZWdpb24gIG1vZGNvbmZDb21tYW5kICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW1vZGNvbmZDb21tYW5kIHN0YXJ0PSJeXHMqXChwb3N0XHxwcmVcKS1cKGluc3RhbGxcfHJlbW92ZVwpIiBza2lwPSJcXCQiIGVuZD0iJCIKKworCisiIGV4cHJlc3Npb25zIGFuZCBzaW1pbGF5CitzeW4gbWF0Y2ggICBtb2Rjb25mT3AJICAgIGNvbnRhaW5lZCAiXHMtW2Zua11cPiIKK3N5biByZWdpb24gIG1vZGNvbmZQYXRoCSAgICBjb250YWluZWQgc3RhcnQ9IlwoPVxAPVwpXD0vIiBza2lwPSJcXCQiIGVuZD0iXFxcQCFcX3MiCitzeW4gbWF0Y2ggICBtb2Rjb25mTW9kT3B0ICAgY29udGFpbmVkICJcPFx3XCs9XEA9IgorCitpZiBleGlzdHMoIm1vZGNvbmZfbWlubGluZXMiKQorICAgIGxldCBiOm1vZGNvbmZfbWlubGluZXMgPSBtb2Rjb25mX21pbmxpbmVzCitlbHNlCisgICAgbGV0IGI6bW9kY29uZl9taW5saW5lcyA9IDUwCitlbmRpZgorZXhlYyAic3luIHN5bmMgbWlubGluZXM9IiAuIGI6bW9kY29uZl9taW5saW5lcworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tb2Rjb25mX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX21vZGNvbmZfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbW9kY29uZkNvbW1lbnQgQ29tbWVudAorICBIaUxpbmsgbW9kY29uZlRvZG8JVG9kbworICBIaUxpbmsgbW9kY29uZkNvbW1hbmQgS2V5d29yZAorICBIaUxpbmsgbW9kY29uZlBhdGgJU3RyaW5nCisgIEhpTGluayBtb2Rjb25mT3AJSWRlbnRpZmllcgorICBIaUxpbmsgbW9kY29uZk1vZE9wdCAgSWRlbnRpZmllcgorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibW9kY29uZiIKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbW9kZWwudmltIGIvcnVudGltZS9zeW50YXgvbW9kZWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxYjY3ODEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tb2RlbC52aW0KQEAgLTAsMCArMSw1OSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1vZGVsCisiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+CisiIExhc3QgQ2hhbmdlOgkyMDAxIEFwciAyNQorCisiIHZlcnkgYmFzaWMgdGhpbmdzIG9ubHkgKGJhc2VkIG9uIHRoZSB2Z3JpbmRlZnMgZmlsZSkuCisiIElmIHlvdSB1c2UgdGhpcyBsYW5ndWFnZSwgcGxlYXNlIGltcHJvdmUgaXQsIGFuZCBzZW5kIG1lIHRoZSBwYXRjaGVzIQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQSBidW5jaCBvZiBrZXl3b3Jkcworc3luIGtleXdvcmQgbW9kZWxLZXl3b3JkIGFicyBhbmQgYXJyYXkgYm9vbGVhbiBieSBjYXNlIGNkbmwgY2hhciBjb3BpZWQgZGlzcG9zZQorc3luIGtleXdvcmQgbW9kZWxLZXl3b3JkIGRpdiBkbyBkeW5hbWljIGVsc2UgZWxzaWYgZW5kIGVudHJ5IGV4dGVybmFsIEZBTFNFIGZhbHNlCitzeW4ga2V5d29yZCBtb2RlbEtleXdvcmQgZmkgZmlsZSBmb3IgZm9ybWFsIGZvcnRyYW4gZ2xvYmFsIGlmIGlmZiBpZnQgaW4gaW50ZWdlciBpbmNsdWRlCitzeW4ga2V5d29yZCBtb2RlbEtleXdvcmQgaW5saW5lIGlzIGxibmQgbWF4IG1pbiBtb2QgbmV3IE5JTCBuaWwgbm9yZXN1bHQgbm90IG5vdGluIG9kIG9mCitzeW4ga2V5d29yZCBtb2RlbEtleXdvcmQgb3IgcHJvY2VkdXJlIHB1YmxpYyByZWFkIHJlYWRsbiByZWFkb25seSByZWNvcmQgcmVjdXJzaXZlIHJlbSByZXAKK3N5biBrZXl3b3JkIG1vZGVsS2V5d29yZCByZXBlYXQgcmVzIHJlc3VsdCByZXR1cm4gc2V0IHNwYWNlIHN0cmluZyBzdWJzY3JpcHQgc3VjaCB0aGVuIFRSVUUKK3N5biBrZXl3b3JkIG1vZGVsS2V5d29yZCB0cnVlIHR5cGUgdWJuZCB1bmlvbiB1bnRpbCB2YXJpZXMgd2hpbGUgd2lkdGgKKworIiBTcGVjaWFsIGtleXdvcmRzCitzeW4ga2V5d29yZCBtb2RlbEJsb2NrIGJlZ2lucHJvYyBlbmRwcm9jCisKKyIgQ29tbWVudHMKK3N5biByZWdpb24gbW9kZWxDb21tZW50IHN0YXJ0PSJcJCIgZW5kPSJcJCIgZW5kPSIkIgorCisiIFN0cmluZ3MKK3N5biByZWdpb24gbW9kZWxTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisKKworIiBDaGFyYWN0ZXIgY29uc3RhbnQgKGlzIHRoaXMgcmlnaHQ/KQorc3luIG1hdGNoIG1vZGVsU3RyaW5nICInLiIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbW9kZWxfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbW9kZWxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbW9kZWxLZXl3b3JkCVN0YXRlbWVudAorICBIaUxpbmsgbW9kZWxCbG9jawlQcmVQcm9jCisgIEhpTGluayBtb2RlbENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgbW9kZWxTdHJpbmcJU3RyaW5nCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1vZGVsIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tb2RzaW0zLnZpbSBiL3J1bnRpbWUvc3ludGF4L21vZHNpbTMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0ZTlhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tb2RzaW0zLnZpbQpAQCAtMCwwICsxLDEwOSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1vZHNpbSBJSUksIGJ5IGNvbXB1d2FyZSBjb3Jwb3JhdGlvbiAod3d3LmNvbXB1d2FyZS5jb20pCisiIE1haW50YWluZXI6CVBoaWxpcHAgSm9jaGFtIDxmbGlwQHNib3gudHUtZ3Jhei5hYy5hdD4KKyIgRXh0ZW5zaW9uOgkqLm1vZAorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMTAKKyIKKyIgMjAwMSBNYXJjaCAyNDoKKyIgIC0gTW9kc2ltIElJSSBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrIGZyb20gY29tcHV3YXJlIGNvcnBvcmF0aW9uCisiICAtIG1hZGUgY29tcGF0aWJsZSB3aXRoIFZpbSA2LjAKKyIKKyIgMTk5OSBBcHIgMjIgOiBDaGFuZ2VkIG1vZHNpbTNMaXRlcmFsIGZyb20gcmVnaW9uIHRvIG1hdGNoCisiCisiIHZlcnkgYmFzaWMgdGhpbmdzIG9ubHkgKGJhc2VkIG9uIHRoZSBtb2R1bGEyIGFuZCBjIGZpbGVzKS4KKworaWYgdmVyc2lvbiA8IDYwMAorICAiIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZAorICBzeW4gY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworIiBzeW4gY2FzZSBtYXRjaCAiIGNhc2Ugc2Vuc2l0aXYgbWF0Y2ggaXMgZGVmYXVsdAorCisiIEEgYnVuY2ggb2Yga2V5d29yZHMKK3N5biBrZXl3b3JkIG1vZHNpbTNLZXl3b3JkIEFDVElEIEFMTCBBTkQgQVMgQVNLCitzeW4ga2V5d29yZCBtb2RzaW0zS2V5d29yZCBCWSBDQUxMIENBU0UgQ0xBU1MgQ09OU1QgRElWCitzeW4ga2V5d29yZCBtb2RzaW0zS2V5d29yZCBET1dOVE8gRFVSQVRJT04gRUxTRSBFTFNJRiBFWElUIEZBTFNFIEZJWEVEIEZPUgorc3luIGtleXdvcmQgbW9kc2ltM0tleXdvcmQgRk9SRUFDSCBGT1JXQVJEIElGIElOIElOSEVSSVRFRCBJTk9VVAorc3luIGtleXdvcmQgbW9kc2ltM0tleXdvcmQgSU5URVJSVVBUIExPT1AKK3N5biBrZXl3b3JkIG1vZHNpbTNLZXl3b3JkIE1PRCBNT05JVE9SIE5FV1ZBTFVFCitzeW4ga2V5d29yZCBtb2RzaW0zS2V5d29yZCBOT05NT0RTSU0gTk9UIE9CSkVDVCBPRiBPTiBPUiBPUklHSU5BTCBPVEhFUldJU0UgT1VUCitzeW4ga2V5d29yZCBtb2RzaW0zS2V5d29yZCBPVkVSUklERSBQUklWQVRFIFBST1RPIFJFUEVBVAorc3luIGtleXdvcmQgbW9kc2ltM0tleXdvcmQgUkVUVVJOIFJFVkVSU0VEIFNFTEYgU1RSRVJSIFRFTEwKK3N5biBrZXl3b3JkIG1vZHNpbTNLZXl3b3JkIFRFUk1JTkFURSBUSElTTUVUSE9EIFRPIFRSVUUgVFlQRSBVTlRJTCBWQUxVRSBWQVIKK3N5biBrZXl3b3JkIG1vZHNpbTNLZXl3b3JkIFdBSVQgV0FJVEZPUiBXSEVOIFdISUxFIFdJVEgKKworIiBCdWlsdGluIGZ1bmN0aW9ucyBhbmQgcHJvY2VkdXJlcworc3luIGtleXdvcmQgbW9kc2ltM0J1aWx0aW4gQUJTIEFDVElWQVRFIEFERE1PTklUT1IgQ0FQIENIQVJUT1NUUiBDSFIgQ0xPTkUKK3N5biBrZXl3b3JkIG1vZHNpbTNCdWlsdGluIERFQUNUSVZBVEUgREVDIERJU1BPU0UgRkxPQVQgR0VUTU9OSVRPUiBISUdIIElOQworc3luIGtleXdvcmQgbW9kc2ltM0J1aWx0aW4gSU5QVVQgSU5TRVJUIElOVFRPU1RSIElTQU5DRVNUT1IgTE9XIExPV0VSIE1BWCBNQVhPRgorc3luIGtleXdvcmQgbW9kc2ltM0J1aWx0aW4gTUlOIE1JTk9GIE5FVyBPQkpUWVBFSUQgT0JKVFlQRU5BTUUgT0JKVkFSSUQgT0RECitzeW4ga2V5d29yZCBtb2RzaW0zQnVpbHRpbiBPTkVSUk9SIE9ORVhJVCBPUkQgT1VUUFVUIFBPU0lUSU9OIFBSSU5UIFJFQUxUT1NUUgorc3luIGtleXdvcmQgbW9kc2ltM0J1aWx0aW4gUkVQTEFDRSBSRU1PVkVNT05JVE9SIFJPVU5EIFNDSEFSIFNJWkVPRiBTUFJJTlQKK3N5biBrZXl3b3JkIG1vZHNpbTNCdWlsdGluIFNUUkxFTiBTVFJUT0NIQVIgU1RSVE9JTlQgU1RSVE9SRUFMIFNVQlNUUiBUUlVOQworc3luIGtleXdvcmQgbW9kc2ltM0J1aWx0aW4gVVBEQVRFVkFMVUUgVVBQRVIgVkFMCisKK3N5biBrZXl3b3JkIG1vZHNpbTNCdWlsdGluTm9QYXJlbiBIQUxUIFRSQUNFCisKKyIgU3BlY2lhbCBrZXl3b3Jkcworc3luIGtleXdvcmQgbW9kc2ltM0Jsb2NrIFBST0NFRFVSRSBNRVRIT0QgTU9EVUxFIE1BSU4gREVGSU5JVElPTiBJTVBMRU1FTlRBVElPTgorc3luIGtleXdvcmQgbW9kc2ltM0Jsb2NrIEJFR0lOIEVORAorCitzeW4ga2V5d29yZCBtb2RzaW0zSW5jbHVkZSBJTVBPUlQgRlJPTQorCitzeW4ga2V5d29yZCBtb2RzaW0zVHlwZSBBTllBUlJBWSBBTllPQkogQU5ZUkVDIEFSUkFZIEJPT0xFQU4gQ0hBUiBJTlRFR0VSCitzeW4ga2V5d29yZCBtb2RzaW0zVHlwZSBMTU9OSVRPUkVEIExSTU9OSVRPUkVEIE5JTEFSUkFZIE5JTE9CSiBOSUxSRUMgUkVBTAorc3luIGtleXdvcmQgbW9kc2ltM1R5cGUgUkVDT1JEIFJNT05JVE9SIFJNT05JVE9SRUQgU1RSSU5HCisKKyIgY2F0Y2ggZXJycm9zIGNhdXNlIGJ5IHdyb25nIHBhcmVudGhlc2lzCisiIHNsaWdodCBwcm9ibGVtIHdpdGggIiggKikiIG9yICIoKiApIi4gSGludHM/CitzeW4gcmVnaW9uIG1vZHNpbTNQYXJlbgl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsbW9kc2ltM1BhcmVuRXJyb3IKK3N5biBtYXRjaCBtb2RzaW0zUGFyZW5FcnJvciAiKSIKKworIiBDb21tZW50cworc3luIHJlZ2lvbiBtb2RzaW0zQ29tbWVudDEgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbnM9bW9kc2ltM0NvbW1lbnQxLG1vZHNpbTNDb21tZW50Mgorc3luIHJlZ2lvbiBtb2RzaW0zQ29tbWVudDIgc3RhcnQ9IihcKiIgZW5kPSJcKikiIGNvbnRhaW5zPW1vZHNpbTNDb21tZW50MSxtb2RzaW0zQ29tbWVudDIKKyIgaGlnaGxpZ2h0aW5nIGlzIHdyb25nIGZvciBjb25zdHJ1Y3RzIGxpa2UgInsgICgqICB9ICAqKSIsCisiIHdoaWNoIGFyZSBhbGxvd2VkIGluIE1vZHNpbSBJSUksIGJ1dAorIiBJIHRoaW5rIHNvbWV0aGluZyBsaWtlIHRoYXQgc2hvdWxkbid0IGJlIHVzZWQgYW55d2F5LgorCisiIFN0cmluZ3MKK3N5biByZWdpb24gbW9kc2ltM1N0cmluZyBzdGFydD0rIisgZW5kPSsiKworCisiIExpdGVyYWxzCisic3luIHJlZ2lvbiBtb2RzaW0zTGl0ZXJhbCBzdGFydD0rJysgZW5kPSsnKworc3luIG1hdGNoIG1vZHNpbTNMaXRlcmFsICInW14nXSdcfCcnJyciCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21vZHNpbTNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbW9kc2ltM19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKKyAgSGlMaW5rIG1vZHNpbTNLZXl3b3JkCVN0YXRlbWVudAorICBIaUxpbmsgbW9kc2ltM0Jsb2NrCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1vZHNpbTNDb21tZW50MQlDb21tZW50CisgIEhpTGluayBtb2RzaW0zQ29tbWVudDIJQ29tbWVudAorICBIaUxpbmsgbW9kc2ltM1N0cmluZwkJU3RyaW5nCisgIEhpTGluayBtb2RzaW0zTGl0ZXJhbAlDaGFyYWN0ZXIKKyAgSGlMaW5rIG1vZHNpbTNJbmNsdWRlCVN0YXRlbWVudAorICBIaUxpbmsgbW9kc2ltM1R5cGUJCVR5cGUKKyAgSGlMaW5rIG1vZHNpbTNQYXJlbkVycm9yCUVycm9yCisgIEhpTGluayBtb2RzaW0zQnVpbHRpbglGdW5jdGlvbgorICBIaUxpbmsgbW9kc2ltM0J1aWx0aW5Ob1BhcmVuCUZ1bmN0aW9uCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1vZHNpbTMiCisKKyIgdmltOiB0cz04IHN3PTIKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbW9kdWxhMi52aW0gYi9ydW50aW1lL3N5bnRheC9tb2R1bGEyLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDE4OTAwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbW9kdWxhMi52aW0KQEAgLTAsMCArMSw4NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1vZHVsYSAyCisiIE1haW50YWluZXI6CXBmQGFydGNvbTAubm9ydGguZGUgKFBldGVyIEZ1bmspCisiICAgYmFzZWQgb24gb3JpZ2luYWwgd29yayBvZiBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMDkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIERvbid0IGlnbm9yZSBjYXNlIChNb2R1bGEtMiBpcyBjYXNlIHNpZ25pZmljYW50KS4gVGhpcyBpcyB0aGUgZGVmYXVsdCBpbiB2aW0KKworIiBFc3BlY2lhbGx5IGVtcGhhc2l6ZSBoZWFkZXJzIG9mIHByb2NlZHVyZXMgYW5kIG1vZHVsZXM6CitzeW4gcmVnaW9uIG1vZHVsYTJIZWFkZXIgbWF0Y2hncm91cD1tb2R1bGEySGVhZGVyIHN0YXJ0PSJQUk9DRURVUkUgIiBlbmQ9IigiIGNvbnRhaW5zPW1vZHVsYTJJZGVudCBvbmVsaW5lCitzeW4gcmVnaW9uIG1vZHVsYTJIZWFkZXIgbWF0Y2hncm91cD1tb2R1bGEySGVhZGVyIHN0YXJ0PSJNT0RVTEUgIiBlbmQ9IjsiIGNvbnRhaW5zPW1vZHVsYTJJZGVudCBvbmVsaW5lCitzeW4gcmVnaW9uIG1vZHVsYTJIZWFkZXIgbWF0Y2hncm91cD1tb2R1bGEySGVhZGVyIHN0YXJ0PSJCRUdJTiAoXCoiIGVuZD0iXCopIiBjb250YWlucz1tb2R1bGEySWRlbnQgb25lbGluZQorc3luIHJlZ2lvbiBtb2R1bGEySGVhZGVyIG1hdGNoZ3JvdXA9bW9kdWxhMkhlYWRlciBzdGFydD0iRU5EICIgZW5kPSI7IiBjb250YWlucz1tb2R1bGEySWRlbnQgb25lbGluZQorc3luIHJlZ2lvbiBtb2R1bGEyS2V5d29yZCBzdGFydD0iRU5EIiBlbmQ9IjsiIGNvbnRhaW5zPUFMTEJVVCxtb2R1bGEySWRlbnQgb25lbGluZQorCisiIFNvbWUgdmVyeSBpbXBvcnRhbnQga2V5d29yZHMgd2hpY2ggc2hvdWxkIGJlIGVtcGhhc2l6ZWQgbW9yZSB0aGFuIG90aGVyczoKK3N5biBrZXl3b3JkIG1vZHVsYTJBdHRLZXl3b3JkIENPTlNUIEVYSVQgSEFMVCBSRVRVUk4gVFlQRSBWQVIKKyIgQWxsIG90aGVyIGtleXdvcmRzIGluIGFscGhhYmV0aWNhbCBvcmRlcjoKK3N5biBrZXl3b3JkIG1vZHVsYTJLZXl3b3JkIEFORCBBUlJBWSBCWSBDQVNFIERFRklOSVRJT04gRElWIERPIEVMU0UKK3N5biBrZXl3b3JkIG1vZHVsYTJLZXl3b3JkIEVMU0lGIEVYUE9SVCBGT1IgRlJPTSBJRiBJTVBMRU1FTlRBVElPTiBJTVBPUlQKK3N5biBrZXl3b3JkIG1vZHVsYTJLZXl3b3JkIElOIExPT1AgTU9EIE5PVCBPRiBPUiBQT0lOVEVSIFFVQUxJRklFRCBSRUNPUkQKK3N5biBrZXl3b3JkIG1vZHVsYTJLZXl3b3JkIFNFVCBUSEVOIFRPIFVOVElMIFdISUxFIFdJVEgKKworc3luIGtleXdvcmQgbW9kdWxhMlR5cGUgQUREUkVTUyBCSVRTRVQgQk9PTEVBTiBDQVJESU5BTCBDSEFSIElOVEVHRVIgUkVBTCBXT1JECitzeW4ga2V5d29yZCBtb2R1bGEyU3RkRnVuYyBBQlMgQ0FQIENIUiBERUMgRVhDTCBJTkMgSU5DTCBPUkQgU0laRSBUU0laRSBWQUwKK3N5biBrZXl3b3JkIG1vZHVsYTJTdGRDb25zdCBGQUxTRSBOSUwgVFJVRQorIiBUaGUgZm9sbG93aW5nIG1heSBiZSBkaXNjdXNzZWQsIHNpbmNlIE5FVyBhbmQgRElTUE9TRSBhcmUgc29tZSBraW5kIG9mCisiIHNwZWNpYWwgYnVpbHRpbiBtYWNybyBmdW5jdGlvbnM6CitzeW4ga2V5d29yZCBtb2R1bGEyU3RkRnVuYyBORVcgRElTUE9TRQorIiBUaGUgZm9sbG93aW5nIHR5cGVzIGFyZSBhZGRlZCBsYXRlciBvbiBhbmQgbWF5IGJlIG1pc3NpbmcgZnJvbSBvbGRlcgorIiBNb2R1bGEtMiBDb21waWxlcnMgKHRoZXkgYXJlIGF0IGxlYXN0IG1pc3NpbmcgZnJvbSB0aGUgb3JpZ2luYWwgcmVwb3J0CisiIGJ5IE4uV2lydGggZnJvbSBNYXJjaCAxOTgwIDstKSAgSGlnaGxpZ2h0aW5nIHNob3VsZCBhcHBseSBuZXZlcnRoZWxlc3M6CitzeW4ga2V5d29yZCBtb2R1bGEyVHlwZSBCWVRFIExPTkdDQVJEIExPTkdJTlQgTE9OR1JFQUwgUFJPQyBTSE9SVENBUkQgU0hPUlRJTlQKKyIgc2FtZSBub3RlIGFwcGxpZXMgdG8gbWluIGFuZCBtYXgsIHdoaWNoIHdlcmUgYWxzbyBhZGRlZCBsYXRlciB0byBtMjoKK3N5biBrZXl3b3JkIG1vZHVsYTJTdGRGdW5jIE1BWCBNSU4KKyIgVGhlIHVuZGVyc2NvcmUgd2FzIG9yaWdpbmFsbHkgZGlzYWxsb3dlZCBpbiBtMiBpZHMsIGl0IHdhcyBhbHNvIGFkZGVkIGxhdGVyOgorc3luIG1hdGNoICAgbW9kdWxhMklkZW50ICIgW0EtWixhLXpdW0EtWixhLXosMC05LF9dKiIgY29udGFpbmVkCisKKyIgQ29tbWVudHMgbWF5IGJlIG5lc3RlZCBpbiBNb2R1bGEtMjoKK3N5biByZWdpb24gbW9kdWxhMkNvbW1lbnQgc3RhcnQ9IihcKiIgZW5kPSJcKikiIGNvbnRhaW5zPW1vZHVsYTJDb21tZW50LG1vZHVsYTJUb2RvCitzeW4ga2V5d29yZCBtb2R1bGEyVG9kbwljb250YWluZWQgVE9ETyBGSVhNRSBYWFgKKworIiBTdHJpbmdzCitzeW4gcmVnaW9uIG1vZHVsYTJTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisKK3N5biByZWdpb24gbW9kdWxhMlN0cmluZyBzdGFydD0iJyIgZW5kPSInIgorc3luIHJlZ2lvbiBtb2R1bGEyU2V0IHN0YXJ0PSJ7IiBlbmQ9In0iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21vZHVsYTJfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbW9kdWxhMl9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBtb2R1bGEySWRlbnQJCUlkZW50aWZpZXIKKyAgSGlMaW5rIG1vZHVsYTJTdGRDb25zdAlCb29sZWFuCisgIEhpTGluayBtb2R1bGEyVHlwZQkJSWRlbnRpZmllcgorICBIaUxpbmsgbW9kdWxhMlN0ZEZ1bmMJCUlkZW50aWZpZXIKKyAgSGlMaW5rIG1vZHVsYTJIZWFkZXIJCVR5cGUKKyAgSGlMaW5rIG1vZHVsYTJLZXl3b3JkCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1vZHVsYTJBdHRLZXl3b3JkCVByZVByb2MKKyAgSGlMaW5rIG1vZHVsYTJDb21tZW50CQlDb21tZW50CisgICIgVGhlIGZvbGxvd2luZyBpcyBqdXN0IGEgbWF0dGVyIG9mIHRhc3RlICh5b3Ugd2FudCB0byB0cnkgdGhpcyBpbnN0ZWFkKToKKyAgIiBoaSBtb2R1bGEyQ29tbWVudCB0ZXJtPWJvbGQgY3Rlcm1mZz1EYXJrQmx1ZSBndWlmZz1CbHVlIGd1aT1ib2xkCisgIEhpTGluayBtb2R1bGEyVG9kbwkJVG9kbworICBIaUxpbmsgbW9kdWxhMlN0cmluZwkJU3RyaW5nCisgIEhpTGluayBtb2R1bGEyU2V0CQlTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibW9kdWxhMiIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21vZHVsYTMudmltIGIvcnVudGltZS9zeW50YXgvbW9kdWxhMy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZmNzJhZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21vZHVsYTMudmltCkBAIC0wLDAgKzEsNzIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNb2R1bGEtMworIiBNYWludGFpbmVyOglUaW1vIFBlZGVyc2VuIDxkYXQ5N3RwZUBsdWRhdC5sdGguc2U+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAxMAorCisiIEJhc2ljIHRoaW5ncyBvbmx5Li4uCisiIEJhc2VkIG9uIHRoZSBtb2R1bGEgMiBzeW50YXggZmlsZQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgTW9kdWxhLTMgaXMgY2FzZS1zZW5zaXRpdmUKKyIgc3luIGNhc2UgaWdub3JlCisKKyIgTW9kdWxhLTMga2V5d29yZHMKK3N5biBrZXl3b3JkIG1vZHVsYTNLZXl3b3JkIEFCUyBBRERSRVMgQURSIEFEUlNJWkUgQU5EIEFOWQorc3luIGtleXdvcmQgbW9kdWxhM0tleXdvcmQgQVJSQVkgQVMgQklUUyBCSVRTSVpFIEJPT0xFQU4gQlJBTkRFRCBCWSBCWVRFU0laRQorc3luIGtleXdvcmQgbW9kdWxhM0tleXdvcmQgQ0FSRElOQUwgQ0FTRSBDRUlMSU5HIENIQVIgQ09OU1QgREVDIERFRklOSVRJT04KK3N5biBrZXl3b3JkIG1vZHVsYTNLZXl3b3JkIERJU1BPU0UgRElWCitzeW4ga2V5d29yZCBtb2R1bGEzS2V5d29yZCBFVkFMIEVYSVQgRVhDRVBUIEVYQ0VQVElPTgorc3luIGtleXdvcmQgbW9kdWxhM0tleXdvcmQgRVhJVCBFWFBPUlRTIEVYVEVOREVEIEZBTFNFIEZJTkFMTFkgRklSU1QgRkxPQVQKK3N5biBrZXl3b3JkIG1vZHVsYTNLZXl3b3JkIEZMT09SIEZST00gR0VORVJJQyBJTVBPUlQKK3N5biBrZXl3b3JkIG1vZHVsYTNLZXl3b3JkIElOIElOQyBJTlRFR0VSIElTVFlQRSBMQVNUIExPQ0sKK3N5biBrZXl3b3JkIG1vZHVsYTNLZXl3b3JkIExPTkdSRUFMIExPT1BIT0xFIE1BWCBNRVRIT0QgTUlOIE1PRCBNVVRFWAorc3luIGtleXdvcmQgbW9kdWxhM0tleXdvcmQgTkFSUk9XIE5FVyBOSUwgTk9UIE5VTEwgTlVNQkVSIE9GIE9SIE9SRCBSQUlTRQorc3luIGtleXdvcmQgbW9kdWxhM0tleXdvcmQgUkFJU0VTIFJFQURPTkxZIFJFQUwgUkVDT1JEIFJFRiBSRUZBTlkKK3N5biBrZXl3b3JkIG1vZHVsYTNLZXl3b3JkIFJFVFVSTiBST09UCitzeW4ga2V5d29yZCBtb2R1bGEzS2V5d29yZCBST1VORCBTRVQgU1VCQVJSQVkgVEVYVCBUUlVFIFRSVU5DIFRSWSBUWVBFCitzeW4ga2V5d29yZCBtb2R1bGEzS2V5d29yZCBUWVBFQ0FTRSBUWVBFQ09ERSBVTlNBRkUgVU5UUkFDRUQgVkFMIFZBTFVFIFZBUiBXSVRICisKKyIgU3BlY2lhbCBrZXl3b3JkcywgYmxvY2sgZGVsaW1pdGVycyBldGMKK3N5biBrZXl3b3JkIG1vZHVsYTNCbG9jayBQUk9DRURVUkUgRlVOQ1RJT04gTU9EVUxFIElOVEVSRkFDRSBSRVBFQVQgVEhFTgorc3luIGtleXdvcmQgbW9kdWxhM0Jsb2NrIEJFR0lOIEVORCBPQkpFQ1QgTUVUSE9EUyBPVkVSUklERVMgUkVDT1JEIFJFVkVBTAorc3luIGtleXdvcmQgbW9kdWxhM0Jsb2NrIFdISUxFIFVOVElMIERPIFRPIElGIEZPUiBFTFNJRiBFTFNFIExPT1AKKworIiBDb21tZW50cworc3luIHJlZ2lvbiBtb2R1bGEzQ29tbWVudCBzdGFydD0iKFwqIiBlbmQ9IlwqKSIKKworIiBTdHJpbmdzCitzeW4gcmVnaW9uIG1vZHVsYTNTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisKK3N5biByZWdpb24gbW9kdWxhM1N0cmluZyBzdGFydD0rJysgZW5kPSsnKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tb2R1bGEzX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX21vZHVsYTNfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCisgIEhpTGluayBtb2R1bGEzS2V5d29yZAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1vZHVsYTNCbG9jawkJUHJlUHJvYworICBIaUxpbmsgbW9kdWxhM0NvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgbW9kdWxhM1N0cmluZwkJU3RyaW5nCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1vZHVsYTMiCisKKyJJIHByZWZlciB0byB1c2UgdGhpcy4uLgorInNldCBhaQorInZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbW9uay52aW0gYi9ydW50aW1lL3N5bnRheC9tb25rLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjBiNzljCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbW9uay52aW0KQEAgLTAsMCArMSwyMjggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiBNb25rIChTZWUtQmV5b25kIFRlY2hub2xvZ2llcykKKyIgTWFpbnRhaW5lcjogTWlrZSBMaXRoZXJsYW5kIDxsaXRoZXJtQGNjZi5vcmc+CisiIExhc3QgQ2hhbmdlOiBNYXJjaCA2LCAyMDAyCisKKyIgVGhpcyBzeW50YXggZmlsZSBpcyBnb29kIGVub3VnaCBmb3IgbXkgbmVlZHMsIGJ1dCBvdGhlcnMKKyIgbWF5IGRlc2lyZSBtb3JlIGZlYXR1cmVzLiAgU3VnZ2VzdGlvbnMgYW5kIGJ1ZyByZXBvcnRzCisiIGFyZSBzb2xpY2l0ZWQgYnkgdGhlIGF1dGhvciAoYWJvdmUpLgorCisiIE9yaWdpbmFsbHkgYmFzZWQgb24gdGhlIFNjaGVtZSBzeW50YXggZmlsZSBieToKKworIiBNYWludGFpbmVyOglEaXJrIHZhbiBEZXVuIDxkdmFuZGV1bkBwb2JveGVzLmNvbT4KKyIgTGFzdCBDaGFuZ2U6CUFwcmlsIDMwLCAxOTk4CisKKyIgSW4gZmFjdCBpdCdzIGFsbW9zdCBpZGVudGljYWwuIDopCisKKyIgVGhlIG9yaWdpbmFsIGF1dGhvcidzIG5vdGVzOgorIiBUaGlzIHNjcmlwdCBpbmNvcnJlY3RseSByZWNvZ25pemVzIHNvbWUganVuayBpbnB1dCBhcyBudW1lcmFsczoKKyIgcGFyc2luZyB0aGUgY29tcGxldGUgc3lzdGVtIG9mIFNjaGVtZSBudW1lcmFscyB1c2luZyB0aGUgcGF0dGVybgorIiBsYW5ndWFnZSBpcyBwcmFjdGljYWxseSBpbXBvc3NpYmxlOiBJIGRpZCBhIGxheCBhcHByb3hpbWF0aW9uLgorCisiIEluaXRpYWxpemluZzoKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBGYXNjaXN0IGhpZ2hsaWdodGluZzogZXZlcnl0aGluZyB0aGF0IGRvZXNuJ3QgZml0IHRoZSBydWxlcyBpcyBhbiBlcnJvci4uLgorCitzeW4gbWF0Y2gJbW9ua0Vycm9yCW9uZWxpbmUgICAgIVteIFx0KCkiO10qIQorc3luIG1hdGNoCW1vbmtFcnJvcglvbmVsaW5lICAgICIpIgorCisiIFF1b3RlZCBhbmQgYmFja3F1b3RlZCBzdHVmZgorCitzeW4gcmVnaW9uIG1vbmtRdW90ZWQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlsnYF0iIGVuZD0hWyBcdCgpIjtdIW1lPWUtMSBjb250YWlucz1BTExCVVQsbW9ua1N0cnVjLG1vbmtTeW50YXgsbW9ua0Z1bmMKKworc3luIHJlZ2lvbiBtb25rUXVvdGVkIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJbJ2BdKCIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsbW9ua1N0cnVjLG1vbmtTeW50YXgsbW9ua0Z1bmMKK3N5biByZWdpb24gbW9ua1F1b3RlZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iWydgXSMoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxtb25rU3RydWMsbW9ua1N5bnRheCxtb25rRnVuYworCitzeW4gcmVnaW9uIG1vbmtTdHJ1Y1Jlc3RyaWN0ZWQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULG1vbmtTdHJ1Yyxtb25rU3ludGF4LG1vbmtGdW5jCitzeW4gcmVnaW9uIG1vbmtTdHJ1Y1Jlc3RyaWN0ZWQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IiMoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxtb25rU3RydWMsbW9ua1N5bnRheCxtb25rRnVuYworCitzeW4gcmVnaW9uIG1vbmtVbnF1b3RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIsIiBlbmQ9IVsgXHQoKSI7XSFtZT1lLTEgY29udGFpbnM9QUxMQlVULG1vbmtTdHJ1Yyxtb25rU3ludGF4LG1vbmtGdW5jCitzeW4gcmVnaW9uIG1vbmtVbnF1b3RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIsQCIgZW5kPSFbIFx0KCkiO10hbWU9ZS0xIGNvbnRhaW5zPUFMTEJVVCxtb25rU3RydWMsbW9ua1N5bnRheCxtb25rRnVuYworCitzeW4gcmVnaW9uIG1vbmtVbnF1b3RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIsKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsbW9ua1N0cnVjLG1vbmtTeW50YXgsbW9ua0Z1bmMKK3N5biByZWdpb24gbW9ua1VucXVvdGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IixAKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsbW9ua1N0cnVjLG1vbmtTeW50YXgsbW9ua0Z1bmMKKworc3luIHJlZ2lvbiBtb25rVW5xdW90ZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iLCMoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxtb25rU3RydWMsbW9ua1N5bnRheCxtb25rRnVuYworc3luIHJlZ2lvbiBtb25rVW5xdW90ZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iLEAjKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsbW9ua1N0cnVjLG1vbmtTeW50YXgsbW9ua0Z1bmMKKworIiBSNVJTIFNjaGVtZSBGdW5jdGlvbnMgYW5kIFN5bnRheDoKKworaWYgdmVyc2lvbiA8IDYwMAorICBzZXQgaXNrZXl3b3JkPTMzLDM1LTM5LDQyLTU4LDYwLTkwLDk0LDk1LDk3LTEyMiwxMjYsXworZWxzZQorICBzZXRsb2NhbCBpc2tleXdvcmQ9MzMsMzUtMzksNDItNTgsNjAtOTAsOTQsOTUsOTctMTIyLDEyNixfCitlbmRpZgorCitzeW4ga2V5d29yZCBtb25rU3ludGF4IGxhbWJkYSBhbmQgb3IgaWYgY29uZCBjYXNlIGRlZmluZSBsZXQgbGV0KiBsZXRyZWMKK3N5biBrZXl3b3JkIG1vbmtTeW50YXggYmVnaW4gZG8gZGVsYXkgc2V0ISBlbHNlID0+CitzeW4ga2V5d29yZCBtb25rU3ludGF4IHF1b3RlIHF1YXNpcXVvdGUgdW5xdW90ZSB1bnF1b3RlLXNwbGljaW5nCitzeW4ga2V5d29yZCBtb25rU3ludGF4IGRlZmluZS1zeW50YXggbGV0LXN5bnRheCBsZXRyZWMtc3ludGF4IHN5bnRheC1ydWxlcworCitzeW4ga2V5d29yZCBtb25rRnVuYyBub3QgYm9vbGVhbj8gZXE/IGVxdj8gZXF1YWw/IHBhaXI/IGNvbnMgY2FyIGNkciBzZXQtY2FyIQorc3luIGtleXdvcmQgbW9ua0Z1bmMgc2V0LWNkciEgY2FhciBjYWRyIGNkYXIgY2RkciBjYWFhciBjYWFkciBjYWRhciBjYWRkcgorc3luIGtleXdvcmQgbW9ua0Z1bmMgY2RhYXIgY2RhZHIgY2RkYXIgY2RkZHIgY2FhYWFyIGNhYWFkciBjYWFkYXIgY2FhZGRyCitzeW4ga2V5d29yZCBtb25rRnVuYyBjYWRhYXIgY2FkYWRyIGNhZGRhciBjYWRkZHIgY2RhYWFyIGNkYWFkciBjZGFkYXIgY2RhZGRyCitzeW4ga2V5d29yZCBtb25rRnVuYyBjZGRhYXIgY2RkYWRyIGNkZGRhciBjZGRkZHIgbnVsbD8gbGlzdD8gbGlzdCBsZW5ndGgKK3N5biBrZXl3b3JkIG1vbmtGdW5jIGFwcGVuZCByZXZlcnNlIGxpc3QtcmVmIG1lbXEgbWVtdiBtZW1iZXIgYXNzcSBhc3N2IGFzc29jCitzeW4ga2V5d29yZCBtb25rRnVuYyBzeW1ib2w/IHN5bWJvbC0+c3RyaW5nIHN0cmluZy0+c3ltYm9sIG51bWJlcj8gY29tcGxleD8KK3N5biBrZXl3b3JkIG1vbmtGdW5jIHJlYWw/IHJhdGlvbmFsPyBpbnRlZ2VyPyBleGFjdD8gaW5leGFjdD8gPSA8ID4gPD0gPj0KK3N5biBrZXl3b3JkIG1vbmtGdW5jIHplcm8/IHBvc2l0aXZlPyBuZWdhdGl2ZT8gb2RkPyBldmVuPyBtYXggbWluICsgKiAtIC8gYWJzCitzeW4ga2V5d29yZCBtb25rRnVuYyBxdW90aWVudCByZW1haW5kZXIgbW9kdWxvIGdjZCBsY20gbnVtZXJhdG9yIGRlbm9taW5hdG9yCitzeW4ga2V5d29yZCBtb25rRnVuYyBmbG9vciBjZWlsaW5nIHRydW5jYXRlIHJvdW5kIHJhdGlvbmFsaXplIGV4cCBsb2cgc2luIGNvcworc3luIGtleXdvcmQgbW9ua0Z1bmMgdGFuIGFzaW4gYWNvcyBhdGFuIHNxcnQgZXhwdCBtYWtlLXJlY3Rhbmd1bGFyIG1ha2UtcG9sYXIKK3N5biBrZXl3b3JkIG1vbmtGdW5jIHJlYWwtcGFydCBpbWFnLXBhcnQgbWFnbml0dWRlIGFuZ2xlIGV4YWN0LT5pbmV4YWN0CitzeW4ga2V5d29yZCBtb25rRnVuYyBpbmV4YWN0LT5leGFjdCBudW1iZXItPnN0cmluZyBzdHJpbmctPm51bWJlciBjaGFyPT8KK3N5biBrZXl3b3JkIG1vbmtGdW5jIGNoYXItY2k9PyBjaGFyPD8gY2hhci1jaTw/IGNoYXI+PyBjaGFyLWNpPj8gY2hhcjw9Pworc3luIGtleXdvcmQgbW9ua0Z1bmMgY2hhci1jaTw9PyBjaGFyPj0/IGNoYXItY2k+PT8gY2hhci1hbHBoYWJldGljPyBjaGFyPworc3luIGtleXdvcmQgbW9ua0Z1bmMgY2hhci1udW1lcmljPyBjaGFyLXdoaXRlc3BhY2U/IGNoYXItdXBwZXItY2FzZT8KK3N5biBrZXl3b3JkIG1vbmtGdW5jIGNoYXItbG93ZXItY2FzZT8KK3N5biBrZXl3b3JkIG1vbmtGdW5jIGNoYXItPmludGVnZXIgaW50ZWdlci0+Y2hhciBjaGFyLXVwY2FzZSBjaGFyLWRvd25jYXNlCitzeW4ga2V5d29yZCBtb25rRnVuYyBzdHJpbmc/IG1ha2Utc3RyaW5nIHN0cmluZyBzdHJpbmctbGVuZ3RoIHN0cmluZy1yZWYKK3N5biBrZXl3b3JkIG1vbmtGdW5jIHN0cmluZy1zZXQhIHN0cmluZz0/IHN0cmluZy1jaT0/IHN0cmluZzw/IHN0cmluZy1jaTw/CitzeW4ga2V5d29yZCBtb25rRnVuYyBzdHJpbmc+PyBzdHJpbmctY2k+PyBzdHJpbmc8PT8gc3RyaW5nLWNpPD0/IHN0cmluZz49Pworc3luIGtleXdvcmQgbW9ua0Z1bmMgc3RyaW5nLWNpPj0/IHN1YnN0cmluZyBzdHJpbmctYXBwZW5kIHZlY3Rvcj8gbWFrZS12ZWN0b3IKK3N5biBrZXl3b3JkIG1vbmtGdW5jIHZlY3RvciB2ZWN0b3ItbGVuZ3RoIHZlY3Rvci1yZWYgdmVjdG9yLXNldCEgcHJvY2VkdXJlPworc3luIGtleXdvcmQgbW9ua0Z1bmMgYXBwbHkgbWFwIGZvci1lYWNoIGNhbGwtd2l0aC1jdXJyZW50LWNvbnRpbnVhdGlvbgorc3luIGtleXdvcmQgbW9ua0Z1bmMgY2FsbC13aXRoLWlucHV0LWZpbGUgY2FsbC13aXRoLW91dHB1dC1maWxlIGlucHV0LXBvcnQ/CitzeW4ga2V5d29yZCBtb25rRnVuYyBvdXRwdXQtcG9ydD8gY3VycmVudC1pbnB1dC1wb3J0IGN1cnJlbnQtb3V0cHV0LXBvcnQKK3N5biBrZXl3b3JkIG1vbmtGdW5jIG9wZW4taW5wdXQtZmlsZSBvcGVuLW91dHB1dC1maWxlIGNsb3NlLWlucHV0LXBvcnQKK3N5biBrZXl3b3JkIG1vbmtGdW5jIGNsb3NlLW91dHB1dC1wb3J0IGVvZi1vYmplY3Q/IHJlYWQgcmVhZC1jaGFyIHBlZWstY2hhcgorc3luIGtleXdvcmQgbW9ua0Z1bmMgd3JpdGUgZGlzcGxheSBuZXdsaW5lIHdyaXRlLWNoYXIgY2FsbC9jYworc3luIGtleXdvcmQgbW9ua0Z1bmMgbGlzdC10YWlsIHN0cmluZy0+bGlzdCBsaXN0LT5zdHJpbmcgc3RyaW5nLWNvcHkKK3N5biBrZXl3b3JkIG1vbmtGdW5jIHN0cmluZy1maWxsISB2ZWN0b3ItPmxpc3QgbGlzdC0+dmVjdG9yIHZlY3Rvci1maWxsIQorc3luIGtleXdvcmQgbW9ua0Z1bmMgZm9yY2Ugd2l0aC1pbnB1dC1mcm9tLWZpbGUgd2l0aC1vdXRwdXQtdG8tZmlsZQorc3luIGtleXdvcmQgbW9ua0Z1bmMgY2hhci1yZWFkeT8gbG9hZCB0cmFuc2NyaXB0LW9uIHRyYW5zY3JpcHQtb2ZmIGV2YWwKK3N5biBrZXl3b3JkIG1vbmtGdW5jIGR5bmFtaWMtd2luZCBwb3J0PyB2YWx1ZXMgY2FsbC13aXRoLXZhbHVlcworc3luIGtleXdvcmQgbW9ua0Z1bmMgbW9uay1yZXBvcnQtZW52aXJvbm1lbnQgbnVsbC1lbnZpcm9ubWVudAorc3luIGtleXdvcmQgbW9ua0Z1bmMgaW50ZXJhY3Rpb24tZW52aXJvbm1lbnQKKworIiBLZXl3b3JkcyBzcGVjaWZpYyB0byBTVEMncyBpbXBsZW1lbnRhdGlvbgorCitzeW4ga2V5d29yZCBtb25rRnVuYyAkZXZlbnQtY2xlYXIgJGV2ZW50LXBhcnNlICRldmVudC0+c3RyaW5nICRtYWtlLWV2ZW50LW1hcAorc3luIGtleXdvcmQgbW9ua0Z1bmMgJHJlc29sdmUtZXZlbnQtZGVmaW5pdGlvbiBjaGFuZ2UtcGF0dGVybiBjb3B5IGNvcHktc3RyaXAKK3N5biBrZXl3b3JkIG1vbmtGdW5jIGNvdW50LWRhdGEtY2hpbGRyZW4gY291bnQtbWFwLWNoaWxkcmVuIGNvdW50LXJlcCBkYXRhLW1hcAorc3luIGtleXdvcmQgbW9ua0Z1bmMgZHVwbGljYXRlIGR1cGxpY2F0ZS1zdHJpcCBmaWxlLWNoZWNrIGZpbGUtbG9va3VwIGdldAorc3luIGtleXdvcmQgbW9ua0Z1bmMgaW5zZXJ0IGxpc3QtbG9va3VwIG5vZGUtaGFzLWRhdGE/IG5vdC12ZXJpZnkgcGF0aD8KK3N5biBrZXl3b3JkIG1vbmtGdW5jIHBhdGgtZGVmaW5lZC1hcy1yZXBlYXRpbmc/IHBhdGgtbm9kZWNsZWFyIHBhdGgtbm9kZWRlcHRoCitzeW4ga2V5d29yZCBtb25rRnVuYyBwYXRoLW5vZGVuYW1lIHBhdGgtbm9kZXBhcmVudG5hbWUgcGF0aC0+c3RyaW5nIHBhdGgtdmFsaWQ/CitzeW4ga2V5d29yZCBtb25rRnVuYyByZWdleCBzdHJpbmctPnBhdGggdGltZXN0YW1wIHVuaXF1ZWlkIHZlcmlmeQorCisiIEtleXdvcmRzIGZyb20gdGhlIE1vbmsgZnVuY3Rpb24gbGlicmFyeSAoZnJvbSBlKkdhdGUgNC4xIHByb2dyYW1tZXJzIHJlZikKK3N5biBrZXl3b3JkIG1vbmtGdW5jIGFsbGNhcD8gY2FwaXRhbGl6ZSBjaGFyLXB1bmN0dWF0aW9uPyBjaGFyLXN1YnN0aXR1dGUKK3N5biBrZXl3b3JkIG1vbmtGdW5jIGNoYXItdG8tY2hhciBjb252IGNvdW50LXVzZWQtY2hpbGRyZW4gZGVnYy0+ZGVnZgorc3luIGtleXdvcmQgbW9ua0Z1bmMgZGlmZi10d28tZGF0ZXMgZGlzcGxheS1lcnJvciBlbXB0eS1zdHJpbmc/IGZhaWxfaWQKK3N5biBrZXl3b3JkIG1vbmtGdW5jIGZhaWxfaWRfaWYgZmFpbF90cmFuc2xhdGlvbiBmYWlsX3RyYW5zbGF0aW9uX2lmCitzeW4ga2V5d29yZCBtb25rRnVuYyBmaW5kLWdldC1hZnRlciBmaW5kLWdldC1iZWZvcmUgZ2V0LXRpbWVzdGFtcCBqdWxpYW4tZGF0ZT8KK3N5biBrZXl3b3JkIG1vbmtGdW5jIGp1bGlhbi0+c3RhbmRhcmQgbGVhcC15ZWFyPyBtYXAtc3RyaW5nIG5vdC1lbXB0eS1zdHJpbmc/CitzeW4ga2V5d29yZCBtb25rRnVuYyBzdGFuZGFyZC1kYXRlPyBzdGFuZGFyZC0+anVsaWFuIHN0cmluZy1iZWdpbnMtd2l0aD8KK3N5biBrZXl3b3JkIG1vbmtGdW5jIHN0cmluZy1jb250YWlucz8gc3RyaW5nLWVuZHMtd2l0aD8gc3RyaW5nLXNlYXJjaC1mcm9tLWxlZnQKK3N5biBrZXl3b3JkIG1vbmtGdW5jIHN0cmluZy1zZWFyY2gtZnJvbS1yaWdodCBzdHJpbmctPnNzbiBzdHJpcC1wdW5jdAorc3luIGtleXdvcmQgbW9ua0Z1bmMgc3RyaXAtc3RyaW5nIHN1YnN0cmluZz0/IHN5bWJvbC10YWJsZS1nZXQgc3ltYm9sLXRhYmxlLXB1dAorc3luIGtleXdvcmQgbW9ua0Z1bmMgdHJpbS1zdHJpbmctbGVmdCB0cmltLXN0cmluZy1yaWdodCB2YWxpZC1kZWNpbWFsPworc3luIGtleXdvcmQgbW9ua0Z1bmMgdmFsaWQtaW50ZWdlcj8gdmVyaWZ5LXR5cGUKKworIiBXcml0aW5nIG91dCB0aGUgY29tcGxldGUgZGVzY3JpcHRpb24gb2YgU2NoZW1lIG51bWVyYWxzIHdpdGhvdXQKKyIgdXNpbmcgdmFyaWFibGVzIGlzIGEgZGF5J3Mgd29yayBmb3IgYSB0cmFpbmVkIHNlY3JldGFyeS4uLgorIiBUaGlzIGlzIGEgdXNlZnVsIGxheCBhcHByb3hpbWF0aW9uOgorCitzeW4gbWF0Y2gJbW9ua051bWJlcglvbmVsaW5lICAgICJbLSMrMC05Ll1bLSMrLzAtOWEtZkBpLmJveGVzZmRsXSoiCitzeW4gbWF0Y2gJbW9ua0Vycm9yCW9uZWxpbmUgICAgIVstIyswLTkuXVstIysvMC05YS1mQGkuYm94ZXNmZGxdKlteLSMrLzAtOWEtZkBpLmJveGVzZmRsIFx0KCkiO11bXiBcdCgpIjtdKiEKKworc3luIG1hdGNoCW1vbmtPdGhlcglvbmVsaW5lICAgICFbKy1dWyBcdCgpIjtdIW1lPWUtMQorc3luIG1hdGNoCW1vbmtPdGhlcglvbmVsaW5lICAgICFbKy1dJCEKKyIgLi4uIHNvIHRoYXQgYSBzaW5nbGUgKyBvciAtLCBpbnNpZGUgYSBxdW90ZWQgY29udGV4dCwgd291bGQgbm90IGJlCisiIGludGVycHJldGVkIGFzIGEgbnVtYmVyIChvdXRzaWRlIHN1Y2ggY29udGV4dHMsIGl0J3MgYSBtb25rRnVuYykKKworc3luIG1hdGNoCW1vbmtEZWxpbWl0ZXIJb25lbGluZSAgICAhXC5bIFx0KCkiO10hbWU9ZS0xCitzeW4gbWF0Y2gJbW9ua0RlbGltaXRlcglvbmVsaW5lICAgICFcLiQhCisiIC4uLiBhbmQgYSBzaW5nbGUgZG90IGlzIG5vdCBhIG51bWJlciBidXQgYSBkZWxpbWl0ZXIKKworIiBTaW1wbGUgbGl0ZXJhbHM6CisKK3N5biBtYXRjaAltb25rQm9vbGVhbglvbmVsaW5lICAgICIjW3RmXSIKK3N5biBtYXRjaAltb25rRXJyb3IJb25lbGluZSAgICAhI1t0Zl1bXiBcdCgpIjtdXCshCisKK3N5biBtYXRjaAltb25rQ2hhcglvbmVsaW5lICAgICIjXFwiCitzeW4gbWF0Y2gJbW9ua0NoYXIJb25lbGluZSAgICAiI1xcLiIKK3N5biBtYXRjaAltb25rRXJyb3IJb25lbGluZSAgICAhI1xcLlteIFx0KCkiO11cKyEKK3N5biBtYXRjaAltb25rQ2hhcglvbmVsaW5lICAgICIjXFxzcGFjZSIKK3N5biBtYXRjaAltb25rRXJyb3IJb25lbGluZSAgICAhI1xcc3BhY2VbXiBcdCgpIjtdXCshCitzeW4gbWF0Y2gJbW9ua0NoYXIJb25lbGluZSAgICAiI1xcbmV3bGluZSIKK3N5biBtYXRjaAltb25rRXJyb3IJb25lbGluZSAgICAhI1xcbmV3bGluZVteIFx0KCkiO11cKyEKKworIiBUaGlzIGtlZXBzIGFsbCBvdGhlciBzdHVmZiB1bmhpZ2hsaWdodGVkLCBleGNlcHQgKnN0dWZmKiBhbmQgPHN0dWZmPjoKKworc3luIG1hdGNoCW1vbmtPdGhlcglvbmVsaW5lICAgICxbYS16ISQlJiovOjw9Pj9eX35dWy1hLXohJCUmKi86PD0+P15ffjAtOSsuQF0qLAorc3luIG1hdGNoCW1vbmtFcnJvcglvbmVsaW5lICAgICxbYS16ISQlJiovOjw9Pj9eX35dWy1hLXohJCUmKi86PD0+P15ffjAtOSsuQF0qW14tYS16ISQlJiovOjw9Pj9eX34wLTkrLkAgXHQoKSI7XVwrW14gXHQoKSI7XSosCisKK3N5biBtYXRjaAltb25rT3RoZXIJb25lbGluZSAgICAiXC5cLlwuIgorc3luIG1hdGNoCW1vbmtFcnJvcglvbmVsaW5lICAgICFcLlwuXC5bXiBcdCgpIjtdXCshCisiIC4uLiBhIHNwZWNpYWwgaWRlbnRpZmllcgorCitzeW4gbWF0Y2gJbW9ua0NvbnN0YW50CW9uZWxpbmUgICAgLFwqWy1hLXohJCUmKi86PD0+P15ffjAtOSsuQF0qXCpbIFx0KCkiO10sbWU9ZS0xCitzeW4gbWF0Y2gJbW9ua0NvbnN0YW50CW9uZWxpbmUgICAgLFwqWy1hLXohJCUmKi86PD0+P15ffjAtOSsuQF0qXCokLAorc3luIG1hdGNoCW1vbmtFcnJvcglvbmVsaW5lICAgICxcKlstYS16ISQlJiovOjw9Pj9eX34wLTkrLkBdKlwqW14tYS16ISQlJiovOjw9Pj9eX34wLTkrLkAgXHQoKSI7XVwrW14gXHQoKSI7XSosCisKK3N5biBtYXRjaAltb25rQ29uc3RhbnQJb25lbGluZSAgICAsPFstYS16ISQlJiovOjw9Pj9eX34wLTkrLkBdKj5bIFx0KCkiO10sbWU9ZS0xCitzeW4gbWF0Y2gJbW9ua0NvbnN0YW50CW9uZWxpbmUgICAgLDxbLWEteiEkJSYqLzo8PT4/Xl9+MC05Ky5AXSo+JCwKK3N5biBtYXRjaAltb25rRXJyb3IJb25lbGluZSAgICAsPFstYS16ISQlJiovOjw9Pj9eX34wLTkrLkBdKj5bXi1hLXohJCUmKi86PD0+P15ffjAtOSsuQCBcdCgpIjtdXCtbXiBcdCgpIjtdKiwKKworIiBNb25rIGlucHV0IGFuZCBvdXRwdXQgc3RydWN0dXJlcworc3luIG1hdGNoCW1vbmtTeW50YXgJb25lbGluZSAgICAiXChcfmlucHV0XHxcW0lcXS0+XClbXiBcdF0qIgorc3luIG1hdGNoCW1vbmtGdW5jCW9uZWxpbmUgICAgIlwoXH5vdXRwdXRcfFxbT1xdLT5cKVteIFx0XSoiCisKKyIgTm9uLXF1b3RlZCBsaXN0cywgYW5kIHN0cmluZ3M6CisKK3N5biByZWdpb24gbW9ua1N0cnVjIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBtb25rU3RydWMgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IiMoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUFMTAorCitzeW4gcmVnaW9uCW1vbmtTdHJpbmcJc3RhcnQ9KyIrICBza2lwPStcXFtcXCJdKyBlbmQ9KyIrCisKKyIgQ29tbWVudHM6CisKK3N5biBtYXRjaAltb25rQ29tbWVudAkiOy4qJCIKKworIiBTeW5jaHJvbml6YXRpb24gYW5kIHRoZSB3cmFwcGluZyB1cC4uLgorCitzeW4gc3luYyBtYXRjaCBtYXRjaFBsYWNlIGdyb3VwaGVyZSBOT05FICJeW14gXHRdIgorIiAuLi4gaS5lLiBzeW5jaHJvbml6ZSBvbiBhIGxpbmUgdGhhdCBzdGFydHMgYXQgdGhlIGxlZnQgbWFyZ2luCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21vbmtfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbW9ua19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBtb25rU3ludGF4CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1vbmtGdW5jCQlGdW5jdGlvbgorCisgIEhpTGluayBtb25rU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIG1vbmtDaGFyCQlDaGFyYWN0ZXIKKyAgSGlMaW5rIG1vbmtOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgbW9ua0Jvb2xlYW4JCUJvb2xlYW4KKworICBIaUxpbmsgbW9ua0RlbGltaXRlcglEZWxpbWl0ZXIKKyAgSGlMaW5rIG1vbmtDb25zdGFudAlDb25zdGFudAorCisgIEhpTGluayBtb25rQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbW9ua0Vycm9yCQlFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtb25rIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbW9vLnZpbSBiL3J1bnRpbWUvc3ludGF4L21vby52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBjNWQzYgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21vby52aW0KQEAgLTAsMCArMSwxNzMgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNT08KKyIgTWFpbnRhaW5lcjoJVGltbyBGcmVuYXkgPHRpbW9AZnJlbmF5Lm5ldD4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgT2N0IDA2CisiIE5vdGU6CQlSZXF1aXJlcyBWaW0gNi4wIG9yIGFib3ZlCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwIHx8IGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBJbml0aWFsaXphdGlvbnMKK3N5biBjYXNlIGlnbm9yZQorCisiIEMtc3R5bGUgY29tbWVudHMKK3N5biBtYXRjaCBtb29VbmNvbW1lbnRlZEVycm9yIGRpc3BsYXkgflwqL34KK3N5biBtYXRjaCBtb29DU3R5bGVDb21tZW50RXJyb3IgZGlzcGxheSB+L1x6ZVwqfiBjb250YWluZWQKK3N5biByZWdpb24gbW9vQ1N0eWxlQ29tbWVudCBtYXRjaGdyb3VwPW1vb0NvbW1lbnQgc3RhcnQ9fi9cKn4gZW5kPX5cKi9+IGNvbnRhaW5zPW1vb0NTdHlsZUNvbW1lbnRFcnJvcgorCisiIFN0YXRlbWVudHMKK2lmIGV4aXN0cygibW9vX2V4dGVuZGVkX2NzdHlsZV9jb21tZW50cyIpCisgIHN5biBtYXRjaCBtb29JZGVudGlmaWVyIGRpc3BsYXkgflwlKFwlKC9cKi5cey19XCovXHMqXCkqXClcQD5cPFxoXHcqXD5+IGNvbnRhaW5lZCB0cmFuc3BhcmVudCBjb250YWlucz1tb29DU3R5bGVDb21tZW50LEBtb29LZXl3b3JkLG1vb1R5cGUsbW9vVmFyaWFibGUKK2Vsc2UKKyAgc3luIG1hdGNoIG1vb0lkZW50aWZpZXIgZGlzcGxheSB+XDxcaFx3Klw+fiBjb250YWluZWQgdHJhbnNwYXJlbnQgY29udGFpbnM9QG1vb0tleXdvcmQsbW9vVHlwZSxtb29WYXJpYWJsZQorZW5kaWYKK3N5biBrZXl3b3JkIG1vb1N0YXRlbWVudCBicmVhayBjb250aW51ZSBlbHNlIGVsc2VpZiBlbmRmb3IgZW5kZm9yayBlbmRpZiBlbmR0cnkgZW5kd2hpbGUgZmluYWxseSBmb3IgaWYgdHJ5CitzeW4ga2V5d29yZCBtb29TdGF0ZW1lbnQgZXhjZXB0IGZvcmsgd2hpbGUgbmV4dGdyb3VwPW1vb0lkZW50aWZpZXIgc2tpcHdoaXRlCitzeW4ga2V5d29yZCBtb29TdGF0ZW1lbnQgcmV0dXJuIG5leHRncm91cD1tb29TdHJpbmcgc2tpcHdoaXRlCisKKyIgT3BlcmF0b3JzCitzeW4ga2V5d29yZCBtb29PcGVyYXRvckluIGluCisKKyIgRXJyb3IgY29uc3RhbnRzCitzeW4ga2V5d29yZCBtb29BbnkgQU5ZCitzeW4ga2V5d29yZCBtb29FcnJvckNvbnN0YW50IEVfQVJHUyBFX0lOVkFSRyBFX0RJViBFX0ZMT0FUIEVfSU5WSU5EIEVfTUFYUkVDIEVfTkFDQyBFX05PTkUgRV9QRVJNIEVfUFJPUE5GIEVfUVVPVEEgRV9SQU5HRSBFX1JFQ01PVkUgRV9UWVBFIEVfVkFSTkYgRV9WRVJCTkYKKworIiBCdWlsdGluIHZhcmlhYmxlcworc3luIG1hdGNoIG1vb1R5cGUgZGlzcGxheSB+XDxcJShFUlJcfEZMT0FUXHxJTlRcfExJU1RcfE5VTVx8T0JKXHxTVFJcKVw+fgorc3luIG1hdGNoIG1vb1ZhcmlhYmxlIGRpc3BsYXkgflw8XCUoYXJnc1wlKHRyXClcPVx8Y2FsbGVyXHxkb2JqXCUoc3RyXClcPVx8aW9ialwlKHN0clwpXD1cfHBsYXllclx8cHJlcHN0clx8dGhpc1x8dmVyYlwpXD5+CisKKyIgU3RyaW5ncworc3luIG1hdGNoIG1vb1N0cmluZ0Vycm9yIGRpc3BsYXkgflteXHQgLVtcXS1+XX4gY29udGFpbmVkCitzeW4gbWF0Y2ggbW9vU3RyaW5nU3BlY2lhbENoYXIgZGlzcGxheSB+XFxbIlxcXX4gY29udGFpbmVkCitpZiAhZXhpc3RzKCJtb29fbm9fcmVnZXhwIikKKyAgIiBSZWd1bGFyIGV4cHJlc3Npb25zCisgIHN5biBtYXRjaCBtb29SZWdleHAgZGlzcGxheSB+JSV+IGNvbnRhaW5lZCBjb250YWluZWRpbj1tb29TdHJpbmcsbW9vUmVnZXhwUGFyZW50aGVzZXMgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorICBzeW4gcmVnaW9uIG1vb1JlZ2V4cFBhcmVudGhlc2VzIGRpc3BsYXkgbWF0Y2hncm91cD1tb29SZWdleHBPciBzdGFydD1+JSh+IHNraXA9fiUlfiBlbmQ9fiUpfiBjb250YWluZWQgY29udGFpbmVkaW49bW9vU3RyaW5nLG1vb1JlZ2V4cFBhcmVudGhlc2VzIHRyYW5zcGFyZW50IG9uZWxpbmUKKyAgc3luIG1hdGNoIG1vb1JlZ2V4cE9yIGRpc3BsYXkgfiV8fiBjb250YWluZWQgY29udGFpbmVkaW49bW9vU3RyaW5nLG1vb1JlZ2V4cFBhcmVudGhlc2VzCitlbmRpZgoraWYgIWV4aXN0cygibW9vX25vX3Byb25vdW5fc3ViIikKKyAgIiBQcm9ub3VuIHN1YnN0aXR1dGlvbnMKKyAgc3luIG1hdGNoIG1vb1Byb25vdW5TdWIgZGlzcGxheSB+JSV+IGNvbnRhaW5lZCBjb250YWluZWRpbj1tb29TdHJpbmcgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorICBzeW4gbWF0Y2ggbW9vUHJvbm91blN1YiBkaXNwbGF5IH4lWyNkaWxub3BxcnN0XX4gY29udGFpbmVkIGNvbnRhaW5lZGluPW1vb1N0cmluZworICBzeW4gbWF0Y2ggbW9vUHJvbm91blN1YiBkaXNwbGF5IH4lXFsjW2RpbG50XVxdfiBjb250YWluZWQgY29udGFpbmVkaW49bW9vU3RyaW5nCisgIHN5biBtYXRjaCBtb29Qcm9ub3VuU3ViIGRpc3BsYXkgfiUoXGhcdyopfiBjb250YWluZWQgY29udGFpbmVkaW49bW9vU3RyaW5nCisgIHN5biBtYXRjaCBtb29Qcm9ub3VuU3ViIGRpc3BsYXkgfiVcW1tkaWxudF1caFx3KlxdfiBjb250YWluZWQgY29udGFpbmVkaW49bW9vU3RyaW5nCisgIHN5biBtYXRjaCBtb29Qcm9ub3VuU3ViIGRpc3BsYXkgfiU8XCUoW2RpbG50XTpcKVw9XGFcKz5+IGNvbnRhaW5lZCBjb250YWluZWRpbj1tb29TdHJpbmcKK2VuZGlmCitpZiBleGlzdHMoIm1vb191bm1hdGNoZWRfcXVvdGVzIikKKyAgc3luIHJlZ2lvbiBtb29TdHJpbmcgbWF0Y2hncm91cD1tb29TdHJpbmdFcnJvciBzdGFydD1+In4gZW5kPX4kfiBjb250YWlucz1AbW9vU3RyaW5nQ29udGVudHMga2VlcGVuZAorICBzeW4gcmVnaW9uIG1vb1N0cmluZyBzdGFydD1+In4gc2tpcD1+XFwufiBlbmQ9fiJ+IGNvbnRhaW5zPUBtb29TdHJpbmdDb250ZW50cyBvbmVsaW5lIGtlZXBlbmQKK2Vsc2UKKyAgc3luIHJlZ2lvbiBtb29TdHJpbmcgc3RhcnQ9fiJ+IHNraXA9flxcLn4gZW5kPX4iXHwkfiBjb250YWlucz1AbW9vU3RyaW5nQ29udGVudHMga2VlcGVuZAorZW5kaWYKKworIiBOdW1iZXJzIGFuZCBvYmplY3QgbnVtYmVycworc3luIG1hdGNoIG1vb051bWJlciBkaXNwbGF5IH5cJShcJShcPFxkXCtcKVw9XC5cZFwrXHxcPFxkXCtcKVwlKGVbK1wtXVw9XGRcK1wpXD1cPn4KK3N5biBtYXRjaCBtb29PYmplY3QgZGlzcGxheSB+Iy1cPVxkXCtcPn4KKworIiBQcm9wZXJ0aWVzIGFuZCB2ZXJicworaWYgZXhpc3RzKCJtb29fYnVpbHRpbl9wcm9wZXJ0aWVzIikKKyAgIkJ1aWx0aW4gcHJvcGVydGllcworICBzeW4ga2V5d29yZCBtb29CdWlsdGluUHJvcGVydHkgY29udGVudHMgZiBsb2NhdGlvbiBuYW1lIG93bmVyIHByb2dyYW1tZXIgciB3IHdpemFyZCBjb250YWluZWQgY29udGFpbmVkaW49bW9vUHJvcFJlZgorZW5kaWYKK2lmIGV4aXN0cygibW9vX2V4dGVuZGVkX2NzdHlsZV9jb21tZW50cyIpCisgIHN5biBtYXRjaCBtb29Qcm9wUmVmIGRpc3BsYXkgflwuXHMqXCUoXCUoL1wqLlx7LX1cKi9ccypcKSpcKVxAPlxoXHcqXD5+IHRyYW5zcGFyZW50IGNvbnRhaW5zPW1vb0NTdHlsZUNvbW1lbnQsQG1vb0tleXdvcmQKKyAgc3luIG1hdGNoIG1vb1ZlcmJSZWYgZGlzcGxheSB+OlxzKlwlKFwlKC9cKi5cey19XCovXHMqXCkqXClcQD5caFx3Klw+fiB0cmFuc3BhcmVudCBjb250YWlucz1tb29DU3R5bGVDb21tZW50LEBtb29LZXl3b3JkCitlbHNlCisgIHN5biBtYXRjaCBtb29Qcm9wUmVmIGRpc3BsYXkgflwuXHMqXGhcdypcPn4gdHJhbnNwYXJlbnQgY29udGFpbnM9QG1vb0tleXdvcmQKKyAgc3luIG1hdGNoIG1vb1ZlcmJSZWYgZGlzcGxheSB+OlxzKlxoXHcqXD5+IHRyYW5zcGFyZW50IGNvbnRhaW5zPUBtb29LZXl3b3JkCitlbmRpZgorCisiIEJ1aWx0aW4gZnVuY3Rpb25zLCBjb3JlIHByb3BlcnRpZXMgYW5kIGNvcmUgdmVyYnMKK2lmIGV4aXN0cygibW9vX2V4dGVuZGVkX2NzdHlsZV9jb21tZW50cyIpCisgIHN5biBtYXRjaCBtb29CdWlsdGluRnVuY3Rpb24gZGlzcGxheSB+XDxcaFx3KlxzKlwlKFwlKC9cKi5cey19XCovXHMqXCkqXClcQD5cemUofiBjb250YWlucz1tb29DU3R5bGVDb21tZW50CisgIHN5biBtYXRjaCBtb29Db3JlUHJvcE9yVmVyYiBkaXNwbGF5IH5cJFxzKlwlKFwlKC9cKi5cey19XCovXHMqXCkqXClcQD5cJShpblw+XClcQCFcaFx3Klw+fiBjb250YWlucz1tb29DU3R5bGVDb21tZW50LEBtb29LZXl3b3JkCitlbHNlCisgIHN5biBtYXRjaCBtb29CdWlsdGluRnVuY3Rpb24gZGlzcGxheSB+XDxcaFx3KlxzKlx6ZSh+IGNvbnRhaW5zPU5PTkUKKyAgc3luIG1hdGNoIG1vb0NvcmVQcm9wT3JWZXJiIGRpc3BsYXkgflwkXHMqXCUoaW5cPlwpXEAhXGhcdypcPn4gY29udGFpbnM9QG1vb0tleXdvcmQKK2VuZGlmCitpZiBleGlzdHMoIm1vb191bmtub3duX2J1aWx0aW5fZnVuY3Rpb25zIikKKyAgc3luIG1hdGNoIG1vb1Vua25vd25CdWlsdGluRnVuY3Rpb24gflw8XGhcdypcPn4gY29udGFpbmVkIGNvbnRhaW5lZGluPW1vb0J1aWx0aW5GdW5jdGlvbiBjb250YWlucz1tb29Lbm93bkJ1aWx0aW5GdW5jdGlvbgorICAiIEtub3duIGJ1aWx0aW4gZnVuY3Rpb25zIGFzIG9mIHZlcnNpb24gMS44LjEgb2YgdGhlIHNlcnZlcgorICAiIEFkZCB5b3VyIG93biBleHRlbnNpb25zIHRvIHRoaXMgZ3JvdXAgaWYgeW91IGxpa2UKKyAgc3luIGtleXdvcmQgbW9vS25vd25CdWlsdGluRnVuY3Rpb24gYWJzIGFjb3MgYWRkX3Byb3BlcnR5IGFkZF92ZXJiIGFzaW4gYXRhbiBiaW5hcnlfaGFzaCBib290X3BsYXllciBidWZmZXJlZF9vdXRwdXRfbGVuZ3RoIGNhbGxlcnMgY2FsbGVyX3Blcm1zIGNhbGxfZnVuY3Rpb24gY2VpbCBjaGlsZHJlbiBjaHBhcmVudCBjbGVhcl9wcm9wZXJ0eSBjb25uZWN0ZWRfcGxheWVycyBjb25uZWN0ZWRfc2Vjb25kcyBjb25uZWN0aW9uX25hbWUgY29ubmVjdGlvbl9vcHRpb24gY29ubmVjdGlvbl9vcHRpb25zIGNvcyBjb3NoIGNyZWF0ZSBjcnlwdCBjdGltZSBkYl9kaXNrX3NpemUgZGVjb2RlX2JpbmFyeSBkZWxldGVfcHJvcGVydHkgZGVsZXRlX3ZlcmIgZGlzYXNzZW1ibGUgZHVtcF9kYXRhYmFzZSBlbmNvZGVfYmluYXJ5IGVxdWFsIGV2YWwgZXhwIGZsb2F0c3RyIGZsb29yIGZsdXNoX2lucHV0IGZvcmNlX2lucHV0IGZ1bmN0aW9uX2luZm8gaWRsZV9zZWNvbmRzIGluZGV4IGlzX2NsZWFyX3Byb3BlcnR5IGlzX21lbWJlciBpc19wbGF5ZXIga2lsbF90YXNrIGxlbmd0aCBsaXN0YXBwZW5kIGxpc3RkZWxldGUgbGlzdGVuIGxpc3RlbmVycyBsaXN0aW5zZXJ0IGxpc3RzZXQgbG9nIGxvZzEwIG1hdGNoIG1heCBtYXhfb2JqZWN0IG1lbW9yeV91c2FnZSBtaW4gbW92ZSBub3RpZnkgb2JqZWN0X2J5dGVzIG9wZW5fbmV0d29ya19jb25uZWN0aW9uIG91dHB1dF9kZWxpbWl0ZXJzIHBhcmVudCBwYXNzIHBsYXllcnMgcHJvcGVydGllcyBwcm9wZXJ0eV9pbmZvIHF1ZXVlZF90YXNrcyBxdWV1ZV9pbmZvIHJhaXNlIHJhbmRvbSByZWFkIHJlY3ljbGUgcmVudW1iZXIgcmVzZXRfbWF4X29iamVjdCByZXN1bWUgcmluZGV4IHJtYXRjaCBzZWNvbmRzX2xlZnQgc2VydmVyX2xvZyBzZXJ2ZXJfdmVyc2lvbiBzZXRhZGQgc2V0cmVtb3ZlIHNldF9jb25uZWN0aW9uX29wdGlvbiBzZXRfcGxheWVyX2ZsYWcgc2V0X3Byb3BlcnR5X2luZm8gc2V0X3Rhc2tfcGVybXMgc2V0X3ZlcmJfYXJncyBzZXRfdmVyYl9jb2RlIHNldF92ZXJiX2luZm8gc2h1dGRvd24gc2luIHNpbmggc3FydCBzdHJjbXAgc3RyaW5nX2hhc2ggc3Ryc3ViIHN1YnN0aXR1dGUgc3VzcGVuZCB0YW4gdGFuaCB0YXNrX2lkIHRhc2tfc3RhY2sgdGlja3NfbGVmdCB0aW1lIHRvZmxvYXQgdG9pbnQgdG9saXRlcmFsIHRvbnVtIHRvb2JqIHRvc3RyIHRydW5jIHR5cGVvZiB1bmxpc3RlbiB2YWxpZCB2YWx1ZV9ieXRlcyB2YWx1ZV9oYXNoIHZlcmJzIHZlcmJfYXJncyB2ZXJiX2NvZGUgdmVyYl9pbmZvIGNvbnRhaW5lZAorZW5kaWYKKworIqBFbmNsb3NlZCBleHByZXNzaW9ucworc3luIG1hdGNoIG1vb1VuZW5jbG9zZWRFcnJvciBkaXNwbGF5IH5bJylcXXx9XX4KK3N5biBtYXRjaCBtb29QYXJlbnRoZXNlc0Vycm9yIGRpc3BsYXkgflsnO1xdfH1dfiBjb250YWluZWQKK3N5biByZWdpb24gbW9vUGFyZW50aGVzZXMgc3RhcnQ9fih+IGVuZD1+KX4gdHJhbnNwYXJlbnQgY29udGFpbnM9QG1vb0VuY2xvc2VkQ29udGVudHMsbW9vUGFyZW50aGVzZXNFcnJvcgorc3luIG1hdGNoIG1vb0JyYWNrZXRzRXJyb3IgZGlzcGxheSB+WycpO3x9XX4gY29udGFpbmVkCitzeW4gcmVnaW9uIG1vb0JyYWNrZXRzIHN0YXJ0PX5cW34gZW5kPX5cXX4gdHJhbnNwYXJlbnQgY29udGFpbnM9QG1vb0VuY2xvc2VkQ29udGVudHMsbW9vQnJhY2tldHNFcnJvcgorc3luIG1hdGNoIG1vb0JyYWNlc0Vycm9yIGRpc3BsYXkgflsnKTtcXXxdfiBjb250YWluZWQKK3N5biByZWdpb24gbW9vQnJhY2VzIHN0YXJ0PX57fiBlbmQ9fn1+IHRyYW5zcGFyZW50IGNvbnRhaW5zPUBtb29FbmNsb3NlZENvbnRlbnRzLG1vb0JyYWNlc0Vycm9yCitzeW4gbWF0Y2ggbW9vUXVlc3Rpb25FcnJvciBkaXNwbGF5IH5bJyk7XF19XX4gY29udGFpbmVkCitzeW4gcmVnaW9uIG1vb1F1ZXN0aW9uIHN0YXJ0PX4/fiBlbmQ9fnx+IHRyYW5zcGFyZW50IGNvbnRhaW5zPUBtb29FbmNsb3NlZENvbnRlbnRzLG1vb1F1ZXN0aW9uRXJyb3IKK3N5biBtYXRjaCBtb29DYXRjaEVycm9yIGRpc3BsYXkgflspO1xdfH1dfiBjb250YWluZWQKK3N5biByZWdpb24gbW9vQ2F0Y2ggbWF0Y2hncm91cD1tb29FeGNsYW1hdGlvbiBzdGFydD1+YH4gZW5kPX4nfiB0cmFuc3BhcmVudCBjb250YWlucz1AbW9vRW5jbG9zZWRDb250ZW50cyxtb29DYXRjaEVycm9yLG1vb0V4Y2xhbWF0aW9uCitpZiBleGlzdHMoIm1vb19leHRlbmRlZF9jc3R5bGVfY29tbWVudHMiKQorICBzeW4gbWF0Y2ggbW9vRXhjbGFtYXRpb24gZGlzcGxheSB+W1x0ICElJigqKyxcLS88PT4/QFteYHt8XVxAPCFccypcJShcJSgvXCouXHstfVwqL1xzKlwpKlwpXEA+IT1cQCF+IGNvbnRhaW5lZCBjb250YWlucz1tb29DU3R5bGVDb21tZW50CitlbHNlCisgIHN5biBtYXRjaCBtb29FeGNsYW1hdGlvbiBkaXNwbGF5IH5bXHQgISUmKCorLFwtLzw9Pj9AW15ge3xdXEA8IVxzKiE9XEAhfiBjb250YWluZWQKK2VuZGlmCisKKyIgQ29tbWVudHMKK3N5biBtYXRjaCBtb29Db21tZW50U3BlY2lhbENoYXIgZGlzcGxheSB+XFxbIlxcXX4gY29udGFpbmVkIHRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKK3N5biBtYXRjaCBtb29Db21tZW50IH5bXHQgISUmKissXC0vPD0+P0BefF1cQDwhXHMqIlwoW15cIl1cfFxcLlwpKiJccyo7fiBjb250YWlucz1tb29TdHJpbmdFcnJvcixtb29Db21tZW50U3BlY2lhbENoYXIKKworIiBOb24tY29kZQorc3luIHJlZ2lvbiBtb29Ob25Db2RlIHN0YXJ0PX5eXHMqQFw8fiBlbmQ9fiR+CitzeW4gbWF0Y2ggbW9vTm9uQ29kZSBkaXNwbGF5IH5eXC4kfgorc3luIG1hdGNoIG1vb05vbkNvZGUgZGlzcGxheSB+XlxzKlxkXCs6fmhlPWUtMQorCisiIE92ZXJyaWRpbmcgbWF0Y2hlcworc3luIG1hdGNoIG1vb1JhbmdlT3BlcmF0b3IgZGlzcGxheSB+XC5cLn4gdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorc3luIG1hdGNoIG1vb09yT3BlcmF0b3IgZGlzcGxheSB+fHx+IHRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKK2lmIGV4aXN0cygibW9vX2V4dGVuZGVkX2NzdHlsZV9jb21tZW50cyIpCisgIHN5biBtYXRjaCBtb29TY2F0dGVyaW5nIH5bLHtdXEA8PVxzKlwlKFwlKC9cKi5cey19XCovXHMqXCkqXClcQD4/fiB0cmFuc3BhcmVudCBjb250YWlucz1tb29DU3R5bGVDb21tZW50CitlbHNlCisgIHN5biBtYXRjaCBtb29TY2F0dGVyaW5nIH5bLHtdXEA8PVxzKj9+IHRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKK2VuZGlmCisKKyIgQ2x1c3RlcnMKK3N5biBjbHVzdGVyIG1vb0tleXdvcmQgY29udGFpbnM9bW9vU3RhdGVtZW50LG1vb09wZXJhdG9ySW4sbW9vQW55LG1vb0Vycm9yQ29uc3RhbnQKK3N5biBjbHVzdGVyIG1vb1N0cmluZ0NvbnRlbnRzIGNvbnRhaW5zPW1vb1N0cmluZ0Vycm9yLG1vb1N0cmluZ1NwZWNpYWxDaGFyCitzeW4gY2x1c3RlciBtb29FbmNsb3NlZENvbnRlbnRzIGNvbnRhaW5zPVRPUCxtb29VbmVuY2xvc2VkRXJyb3IsbW9vQ29tbWVudCxtb29Ob25Db2RlCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK2hpIGRlZiBsaW5rIG1vb1VuY29tbWVudGVkRXJyb3IgRXJyb3IKK2hpIGRlZiBsaW5rIG1vb0NTdHlsZUNvbW1lbnRFcnJvciBFcnJvcgoraGkgZGVmIGxpbmsgbW9vQ1N0eWxlQ29tbWVudCBDb21tZW50CitoaSBkZWYgbGluayBtb29TdGF0ZW1lbnQgU3RhdGVtZW50CitoaSBkZWYgbGluayBtb29PcGVyYXRvckluIE9wZXJhdG9yCitoaSBkZWYgbGluayBtb29BbnkgQ29uc3RhbnQgIiBsaW5rIHRoaXMgdG8gS2V5d29yZCBpZiB5b3Ugd2FudAoraGkgZGVmIGxpbmsgbW9vRXJyb3JDb25zdGFudCBDb25zdGFudAoraGkgZGVmIGxpbmsgbW9vVHlwZSBUeXBlCitoaSBkZWYgbGluayBtb29WYXJpYWJsZSBUeXBlCitoaSBkZWYgbGluayBtb29TdHJpbmdFcnJvciBFcnJvcgoraGkgZGVmIGxpbmsgbW9vU3RyaW5nU3BlY2lhbENoYXIgU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIG1vb1JlZ2V4cE9yIFNwZWNpYWxDaGFyCitoaSBkZWYgbGluayBtb29Qcm9ub3VuU3ViIFNwZWNpYWxDaGFyCitoaSBkZWYgbGluayBtb29TdHJpbmcgU3RyaW5nCitoaSBkZWYgbGluayBtb29OdW1iZXIgTnVtYmVyCitoaSBkZWYgbGluayBtb29PYmplY3QgTnVtYmVyCitoaSBkZWYgbGluayBtb29CdWlsdGluUHJvcGVydHkgVHlwZQoraGkgZGVmIGxpbmsgbW9vQnVpbHRpbkZ1bmN0aW9uIEZ1bmN0aW9uCitoaSBkZWYgbGluayBtb29Vbmtub3duQnVpbHRpbkZ1bmN0aW9uIEVycm9yCitoaSBkZWYgbGluayBtb29Lbm93bkJ1aWx0aW5GdW5jdGlvbiBGdW5jdGlvbgoraGkgZGVmIGxpbmsgbW9vQ29yZVByb3BPclZlcmIgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgbW9vVW5lbmNsb3NlZEVycm9yIEVycm9yCitoaSBkZWYgbGluayBtb29QYXJlbnRoZXNlc0Vycm9yIEVycm9yCitoaSBkZWYgbGluayBtb29CcmFja2V0c0Vycm9yIEVycm9yCitoaSBkZWYgbGluayBtb29CcmFjZXNFcnJvciBFcnJvcgoraGkgZGVmIGxpbmsgbW9vUXVlc3Rpb25FcnJvciBFcnJvcgoraGkgZGVmIGxpbmsgbW9vQ2F0Y2hFcnJvciBFcnJvcgoraGkgZGVmIGxpbmsgbW9vRXhjbGFtYXRpb24gRXhjZXB0aW9uCitoaSBkZWYgbGluayBtb29Db21tZW50IENvbW1lbnQKK2hpIGRlZiBsaW5rIG1vb05vbkNvZGUgUHJlUHJvYworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtb28iCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tcC52aW0gYi9ydW50aW1lL3N5bnRheC9tcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBmZDYwYgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21wLnZpbQpAQCAtMCwwICsxLDEzMiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU1ldGFQb3N0CisiIE1haW50YWluZXI6CUFuZHJlYXMgU2NoZXJlciA8YW5kcmVhcy5zY2hlcmVyQHBvYm94LmNvbT4KKyIgTGFzdCBDaGFuZ2U6CUFwcmlsIDMwLCAyMDAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworbGV0IHBsYWluX21mX21hY3JvcyA9IDAgIiBwbGFpbi5tZiBoYXMgbm8gc3BlY2lhbCBtZWFuaW5nIGZvciBNZXRhUG9zdAorbGV0IG90aGVyX21mX21hY3JvcyA9IDAgIiBjbWJhc2UubWYsIGxvZ28ubWYsIC4uLiBuZWl0aGVyCisKKyIgUmVhZCB0aGUgTWV0YWZvbnQgc3ludGF4IHRvIHN0YXJ0IHdpdGgKK2lmIHZlcnNpb24gPCA2MDAKKyAgc291cmNlIDxzZmlsZT46cDpoL21mLnZpbQorZWxzZQorICBydW50aW1lISBzeW50YXgvbWYudmltCitlbmRpZgorCisiIE1ldGFQb3N0IGhhcyBUZVggaW5zZXJ0cyBmb3IgdHlwZXNldCBsYWJlbHMKKyIgdmVyYmF0aW10ZXgsIGJ0ZXgsIGFuZCBldGV4IHdpbGwgYmUgdHJlYXRlZCBhcyBrZXl3b3Jkcworc3luIG1hdGNoIG1wVGVYYmVnaW4gIlwodmVyYmF0aW10ZXhcfGJ0ZXhcKSIKK3N5biBtYXRjaCBtcFRlWGVuZCAiZXRleCIKK3N5biByZWdpb24gbXBUZVhpbnNlcnQgc3RhcnQ9IlwodmVyYmF0aW10ZXhcfGJ0ZXhcKSJocz1lKzEgZW5kPSJldGV4ImhlPXMtMSBjb250YWlucz1tcFRlWGJlZ2luLG1wVGVYZW5kIGtlZXBlbmQKKworIiBNZXRhUG9zdCBwcmltaXRpdmVzIG5vdCBmb3VuZCBpbiBNZXRhZm9udAorc3luIGtleXdvcmQgbXBJbnRlcm5hbCBibHVlcGFydCBjbGlwIGNvbG9yIGRhc2hlZCBmb250c2l6ZSBncmVlbnBhcnQgaW5mb250CitzeW4ga2V5d29yZCBtcEludGVybmFsIGxpbmVjYXAgbGluZWpvaW4gbGxjb3JuZXIgbHJjb3JuZXIgbWl0ZXJsaW1pdCBtcHhicmVhaworc3luIGtleXdvcmQgbXBJbnRlcm5hbCBwcm9sb2d1ZXMgcmVkcGFydCBzZXRib3VuZHMgdHJhY2luZ2xvc3RjaGFycworc3luIGtleXdvcmQgbXBJbnRlcm5hbCB0cnVlY29ybmVycyB1bGNvcm5lciB1cmNvcm5lciB3aXRoY29sb3IKKworIiBNZXRhZm9udCBwcmltaXRpdmVzIG5vdCBmb3VuZCBpbiBNZXRhUG9zdAorc3luIGtleXdvcmQgbm90RGVmaW5lZCBhdXRvcm91bmRpbmcgY2hhcmR4IGNoYXJkeSBmaWxsaW4gZ3JhbnVsYXJpdHkgaHBwcAorc3luIGtleXdvcmQgbm90RGVmaW5lZCBwcm9vZmluZyBzbW9vdGhpbmcgdHJhY2luZ2VkZ2VzIHRyYWNpbmdwZW5zCitzeW4ga2V5d29yZCBub3REZWZpbmVkIHR1cm5pbmdjaGVjayB2cHBwIHhvZmZzZXQgeW9mZnNldAorCisiIEtleXdvcmRzIGRlZmluZWQgYnkgcGxhaW4ubXAKK2lmICFleGlzdHMoInBsYWluX21wX21hY3JvcyIpCisgIGxldCBwbGFpbl9tcF9tYWNyb3MgPSAxICIgU2V0IHRoaXMgdG8gJzAnIGlmIHlvdXIgc291cmNlIGdldHMgdG9vIGNvbG91cmZ1bAorZW5kaWYKK2lmIHBsYWluX21wX21hY3JvcworICBzeW4ga2V5d29yZCBtcE1hY3JvIGFoYW5nbGUgYWhsZW5ndGggYmFja2dyb3VuZCBiYm94IGJib3htYXJnaW4gYmVnaW5maWcKKyAgc3luIGtleXdvcmQgbXBNYWNybyBiZXZlbGVkIGJsYWNrIGJsdWUgYnVpbGRjeWNsZSBidXR0IGNlbnRlciBjdXRhZnRlcgorICBzeW4ga2V5d29yZCBtcE1hY3JvIGN1dGJlZm9yZSBjdXR0aW5ncyBkYXNocGF0dGVybiBkZWZhdWx0Zm9udCBkZWZhdWx0cGVuCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gZGVmYXVsdHNjYWxlIGRvdGxhYmVsIGRvdGxhYmVscyBkcmF3YXJyb3cgZHJhd2RibGFycm93CisgIHN5biBrZXl3b3JkIG1wTWFjcm8gZHJhd29wdGlvbnMgZW5kZmlnIGV2ZW5seSBleHRyYV9iZWdpbmZpZyBleHRyYV9lbmRmaWcKKyAgc3luIGtleXdvcmQgbXBNYWNybyBncmVlbiBsYWJlbCBsYWJlbG9mZnNldCBtaXRlcmVkIHJlZCByb3VuZGVkIHNxdWFyZWQKKyAgc3luIGtleXdvcmQgbXBNYWNybyB0aGVsYWJlbCB3aGl0ZSBiYXNlX25hbWUgYmFzZV92ZXJzaW9uCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gdXB0byBkb3dudG8gZXhpdHVubGVzcyByZWxheCBnb2JibGUgZ29iYmxlZAorICBzeW4ga2V5d29yZCBtcE1hY3JvIGludGVyYWN0IGxvZ2dpbmdhbGwgdHJhY2luZ2FsbCB0cmFjaW5nbm9uZQorICBzeW4ga2V5d29yZCBtcE1hY3JvIGVwcyBlcHNpbG9uIGluZmluaXR5IHJpZ2h0IGxlZnQgdXAgZG93biBvcmlnaW4KKyAgc3luIGtleXdvcmQgbXBNYWNybyBxdWFydGVyY2lyY2xlIGhhbGZjaXJjbGUgZnVsbGNpcmNsZSB1bml0c3F1YXJlIGlkZW50aXR5CisgIHN5biBrZXl3b3JkIG1wTWFjcm8gYmxhbmtwaWN0dXJlIHdpdGhkb3RzIGRpdHRvIEVPRiBwZW5zcXVhcmUgcGVucmF6b3IKKyAgc3luIGtleXdvcmQgbXBNYWNybyBwZW5zcGVjayB3aGF0ZXZlciBhYnMgcm91bmQgY2VpbGluZyBieXRlIGRpciB1bml0dmVjdG9yCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gaW52ZXJzZSBjb3VudGVyY2xvY2t3aXNlIHRlbnNlcGF0aCBtb2QgZGl2IGRvdHByb2QKKyAgc3luIGtleXdvcmQgbXBNYWNybyB0YWtlcG93ZXIgZGlyZWN0aW9uIGRpcmVjdGlvbnBvaW50IGludGVyc2VjdGlvbnBvaW50CisgIHN5biBrZXl3b3JkIG1wTWFjcm8gc29mdGpvaW4gaW5jciBkZWNyIHJlZmxlY3RlZGFib3V0IHJvdGF0ZWRhcm91bmQKKyAgc3luIGtleXdvcmQgbXBNYWNybyByb3RhdGVkYWJvdXQgbWluIG1heCBmbGV4IHN1cGVyZWxsaXBzZSBpbnRlcnBhdGgKKyAgc3luIGtleXdvcmQgbXBNYWNybyBtYWdzdGVwIGN1cnJlbnRwZW4gY3VycmVudHBlbl9wYXRoIGN1cnJlbnRwaWN0dXJlCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gZmlsbCBkcmF3IGZpbGxkcmF3IGRyYXdkb3QgdW5maWxsIHVuZHJhdyB1bmZpbGxkcmF3CisgIHN5biBrZXl3b3JkIG1wTWFjcm8gdW5kcmF3ZG90IGVyYXNlIGN1dGRyYXcgaW1hZ2UgcGlja3VwIG51bWVyaWNfcGlja3VwCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gcGVuX2xmdCBwZW5fcnQgcGVuX3RvcCBwZW5fYm90IHNhdmVwZW4gY2xlYXJwZW4KKyAgc3luIGtleXdvcmQgbXBNYWNybyBjbGVhcl9wZW5fbWVtb3J5IGxmdCBydCB0b3AgYm90IHVsZnQgdXJ0IGxsZnQgbHJ0CisgIHN5biBrZXl3b3JkIG1wTWFjcm8gcGVucG9zIHBlbnN0cm9rZSBhcnJvd2hlYWQgbWFrZWxhYmVsIGxhYmVscyBwZW5sYWJlbAorICBzeW4ga2V5d29yZCBtcE1hY3JvIHJhbmdlIG51bXRvayB0aHJ1IGNsZWFyeHkgY2xlYXJpdCBjbGVhcnBlbiBwaWNrdXAKKyAgc3luIGtleXdvcmQgbXBNYWNybyBzaGlwaXQgYnllIGhpZGUgc3RvcCBzb2x2ZQorZW5kaWYKKworIiBLZXl3b3JkcyBkZWZpbmVkIGJ5IG1mcGxhaW4ubXAKK2lmICFleGlzdHMoIm1mcGxhaW5fbXBfbWFjcm9zIikKKyAgbGV0IG1mcGxhaW5fbXBfbWFjcm9zID0gMCAiIFNldCB0aGlzIHRvICcxJyB0byBpbmNsdWRlIHRoZXNlIG1hY3JvIG5hbWVzCitlbmRpZgoraWYgbWZwbGFpbl9tcF9tYWNyb3MKKyAgc3luIGtleXdvcmQgbXBNYWNybyBiZWdpbmNoYXIgYmxhY2tlciBjYXBzdWxlX2RlZiBjaGFuZ2Vfd2lkdGgKKyAgc3luIGtleXdvcmQgbXBNYWNybyBkZWZpbmVfYmxhY2tlcl9waXhlbHMgZGVmaW5lX2NvcnJlY3RlZF9waXhlbHMKKyAgc3luIGtleXdvcmQgbXBNYWNybyBkZWZpbmVfZ29vZF94X3BpeGVscyBkZWZpbmVfZ29vZF95X3BpeGVscworICBzeW4ga2V5d29yZCBtcE1hY3JvIGRlZmluZV9ob3Jpem9udGFsX2NvcnJlY3RlZF9waXhlbHMKKyAgc3luIGtleXdvcmQgbXBNYWNybyBkZWZpbmVfcGl4ZWxzIGRlZmluZV93aG9sZV9ibGFja2VyX3BpeGVscworICBzeW4ga2V5d29yZCBtcE1hY3JvIGRlZmluZV93aG9sZV92ZXJ0aWNhbF9ibGFja2VyX3BpeGVscworICBzeW4ga2V5d29yZCBtcE1hY3JvIGRlZmluZV93aG9sZV92ZXJ0aWNhbF9waXhlbHMgZW5kY2hhcgorICBzeW4ga2V5d29yZCBtcE1hY3JvIGV4dHJhX2JlZ2luY2hhciBleHRyYV9lbmRjaGFyIGV4dHJhX3NldHVwCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gZm9udF9jb2Rpbmdfc2NoZW1lIGZvbnRfZXh0cmFfc3BhY2UgZm9udF9pZGVudGlmaWVyCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gZm9udF9ub3JtYWxfc2hyaW5rIGZvbnRfbm9ybWFsX3NwYWNlCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gZm9udF9ub3JtYWxfc3RyZXRjaCBmb250X3F1YWQgZm9udF9zaXplCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gZm9udF9zbGFudCBmb250X3hfaGVpZ2h0IGl0YWxjb3JyIGxhYmVsZm9udAorICBzeW4ga2V5d29yZCBtcE1hY3JvIG1ha2Vib3ggbWFrZWdyaWQgbWFrZXRpY2tzIG1vZGVfZGVmIG1vZGVfc2V0dXAKKyAgc3luIGtleXdvcmQgbXBNYWNybyBvX2NvcnJlY3Rpb24gcHJvb2ZydWxlIHByb29mcnVsZXRoaWNrbmVzcyBydWxlcGVuIHNtb2RlCisKKyAgIiBwbHVzIHNvbWUgbm8tb3BzLCBhbHNvIGZyb20gbWZwbGFpbi5tcAorICBzeW4ga2V5d29yZCBtcE1hY3JvIGN1bGxpdCBjdXJyZW50dHJhbnNmb3JtIGdmY29ybmVycyBncmF5Zm9udCBocm91bmQKKyAgc3luIGtleXdvcmQgbXBNYWNybyBpbWFnZXJ1bGVzIGxvd3Jlc19maXggbm9kaXNwbGF5cyBub3RyYW5zZm9ybXMgb3Blbml0CisgIHN5biBrZXl3b3JkIG1wTWFjcm8gcHJvb2ZvZmZzZXQgc2NyZWVuY2hhcnMgc2NyZWVucnVsZSBzY3JlZW5zdHJva2VzCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gc2hvd2l0IHNsYW50Zm9udCB0aXRsZWZvbnQgdW5pdHBpeGVsIHZyb3VuZAorZW5kaWYKKworIiBLZXl3b3JkcyBkZWZpbmVkIGJ5IG90aGVyIG1hY3JvIHBhY2thZ2VzLCBlLmcuLCBib3hlcy5tcAoraWYgIWV4aXN0cygib3RoZXJfbXBfbWFjcm9zIikKKyAgbGV0IG90aGVyX21wX21hY3JvcyA9IDEgIiBTZXQgdGhpcyB0byAnMCcgaWYgeW91ciBzb3VyY2UgZ2V0cyB0b28gY29sb3VyZnVsCitlbmRpZgoraWYgb3RoZXJfbXBfbWFjcm9zCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gY2lyY21hcmdpbiBkZWZhdWx0ZHggZGVmYXVsdGR5CisgIHN5biBrZXl3b3JkIG1wTWFjcm8gYm94aXQgYm94am9pbiBicGF0aCBjaXJjbGVpdCBkcmF3Ym94ZWQgZHJhd2JveGVzCisgIHN5biBrZXl3b3JkIG1wTWFjcm8gZHJhd3VuYm94ZWQgZml4cG9zIGZpeHNpemUgcGljCitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21wX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX21wX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIG1wVGVYaW5zZXJ0CVN0cmluZworICBIaUxpbmsgbXBUZVhiZWdpbglTdGF0ZW1lbnQKKyAgSGlMaW5rIG1wVGVYZW5kCVN0YXRlbWVudAorICBIaUxpbmsgbXBJbnRlcm5hbAltZkludGVybmFsCisgIEhpTGluayBtcE1hY3JvCU1hY3JvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1wIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbXBsYXllcmNvbmYudmltIGIvcnVudGltZS9zeW50YXgvbXBsYXllcmNvbmYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhYmUyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9tcGxheWVyY29uZi52aW0KQEAgLTAsMCArMSwxMTEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgICAgbXBsYXllcigxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+CisiIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvbXBsYXllcmNvbmYvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKKyIgYXJjaC10YWc6CSAgICBjMjBiOTM4MS01ODU4LTQ0NTItYjg2Ni01NGUyZTE4OTEyMjkKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgU2V0IGlza2V5d29yZCBzaW5jZSB3ZSBuZWVkIGAtJyAoYW5kIHBvdGVudGlhbGx5IG90aGVycykgaW4ga2V5d29yZHMuCisiIEZvciB2ZXJzaW9uIDUueDogU2V0IGl0IGdsb2JhbGx5CisiIEZvciB2ZXJzaW9uIDYueDogU2V0IGl0IGxvY2FsbHkKK2lmIHZlcnNpb24gPj0gNjAwCisgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldGxvY2FsIGlza2V5d29yZD08YXJncz4KK2Vsc2UKKyAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0IGlza2V5d29yZD08YXJncz4KK2VuZGlmCitTZXRJc2sgQCw0OC01NywtCitkZWxjb21tYW5kIFNldElzaworCisiIFRvZG8KK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mVG9kbwljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uIG1wbGF5ZXJjb25mQ29tbWVudCAgIGRpc3BsYXkgbWF0Y2hncm91cD1tcGxheWVyY29uZkNvbW1lbnQgc3RhcnQ9JyMnIGVuZD0nJCcgY29udGFpbnM9bXBsYXllcmNvbmZUb2RvCisKKyIgUHJlUHJvYworc3luIGtleXdvcmQgbXBsYXllcmNvbmZQcmVQcm9jICBpbmNsdWRlCisKKyIgQm9vbGVhbnMKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mQm9vbGVhbiAgeWVzIG5vCisKKyIgTnVtYmVycworc3luIG1hdGNoICAgbXBsYXllcmNvbmZOdW1iZXIgICAnXDxcZFwrXD4nCisKKyIgT3B0aW9ucworc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24JaGFyZGZyYW1lZHJvcCBub21vdXNlaW5wdXQgYmFuZHdpZHRoIGR1bXBzdHJlYW0KK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uCXJ0c3Atc3RyZWFtLW92ZXItdGNwIHR2IG92ZXJsYXBzdWIgc3ViLWJnLWFscGhhCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbglzdWJmb250LW91dGxpbmUgdW5pY29kZSBmb3JtYXQgdm8gZWRsIGNvb2tpZXMKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uCWZwcyB6cmZkIGFmLWFkdiBub3NvdW5kIGF1ZGlvLWRlbnNpdHkKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uCXBhc3Nsb2dmaWxlIHZvYnN1Ym91dGluZGV4CitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGF1dG9xIGF1dG9zeW5jIGJlbmNobWFyayBjb2xvcmtleSBub2NvbG9ya2V5CitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGVkbG91dCBlbnF1ZXVlIGZpeGVkLXZvIGZyYW1lZHJvcCBoCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGlkZW50aWZ5IGlucHV0IGxpcmNjb25mIGxpc3Qtb3B0aW9ucyBsb29wIG1lbnUKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgbWVudS1jZmcgbWVudS1yb290IG5vam95c3RpY2sgbm9saXJjCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIG5vcnRjIHBsYXlsaXN0IHF1aWV0IHJlYWxseS1xdWlldCBzaHVmZmxlIHNraW4KK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgc2xhdmUgc29mdHNsZWVwIHNwZWVkIHNzdGVwIHVzZS1zdGRpbiBhaWQgYWxhbmcKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgYXVkaW8tZGVtdXhlciBhdWRpb2ZpbGUgYXVkaW9maWxlLWNhY2hlCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGNkcm9tLWRldmljZSBjYWNoZSBjZGRhIGNoYW5uZWxzIGNoYXB0ZXIKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgY29va2llcy1maWxlIGRlbXV4ZXIgZHVtcGF1ZGlvIGR1bXBmaWxlCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGR1bXB2aWRlbyBkdmJpbiBkdmQtZGV2aWNlIGR2ZGFuZ2xlIGZvcmNlaWR4CitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGZyYW1lcyBoci1tcDMtc2VlayBpZHggaXB2NC1vbmx5LXByb3h5IGxvYWRpZHgKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgbWMgbWYgbmkgbm9icHMgbm9leHRiYXNlZCBwYXNzd2QgcHJlZmVyLWlwdjQKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgcHJlZmVyLWlwdjYgcmF3YXVkaW8gcmF3dmlkZW8KK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgc2F2ZWlkeCBzYiBzcmF0ZSBzcyB0c2tlZXBicm9rZW4gdHNwcm9nIHRzcHJvYmUKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgdXNlciB1c2VyLWFnZW50IHZpZCB2aXZvIGR1bXBqYWNvc3ViCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGR1bXBtaWNyb2R2ZHN1YiBkdW1wbXBzdWIgZHVtcHNhbWkgZHVtcHNydHN1Ygorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBkdW1wc3ViIGZmYWN0b3IgZmxpcC1oZWJyZXcgZm9udCBmb3JjZWRzdWJzb25seQorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBmcmliaWRpLWNoYXJzZXQgaWZvIG5vYXV0b3N1YiBvc2RsZXZlbAorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBzaWQgc2xhbmcgc3B1YWEgc3B1YWxpZ24gc3B1Z2F1c3Mgc3ViCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHN1Yi1iZy1jb2xvciBzdWItZGVtdXhlciBzdWItZnV6emluZXNzCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHN1Yi1uby10ZXh0LXBwIHN1YmFsaWduIHN1YmNjIHN1YmNwIHN1YmRlbGF5CitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHN1YmZpbGUgc3ViZm9udC1hdXRvc2NhbGUgc3ViZm9udC1ibHVyCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHN1YmZvbnQtZW5jb2Rpbmcgc3ViZm9udC1vc2Qtc2NhbGUKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgc3ViZm9udC10ZXh0LXNjYWxlIHN1YmZwcyBzdWJwb3Mgc3Vid2lkdGgKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgdXRmOCB2b2JzdWIgdm9ic3ViaWQgYWJzIGFvIGFvZmlsZSBhb3AgZGVsYXkKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgbWl4ZXIgbm93YXZlaGVhZGVyIGFhIGJwcCBicmlnaHRuZXNzIGNvbnRyYXN0CitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGRmYm9wdHMgZGlzcGxheSBkb3VibGUgZHIgZHhyMiBmYiBmYm1vZGUKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgZmJtb2RlY29uZmlnIGZvcmNleHYgZnMgZnNtb2RlLWRvbnR1c2UgZnN0eXBlCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGdlb21ldHJ5IGd1aXdpZCBodWUganBlZyBtb25pdG9yLWRvdGNsb2NrCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIG1vbml0b3ItaGZyZXEgbW9uaXRvci12ZnJlcSBtb25pdG9yYXNwZWN0CitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIG5vZ3JhYnBvaW50ZXIgbm9rZWVwYXNwZWN0IG5veHYgb250b3AgcGFuc2Nhbgorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICByb290d2luIHNhdHVyYXRpb24gc2NyZWVudyBzdG9wLXhzY3JlZW5zYXZlciB2bQorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICB2c3luYyB3aWQgeGluZXJhbWFzY3JlZW4geiB6cmJ3IHpyY3JvcCB6cmRldgorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICB6cmhlbHAgenJub3JtIHpycXVhbGl0eSB6cnZkZWMgenJ4ZG9mZiBhYyBhZgorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBhZm0gYXNwZWN0IGZsaXAgbGF2ZG9wdHMgbm9hc3BlY3Qgbm9zbGljZXMKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgbm92aWRlbyBvbGRwcCBwcCBwcGhlbHAgc3NmIHN0ZXJlbyBzd3MgdmMgdmZtIHgKK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgeHZpZG9wdHMgeHkgeSB6b29tIHZmIHZvcCBhdWRpby1kZWxheQorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBhdWRpby1wcmVsb2FkIGVuZHBvcyBmZm91cmNjIGluY2x1ZGUgaW5mbworc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBub2F1dG9leHBhbmQgbm9za2lwIG8gb2FjIG9mIG9mcHMgb3ZjCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHNraXBsaW1pdCB2IHZvYnN1Ym91dCB2b2JzdWJvdXRpZAorc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBsYW1lb3B0cyBsYXZjb3B0cyBudXZvcHRzIHh2aWRlbmNvcHRzCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21wbGF5ZXJfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbXBsYXllcl9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBtcGxheWVyY29uZlRvZG8gICAgVG9kbworICBIaUxpbmsgbXBsYXllcmNvbmZDb21tZW50IENvbW1lbnQKKyAgSGlMaW5rIG1wbGF5ZXJjb25mUHJlUHJvYyBQcmVQcm9jCisgIEhpTGluayBtcGxheWVyY29uZkJvb2xlYW4gQm9vbGVhbgorICBIaUxpbmsgbXBsYXllcmNvbmZOdW1iZXIgIE51bWJlcgorICBIaUxpbmsgbXBsYXllcmNvbmZPcHRpb24gIEtleXdvcmQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibXBsYXllcmNvbmYiCisKKyIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21zaWRsLnZpbSBiL3J1bnRpbWUvc3ludGF4L21zaWRsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjI3MGVlYgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L21zaWRsLnZpbQpAQCAtMCwwICsxLDkyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIE1TIElETCAoTWljcm9zb2Z0IGRpYWxlY3Qgb2YgSW50ZXJmYWNlIERlc2NyaXB0aW9uIExhbmd1YWdlKQorIiBNYWludGFpbmVyOiAgIFZhZGltIFplaXRsaW4gPHZhZGltQHd4d2luZG93cy5vcmc+CisiIExhc3QgQ2hhbmdlOiAgMjAwMyBNYXkgMTEKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIE1pc2MgYmFzaWMKK3N5biBtYXRjaCAgIG1zaWRsSWQJCSJbYS16QS1aXVthLXpBLVowLTlfXSoiCitzeW4gbWF0Y2ggICBtc2lkbFVVSUQJCSJ7XD9bWzp4ZGlnaXQ6XV1cezh9LVwoW1s6eGRpZ2l0Ol1dXHs0fS1cKVx7M31bWzp4ZGlnaXQ6XV1cezEyfX1cPyIKK3N5biByZWdpb24gIG1zaWRsU3RyaW5nCQlzdGFydD0vIi8gIHNraXA9L1xcXChcXFxcXCkqIi8JZW5kPS8iLworc3luIG1hdGNoICAgbXNpZGxMaXRlcmFsCSJcZFwrXChcLlxkKlwpXD0iCitzeW4gbWF0Y2ggICBtc2lkbExpdGVyYWwJIlwuXGRcKyIKK3N5biBtYXRjaCAgIG1zaWRsU3BlY2lhbAljb250YWluZWQgIltdXFt7fTpdIgorCisiIENvbW1lbnRzCitzeW4ga2V5d29yZCBtc2lkbFRvZG8JCWNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWAorc3luIHJlZ2lvbiAgbXNpZGxDb21tZW50CXN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIgY29udGFpbnM9bXNpZGxUb2RvCitzeW4gbWF0Y2ggICBtc2lkbENvbW1lbnQJIi8vLioiIGNvbnRhaW5zPW1zaWRsVG9kbworc3luIG1hdGNoICAgbXNpZGxDb21tZW50RXJyb3IJIlwqLyIKKworIiBDIHN0eWxlIFByZXByb2Nlc3Nvcgorc3luIHJlZ2lvbiAgbXNpZGxJbmNsdWRlZAljb250YWluZWQgc3RhcnQ9KyIrICBza2lwPStcXFwoXFxcXFwpKiIrICBlbmQ9KyIrCitzeW4gbWF0Y2ggICBtc2lkbEluY2x1ZGVkCWNvbnRhaW5lZCAiPFtePl0qPiIKK3N5biBtYXRjaCAgIG1zaWRsSW5jbHVkZQkiXlsgXHRdKiNbIFx0XSppbmNsdWRlXD5bIFx0XSpbIjxdIiBjb250YWlucz1tc2lkbEluY2x1ZGVkLG1zaWRsU3RyaW5nCitzeW4gcmVnaW9uICBtc2lkbFByZUNvbmRpdAlzdGFydD0iXlsgXHRdKiNbIFx0XSpcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XHxlbGlmXD5cfGVsc2VcPlx8ZW5kaWZcPlwpIiAgc2tpcD0iXFwkIgllbmQ9IiQiIGNvbnRhaW5zPW1zaWRsQ29tbWVudCxtc2lkbENvbW1lbnRFcnJvcgorc3luIHJlZ2lvbiAgbXNpZGxEZWZpbmUJCXN0YXJ0PSJeWyBcdF0qI1sgXHRdKlwoZGVmaW5lXD5cfHVuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPW1zaWRsTGl0ZXJhbCwgbXNpZGxTdHJpbmcKKworIiBBdHRyaWJ1dGVzCitzeW4ga2V5d29yZCBtc2lkbEF0dHJpYnV0ZSAgICAgIGNvbnRhaW5lZCBpbiBvdXQgcHJvcGdldCBwcm9wcHV0IHByb3BwdXRyZWYgcmV0dmFsCitzeW4ga2V5d29yZCBtc2lkbEF0dHJpYnV0ZSAgICAgIGNvbnRhaW5lZCBhZ2dyZWdhdGFibGUgYXBwb2JqZWN0IGJpbmFkYWJsZSBjb2NsYXNzIGNvbnRyb2wgY3VzdG9tIGRlZmF1bHQgZGVmYXVsdGJpbmQgZGVmYXVsdGNvbGxlbGVtIGRlZmF1bHR2YWx1ZSBkZWZhdWx0dnRhYmxlIGRpc3BpbnRlcmZhY2UgZGlzcGxheWJpbmQgZHVhbCBlbnRyeSBoZWxwY29udGV4dCBoZWxwZmlsZSBoZWxwc3RyaW5nIGhlbHBzdHJpbmdkbGwgaGlkZGVuIGlkIGltbWVkaWF0ZWJpbmQgbGNpZCBsaWJyYXJ5IGxpY2Vuc2VkIG5vbmJyb3dzYWJsZSBub25jcmVhdGFibGUgbm9uZXh0ZW5zaWJsZSBvbGVhdXRvbWF0aW9uIG9wdGlvbmFsIG9iamVjdCBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdGVkaXQgcmVzdHJpY3RlZCBzb3VyY2Ugc3RyaW5nIHVpZGVmYXVsdCB1c2VzZ2V0bGFzdGVycm9yIHZhcmFyZyB2ZXJzaW9uCitzeW4gbWF0Y2ggICBtc2lkbEF0dHJpYnV0ZSAgICAgIC91dWlkKC4qKS9oZT1zKzQgY29udGFpbnM9bXNpZGxVVUlECitzeW4gbWF0Y2ggICBtc2lkbEF0dHJpYnV0ZSAgICAgIC9oZWxwc3RyaW5nKC4qKS9oZT1zKzEwIGNvbnRhaW5zPW1zaWRsU3RyaW5nCitzeW4gcmVnaW9uICBtc2lkbEF0dHJpYnV0ZXMgICAgIHN0YXJ0PSJcWyIgZW5kPSJdIiBrZWVwZW5kIGNvbnRhaW5zPW1zaWRsU3BlY2lhbCxtc2lkbFN0cmluZyxtc2lkbEF0dHJpYnV0ZSxtc2lkbENvbW1lbnQsbXNpZGxDb21tZW50RXJyb3IKKworIiBLZXl3b3Jkcworc3luIGtleXdvcmQgbXNpZGxFbnVtCQllbnVtCitzeW4ga2V5d29yZCBtc2lkbEltcG9ydAkJaW1wb3J0IGltcG9ydGxpYgorc3luIGtleXdvcmQgbXNpZGxTdHJ1Y3QJCWludGVyZmFjZSBsaWJyYXJ5IGNvY2xhc3MKK3N5biBrZXl3b3JkIG1zaWRsVHlwZWRlZgl0eXBlZGVmCisKKyIgVHlwZXMKK3N5biBrZXl3b3JkIG1zaWRsU3RhbmRhcmRUeXBlICAgYnl0ZSBjaGFyIGRvdWJsZSBmbG9hdCBoeXBlciBpbnQgbG9uZyBzaG9ydCB2b2lkIHdjaGFyX3QKK3N5biBrZXl3b3JkIG1zaWRsU3RhbmRhcmRUeXBlICAgQk9PTCBCU1RSIEhSRVNVTFQgVkFSSUFOVCBWQVJJQU5UX0JPT0wKK3N5biByZWdpb24gIG1zaWRsU2FmZUFycmF5ICAgICAgc3RhcnQ9IlNBRkVBUlJBWSgiIGVuZD0iKSIgY29udGFpbnM9bXNpZGxTdGFuZGFyZFR5cGUKKworc3luIHN5bmMgbGluZXM9NTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbXNpZGxfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfbXNpZGxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbXNpZGxJbmNsdWRlCQlJbmNsdWRlCisgIEhpTGluayBtc2lkbFByZVByb2MJCVByZVByb2MKKyAgSGlMaW5rIG1zaWRsUHJlQ29uZGl0CQlQcmVDb25kaXQKKyAgSGlMaW5rIG1zaWRsRGVmaW5lCQlNYWNybworICBIaUxpbmsgbXNpZGxJbmNsdWRlZAkJU3RyaW5nCisgIEhpTGluayBtc2lkbFN0cmluZwkJU3RyaW5nCisgIEhpTGluayBtc2lkbENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIG1zaWRsVG9kbwkJVG9kbworICBIaUxpbmsgbXNpZGxTcGVjaWFsCQlTcGVjaWFsQ2hhcgorICBIaUxpbmsgbXNpZGxMaXRlcmFsCQlOdW1iZXIKKyAgSGlMaW5rIG1zaWRsVVVJRAkJTnVtYmVyCisKKyAgSGlMaW5rIG1zaWRsSW1wb3J0CQlJbmNsdWRlCisgIEhpTGluayBtc2lkbEVudW0JCVN0b3JhZ2VDbGFzcworICBIaUxpbmsgbXNpZGxTdHJ1Y3QJCVN0cnVjdHVyZQorICBIaUxpbmsgbXNpZGxUeXBlZGVmCQlUeXBlZGVmCisgIEhpTGluayBtc2lkbEF0dHJpYnV0ZQkJU3RvcmFnZUNsYXNzCisKKyAgSGlMaW5rIG1zaWRsU3RhbmRhcmRUeXBlCVR5cGUKKyAgSGlMaW5rIG1zaWRsU2FmZUFycmF5CQlUeXBlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1zaWRsIgorCisiIHZpOiBzZXQgdHM9OCBzdz00OgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbXNxbC52aW0gYi9ydW50aW1lL3N5bnRheC9tc3FsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzE2ZmJiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbXNxbC52aW0KQEAgLTAsMCArMSwxMDAgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgltc3FsCisiIE1haW50YWluZXI6CUx1dHogRXltZXJzIDxpeHRhYkBwb2x6aW4uY29tPgorIiBVUkw6CQlodHRwOi8vd3d3LmlzcC5kZS9kYXRhL21zcWwudmltCisiIEVtYWlsOglTdWJqZWN0OiBzZW5kIHN5bnRheF92aW0udGd6CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAxMAorIgorIiBPcHRpb25zCW1zcWxfc3FsX3F1ZXJ5ID0gMSBmb3IgU1FMIHN5bnRheCBoaWdobGlndGhpbmcgaW5zaWRlIHN0cmluZ3MKKyIJCW1zcWxfbWlubGluZXMgPSB4ICAgICB0byBzeW5jIGF0IGxlYXN0IHggbGluZXMgYmFja3dhcmRzCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAnbXNxbCcKK2VuZGlmCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKK2VuZGlmCisKK3N5biBjbHVzdGVyIGh0bWxQcmVwcm9jIGFkZD1tc3FsUmVnaW9uCisKK3N5biBjYXNlIG1hdGNoCisKKyIgSW50ZXJuYWwgVmFyaWFibGVzCitzeW4ga2V5d29yZCBtc3FsSW50VmFyIEVSUk1TRyBjb250YWluZWQKKworIiBFbnYgVmFyaWFibGVzCitzeW4ga2V5d29yZCBtc3FsRW52VmFyIFNFUlZFUl9TT0ZUV0FSRSBTRVJWRVJfTkFNRSBTRVJWRVJfVVJMIEdBVEVXQVlfSU5URVJGQUNFIGNvbnRhaW5lZAorc3luIGtleXdvcmQgbXNxbEVudlZhciBTRVJWRVJfUFJPVE9DT0wgU0VSVkVSX1BPUlQgUkVRVUVTVF9NRVRIT0QgUEFUSF9JTkZPICBjb250YWluZWQKK3N5biBrZXl3b3JkIG1zcWxFbnZWYXIgUEFUSF9UUkFOU0xBVEVEIFNDUklQVF9OQU1FIFFVRVJZX1NUUklORyBSRU1PVEVfSE9TVCBjb250YWluZWQKK3N5biBrZXl3b3JkIG1zcWxFbnZWYXIgUkVNT1RFX0FERFIgQVVUSF9UWVBFIFJFTU9URV9VU0VSIENPTlRFTl9UWVBFICBjb250YWluZWQKK3N5biBrZXl3b3JkIG1zcWxFbnZWYXIgQ09OVEVOVF9MRU5HVEggSFRUUFMgSFRUUFNfS0VZU0laRSBIVFRQU19TRUNSRVRLRVlTSVpFICBjb250YWluZWQKK3N5biBrZXl3b3JkIG1zcWxFbnZWYXIgSFRUUF9BQ0NFQ1QgSFRUUF9VU0VSX0FHRU5UIEhUVFBfSUZfTU9ESUZJRURfU0lOQ0UgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgbXNxbEVudlZhciBIVFRQX0ZST00gSFRUUF9SRUZFUkVSIGNvbnRhaW5lZAorCisiIElubGNsdWRlIGxMaXRlCitzeW4gaW5jbHVkZSBAbXNxbExpdGUgPHNmaWxlPjpwOmgvbGl0ZS52aW0KKworIiBNc3FsIFJlZ2lvbgorc3luIHJlZ2lvbiBtc3FsUmVnaW9uIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8ISQiIHN0YXJ0PSI8IVteIS0+RF0iIGVuZD0iPiIgY29udGFpbnM9QG1zcWxMaXRlLG1zcWwuKgorCisiIHN5bmMKK2lmIGV4aXN0cygibXNxbF9taW5saW5lcyIpCisgIGV4ZWMgInN5biBzeW5jIG1pbmxpbmVzPSIgLiBtc3FsX21pbmxpbmVzCitlbHNlCisgIHN5biBzeW5jIG1pbmxpbmVzPTEwMAorZW5kaWYKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbXNxbF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tc3FsX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIG1zcWxDb21tZW50CQlDb21tZW50CisgIEhpTGluayBtc3FsU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIG1zcWxOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgbXNxbEZsb2F0CQlGbG9hdAorICBIaUxpbmsgbXNxbElkZW50aWZpZXIJSWRlbnRpZmllcgorICBIaUxpbmsgbXNxbEdsb2JhbElkZW50aWZpZXIJSWRlbnRpZmllcgorICBIaUxpbmsgbXNxbEludFZhcgkJSWRlbnRpZmllcgorICBIaUxpbmsgbXNxbEVudlZhcgkJSWRlbnRpZmllcgorICBIaUxpbmsgbXNxbEZ1bmN0aW9ucwkJRnVuY3Rpb24KKyAgSGlMaW5rIG1zcWxSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgbXNxbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBtc3FsU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG1zcWxUeXBlCQlUeXBlCisgIEhpTGluayBtc3FsSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgbXNxbERlZmluZQkJRGVmaW5lCisgIEhpTGluayBtc3FsU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKKyAgSGlMaW5rIG1zcWxQYXJlbnRFcnJvcglFcnJvcgorICBIaUxpbmsgbXNxbFRvZG8JCVRvZG8KKyAgSGlMaW5rIG1zcWxPcGVyYXRvcgkJT3BlcmF0b3IKKyAgSGlMaW5rIG1zcWxSZWxhdGlvbgkJT3BlcmF0b3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibXNxbCIKKworaWYgbWFpbl9zeW50YXggPT0gJ21zcWwnCisgIHVubGV0IG1haW5fc3ludGF4CitlbmRpZgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbXVzaC52aW0gYi9ydW50aW1lL3N5bnRheC9tdXNoLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTY1OTI3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbXVzaC52aW0KQEAgLTAsMCArMSwxMzIgQEAKKyIgTVVTSGNvZGUgc3ludGF4IGZpbGUKKyIgTWFpbnRhaW5lcjoJQmVrIE9iZXJpbiA8Z29zc2FtZXJAdGVydGl1cy5uZXQuYXU+CisiIExhc3QgdXBkYXRlZCBieSBSaW1uYWwgb24gTW9uIEF1ZyAyMCAwODoyODo1NiBNRFQgMjAwMQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworIiByZWd1bGFyIG11c2ggZnVuY3Rpb25zCitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIGFicyBhY29zIGFkZCBhZnRlciBhbmQgYW5kZmxhZ3MgYXBvc3MKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgYXNpbiBhdGFuIGJlZm9yZSBjYXBzdHIgY2F0IGNlaWwgY2VudGVyCitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIGNvbXAgY29uIGNvbm4gY29udHJvbHMgY29udnNlY3MgY29udnRpbWUKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgY29zIGRlZmF1bHQgZGVsZXRlIGRpc3QyZCBkaXN0M2QgZGl2IGUKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgZWRlZmF1bHQgZWRpdCBlbGVtZW50cyBlbG9jayBlcSBlc2NhcGUKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgZXhpdCBleHAgZXh0cmFjdCBmZGl2IGZpbHRlciBmaXJzdCBmbGFncworc3ludGF4IGtleXdvcmQgbXVzaEZ1bmN0aW9uIGNvbnRhaW5lZCBmbG9vciBmb2xkIGZvcmVhY2ggZmluZGFibGUgZnVsbG5hbWUgZ2V0CitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIGdldF9ldmFsIGdyYWIgZ3QgZ3RlIGhhc2F0dHIgaGFzZmxhZworc3ludGF4IGtleXdvcmQgbXVzaEZ1bmN0aW9uIGNvbnRhaW5lZCBob21lIGlkbGUgaW5kZXggaW5zZXJ0IGlzZGJyZWYgaXNudW0KK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgaXN3b3JkIGl0ZXIgbGFzdCBsYXR0ciBsY29uIGxjc3RyCitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIGxkZWxldGUgbGVmdCBsZXhpdHMgbGp1c3QgbG4gbG51bSBsb2MKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgbG9jYXRlIGxvY2sgbG9nIGxwb3MgbHQgbHRlIGx3aG8gbWFwCitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIG1hdGNoIG1hdGNoYWxsIG1heCBtZW1iZXIgbWVyZ2UgbWlkIG1pbgorc3ludGF4IGtleXdvcmQgbXVzaEZ1bmN0aW9uIGNvbnRhaW5lZCBtaXggbW9kIG1vbmV5IG11ZG5hbWUgbXVsIG11bmdlIG5hbWUKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgbmVhcmJ5IG5lcSBuZXh0IG5vdCBudW0gb2JqIG9iamV2YWwKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgb2JqbWVtIG9yIG9yZmxhZ3Mgb3duZXIgcGFyZW50IHBhcnNlIHBpCitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIHBvcnRzIHBvcyBwb3NzIHBvd2VyIHIgcmFuZCByZW1vdmUgcmVwZWF0CitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIHJlcGxhY2UgcmVzdCByZXZlcnNlIHJldndvcmRzIHJpZ2h0CitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIHJqdXN0IHJsb2Mgcm9vbSByb3VuZCBzIHNjcmFtYmxlIHNlYXJjaAorc3ludGF4IGtleXdvcmQgbXVzaEZ1bmN0aW9uIGNvbnRhaW5lZCBzZWNzIHNlY3VyZSBzZXRkaWZmIHNldGludGVyIHNldHEKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgc2V0dW5pb24gc2h1ZmZsZSBzaWduIHNpbiBzb3J0IHNvcnRieQorc3ludGF4IGtleXdvcmQgbXVzaEZ1bmN0aW9uIGNvbnRhaW5lZCBzcGFjZSBzcGxpY2Ugc3FydCBzcXVpc2ggc3RhcnR0aW1lIHN0YXRzCitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIHN0cmxlbiBzdHJtYXRjaCBzdWIgc3ViaiBzd2l0Y2ggdGFuIHRpbWUKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgdHJpbSB0cnVuYyB0eXBlIHUgdWNzdHIgdWRlZmF1bHQgdWxvY2FsCitzeW50YXgga2V5d29yZCBtdXNoRnVuY3Rpb24gY29udGFpbmVkIHYgdmVyc2lvbiB2aXNpYmxlIHdoZXJlIHdvcmRwb3Mgd29yZHMKK3N5bnRheCBrZXl3b3JkIG11c2hGdW5jdGlvbiBjb250YWluZWQgeGNvbiB4b3IKKyIgb25seSBoaWdobGlnaCBmdW5jdGlvbnMgd2hlbiB0aGV5IGhhdmUgYW4gaW4tYnJhY2tldCBpbW1lZGlhdGVseSBhZnRlcgorc3ludGF4IG1hdGNoIG11c2hGdW5jdGlvbkJyYWNrZXRzICAiXGlcSSooIiBjb250YWlucz1tdXNoRnVuY3Rpb24KKworIiByZWd1bGFyIG11c2ggY29tbWFuZHMKK3N5bnRheCBrZXl3b3JkIG11c2hBdENvbW1hbmRMaXN0IGNvbnRhaW5lZCBAYWxpYXMgQGNob3duIEBjbG9uZSBAY3JlYXRlCitzeW50YXgga2V5d29yZCBtdXNoQXRDb21tYW5kTGlzdCBjb250YWluZWQgQGRlY29tcGlsZSBAZGVzdHJveSBAZG9pbmcgQGRvbGlzdAorc3ludGF4IGtleXdvcmQgbXVzaEF0Q29tbWFuZExpc3QgY29udGFpbmVkIEBkcmFpbiBAZWRpdCBAZW1pdCBAZW50cmFuY2VzIEBmZW1pdAorc3ludGF4IGtleXdvcmQgbXVzaEF0Q29tbWFuZExpc3QgY29udGFpbmVkIEBmb3JjZSBAZnBvc2UgQGZzYXkgQGhhbHQgQGxhc3QKK3N5bnRheCBrZXl3b3JkIG11c2hBdENvbW1hbmRMaXN0IGNvbnRhaW5lZCBAbGluayBAbGlzdCBAbGlzdG1vdGQgQGxvY2sgQG11ZHdobworc3ludGF4IGtleXdvcmQgbXVzaEF0Q29tbWFuZExpc3QgY29udGFpbmVkIEBtdmF0dHIgQG5hbWUgQG5vdGlmeSBAb2VtaXQgQHBhcmVudAorc3ludGF4IGtleXdvcmQgbXVzaEF0Q29tbWFuZExpc3QgY29udGFpbmVkIEBwYXNzd29yZCBAcGVtaXQgQHBzIEBxdW90YSBAcm9ib3QKK3N5bnRheCBrZXl3b3JkIG11c2hBdENvbW1hbmRMaXN0IGNvbnRhaW5lZCBAc2VhcmNoIEBzZXQgQHN0YXRzIEBzd2VlcCBAc3dpdGNoCitzeW50YXgga2V5d29yZCBtdXNoQXRDb21tYW5kTGlzdCBjb250YWluZWQgQHRlbGVwb3J0IEB0cmlnZ2VyIEB1bmxpbmsgQHVubG9jaworc3ludGF4IGtleXdvcmQgbXVzaEF0Q29tbWFuZExpc3QgY29udGFpbmVkIEB2ZXJiIEB3YWl0IEB3aXBlCitzeW50YXggbWF0Y2ggbXVzaENvbW1hbmQgICJAXGlcSSoiIGNvbnRhaW5zPW11c2hBdENvbW1hbmRMaXN0CisKKworc3ludGF4IGtleXdvcmQgbXVzaENvbW1hbmQgZHJvcCBlbnRlciBleGFtaW5lIGdldCBnaXZlIGdvdG8gaGVscCBpbnZlbnRvcnkKK3N5bnRheCBrZXl3b3JkIG11c2hDb21tYW5kIGtpbGwgbGVhdmUgbG9vayBuZXdzIHBhZ2UgcG9zZSBzYXkgc2NvcmUgdXNlCitzeW50YXgga2V5d29yZCBtdXNoQ29tbWFuZCB2ZXJzaW9uIHdoaXNwZXIgRE9JTkcgTE9HT1VUIE9VVFBVVFBSRUZJWAorc3ludGF4IGtleXdvcmQgbXVzaENvbW1hbmQgT1VUUFVUU1VGRklYIFFVSVQgU0VTU0lPTiBXSE8KKworc3ludGF4IG1hdGNoIG11c2hTcGVjaWFsICAgICAiXCpcfCFcfD1cfC1cfFxcXHwrIgorc3ludGF4IG1hdGNoIG11c2hTcGVjaWFsMiBjb250YWluZWQgICAgICJcKiIKKworc3ludGF4IG1hdGNoIG11c2hJZGVudGlmaWVyICAgIiZbXiBdXCsiCisKK3N5bnRheCBtYXRjaCBtdXNoVmFyaWFibGUgICAiJXJcfCV0XHwlY3JcfCVbQS1aYS16MC05XVwrXHwlI1x8IyNcfGhlcmUiCisKKyIgbnVtYmVycworc3ludGF4IG1hdGNoIG11c2hOdW1iZXIJK1swLTldXCsrCisKKyIgQSBjb21tZW50IGxpbmUgc3RhcnRzIHdpdGggYSBvciAjIG9yICIgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lCisiIG9yIGFuIEBACitzeW50YXgga2V5d29yZCBtdXNoVG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFgKK3N5bnRheCBtYXRjaAltdXNoQ29tbWVudAkrXlxzKkBALiokKwljb250YWlucz1tdXNoVG9kbworc3ludGF4IG1hdGNoCW11c2hDb21tZW50CSteIi4qJCsJY29udGFpbnM9bXVzaFRvZG8KK3N5bnRheCBtYXRjaAltdXNoQ29tbWVudAkrXiMuKiQrCWNvbnRhaW5zPW11c2hUb2RvCisKK3N5bnRheCByZWdpb24JbXVzaEZ1bmNCb3VuZGFyaWVzIHN0YXJ0PSJcWyIgZW5kPSJcXSIgY29udGFpbnM9bXVzaEZ1bmN0aW9uLG11c2hGbGFnLG11c2hBdHRyaWJ1dGVzLG11c2hOdW1iZXIsbXVzaENvbW1hbmQsbXVzaFZhcmlhYmxlLG11c2hTcGVjaWFsMgorCisiIEZMQUdTCitzeW50YXgga2V5d29yZCBtdXNoRmxhZyBQTEFZRVIgQUJPREUgQlVJTERFUiBDSE9XTl9PSyBEQVJLIEZMT0FUSU5HCitzeW50YXgga2V5d29yZCBtdXNoRmxhZyBHT0lORyBIQVZFTiBJTkhFUklUIEpVTVBfT0sgS0VZIExJTktfT0sgTU9OSVRPUgorc3ludGF4IGtleXdvcmQgbXVzaEZsYWcgTk9TUE9PRiBPUEFRVUUgUVVJRVQgU1RJQ0tZIFRSQUNFIFVORklOREFCTEUgVklTVUFMCitzeW50YXgga2V5d29yZCBtdXNoRmxhZyBXSVpBUkQgUEFSRU5UX09LIFpPTkUgQVVESUJMRSBDT05ORUNURUQgREVTVFJPWV9PSworc3ludGF4IGtleXdvcmQgbXVzaEZsYWcgRU5URVJfT0sgSEFMVEVEIElNTU9SVEFMIExJR0hUIE1ZT1BJQyBQVVBQRVQgVEVSU0UKK3N5bnRheCBrZXl3b3JkIG11c2hGbGFnIFJPQk9UIFNBRkUgVFJBTlNQQVJFTlQgVkVSQk9TRSBDT05UUk9MX09LIENPTU1BTkRTCisKK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgYWFoZWFyIGFjbG9uZSBhY29ubmVjdCBhZGVzYyBhZGZhaWwgYWRpc2Nvbm5lY3QKK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgYWRyb3AgYWVmYWlsIGFlbnRlciBhZmFpbCBhZ2ZhaWwgYWhlYXIgYWtpbGwKK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgYWxlYXZlIGFsZmFpbCBhbGlhcyBhbWhlYXIgYW1vdmUgYXBheSBhcmZhaWwKK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgYXN1Y2MgYXRmYWlsIGF0cG9ydCBhdWZhaWwgYXVzZSBhd2F5IGNoYXJnZXMKK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgY29zdCBkZXNjIGRmYWlsIGRyb3AgZWFsaWFzIGVmYWlsIGVudGVyIGZhaWwKK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgZmlsdGVyIGZvcndhcmRsaXN0IGdmYWlsIGlkZXNjIGlkbGUgaW5maWx0ZXIKK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgaW5wcmVmaXgga2lsbCBsYWxpYXMgbGFzdCBsYXN0c2l0ZSBsZWF2ZSBsZmFpbAorc3ludGF4IGtleXdvcmQgbXVzaEF0dHJpYnV0ZSBsaXN0ZW4gbW92ZSBvZGVzYyBvZGZhaWwgb2Ryb3Agb2VmYWlsIG9lbnRlcgorc3ludGF4IGtleXdvcmQgbXVzaEF0dHJpYnV0ZSBvZmFpbCBvZ2ZhaWwgb2tpbGwgb2xlYXZlIG9sZmFpbCBvbW92ZSBvcGF5CitzeW50YXgga2V5d29yZCBtdXNoQXR0cmlidXRlIG9yZmFpbCBvc3VjYyBvdGZhaWwgb3Rwb3J0IG91ZmFpbCBvdXNlIG94ZW50ZXIKK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgb3hsZWF2ZSBveHRwb3J0IHBheSBwcmVmaXggcmVqZWN0IHJmYWlsIHJ1bm91dAorc3ludGF4IGtleXdvcmQgbXVzaEF0dHJpYnV0ZSBzZW1hcGhvcmUgc2V4IHN0YXJ0dXAgc3VjYyB0ZmFpbCB0cG9ydCB1ZmFpbAorc3ludGF4IGtleXdvcmQgbXVzaEF0dHJpYnV0ZSB1c2UgdmEgdmIgdmMgdmQgdmUgdmYgdmcgdmggdmkgdmogdmsgdmwgdm0gdm4KK3N5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgdm8gdnAgdnEgdnIgdnMgdnQgdnUgdnYgdncgdnggdnkgdnoKKworCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbXVzaF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tdXNoX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICBIaUxpbmsgbXVzaEF0dHJpYnV0ZSAgQ29uc3RhbnQKKyAgSGlMaW5rIG11c2hDb21tYW5kICAgIEZ1bmN0aW9uCisgIEhpTGluayBtdXNoQ29tbWVudCAgICBDb21tZW50CisgIEhpTGluayBtdXNoTnVtYmVyICAgICBOdW1iZXIKKyAgSGlMaW5rIG11c2hTZXR0aW5nICAgIFByZVByb2MKKyAgSGlMaW5rIG11c2hGdW5jdGlvbiAgIFN0YXRlbWVudAorICBIaUxpbmsgbXVzaFZhcmlhYmxlICAgSWRlbnRpZmllcgorICBIaUxpbmsgbXVzaFNwZWNpYWwgICAgU3BlY2lhbAorICBIaUxpbmsgbXVzaFRvZG8gICAgICAgVG9kbworICBIaUxpbmsgbXVzaEZsYWcgICAgICAgU3BlY2lhbAorICBIaUxpbmsgbXVzaElkZW50aWZpZXIgSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtdXNoIgorCisiIG11c2g6IHRzPTE3CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tdXR0cmMudmltIGIvcnVudGltZS9zeW50YXgvbXV0dHJjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTFmMWE5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbXV0dHJjLnZpbQpAQCAtMCwwICsxLDI0OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU11dHQgc2V0dXAgZmlsZXMKKyIgTWFpbnRhaW5lcjoJUHJlYmVuICdQZXBwZScgR3VsZGJlcmcgPHBlcHBlLXZpbUB3aWVsZGVycy5vcmc+CisiIENvbnRyaWJ1dG9yOglHYXJ5IEpvaG5zb24gPGdhcnlqb2huQHNway5hZ2lsZW50LmNvbT4KKyIgTGFzdCBDaGFuZ2U6CTI3IE1heSAyMDA0CisKKyIgVGhpcyBmaWxlIGNvdmVycyBtdXR0IHZlcnNpb24gMS40LjIuMWkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFNldCB0aGUga2V5d29yZCBjaGFyYWN0ZXJzCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNldCBpc2s9QCw0OC01NyxfLC0KK2Vsc2UKKyAgc2V0bG9jYWwgaXNrPUAsNDgtNTcsXywtCitlbmRpZgorCitzeW4gbWF0Y2ggbXV0dHJjQ29tbWVudAkJIl4jLiokIgorc3luIG1hdGNoIG11dHRyY0NvbW1lbnQJCSJbXlxcXSMuKiQibGM9MQorCisiIEVzY2FwZSBzZXF1ZW5jZXMgKGJhY2stdGljayBhbmQgcGlwZSBnb2VzIGhlcmUgdG9vKQorc3luIG1hdGNoIG11dHRyY0VzY2FwZQkJK1xcWyN0bnIiJ0NjXSsKK3N5biBtYXRjaCBtdXR0cmNFc2NhcGUJCStbYHxdKworCisiIFRoZSB2YXJpYWJsZXMgdGFrZXMgdGhlIGZvbGxvd2luZyBhcmd1bWVudHMKK3N5biBtYXRjaCAgbXV0dHJjU3RyaW5nCQkiPVxzKlteICMiJ11cKyJsYz0xIGNvbnRhaW5zPW11dHRyY0VzY2FwZQorc3luIHJlZ2lvbiBtdXR0cmNTdHJpbmcJCXN0YXJ0PSsiK21zPWUgc2tpcD0rXFwiKyBlbmQ9KyIrIGNvbnRhaW5zPW11dHRyY0VzY2FwZSxtdXR0cmNTZXQsbXV0dHJjVW5zZXQsbXV0dHJjUmVzZXQsbXV0dHJjVG9nZ2xlLG11dHRyY01hY3JvLG11dHRyY0NvbW1hbmQKK3N5biByZWdpb24gbXV0dHJjU3RyaW5nCQlzdGFydD0rJyttcz1lIHNraXA9K1xcJysgZW5kPSsnKyBjb250YWlucz1tdXR0cmNFc2NhcGUsbXV0dHJjU2V0LG11dHRyY1Vuc2V0LG11dHRyY1Jlc2V0LG11dHRyY1RvZ2dsZSxtdXR0cmNNYWNybyxtdXR0cmNDb21tYW5kCisKK3N5biBtYXRjaCBtdXR0cmNTcGVjaWFsCQkrXChbJyJdXCkhXDErCisKKyIgTnVtYmVycyBhbmQgUXVhZG9wdGlvbnMgbWF5IGJlIHN1cnJvdW5kZWQgYnkgIiBvciAnCitzeW4gbWF0Y2ggbXV0dHJjTnVtYmVyCQkvPVxzKlxkXCsvbGM9MQorc3luIG1hdGNoIG11dHRyY051bWJlcgkJLz1ccyoiXGRcKyIvbGM9MQorc3luIG1hdGNoIG11dHRyY051bWJlcgkJLz1ccyonXGRcKycvbGM9MQorc3luIG1hdGNoIG11dHRyY1F1YWRvcHQJCSs9XHMqXChhc2stXClcPVwoeWVzXHxub1wpK2xjPTEKK3N5biBtYXRjaCBtdXR0cmNRdWFkb3B0CQkrPVxzKiJcKGFzay1cKVw9XCh5ZXNcfG5vXCkiK2xjPTEKK3N5biBtYXRjaCBtdXR0cmNRdWFkb3B0CQkrPVxzKidcKGFzay1cKVw9XCh5ZXNcfG5vXCknK2xjPTEKKworIiBOb3cgY2F0Y2ggc29tZSBlbWFpbCBhZGRyZXNzZXMgYW5kIGhlYWRlcnMgKHB1cmlmaWVkIHZlcnNpb24gZnJvbSBtYWlsLnZpbSkKK3N5biBtYXRjaCBtdXR0cmNFbWFpbAkJIlthLXpBLVowLTkuXy1dXCtAW2EtekEtWjAtOS4vLV1cKyIKK3N5biBtYXRjaCBtdXR0cmNIZWFkZXIJCSJcPFwoRnJvbVx8VG9cfENjXHxCY2NcfFJlcGx5LVRvXHxTdWJqZWN0XHxSZXR1cm4tUGF0aFx8UmVjZWl2ZWRcfERhdGVcfFJlcGxpZWRcfEF0dGFjaFwpXD46XD0iCisKK3N5biBtYXRjaCAgIG11dHRyY0tleVNwZWNpYWwJY29udGFpbmVkICtcKFxcW0NjJyJdXHxcXlx8XFxbMDFdXGRcezJ9XCkrCitzeW4gbWF0Y2ggICBtdXR0cmNLZXkJCWNvbnRhaW5lZCAiXFNcKyIJCQljb250YWlucz1tdXR0cmNLZXlTcGVjaWFsCitzeW4gcmVnaW9uICBtdXR0cmNLZXkJCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCWNvbnRhaW5zPW11dHRyY0tleVNwZWNpYWwKK3N5biByZWdpb24gIG11dHRyY0tleQkJY29udGFpbmVkIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysJY29udGFpbnM9bXV0dHJjS2V5U3BlY2lhbAorc3luIG1hdGNoICAgbXV0dHJjS2V5TmFtZQljb250YWluZWQgIlw8ZlwoXGRcfDEwXClcPiIKK3N5biBtYXRjaCAgIG11dHRyY0tleU5hbWUJY29udGFpbmVkICJcXFt0cm5lXSIKK3N5biBtYXRjaCAgIG11dHRyY0tleU5hbWUJY29udGFpbmVkICI8XChCYWNrU3BhY2VcfERlbGV0ZVx8RG93blx8RW5kXHxFbnRlclx8RXNjXHxIb21lXHxJbnNlcnRcfExlZnRcfFBhZ2VEb3duXHxQYWdlVXBcfFJldHVyblx8UmlnaHRcfFNwYWNlXHxUYWJcfFVwXCk+IgorCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBhbGxvd184Yml0IGFsbG93X2Fuc2kgYXJyb3dfY3Vyc29yIGFzY2lpX2NoYXJzIGFza2JjYyBhc2tjYyBhdHRhY2hfc3BsaXQKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGF1dG9fdGFnIGF1dG9lZGl0IGJlZXAgYmVlcF9uZXcgYm91bmNlX2RlbGl2ZXJlZCBjaGVja19uZXcgY29sbGFwc2VfdW5yZWFkCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBjb25maXJtYXBwZW5kIGNvbmZpcm1jcmVhdGUgZGVsZXRlX3VudGFnIGRpZ2VzdF9jb2xsYXBzZSBkdXBsaWNhdGVfdGhyZWFkcworc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgZWRpdF9oZHJzIGVkaXRfaGVhZGVycyBlbmNvZGVfZnJvbSBlbnZlbG9wZV9mcm9tIGZhc3RfcmVwbHkgZmNjX2F0dGFjaAorc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgZmNjX2NsZWFyIGZvbGxvd3VwX3RvIGZvcmNlX25hbWUgZm9yd19kZWNvZGUgZm9yd19kZWNyeXB0IGZvcndfcXVvdGUKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGZvcndhcmRfZGVjb2RlIGZvcndhcmRfZGVjcnlwdCBmb3J3YXJkX3F1b3RlIGhkcnMgaGVhZGVyIGhlbHAgaGlkZGVuX2hvc3QKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGhpZGVfbGltaXRlZCBoaWRlX21pc3NpbmcgaGlkZV90b3BfbGltaXRlZCBoaWRlX3RvcF9taXNzaW5nIGlnbm9yZV9saXN0X3JlcGx5X3RvCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbWFwX2ZvcmNlX3NzbCBpbWFwX2xpc3Rfc3Vic2NyaWJlZCBpbWFwX3Bhc3NpdmUgaW1hcF9wZWVrIGltYXBfc2VydmVybm9pc2UKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGltcGxpY2l0X2F1dG92aWV3IGtlZXBfZmxhZ2dlZCBtYWlsY2FwX3Nhbml0aXplIG1haWxkaXJfdHJhc2ggbWFya19vbGQgbWFya2Vycworc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgbWVudV9zY3JvbGwgbWV0YV9rZXkgbWV0b28gbWhfcHVyZ2UgbWltZV9mb3J3YXJkX2RlY29kZSBwYWdlcl9zdG9wIHBncF9hdXRvZW5jcnlwdAorc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgcGdwX2F1dG9zaWduIHBncF9pZ25vcmVfc3Via2V5cyBwZ3BfbG9uZ19pZHMgcGdwX3JlcGx5ZW5jcnlwdCBwZ3BfcmVwbHlzaWduCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBwZ3BfcmVwbHlzaWduZW5jcnlwdGVkIHBncF9yZXRhaW5hYmxlX3NpZ3MgcGdwX3Nob3dfdW51c2FibGUgcGdwX3N0cmljdF9lbmMKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIHBpcGVfZGVjb2RlIHBpcGVfc3BsaXQgcG9wX2F1dGhfdHJ5X2FsbCBwb3BfbGFzdCBwcmludF9kZWNvZGUgcHJpbnRfc3BsaXQKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIHByb21wdF9hZnRlciByZWFkX29ubHkgcmVwbHlfc2VsZiByZXNvbHZlIHJldmVyc2VfYWxpYXMgcmV2ZXJzZV9uYW1lCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCByZXZlcnNlX3JlYWxuYW1lIHJmYzIwNDdfcGFyYW1ldGVycyBzYXZlX2FkZHJlc3Mgc2F2ZV9lbXB0eSBzYXZlX25hbWUgc2NvcmUKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIHNpZ19kYXNoZXMgc2lnX29uX3RvcCBzbWFydF93cmFwIHNvcnRfcmUgc3NsX3VzZV9zc2x2MiBzc2xfdXNlX3NzbHYzIHNzbF91c2VfdGxzdjEKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIHNzbF91c2VzeXN0ZW1jZXJ0cyBzdGF0dXNfb25fdG9wIHN0cmljdF90aHJlYWRzIHN1c3BlbmQgdGV4dF9mbG93ZWQgdGhvcm91Z2hfc2VhcmNoCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCB0aHJlYWRfcmVjZWl2ZWQgdGlsZGUgdW5jb2xsYXBzZV9qdW1wIHVzZV84Yml0bWltZSB1c2VfZG9tYWluIHVzZV9mcm9tIHVzZV9pcHY2CitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCB1c2VyX2FnZW50IHdhaXRfa2V5IHdlZWQgd3JhcF9zZWFyY2ggd3JpdGVfYmNjCisKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIG5vYWxsb3dfOGJpdCBub2FsbG93X2Fuc2kgbm9hcnJvd19jdXJzb3Igbm9hc2NpaV9jaGFycyBub2Fza2JjYyBub2Fza2NjCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub2F0dGFjaF9zcGxpdCBub2F1dG9fdGFnIG5vYXV0b2VkaXQgbm9iZWVwIG5vYmVlcF9uZXcgbm9ib3VuY2VfZGVsaXZlcmVkCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub2NoZWNrX25ldyBub2NvbGxhcHNlX3VucmVhZCBub2NvbmZpcm1hcHBlbmQgbm9jb25maXJtY3JlYXRlIG5vZGVsZXRlX3VudGFnCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub2RpZ2VzdF9jb2xsYXBzZSBub2R1cGxpY2F0ZV90aHJlYWRzIG5vZWRpdF9oZHJzIG5vZWRpdF9oZWFkZXJzIG5vZW5jb2RlX2Zyb20KK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIG5vZW52ZWxvcGVfZnJvbSBub2Zhc3RfcmVwbHkgbm9mY2NfYXR0YWNoIG5vZmNjX2NsZWFyIG5vZm9sbG93dXBfdG8gbm9mb3JjZV9uYW1lCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub2ZvcndfZGVjb2RlIG5vZm9yd19kZWNyeXB0IG5vZm9yd19xdW90ZSBub2ZvcndhcmRfZGVjb2RlIG5vZm9yd2FyZF9kZWNyeXB0CitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub2ZvcndhcmRfcXVvdGUgbm9oZHJzIG5vaGVhZGVyIG5vaGVscCBub2hpZGRlbl9ob3N0IG5vaGlkZV9saW1pdGVkIG5vaGlkZV9taXNzaW5nCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub2hpZGVfdG9wX2xpbWl0ZWQgbm9oaWRlX3RvcF9taXNzaW5nIG5vaWdub3JlX2xpc3RfcmVwbHlfdG8gbm9pbWFwX2ZvcmNlX3NzbAorc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgbm9pbWFwX2xpc3Rfc3Vic2NyaWJlZCBub2ltYXBfcGFzc2l2ZSBub2ltYXBfcGVlayBub2ltYXBfc2VydmVybm9pc2UKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIG5vaW1wbGljaXRfYXV0b3ZpZXcgbm9rZWVwX2ZsYWdnZWQgbm9tYWlsY2FwX3Nhbml0aXplIG5vbWFpbGRpcl90cmFzaCBub21hcmtfb2xkCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub21hcmtlcnMgbm9tZW51X3Njcm9sbCBub21ldGFfa2V5IG5vbWV0b28gbm9taF9wdXJnZSBub21pbWVfZm9yd2FyZF9kZWNvZGUKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIG5vcGFnZXJfc3RvcCBub3BncF9hdXRvZW5jcnlwdCBub3BncF9hdXRvc2lnbiBub3BncF9pZ25vcmVfc3Via2V5cyBub3BncF9sb25nX2lkcworc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgbm9wZ3BfcmVwbHllbmNyeXB0IG5vcGdwX3JlcGx5c2lnbiBub3BncF9yZXBseXNpZ25lbmNyeXB0ZWQgbm9wZ3BfcmV0YWluYWJsZV9zaWdzCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub3BncF9zaG93X3VudXNhYmxlIG5vcGdwX3N0cmljdF9lbmMgbm9waXBlX2RlY29kZSBub3BpcGVfc3BsaXQgbm9wb3BfYXV0aF90cnlfYWxsCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub3BvcF9sYXN0IG5vcHJpbnRfZGVjb2RlIG5vcHJpbnRfc3BsaXQgbm9wcm9tcHRfYWZ0ZXIgbm9yZWFkX29ubHkgbm9yZXBseV9zZWxmCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBub3Jlc29sdmUgbm9yZXZlcnNlX2FsaWFzIG5vcmV2ZXJzZV9uYW1lIG5vcmV2ZXJzZV9yZWFsbmFtZSBub3JmYzIwNDdfcGFyYW1ldGVycworc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgbm9zYXZlX2FkZHJlc3Mgbm9zYXZlX2VtcHR5IG5vc2F2ZV9uYW1lIG5vc2NvcmUgbm9zaWdfZGFzaGVzIG5vc2lnX29uX3RvcAorc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgbm9zbWFydF93cmFwIG5vc29ydF9yZSBub3NzbF91c2Vfc3NsdjIgbm9zc2xfdXNlX3NzbHYzIG5vc3NsX3VzZV90bHN2MQorc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgbm9zc2xfdXNlc3lzdGVtY2VydHMgbm9zdGF0dXNfb25fdG9wIG5vc3RyaWN0X3RocmVhZHMgbm9zdXNwZW5kIG5vdGV4dF9mbG93ZWQKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIG5vdGhvcm91Z2hfc2VhcmNoIG5vdGhyZWFkX3JlY2VpdmVkIG5vdGlsZGUgbm91bmNvbGxhcHNlX2p1bXAgbm91c2VfOGJpdG1pbWUKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIG5vdXNlX2RvbWFpbiBub3VzZV9mcm9tIG5vdXNlX2lwdjYgbm91c2VyX2FnZW50IG5vd2FpdF9rZXkgbm93ZWVkIG5vd3JhcF9zZWFyY2gKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIG5vd3JpdGVfYmNjCisKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGludmFsbG93XzhiaXQgaW52YWxsb3dfYW5zaSBpbnZhcnJvd19jdXJzb3IgaW52YXNjaWlfY2hhcnMgaW52YXNrYmNjIGludmFza2NjCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZhdHRhY2hfc3BsaXQgaW52YXV0b190YWcgaW52YXV0b2VkaXQgaW52YmVlcCBpbnZiZWVwX25ldyBpbnZib3VuY2VfZGVsaXZlcmVkCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZjaGVja19uZXcgaW52Y29sbGFwc2VfdW5yZWFkIGludmNvbmZpcm1hcHBlbmQgaW52Y29uZmlybWNyZWF0ZSBpbnZkZWxldGVfdW50YWcKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGludmRpZ2VzdF9jb2xsYXBzZSBpbnZkdXBsaWNhdGVfdGhyZWFkcyBpbnZlZGl0X2hkcnMgaW52ZWRpdF9oZWFkZXJzIGludmVuY29kZV9mcm9tCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZlbnZlbG9wZV9mcm9tIGludmZhc3RfcmVwbHkgaW52ZmNjX2F0dGFjaCBpbnZmY2NfY2xlYXIgaW52Zm9sbG93dXBfdG8gaW52Zm9yY2VfbmFtZQorc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgaW52Zm9yd19kZWNvZGUgaW52Zm9yd19kZWNyeXB0IGludmZvcndfcXVvdGUgaW52Zm9yd2FyZF9kZWNvZGUgaW52Zm9yd2FyZF9kZWNyeXB0CitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZmb3J3YXJkX3F1b3RlIGludmhkcnMgaW52aGVhZGVyIGludmhlbHAgaW52aGlkZGVuX2hvc3QgaW52aGlkZV9saW1pdGVkCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZoaWRlX21pc3NpbmcgaW52aGlkZV90b3BfbGltaXRlZCBpbnZoaWRlX3RvcF9taXNzaW5nIGludmlnbm9yZV9saXN0X3JlcGx5X3RvCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZpbWFwX2ZvcmNlX3NzbCBpbnZpbWFwX2xpc3Rfc3Vic2NyaWJlZCBpbnZpbWFwX3Bhc3NpdmUgaW52aW1hcF9wZWVrCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZpbWFwX3NlcnZlcm5vaXNlIGludmltcGxpY2l0X2F1dG92aWV3IGludmtlZXBfZmxhZ2dlZCBpbnZtYWlsY2FwX3Nhbml0aXplCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZtYWlsZGlyX3RyYXNoIGludm1hcmtfb2xkIGludm1hcmtlcnMgaW52bWVudV9zY3JvbGwgaW52bWV0YV9rZXkgaW52bWV0b28KK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGludm1oX3B1cmdlIGludm1pbWVfZm9yd2FyZF9kZWNvZGUgaW52cGFnZXJfc3RvcCBpbnZwZ3BfYXV0b2VuY3J5cHQgaW52cGdwX2F1dG9zaWduCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZwZ3BfaWdub3JlX3N1YmtleXMgaW52cGdwX2xvbmdfaWRzIGludnBncF9yZXBseWVuY3J5cHQgaW52cGdwX3JlcGx5c2lnbgorc3luIGtleXdvcmQgbXV0dHJjVmFyQm9vbAljb250YWluZWQgaW52cGdwX3JlcGx5c2lnbmVuY3J5cHRlZCBpbnZwZ3BfcmV0YWluYWJsZV9zaWdzIGludnBncF9zaG93X3VudXNhYmxlIGludnBncF9zdHJpY3RfZW5jCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZwaXBlX2RlY29kZSBpbnZwaXBlX3NwbGl0IGludnBvcF9hdXRoX3RyeV9hbGwgaW52cG9wX2xhc3QgaW52cHJpbnRfZGVjb2RlCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZwcmludF9zcGxpdCBpbnZwcm9tcHRfYWZ0ZXIgaW52cmVhZF9vbmx5IGludnJlcGx5X3NlbGYgaW52cmVzb2x2ZSBpbnZyZXZlcnNlX2FsaWFzCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZyZXZlcnNlX25hbWUgaW52cmV2ZXJzZV9yZWFsbmFtZSBpbnZyZmMyMDQ3X3BhcmFtZXRlcnMgaW52c2F2ZV9hZGRyZXNzIGludnNhdmVfZW1wdHkKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGludnNhdmVfbmFtZSBpbnZzY29yZSBpbnZzaWdfZGFzaGVzIGludnNpZ19vbl90b3AgaW52c21hcnRfd3JhcCBpbnZzb3J0X3JlCitzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBpbnZzc2xfdXNlX3NzbHYyIGludnNzbF91c2Vfc3NsdjMgaW52c3NsX3VzZV90bHN2MSBpbnZzc2xfdXNlc3lzdGVtY2VydHMKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGludnN0YXR1c19vbl90b3AgaW52c3RyaWN0X3RocmVhZHMgaW52c3VzcGVuZCBpbnZ0ZXh0X2Zsb3dlZCBpbnZ0aG9yb3VnaF9zZWFyY2gKK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGludnRocmVhZF9yZWNlaXZlZCBpbnZ0aWxkZSBpbnZ1bmNvbGxhcHNlX2p1bXAgaW52dXNlXzhiaXRtaW1lIGludnVzZV9kb21haW4gaW52dXNlX2Zyb20KK3N5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGludnVzZV9pcHY2IGludnVzZXJfYWdlbnQgaW52d2FpdF9rZXkgaW52d2VlZCBpbnZ3cmFwX3NlYXJjaCBpbnZ3cml0ZV9iY2MKKworc3luIGtleXdvcmQgbXV0dHJjVmFyUXVhZAljb250YWluZWQgYWJvcnRfbm9zdWJqZWN0IGFib3J0X3VubW9kaWZpZWQgY29weSBkZWxldGUgaG9ub3JfZm9sbG93dXBfdG8gaW5jbHVkZSBtaW1lX2ZvcndhcmQKK3N5biBrZXl3b3JkIG11dHRyY1ZhclF1YWQJY29udGFpbmVkIG1pbWVfZm9yd2FyZF9yZXN0IG1pbWVfZndkIG1vdmUgcGdwX2NyZWF0ZV90cmFkaXRpb25hbCBwZ3BfdmVyaWZ5X3NpZyBwb3BfZGVsZXRlCitzeW4ga2V5d29yZCBtdXR0cmNWYXJRdWFkCWNvbnRhaW5lZCBwb3BfcmVjb25uZWN0IHBvc3Rwb25lIHByaW50IHF1aXQgcmVjYWxsIHJlcGx5X3RvIHNzbF9zdGFydHRscworCitzeW4ga2V5d29yZCBtdXR0cmNWYXJRdWFkCWNvbnRhaW5lZCBub2Fib3J0X25vc3ViamVjdCBub2Fib3J0X3VubW9kaWZpZWQgbm9jb3B5IG5vZGVsZXRlIG5vaG9ub3JfZm9sbG93dXBfdG8KK3N5biBrZXl3b3JkIG11dHRyY1ZhclF1YWQJY29udGFpbmVkIG5vaW5jbHVkZSBub21pbWVfZm9yd2FyZCBub2NvbnRhaW5lZCBub21pbWVfZm9yd2FyZF9yZXN0IG5vbWltZV9md2Qgbm9tb3ZlCitzeW4ga2V5d29yZCBtdXR0cmNWYXJRdWFkCWNvbnRhaW5lZCBub3BncF9jcmVhdGVfdHJhZGl0aW9uYWwgbm9wZ3BfdmVyaWZ5X3NpZyBub3BvcF9kZWxldGUgbm9wb3BfcmVjb25uZWN0CitzeW4ga2V5d29yZCBtdXR0cmNWYXJRdWFkCWNvbnRhaW5lZCBub3Bvc3Rwb25lIG5vcHJpbnQgbm9xdWl0IG5vcmVjYWxsIG5vcmVwbHlfdG8gbm9zc2xfc3RhcnR0bHMKKworc3luIGtleXdvcmQgbXV0dHJjVmFyUXVhZAljb250YWluZWQgaW52YWJvcnRfbm9zdWJqZWN0IGludmFib3J0X3VubW9kaWZpZWQgaW52Y29weSBpbnZkZWxldGUgaW52aG9ub3JfZm9sbG93dXBfdG8KK3N5biBrZXl3b3JkIG11dHRyY1ZhclF1YWQJY29udGFpbmVkIGludmluY2x1ZGUgaW52bWltZV9mb3J3YXJkIGludmNvbnRhaW5lZCBpbnZtaW1lX2ZvcndhcmRfcmVzdCBpbnZtaW1lX2Z3ZCBpbnZtb3ZlCitzeW4ga2V5d29yZCBtdXR0cmNWYXJRdWFkCWNvbnRhaW5lZCBpbnZwZ3BfY3JlYXRlX3RyYWRpdGlvbmFsIGludnBncF92ZXJpZnlfc2lnIGludnBvcF9kZWxldGUgaW52cG9wX3JlY29ubmVjdAorc3luIGtleXdvcmQgbXV0dHJjVmFyUXVhZAljb250YWluZWQgaW52cG9zdHBvbmUgaW52cHJpbnQgaW52cXVpdCBpbnZyZWNhbGwgaW52cmVwbHlfdG8gaW52c3NsX3N0YXJ0dGxzCisKK3N5biBrZXl3b3JkIG11dHRyY1Zhck51bQljb250YWluZWQgY29ubmVjdF90aW1lb3V0IGhpc3RvcnkgaW1hcF9rZWVwYWxpdmUgbWFpbF9jaGVjayBwYWdlcl9jb250ZXh0IHBhZ2VyX2luZGV4X2xpbmVzCitzeW4ga2V5d29yZCBtdXR0cmNWYXJOdW0JY29udGFpbmVkIHBncF90aW1lb3V0IHBvcF9jaGVja2ludGVydmFsIHJlYWRfaW5jIHNjb3JlX3RocmVzaG9sZF9kZWxldGUgc2NvcmVfdGhyZXNob2xkX2ZsYWcKK3N5biBrZXl3b3JkIG11dHRyY1Zhck51bQljb250YWluZWQgc2NvcmVfdGhyZXNob2xkX3JlYWQgc2VuZG1haWxfd2FpdCBzbGVlcF90aW1lIHRpbWVvdXQgd3JhcG1hcmdpbiB3cml0ZV9pbmMKKworc3luIGtleXdvcmQgbXV0dHJjVmFyU3RyCWNvbnRhaW5lZCBhbGlhc19maWxlIGFsaWFzX2Zvcm1hdCBhbHRlcm5hdGVzIGF0dGFjaF9mb3JtYXQgYXR0YWNoX3NlcCBhdHRyaWJ1dGlvbiBjZXJ0aWZpY2F0ZV9maWxlCitzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIGNoYXJzZXQgY29tcG9zZV9mb3JtYXQgZGF0ZV9mb3JtYXQgZGVmYXVsdF9ob29rIGRpc3BsYXlfZmlsdGVyIGRvdGxvY2tfcHJvZ3JhbSBkc25fbm90aWZ5CitzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIGRzbl9yZXR1cm4gZWRpdG9yIGVudHJvcHlfZmlsZSBlc2NhcGUgZm9sZGVyIGZvbGRlcl9mb3JtYXQgZm9yd19mb3JtYXQgZm9yd2FyZF9mb3JtYXQKK3N5biBrZXl3b3JkIG11dHRyY1ZhclN0cgljb250YWluZWQgZnJvbSBnZWNvc19tYXNrIGhkcl9mb3JtYXQgaG9zdG5hbWUgaW1hcF9hdXRoZW50aWNhdG9ycyBpbWFwX2RlbGltX2NoYXJzCitzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIGltYXBfaG9tZV9uYW1lc3BhY2UgaW1hcF9wYXNzIGltYXBfdXNlciBpbmRlbnRfc3RyIGluZGVudF9zdHJpbmcgaW5kZXhfZm9ybWF0IGlzcGVsbAorc3luIGtleXdvcmQgbXV0dHJjVmFyU3RyCWNvbnRhaW5lZCBsb2NhbGUgbWFpbGNhcF9wYXRoIG1hc2sgbWJveCBtYm94X3R5cGUgbWVzc2FnZV9mb3JtYXQgbWhfc2VxX2ZsYWdnZWQgbWhfc2VxX3JlcGxpZWQKK3N5biBrZXl3b3JkIG11dHRyY1ZhclN0cgljb250YWluZWQgbWhfc2VxX3Vuc2VlbiBtaXhfZW50cnlfZm9ybWF0IG1peG1hc3RlciBtc2dfZm9ybWF0IHBhZ2VyIHBhZ2VyX2Zvcm1hdAorc3luIGtleXdvcmQgbXV0dHJjVmFyU3RyCWNvbnRhaW5lZCBwZ3BfY2xlYXJzaWduX2NvbW1hbmQgcGdwX2RlY29kZV9jb21tYW5kIHBncF9kZWNyeXB0X2NvbW1hbmQgcGdwX2VuY3J5cHRfb25seV9jb21tYW5kCitzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHBncF9lbmNyeXB0X3NpZ25fY29tbWFuZCBwZ3BfZW50cnlfZm9ybWF0IHBncF9leHBvcnRfY29tbWFuZCBwZ3BfZ2V0a2V5c19jb21tYW5kCitzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHBncF9nb29kX3NpZ24gcGdwX2ltcG9ydF9jb21tYW5kIHBncF9saXN0X3B1YnJpbmdfY29tbWFuZCBwZ3BfbGlzdF9zZWNyaW5nX2NvbW1hbmQKK3N5biBrZXl3b3JkIG11dHRyY1ZhclN0cgljb250YWluZWQgcGdwX3NpZ25fYXMgcGdwX3NpZ25fY29tbWFuZCBwZ3Bfc29ydF9rZXlzIHBncF92ZXJpZnlfY29tbWFuZCBwZ3BfdmVyaWZ5X2tleV9jb21tYW5kCitzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHBpcGVfc2VwIHBvcF9hdXRoZW50aWNhdG9ycyBwb3BfaG9zdCBwb3BfcGFzcyBwb3BfdXNlciBwb3N0X2luZGVudF9zdHIgcG9zdF9pbmRlbnRfc3RyaW5nCitzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHBvc3Rwb25lZCBwcmVjb25uZWN0IHByaW50X2NtZCBwcmludF9jb21tYW5kIHF1ZXJ5X2NvbW1hbmQgcXVvdGVfcmVnZXhwIHJlYWxuYW1lIHJlY29yZAorc3luIGtleXdvcmQgbXV0dHJjVmFyU3RyCWNvbnRhaW5lZCByZXBseV9yZWdleHAgc2VuZF9jaGFyc2V0IHNlbmRtYWlsIHNoZWxsIHNpZ25hdHVyZSBzaW1wbGVfc2VhcmNoIHNtaWxleXMgc29ydCBzb3J0X2FsaWFzCitzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHNvcnRfYXV4IHNvcnRfYnJvd3NlciBzcG9vbGZpbGUgc3RhdHVzX2NoYXJzIHN0YXR1c19mb3JtYXQgdG1wZGlyIHRvX2NoYXJzIHR1bm5lbCB2aXN1YWwKKworc3luIGtleXdvcmQgbXV0dHJjTWVudQkJY29udGFpbmVkIGFsaWFzIGF0dGFjaCBicm93c2VyIGNvbXBvc2UgZWRpdG9yIGluZGV4IHBhZ2VyIHBvc3Rwb25lIHBncCBtaXggcXVlcnkgZ2VuZXJpYworCitzeW4ga2V5d29yZCBtdXR0cmNDb21tYW5kCWFjY291bnQtaG9vayBhdXRvX3ZpZXcgYWx0ZXJuYXRpdmVfb3JkZXIgY2hhcnNldC1ob29rIHVuY29sb3IgZXhlYyBmY2MtaG9vayBmY2Mtc2F2ZS1ob29rCitzeW4ga2V5d29yZCBtdXR0cmNDb21tYW5kCWZvbGRlci1ob29rIGhkcl9vcmRlciBpY29udi1ob29rIGlnbm9yZSBsaXN0cyBtYWlsYm94ZXMgbWVzc2FnZS1ob29rIG1ib3gtaG9vayBteV9oZHIKK3N5biBrZXl3b3JkIG11dHRyY0NvbW1hbmQJcGdwLWhvb2sgcHVzaCBzYXZlLWhvb2sgc2NvcmUgc2VuZC1ob29rIHNvdXJjZSBzdWJzY3JpYmUgdW5hbGlhcyB1bmF1dG9fdmlldyB1bmhkcl9vcmRlcgorc3luIGtleXdvcmQgbXV0dHJjQ29tbWFuZAl1bmhvb2sgdW5pZ25vcmUgdW5saXN0cyB1bm1vbm8gdW5teV9oZHIgdW5zY29yZSB1bnN1YnNjcmliZQorCitzeW4ga2V5d29yZCBtdXR0cmNTZXQJCXNldCAgICAgc2tpcHdoaXRlIG5leHRncm91cD1tdXR0cmNWYXIuKgorc3luIGtleXdvcmQgbXV0dHJjVW5zZXQJCXVuc2V0ICAgc2tpcHdoaXRlIG5leHRncm91cD1tdXR0cmNWYXIuKgorc3luIGtleXdvcmQgbXV0dHJjUmVzZXQJCXJlc2V0ICAgc2tpcHdoaXRlIG5leHRncm91cD1tdXR0cmNWYXIuKgorc3luIGtleXdvcmQgbXV0dHJjVG9nZ2xlCXRvZ2dsZSAgc2tpcHdoaXRlIG5leHRncm91cD1tdXR0cmNWYXIuKgorCitzeW4ga2V5d29yZCBtdXR0cmNCaW5kCQljb250YWluZWQgYmluZAkJc2tpcHdoaXRlIG5leHRncm91cD1tdXR0cmNNZW51CitzeW4gbWF0Y2ggICBtdXR0cmNCaW5kTGluZQkiXlxzKmJpbmRcc1wrXFNcKyIJc2tpcHdoaXRlIG5leHRncm91cD1tdXR0cmNLZXlcKE5hbWVcKVw9IGNvbnRhaW5zPW11dHRyY0JpbmQKKworc3luIGtleXdvcmQgbXV0dHJjTWFjcm8JCWNvbnRhaW5lZCBtYWNybwkJc2tpcHdoaXRlIG5leHRncm91cD1tdXR0cmNNZW51CitzeW4gbWF0Y2ggICBtdXR0cmNNYWNyb0xpbmUJIl5ccyptYWNyb1xzXCtcU1wrIglza2lwd2hpdGUgbmV4dGdyb3VwPW11dHRyY0tleVwoTmFtZVwpXD0gY29udGFpbnM9bXV0dHJjTWFjcm8KKworc3luIGtleXdvcmQgbXV0dHJjQWxpYXMJCWNvbnRhaW5lZCBhbGlhcworc3luIG1hdGNoICAgbXV0dHJjQWxpYXNMaW5lCSJeXHMqYWxpYXNcc1wrXFNcKyIgY29udGFpbnM9bXV0dHJjQWxpYXMKKworIiBDb2xvdXIgZGVmaW5pdGlvbnMgdGFrZXMgb2JqZWN0LCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGFyZ3VtZW50cyAocmVnZXhwcyBleGNsdWRlZCkuCitzeW4ga2V5d29yZCBtdXR0cmNDb2xvckZpZWxkCWNvbnRhaW5lZCBhdHRhY2htZW50IGJvZHkgYm9sZCBlcnJvciBoZHJkZWZhdWx0IGhlYWRlciBpbmRleAorc3luIGtleXdvcmQgbXV0dHJjQ29sb3JGaWVsZAljb250YWluZWQgaW5kaWNhdG9yIG1hcmtlcnMgbWVzc2FnZSBub3JtYWwgcXVvdGVkIHNlYXJjaCBzaWduYXR1cmUKK3N5biBrZXl3b3JkIG11dHRyY0NvbG9yRmllbGQJY29udGFpbmVkIHN0YXR1cyB0aWxkZSB0cmVlIHVuZGVybGluZQorc3luIG1hdGNoICAgbXV0dHJjQ29sb3JGaWVsZAljb250YWluZWQgIlw8cXVvdGVkXGRcPVw+Igorc3luIGtleXdvcmQgbXV0dHJjQ29sb3JGRwljb250YWluZWQgYmxhY2sgYmx1ZSBjeWFuIGRlZmF1bHQgZ3JlZW4gbWFnZW50YSByZWQgd2hpdGUgeWVsbG93CitzeW4ga2V5d29yZCBtdXR0cmNDb2xvckZHCWNvbnRhaW5lZCBicmlnaHRibGFjayBicmlnaHRibHVlIGJyaWdodGN5YW4gYnJpZ2h0ZGVmYXVsdCBicmlnaHRncmVlbgorc3luIGtleXdvcmQgbXV0dHJjQ29sb3JGRwljb250YWluZWQgYnJpZ2h0bWFnZW50YSBicmlnaHRyZWQgYnJpZ2h0d2hpdGUgYnJpZ2h0eWVsbG93CitzeW4gbWF0Y2ggICBtdXR0cmNDb2xvckZHCWNvbnRhaW5lZCAiXDxcKGJyaWdodFwpXD1jb2xvclxkXHsxLDJ9XD4iCitzeW4ga2V5d29yZCBtdXR0cmNDb2xvckJHCWNvbnRhaW5lZCBibGFjayBibHVlIGN5YW4gZGVmYXVsdCBncmVlbiBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3cKK3N5biBtYXRjaCAgIG11dHRyY0NvbG9yQkcJY29udGFpbmVkICJcPGNvbG9yXGRcezEsMn1cPiIKKyIgTm93IGZvciB0aGUgbWF0Y2gKK3N5biBrZXl3b3JkIG11dHRyY0NvbG9yCQljb250YWluZWQgY29sb3IJCQlza2lwd2hpdGUgbmV4dGdyb3VwPW11dHRyY0NvbG9yRmllbGQKK3N5biBtYXRjaCAgIG11dHRyY0NvbG9ySW5pdAljb250YWluZWQgIl5ccypjb2xvclxzXCtcU1wrIglza2lwd2hpdGUgbmV4dGdyb3VwPW11dHRyY0NvbG9yRkcgY29udGFpbnM9bXV0dHJjQ29sb3IKK3N5biBtYXRjaCAgIG11dHRyY0NvbG9yTGluZQkiXlxzKmNvbG9yXHNcK1xTXCtcc1wrXFMiCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bXV0dHJjQ29sb3JCRyBjb250YWlucz1tdXR0cmNDb2xvckluaXQKKworIiBNb25vIGFyZSBhbG1vc3QgbGlrZSBjb2xvciAob2plY3RzIGluaGVyaXRlZCBmcm9tIGNvbG9yKQorc3luIGtleXdvcmQgbXV0dHJjTW9ub0F0dHJpYgljb250YWluZWQgYm9sZCBub25lIG5vcm1hbCByZXZlcnNlIHN0YW5kb3V0IHVuZGVybGluZQorc3luIGtleXdvcmQgbXV0dHJjTW9ubwkJY29udGFpbmVkIG1vbm8JCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bXV0dHJjQ29sb3JGaWVsZAorc3luIG1hdGNoICAgbXV0dHJjTW9ub0xpbmUJIl5ccyptb25vXHNcK1xTXCsiCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bXV0dHJjTW9ub0F0dHJpYiBjb250YWlucz1tdXR0cmNNb25vCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX211dHRyY19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tdXR0cmNfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgbXV0dHJjQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbXV0dHJjRXNjYXBlCQlTcGVjaWFsQ2hhcgorICBIaUxpbmsgbXV0dHJjU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIG11dHRyY1NwZWNpYWwJCVNwZWNpYWwKKyAgSGlMaW5rIG11dHRyY051bWJlcgkJTnVtYmVyCisgIEhpTGluayBtdXR0cmNRdWFkb3B0CQlCb29sZWFuCisgIEhpTGluayBtdXR0cmNFbWFpbAkJU3BlY2lhbAorICBIaUxpbmsgbXV0dHJjSGVhZGVyCQlUeXBlCisgIEhpTGluayBtdXR0cmNLZXlTcGVjaWFsCVNwZWNpYWxDaGFyCisgIEhpTGluayBtdXR0cmNLZXkJCVR5cGUKKyAgSGlMaW5rIG11dHRyY0tleU5hbWUJCU1hY3JvCisgIEhpTGluayBtdXR0cmNWYXJCb29sCQlJZGVudGlmaWVyCisgIEhpTGluayBtdXR0cmNWYXJRdWFkCQlJZGVudGlmaWVyCisgIEhpTGluayBtdXR0cmNWYXJOdW0JCUlkZW50aWZpZXIKKyAgSGlMaW5rIG11dHRyY1ZhclN0cgkJSWRlbnRpZmllcgorICBIaUxpbmsgbXV0dHJjTWVudQkJSWRlbnRpZmllcgorICBIaUxpbmsgbXV0dHJjQ29tbWFuZAkJS2V5d29yZAorICBIaUxpbmsgbXV0dHJjU2V0CQltdXR0cmNDb21tYW5kCisgIEhpTGluayBtdXR0cmNVbnNldAkJbXV0dHJjQ29tbWFuZAorICBIaUxpbmsgbXV0dHJjUmVzZXQJCW11dHRyY0NvbW1hbmQKKyAgSGlMaW5rIG11dHRyY1RvZ2dsZQkJbXV0dHJjQ29tbWFuZAorICBIaUxpbmsgbXV0dHJjQmluZAkJbXV0dHJjQ29tbWFuZAorICBIaUxpbmsgbXV0dHJjTWFjcm8JCW11dHRyY0NvbW1hbmQKKyAgSGlMaW5rIG11dHRyY0FsaWFzCQltdXR0cmNDb21tYW5kCisgIEhpTGluayBtdXR0cmNBbGlhc0xpbmUJSWRlbnRpZmllcgorICBIaUxpbmsgbXV0dHJjQ29sb3JGaWVsZAlJZGVudGlmaWVyCisgIEhpTGluayBtdXR0cmNDb2xvckZHCQlTdHJpbmcKKyAgSGlMaW5rIG11dHRyY0NvbG9yQkcJCW11dHRyY0NvbG9yRkcKKyAgSGlMaW5rIG11dHRyY0NvbG9yCQltdXR0cmNDb21tYW5kCisgIEhpTGluayBtdXR0cmNNb25vQXR0cmliCW11dHRyY0NvbG9yRkcKKyAgSGlMaW5rIG11dHRyY01vbm8JCW11dHRyY0NvbW1hbmQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibXV0dHJjIgorCisiRU9GCXZpbTogdHM9OCBub2V0IHR3PTEwMCBzdz04IHN0cz0wCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9teXNxbC52aW0gYi9ydW50aW1lL3N5bnRheC9teXNxbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhiOGU5ZAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L215c3FsLnZpbQpAQCAtMCwwICsxLDI5NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBteXNxbAorIiBNYWludGFpbmVyOiAgIEtlbm5ldGggSi4gUHJvbm92aWNpIDxwcm9ub3ZpY0BpZWVlLm9yZz4KKyIgTGFzdCBDaGFuZ2U6ICAkRGF0ZSQKKyIgRmlsZW5hbWVzOiAgICAqLm15c3FsCisiIFVSTDoJCWZ0cDovL2NlZGFyLXNvbHV0aW9ucy5jb20vc29mdHdhcmUvbXlzcWwudmltCisiIE5vdGU6CQlUaGUgZGVmaW5pdGlvbnMgYmVsb3cgYXJlIHRha2VuIGZyb20gdGhlIG15c3FsIHVzZXIgbWFudWFsIGFzIG9mIEFwcmlsIDIwMDIsIGZvciB2ZXJzaW9uIDMuMjMKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEFsd2F5cyBpZ25vcmUgY2FzZQorc3luIGNhc2UgaWdub3JlCisKKyIgR2VuZXJhbCBrZXl3b3JkcyB3aGljaCBkb24ndCBmYWxsIGludG8gb3RoZXIgY2F0ZWdvcmllcworc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSBhY3Rpb24gYWRkIGFmdGVyIGFnZ3JlZ2F0ZSBhbGwgYWx0ZXIgYXMgYXNjIGF1dG9faW5jcmVtZW50IGF2ZyBhdmdfcm93X2xlbmd0aAorc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSBib3RoIGJ5CitzeW4ga2V5d29yZCBteXNxbEtleXdvcmQJIGNhc2NhZGUgY2hhbmdlIGNoYXJhY3RlciBjaGVjayBjaGVja3N1bSBjb2x1bW4gY29sdW1ucyBjb21tZW50IGNvbnN0cmFpbnQgY3JlYXRlIGNyb3NzCitzeW4ga2V5d29yZCBteXNxbEtleXdvcmQJIGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAKK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkgZGF0YSBkYXRhYmFzZSBkYXRhYmFzZXMgZGF5IGRheV9ob3VyIGRheV9taW51dGUgZGF5X3NlY29uZAorc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSBkZWZhdWx0IGRlbGF5ZWQgZGVsYXlfa2V5X3dyaXRlIGRlbGV0ZSBkZXNjIGRlc2NyaWJlIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRyb3AKK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkgZW5jbG9zZWQgZXNjYXBlIGVzY2FwZWQgZXhwbGFpbgorc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSBmaWVsZHMgZmlsZSBmaXJzdCBmbHVzaCBmb3IgZm9yZWlnbiBmcm9tIGZ1bGwgZnVuY3Rpb24KK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkgZ2xvYmFsIGdyYW50IGdyYW50cyBncm91cAorc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSBoYXZpbmcgaGVhcCBoaWdoX3ByaW9yaXR5IGhvc3RzIGhvdXIgaG91cl9taW51dGUgaG91cl9zZWNvbmQKK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkgaWRlbnRpZmllZCBpZ25vcmUgaW5kZXggaW5maWxlIGlubmVyIGluc2VydCBpbnNlcnRfaWQgaW50byBpc2FtCitzeW4ga2V5d29yZCBteXNxbEtleXdvcmQJIGpvaW4KK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkga2V5IGtleXMga2lsbCBsYXN0X2luc2VydF9pZCBsZWFkaW5nIGxlZnQgbGltaXQgbGluZXMgbG9hZCBsb2NhbCBsb2NrIGxvZ3MgbG9uZworc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSBsb3dfcHJpb3JpdHkKK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkgbWF0Y2ggbWF4X3Jvd3MgbWlkZGxlaW50IG1pbl9yb3dzIG1pbnV0ZSBtaW51dGVfc2Vjb25kIG1vZGlmeSBtb250aCBteWlzYW0KK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkgbmF0dXJhbCBubworc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSBvbiBvcHRpbWl6ZSBvcHRpb24gb3B0aW9uYWxseSBvcmRlciBvdXRlciBvdXRmaWxlCitzeW4ga2V5d29yZCBteXNxbEtleXdvcmQJIHBhY2tfa2V5cyBwYXJ0aWFsIHBhc3N3b3JkIHByaW1hcnkgcHJpdmlsZWdlcyBwcm9jZWR1cmUgcHJvY2VzcyBwcm9jZXNzbGlzdAorc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSByZWFkIHJlZmVyZW5jZXMgcmVsb2FkIHJlbmFtZSByZXBsYWNlIHJlc3RyaWN0IHJldHVybnMgcmV2b2tlIHJvdyByb3dzCitzeW4ga2V5d29yZCBteXNxbEtleXdvcmQJIHNlY29uZCBzZWxlY3Qgc2hvdyBzaHV0ZG93biBzb25hbWUgc3FsX2JpZ19yZXN1bHQgc3FsX2JpZ19zZWxlY3RzIHNxbF9iaWdfdGFibGVzIHNxbF9sb2dfb2ZmCitzeW4ga2V5d29yZCBteXNxbEtleXdvcmQJIHNxbF9sb2dfdXBkYXRlIHNxbF9sb3dfcHJpb3JpdHlfdXBkYXRlcyBzcWxfc2VsZWN0X2xpbWl0IHNxbF9zbWFsbF9yZXN1bHQgc3FsX3dhcm5pbmdzIHN0YXJ0aW5nCitzeW4ga2V5d29yZCBteXNxbEtleXdvcmQJIHN0YXR1cyBzdHJhaWdodF9qb2luIHN0cmluZworc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSB0YWJsZSB0YWJsZXMgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdG8gdHJhaWxpbmcgdHlwZQorc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSB1bmlxdWUgdW5sb2NrIHVuc2lnbmVkIHVwZGF0ZSB1c2FnZSB1c2UgdXNpbmcKK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkgdmFsdWVzIHZhcmJpbmFyeSB2YXJpYWJsZXMgdmFyeWluZworc3luIGtleXdvcmQgbXlzcWxLZXl3b3JkCSB3aGVyZSB3aXRoIHdyaXRlCitzeW4ga2V5d29yZCBteXNxbEtleXdvcmQJIHllYXJfbW9udGgKK3N5biBrZXl3b3JkIG15c3FsS2V5d29yZAkgemVyb2ZpbGwKKworIiBTcGVjaWFsIHZhbHVlcworc3luIGtleXdvcmQgbXlzcWxTcGVjaWFsCSBmYWxzZSBudWxsIHRydWUKKworIiBTdHJpbmdzIChzaW5nbGUtIGFuZCBkb3VibGUtcXVvdGUpCitzeW4gcmVnaW9uIG15c3FsU3RyaW5nCQkgc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrCitzeW4gcmVnaW9uIG15c3FsU3RyaW5nCQkgc3RhcnQ9KycrICBza2lwPStcXFxcXHxcXCcrICBlbmQ9KycrCisKKyIgTnVtYmVycyBhbmQgaGV4aWRlY2ltYWwgdmFsdWVzCitzeW4gbWF0Y2ggbXlzcWxOdW1iZXIJCSAiLVw9XDxbMC05XSpcPiIKK3N5biBtYXRjaCBteXNxbE51bWJlcgkJICItXD1cPFswLTldKlwuWzAtOV0qXD4iCitzeW4gbWF0Y2ggbXlzcWxOdW1iZXIJCSAiLVw9XDxbMC05XSplWystXVw9WzAtOV0qXD4iCitzeW4gbWF0Y2ggbXlzcWxOdW1iZXIJCSAiLVw9XDxbMC05XSpcLlswLTldKmVbKy1dXD1bMC05XSpcPiIKK3N5biBtYXRjaCBteXNxbE51bWJlcgkJICJcPDB4W2FiY2RlZkFCQ0RFRjAtOV0qXD4iCisKKyIgVXNlciB2YXJpYWJsZXMKK3N5biBtYXRjaCBteXNxbFZhcmlhYmxlCQkgIkBcYSpbQS1aYS16MC05XSpbLl9dKltBLVphLXowLTldKiIKKworIiBDb21tZW50cyAoYy1zdHlsZSwgbXlzcWwtc3R5bGUgYW5kIG1vZGlmaWVkIHNxbC1zdHlsZSkKK3N5biByZWdpb24gbXlzcWxDb21tZW50CQkgc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIgorc3luIG1hdGNoIG15c3FsQ29tbWVudAkJICIjLioiCitzeW4gbWF0Y2ggbXlzcWxDb21tZW50CQkgIi0tIC4qIgorc3luIHN5bmMgY2NvbW1lbnQgbXlzcWxDb21tZW50CisKKyIgQ29sdW1uIHR5cGVzCisiCisiIFRoaXMgZ2V0cyBhIGJpdCB1Z2x5LiAgVGhlcmUgYXJlIHR3byBkaWZmZXJlbnQgcHJvYmxlbXMgd2UgaGF2ZSB0bworIiBkZWFsIHdpdGguCisiCisiIFRoZSBmaXJzdCBwcm9ibGVtIGlzIHRoYXQgc29tZSBrZXl3b2FyZHMgbGlrZSAnZmxvYXQnIGNhbiBiZSB1c2VkCisiIGJvdGggd2l0aCBhbmQgd2l0aG91dCBzcGVjaWZpZXJzLCBpLmUuICdmbG9hdCcsICdmbG9hdCgxKScgYW5kCisiICdmbG9hdChAdmFyKScgYXJlIGFsbCB2YWxpZC4gIFdlIGhhdmUgdG8gYWNjb3VudCBmb3IgdGhpcyBhbmQgd2UKKyIgYWxzbyBoYXZlIHRvIG1ha2Ugc3VyZSB0aGF0IGdhcmJhZ2UgbGlrZSBmbG9hdG4gb3IgZmxvYXRfKDEpIGlzIG5vdAorIiBoaWdobGlnaHRlZC4KKyIKKyIgVGhlIHNlY29uZCBwcm9ibGVtIGlzIHRoYXQgc29tZSBvZiB0aGVzZSBrZXl3b3JkcyBhcmUgaW5jbHVkZWQgaW4KKyIgZnVuY3Rpb24gbmFtZXMuICBGb3IgaW5zdGFuY2UsIHllYXIoKSBpcyBwYXJ0IG9mIHRoZSBuYW1lIG9mIHRoZQorIiBkYXlvZnllYXIoKSBmdW5jdGlvbiwgYW5kIHRoZSBkZWMga2V5d29yZCAobm8gcGFyZW50aGVzaXMpIGlzIHBhcnQgb2YKKyIgdGhlIG5hbWUgb2YgdGhlIGRlY29kZSgpIGZ1bmN0aW9uLgorCitzeW4ga2V5d29yZCBteXNxbFR5cGUJCSB0aW55aW50IHNtYWxsaW50IG1lZGl1bWludCBpbnQgaW50ZWdlciBiaWdpbnQKK3N5biBrZXl3b3JkIG15c3FsVHlwZQkJIGRhdGUgZGF0ZXRpbWUgdGltZSBiaXQgYm9vbAorc3luIGtleXdvcmQgbXlzcWxUeXBlCQkgdGlueXRleHQgbWVkaXVtdGV4dCBsb25ndGV4dCB0ZXh0CitzeW4ga2V5d29yZCBteXNxbFR5cGUJCSB0aW55YmxvYiBtZWRpdW1ibG9iIGxvbmdibG9iIGJsb2IKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImZsb2F0XFciIGVuZD0iLiJtZT1zLTEKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImZsb2F0JCIgZW5kPSIuIm1lPXMtMQorc3luIHJlZ2lvbiBteXNxbFR5cGUJCSBzdGFydD0iZmxvYXQoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImRvdWJsZVxXIiBlbmQ9Ii4ibWU9cy0xCitzeW4gcmVnaW9uIG15c3FsVHlwZQkJIHN0YXJ0PSJkb3VibGUkIiBlbmQ9Ii4ibWU9cy0xCitzeW4gcmVnaW9uIG15c3FsVHlwZQkJIHN0YXJ0PSJkb3VibGUoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImRvdWJsZSBwcmVjaXNpb25cVyIgZW5kPSIuIm1lPXMtMQorc3luIHJlZ2lvbiBteXNxbFR5cGUJCSBzdGFydD0iZG91YmxlIHByZWNpc2lvbiQiIGVuZD0iLiJtZT1zLTEKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImRvdWJsZSBwcmVjaXNpb24oIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9InJlYWxcVyIgZW5kPSIuIm1lPXMtMQorc3luIHJlZ2lvbiBteXNxbFR5cGUJCSBzdGFydD0icmVhbCQiIGVuZD0iLiJtZT1zLTEKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9InJlYWwoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9Im51bWVyaWMoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImRlY1xXIiBlbmQ9Ii4ibWU9cy0xCitzeW4gcmVnaW9uIG15c3FsVHlwZQkJIHN0YXJ0PSJkZWMkIiBlbmQ9Ii4ibWU9cy0xCitzeW4gcmVnaW9uIG15c3FsVHlwZQkJIHN0YXJ0PSJkZWMoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImRlY2ltYWxcVyIgZW5kPSIuIm1lPXMtMQorc3luIHJlZ2lvbiBteXNxbFR5cGUJCSBzdGFydD0iZGVjaW1hbCQiIGVuZD0iLiJtZT1zLTEKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImRlY2ltYWwoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9IlxXdGltZXN0YW1wXFciIGVuZD0iLiJtZT1zLTEKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9IlxXdGltZXN0YW1wJCIgZW5kPSIuIm1lPXMtMQorc3luIHJlZ2lvbiBteXNxbFR5cGUJCSBzdGFydD0iXFd0aW1lc3RhbXAoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9Il50aW1lc3RhbXBcVyIgZW5kPSIuIm1lPXMtMQorc3luIHJlZ2lvbiBteXNxbFR5cGUJCSBzdGFydD0iXnRpbWVzdGFtcCQiIGVuZD0iLiJtZT1zLTEKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9Il50aW1lc3RhbXAoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9IlxXeWVhcigiIGVuZD0iKSIgY29udGFpbnM9bXlzcWxOdW1iZXIsbXlzcWxWYXJpYWJsZQorc3luIHJlZ2lvbiBteXNxbFR5cGUJCSBzdGFydD0iXnllYXIoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImNoYXIoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9InZhcmNoYXIoIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsTnVtYmVyLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9ImVudW0oIiBlbmQ9IikiIGNvbnRhaW5zPW15c3FsU3RyaW5nLG15c3FsVmFyaWFibGUKK3N5biByZWdpb24gbXlzcWxUeXBlCQkgc3RhcnQ9IlxXc2V0KCIgZW5kPSIpIiBjb250YWlucz1teXNxbFN0cmluZyxteXNxbFZhcmlhYmxlCitzeW4gcmVnaW9uIG15c3FsVHlwZQkJIHN0YXJ0PSJec2V0KCIgZW5kPSIpIiBjb250YWlucz1teXNxbFN0cmluZyxteXNxbFZhcmlhYmxlCisKKyIgTG9naWNhbCwgc3RyaW5nIGFuZCAgbnVtZXJpYyBvcGVyYXRvcnMKK3N5biBrZXl3b3JkIG15c3FsT3BlcmF0b3IJIGJldHdlZW4gbm90IGFuZCBvciBpcyBpbiBsaWtlIHJlZ2V4cCBybGlrZSBiaW5hcnkgZXhpc3RzCitzeW4gcmVnaW9uIG15c3FsT3BlcmF0b3IJIHN0YXJ0PSJpc251bGwoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbE9wZXJhdG9yCSBzdGFydD0iY29hbGVzY2UoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbE9wZXJhdG9yCSBzdGFydD0iaW50ZXJ2YWwoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorCisiIENvbnRyb2wgZmxvdyBmdW5jdGlvbnMKK3N5biBrZXl3b3JkIG15c3FsRmxvdwkJIGNhc2Ugd2hlbiB0aGVuIGVsc2UgZW5kCitzeW4gcmVnaW9uIG15c3FsRmxvdwkJIHN0YXJ0PSJpZm51bGwoIiAgIGVuZD0iKSIgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZsb3cJCSBzdGFydD0ibnVsbGlmKCIgICBlbmQ9IikiICBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGbG93CQkgc3RhcnQ9ImlmKCIJICAgZW5kPSIpIiAgY29udGFpbnM9QUxMCisKKyIgR2VuZXJhbCBGdW5jdGlvbnMKKyIKKyIgSSdtIGxlZXJ5IG9mIGp1c3QgZGVmaW5pbmcga2V5d29yZHMgZm9yIGZ1bmN0aW9ucywgc2luY2UgYWNjb3JkaW5nIHRvIHRoZSBNeVNRTCBtYW51YWw6CisiCisiICAgICBGdW5jdGlvbiBuYW1lcyBkbyBub3QgY2xhc2ggd2l0aCB0YWJsZSBvciBjb2x1bW4gbmFtZXMuIEZvciBleGFtcGxlLCBBQlMgaXMgYQorIiAgICAgdmFsaWQgY29sdW1uIG5hbWUuIFRoZSBvbmx5IHJlc3RyaWN0aW9uIGlzIHRoYXQgZm9yIGEgZnVuY3Rpb24gY2FsbCwgbm8gc3BhY2VzCisiICAgICBhcmUgYWxsb3dlZCBiZXR3ZWVuIHRoZSBmdW5jdGlvbiBuYW1lIGFuZCB0aGUgYCgnIHRoYXQgZm9sbG93cyBpdC4KKyIKKyIgVGhpcyBtZWFucyB0aGF0IGlmIEkgd2FudCB0byBoaWdobGlnaHQgZnVuY3Rpb24gbmFtZXMgcHJvcGVybHksIEkgaGF2ZSB0byB1c2UgYQorIiByZWdpb24gdG8gZGVmaW5lIHRoZW0sIG5vdCBqdXN0IGEga2V5d29yZC4gIFRoaXMgd2lsbCBwcm9iYWJseSBjYXVzZSB0aGUgc3ludGF4IGZpbGUKKyIgdG8gbG9hZCBtb3JlIHNsb3dseSwgYnV0IGF0IGxlYXN0IGl0IHdpbGwgYmUgJ2NvcnJlY3QnLgorCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJhYnMoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iYWNvcygiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJhZGRkYXRlKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImFzY2lpKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImFzaW4oIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iYXRhbigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJhdGFuMigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJiZW5jaG1hcmsoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iYmluKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImJpdF9hbmQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iYml0X2NvdW50KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImJpdF9vcigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJjZWlsaW5nKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImNoYXJhY3Rlcl9sZW5ndGgoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iY2hhcl9sZW5ndGgoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iY29uY2F0KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImNvbmNhdF93cygiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJjb25uZWN0aW9uX2lkKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImNvbnYoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iY29zKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImNvdCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJjb3VudCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJjdXJkYXRlKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImN1cnRpbWUoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZGF0ZV9hZGQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZGF0ZV9mb3JtYXQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZGF0ZV9zdWIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZGF5bmFtZSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJkYXlvZm1vbnRoKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImRheW9md2VlaygiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJkYXlvZnllYXIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZGVjb2RlKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImRlZ3JlZXMoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZWx0KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImVuY29kZSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJlbmNyeXB0KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImV4cCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJleHBvcnRfc2V0KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImV4dHJhY3QoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZmllbGQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZmluZF9pbl9zZXQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZmxvb3IoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iZm9ybWF0KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImZyb21fZGF5cygiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJmcm9tX3VuaXh0aW1lKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImdldF9sb2NrKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImdyZWF0ZXN0KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9Imdyb3VwX3VuaXF1ZV91c2VycygiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJoZXgoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0iaW5ldF9hdG9uKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImluZXRfbnRvYSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJpbnN0cigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJsY2FzZSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJsZWFzdCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJsZW5ndGgoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ibG9hZF9maWxlKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9ImxvY2F0ZSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJsb2coIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ibG9nMTAoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ibG93ZXIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ibHBhZCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJsdHJpbSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJtYWtlX3NldCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJtYXN0ZXJfcG9zX3dhaXQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ibWF4KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9Im1kNSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJtaWQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ibWluKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9Im1vZCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJtb250aG5hbWUoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ibm93KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9Im9jdCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJvY3RldF9sZW5ndGgoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ib3JkKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InBlcmlvZF9hZGQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0icGVyaW9kX2RpZmYoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0icGkoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0icG9zaXRpb24oIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0icG93KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InBvd2VyKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InF1YXJ0ZXIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0icmFkaWFucygiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJyYW5kKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InJlbGVhc2VfbG9jaygiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJyZXBlYXQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0icmV2ZXJzZSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJyb3VuZCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJycGFkKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InJ0cmltKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InNlY190b190aW1lKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InNlc3Npb25fdXNlcigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJzaWduKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InNpbigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJzb3VuZGV4KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InNwYWNlKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InNxcnQoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ic3RkKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InN0ZGRldigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJzdHJjbXAoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ic3ViZGF0ZSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJzdWJzdHJpbmcoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ic3Vic3RyaW5nX2luZGV4KCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InN1bSgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJzeXNkYXRlKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InN5c3RlbV91c2VyKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InRhbigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJ0aW1lX2Zvcm1hdCgiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJ0aW1lX3RvX3NlYygiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJ0b19kYXlzKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InRyaW0oIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0idWNhc2UoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0idW5pcXVlX3VzZXJzKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InVuaXhfdGltZXN0YW1wKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InVwcGVyKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9InVzZXIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0idmVyc2lvbigiIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIG15c3FsRnVuY3Rpb24JIHN0YXJ0PSJ3ZWVrKCIgZW5kPSIpIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gbXlzcWxGdW5jdGlvbgkgc3RhcnQ9IndlZWtkYXkoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiBteXNxbEZ1bmN0aW9uCSBzdGFydD0ieWVhcndlZWsoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9teXNxbF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9teXNxbF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBteXNxbEtleXdvcmQJCSBTdGF0ZW1lbnQKKyAgSGlMaW5rIG15c3FsU3BlY2lhbAkJIFNwZWNpYWwKKyAgSGlMaW5rIG15c3FsU3RyaW5nCQkgU3RyaW5nCisgIEhpTGluayBteXNxbE51bWJlcgkJIE51bWJlcgorICBIaUxpbmsgbXlzcWxWYXJpYWJsZQkJIElkZW50aWZpZXIKKyAgSGlMaW5rIG15c3FsQ29tbWVudAkJIENvbW1lbnQKKyAgSGlMaW5rIG15c3FsVHlwZQkJIFR5cGUKKyAgSGlMaW5rIG15c3FsT3BlcmF0b3IJCSBTdGF0ZW1lbnQKKyAgSGlMaW5rIG15c3FsRmxvdwkJIFN0YXRlbWVudAorICBIaUxpbmsgbXlzcWxGdW5jdGlvbgkJIEZ1bmN0aW9uCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm15c3FsIgorCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9uYW1lZC52aW0gYi9ydW50aW1lL3N5bnRheC9uYW1lZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkxODM1MgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L25hbWVkLnZpbQpAQCAtMCwwICsxLDIzNCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CUJJTkQgOC54IGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOglnbG9yeSBodW1wIDxybmRAd2ViLWRyaXZlLnJ1PgorIiBMYXN0IGNoYW5nZToJTW9uIE1heSAyMSAwNDo1MTowMSBTQU1TVCAyMDAxCisiIEZpbGVuYW1lczoJbmFtZWQuY29uZgorIiBVUkw6CWh0dHA6Ly9ybmQud2ViLWRyaXZlLnJ1L3ZpbS9zeW50YXgvbmFtZWQudmltCisiICRJZCQKKyIKKyIgTk9URQorIiAgICBpdCB3YXMgbm90IHdpZGVseSB0ZXN0ZWQsIGkganVzdCB0cmllZCBpdCBvbiBteSBzaW1wbGUKKyIgICAgc2luZ2xlLW1hc3Rlci1zaW5nbGUtc2xhdmUgY29uZmlndXJhdGlvbi4gbW9zdCBzeW50YXggd2FzIGJvcnJvd2VkCisiICAgIGRpcmVjdGx5IGZyb20gIkJJTkQgQ29uZmlndXJhdGlvbiBGaWxlIEd1aWRlIiB3aXRob3V0IHRlc3RpbmcuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKKworaWYgdmVyc2lvbiA+PSA2MDAKKyAgc2V0bG9jYWwgaXNrZXl3b3JkPS4sLSw0OC01OCxBLVosYS16LF8KK2Vsc2UKKyAgc2V0IGlza2V5d29yZD0uLC0sNDgtNTgsQS1aLGEteixfCitlbmRpZgorCitsZXQgczpzYXZlX2NwbyA9ICZjcG8KK3NldCBjcG8tPUMKKworIiBCSU5EIGNvbmZpZ3VyYXRpb24gZmlsZQorCitzeW4gbWF0Y2gJbmFtZWRDb21tZW50CSIvLy4qIgorc3luIHJlZ2lvbgluYW1lZENvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iCitzeW4gcmVnaW9uCW5hbWVkU3RyaW5nCXN0YXJ0PS8iLyBlbmQ9LyIvIGNvbnRhaW5lZAorIiAtLS0gb21pdHRlZCB0cmFpbGluZyBzZW1pY29sb24gRklYTUUKK3N5biBtYXRjaAluYW1lZEVycm9yCS9bXjt7XSQvCisKKyIgLS0tIHRvcC1sZXZlbCBrZXl3b3JkcworCitzeW4ga2V5d29yZAluYW1lZEluY2x1ZGUJaW5jbHVkZSBuZXh0Z3JvdXA9bmFtZWRTdHJpbmcgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZEtleXdvcmQJYWNsIGtleSBuZXh0Z3JvdXA9bmFtZWRJbnRJZGVudCBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkS2V5d29yZAlzZXJ2ZXIgbmV4dGdyb3VwPW5hbWVkSWRlbnRpZmllciBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkS2V5d29yZAljb250cm9scyBuZXh0Z3JvdXA9bmFtZWRTZWN0aW9uIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRLZXl3b3JkCXRydXN0ZWQta2V5cyBuZXh0Z3JvdXA9bmFtZWRJbnRTZWN0aW9uIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRLZXl3b3JkCWxvZ2dpbmcgbmV4dGdyb3VwPW5hbWVkTG9nU2VjdGlvbiBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkS2V5d29yZAlvcHRpb25zIG5leHRncm91cD1uYW1lZE9wdFNlY3Rpb24gc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZEtleXdvcmQJem9uZSBuZXh0Z3JvdXA9bmFtZWRab25lU3RyaW5nIHNraXB3aGl0ZQorCisiIC0tLSBJZGVudGlmaWVyOiBuYW1lIG9mIGZvbGxvd2luZyB7IC4uLiB9IFNlY3Rpb24KK3N5biBtYXRjaAluYW1lZElkZW50aWZpZXIJY29udGFpbmVkIC9ca1wrLyBuZXh0Z3JvdXA9bmFtZWRTZWN0aW9uIHNraXB3aGl0ZQorIiAtLS0gSW50SWRlbnQ6IG5hbWUgb2YgZm9sbG93aW5nIEludFNlY3Rpb24KK3N5biBtYXRjaAluYW1lZEludElkZW50CWNvbnRhaW5lZCAvIlw9XGtcKyJcPS8gbmV4dGdyb3VwPW5hbWVkSW50U2VjdGlvbiBza2lwd2hpdGUKKworIiAtLS0gU2VjdGlvbjogeyAuLi4gfSBjbGF1c2UKK3N5biByZWdpb24JbmFtZWRTZWN0aW9uCWNvbnRhaW5lZCBzdGFydD0reysgZW5kPSt9OysgY29udGFpbnM9bmFtZWRTZWN0aW9uLG5hbWVkSW50S2V5d29yZAorCisiIC0tLSBJbnRTZWN0aW9uOiBzZWN0aW9uIHRoYXQgZG9lcyBub3QgY29udGFpbiBvdGhlciBzZWN0aW9ucworc3luIHJlZ2lvbgluYW1lZEludFNlY3Rpb24JY29udGFpbmVkIHN0YXJ0PSt7KyBlbmQ9K30rIGNvbnRhaW5zPW5hbWVkSW50S2V5d29yZCxuYW1lZEVycm9yCisKKyIgLS0tIEludEtleXdvcmQ6IGtleXdvcmRzIGNvbnRhaW5lZCB3aXRoaW4gYHsgLi4uIH0nIHNlY3Rpb25zIG9ubHkKKyIgKyB0aGVzZSBrZXl3b3JkcyBhcmUgY29udGFpbmVkIHdpdGhpbiBga2V5JyBhbmQgYGFjbCcgc2VjdGlvbnMKK3N5biBrZXl3b3JkCW5hbWVkSW50S2V5d29yZAljb250YWluZWQga2V5IGFsZ29yaXRobQorc3luIGtleXdvcmQJbmFtZWRJbnRLZXl3b3JkCWNvbnRhaW5lZCBzZWNyZXQgbmV4dGdyb3VwPW5hbWVkU3RyaW5nIHNraXB3aGl0ZQorCisiICsgdGhlc2Uga2V5d29yZHMgYXJlIGNvbnRhaW5lZCB3aXRoaW4gYHNlcnZlcicgc2VjdGlvbiBvbmx5CitzeW4ga2V5d29yZAluYW1lZEludEtleXdvcmQJY29udGFpbmVkIGJvZ3VzIHN1cHBvcnQtaXhmciBuZXh0Z3JvdXA9bmFtZWRCb29sLG5hbWVkTm90Qm9vbCBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkSW50S2V5d29yZAljb250YWluZWQgdHJhbnNmZXJzIG5leHRncm91cD1uYW1lZE51bWJlcixuYW1lZE5vdE51bWJlciBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkSW50S2V5d29yZAljb250YWluZWQgdHJhbnNmZXItZm9ybWF0CitzeW4ga2V5d29yZAluYW1lZEludEtleXdvcmQJY29udGFpbmVkIGtleXMgbmV4dGdyb3VwPW5hbWVkSW50U2VjdGlvbiBza2lwd2hpdGUKKworIiArIHRoZXNlIGtleXdvcmRzIGFyZSBjb250YWluZWQgd2l0aGluIGBjb250cm9scycgc2VjdGlvbiBvbmx5CitzeW4ga2V5d29yZAluYW1lZEludEtleXdvcmQJY29udGFpbmVkIGluZXQgbmV4dGdyb3VwPW5hbWVkSVBhZGRyLG5hbWVkSVBlcnJvciBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkSW50S2V5d29yZAljb250YWluZWQgdW5peCBuZXh0Z3JvdXA9bmFtZWRTdHJpbmcgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZEludEtleXdvcmQJY29udGFpbmVkIHBvcnQgcGVybSBvd25lciBncm91cCBuZXh0Z3JvdXA9bmFtZWROdW1iZXIsbmFtZWROb3ROdW1iZXIgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZEludEtleXdvcmQJY29udGFpbmVkIGFsbG93IG5leHRncm91cD1uYW1lZEludFNlY3Rpb24gc2tpcHdoaXRlCisKKyIgLS0tIG9wdGlvbnMKK3N5biByZWdpb24JbmFtZWRPcHRTZWN0aW9uCWNvbnRhaW5lZCBzdGFydD0reysgZW5kPSt9OysgY29udGFpbnM9bmFtZWRPcHRpb24sbmFtZWRDTk9wdGlvbixuYW1lZENvbW1lbnQsbmFtZWRQYXJlbkVycm9yCisKK3N5biBrZXl3b3JkCW5hbWVkT3B0aW9uCWNvbnRhaW5lZCB2ZXJzaW9uIGRpcmVjdG9yeQorXAkJbmV4dGdyb3VwPW5hbWVkU3RyaW5nIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIG5hbWVkLXhmZXIgZHVtcC1maWxlIHBpZC1maWxlCitcCQluZXh0Z3JvdXA9bmFtZWRTdHJpbmcgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZE9wdGlvbgljb250YWluZWQgbWVtLXN0YXRpc3RpY3MtZmlsZSBzdGF0aXN0aWNzLWZpbGUKK1wJCW5leHRncm91cD1uYW1lZFN0cmluZyBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkT3B0aW9uCWNvbnRhaW5lZCBhdXRoLW54ZG9tYWluIGRlYWxsb2NhdGUtb24tZXhpdAorXAkJbmV4dGdyb3VwPW5hbWVkQm9vbCxuYW1lZE5vdEJvb2wgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZE9wdGlvbgljb250YWluZWQgZGlhbHVwIGZha2UtaXF1ZXJ5IGZldGNoLWdsdWUKK1wJCW5leHRncm91cD1uYW1lZEJvb2wsbmFtZWROb3RCb29sIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIGhhcy1vbGQtY2xpZW50cyBob3N0LXN0YXRpc3RpY3MKK1wJCW5leHRncm91cD1uYW1lZEJvb2wsbmFtZWROb3RCb29sIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIG1haW50YWluLWl4ZnItYmFzZSBtdWx0aXBsZS1jbmFtZXMKK1wJCW5leHRncm91cD1uYW1lZEJvb2wsbmFtZWROb3RCb29sIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIG5vdGlmeSByZWN1cnNpb24gcmZjMjMwOC10eXBlMQorXAkJbmV4dGdyb3VwPW5hbWVkQm9vbCxuYW1lZE5vdEJvb2wgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZE9wdGlvbgljb250YWluZWQgdXNlLWlkLXBvb2wgdHJlYXQtY3ItYXMtc3BhY2UKK1wJCW5leHRncm91cD1uYW1lZEJvb2wsbmFtZWROb3RCb29sIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIGFsc28tbm90aWZ5IGZvcndhcmRlcnMKK1wJCW5leHRncm91cD1uYW1lZEludFNlY3Rpb24gc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZE9wdGlvbgljb250YWluZWQgZm9yd2FyZCBjaGVjay1uYW1lcworc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIGFsbG93LXF1ZXJ5IGFsbG93LXRyYW5zZmVyIGFsbG93LXJlY3Vyc2lvbgluZXh0Z3JvdXA9bmFtZWRBTUwgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZE9wdGlvbgljb250YWluZWQgYmxhY2tob2xlIGxpc3Rlbi1vbgorXAkJbmV4dGdyb3VwPW5hbWVkSW50U2VjdGlvbiBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkT3B0aW9uCWNvbnRhaW5lZCBsYW1lLXR0bCBtYXgtdHJhbnNmZXItdGltZS1pbgorXAkJbmV4dGdyb3VwPW5hbWVkTnVtYmVyLG5hbWVkTm90TnVtYmVyIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIG1heC1uY2FjaGUtdHRsIG1pbi1yb290cworXAkJbmV4dGdyb3VwPW5hbWVkTnVtYmVyLG5hbWVkTm90TnVtYmVyIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIHNlcmlhbC1xdWVyaWVzIHRyYW5zZmVycy1pbgorXAkJbmV4dGdyb3VwPW5hbWVkTnVtYmVyLG5hbWVkTm90TnVtYmVyIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIHRyYW5zZmVycy1vdXQgdHJhbnNmZXJzLXBlci1ucworc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIHRyYW5zZmVyLWZvcm1hdAorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIHRyYW5zZmVyLXNvdXJjZQorXAkJbmV4dGdyb3VwPW5hbWVkSVBhZGRyLG5hbWVkSVBlcnJvciBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkT3B0aW9uCWNvbnRhaW5lZCBtYXgtaXhmci1sb2ctc2l6ZQorXAkJbmV4dGdyb3VwPW5hbWVkTnVtYmVyLG5hbWVkTm90TnVtYmVyIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIGNvcmVzaXplIGRhdGFzaXplIGZpbGVzIHN0YWNrc2l6ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIGNsZWFuaW5nLWludGVydmFsIGludGVyZmFjZS1pbnRlcnZhbCBzdGF0aXN0aWNzLWludGVydmFsIGhlYXJ0YmVhdC1pbnRlcnZhbAorXAkJbmV4dGdyb3VwPW5hbWVkTnVtYmVyLG5hbWVkTm90TnVtYmVyIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRPcHRpb24JY29udGFpbmVkIHRvcG9sb2d5IHNvcnRsaXN0IHJyc2V0LW9yZGVyCitcCQluZXh0Z3JvdXA9bmFtZWRJbnRTZWN0aW9uIHNraXB3aGl0ZQorCitzeW4gbWF0Y2gJbmFtZWRPcHRpb24JY29udGFpbmVkIC9cPHF1ZXJ5LXNvdXJjZVxzXCsuKjsvaGU9cysxMiBjb250YWlucz1uYW1lZFFTS2V5d29yZHMKK3N5biBrZXl3b3JkCW5hbWVkUVNLZXl3b3Jkcwljb250YWluZWQgYWRkcmVzcyBwb3J0CitzeW4gbWF0Y2gJbmFtZWRDTk9wdGlvbgljb250YWluZWQgL1w8Y2hlY2stbmFtZXNcc1wrLio7L2hlPXMrMTEgY29udGFpbnM9bmFtZWRDTktleXdvcmRzCitzeW4ga2V5d29yZAluYW1lZENOS2V5d29yZHMJY29udGFpbmVkIGZhaWwgd2FybiBpZ25vcmUgbWFzdGVyIHNsYXZlIHJlc3BvbnNlCisKKyIgLS0tIGxvZ2dpbmcgZmFjaWxpdGllcworc3luIHJlZ2lvbgluYW1lZExvZ1NlY3Rpb24JY29udGFpbmVkIHN0YXJ0PSt7KyBlbmQ9K307KyBjb250YWlucz1uYW1lZExvZ09wdGlvbgorc3luIGtleXdvcmQJbmFtZWRMb2dPcHRpb24JY29udGFpbmVkIGNoYW5uZWwgbmV4dGdyb3VwPW5hbWVkSW50SWRlbnQgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZExvZ09wdGlvbgljb250YWluZWQgY2F0ZWdvcnkgbmV4dGdyb3VwPW5hbWVkSW50SWRlbnQgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZEludEtleXdvcmQJY29udGFpbmVkIHN5c2xvZyBudWxsIHZlcnNpb25zIHNpemUgc2V2ZXJpdHkKK3N5biBrZXl3b3JkCW5hbWVkSW50S2V5d29yZAljb250YWluZWQgZmlsZSBuZXh0Z3JvdXA9bmFtZWRTdHJpbmcgc2tpcHdoaXRlCitzeW4ga2V5d29yZAluYW1lZEludEtleXdvcmQJY29udGFpbmVkIHByaW50LWNhdGVnb3J5IHByaW50LXNldmVyaXR5IHByaW50LXRpbWUgbmV4dGdyb3VwPW5hbWVkQm9vbCxuYW1lZE5vdEJvb2wgc2tpcHdoaXRlCisKKyIgLS0tIHpvbmUgc2VjdGlvbgorc3luIHJlZ2lvbgluYW1lZFpvbmVTdHJpbmcJY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9KyIrIGVuZD0rIisgc2tpcHdoaXRlCitcCQljb250YWlucz1uYW1lZERvbWFpbixuYW1lZElsbGVnYWxEb20KK1wJCW5leHRncm91cD1uYW1lZFpvbmVDbGFzcyxuYW1lZFpvbmVTZWN0aW9uCitzeW4ga2V5d29yZAluYW1lZFpvbmVDbGFzcwljb250YWluZWQgaW4gaHMgaGVzaW9kIGNoYW9zCitcCQlJTiBIUyBIRVNJT0QgQ0hBT1MKK1wJCW5leHRncm91cD1uYW1lZFpvbmVTZWN0aW9uIHNraXB3aGl0ZQorCitzeW4gcmVnaW9uCW5hbWVkWm9uZVNlY3Rpb24JY29udGFpbmVkIHN0YXJ0PSt7KyBlbmQ9K307KyBjb250YWlucz1uYW1lZFpvbmVPcHQsbmFtZWRDTk9wdGlvbixuYW1lZENvbW1lbnQsbmFtZWRNYXN0ZXJzLG5hbWVkUGFyZW5FcnJvcgorc3luIGtleXdvcmQJbmFtZWRab25lT3B0CWNvbnRhaW5lZCBmaWxlIGl4ZnItYmFzZQorXAkJbmV4dGdyb3VwPW5hbWVkU3RyaW5nIHNraXB3aGl0ZQorc3luIGtleXdvcmQJbmFtZWRab25lT3B0CWNvbnRhaW5lZCBub3RpZnkgZGlhbHVwCitcCQluZXh0Z3JvdXA9bmFtZWRCb29sLG5hbWVkTm90Qm9vbCBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkWm9uZU9wdAljb250YWluZWQgcHVia2V5IGZvcndhcmQKK3N5biBrZXl3b3JkCW5hbWVkWm9uZU9wdAljb250YWluZWQgbWF4LXRyYW5zZmVyLXRpbWUtaW4KK1wJCW5leHRncm91cD1uYW1lZE51bWJlcixuYW1lZE5vdE51bWJlciBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkWm9uZU9wdAljb250YWluZWQgdHlwZSBuZXh0Z3JvdXA9bmFtZWRab25lVHlwZSBza2lwd2hpdGUKK3N5biBrZXl3b3JkCW5hbWVkWm9uZVR5cGUJY29udGFpbmVkIG1hc3RlciBzbGF2ZSBzdHViIGZvcndhcmQgaGludAorCitzeW4ga2V5d29yZAluYW1lZFpvbmVPcHQJY29udGFpbmVkIG1hc3RlcnMgZm9yd2FyZGVycworXAkJbmV4dGdyb3VwPW5hbWVkSVBsaXN0IHNraXB3aGl0ZQorc3luIHJlZ2lvbgluYW1lZElQbGlzdAljb250YWluZWQgc3RhcnQ9K3srIGVuZD0rfTsrIGNvbnRhaW5zPW5hbWVkSVBhZGRyLG5hbWVkSVBlcnJvcixuYW1lZFBhcmVuRXJyb3IsbmFtZWRDb21tZW50CitzeW4gbWF0Y2gJbmFtZWRab25lT3B0CWNvbnRhaW5lZCAiXDxhbGxvdy1cKHVwZGF0ZVx8cXVlcnlcfHRyYW5zZmVyXCkiCitcCQluZXh0Z3JvdXA9bmFtZWRBTUwgc2tpcHdoaXRlCisKKyIgLS0tIGJvb2xlYW4gcGFyYW1ldGVyCitzeW4gbWF0Y2gJbmFtZWROb3RCb29sCWNvbnRhaW5lZCAiW14gCTtdXCsiCitzeW4ga2V5d29yZAluYW1lZEJvb2wJY29udGFpbmVkIHllcyBubyB0cnVlIGZhbHNlIDEgMAorCisiIC0tLSBudW1iZXIgcGFyYW1ldGVyCitzeW4gbWF0Y2gJbmFtZWROb3ROdW1iZXIJY29udGFpbmVkICJbXiAJMC05O11cKyIKK3N5biBtYXRjaAluYW1lZE51bWJlcgljb250YWluZWQgIlxkXCsiCisKKyIgLS0tIGFkZHJlc3MgbWF0Y2ggbGlzdAorc3luIHJlZ2lvbgluYW1lZEFNTAljb250YWluZWQgc3RhcnQ9K3srIGVuZD0rfTsrIGNvbnRhaW5zPW5hbWVkUGFyZW5FcnJvcixuYW1lZENvbW1lbnQKKworIiAtLS0gSVBzICYgRG9tYWlucworc3luIG1hdGNoCW5hbWVkSVBhZGRyCWNvbnRhaW5lZCAvXDxbMC05XVx7MSwzfVwoXC5bMC05XVx7MSwzfVwpXHszfTsvaGU9ZS0xCitzeW4gbWF0Y2gJbmFtZWREb21haW4JY29udGFpbmVkIC9cPFswLTlBLVphLXpdWy0wLTlBLVphLXouXVwrXD4vIG5leHRncm91cD1uYW1lZFNwYXJlRG90CitzeW4gbWF0Y2gJbmFtZWREb21haW4JY29udGFpbmVkIC8iXC4iL21zPXMrMSxtZT1lLTEKK3N5biBtYXRjaAluYW1lZFNwYXJlRG90CWNvbnRhaW5lZCAvXC4vCisKKyIgLS0tIHN5bnRheCBlcnJvcnMKK3N5biBtYXRjaAluYW1lZElsbGVnYWxEb20JY29udGFpbmVkIC8iXFMqW14tQS1aYS16MC05Lls6c3BhY2U6XV1cUyoiL21zPXMrMSxtZT1lLTEKK3N5biBtYXRjaAluYW1lZElQZXJyb3IJY29udGFpbmVkIC9cPFxTKlteMC05Lls6c3BhY2U6XTtdXFMqLworc3luIG1hdGNoCW5hbWVkRVBhcmVuRXJyb3IJY29udGFpbmVkICt7Kworc3luIG1hdGNoCW5hbWVkUGFyZW5FcnJvcgkrfVwoW147XVx8JFwpKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9uYW1lZF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9uYW1lZF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBuYW1lZENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgbmFtZWRJbmNsdWRlCUluY2x1ZGUKKyAgSGlMaW5rIG5hbWVkS2V5d29yZAlLZXl3b3JkCisgIEhpTGluayBuYW1lZEludEtleXdvcmQJS2V5d29yZAorICBIaUxpbmsgbmFtZWRJZGVudGlmaWVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIG5hbWVkSW50SWRlbnQJSWRlbnRpZmllcgorCisgIEhpTGluayBuYW1lZFN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIG5hbWVkQm9vbAlUeXBlCisgIEhpTGluayBuYW1lZE5vdEJvb2wJRXJyb3IKKyAgSGlMaW5rIG5hbWVkTnVtYmVyCU51bWJlcgorICBIaUxpbmsgbmFtZWROb3ROdW1iZXIJRXJyb3IKKworICBIaUxpbmsgbmFtZWRPcHRpb24JbmFtZWRLZXl3b3JkCisgIEhpTGluayBuYW1lZExvZ09wdGlvbgluYW1lZEtleXdvcmQKKyAgSGlMaW5rIG5hbWVkQ05PcHRpb24JbmFtZWRLZXl3b3JkCisgIEhpTGluayBuYW1lZFFTS2V5d29yZHMJVHlwZQorICBIaUxpbmsgbmFtZWRDTktleXdvcmRzCVR5cGUKKyAgSGlMaW5rIG5hbWVkTG9nQ2F0ZWdvcnkJVHlwZQorICBIaUxpbmsgbmFtZWREb21haW4JSWRlbnRpZmllcgorICBIaUxpbmsgbmFtZWRab25lT3B0CW5hbWVkS2V5d29yZAorICBIaUxpbmsgbmFtZWRab25lVHlwZQlUeXBlCisgIEhpTGluayBuYW1lZFBhcmVuRXJyb3IJRXJyb3IKKyAgSGlMaW5rIG5hbWVkRVBhcmVuRXJyb3IJRXJyb3IKKyAgSGlMaW5rIG5hbWVkSWxsZWdhbERvbQlFcnJvcgorICBIaUxpbmsgbmFtZWRJUGVycm9yCUVycm9yCisgIEhpTGluayBuYW1lZFNwYXJlRG90CUVycm9yCisgIEhpTGluayBuYW1lZEVycm9yCUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCAmY3BvID0gczpzYXZlX2NwbwordW5sZXQgczpzYXZlX2NwbworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJuYW1lZCIKKworIiB2aW06IHRzPTE3CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9uYXNtLnZpbSBiL3J1bnRpbWUvc3ludGF4L25hc20udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYmYzM2EKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9uYXNtLnZpbQpAQCAtMCwwICsxLDUyMiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU5BU00gLSBUaGUgTmV0d2lkZSBBc3NlbWJsZXIgKHYwLjk4KQorIiBNYWludGFpbmVyOglNYW51ZWwgTS5ILiBTdG9sCTxtbWguc3RvbEBnbXgubmV0PgorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKKyIgVmltIFVSTDoJaHR0cDovL3d3dy52aW0ub3JnL2xhbmcuaHRtbAorIiBOQVNNIEhvbWU6CWh0dHA6Ly93d3cuY3J5b2dlbi5jb20vTmFzbS8KKworCisKKyIgU2V0dXAgU3ludGF4OgorIiAgQ2xlYXIgb2xkIHN5bnRheCBzZXR0aW5ncworaWYgdmVyc2lvbiA8IDYwMAorICBzeW4gY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisiICBBc3NlbWJsZXIgc3ludGF4IGlzIGNhc2UgaW5zZW5zZXRpdmUKK3N5biBjYXNlIGlnbm9yZQorCisKKworIiBWaW0gc2VhcmNoIGFuZCBtb3ZlbWVudCBjb21tYW5kcyBvbiBpZGVudGlmZXJzCitpZiB2ZXJzaW9uIDwgNjAwCisgICIgIENvbW1lbnRzIGF0IHN0YXJ0IG9mIGEgbGluZSBpbnNpZGUgd2hpY2ggdG8gc2tpcCBzZWFyY2ggZm9yIGluZGVudGlmaWVycworICBzZXQgY29tbWVudHM9OjsKKyAgIiAgSWRlbnRpZmllciBLZXl3b3JkIGNoYXJhY3RlcnMgKGRlZmluZXMgXGspCisgIHNldCBpc2tleXdvcmQ9QCw0OC01NywjLCQsLiw/LEAtQCxfLH4KK2Vsc2UKKyAgIiAgQ29tbWVudHMgYXQgc3RhcnQgb2YgYSBsaW5lIGluc2lkZSB3aGljaCB0byBza2lwIHNlYXJjaCBmb3IgaW5kZW50aWZpZXJzCisgIHNldGxvY2FsIGNvbW1lbnRzPTo7CisgICIgIElkZW50aWZpZXIgS2V5d29yZCBjaGFyYWN0ZXJzIChkZWZpbmVzIFxrKQorICBzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywjLCQsLiw/LEAtQCxfLH4KK2VuZGlmCisKKworCisiIENvbW1lbnRzOgorc3luIHJlZ2lvbiAgbmFzbUNvbW1lbnQJCXN0YXJ0PSI7IiBrZWVwZW5kIGVuZD0iJCIgY29udGFpbnM9QG5hc21HcnBJbkNvbW1lbnRzCitzeW4gcmVnaW9uICBuYXNtU3BlY2lhbENvbW1lbnQJc3RhcnQ9IjtcKlwqXCoiIGtlZXBlbmQgZW5kPSIkIgorc3luIGtleXdvcmQgbmFzbUluQ29tbWVudFRvZG8JY29udGFpbmVkIFRPRE8gRklYTUUgWFhYW1hYWFhYXQorc3luIGNsdXN0ZXIgbmFzbUdycEluQ29tbWVudHMJY29udGFpbnM9bmFzbUluQ29tbWVudFRvZG8KK3N5biBjbHVzdGVyIG5hc21HcnBDb21tZW50cwljb250YWlucz1AbmFzbUdycEluQ29tbWVudHMsbmFzbUNvbW1lbnQsbmFzbVNwZWNpYWxDb21tZW50CisKKworCisiIExhYmVsIElkZW50aWZpZXJzOgorIiAgaW4gTkFTTTogJ0V2ZXJ5dGhpbmcgaXMgYSBMYWJlbCcKKyIgIERlZmluaXRpb24gTGFiZWwgPSBsYWJlbCBkZWZpbmVkIGJ5ICVbaV1kZWZpbmUgb3IgJVtpXWFzc2lnbgorIiAgSWRlbnRpZmllciBMYWJlbCA9IGxhYmVsIGRlZmluZWQgYXMgZmlyc3Qgbm9uLWtleXdvcmQgb24gYSBsaW5lIG9yICVbaV1tYWNybworc3luIG1hdGNoICAgbmFzbUxhYmVsRXJyb3IJIiRcPVwoXGRcK1xLXHxbI1wuQF1cfFwkXCRca1wpXGsqXD4iCitzeW4gbWF0Y2ggICBuYXNtTGFiZWwJCSJcPFwoXGhcfFs/QF1cKVxrKlw+Igorc3luIG1hdGNoICAgbmFzbUxhYmVsCQkiW1wkXH5dXChcaFx8Wz9AXVwpXGsqXD4ibGM9MQorIiAgTGFiZWxzIHN0YXJ0aW5nIHdpdGggb25lIG9yIHR3byAnLicgYXJlIHNwZWNpYWwKK3N5biBtYXRjaCAgIG5hc21Mb2NhbExhYmVsCSJcPFwuXChcd1x8WyMkP0B+XVwpXGsqXD4iCitzeW4gbWF0Y2ggICBuYXNtTG9jYWxMYWJlbAkiXDxcJFwuXChcd1x8WyMkP0B+XVwpXGsqXD4ibXM9cysxCitpZiAhZXhpc3RzKCJuYXNtX25vX3dhcm4iKQorICBzeW4gbWF0Y2ggIG5hc21MYWJlbFdhcm4JIlw8XH5cPVwkXD1bX1wuXVtfXC5cfl0qXD4iCitlbmRpZgoraWYgZXhpc3RzKCJuYXNtX2xvb3NlX3N5bnRheCIpCisgIHN5biBtYXRjaCAgIG5hc21TcGVjaWFsTGFiZWwJIlw8XC5cLkBca1wrXD4iCisgIHN5biBtYXRjaCAgIG5hc21TcGVjaWFsTGFiZWwJIlw8XCRcLlwuQFxrXCtcPiJtcz1zKzEKKyAgaWYgIWV4aXN0cygibmFzbV9ub193YXJuIikKKyAgICBzeW4gbWF0Y2ggICBuYXNtTGFiZWxXYXJuCSJcPFwkXD1cLlwuQFwoXGRcfFsjJFwufl1cKVxrKlw+IgorICBlbmRpZgorICAiIGRpc2FsbG93IHVzZSBvZiBuYXNtIGludGVybmFsIGxhYmVsIGZvcm1hdAorICBzeW4gbWF0Y2ggICBuYXNtTGFiZWxFcnJvcgkiXDxcJFw9XC5cLkBcZFwrXC5caypcPiIKK2Vsc2UKKyAgc3luIG1hdGNoICAgbmFzbVNwZWNpYWxMYWJlbAkiXDxcLlwuQFwoXGhcfFs/QF1cKVxrKlw+IgorICBzeW4gbWF0Y2ggICBuYXNtU3BlY2lhbExhYmVsCSJcPFwkXC5cLkBcKFxoXHxbP0BdXClcaypcPiJtcz1zKzEKK2VuZGlmCisiICBMYWJlbHMgY2FuIGJlIGRlcmVmZXJlbmNlZCB3aXRoICckJyB0byBkZXN0aW5ndWlzaCB0aGVtIGZyb20gcmVzZXJ2ZWQgd29yZHMKK3N5biBtYXRjaCAgIG5hc21MYWJlbEVycm9yCSJcPFwkXEtcaypccyo6Igorc3luIG1hdGNoICAgbmFzbUxhYmVsRXJyb3IJIl5ccypcJFxLXGsqXD4iCitzeW4gbWF0Y2ggICBuYXNtTGFiZWxFcnJvcgkiXDxcflxzKlwoXGsqXHMqOlx8XCRcPVwuXGsqXCkiCisKKworCisiIENvbnN0YW50czoKK3N5biBtYXRjaCAgIG5hc21TdHJpbmdFcnJvcgkrWyInXSsKK3N5biBtYXRjaCAgIG5hc21TdHJpbmcJCStcKCJbXiJdXHstfSJcfCdbXiddXHstfSdcKSsKK3N5biBtYXRjaCAgIG5hc21CaW5OdW1iZXIJIlw8WzAtMV1cK2JcPiIKK3N5biBtYXRjaCAgIG5hc21CaW5OdW1iZXIJIlw8XH5bMC0xXVwrYlw+ImxjPTEKK3N5biBtYXRjaCAgIG5hc21PY3ROdW1iZXIJIlw8XG9cK3FcPiIKK3N5biBtYXRjaCAgIG5hc21PY3ROdW1iZXIJIlw8XH5cb1wrcVw+ImxjPTEKK3N5biBtYXRjaCAgIG5hc21EZWNOdW1iZXIJIlw8XGRcK1w+Igorc3luIG1hdGNoICAgbmFzbURlY051bWJlcgkiXDxcflxkXCtcPiJsYz0xCitzeW4gbWF0Y2ggICBuYXNtSGV4TnVtYmVyCSJcPFwoXGRceCpoXHwweFx4XCtcfFwkXGRceCpcKVw+Igorc3luIG1hdGNoICAgbmFzbUhleE51bWJlcgkiXDxcflwoXGRceCpoXHwweFx4XCtcfFwkXGRceCpcKVw+ImxjPTEKK3N5biBtYXRjaCAgIG5hc21GbHROdW1iZXIJIlw8XGRcK1wuXGQqXChlWystXVw9XGRcK1wpXD1cPiIKK3N5biBrZXl3b3JkIG5hc21GbHROdW1iZXIJSW5mIEluZmluaXR5IEluZGVmaW5pdGUgTmFOIFNOYU4gUU5hTgorc3luIG1hdGNoICAgbmFzbU51bWJlckVycm9yCSJcPFx+XHMqXGRcK1wuXGQqXChlWystXVw9XGRcK1wpXD1cPiIKKworCisKKyIgTmV0d2lkZSBBc3NlbWJsZXIgU3RvcmFnZSBEaXJlY3RpdmVzOgorIiAgU3RvcmFnZSB0eXBlcworc3luIGtleXdvcmQgbmFzbVR5cGVFcnJvcglERiBFWFRSTiBGV09SRCBSRVNGIFRCWVRFCitzeW4ga2V5d29yZCBuYXNtVHlwZQkJRkFSIE5FQVIgU0hPUlQKK3N5biBrZXl3b3JkIG5hc21UeXBlCQlCWVRFIFdPUkQgRFdPUkQgUVdPUkQgRFFXT1JEIEhXT1JEIERIV09SRCBUV09SRAorc3luIGtleXdvcmQgbmFzbVR5cGUJCUNERUNMIEZBU1RDQUxMIE5PTkUgUEFTQ0FMIFNURENBTEwKK3N5biBrZXl3b3JkIG5hc21TdG9yYWdlCQlEQiBEVyBERCBEUSBERFEgRFQKK3N5biBrZXl3b3JkIG5hc21TdG9yYWdlCQlSRVNCIFJFU1cgUkVTRCBSRVNRIFJFU0RRIFJFU1QKK3N5biBrZXl3b3JkIG5hc21TdG9yYWdlCQlFWFRFUk4gR0xPQkFMIENPTU1PTgorIiAgU3RydWN0dXJlZCBzdG9yYWdlIHR5cGVzCitzeW4gbWF0Y2ggICBuYXNtVHlwZUVycm9yCSJcPFwoQVRcfElcPVwoRU5EXClcPVwoU1RSVUNUXD1cfFVOSU9OXClcfElcPUVORFwpXD4iCitzeW4gbWF0Y2ggICBuYXNtU3RydWN0dXJlTGFiZWwJY29udGFpbmVkICJcPFwoQVRcfElcPVwoRU5EXClcPVwoU1RSVUNUXD1cfFVOSU9OXClcfElcPUVORFwpXD4iCisiICAgc3RydWN0dXJlcyBjYW5ub3QgYmUgbmVzdGVkICh5ZXQpIC0+IHVzZTogJ2tlZXBlbmQnIGFuZCAncmU9Jworc3luIGNsdXN0ZXIgbmFzbUdycENudG5TdHJ1Ywljb250YWlucz1BTExCVVQsQG5hc21HcnBJbkNvbW1lbnRzLG5hc21NYWNyb0RlZixAbmFzbUdycEluTWFjcm9zLEBuYXNtR3JwSW5QcmVDb25kaXRzLG5hc21TdHJ1Y3R1cmVEZWYsQG5hc21HcnBJblN0cnVjcworc3luIHJlZ2lvbiAgbmFzbVN0cnVjdHVyZURlZgl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW5hc21TdHJ1Y3R1cmUga2VlcGVuZCBzdGFydD0iXlxzKlNUUlVDVFw+ImhzPWUtNSBlbmQ9Il5ccypFTkRTVFJVQ1RcPiJyZT1lLTkgY29udGFpbnM9QG5hc21HcnBDbnRuU3RydWMKK3N5biByZWdpb24gIG5hc21TdHJ1Y3R1cmVEZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1uYXNtU3RydWN0dXJlIGtlZXBlbmQgc3RhcnQ9Il5ccypTVFJVQ1w+ImhzPWUtNCAgZW5kPSJeXHMqRU5EU1RSVUNcPiJyZT1lLTggIGNvbnRhaW5zPUBuYXNtR3JwQ250blN0cnVjCitzeW4gcmVnaW9uICBuYXNtU3RydWN0dXJlRGVmCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9bmFzbVN0cnVjdHVyZSBrZWVwZW5kIHN0YXJ0PSJcPElTVFJVQ1RcPVw+IiBlbmQ9Ilw8SUVORFwoU1RSVUNUXD1cKVw9XD4iIGNvbnRhaW5zPUBuYXNtR3JwQ250blN0cnVjLG5hc21JblN0cnVjdHVyZQorIiAgIHVuaW9uIHR5cGVzIGFyZSBub3QgcGFydCBvZiBuYXNtICh5ZXQpCisic3luIHJlZ2lvbiAgbmFzbVN0cnVjdHVyZURlZgl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW5hc21TdHJ1Y3R1cmUga2VlcGVuZCBzdGFydD0iXlxzKlVOSU9OXD4iaHM9ZS00IGVuZD0iXlxzKkVORFVOSU9OXD4icmU9ZS04IGNvbnRhaW5zPUBuYXNtR3JwQ250blN0cnVjCisic3luIHJlZ2lvbiAgbmFzbVN0cnVjdHVyZURlZgl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW5hc21TdHJ1Y3R1cmUga2VlcGVuZCBzdGFydD0iXDxJVU5JT05cPiIgZW5kPSJcPElFTkRcKFVOSU9OXClcPVw+IiBjb250YWlucz1AbmFzbUdycENudG5TdHJ1YyxuYXNtSW5TdHJ1Y3R1cmUKK3N5biBtYXRjaCAgIG5hc21JblN0cnVjdHVyZQljb250YWluZWQgIl5ccypBVFw+ImhzPWUtMQorc3luIGNsdXN0ZXIgbmFzbUdycEluU3RydWNzCWNvbnRhaW5zPW5hc21TdHJ1Y3R1cmUsbmFzbUluU3RydWN0dXJlLG5hc21TdHJ1Y3R1cmVMYWJlbAorCisKKworIiBQcmVQcm9jZXNzb3IgSW5zdHJ1Y3Rpb25zOgorIiBOQXNtIFByZVByb2NzIHN0YXJ0IHdpdGggJSwgYnV0ICUgaXMgbm90IGEgY2hhcmFjdGVyCitzeW4gbWF0Y2ggICBuYXNtUHJlUHJvY0Vycm9yCSIle1w9XCglXD1ca1wrXHwlJVwrXGsqXHxbKy1dXD1cZFwrXCl9XD0iCitpZiBleGlzdHMoIm5hc21fbG9vc2Vfc3ludGF4IikKKyAgc3luIGNsdXN0ZXIgbmFzbUdycE54dEN0eAljb250YWlucz1uYXNtU3RydWN0dXJlTGFiZWwsbmFzbUxhYmVsLG5hc21Mb2NhbExhYmVsLG5hc21TcGVjaWFsTGFiZWwsbmFzbUxhYmVsRXJyb3IsbmFzbVByZVByb2NFcnJvcgorZWxzZQorICBzeW4gY2x1c3RlciBuYXNtR3JwTnh0Q3R4CWNvbnRhaW5zPW5hc21TdHJ1Y3R1cmVMYWJlbCxuYXNtTGFiZWwsbmFzbUxhYmVsRXJyb3IsbmFzbVByZVByb2NFcnJvcgorZW5kaWYKKworIiAgTXVsdGktbGluZSBtYWNybworc3luIGNsdXN0ZXIgbmFzbUdycENudG5NYWNybwljb250YWlucz1BTExCVVQsQG5hc21HcnBJbkNvbW1lbnRzLG5hc21TdHJ1Y3R1cmVEZWYsQG5hc21HcnBJblN0cnVjcyxuYXNtTWFjcm9EZWYsQG5hc21HcnBQcmVDb25kaXRzLG5hc21NZW1SZWZlcmVuY2UsbmFzbUluTWFjUHJlQ29uZGl0LG5hc21Jbk1hY1N0cnVjRGVmCitzeW4gcmVnaW9uICBuYXNtTWFjcm9EZWYJbWF0Y2hncm91cD1uYXNtTWFjcm8ga2VlcGVuZCBzdGFydD0iXlxzKiVtYWNyb1w+ImhzPWUtNSBzdGFydD0iXlxzKiVpbWFjcm9cPiJocz1lLTYgZW5kPSJeXHMqJWVuZG1hY3JvXD4icmU9ZS05IGNvbnRhaW5zPUBuYXNtR3JwQ250bk1hY3JvLG5hc21Jbk1hY1N0cnVjRGVmCitpZiBleGlzdHMoIm5hc21fbG9vc2Vfc3ludGF4IikKKyAgc3luIG1hdGNoICBuYXNtSW5NYWNMYWJlbAljb250YWluZWQgIiVcKCVca1wrXD5cfHslXGtcK31cKSIKKyAgc3luIG1hdGNoICBuYXNtSW5NYWNMYWJlbAljb250YWluZWQgIiVcKCRcK1woXHdcfFsjXC4/QH5dXClcaypcPlx8eyRcK1woXHdcfFsjXC4/QH5dXClcayp9XCkiCisgIHN5biBtYXRjaCAgbmFzbUluTWFjUHJlUHJvYwljb250YWluZWQgIl5ccyolXChwdXNoXHxyZXBsXClcPiJocz1lLTQgc2tpcHdoaXRlIG5leHRncm91cD1uYXNtU3RydWN0dXJlTGFiZWwsbmFzbUxhYmVsLG5hc21Jbk1hY1BhcmFtLG5hc21Mb2NhbExhYmVsLG5hc21TcGVjaWFsTGFiZWwsbmFzbUxhYmVsRXJyb3IsbmFzbVByZVByb2NFcnJvcgorICBpZiAhZXhpc3RzKCJuYXNtX25vX3dhcm4iKQorICAgIHN5biBtYXRjaCBuYXNtSW5NYWNMYmxXYXJuCWNvbnRhaW5lZCAiJVwoJVskXC5dXGsqXD5cfHslWyRcLl1cayp9XCkiCisgICAgc3luIG1hdGNoIG5hc21Jbk1hY0xibFdhcm4JY29udGFpbmVkICIlXCgkXCtcKFxkXHxbI1wuQH5dXClcaypcfHtcJFwrXChcZFx8WyNcLkB+XVwpXGsqfVwpIgorICAgIGhpIGxpbmsgbmFzbUluTWFjQ2F0TGFiZWwJbmFzbUluTWFjTGJsV2FybgorICBlbHNlCisgICAgaGkgbGluayBuYXNtSW5NYWNDYXRMYWJlbAluYXNtSW5NYWNMYWJlbAorICBlbmRpZgorZWxzZQorICBzeW4gbWF0Y2ggIG5hc21Jbk1hY0xhYmVsCWNvbnRhaW5lZCAiJVwoJVwoXHdcfFsjP0B+XVwpXGsqXD5cfHslXChcd1x8WyM/QH5dXClcayp9XCkiCisgIHN5biBtYXRjaCAgbmFzbUluTWFjTGFiZWwJY29udGFpbmVkICIlXCgkXCtcKFxoXHxbP0BdXClcaypcPlx8eyRcK1woXGhcfFs/QF1cKVxrKn1cKSIKKyAgaGkgbGluayBuYXNtSW5NYWNDYXRMYWJlbAluYXNtTGFiZWxFcnJvcgorZW5kaWYKK3N5biBtYXRjaCAgIG5hc21Jbk1hY0NhdExhYmVsCWNvbnRhaW5lZCAiXGRcS1xrKiJsYz0xCitzeW4gbWF0Y2ggICBuYXNtSW5NYWNMYWJlbAljb250YWluZWQgIlxkfVxrXCsibGM9MgoraWYgIWV4aXN0cygibmFzbV9ub193YXJuIikKKyAgc3luIG1hdGNoICBuYXNtSW5NYWNMYmxXYXJuCWNvbnRhaW5lZCAiJVwoXCgkXCtcfCVcKVtffl1bLl9+XSpcPlx8e1woJFwrXHwlXClbX35dWy5ffl0qfVwpIgorZW5kaWYKK3N5biBtYXRjaCAgIG5hc21Jbk1hY1ByZVByb2MJY29udGFpbmVkICJeXHMqJXBvcFw+ImhzPWUtMworc3luIG1hdGNoICAgbmFzbUluTWFjUHJlUHJvYwljb250YWluZWQgIl5ccyolXChwdXNoXHxyZXBsXClcPiJocz1lLTQgc2tpcHdoaXRlIG5leHRncm91cD1AbmFzbUdycE54dEN0eAorIiAgIHN0cnVjdHVyZXMgY2Fubm90IGJlIG5lc3RlZCAoeWV0KSAtPiB1c2U6ICdrZWVwZW5kJyBhbmQgJ3JlPScKK3N5biByZWdpb24gIG5hc21Jbk1hY1N0cnVjRGVmCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW5hc21TdHJ1Y3R1cmUga2VlcGVuZCBzdGFydD0iXlxzKlNUUlVDVFw+ImhzPWUtNSBlbmQ9Il5ccypFTkRTVFJVQ1RcPiJyZT1lLTkgY29udGFpbnM9QG5hc21HcnBDbnRuTWFjcm8KK3N5biByZWdpb24gIG5hc21Jbk1hY1N0cnVjRGVmCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW5hc21TdHJ1Y3R1cmUga2VlcGVuZCBzdGFydD0iXlxzKlNUUlVDXD4iaHM9ZS00ICBlbmQ9Il5ccypFTkRTVFJVQ1w+InJlPWUtOCAgY29udGFpbnM9QG5hc21HcnBDbnRuTWFjcm8KK3N5biByZWdpb24gIG5hc21Jbk1hY1N0cnVjRGVmCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW5hc21TdHJ1Y3R1cmUga2VlcGVuZCBzdGFydD0iXDxJU1RSVUNUXD1cPiIgZW5kPSJcPElFTkRcKFNUUlVDVFw9XClcPVw+IiBjb250YWlucz1AbmFzbUdycENudG5NYWNybyxuYXNtSW5TdHJ1Y3R1cmUKKyIgICB1bmlvbiB0eXBlcyBhcmUgbm90IHBhcnQgb2YgbmFzbSAoeWV0KQorInN5biByZWdpb24gIG5hc21Jbk1hY1N0cnVjRGVmCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW5hc21TdHJ1Y3R1cmUga2VlcGVuZCBzdGFydD0iXlxzKlVOSU9OXD4iaHM9ZS00IGVuZD0iXlxzKkVORFVOSU9OXD4icmU9ZS04IGNvbnRhaW5zPUBuYXNtR3JwQ250bk1hY3JvCisic3luIHJlZ2lvbiAgbmFzbUluTWFjU3RydWNEZWYJY29udGFpbmVkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9bmFzbVN0cnVjdHVyZSBrZWVwZW5kIHN0YXJ0PSJcPElVTklPTlw+IiBlbmQ9Ilw8SUVORFwoVU5JT05cKVw9XD4iIGNvbnRhaW5zPUBuYXNtR3JwQ250bk1hY3JvLG5hc21JblN0cnVjdHVyZQorc3luIHJlZ2lvbiAgbmFzbUluTWFjUHJlQ29uRGVmCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW5hc21Jbk1hY1ByZUNvbmRpdCBzdGFydD0iXlxzKiVpZm5pZG5pXD4iaHM9ZS03IHN0YXJ0PSJeXHMqJWlmXChpZG5pXHxuXChjdHhcfGRlZlx8aWRuXHxudW1cfHN0clwpXClcPiJocz1lLTYgc3RhcnQ9Il5ccyolaWZcKGN0eFx8ZGVmXHxpZG5cfG5pZFx8bnVtXHxzdHJcKVw+ImhzPWUtNSBzdGFydD0iXlxzKiVpZmlkXD4iaHM9ZS00IHN0YXJ0PSJeXHMqJWlmXD4iaHM9ZS0yIGVuZD0iJWVuZGlmXD4iIGNvbnRhaW5zPUBuYXNtR3JwQ250bk1hY3JvLG5hc21Jbk1hY1ByZUNvbmRpdCxuYXNtSW5QcmVDb25kaXQKK3N5biBtYXRjaCAgIG5hc21Jbk1hY1ByZUNvbmRpdAljb250YWluZWQgdHJhbnNwYXJlbnQgImN0eFxzImxjPTMgc2tpcHdoaXRlIG5leHRncm91cD1AbmFzbUdycE54dEN0eAorc3luIG1hdGNoICAgbmFzbUluTWFjUHJlQ29uZGl0CWNvbnRhaW5lZCAiXlxzKiVlbGlmY3R4XD4iaHM9ZS03IHNraXB3aGl0ZSBuZXh0Z3JvdXA9QG5hc21HcnBOeHRDdHgKK3N5biBtYXRjaCAgIG5hc21Jbk1hY1ByZUNvbmRpdAljb250YWluZWQgIl5ccyolZWxpZm5jdHhcPiJocz1lLTggc2tpcHdoaXRlIG5leHRncm91cD1AbmFzbUdycE54dEN0eAorc3luIG1hdGNoICAgbmFzbUluTWFjUGFyYW1OdW0JY29udGFpbmVkICJcPFxkXCtcLmxpc3RcPiJtZT1lLTUKK3N5biBtYXRjaCAgIG5hc21Jbk1hY1BhcmFtTnVtCWNvbnRhaW5lZCAiXDxcZFwrXC5ub2xpc3RcPiJtZT1lLTcKK3N5biBtYXRjaCAgIG5hc21Jbk1hY0RpcmVjdGl2ZQljb250YWluZWQgIlwuXChub1wpXD1saXN0XD4iCitzeW4gbWF0Y2ggICBuYXNtSW5NYWNNYWNybwljb250YWluZWQgdHJhbnNwYXJlbnQgIm1hY3JvXHMibGM9NSBza2lwd2hpdGUgbmV4dGdyb3VwPW5hc21TdHJ1Y3R1cmVMYWJlbAorc3luIG1hdGNoICAgbmFzbUluTWFjTWFjcm8JY29udGFpbmVkICJeXHMqJXJvdGF0ZVw+ImhzPWUtNgorc3luIG1hdGNoICAgbmFzbUluTWFjUGFyYW0JY29udGFpbmVkICIlXChbKy1dXD1cZFwrXHx7WystXVw9XGRcK31cKSIKKyIgICBuYXNtIGNvbmRpdGlvbmFsIG1hY3JvIG9wZXJhbmRzL2FyZ3VtZW50cworIiAgIFRvZG86IGNoZWNrIGZlYXNlYmlsaXR5OyBhZGQgdG9vIG5hc21HcnBJbk1hY3JvcywgZXRjLgorInN5biBtYXRjaCAgIG5hc21Jbk1hY0NvbmQJY29udGFpbmVkICJcPFwoTlw9XChbQUJHTF1FXD1cfFtDRU9TWl1cKVx8UFtFT11cPVwpXD4iCitzeW4gY2x1c3RlciBuYXNtR3JwSW5NYWNyb3MJY29udGFpbnM9bmFzbU1hY3JvLG5hc21Jbk1hY01hY3JvLG5hc21Jbk1hY1BhcmFtLG5hc21Jbk1hY1BhcmFtTnVtLG5hc21Jbk1hY0RpcmVjdGl2ZSxuYXNtSW5NYWNMYWJlbCxuYXNtSW5NYWNMYmxXYXJuLG5hc21Jbk1hY01lbVJlZixuYXNtSW5NYWNQcmVDb25EZWYsbmFzbUluTWFjUHJlQ29uZGl0LG5hc21Jbk1hY1ByZVByb2MsbmFzbUluTWFjU3RydWNEZWYKKworIiAgIENvbnRleHQgcHJlLXByb2NzIHRoYXQgYXJlIGJldHRlciB1c2VkIGluc2lkZSBhIG1hY3JvCitpZiBleGlzdHMoIm5hc21fY3R4X291dHNpZGVfbWFjcm8iKQorICBzeW4gcmVnaW9uIG5hc21QcmVDb25kaXREZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1uYXNtQ3R4UHJlQ29uZGl0IHN0YXJ0PSJeXHMqJWlmbmN0eFw+ImhzPWUtNiBzdGFydD0iXlxzKiVpZmN0eFw+ImhzPWUtNSBlbmQ9IiVlbmRpZlw+IiBjb250YWlucz1AbmFzbUdycENudG5QcmVDb24KKyAgc3luIG1hdGNoICBuYXNtQ3R4UHJlUHJvYwkiXlxzKiVwb3BcPiJocz1lLTMKKyAgaWYgZXhpc3RzKCJuYXNtX2xvb3NlX3N5bnRheCIpCisgICAgc3luIG1hdGNoICAgbmFzbUN0eExvY0xhYmVsCSIlJFwrXChcd1x8WyNcLj9Afl1cKVxrKlw+IgorICBlbHNlCisgICAgc3luIG1hdGNoICAgbmFzbUN0eExvY0xhYmVsCSIlJFwrXChcaFx8Wz9AXVwpXGsqXD4iCisgIGVuZGlmCisgIHN5biBtYXRjaCBuYXNtQ3R4UHJlUHJvYwkiXlxzKiVcKHB1c2hcfHJlcGxcKVw+ImhzPWUtNCBza2lwd2hpdGUgbmV4dGdyb3VwPUBuYXNtR3JwTnh0Q3R4CisgIHN5biBtYXRjaCBuYXNtQ3R4UHJlQ29uZGl0CWNvbnRhaW5lZCB0cmFuc3BhcmVudCAiY3R4XHMibGM9MyBza2lwd2hpdGUgbmV4dGdyb3VwPUBuYXNtR3JwTnh0Q3R4CisgIHN5biBtYXRjaCBuYXNtQ3R4UHJlQ29uZGl0CWNvbnRhaW5lZCAiXlxzKiVlbGlmY3R4XD4iaHM9ZS03IHNraXB3aGl0ZSBuZXh0Z3JvdXA9QG5hc21HcnBOeHRDdHgKKyAgc3luIG1hdGNoIG5hc21DdHhQcmVDb25kaXQJY29udGFpbmVkICJeXHMqJWVsaWZuY3R4XD4iaHM9ZS04IHNraXB3aGl0ZSBuZXh0Z3JvdXA9QG5hc21HcnBOeHRDdHgKKyAgaWYgZXhpc3RzKCJuYXNtX25vX3dhcm4iKQorICAgIGhpIGxpbmsgbmFzbUN0eFByZUNvbmRpdAluYXNtUHJlQ29uZGl0CisgICAgaGkgbGluayBuYXNtQ3R4UHJlUHJvYwluYXNtUHJlUHJvYworICAgIGhpIGxpbmsgbmFzbUN0eExvY0xhYmVsCW5hc21Mb2NhbExhYmVsCisgIGVsc2UKKyAgICBoaSBsaW5rIG5hc21DdHhQcmVDb25kaXQJbmFzbVByZVByb2NXYXJuCisgICAgaGkgbGluayBuYXNtQ3R4UHJlUHJvYwluYXNtUHJlUHJvY1dhcm4KKyAgICBoaSBsaW5rIG5hc21DdHhMb2NMYWJlbAluYXNtTGFiZWxXYXJuCisgIGVuZGlmCitlbmRpZgorCisiICBDb25kaXRpb25hbCBhc3NlbWJseQorc3luIGNsdXN0ZXIgbmFzbUdycENudG5QcmVDb24JY29udGFpbnM9QUxMQlVULEBuYXNtR3JwSW5Db21tZW50cyxAbmFzbUdycEluTWFjcm9zLEBuYXNtR3JwSW5TdHJ1Y3MKK3N5biByZWdpb24gIG5hc21QcmVDb25kaXREZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1uYXNtUHJlQ29uZGl0IHN0YXJ0PSJeXHMqJWlmbmlkbmlcPiJocz1lLTcgc3RhcnQ9Il5ccyolaWZcKGlkbmlcfG5cKGRlZlx8aWRuXHxudW1cfHN0clwpXClcPiJocz1lLTYgc3RhcnQ9Il5ccyolaWZcKGRlZlx8aWRuXHxuaWRcfG51bVx8c3RyXClcPiJocz1lLTUgc3RhcnQ9Il5ccyolaWZpZFw+ImhzPWUtNCBzdGFydD0iXlxzKiVpZlw+ImhzPWUtMiBlbmQ9IiVlbmRpZlw+IiBjb250YWlucz1AbmFzbUdycENudG5QcmVDb24KK3N5biBtYXRjaCAgIG5hc21JblByZUNvbmRpdAljb250YWluZWQgIl5ccyolZWxcKGlmXHxzZVwpXD4iaHM9ZS00CitzeW4gbWF0Y2ggICBuYXNtSW5QcmVDb25kaXQJY29udGFpbmVkICJeXHMqJWVsaWZpZFw+ImhzPWUtNgorc3luIG1hdGNoICAgbmFzbUluUHJlQ29uZGl0CWNvbnRhaW5lZCAiXlxzKiVlbGlmXChkZWZcfGlkblx8bmlkXHxudW1cfHN0clwpXD4iaHM9ZS03CitzeW4gbWF0Y2ggICBuYXNtSW5QcmVDb25kaXQJY29udGFpbmVkICJeXHMqJWVsaWZcKG5cKGRlZlx8aWRuXHxudW1cfHN0clwpXHxpZG5pXClcPiJocz1lLTgKK3N5biBtYXRjaCAgIG5hc21JblByZUNvbmRpdAljb250YWluZWQgIl5ccyolZWxpZm5pZG5pXD4iaHM9ZS05CitzeW4gY2x1c3RlciBuYXNtR3JwSW5QcmVDb25kaXRzCWNvbnRhaW5zPW5hc21QcmVDb25kaXQsbmFzbUluUHJlQ29uZGl0LG5hc21DdHhQcmVDb25kaXQKK3N5biBjbHVzdGVyIG5hc21HcnBQcmVDb25kaXRzCWNvbnRhaW5zPW5hc21QcmVDb25kaXREZWYsQG5hc21HcnBJblByZUNvbmRpdHMsbmFzbUN0eFByZVByb2MsbmFzbUN0eExvY0xhYmVsCisKKyIgIE90aGVyIHByZS1wcm9jZXNzb3Igc3RhdGVtZW50cworc3luIG1hdGNoICAgbmFzbVByZVByb2MJCSJeXHMqJXJlcFw+ImhzPWUtMworc3luIG1hdGNoICAgbmFzbVByZVByb2MJCSJeXHMqJWxpbmVcPiJocz1lLTQKK3N5biBtYXRjaCAgIG5hc21QcmVQcm9jCQkiXlxzKiVcKGNsZWFyXHxlcnJvclwpXD4iaHM9ZS01CitzeW4gbWF0Y2ggICBuYXNtUHJlUHJvYwkJIl5ccyolZW5kcmVwXD4iaHM9ZS02CitzeW4gbWF0Y2ggICBuYXNtUHJlUHJvYwkJIl5ccyolZXhpdHJlcFw+ImhzPWUtNworc3luIG1hdGNoICAgbmFzbURlZmluZQkJIl5ccyoldW5kZWZcPiJocz1lLTUKK3N5biBtYXRjaCAgIG5hc21EZWZpbmUJCSJeXHMqJVwoYXNzaWduXHxkZWZpbmVcKVw+ImhzPWUtNgorc3luIG1hdGNoICAgbmFzbURlZmluZQkJIl5ccyolaVwoYXNzaWduXHxkZWZpbmVcKVw+ImhzPWUtNworc3luIG1hdGNoICAgbmFzbUluY2x1ZGUJCSJeXHMqJWluY2x1ZGVcPiJocz1lLTcKKworIiAgTXVsdGlwbGUgcHJlLXByb2Nlc3NvciBpbnN0cnVjdGlvbnMgb24gc2luZ2xlIGxpbmUgZGV0ZWN0aW9uIChvYnNvbGV0ZSkKKyJzeW4gbWF0Y2ggICBuYXNtUHJlUHJvY0Vycm9yCSteXHMqXChbXlx0ICIlJztdW14iJSc7XSpcfFteXHQgIic7XVteIiUnO11cK1wpJVxhXCtcPisKK3N5biBjbHVzdGVyIG5hc21HcnBQcmVQcm9jcwljb250YWlucz1uYXNtTWFjcm9EZWYsQG5hc21HcnBJbk1hY3JvcyxAbmFzbUdycFByZUNvbmRpdHMsbmFzbVByZVByb2MsbmFzbURlZmluZSxuYXNtSW5jbHVkZSxuYXNtUHJlUHJvY1dhcm4sbmFzbVByZVByb2NFcnJvcgorCisKKworIiBSZWdpc3RlciBJZGVudGlmaWVyczoKKyIgIFJlZ2lzdGVyIG9wZXJhbmRzOgorc3luIG1hdGNoICAgbmFzbUdlbjA4UmVnaXN0ZXIJIlw8W0EtRF1bSExdXD4iCitzeW4gbWF0Y2ggICBuYXNtR2VuMTZSZWdpc3RlcgkiXDxcKFtBLURdWFx8W0RTXUlcfFtCU11QXClcPiIKK3N5biBtYXRjaCAgIG5hc21HZW4zMlJlZ2lzdGVyCSJcPEVcKFtBLURdWFx8W0RTXUlcfFtCU11QXClcPiIKK3N5biBtYXRjaCAgIG5hc21TZWdSZWdpc3RlcgkiXDxbQy1HU11TXD4iCitzeW4gbWF0Y2ggICBuYXNtU3BjUmVnaXN0ZXIJIlw8RVw9SVBcPiIKK3N5biBtYXRjaCAgIG5hc21GcHVSZWdpc3RlcgkiXDxTVFxvXD4iCitzeW4gbWF0Y2ggICBuYXNtTW14UmVnaXN0ZXIJIlw8TU1cb1w+Igorc3luIG1hdGNoICAgbmFzbVNzZVJlZ2lzdGVyCSJcPFhNTVxvXD4iCitzeW4gbWF0Y2ggICBuYXNtQ3RybFJlZ2lzdGVyCSJcPENSXG9cPiIKK3N5biBtYXRjaCAgIG5hc21EZWJ1Z1JlZ2lzdGVyCSJcPERSXG9cPiIKK3N5biBtYXRjaCAgIG5hc21UZXN0UmVnaXN0ZXIJIlw8VFJcb1w+Igorc3luIG1hdGNoICAgbmFzbVJlZ2lzdGVyRXJyb3IJIlw8XChDUlsxNS05XVx8RFJbNC01OC05XVx8VFJbMC0yOC05XVwpXD4iCitzeW4gbWF0Y2ggICBuYXNtUmVnaXN0ZXJFcnJvcgkiXDxYXD1NTVs4LTldXD4iCitzeW4gbWF0Y2ggICBuYXNtUmVnaXN0ZXJFcnJvcgkiXDxTVFwoKFxkKVx8WzgtOV1cPlwpIgorc3luIG1hdGNoICAgbmFzbVJlZ2lzdGVyRXJyb3IJIlw8RVwoW0EtRF1bSExdXHxbQy1HU11TXClcPiIKKyIgIE1lbW9yeSByZWZlcmVuY2Ugb3BlcmFuZCAoYWRkcmVzcyk6CitzeW4gbWF0Y2ggICBuYXNtTWVtUmVmRXJyb3IJIltcW1xdXSIKK3N5biBjbHVzdGVyIG5hc21HcnBDbnRuTWVtUmVmCWNvbnRhaW5zPUFMTEJVVCxAbmFzbUdycENvbW1lbnRzLEBuYXNtR3JwUHJlUHJvY3MsQG5hc21HcnBJblN0cnVjcyxuYXNtTWVtUmVmZXJlbmNlLG5hc21NZW1SZWZFcnJvcgorc3luIG1hdGNoICAgbmFzbUluTWFjTWVtUmVmCWNvbnRhaW5lZCAiXFtbXjtcW1xdXVx7LX1cXSIgY29udGFpbnM9QG5hc21HcnBDbnRuTWVtUmVmLG5hc21QcmVQcm9jRXJyb3IsbmFzbUluTWFjTGFiZWwsbmFzbUluTWFjTGJsV2FybixuYXNtSW5NYWNQYXJhbQorc3luIG1hdGNoICAgbmFzbU1lbVJlZmVyZW5jZQkiXFtbXjtcW1xdXVx7LX1cXSIgY29udGFpbnM9QG5hc21HcnBDbnRuTWVtUmVmLG5hc21QcmVQcm9jRXJyb3IsbmFzbUN0eExvY0xhYmVsCisKKworCisiIE5ldHdpZGUgQXNzZW1ibGVyIERpcmVjdGl2ZXM6CisiICBDb21waWxhdGlvbiBjb25zdGFudHMKK3N5biBrZXl3b3JkIG5hc21Db25zdGFudAlfX0JJVFNfXyBfX0RBVEVfXyBfX0ZJTEVfXyBfX0ZPUk1BVF9fIF9fTElORV9fCitzeW4ga2V5d29yZCBuYXNtQ29uc3RhbnQJX19OQVNNX01BSk9SX18gX19OQVNNX01JTk9SX18gX19OQVNNX1ZFUlNJT05fXworc3luIGtleXdvcmQgbmFzbUNvbnN0YW50CV9fVElNRV9fCisiICBJbnN0cnVjdGlvbiBtb2RpZmllcnMKK3N5biBtYXRjaCAgIG5hc21JbnN0cnVjdG5FcnJvcgkiXDxUT1w+Igorc3luIG1hdGNoICAgbmFzbUluc3RyTW9kaWZpZXIJIlwoXlx8OlwpXHMqW0MtR1NdU1w+Im1zPWUtMQorc3luIGtleXdvcmQgbmFzbUluc3RyTW9kaWZpZXIJQTE2IEEzMiBPMTYgTzMyCitzeW4gbWF0Y2ggICBuYXNtSW5zdHJNb2RpZmllcgkiXDxGXChBRERcfE1VTFx8XChESVZcfFNVQlwpUlw9XClcc1wrVE9cPiJsYz01LG1zPWUtMQorIiAgIHRoZSAndG8nIGtleXdvcmQgaXMgbm90IGFsbG93ZWQgZm9yIGZwdS1wb3AgaW5zdHJ1Y3Rpb25zICh5ZXQpCisic3luIG1hdGNoICAgbmFzbUluc3RyTW9kaWZpZXIJIlw8RlwoQUREXHxNVUxcfFwoRElWXHxTVUJcKVJcPVwpUFxzXCtUT1w+ImxjPTYsbXM9ZS0xCisiICBOQXNtIGRpcmVjdGl2ZXMKK3N5biBrZXl3b3JkIG5hc21SZXBlYXQJCVRJTUVTCitzeW4ga2V5d29yZCBuYXNtRGlyZWN0aXZlCUFMSUdOW0JdIElOQ0JJTiBFUVUgTk9TUExJVCBTUExJVAorc3luIGtleXdvcmQgbmFzbURpcmVjdGl2ZQlBQlNPTFVURSBCSVRTIFNFQ1RJT04gU0VHTUVOVAorc3luIGtleXdvcmQgbmFzbURpcmVjdGl2ZQlFTkRTRUNUSU9OIEVORFNFR01FTlQKK3N5biBrZXl3b3JkIG5hc21EaXJlY3RpdmUJX19TRUNUX18KKyIgIE1hY3JvIGNyZWF0ZWQgc3RhbmRhcmQgZGlyZWN0aXZlczogKHJlcXVpcmVzICVpbmNsdWRlKQorc3luIGNhc2UgbWF0Y2gKK3N5biBrZXl3b3JkIG5hc21TdGREaXJlY3RpdmUJRU5EUFJPQyBFUElMT0dVRSBMT0NBTFMgUFJPQyBQUk9MT0dVRSBVU0VTCitzeW4ga2V5d29yZCBuYXNtU3RkRGlyZWN0aXZlCUVORElGIEVMU0UgRUxJRiBFTFNJRiBJRgorInN5biBrZXl3b3JkIG5hc21TdGREaXJlY3RpdmUJQlJFQUsgQ0FTRSBERUZBVUxUIEVORFNXSVRDSCBTV0lUQ0gKKyJzeW4ga2V5d29yZCBuYXNtU3RkRGlyZWN0aXZlCUNBU0UgT0YgRU5EQ0FTRQorc3luIGtleXdvcmQgbmFzbVN0ZERpcmVjdGl2ZQlETyBFTkRGT1IgRU5EV0hJTEUgRk9SIFJFUEVBVCBVTlRJTCBXSElMRSBFWElUCitzeW4gY2FzZSBpZ25vcmUKKyIgIEZvcm1hdCBzcGVjaWZpYyBkaXJlY3RpdmVzOiAoYWxsIGZvcm1hdHMpCisiICAoZXhjbHVkZWQ6IGV4dGVuc2lvbiBkaXJlY3RpdmVzIHRvIHNlY3Rpb24sIGdsb2JhbCwgY29tbW9uIGFuZCBleHRlcm4pCitzeW4ga2V5d29yZCBuYXNtRm10RGlyZWN0aXZlCU9SRworc3luIGtleXdvcmQgbmFzbUZtdERpcmVjdGl2ZQlFWFBPUlQgSU1QT1JUIEdST1VQIFVQUEVSQ0FTRSBTRUcgV1JUCitzeW4ga2V5d29yZCBuYXNtRm10RGlyZWN0aXZlCUxJQlJBUlkKK3N5biBjYXNlIG1hdGNoCitzeW4ga2V5d29yZCBuYXNtRm10RGlyZWN0aXZlCV9HTE9CQUxfT0ZGU0VUX1RBQkxFXyBfX0dMT0JBTF9PRkZTRVRfVEFCTEVfCitzeW4ga2V5d29yZCBuYXNtRm10RGlyZWN0aXZlCS4uc3RhcnQgLi5nb3QgLi5nb3RvZmYgLi5nb3RwYyAuLnBsdCAuLnN5bQorc3luIGNhc2UgaWdub3JlCisKKworCisiIFN0YW5kYXJkIEluc3RydWN0aW9uczoKK3N5biBtYXRjaCAgIG5hc21JbnN0cnVjdG5FcnJvcgkiXDxcKEZcPUNNT1ZcfFNFVFwpTlw9XGFcezAsMn1cPiIKK3N5biBrZXl3b3JkIG5hc21JbnN0cnVjdG5FcnJvcglDTVBTIE1PVlMgTENTIExPRFMgU1RPUyBYTEFUCitzeW4gbWF0Y2ggICBuYXNtU3RkSW5zdHJ1Y3Rpb24JIlw8TU9WXD4iCitzeW4gbWF0Y2ggICBuYXNtSW5zdHJ1Y3RuRXJyb3IJIlw8TU9WXHNbXiw7W10qXDxDU1w+XHMqW146XSJoZT1lLTEKK3N5biBtYXRjaCAgIG5hc21TdGRJbnN0cnVjdGlvbgkiXDxcKENNT1ZcfEpcfFNFVFwpXChOXD1cKFtBQkdMXUVcPVx8W0NFT1NaXVwpXHxQW0VPXVw9XClcPiIKK3N5biBtYXRjaCAgIG5hc21TdGRJbnN0cnVjdGlvbgkiXDxQT1BcPiIKK3N5biBrZXl3b3JkIG5hc21TdGRJbnN0cnVjdGlvbglBQUEgQUFEIEFBTSBBQVMgQURDIEFERCBBTkQKK3N5biBrZXl3b3JkIG5hc21TdGRJbnN0cnVjdGlvbglCT1VORCBCU0YgQlNSIEJTV0FQIEJUW0NdIEJUUiBCVFMKK3N5biBrZXl3b3JkIG5hc21TdGRJbnN0cnVjdGlvbglDQUxMIENCVyBDRFEgQ0xDIENMRCBDTUMgQ01QIENNUFNCIENNUFNEIENNUFNXCitzeW4ga2V5d29yZCBuYXNtU3RkSW5zdHJ1Y3Rpb24JQ01QWENIRyBDTVBYQ0hHOEIgQ1BVSUQgQ1dEW0VdCitzeW4ga2V5d29yZCBuYXNtU3RkSW5zdHJ1Y3Rpb24JREFBIERBUyBERUMgRElWIEVOVEVSCitzeW4ga2V5d29yZCBuYXNtU3RkSW5zdHJ1Y3Rpb24JSURJViBJTVVMIElOQyBJTlRbT10gSVJFVFtEXSBJUkVUVworc3luIGtleXdvcmQgbmFzbVN0ZEluc3RydWN0aW9uCUpDWFogSkVDWFogSk1QCitzeW4ga2V5d29yZCBuYXNtU3RkSW5zdHJ1Y3Rpb24JTEFIRiBMRFMgTEVBIExFQVZFIExFUyBMRlMgTEdTIExPRFNCIExPRFNECitzeW4ga2V5d29yZCBuYXNtU3RkSW5zdHJ1Y3Rpb24JTE9EU1cgTE9PUFtFXSBMT09QTkUgTE9PUE5aIExPT1BaIExTUworc3luIGtleXdvcmQgbmFzbVN0ZEluc3RydWN0aW9uCU1PVlNCIE1PVlNEIE1PVlNXIE1PVlNYIE1PVlpYIE1VTCBORUcgTk9QIE5PVAorc3luIGtleXdvcmQgbmFzbVN0ZEluc3RydWN0aW9uCU9SIFBPUEFbRF0gUE9QQVcgUE9QRltEXSBQT1BGVworc3luIGtleXdvcmQgbmFzbVN0ZEluc3RydWN0aW9uCVBVU0hbQURdIFBVU0hBVyBQVVNIRltEXSBQVVNIRlcKK3N5biBrZXl3b3JkIG5hc21TdGRJbnN0cnVjdGlvbglSQ0wgUkNSIFJFVEYgUkVUW05dIFJPTCBST1IKK3N5biBrZXl3b3JkIG5hc21TdGRJbnN0cnVjdGlvbglTQUhGIFNBTCBTQVIgU0JCIFNDQVNCIFNDQVNEIFNDQVNXCitzeW4ga2V5d29yZCBuYXNtU3RkSW5zdHJ1Y3Rpb24JU0hMW0RdIFNIUltEXSBTVEMgU1REIFNUT1NCIFNUT1NEIFNUT1NXIFNVQgorc3luIGtleXdvcmQgbmFzbVN0ZEluc3RydWN0aW9uCVRFU1QgWEFERCBYQ0hHIFhMQVRCIFhPUgorCisKKyIgU3lzdGVtIEluc3RydWN0aW9uczogKHVzdWFsbHkgcHJpdmlsZWdlZCkKKyIgIFZlcmlmaWNhdGlvbiBvZiBwb2ludGVyIHBhcmFtZXRlcnMKK3N5biBrZXl3b3JkIG5hc21TeXNJbnN0cnVjdGlvbglBUlBMIExBUiBMU0wgVkVSUiBWRVJXCisiICBBZGRyZXNzaW5nIGRlc2NyaXB0b3IgdGFibGVzCitzeW4ga2V5d29yZCBuYXNtU3lzSW5zdHJ1Y3Rpb24JTExEVCBTTERUIExHRFQgU0dEVAorIiAgTXVsdGl0YXNraW5nCitzeW4ga2V5d29yZCBuYXNtU3lzSW5zdHJ1Y3Rpb24JTFRSIFNUUgorIiAgQ29wcm9jZXNzaW5nIGFuZCBNdWx0aXByb2Nlc3NpbmcgKHJlcXVpcmVzIGZwdSBhbmQgbXVsdGlwbGUgY3B1J3MgcmVzcC4pCitzeW4ga2V5d29yZCBuYXNtU3lzSW5zdHJ1Y3Rpb24JQ0xUUyBMT0NLIFdBSVQKKyIgIElucHV0IGFuZCBPdXRwdXQKK3N5biBrZXl3b3JkIG5hc21JbnN0cnVjdG5FcnJvcglJTlMgT1VUUworc3luIGtleXdvcmQgbmFzbVN5c0luc3RydWN0aW9uCUlOIElOU0IgSU5TVyBJTlNEIE9VVCBPVVRTQiBPVVRTQiBPVVRTVyBPVVRTRAorIiAgSW50ZXJydXB0IGNvbnRyb2wKK3N5biBrZXl3b3JkIG5hc21TeXNJbnN0cnVjdGlvbglDTEkgU1RJIExJRFQgU0lEVAorIiAgU3lzdGVtIGNvbnRyb2wKK3N5biBtYXRjaCAgIG5hc21TeXNJbnN0cnVjdGlvbgkiXDxNT1Zcc1teO11cey19XDxDUlxvXD4ibWU9cyszCitzeW4ga2V5d29yZCBuYXNtU3lzSW5zdHJ1Y3Rpb24JSExUIElOVkQgTE1TVworc3luIGtleXdvcmQgbmFzbVNzZUluc3RydWN0aW9uCVBSRUZFVENIVDAgUFJFRkVUQ0hUMSBQUkVGRVRDSFQyIFBSRUZFVENITlRBCitzeW4ga2V5d29yZCBuYXNtU3NlSW5zdHJ1Y3Rpb24JUlNNIFNGRU5DRSBTTVNXIFNZU0VOVEVSIFNZU0VYSVQgVUQyIFdCSU5WRAorIiAgVExCIChUcmFuc2xhdGlvbiBMb29rYWhlYWQgQnVmZmVyKSB0ZXN0aW5nCitzeW4gbWF0Y2ggICBuYXNtU3lzSW5zdHJ1Y3Rpb24JIlw8TU9WXHNbXjtdXHstfVw8VFJcb1w+Im1lPXMrMworc3luIGtleXdvcmQgbmFzbVN5c0luc3RydWN0aW9uCUlOVkxQRworCisiIERlYnVnZ2luZyBJbnN0cnVjdGlvbnM6IChwcml2aWxlZ2VkKQorc3luIG1hdGNoICAgbmFzbURiZ0luc3RydWN0aW9uCSJcPE1PVlxzW147XVx7LX1cPERSXG9cPiJtZT1zKzMKK3N5biBrZXl3b3JkIG5hc21EYmdJbnN0cnVjdGlvbglJTlQxIElOVDMgUkRNU1IgUkRUU0MgUkRQTUMgV1JNU1IKKworCisiIEZsb2F0aW5nIFBvaW50IEluc3RydWN0aW9uczogKHJlcXVpcmVzIEZQVSkKK3N5biBtYXRjaCAgIG5hc21GcHVJbnN0cnVjdGlvbgkiXDxGQ01PVk5cPVwoW0FCXUVcPVx8W0NFUFVaXVwpXD4iCitzeW4ga2V5d29yZCBuYXNtRnB1SW5zdHJ1Y3Rpb24JRjJYTTEgRkFCUyBGQUREW1BdIEZCTEQgRkJTVFAKK3N5biBrZXl3b3JkIG5hc21GcHVJbnN0cnVjdGlvbglGQ0hTIEZDTEVYIEZDT01bSVBdIEZDT01QW1BdIEZDT1MKK3N5biBrZXl3b3JkIG5hc21GcHVJbnN0cnVjdGlvbglGREVDU1RQIEZESVNJIEZESVZbUF0gRkRJVlJbUF0gRkVOSSBGRlJFRQorc3luIGtleXdvcmQgbmFzbUZwdUluc3RydWN0aW9uCUZJQUREIEZJQ09NW1BdIEZJRElWW1JdIEZJTEQKK3N5biBrZXl3b3JkIG5hc21GcHVJbnN0cnVjdGlvbglGSU1VTCBGSU5DU1RQIEZJTklUIEZJU1RbUF0gRklTVUJbUl0KK3N5biBrZXl3b3JkIG5hc21GcHVJbnN0cnVjdGlvbglGTERbMV0gRkxEQ1cgRkxERU5WIEZMREwyRSBGTERMMlQgRkxETEcyCitzeW4ga2V5d29yZCBuYXNtRnB1SW5zdHJ1Y3Rpb24JRkxETE4yIEZMRFBJIEZMRFogRk1VTFtQXQorc3luIGtleXdvcmQgbmFzbUZwdUluc3RydWN0aW9uCUZOQ0xFWCBGTkRJU0kgRk5FTkkgRk5JTklUIEZOT1AgRk5TQVZFCitzeW4ga2V5d29yZCBuYXNtRnB1SW5zdHJ1Y3Rpb24JRk5TVENXIEZOU1RFTlYgRk5TVFNXIEZOU1RTVworc3luIGtleXdvcmQgbmFzbUZwdUluc3RydWN0aW9uCUZQQVRBTiBGUFJFTVsxXSBGUFRBTiBGUk5ESU5UIEZSU1RPUgorc3luIGtleXdvcmQgbmFzbUZwdUluc3RydWN0aW9uCUZTQVZFIEZTQ0FMRSBGU0VUUE0gRlNJTiBGU0lOQ09TIEZTUVJUCitzeW4ga2V5d29yZCBuYXNtRnB1SW5zdHJ1Y3Rpb24JRlNUQ1cgRlNURU5WIEZTVFtQXSBGU1RTVyBGU1VCW1BdIEZTVUJSW1BdCitzeW4ga2V5d29yZCBuYXNtRnB1SW5zdHJ1Y3Rpb24JRlRTVCBGVUNPTVtJUF0gRlVDT01QW1BdCitzeW4ga2V5d29yZCBuYXNtRnB1SW5zdHJ1Y3Rpb24JRlhBTSBGWENIIEZYVFJBQ1QgRllMMlggRllMMlhQMQorCisKKyIgTXVsdGkgTWVkaWEgWHRlbnNpb24gUGFja2VkIEluc3RydWN0aW9uczogKHJlcXVpcmVzIE1NWCB1bml0KQorIiAgU3RhbmRhcmQgTU1YIGluc3RydWN0aW9uczogKHJlcXVpcmVzIE1NWDEgdW5pdCkKK3N5biBtYXRjaCAgIG5hc21JbnN0cnVjdG5FcnJvcgkiXDxQXChBRERcfFNVQlwpVVw9U1w9W0RRXVw9XD4iCitzeW4gbWF0Y2ggICBuYXNtSW5zdHJ1Y3RuRXJyb3IJIlw8UENNUFxhXHswLDJ9W0JEV1FdXD1cPiIKK3N5biBrZXl3b3JkIG5hc21NbXhJbnN0cnVjdGlvbglFTU1TIE1PVkQgTU9WUQorc3luIGtleXdvcmQgbmFzbU1teEluc3RydWN0aW9uCVBBQ0tTU0RXIFBBQ0tTU1dCIFBBQ0tVU1dCIFBBRERCIFBBREREIFBBRERXCitzeW4ga2V5d29yZCBuYXNtTW14SW5zdHJ1Y3Rpb24JUEFERFNCIFBBRERTVyBQQUREVVNCIFBBRERVU1cgUEFORFtOXQorc3luIGtleXdvcmQgbmFzbU1teEluc3RydWN0aW9uCVBDTVBFUUIgUENNUEVRRCBQQ01QRVFXIFBDTVBHVEIgUENNUEdURCBQQ01QR1RXCitzeW4ga2V5d29yZCBuYXNtTW14SW5zdHJ1Y3Rpb24JUE1BQ0hSSVcgUE1BRERXRCBQTVVMSFcgUE1VTExXIFBPUgorc3luIGtleXdvcmQgbmFzbU1teEluc3RydWN0aW9uCVBTTExEIFBTTExRIFBTTExXIFBTUkFEIFBTUkFXIFBTUkxEIFBTUkxRIFBTUkxXCitzeW4ga2V5d29yZCBuYXNtTW14SW5zdHJ1Y3Rpb24JUFNVQkIgUFNVQkQgUFNVQlcgUFNVQlNCIFBTVUJTVyBQU1VCVVNCIFBTVUJVU1cKK3N5biBrZXl3b3JkIG5hc21NbXhJbnN0cnVjdGlvbglQVU5QQ0tIQlcgUFVOUENLSERRIFBVTlBDS0hXRAorc3luIGtleXdvcmQgbmFzbU1teEluc3RydWN0aW9uCVBVTlBDS0xCVyBQVU5QQ0tMRFEgUFVOUENLTFdEIFBYT1IKKyIgIEV4dGVuZGVkIE1NWCBpbnN0cnVjdGlvbnM6IChyZXF1aXJlcyBNTVgyL1NTRSB1bml0KQorc3luIGtleXdvcmQgbmFzbU1teEluc3RydWN0aW9uCU1BU0tNT1ZRIE1PVk5UUQorc3luIGtleXdvcmQgbmFzbU1teEluc3RydWN0aW9uCVBBVkdCIFBBVkdXIFBFWFRSVyBQSU5TUlcgUE1BWFNXIFBNQVhVQgorc3luIGtleXdvcmQgbmFzbU1teEluc3RydWN0aW9uCVBNSU5TVyBQTUlOVUIgUE1PVk1TS0IgUE1VTEhVVyBQU0FEQlcgUFNIVUZXCisKKworIiBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb24gUGFja2VkIEluc3RydWN0aW9uczogKHJlcXVpcmVzIFNTRSB1bml0KQorc3luIG1hdGNoICAgbmFzbUluc3RydWN0bkVycm9yCSJcPENNUFxhXHsxLDV9W1BTXVNcPiIKK3N5biBtYXRjaCAgIG5hc21Tc2VJbnN0cnVjdGlvbgkiXDxDTVBcKE5cPVwoRVFcfExbRVRdXClcfFwoVU5cKVw9T1JEXClcPVtQU11TXD4iCitzeW4ga2V5d29yZCBuYXNtU3NlSW5zdHJ1Y3Rpb24JQUREUFMgQUREU1MgQU5ETlBTIEFORFBTCitzeW4ga2V5d29yZCBuYXNtU3NlSW5zdHJ1Y3Rpb24JQ09NSVNTIENWVFBJMlBTIENWVFBTMlBJCitzeW4ga2V5d29yZCBuYXNtU3NlSW5zdHJ1Y3Rpb24JQ1ZUU0kyU1MgQ1ZUU1MyU0kgQ1ZUVFBTMlBJIENWVFRTUzJTSQorc3luIGtleXdvcmQgbmFzbVNzZUluc3RydWN0aW9uCURJVlBTIERJVlNTIEZYUlNUT1IgRlhTQVZFIExETVhDU1IKK3N5biBrZXl3b3JkIG5hc21Tc2VJbnN0cnVjdGlvbglNQVhQUyBNQVhTUyBNSU5QUyBNSU5TUyBNT1ZBUFMgTU9WSExQUyBNT1ZIUFMKK3N5biBrZXl3b3JkIG5hc21Tc2VJbnN0cnVjdGlvbglNT1ZMSFBTIE1PVkxQUyBNT1ZNU0tQUyBNT1ZOVFBTIE1PVlNTIE1PVlVQUworc3luIGtleXdvcmQgbmFzbVNzZUluc3RydWN0aW9uCU1VTFBTIE1VTFNTCitzeW4ga2V5d29yZCBuYXNtU3NlSW5zdHJ1Y3Rpb24JT1JQUyBSQ1BQUyBSQ1BTUyBSU1FSVFBTIFJTUVJUU1MKK3N5biBrZXl3b3JkIG5hc21Tc2VJbnN0cnVjdGlvbglTSFVGUFMgU1FSVFBTIFNRUlRTUyBTVE1YQ1NSIFNVQlBTIFNVQlNTCitzeW4ga2V5d29yZCBuYXNtU3NlSW5zdHJ1Y3Rpb24JVUNPTUlTUyBVTlBDS0hQUyBVTlBDS0xQUyBYT1JQUworCisKKyIgVGhyZWUgRGltZW5zaW9uYWwgTm93IFBhY2tlZCBJbnN0cnVjdGlvbnM6IChyZXF1aXJlcyAzRE5vdyEgdW5pdCkKK3N5biBrZXl3b3JkIG5hc21Ob3dJbnN0cnVjdGlvbglGRU1NUyBQQVZHVVNCIFBGMklEIFBGQUNDIFBGQUREIFBGQ01QRVEgUEZDTVBHRQorc3luIGtleXdvcmQgbmFzbU5vd0luc3RydWN0aW9uCVBGQ01QR1QgUEZNQVggUEZNSU4gUEZNVUwgUEZSQ1AgUEZSQ1BJVDEKK3N5biBrZXl3b3JkIG5hc21Ob3dJbnN0cnVjdGlvbglQRlJDUElUMiBQRlJTUUlUMSBQRlJTUVJUIFBGU1VCW1JdIFBJMkZECitzeW4ga2V5d29yZCBuYXNtTm93SW5zdHJ1Y3Rpb24JUE1VTEhSV0EgUFJFRkVUQ0hbV10KKworCisiIFZlbmRvciBTcGVjaWZpYyBJbnN0cnVjdGlvbnM6CisiICBDeXJpeCBpbnN0cnVjdGlvbnMgKHJlcXVpcmVzIEN5cml4IHByb2Nlc3NvcikKK3N5biBrZXl3b3JkIG5hc21DcnhJbnN0cnVjdGlvbglQQUREU0lXIFBBVkVCIFBESVNUSUIgUE1BR1cgUE1VTEhSV1tDXSBQTVVMSFJJVworc3luIGtleXdvcmQgbmFzbUNyeEluc3RydWN0aW9uCVBNVkdFWkIgUE1WTFpCIFBNVk5aQiBQTVZaQiBQU1VCU0lXCitzeW4ga2V5d29yZCBuYXNtQ3J4SW5zdHJ1Y3Rpb24JUkRTSFIgUlNEQyBSU0xEVCBTTUlOVCBTTUlOVE9MRCBTVkRDIFNWTERUIFNWVFMKK3N5biBrZXl3b3JkIG5hc21DcnhJbnN0cnVjdGlvbglXUlNIUgorIiAgQU1EIGluc3RydWN0aW9ucyAocmVxdWlyZXMgQU1EIHByb2Nlc3NvcikKK3N5biBrZXl3b3JkIG5hc21BbWRJbnN0cnVjdGlvbglTWVNDQUxMIFNZU1JFVAorCisKKyIgVW5kb2N1bWVudGVkIEluc3RydWN0aW9uczoKK3N5biBtYXRjaCAgIG5hc21VbmRJbnN0cnVjdGlvbgkiXDxQT1Bcc1teO10qXDxDU1w+Im1lPXMrMworc3luIGtleXdvcmQgbmFzbVVuZEluc3RydWN0aW9uCUNNUFhDSEc0ODYgSUJUUyBJQ0VCUCBJTlQwMSBJTlQwMyBMT0FEQUxMCitzeW4ga2V5d29yZCBuYXNtVW5kSW5zdHJ1Y3Rpb24JTE9BREFMTDI4NiBMT0FEQUxMMzg2IFNBTEMgU01JIFVEMSBVTU9WIFhCVFMKKworCisKKyIgU3luY2hyb25pemUgU3ludGF4Ogorc3luIHN5bmMgY2xlYXIKK3N5biBzeW5jIG1pbmxpbmVzPTUwCQkiZm9yIG11bHRpcGxlIHJlZ2lvbiBuZXN0aW5nCitzeW4gc3luYyBtYXRjaCAgbmFzbVN5bmMJZ3JvdXBoZXJlIG5hc21NYWNyb0RlZiAiXlxzKiVpXD1tYWNyb1w+Im1lPXMtMQorc3luIHN5bmMgbWF0Y2gJbmFzbVN5bmMJZ3JvdXBoZXJlIE5PTkUJICAgICAgICJeXHMqJWVuZG1hY3JvXD4iCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXIgIDogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9uYXNtX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX25hc21fc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFN1YiBMaW5rczoKKyAgSGlMaW5rIG5hc21Jbk1hY0RpcmVjdGl2ZQluYXNtRGlyZWN0aXZlCisgIEhpTGluayBuYXNtSW5NYWNMYWJlbAkJbmFzbUxvY2FsTGFiZWwKKyAgSGlMaW5rIG5hc21Jbk1hY0xibFdhcm4JbmFzbUxhYmVsV2FybgorICBIaUxpbmsgbmFzbUluTWFjTWFjcm8JCW5hc21NYWNybworICBIaUxpbmsgbmFzbUluTWFjUGFyYW0JCW5hc21NYWNybworICBIaUxpbmsgbmFzbUluTWFjUGFyYW1OdW0JbmFzbURlY051bWJlcgorICBIaUxpbmsgbmFzbUluTWFjUHJlQ29uZGl0CW5hc21QcmVDb25kaXQKKyAgSGlMaW5rIG5hc21Jbk1hY1ByZVByb2MJbmFzbVByZVByb2MKKyAgSGlMaW5rIG5hc21JblByZUNvbmRpdAluYXNtUHJlQ29uZGl0CisgIEhpTGluayBuYXNtSW5TdHJ1Y3R1cmUJbmFzbVN0cnVjdHVyZQorICBIaUxpbmsgbmFzbVN0cnVjdHVyZUxhYmVsCW5hc21TdHJ1Y3R1cmUKKworICAiIENvbW1lbnQgR3JvdXA6CisgIEhpTGluayBuYXNtQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbmFzbVNwZWNpYWxDb21tZW50CVNwZWNpYWxDb21tZW50CisgIEhpTGluayBuYXNtSW5Db21tZW50VG9kbwlUb2RvCisKKyAgIiBDb25zdGFudCBHcm91cDoKKyAgSGlMaW5rIG5hc21TdHJpbmcJCVN0cmluZworICBIaUxpbmsgbmFzbVN0cmluZ0Vycm9yCUVycm9yCisgIEhpTGluayBuYXNtQmluTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIG5hc21PY3ROdW1iZXIJCU51bWJlcgorICBIaUxpbmsgbmFzbURlY051bWJlcgkJTnVtYmVyCisgIEhpTGluayBuYXNtSGV4TnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIG5hc21GbHROdW1iZXIJCUZsb2F0CisgIEhpTGluayBuYXNtTnVtYmVyRXJyb3IJRXJyb3IKKworICAiIElkZW50aWZpZXIgR3JvdXA6CisgIEhpTGluayBuYXNtTGFiZWwJCUlkZW50aWZpZXIKKyAgSGlMaW5rIG5hc21Mb2NhbExhYmVsCQlJZGVudGlmaWVyCisgIEhpTGluayBuYXNtU3BlY2lhbExhYmVsCVNwZWNpYWwKKyAgSGlMaW5rIG5hc21MYWJlbEVycm9yCQlFcnJvcgorICBIaUxpbmsgbmFzbUxhYmVsV2FybgkJVG9kbworCisgICIgUHJlUHJvYyBHcm91cDoKKyAgSGlMaW5rIG5hc21QcmVQcm9jCQlQcmVQcm9jCisgIEhpTGluayBuYXNtRGVmaW5lCQlEZWZpbmUKKyAgSGlMaW5rIG5hc21JbmNsdWRlCQlJbmNsdWRlCisgIEhpTGluayBuYXNtTWFjcm8JCU1hY3JvCisgIEhpTGluayBuYXNtUHJlQ29uZGl0CQlQcmVDb25kaXQKKyAgSGlMaW5rIG5hc21QcmVQcm9jRXJyb3IJRXJyb3IKKyAgSGlMaW5rIG5hc21QcmVQcm9jV2FybglUb2RvCisKKyAgIiBUeXBlIEdyb3VwOgorICBIaUxpbmsgbmFzbVR5cGUJCVR5cGUKKyAgSGlMaW5rIG5hc21TdG9yYWdlCQlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIG5hc21TdHJ1Y3R1cmUJCVN0cnVjdHVyZQorICBIaUxpbmsgbmFzbVR5cGVFcnJvcgkJRXJyb3IKKworICAiIERpcmVjdGl2ZSBHcm91cDoKKyAgSGlMaW5rIG5hc21Db25zdGFudAkJQ29uc3RhbnQKKyAgSGlMaW5rIG5hc21JbnN0ck1vZGlmaWVyCU9wZXJhdG9yCisgIEhpTGluayBuYXNtUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIG5hc21EaXJlY3RpdmUJCUtleXdvcmQKKyAgSGlMaW5rIG5hc21TdGREaXJlY3RpdmUJT3BlcmF0b3IKKyAgSGlMaW5rIG5hc21GbXREaXJlY3RpdmUJS2V5d29yZAorCisgICIgUmVnaXN0ZXIgR3JvdXA6CisgIEhpTGluayBuYXNtQ3RybFJlZ2lzdGVyCVNwZWNpYWwKKyAgSGlMaW5rIG5hc21EZWJ1Z1JlZ2lzdGVyCURlYnVnCisgIEhpTGluayBuYXNtVGVzdFJlZ2lzdGVyCVNwZWNpYWwKKyAgSGlMaW5rIG5hc21SZWdpc3RlckVycm9yCUVycm9yCisgIEhpTGluayBuYXNtTWVtUmVmRXJyb3IJRXJyb3IKKworICAiIEluc3RydWN0aW9uIEdyb3VwOgorICBIaUxpbmsgbmFzbVN0ZEluc3RydWN0aW9uCVN0YXRlbWVudAorICBIaUxpbmsgbmFzbVN5c0luc3RydWN0aW9uCVN0YXRlbWVudAorICBIaUxpbmsgbmFzbURiZ0luc3RydWN0aW9uCURlYnVnCisgIEhpTGluayBuYXNtRnB1SW5zdHJ1Y3Rpb24JU3RhdGVtZW50CisgIEhpTGluayBuYXNtTW14SW5zdHJ1Y3Rpb24JU3RhdGVtZW50CisgIEhpTGluayBuYXNtU3NlSW5zdHJ1Y3Rpb24JU3RhdGVtZW50CisgIEhpTGluayBuYXNtTm93SW5zdHJ1Y3Rpb24JU3RhdGVtZW50CisgIEhpTGluayBuYXNtQW1kSW5zdHJ1Y3Rpb24JU3BlY2lhbAorICBIaUxpbmsgbmFzbUNyeEluc3RydWN0aW9uCVNwZWNpYWwKKyAgSGlMaW5rIG5hc21VbmRJbnN0cnVjdGlvbglUb2RvCisgIEhpTGluayBuYXNtSW5zdHJ1Y3RuRXJyb3IJRXJyb3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibmFzbSIKKworIiB2aW06dHM9OCBzdz00CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9uYXN0cmFuLnZpbSBiL3J1bnRpbWUvc3ludGF4L25hc3RyYW4udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3OTI3NjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9uYXN0cmFuLnZpbQpAQCAtMCwwICsxLDE5MyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6IE5BU1RSQU4gaW5wdXQvRE1BUAorIiBNYWludGFpbmVyOiBUb20gS293YWxza2kgPHRya0BzY2hhZWZmZXJhcy5jb20+CisiIExhc3QgY2hhbmdlOiBBcHJpbCAyNywgMjAwMQorIiAgVGhhbmtzIHRvIHRoZSBhdXRob3JzIGFuZCBtYWludGFpbmVycyBvZiBmb3J0cmFuLnZpbS4KKyIJCVNpbmNlIERNQVAgc2hhcmVzIHNvbWUgdHJhaXRzIHdpdGggZm9ydHJhbiwgdGhpcyBzeW50YXggZmlsZQorIgkJaXMgYmFzZWQgb24gdGhlIGZvcnRyYW4udmltIHN5bnRheCBmaWxlLgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCisic3luIGNsZWFyCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKyIgRE1BUCBpcyBub3QgY2FzZSBkZXBlbmRlbnQKK3N5biBjYXNlIGlnbm9yZQorIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tRE1BUCBTWU5UQVgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIKKyIgLS0tLS0tLUV4ZWN1dGl2ZSBNb2R1bGVzIGFuZCBTdGF0ZW1lbnRzCisiCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcGV4ZWNtb2QJICAgICAgIGNhbGwgZGJ2aWV3IGRlbGV0ZSBlbmQgZXF1aXYgZXF1aXZ4IGV4aXQKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwZXhlY21vZAkgICAgICAgZmlsZSBtZXNzYWdlIHB1cmdlIHB1cmdleCByZXR1cm4gc3ViZG1hcAorc3luIGtleXdvcmQgbmFzdHJhbkRtYXBUeXBlCSAgICAgICB0eXBlCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcExhYmVsICBnbyB0byBnb3RvCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcFJlcGVhdCAgaWYgZWxzZSBlbHNlaWYgZW5kaWYgdGhlbgorc3luIGtleXdvcmQgbmFzdHJhbkRtYXBSZXBlYXQgIGRvIHdoaWxlCitzeW4gcmVnaW9uIG5hc3RyYW5EbWFwU3RyaW5nICBzdGFydD0rIisgZW5kPSsiKyBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5EbWFwU3RyaW5nICBzdGFydD0rJysgZW5kPSsnKyBvbmVsaW5lCisiIElmIHlvdSBkb24ndCBsaWtlIGluaXRpYWwgdGFicyBpbiBkbWFwIChvciBhdCBhbGwpCisic3luIG1hdGNoIG5hc3RyYW5EbWFwSW5pVGFiICAiXlx0LiokIgorInN5biBtYXRjaCBuYXN0cmFuRG1hcFRhYiAgICJcdCIKKworIiBBbnkgaW50ZWdlcgorc3luIG1hdGNoIG5hc3RyYW5EbWFwTnVtYmVyICAiLVw9XDxbMC05XVwrXD4iCisiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggbmFzdHJhbkRtYXBGbG9hdCAgIlw8WzAtOV1cK1wuWzAtOV0qXChbZWRFRF1bLStdXD1bMC05XVwrXClcPVw+IgorIiBmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggbmFzdHJhbkRtYXBGbG9hdCAgIlwuWzAtOV1cK1woW2VkRURdWy0rXVw9WzAtOV1cK1wpXD1cPiIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGRvdCwgd2l0aCBleHBvbmVudAorc3luIG1hdGNoIG5hc3RyYW5EbWFwRmxvYXQgICJcPFswLTldXCtbZWRFRF1bLStdXD1bMC05XVwrXD4iCisKK3N5biBtYXRjaCBuYXN0cmFuRG1hcExvZ2ljYWwgIlwodHJ1ZVx8ZmFsc2VcKSIKKworc3luIG1hdGNoIG5hc3RyYW5EbWFwUHJlQ29uZGl0ICAiXiNkZWZpbmVcPiIKK3N5biBtYXRjaCBuYXN0cmFuRG1hcFByZUNvbmRpdCAgIl4jaW5jbHVkZVw+IgorIgorIiAtLS0tLS0tQ29tbWVudHMgbWF5IGJlIGNvbnRhaW5lZCBpbiBhbm90aGVyIGxpbmUuCisiCitzeW4gbWF0Y2ggbmFzdHJhbkRtYXBDb21tZW50ICJeW1wkXS4qJCIKK3N5biBtYXRjaCBuYXN0cmFuRG1hcENvbW1lbnQgIlwkLiokIgorc3luIG1hdGNoIG5hc3RyYW5EbWFwQ29tbWVudCAiXltcJF0uKiQiIGNvbnRhaW5lZAorc3luIG1hdGNoIG5hc3RyYW5EbWFwQ29tbWVudCAiXCQuKiQiICBjb250YWluZWQKKyIgVHJlYXQgYWxsIHBhc3QgNzJuZCBjb2x1bW4gYXMgYSBjb21tZW50LiBEbyBub3Qgd29yayB3aXRoIHRhYnMhCisiIEJyZWFrcyBkb3duIHdoZW4gNzItNzNyZCBjb2x1bW4gaXMgaW4gYW5vdGhlciBtYXRjaCAoZWcgbnVtYmVyIG9yIGtleXdvcmQpCitzeW4gbWF0Y2ggIG5hc3RyYW5EbWFwQ29tbWVudCAgIl4uXHstNzJ9LiokImxjPTcyIGNvbnRhaW5lZAorCisiCisiIC0tLS0tLS1VdGlsaXR5IE1vZHVsZXMKKyIKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwVXRpbG1vZAkgICAgICAgYXBwZW5kIGNvcHkgZGJjIGRiZGljdCBkYmRpciBkbWluIGRybXMxCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcFV0aWxtb2QJICAgICAgIGR0aWluIGVsdHBydCBpZnAgaWZwMSBpbnB1dHQyIGlucHV0dDQgbGFteAorc3luIGtleXdvcmQgbmFzdHJhbkRtYXBVdGlsbW9kCSAgICAgICBtYXRnZW4gbWF0Z3ByIG1hdG1vZCBtYXRwY2ggbWF0cHJuIG1hdHBydAorc3luIGtleXdvcmQgbmFzdHJhbkRtYXBVdGlsbW9kCSAgICAgICBtb2R0cmwgbXRyeGluIG9mcCBvdXRwdXQyIG91dHB1dDQgcGFyYW0KK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwVXRpbG1vZAkgICAgICAgcGFyYW1sIHBhcmFtciBwcnRwYXJhbSBwdnQgc2NhbGFyCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcFV0aWxtb2QJICAgICAgIHNlcXAgc2V0dmFsIHRhYmVkaXQgdGFicHJ0IHRhYnB0IHZlYyB2ZWNwbG90CitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcFV0aWxtb2QJICAgICAgIHhzb3J0CisiCisiIC0tLS0tLS1NYXRyaXggTW9kdWxlcworIgorc3luIGtleXdvcmQgbmFzdHJhbkRtYXBNYXRtb2QJICAgICAgIGFkZCBhZGQ1IGNlYWQgZGNtcCBkZWNvbXAgZGlhZ29uYWwgZmJzIG1lcmdlCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcE1hdG1vZAkgICAgICAgbXB5YWQgbm9ybSByZWFkIHJlaWdsIHNtcHlhZCBzb2x2ZSBzb2x2aXQKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwTWF0bW9kCSAgICAgICB0cm5zcCB1bWVyZ2UgdW1lcmdlMSB1cGFydG4gZG1paW4gcGFydG4KK3N5biByZWdpb24gIG5hc3RyYW5EbWFwTWF0bW9kCSAgICAgICBzdGFydD0rXiAqW0RkXVtNbV1bSWldKyBlbmQ9K1tcL10rCisiCisiIC0tLS0tLS1JbXBsaWNpdCBGdW5jdGlvbnMKKyIKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwSW1wbGljaXQgYWJzIGFjb3MgYWNvc2ggYW5kbCBhc2luIGFzaW5oIGF0YW4gYXRhbjIKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwSW1wbGljaXQgYXRhbmggYXRhbmgyIGNoYXIgY2xlbiBjbG9jayBjbXBseCBjb25jYXQxCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcEltcGxpY2l0IGNvbmNhdDIgY29uY2F0MyBjb25qZyBjb3MgY29zaCBkYmxlIGRpYWdvZmYKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwSW1wbGljaXQgZGlhZ29uIGRpbSBkbGFibGFuayBkbHhibGFuayBkcHJvZCBlcXZsIGV4cAorc3luIGtleXdvcmQgbmFzdHJhbkRtYXBJbXBsaWNpdCBnZXRkaWFnIGdldHN5cyBpY2hhciBpbWFnIGltcGwgaW5kZXggaW5kZXhzdHIKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwSW1wbGljaXQgaW50IGl0b2wgbGVxIGxnZSBsZ3QgbGxlIGxsdCBsbmUgbG9nIGxvZzEwCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcEltcGxpY2l0IGxvZ3ggbHRvaSBtY2dldHN5cyBtY3B1dHN5cyBtYXggbWluIG1vZCBuZXF2bAorc3luIGtleXdvcmQgbmFzdHJhbkRtYXBJbXBsaWNpdCBuaW50IG5vb3Agbm9ybWFsIG5vdGwgbnVtZXEgbnVtZ2UgbnVtZ3QgbnVtbGUKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwSW1wbGljaXQgbnVtbHQgbnVtbmUgb3JsIHBpIHByZWNpc29uIHB1dGRpYWcgcHV0c3lzCitzeW4ga2V5d29yZCBuYXN0cmFuRG1hcEltcGxpY2l0IHJhbmQgcmRpYWdvbiByZWFsIHJ0aW10b2dvIHNldGNvcmUgc2lnbiBzaW4KK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwSW1wbGljaXQgc2luaCBzbmdsIHNwcm9kIHNxcnQgc3Vic3RyaW4gdGFuIHRhbmgKK3N5biBrZXl3b3JkIG5hc3RyYW5EbWFwSW1wbGljaXQgdGltZXRvZ28gd2xlbiB4b3JsCisiCisiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS1JTlBVVCBGSUxFIFNZTlRBWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIgorIgorIiAtLS0tLS0tTmFzdHJhbiBTdGF0ZW1lbnQKKyIKK3N5biBrZXl3b3JkIG5hc3RyYW5OYXN0cmFuQ2FyZAkJIG5hc3RyYW4KKyIKKyIgLS0tLS0tLVRoZSBGaWxlIE1hbmFnZW1lbnQgU2VjdGlvbiAoRk1TKQorIgorc3luIHJlZ2lvbiBuYXN0cmFuRk1TQ2FyZCBzdGFydD0rXiAqW0FhXVtDY11bUXFdW1V1XVtJaV0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkZNU0NhcmQgc3RhcnQ9K14gKltBYV1bU3NdW1NzXVtJaV1bR2ddKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5GTVNDYXJkIHN0YXJ0PSteICpbQ2NdW29PXVtObl1bTm5dW0VlXSsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRk1TQ2FyZCBzdGFydD0rXiAqW0RkXVtCYl1bQ2NdW0xsXVtFZV0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkZNU0NhcmQgc3RhcnQ9K14gKltEZF1bQmJdW0RkXVtJaV1bQ2NdKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5GTVNDYXJkIHN0YXJ0PSteICpbRGRdW0JiXVtEZF1bSWldW1JyXSsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRk1TQ2FyZCBzdGFydD0rXiAqW0RkXVtCYl1bRmZdW0lpXVtYeF0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkZNU0NhcmQgc3RhcnQ9K14gKltEZF1bQmJdW0xsXVtPb11bQWFdKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5GTVNDYXJkIHN0YXJ0PSteICpbRGRdW0JiXVtMbF1bT29dW0NjXSsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRk1TQ2FyZCBzdGFydD0rXiAqW0RkXVtCYl1bU3NdW0VlXVtUdF0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkZNU0NhcmQgc3RhcnQ9K14gKltEZF1bQmJdW1V1XVtObl1bTGxdKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5GTVNDYXJkIHN0YXJ0PSteICpbRGRdW0JiXVtVdV1bUHBdW0RkXSsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRk1TQ2FyZCBzdGFydD0rXiAqW0RkXVtFZV1bRmZdW0lpXVtObl0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkZNU0NhcmQgc3RhcnQ9K14gKltFZV1bTm5dW0RkXVtKal1bT29dKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5GTVNDYXJkIHN0YXJ0PSteICpbRWVdW1h4XVtQcF1bQWFdW05uXSsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRk1TQ2FyZCBzdGFydD0rXiAqW0lpXVtObl1bQ2NdW0xsXVtVdV0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkZNU0NhcmQgc3RhcnQ9K14gKltJaV1bTm5dW0lpXVtUdF0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkZNU0NhcmQgc3RhcnQ9K14gKltQcF1bUnJdW09vXVtKal0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkZNU0NhcmQgc3RhcnQ9K14gKltScl1bRWVdW1NzXVtUdF0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biBtYXRjaCAgIG5hc3RyYW5EbWFwVXRpbG1vZAkgICAiXiAqW1JyXVtFZV1bU3NdW1R0XVtBYV0uKiwuKiwiIGNvbnRhaW5zPW5hc3RyYW5EbWFwQ29tbWVudAorIgorIiAtLS0tLS0tRXhlY3V0aXZlIENvbnRyb2wgU2VjdGlvbgorIgorc3luIHJlZ2lvbiBuYXN0cmFuRUNTQ2FyZCBzdGFydD0rXiAqW0FhXVtMbF1bVHRdW0VlXVtScl0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkVDU0NhcmQgc3RhcnQ9K14gKltBYV1bUHBdW1BwXSsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRUNTQ2FyZCBzdGFydD0rXiAqW0NjXVtPb11bTW1dW1BwXVtJaV0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkVDU0NhcmQgc3RhcnQ9K14gKltEZF1bSWldW0FhXVtHZ10gKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5FQ1NDYXJkIHN0YXJ0PSteICpbRWVdW0NjXVtIaF1bT29dKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5FQ1NDYXJkIHN0YXJ0PSteICpbRWVdW05uXVtEZF1bQWFdW0xsXSsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRUNTQ2FyZCBzdGFydD0rXiAqW0lpXVtEZF0rIGVuZD0rJCsgIG9uZWxpbmUKK3N5biByZWdpb24gbmFzdHJhbkVDU0NhcmQgc3RhcnQ9K14gKltJaV1bTm5dW0NjXVtMbF1bVXVdKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5FQ1NDYXJkIHN0YXJ0PSteICpbTGxdW0lpXVtObl1bS2tdKyBlbmQ9KyQrICBvbmVsaW5lCitzeW4gcmVnaW9uIG5hc3RyYW5FQ1NDYXJkIHN0YXJ0PSteICpbTW1dW0FhXVtMbF1bVHRdW0VlXSsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRUNTQ2FyZCBzdGFydD0rXiAqW1NzXVtPb11bTGxdICsgZW5kPSskKyAgb25lbGluZQorc3luIHJlZ2lvbiBuYXN0cmFuRUNTQ2FyZCBzdGFydD0rXiAqW1R0XVtJaV1bTW1dW0VlXSsgZW5kPSskKyAgb25lbGluZQorIgorIiAtLS0tLS0tRGVsaW1pdGVycworIgorc3luIG1hdGNoIG5hc3RyYW5EZWxpbWl0ZXIgIltDY11bRWVdW05uXVtEZF0iIGNvbnRhaW5lZAorc3luIG1hdGNoIG5hc3RyYW5EZWxpbWl0ZXIgIltCYl1bRWVdW0dnXVtJaV1bTm5dIiBjb250YWluZWQKK3N5biBtYXRjaCBuYXN0cmFuRGVsaW1pdGVyICIgKltCYl1bVXVdW0xsXVtLa10iIGNvbnRhaW5lZAorc3luIG1hdGNoIG5hc3RyYW5EZWxpbWl0ZXIgIltFZV1bTm5dW0RkXSAqW2REXVtBYV1bVHRdW0FhXSIgY29udGFpbmVkCisiCisiIC0tLS0tLS1DYXNlIENvbnRyb2wgc2VjdGlvbgorIgorc3luIHJlZ2lvbiBuYXN0cmFuQ0Mgc3RhcnQ9K14gKltDY11bRWVdW05uXVtEZF0rIGVuZD0rXiAqW0JiXVtFZV1bR2ddW0lpXVtObl0rIGNvbnRhaW5zPW5hc3RyYW5EZWxpbWl0ZXIsbmFzdHJhbkJ1bGtEYXRhLG5hc3RyYW5EbWFwQ29tbWVudAorCisiCisiIC0tLS0tLS1CdWxrIERhdGEgc2VjdGlvbgorIgorc3luIHJlZ2lvbiBuYXN0cmFuQnVsa0RhdGEgc3RhcnQ9KyAqW0JiXVtVdV1bTGxdW0trXSAqJCsgZW5kPSteIFtFZV1bTm5dW0RkXSAqW0RkXSsgY29udGFpbnM9bmFzdHJhbkRlbGltaXRlcixuYXN0cmFuRG1hcENvbW1lbnQKKyIKKyIgLS0tLS0tLVRoZSBmb2xsb3dpbmcgY2FyZHMgbWF5IGFwcGVhciBpbiBtdWx0aXBsZSBzZWN0aW9ucyBvZiB0aGUgZmlsZQorIgorc3luIGtleXdvcmQgbmFzdHJhblV0aWxDYXJkIEVDSE9PTiBFQ0hPT0ZGIElOQ0xVREUgUEFSQU0KKworCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbmFzdHJhbl9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgIGxldCBkaWRfbmFzdHJhbl9zeW50YXhfaW5pdHMgPSAxCisgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZW5kaWYKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICBIaUxpbmsgbmFzdHJhbkRtYXBleGVjbW9kCSAgICAgU3RhdGVtZW50CisgIEhpTGluayBuYXN0cmFuRG1hcFR5cGUJICAgICBUeXBlCisgIEhpTGluayBuYXN0cmFuRG1hcFByZUNvbmRpdAkgICAgIEVycm9yCisgIEhpTGluayBuYXN0cmFuRG1hcFV0aWxtb2QJICAgICBQcmVQcm9jCisgIEhpTGluayBuYXN0cmFuRG1hcE1hdG1vZAkgICAgIG5hc3RyYW5EbWFwVXRpbG1vZAorICBIaUxpbmsgbmFzdHJhbkRtYXBTdHJpbmcJICAgICBTdHJpbmcKKyAgSGlMaW5rIG5hc3RyYW5EbWFwTnVtYmVyCSAgICAgQ29uc3RhbnQKKyAgSGlMaW5rIG5hc3RyYW5EbWFwRmxvYXQJICAgICBuYXN0cmFuRG1hcE51bWJlcgorICBIaUxpbmsgbmFzdHJhbkRtYXBJbml0VGFiCSAgICAgbmFzdHJhbkRtYXBOdW1iZXIKKyAgSGlMaW5rIG5hc3RyYW5EbWFwVGFiCQkgICAgIG5hc3RyYW5EbWFwTnVtYmVyCisgIEhpTGluayBuYXN0cmFuRG1hcExvZ2ljYWwJICAgICBuYXN0cmFuRG1hcEV4ZWNtb2QKKyAgSGlMaW5rIG5hc3RyYW5EbWFwSW1wbGljaXQJICAgICBJZGVudGlmaWVyCisgIEhpTGluayBuYXN0cmFuRG1hcENvbW1lbnQJICAgICBDb21tZW50CisgIEhpTGluayBuYXN0cmFuRG1hcFJlcGVhdAkgICAgIG5hc3RyYW5EbWFwZXhlY21vZAorICBIaUxpbmsgbmFzdHJhbk5hc3RyYW5DYXJkCSAgICAgbmFzdHJhbkRtYXBQcmVDb25kaXQKKyAgSGlMaW5rIG5hc3RyYW5FQ1NDYXJkCQkgICAgIG5hc3RyYW5EbWFwVXRpbG1vZAorICBIaUxpbmsgbmFzdHJhbkZNU0NhcmQJCSAgICAgbmFzdHJhbk5hc3RyYW5DYXJkCisgIEhpTGluayBuYXN0cmFuQ0MJCSAgICAgbmFzdHJhbkRtYXBleGVjbW9kCisgIEhpTGluayBuYXN0cmFuRGVsaW1pdGVyCSAgICAgU3BlY2lhbAorICBIaUxpbmsgbmFzdHJhbkJ1bGtEYXRhCSAgICAgbmFzdHJhbkRtYXBUeXBlCisgIEhpTGluayBuYXN0cmFuVXRpbENhcmQJICAgICBuYXN0cmFuRG1hcGV4ZWNtb2QKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm5hc3RyYW4iCisKKyJFT0YgdmltOiB0cz04IG5vZXQgdHc9MTIwIHN3PTggc3RzPTAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L25hdHVyYWwudmltIGIvcnVudGltZS9zeW50YXgvbmF0dXJhbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdmMTQwZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L25hdHVyYWwudmltCkBAIC0wLDAgKzEsMjA1IEBACisiIFZpbSBzeW50YXggZmlsZQorIgorIiBMYW5ndWFnZToJCU5BVFVSQUwKKyIgVmVyc2lvbjoJCTIuMC4yNi4xNworIiBNYWludGFpbmVyOglNYXJrbyBMZWlwZXJ0IDx2aW1AbWxlaXBlcnQuZGU+CisiIExhc3QgQ2hhbmdlZDoJMjAwMi0wMi0yOCAwOTo1MDozNgorIiBTdXBwb3J0OgkJaHR0cDovL3d3dy53aW5jb25zb2xlLmRlL3ZpbS9zeW50YXguaHRtbAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiB0aGlzIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdjp2ZXJzaW9uIDwgNjAwCisJc3ludGF4IGNsZWFyCisJc2V0IGlza2V5d29yZCs9LSwqLCMsKyxfLC8KK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZWxzZQorCXNldGxvY2FsIGlza2V5d29yZCs9LSwqLCMsKyxfLC8KK2VuZGlmCisKKyIgTkFUVVJBTCBpcyBjYXNlIGluc2Vuc2l0aXZlCitzeW50YXggY2FzZSBpZ25vcmUKKworIiBwcmVwcm9jZXNzb3IKK3N5biBrZXl3b3JkIG5hdHVyYWxJbmNsdWRlCQlpbmNsdWRlIG5leHRncm91cD1uYXR1cmFsT2JqTmFtZSBza2lwd2hpdGUKKworIiBkZWZpbmUgZGF0YQorc3luIGtleXdvcmQgbmF0dXJhbEtleXdvcmQJCWRlZmluZSBkYXRhIGVuZC1kZWZpbmUKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQlpbmRlcGVuZGVudCBnbG9iYWwgcGFyYW1ldGVyIGxvY2FsIHJlZGVmaW5lIHZpZXcKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQljb25zdFthbnRdIGluaXQgaW5pdGlhbAorCisiIGxvb3BzCitzeW4ga2V5d29yZCBuYXR1cmFsTG9vcAkJCXJlYWQgZW5kLXJlYWQgZW5kLXdvcmsgZmluZCBlbmQtZmluZCBoaXN0b2dyYW0gZW5kLWhpc3RvZ3JhbQorc3luIGtleXdvcmQgbmF0dXJhbExvb3AJCQllbmQtYWxsIHNvcnQgZW5kLXNvcnQgc29ydGVkIGRlc2NlbmRpbmcgYXNjZW5kaW5nCitzeW4ga2V5d29yZCBuYXR1cmFsUmVwZWF0CQlyZXBlYXQgZW5kLXJlcGVhdCB3aGlsZSB1bnRpbCBmb3Igc3RlcCBlbmQtZm9yCitzeW4ga2V5d29yZCBuYXR1cmFsS2V5d29yZAkJaW4gZmlsZSB3aXRoIGZpZWxkIHN0YXJ0aW5nIGZyb20gZW5kaW5nIGF0IHRocnUgYnkgaXNuIHdoZXJlCitzeW4ga2V5d29yZCBuYXR1cmFsRXJyb3IJCW9uIGVycm9yIGVuZC1lcnJvcgorc3luIGtleXdvcmQgbmF0dXJhbEtleXdvcmQJCWFjY2VwdCByZWplY3QgZW5kLWVuZGRhdGEgbnVtYmVyIHVuaXF1ZSByZXRhaW4gYXMgcmVsZWFzZQorc3luIGtleXdvcmQgbmF0dXJhbEtleXdvcmQJCXN0YXJ0IGVuZC1zdGFydCBicmVhayBlbmQtYnJlYWsgcGh5c2ljYWwgcGFnZSB0b3Agc2VxdWVuY2UKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQllbmQtdG9wcGFnZSBlbmQtZW5kcGFnZSBlbmQtZW5kZmlsZSBiZWZvcmUgcHJvY2Vzc2luZworc3luIGtleXdvcmQgbmF0dXJhbEtleXdvcmQJCWVuZC1iZWZvcmUKKworIiBjb25kaXRpb25hbHMKK3N5biBrZXl3b3JkIG5hdHVyYWxDb25kaXRpb25hbAlpZiB0aGVuIGVsc2UgZW5kLWlmIGVuZC1ub3JlYworc3luIGtleXdvcmQgbmF0dXJhbENvbmRpdGlvbmFsCWRlY2lkZSBlbmQtZGVjaWRlIHZhbHVlIHdoZW4gY29uZGl0aW9uIG5vbmUgYW55CisKKyIgYXNzaWdubWVudCAvIGNhbGN1bGF0aW9uCitzeW4ga2V5d29yZCBuYXR1cmFsS2V5d29yZAkJcmVzZXQgYXNzaWduIG1vdmUgbGVmdCByaWdodCBqdXN0aWZpZWQgY29tcHJlc3MgdG8gaW50byBlZGl0ZWQKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQlhZGQgc3VidHJhY3QgbXVsdGlwbHkgZGl2aWRlIGNvbXB1dGUgbmFtZQorc3luIGtleXdvcmQgbmF0dXJhbEtleXdvcmQJCWFsbCBnaXZpbmcgcmVtYWluZGVyIHJvdW5kZWQgbGVhdmluZyBzcGFjZQorc3luIGtleXdvcmQgbmF0dXJhbEtleXdvcmQJCWV4YW1pbmUgZnVsbCByZXBsYWNlIGdpdmluZyBzZXBhcmF0ZSBkZWxpbWl0ZXIgbW9kaWZpZWQKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQlzdXNwZW5kIGlkZW50aWNhbCBzdXBwcmVzcworCisiIHByb2dyYW0gZmxvdworc3luIGtleXdvcmQgbmF0dXJhbEZsb3cJCQljYWxsbmF0IGZldGNoIHJldHVybiBlbnRlciBlc2NhcGUgYm90dG9tIHRvcCBzdGFjayBmb3JtYXR0ZWQKK3N5biBrZXl3b3JkIG5hdHVyYWxGbG93CQkJY29tbWFuZCBjYWxsCitzeW4ga2V5d29yZCBuYXR1cmFsZmxvdwkJCWVuZC1zdWJyb3V0aW5lIHJvdXRpbmUKKworIiBmaWxlIG9wZXJhdGlvbnMKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQl1cGRhdGUgc3RvcmUgZ2V0IGRlbGV0ZSBlbmQgdHJhbnNhY3Rpb24gd29yayBvbmNlIGNsb3NlCisKKyIgb3RoZXIga2V5d29yZHMKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQlmaXJzdCBldmVyeSBvZiBubyByZWNvcmRbc10gZm91bmQgaWdub3JlIGltbWVkaWF0ZQorc3luIGtleXdvcmQgbmF0dXJhbEtleXdvcmQJCXNldCBzZXR0aW1lIGtleSBjb250cm9sIHN0b3AgdGVybWluYXRlCisKKyIgaW4tL291dHB1dAorc3luIGtleXdvcmQgbmF0dXJhbEtleXdvcmQJCXdyaXRlIGRpc3BsYXkgaW5wdXQgcmVpbnB1dCBub3RpdGxlIG5vaGRyIG1hcCBuZXdwYWdlIG1hcmsKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQlhbGFybSB0ZXh0IGhlbHAgZWplY3QgaW5kZXgKK3N5biBrZXl3b3JkIG5hdHVyYWxLZXl3b3JkCQlmb3JtYXQgcHJpbnRlciBza2lwIGxpbmVzCisKKyIgZnVuY3Rpb25zCitzeW4ga2V5d29yZCBuYXR1cmFsS2V5d29yZAkJYWJzIGF0biBjb3MgZXhwIGZyYWMgaW50IGxvZyBzZ24gc2luIHNxcnQgdGFuIHZhbCBvbGQKKworIiByZXBvcnQgbW9kZSBrZXl3b3Jkcworc3luIGtleXdvcmQgbmF0dXJhbFJNS2V5d29yZAlzYW1lIGxvb3Agb2J0YWluIGluZGV4ZWQgZG8gZG9lbmQKKworIiBTdWJyb3V0aW5lIG5hbWUKK3N5biBrZXl3b3JkCW5hdHVyYWxGbG93CQkJcGVyZm9ybSBzdWJyb3V0aW5lIG5leHRncm91cD1uYXR1cmFsRnVuY3Rpb24gc2tpcHdoaXRlCitzeW4gbWF0Y2gJbmF0dXJhbEZ1bmN0aW9uCQkiXDxbYS16XVstX2EtejAtOV0qXD4iCisKK3N5biBrZXl3b3JkCW5hdHVyYWxGbG93CQkJdXNpbmcgbmV4dGdyb3VwPW5hdHVyYWxLZXl3b3JkLG5hdHVyYWxPYmpOYW1lIHNraXB3aGl0ZQorc3luIG1hdGNoCW5hdHVyYWxPYmpOYW1lCQkiXDxbYS16XVstX2EtejAtOV1ceyw3fVw+IgorCisiIExhYmVscworc3luIG1hdGNoCW5hdHVyYWxMYWJlbAkJIlw8WysjYS16XVstXyNhLXowLTldKlwuIgorc3luIG1hdGNoCW5hdHVyYWxSZWYJCQkiXDxbKyNhLXpdWy1fI2EtejAtOV0qXD5cLlw8WysjYS16XVsqXVw9Wy1fI2EtejAtOV0qXD4iCisKKyIgU3lzdGVtIHZhcmlhYmxlcworc3luIG1hdGNoCW5hdHVyYWxTeXNWYXIJCSJcPFwqW2Etel1bLWEtejAtOV0qXD4iCisKKyJpbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHdpdGhvdXQgYSBkb3QuCitzeW4gbWF0Y2gJbmF0dXJhbE51bWJlcgkJIlw8LVw9XGRcK1w+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QKK3N5biBtYXRjaAluYXR1cmFsTnVtYmVyCQkiXDwtXD1cZFwrXC5cZFwrXD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90CitzeW4gbWF0Y2gJbmF0dXJhbE51bWJlcgkJIlwuXGRcKyIKKworIiBGb3JtYXRzIGluIHdyaXRlIHN0YXRlbWVudAorc3luIG1hdGNoCW5hdHVyYWxGb3JtYXQJCSJcPFxkXCtbVFhdXD4iCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29udHN0YW50cworc3luIG1hdGNoCW5hdHVyYWxTdHJpbmcJCSJIJ1x4XCsnIgorc3luIHJlZ2lvbiAgbmF0dXJhbFN0cmluZwkJc3RhcnQ9KyIrIGVuZD0rIisKK3N5biByZWdpb24JbmF0dXJhbFN0cmluZwkJc3RhcnQ9KycrIGVuZD0rJysKKworIiBUeXBlIGRlZmluaXRpb24KK3N5biBtYXRjaAluYXR1cmFsQXR0cmlidXRlCSJcPFstYS16XVthLXpdPVstYS16MC05X1wuLF1cK1w+Igorc3luIG1hdGNoCW5hdHVyYWxUeXBlCQkJY29udGFpbmVkICJcPFtBQklOUF1cZFwrXCgsXGRcK1wpXD1cPiIKK3N5biBtYXRjaAluYXR1cmFsVHlwZQkJCWNvbnRhaW5lZCAiXDxbQ0xdXD4iCisKKyIgIlRPRE8iIC8gb3RoZXIgY29tbWVudHMKK3N5biBrZXl3b3JkIG5hdHVyYWxUb2RvCQkJY29udGFpbmVkIHRvZG8gdGVzdAorc3luIG1hdGNoCW5hdHVyYWxDb21tZW50TWFyawljb250YWluZWQgIlthLXpdW14gXHQvOnxdKlwoXHNbXiBcdC86JyJ8XVwrXCkqOlxzImhlPWUtMQorCisiIGNvbW1lbnRzCitzeW4gcmVnaW9uCW5hdHVyYWxDb21tZW50CQlzdGFydD0iL1wqIiBlbmQ9IiQiIGNvbnRhaW5zPW5hdHVyYWxUb2RvLG5hdHVyYWxMaW5lUmVmLG5hdHVyYWxDb21tZW50TWFyaworc3luIHJlZ2lvbgluYXR1cmFsQ29tbWVudAkJc3RhcnQ9Il5cKltcIFwqXSIgZW5kPSIkIiBjb250YWlucz1uYXR1cmFsVG9kbyxuYXR1cmFsTGluZVJlZixuYXR1cmFsQ29tbWVudE1hcmsKK3N5biByZWdpb24JbmF0dXJhbENvbW1lbnQJCXN0YXJ0PSJeXGRcezR9IFwqW1wgXCpdImxjPTUgZW5kPSIkIiBjb250YWlucz1uYXR1cmFsVG9kbyxuYXR1cmFsTGluZVJlZixuYXR1cmFsQ29tbWVudE1hcmsKK3N5biBtYXRjaAluYXR1cmFsQ29tbWVudAkJIl4qJCIKK3N5biBtYXRjaAluYXR1cmFsQ29tbWVudAkJIl5cZFx7NH0gXCokImxjPTUKKyIgLyogaXMgbGVnYWwgc3ludGF4IGluIHBhcmVudGhlc2VzIGUuZy4gIiNpZGVudChsYWJlbC4vKikiCitzeW4gcmVnaW9uCW5hdHVyYWxQQ29tbWVudAkJY29udGFpbmVkIHN0YXJ0PSIvXCpccypbXiksXSIgIGVuZD0iJCIgY29udGFpbnM9bmF0dXJhbFRvZG8sbmF0dXJhbExpbmVSZWYsbmF0dXJhbENvbW1lbnRNYXJrCisKKyIgb3BlcmF0b3JzCitzeW4ga2V5d29yZAluYXR1cmFsT3BlcmF0b3IJCWFuZCBvciBub3QgZXEgbmUgZ3QgbHQgZ2UgbGUgbWFzayBzY2FuCisKKyIgY29uc3RhbnRzCitzeW4ga2V5d29yZCBuYXR1cmFsQm9vbGVhbgkJdHJ1ZSBmYWxzZQorCitzeW4gbWF0Y2gJbmF0dXJhbExpbmVObwkJIl5cZFx7NH0iCisKKyIgaWRlbnRpZmllcnMKK3N5biBtYXRjaAluYXR1cmFsSWRlbnQJCSJcPFsrI2Etel1bLV8jYS16MC05XSpcPlteXC4nXSJtZT1lLTEKK3N5biBtYXRjaAluYXR1cmFsSWRlbnQJCSJcPFsrI2Etel1bLV8jYS16MC05XSokIgorc3luIG1hdGNoCW5hdHVyYWxMZWdhbElkZW50CSJbKyNhLXpdWy1fI2EtejAtOV0qL1stXyNhLXowLTldKiIKKworIiBwYXJlbnRoZXNlcworc3luIHJlZ2lvbiAgbmF0dXJhbFBhcgkJCW1hdGNoZ3JvdXA9bmF0dXJhbFBhckd1aSBzdGFydD0iKCIgZW5kPSIpIiBjb250YWlucz1uYXR1cmFsTGFiZWwsbmF0dXJhbFJlZixuYXR1cmFsT3BlcmF0b3IsQG5hdHVyYWxDb25zdGFudCxuYXR1cmFsVHlwZSxuYXR1cmFsU3lzVmFyLG5hdHVyYWxQYXIsbmF0dXJhbExpbmVObyxuYXR1cmFsUENvbW1lbnQKK3N5biBtYXRjaAluYXR1cmFsTGluZVJlZgkJIihcZFx7NH0pIgorCisiIGJ1aWxkIHN5bnRheCBncm91cHMKK3N5bnRheCBjbHVzdGVyIG5hdHVyYWxDb25zdGFudAljb250YWlucz1uYXR1cmFsU3RyaW5nLG5hdHVyYWxOdW1iZXIsbmF0dXJhbEF0dHJpYnV0ZSxuYXR1cmFsQm9vbGVhbgorCisiIGZvbGRpbmcKK2lmIHY6dmVyc2lvbiA+PSA2MDAKKwlzZXQgZm9sZGlnbm9yZT0qCitlbmRpZgorCisKK2lmIHY6dmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX25hdHVyYWxfc3ludGF4X2luaXRzIikKKwlpZiB2OnZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9uYXR1cmFsX3N5bnRheF9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisJIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorCisJIiBDb25zdGFudHMKKwlIaUxpbmsgbmF0dXJhbEZvcm1hdAkJQ29uc3RhbnQKKwlIaUxpbmsgbmF0dXJhbEF0dHJpYnV0ZQkJQ29uc3RhbnQKKwlIaUxpbmsgbmF0dXJhbE51bWJlcgkJTnVtYmVyCisJSGlMaW5rIG5hdHVyYWxTdHJpbmcJCVN0cmluZworCUhpTGluayBuYXR1cmFsQm9vbGVhbgkJQm9vbGVhbgorCisJIiBBbGwga2luZHMgb2Yga2V5d29yZHMKKwlIaUxpbmsgbmF0dXJhbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisJSGlMaW5rIG5hdHVyYWxSZXBlYXQJCVJlcGVhdAorCUhpTGluayBuYXR1cmFsTG9vcAkJCVJlcGVhdAorCUhpTGluayBuYXR1cmFsRmxvdwkJCUtleXdvcmQKKwlIaUxpbmsgbmF0dXJhbEVycm9yCQkJS2V5d29yZAorCUhpTGluayBuYXR1cmFsS2V5d29yZAkJS2V5d29yZAorCUhpTGluayBuYXR1cmFsT3BlcmF0b3IJCU9wZXJhdG9yCisJSGlMaW5rIG5hdHVyYWxQYXJHdWkJCU9wZXJhdG9yCisKKwkiIExhYmVscworCUhpTGluayBuYXR1cmFsTGFiZWwJCQlMYWJlbAorCUhpTGluayBuYXR1cmFsUmVmTGFiZWwJCUxhYmVsCisKKwkiIENvbW1lbnRzCisJSGlMaW5rIG5hdHVyYWxQQ29tbWVudAkJQ29tbWVudAorCUhpTGluayBuYXR1cmFsQ29tbWVudAkJQ29tbWVudAorCUhpTGluayBuYXR1cmFsVG9kbwkJCVRvZG8KKwlIaUxpbmsgbmF0dXJhbENvbW1lbnRNYXJrCVByZVByb2MKKworCUhpTGluayBuYXR1cmFsSW5jbHVkZQkJSW5jbHVkZQorCUhpTGluayBuYXR1cmFsU3lzVmFyCQlJZGVudGlmaWVyCisJSGlMaW5rIG5hdHVyYWxMaW5lTm8JCUxpbmVOcgorCUhpTGluayBuYXR1cmFsTGluZVJlZgkJRXJyb3IKKwlIaUxpbmsgbmF0dXJhbFNwZWNpYWwJCVNwZWNpYWwKKwlIaUxpbmsgbmF0dXJhbENvbUtleQkJVG9kbworCisJIiBpbGxlZ2FsIHRoaW5ncworCUhpTGluayBuYXR1cmFsUk1LZXl3b3JkCQlFcnJvcgorCUhpTGluayBuYXR1cmFsTGVnYWxJZGVudAlFcnJvcgorCisJSGlMaW5rIG5hdHVyYWxUeXBlCQkJVHlwZQorCUhpTGluayBuYXR1cmFsRnVuY3Rpb24JCUZ1bmN0aW9uCisJSGlMaW5rIG5hdHVyYWxPYmpOYW1lCQlGdW5jdGlvbgorCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm5hdHVyYWwiCisKKyIgdmltOnNldCB0cz00IHN3PTQgbm9ldCBmdD12aW0gbGlzdDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L25jZi52aW0gYi9ydW50aW1lL3N5bnRheC9uY2YudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1Yzc0YzgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9uY2YudmltCkBAIC0wLDAgKzEsMjU4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIE5vdmVsbCAiTkNGIiBCYXRjaCBGaWxlCisiIE1haW50YWluZXI6ICAgSm9uYXRoYW4gSi4gTWluZXIgPG1pbmVyQGRvaXQud2lzYy5lZHU+CisiIExhc3QgQ2hhbmdlOglUdWUsIDA0IFNlcCAyMDAxIDE2OjIwOjMzIENEVAorIiAkSWQkCisKKyIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3luIGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCitzeW4ga2V5d29yZCBuY2ZDb21tYW5kcwkJbW91bnQgbG9hZCB1bmxvYWQKK3N5biBrZXl3b3JkIG5jZkJvb2xlYW4JCW9uIG9mZgorc3luIGtleXdvcmQgbmNmQ29tbWFuZHMJCXNldCBuZXh0Z3JvdXA9bmNmU2V0Q29tbWFuZHMKK3N5biBrZXl3b3JkIG5jZlRpbWVUeXBlcwlSZWZlcmVuY2UgUHJpbWFyeSBTZWNvbmRhcnkgU2luZ2xlCitzeW4gbWF0Y2ggbmNmTG9hZCAgICAgICAiXCh1bmxcfGxcKW9hZCAuKiJsYz00IGNvbnRhaW5zPUFMTEJVVCxFcnJvcgorc3luIG1hdGNoIG5jZk1vdW50ICAgICAgIm1vdW50IC4qImxjPTUgY29udGFpbnM9QUxMQlVULEVycm9yCisKK3N5biBtYXRjaCBuY2ZDb21tZW50ICAgICJeXCAqcmVtLiokIgorc3luIG1hdGNoIG5jZkNvbW1lbnQgICAgIl5cICo7LiokIgorc3luIG1hdGNoIG5jZkNvbW1lbnQgICAgIl5cICojLiokIgorCitzeW4gbWF0Y2ggbmNmU2VhcmNoUGF0aCAic2VhcmNoIFwoYWRkXHxkZWxcKSAiIG5leHRncm91cD1uY2ZQYXRoCitzeW4gbWF0Y2ggbmNmUGF0aCAgICAgICAiXDxbXjogXVwrOlwoW0EtWmEtejAtOS5fXVx8XFxcKSpcPiIKK3N5biBtYXRjaCBuY2ZTZXJ2ZXJOYW1lICJeZmlsZSBzZXJ2ZXIgbmFtZSAuKiQiCitzeW4gbWF0Y2ggbmNmSVBYTmV0ICAgICAiXmlweCBpbnRlcm5hbCBuZXQiCisKKyIgU3RyaW5nCitzeW4gcmVnaW9uIG5jZlN0cmluZyAgICBzdGFydD0rIisgIGVuZD0rIisKK3N5biBtYXRjaCBuY2ZDb250U3RyaW5nICI9IFwoXChcLlx7MCwxfVwoT1U9XHxPPVwpXHswLDF9W0EtWl9dXCtcKVwrO1x7MCwxfVwpXCsibGM9MgorCitzeW4gbWF0Y2ggbmNmSGV4TnVtYmVyICAiXDxcZFwoXGRcK1x8W0EtRl1cK1wpKlw+Igorc3luIG1hdGNoIG5jZk51bWJlciAgICAgIlw8XGRcK1wuXHswLDF9XGQqXD4iCitzeW4gbWF0Y2ggbmNmSVBBZGRyICAgICAiXGRcezEsM31cLlxkXHsxLDN9XC5cZFx7MSwzfVwuXGRcezEsM30iCitzeW4gbWF0Y2ggbmNmVGltZSAgICAgICAiXCgrfD1cKVx7MCwxfVxkXHsxLDJ9OlxkXHsxLDJ9OlxkXHsxLDJ9Igorc3luIG1hdGNoIG5jZkRTVFRpbWUgICAgIihbXiBdXCsgW14gXVwrIFwoRklSU1RcfExBU1RcKVxzKlxkXHsxLDJ9OlxkXHsxLDJ9OlxkXHsxLDJ9IFwoQU1cfFBNXCkpIgorc3luIG1hdGNoIG5jZlRpbWVab25lICAgIltBLVpdXHszfVxkW0EtWl1cezN9IgorCitzeW4gbWF0Y2ggbmNmTG9naW5zICAgICAiXlwoW0RkXWlzXHxbRWVdblwpYWJsZSBsb2dpbltzXSoiCitzeW4gbWF0Y2ggbmNmU2NyaXB0ICAgICAiW14gXSpcLm5jZiIKKworIiAgU0VUIENvbW1hbmRzIHRoYXQgdGFrZSBhIE51bWJlciBmb2xsb3dpbmcKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChBbGVydCBNZXNzYWdlIE5vZGVzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKEF1dG8gUmVzdGFydCBBZnRlciBBYmVuZFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChBdXRvIFJlc3RhcnQgQWZ0ZXIgQWJlbmQgRGVsYXkgVGltZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChDb21wcmVzc2lvbiBEYWlseSBDaGVjayBTdGFydGluZyBIb3VyXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKENvbXByZXNzaW9uIERhaWx5IENoZWNrIFN0b3AgSG91clwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChDb25jdXJyZW50IFJlbWlycm9yIFJlcXVlc3RzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKENvbnZlcnQgQ29tcHJlc3NlZCB0byBVbmNvbXByZXNzZWQgT3B0aW9uXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKERheXMgVW50b3VjaGVkIEJlZm9yZSBDb21wcmVzc2lvblwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChEZWNvbXByZXNzIEZyZWUgU3BhY2UgV2FybmluZyBJbnRlcnZhbFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChEZWNvbXByZXNzIFBlcmNlbnQgRGlzayBTcGFjZSBGcmVlIHRvIEFsbG93IENvbW1pdFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChEZWxldGVkIEZpbGVzIENvbXByZXNzaW9uIE9wdGlvblwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChEaXJlY3RvcnkgQ2FjaGUgQWxsb2NhdGlvbiBXYWl0IFRpbWVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoRW5hYmxlIElQWCBDaGVja3N1bXNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoR2FyYmFnZSBDb2xsZWN0aW9uIEludGVydmFsXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKElQWCBOZXRCSU9TIFJlcGxpY2F0aW9uIE9wdGlvblwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChNYXhpbXVtIENvbmN1cnJlbnQgQ29tcHJlc3Npb25zXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gQ29uY3VycmVudCBEaXJlY3RvcnkgQ2FjaGUgV3JpdGVzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gQ29uY3VycmVudCBEaXNrIENhY2hlIFdyaXRlc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChNYXhpbXVtIERpcmVjdG9yeSBDYWNoZSBCdWZmZXJzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gRXh0ZW5kZWQgQXR0cmlidXRlcyBwZXIgRmlsZSBvciBQYXRoXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gRmlsZSBMb2Nrc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChNYXhpbXVtIEZpbGUgTG9ja3MgUGVyIENvbm5lY3Rpb25cKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTWF4aW11bSBJbnRlcnJ1cHQgRXZlbnRzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gTnVtYmVyIG9mIERpcmVjdG9yeSBIYW5kbGVzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gTnVtYmVyIG9mIEludGVybmFsIERpcmVjdG9yeSBIYW5kbGVzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gT3V0c3RhbmRpbmcgTkNQIFNlYXJjaGVzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gUGFja2V0IFJlY2VpdmUgQnVmZmVyc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChNYXhpbXVtIFBoeXNpY2FsIFJlY2VpdmUgUGFja2V0IFNpemVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTWF4aW11bSBSZWNvcmQgTG9ja3NcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTWF4aW11bSBSZWNvcmQgTG9ja3MgUGVyIENvbm5lY3Rpb25cKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTWF4aW11bSBTZXJ2aWNlIFByb2Nlc3Nlc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChNYXhpbXVtIFN1YmRpcmVjdG9yeSBUcmVlIERlcHRoXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1heGltdW0gVHJhbnNhY3Rpb25zXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1pbmltdW0gQ29tcHJlc3Npb24gUGVyY2VudGFnZSBHYWluXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1pbmltdW0gRGlyZWN0b3J5IENhY2hlIEJ1ZmZlcnNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTWluaW11bSBGaWxlIENhY2hlIEJ1ZmZlcnNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTWluaW11bSBGaWxlIENhY2hlIFJlcG9ydCBUaHJlc2hvbGRcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTWluaW11bSBGcmVlIE1lbW9yeSBmb3IgR2FyYmFnZSBDb2xsZWN0aW9uXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE1pbmltdW0gUGFja2V0IFJlY2VpdmUgQnVmZmVyc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChNaW5pbXVtIFNlcnZpY2UgUHJvY2Vzc2VzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKE5DUCBQYWNrZXQgU2lnbmF0dXJlIE9wdGlvblwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChORFMgQmFja2xpbmsgSW50ZXJ2YWxcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTkRTIENsaWVudCBOQ1AgUmV0cmllc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChORFMgRXh0ZXJuYWwgUmVmZXJlbmNlIExpZmUgU3BhblwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChORFMgSW5hY3Rpdml0eSBTeW5jaHJvbml6YXRpb24gSW50ZXJ2YWxcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTkRTIEphbml0b3IgSW50ZXJ2YWxcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTmV3IFNlcnZpY2UgUHJvY2VzcyBXYWl0IFRpbWVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTnVtYmVyIG9mIEZyZWVzIGZvciBHYXJiYWdlIENvbGxlY3Rpb25cKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoTnVtYmVyIG9mIFdhdGNoZG9nIFBhY2tldHNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoUHNldWRvIFByZWVtcHRpb24gQ291bnRcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoUmVhZCBBaGVhZCBMUlUgU2l0dGluZyBUaW1lIFRocmVzaG9sZFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChSZW1pcnJvciBCbG9jayBTaXplXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKFJlc2VydmVkIEJ1ZmZlcnMgQmVsb3cgMTYgTWVnXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKFNlcnZlciBMb2cgRmlsZSBPdmVyZmxvdyBTaXplXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKFNlcnZlciBMb2cgRmlsZSBTdGF0ZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChTTVAgUG9sbGluZyBDb3VudFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChTTVAgU3RhY2sgU2l6ZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChUSU1FU1lOQyBQb2xsaW5nIENvdW50XClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKFRJTUVTWU5DIFBvbGxpbmcgSW50ZXJ2YWxcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoVElNRVNZTkMgU3luY2hyb25pemF0aW9uIFJhZGl1c1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChUSU1FU1lOQyBXcml0ZSBWYWx1ZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChWb2x1bWUgTG9nIEZpbGUgT3ZlcmZsb3cgU2l6ZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChWb2x1bWUgTG9nIEZpbGUgU3RhdGVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNOdW0gIlwoVm9sdW1lIExvdyBXYXJuaW5nIFJlc2V0IFRocmVzaG9sZFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChWb2x1bWUgTG93IFdhcm5pbmcgVGhyZXNob2xkXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKFZvbHVtZSBUVFMgTG9nIEZpbGUgT3ZlcmZsb3cgU2l6ZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc051bSAiXChWb2x1bWUgVFRTIExvZyBGaWxlIFN0YXRlXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzTnVtICJcKFdvcmtlciBUaHJlYWQgRXhlY3V0ZSBJbiBhIFJvdyBDb3VudFwpXHMqPSIKKworIiBTRVQgQ29tbWFuZHMgdGhhdCB0YWtlIGEgQm9vbGVhbiAoT04vT0ZGKQorCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKEFsbG9jIE1lbW9yeSBDaGVjayBGbGFnXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChBbGxvdyBBdWRpdCBQYXNzd29yZHNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKEFsbG93IENoYW5nZSB0byBDbGllbnQgUmlnaHRzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChBbGxvdyBEZWxldGlvbiBvZiBBY3RpdmUgRGlyZWN0b3JpZXNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKEFsbG93IEludmFsaWQgUG9pbnRlcnNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKEFsbG93IExJUFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoQWxsb3cgVW5lbmNyeXB0ZWQgUGFzc3dvcmRzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChBbGxvdyBVbm93bmVkIEZpbGVzIFRvIEJlIEV4dGVuZGVkXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChBdXRvIFJlZ2lzdGVyIE1lbW9yeSBBYm92ZSAxNiBNZWdhYnl0ZXNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKEF1dG8gVFRTIEJhY2tvdXQgRmxhZ1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoQXV0b21hdGljYWxseSBSZXBhaXIgQmFkIFZvbHVtZXNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKENoZWNrIEVxdWl2YWxlbnQgdG8gTWVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKENvbW1hbmQgTGluZSBQcm9tcHQgRGVmYXVsdCBDaG9pY2VcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKENvbnNvbGUgRGlzcGxheSBXYXRjaGRvZyBMb2dvdXRzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChEYXlsaWdodCBTYXZpbmdzIFRpbWUgU3RhdHVzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChEZXZlbG9wZXIgT3B0aW9uXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChEaXNwbGF5IEluY29tcGxldGUgSVBYIFBhY2tldCBBbGVydHNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKERpc3BsYXkgTG9zdCBJbnRlcnJ1cHQgQWxlcnRzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChEaXNwbGF5IE5DUCBCYWQgQ29tcG9uZW50IFdhcm5pbmdzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChEaXNwbGF5IE5DUCBCYWQgTGVuZ3RoIFdhcm5pbmdzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChEaXNwbGF5IE9sZCBBUEkgTmFtZXNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKERpc3BsYXkgUmVsaW5xdWlzaCBDb250cm9sIEFsZXJ0c1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoRGlzcGxheSBTcHVyaW91cyBJbnRlcnJ1cHQgQWxlcnRzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChFbmFibGUgRGVhZGxvY2sgRGV0ZWN0aW9uXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChFbmFibGUgRGlzayBSZWFkIEFmdGVyIFdyaXRlIFZlcmlmeVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoRW5hYmxlIEZpbGUgQ29tcHJlc3Npb25cKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKEVuYWJsZSBJTyBIYW5kaWNhcCBBdHRyaWJ1dGVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKEVuYWJsZSBTRUNVUkUuTkNGXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChGYXN0IFZvbHVtZSBNb3VudHNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKEdsb2JhbCBQc2V1ZG8gUHJlZW1wdGlvblwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoSGFsdCBTeXN0ZW0gb24gSW52YWxpZCBQYXJhbWV0ZXJzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChJZ25vcmUgRGlzayBHZW9tZXRyeVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoSW1tZWRpYXRlIFB1cmdlIG9mIERlbGV0ZWQgRmlsZXNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKE5DUCBGaWxlIENvbW1pdFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoTkRTIFRyYWNlIEZpbGUgTGVuZ3RoIHRvIFplcm9cKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKE5EUyBUcmFjZSB0byBGaWxlXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChORFMgVHJhY2UgdG8gU2NyZWVuXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChOZXcgVGltZSBXaXRoIERheWxpZ2h0IFNhdmluZ3MgVGltZSBTdGF0dXNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKFJlYWQgQWhlYWQgRW5hYmxlZFwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoUmVhZCBGYXVsdCBFbXVsYXRpb25cKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKFJlYWQgRmF1bHQgTm90aWZpY2F0aW9uXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChSZWplY3QgTkNQIFBhY2tldHMgd2l0aCBCYWQgQ29tcG9uZW50c1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoUmVqZWN0IE5DUCBQYWNrZXRzIHdpdGggQmFkIExlbmd0aHNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKFJlcGxhY2UgQ29uc29sZSBQcm9tcHQgd2l0aCBTZXJ2ZXIgTmFtZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoUmVwbHkgdG8gR2V0IE5lYXJlc3QgU2VydmVyXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChTTVAgRGV2ZWxvcGVyIE9wdGlvblwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoU01QIEZsdXNoIFByb2Nlc3NvciBDYWNoZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoU01QIEludHJ1c2l2ZSBBYmVuZCBNb2RlXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChTTVAgTWVtb3J5IFByb3RlY3Rpb25cKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKFNvdW5kIEJlbGwgZm9yIEFsZXJ0c1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoVElNRVNZTkMgQ29uZmlndXJlZCBTb3VyY2VzXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChUSU1FU1lOQyBEaXJlY3RvcnkgVHJlZSBNb2RlXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChUSU1FU1lOQyBIYXJkd2FyZSBDbG9ja1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoVElNRVNZTkMgUkVTRVRcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNCb29sICJcKFRJTUVTWU5DIFJlc3RhcnQgRmxhZ1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoVElNRVNZTkMgU2VydmljZSBBZHZlcnRpc2luZ1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoVElNRVNZTkMgV3JpdGUgUGFyYW1ldGVyc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoVFRTIEFib3J0IER1bXAgRmxhZ1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoVXBncmFkZSBMb3cgUHJpb3JpdHkgVGhyZWFkc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoVm9sdW1lIExvdyBXYXJuIEFsbCBVc2Vyc1wpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0Jvb2wgIlwoV3JpdGUgRmF1bHQgRW11bGF0aW9uXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzQm9vbCAiXChXcml0ZSBGYXVsdCBOb3RpZmljYXRpb25cKVxzKj0iCisKKyIgU2V0IENvbW1hbmRzIHRoYXQgdGFrZSBhICJzdHJpbmciIC0tIE5PVCBRVU9URUQKKworc3luIG1hdGNoIG5jZlNldENvbW1hbmRzU3RyICJcKERlZmF1bHQgVGltZSBTZXJ2ZXIgVHlwZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1N0ciAiXChTTVAgTmV0V2FyZSBLZXJuZWwgTW9kZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1N0ciAiXChUaW1lIFpvbmVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNTdHIgIlwoVElNRVNZTkMgQUREIFRpbWUgU291cmNlXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzU3RyICJcKFRJTUVTWU5DIFJFTU9WRSBUaW1lIFNvdXJjZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1N0ciAiXChUSU1FU1lOQyBUaW1lIFNvdXJjZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1N0ciAiXChUSU1FU1lOQyBUeXBlXClccyo9IgorCisiIFNFVCBDb21tYW5kcyB0aGF0IHRha2UgYSAiVGltZSIKKworc3luIG1hdGNoIG5jZlNldENvbW1hbmRzVGltZSAiXChDb21tYW5kIExpbmUgUHJvbXB0IFRpbWUgT3V0XClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzVGltZSAiXChEZWxheSBCZWZvcmUgRmlyc3QgV2F0Y2hkb2cgUGFja2V0XClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzVGltZSAiXChEZWxheSBCZXR3ZWVuIFdhdGNoZG9nIFBhY2tldHNcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNUaW1lICJcKERpcmVjdG9yeSBDYWNoZSBCdWZmZXIgTm9uUmVmZXJlbmNlZCBEZWxheVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1RpbWUgIlwoRGlydHkgRGlyZWN0b3J5IENhY2hlIERlbGF5IFRpbWVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNUaW1lICJcKERpcnR5IERpc2sgQ2FjaGUgRGVsYXkgVGltZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1RpbWUgIlwoRmlsZSBEZWxldGUgV2FpdCBUaW1lXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzVGltZSAiXChNaW5pbXVtIEZpbGUgRGVsZXRlIFdhaXQgVGltZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1RpbWUgIlwoTWlycm9yZWQgRGV2aWNlcyBBcmUgT3V0IG9mIFN5bmMgTWVzc2FnZSBGcmVxdWVuY3lcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNUaW1lICJcKE5ldyBQYWNrZXQgUmVjZWl2ZSBCdWZmZXIgV2FpdCBUaW1lXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzVGltZSAiXChUVFMgQmFja291dCBGaWxlIFRydW5jYXRpb24gV2FpdCBUaW1lXClccyo9Igorc3luIG1hdGNoIG5jZlNldENvbW1hbmRzVGltZSAiXChUVFMgVW5Xcml0dGVuIENhY2hlIFdhaXQgVGltZVwpXHMqPSIKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1RpbWUgIlwoVHVyYm8gRkFUIFJlLVVzZSBXYWl0IFRpbWVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNUaW1lICJcKERheWxpZ2h0IFNhdmluZ3MgVGltZSBPZmZzZXRcKVxzKj0iCisKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc1RpbWVEYXRlICJcKEVuZCBvZiBEYXlsaWdodCBTYXZpbmdzIFRpbWVcKVxzKj0iCitzeW4gbWF0Y2ggbmNmU2V0Q29tbWFuZHNUaW1lRGF0ZSAiXChTdGFydCBvZiBEYXlsaWdodCBTYXZpbmdzIFRpbWVcKVxzKj0iCisKK3N5biBtYXRjaCBuY2ZTZXRDb21tYW5kc0JpbmRDb24gIlwoQmluZGVyeSBDb250ZXh0XClccyo9IiBuZXh0Z3JvdXA9bmNmQ29udFN0cmluZworCitzeW4gY2x1c3RlciBuY2ZTZXRDb21tYW5kcyBjb250YWlucz1uY2ZTZXRDb21tYW5kc051bSxuY2ZTZXRDb21tYW5kc0Jvb2wsbmNmU2V0Q29tbWFuZHNTdHIsbmNmU2V0Q29tbWFuZHNUaW1lLG5jZlNldENvbW1hbmRzVGltZURhdGUsbmNmU2V0Q29tbWFuZHNCaW5kQ29uCisKKworaWYgZXhpc3RzKCJuY2ZfaGlnaGxpZ2h0X3Vua25vd25zIikKKyAgICBzeW4gbWF0Y2ggRXJyb3IgIlteIFx0XSoiIGNvbnRhaW5zPUFMTAorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX25jZl9zeW50YXhfaW5pdHMiKQorICAgIGlmIHZlcnNpb24gPCA1MDgKKwlsZXQgZGlkX25jZl9zeW50YXhfaW5pdHMgPSAxCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgICBlbHNlCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICAgZW5kaWYKKworICAgICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKKyAgICBIaUxpbmsgbmNmQ29tbWFuZHMJCVN0YXRlbWVudAorICAgIEhpTGluayBuY2ZTZXRDb21tYW5kcwluY2ZDb21tYW5kcworICAgIEhpTGluayBuY2ZMb2dpbnMJCW5jZkNvbW1hbmRzCisgICAgSGlMaW5rIG5jZlN0cmluZwkJU3RyaW5nCisgICAgSGlMaW5rIG5jZkNvbnRTdHJpbmcJbmNmU3RyaW5nCisgICAgSGlMaW5rIG5jZkNvbW1lbnQJCUNvbW1lbnQKKyAgICBIaUxpbmsgbmNmSW1wbGljaXQJCVR5cGUKKyAgICBIaUxpbmsgbmNmQm9vbGVhbgkJQm9vbGVhbgorICAgIEhpTGluayBuY2ZTY3JpcHQJCUlkZW50aWZpZXIKKyAgICBIaUxpbmsgbmNmTnVtYmVyCQlOdW1iZXIKKyAgICBIaUxpbmsgbmNmSVBBZGRyCQluY2ZOdW1iZXIKKyAgICBIaUxpbmsgbmNmSGV4TnVtYmVyCQluY2ZOdW1iZXIKKyAgICBIaUxpbmsgbmNmVGltZQkJbmNmTnVtYmVyCisgICAgSGlMaW5rIG5jZkRTVFRpbWUJCW5jZk51bWJlcgorICAgIEhpTGluayBuY2ZQYXRoCQlDb25zdGFudAorICAgIEhpTGluayBuY2ZTZXJ2ZXJOYW1lCVNwZWNpYWwKKyAgICBIaUxpbmsgbmNmSVBYTmV0CQluY2ZTZXJ2ZXJOYW1lCisgICAgSGlMaW5rIG5jZlRpbWVUeXBlcwkJQ29uc3RhbnQKKyAgICBIaUxpbmsgbmNmU2V0Q29tbWFuZHNOdW0JICAgbmNmU2V0Q29tbWFuZHMKKyAgICBIaUxpbmsgbmNmU2V0Q29tbWFuZHNCb29sCSAgIG5jZlNldENvbW1hbmRzCisgICAgSGlMaW5rIG5jZlNldENvbW1hbmRzU3RyCSAgIG5jZlNldENvbW1hbmRzCisgICAgSGlMaW5rIG5jZlNldENvbW1hbmRzVGltZQkgICBuY2ZTZXRDb21tYW5kcworICAgIEhpTGluayBuY2ZTZXRDb21tYW5kc1RpbWVEYXRlICBuY2ZTZXRDb21tYW5kcworICAgIEhpTGluayBuY2ZTZXRDb21tYW5kc0JpbmRDb24gICBuY2ZTZXRDb21tYW5kcworCisgICAgZGVsY29tbWFuZCBIaUxpbmsKKworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibmNmIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbm9zeW50YXgudmltIGIvcnVudGltZS9zeW50YXgvbm9zeW50YXgudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYjBjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9ub3N5bnRheC52aW0KQEAgLTAsMCArMSwyOSBAQAorIiBWaW0gc3ludGF4IHN1cHBvcnQgZmlsZQorIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgorIiBMYXN0IENoYW5nZToJMjAwMCBKdWwgMTUKKworIiBUaGlzIGZpbGUgaXMgdXNlZCBmb3IgIjpzeW50YXggb2ZmIi4KKyIgSXQgcmVtb3ZlcyB0aGUgYXV0b2NvbW1hbmRzIGFuZCBzdG9wcyBoaWdobGlnaHRpbmcgZm9yIGFsbCBidWZmZXJzLgorCitpZiAhaGFzKCJzeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgcmVtb3ZlIGFsbCBzeW50YXggYXV0b2NvbW1hbmRzIGFuZCByZW1vdmUgdGhlIHN5bnRheCBmb3IgZWFjaCBidWZmZXIKK2F1Z3JvdXAgc3ludGF4c2V0CisgIGF1IQorICBhdSBCdWZFbnRlciAqIHN5biBjbGVhcgorICBhdSBCdWZFbnRlciAqIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpIHwgdW5sZXQgYjpjdXJyZW50X3N5bnRheCB8IGVuZGlmCisgIGRvYXV0b2FsbCBzeW50YXhzZXQgQnVmRW50ZXIgKgorICBhdSEKK2F1Z3JvdXAgRU5ECisKKyIgSnVzdCBpbiBjYXNlOiByZW1vdmUgYWxsIGF1dG9jb21tYW5kcyBmb3IgdGhlIFN5bnRheCBldmVudAorYXUhIFN5bnRheAorCitpZiBleGlzdHMoInN5bnRheF9vbiIpCisgIHVubGV0IHN5bnRheF9vbgorZW5kaWYKK2lmIGV4aXN0cygic3ludGF4X21hbnVhbCIpCisgIHVubGV0IHN5bnRheF9tYW51YWwKK2VuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ucWMudmltIGIvcnVudGltZS9zeW50YXgvbnFjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTNjZDZiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbnFjLnZpbQpAQCAtMCwwICsxLDM3OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU5RQyAtIE5vdCBRdWl0ZSBDLCBmb3IgTEVHTyBtaW5kc3Rvcm1zCisiCQlOUUMgaG9tZXBhZ2U6IGh0dHA6Ly93d3cuZW50ZXJhY3QuY29tL35kYmF1bS9ucWMvCisiIE1haW50YWluZXI6CVN0ZWZhbiBTY2hlcmVyIDxzdGVmYW5AZW5vdGVzLmRlPgorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMTAKKyIgVVJMOgkJaHR0cDovL3d3dy5lbm90ZXMuZGUvdHdpa2kvcHViL0hvbWUvTGVnb01pbmRzdG9ybXMvbnFjLnZpbQorIiBGaWxlbmFtZXM6CS5ucWMKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFN0YXRlbWVudHMKK3N5biBrZXl3b3JkCW5xY1N0YXRlbWVudAlicmVhayByZXR1cm4gY29udGludWUgc3RhcnQgc3RvcCBhYnMgc2lnbgorc3luIGtleXdvcmQgICAgIG5xY1N0YXRlbWVudAlzdWIgdGFzaworc3luIGtleXdvcmQgICAgIG5xY0xhYmVsCWNhc2UgZGVmYXVsdAorc3luIGtleXdvcmQJbnFjQ29uZGl0aW9uYWwJaWYgZWxzZSBzd2l0Y2gKK3N5biBrZXl3b3JkCW5xY1JlcGVhdAl3aGlsZSBmb3IgZG8gdW50aWwgcmVwZWF0CisKKyIgU2NvdXQgYW5kIFJDWDIKK3N5biBrZXl3b3JkCW5xY0V2ZW50cwlhY3F1aXJlIGNhdGNoIG1vbml0b3IKKworIiB0eXBlcyBhbmQgY2xhc3Nlcworc3luIGtleXdvcmQJbnFjVHlwZQkJaW50IHRydWUgZmFsc2Ugdm9pZAorc3luIGtleXdvcmQJbnFjU3RvcmFnZUNsYXNzCWFzbSBjb25zdCBpbmxpbmUKKworCisKKyIgU2Vuc29ycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBJbnB1dCBTZW5zb3JzCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJU0VOU09SXzEgU0VOU09SXzIgU0VOU09SXzMKKworIiBUeXBlcyBmb3IgU2V0U2Vuc29yVHlwZSgpCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJU0VOU09SX1RZUEVfVE9VQ0ggU0VOU09SX1RZUEVfVEVNUEVSQVRVUkUKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlTRU5TT1JfVFlQRV9MSUdIVCBTRU5TT1JfVFlQRV9ST1RBVElPTgorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CVNFTlNPUl9MSUdIVCBTRU5TT1JfVE9VQ0gKKworIiBNb2RlcyBmb3IgU2V0U2Vuc29yTW9kZSgpCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJU0VOU09SX01PREVfUkFXIFNFTlNPUl9NT0RFX0JPT0wKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlTRU5TT1JfTU9ERV9FREdFIFNFTlNPUl9NT0RFX1BVTFNFCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJU0VOU09SX01PREVfUEVSQ0VOVCBTRU5TT1JfTU9ERV9DRUxTSVVTCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJU0VOU09SX01PREVfRkFIUkVOSEVJVCBTRU5TT1JfTU9ERV9ST1RBVElPTgorCisiIFNlbnNvciBjb25maWd1cmF0aW9ucyBmb3IgU2V0U2Vuc29yKCkKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlTRU5TT1JfVE9VQ0ggU0VOU09SX0xJR0hUIFNFTlNPUl9ST1RBVElPTgorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CVNFTlNPUl9DRUxTSVVTIFNFTlNPUl9GQUhSRU5IRUlUIFNFTlNPUl9QVUxTRQorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CVNFTlNPUl9FREdFCisKKyIgRnVuY3Rpb25zIC0gQWxsCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglDbGVhclNlbnNvcgorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2Vuc29yVmFsdWUgU2Vuc29yVHlwZQorCisiIEZ1bmN0aW9ucyAtIFJDWAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2V0U2Vuc29yIFNldFNlbnNvclR5cGUKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNlbnNvclZhbHVlQm9vbAorCisiIEZ1bmN0aW9ucyAtIFJDWCwgQ3liZXJNYXN0ZXIKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNldFNlbnNvck1vZGUgU2Vuc29yTW9kZQorCisiIEZ1bmN0aW9ucyAtIFJDWCwgU2NvdXQKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNlbnNvclZhbHVlUmF3CisKKyIgRnVuY3Rpb25zIC0gU2NvdXQKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNldFNlbnNvckxvd2VyTGltaXQgU2V0U2Vuc29yVXBwZXJMaW1pdAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2V0U2Vuc29ySHlzdGVyZXNpcyBDYWxpYnJhdGVTZW5zb3IKKworCisiIE91dHB1dHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgT3V0cHV0cyBmb3IgT24oKSwgT2ZmKCksIGV0Yy4KK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlPVVRfQSBPVVRfQiBPVVRfQworCisiIE1vZGVzIGZvciBTZXRPdXRwdXQoKQorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CU9VVF9PTiBPVVRfT0ZGIE9VVF9GTE9BVAorCisiIERpcmVjdGlvbnMgZm9yIFNldERpcmVjdGlvbigpCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJT1VUX0ZXRCBPVVRfUkVWIE9VVF9UT0dHTEUKKworIiBPdXRwdXQgcG93ZXIgZm9yIFNldFBvd2VyKCkKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlPVVRfTE9XIE9VVF9IQUxGIE9VVF9GVUxMCisKKyIgRnVuY3Rpb25zIC0gQWxsCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglTZXRPdXRwdXQgU2V0RGlyZWN0aW9uIFNldFBvd2VyIE91dHB1dFN0YXR1cworc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JT24gT2ZmIEZsb2F0IEZ3ZCBSZXYgVG9nZ2xlCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglPbkZ3ZCBPblJldiBPbkZvcgorCisiIEZ1bmN0aW9ucyAtIFJYQzIsIFNjb3V0CitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglTZXRHbG9iYWxPdXRwdXQgU2V0R2xvYmFsRGlyZWN0aW9uIFNldE1heFBvd2VyCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglHbG9iYWxPdXRwdXRTdGF0dXMKKworCisiIFNvdW5kIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgU291bmRzIGZvciBQbGF5U291bmQoKQorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CVNPVU5EX0NMSUNLIFNPVU5EX0RPVUJMRV9CRUVQIFNPVU5EX0RPV04KK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlTT1VORF9VUCBTT1VORF9MT1dfQkVFUCBTT1VORF9GQVNUX1VQCisKKyIgRnVuY3Rpb25zIC0gQWxsCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglQbGF5U291bmQgUGxheVRvbmUKKworIiBGdW5jdGlvbnMgLSBSQ1gyLCBTY291dAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JTXV0ZVNvdW5kIFVubXV0ZVNvdW5kIENsZWFyU291bmQKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNlbGVjdFNvdW5kcworCisKKyIgTENEIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBNb2RlcyBmb3IgU2VsZWN0RGlzcGxheSgpCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJRElTUExBWV9XQVRDSCBESVNQTEFZX1NFTlNPUl8xIERJU1BMQVlfU0VOU09SXzIKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlESVNQTEFZX1NFTlNPUl8zIERJU1BMQVlfT1VUX0EgRElTUExBWV9PVVRfQgorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CURJU1BMQVlfT1VUX0MKKyIgUkNYMgorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CURJU1BMQVlfVVNFUgorCisiIEZ1bmN0aW9ucyAtIFJDWAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2VsZWN0RGlzcGxheQorIiBGdW5jdGlvbnMgLSBSQ1gyCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglTZXRVc2VyRGlzcGxheQorCisKKyIgQ29tbXVuaWNhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBNZXNzYWdlcyAtIFJDWCwgU2NvdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIFR4IHBvd2VyIGxldmVsIGZvciBTZXRUeFBvd2VyKCkKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlUWF9QT1dFUl9MTyBUWF9QT1dFUl9ISQorCisiIEZ1bmN0aW9ucyAtIFJDWCwgU2NvdXQKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCU1lc3NhZ2UgQ2xlYXJNZXNzYWdlIFNlbmRNZXNzYWdlIFNldFR4UG93ZXIKKworIiBTZXJpYWwgLSBSQ1gyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIGZvciBTZXRTZXJpYWxDb21tKCkKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlTRVJJQUxfQ09NTV9ERUZBVUxUIFNFUklBTF9DT01NXzQ4MDAKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlTRVJJQUxfQ09NTV9EVVRZMjUgU0VSSUFMX0NPTU1fNzZLSFoKKworIiBmb3IgU2V0U2VyaWFsUGFja2V0KCkKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlTRVJJQUxfUEFDS0VUX0RFRkFVTFQgU0VSSUFMX1BBQ0tFVF9QUkVBTUJMRQorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CVNFUklBTF9QQUNLRVRfTkVHQVRFRCBTRVJJQUxfUEFDS0VUX0NIRUNLU1VNCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJU0VSSUFMX1BBQ0tFVF9SQ1gKKworIiBGdW5jdGlvbnMgLSBSQ1gyCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglTZXRTZXJpYWxDb21tIFNldFNlcmlhbFBhY2tldCBTZXRTZXJpYWxEYXRhCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglTZXJpYWxEYXRhIFNlbmRTZXJpYWwKKworIiBWTEwgLSBTY291dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIEZ1bmN0aW9ucyAtIFNjb3V0CitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglTZW5kVkxMCisKKworIiBUaW1lcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIEZ1bmN0aW9ucyAtIEFsbAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JQ2xlYXJUaW1lciBUaW1lcgorCisiIEZ1bmN0aW9ucyAtIFJDWDIKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNldFRpbWVyIEZhc3RUaW1lcgorCisKKyIgQ291bnRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBGdW5jdGlvbnMgLSBSQ1gyLCBTY291dAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JQ2xlYXJDb3VudGVyIEluY0NvdW50ZXIgRGVjQ291bnRlciBDb3VudGVyCisKKworIiBBY2Nlc3MgQ29udHJvbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJQUNRVUlSRV9PVVRfQSBBQ1FVSVJFX09VVF9CIEFDUVVJUkVfT1VUX0MKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlBQ1FVSVJFX1NPVU5ECisiIFJDWDIgb25seQorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUFDUVVJUkVfVVNFUl8xIEFDUVVJUkVfVVNFUl8yIEFDUVVJUkVfVVNFUl8zCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJQUNRVUlSRV9VU0VSXzQKKworIiBGdW5jdGlvbnMgLSBSQ1gyLCBTY291dAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2V0UHJpb3JpdHkKKworCisiIEV2ZW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgUkNYMiBFdmVudHMKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlFVkVOVF9UWVBFX1BSRVNTRUQgRVZFTlRfVFlQRV9SRUxFQVNFRAorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUVWRU5UX1RZUEVfUFVMU0UgRVZFTlRfVFlQRV9FREdFCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJRVZFTlRfVFlQRV9GQVNUX0NIQU5HRSBFVkVOVF9UWVBFX0xPVworc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUVWRU5UX1RZUEVfTk9STUFMIEVWRU5UX1RZUEVfSElHSAorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUVWRU5UX1RZUEVfQ0xJQ0sgRVZFTlRfVFlQRV9ET1VCTEVDTElDSworc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUVWRU5UX1RZUEVfTUVTU0FHRQorCisiIFNjb3V0IEV2ZW50cworc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUVWRU5UXzFfUFJFU1NFRCBFVkVOVF8xX1JFTEVBU0VECitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJRVZFTlRfMl9QUkVTU0VEIEVWRU5UXzJfUkVMRUFTRUQKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlFVkVOVF9MSUdIVF9ISUdIIEVWRU5UX0xJR0hUX05PUk1BTAorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUVWRU5UX0xJR0hUX0xPVyBFVkVOVF9MSUdIVF9DTElDSworc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUVWRU5UX0xJR0hUX0RPVUJMRUNMSUNLIEVWRU5UX0NPVU5URVJfMAorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUVWRU5UX0NPVU5URVJfMSBFVkVOVF9USU1FUl8wIEVWRU5UX1RJTUVSXzEKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlFVkVOVF9USU1FUl8yIEVWRU5UX01FU1NBR0UKKworIiBGdW5jdGlvbnMgLSBSQ1gyLCBTY291dAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JQWN0aXZlRXZlbnRzIEV2ZW50CisKKyIgRnVuY3Rpb25zIC0gUkNYMgorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JQ3VycmVudEV2ZW50cworc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2V0RXZlbnQgQ2xlYXJFdmVudCBDbGVhckFsbEV2ZW50cyBFdmVudFN0YXRlCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglDYWxpYnJhdGVFdmVudCBTZXRVcHBlckxpbWl0IFVwcGVyTGltaXQKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNldExvd2VyTGltaXQgTG93ZXJMaW1pdCBTZXRIeXN0ZXJlc2lzCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglIeXN0ZXJlc2lzCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglTZXRDbGlja1RpbWUgQ2xpY2tUaW1lIFNldENsaWNrQ291bnRlcgorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JQ2xpY2tDb3VudGVyCisKKyIgRnVuY3Rpb25zIC0gU2NvdXQKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNldFNlbnNvckNsaWNrVGltZSBTZXRDb3VudGVyTGltaXQKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVNldFRpbWVyTGltaXQKKworCisiIERhdGEgTG9nZ2luZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgRnVuY3Rpb25zIC0gUkNYCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglDcmVhdGVEYXRhbG9nIEFkZFRvRGF0YWxvZworc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JVXBsb2FkRGF0YWxvZworCisKKyIgR2VuZXJhbCBGZWF0dXJlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBGdW5jdGlvbnMgLSBBbGwKK3N5biBrZXl3b3JkCW5xY0Z1bmN0aW9uCVdhaXQgU3RvcEFsbFRhc2tzIFJhbmRvbQorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2V0U2xlZXBUaW1lIFNsZWVwTm93CisKKyIgRnVuY3Rpb25zIC0gUkNYCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglQcm9ncmFtIFdhdGNoIFNldFdhdGNoCisKKyIgRnVuY3Rpb25zIC0gUkNYMgorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2V0UmFuZG9tU2VlZCBTZWxlY3RQcm9ncmFtCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglCYXR0ZXJ5TGV2ZWwgRmlybXdhcmVWZXJzaW9uCisKKyIgRnVuY3Rpb25zIC0gU2NvdXQKKyIgUGFyYW1ldGVycyBmb3IgU2V0TGlnaHQoKQorc3luIGtleXdvcmQgICAgIG5xY0NvbnN0YW50CUxJR0hUX09OIExJR0hUX09GRgorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2V0U2NvdXRSdWxlcyBTY291dFJ1bGVzIFNldFNjb3V0TW9kZQorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JU2V0RXZlbnRGZWVkYmFjayBFdmVudEZlZWRiYWNrIFNldExpZ2h0CisKKyIgYWRkaXRpb25hbCBDeWJlck1hc3RlciBkZWZpbmVzCitzeW4ga2V5d29yZCAgICAgbnFjQ29uc3RhbnQJT1VUX0wgT1VUX1IgT1VUX1gKK3N5biBrZXl3b3JkICAgICBucWNDb25zdGFudAlTRU5TT1JfTCBTRU5TT1JfTSBTRU5TT1JfUgorIiBGdW5jdGlvbnMgLSBDeWJlck1hc3Rlcgorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JRHJpdmUgT25XYWl0IE9uV2FpdERpZmZlcmVudAorc3luIGtleXdvcmQJbnFjRnVuY3Rpb24JQ2xlYXJUYWNob0NvdW50ZXIgVGFjaG9Db3VudCBUYWNob1NwZWVkCitzeW4ga2V5d29yZAlucWNGdW5jdGlvbglFeHRlcm5hbE1vdG9yUnVubmluZyBBR0MKKworCisKKyIgbnFjQ29tbWVudEdyb3VwIGFsbG93cyBhZGRpbmcgbWF0Y2hlcyBmb3Igc3BlY2lhbCB0aGluZ3MgaW4gY29tbWVudHMKK3N5biBrZXl3b3JkCW5xY1RvZG8JCWNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWAorc3luIGNsdXN0ZXIJbnFjQ29tbWVudEdyb3VwCWNvbnRhaW5zPW5xY1RvZG8KKworIndoZW4gd2FudGVkLCBoaWdobGlnaHQgdHJhaWxpbmcgd2hpdGUgc3BhY2UKK2lmIGV4aXN0cygibnFjX3NwYWNlX2Vycm9ycyIpCisgIGlmICFleGlzdHMoIm5xY19ub190cmFpbF9zcGFjZV9lcnJvciIpCisgICAgc3luIG1hdGNoCW5xY1NwYWNlRXJyb3IJZGlzcGxheSBleGNsdWRlbmwgIlxzXCskIgorICBlbmRpZgorICBpZiAhZXhpc3RzKCJucWNfbm9fdGFiX3NwYWNlX2Vycm9yIikKKyAgICBzeW4gbWF0Y2gJbnFjU3BhY2VFcnJvcglkaXNwbGF5ICIgXCtcdCJtZT1lLTEKKyAgZW5kaWYKK2VuZGlmCisKKyJjYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2lzIGFuZCBicmFja2V0cworc3luIGNsdXN0ZXIJbnFjUGFyZW5Hcm91cAljb250YWlucz1ucWNQYXJlbkVycm9yLG5xY0luY2x1ZGVkLG5xY0NvbW1lbnRTa2lwLEBucWNDb21tZW50R3JvdXAsbnFjQ29tbWVudFN0YXJ0RXJyb3IsbnFjQ29tbWVudFNraXAsbnFjQ3BwT3V0LG5xY0NwcE91dDIsbnFjQ3BwU2tpcCxucWNOdW1iZXIsbnFjRmxvYXQsbnFjTnVtYmVycworaWYgZXhpc3RzKCJucWNfbm9fYnJhY2tldF9lcnJvciIpCisgIHN5biByZWdpb24JbnFjUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBucWNQYXJlbkdyb3VwLG5xY0NwcFBhcmVuCisgICIgbnFjQ3BwUGFyZW46IHNhbWUgYXMgbnFjUGFyZW4gYnV0IGVuZHMgYXQgZW5kLW9mLWxpbmU7IHVzZWQgaW4gbnFjRGVmaW5lCisgIHN5biByZWdpb24JbnFjQ3BwUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9JygnIHNraXA9J1xcJCcgZXhjbHVkZW5sIGVuZD0nKScgZW5kPSckJyBjb250YWluZWQgY29udGFpbnM9QUxMQlVULEBucWNQYXJlbkdyb3VwLG5xY1BhcmVuCisgIHN5biBtYXRjaAlucWNQYXJlbkVycm9yCWRpc3BsYXkgIikiCisgIHN5biBtYXRjaAlucWNFcnJJblBhcmVuCWRpc3BsYXkgY29udGFpbmVkICJbe31dIgorZWxzZQorICBzeW4gcmVnaW9uCW5xY1BhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsQG5xY1BhcmVuR3JvdXAsbnFjQ3BwUGFyZW4sbnFjRXJySW5CcmFja2V0LG5xY0NwcEJyYWNrZXQKKyAgIiBucWNDcHBQYXJlbjogc2FtZSBhcyBucWNQYXJlbiBidXQgZW5kcyBhdCBlbmQtb2YtbGluZTsgdXNlZCBpbiBucWNEZWZpbmUKKyAgc3luIHJlZ2lvbglucWNDcHBQYXJlbgl0cmFuc3BhcmVudCBzdGFydD0nKCcgc2tpcD0nXFwkJyBleGNsdWRlbmwgZW5kPScpJyBlbmQ9JyQnIGNvbnRhaW5lZCBjb250YWlucz1BTExCVVQsQG5xY1BhcmVuR3JvdXAsbnFjRXJySW5CcmFja2V0LG5xY1BhcmVuLG5xY0JyYWNrZXQKKyAgc3luIG1hdGNoCW5xY1BhcmVuRXJyb3IJZGlzcGxheSAiW1xdKV0iCisgIHN5biBtYXRjaAlucWNFcnJJblBhcmVuCWRpc3BsYXkgY29udGFpbmVkICJbXF17fV0iCisgIHN5biByZWdpb24JbnFjQnJhY2tldAl0cmFuc3BhcmVudCBzdGFydD0nXFsnIGVuZD0nXScgY29udGFpbnM9QUxMQlVULEBucWNQYXJlbkdyb3VwLG5xY0VyckluUGFyZW4sbnFjQ3BwUGFyZW4sbnFjQ3BwQnJhY2tldAorICAiIG5xY0NwcEJyYWNrZXQ6IHNhbWUgYXMgbnFjUGFyZW4gYnV0IGVuZHMgYXQgZW5kLW9mLWxpbmU7IHVzZWQgaW4gbnFjRGVmaW5lCisgIHN5biByZWdpb24JbnFjQ3BwQnJhY2tldAl0cmFuc3BhcmVudCBzdGFydD0nXFsnIHNraXA9J1xcJCcgZXhjbHVkZW5sIGVuZD0nXScgZW5kPSckJyBjb250YWluZWQgY29udGFpbnM9QUxMQlVULEBucWNQYXJlbkdyb3VwLG5xY0VyckluUGFyZW4sbnFjUGFyZW4sbnFjQnJhY2tldAorICBzeW4gbWF0Y2gJbnFjRXJySW5CcmFja2V0CWRpc3BsYXkgY29udGFpbmVkICJbKTt7fV0iCitlbmRpZgorCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoCW5xY051bWJlcnMJZGlzcGxheSB0cmFuc3BhcmVudCAiXDxcZFx8XC5cZCIgY29udGFpbnM9bnFjTnVtYmVyLG5xY0Zsb2F0CisiIFNhbWUsIGJ1dCB3aXRob3V0IG9jdGFsIGVycm9yIChmb3IgY29tbWVudHMpCitzeW4gbWF0Y2gJbnFjTnVtYmVyCWRpc3BsYXkgY29udGFpbmVkICJcZFwrXCh1XD1sXHswLDJ9XHxsbFw9dVwpXD4iCisiaGV4IG51bWJlcgorc3luIG1hdGNoCW5xY051bWJlcglkaXNwbGF5IGNvbnRhaW5lZCAiMHhceFwrXCh1XD1sXHswLDJ9XHxsbFw9dVwpXD4iCisiIEZsYWcgdGhlIGZpcnN0IHplcm8gb2YgYW4gb2N0YWwgbnVtYmVyIGFzIHNvbWV0aGluZyBzcGVjaWFsCitzeW4gbWF0Y2gJbnFjRmxvYXQJZGlzcGxheSBjb250YWluZWQgIlxkXCtmIgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2gJbnFjRmxvYXQJZGlzcGxheSBjb250YWluZWQgIlxkXCtcLlxkKlwoZVstK11cPVxkXCtcKVw9W2ZsXVw9IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaAlucWNGbG9hdAlkaXNwbGF5IGNvbnRhaW5lZCAiXC5cZFwrXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CitzeW4gbWF0Y2gJbnFjRmxvYXQJZGlzcGxheSBjb250YWluZWQgIlxkXCtlWy0rXVw9XGRcK1tmbF1cPVw+IgorIiBmbGFnIGFuIG9jdGFsIG51bWJlciB3aXRoIHdyb25nIGRpZ2l0cworc3luIGNhc2UgbWF0Y2gKKworc3luIHJlZ2lvbglucWNDb21tZW50TAlzdGFydD0iLy8iIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPUBucWNDb21tZW50R3JvdXAsbnFjU3BhY2VFcnJvcgorc3luIHJlZ2lvbglucWNDb21tZW50CW1hdGNoZ3JvdXA9bnFjQ29tbWVudFN0YXJ0IHN0YXJ0PSIvXCoiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IlwqLyIgY29udGFpbnM9QG5xY0NvbW1lbnRHcm91cCxucWNDb21tZW50U3RhcnRFcnJvcixucWNTcGFjZUVycm9yCisKKyIga2VlcCBhIC8vIGNvbW1lbnQgc2VwYXJhdGVseSwgaXQgdGVybWluYXRlcyBhIHByZXByb2MuIGNvbmRpdGlvbmFsCitzeW50YXggbWF0Y2gJbnFjQ29tbWVudEVycm9yCWRpc3BsYXkgIlwqLyIKK3N5bnRheCBtYXRjaAlucWNDb21tZW50U3RhcnRFcnJvciBkaXNwbGF5ICIvXCoiIGNvbnRhaW5lZAorCisKKworCisKK3N5biByZWdpb24JbnFjUHJlQ29uZGl0CXN0YXJ0PSJeXHMqI1xzKlwoaWZcfGlmZGVmXHxpZm5kZWZcfGVsaWZcKVw+IiBza2lwPSJcXCQiIGVuZD0iJCIgZW5kPSIvLyJtZT1zLTEgY29udGFpbnM9bnFjQ29tbWVudCxucWNDaGFyYWN0ZXIsbnFjQ3BwUGFyZW4sbnFjUGFyZW5FcnJvcixucWNOdW1iZXJzLG5xY0NvbW1lbnRFcnJvcixucWNTcGFjZUVycm9yCitzeW4gbWF0Y2gJbnFjUHJlQ29uZGl0CWRpc3BsYXkgIl5ccyojXHMqXChlbHNlXHxlbmRpZlwpXD4iCitpZiAhZXhpc3RzKCJucWNfbm9faWYwIikKKyAgc3luIHJlZ2lvbglucWNDcHBPdXQJCXN0YXJ0PSJeXHMqI1xzKmlmXHNcKzBcPiIgZW5kPSIuXHwkIiBjb250YWlucz1ucWNDcHBPdXQyCisgIHN5biByZWdpb24JbnFjQ3BwT3V0Mgljb250YWluZWQgc3RhcnQ9IjAiIGVuZD0iXlxzKiNccypcKGVuZGlmXD5cfGVsc2VcPlx8ZWxpZlw+XCkiIGNvbnRhaW5zPW5xY1NwYWNlRXJyb3IsbnFjQ3BwU2tpcAorICBzeW4gcmVnaW9uCW5xY0NwcFNraXAJY29udGFpbmVkIHN0YXJ0PSJeXHMqI1xzKlwoaWZcPlx8aWZkZWZcPlx8aWZuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9Il5ccyojXHMqZW5kaWZcPiIgY29udGFpbnM9bnFjU3BhY2VFcnJvcixucWNDcHBTa2lwCitlbmRpZgorc3luIHJlZ2lvbglucWNJbmNsdWRlZAlkaXNwbGF5IGNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCitzeW4gbWF0Y2gJbnFjSW5jbHVkZQlkaXNwbGF5ICJeXHMqI1xzKmluY2x1ZGVcPlxzKlsiXSIgY29udGFpbnM9bnFjSW5jbHVkZWQKKyJzeW4gbWF0Y2ggbnFjTGluZVNraXAJIlxcJCIKK3N5biBjbHVzdGVyCW5xY1ByZVByb2NHcm91cAljb250YWlucz1ucWNQcmVDb25kaXQsbnFjSW5jbHVkZWQsbnFjSW5jbHVkZSxucWNEZWZpbmUsbnFjRXJySW5QYXJlbixucWNFcnJJbkJyYWNrZXQsbnFjQ3BwT3V0LG5xY0NwcE91dDIsbnFjQ3BwU2tpcCxucWNOdW1iZXIsbnFjRmxvYXQsbnFjTnVtYmVycyxucWNDb21tZW50U2tpcCxAbnFjQ29tbWVudEdyb3VwLG5xY0NvbW1lbnRTdGFydEVycm9yLG5xY1BhcmVuLG5xY0JyYWNrZXQKK3N5biByZWdpb24JbnFjRGVmaW5lCXN0YXJ0PSJeXHMqI1xzKlwoZGVmaW5lXHx1bmRlZlwpXD4iIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsQG5xY1ByZVByb2NHcm91cAorc3luIHJlZ2lvbglucWNQcmVQcm9jCXN0YXJ0PSJeXHMqI1xzKlwocHJhZ21hXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGtlZXBlbmQgY29udGFpbnM9QUxMQlVULEBucWNQcmVQcm9jR3JvdXAKKworaWYgIWV4aXN0cygibnFjX21pbmxpbmVzIikKKyAgaWYgIWV4aXN0cygibnFjX25vX2lmMCIpCisgICAgbGV0IG5xY19taW5saW5lcyA9IDUwCSAgICAiICNpZiAwIGNvbnN0cnVjdHMgY2FuIGJlIGxvbmcKKyAgZWxzZQorICAgIGxldCBucWNfbWlubGluZXMgPSAxNQkgICAgIiBtb3N0bHkgZm9yICgpIGNvbnN0cnVjdHMKKyAgZW5kaWYKK2VuZGlmCitleGVjICJzeW4gc3luYyBjY29tbWVudCBucWNDb21tZW50IG1pbmxpbmVzPSIgLiBucWNfbWlubGluZXMKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbnFjX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX25xY19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKKyAgSGlMaW5rIG5xY0xhYmVsCQlMYWJlbAorICBIaUxpbmsgbnFjQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCisgIEhpTGluayBucWNSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgbnFjQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKKyAgSGlMaW5rIG5xY051bWJlcgkJTnVtYmVyCisgIEhpTGluayBucWNGbG9hdAkJRmxvYXQKKyAgSGlMaW5rIG5xY0Z1bmN0aW9uCQlGdW5jdGlvbgorICBIaUxpbmsgbnFjUGFyZW5FcnJvcgkJbnFjRXJyb3IKKyAgSGlMaW5rIG5xY0VyckluUGFyZW4JCW5xY0Vycm9yCisgIEhpTGluayBucWNFcnJJbkJyYWNrZXQJbnFjRXJyb3IKKyAgSGlMaW5rIG5xY0NvbW1lbnRMCQlucWNDb21tZW50CisgIEhpTGluayBucWNDb21tZW50U3RhcnQJbnFjQ29tbWVudAorICBIaUxpbmsgbnFjQ29tbWVudEVycm9yCW5xY0Vycm9yCisgIEhpTGluayBucWNDb21tZW50U3RhcnRFcnJvcglucWNFcnJvcgorICBIaUxpbmsgbnFjU3BhY2VFcnJvcgkJbnFjRXJyb3IKKyAgSGlMaW5rIG5xY1N0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIG5xY0luY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIG5xY1ByZVByb2MJCVByZVByb2MKKyAgSGlMaW5rIG5xY0RlZmluZQkJTWFjcm8KKyAgSGlMaW5rIG5xY0luY2x1ZGVkCQlTdHJpbmcKKyAgSGlMaW5rIG5xY0Vycm9yCQlFcnJvcgorICBIaUxpbmsgbnFjU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG5xY0V2ZW50cwkJU3RhdGVtZW50CisgIEhpTGluayBucWNQcmVDb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgbnFjVHlwZQkJVHlwZQorICBIaUxpbmsgbnFjQ29uc3RhbnQJCUNvbnN0YW50CisgIEhpTGluayBucWNDb21tZW50U2tpcAkJbnFjQ29tbWVudAorICBIaUxpbmsgbnFjQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgbnFjVG9kbwkJVG9kbworICBIaUxpbmsgbnFjQ3BwU2tpcAkJbnFjQ3BwT3V0CisgIEhpTGluayBucWNDcHBPdXQyCQlucWNDcHBPdXQKKyAgSGlMaW5rIG5xY0NwcE91dAkJQ29tbWVudAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJucWMiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ucm9mZi52aW0gYi9ydW50aW1lL3N5bnRheC9ucm9mZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmYwMDRkNgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L25yb2ZmLnZpbQpAQCAtMCwwICsxLDI1OSBAQAorIiBWSU0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CW5yb2ZmL2dyb2ZmCisiIE1haW50YWluZXI6CUFsZWphbmRybyBM83Blei1WYWxlbmNpYSA8ZHJhZHVsQHlhaG9vLmNvbT4KKyIgVVJMOgkJaHR0cDovL2RyYWR1bC50cmlwb2QuY29tL3ZpbQorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMjQKKyIKKyIge3t7MSBBY2tub3dsZWRnZW1lbnRzCisiCisiIEFDS05PV0xFREdFTUVOVFM6CisiCisiIE15IHRoYW5rcyB0byBK6XL0bWUgUGz7dCA8SmVyb21lLlBsdXRAZW5zLmZyPiwgd2hvIHdhcyB0aGUKKyIgY3JlYXRvciBhbmQgbWFpbnRhaW5lciBvZiB0aGlzIHN5bnRheCBmaWxlIGZvciBzZXZlcmFsIHllYXJzLgorIiBNYXkgSSBiZSBhcyBnb29kIGF0IGl0IGFzIGhlIGhhcyBiZWVuLgorIgorIiB7e3sxIFRvZG8KKyIKKyIgVE9ETzoKKyIKKyIgKiBXcml0ZSBzeW50YXggaGlnaGxpZ2h0aW5nIGZpbGVzIGZvciB0aGUgcHJlcHJvY2Vzc29ycywKKyIJYW5kIGludGVncmF0ZSB3aXRoIG5yb2ZmLnZpbS4KKyIKKyIKKyIge3t7MSBTdGFydCBzeW50YXggaGlnaGxpZ2h0aW5nLgorIgorIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKKyIKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworIgorIiB7e3sxIHBsdWdpbiBzZXR0aW5ncy4uLgorIgorIiB7e3syIGVuYWJsZSBzcGFjaW5nIGVycm9yIGhpZ2hsaWdodGluZworIgoraWYgZXhpc3RzKCJucm9mZl9zcGFjZV9lcnJvcnMiKQorCXN5biBtYXRjaCBucm9mZkVycm9yIC9cc1wrJC8KKwlzeW4gbWF0Y2ggbnJvZmZTcGFjZUVycm9yIC9bLiw6OyE/XVxzXHsyLH0vCitlbmRpZgorIgorIgorIiB7e3sxIFNwZWNpYWwgZmlsZSBzZXR0aW5ncworIgorIiB7e3syICBtcyBleGRlbnRlZCBwYXJhZ3JhcGhzIGFyZSBub3QgaW4gdGhlIGRlZmF1bHQgcGFyYWdyYXBocyBsaXN0LgorIgorc2V0bG9jYWwgcGFyYWdyYXBocys9WFAKKyIKKyIge3t7MiBBY3RpdmF0ZSBuYXZpZ2F0aW9uIHRvIHByZXBvcmNlc3NvciBzZWN0aW9ucy4KKyIKK2lmIGV4aXN0cygiYjpwcmVwcm9jc19hc19zZWN0aW9ucyIpCisJc2V0bG9jYWwgc2VjdGlvbnM9RVFUU1BTW1wgRzFHUworZW5kaWYKKworIiB7e3sxIEVzY2FwZSBzZXF1ZW5jZXMKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3N5biBtYXRjaCBucm9mZkVzY0NoYXIgL1xcW0NOXS8gbmV4dGdyb3VwPW5yb2ZmRXNjQ2hhckFyZworc3luIG1hdGNoIG5yb2ZmRXNjYXBlIC9cXFsqZmdtbllWXS8gbmV4dGdyb3VwPW5yb2ZmRXNjUmVnUGFyLG5yb2ZmRXNjUmVnQXJnCitzeW4gbWF0Y2ggbnJvZmZFc2NhcGUgL1xcc1srLV1cPS8gbmV4dGdyb3VwPW5yb2ZmU2l6ZQorc3luIG1hdGNoIG5yb2ZmRXNjYXBlIC9cXFskQWJEaGxMUnZ4WFpdLyBuZXh0Z3JvdXA9bnJvZmZFc2NQYXIsbnJvZmZFc2NBcmcKKworc3luIG1hdGNoIG5yb2ZmRXNjUmVnQXJnIC8uLyBjb250YWluZWQKK3N5biBtYXRjaCBucm9mZkVzY1JlZ0FyZzIgLy4uLyBjb250YWluZWQKK3N5biBtYXRjaCBucm9mZkVzY1JlZ1BhciAvKC8gY29udGFpbmVkIG5leHRncm91cD1ucm9mZkVzY1JlZ0FyZzIKK3N5biBtYXRjaCBucm9mZkVzY0FyZyAvLi8gY29udGFpbmVkCitzeW4gbWF0Y2ggbnJvZmZFc2NBcmcyIC8uLi8gY29udGFpbmVkCitzeW4gbWF0Y2ggbnJvZmZFc2NQYXIgLygvIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bnJvZmZFc2NBcmcyCitzeW4gbWF0Y2ggbnJvZmZTaXplIC9cKChcZFwpXD1cZC8gY29udGFpbmVkCisKK3N5biByZWdpb24gbnJvZmZFc2NDaGFyQXJnIHN0YXJ0PS8nLyBlbmQ9LycvIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBucm9mZkVzY0FyZyBzdGFydD0vJy8gZW5kPS8nLyBjb250YWluZWQgY29udGFpbnM9bnJvZmZFc2NhcGUsQG5yb2ZmU3BlY2lhbAorCitpZiBleGlzdHMoImI6bnJvZmZfaXNfZ3JvZmYiKQorCXN5biByZWdpb24gbnJvZmZFc2NSZWdBcmcgbWF0Y2hncm91cD1ucm9mZkVzY2FwZSBzdGFydD0vXFsvIGVuZD0vXF0vIGNvbnRhaW5lZCBvbmVsaW5lCisJc3luIHJlZ2lvbiBucm9mZlNpemUgbWF0Y2hncm91cD1ucm9mZkVzY2FwZSBzdGFydD0vXFsvIGVuZD0vXF0vIGNvbnRhaW5lZAorZW5kaWYKKworc3luIG1hdGNoIG5yb2ZmRXNjYXBlIC9cXFthZHBydHV7fV0vCitzeW4gbWF0Y2ggbnJvZmZFc2NhcGUgL1xcJC8KK3N5biBtYXRjaCBucm9mZkVzY2FwZSAvXFxcJFtAKl0vCisKKyIge3t7MSBTdHJpbmdzIGFuZCBzcGVjaWFsIGNoYXJhY3RlcnMKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3N5biBtYXRjaCBucm9mZlNwZWNpYWxDaGFyIC9cXFtcXGVFPyEtXS8KK3N5biBtYXRjaCBucm9mZlNwYWNlICJcXFsmJX58XjApLyxdIgorc3luIG1hdGNoIG5yb2ZmU3BlY2lhbENoYXIgL1xcKC4uLworCitpZiBleGlzdHMoImI6bnJvZmZfaXNfZ3JvZmYiKQorCXN5biBtYXRjaCBucm9mZlNwZWNpYWxDaGFyIC9cXFxbW15dXSpdLworCXN5biByZWdpb24gbnJvZmZQcmVzZXJ2ZSAgbWF0Y2hncm91cD1ucm9mZlNwZWNpYWxDaGFyIHN0YXJ0PS9cXD8vIGVuZD0vXFw/LyBvbmVsaW5lCitlbmRpZgorCitzeW4gcmVnaW9uIG5yb2ZmUHJlc2VydmUgbWF0Y2hncm91cD1ucm9mZlNwZWNpYWxDaGFyIHN0YXJ0PS9cXCEvIGVuZD0vJC8gb25lbGluZQorCitzeW4gY2x1c3RlciBucm9mZlNwZWNpYWwgY29udGFpbnM9bnJvZmZTcGVjaWFsQ2hhcixucm9mZlNwYWNlCisKKworc3luIHJlZ2lvbiBucm9mZlN0cmluZyBzdGFydD0vIi8gZW5kPS8iLyBza2lwPS9cXCQvIGNvbnRhaW5zPW5yb2ZmRXNjYXBlLEBucm9mZlNwZWNpYWwgY29udGFpbmVkCitzeW4gcmVnaW9uIG5yb2ZmU3RyaW5nIHN0YXJ0PS8nLyBlbmQ9LycvIHNraXA9L1xcJC8gY29udGFpbnM9bnJvZmZFc2NhcGUsQG5yb2ZmU3BlY2lhbCBjb250YWluZWQKKworCisiIHt7ezEgTnVtYmVycyBhbmQgdW5pdHMKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitzeW4gbWF0Y2ggbnJvZmZOdW1CbG9jayAvWzAtOS5dXGFcPS8gY29udGFpbmVkIGNvbnRhaW5zPW5yb2ZmTnVtYmVyCitzeW4gbWF0Y2ggbnJvZmZOdW1iZXIgL1xkXCtcKFwuXGQqXClcPS8gY29udGFpbmVkIG5leHRncm91cD1ucm9mZlVuaXQsbnJvZmZCYWRDaGFyCitzeW4gbWF0Y2ggbnJvZmZOdW1iZXIgL1wuXGRcKykvIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bnJvZmZVbml0LG5yb2ZmQmFkQ2hhcgorc3luIG1hdGNoIG5yb2ZmQmFkQ2hhciAvLi8gY29udGFpbmVkCitzeW4gbWF0Y2ggbnJvZmZVbml0IC9baWNwUHN6bW52TXVdLyBjb250YWluZWQKKworCisiIHt7ezEgUmVxdWVzdHMKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyIgUmVxdWVzdHMgYmVnaW4gd2l0aCAuIG9yICcgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUsIG9yCisiIGFmdGVyIC5pZiBvciAuaWUuCisKK3N5biBtYXRjaCBucm9mZlJlcUxlYWRlciAvXlsuJ10vCW5leHRncm91cD1ucm9mZlJlcU5hbWUgc2tpcHdoaXRlCitzeW4gbWF0Y2ggbnJvZmZSZXFMZWFkZXIgL1suJ10vCWNvbnRhaW5lZCBuZXh0Z3JvdXA9bnJvZmZSZXFOYW1lIHNraXB3aGl0ZQorCitpZiBleGlzdHMoImI6bnJvZmZfaXNfZ3JvZmYiKQorIgorIiBHTlUgdHJvZmYgYWxsb3dzIGxvbmcgcmVxdWVzdCBuYW1lcworIgorc3luIG1hdGNoIG5yb2ZmUmVxTmFtZSAvW15cdCBcXFxbP11cKy8gY29udGFpbmVkIG5leHRncm91cD1ucm9mZlJlcUFyZworZWxzZQorCXN5biBtYXRjaCBucm9mZlJlcU5hbWUgL1teXHQgXFxcWz9dXHsxLDJ9LyBjb250YWluZWQgbmV4dGdyb3VwPW5yb2ZmUmVxQXJnCitlbmRpZgorCitzeW4gcmVnaW9uIHJvZmZSZXFBcmcgc3RhcnQ9L1xTLyBza2lwPS9cXCQvIGVuZD0vJC8gY29udGFpbmVkIGNvbnRhaW5zPW5yb2ZmRXNjYXBlLEBucm9mZlNwZWNpYWwsbnJvZmZTdHJpbmcsbnJvZmZFcnJvcixucm9mZlNwYWNlRXJyb3IsbnJvZmZOdW1CbG9jayxucm9mZkNvbW1lbnQKKworIiB7e3syIENvbmRpdGlvbmFsOiAuaWYgLmllIC5lbAorc3luIG1hdGNoIG5yb2ZmUmVxTmFtZSAvXChpZlx8aWVcKS8gY29udGFpbmVkIG5leHRncm91cD1ucm9mZkNvbmQgc2tpcHdoaXRlCitzeW4gbWF0Y2ggbnJvZmZSZXFOYW1lIC9lbC8gY29udGFpbmVkIG5leHRncm91cD1ucm9mZlJlcUxlYWRlciBza2lwd2hpdGUKK3N5biBtYXRjaCBucm9mZkNvbmQgL1xTXCsvIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bnJvZmZSZXFMZWFkZXIgc2tpcHdoaXRlCisKKyIge3t7MiBTdHJpbmcgZGVmaW5pdGlvbjogLmRzIC5hcworc3luIG1hdGNoIG5yb2ZmUmVxbmFtZSAvW2RhXXMvIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bnJvZmZEZWZJZGVudCBza2lwd2hpdGUKK3N5biBtYXRjaCBucm9mZkRlZklkZW50IC9cU1wrLyBjb250YWluZWQgbmV4dGdyb3VwPW5yb2ZmRGVmaW5pdGlvbiBza2lwd2hpdGUKK3N5biByZWdpb24gbnJvZmZEZWZpbml0aW9uIG1hdGNoZ3JvdXA9bnJvZmZTcGVjaWFsQ2hhciBzdGFydD0vIi8gbWF0Y2hncm91cD1OT05FIGVuZD0vXFwiL21lPWUtMiBza2lwPS9cXCQvIHN0YXJ0PS9cUy8gZW5kPS8kLyBjb250YWluZWQgY29udGFpbnM9bnJvZmZEZWZTcGVjaWFsCitzeW4gbWF0Y2ggbnJvZmZEZWZTcGVjaWFsIC9cXCQvIGNvbnRhaW5lZAorc3luIG1hdGNoIG5yb2ZmRGVmU3BlY2lhbCAvXFxcKCguXClcPS4vIGNvbnRhaW5lZAorCitpZiBleGlzdHMoImI6bnJvZmZfaXNfZ3JvZmYiKQorCXN5biBtYXRjaCBucm9mZkRlZlNwZWNpYWwgL1xcXFtbXl1dKl0vIGNvbnRhaW5lZAorZW5kaWYKKworIiB7e3syIE1hY3JvIGRlZmluaXRpb246IC5kZSAuYW0sIGFsc28gZGl2ZXJzaW9uOiAuZGkKK3N5biBtYXRjaCBucm9mZlJlcU5hbWUgL1woZFtlaV1cfGFtXCkvIGNvbnRhaW5lZCBuZXh0Z3JvdXA9bnJvZmZJZGVudCBza2lwd2hpdGUKK3N5biBtYXRjaCBucm9mZklkZW50IC9bXls/KCBcdF1cKy8gY29udGFpbmVkCitpZiBleGlzdHMoImI6bnJvZmZfaXNfZ3JvZmYiKQorCXN5biBtYXRjaCBucm9mZlJlcU5hbWUgL2Fscy8gY29udGFpbmVkIG5leHRncm91cD1ucm9mZklkZW50IHNraXB3aGl0ZQorZW5kaWYKKworIiB7e3syIFJlZ2lzdGVyIGRlZmluaXRpb246IC5ybiAucnIKK3N5biBtYXRjaCBucm9mZlJlcU5hbWUgL1tybl1yLyBjb250YWluZWQgbmV4dGdyb3VwPW5yb2ZmSWRlbnQgc2tpcHdoaXRlCitpZiBleGlzdHMoImI6bnJvZmZfaXNfZ3JvZmYiKQorCXN5biBtYXRjaCBucm9mZlJlcU5hbWUgL1wocm5uXHxhbG5cKS8gY29udGFpbmVkIG5leHRncm91cD1ucm9mZklkZW50IHNraXB3aGl0ZQorZW5kaWYKKworCisiIHt7ezEgZXFuL3RibC9waWMKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIDxqcD4KKyIgWFhYOiB3cml0ZSBwcm9wZXIgc3ludGF4IGhpZ2hsaWdodCBmb3IgZXFuIC8gdGJsIC8gcGljID8KKyIgPGpwIC8+CisKK3N5biByZWdpb24gbnJvZmZFcXVhdGlvbiBzdGFydD0vXlwuXHMqRVFcPi8gZW5kPS9eXC5ccypFTlw+Lworc3luIHJlZ2lvbiBucm9mZlRhYmxlIHN0YXJ0PS9eXC5ccypUU1w+LyBlbmQ9L15cLlxzKlRFXD4vCitzeW4gcmVnaW9uIG5yb2ZmUGljdHVyZSBzdGFydD0vXlwuXHMqUFNcPi8gZW5kPS9eXC5ccypQRVw+Lworc3luIHJlZ2lvbiBucm9mZlJlZmVyIHN0YXJ0PS9eXC5ccypcW1w+LyBlbmQ9L15cLlxzKlxdXD4vCitzeW4gcmVnaW9uIG5yb2ZmR3JhcCBzdGFydD0vXlwuXHMqRzFcPi8gZW5kPS9eXC5ccypHMlw+Lworc3luIHJlZ2lvbiBucm9mZkdyZW1saW4gc3RhcnQ9L15cLlxzKkdTXD4vIGVuZD0vXlwuXHMqR0V8R0ZcPi8KKworIiB7e3sxIENvbW1lbnRzCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitzeW4gcmVnaW9uIG5yb2ZmSWdub3JlIHN0YXJ0PS9eWy4nXVxzKmlnLyBlbmQ9L15bJy5dXHMqXC4vCitzeW4gbWF0Y2ggbnJvZmZDb21tZW50IC9cKF5bLiddXHMqXClcPVxcIi4qLyBjb250YWlucz1ucm9mZlRvZG8KK3N5biBtYXRjaCBucm9mZkNvbW1lbnQgL14nJycuKi8gIGNvbnRhaW5zPW5yb2ZmVG9kbworCitpZiBleGlzdHMoImI6bnJvZmZfaXNfZ3JvZmYiKQorCXN5biBtYXRjaCBucm9mZkNvbW1lbnQgIlxcIy4qJCIgY29udGFpbnM9bnJvZmZUb2RvCitlbmRpZgorCitzeW4ga2V5d29yZCBucm9mZlRvZG8gVE9ETyBYWFggRklYTUUgY29udGFpbmVkCisKKyIge3t7MSBIaWxpZ2h0aW5nCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIgorCisiCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKKyIKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ucm9mZl9zeW5faW5pdHMiKQorCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX25yb2ZmX3N5bl9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwlIaUxpbmsgbnJvZmZFc2NDaGFyIG5yb2ZmU3BlY2lhbENoYXIKKwlIaUxpbmsgbnJvZmZFc2NDaGFyQXIgbnJvZmZTcGVjaWFsQ2hhcgorCUhpTGluayBucm9mZlNwZWNpYWxDaGFyIFNwZWNpYWxDaGFyCisJSGlMaW5rIG5yb2ZmU3BhY2UgRGVsaW1pdGVyCisKKwlIaUxpbmsgbnJvZmZFc2NSZWdBcmcyIG5yb2ZmRXNjUmVnQXJnCisJSGlMaW5rIG5yb2ZmRXNjUmVnQXJnIG5yb2ZmSWRlbnQKKworCUhpTGluayBucm9mZkVzY0FyZzIgbnJvZmZFc2NBcmcKKwlIaUxpbmsgbnJvZmZFc2NQYXIgbnJvZmZFc2NhcGUKKworCUhpTGluayBucm9mZkVzY1JlZ1BhciBucm9mZkVzY2FwZQorCUhpTGluayBucm9mZkVzY0FyZyBucm9mZkVzY2FwZQorCUhpTGluayBucm9mZlNpemUgbnJvZmZFc2NhcGUKKwlIaUxpbmsgbnJvZmZFc2NhcGUgUHJlcHJvYworCisJSGlMaW5rIG5yb2ZmSWdub3JlIENvbW1lbnQKKwlIaUxpbmsgbnJvZmZDb21tZW50IENvbW1lbnQKKwlIaUxpbmsgbnJvZmZUb2RvIFRvZG8KKworCUhpTGluayBucm9mZlJlcUxlYWRlciBucm9mZlJlcXVlc3QKKwlIaUxpbmsgbnJvZmZSZXFOYW1lIG5yb2ZmUmVxdWVzdAorCUhpTGluayBucm9mZlJlcXVlc3QgU3RhdGVtZW50CisJSGlMaW5rIG5yb2ZmQ29uZCBQcmVDb25kaXQKKwlIaUxpbmsgbnJvZmZEZWZJZGVudCBucm9mZklkZW50CisJSGlMaW5rIG5yb2ZmSWRlbnQgSWRlbnRpZmllcgorCisJSGlMaW5rIG5yb2ZmRXF1YXRpb24gUHJlUHJvYworCUhpTGluayBucm9mZlRhYmxlIFByZVByb2MKKwlIaUxpbmsgbnJvZmZQaWN0dXJlIFByZVByb2MKKwlIaUxpbmsgbnJvZmZSZWZlciBQcmVQcm9jCisJSGlMaW5rIG5yb2ZmR3JhcCBQcmVQcm9jCisJSGlMaW5rIG5yb2ZmR3JlbWxpbiBQcmVQcm9jCisKKwlIaUxpbmsgbnJvZmZOdW1iZXIgTnVtYmVyCisJSGlMaW5rIG5yb2ZmQmFkQ2hhciBucm9mZkVycm9yCisJSGlMaW5rIG5yb2ZmU3BhY2VFcnJvciBucm9mZkVycm9yCisJSGlMaW5rIG5yb2ZmRXJyb3IgRXJyb3IKKworCUhpTGluayBucm9mZlByZXNlcnZlIFN0cmluZworCUhpTGluayBucm9mZlN0cmluZyBTdHJpbmcKKwlIaUxpbmsgbnJvZmZEZWZpbml0aW9uIFN0cmluZworCUhpTGluayBucm9mZkRlZlNwZWNpYWwgU3BlY2lhbAorCisJZGVsY29tbWFuZCBIaUxpbmsKKworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibnJvZmYiCisKKyIgdmltNjAwOiBzZXQgZmRtPW1hcmtlciBmZGw9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L25zaXMudmltIGIvcnVudGltZS9zeW50YXgvbnNpcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZkODAzNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L25zaXMudmltCkBAIC0wLDAgKzEsMjcxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJTlNJUyBzY3JpcHQsIGZvciB2ZXJzaW9uIG9mIE5TSVMgMS45MSBhbmQgbGF0ZXIKKyIgTWFpbnRhaW5lcjoJQWxleCBKYWt1c2hldiA8QWxleC5KYWt1c2hldkBrZW1lay5sdD4KKyIgTGFzdCBDaGFuZ2U6CTIwMDQgTWF5IDEyCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKworIkNPTU1FTlRTCitzeW4ga2V5d29yZCBuc2lzVG9kbwl0b2RvIGF0dGVudGlvbiBub3RlIGZpeG1lIHJlYWRtZQorc3luIHJlZ2lvbiBuc2lzQ29tbWVudAlzdGFydD0iOyIgIGVuZD0iJCIgY29udGFpbnM9bnNpc1RvZG8KK3N5biByZWdpb24gbnNpc0NvbW1lbnQJc3RhcnQ9IiMiICBlbmQ9IiQiIGNvbnRhaW5zPW5zaXNUb2RvCisKKyJMQUJFTFMKK3N5biBtYXRjaCBuc2lzTG9jYWxMYWJlbAkiXGFcU1x7LX06Igorc3luIG1hdGNoIG5zaXNHbG9iYWxMYWJlbAkiXC5cU1x7LTEsfToiCisKKyJQUkVQUk9DRVNTT1IKK3N5biBtYXRjaCBuc2lzUHJlcHJvY1N1YnN0CSIkey5cey19fSIKK3N5biBtYXRjaCBuc2lzRGVmaW5lCQkiIWRlZmluZVw+Igorc3luIG1hdGNoIG5zaXNEZWZpbmUJCSIhdW5kZWZcPiIKK3N5biBtYXRjaCBuc2lzUHJlQ29uZGl0CQkiIWlmZGVmXD4iCitzeW4gbWF0Y2ggbnNpc1ByZUNvbmRpdAkJIiFpZm5kZWZcPiIKK3N5biBtYXRjaCBuc2lzUHJlQ29uZGl0CQkiIWVuZGlmXD4iCitzeW4gbWF0Y2ggbnNpc1ByZUNvbmRpdAkJIiFlbHNlXD4iCitzeW4gbWF0Y2ggbnNpc01hY3JvCQkiIW1hY3JvXD4iCitzeW4gbWF0Y2ggbnNpc01hY3JvCQkiIW1hY3JvZW5kXD4iCitzeW4gbWF0Y2ggbnNpc01hY3JvCQkiIWluc2VydG1hY3JvXD4iCisKKyJDT01QSUxFUiBVVElMSVRZCitzeW4gbWF0Y2ggbnNpc0luY2x1ZGUJCSIhaW5jbHVkZVw+Igorc3luIG1hdGNoIG5zaXNTeXN0ZW0JCSIhY2RcPiIKK3N5biBtYXRjaCBuc2lzU3lzdGVtCQkiIXN5c3RlbVw+Igorc3luIG1hdGNoIG5zaXNTeXN0ZW0JCSIhcGFja2hkclw+IgorCisiVkFSSUFCTEVTCitzeW4gbWF0Y2ggbnNpc1VzZXJWYXIJCSIkXGQiCitzeW4gbWF0Y2ggbnNpc1VzZXJWYXIJCSIkUlxkIgorc3luIG1hdGNoIG5zaXNTeXNWYXIJCSIkSU5TVERJUiIKK3N5biBtYXRjaCBuc2lzU3lzVmFyCQkiJE9VVERJUiIKK3N5biBtYXRjaCBuc2lzU3lzVmFyCQkiJENNRExJTkUiCitzeW4gbWF0Y2ggbnNpc1N5c1ZhcgkJIiRQUk9HUkFNRklMRVMiCitzeW4gbWF0Y2ggbnNpc1N5c1ZhcgkJIiRERVNLVE9QIgorc3luIG1hdGNoIG5zaXNTeXNWYXIJCSIkRVhFRElSIgorc3luIG1hdGNoIG5zaXNTeXNWYXIJCSIkV0lORElSIgorc3luIG1hdGNoIG5zaXNTeXNWYXIJCSIkU1lTRElSIgorc3luIG1hdGNoIG5zaXNTeXNWYXIJCSIkVEVNUCIKK3N5biBtYXRjaCBuc2lzU3lzVmFyCQkiJFNUQVJUTUVOVSIKK3N5biBtYXRjaCBuc2lzU3lzVmFyCQkiJFNNUFJPR1JBTVMiCitzeW4gbWF0Y2ggbnNpc1N5c1ZhcgkJIiRTTVNUQVJUVVAiCitzeW4gbWF0Y2ggbnNpc1N5c1ZhcgkJIiRRVUlDS0xBVU5DSCIKK3N5biBtYXRjaCBuc2lzU3lzVmFyCQkiJEhXTkRQQVJFTlQiCitzeW4gbWF0Y2ggbnNpc1N5c1ZhcgkJIiRcXHIiCitzeW4gbWF0Y2ggbnNpc1N5c1ZhcgkJIiRcXG4iCitzeW4gbWF0Y2ggbnNpc1N5c1ZhcgkJIiRcJCIKKworIlNUUklOR1MKK3N5biByZWdpb24gbnNpc1N0cmluZwlzdGFydD0vIi8gc2tpcD0vJ1x8YC8gZW5kPS8iLyBjb250YWlucz1uc2lzUHJlcHJvY1N1YnN0LG5zaXNVc2VyVmFyLG5zaXNTeXNWYXIsbnNpc1JlZ2lzdHJ5CitzeW4gcmVnaW9uIG5zaXNTdHJpbmcJc3RhcnQ9LycvIHNraXA9LyJcfGAvIGVuZD0vJy8gY29udGFpbnM9bnNpc1ByZXByb2NTdWJzdCxuc2lzVXNlclZhcixuc2lzU3lzVmFyLG5zaXNSZWdpc3RyeQorc3luIHJlZ2lvbiBuc2lzU3RyaW5nCXN0YXJ0PS9gLyBza2lwPS8iXHwnLyBlbmQ9L2AvIGNvbnRhaW5zPW5zaXNQcmVwcm9jU3Vic3QsbnNpc1VzZXJWYXIsbnNpc1N5c1Zhcixuc2lzUmVnaXN0cnkKKworIkNPTlNUQU5UUworc3luIGtleXdvcmQgbnNpc0Jvb2xlYW4JCXRydWUgZmFsc2Ugb24gb2ZmCisKK3N5biBrZXl3b3JkIG5zaXNBdHRyaWJPcHRpb25zCWhpZGUgc2hvdyBuZXZlcnNob3cgYXV0byBmb3JjZSB0cnkgaWZuZXdlciBub3JtYWwgc2lsZW50IHNpbGVudGxvZworc3luIGtleXdvcmQgbnNpc0F0dHJpYk9wdGlvbnMJc21vb3RoIGNvbG9yZWQgU0VUIENVUiBFTkQgUk8gbm9uZSBsaXN0b25seSB0ZXh0b25seSBib3RoIGN1cnJlbnQgYWxsCitzeW4ga2V5d29yZCBuc2lzQXR0cmliT3B0aW9ucwl6bGliIGJ6aXAyIGx6bWEKKworc3luIG1hdGNoIG5zaXNBdHRyaWJPcHRpb25zCSdcL05PQ1VTVE9NJworc3luIG1hdGNoIG5zaXNBdHRyaWJPcHRpb25zCSdcL0NVU1RPTVNUUklORycKK3N5biBtYXRjaCBuc2lzQXR0cmliT3B0aW9ucwknXC9DT01QT05FTlRTT05MWU9OQ1VTVE9NJworc3luIG1hdGNoIG5zaXNBdHRyaWJPcHRpb25zCSdcL3dpbmRvd3MnCitzeW4gbWF0Y2ggbnNpc0F0dHJpYk9wdGlvbnMJJ1wvcicKK3N5biBtYXRjaCBuc2lzQXR0cmliT3B0aW9ucwknXC9vbmFtZScKK3N5biBtYXRjaCBuc2lzQXR0cmliT3B0aW9ucwknXC9SRUJPT1RPSycKK3N5biBtYXRjaCBuc2lzQXR0cmliT3B0aW9ucwknXC9TSUxFTlQnCitzeW4gbWF0Y2ggbnNpc0F0dHJpYk9wdGlvbnMJJ1wvRklMRVNPTkxZJworc3luIG1hdGNoIG5zaXNBdHRyaWJPcHRpb25zCSdcL1NIT1JUJworCitzeW4ga2V5d29yZCBuc2lzRXhlY1NoZWxsCVNXX1NIT1dOT1JNQUwgU1dfU0hPV01BWElNSVpFRCBTV19TSE9XTUlOSU1JWkVECisKK3N5biBrZXl3b3JkIG5zaXNSZWdpc3RyeQlIS0NSIEhLTE0gSEtDVSBIS1UgSEtDQyBIS0REIEhLUEQKK3N5biBrZXl3b3JkIG5zaXNSZWdpc3RyeQlIS0VZX0NMQVNTRVNfUk9PVCBIS0VZX0xPQ0FMX01BQ0hJTkUgSEtFWV9DVVJSRU5UX1VTRVIgSEtFWV9VU0VSUworc3luIGtleXdvcmQgbnNpc1JlZ2lzdHJ5CUhLRVlfQ1VSUkVOVF9DT05GSUcgSEtFWV9EWU5fREFUQSBIS0VZX1BFUkZPUk1BTkNFX0RBVEEKKworc3luIGtleXdvcmQgbnNpc0ZpbGVBdHRyaWIJTk9STUFMIEFSQ0hJVkUgSElEREVOIE9GRkxJTkUgUkVBRE9OTFkgU1lTVEVNIFRFTVBPUkFSWQorc3luIGtleXdvcmQgbnNpc0ZpbGVBdHRyaWIJRklMRV9BVFRSSUJVVEVfTk9STUFMIEZJTEVfQVRUUklCVVRFX0FSQ0hJVkUgRklMRV9BVFRSSUJVVEVfSElEREVOCitzeW4ga2V5d29yZCBuc2lzRmlsZUF0dHJpYglGSUxFX0FUVFJJQlVURV9PRkZMSU5FIEZJTEVfQVRUUklCVVRFX1JFQURPTkxZIEZJTEVfQVRUUklCVVRFX1NZU1RFTQorc3luIGtleXdvcmQgbnNpc0ZpbGVBdHRyaWIJRklMRV9BVFRSSUJVVEVfVEVNUE9SQVJZCisKK3N5biBrZXl3b3JkIG5zaXNNZXNzYWdlQm94CU1CX09LIE1CX09LQ0FOQ0VMIE1CX0FCT1JUUkVUUllJR05PUkUgTUJfUkVUUllDQU5DRUwgTUJfWUVTTk8gTUJfWUVTTk9DQU5DRUwKK3N5biBrZXl3b3JkIG5zaXNNZXNzYWdlQm94CU1CX0lDT05FWENMQU1BVElPTiBNQl9JQ09OSU5GT1JNQVRJT04gTUJfSUNPTlFVRVNUSU9OIE1CX0lDT05TVE9QCitzeW4ga2V5d29yZCBuc2lzTWVzc2FnZUJveAlNQl9UT1BNT1NUIE1CX1NFVEZPUkVHUk9VTkQgTUJfUklHSFQKK3N5biBrZXl3b3JkIG5zaXNNZXNzYWdlQm94CU1CX0RFRkJVVFRPTjEgTUJfREVGQlVUVE9OMiBNQl9ERUZCVVRUT04zIE1CX0RFRkJVVFRPTjQKK3N5biBrZXl3b3JkIG5zaXNNZXNzYWdlQm94CUlEQUJPUlQgSURDQU5DRUwgSURJR05PUkUgSUROTyBJRE9LIElEUkVUUlkgSURZRVMKKworc3luIG1hdGNoIG5zaXNOdW1iZXIJCSJcPFteMF1cZCpcPiIKK3N5biBtYXRjaCBuc2lzTnVtYmVyCQkiXDwweFx4XCtcPiIKK3N5biBtYXRjaCBuc2lzTnVtYmVyCQkiXDwwXG8qXD4iCisKKworIklOU1RBTExFUiBBVFRSSUJVVEVTIC0gR2VuZXJhbCBpbnN0YWxsZXIgY29uZmlndXJhdGlvbgorc3luIGtleXdvcmQgbnNpc0F0dHJpYnV0ZQlPdXRGaWxlIE5hbWUgQ2FwdGlvbiBTdWJDYXB0aW9uIEJyYW5kaW5nVGV4dCBJY29uCitzeW4ga2V5d29yZCBuc2lzQXR0cmlidXRlCVdpbmRvd0ljb24gQkdHcmFkaWVudCBTaWxlbnRJbnN0YWxsIFNpbGVudFVuSW5zdGFsbAorc3luIGtleXdvcmQgbnNpc0F0dHJpYnV0ZQlDUkNDaGVjayBNaXNjQnV0dG9uVGV4dCBJbnN0YWxsQnV0dG9uVGV4dCBGaWxlRXJyb3JUZXh0CisKKyJJTlNUQUxMRVIgQVRUUklCVVRFUyAtIEluc3RhbGwgZGlyZWN0b3J5IGNvbmZpZ3VyYXRpb24KK3N5biBrZXl3b3JkIG5zaXNBdHRyaWJ1dGUJSW5zdGFsbERpciBJbnN0YWxsRGlyUmVnS2V5CisKKyJJTlNUQUxMRVIgQVRUUklCVVRFUyAtIExpY2Vuc2UgcGFnZSBjb25maWd1cmF0aW9uCitzeW4ga2V5d29yZCBuc2lzQXR0cmlidXRlCUxpY2Vuc2VUZXh0IExpY2Vuc2VEYXRhCisKKyJJTlNUQUxMRVIgQVRUUklCVVRFUyAtIENvbXBvbmVudCBwYWdlIGNvbmZpZ3VyYXRpb24KK3N5biBrZXl3b3JkIG5zaXNBdHRyaWJ1dGUJQ29tcG9uZW50VGV4dCBJbnN0VHlwZSBFbmFibGVkQml0bWFwIERpc2FibGVkQml0bWFwIFNwYWNlVGV4dHMKKworIklOU1RBTExFUiBBVFRSSUJVVEVTIC0gRGlyZWN0b3J5IHBhZ2UgY29uZmlndXJhdGlvbgorc3luIGtleXdvcmQgbnNpc0F0dHJpYnV0ZQlEaXJTaG93IERpclRleHQgQWxsb3dSb290RGlySW5zdGFsbAorCisiSU5TVEFMTEVSIEFUVFJJQlVURVMgLSBJbnN0YWxsIHBhZ2UgY29uZmlndXJhdGlvbgorc3luIGtleXdvcmQgbnNpc0F0dHJpYnV0ZQlJbnN0YWxsQ29sb3JzIEluc3RQcm9ncmVzc0ZsYWdzIEF1dG9DbG9zZVdpbmRvdworc3luIGtleXdvcmQgbnNpc0F0dHJpYnV0ZQlTaG93SW5zdERldGFpbHMgRGV0YWlsc0J1dHRvblRleHQgQ29tcGxldGVkVGV4dAorCisiSU5TVEFMTEVSIEFUVFJJQlVURVMgLSBVbmluc3RhbGwgY29uZmlndXJhdGlvbgorc3luIGtleXdvcmQgbnNpc0F0dHJpYnV0ZQlVbmluc3RhbGxUZXh0IFVuaW5zdGFsbEljb24gVW5pbnN0YWxsQ2FwdGlvbgorc3luIGtleXdvcmQgbnNpc0F0dHJpYnV0ZQlVbmluc3RhbGxTdWJDYXB0aW9uIFNob3dVbmluc3REZXRhaWxzIFVuaW5zdGFsbEJ1dHRvblRleHQKKworIkNPTVBJTEVSIEFUVFJJQlVURVMKK3N5biBrZXl3b3JkIG5zaXNDb21waWxlcglTZXRPdmVyd3JpdGUgU2V0Q29tcHJlc3MgU2V0Q29tcHJlc3NvciBTZXREYXRhYmxvY2tPcHRpbWl6ZSBTZXREYXRlU2F2ZQorCisKKyJGVU5DVElPTlMgLSBnZW5lcmFsIHB1cnBvc2UKK3N5biBrZXl3b3JkIG5zaXNJbnN0cnVjdGlvbglTZXRPdXRQYXRoIEZpbGUgRXhlYyBFeGVjV2FpdCBFeGVjU2hlbGwKK3N5biBrZXl3b3JkIG5zaXNJbnN0cnVjdGlvbglSZW5hbWUgRGVsZXRlIFJNRGlyCisKKyJGVU5DVElPTlMgLSByZWdpc3RyeSAmIGluaQorc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCVdyaXRlUmVnU3RyIFdyaXRlUmVnRXhwYW5kU3RyIFdyaXRlUmVnRFdPUkQgV3JpdGVSZWdCaW4KK3N5biBrZXl3b3JkIG5zaXNJbnN0cnVjdGlvbglXcml0ZUlOSVN0ciBSZWFkUmVnU3RyIFJlYWRSZWdEV09SRCBSZWFkSU5JU3RyIFJlYWRFbnZTdHIKK3N5biBrZXl3b3JkIG5zaXNJbnN0cnVjdGlvbglFeHBhbmRFbnZTdHJpbmdzIERlbGV0ZVJlZ1ZhbHVlIERlbGV0ZVJlZ0tleSBFbnVtUmVnS2V5CitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JRW51bVJlZ1ZhbHVlIERlbGV0ZUlOSVNlYyBEZWxldGVJTklTdHIKKworIkZVTkNUSU9OUyAtIGdlbmVyYWwgcHVycG9zZSwgYWR2YW5jZWQKK3N5biBrZXl3b3JkIG5zaXNJbnN0cnVjdGlvbglDcmVhdGVEaXJlY3RvcnkgQ29weUZpbGVzIFNldEZpbGVBdHRyaWJ1dGVzIENyZWF0ZVNob3J0Q3V0CitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JR2V0RnVsbFBhdGhOYW1lIFNlYXJjaFBhdGggR2V0VGVtcEZpbGVOYW1lIENhbGxJbnN0RExMCitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JUmVnRExMIFVuUmVnRExMIEdldERMTFZlcnNpb24gR2V0RExMVmVyc2lvbkxvY2FsCitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JR2V0RmlsZVRpbWUgR2V0RmlsZVRpbWVMb2NhbAorCisiRlVOQ1RJT05TIC0gQnJhbmNoaW5nLCBmbG93IGNvbnRyb2wsIGVycm9yIGNoZWNraW5nLCB1c2VyIGludGVyYWN0aW9uLCBldGMgaW5zdHJ1Y3Rpb25zCitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JR290byBDYWxsIFJldHVybiBJZkVycm9ycyBDbGVhckVycm9ycyBTZXRFcnJvcnMgRmluZFdpbmRvdworc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCVNlbmRNZXNzYWdlIElzV2luZG93IElmRmlsZUV4aXN0cyBNZXNzYWdlQm94IFN0ckNtcAorc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCUludENtcCBJbnRDbXBVIEFib3J0IFF1aXQgR2V0RnVuY3Rpb25BZGRyZXNzIEdldExhYmVsQWRkcmVzcworc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCUdldEN1cnJlbnRBZGRyZXNzCisKKyJGVU5DVElPTlMgLSBGaWxlIGFuZCBkaXJlY3RvcnkgaS9vIGluc3RydWN0aW9ucworc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCUZpbmRGaXJzdCBGaW5kTmV4dCBGaW5kQ2xvc2UgRmlsZU9wZW4gRmlsZUNsb3NlIEZpbGVSZWFkCitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JRmlsZVdyaXRlIEZpbGVSZWFkQnl0ZSBGaWxlV3JpdGVCeXRlIEZpbGVTZWVrCisKKyJGVU5DVElPTlMgLSBNaXNjIGluc3RydWN0aW9ucworc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCVNldERldGFpbHNWaWV3IFNldERldGFpbHNQcmludCBTZXRBdXRvQ2xvc2UgRGV0YWlsUHJpbnQKK3N5biBrZXl3b3JkIG5zaXNJbnN0cnVjdGlvbglTbGVlcCBCcmluZ1RvRnJvbnQgSGlkZVdpbmRvdyBTZXRTaGVsbFZhckNvbnRleHQKKworIkZVTkNUSU9OUyAtIFN0cmluZyBtYW5pcHVsYXRpb24gc3VwcG9ydAorc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCVN0ckNweSBTdHJMZW4KKworIkZVTkNUSU9OUyAtIFN0YWNrIHN1cHBvcnQKK3N5biBrZXl3b3JkIG5zaXNJbnN0cnVjdGlvbglQdXNoIFBvcCBFeGNoCisKKyJGVU5DVElPTlMgLSBJbnRlZ2VyIG1hbmlwdWxhdGlvbiBzdXBwb3J0CitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JSW50T3AgSW50Rm10CisKKyJGVU5DVElPTlMgLSBSZWJvb3Rpbmcgc3VwcG9ydAorc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCVJlYm9vdCBJZlJlYm9vdEZsYWcgU2V0UmVib290RmxhZworCisiRlVOQ1RJT05TIC0gVW5pbnN0YWxsZXIgaW5zdHJ1Y3Rpb25zCitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JV3JpdGVVbmluc3RhbGxlcgorCisiRlVOQ1RJT05TIC0gSW5zdGFsbCBsb2dnaW5nIGluc3RydWN0aW9ucworc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCUxvZ1NldCBMb2dUZXh0CisKKyJGVU5DVElPTlMgLSBTZWN0aW9uIG1hbmFnZW1lbnQgaW5zdHJ1Y3Rpb25zCitzeW4ga2V5d29yZCBuc2lzSW5zdHJ1Y3Rpb24JU2VjdGlvblNldEZsYWdzIFNlY3Rpb25HZXRGbGFncyBTZWN0aW9uU2V0VGV4dAorc3luIGtleXdvcmQgbnNpc0luc3RydWN0aW9uCVNlY3Rpb25HZXRUZXh0CisKKworIlNQRUNJQUwgRlVOQ1RJT05TIC0gaW5zdGFsbAorc3luIG1hdGNoIG5zaXNDYWxsYmFjawkJIlwub25Jbml0Igorc3luIG1hdGNoIG5zaXNDYWxsYmFjawkJIlwub25Vc2VyQWJvcnQiCitzeW4gbWF0Y2ggbnNpc0NhbGxiYWNrCQkiXC5vbkluc3RTdWNjZXNzIgorc3luIG1hdGNoIG5zaXNDYWxsYmFjawkJIlwub25JbnN0RmFpbGVkIgorc3luIG1hdGNoIG5zaXNDYWxsYmFjawkJIlwub25WZXJpZnlJbnN0RGlyIgorc3luIG1hdGNoIG5zaXNDYWxsYmFjawkJIlwub25OZXh0UGFnZSIKK3N5biBtYXRjaCBuc2lzQ2FsbGJhY2sJCSJcLm9uUHJldlBhZ2UiCitzeW4gbWF0Y2ggbnNpc0NhbGxiYWNrCQkiXC5vblNlbENoYW5nZSIKKworIlNQRUNJQUwgRlVOQ1RJT05TIC0gdW5pbnN0YWxsCitzeW4gbWF0Y2ggbnNpc0NhbGxiYWNrCQkidW5cLm9uSW5pdCIKK3N5biBtYXRjaCBuc2lzQ2FsbGJhY2sJCSJ1blwub25Vc2VyQWJvcnQiCitzeW4gbWF0Y2ggbnNpc0NhbGxiYWNrCQkidW5cLm9uSW5zdFN1Y2Nlc3MiCitzeW4gbWF0Y2ggbnNpc0NhbGxiYWNrCQkidW5cLm9uSW5zdEZhaWxlZCIKK3N5biBtYXRjaCBuc2lzQ2FsbGJhY2sJCSJ1blwub25WZXJpZnlJbnN0RGlyIgorc3luIG1hdGNoIG5zaXNDYWxsYmFjawkJInVuXC5vbk5leHRQYWdlIgorCisKKyJTVEFURU1FTlRTIC0gc2VjdGlvbnMKK3N5biBrZXl3b3JkIG5zaXNTdGF0ZW1lbnQJU2VjdGlvbiBTZWN0aW9uSW4gU2VjdGlvbkVuZCBTZWN0aW9uRGl2aWRlcgorc3luIGtleXdvcmQgbnNpc1N0YXRlbWVudAlBZGRTaXplCisKKyJTVEFURU1FTlRTIC0gZnVuY3Rpb25zCitzeW4ga2V5d29yZCBuc2lzU3RhdGVtZW50CUZ1bmN0aW9uIEZ1bmN0aW9uRW5kCisKKyJTVEFURU1FTlRTIC0gcGFnZXMKK3N5biBrZXl3b3JkIG5zaXNTdGF0ZW1lbnQJUGFnZSBVbmluc3RQYWdlIFBhZ2VFeCBQYWdlRXhFbmMgUGFnZUNhbGxiYWNrcworCisKKyJFUlJPUgorc3luIGtleXdvcmQgbnNpc0Vycm9yCQlVbmluc3RhbGxFeGVOYW1lCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbnNpc19zeW5faW5pdHMiKQorCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX25zeXNfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworCisgIEhpTGluayBuc2lzSW5zdHJ1Y3Rpb24JCUZ1bmN0aW9uCisgIEhpTGluayBuc2lzQ29tbWVudAkJCUNvbW1lbnQKKyAgSGlMaW5rIG5zaXNMb2NhbExhYmVsCQkJTGFiZWwKKyAgSGlMaW5rIG5zaXNHbG9iYWxMYWJlbAkJTGFiZWwKKyAgSGlMaW5rIG5zaXNTdGF0ZW1lbnQJCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG5zaXNTdHJpbmcJCQlTdHJpbmcKKyAgSGlMaW5rIG5zaXNCb29sZWFuCQkJQm9vbGVhbgorICBIaUxpbmsgbnNpc0F0dHJpYk9wdGlvbnMJCUNvbnN0YW50CisgIEhpTGluayBuc2lzRXhlY1NoZWxsCQkJQ29uc3RhbnQKKyAgSGlMaW5rIG5zaXNGaWxlQXR0cmliCQkJQ29uc3RhbnQKKyAgSGlMaW5rIG5zaXNNZXNzYWdlQm94CQkJQ29uc3RhbnQKKyAgSGlMaW5rIG5zaXNSZWdpc3RyeQkJCUlkZW50aWZpZXIKKyAgSGlMaW5rIG5zaXNOdW1iZXIJCQlOdW1iZXIKKyAgSGlMaW5rIG5zaXNFcnJvcgkJCUVycm9yCisgIEhpTGluayBuc2lzVXNlclZhcgkJCUlkZW50aWZpZXIKKyAgSGlMaW5rIG5zaXNTeXNWYXIJCQlJZGVudGlmaWVyCisgIEhpTGluayBuc2lzQXR0cmlidXRlCQkJVHlwZQorICBIaUxpbmsgbnNpc0NvbXBpbGVyCQkJVHlwZQorICBIaUxpbmsgbnNpc1RvZG8JCQlUb2RvCisgIEhpTGluayBuc2lzQ2FsbGJhY2sJCQlPcGVyYXRvcgorICAiIHByZXByb2Nlc3NvciBjb21tYW5kcworICBIaUxpbmsgbnNpc1ByZXByb2NTdWJzdAkJUHJlUHJvYworICBIaUxpbmsgbnNpc0RlZmluZQkJCURlZmluZQorICBIaUxpbmsgbnNpc01hY3JvCQkJTWFjcm8KKyAgSGlMaW5rIG5zaXNQcmVDb25kaXQJCQlQcmVDb25kaXQKKyAgSGlMaW5rIG5zaXNJbmNsdWRlCQkJSW5jbHVkZQorICBIaUxpbmsgbnNpc1N5c3RlbQkJCVByZVByb2MKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibnNpcyIKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvb2JqYy52aW0gYi9ydW50aW1lL3N5bnRheC9vYmpjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTk2NWEwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvb2JqYy52aW0KQEAgLTAsMCArMSwxMDcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgICAgT2JqZWN0aXZlIEMKKyIgTWFpbnRhaW5lcjoJICAgIEthenVub2J1IEt1cml5YW1hIDxrYXp1bm9idS5rdXJpeWFtYUBuaWZ0eS5jb20+CisiIEV4LW1haW50YWluZXI6ICAgIEFudGhvbnkgSG9kc2RvbiA8YWhvZHNkb25AZmFzdG1haWwuZm0+CisiIEZpcnN0IEF1dGhvcjoJICAgIFZhbGVudGlubyBLeXJpYWtpZGVzIDwxa3lyaWFraUBpbmZvcm1hdGlrLnVuaS1oYW1idXJnLmRlPgorIiBMYXN0IENoYW5nZToJICAgIDIwMDQgTWF5IDIwCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgJmZpbGV0eXBlICE9ICdvYmpjcHAnCisgICIgUmVhZCB0aGUgQyBzeW50YXggdG8gc3RhcnQgd2l0aAorICBpZiB2ZXJzaW9uIDwgNjAwCisgICAgc291cmNlIDxzZmlsZT46cDpoL2MudmltCisgIGVsc2UKKyAgICBydW50aW1lISBzeW50YXgvYy52aW0KKyAgZW5kaWYKK2VuZGlmCisKKyIgT2JqZWN0aXZlIEMgZXh0ZW50aW9ucyBmb2xsb3cgYmVsb3cKKyIKKyIgTk9URTogT2JqZWN0aXZlIEMgaXMgYWJicmV2aWF0ZWQgdG8gT2JqQy9vYmpjCisiIGFuZCB1c2VzICouaCwgKi5tIGFzIGZpbGUgZXh0ZW5zaW9ucyEKKworCisiIE9iakMga2V5d29yZHMsIHR5cGVzLCB0eXBlIHF1YWxpZmllcnMgZXRjLgorc3luIGtleXdvcmQgb2JqY1N0YXRlbWVudAlzZWxmIHN1cGVyIF9jbWQKK3N5biBrZXl3b3JkIG9iamNUeXBlCQlpZCBDbGFzcyBTRUwgSU1QIEJPT0wgbmlsIE5pbAorc3luIGtleXdvcmQgb2JqY1R5cGVNb2RpZmllcglieWNvcHkgaW4gb3V0IGlub3V0IG9uZXdheQorCisiIE1hdGNoIHRoZSBPYmpDICNpbXBvcnQgZGlyZWN0aXZlIChsaWtlIEMncyAjaW5jbHVkZSkKK3N5biByZWdpb24gb2JqY0ltcG9ydGVkIGRpc3BsYXkgY29udGFpbmVkIHN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKworc3luIG1hdGNoICBvYmpjSW1wb3J0ZWQgZGlzcGxheSBjb250YWluZWQgIjxbXzAtOWEtekEtWi5cL10qPiIKK3N5biBtYXRjaCAgb2JqY0ltcG9ydCBkaXNwbGF5ICJeXHMqXCglOlx8I1wpXHMqaW1wb3J0XD5ccypbIjxdIiBjb250YWlucz1vYmpjSW1wb3J0ZWQKKworIiBNYXRjaCB0aGUgaW1wb3J0YW50IE9iakMgZGlyZWN0aXZlcworc3luIG1hdGNoICBvYmpjU2NvcGVEZWNsICAgICJAcHVibGljXHxAcHJpdmF0ZVx8QHByb3RlY3RlZCIKK3N5biBtYXRjaCAgb2JqY0RpcmVjdGl2ZSAgICAiQGludGVyZmFjZVx8QGltcGxlbWVudGF0aW9uIgorc3luIG1hdGNoICBvYmpjRGlyZWN0aXZlICAgICJAY2xhc3NcfEBlbmRcfEBkZWZzIgorc3luIG1hdGNoICBvYmpjRGlyZWN0aXZlICAgICJAZW5jb2RlXHxAcHJvdG9jb2xcfEBzZWxlY3RvciIKKworIiBNYXRjaCB0aGUgT2JqQyBtZXRob2QgdHlwZXMKKyIKKyIgTk9URTogaGVyZSBJIG1hdGNoIG9ubHkgdGhlIGluZGljYXRvcnMsIHRoaXMgbG9va3MKKyIgbXVjaCBuaWNlciBhbmQgcmVkdWNlcyBjbHV0dGVyaW5nIGNvbG9yIGhpZ2hsaWdodGluZ3MuCisiIEhvd2V2ZXIsIGlmIHlvdSBwcmVmZXIgZnVsbCBtZXRob2QgZGVjbGFyYXRpb24gbWF0Y2hpbmcKKyIgYXBwZW5kIC4qIGF0IHRoZSBlbmQgb2YgdGhlIG5leHQgdHdvIHBhdHRlcm5zIQorIgorc3luIG1hdGNoIG9iamNJbnN0TWV0aG9kICAgICJeXHMqLVxzKiIKK3N5biBtYXRjaCBvYmpjRmFjdE1ldGhvZCAgICAiXlxzKitccyoiCisKKyIgVG8gZGlzdGluZ3Vpc2ggZnJvbSBhIGhlYWRlciBpbmNsdXNpb24gZnJvbSBhIHByb3RvY29sIGxpc3QuCitzeW4gbWF0Y2ggb2JqY1Byb3RvY29sIGRpc3BsYXkgIjxbX2EtekEtWl1bX2EtekEtWjAtOV0qPiIgY29udGFpbnM9b2JqY1R5cGUsY1R5cGUsVHlwZQorCisKKyIgVG8gZGlzdGluZ3Vpc2ggbGFiZWxzIGZyb20gdGhlIGtleXdvcmQgZm9yIGEgbWV0aG9kJ3MgcGFyYW1ldGVyLgorc3luIHJlZ2lvbiBvYmpjS2V5Rm9yTWV0aG9kUGFyYW0gZGlzcGxheQorICAgIFwgc3RhcnQ9Il5ccypbX2EtekEtWl1bX2EtekEtWjAtOV0qXHMqOlxzKigiCisgICAgXCBlbmQ9IilccypbX2EtekEtWl1bX2EtekEtWjAtOV0qIgorICAgIFwgY29udGFpbnM9b2JqY1R5cGUsb2JqY1R5cGVNb2RpZmllcixjVHlwZSxjU3RydWN0dXJlLGNTdG9yYWdlQ2xhc3MsVHlwZQorCisiIE9iamVjdGl2ZS1DIENvbnN0YW50IFN0cmluZ3MKK3N5biBtYXRjaCBvYmpjU3BlY2lhbCBkaXNwbGF5ICIlQCIgY29udGFpbmVkCitzeW4gcmVnaW9uIG9iamNTdHJpbmcgc3RhcnQ9K1woQCJcfCJcKSsgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPWNGb3JtYXQsY1NwZWNpYWwsb2JqY1NwZWNpYWwKKworIiBPYmplY3RpdmUtQyBNZXNzYWdlIEV4cHJlc3Npb25zCitzeW4gcmVnaW9uIG9iamNNZXNzYWdlIGRpc3BsYXkgc3RhcnQ9IlxbIiBlbmQ9IlxdIiBjb250YWlucz1vYmpjTWVzc2FnZSxvYmpjU3RhdGVtZW50LG9iamNUeXBlLG9iamNUeXBlTW9kaWZpZXIsb2JqY1N0cmluZyxvYmpjQ29uc3RhbnQsb2JqY0RpcmVjdGl2ZSxjVHlwZSxjU3RydWN0dXJlLGNTdG9yYWdlQ2xhc3MsY1N0cmluZyxjQ2hhcmFjdGVyLGNTcGVjaWFsQ2hhcmFjdGVyLGNOdW1iZXJzLGNDb25zdGFudCxjT3BlcmF0b3IsY0NvbW1lbnQsY0NvbW1lbnRMLFR5cGUKKworc3luIGNsdXN0ZXIgY1BhcmVuR3JvdXAgYWRkPW9iamNNZXNzYWdlCitzeW4gY2x1c3RlciBjUHJlUHJvY0dyb3VwIGFkZD1vYmpjTWVzc2FnZQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9vYmpjX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX29iamNfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgb2JqY0ltcG9ydAkJSW5jbHVkZQorICBIaUxpbmsgb2JqY0ltcG9ydGVkCQljU3RyaW5nCisgIEhpTGluayBvYmpjVHlwZU1vZGlmaWVyCW9iamNUeXBlCisgIEhpTGluayBvYmpjVHlwZQkJVHlwZQorICBIaUxpbmsgb2JqY1Njb3BlRGVjbAkJU3RhdGVtZW50CisgIEhpTGluayBvYmpjSW5zdE1ldGhvZAkJRnVuY3Rpb24KKyAgSGlMaW5rIG9iamNGYWN0TWV0aG9kCQlGdW5jdGlvbgorICBIaUxpbmsgb2JqY1N0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBvYmpjRGlyZWN0aXZlCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG9iamNLZXlGb3JNZXRob2RQYXJhbQlOb25lCisgIEhpTGluayBvYmpjU3RyaW5nCQljU3RyaW5nCisgIEhpTGluayBvYmpjU3BlY2lhbAkJU3BlY2lhbAorICBIaUxpbmsgb2JqY1Byb3RvY29sCQlOb25lCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm9iamMiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9vYmpjcHAudmltIGIvcnVudGltZS9zeW50YXgvb2JqY3BwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2UzODBjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvb2JqY3BwLnZpbQpAQCAtMCwwICsxLDMxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIE9iakMrKworIiBNYWludGFpbmVyOiAgIEFudGhvbnkgSG9kc2RvbiA8YWhvZHNkb25AZmFzdG1haWwuZm0+CisiIExhc3QgY2hhbmdlOiAgMjAwMyBBcHIgMjUKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICBmaW5pc2gKK2VuZGlmCisKKyIgUmVhZCBpbiBDKysgYW5kIE9iakMgc3ludGF4IGZpbGVzCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzbyA8c2ZpbGU+OnA6aC9jcHAudmltCisgICBzbyA8c2ZsaWU+OnA6aC9vYmpjLnZpbQorZWxzZQorICAgcnVudGltZSEgc3ludGF4L2NwcC52aW0KKyAgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKKyAgIHJ1bnRpbWUhIHN5bnRheC9vYmpjLnZpbQorZW5kaWYKKworIiBOb3RlIHRoYXQgd2UgYWxyZWFkeSBoYXZlIGEgcmVnaW9uIGZvciBtZXRob2QgY2FsbHMgKCBbb2JqY19jbGFzcyBtZXRob2RdICkKKyIgYnkgd2F5IG9mIGNCcmFja2V0Lgorc3luIHJlZ2lvbiBvYmpDRnVuYyBzdGFydD0iXlxzKlstK10iICBlbmQ9IiQiICBjb250YWlucz1BTExCVVQsY0VyckluUGFyZW4sY0VyckluQnJhY2tldAorCitzeW4ga2V5d29yZCBvYmpDcHBOb25TdHJ1Y3R1cmUgICAgY2xhc3MgdGVtcGxhdGUgbmFtZXNwYWNlIHRyYW5zcGFyZW50IGNvbnRhaW5lZAorc3luIGtleXdvcmQgb2JqQ3BwTm9uU3RhdGVtZW50ICAgIG5ldyBkZWxldGUgZnJpZW5kIHVzaW5nIHRyYW5zcGFyZW50IGNvbnRhaW5lZAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJvYmpjcHAiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9vY2FtbC52aW0gYi9ydW50aW1lL3N5bnRheC9vY2FtbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU1MzRhNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L29jYW1sLnZpbQpAQCAtMCwwICsxLDMxNyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBPQ2FtbAorIiBGaWxlbmFtZXM6ICAgICoubWwgKi5tbGkgKi5tbGwgKi5tbHkKKyIgTWFpbnRhaW5lcnM6ICBNYXJrdXMgTW90dGwgICAgICA8bWFya3VzQG9lZmFpLmF0PgorIgkJS2FybC1IZWlueiBTeWxsYSAgPEthcmwtSGVpbnouU3lsbGFAZ21kLmRlPgorIgkJSXNzYWMgVHJvdHRzCSAgPDxpanRyb3R0c0B1Y2RhdmlzLmVkdT4KKyIgVVJMOgkJaHR0cDovL3d3dy5vZWZhaS5hdC9+bWFya3VzL3ZpbS9zeW50YXgvb2NhbWwudmltCisiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAwNAorIgkJMjAwMiBPY3QgMjQgLSBTbWFsbCBmaXggZm9yICJtb2R1bGUgdHlwZSIgKE1NKQorIgkJMjAwMiBKdW4gMTYgLSBBZGRlZCAiJiYiLCAiPCIgYW5kICI+IiBhcyBvcGVyYXRvcnMgKE1NKQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgT0NhbWwgaXMgY2FzZSBzZW5zaXRpdmUuCitzeW4gY2FzZSBtYXRjaAorCisiIFNjcmlwdCBoZWFkZXJzIGhpZ2hsaWdodGVkIGxpa2UgY29tbWVudHMKK3N5biBtYXRjaCAgICBvY2FtbENvbW1lbnQgICAiXiMhLioiCisKKyIgU2NyaXB0aW5nIGRpcmVjdGl2ZXMKK3N5biBtYXRjaCAgICBvY2FtbFNjcmlwdCAiXiNcPFwocXVpdFx8bGFiZWxzXHx3YXJuaW5nc1x8ZGlyZWN0b3J5XHxjZFx8bG9hZFx8dXNlXHxpbnN0YWxsX3ByaW50ZXJcfHJlbW92ZV9wcmludGVyXHx0cmFjZVx8dW50cmFjZVx8dW50cmFjZV9hbGxcfHByaW50X2RlcHRoXHxwcmludF9sZW5ndGhcKVw+IgorCisiIGxvd2VyY2FzZSBpZGVudGlmaWVyIC0gdGhlIHN0YW5kYXJkIHdheSB0byBtYXRjaAorc3luIG1hdGNoICAgIG9jYW1sTENJZGVudGlmaWVyIC9cPFwoXGxcfF9cKVwoXHdcfCdcKSpcPi8KKworc3luIG1hdGNoICAgIG9jYW1sS2V5Q2hhciAgICAifCIKKworIiBFcnJvcnMKK3N5biBtYXRjaCAgICBvY2FtbEJyYWNlRXJyICAgIn0iCitzeW4gbWF0Y2ggICAgb2NhbWxCcmFja0VyciAgICJcXSIKK3N5biBtYXRjaCAgICBvY2FtbFBhcmVuRXJyICAgIikiCitzeW4gbWF0Y2ggICAgb2NhbWxBcnJFcnIgICAgICJ8XSIKKworc3luIG1hdGNoICAgIG9jYW1sQ29tbWVudEVyciAiXCopIgorCitzeW4gbWF0Y2ggICAgb2NhbWxDb3VudEVyciAgICJcPGRvd250b1w+Igorc3luIG1hdGNoICAgIG9jYW1sQ291bnRFcnIgICAiXDx0b1w+IgorCitpZiAhZXhpc3RzKCJvY2FtbF9yZXZpc2VkIikKKyAgc3luIG1hdGNoICAgIG9jYW1sRG9FcnIgICAgICAiXDxkb1w+IgorZW5kaWYKKworc3luIG1hdGNoICAgIG9jYW1sRG9uZUVyciAgICAiXDxkb25lXD4iCitzeW4gbWF0Y2ggICAgb2NhbWxUaGVuRXJyICAgICJcPHRoZW5cPiIKKworIiBFcnJvci1oaWdobGlnaHRpbmcgb2YgImVuZCIgd2l0aG91dCBzeW5jaHJvbml6YXRpb246CisiIGFzIGtleXdvcmQgb3IgYXMgZXJyb3IgKGRlZmF1bHQpCitpZiBleGlzdHMoIm9jYW1sX25vZW5kX2Vycm9yIikKKyAgc3luIG1hdGNoICAgIG9jYW1sS2V5d29yZCAgICAiXDxlbmRcPiIKK2Vsc2UKKyAgc3luIG1hdGNoICAgIG9jYW1sRW5kRXJyICAgICAiXDxlbmRcPiIKK2VuZGlmCisKKyIgU29tZSBjb252ZW5pZW50IGNsdXN0ZXJzCitzeW4gY2x1c3RlciAgb2NhbWxBbGxFcnJzIGNvbnRhaW5zPW9jYW1sQnJhY2VFcnIsb2NhbWxCcmFja0VycixvY2FtbFBhcmVuRXJyLG9jYW1sQ29tbWVudEVycixvY2FtbENvdW50RXJyLG9jYW1sRG9FcnIsb2NhbWxEb25lRXJyLG9jYW1sRW5kRXJyLG9jYW1sVGhlbkVycgorCitzeW4gY2x1c3RlciAgb2NhbWxBRU5vUGFyZW4gY29udGFpbnM9b2NhbWxCcmFjZUVycixvY2FtbEJyYWNrRXJyLG9jYW1sQ29tbWVudEVycixvY2FtbENvdW50RXJyLG9jYW1sRG9FcnIsb2NhbWxEb25lRXJyLG9jYW1sRW5kRXJyLG9jYW1sVGhlbkVycgorCitzeW4gY2x1c3RlciAgb2NhbWxDb250YWluZWQgY29udGFpbnM9b2NhbWxUb2RvLG9jYW1sUHJlRGVmLG9jYW1sTW9kUGFyYW0sb2NhbWxNb2RQYXJhbTEsb2NhbWxQcmVNUFJlc3RyLG9jYW1sTVBSZXN0cixvY2FtbE1QUmVzdHIxLG9jYW1sTVBSZXN0cjIsb2NhbWxNUFJlc3RyMyxvY2FtbE1vZFJIUyxvY2FtbEZ1bmNXaXRoLG9jYW1sRnVuY1N0cnVjdCxvY2FtbE1vZFR5cGVSZXN0cixvY2FtbE1vZFRSV2l0aCxvY2FtbFdpdGgsb2NhbWxXaXRoUmVzdCxvY2FtbE1vZFR5cGUsb2NhbWxGdWxsTW9kCisKKworIiBFbmNsb3NpbmcgZGVsaW1pdGVycworc3luIHJlZ2lvbiAgIG9jYW1sRW5jbCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBzdGFydD0iKCIgbWF0Y2hncm91cD1vY2FtbEtleXdvcmQgZW5kPSIpIiBjb250YWlucz1BTExCVVQsQG9jYW1sQ29udGFpbmVkLG9jYW1sUGFyZW5FcnIKK3N5biByZWdpb24gICBvY2FtbEVuY2wgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1vY2FtbEtleXdvcmQgc3RhcnQ9InsiIG1hdGNoZ3JvdXA9b2NhbWxLZXl3b3JkIGVuZD0ifSIgIGNvbnRhaW5zPUFMTEJVVCxAb2NhbWxDb250YWluZWQsb2NhbWxCcmFjZUVycgorc3luIHJlZ2lvbiAgIG9jYW1sRW5jbCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBzdGFydD0iXFsiIG1hdGNoZ3JvdXA9b2NhbWxLZXl3b3JkIGVuZD0iXF0iIGNvbnRhaW5zPUFMTEJVVCxAb2NhbWxDb250YWluZWQsb2NhbWxCcmFja0Vycgorc3luIHJlZ2lvbiAgIG9jYW1sRW5jbCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBzdGFydD0iXFt8IiBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBlbmQ9InxcXSIgY29udGFpbnM9QUxMQlVULEBvY2FtbENvbnRhaW5lZCxvY2FtbEFyckVycgorCisKKyIgQ29tbWVudHMKK3N5biByZWdpb24gICBvY2FtbENvbW1lbnQgc3RhcnQ9IihcKiIgZW5kPSJcKikiIGNvbnRhaW5zPW9jYW1sQ29tbWVudCxvY2FtbFRvZG8KK3N5biBrZXl3b3JkICBvY2FtbFRvZG8gY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCisKKworIiBPYmplY3RzCitzeW4gcmVnaW9uICAgb2NhbWxFbmQgbWF0Y2hncm91cD1vY2FtbEtleXdvcmQgc3RhcnQ9Ilw8b2JqZWN0XD4iIG1hdGNoZ3JvdXA9b2NhbWxLZXl3b3JkIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBvY2FtbENvbnRhaW5lZCxvY2FtbEVuZEVycgorCisKKyIgQmxvY2tzCitpZiAhZXhpc3RzKCJvY2FtbF9yZXZpc2VkIikKKyAgc3luIHJlZ2lvbiAgIG9jYW1sRW5kIG1hdGNoZ3JvdXA9b2NhbWxLZXl3b3JkIHN0YXJ0PSJcPGJlZ2luXD4iIG1hdGNoZ3JvdXA9b2NhbWxLZXl3b3JkIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBvY2FtbENvbnRhaW5lZCxvY2FtbEVuZEVycgorZW5kaWYKKworCisiICJmb3IiCitzeW4gcmVnaW9uICAgb2NhbWxOb25lIG1hdGNoZ3JvdXA9b2NhbWxLZXl3b3JkIHN0YXJ0PSJcPGZvclw+IiBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBlbmQ9Ilw8XCh0b1x8ZG93bnRvXClcPiIgY29udGFpbnM9QUxMQlVULEBvY2FtbENvbnRhaW5lZCxvY2FtbENvdW50RXJyCisKKworIiAiZG8iCitpZiAhZXhpc3RzKCJvY2FtbF9yZXZpc2VkIikKKyAgc3luIHJlZ2lvbiAgIG9jYW1sRG8gbWF0Y2hncm91cD1vY2FtbEtleXdvcmQgc3RhcnQ9Ilw8ZG9cPiIgbWF0Y2hncm91cD1vY2FtbEtleXdvcmQgZW5kPSJcPGRvbmVcPiIgY29udGFpbnM9QUxMQlVULEBvY2FtbENvbnRhaW5lZCxvY2FtbERvbmVFcnIKK2VuZGlmCisKKyIgImlmIgorc3luIHJlZ2lvbiAgIG9jYW1sTm9uZSBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBzdGFydD0iXDxpZlw+IiBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBlbmQ9Ilw8dGhlblw+IiBjb250YWlucz1BTExCVVQsQG9jYW1sQ29udGFpbmVkLG9jYW1sVGhlbkVycgorCisKKyIiIE1vZHVsZXMKKworIiAic3RydWN0Igorc3luIHJlZ2lvbiAgIG9jYW1sU3RydWN0IG1hdGNoZ3JvdXA9b2NhbWxNb2R1bGUgc3RhcnQ9Ilw8c3RydWN0XD4iIG1hdGNoZ3JvdXA9b2NhbWxNb2R1bGUgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQG9jYW1sQ29udGFpbmVkLG9jYW1sRW5kRXJyCisKKyIgInNpZyIKK3N5biByZWdpb24gICBvY2FtbFNpZyBtYXRjaGdyb3VwPW9jYW1sTW9kdWxlIHN0YXJ0PSJcPHNpZ1w+IiBtYXRjaGdyb3VwPW9jYW1sTW9kdWxlIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBvY2FtbENvbnRhaW5lZCxvY2FtbEVuZEVycixvY2FtbE1vZHVsZQorc3luIHJlZ2lvbiAgIG9jYW1sTW9kU3BlYyBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBzdGFydD0iXDxtb2R1bGVcPiIgbWF0Y2hncm91cD1vY2FtbE1vZHVsZSBlbmQ9Ilw8XHVcKFx3XHwnXCkqXD4iIGNvbnRhaW5lZCBjb250YWlucz1Ab2NhbWxBbGxFcnJzLG9jYW1sQ29tbWVudCBza2lwd2hpdGUgc2tpcGVtcHR5IG5leHRncm91cD1vY2FtbE1vZFRSV2l0aCxvY2FtbE1QUmVzdHIKKworIiAib3BlbiIKK3N5biByZWdpb24gICBvY2FtbE5vbmUgbWF0Y2hncm91cD1vY2FtbEtleXdvcmQgc3RhcnQ9Ilw8b3Blblw+IiBtYXRjaGdyb3VwPW9jYW1sTW9kdWxlIGVuZD0iXDxcdVwoXHdcfCdcKSpcKFwuXHVcKFx3XHwnXCkqXCkqXD4iIGNvbnRhaW5zPUBvY2FtbEFsbEVycnMsb2NhbWxDb21tZW50CisKKyIgImluY2x1ZGUiCitzeW4gbWF0Y2ggICAgb2NhbWxLZXl3b3JkICJcPGluY2x1ZGVcPiIgY29udGFpbmVkIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPW9jYW1sTW9kUGFyYW0sb2NhbWxGdWxsTW9kCisKKyIgIm1vZHVsZSIgLSBzb21ld2hhdCBjb21wbGljYXRlZCBzdHVmZiA7LSkKK3N5biByZWdpb24gICBvY2FtbE1vZHVsZSBtYXRjaGdyb3VwPW9jYW1sS2V5d29yZCBzdGFydD0iXDxtb2R1bGVcPiIgbWF0Y2hncm91cD1vY2FtbE1vZHVsZSBlbmQ9Ilw8XHVcKFx3XHwnXCkqXD4iIGNvbnRhaW5zPUBvY2FtbEFsbEVycnMsb2NhbWxDb21tZW50IHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPW9jYW1sUHJlRGVmCitzeW4gcmVnaW9uICAgb2NhbWxQcmVEZWYgc3RhcnQ9Ii4ibWU9ZS0xIG1hdGNoZ3JvdXA9b2NhbWxLZXl3b3JkIGVuZD0iXGxcfD0ibWU9ZS0xIGNvbnRhaW5lZCBjb250YWlucz1Ab2NhbWxBbGxFcnJzLG9jYW1sQ29tbWVudCxvY2FtbE1vZFBhcmFtLG9jYW1sTW9kVHlwZVJlc3RyLG9jYW1sTW9kVFJXaXRoIG5leHRncm91cD1vY2FtbE1vZFByZVJIUworc3luIHJlZ2lvbiAgIG9jYW1sTW9kUGFyYW0gc3RhcnQ9IihbXipdIiBlbmQ9IikiIGNvbnRhaW5lZCBjb250YWlucz1Ab2NhbWxBRU5vUGFyZW4sb2NhbWxNb2RQYXJhbTEKK3N5biBtYXRjaCAgICBvY2FtbE1vZFBhcmFtMSAiXDxcdVwoXHdcfCdcKSpcPiIgY29udGFpbmVkIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPW9jYW1sUHJlTVBSZXN0cgorCitzeW4gcmVnaW9uICAgb2NhbWxQcmVNUFJlc3RyIHN0YXJ0PSIuIm1lPWUtMSBlbmQ9IikibWU9ZS0xIGNvbnRhaW5lZCBjb250YWlucz1Ab2NhbWxBbGxFcnJzLG9jYW1sQ29tbWVudCxvY2FtbE1QUmVzdHIsb2NhbWxNb2RUeXBlUmVzdHIKKworc3luIHJlZ2lvbiAgIG9jYW1sTVBSZXN0ciBzdGFydD0iOiIgZW5kPSIuIm1lPWUtMSBjb250YWluZWQgY29udGFpbnM9QG9jYW1sQ29tbWVudCBza2lwd2hpdGUgc2tpcGVtcHR5IG5leHRncm91cD1vY2FtbE1QUmVzdHIxLG9jYW1sTVBSZXN0cjIsb2NhbWxNUFJlc3RyMworc3luIHJlZ2lvbiAgIG9jYW1sTVBSZXN0cjEgbWF0Y2hncm91cD1vY2FtbE1vZHVsZSBzdGFydD0iXHNzaWdcc1w9IiBtYXRjaGdyb3VwPW9jYW1sTW9kdWxlIGVuZD0iXDxlbmRcPiIgY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxAb2NhbWxDb250YWluZWQsb2NhbWxFbmRFcnIsb2NhbWxNb2R1bGUKK3N5biByZWdpb24gICBvY2FtbE1QUmVzdHIyIHN0YXJ0PSJcc2Z1bmN0b3JcKFxzXHwoXClcPSJtZT1lLTEgbWF0Y2hncm91cD1vY2FtbEtleXdvcmQgZW5kPSItPiIgY29udGFpbmVkIGNvbnRhaW5zPUBvY2FtbEFsbEVycnMsb2NhbWxDb21tZW50LG9jYW1sTW9kUGFyYW0gc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9b2NhbWxGdW5jV2l0aCxvY2FtbE1QUmVzdHIyCitzeW4gbWF0Y2ggICAgb2NhbWxNUFJlc3RyMyAiXHdcKFx3XHwnXCkqXChcLlx3XChcd1x8J1wpKlwpKiIgY29udGFpbmVkCitzeW4gbWF0Y2ggICAgb2NhbWxNb2RQcmVSSFMgIj0iIGNvbnRhaW5lZCBza2lwd2hpdGUgc2tpcGVtcHR5IG5leHRncm91cD1vY2FtbE1vZFBhcmFtLG9jYW1sRnVsbE1vZAorc3luIHJlZ2lvbiAgIG9jYW1sTW9kUkhTIHN0YXJ0PSIuIiBlbmQ9Ii5cd1x8KFteKl0ibWU9ZS0yIGNvbnRhaW5lZCBjb250YWlucz1vY2FtbENvbW1lbnQgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9b2NhbWxNb2RQYXJhbSxvY2FtbEZ1bGxNb2QKK3N5biBtYXRjaCAgICBvY2FtbEZ1bGxNb2QgIlw8XHVcKFx3XHwnXCkqXChcLlx1XChcd1x8J1wpKlwpKiIgY29udGFpbmVkIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPW9jYW1sRnVuY1dpdGgKKworc3luIHJlZ2lvbiAgIG9jYW1sRnVuY1dpdGggc3RhcnQ9IihbXipdIm1lPWUtMSBlbmQ9IikiIGNvbnRhaW5lZCBjb250YWlucz1vY2FtbENvbW1lbnQsb2NhbWxXaXRoLG9jYW1sRnVuY1N0cnVjdCBza2lwd2hpdGUgc2tpcGVtcHR5IG5leHRncm91cD1vY2FtbEZ1bmNXaXRoCitzeW4gcmVnaW9uICAgb2NhbWxGdW5jU3RydWN0IG1hdGNoZ3JvdXA9b2NhbWxNb2R1bGUgc3RhcnQ9IlteYS16QS1aXXN0cnVjdFw+ImhzPXMrMSBtYXRjaGdyb3VwPW9jYW1sTW9kdWxlIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBvY2FtbENvbnRhaW5lZCxvY2FtbEVuZEVycgorCitzeW4gbWF0Y2ggICAgb2NhbWxNb2RUeXBlUmVzdHIgIlw8XHdcKFx3XHwnXCkqXChcLlx3XChcd1x8J1wpKlwpKlw+IiBjb250YWluZWQKK3N5biByZWdpb24gICBvY2FtbE1vZFRSV2l0aCBzdGFydD0iOlxzKigiaHM9cysxIGVuZD0iKSIgY29udGFpbmVkIGNvbnRhaW5zPUBvY2FtbEFFTm9QYXJlbixvY2FtbFdpdGgKK3N5biBtYXRjaCAgICBvY2FtbFdpdGggIlw8XChcdVwoXHdcfCdcKSpcLlwpKlx3XChcd1x8J1wpKlw+IiBjb250YWluZWQgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9b2NhbWxXaXRoUmVzdAorc3luIHJlZ2lvbiAgIG9jYW1sV2l0aFJlc3Qgc3RhcnQ9IlteKV0iIGVuZD0iKSJtZT1lLTEgY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxAb2NhbWxDb250YWluZWQKKworIiAibW9kdWxlIHR5cGUiCitzeW4gcmVnaW9uICAgb2NhbWxLZXl3b3JkIHN0YXJ0PSJcPG1vZHVsZVw+XHMqXDx0eXBlXD4iIG1hdGNoZ3JvdXA9b2NhbWxNb2R1bGUgZW5kPSJcPFx3XChcd1x8J1wpKlw+IiBjb250YWlucz1vY2FtbENvbW1lbnQgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9b2NhbWxNVERlZgorc3luIG1hdGNoICAgIG9jYW1sTVREZWYgIj1ccypcd1woXHdcfCdcKSpcPiJocz1zKzEsbWU9cworCitzeW4ga2V5d29yZCAgb2NhbWxLZXl3b3JkICBhbmQgYXMgYXNzZXJ0IGNsYXNzCitzeW4ga2V5d29yZCAgb2NhbWxLZXl3b3JkICBjb25zdHJhaW50IGVsc2UKK3N5biBrZXl3b3JkICBvY2FtbEtleXdvcmQgIGV4Y2VwdGlvbiBleHRlcm5hbCBmdW4KKworc3luIGtleXdvcmQgIG9jYW1sS2V5d29yZCAgaW4gaW5oZXJpdCBpbml0aWFsaXplcgorc3luIGtleXdvcmQgIG9jYW1sS2V5d29yZCAgbGFuZCBsYXp5IGxldCBtYXRjaAorc3luIGtleXdvcmQgIG9jYW1sS2V5d29yZCAgbWV0aG9kIG11dGFibGUgbmV3IG9mCitzeW4ga2V5d29yZCAgb2NhbWxLZXl3b3JkICBwYXJzZXIgcHJpdmF0ZSByYWlzZSByZWMKK3N5biBrZXl3b3JkICBvY2FtbEtleXdvcmQgIHRyeSB0eXBlCitzeW4ga2V5d29yZCAgb2NhbWxLZXl3b3JkICB2YWwgdmlydHVhbCB3aGVuIHdoaWxlIHdpdGgKKworaWYgZXhpc3RzKCJvY2FtbF9yZXZpc2VkIikKKyAgc3luIGtleXdvcmQgIG9jYW1sS2V5d29yZCAgZG8gdmFsdWUKKyAgc3luIGtleXdvcmQgIG9jYW1sQm9vbGVhbiAgVHJ1ZSBGYWxzZQorZWxzZQorICBzeW4ga2V5d29yZCAgb2NhbWxLZXl3b3JkICBmdW5jdGlvbgorICBzeW4ga2V5d29yZCAgb2NhbWxCb29sZWFuICB0cnVlIGZhbHNlCisgIHN5biBtYXRjaCAgICBvY2FtbEtleUNoYXIgICIhIgorZW5kaWYKKworc3luIGtleXdvcmQgIG9jYW1sVHlwZSAgICAgYXJyYXkgYm9vbCBjaGFyIGV4biBmbG9hdCBmb3JtYXQgaW50CitzeW4ga2V5d29yZCAgb2NhbWxUeXBlICAgICBsaXN0IG9wdGlvbiBzdHJpbmcgdW5pdAorCitzeW4ga2V5d29yZCAgb2NhbWxPcGVyYXRvciBhc3IgbG9yIGxzbCBsc3IgbHhvciBtb2Qgbm90CisKK3N5biBtYXRjaCAgICBvY2FtbENvbnN0cnVjdG9yICAiKFxzKikiCitzeW4gbWF0Y2ggICAgb2NhbWxDb25zdHJ1Y3RvciAgIlxbXHMqXF0iCitzeW4gbWF0Y2ggICAgb2NhbWxDb25zdHJ1Y3RvciAgIlxbfFxzKj58XSIKK3N5biBtYXRjaCAgICBvY2FtbENvbnN0cnVjdG9yICAiXFs8XHMqPlxdIgorc3luIG1hdGNoICAgIG9jYW1sQ29uc3RydWN0b3IgICJcdVwoXHdcfCdcKSpcPiIKKworIiBQb2x5bW9ycGhpYyB2YXJpYW50cworc3luIG1hdGNoICAgIG9jYW1sQ29uc3RydWN0b3IgICJgXHdcKFx3XHwnXCkqXD4iCisKKyIgTW9kdWxlIHByZWZpeAorc3luIG1hdGNoICAgIG9jYW1sTW9kUGF0aCAgICAgICJcdVwoXHdcfCdcKSpcLiJoZT1lLTEKKworc3luIG1hdGNoICAgIG9jYW1sQ2hhcmFjdGVyICAgICInXFxcZFxkXGQnXHwnXFxbXCdudGJyXSdcfCcuJyIKK3N5biBtYXRjaCAgICBvY2FtbENoYXJFcnIgICAgICAiJ1xcXGRcZCdcfCdcXFxkJyIKK3N5biBtYXRjaCAgICBvY2FtbENoYXJFcnIgICAgICAiJ1xcW15cJ250YnJdJyIKK3N5biByZWdpb24gICBvY2FtbFN0cmluZyAgICAgICBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCisKK3N5biBtYXRjaCAgICBvY2FtbEZ1bkRlZiAgICAgICAiLT4iCitzeW4gbWF0Y2ggICAgb2NhbWxSZWZBc3NpZ24gICAgIjo9Igorc3luIG1hdGNoICAgIG9jYW1sVG9wU3RvcCAgICAgICI7OyIKK3N5biBtYXRjaCAgICBvY2FtbE9wZXJhdG9yICAgICAiXF4iCitzeW4gbWF0Y2ggICAgb2NhbWxPcGVyYXRvciAgICAgIjo6IgorCitzeW4gbWF0Y2ggICAgb2NhbWxPcGVyYXRvciAgICAgIiYmIgorc3luIG1hdGNoICAgIG9jYW1sT3BlcmF0b3IgICAgICI8Igorc3luIG1hdGNoICAgIG9jYW1sT3BlcmF0b3IgICAgICI+Igorc3luIG1hdGNoICAgIG9jYW1sQW55VmFyICAgICAgICJcPF9cPiIKK3N5biBtYXRjaCAgICBvY2FtbEtleUNoYXIgICAgICAifFteXF1dIm1lPWUtMQorc3luIG1hdGNoICAgIG9jYW1sS2V5Q2hhciAgICAgICI7Igorc3luIG1hdGNoICAgIG9jYW1sS2V5Q2hhciAgICAgICJcfiIKK3N5biBtYXRjaCAgICBvY2FtbEtleUNoYXIgICAgICAiPyIKK3N5biBtYXRjaCAgICBvY2FtbEtleUNoYXIgICAgICAiXCoiCitzeW4gbWF0Y2ggICAgb2NhbWxLZXlDaGFyICAgICAgIj0iCisKK2lmIGV4aXN0cygib2NhbWxfcmV2aXNlZCIpCisgIHN5biBtYXRjaCAgICBvY2FtbEVycgkJIjwtIgorZWxzZQorICBzeW4gbWF0Y2ggICAgb2NhbWxPcGVyYXRvcgkiPC0iCitlbmRpZgorCitzeW4gbWF0Y2ggICAgb2NhbWxOdW1iZXIJIlw8LVw9XGRcK1w+Igorc3luIG1hdGNoICAgIG9jYW1sTnVtYmVyCSJcPC1cPTBbeHxYXVx4XCtcPiIKK3N5biBtYXRjaCAgICBvY2FtbE51bWJlcgkiXDwtXD0wW298T11cb1wrXD4iCitzeW4gbWF0Y2ggICAgb2NhbWxOdW1iZXIJIlw8LVw9MFtifEJdWzAxXVwrXD4iCitzeW4gbWF0Y2ggICAgb2NhbWxGbG9hdAkJIlw8LVw9XGRcK1wuXGQqXChbZUVdWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKworIiBMYWJlbHMKK3N5biBtYXRjaCAgICBvY2FtbExhYmVsCQkiXH5cKFxsXHxfXClcKFx3XHwnXCkqImxjPTEKK3N5biBtYXRjaCAgICBvY2FtbExhYmVsCQkiP1woXGxcfF9cKVwoXHdcfCdcKSoibGM9MQorc3luIHJlZ2lvbiAgIG9jYW1sTGFiZWwgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1vY2FtbExhYmVsIHN0YXJ0PSI/KFwoXGxcfF9cKVwoXHdcfCdcKSoibGM9MiBlbmQ9IikibWU9ZS0xIGNvbnRhaW5zPUFMTEJVVCxAb2NhbWxDb250YWluZWQsb2NhbWxQYXJlbkVycgorCisKKyIgU3luY2hyb25pemF0aW9uCitzeW4gc3luYyBtaW5saW5lcz01MAorc3luIHN5bmMgbWF4bGluZXM9NTAwCisKK2lmICFleGlzdHMoIm9jYW1sX3JldmlzZWQiKQorICBzeW4gc3luYyBtYXRjaCBvY2FtbERvU3luYyAgICAgIGdyb3VwaGVyZSAgb2NhbWxEbyAgICAgICJcPGRvXD4iCisgIHN5biBzeW5jIG1hdGNoIG9jYW1sRG9TeW5jICAgICAgZ3JvdXB0aGVyZSBvY2FtbERvICAgICAgIlw8ZG9uZVw+IgorZW5kaWYKKworaWYgZXhpc3RzKCJvY2FtbF9yZXZpc2VkIikKKyAgc3luIHN5bmMgbWF0Y2ggb2NhbWxFbmRTeW5jICAgICBncm91cGhlcmUgIG9jYW1sRW5kICAgICAiXDxcKG9iamVjdFwpXD4iCitlbHNlCisgIHN5biBzeW5jIG1hdGNoIG9jYW1sRW5kU3luYyAgICAgZ3JvdXBoZXJlICBvY2FtbEVuZCAgICAgIlw8XChiZWdpblx8b2JqZWN0XClcPiIKK2VuZGlmCisKK3N5biBzeW5jIG1hdGNoIG9jYW1sRW5kU3luYyAgICAgZ3JvdXB0aGVyZSBvY2FtbEVuZCAgICAgIlw8ZW5kXD4iCitzeW4gc3luYyBtYXRjaCBvY2FtbFN0cnVjdFN5bmMgIGdyb3VwaGVyZSAgb2NhbWxTdHJ1Y3QgICJcPHN0cnVjdFw+Igorc3luIHN5bmMgbWF0Y2ggb2NhbWxTdHJ1Y3RTeW5jICBncm91cHRoZXJlIG9jYW1sU3RydWN0ICAiXDxlbmRcPiIKK3N5biBzeW5jIG1hdGNoIG9jYW1sU2lnU3luYyAgICAgZ3JvdXBoZXJlICBvY2FtbFNpZyAgICAgIlw8c2lnXD4iCitzeW4gc3luYyBtYXRjaCBvY2FtbFNpZ1N5bmMgICAgIGdyb3VwdGhlcmUgb2NhbWxTaWcgICAgICJcPGVuZFw+IgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9vY2FtbF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9vY2FtbF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBvY2FtbEJyYWNlRXJyCSAgIEVycm9yCisgIEhpTGluayBvY2FtbEJyYWNrRXJyCSAgIEVycm9yCisgIEhpTGluayBvY2FtbFBhcmVuRXJyCSAgIEVycm9yCisgIEhpTGluayBvY2FtbEFyckVycgkgICBFcnJvcgorCisgIEhpTGluayBvY2FtbENvbW1lbnRFcnIgICBFcnJvcgorCisgIEhpTGluayBvY2FtbENvdW50RXJyCSAgIEVycm9yCisgIEhpTGluayBvY2FtbERvRXJyCSAgIEVycm9yCisgIEhpTGluayBvY2FtbERvbmVFcnIJICAgRXJyb3IKKyAgSGlMaW5rIG9jYW1sRW5kRXJyCSAgIEVycm9yCisgIEhpTGluayBvY2FtbFRoZW5FcnIJICAgRXJyb3IKKworICBIaUxpbmsgb2NhbWxDaGFyRXJyCSAgIEVycm9yCisKKyAgSGlMaW5rIG9jYW1sRXJyCSAgIEVycm9yCisKKyAgSGlMaW5rIG9jYW1sQ29tbWVudAkgICBDb21tZW50CisKKyAgSGlMaW5rIG9jYW1sTW9kUGF0aAkgICBJbmNsdWRlCisgIEhpTGluayBvY2FtbE1vZHVsZQkgICBJbmNsdWRlCisgIEhpTGluayBvY2FtbE1vZFBhcmFtMSAgICBJbmNsdWRlCisgIEhpTGluayBvY2FtbE1vZFR5cGUJICAgSW5jbHVkZQorICBIaUxpbmsgb2NhbWxNUFJlc3RyMwkgICBJbmNsdWRlCisgIEhpTGluayBvY2FtbEZ1bGxNb2QJICAgSW5jbHVkZQorICBIaUxpbmsgb2NhbWxNb2RUeXBlUmVzdHIgSW5jbHVkZQorICBIaUxpbmsgb2NhbWxXaXRoCSAgIEluY2x1ZGUKKyAgSGlMaW5rIG9jYW1sTVREZWYJICAgSW5jbHVkZQorCisgIEhpTGluayBvY2FtbFNjcmlwdAkgICBJbmNsdWRlCisKKyAgSGlMaW5rIG9jYW1sQ29uc3RydWN0b3IgIENvbnN0YW50CisKKyAgSGlMaW5rIG9jYW1sTW9kUHJlUkhTICAgIEtleXdvcmQKKyAgSGlMaW5rIG9jYW1sTVBSZXN0cjIJICAgS2V5d29yZAorICBIaUxpbmsgb2NhbWxLZXl3b3JkCSAgIEtleXdvcmQKKyAgSGlMaW5rIG9jYW1sRnVuRGVmCSAgIEtleXdvcmQKKyAgSGlMaW5rIG9jYW1sUmVmQXNzaWduICAgIEtleXdvcmQKKyAgSGlMaW5rIG9jYW1sS2V5Q2hhcgkgICBLZXl3b3JkCisgIEhpTGluayBvY2FtbEFueVZhcgkgICBLZXl3b3JkCisgIEhpTGluayBvY2FtbFRvcFN0b3AJICAgS2V5d29yZAorICBIaUxpbmsgb2NhbWxPcGVyYXRvcgkgICBLZXl3b3JkCisKKyAgSGlMaW5rIG9jYW1sQm9vbGVhbgkgICBCb29sZWFuCisgIEhpTGluayBvY2FtbENoYXJhY3RlciAgICBDaGFyYWN0ZXIKKyAgSGlMaW5rIG9jYW1sTnVtYmVyCSAgIE51bWJlcgorICBIaUxpbmsgb2NhbWxGbG9hdAkgICBGbG9hdAorICBIaUxpbmsgb2NhbWxTdHJpbmcJICAgU3RyaW5nCisKKyAgSGlMaW5rIG9jYW1sTGFiZWwJICAgSWRlbnRpZmllcgorCisgIEhpTGluayBvY2FtbFR5cGUJICAgVHlwZQorCisgIEhpTGluayBvY2FtbFRvZG8JICAgVG9kbworCisgIEhpTGluayBvY2FtbEVuY2wJICAgS2V5d29yZAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJvY2FtbCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29jY2FtLnZpbSBiL3J1bnRpbWUvc3ludGF4L29jY2FtLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzg0YmYwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvb2NjYW0udmltCkBAIC0wLDAgKzEsMTI2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJb2NjYW0KKyIgQ29weXJpZ2h0OglGcmVkIEJhcm5lcyA8ZnJtYjJAa2VudC5hYy51az4sIE1hcmlvIFNjaHdlaWdsZXIgPG1zNDRAa2VudC5hYy51az4KKyIgTWFpbnRhaW5lcjoJTWFyaW8gU2Nod2VpZ2xlciA8bXM0NEBrZW50LmFjLnVrPgorIiBMYXN0IENoYW5nZToJMjQgTWF5IDIwMDMKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyJ7e3sgIFNldHRpbmdzCisiIFNldCBzaGlmdCB3aWR0aCBmb3IgaW5kZW50CitzZXRsb2NhbCBzaGlmdHdpZHRoPTIKKyIgU2V0IHRoZSB0YWIga2V5IHNpemUgdG8gdHdvIHNwYWNlcworc2V0bG9jYWwgc29mdHRhYnN0b3A9MgorIiBMZXQgdGFiIGtleXMgYWx3YXlzIGJlIGV4cGFuZGVkIHRvIHNwYWNlcworc2V0bG9jYWwgZXhwYW5kdGFiCisKKyIgRG90cyBhcmUgdmFsaWQgaW4gb2NjYW0gaWRlbnRpZmllcnMKK3NldGxvY2FsIGlza2V5d29yZCs9LgorIn19fQorCitzeW4gY2FzZSBtYXRjaAorCitzeW4ga2V5d29yZCBvY2NhbVR5cGUJCUJZVEUgQk9PTCBJTlQgSU5UMTYgSU5UMzIgSU5UNjQgUkVBTDMyIFJFQUw2NCBBTlkKK3N5biBrZXl3b3JkIG9jY2FtVHlwZQkJQ0hBTiBEQVRBIE9GIFRZUEUgVElNRVIgSU5JVElBTCBWQUwgUE9SVCBNT0JJTEUgUExBQ0VECitzeW4ga2V5d29yZCBvY2NhbVR5cGUJCVBST0NFU1NPUiBQQUNLRUQgUkVDT1JEIFBST1RPQ09MIFNIQVJFRCBST1VORCBUUlVOQworCitzeW4ga2V5d29yZCBvY2NhbVN0cnVjdHVyZQlTRVEgUEFSIElGIEFMVCBQUkkgRk9SS0lORyBQTEFDRSBBVAorCitzeW4ga2V5d29yZCBvY2NhbUtleXdvcmQJUFJPQyBJUyBUUlVFIEZBTFNFIFNJWkUgUkVDVVJTSVZFIFJFQworc3luIGtleXdvcmQgb2NjYW1LZXl3b3JkCVJFVFlQRVMgUkVTSEFQRVMgU1RFUCBGUk9NIEZPUiBSRVNDSEVEVUxFIFNUT1AgU0tJUCBGT1JLCitzeW4ga2V5d29yZCBvY2NhbUtleXdvcmQJRlVOQ1RJT04gVkFMT0YgUkVTVUxUIEVMU0UgQ0xPTkUgQ0xBSU0KK3N5biBrZXl3b3JkIG9jY2FtQm9vbGVhbglUUlVFIEZBTFNFCitzeW4ga2V5d29yZCBvY2NhbVJlcGVhdAkJV0hJTEUKK3N5biBrZXl3b3JkIG9jY2FtQ29uZGl0aW9uYWwJQ0FTRQorc3luIGtleXdvcmQgb2NjYW1Db25zdGFudAlNT1NUTkVHIE1PU1RQT1MKKworc3luIG1hdGNoIG9jY2FtQnJhY2tldHMJCS9cW1x8XF0vCitzeW4gbWF0Y2ggb2NjYW1QYXJhbnRoZXNlcwkvKFx8KS8KKworc3luIGtleXdvcmQgb2NjYW1PcGVyYXRvcglBRlRFUiBUSU1FUyBNSU5VUyBQTFVTIElOSVRJQUwgUkVNIEFORCBPUiBYT1IgTk9UCitzeW4ga2V5d29yZCBvY2NhbU9wZXJhdG9yCUJJVEFORCBCSVRPUiBCSVROT1QgQllURVNJTiBPRkZTRVRPRgorCitzeW4gbWF0Y2ggb2NjYW1PcGVyYXRvcgkJLzo6XHw6PVx8P1x8IS8KK3N5biBtYXRjaCBvY2NhbU9wZXJhdG9yCQkvPFx8Plx8K1x8LVx8XCpcfFwvXHxcXFx8PVx8XH4vCitzeW4gbWF0Y2ggb2NjYW1PcGVyYXRvcgkJL0BcfFwkXCRcfCVcfCYmXHw8Jlx8Jj5cfDxcXVx8XFs+XHxcXi8KKworc3luIG1hdGNoIG9jY2FtU3BlY2lhbENoYXIJL1xNKipcfConXHwqIlx8KiNcKFxbMC05QS1GXF1cK1wpLyBjb250YWluZWQKK3N5biBtYXRjaCBvY2NhbUNoYXIJCS9cTVxMXD0nXFteKlxdJy8KK3N5biBtYXRjaCBvY2NhbUNoYXIJCS9MJ1teJ10qJy8gY29udGFpbnM9b2NjYW1TcGVjaWFsQ2hhcgorCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCBvY2NhbVRvZG8JCS9cPHRvZG9cPjpcPS8gY29udGFpbmVkCitzeW4gbWF0Y2ggb2NjYW1Ob3RlCQkvXDxub3RlXD46XD0vIGNvbnRhaW5lZAorc3luIGNhc2UgbWF0Y2gKK3N5biBrZXl3b3JkIG9jY2FtTm90ZQkJTk9UIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggb2NjYW1Db21tZW50CQkvLS0uKi8gY29udGFpbnM9b2NjYW1Db21tZW50VGl0bGUsb2NjYW1Ub2RvLG9jY2FtTm90ZQorc3luIG1hdGNoIG9jY2FtQ29tbWVudFRpdGxlCS8tLVxzKlx1XGEqXChcc1wrXHVcYSpcKSo6L2hzPXMrMiBjb250YWluZWQgY29udGFpbnM9b2NjYW1Ub2RvLG9jY2FtTm90ZQorc3luIG1hdGNoIG9jY2FtQ29tbWVudFRpdGxlCS8tLVxzKktST0MtTElCUkFSWVwoXC5zb1x8XC5hXClcPVxzKiQvaHM9cysyIGNvbnRhaW5lZAorc3luIG1hdGNoIG9jY2FtQ29tbWVudFRpdGxlCS8tLVxzKlwoS1JPQy1PUFRJT05TOlx8UlVOLVBBUkFNRVRFUlM6XCkvaHM9cysyIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggb2NjYW1JZGVudGlmaWVyCS9cPFtBLVouXVtBLVouMC05XSpcPi8KK3N5biBtYXRjaCBvY2NhbUZ1bmN0aW9uCQkvXDxbQS1aYS16Ll1bQS1aYS16MC05Ll0qXD4vIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggb2NjYW1QUElkZW50aWZpZXIJLyMjLlx7LX1cPi8KKworc3luIHJlZ2lvbiBvY2NhbVN0cmluZwkJc3RhcnQ9LyIvIHNraXA9L1xNKiIvIGVuZD0vIi8gY29udGFpbnM9b2NjYW1TcGVjaWFsQ2hhcgorc3luIHJlZ2lvbiBvY2NhbUNoYXJTdHJpbmcJc3RhcnQ9LycvIGVuZD0vJy8gY29udGFpbnM9b2NjYW1TcGVjaWFsQ2hhcgorCitzeW4gbWF0Y2ggb2NjYW1OdW1iZXIJCS9cPFxkXCtcKFwuXGRcK1woRVwoK1x8LVwpXGRcK1wpXD1cKVw9Lworc3luIG1hdGNoIG9jY2FtTnVtYmVyCQkvLVxkXCtcKFwuXGRcK1woRVwoK1x8LVwpXGRcK1wpXD1cKVw9Lworc3luIG1hdGNoIG9jY2FtTnVtYmVyCQkvI1woXGRcfFtBLUZdXClcKy8KK3N5biBtYXRjaCBvY2NhbU51bWJlcgkJLy0jXChcZFx8W0EtRl1cKVwrLworCitzeW4ga2V5d29yZCBvY2NhbUNEU3RyaW5nCVNIQVJFRCBFWFRFUk5BTCBERUZJTkVEIE5PQUxJQVMgTk9VU0FHRSBOT1QgY29udGFpbmVkCitzeW4ga2V5d29yZCBvY2NhbUNEU3RyaW5nCUZJTEUgTElORSBQUk9DRVNTLlBSSU9SSVRZIE9DQ0FNMi41IGNvbnRhaW5lZAorc3luIGtleXdvcmQgb2NjYW1DRFN0cmluZwlVU0VSLkRFRklORUQuT1BFUkFUT1JTIElOSVRJQUwuREVDTCBNT0JJTEVTIGNvbnRhaW5lZAorc3luIGtleXdvcmQgb2NjYW1DRFN0cmluZwlCTE9DS0lORy5TWVNDQUxMUyBWRVJTSU9OIE5FRUQuUVVBRC5BTElHTk1FTlQgY29udGFpbmVkCitzeW4ga2V5d29yZCBvY2NhbUNEU3RyaW5nCVRBUkdFVC5DQU5PTklDQUwgVEFSR0VULkNQVSBUQVJHRVQuT1MgVEFSR0VULlZFTkRPUiBjb250YWluZWQKK3N5biBrZXl3b3JkIG9jY2FtQ0RTdHJpbmcJVFJVRSBGQUxTRSBBTkQgT1IgY29udGFpbmVkCitzeW4gbWF0Y2ggb2NjYW1DRFN0cmluZwkJLzxcfD5cfD1cfChcfCkvIGNvbnRhaW5lZAorCitzeW4gcmVnaW9uIG9jY2FtQ0RpcmVjdGl2ZQlzdGFydD0vI1woVVNFXHxJTkNMVURFXHxQUkFHTUFcfERFRklORVx8VU5ERUZJTkVcfFVOREVGXHxJRlx8RUxJRlx8RUxTRVx8RU5ESUZcfFdBUk5JTkdcfEVSUk9SXHxSRUxBWFwpXD4vIGVuZD0vJC8gY29udGFpbnM9b2NjYW1TdHJpbmcsb2NjYW1Db21tZW50LG9jY2FtQ0RTdHJpbmcKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX29jY2FtX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX29jY2FtX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIG9jY2FtVHlwZSBUeXBlCisgIEhpTGluayBvY2NhbUtleXdvcmQgS2V5d29yZAorICBIaUxpbmsgb2NjYW1Db21tZW50IENvbW1lbnQKKyAgSGlMaW5rIG9jY2FtQ29tbWVudFRpdGxlIFByZVByb2MKKyAgSGlMaW5rIG9jY2FtVG9kbyBUb2RvCisgIEhpTGluayBvY2NhbU5vdGUgVG9kbworICBIaUxpbmsgb2NjYW1TdHJpbmcgU3RyaW5nCisgIEhpTGluayBvY2NhbUNoYXJTdHJpbmcgU3RyaW5nCisgIEhpTGluayBvY2NhbU51bWJlciBOdW1iZXIKKyAgSGlMaW5rIG9jY2FtQ0RpcmVjdGl2ZSBQcmVQcm9jCisgIEhpTGluayBvY2NhbUNEU3RyaW5nIFN0cmluZworICBIaUxpbmsgb2NjYW1QUElkZW50aWZpZXIgUHJlUHJvYworICBIaUxpbmsgb2NjYW1Cb29sZWFuIEJvb2xlYW4KKyAgSGlMaW5rIG9jY2FtU3BlY2lhbENoYXIgU3BlY2lhbENoYXIKKyAgSGlMaW5rIG9jY2FtQ2hhciBDaGFyYWN0ZXIKKyAgSGlMaW5rIG9jY2FtU3RydWN0dXJlIFN0cnVjdHVyZQorICBIaUxpbmsgb2NjYW1JZGVudGlmaWVyIElkZW50aWZpZXIKKyAgSGlMaW5rIG9jY2FtQ29uc3RhbnQgQ29uc3RhbnQKKyAgSGlMaW5rIG9jY2FtT3BlcmF0b3IgT3BlcmF0b3IKKyAgSGlMaW5rIG9jY2FtRnVuY3Rpb24gSWdub3JlCisgIEhpTGluayBvY2NhbVJlcGVhdCBSZXBlYXQKKyAgSGlMaW5rIG9jY2FtQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKKyAgSGlMaW5rIG9jY2FtQnJhY2tldHMgVHlwZQorICBIaUxpbmsgb2NjYW1QYXJhbnRoZXNlcyBEZWxpbWl0ZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAib2NjYW0iCisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29tbmltYXJrLnZpbSBiL3J1bnRpbWUvc3ludGF4L29tbmltYXJrLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OThiM2MwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvb21uaW1hcmsudmltCkBAIC0wLDAgKzEsMTIzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJT21uaW1hcmsKKyIgTWFpbnRhaW5lcjoJUGF1bCBUZXJyYXkgPG1haWx0bzp0ZXJyYXlANGRjb25jZXB0LmZyPgorIiBMYXN0IENoYW5nZToJMTEgT2N0IDIwMDAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNldCBpc2tleXdvcmQ9QCw0OC01NyxfLDEyOC0xNjcsMjI0LTIzNSwtCitlbHNlCisgIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sMTI4LTE2NywyMjQtMjM1LC0KK2VuZGlmCisKK3N5biBrZXl3b3JkIG9tbmltYXJrS2V5d29yZHMJQUNUSVZBVEUgQUdBSU4KK3N5biBrZXl3b3JkIG9tbmltYXJrS2V5d29yZHMJQ0FUQ0ggQ0xFQVIgQ0xPU0UgQ09QWSBDT1BZLUNMRUFSIENST1NTLVRSQU5TTEFURQorc3luIGtleXdvcmQgb21uaW1hcmtLZXl3b3JkcwlERUFDVElWQVRFIERFQ0xBUkUgREVDUkVNRU5UIERFRklORSBESVNDQVJEIERJVklERSBETyBET0NVTUVOVC1FTkQgRE9DVU1FTlQtU1RBUlQgRE9ORSBEVEQtU1RBUlQKK3N5biBrZXl3b3JkIG9tbmltYXJrS2V5d29yZHMJRUxFTUVOVCBFTFNFIEVTQ0FQRSBFWElUCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCUZBSUwgRklORCBGSU5ELUVORCBGSU5ELVNUQVJUIEZPUk1BVAorc3luIGtleXdvcmQgb21uaW1hcmtLZXl3b3JkcwlHUk9VUAorc3luIGtleXdvcmQgb21uaW1hcmtLZXl3b3JkcwlIQUxUIEhBTFQtRVZFUllUSElORworc3luIGtleXdvcmQgb21uaW1hcmtLZXl3b3JkcwlJR05PUkUgSU1QTElFRCBJTkNMVURFIElOQ0xVREUtRU5EIElOQ0xVREUtU1RBUlQgSU5DUkVNRU5UIElOUFVUCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCUpPSU4KK3N5biBrZXl3b3JkIG9tbmltYXJrS2V5d29yZHMJTElORS1FTkQgTElORS1TVEFSVCBMT0cgTE9PS0FIRUFECitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCU1BQ1JPCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCU1BQ1JPLUVORCBNQVJLRUQtU0VDVElPTiBNQVJLVVAtQ09NTUVOVCBNQVJLVVAtRVJST1IgTUFSS1VQLVBBUlNFUiBNQVNLIE1BVENIIE1JTlVTIE1PRFVMTworc3luIGtleXdvcmQgb21uaW1hcmtLZXl3b3JkcwlORVcgTkVXTElORSBORVhUCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCU9QRU4gT1VUUFVUIE9VVFBVVC1UTyBPVkVSCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCVBST0NFU1MgUFJPQ0VTUy1FTkQgUFJPQ0VTUy1TVEFSVCBQUk9DRVNTSU5HLUlOU1RSVUNUSU9OIFBST0xPRy1FTkQgUFJPTE9HLUlOLUVSUk9SIFBVVAorc3luIGtleXdvcmQgb21uaW1hcmtLZXl3b3JkcwlSRU1PVkUgUkVPUEVOIFJFUEVBVCBSRVNFVCBSRVRIUk9XIFJFVFVSTgorc3luIGtleXdvcmQgb21uaW1hcmtLZXl3b3JkcwlXSEVOIFdISVRFLVNQQUNFCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCVNBVkUgU0FWRS1DTEVBUiBTQ0FOIFNFTEVDVCBTRVQgU0dNTCBTR01MLUNPTU1FTlQgU0dNTC1ERUNMQVJBVElPTi1FTkQgU0dNTC1EVEQgU0dNTC1EVERTIFNHTUwtRVJST1IgU0dNTC1JTiBTR01MLU9VVCBTR01MLVBBUlNFIFNHTUwtUEFSU0VSIFNISUZUIFNVQk1JVCBTVUNDRUVEIFNVUFBSRVNTCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCVNZU1RFTS1DQUxMCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCVRFU1QtU1lTVEVNIFRIUk9XIFRPIFRSQU5TTEFURQorc3luIGtleXdvcmQgb21uaW1hcmtLZXl3b3JkcwlVQyBVTCBVTkxFU1MgVVAtVFJBTlNMQVRFCitzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCVhNTC1QQVJTRQorCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCUFDVElWRSBBRlRFUiBBTkNFU1RPUiBBTkQgQU5PVEhFUiBBUkcgQVMgQVRUQUNIRUQgQVRUUklCVVRFIEFUVFJJQlVURVMKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJQkFTRSBCRUZPUkUgQklOQVJZIEJJTkFSWS1JTlBVVCBCSU5BUlktTU9ERSBCSU5BUlktT1VUUFVUIEJSRUFLLVdJRFRIIEJVRkZFUiBCWQorc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwlDQVNFIENISUxEUkVOIENMT1NFRCBDT01QSUxFRC1EQVRFIENPTVBMRU1FTlQgQ09OUkVGIENPTlRFTlQgQ09OVEVYVC1UUkFOU0xBVEUgQ09VTlRFUiBDUkVBVEVEIENSRUFUSU5HIENSRUFUT1IgQ1VSUkVOVAorc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwlEQVRBLUFUVFJJQlVURSBEQVRBLUFUVFJJQlVURVMgREFUQS1DT05URU5UIERBVEEtTEVUVEVSUyBEQVRFIERFQ0xBUkVELUNPTlJFRiBERUNMQVJFRC1DVVJSRU5UIERFQ0xBUkVELURFRkFVTFRFRCBERUNMQVJFRC1GSVhFRCBERUNMQVJFRC1JTVBMSUVEIERFQ0xBUkVELVJFUVVJUkVECitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCURFRkFVTFQtRU5USVRZIERFRkFVTFRFRCBERUZBVUxUSU5HIERFTElNSVRFUiBESUZGRVJFTkNFIERJUkVDVE9SWSBET0NUWVBFIERPQ1VNRU5UIERPQ1VNRU5ULUVMRU1FTlQgRE9NQUlOLUZSRUUgRE9XTi1UUkFOU0xBVEUgRFREIERURC1FTkQgRFREUworc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwlFTEVNRU5UUyBFTFNFV0hFUkUgRU1QVFkgRU5USVRJRVMgRU5USVRZIEVQSUxPRy1TVEFSVCBFUVVBTCBFWENFUFQgRVhJU1RTIEVYVEVSTkFMIEVYVEVSTkFMLURBVEEtRU5USVRZIEVYVEVSTkFMLUVOVElUWSBFWFRFUk5BTC1GVU5DVElPTiBFWFRFUk5BTC1PVVRQVVQtRlVOQ1RJT04KK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJRVhURVJOQUwtVEVYVC1FTlRJVFkKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJRkFMU0UgRklMRSBGVU5DVElPTiBGVU5DVElPTi1MSUJSQVJZCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCUdFTkVSQUwgR0xPQkFMIEdSRUFURVItRVFVQUwgR1JFQVRFUi1USEFOIEdST1VQUworc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwlIQVMgSEFTTlQgSEVSQUxERUQtTkFNRVMKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJSUQgSUQtQ0hFQ0tJTkcgSURSRUYgSURSRUZTIElOIElOLUxJQlJBUlkgSU5DTFVTSU9OIElOSVRJQUwgSU5JVElBTC1TSVpFIElOU0VSVElPTi1CUkVBSyBJTlNUQU5DRSBJTlRFUk5BTCBJTlZBTElELURBVEEgSVMgSVNOVCBJVEVNCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCUtFWSBLRVlFRAorc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwlMQVNUIExBU1RNT1NUIExDIExFTkdUSCBMRVNTLUVRVUFMIExFU1MtVEhBTiBMRVRURVJTIExJQlJBUlkgTElURVJBTCBMT0NBTAorc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwlNQVRDSEVTIE1JWEVEIE1PRElGSUFCTEUKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJTkFNRSBOQU1FLUxFVFRFUlMgTkFNRUNBU0UgTkFNRUQgTkFNRVMgTkRBVEEtRU5USVRZIE5FR0FURSBORVNURUQtUkVGRVJFTlRTIE5NVE9LRU4gTk1UT0tFTlMgTk8gTk8tREVGQVVMVC1JTyBOT04tQ0RBVEEgTk9OLUlNUExJRUQgTk9OLVNEQVRBIE5PVCBOT1RBVElPTiBOVU1CRVItT0YgTlVNQkVSUworc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwlOVVRPS0VOIE5VVE9LRU5TCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCU9DQ1VSUkVOQ0UgT0YgT1BBUVVFIE9QVElPTkFMIE9SCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCVBBUkFNRVRFUiBQQVJFTlQgUEFTVCBQQVRURVJOIFBMVVMgUFJFUEFSRU5UIFBSRVZJT1VTIFBST1BFUiBQVUJMSUMKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJUkVBRC1PTkxZIFJFQURBQkxFIFJFRkVSRU5UIFJFRkVSRU5UUyBSRUZFUkVOVFMtQUxMT1dFRCBSRUZFUkVOVFMtRElTUExBWUVEIFJFRkVSRU5UUy1OT1QtQUxMT1dFRCBSRU1BSU5ERVIgUkVQRUFURUQgUkVQTEFDRU1FTlQtQlJFQUsgUkVWRVJTRUQKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJU0lMRU5ULVJFRkVSRU5UIFNJWkUgU0tJUCBTT1VSQ0UgU1BFQ0lGSUVEIFNUQVRVUyBTVFJFQU0gU1VCRE9DLUVOVElUWSBTVUJET0NVTUVOVCBTVUJET0NVTUVOVFMgU1VCRUxFTUVOVCBTV0lUQ0ggU1lNQk9MIFNZU1RFTQorc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwlURVhULU1PREUgVEhJUyBUSU1FUyBUT0tFTiBUUlVFCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCVVOQU5DSE9SRUQgVU5BVFRBQ0hFRCBVTklPTiBVU0VNQVAgVVNJTkcKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJVkFMVUUgVkFMVUVEIFZBUklBQkxFCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCVdJVEggV1JJVEFCTEUKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJWE1MIFhNTC1EVEQgWE1MLURURFMKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJWUVTCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCSNBRERJVElPTkFMLUlORk8gI0FQUElORk8gI0NBUEFDSVRZICNDSEFSU0VUICNDTEFTUyAjQ09NTUFORC1MSU5FLU5BTUVTICNDT05TT0xFICNDVVJSRU5ULUlOUFVUICNDVVJSRU5ULU9VVFBVVCAjREFUQSAjRE9DVFlQRSAjRE9DVU1FTlQgI0RURCAjRU1QVFkgI0VSUk9SICNFUlJPUi1DT0RFCitzeW4ga2V5d29yZCBvbW5pbWFya0NvbW1hbmRzCSNGSUxFLU5BTUUgI0ZJUlNUICNHUk9VUCAjSU1QTElFRCAjSVRFTSAjTEFOR1VBR0UtVkVSU0lPTiAjTEFTVCAjTElCUEFUSCAjTElCUkFSWSAjTElCVkFMVUUgI0xJTkUtTlVNQkVSICNNQUlOLUlOUFVUICNNQUlOLU9VVFBVVCAjTUFSS1VQLUVSUk9SLUNPVU5UICNNQVJLVVAtRVJST1ItVE9UQUwKK3N5biBrZXl3b3JkIG9tbmltYXJrQ29tbWFuZHMJI01BUktVUC1QQVJTRVIgI01BUktVUC1XQVJOSU5HLUNPVU5UICNNQVJLVVAtV0FSTklORy1UT1RBTCAjTUVTU0FHRSAjTk9ORSAjT1VUUFVUICNQTEFURk9STS1JTkZPICNQUk9DRVNTLUlOUFVUICNQUk9DRVNTLU9VVFBVVCAjUkVDT1ZFUlktSU5GTyAjU0dNTCAjU0dNTC1FUlJPUi1DT1VOVAorc3luIGtleXdvcmQgb21uaW1hcmtDb21tYW5kcwkjU0dNTC1FUlJPUi1UT1RBTCAjU0dNTC1XQVJOSU5HLUNPVU5UICNTR01MLVdBUk5JTkctVE9UQUwgI1NVUFBSRVNTICNTWU5UQVggIyEKKworc3luIGtleXdvcmQgb21uaW1hcmtQYXR0ZXJucwlBTlkgQU5ZLVRFWFQKK3N5biBrZXl3b3JkIG9tbmltYXJrUGF0dGVybnMJQkxBTksKK3N5biBrZXl3b3JkIG9tbmltYXJrUGF0dGVybnMJQ0RBVEEgQ0RBVEEtRU5USVRZIENPTlRFTlQtRU5EIENPTlRFTlQtU1RBUlQKK3N5biBrZXl3b3JkIG9tbmltYXJrUGF0dGVybnMJRElHSVQKK3N5biBrZXl3b3JkIG9tbmltYXJrUGF0dGVybnMJTEVUVEVSCitzeW4ga2V5d29yZCBvbW5pbWFya1BhdHRlcm5zCU5VTUJFUgorc3luIGtleXdvcmQgb21uaW1hcmtQYXR0ZXJucwlQQ0RBVEEKK3N5biBrZXl3b3JkIG9tbmltYXJrUGF0dGVybnMJUkNEQVRBCitzeW4ga2V5d29yZCBvbW5pbWFya1BhdHRlcm5zCVNEQVRBIFNEQVRBLUVOVElUWSBTUEFDRQorc3luIGtleXdvcmQgb21uaW1hcmtQYXR0ZXJucwlURVhUCitzeW4ga2V5d29yZCBvbW5pbWFya1BhdHRlcm5zCVZBTFVFLUVORCBWQUxVRS1TVEFSVAorc3luIGtleXdvcmQgb21uaW1hcmtQYXR0ZXJucwlXT1JELUVORCBXT1JELVNUQVJUCisKK3N5biByZWdpb24gIG9tbmltYXJrQ29tbWVudAlzdGFydD0iOyIgZW5kPSIkIgorCisiIHN0cmluZ3MKK3N5biByZWdpb24gIG9tbmltYXJrU3RyaW5nCQltYXRjaGdyb3VwPU5vcm1hbCBzdGFydD0rJysgIGVuZD0rJysgc2tpcD0rJScrIGNvbnRhaW5zPW9tbmltYXJrRXNjYXBlCitzeW4gcmVnaW9uICBvbW5pbWFya1N0cmluZwkJbWF0Y2hncm91cD1Ob3JtYWwgc3RhcnQ9KyIrICBlbmQ9KyIrIHNraXA9KyUiKyBjb250YWlucz1vbW5pbWFya0VzY2FwZQorc3luIG1hdGNoICBvbW5pbWFya0VzY2FwZSBjb250YWluZWQgKyUuKworc3luIG1hdGNoICBvbW5pbWFya0VzY2FwZSBjb250YWluZWQgKyVbMC05XVswLTldIysKKworInN5biBzeW5jIG1heGxpbmVzPTEwMAorc3luIHN5bmMgbWlubGluZXM9MjAwMAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9vbW5pbWFya19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9vbW5pbWFya19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBvbW5pbWFya0NvbW1hbmRzCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIG9tbmltYXJrS2V5d29yZHMJCUlkZW50aWZpZXIKKyAgSGlMaW5rIG9tbmltYXJrU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIG9tbmltYXJrUGF0dGVybnMJCU1hY3JvCisiICBIaUxpbmsgb21uaW1hcmtOdW1iZXIJCQlOdW1iZXIKKyAgSGlMaW5rIG9tbmltYXJrQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgb21uaW1hcmtFc2NhcGUJCVNwZWNpYWwKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAib21uaW1hcmsiCisKKyIgdmltOiB0cz04CisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29wZW5yb2FkLnZpbSBiL3J1bnRpbWUvc3ludGF4L29wZW5yb2FkLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjlhNzhkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvb3BlbnJvYWQudmltCkBAIC0wLDAgKzEsMjY2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJCUNBLU9wZW5ST0FECisiIE1haW50YWluZXI6CUx1aXMgTW9yZW5vIDxsbW9yZW5vQGVyZXNtYXMubmV0PgorIiBMYXN0IGNoYW5nZToJMjAwMSBKdW4gMTIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKKyIKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworc3ludGF4IGNhc2UgaWdub3JlCisKKyIgS2V5d29yZHMKKyIKK3N5bnRheCBrZXl3b3JkIG9wZW5yb2FkS2V5d29yZAlBQk9SVCBBTEwgQUxURVIgQU5EIEFOWSBBUyBBU0MgQVQgQVZHIEJFR0lOCitzeW50YXgga2V5d29yZCBvcGVucm9hZEtleXdvcmQJQkVUV0VFTiBCWSBCWVJFRiBDQUxMIENBTExGUkFNRSBDQUxMUFJPQyBDQVNFCitzeW50YXgga2V5d29yZCBvcGVucm9hZEtleXdvcmQJQ0xFQVIgQ0xPU0UgQ09NTUlUIENPTk5FQ1QgQ09OVElOVUUgQ09QWSBDT1VOVAorc3ludGF4IGtleXdvcmQgb3BlbnJvYWRLZXl3b3JkCUNSRUFURSBDVVJSRU5UIERCRVZFTlQgREVDTEFSRSBERUZBVUxUIERFTEVURQorc3ludGF4IGtleXdvcmQgb3BlbnJvYWRLZXl3b3JkCURFTEVURVJPVyBERVNDIERJUkVDVCBESVNDT05ORUNUIERJU1RJTkNUIERPCitzeW50YXgga2V5d29yZCBvcGVucm9hZEtleXdvcmQJRFJPUCBFTFNFIEVMU0VJRiBFTkQgRU5EQ0FTRSBFTkRERUNMQVJFIEVOREZPUgorc3ludGF4IGtleXdvcmQgb3BlbnJvYWRLZXl3b3JkCUVORElGIEVORExPT1AgRU5EV0hJTEUgRVNDQVBFIEVYRUNVVEUgRVhJU1RTCitzeW50YXgga2V5d29yZCBvcGVucm9hZEtleXdvcmQJRVhJVCBGRVRDSCBGSUVMRCBGT1IgRlJPTSBHT1RPRlJBTUUgR1JBTlQgR1JPVVAKK3N5bnRheCBrZXl3b3JkIG9wZW5yb2FkS2V5d29yZAlIQVZJTkcgSUYgSU1NRURJQVRFIElOIElOREVYIElOSVRJQUxJU0UKK3N5bnRheCBrZXl3b3JkIG9wZW5yb2FkS2V5d29yZAlJTklUSUFMSVpFIElOUVVJUkVfSU5HUkVTIElOUVVJUkVfU1FMIElOU0VSVAorc3ludGF4IGtleXdvcmQgb3BlbnJvYWRLZXl3b3JkCUlOU0VSVFJPVyBJTlNUQUxMQVRJT04gSU5URUdSSVRZIElOVE8gS0VZIExJS0UKK3N5bnRheCBrZXl3b3JkIG9wZW5yb2FkS2V5d29yZAlMSU5LIE1BWCBNRVNTQUdFIE1FVEhPRCBNSU4gTU9ERSBNT0RJRlkgTkVYVAorc3ludGF4IGtleXdvcmQgb3BlbnJvYWRLZXl3b3JkCU5PRUNITyBOT1QgTlVMTCBPRiBPTiBPUEVOIE9QRU5GUkFNRSBPUiBPUkRFUgorc3ludGF4IGtleXdvcmQgb3BlbnJvYWRLZXl3b3JkCVBFUk1JVCBQUk9DRURVUkUgUFJPTVBUIFFVQUxJRklDQVRJT04gUkFJU0UKK3N5bnRheCBrZXl3b3JkIG9wZW5yb2FkS2V5d29yZAlSRUdJU1RFUiBSRUxPQ0FURSBSRU1PVkUgUkVQRUFUIFJFUEVBVEVEIFJFU1VNRQorc3ludGF4IGtleXdvcmQgb3BlbnJvYWRLZXl3b3JkCVJFVFVSTiBSRVRVUk5JTkcgUkVWT0tFIFJPTEUgUk9MTEJBQ0sgUlVMRSBTQVZFCitzeW50YXgga2V5d29yZCBvcGVucm9hZEtleXdvcmQJU0FWRVBPSU5UIFNFTEVDVCBTRVQgU0xFRVAgU09NRSBTVU0gU1lTVEVNIFRBQkxFCitzeW50YXgga2V5d29yZCBvcGVucm9hZEtleXdvcmQJVEhFTiBUTyBUUkFOU0FDVElPTiBVTklPTiBVTklRVUUgVU5USUwgVVBEQVRFCitzeW50YXgga2V5d29yZCBvcGVucm9hZEtleXdvcmQJVkFMVUVTIFZJRVcgV0hFUkUgV0hJTEUgV0lUSCBXT1JLCisKK3N5bnRheCBrZXl3b3JkIG9wZW5yb2FkVG9kbyBjb250YWluZWQJVE9ETworCisiIENhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMKKyIKK3N5bnRheCBjbHVzdGVyCW9wZW5yb2FkUGFyZW5Hcm91cAljb250YWlucz1vcGVucm9hZFBhcmVuRXJyb3Isb3BlbnJvYWRUb2RvCitzeW50YXggcmVnaW9uCW9wZW5yb2FkUGFyZW4JCXRyYW5zcGFyZW50IHN0YXJ0PScoJyBlbmQ9JyknIGNvbnRhaW5zPUFMTEJVVCxAb3BlbnJvYWRQYXJlbkdyb3VwCitzeW50YXggbWF0Y2gJb3BlbnJvYWRQYXJlbkVycm9yCSIpIgoraGlnaGxpZ2h0IGxpbmsJb3BlbnJvYWRQYXJlbkVycm9yCWNFcnJvcgorCisiIE51bWJlcnMKKyIKK3N5bnRheCBtYXRjaAlvcGVucm9hZE51bWJlcgkJIlw8WzAtOV1cK1w+IgorCisiIFN0cmluZworIgorc3ludGF4IHJlZ2lvbglvcGVucm9hZFN0cmluZwkJc3RhcnQ9KycrICBlbmQ9KycrCisKKyIgT3BlcmF0b3JzLCBEYXRhIFR5cGVzIGFuZCBGdW5jdGlvbnMKKyIKK3N5bnRheCBtYXRjaAlvcGVucm9hZE9wZXJhdG9yCS9bXCtcLVwqXC89XDxcPjtcKFwpXS8KKworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRUeXBlCQlBUlJBWSBCWVRFIENIQVIgREFURSBERUNJTUFMIEZMT0FUIEZMT0FUNAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRUeXBlCQlGTE9BVDggSU5UMSBJTlQyIElOVDQgSU5URUdFUiBJTlRFR0VSMQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRUeXBlCQlJTlRFR0VSMiBJTlRFR0VSNCBNT05FWSBPQkpFQ1RfS0VZCitzeW50YXgga2V5d29yZAlvcGVucm9hZFR5cGUJCVNFQ1VSSVRZX0xBQkVMIFNNQUxMSU5UIFRBQkxFX0tFWSBWQVJDSEFSCisKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkRnVuYwkJSUZOVUxMCisKKyIgU3lzdGVtIENsYXNzZXMKKyIKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ2xhc3MJQUNUSVZFRklFTEQgQU5BTE9HRklFTEQgQVBQRkxBRyBBUFBTT1VSQ0UKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ2xhc3MJQVJSQVlPQkpFQ1QgQVRUUklCVVRFT0JKRUNUIEJBUkZJRUxECitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCUJJVE1BUE9CSkVDVCBCT1hUUklNIEJSRUFLU1BFQyBCVVRUT05GSUVMRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlDRUxMQVRUUklCVVRFIENIT0lDRUJJVE1BUCBDSE9JQ0VERVRBSUwKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ2xhc3MJQ0hPSUNFRklFTEQgQ0hPSUNFSVRFTSBDSE9JQ0VMSVNUIENMQVNTCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCUNMQVNTU09VUkNFIENPTFVNTkNST1NTIENPTFVNTkZJRUxECitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCUNPTVBPU0lURUZJRUxEIENPTVBTT1VSQ0UgQ09OVFJPTEJVVFRPTgorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlDUk9TU1RBQkxFIENVUlNPUkJJVE1BUCBDVVJTT1JPQkpFQ1QgREFUQVNUUkVBTQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlEQVRFT0JKRUNUIERCRVZFTlRPQkpFQ1QgREJTRVNTSU9OT0JKRUNUCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCURJU1BMQVlGT1JNIERZTkVYUFIgRUxMSVBTRVNIQVBFIEVOVFJZRklFTEQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ2xhc3MJRU5VTUZJRUxEIEVWRU5UIEVYVE9CSkVDVCBFWFRPQkpGSUVMRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlGSUVMRE9CSkVDVCBGTEVYSUJMRUZPUk0gRkxPQVRPQkpFQ1QgRk9STUZJRUxECitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCUZSQU1FRVhFQyBGUkFNRUZPUk0gRlJBTUVTT1VSQ0UgRlJFRVRSSU0KK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ2xhc3MJR0hPU1RFWEVDIEdIT1NUU09VUkNFIElNQUdFRklFTEQgSU1BR0VUUklNCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCUlOVEVHRVJPQkpFQ1QgTElTVEZJRUxEIExJU1RWSUVXQ09MQVRUUgorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlMSVNUVklFV0ZJRUxEIExPTkdCWVRFT0JKRUNUIExPTkdWQ0hBUk9CSkVDVAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlNQVRSSVhGSUVMRCBNRU5VQkFSIE1FTlVCVVRUT04gTUVOVUZJRUxECitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCU1FTlVHUk9VUCBNRU5VSVRFTSBNRU5VTElTVCBNRU5VU0VQQVJBVE9SCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCU1FTlVTVEFDSyBNRU5VVE9HR0xFIE1FVEhPREVYRUMgTUVUSE9ET0JKRUNUCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCU1PTkVZT0JKRUNUIE9CSkVDVCBPUFRJT05GSUVMRCBPUFRJT05NRU5VCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCVBBTEVUVEVGSUVMRCBQT1BVUEJVVFRPTiBQUk9DNEdMU09VUkNFIFBST0NFWEVDCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCVBST0NIQU5ETEUgUVVFUllDT0wgUVVFUllPQkpFQ1QgUVVFUllQQVJNCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCVFVRVJZVEFCTEUgUkFESU9GSUVMRCBSRUNUQU5HTEVTSEFQRSBST1dDUk9TUworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlTQ0FMQVJGSUVMRCBTQ09QRSBTQ1JPTExCQVJGSUVMRCBTRUdNRU5UU0hBUEUKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ2xhc3MJU0VTU0lPTk9CSkVDVCBTSEFQRUZJRUxEIFNMSURFUkZJRUxEIFNRTFNFTEVDVAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlTVEFDS0ZJRUxEIFNUUklOR09CSkVDVCBTVUJGT1JNIFRBQkJBUgorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlUQUJGSUVMRCBUQUJGT0xERVIgVEFCTEVGSUVMRCBUQUJQQUdFCitzeW50YXgga2V5d29yZAlvcGVucm9hZENsYXNzCVRPR0dMRUZJRUxEIFRSRUUgVFJFRU5PREUgVFJFRVZJRVdGSUVMRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDbGFzcwlVU0VSQ0xBU1NPQkpFQ1QgVVNFUk9CSkVDVCBWSUVXUE9SVEZJRUxECisKKyIgU3lzdGVtIEV2ZW50cworIgorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRFdmVudAlDSElMRENMSUNLIENISUxEQ0xJQ0tQT0lOVCBDSElMRENPTExBUFNFRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRFdmVudAlDSElMRERFVEFJTFMgQ0hJTERET1VCTEVDTElDSyBDSElMRERSQUdCT1gKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkRXZlbnQJQ0hJTEREUkFHU0VHTUVOVCBDSElMREVOVFJZIENISUxERVhJVAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRFdmVudAlDSElMREVYUEFOREVEIENISUxESEVBREVSQ0xJQ0sgQ0hJTERNT1ZFRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRFdmVudAlDSElMRFBST1BFUlRJRVMgQ0hJTERSRVNJWkVEIENISUxEU0NST0xMCitzeW50YXgga2V5d29yZAlvcGVucm9hZEV2ZW50CUNISUxEU0VMRUNUIENISUxEU0VMRUNUSU9OQ0hBTkdFRCBDSElMRFNFVFZBTFVFCitzeW50YXgga2V5d29yZAlvcGVucm9hZEV2ZW50CUNISUxEVU5TRUxFQ1QgQ0hJTERWQUxJREFURSBDTElDSyBDTElDS1BPSU5UCitzeW50YXgga2V5d29yZAlvcGVucm9hZEV2ZW50CUNPTExBUFNFRCBEQkVWRU5UIERFVEFJTFMgRE9VQkxFQ0xJQ0sgRFJBR0JPWAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRFdmVudAlEUkFHU0VHTUVOVCBFTlRSWSBFWElUIEVYUEFOREVEIEVYVENMQVNTRVZFTlQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkRXZlbnQJRlJBTUVBQ1RJVkFURSBGUkFNRURFQUNUSVZBVEUgSEVBREVSQ0xJQ0sKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkRXZlbnQJSU5TRVJUUk9XIExBQkVMQ0hBTkdFRCBNT1ZFRCBQQUdFQUNUSVZBVEVECitzeW50YXgga2V5d29yZAlvcGVucm9hZEV2ZW50CVBBR0VDSEFOR0VEIFBBR0VERUFDVElWQVRFRCBQUk9QRVJUSUVTIFJFU0laRUQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkRXZlbnQJU0NST0xMIFNFTEVDVCBTRUxFQ1RJT05DSEFOR0VEIFNFVFZBTFVFCitzeW50YXgga2V5d29yZAlvcGVucm9hZEV2ZW50CVRFUk1JTkFURSBVTlNFTEVDVCBVU0VSRVZFTlQgVkFMSURBVEUKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkRXZlbnQJV0lORE9XQ0xPU0UgV0lORE9XSUNPTiBXSU5ET1dNT1ZFRCBXSU5ET1dSRVNJWkVECitzeW50YXgga2V5d29yZAlvcGVucm9hZEV2ZW50CVdJTkRPV1ZJU0lCTEUKKworIiBTeXN0ZW0gQ29uc3RhbnRzCisiCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUJGX0JNUCBCRl9HSUYgQkZfU1VOUkFTVEVSIEJGX1RJRkYKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQkZfV0lORE9XQ1VSU09SIEJGX1dJTkRPV0lDT04gQkZfWEJNCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX0JBQ0tHUk9VTkQgQ0NfQkxBQ0sgQ0NfQkxVRSBDQ19CUk9XTiBDQ19DWUFOCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX0RFRkFVTFRfMSBDQ19ERUZBVUxUXzEwIENDX0RFRkFVTFRfMTEKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0NfREVGQVVMVF8xMiBDQ19ERUZBVUxUXzEzIENDX0RFRkFVTFRfMTQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0NfREVGQVVMVF8xNSBDQ19ERUZBVUxUXzE2IENDX0RFRkFVTFRfMTcKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0NfREVGQVVMVF8xOCBDQ19ERUZBVUxUXzE5IENDX0RFRkFVTFRfMgorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19ERUZBVUxUXzIwIENDX0RFRkFVTFRfMjEgQ0NfREVGQVVMVF8yMgorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19ERUZBVUxUXzIzIENDX0RFRkFVTFRfMjQgQ0NfREVGQVVMVF8yNQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19ERUZBVUxUXzI2IENDX0RFRkFVTFRfMjcgQ0NfREVGQVVMVF8yOAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19ERUZBVUxUXzI5IENDX0RFRkFVTFRfMyBDQ19ERUZBVUxUXzMwCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX0RFRkFVTFRfNCBDQ19ERUZBVUxUXzUgQ0NfREVGQVVMVF82CitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX0RFRkFVTFRfNyBDQ19ERUZBVUxUXzggQ0NfREVGQVVMVF85CitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX0ZPUkVHUk9VTkQgQ0NfR1JBWSBDQ19HUkVFTiBDQ19MSUdIVF9CTFVFCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX0xJR0hUX0JST1dOCUNDX0xJR0hUX0NZQU4gQ0NfTElHSFRfR1JBWQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19MSUdIVF9HUkVFTiBDQ19MSUdIVF9PUkFOR0UgQ0NfTElHSFRfUElOSworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19MSUdIVF9QVVJQTEUgQ0NfTElHSFRfUkVEIENDX0xJR0hUX1lFTExPVworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19NQUdFTlRBIENDX09SQU5HRSBDQ19QQUxFX0JMVUUgQ0NfUEFMRV9CUk9XTgorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19QQUxFX0NZQU4gQ0NfUEFMRV9HUkFZIENDX1BBTEVfR1JFRU4KK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0NfUEFMRV9PUkFOR0UgQ0NfUEFMRV9QSU5LIENDX1BBTEVfUFVSUExFCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX1BBTEVfUkVEIENDX1BBTEVfWUVMTE9XIENDX1BJTksgQ0NfUFVSUExFCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX1JFRCBDQ19TWVNfQUNUSVZFQk9SREVSIENDX1NZU19BQ1RJVkVDQVBUSU9OCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX1NZU19BUFBXT1JLU1BBQ0UgQ0NfU1lTX0JBQ0tHUk9VTkQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0NfU1lTX0JUTkZBQ0UgQ0NfU1lTX0JUTlNIQURPVyBDQ19TWVNfQlROVEVYVAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19TWVNfQ0FQVElPTlRFWFQgQ0NfU1lTX0dSQVlURVhUCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNDX1NZU19ISUdITElHSFQgQ0NfU1lTX0hJR0hMSUdIVFRFWFQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0NfU1lTX0lOQUNUSVZFQk9SREVSIENDX1NZU19JTkFDVElWRUNBUFRJT04KK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0NfU1lTX0lOQUNUSVZFQ0FQVElPTlRFWFQgQ0NfU1lTX01FTlUKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0NfU1lTX01FTlVURVhUIENDX1NZU19TQ1JPTExCQVIgQ0NfU1lTX1NIQURPVworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19TWVNfV0lORE9XIENDX1NZU19XSU5ET1dGUkFNRQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlDQ19TWVNfV0lORE9XVEVYVCBDQ19XSElURSBDQ19ZRUxMT1cKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJQ0xfSU5WQUxJRFZBTFVFIENQX0JPVEggQ1BfQ09MVU1OUyBDUF9OT05FCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNQX1JPV1MgQ1NfQ0xPU0VEIENTX0NVUlJFTlQgQ1NfTk9DVVJSRU5UCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUNTX05PX01PUkVfUk9XUyBDU19PUEVOIENTX09QRU5fQ0FDSEVEIERDX0JXCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CURDX0NPTE9SIERQX0FVVE9TSVpFX0ZJRUxEIERQX0NMSVBfSU1BR0UKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJRFBfU0NBTEVfSU1BR0VfSCBEUF9TQ0FMRV9JTUFHRV9IVworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlEUF9TQ0FMRV9JTUFHRV9XIERTX0NPTk5FQ1RFRCBEU19ESVNBQkxFRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlEU19ESVNDT05ORUNURUQgRFNfSU5HUkVTX0RCTVMgRFNfTk9fREJNUworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlEU19PUkFDTEVfREJNUyBEU19TUUxTRVJWRVJfREJNUyBEVl9OVUxMCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CURWX1NUUklORyBEVl9TWVNURU0gRUhfTkVYVF9IQU5ETEVSIEVIX1JFU1VNRQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlFSF9SRVRSWSBFUF9JTlRFUkFDVElWRSBFUF9OT05FIEVQX09VVFBVVAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlFUl9GQUlMIEVSX05BTUVFWElTVFMgRVJfT0sgRVJfT1VUT0ZSQU5HRQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlFUl9ST1dOT1RGT1VORCBFUl9VU0VSMSBFUl9VU0VSMTAgRVJfVVNFUjIKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJRVJfVVNFUjMgRVJfVVNFUjQgRVJfVVNFUjUgRVJfVVNFUjYgRVJfVVNFUjcKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJRVJfVVNFUjggRVJfVVNFUjkgRkFMU0UgRkFfQk9UVE9NQ0VOVEVSCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUZBX0JPVFRPTUxFRlQgRkFfQk9UVE9NUklHSFQgRkFfQ0VOVEVSCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUZBX0NFTlRFUkxFRlQgRkFfQ0VOVEVSUklHSFQgRkFfREVGQVVMVCBGQV9OT05FCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUZBX1RPUENFTlRFUiBGQV9UT1BMRUZUIEZBX1RPUFJJR0hUCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUZCX0NIQU5HRUFCTEUgRkJfQ0xJQ0tQT0lOVCBGQl9ESU1NRUQgRkJfRFJBR0JPWAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlGQl9EUkFHU0VHTUVOVCBGQl9GTEVYSUJMRSBGQl9JTlZJU0lCTEUKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJRkJfTEFOREFCTEUgRkJfTUFSS0FCTEUgRkJfUkVTSVpFQUJMRQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlGQl9WSUVXQUJMRSBGQl9WSVNJQkxFIEZDX0xPV0VSIEZDX05PTkUgRkNfVVBQRVIKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJRk1fUVVFUlkgRk1fUkVBRCBGTV9VUERBVEUgRk1fVVNFUjEgRk1fVVNFUjIKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJRk1fVVNFUjMgRk9fREVGQVVMVCBGT19IT1JJWk9OVEFMIEZPX1ZFUlRJQ0FMCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUZQX0JJVE1BUCBGUF9DTEVBUiBGUF9DUk9TU0hBVENIIEZQX0RBUktTSEFERQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlGUF9ERUZBVUxUIEZQX0hPUklaT05UQUwgRlBfTElHSFRTSEFERSBGUF9TSEFERQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlGUF9TT0xJRCBGUF9WRVJUSUNBTCBGVF9OT1RTRVRWQUxVRSBGVF9TRVRWQUxVRQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlGVF9UQUJUTyBGVF9UQUtFRk9DVVMgR0ZfQk9UVE9NIEdGX0RFRkFVTFQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJR0ZfTEVGVCBHRl9SSUdIVCBHRl9UT1AgSENfRE9VQkxFUVVPVEUKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJSENfRk9STUZFRUQgSENfTkVXTElORSBIQ19RVU9URSBIQ19TUEFDRSBIQ19UQUIKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJSFZfQ09OVEVOVFMgSFZfQ09OVEVYVCBIVl9IRUxQT05IRUxQIEhWX0tFWQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlIVl9RVUlUIExTXzNEIExTX0RBU0ggTFNfREFTSERPVCBMU19EQVNIRE9URE9UCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUxTX0RFRkFVTFQgTFNfRE9UIExTX1NPTElEIExXX0RFRkFVTFQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJTFdfRVhUUkFUSElOIExXX01BWElNVU0gTFdfTUlERExFIExXX01JTklNVU0KK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJTFdfTk9MSU5FIExXX1RISUNLIExXX1RISU4gTFdfVkVSWVRISUNLCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CUxXX1ZFUllUSElOIE1CX0RJU0FCTEVEIE1CX0VOQUJMRUQgTUJfSU5WSVNJQkxFCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CU1CX01PVkVBQkxFIE1UX0VSUk9SIE1UX0lORk8gTVRfTk9ORSBNVF9XQVJOSU5HCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CU9QX0FQUEVORCBPUF9OT05FIE9TM0QgT1NfREVGQVVMVCBPU19TSEFET1cKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJT1NfU09MSUQgUFVfQ0FOQ0VMIFBVX09LIFFTX0FDVElWRSBRU19JTkFDVElWRQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlRU19TRVRDT0wgUVlfQVJSQVkgUVlfQ0FDSEUgUVlfQ1VSU09SIFFZX0RJUkVDVAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlSQ19DSElMRFNFTEVDVEVEIFJDX0RPV04gUkNfRU5EIFJDX0ZJRUxERlJFRUQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJUkNfRklFTERPUlBIQU5FRCBSQ19HUk9VUFNFTEVDVCBSQ19IT01FIFJDX0xFRlQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJUkNfTU9ERUNIQU5HRUQgUkNfTU9VU0VDTElDSyBSQ19NT1VTRURSQUcKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJUkNfTkVYVCBSQ19OT1RBUFBMSUNBQkxFIFJDX1BBR0VET1dOIFJDX1BBR0VVUAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlSQ19QQVJFTlRTRUxFQ1RFRCBSQ19QUkVWSU9VUyBSQ19QUk9HUkFNCitzeW50YXgga2V5d29yZAlvcGVucm9hZENvbnN0CVJDX1JFU1VNRSBSQ19SRVRVUk4gUkNfUklHSFQgUkNfUk9XREVMRVRFRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlSQ19ST1dJTlNFUlRFRCBSQ19ST1dTQUxMREVMRVRFRCBSQ19TRUxFQ1QKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJUkNfVEZTQ1JPTEwgUkNfVE9HR0xFU0VMRUNUIFJDX1VQIFJTX0NIQU5HRUQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJUlNfREVMRVRFRCBSU19ORVcgUlNfVU5DSEFOR0VEIFJTX1VOREVGSU5FRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlTS19DTE9TRSBTS19DT1BZIFNLX0NVVCBTS19ERUxFVEUgU0tfREVUQUlMUworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlTS19EVVBMSUNBVEUgU0tfRklORCBTS19HTyBTS19IRUxQIFNLX05FWFQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJU0tfTk9ORSBTS19QQVNURSBTS19QUk9QUyBTS19RVUlUIFNLX1JFRE8KK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJU0tfU0FWRSBTS19URkRFTEVURUFMTFJPV1MgU0tfVEZERUxFVEVST1cKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJU0tfVEZGSU5EIFNLX1RGSU5TRVJUUk9XIFNLX1VORE8gU1BfQVBQU1RBUlRJTkcKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJU1BfQVJST1cgU1BfQ1JPU1MgU1BfSUJFQU0gU1BfSUNPTiBTUF9OTworc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlTUF9TSVpFIFNQX1NJWkVORVNXIFNQX1NJWkVOUyBTUF9TSVpFTldTRQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlTUF9TSVpFV0UgU1BfVVBBUlJPVyBTUF9XQUlUIFNZX05UIFNZX09TMgorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlTWV9VTklYIFNZX1ZNUyBTWV9XSU45NSBURl9DT1VSSUVSIFRGX0hFTFZFVElDQQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlURl9MVUNJREEgVEZfTUVOVURFRkFVTFQgVEZfTkVXQ0VOVFVSWSBURl9TWVNURU0KK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJVEZfVElNRVNST01BTiBUUlVFIFVFX0RBVEFFUlJPUiBVRV9FWElURUQKK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJVUVfTk9UQUNUSVZFIFVFX1BVUkdFRCBVRV9SRVNVTUVEIFVFX1VOS05PV04KK3N5bnRheCBrZXl3b3JkCW9wZW5yb2FkQ29uc3QJV0lfTU9USUYgV0lfTVNXSU4zMiBXSV9NU1dJTkRPV1MgV0lfTk9ORSBXSV9QTQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlXUF9GTE9BVElORyBXUF9JTlRFUkFDVElWRSBXUF9QQVJFTlRDRU5URVJFRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlXUF9QQVJFTlRSRUxBVElWRSBXUF9TQ1JFRU5DRU5URVJFRAorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlXUF9TQ1JFRU5SRUxBVElWRSBXVl9JQ09OIFdWX0lOVklTSUJMRQorc3ludGF4IGtleXdvcmQJb3BlbnJvYWRDb25zdAlXVl9VTlJFQUxJWkVEIFdWX1ZJU0lCTEUKKworIiBTeXN0ZW0gVmFyaWFibGVzCisiCitzeW50YXgga2V5d29yZAlvcGVucm9hZFZhcgkJQ3VyRnJhbWUgQ3VyUHJvY2VkdXJlIEN1ck1ldGhvZCBDdXJPYmplY3QKKworIiBJZGVudGlmaWVycworIgorc3ludGF4IG1hdGNoCW9wZW5yb2FkSWRlbnQJL1thLXpBLVpfXVthLXpBLVpfXSohW2EtekEtWl9dW2EtekEtWl9dKi8KKworIiBDb21tZW50cworIgoraWYgZXhpc3RzKCJvcGVucm9hZF9jb21tZW50X3N0cmluZ3MiKQorCXN5bnRheCBtYXRjaCBvcGVucm9hZENvbW1lbnRTa2lwCWNvbnRhaW5lZCAiXlxzKlwqXCgkXHxcc1wrXCkiCisJc3ludGF4IHJlZ2lvbiBvcGVucm9hZENvbW1lbnRTdHJpbmcJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZW5kPSIkIgorCXN5bnRheCByZWdpb24gb3BlbnJvYWRDb21tZW50CQlzdGFydD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9b3BlbnJvYWRDb21tZW50U3RyaW5nLG9wZW5yb2FkQ2hhcmFjdGVyLG9wZW5yb2FkTnVtYmVyCisJc3ludGF4IG1hdGNoIG9wZW5yb2FkQ29tbWVudAkJIi8vLioiIGNvbnRhaW5zPW9wZW5yb2FkQ29tbWVudDJTdHJpbmcsb3BlbnJvYWRDaGFyYWN0ZXIsb3BlbnJvYWROdW1iZXIKK2Vsc2UKKwlzeW4gcmVnaW9uIG9wZW5yb2FkQ29tbWVudAkJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIgorCXN5biBtYXRjaCBvcGVucm9hZENvbW1lbnQJCQkiLy8uKiIKK2VuZGlmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorIgoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX29wZW5yb2FkX3N5bnRheF9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX29wZW5yb2FkX3N5bnRheF9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwlIaUxpbmsgb3BlbnJvYWRLZXl3b3JkCVN0YXRlbWVudAorCUhpTGluayBvcGVucm9hZE51bWJlcglOdW1iZXIKKwlIaUxpbmsgb3BlbnJvYWRTdHJpbmcJU3RyaW5nCisJSGlMaW5rIG9wZW5yb2FkQ29tbWVudAlDb21tZW50CisJSGlMaW5rIG9wZW5yb2FkT3BlcmF0b3IJT3BlcmF0b3IKKwlIaUxpbmsgb3BlbnJvYWRUeXBlCQlUeXBlCisJSGlMaW5rIG9wZW5yb2FkRnVuYwkJU3BlY2lhbAorCUhpTGluayBvcGVucm9hZENsYXNzCVR5cGUKKwlIaUxpbmsgb3BlbnJvYWRFdmVudAlTdGF0ZW1lbnQKKwlIaUxpbmsgb3BlbnJvYWRDb25zdAlDb25zdGFudAorCUhpTGluayBvcGVucm9hZFZhcgkJSWRlbnRpZmllcgorCUhpTGluayBvcGVucm9hZElkZW50CUlkZW50aWZpZXIKKwlIaUxpbmsgb3BlbnJvYWRUb2RvCQlUb2RvCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAib3BlbnJvYWQiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9vcGwudmltIGIvcnVudGltZS9zeW50YXgvb3BsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTE0YTA1Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvb3BsLnZpbQpAQCAtMCwwICsxLDk2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJT1BMCisiIE1haW50YWluZXI6CUN6byA8T2xpdmllci5TaXJvbEBsaXA2LmZyPgorIiAkSWQkCisKKyIgT3BlbiBQc2lvbiBMYW5ndWFnZS4uLiAoRVBPQzE2L0VQT0MzMikKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGNhc2UgaXMgbm90IHNpZ25pZmljYW50CitzeW4gY2FzZSBpZ25vcmUKKworIiBBIGJ1bmNoIG9mIHVzZWZ1bCBPUEwga2V5d29yZHMKK3N5biBrZXl3b3JkIE9QTFN0YXRlbWVudCBwcm9jIGVuZHAgYWJzIGFjb3MgYWRkciBhZGp1c3RhbGxvYyBhbGVydCBhbGxvYyBhcHAKK3N5biBrZXl3b3JkIE9QTFN0YXRlbWVudCBhcHBlbmQgYXBwZW5kc3ByaXRlIGFzYyBhc2luIGF0IGF0YW4gYmFjayBiZWVwCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgYmVnaW50cmFucyBib29rbWFyayBicmVhayBidXN5IGJ5cmVmIGNhY2hlCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgY2FjaGVoZHIgY2FjaGVyZWMgY2FjaGV0aWR5IGNhbGwgY2FuY2VsIGNhcHRpb24KK3N5biBrZXl3b3JkIE9QTFN0YXRlbWVudCBjaGFuZ2VzcHJpdGUgY2hyJCBjbGVhcmZsYWdzIGNsb3NlIGNsb3Nlc3ByaXRlIGNscworc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGNtZCQgY29tbWl0dHJhbnMgY29tcGFjdCBjb21wcmVzcyBjb25zdCBjb250aW51ZQorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGNvcHkgY29zIGNvdW50IGNyZWF0ZSBjcmVhdGVzcHJpdGUgY3Vyc29yCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZGF0ZXRvc2VjcyBkYXRpbSQgZGF5IGRheW5hbWUkIGRheXMgZGF5c3RvZGF0ZQorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGRidXR0b25zIGRjaGVja2JveCBkY2hvaWNlIGRkYXRlIGRlY2xhcmUgZGVkaXQKK3N5biBrZXl3b3JkIE9QTFN0YXRlbWVudCBkZWRpdG11bHRpIGRlZmF1bHR3aW4gZGVnIGRlbGV0ZSBkZmlsZSBkZmxvYXQKK3N5biBrZXl3b3JkIE9QTFN0YXRlbWVudCBkaWFsb2cgZGlhbWluaXQgZGlhbXBvcyBkaW5pdCBkaXIkIGRsb25nIGRvIGRvdworc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGRwb3NpdGlvbiBkcmF3c3ByaXRlIGR0ZXh0IGR0aW1lIGR4aW5wdXQgZWRpdCBlbHNlCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZWxzZWlmIGVuZGEgZW5kaWYgZW5kdiBlbmR3aCBlbnRlcnNlbmQgZW50ZXJzZW5kMAorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGVvZiBlcmFzZSBlcnIgZXJyJCBlcnJ4JCBlc2NhcGUgZXZhbCBleGlzdCBleHAgZXh0CitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZXh0ZXJuYWwgZmluZCBmaW5kZmllbGQgZmluZGxpYiBmaXJzdCBmaXgkIGZsYWdzCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZmx0IGZvbnQgZnJlZWFsbG9jIGdhdCBnYm9yZGVyIGdib3ggZ2J1dHRvbgorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGdjaXJjbGUgZ2Nsb2NrIGdjbG9zZSBnY2xzIGdjb2xvciBnY29weSBnY3JlYXRlCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZ2NyZWF0ZWJpdCBnZHJhd29iamVjdCBnZWxsaXBzZSBnZW4kIGdldCBnZXQkCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZ2V0Y21kJCBnZXRkb2MkIGdldGV2ZW50IGdldGV2ZW50MzIgZ2V0ZXZlbnRhMzIKK3N5biBrZXl3b3JkIE9QTFN0YXRlbWVudCBnZXRldmVudGMgZ2V0bGliaCBnZmlsbCBnZm9udCBnZ21vZGUgZ2dyZXkgZ2hlaWdodAorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGdpZGVudGl0eSBnaW5mbyBnaW5mbzMyIGdpbnZlcnQgZ2lwcmludCBnbGluZWJ5CitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZ2xpbmV0byBnbG9hZGJpdCBnbG9hZGZvbnQgZ2xvYmFsIGdtb3ZlIGdvcmRlcgorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGdvcmlnaW54IGdvcmlnaW55IGdvdG8gZ290b21hcmsgZ3BhdHQgZ3BlZWtsaW5lCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZ3BvbHkgZ3ByaW50IGdwcmludGIgZ3ByaW50Y2xpcCBncmFuayBnc2F2ZWJpdAorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGdzY3JvbGwgZ3NldHBlbndpZHRoIGdzZXR3aW4gZ3N0eWxlIGd0bW9kZSBndHdpZHRoCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgZ3VubG9hZGZvbnQgZ3VwZGF0ZSBndXNlIGd2aXNpYmxlIGd3aWR0aCBneAorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IGd4Ym9yZGVyIGd4cHJpbnQgZ3kgaGV4JCBob3VyIGlhYnMgaWNvbiBpZiBpbmNsdWRlCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgaW5wdXQgaW5zZXJ0IGludCBpbnRmIGludHJhbnMga2V5IGtleSQga2V5YSBrZXljCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQga2lsbG1hcmsga21vZCBsYXN0IGxjbG9zZSBsZWZ0JCBsZW4gbGVuYWxsb2MKK3N5biBrZXl3b3JkIE9QTFN0YXRlbWVudCBsaW5rbGliIGxuIGxvYWRsaWIgbG9hZG0gbG9jIGxvY2FsIGxvY2sgbG9nIGxvcGVuCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgbG93ZXIkIGxwcmludCBtYXggbWNhcmQgbWNhc2MgbWVhbiBtZW51IG1pZCQgbWluCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgbWluaXQgbWludXRlIG1rZGlyIG1vZGlmeSBtb250aCBtb250aCQgbXBvcHVwCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgbmV3b2JqIG5ld29iamggbmV4dCBub3RlcyBudW0kIG9kYmluZm8gb2ZmIG9uZXJyCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgb3BlbiBvcGVuciBvcHggb3MgcGFyc2UkIHBhdGggcGF1c2UgcGVlayBwaQorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IHBvaW50ZXJmaWx0ZXIgcG9rZSBwb3MgcG9zaXRpb24gcG9zc3ByaXRlIHByaW50CitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgcHV0IHJhZCByYWlzZSByYW5kb21pemUgcmVhbGxvYyByZWNzaXplIHJlbmFtZQorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IHJlcHQkIHJldHVybiByaWdodCQgcm1kaXIgcm5kIHJvbGxiYWNrIHNjaSQgc2NyZWVuCitzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgc2NyZWVuaW5mbyBzZWNvbmQgc2Vjc3RvZGF0ZSBzZW5kIHNldGRvYyBzZXRmbGFncworc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IHNldG5hbWUgc2V0cGF0aCBzaW4gc3BhY2Ugc3FyIHN0YXR1c3dpbgorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IHN0YXR3aW5pbmZvIHN0ZCBzdG9wIHN0eWxlIHN1bSB0YW4gdGVzdGV2ZW50IHRyYXAKK3N5biBrZXl3b3JkIE9QTFN0YXRlbWVudCB0eXBlIHVhZGQgdW5sb2FkbGliIHVubG9hZG0gdW50aWwgdXBkYXRlIHVwcGVyJAorc3luIGtleXdvcmQgT1BMU3RhdGVtZW50IHVzZSB1c3IgdXNyJCB1c3ViIHZhbCB2YXIgdmVjdG9yIHdlZWsgd2hpbGUgeWVhcgorIiBzeW4ga2V5d29yZCBPUExTdGF0ZW1lbnQgcmVtCisKKworc3luIG1hdGNoICBPUExOdW1iZXIJCSJcPFxkXCtcPiIKK3N5biBtYXRjaCAgT1BMTnVtYmVyCQkiXDxcZFwrXC5cZCpcPiIKK3N5biBtYXRjaCAgT1BMTnVtYmVyCQkiXC5cZFwrXD4iCisKK3N5biByZWdpb24gIE9QTFN0cmluZwkJc3RhcnQ9KyIrICAgZW5kPSsiKworc3luIHJlZ2lvbiAgT1BMQ29tbWVudAkJc3RhcnQ9IlJFTVtcdCBdIiBlbmQ9IiQiCitzeW4gbWF0Y2ggICBPUExNYXRoc09wZXJhdG9yICAgICItXHw9XHxbOjw+K1wqXi9cXF0iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX09QTF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9PUExfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgT1BMU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIE9QTE51bWJlcgkJTnVtYmVyCisgIEhpTGluayBPUExTdHJpbmcJCVN0cmluZworICBIaUxpbmsgT1BMQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgT1BMTWF0aHNPcGVyYXRvcglDb25kaXRpb25hbAorIiAgSGlMaW5rIE9QTEVycm9yCQlFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJvcGwiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9vcmEudmltIGIvcnVudGltZS9zeW50YXgvb3JhLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjVkMzIyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvb3JhLnZpbQpAQCAtMCwwICsxLDQ3OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CU9yYWNsZSBjb25maWcgZmlsZXMgKC5vcmEpIChPcmFjbGUgOGksIHZlci4gOC4xLjUpCisiIE1haW50YWluZXI6CVNhbmRvciBLb3BhbnlpIDxzYW5kb3Iua29wYW55aUBtYWlsYm94Lmh1PgorIiBVcmw6CQk8LT4KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgKiB0aGUga2V5d29yZHMgYXJlIGxpc3RlZCBieSBmaWxlIChzcWxuZXQub3JhLCBsaXN0ZW5lci5vcmEsIGV0Yy4pCisiICogdGhlIHBhcmF0aGVzaXMtY2hlY2tpbmcgaXMgbWFkZSBhdCB0aGUgYmVnaW5uaW5nIGZvciBhbGwga2V5d29yZHMKKyIgKiBwb3NzaWJsZSB2YWx1ZXMgYXJlIGxpc3RlZCBhbHNvCisiICogdGhlcmUgYXJlIHNvbWUgb3ZlcmxhcHBpbmdzIChlLmcuIE1FVEhPRCBpcyBtZW50aW9uZWQgYm90aCBmb3IKKyIgICBzcWxuZXQtb3JhIGFuZCB0bnNuYW1lcy5vcmE7IHNpbmNlIHdpbGwgbm90IGNhdXNlKD8pIHByb2JsZW1zCisiICAgaXMgZWFzaWVyIHRvIGZvbGxvdyBzZXBhcmF0ZWx5IGVhY2ggZmlsZSdzIGtleXdvcmRzKQorCisiIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZCwgaWYgbmVlZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAnb3JhJworZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyJjb21tZW50cworc3luIG1hdGNoIG9yYUNvbW1lbnQgIlwjLioiCisKKyIgY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworc3luIHJlZ2lvbiAgb3JhUGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9QG9yYUFsbCxvcmFQYXJlbgorc3luIG1hdGNoICAgb3JhUGFyZW5FcnJvciAiKSIKKworIiBzdHJpbmdzCitzeW4gcmVnaW9uICBvcmFTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisKKworImNvbW1vbiAub3JhIHN0YWZmCisKKyJjb21tb24gcHJvdG9jb2wgcGFyYW1ldGVycworc3luIGtleXdvcmQgb3JhS2V5d29yZEdyb3VwICAgQUREUkVTUyBBRERSRVNTX0xJU1QKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRHcm91cCAgIERFU0NSSVBUSU9OX0xJU1QgREVTQ1JJUFRJT04KKyJhbGwgcHJvdG9jb2xzCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFBST1RPQ09MCitzeW4ga2V5d29yZCBvcmFWYWx1ZQkgICAgICBpcGMgdGNwIG5tcAorIkJlcXVlYXRoCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFBST0dSQU0gQVJHVjAgQVJHUworIklQQworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBLRVkKKyJOYW1lZCBQaXBlcworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBTRVJWRVIgUElQRQorIkxVNi4yCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIExVX05BTUUgTExVIExPQ0FMX0xVIExMVV9OQU1FIExPQ0FMX0xVX05BTUUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgTU9ERSBNRE4KK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgUExVIFBBUlRORVJfTFVfTkFNRSBQTFVfTEEgUEFSVE5FUl9MVV9MT0NBTF9BTElBUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBUUF9OQU1FIFRQTgorIlNQWAorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBTRVJWSUNFCisiVENQL0lQIGFuZCBUQ1AvSVAgd2l0aCBTU0wKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgSE9TVCBQT1JUCisKKyJtaXNjLiBrZXl3b3JkcyBJJ3ZlIG1ldCBidXQgZGlkbid0IGZpbmQgaW4gbWFudWFsIChtYXliZSB0aGV5IGFyZSBkZXByZWNhdGVkPykKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRHcm91cCBDT01NVU5JVFlfTElTVAorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgQ09NTVVOSVRZIE5BTUUgREVGQVVMVF9aT05FCitzeW4ga2V5d29yZCBvcmFWYWx1ZQkgICAgdGNwY29tCisKKyJjb21tb24gdmFsdWVzCitzeW4ga2V5d29yZCBvcmFWYWx1ZQkgICAgeWVzIG5vIG9uIG9mZiB0cnVlIGZhbHNlIG51bGwgYWxsIG5vbmUgb2sKKyJ3b3JkICd3b3JsZCcgaXMgdXNlZCBhIGxvdC4uLgorc3luIGtleXdvcmQgb3JhTW9kaWZpZXIgICAgICAgd29ybGQKKworIm1pc2MuIGNvbW1vbiBrZXl3b3Jkcworc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIFRSQUNFX0RJUkVDVE9SWSBUUkFDRV9MRVZFTCBUUkFDRV9GSUxFCisKKworInNxbG5ldC5vcmEKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRQcmVmICBOQU1FUyBOQU1FU0NUTAorc3luIGtleXdvcmQgb3JhS2V5d29yZFByZWYgIE9TUyBTT1VSQ0UgU1FMTkVUIFROU1BJTkcKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBBVVRPTUFUSUNfSVBDIEJFUVVFQVRIX0RFVEFDSCBEQUVNT04gVFJBQ0VfTUFTSworc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIERJU0FCTEVfT09CCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgTE9HX0RJUkVDVE9SWV9DTElFTlQgTE9HX0RJUkVDVE9SWV9TRVJWRVIKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBMT0dfRklMRV9DTElFTlQgTE9HX0ZJTEVfU0VSVkVSCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgRENFIFBSRUZJWCBERUZBVUxUX0RPTUFJTiBESVJFQ1RPUllfUEFUSAorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIElOSVRJQUxfUkVUUllfVElNRU9VVCBNQVhfT1BFTl9DT05ORUNUSU9OUworc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIE1FU1NBR0VfUE9PTF9TVEFSVF9TSVpFIE5JUyBNRVRBX01BUAorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIFBBU1NXT1JEIFBSRUZFUlJFRF9TRVJWRVJTIFJFUVVFU1RfUkVUUklFUworc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIElOVEVSTkFMX0VOQ1JZUFRfUEFTU1dPUkQgSU5URVJOQUxfVVNFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgTk9fSU5JVElBTF9TRVJWRVIgTk9DT05GSVJNCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgU0VSVkVSX1BBU1NXT1JEIFRSQUNFX1VOSVFVRSBNWV9XQUxMRVQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBMT0NBVElPTiBESVJFQ1RPUlkgTUVUSE9EIE1FVEhPRF9EQVRBCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgU1FMTkVUX0FERFJFU1MKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBBVVRIRU5USUNBVElPTl9TRVJWSUNFUworc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIEFVVEhFTlRJQ0FUSU9OX0tFUkJFUk9TNV9TRVJWSUNFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgQVVUSEVOVElDQVRJT05fR1NTQVBJX1NFUlZJQ0UKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBDTElFTlRfUkVHSVNUUkFUSU9OCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgQ1JZUFRPX0NIRUNLU1VNX0NMSUVOVCBDUllQVE9fQ0hFQ0tTVU1fU0VSVkVSCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgQ1JZUFRPX0NIRUNLU1VNX1RZUEVTX0NMSUVOVCBDUllQVE9fQ0hFQ0tTVU1fVFlQRVNfU0VSVkVSCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgQ1JZUFRPX1NFRUQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBFTkNSWVBUSU9OX0NMSUVOVCBFTkNSWVBUSU9OX1NFUlZFUgorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIEVOQ1JZUFRJT05fVFlQRVNfQ0xJRU5UIEVOQ1JZUFRJT05fVFlQRVNfU0VSVkVSCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgRVhQSVJFX1RJTUUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBJREVOVElYX0ZJTkdFUlBSSU5UX0RBVEFCQVNFIElERU5USVhfRklOR0VSUFJJTlRfREFUQUJBU0VfVVNFUgorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIElERU5USVhfRklOR0VSUFJJTlRfREFUQUJBU0VfUEFTU1dPUkQgSURFTlRJWF9GSU5HRVJQUklOVF9NRVRIT0QKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBLRVJCRVJPUzVfQ0NfTkFNRSBLRVJCRVJPUzVfQ0xPQ0tTS0VXIEtFUkJFUk9TNV9DT05GCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgS0VSQkVST1M1X0tFWVRBQiBLRVJCRVJPUzVfUkVBTE1TCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgUkFESVVTX0FMVEVSTkFURSBSQURJVVNfQUxURVJOQVRFX1BPUlQgUkFESVVTX0FMVEVSTkFURV9SRVRSSUVTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgUkFESVVTX0FVVEhFTlRJQ0FUSU9OX1RJTUVPVVQgUkFESVVTX0FVVEhFTlRJQ0FUSU9OCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgUkFESVVTX0FVVEhFTlRJQ0FUSU9OX0lOVEVSRkFDRSBSQURJVVNfQVVUSEVOVElDQVRJT05fUE9SVAorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIFJBRElVU19BVVRIRU5USUNBVElPTl9SRVRSSUVTIFJBRElVU19BVVRIRU5USUNBVElPTl9USU1FT1VUCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgUkFESVVTX0NIQUxMRU5HRV9SRVNQT05TRSBSQURJVVNfU0VDUkVUIFJBRElVU19TRU5EX0FDQ09VTlRJTkcKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBTU0xfQ0xJRU5UX0FVVEhFTlRJQ0FUSU9OIFNTTF9DSVBIRVJfU1VJVEVTIFNTTF9WRVJTSU9OCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgVFJBQ0VfRElSRUNUT1JZX0NMSUVOVCBUUkFDRV9ESVJFQ1RPUllfU0VSVkVSCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgVFJBQ0VfRklMRV9DTElFTlQgVFJBQ0VfRklMRV9TRVJWRVIKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBUUkFDRV9MRVZFTF9DTElFTlQgVFJBQ0VfTEVWRUxfU0VSVkVSCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgVFJBQ0VfVU5JUVVFX0NMSUVOVAorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIFVTRV9DTUFOIFVTRV9ERURJQ0FURURfU0VSVkVSCitzeW4ga2V5d29yZCBvcmFWYWx1ZQkgICAgdXNlciBhZG1pbiBzdXBwb3J0CitzeW4ga2V5d29yZCBvcmFWYWx1ZQkgICAgYWNjZXB0IGFjY2VwdGVkIHJlamVjdCByZWplY3RlZCByZXF1ZXN0ZWQgcmVxdWlyZWQKK3N5biBrZXl3b3JkIG9yYVZhbHVlCSAgICBtZDUgcmM0XzQwIHJjNF81NiByYzRfMTI4IGRlcyBkZXNfNDAKK3N5biBrZXl3b3JkIG9yYVZhbHVlCSAgICB0bnNuYW1lcyBvbmFtZXMgaG9zdG5hbWUgZGNlIG5pcyBub3ZlbGwKK3N5biBrZXl3b3JkIG9yYVZhbHVlCSAgICBmaWxlIG9yYWNsZQorc3luIGtleXdvcmQgb3JhVmFsdWUJICAgIG9zcworc3luIGtleXdvcmQgb3JhVmFsdWUJICAgIGJlcSBuZHMgbnRzIGtlcmJlcm9zNSBzZWN1cmlkIGN5YmVyc2FmZSBpZGVudGl4IGRjZWdzc2FwaSByYWRpdXMKK3N5biBrZXl3b3JkIG9yYVZhbHVlCSAgICB1bmRldGVybWluZWQKKworInRuc25hbWVzLm9yYQorc3luIGtleXdvcmQgb3JhS2V5d29yZEdyb3VwIENPTk5FQ1RfREFUQSBGQUlMT1ZFUl9NT0RFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgRkFJTE9WRVIgTE9BRF9CQUxBTkNFIFNPVVJDRV9ST1VURSBUWVBFX09GX1NFUlZJQ0UKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBCQUNLVVAgVFlQRSBNRVRIT0QgR0xPQkFMX05BTUUgSFMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBJTlNUQU5DRV9OQU1FIFJEQl9EQVRBQkFTRSBTRFUgU0VSVkVSCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgU0VSVklDRV9OQU1FIFNFUlZJQ0VfTkFNRVMgU0lECitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgSEFORExFUl9OQU1FIEVYVFBST0NfQ09OTkVDVElPTl9EQVRBCitzeW4ga2V5d29yZCBvcmFWYWx1ZQkgICAgc2Vzc2lvbiBzZWxlY3QgYmFzaWMgcHJlY29ubmVjdCBkZWRpY2F0ZWQgc2hhcmVkCisKKyJsaXN0ZW5lci5vcmEKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRHcm91cCBTSURfTElTVCBTSURfREVTQyBQUkVTUEFXTl9MSVNUIFBSRVNQQVdOX0RFU0MKK3N5biBtYXRjaCAgIG9yYUtleXdvcmRHcm91cCAiU0lEX0xJU1RfXHcqIgorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIFBST1RPQ09MX1NUQUNLIFBSRVNFTlRBVElPTiBTRVNTSU9OCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgR0xPQkFMX0RCTkFNRSBPUkFDTEVfSE9NRSBQUk9HUkFNIFNJRF9OQU1FCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgUFJFU1BBV05fTUFYIFBPT0xfU0laRSBUSU1FT1VUCitzeW4gbWF0Y2ggICBvcmFLZXl3b3JkICAgICAgIkNPTk5FQ1RfVElNRU9VVF9cdyoiCitzeW4gbWF0Y2ggICBvcmFLZXl3b3JkICAgICAgIkxPR19ESVJFQ1RPUllfXHcqIgorc3luIG1hdGNoICAgb3JhS2V5d29yZCAgICAgICJMT0dfRklMRV9cdyoiCitzeW4gbWF0Y2ggICBvcmFLZXl3b3JkICAgICAgIlBBU1NXT1JEU19cdyoiCitzeW4gbWF0Y2ggICBvcmFLZXl3b3JkICAgICAgIlNUQVJUVVBfV0FJVF9USU1FX1x3KiIKK3N5biBtYXRjaCAgIG9yYUtleXdvcmQgICAgICAiU1RBUlRVUF9XQUlUVElNRV9cdyoiCitzeW4gbWF0Y2ggICBvcmFLZXl3b3JkICAgICAgIlRSQUNFX0RJUkVDVE9SWV9cdyoiCitzeW4gbWF0Y2ggICBvcmFLZXl3b3JkICAgICAgIlRSQUNFX0ZJTEVfXHcqIgorc3luIG1hdGNoICAgb3JhS2V5d29yZCAgICAgICJUUkFDRV9MRVZFTF9cdyoiCitzeW4gbWF0Y2ggICBvcmFLZXl3b3JkICAgICAgIlVTRV9QTFVHX0FORF9QTEFZX1x3KiIKK3N5biBrZXl3b3JkIG9yYVZhbHVlCSAgICB0dGMgZ2lvcCBucyByYXcKKworIm5hbWVzLm9yYQorc3luIGtleXdvcmQgb3JhS2V5d29yZEdyb3VwIEFERFJFU1NFUyBBRE1JTl9SRUdJT04KK3N5biBrZXl3b3JkIG9yYUtleXdvcmRHcm91cCBERUZBVUxUX0ZPUldBUkRFUlMgRk9SV0FSREVSX0xJU1QgRk9SV0FSREVSCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkR3JvdXAgRE9NQUlOX0hJTlRTIEhJTlRfREVTQyBISU5UX0xJU1QKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRHcm91cCBET01BSU5TIERPTUFJTl9MSVNUIERPTUFJTgorc3luIGtleXdvcmQgb3JhS2V5d29yZFByZWYgIE5BTUVTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgRVhQSVJFIFJFRlJFU0ggUkVHSU9OIFJFVFJZIFVTRVJJRCBWRVJTSU9OCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgQVVUSE9SSVRZX1JFUVVJUkVEIENPTk5FQ1RfVElNRU9VVAorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIEFVVE9fUkVGUkVTSF9FWFBJUkUgQVVUT19SRUZSRVNIX1JFVFJZCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgQ0FDSEVfQ0hFQ0tQT0lOVF9GSUxFIENBQ0hFX0NIRUNLUE9JTlRfSU5URVJWQUwKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBDT05GSUdfQ0hFQ0tQT0lOVF9GSUxFIERFRkFVTFRfRk9SV0FSREVSU19PTkxZCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgSElOVCBGT1JXQVJESU5HX0FWQUlMQUJMRSBGT1JXQVJESU5HX0RFU0lSRUQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBLRUVQX0RCX09QRU4KK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBMT0dfRElSRUNUT1JZIExPR19GSUxFIExPR19TVEFUU19JTlRFUlZBTCBMT0dfVU5JUVVFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgTUFYX09QRU5fQ09OTkVDVElPTlMgTUFYX1JFRk9SV0FSRFMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBNRVNTQUdFX1BPT0xfU1RBUlRfU0laRQorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIE5PX01PRElGWV9SRVFVRVNUUyBOT19SRUdJT05fREFUQUJBU0UKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQgICAgICBQQVNTV09SRCBSRUdJT05fQ0hFQ0tQT0lOVF9GSUxFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkICAgICAgUkVTRVRfU1RBVFNfSU5URVJWQUwgU0FWRV9DT05GSUdfT05fU1RPUAorc3luIGtleXdvcmQgb3JhS2V5d29yZCAgICAgIFNFUlZFUl9OQU1FIFRSQUNFX0ZVTkMgVFJBQ0VfVU5JUVVFCisKKyJjbWFuLm9yYQorc3luIGtleXdvcmQgb3JhS2V5d29yZEdyb3VwICAgQ01BTiBDTUFOX0FETUlOIENNQU5fUFJPRklMRSBQQVJBTUVURVJfTElTVAorc3luIGtleXdvcmQgb3JhS2V5d29yZEdyb3VwICAgQ01BTl9SVUxFUyBSVUxFU19MSVNUIFJVTEUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgQU5TV0VSX1RJTUVPVVQgQVVUSEVOVElDQVRJT05fTEVWRUwgTE9HX0xFVkVMCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIE1BWF9GUkVFTElTVF9CVUZGRVJTIE1BWElNVU1fQ09OTkVDVF9EQVRBIE1BWElNVU1fUkVMQVlTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFJFTEFZX1NUQVRJU1RJQ1MgU0hPV19UTlNfSU5GTyBUUkFDSU5HCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFVTRV9BU1lOQ19DQUxMIFNSQyBEU1QgU1JWIEFDVAorCisicHJvdG9jb2wub3JhCitzeW4gbWF0Y2ggb3JhS2V5d29yZAkgICAgICAiXHcqXC5FWENMVURFRF9OT0RFUyIKK3N5biBtYXRjaCBvcmFLZXl3b3JkCSAgICAgICJcdypcLklOVklURURfTk9ERVMiCitzeW4gbWF0Y2ggb3JhS2V5d29yZAkgICAgICAiXHcqXC5WQUxJRE5PREVfQ0hFQ0tJTkciCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFRDUCBOT0RFTEFZCisKKworCisKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyJpbml0Lm9yYQorCisiY29tbW9uIHZhbHVlcworc3luIGtleXdvcmQgb3JhVmFsdWUJICAgICAgbmVzdGVkX2xvb3BzIG1lcmdlIGhhc2ggdW5saW1pdGVkCisKKyJpbml0IHBhcmFtcworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBPN19ESUNUSU9OQVJZX0FDQ0VTU0lCSUxJVFkgQUxXQVlTX0FOVElfSk9JTiBBTFdBWVNfU0VNSV9KT0lOCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIEFRX1RNX1BST0NFU1NFUyBBUkNIX0lPX1NMQVZFUyBBVURJVF9GSUxFX0RFU1QgQVVESVRfVFJBSUwKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgQkFDS0dST1VORF9DT1JFX0RVTVAgQkFDS0dST1VORF9EVU1QX0RFU1QKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgQkFDS1VQX1RBUEVfSU9fU0xBVkVTIEJJVE1BUF9NRVJHRV9BUkVBX1NJWkUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgQkxBTktfVFJJTU1JTkcgQlVGRkVSX1BPT0xfS0VFUCBCVUZGRVJfUE9PTF9SRUNZQ0xFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIENPTU1JVF9QT0lOVF9TVFJFTkdUSCBDT01QQVRJQkxFIENPTlRST0xfRklMRV9SRUNPUkRfS0VFUF9USU1FCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIENPTlRST0xfRklMRVMgQ09SRV9EVU1QX0RFU1QgQ1BVX0NPVU5UCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIENSRUFURV9CSVRNQVBfQVJFQV9TSVpFIENVUlNPUl9TUEFDRV9GT1JfVElNRQorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBEQl9CTE9DS19CVUZGRVJTIERCX0JMT0NLX0NIRUNLSU5HIERCX0JMT0NLX0NIRUNLU1VNCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIERCX0JMT0NLX0xSVV9MQVRDSEVTIERCX0JMT0NLX01BWF9ESVJUWV9UQVJHRVQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgREJfQkxPQ0tfU0laRSBEQl9ET01BSU4KK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgREJfRklMRV9ESVJFQ1RfSU9fQ09VTlQgREJfRklMRV9NVUxUSUJMT0NLX1JFQURfQ09VTlQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgREJfRklMRV9OQU1FX0NPTlZFUlQgREJfRklMRV9TSU1VTFRBTkVPVVNfV1JJVEVTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIERCX0ZJTEVTIERCX05BTUUgREJfV1JJVEVSX1BST0NFU1NFUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBEQkxJTktfRU5DUllQVF9MT0dJTiBEQldSX0lPX1NMQVZFUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBERUxBWUVEX0xPR0dJTkdfQkxPQ0tfQ0xFQU5PVVRTIERJU0NSRVRFX1RSQU5TQUNUSU9OU19FTkFCTEVECitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIERJU0tfQVNZTkNIX0lPIERJU1RSSUJVVEVEX1RSQU5TQUNUSU9OUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBETUxfTE9DS1MgRU5RVUVVRV9SRVNPVVJDRVMgRU5UX0RPTUFJTl9OQU1FIEVWRU5UCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIEZBU1RfU1RBUlRfSU9fVEFSR0VUIEZBU1RfU1RBUlRfUEFSQUxMRUxfUk9MTEJBQ0sKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgRklYRURfREFURSBGUkVFWkVfREJfRk9SX0ZBU1RfSU5TVEFOQ0VfUkVDT1ZFUlkKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgR0NfREVGRVJfVElNRSBHQ19GSUxFU19UT19MT0NLUyBHQ19SRUxFQVNBQkxFX0xPQ0tTIEdDX1JPTExCQUNLX0xPQ0tTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIEdMT0JBTF9OQU1FUyBIQVNIX0FSRUFfU0laRQorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBIQVNIX0pPSU5fRU5BQkxFRCBIQVNIX01VTFRJQkxPQ0tfSU9fQ09VTlQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgSElfU0hBUkVEX01FTU9SWV9BRERSRVNTIEhTX0FVVE9SRUdJU1RFUgorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBJRklMRQorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBJTlNUQU5DRV9HUk9VUFMgSU5TVEFOQ0VfTkFNRSBJTlNUQU5DRV9OVU1CRVIKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgSkFWQV9QT09MX1NJWkUgSk9CX1FVRVVFX0lOVEVSVkFMIEpPQl9RVUVVRV9QUk9DRVNTRVMgTEFSR0VfUE9PTF9TSVpFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIExJQ0VOU0VfTUFYX1NFU1NJT05TIExJQ0VOU0VfTUFYX1VTRVJTIExJQ0VOU0VfU0VTU0lPTlNfV0FSTklORworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBMTV9MT0NLUyBMTV9QUk9DUyBMTV9SRVNTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIExPQ0FMX0xJU1RFTkVSIExPQ0tfTkFNRV9TUEFDRSBMT0NLX1NHQSBMT0NLX1NHQV9BUkVBUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBMT0dfQVJDSElWRV9CVUZGRVJfU0laRSBMT0dfQVJDSElWRV9CVUZGRVJTIExPR19BUkNISVZFX0RFU1QKK3N5biBtYXRjaCAgIG9yYUtleXdvcmQJICAgICAgIkxPR19BUkNISVZFX0RFU1RfXCgxXHwyXHwzXHw0XHw1XCkiCitzeW4gbWF0Y2ggICBvcmFLZXl3b3JkCSAgICAgICJMT0dfQVJDSElWRV9ERVNUX1NUQVRFX1woMVx8Mlx8M1x8NFx8NVwpIgorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBMT0dfQVJDSElWRV9EVVBMRVhfREVTVCBMT0dfQVJDSElWRV9GT1JNQVQgTE9HX0FSQ0hJVkVfTUFYX1BST0NFU1NFUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBMT0dfQVJDSElWRV9NSU5fU1VDQ0VFRF9ERVNUIExPR19BUkNISVZFX1NUQVJUCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIExPR19CVUZGRVIgTE9HX0NIRUNLUE9JTlRfSU5URVJWQUwgTE9HX0NIRUNLUE9JTlRfVElNRU9VVAorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBMT0dfQ0hFQ0tQT0lOVFNfVE9fQUxFUlQgTE9HX0ZJTEVfTkFNRV9DT05WRVJUCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIE1BWF9DT01NSVRfUFJPUEFHQVRJT05fREVMQVkgTUFYX0RVTVBfRklMRV9TSVpFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIE1BWF9FTkFCTEVEX1JPTEVTIE1BWF9ST0xMQkFDS19TRUdNRU5UUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBNVFNfRElTUEFUQ0hFUlMgTVRTX01BWF9ESVNQQVRDSEVSUyBNVFNfTUFYX1NFUlZFUlMgTVRTX1NFUlZFUlMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgTkxTX0NBTEVOREFSIE5MU19DT01QIE5MU19DVVJSRU5DWSBOTFNfREFURV9GT1JNQVQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgTkxTX0RBVEVfTEFOR1VBR0UgTkxTX0RVQUxfQ1VSUkVOQ1kgTkxTX0lTT19DVVJSRU5DWSBOTFNfTEFOR1VBR0UKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgTkxTX05VTUVSSUNfQ0hBUkFDVEVSUyBOTFNfU09SVCBOTFNfVEVSUklUT1JZCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIE9CSkVDVF9DQUNIRV9NQVhfU0laRV9QRVJDRU5UIE9CSkVDVF9DQUNIRV9PUFRJTUFMX1NJWkUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgT1BFTl9DVVJTT1JTIE9QRU5fTElOS1MgT1BFTl9MSU5LU19QRVJfSU5TVEFOQ0UKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgT1BTX0FETUlOSVNUUkFUSU9OX0dST1VQCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIE9QVElNSVpFUl9GRUFUVVJFU19FTkFCTEUgT1BUSU1JWkVSX0lOREVYX0NBQ0hJTkcKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgT1BUSU1JWkVSX0lOREVYX0NPU1RfQURKIE9QVElNSVpFUl9NQVhfUEVSTVVUQVRJT05TCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIE9QVElNSVpFUl9NT0RFIE9QVElNSVpFUl9QRVJDRU5UX1BBUkFMTEVMCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIE9QVElNSVpFUl9TRUFSQ0hfTElNSVQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgT1JBQ0xFX1RSQUNFX0NPTExFQ1RJT05fTkFNRSBPUkFDTEVfVFJBQ0VfQ09MTEVDVElPTl9QQVRICitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIE9SQUNMRV9UUkFDRV9DT0xMRUNUSU9OX1NJWkUgT1JBQ0xFX1RSQUNFX0VOQUJMRQorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBPUkFDTEVfVFJBQ0VfRkFDSUxJVFlfTkFNRSBPUkFDTEVfVFJBQ0VfRkFDSUxJVFlfUEFUSAorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBPU19BVVRIRU5UX1BSRUZJWCBPU19ST0xFUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBQQVJBTExFTF9BREFQVElWRV9NVUxUSV9VU0VSIFBBUkFMTEVMX0FVVE9NQVRJQ19UVU5JTkcKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgUEFSQUxMRUxfQlJPQURDQVNUX0VOQUJMRUQgUEFSQUxMRUxfRVhFQ1VUSU9OX01FU1NBR0VfU0laRQorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBQQVJBTExFTF9JTlNUQU5DRV9HUk9VUCBQQVJBTExFTF9NQVhfU0VSVkVSUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBQQVJBTExFTF9NSU5fUEVSQ0VOVCBQQVJBTExFTF9NSU5fU0VSVkVSUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBQQVJBTExFTF9TRVJWRVIgUEFSQUxMRUxfU0VSVkVSX0lOU1RBTkNFUyBQQVJBTExFTF9USFJFQURTX1BFUl9DUFUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgUEFSVElUSU9OX1ZJRVdfRU5BQkxFRCBQTFNRTF9WMl9DT01QQVRJQklMSVRZCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFBSRV9QQUdFX1NHQSBQUk9DRVNTRVMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgUVVFUllfUkVXUklURV9FTkFCTEVEIFFVRVJZX1JFV1JJVEVfSU5URUdSSVRZCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFJEQk1TX1NFUlZFUl9ETiBSRUFEX09OTFlfT1BFTl9ERUxBWUVEIFJFQ09WRVJZX1BBUkFMTEVMSVNNCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFJFTU9URV9ERVBFTkRFTkNJRVNfTU9ERSBSRU1PVEVfTE9HSU5fUEFTU1dPUkRGSUxFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFJFTU9URV9PU19BVVRIRU5UIFJFTU9URV9PU19ST0xFUworc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBSRVBMSUNBVElPTl9ERVBFTkRFTkNZX1RSQUNLSU5HCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFJFU09VUkNFX0xJTUlUIFJFU09VUkNFX01BTkFHRVJfUExBTgorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBST0xMQkFDS19TRUdNRU5UUyBST1dfTE9DS0lORyBTRVJJQUwgX1JFVVNFIFNFUlZJQ0VfTkFNRVMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgU0VTU0lPTl9DQUNIRURfQ1VSU09SUyBTRVNTSU9OX01BWF9PUEVOX0ZJTEVTIFNFU1NJT05TCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFNIQURPV19DT1JFX0RVTVAKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgU0hBUkVEX01FTU9SWV9BRERSRVNTIFNIQVJFRF9QT09MX1JFU0VSVkVEX1NJWkUgU0hBUkVEX1BPT0xfU0laRQorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBTT1JUX0FSRUFfUkVUQUlORURfU0laRSBTT1JUX0FSRUFfU0laRSBTT1JUX01VTFRJQkxPQ0tfUkVBRF9DT1VOVAorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBTUUw5Ml9TRUNVUklUWSBTUUxfVFJBQ0UgU1RBTkRCWV9BUkNISVZFX0RFU1QKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgU1RBUl9UUkFOU0ZPUk1BVElPTl9FTkFCTEVEIFRBUEVfQVNZTkNIX0lPIFRIUkVBRAorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBUSU1FRF9PU19TVEFUSVNUSUNTIFRJTUVEX1NUQVRJU1RJQ1MKK3N5biBrZXl3b3JkIG9yYUtleXdvcmQJICAgICAgVFJBTlNBQ1RJT05fQVVESVRJTkcgVFJBTlNBQ1RJT05TIFRSQU5TQUNUSU9OU19QRVJfUk9MTEJBQ0tfU0VHTUVOVAorc3luIGtleXdvcmQgb3JhS2V5d29yZAkgICAgICBVU0VfSU5ESVJFQ1RfREFUQV9CVUZGRVJTIFVTRVJfRFVNUF9ERVNUCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkCSAgICAgIFVUTF9GSUxFX0RJUgorc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgQUxMT1dfUEFSVElBTF9TTl9SRVNVTFRTIEJfVFJFRV9CSVRNQVBfUExBTlMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRPYnMgICAgIEJBQ0tVUF9ESVNLX0lPX1NMQVZFUyBDQUNIRV9TSVpFX1RIUkVTSE9MRAorc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgQ0NGX0lPX1NJWkUgQ0xFQU5VUF9ST0xMQkFDS19FTlRSSUVTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBDTE9TRV9DQUNIRURfT1BFTl9DVVJTT1JTIENPTVBBVElCTEVfTk9fUkVDT1ZFUlkKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRPYnMgICAgIENPTVBMRVhfVklFV19NRVJHSU5HCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBEQl9CTE9DS19DSEVDS1BPSU5UX0JBVENIIERCX0JMT0NLX0xSVV9FWFRFTkRFRF9TVEFUSVNUSUNTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBEQl9CTE9DS19MUlVfU1RBVElTVElDUworc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgRElTVFJJQlVURURfTE9DS19USU1FT1VUIERJU1RSSUJVVEVEX1JFQ09WRVJZX0NPTk5FQ1RJT05fSE9MRF9USU1FCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBGQVNUX0ZVTExfU0NBTl9FTkFCTEVEIEdDX0xBVENIRVMgR0NfTENLX1BST0NTCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBMQVJHRV9QT09MX01JTl9BTExPQyBMR1dSX0lPX1NMQVZFUworc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgTE9HX0JMT0NLX0NIRUNLU1VNIExPR19GSUxFUworc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgTE9HX1NJTVVMVEFORU9VU19DT1BJRVMgTE9HX1NNQUxMX0VOVFJZX01BWF9TSVpFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBNQVhfVFJBTlNBQ1RJT05fQlJBTkNIRVMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRPYnMgICAgIE1UU19MSVNURU5FUl9BRERSRVNTIE1UU19NVUxUSVBMRV9MSVNURU5FUlMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRPYnMgICAgIE1UU19SQVRFX0xPR19TSVpFIE1UU19SQVRFX1NDQUxFIE1UU19TRVJWSUNFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBPR01TX0hPTUUgT1BTX0FETUlOX0dST1VQCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBQQVJBTExFTF9ERUZBVUxUX01BWF9JTlNUQU5DRVMgUEFSQUxMRUxfTUlOX01FU1NBR0VfUE9PTAorc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgUEFSQUxMRUxfU0VSVkVSX0lETEVfVElNRSBQQVJBTExFTF9UUkFOU0FDVElPTl9SRVNPVVJDRV9USU1FT1VUCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBQVVNIX0pPSU5fUFJFRElDQVRFIFJFRFVDRV9BTEFSTSBST1dfQ0FDSEVfQ1VSU09SUworc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgU0VRVUVOQ0VfQ0FDSEVfRU5UUklFUyBTRVFVRU5DRV9DQUNIRV9IQVNIX0JVQ0tFVFMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRPYnMgICAgIFNIQVJFRF9QT09MX1JFU0VSVkVEX01JTl9BTExPQworc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgU09SVF9ESVJFQ1RfV1JJVEVTIFNPUlRfUkVBRF9GQUMgU09SVF9TUEFDRU1BUF9TSVpFCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkT2JzICAgICBTT1JUX1dSSVRFX0JVRkZFUl9TSVpFIFNPUlRfV1JJVEVfQlVGRkVSUworc3luIGtleXdvcmQgb3JhS2V5d29yZE9icyAgICAgU1BJTl9DT1VOVCBURU1QT1JBUllfVEFCTEVfTE9DS1MgVVNFX0lTTQorc3luIGtleXdvcmQgb3JhVmFsdWUJICAgICAgZGIgb3MgZnVsbCBwYXJ0aWFsIG1hbmRhdG9yeSBvcHRpb25hbCByZW9wZW4gZW5hYmxlIGRlZmVyCitzeW4ga2V5d29yZCBvcmFWYWx1ZQkgICAgICBhbHdheXMgZGVmYXVsdCBpbnRlbnQgZGlzYWJsZSBkbWwgcGxzcWwgdGVtcF9kaXNhYmxlCitzeW4gbWF0Y2ggICBvcmF2YWx1ZQkgICAgICAiQXJhYmljIEhpanJhaCIKK3N5biBtYXRjaCAgIG9yYXZhbHVlCSAgICAgICJFbmdsaXNoIEhpanJhaCIKK3N5biBtYXRjaCAgIG9yYXZhbHVlCSAgICAgICJHcmVnb3JpYW4iCitzeW4gbWF0Y2ggICBvcmF2YWx1ZQkgICAgICAiSmFwYW5lc2UgSW1wZXJpYWwiCitzeW4gbWF0Y2ggICBvcmF2YWx1ZQkgICAgICAiUGVyc2lhbiIKK3N5biBtYXRjaCAgIG9yYXZhbHVlCSAgICAgICJST0MgT2ZmaWNpYWwiCitzeW4gbWF0Y2ggICBvcmF2YWx1ZQkgICAgICAiVGhhaSBCdWRkaGEiCitzeW4gbWF0Y2ggICBvcmF2YWx1ZQkgICAgICAiOC4wLjAiCitzeW4gbWF0Y2ggICBvcmF2YWx1ZQkgICAgICAiOC4wLjMiCitzeW4gbWF0Y2ggICBvcmF2YWx1ZQkgICAgICAiOC4wLjQiCitzeW4gbWF0Y2ggICBvcmF2YWx1ZQkgICAgICAiOC4xLjMiCitzeW4gbWF0Y2ggb3JhTW9kaWZpZXIJICAgICAgImFyY2hpdmVkIGxvZyIKK3N5biBtYXRjaCBvcmFNb2RpZmllcgkgICAgICAiYmFja3VwIGNvcnJ1cHRpb24iCitzeW4gbWF0Y2ggb3JhTW9kaWZpZXIJICAgICAgImJhY2t1cCBkYXRhZmlsZSIKK3N5biBtYXRjaCBvcmFNb2RpZmllcgkgICAgICAiYmFja3VwIHBpZWNlICAiCitzeW4gbWF0Y2ggb3JhTW9kaWZpZXIJICAgICAgImJhY2t1cCByZWRvIGxvZyIKK3N5biBtYXRjaCBvcmFNb2RpZmllcgkgICAgICAiYmFja3VwIHNldCIKK3N5biBtYXRjaCBvcmFNb2RpZmllcgkgICAgICAiY29weSBjb3JydXB0aW9uIgorc3luIG1hdGNoIG9yYU1vZGlmaWVyCSAgICAgICJkYXRhZmlsZSBjb3B5Igorc3luIG1hdGNoIG9yYU1vZGlmaWVyCSAgICAgICJkZWxldGVkIG9iamVjdCIKK3N5biBtYXRjaCBvcmFNb2RpZmllcgkgICAgICAibG9naGlzdG9yeSIKK3N5biBtYXRjaCBvcmFNb2RpZmllcgkgICAgICAib2ZmbGluZSByYW5nZSIKKworInVuZG9jdW1lbnRlZCBpbml0IHBhcmFtcworInVwIHRvIDcuMiAoaW5jbHVzaXZlKQorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2xhdGNoX3NwaW5fY291bnQgX3RyYWNlX2luc3RhbmNlX3Rlcm1pbmF0aW9uCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfd2FrZXVwX3RpbWVvdXQgX2xnd3JfYXN5bmNfd3JpdGUKKyI3LjMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9zdGFuZGJ5X2xvY2tfc3BhY2VfbmFtZSBfZW5hYmxlX2RiYV9sb2NraW5nCisiOC4wLjUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9OVU1BX2luc3RhbmNlX21hcHBpbmcgX05VTUFfcG9vbF9zaXplCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfYWR2YW5jZWRfZHNzX2ZlYXR1cmVzIF9hZmZpbml0eV9vbiBfYWxsX3NoYXJlZF9kYmxpbmtzCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfYWxsb2NhdGVfY3JlYXRpb25fb3JkZXIgX2FsbG93X3Jlc2V0bG9nc19jb3JydXB0aW9uCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfYWx3YXlzX3N0YXJfdHJhbnNmb3JtYXRpb24gX2J1bXBfaGlnaHdhdGVyX21hcmtfY291bnQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9jb2x1bW5fZWxpbWluYXRpb25fb2ZmIF9jb250cm9sZmlsZV9lbnF1ZXVlX3RpbWVvdXQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9jb3JydXB0X2Jsb2Nrc19vbl9zdHVja19yZWNvdmVyeSBfY29ycnVwdGVkX3JvbGxiYWNrX3NlZ21lbnRzCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfY3JfZGVhZHRpbWUgX2N1cnNvcl9kYl9idWZmZXJzX3Bpbm5lZAorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX2RiX2Jsb2NrX2NhY2hlX2Nsb25lIF9kYl9ibG9ja19jYWNoZV9tYXAgX2RiX2Jsb2NrX2NhY2hlX3Byb3RlY3QKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kYl9ibG9ja19oYXNoX2J1Y2tldHMgX2RiX2Jsb2NrX2hpX3ByaW9yaXR5X2JhdGNoX3NpemUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kYl9ibG9ja19tYXhfY3JfZGJhIF9kYl9ibG9ja19tYXhfc2Nhbl9jbnQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kYl9ibG9ja19tZWRfcHJpb3JpdHlfYmF0Y2hfc2l6ZSBfZGJfYmxvY2tfbm9faWRsZV93cml0ZXMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kYl9ibG9ja193cml0ZV9iYXRjaCBfZGJfaGFuZGxlcyBfZGJfaGFuZGxlc19jYWNoZWQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kYl9sYXJnZV9kaXJ0eV9xdWV1ZSBfZGJfbm9fbW91bnRfbG9jaworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX2RiX3dyaXRlcl9oaXN0b2dyYW1fc3RhdGlzdGljcyBfZGJfd3JpdGVyX3NjYW5fZGVwdGgKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kYl93cml0ZXJfc2Nhbl9kZXB0aF9kZWNyZW1lbnQgX2RiX3dyaXRlcl9zY2FuX2RlcHRoX2luY3JlbWVudAorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX2Rpc2FibGVfaW5jcmVtZW50YWxfY2hlY2twb2ludHMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kaXNhYmxlX2xhdGNoX2ZyZWVfU0NOX3dyaXRlc192aWFfMzJjYXMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kaXNhYmxlX2xhdGNoX2ZyZWVfU0NOX3dyaXRlc192aWFfNjRjYXMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9kaXNhYmxlX2xvZ2dpbmcgX2Rpc2FibGVfbnRsb2dfZXZlbnRzCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfZHNzX2NhY2hlX2ZsdXNoIF9keW5hbWljX3N0YXRzX3RocmVzaG9sZAorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX2VuYWJsZV9jc2NuX2NhY2hpbmcgX2VuYWJsZV9kZWZhdWx0X2FmZmluaXR5CitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfZW5xdWV1ZV9kZWJ1Z19tdWx0aV9pbnN0YW5jZSBfZW5xdWV1ZV9oYXNoCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfZW5xdWV1ZV9oYXNoX2NoYWluX2xhdGNoZXMgX2VucXVldWVfbG9ja3MKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9maWZ0aF9zcGFyZV9wYXJhbWV0ZXIgX2ZpcnN0X3NwYXJlX3BhcmFtZXRlciBfZm91cnRoX3NwYXJlX3BhcmFtZXRlcgorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX2djX2NsYXNzX2xvY2tzIF9ncm91cGJ5X25vcHVzaGRvd25fY3V0X3JhdGlvCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfaWRsX2NvbnZlbnRpb25hbF9pbmRleF9tYWludGVuYW5jZSBfaWdub3JlX2ZhaWxlZF9lc2NhbGF0ZXMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9pbml0X3NxbF9maWxlCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfaW9fc2xhdmVzX2Rpc2FibGVkIF9pb3NsYXZlX2JhdGNoX2NvdW50IF9pb3NsYXZlX2lzc3VlX2NvdW50CitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfa2dsX2J1Y2tldF9jb3VudCBfa2dsX2xhdGNoX2NvdW50IF9rZ2xfbXVsdGlfaW5zdGFuY2VfaW52YWxpZGF0aW9uCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfa2dsX211bHRpX2luc3RhbmNlX2xvY2sgX2tnbF9tdWx0aV9pbnN0YW5jZV9waW4KK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9sYXRjaF9taXNzX3N0YXRfc2lkIF9sYXRjaF9yZWNvdmVyeV9hbGlnbm1lbnQgX2xhdGNoX3dhaXRfcG9zdGluZworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX2xtX2FzdF9vcHRpb24gX2xtX2RpcmVjdF9zZW5kcyBfbG1fZGxtZF9wcm9jcyBfbG1fZG9tYWlucyBfbG1fZ3JvdXBzCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfbG1fbm9uX2ZhdWx0X3RvbGVyYW50IF9sbV9zZW5kX2J1ZmZlcnMgX2xtX3N0YXRpc3RpY3MgX2xtX3hpZHMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9sb2dfYmxvY2tzX2R1cmluZ19iYWNrdXAgX2xvZ19idWZmZXJzX2RlYnVnIF9sb2dfY2hlY2twb2ludF9yZWNvdmVyeV9jaGVjaworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX2xvZ19kZWJ1Z19tdWx0aV9pbnN0YW5jZSBfbG9nX2VudHJ5X3ByZWJ1aWxkX3RocmVzaG9sZCBfbG9nX2lvX3NpemUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9sb2dfc3BhY2VfZXJyb3JzCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfbWF4X2V4cG9uZW50aWFsX3NsZWVwIF9tYXhfc2xlZXBfaG9sZGluZ19sYXRjaAorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX21lc3NhZ2VzIF9taW5pbXVtX2dpZ2Ffc2NuIF9tdHNfbG9hZF9jb25zdGFudHMgX25lc3RlZF9sb29wX2Z1ZGdlCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfbm9fb2JqZWN0cyBfbm9fb3JfZXhwYW5zaW9uCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfbnVtYmVyX2NhY2hlZF9hdHRyaWJ1dGVzIF9vZmZsaW5lX3JvbGxiYWNrX3NlZ21lbnRzIF9vcGVuX2ZpbGVzX2xpbWl0CitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfb3B0aW1pemVyX3VuZG9fY2hhbmdlcworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX29yYWNsZV90cmFjZV9ldmVudHMgX29yYWNsZV90cmFjZV9mYWNpbGl0eV92ZXJzaW9uCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfb3JkZXJlZF9uZXN0ZWRfbG9vcCBfcGFyYWxsZWxfc2VydmVyX3NsZWVwX3RpbWUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9wYXNzd29yZGZpbGVfZW5xdWV1ZV90aW1lb3V0IF9wZG1sX3NsYXZlc19kaWZmX3BhcnQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9wbHNxbF9kdW1wX2J1ZmZlcl9ldmVudHMgX3ByZWRpY2F0ZV9lbGltaW5hdGlvbl9lbmFibGVkCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfcHJvamVjdF92aWV3X2NvbHVtbnMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9weF9icm9hZGNhc3RfZnVkZ2VfZmFjdG9yIF9weF9icm9hZGNhc3RfdHJhY2UgX3B4X2RvcF9saW1pdF9kZWdyZWUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9weF9kb3BfbGltaXRfdGhyZXNob2xkIF9weF9reGZyX2dyYW51bGVfYWxsb2NhdGlvbiBfcHhfa3hpYl90cmFjaW5nCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfcmVsZWFzZV9pbnNlcnRfdGhyZXNob2xkIF9yZXVzZV9pbmRleF9sb29wCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfcm9sbGJhY2tfc2VnbWVudF9jb3VudCBfcm9sbGJhY2tfc2VnbWVudF9pbml0aWFsCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfcm93X2NhY2hlX2J1ZmZlcl9zaXplIF9yb3dfY2FjaGVfaW5zdGFuY2VfbG9ja3MKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF9zYXZlX2VzY2FsYXRlcyBfc2NuX3NjaGVtZQorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX3NlY29uZF9zcGFyZV9wYXJhbWV0ZXIgX3Nlc3Npb25faWRsZV9iaXRfbGF0Y2hlcworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX3NoYXJlZF9zZXNzaW9uX3NvcnRfZmV0Y2hfYnVmZmVyIF9zaW5nbGVfcHJvY2Vzcworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX3NtYWxsX3RhYmxlX3RocmVzaG9sZCBfc3FsX2Nvbm5lY3RfY2FwYWJpbGl0eV9vdmVycmlkZQorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX3NxbF9jb25uZWN0X2NhcGFiaWxpdHlfdGFibGUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmQgICAgIF90ZXN0X3BhcmFtXzEgX3Rlc3RfcGFyYW1fMiBfdGVzdF9wYXJhbV8zCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kICAgICBfdGhpcmRfc3BhcmVfcGFyYW1ldGVyIF90cV9kdW1wX3BlcmlvZAorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX3RyYWNlX2FyY2hpdmVfZGVzdCBfdHJhY2VfYXJjaGl2ZV9zdGFydCBfdHJhY2VfYmxvY2tfc2l6ZQorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX3RyYWNlX2J1ZmZlcnNfcGVyX3Byb2Nlc3MgX3RyYWNlX2VuYWJsZWQgX3RyYWNlX2V2ZW50cworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX3RyYWNlX2ZpbGVfc2l6ZSBfdHJhY2VfZmlsZXNfcHVibGljIF90cmFjZV9mbHVzaGluZyBfdHJhY2Vfd3JpdGVfYmF0Y2hfc2l6ZQorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZCAgICAgX3VwY29udmVydF9mcm9tX2FzdCBfdXNlX3ZlY3Rvcl9wb3N0IF93YWl0X2Zvcl9zeW5jIF93YWxrX2luc2VydF90aHJlc2hvbGQKKyJkdW5ubyB3aGljaCB2ZXJzaW9uOyBtYXkgYmUgOC4xLngsIG1heSBiZSBvYnNvbGV0ZWQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9hcmNoX2lvX3NsYXZlcyBfYXZlcmFnZV9kaXJ0aWVzX2hhbGZfbGlmZSBfYl90cmVlX2JpdG1hcF9wbGFucworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2JhY2t1cF9kaXNrX2lvX3NsYXZlcyBfYmFja3VwX2lvX3Bvb2xfc2l6ZQorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2NsZWFudXBfcm9sbGJhY2tfZW50cmllcyBfY2xvc2VfY2FjaGVkX29wZW5fY3Vyc29ycworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2NvbXBhdGlibGVfbm9fcmVjb3ZlcnkgX2NvbXBsZXhfdmlld19tZXJnaW5nCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfY3B1X3RvX2lvIF9jcl9zZXJ2ZXIKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9kYl9hZ2luZ19jb29sX2NvdW50IF9kYl9hZ2luZ19mcmVlemVfY3IgX2RiX2FnaW5nX2hvdF9jcml0ZXJpYQorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2RiX2FnaW5nX3N0YXlfY291bnQgX2RiX2FnaW5nX3RvdWNoX3RpbWUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9kYl9wZXJjZW50X2hvdF9kZWZhdWx0IF9kYl9wZXJjZW50X2hvdF9rZWVwIF9kYl9wZXJjZW50X2hvdF9yZWN5Y2xlCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfZGJfd3JpdGVyX2NodW5rX3dyaXRlcyBfZGJfd3JpdGVyX21heF93cml0ZXMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9kYndyX2FzeW5jX2lvIF9kYndyX3RyYWNpbmcKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9kZWZlcl9tdWx0aXBsZV93YWl0ZXJzIF9kaXNjcmV0ZV90cmFuc2FjdGlvbl9lbmFibGVkCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfZGlzdHJpYnV0ZWRfbG9ja190aW1lb3V0IF9kaXN0cmlidXRlZF9yZWNvdmVyeSBfZGlzdHJpYml0ZWRfcmVjb3ZlcnlfCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfZG9tYWluX2luZGV4X2JhdGNoX3NpemUgX2RvbWFpbl9pbmRleF9kbWxfYmF0Y2hfc2l6ZQorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2VuYWJsZV9OVU1BX29wdGltaXphdGlvbiBfZW5hYmxlX2Jsb2NrX2xldmVsX3RyYW5zYWN0aW9uX3JlY292ZXJ5CitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfZW5hYmxlX2xpc3RfaW8gX2VuYWJsZV9tdWx0aXBsZV9zYW1wbGluZworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2ZhaXJuZXNzX3RyZXNob2xkIF9mYXN0X2Z1bGxfc2Nhbl9lbmFibGVkIF9mb3JlZ3JvdW5kX2xvY2tzCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfZnVsbF9wd2lzZV9qb2luX2VuYWJsZWQgX2djX2xhdGNoZXMgX2djX2xja19wcm9jcworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2hpZ2hfc2VydmVyX3RyZXNob2xkIF9pbmRleF9wcmVmZXRjaF9mYWN0b3IgX2tjbF9kZWJ1Zworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX2trZmlfdHJhY2UgX2xhcmdlX3Bvb2xfbWluX2FsbG9jIF9sYXp5X2ZyZWVsaXN0X2Nsb3NlIF9sZWZ0X25lc3RlZF9sb29wc19yYW5kb20KK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9sZ3dyX2FzeW5jX2lvIF9sZ3dyX2lvX3NsYXZlcyBfbG9ja19zZ2FfYXJlYXMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9sb2dfYXJjaGl2ZV9idWZmZXJfc2l6ZSBfbG9nX2FyY2hpdmVfYnVmZmVycyBfbG9nX3NpbXVsdGFuZW91c19jb3BpZXMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9sb3dfc2VydmVyX3RyZXNob2xkIF9tYXhfdHJhbnNhY3Rpb25fYnJhbmNoZXMKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9tdHNfcmF0ZV9sb2dfc2l6ZSBfbXRzX3JhdGVfc2NhbGUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9tdmlld19jb3N0X3Jld3JpdGUgX212aWV3X3Jld3JpdGVfMgorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX25jbWJfcmVhZGFoZWFkX2VuYWJsZWQgX25jbWJfcmVhZGFoZWFkX3RyYWNpbmcKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9vZ21zX2hvbWUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9wYXJhbGxlbF9hZGFwdGl2ZV9tYXhfdXNlcnMgX3BhcmFsbGVsX2RlZmF1bHRfbWF4X2luc3RhbmNlcworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX3BhcmFsbGVsX2V4ZWN1dGlvbl9tZXNzYWdlX2FsaWduIF9wYXJhbGxlbF9mYWtlX2NsYXNzX3BjdAorc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX3BhcmFsbGVsX2xvYWRfYmFsX3VuaXQgX3BhcmFsbGVsX2xvYWRfYmFsYW5jaW5nCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfcGFyYWxsZWxfbWluX21lc3NhZ2VfcG9vbCBfcGFyYWxsZWxfcmVjb3Zlcnlfc3RvcGF0CitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfcGFyYWxsZWxfc2VydmVyX2lkbGVfdGltZSBfcGFyYWxsZWxpc21fY29zdF9mdWRnZV9mYWN0b3IKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9wYXJ0aWFsX3B3aXNlX2pvaW5fZW5hYmxlZCBfcGRtbF9zZXBhcmF0ZV9naW0gX3B1c2hfam9pbl9wcmVkaWNhdGUKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9weF9ncmFudWxlX3NpemUgX3B4X2luZGV4X3NhbXBsaW5nIF9weF9sb2FkX3B1Ymxpc2hfaW50ZXJ2YWwKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF9weF9tYXhfZ3JhbnVsZXNfcGVyX3NsYXZlIF9weF9taW5fZ3JhbnVsZXNfcGVyX3NsYXZlIF9weF9ub19zdGVhbGluZworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX3Jvd19jYWNoZV9jdXJzb3JzIF9zZXJpYWxfZGlyZWN0X3JlYWQgX3NoYXJlZF9wb29sX3Jlc2VydmVkX21pbl9hbGxvYworc3luIGtleXdvcmQgb3JhS2V5d29yZFVuZE9icyAgX3NvcnRfc3BhY2VfZm9yX3dyaXRlX2J1ZmZlcnMgX3NwaW5fY291bnQgX3N5c3RlbV90cmlnX2VuYWJsZWQKK3N5biBrZXl3b3JkIG9yYUtleXdvcmRVbmRPYnMgIF90cmFjZV9idWZmZXJfZmx1c2hlcyBfdHJhY2VfY3JfYnVmZmVyX2NyZWF0ZXMgX3RyYWNlX211bHRpX2Jsb2NrX3JlYWRzCitzeW4ga2V5d29yZCBvcmFLZXl3b3JkVW5kT2JzICBfdHJhbnNhY3Rpb25fcmVjb3Zlcnlfc2VydmVycyBfdXNlX2lzbSBfeWllbGRfY2hlY2tfaW50ZXJ2YWwKKworCitzeW4gY2x1c3RlciBvcmFBbGwgYWRkPW9yYUtleXdvcmQsb3JhS2V5d29yZEdyb3VwLG9yYUtleXdvcmRQcmVmLG9yYUtleXdvcmRPYnMsb3JhS2V5d29yZFVuZCxvcmFLZXl3b3JkVW5kT2JzCitzeW4gY2x1c3RlciBvcmFBbGwgYWRkPW9yYVZhbHVlLG9yYU1vZGlmaWVyLG9yYVN0cmluZyxvcmFTcGVjaWFsLG9yYUNvbW1lbnQKKworIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIiBoaWdobGlnaHRpbmcKKworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfb3JhX3N5bl9pbml0cyIpCisKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfb3JhX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIG9yYUtleXdvcmQJICBTdGF0ZW1lbnQJCSJ1c3VhbCBrZXl3b3JkcworICBIaUxpbmsgb3JhS2V5d29yZEdyb3VwICBUeXBlCQkJImtleXdvcmRzIHdoaWNoIGdyb3VwIG90aGVyIGtleXdvcmRzCisgIEhpTGluayBvcmFLZXl3b3JkUHJlZiAgIG9yYUtleXdvcmRHcm91cAkia2V5d29yZHMgd2hpY2ggYWN0IGFzIHByZWZpeGVzCisgIEhpTGluayBvcmFLZXl3b3JkT2JzCSAgVG9kbwkJCSJvYnNvbGV0ZSBrZXl3b3JkcworICBIaUxpbmsgb3JhS2V5d29yZFVuZAkgIFByZVByb2MJCSJ1bmRvY3VtZW50ZWQga2V5d29yZHMKKyAgSGlMaW5rIG9yYUtleXdvcmRVbmRPYnMgb3JhS2V5d29yZE9icwkJInVuZG9jdW1lbnRlZCBvYnNvbGV0ZSBrZXl3b3JkcworICBIaUxpbmsgb3JhVmFsdWUJICBJZGVudGlmaWVyCQkidmFsdWVzLCBsaWtlIHRydWUgb3IgZmFsc2UKKyAgSGlMaW5rIG9yYU1vZGlmaWVyCSAgb3JhVmFsdWUJCSJtb2RpZmllcyB2YWx1ZXMKKyAgSGlMaW5rIG9yYVN0cmluZwkgIFN0cmluZwkJInN0cmluZ3MKKworICBIaUxpbmsgb3JhU3BlY2lhbAkgIFNwZWNpYWwJCSJzcGVjaWFsIGNoYXJhY3RlcnMKKyAgSGlMaW5rIG9yYUVycm9yCSAgRXJyb3IJCQkiZXJyb3JzCisgIEhpTGluayBvcmFQYXJlbkVycm9yCSAgb3JhRXJyb3IJCSJlcnJvcnMgY2F1c2VkIGJ5IG1pc21hdGNoaW5nIHBhcmFudGhlc2VzCisKKyAgSGlMaW5rIG9yYUNvbW1lbnQJICBDb21tZW50CQkiY29tbWVudHMKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIm9yYSIKKworaWYgbWFpbl9zeW50YXggPT0gJ29yYScKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wYXBwLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BhcHAudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkODRkODAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wYXBwLnZpbQpAQCAtMCwwICsxLDkyIEBACisiIFZpbSBzeW50YXggZmlsZSBmb3IgdGhlICJwYXBwIiBmaWxlIGZvcm1hdCAoX3BfZXJsIF9hcHBfbGljYXRpb24pCisiCisiIExhbmd1YWdlOglwYXBwCisiIE1haW50YWluZXI6CU1hcmMgTGVobWFubiA8cGNnQGdvb2YuY29tPgorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKKyIgRmlsZW5hbWVzOiAgICAqLnBhcHAgKi5weG1sICoucHhzbAorIiBVUkw6CQlodHRwOi8vcGFwcC5wbGFuOS5kZS8KKworIiBZb3UgY2FuIHNldCB0aGUgInBhcHBfaW5jbHVkZV9odG1sIiB2YXJpYWJsZSBzbyB0aGF0IGh0bWwgd2lsbCBiZQorIiByZW5kZXJlZCBhcyBzdWNoIGluc2lkZSBwaHRtbCBzZWN0aW9ucyAoaW4gY2FzZSB5b3UgYWN0dWFsbHkgcHV0IGh0bWwKKyIgdGhlcmUgLSBwYXBwIGRvZXMgbm90IHJlcXVpcmUgdGhhdCkuIEFsc28sIHJlbmRlcmluZyBodG1sIHRlbmRzIHRvIGtlZXAKKyIgdGhlIGNsdXR0ZXIgaGlnaCBvbiB0aGUgc2NyZWVuIC0gbWl4aW5nIHRocmVlIGxhbmd1YWdlcyBpcyBkaWZmaWN1bHQKKyIgZW5vdWdoKCEpLiBQUzogaXQgaXMgYWxzbyBzbG93LgorCisiIHBvZCBpcywgYnR3LCBhbGxvd2VkIGV2ZXJ5d2hlcmUsIHdoaWNoIGlzIGFjdHVhbGx5IHdyb25nIDooCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBzb3VyY2UgaXMgYmFzaWNhbGx5IHhtbCwgd2l0aCBpbmNsdWRlZCBodG1sICh0aGlzIGlzIGNvbW1vbikgYW5kIHBlcmwgYml0cworaWYgdmVyc2lvbiA8IDYwMAorICBzbyA8c2ZpbGU+OnA6aC94bWwudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC94bWwudmltCitlbmRpZgordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCitpZiBleGlzdHMoInBhcHBfaW5jbHVkZV9odG1sIikKKyAgaWYgdmVyc2lvbiA8IDYwMAorICAgIHN5biBpbmNsdWRlIEBQQXBwSHRtbCA8c2ZpbGU+OnA6aC9odG1sLnZpbQorICBlbHNlCisgICAgc3luIGluY2x1ZGUgQFBBcHBIdG1sIHN5bnRheC9odG1sLnZpbQorICBlbmRpZgorICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CitlbmRpZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBpbmNsdWRlIEBQQXBwUGVybCA8c2ZpbGU+OnA6aC9wZXJsLnZpbQorZWxzZQorICBzeW4gaW5jbHVkZSBAUEFwcFBlcmwgc3ludGF4L3BlcmwudmltCitlbmRpZgorCitpZiB2OnZlcnNpb24gPj0gNjAwCisgICBzeW4gY2x1c3RlciB4bWxGb2xkQ2x1c3RlciBhZGQ9cGFwcF9wZXJsLHBhcHBfeHBlcmwscGFwcF9waHRtbCxwYXBwX3B4bWwscGFwcF9wZXJsUE9ECitlbmRpZgorCisiIHByZXByb2Nlc3NvciBjb21tYW5kcworc3luIHJlZ2lvbiBwYXBwX3ByZXAgbWF0Y2hncm91cD1wYXBwX3ByZXAgc3RhcnQ9Il4jXHMqXChpZlx8ZWxzaWZcKSIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPUBwZXJsRXhwciBjb250YWluZWQKK3N5biBtYXRjaCBwYXBwX3ByZXAgL14jXHMqXChlbHNlXHxlbmRpZlx8Pz9cKS4qJC8gY29udGFpbmVkCisiIHRyYW5zbGF0aW9uIGVudHJpZXMKK3N5biByZWdpb24gcGFwcF9nZXR0ZXh0IHN0YXJ0PS9fXyIvIGVuZD0vIi8gY29udGFpbmVkIGNvbnRhaW5zPUBwYXBwX3BlcmxJbnRlcnBEUQorc3luIGNsdXN0ZXIgUEFwcEh0bWwgYWRkPXBhcHBfZ2V0dGV4dCxwYXBwX3ByZXAKKworIiBhZGQgc3BlY2lhbCwgcGFpcmVkIHhwZXJsLCBwZXJsIGFuZCBwaHRtbCB0YWdzCitzeW4gcmVnaW9uIHBhcHBfcGVybCAgbWF0Y2hncm91cD14bWxUYWcgc3RhcnQ9IjxwZXJsPiIgIGVuZD0iPC9wZXJsPiIgIGNvbnRhaW5zPXBhcHBfQ0RBVEFwLEBQQXBwUGVybCBrZWVwZW5kCitzeW4gcmVnaW9uIHBhcHBfeHBlcmwgbWF0Y2hncm91cD14bWxUYWcgc3RhcnQ9Ijx4cGVybD4iIGVuZD0iPC94cGVybD4iIGNvbnRhaW5zPXBhcHBfQ0RBVEFwLEBQQXBwUGVybCBrZWVwZW5kCitzeW4gcmVnaW9uIHBhcHBfcGh0bWwgbWF0Y2hncm91cD14bWxUYWcgc3RhcnQ9IjxwaHRtbD4iIGVuZD0iPC9waHRtbD4iIGNvbnRhaW5zPXBhcHBfQ0RBVEFoLHBhcHBfcGhfcGVybCxwYXBwX3BoX2h0bWwscGFwcF9waF9oaW50LEBQQXBwSHRtbCBrZWVwZW5kCitzeW4gcmVnaW9uIHBhcHBfcHhtbCAgbWF0Y2hncm91cD14bWxUYWcgc3RhcnQ9IjxweG1sPiIJZW5kPSI8L3B4bWw+IiAgY29udGFpbnM9cGFwcF9DREFUQXgscGFwcF9waF9wZXJsLHBhcHBfcGhfeG1sLHBhcHBfcGhfeGludAkgICAgIGtlZXBlbmQKK3N5biByZWdpb24gcGFwcF9wZXJsUE9EIHN0YXJ0PSJePVthLXpdIiBlbmQ9Il49Y3V0IiBjb250YWlucz1AUG9kLHBlcmxUb2RvIGtlZXBlbmQKKworIiBjZGF0YSBzZWN0aW9ucworc3luIHJlZ2lvbiBwYXBwX0NEQVRBcCBtYXRjaGdyb3VwPXhtbENkYXRhRGVjbCBzdGFydD0iPCFcW0NEQVRBXFsiIGVuZD0iXF1cXT4iIGNvbnRhaW5zPUBQQXBwUGVybAkJCQkJIGNvbnRhaW5lZCBrZWVwZW5kCitzeW4gcmVnaW9uIHBhcHBfQ0RBVEFoIG1hdGNoZ3JvdXA9eG1sQ2RhdGFEZWNsIHN0YXJ0PSI8IVxbQ0RBVEFcWyIgZW5kPSJcXVxdPiIgY29udGFpbnM9cGFwcF9waF9wZXJsLHBhcHBfcGhfaHRtbCxwYXBwX3BoX2hpbnQsQFBBcHBIdG1sIGNvbnRhaW5lZCBrZWVwZW5kCitzeW4gcmVnaW9uIHBhcHBfQ0RBVEF4IG1hdGNoZ3JvdXA9eG1sQ2RhdGFEZWNsIHN0YXJ0PSI8IVxbQ0RBVEFcWyIgZW5kPSJcXVxdPiIgY29udGFpbnM9cGFwcF9waF9wZXJsLHBhcHBfcGhfeG1sLHBhcHBfcGhfeGludAkJIGNvbnRhaW5lZCBrZWVwZW5kCisKK3N5biByZWdpb24gcGFwcF9waF9wZXJsIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8Wzo/XSIgZW5kPSJbOj9dPiJtZT1lLTIgbmV4dGdyb3VwPXBhcHBfcGhfaHRtbCBjb250YWlucz1AUEFwcFBlcmwJCSAgICAgY29udGFpbmVkIGtlZXBlbmQKK3N5biByZWdpb24gcGFwcF9waF9odG1sIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI6PiIgICAgZW5kPSI8Wzo/XSJtZT1lLTIgbmV4dGdyb3VwPXBhcHBfcGhfcGVybCBjb250YWlucz1AUEFwcEh0bWwJCSAgICAgY29udGFpbmVkIGtlZXBlbmQKK3N5biByZWdpb24gcGFwcF9waF9oaW50IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI/PiIgICAgZW5kPSI8Wzo/XSJtZT1lLTIgbmV4dGdyb3VwPXBhcHBfcGhfcGVybCBjb250YWlucz1AcGVybEludGVycERRLEBQQXBwSHRtbCBjb250YWluZWQga2VlcGVuZAorc3luIHJlZ2lvbiBwYXBwX3BoX3htbAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iOj4iICAgIGVuZD0iPFs6P10ibWU9ZS0yIG5leHRncm91cD1wYXBwX3BoX3BlcmwgY29udGFpbnM9CQkJICAgICBjb250YWluZWQga2VlcGVuZAorc3luIHJlZ2lvbiBwYXBwX3BoX3hpbnQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Ij8+IiAgICBlbmQ9IjxbOj9dIm1lPWUtMiBuZXh0Z3JvdXA9cGFwcF9waF9wZXJsIGNvbnRhaW5zPUBwZXJsSW50ZXJwRFEJICAgICBjb250YWluZWQga2VlcGVuZAorCisiIHN5bmNocm9uaXphdGlvbiBpcyBob3Jyb3JzIQorc3luIHN5bmMgY2xlYXIKK3N5biBzeW5jIG1hdGNoIHBhcHBTeW5jIGdyb3VwaGVyZSBwYXBwX0NEQVRBaCAiPC9cKHBlcmxcfHhwZXJsXHxwaHRtbFx8bWFjcm9cfG1vZHVsZVwpPiIKK3N5biBzeW5jIG1hdGNoIHBhcHBTeW5jIGdyb3VwaGVyZSBwYXBwX0NEQVRBaCAiXiMgKlwoaWZcfGVsc2lmXHxlbHNlXHxlbmRpZlwpIgorc3luIHN5bmMgbWF0Y2ggcGFwcFN5bmMgZ3JvdXBoZXJlIHBhcHBfQ0RBVEFoICI8L1wodHJcfHRkXHx0YWJsZVx8aHJcfGgxXHxoMlx8aDNcKT4iCitzeW4gc3luYyBtYXRjaCBwYXBwU3luYyBncm91cGhlcmUgTk9ORQkgICAgICAiPC9cPVwobW9kdWxlXHxzdGF0ZVx8bWFjcm9cKT4iCisKK3N5biBzeW5jIG1heGxpbmVzPTMwMAorc3luIHN5bmMgbWlubGluZXM9NQorCisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKworaGkgZGVmIGxpbmsgcGFwcF9wcmVwCQlwcmVDb25kaXQKK2hpIGRlZiBsaW5rIHBhcHBfZ2V0dGV4dAlTdHJpbmcKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGFwcCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Bhc2NhbC52aW0gYi9ydW50aW1lL3N5bnRheC9wYXNjYWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiYTE5OGYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wYXNjYWwudmltCkBAIC0wLDAgKzEsMzU3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUGFzY2FsCisiIFZlcnNpb246IDIuNworIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKKyIgTWFpbnRhaW5lcjogIFhhdmllciBDculndXQgPHhhdmllci5jcmVndXRAZW5zZWVpaHQuZnI+CisiIFByZXZpb3VzIE1haW50YWluZXI6CU1hcmlvIEV1c2ViaW8gPGJpb0BkcS5mY3QudW5sLnB0PgorCisiIENvbnRyaWJ1dG9yczogVGltIENoYXNlIDx0Y2hhc2VAY3NjLmNvbT4sIFN0YXMgR3JhYm9pcyA8c3RzaUB2dHJhaWxzLmNvbT4sCisiCU1hemVuIE5FSUZFUiA8bWF6ZW4ubmVpZmVyLjIwMDFAc3VwYWVyby5mcj4sCisiCUtsYXVzIEhhc3QgPEtsYXVzLkhhc3RAYXJjb3IubmV0PgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworc3luIGNhc2UgaWdub3JlCitzeW4gc3luYyBsaW5lcz0yNTAKKworc3luIGtleXdvcmQgcGFzY2FsQm9vbGVhbgl0cnVlIGZhbHNlCitzeW4ga2V5d29yZCBwYXNjYWxDb25kaXRpb25hbAlpZiBlbHNlIHRoZW4KK3N5biBrZXl3b3JkIHBhc2NhbENvbnN0YW50CW5pbCBtYXhpbnQKK3N5biBrZXl3b3JkIHBhc2NhbExhYmVsCQljYXNlIGdvdG8gbGFiZWwKK3N5biBrZXl3b3JkIHBhc2NhbE9wZXJhdG9yCWFuZCBkaXYgZG93bnRvIGluIG1vZCBub3Qgb2Ygb3IgcGFja2VkIHdpdGgKK3N5biBrZXl3b3JkIHBhc2NhbFJlcGVhdAlkbyBmb3IgZG8gcmVwZWF0IHdoaWxlIHRvIHVudGlsCitzeW4ga2V5d29yZCBwYXNjYWxTdGF0ZW1lbnQJcHJvY2VkdXJlIGZ1bmN0aW9uCitzeW4ga2V5d29yZCBwYXNjYWxTdGF0ZW1lbnQJcHJvZ3JhbSBiZWdpbiBlbmQgY29uc3QgdmFyIHR5cGUKK3N5biBrZXl3b3JkIHBhc2NhbFN0cnVjdAlyZWNvcmQKK3N5biBrZXl3b3JkIHBhc2NhbFR5cGUJCWFycmF5IGJvb2xlYW4gY2hhciBpbnRlZ2VyIGZpbGUgcG9pbnRlciByZWFsIHNldAorc3luIGtleXdvcmQgcGFzY2FsVHlwZQkJc3RyaW5nIHRleHQgdmFyaWFudAorCisKK3N5biBrZXl3b3JkIHBhc2NhbFRvZG8gY29udGFpbmVkCVRPRE8KKworCisiIFN0cmluZworaWYgIWV4aXN0cygicGFzY2FsX29uZV9saW5lX3N0cmluZyIpCisgIHN5biByZWdpb24gIHBhc2NhbFN0cmluZyBtYXRjaGdyb3VwPXBhc2NhbFN0cmluZyBzdGFydD0rJysgZW5kPSsnKyBjb250YWlucz1wYXNjYWxTdHJpbmdFc2NhcGUKKyAgaWYgZXhpc3RzKCJwYXNjYWxfZ3BjIikKKyAgICBzeW4gcmVnaW9uICBwYXNjYWxTdHJpbmcgbWF0Y2hncm91cD1wYXNjYWxTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisgY29udGFpbnM9cGFzY2FsU3RyaW5nRXNjYXBlR1BDCisgIGVsc2UKKyAgICBzeW4gcmVnaW9uICBwYXNjYWxTdHJpbmdFcnJvciBtYXRjaGdyb3VwPXBhc2NhbFN0cmluZ0Vycm9yIHN0YXJ0PSsiKyBlbmQ9KyIrIGNvbnRhaW5zPXBhc2NhbFN0cmluZ0VzY2FwZQorICBlbmRpZgorZWxzZQorICAid3Jvbmcgc3RyaW5ncworICBzeW4gcmVnaW9uICBwYXNjYWxTdHJpbmdFcnJvciBtYXRjaGdyb3VwPXBhc2NhbFN0cmluZ0Vycm9yIHN0YXJ0PSsnKyBlbmQ9KycrIGVuZD0rJCsgY29udGFpbnM9cGFzY2FsU3RyaW5nRXNjYXBlCisgIGlmIGV4aXN0cygicGFzY2FsX2dwYyIpCisgICAgc3luIHJlZ2lvbiAgcGFzY2FsU3RyaW5nRXJyb3IgbWF0Y2hncm91cD1wYXNjYWxTdHJpbmdFcnJvciBzdGFydD0rIisgZW5kPSsiKyBlbmQ9KyQrIGNvbnRhaW5zPXBhc2NhbFN0cmluZ0VzY2FwZUdQQworICBlbHNlCisgICAgc3luIHJlZ2lvbiAgcGFzY2FsU3RyaW5nRXJyb3IgbWF0Y2hncm91cD1wYXNjYWxTdHJpbmdFcnJvciBzdGFydD0rIisgZW5kPSsiKyBlbmQ9KyQrIGNvbnRhaW5zPXBhc2NhbFN0cmluZ0VzY2FwZQorICBlbmRpZgorCisgICJyaWdodCBzdHJpbmdzCisgIHN5biByZWdpb24gIHBhc2NhbFN0cmluZyBtYXRjaGdyb3VwPXBhc2NhbFN0cmluZyBzdGFydD0rJysgZW5kPSsnKyBvbmVsaW5lIGNvbnRhaW5zPXBhc2NhbFN0cmluZ0VzY2FwZQorICAiIFRvIHNlZSB0aGUgc3RhcnQgYW5kIGVuZCBvZiBzdHJpbmdzOgorICAiIHN5biByZWdpb24gIHBhc2NhbFN0cmluZyBtYXRjaGdyb3VwPXBhc2NhbFN0cmluZ0Vycm9yIHN0YXJ0PSsnKyBlbmQ9KycrIG9uZWxpbmUgY29udGFpbnM9cGFzY2FsU3RyaW5nRXNjYXBlCisgIGlmIGV4aXN0cygicGFzY2FsX2dwYyIpCisgICAgc3luIHJlZ2lvbiAgcGFzY2FsU3RyaW5nIG1hdGNoZ3JvdXA9cGFzY2FsU3RyaW5nIHN0YXJ0PSsiKyBlbmQ9KyIrIG9uZWxpbmUgY29udGFpbnM9cGFzY2FsU3RyaW5nRXNjYXBlR1BDCisgIGVsc2UKKyAgICBzeW4gcmVnaW9uICBwYXNjYWxTdHJpbmdFcnJvciBtYXRjaGdyb3VwPXBhc2NhbFN0cmluZ0Vycm9yIHN0YXJ0PSsiKyBlbmQ9KyIrIG9uZWxpbmUgY29udGFpbnM9cGFzY2FsU3RyaW5nRXNjYXBlCisgIGVuZGlmCitlbmQKK3N5biBtYXRjaCAgIHBhc2NhbFN0cmluZ0VzY2FwZQkJY29udGFpbmVkICInJyIKK3N5biBtYXRjaCAgIHBhc2NhbFN0cmluZ0VzY2FwZUdQQwljb250YWluZWQgJyIiJworCisKKyIgc3luIG1hdGNoICAgcGFzY2FsSWRlbnRpZmllcgkJIlw8W2EtekEtWl9dW2EtekEtWjAtOV9dKlw+IgorCisKK2lmIGV4aXN0cygicGFzY2FsX3N5bWJvbF9vcGVyYXRvciIpCisgIHN5biBtYXRjaCAgIHBhc2NhbFN5bWJvbE9wZXJhdG9yICAgICAgIlsrXC0vKj1dIgorICBzeW4gbWF0Y2ggICBwYXNjYWxTeW1ib2xPcGVyYXRvciAgICAgICJbPD5dPVw9IgorICBzeW4gbWF0Y2ggICBwYXNjYWxTeW1ib2xPcGVyYXRvciAgICAgICI8PiIKKyAgc3luIG1hdGNoICAgcGFzY2FsU3ltYm9sT3BlcmF0b3IgICAgICAiOj0iCisgIHN5biBtYXRjaCAgIHBhc2NhbFN5bWJvbE9wZXJhdG9yICAgICAgIlsoKV0iCisgIHN5biBtYXRjaCAgIHBhc2NhbFN5bWJvbE9wZXJhdG9yICAgICAgIlwuXC4iCisgIHN5biBtYXRjaCAgIHBhc2NhbFN5bWJvbE9wZXJhdG9yICAgICAgICJbXF4uXSIKKyAgc3luIG1hdGNoICAgcGFzY2FsTWF0cml4RGVsaW1pdGVyCSJbXVtdIgorICAiaWYgeW91IHByZWZlciB5b3UgY2FuIGhpZ2hsaWdodCB0aGUgcmFuZ2UKKyAgInN5biBtYXRjaCAgcGFzY2FsTWF0cml4RGVsaW1pdGVyCSJbXGRcK1wuXC5cZFwrXSIKK2VuZGlmCisKK3N5biBtYXRjaCAgcGFzY2FsTnVtYmVyCQkiLVw9XDxcZFwrXD4iCitzeW4gbWF0Y2ggIHBhc2NhbEZsb2F0CQkiLVw9XDxcZFwrXC5cZFwrXD4iCitzeW4gbWF0Y2ggIHBhc2NhbEZsb2F0CQkiLVw9XDxcZFwrXC5cZFwrW2VFXS1cPVxkXCtcPiIKK3N5biBtYXRjaCAgcGFzY2FsSGV4TnVtYmVyCSJcJFswLTlhLWZBLUZdXCtcPiIKKworaWYgZXhpc3RzKCJwYXNjYWxfbm9fdGFicyIpCisgIHN5biBtYXRjaCBwYXNjYWxTaG93VGFiICJcdCIKK2VuZGlmCisKK3N5biByZWdpb24gcGFzY2FsQ29tbWVudAlzdGFydD0iKFwqIiAgZW5kPSJcKikiIGNvbnRhaW5zPXBhc2NhbFRvZG8KK3N5biByZWdpb24gcGFzY2FsQ29tbWVudAlzdGFydD0ieyIgIGVuZD0ifSIgY29udGFpbnM9cGFzY2FsVG9kbworCisKK2lmICFleGlzdHMoInBhc2NhbF9ub19mdW5jdGlvbnMiKQorICAiIGFycmF5IGZ1bmN0aW9ucworICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglwYWNrIHVucGFjaworCisgICIgbWVtb3J5IGZ1bmN0aW9uCisgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCURpc3Bvc2UgTmV3CisKKyAgIiBtYXRoIGZ1bmN0aW9ucworICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglBYnMgQXJjdGFuIENvcyBFeHAgTG4gU2luIFNxciBTcXJ0CisKKyAgIiBmaWxlIGZ1bmN0aW9ucworICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglFb2YgRW9sbiBXcml0ZSBXcml0ZWxuCisgIHN5biBrZXl3b3JkIHBhc2NhbFByZWRlZmluZWQJSW5wdXQgT3V0cHV0CisKKyAgaWYgZXhpc3RzKCJwYXNjYWxfdHJhZGl0aW9uYWwiKQorICAgICIgVGhlc2UgZnVuY3Rpb25zIGRvIG5vdCBzZWVtIHRvIGJlIGRlZmluZWQgaW4gVHVyYm8gUGFzY2FsCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JR2V0IFBhZ2UgUHV0CisgIGVuZGlmCisKKyAgIiBvcmRpbmFsIGZ1bmN0aW9ucworICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglPZGQgUHJlZCBTdWNjCisKKyAgIiB0cmFuc2ZlcnQgZnVuY3Rpb25zCisgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUNociBPcmQgUm91bmQgVHJ1bmMKK2VuZGlmCisKKworaWYgIWV4aXN0cygicGFzY2FsX3RyYWRpdGlvbmFsIikKKworICBzeW4ga2V5d29yZCBwYXNjYWxTdGF0ZW1lbnQJY29uc3RydWN0b3IgZGVzdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbiBpbmhlcml0ZWQKKyAgc3luIGtleXdvcmQgcGFzY2FsU3RhdGVtZW50CWludGVyZmFjZSB1bml0IHVzZXMKKyAgc3luIGtleXdvcmQgcGFzY2FsTW9kaWZpZXIJYWJzb2x1dGUgYXNzZW1ibGVyIGV4dGVybmFsIGZhciBmb3J3YXJkIGlubGluZQorICBzeW4ga2V5d29yZCBwYXNjYWxNb2RpZmllcglpbnRlcnJ1cHQgbmVhciB2aXJ0dWFsCisgIHN5biBrZXl3b3JkIHBhc2NhbEFjY2VzCXByaXZhdGUgcHVibGljCisgIHN5biBrZXl3b3JkIHBhc2NhbFN0cnVjdAlvYmplY3QKKyAgc3luIGtleXdvcmQgcGFzY2FsT3BlcmF0b3IJc2hsIHNociB4b3IKKworICBzeW4gcmVnaW9uIHBhc2NhbFByZVByb2MJc3RhcnQ9IihcKlwkIiAgZW5kPSJcKikiIGNvbnRhaW5zPXBhc2NhbFRvZG8KKyAgc3luIHJlZ2lvbiBwYXNjYWxQcmVQcm9jCXN0YXJ0PSJ7XCQiICBlbmQ9In0iCisKKyAgc3luIHJlZ2lvbiAgcGFzY2FsQXNtCQltYXRjaGdyb3VwPXBhc2NhbEFzbUtleSBzdGFydD0iXDxhc21cPiIgZW5kPSJcPGVuZFw+IiBjb250YWlucz1wYXNjYWxDb21tZW50LHBhc2NhbFByZVByb2MKKworICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCVNob3J0SW50IExvbmdJbnQgQnl0ZSBXb3JkCisgIHN5biBrZXl3b3JkIHBhc2NhbFR5cGUJQnl0ZUJvb2wgV29yZEJvb2wgTG9uZ0Jvb2wKKyAgc3luIGtleXdvcmQgcGFzY2FsVHlwZQlDYXJkaW5hbCBMb25nV29yZAorICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCVNpbmdsZSBEb3VibGUgRXh0ZW5kZWQgQ29tcAorICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCVBDaGFyCisKKworICBpZiAhZXhpc3RzICgicGFzY2FsX2ZwYyIpCisgICAgc3luIGtleXdvcmQgcGFzY2FsUHJlZGVmaW5lZAlSZXN1bHQKKyAgZW5kaWYKKworICBpZiBleGlzdHMoInBhc2NhbF9mcGMiKQorICAgIHN5biByZWdpb24gcGFzY2FsQ29tbWVudAlzdGFydD0iLy8iIGVuZD0iJCIKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxTdGF0ZW1lbnQJZmFpbCBvdGhlcndpc2Ugb3BlcmF0b3IKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxEaXJlY3RpdmUJcG9wc3RhY2sKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxQcmVkZWZpbmVkIHNlbGYKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCVNob3J0U3RyaW5nIEFuc2lTdHJpbmcgV2lkZVN0cmluZworICBlbmRpZgorCisgIGlmIGV4aXN0cygicGFzY2FsX2dwYyIpCisgICAgc3luIGtleXdvcmQgcGFzY2FsVHlwZQlTbWFsbEludAorICAgIHN5biBrZXl3b3JkIHBhc2NhbFR5cGUJQW5zaUNoYXIKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCVBBbnNpQ2hhcgorICBlbmRpZgorCisgIGlmIGV4aXN0cygicGFzY2FsX2RlbHBoaSIpCisgICAgc3luIHJlZ2lvbiBwYXNjYWxDb21tZW50CXN0YXJ0PSIvLyIgIGVuZD0iJCIgY29udGFpbnM9cGFzY2FsVG9kbworICAgIHN5biBrZXl3b3JkIHBhc2NhbFR5cGUJU21hbGxJbnQgSW50NjQKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCVJlYWw0OCBDdXJyZW5jeQorICAgIHN5biBrZXl3b3JkIHBhc2NhbFR5cGUJQW5zaUNoYXIgV2lkZUNoYXIKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCVNob3J0U3RyaW5nIEFuc2lTdHJpbmcgV2lkZVN0cmluZworICAgIHN5biBrZXl3b3JkIHBhc2NhbFR5cGUJUEFuc2lDaGFyIFBXaWRlQ2hhcgorICAgIHN5biBtYXRjaCAgcGFzY2FsRmxvYXQJIi1cPVw8XGRcK1wuXGRcK1tkRF0tXD1cZFwrXD4iCisgICAgc3luIG1hdGNoICBwYXNjYWxTdHJpbmdFc2NhcGUJY29udGFpbmVkICIjWzEyXVswLTldXD1bMC05XVw9IgorICAgIHN5biBrZXl3b3JkIHBhc2NhbFN0cnVjdAljbGFzcyBkaXNwaW50ZXJmYWNlCisgICAgc3luIGtleXdvcmQgcGFzY2FsRXhjZXB0aW9uCXRyeSBleGNlcHQgcmFpc2UgYXQgb24gZmluYWxseQorICAgIHN5biBrZXl3b3JkIHBhc2NhbFN0YXRlbWVudAlvdXQKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxTdGF0ZW1lbnQJbGlicmFyeSBwYWNrYWdlCisgICAgc3luIGtleXdvcmQgcGFzY2FsU3RhdGVtZW50CWluaXRpYWxpemF0aW9uIGZpbmFsaXphdGlvbiB1c2VzIGV4cG9ydHMKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxTdGF0ZW1lbnQJcHJvcGVydHkgb3V0IHJlc291cmNlc3RyaW5nIHRocmVhZHZhcgorICAgIHN5biBrZXl3b3JkIHBhc2NhbE1vZGlmaWVyCWNvbnRhaW5zCisgICAgc3luIGtleXdvcmQgcGFzY2FsTW9kaWZpZXIJb3ZlcnJpZGRlbiByZWludHJvZHVjZSBhYnN0cmFjdAorICAgIHN5biBrZXl3b3JkIHBhc2NhbE1vZGlmaWVyCW92ZXJyaWRlIGV4cG9ydCBkeW5hbWljIG5hbWUgbWVzc2FnZQorICAgIHN5biBrZXl3b3JkIHBhc2NhbE1vZGlmaWVyCWRpc3BpZCBpbmRleCBzdG9yZWQgZGVmYXVsdCBub2RlZmF1bHQgcmVhZG9ubHkKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxNb2RpZmllcgl3cml0ZW9ubHkgaW1wbGVtZW50cyBvdmVybG9hZCByZXF1aXJlcyByZXNpZGVudAorICAgIHN5biBrZXl3b3JkIHBhc2NhbEFjY2VzCXByb3RlY3RlZCBwdWJsaXNoZWQgYXV0b21hdGVkCisgICAgc3luIGtleXdvcmQgcGFzY2FsRGlyZWN0aXZlCXJlZ2lzdGVyIHBhc2NhbCBjdmFyIGNkZWNsIHN0ZGNhbGwgc2FmZWNhbGwKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxPcGVyYXRvcglhcyBpcworICBlbmRpZgorCisgIGlmIGV4aXN0cygicGFzY2FsX25vX2Z1bmN0aW9ucyIpCisgICAgInN5biBrZXl3b3JkIHBhc2NhbE1vZGlmaWVyCXJlYWQgd3JpdGUKKyAgICAibWF5IGNvbmZ1c2Ugd2l0aCBSZWFkIGFuZCBXcml0ZSBmdW5jdGlvbnMuICBOb3QgZWFzeSB0byBoYW5kbGUuCisgIGVsc2UKKyAgICAiIGNvbnRyb2wgZmxvdyBmdW5jdGlvbnMKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglCcmVhayBDb250aW51ZSBFeGl0IEhhbHQgUnVuRXJyb3IKKworICAgICIgb3JkaW5hbCBmdW5jdGlvbnMKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglEZWMgSW5jIEhpZ2ggTG93CisKKyAgICAiIG1hdGggZnVuY3Rpb25zCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JRnJhYyBJbnQgUGkKKworICAgICIgc3RyaW5nIGZ1bmN0aW9ucworICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUNvbmNhdCBDb3B5IERlbGV0ZSBJbnNlcnQgTGVuZ3RoIFBvcyBTdHIgVmFsCisKKyAgICAiIG1lbW9yeSBmdW5jdGlvbgorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUZyZWVNZW0gR2V0TWVtIE1heEF2YWlsIE1lbUF2YWlsCisKKyAgICAiIHBvaW50ZXIgYW5kIGFkZHJlc3MgZnVuY3Rpb25zCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JQWRkciBBc3NpZ25lZCBDU2VnIERTZWcgT2ZzIFB0ciBTZWcgU1B0ciBTU2VnCisKKyAgICAiIG1pc2MgZnVuY3Rpb25zCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JRXhjbHVkZSBGaWxsQ2hhciBIaSBJbmNsdWRlIExvIE1vdmUgUGFyYW1Db3VudAorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCVBhcmFtU3RyIFJhbmRvbSBSYW5kb21pemUgU2l6ZU9mIFN3YXAgVHlwZU9mCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JVXBDYXNlCisKKyAgICAiIHByZWRlZmluZWQgdmFyaWFibGVzCisgICAgc3luIGtleXdvcmQgcGFzY2FsUHJlZGVmaW5lZCBFcnJvckFkZHIgRXhpdENvZGUgRXhpdFByb2MgRmlsZU1vZGUgRnJlZUxpc3QKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxQcmVkZWZpbmVkIEZyZWVaZXJvIEhlYXBFbmQgSGVhcEVycm9yIEhlYXBPcmcgSGVhcFB0cgorICAgIHN5biBrZXl3b3JkIHBhc2NhbFByZWRlZmluZWQgSW5PdXRSZXMgT3ZyQ29kZUxpc3QgT3ZyRGVidWdQdHIgT3ZyRG9zSGFuZGxlCisgICAgc3luIGtleXdvcmQgcGFzY2FsUHJlZGVmaW5lZCBPdnJFbXNIYW5kbGUgT3ZySGVhcEVuZCBPdnJIZWFwT3JnIE92ckhlYXBQdHIKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxQcmVkZWZpbmVkIE92ckhlYXBTaXplIE92ckxvYWRMaXN0IFByZWZpeFNlZyBSYW5kU2VlZAorICAgIHN5biBrZXl3b3JkIHBhc2NhbFByZWRlZmluZWQgU2F2ZUludDAwIFNhdmVJbnQwMiBTYXZlSW50MUIgU2F2ZUludDIxCisgICAgc3luIGtleXdvcmQgcGFzY2FsUHJlZGVmaW5lZCBTYXZlSW50MjMgU2F2ZUludDI0IFNhdmVJbnQzNCBTYXZlSW50MzUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxQcmVkZWZpbmVkIFNhdmVJbnQzNiBTYXZlSW50MzcgU2F2ZUludDM4IFNhdmVJbnQzOQorICAgIHN5biBrZXl3b3JkIHBhc2NhbFByZWRlZmluZWQgU2F2ZUludDNBIFNhdmVJbnQzQiBTYXZlSW50M0MgU2F2ZUludDNECisgICAgc3luIGtleXdvcmQgcGFzY2FsUHJlZGVmaW5lZCBTYXZlSW50M0UgU2F2ZUludDNGIFNhdmVJbnQ3NSBTZWdBMDAwIFNlZ0IwMDAKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxQcmVkZWZpbmVkIFNlZ0I4MDAgU2VsZWN0b3JJbmMgU3RhY2tMaW1pdCBUZXN0ODA4NworCisgICAgIiBmaWxlIGZ1bmN0aW9ucworICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUFwcGVuZCBBc3NpZ24gQmxvY2tSZWFkIEJsb2NrV3JpdGUgQ2hEaXIgQ2xvc2UKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglFcmFzZSBGaWxlUG9zIEZpbGVTaXplIEZsdXNoIEdldERpciBJT1Jlc3VsdAorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCU1rRGlyIFJlYWQgUmVhZGxuIFJlbmFtZSBSZXNldCBSZXdyaXRlIFJtRGlyCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JU2VlayBTZWVrRW9mIFNlZWtFb2xuIFNldFRleHRCdWYgVHJ1bmNhdGUKKworICAgICIgY3J0IHVuaXQKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglBc3NpZ25DcnQgQ2xyRW9sIENsclNjciBEZWxheSBEZWxMaW5lIEdvdG9YWQorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUhpZ2hWaWRlbyBJbnNMaW5lIEtleVByZXNzZWQgTG93VmlkZW8gTm9ybVZpZGVvCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JTm9Tb3VuZCBSZWFkS2V5IFNvdW5kIFRleHRCYWNrZ3JvdW5kIFRleHRDb2xvcgorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCVRleHRNb2RlIFdoZXJlWCBXaGVyZVkgV2luZG93CisgICAgc3luIGtleXdvcmQgcGFzY2FsUHJlZGVmaW5lZCBDaGVja0JyZWFrIENoZWNrRU9GIENoZWNrU25vdyBEaXJlY3RWaWRlbworICAgIHN5biBrZXl3b3JkIHBhc2NhbFByZWRlZmluZWQgTGFzdE1vZGUgVGV4dEF0dHIgV2luZE1pbiBXaW5kTWF4CisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24gQmlnQ3Vyc29yIEN1cnNvck9mZiBDdXJzb3JPbgorICAgIHN5biBrZXl3b3JkIHBhc2NhbENvbnN0YW50IEJsYWNrIEJsdWUgR3JlZW4gQ3lhbiBSZWQgTWFnZW50YSBCcm93bgorICAgIHN5biBrZXl3b3JkIHBhc2NhbENvbnN0YW50IExpZ2h0R3JheSBEYXJrR3JheSBMaWdodEJsdWUgTGlnaHRHcmVlbgorICAgIHN5biBrZXl3b3JkIHBhc2NhbENvbnN0YW50IExpZ2h0Q3lhbiBMaWdodFJlZCBMaWdodE1hZ2VudGEgWWVsbG93IFdoaXRlCisgICAgc3luIGtleXdvcmQgcGFzY2FsQ29uc3RhbnQgQmxpbmsgU2NyZWVuV2lkdGggU2NyZWVuSGVpZ2h0IGJ3NDAKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxDb25zdGFudCBjbzQwIGJ3ODAgY284MCBtb25vCisgICAgc3luIGtleXdvcmQgcGFzY2FsUHJlZGVmaW5lZCBUZXh0Q2hhcgorCisgICAgIiBET1MgdW5pdAorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUFkZERpc2sgRGlza0ZyZWUgRGlza1NpemUgRG9zRXhpdENvZGUgRG9zVmVyc2lvbgorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUVudkNvdW50IEVudlN0ciBFeGVjIEV4cGFuZCBGaW5kQ2xvc2UgRmluZEZpcnN0CisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JRmluZE5leHQgRlNlYXJjaCBGU3BsaXQgR2V0Q0JyZWFrIEdldERhdGUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglHZXRFbnYgR2V0RkF0dHIgR2V0RlRpbWUgR2V0SW50VmVjIEdldFRpbWUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglHZXRWZXJpZnkgSW50ciBLZWVwIE1TRG9zIFBhY2tUaW1lIFNldENCcmVhaworICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCVNldERhdGUgU2V0RkF0dHIgU2V0RlRpbWUgU2V0SW50VmVjIFNldFRpbWUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglTZXRWZXJpZnkgU3dhcFZlY3RvcnMgVW5QYWNrVGltZQorICAgIHN5biBrZXl3b3JkIHBhc2NhbENvbnN0YW50CUZDYXJyeSBGUGFyaXR5IEZBdXhpbGlhcnkgRlplcm8gRlNpZ24gRk92ZXJmbG93CisgICAgc3luIGtleXdvcmQgcGFzY2FsQ29uc3RhbnQJSGlkZGVuIFN5c2ZpbGUgVm9sdW1lSWQgRGlyZWN0b3J5IEFyY2hpdmUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxDb25zdGFudAlBbnlGaWxlIGZtQ2xvc2VkIGZtSW5wdXQgZm1PdXRwdXQgZm1Jbm91dAorICAgIHN5biBrZXl3b3JkIHBhc2NhbENvbnN0YW50CVRleHRSZWNOYW1lTGVuZ3RoIFRleHRSZWNCdWZTaXplCisgICAgc3luIGtleXdvcmQgcGFzY2FsVHlwZQlDb21TdHIgUGF0aFN0ciBEaXJTdHIgTmFtZVN0ciBFeHRTdHIgU2VhcmNoUmVjCisgICAgc3luIGtleXdvcmQgcGFzY2FsVHlwZQlGaWxlUmVjIFRleHRCdWYgVGV4dFJlYyBSZWdpc3RlcnMgRGF0ZVRpbWUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxQcmVkZWZpbmVkIERvc0Vycm9yCisKKyAgICAiR3JhcGggVW5pdAorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUFyYyBCYXIgQmFyM0QgQ2lyY2xlIENsZWFyRGV2aWNlIENsZWFyVmlld1BvcnQKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglDbG9zZUdyYXBoIERldGVjdEdyYXBoIERyYXdQb2x5IEVsbGlwc2UKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglGaWxsRWxsaXBzZSBGaWxsUG9seSBGbG9vZEZpbGwgR2V0QXJjQ29vcmRzCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JR2V0QXNwZWN0UmF0aW8gR2V0QmtDb2xvciBHZXRDb2xvcgorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUdldERlZmF1bHRQYWxldHRlIEdldERyaXZlck5hbWUgR2V0RmlsbFBhdHRlcm4KKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglHZXRGaWxsU2V0dGluZ3MgR2V0R3JhcGhNb2RlIEdldEltYWdlCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JR2V0TGluZVNldHRpbmdzIEdldE1heENvbG9yIEdldE1heE1vZGUgR2V0TWF4WAorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUdldE1heFkgR2V0TW9kZU5hbWUgR2V0TW9kZVJhbmdlIEdldFBhbGV0dGUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglHZXRQYWxldHRlU2l6ZSBHZXRQaXhlbCBHZXRUZXh0U2V0dGluZ3MKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglHZXRWaWV3U2V0dGluZ3MgR2V0WCBHZXRZIEdyYXBoRGVmYXVsdHMKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglHcmFwaEVycm9yTXNnIEdyYXBoUmVzdWx0IEltYWdlU2l6ZSBJbml0R3JhcGgKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglJbnN0YWxsVXNlckRyaXZlciBJbnN0YWxsVXNlckZvbnQgTGluZSBMaW5lUmVsCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JTGluZVRvIE1vdmVSZWwgTW92ZVRvIE91dFRleHQgT3V0VGV4dFhZCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JUGllU2xpY2UgUHV0SW1hZ2UgUHV0UGl4ZWwgUmVjdGFuZ2xlCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JUmVnaXN0ZXJCR0lEcml2ZXIgUmVnaXN0ZXJCR0lGb250CisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JUmVzdG9yZUNSVE1vZGUgU2VjdG9yIFNldEFjdGl2ZVBhZ2UKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglTZXRBbGxQYWxsZXR0ZSBTZXRBc3BlY3RSYXRpbyBTZXRCa0NvbG9yCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JU2V0Q29sb3IgU2V0RmlsbFBhdHRlcm4gU2V0RmlsbFN0eWxlCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JU2V0R3JhcGhCdWZTaXplIFNldEdyYXBoTW9kZSBTZXRMaW5lU3R5bGUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglTZXRQYWxldHRlIFNldFJHQlBhbGV0dGUgU2V0VGV4dEp1c3RpZnkKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglTZXRUZXh0U3R5bGUgU2V0VXNlckNoYXJTaXplIFNldFZpZXdQb3J0CisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JU2V0VmlzdWFsUGFnZSBTZXRXcml0ZU1vZGUgVGV4dEhlaWdodCBUZXh0V2lkdGgKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCUFyY0Nvb3Jkc1R5cGUgRmlsbFBhdHRlcm5UeXBlIEZpbGxTZXR0aW5nc1R5cGUKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCUxpbmVTZXR0aW5nc1R5cGUgUGFsZXR0ZVR5cGUgUG9pbnRUeXBlCisgICAgc3luIGtleXdvcmQgcGFzY2FsVHlwZQlUZXh0U2V0dGluZ3NUeXBlIFZpZXdQb3J0VHlwZQorCisgICAgIiBzdHJpbmcgZnVuY3Rpb25zCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JU3RyQWxsb2MgU3RyQnVmU2l6ZSBTdHJDYXQgU3RyQ29tcCBTdHJDb3B5CisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JU3RyRGlzcG9zZSBTdHJFQ29weSBTdHJFbmQgU3RyRm10IFN0cklDb21wCisgICAgc3luIGtleXdvcmQgcGFzY2FsRnVuY3Rpb24JU3RyTENhdCBTdHJMQ29tcCBTdHJMQ29weSBTdHJMZW4gU3RyTEZtdAorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCVN0ckxJQ29tcCBTdHJMb3dlciBTdHJNb3ZlIFN0ck5ldyBTdHJQYXMKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglTdHJQQ29weSBTdHJQTENvcHkgU3RyUG9zIFN0clJTY2FuIFN0clNjYW4KKyAgICBzeW4ga2V5d29yZCBwYXNjYWxGdW5jdGlvbglTdHJVcHBlcgorICBlbmRpZgorCitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wYXNjYWxfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcGFzY2FsX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHBhc2NhbEFjY2VzCQlwYXNjYWxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBhc2NhbEJvb2xlYW4JCUJvb2xlYW4KKyAgSGlMaW5rIHBhc2NhbENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHBhc2NhbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBwYXNjYWxDb25zdGFudAkJQ29uc3RhbnQKKyAgSGlMaW5rIHBhc2NhbERlbGltaXRlcglJZGVudGlmaWVyCisgIEhpTGluayBwYXNjYWxEaXJlY3RpdmUJcGFzY2FsU3RhdGVtZW50CisgIEhpTGluayBwYXNjYWxFeGNlcHRpb24JRXhjZXB0aW9uCisgIEhpTGluayBwYXNjYWxGbG9hdAkJRmxvYXQKKyAgSGlMaW5rIHBhc2NhbEZ1bmN0aW9uCQlGdW5jdGlvbgorICBIaUxpbmsgcGFzY2FsTGFiZWwJCUxhYmVsCisgIEhpTGluayBwYXNjYWxNYXRyaXhEZWxpbWl0ZXIJSWRlbnRpZmllcgorICBIaUxpbmsgcGFzY2FsTW9kaWZpZXIJCVR5cGUKKyAgSGlMaW5rIHBhc2NhbE51bWJlcgkJTnVtYmVyCisgIEhpTGluayBwYXNjYWxPcGVyYXRvcgkJT3BlcmF0b3IKKyAgSGlMaW5rIHBhc2NhbFByZWRlZmluZWQJcGFzY2FsU3RhdGVtZW50CisgIEhpTGluayBwYXNjYWxQcmVQcm9jCQlQcmVQcm9jCisgIEhpTGluayBwYXNjYWxSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgcGFzY2FsU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgcGFzY2FsU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHBhc2NhbFN0cmluZ0VzY2FwZQlTcGVjaWFsCisgIEhpTGluayBwYXNjYWxTdHJpbmdFc2NhcGVHUEMJU3BlY2lhbAorICBIaUxpbmsgcGFzY2FsU3RyaW5nRXJyb3IJRXJyb3IKKyAgSGlMaW5rIHBhc2NhbFN0cnVjdAkJcGFzY2FsU3RhdGVtZW50CisgIEhpTGluayBwYXNjYWxTeW1ib2xPcGVyYXRvcglwYXNjYWxPcGVyYXRvcgorICBIaUxpbmsgcGFzY2FsVG9kbwkJVG9kbworICBIaUxpbmsgcGFzY2FsVHlwZQkJVHlwZQorICBIaUxpbmsgcGFzY2FsVW5jbGFzc2lmaWVkCXBhc2NhbFN0YXRlbWVudAorICAiICBIaUxpbmsgcGFzY2FsQXNtCQlBc3NlbWJsZXIKKyAgSGlMaW5rIHBhc2NhbEVycm9yCQlFcnJvcgorICBIaUxpbmsgcGFzY2FsQXNtS2V5CQlwYXNjYWxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBhc2NhbFNob3dUYWIJCUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGFzY2FsIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wY2FwLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BjYXAudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZDBkNDIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wY2FwLnZpbQpAQCAtMCwwICsxLDY1IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBDb25maWcgZmlsZToJcHJpbnRjYXAKKyIgTWFpbnRhaW5lcjoJTGVubmFydCBTY2h1bHR6IDxMZW5uYXJ0LlNjaHVsdHpAZWNtd2YuaW50PiAoZGVmdW5jdCkKKyIJCU1vZGlmaWVkIGJ5IEJyYW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworImRlZmluZSBrZXl3b3JkcworaWYgdmVyc2lvbiA8IDYwMAorICBzZXQgaXNrPUAsNDYtNTcsXywtLCMsPSwxOTItMjU1CitlbHNlCisgIHNldGxvY2FsIGlzaz1ALDQ2LTU3LF8sLSwjLD0sMTkyLTI1NQorZW5kaWYKKworImZpcnN0IGFsbCB0aGUgYmFkIGd1eXMKK3N5biBtYXRjaCBwY2FwQmFkICdeLlwrJCcJICAgICAgICJkZWZpbmUgYW55IGxpbmUgYXMgYmFkCitzeW4gbWF0Y2ggcGNhcEJhZHdvcmQgJ1xrXCsnIGNvbnRhaW5lZCAiZGVmaW5lIGFueSBzZXF1ZW5jZSBvZiBrZXl3b3JkcyBhcyBiYWQKK3N5biBtYXRjaCBwY2FwQmFkd29yZCAnOicgY29udGFpbmVkICAgICJkZWZpbmUgYW55IHNpbmdsZSA6IGFzIGJhZAorc3luIG1hdGNoIHBjYXBCYWR3b3JkICdcXCcgY29udGFpbmVkICAgImRlZmluZSBhbnkgc2luZ2xlIFwgYXMgYmFkCisidGhlbiB0aGUgZ29vZCBib3lzCisiIEJvb2xlYW4ga2V5d29yZHMKK3N5biBtYXRjaCBwY2FwS2V5d29yZCBjb250YWluZWQgJzpcKGZvXHxobFx8aWNcfHJzXHxyd1x8c2JcfHNjXHxzZlx8c2hcKScKKyIgTnVtZXJpYyBLZXl3b3Jkcworc3luIG1hdGNoIHBjYXBLZXl3b3JkIGNvbnRhaW5lZCAnOlwoYnJcfGR1XHxmY1x8ZnNcfG14XHxwY1x8cGxcfHB3XHxweFx8cHlcfHhjXHx4c1wpI1xkXCsnCisiIFN0cmluZyBLZXl3b3Jkcworc3luIG1hdGNoIHBjYXBLZXl3b3JkIGNvbnRhaW5lZCAnOlwoYWZcfGNmXHxkZlx8ZmZcfGdmXHxpZlx8bGZcfGxvXHxscFx8bmRcfG5mXHxvZlx8cmZcfHJnXHxybVx8cnBcfHNkXHxzdFx8dGZcfHRyXHx2ZlwpPVxrKicKKyIgYWxsb3cgY29udGludWF0aW9uCitzeW4gbWF0Y2ggcGNhcEVuZCAnOlxcJCcgY29udGFpbmVkCisiCitzeW4gbWF0Y2ggcGNhcERlZmluZUxhc3QgJ15ccy5cKyQnIGNvbnRhaW5zPXBjYXBCYWR3b3JkLHBjYXBLZXl3b3JkCitzeW4gbWF0Y2ggcGNhcERlZmluZSAnXlxzLlwrJCcgY29udGFpbnM9cGNhcEJhZHdvcmQscGNhcEtleXdvcmQscGNhcEVuZAorc3luIG1hdGNoIHBjYXBIZWFkZXIgJ15ca1tefF1cK1wofFxrW158XVwrXCkqOlxcJCcKK3N5biBtYXRjaCBwY2FwQ29tbWVudCAiIy4qJCIKKworc3luIHN5bmMgbWlubGluZXM9NTAKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wY2FwX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3BjYXBfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcGNhcEJhZCBXYXJuaW5nTXNnCisgIEhpTGluayBwY2FwQmFkd29yZCBXYXJuaW5nTXNnCisgIEhpTGluayBwY2FwQ29tbWVudCBDb21tZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBjYXAiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wY2N0cy52aW0gYi9ydW50aW1lL3N5bnRheC9wY2N0cy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY1MjY4MQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BjY3RzLnZpbQpAQCAtMCwwICsxLDEwNiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVBDQ1RTCisiIE1haW50YWluZXI6CVNjb3R0IEJpZ2hhbSA8ZHNiQGNzLmR1a2UuZWR1PgorIiBMYXN0IENoYW5nZToJMTAgQXVnIDE5OTkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFJlYWQgdGhlIEMrKyBzeW50YXggdG8gc3RhcnQgd2l0aAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW4gaW5jbHVkZSBAY3BwVG9wTGV2ZWwgPHNmaWxlPjpwOmgvY3BwLnZpbQorZWxzZQorICBzeW4gaW5jbHVkZSBAY3BwVG9wTGV2ZWwgc3ludGF4L2NwcC52aW0KK2VuZGlmCisKK3N5biByZWdpb24gcGNjdHNBY3Rpb24gbWF0Y2hncm91cD1wY2N0c0RlbGltIHN0YXJ0PSI8PCIgZW5kPSI+Pj9cPSIgY29udGFpbnM9QGNwcFRvcExldmVsLHBjY3RzUnVsZVJlZgorCitzeW4gcmVnaW9uIHBjY3RzQXJnQmxvY2sgbWF0Y2hncm91cD1wY2N0c0RlbGltIHN0YXJ0PSJcKD5ccypcKVw9XFsiIGVuZD0iXF0iIGNvbnRhaW5zPUBjcHBUb3BMZXZlbCxwY2N0c1J1bGVSZWYKKworc3luIHJlZ2lvbiBwY2N0c1N0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXBjY3RzU3BlY2lhbENoYXIKK3N5biBtYXRjaCAgcGNjdHNTcGVjaWFsQ2hhciAiXFxcXFx8XFxcIiIgY29udGFpbmVkCisKK3N5biByZWdpb24gcGNjdHNDb21tZW50IHN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1jVG9kbworc3luIG1hdGNoICBwY2N0c0NvbW1lbnQgIi8vLiokIiBjb250YWlucz1jVG9kbworCitzeW4gcmVnaW9uIHBjY3RzRGlyZWN0aXZlIHN0YXJ0PSJeXHMqI2hlYWRlclxzXCs8PCIgZW5kPSI+PiIgY29udGFpbnM9cGNjdHNBY3Rpb24ga2VlcGVuZAorc3luIG1hdGNoICBwY2N0c0RpcmVjdGl2ZSAiXlxzKiNwYXJzZXJcPi4qJCIgY29udGFpbnM9cGNjdHNTdHJpbmcscGNjdHNDb21tZW50CitzeW4gbWF0Y2ggIHBjY3RzRGlyZWN0aXZlICJeXHMqI3Rva2RlZnNcPi4qJCIgY29udGFpbnM9cGNjdHNTdHJpbmcscGNjdHNDb21tZW50CitzeW4gbWF0Y2ggIHBjY3RzRGlyZWN0aXZlICJeXHMqI3Rva2VuXD4uKiQiIGNvbnRhaW5zPXBjY3RzU3RyaW5nLHBjY3RzQWN0aW9uLHBjY3RzVG9rZW5OYW1lLHBjY3RzQ29tbWVudAorc3luIHJlZ2lvbiBwY2N0c0RpcmVjdGl2ZSBzdGFydD0iXlxzKiN0b2tjbGFzc1xzXCtbQS1aXVxpKlxzXCt7IiBlbmQ9In0iIGNvbnRhaW5zPXBjY3RzU3RyaW5nLHBjY3RzVG9rZW5OYW1lCitzeW4gbWF0Y2ggIHBjY3RzRGlyZWN0aXZlICJeXHMqI2xleGNsYXNzXD4uKiQiIGNvbnRhaW5zPXBjY3RzVG9rZW5OYW1lCitzeW4gcmVnaW9uIHBjY3RzRGlyZWN0aXZlIHN0YXJ0PSJeXHMqI2VycmNsYXNzXHNcK1tee11cK1xzXCt7IiBlbmQ9In0iIGNvbnRhaW5zPXBjY3RzU3RyaW5nLHBjY3RzVG9rZW5OYW1lCitzeW4gbWF0Y2ggcGNjdHNEaXJlY3RpdmUgIl5ccyojcHJlZFw+LiokIiBjb250YWlucz1wY2N0c1Rva2VuTmFtZSxwY2N0c0FjdGlvbgorCitzeW4gY2x1c3RlciBwY2N0c0luUnVsZSBjb250YWlucz1wY2N0c1N0cmluZyxwY2N0c1J1bGVOYW1lLHBjY3RzVG9rZW5OYW1lLHBjY3RzQWN0aW9uLHBjY3RzQXJnQmxvY2sscGNjdHNTdWJSdWxlLHBjY3RzTGFiZWwscGNjdHNDb21tZW50CisKK3N5biByZWdpb24gcGNjdHNSdWxlIHN0YXJ0PSJcPFthLXpdW0EtWmEtejAtOV9dKlw+XChccypcW1teXV0qXF1cKVw9XChccyo+XHMqXFtbXl1dKlxdXClcPVxzKjoiIGVuZD0iOyIgY29udGFpbnM9QHBjY3RzSW5SdWxlCisKK3N5biByZWdpb24gcGNjdHNTdWJSdWxlIG1hdGNoZ3JvdXA9cGNjdHNEZWxpbSBzdGFydD0iKCIgZW5kPSIpXCgrXHxcKlx8P1woXHMqPT5cKVw9XClcPSIgY29udGFpbnM9QHBjY3RzSW5SdWxlIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBwY2N0c1N1YlJ1bGUgbWF0Y2hncm91cD1wY2N0c0RlbGltIHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5zPUBwY2N0c0luUnVsZSBjb250YWluZWQKKworc3luIG1hdGNoIHBjY3RzUnVsZU5hbWUgICJcPFthLXpdXGkqXD4iIGNvbnRhaW5lZAorc3luIG1hdGNoIHBjY3RzVG9rZW5OYW1lICJcPFtBLVpdXGkqXD4iIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggcGNjdHNMYWJlbCAiXDxcSVxpKjpcSVxpKiIgY29udGFpbmVkIGNvbnRhaW5zPXBjY3RzTGFiZWxIYWNrLHBjY3RzUnVsZU5hbWUscGNjdHNUb2tlbk5hbWUKK3N5biBtYXRjaCBwY2N0c0xhYmVsICJcPFxJXGkqOlwiXChbXlxcXVx8XFwuXCkqXCIiIGNvbnRhaW5lZCBjb250YWlucz1wY2N0c0xhYmVsSGFjayxwY2N0c1N0cmluZworc3luIG1hdGNoIHBjY3RzTGFiZWxIYWNrICJcPFxJXGkqOiIgY29udGFpbmVkCisKK3N5biBtYXRjaCBwY2N0c1J1bGVSZWYgIlwkXElcaSpcPiIgY29udGFpbmVkCitzeW4gbWF0Y2ggcGNjdHNSdWxlUmVmICJcJFxkXCtcKFwuXGRcK1wpXD4iIGNvbnRhaW5lZAorCitzeW4ga2V5d29yZCBwY2N0c0NsYXNzICAgICBjbGFzcyAgIG5leHRncm91cD1wY2N0c0NsYXNzTmFtZSBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHBjY3RzQ2xhc3NOYW1lICJcPFxJXGkqXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cGNjdHNDbGFzc0Jsb2NrIHNraXB3aGl0ZSBza2lwbmwKK3N5biByZWdpb24gcGNjdHNDbGFzc0Jsb2NrIHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5lZCBjb250YWlucz1wY2N0c1J1bGUscGNjdHNDb21tZW50LHBjY3RzRGlyZWN0aXZlLHBjY3RzQWN0aW9uLHBjY3RzRXhjZXB0aW9uLHBjY3RzRXhjZXB0aW9uSGFuZGxlcgorCitzeW4ga2V5d29yZCBwY2N0c0V4Y2VwdGlvbiBleGNlcHRpb24gbmV4dGdyb3VwPXBjY3RzRXhjZXB0aW9uUnVsZVJlZiBza2lwd2hpdGUKK3N5biBtYXRjaCBwY2N0c0V4Y2VwdGlvblJ1bGVSZWYgIlxbXElcaSpcXSIgY29udGFpbmVkIGNvbnRhaW5zPXBjY3RzRXhjZXB0aW9uSUQKK3N5biBtYXRjaCBwY2N0c0V4Y2VwdGlvbklEICJcSVxpKiIgY29udGFpbmVkCitzeW4ga2V5d29yZCBwY2N0c0V4Y2VwdGlvbkhhbmRsZXIJY2F0Y2ggZGVmYXVsdAorc3luIGtleXdvcmQgcGNjdHNFeGNlcHRpb25IYW5kbGVyCU5vVmlhYmxlQWx0IE5vU2VtVmlhYmxlQWx0CitzeW4ga2V5d29yZCBwY2N0c0V4Y2VwdGlvbkhhbmRsZXIJTWlzbWF0Y2hlZFRva2VuCisKK3N5biBzeW5jIGNsZWFyCitzeW4gc3luYyBtYXRjaCBwY2N0c1N5bmNBY3Rpb24gZ3JvdXBoZXJlIHBjY3RzQWN0aW9uICI8PCIKK3N5biBzeW5jIG1hdGNoIHBjY3RzU3luY0FjdGlvbiAiPDxcKFtePl1cfD5bXj5dXCkqPj4iCitzeW4gc3luYyBtYXRjaCBwY2N0c1N5bmNSdWxlIGdyb3VwaGVyZSBwY2N0c1J1bGUgIlw8W2Etel1bQS1aYS16MC05X10qXD5ccypcW1teXV0qXF1ccyo6Igorc3luIHN5bmMgbWF0Y2ggcGNjdHNTeW5jUnVsZSBncm91cGhlcmUgcGNjdHNSdWxlICJcPFthLXpdW0EtWmEtejAtOV9dKlw+XChccypcW1teXV0qXF1cKVw9XHMqPlxzKlxbW15dXSpcXVxzKjoiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BjY3RzX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3BjY3RzX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHBjY3RzRGVsaW0JCVNwZWNpYWwKKyAgSGlMaW5rIHBjY3RzVG9rZW5OYW1lCQlJZGVudGlmaWVyCisgIEhpTGluayBwY2N0c1J1bGVOYW1lCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHBjY3RzTGFiZWxIYWNrCQlMYWJlbAorICBIaUxpbmsgcGNjdHNEaXJlY3RpdmUJCVByZVByb2MKKyAgSGlMaW5rIHBjY3RzU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHBjY3RzQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgcGNjdHNDbGFzcwkJU3RhdGVtZW50CisgIEhpTGluayBwY2N0c0NsYXNzTmFtZQkJSWRlbnRpZmllcgorICBIaUxpbmsgcGNjdHNFeGNlcHRpb24JCVN0YXRlbWVudAorICBIaUxpbmsgcGNjdHNFeGNlcHRpb25IYW5kbGVyCUtleXdvcmQKKyAgSGlMaW5rIHBjY3RzRXhjZXB0aW9uUnVsZVJlZglwY2N0c0RlbGltCisgIEhpTGluayBwY2N0c0V4Y2VwdGlvbklECUlkZW50aWZpZXIKKyAgSGlMaW5rIHBjY3RzUnVsZVJlZgkJSWRlbnRpZmllcgorICBIaUxpbmsgcGNjdHNTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwY2N0cyIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BlcmwudmltIGIvcnVudGltZS9zeW50YXgvcGVybC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM4ODcyOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BlcmwudmltCkBAIC0wLDAgKzEsNTU2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUGVybAorIiBNYWludGFpbmVyOglOaWNrIEhpYm1hIDxuX2hpYm1hQHZhbi1sYWFyaG92ZW4ub3JnPgorIiBMYXN0IENoYW5nZToJMjAwNCBNYXkgMTYKKyIgTG9jYXRpb246CWh0dHA6Ly93d3cudmFuLWxhYXJob3Zlbi5vcmcvdmltL3N5bnRheC9wZXJsLnZpbQorIgorIiBQbGVhc2UgZG93bmxvYWQgbW9zdCByZWNlbnQgdmVyc2lvbiBmaXJzdCBiZWZvcmUgbWFpbGluZworIiBhbnkgY29tbWVudHMuCisiIFNlZSBhbHNvIHRoZSBmaWxlIHBlcmwudmltLnJlZ3Jlc3Npb24ucGwgdG8gY2hlY2sgd2hldGhlciB5b3VyCisiIG1vZGlmaWNhdGlvbnMgd29yayBpbiB0aGUgbW9zdCBvZGQgY2FzZXMKKyIgaHR0cDovL3d3dy52YW4tbGFhcmhvdmVuLm9yZy92aW0vc3ludGF4L3BlcmwudmltLnJlZ3Jlc3Npb24ucGwKKyIKKyIgT3JpZ2luYWwgdmVyc2lvbjogU29uaWEgSGVpbWFubiA8bmlhbmlhQG5ldHN1cmYub3JnPgorIiBUaGFua3MgdG8gbWFueSBwZW9wbGUgZm9yIHRoZWlyIGNvbnRyaWJ1dGlvbi4KKworIiBUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgYXJlIGF2YWlsYWJsZSBmb3IgdHVuaW5nIHRoZQorIiBwZXJsIHN5bnRheCBoaWdobGlnaHRpbmcsIHdpdGggZGVmYXVsdHMgZ2l2ZW46CisiCisiIHVubGV0IHBlcmxfaW5jbHVkZV9wb2QKKyIgdW5sZXQgcGVybF93YW50X3Njb3BlX2luX3ZhcmlhYmxlcworIiB1bmxldCBwZXJsX2V4dGVuZGVkX3ZhcnMKKyIgdW5sZXQgcGVybF9zdHJpbmdfYXNfc3RhdGVtZW50CisiIHVubGV0IHBlcmxfbm9fc3luY19vbl9zdWIKKyIgdW5sZXQgcGVybF9ub19zeW5jX29uX2dsb2JhbF92YXIKKyIgbGV0IHBlcmxfc3luY19kaXN0ID0gMTAwCisiIHVubGV0IHBlcmxfZm9sZAorIiB1bmxldCBwZXJsX2ZvbGRfYmxvY2tzCisKKyIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIHRoYXQgd2FzIGxvYWRlZCAoNS54KSBvciBxdWl0IHdoZW4gYSBzeW50YXggZmlsZQorIiB3YXMgYWxyZWFkeSBsb2FkZWQgKDYueCkuCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBVbnNldCBwZXJsX2ZvbGQgaWYgaXQgc2V0IGJ1dCB2aW0gZG9lc24ndCBzdXBwb3J0IGl0LgoraWYgdmVyc2lvbiA8IDYwMCAmJiBleGlzdHMoInBlcmxfZm9sZCIpCisgIHVubGV0IHBlcmxfZm9sZAorZW5kaWYKKworCisiIFBPRCBzdGFydHMgd2l0aCBePTx3b3JkPiBhbmQgZW5kcyB3aXRoIF49Y3V0CisKK2lmIGV4aXN0cygicGVybF9pbmNsdWRlX3BvZCIpCisgICIgSW5jbHVkZSBhIHdoaWxlIGV4dHJhIHN5bnRheCBmaWxlCisgIHN5biBpbmNsdWRlIEBQb2Qgc3ludGF4L3BvZC52aW0KKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorICBpZiBleGlzdHMoInBlcmxfZm9sZCIpCisgICAgc3luIHJlZ2lvbiBwZXJsUE9EIHN0YXJ0PSJePVthLXpdIiBlbmQ9Il49Y3V0IiBjb250YWlucz1AUG9kLHBlcmxUb2RvIGtlZXBlbmQgZm9sZAorICAgIHN5biByZWdpb24gcGVybFBPRCBzdGFydD0iXj1jdXQiIGVuZD0iXj1jdXQiIGNvbnRhaW5zPXBlcmxUb2RvIGtlZXBlbmQgZm9sZAorICBlbHNlCisgICAgc3luIHJlZ2lvbiBwZXJsUE9EIHN0YXJ0PSJePVthLXpdIiBlbmQ9Il49Y3V0IiBjb250YWlucz1AUG9kLHBlcmxUb2RvIGtlZXBlbmQKKyAgICBzeW4gcmVnaW9uIHBlcmxQT0Qgc3RhcnQ9Il49Y3V0IiBlbmQ9Il49Y3V0IiBjb250YWlucz1wZXJsVG9kbyBrZWVwZW5kCisgIGVuZGlmCitlbHNlCisgICIgVXNlIG9ubHkgdGhlIGJhcmUgbWluaW11bSBvZiBydWxlcworICBpZiBleGlzdHMoInBlcmxfZm9sZCIpCisgICAgc3luIHJlZ2lvbiBwZXJsUE9EIHN0YXJ0PSJePVthLXpdIiBlbmQ9Il49Y3V0IiBmb2xkCisgIGVsc2UKKyAgICBzeW4gcmVnaW9uIHBlcmxQT0Qgc3RhcnQ9Il49W2Etel0iIGVuZD0iXj1jdXQiCisgIGVuZGlmCitlbmRpZgorCisKKyIgQWxsIGtleXdvcmRzCisiCitpZiBleGlzdHMoInBlcmxfZm9sZCIpICYmIGV4aXN0cygicGVybF9mb2xkX2Jsb2NrcyIpCisgIHN5biBtYXRjaCBwZXJsQ29uZGl0aW9uYWwJCSJcPGlmXD4iCisgIHN5biBtYXRjaCBwZXJsQ29uZGl0aW9uYWwJCSJcPGVsc2lmXD4iCisgIHN5biBtYXRjaCBwZXJsQ29uZGl0aW9uYWwJCSJcPHVubGVzc1w+IgorICBzeW4gbWF0Y2ggcGVybENvbmRpdGlvbmFsCQkiXDxlbHNlXD4iIG5leHRncm91cD1wZXJsRWxzZUlmRXJyb3Igc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKK2Vsc2UKKyAgc3luIGtleXdvcmQgcGVybENvbmRpdGlvbmFsCQlpZiBlbHNpZiB1bmxlc3MKKyAgc3luIGtleXdvcmQgcGVybENvbmRpdGlvbmFsCQllbHNlIG5leHRncm91cD1wZXJsRWxzZUlmRXJyb3Igc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKK2VuZGlmCitzeW4ga2V5d29yZCBwZXJsQ29uZGl0aW9uYWwJCXN3aXRjaCBlcSBuZSBndCBsdCBnZSBsZSBjbXAgbm90IGFuZCBvciB4b3IgZXJyCitpZiBleGlzdHMoInBlcmxfZm9sZCIpICYmIGV4aXN0cygicGVybF9mb2xkX2Jsb2NrcyIpCisgIHN5biBtYXRjaCBwZXJsUmVwZWF0CQkJIlw8d2hpbGVcPiIKKyAgc3luIG1hdGNoIHBlcmxSZXBlYXQJCQkiXDxmb3JcPiIKKyAgc3luIG1hdGNoIHBlcmxSZXBlYXQJCQkiXDxmb3JlYWNoXD4iCisgIHN5biBtYXRjaCBwZXJsUmVwZWF0CQkJIlw8ZG9cPiIKKyAgc3luIG1hdGNoIHBlcmxSZXBlYXQJCQkiXDx1bnRpbFw+IgorICBzeW4gbWF0Y2ggcGVybFJlcGVhdAkJCSJcPGNvbnRpbnVlXD4iCitlbHNlCisgIHN5biBrZXl3b3JkIHBlcmxSZXBlYXQJCXdoaWxlIGZvciBmb3JlYWNoIGRvIHVudGlsIGNvbnRpbnVlCitlbmRpZgorc3luIGtleXdvcmQgcGVybE9wZXJhdG9yCQlkZWZpbmVkIHVuZGVmIGFuZCBvciBub3QgYmxlc3MgcmVmCitpZiBleGlzdHMoInBlcmxfZm9sZCIpCisgICIgaWYgQkVHSU4vRU5EIGlzIGEga2V5d29yZCB0aGUgcGVybEJFR0lORU5ERm9sZCBkb2VzIG5vdCB3b3JrCisgIHN5biBtYXRjaCBwZXJsQ29udHJvbAkJCSJcPEJFR0lOXD4iIGNvbnRhaW5lZAorICBzeW4gbWF0Y2ggcGVybENvbnRyb2wJCQkiXDxFTkRcPiIgY29udGFpbmVkCitlbHNlCisgIHN5biBrZXl3b3JkIHBlcmxDb250cm9sCQlCRUdJTiBFTkQKK2VuZGlmCisKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRTdG9yYWdlCW15IGxvY2FsIG91cgorc3luIGtleXdvcmQgcGVybFN0YXRlbWVudENvbnRyb2wJZ290byByZXR1cm4gbGFzdCBuZXh0IHJlZG8KK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRTY2FsYXIJCWNob21wIGNob3AgY2hyIGNyeXB0IGluZGV4IGxjIGxjZmlyc3QgbGVuZ3RoIG9yZCBwYWNrIHJldmVyc2UgcmluZGV4IHNwcmludGYgc3Vic3RyIHVjIHVjZmlyc3QKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRSZWdleHAJCXBvcyBxdW90ZW1ldGEgc3BsaXQgc3R1ZHkKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnROdW1lcmljCWFicyBhdGFuMiBjb3MgZXhwIGhleCBpbnQgbG9nIG9jdCByYW5kIHNpbiBzcXJ0IHNyYW5kCitzeW4ga2V5d29yZCBwZXJsU3RhdGVtZW50TGlzdAkJc3BsaWNlIHVuc2hpZnQgc2hpZnQgcHVzaCBwb3Agc3BsaXQgam9pbiByZXZlcnNlIGdyZXAgbWFwIHNvcnQgdW5wYWNrCitzeW4ga2V5d29yZCBwZXJsU3RhdGVtZW50SGFzaAkJZWFjaCBleGlzdHMga2V5cyB2YWx1ZXMgdGllIHRpZWQgdW50aWUKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRJT2Z1bmMJCWNhcnAgY29uZmVzcyBjcm9hayBkYm1jbG9zZSBkYm1vcGVuIGRpZSBzeXNjYWxsCitzeW4ga2V5d29yZCBwZXJsU3RhdGVtZW50RmlsZWRlc2MJYmlubW9kZSBjbG9zZSBjbG9zZWRpciBlb2YgZmlsZW5vIGdldGMgbHN0YXQgcHJpbnQgcHJpbnRmIHJlYWRkaXIgcmVhZGxpbmUgcmVhZHBpcGUgcmV3aW5kZGlyIHNlbGVjdCBzdGF0IHRlbGwgdGVsbGRpciB3cml0ZSBuZXh0Z3JvdXA9cGVybEZpbGVkZXNjU3RhdGVtZW50Tm9jb21tYSBza2lwd2hpdGUKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRGaWxlZGVzYwlmY250bCBmbG9jayBpb2N0bCBvcGVuIG9wZW5kaXIgcmVhZCBzZWVrIHNlZWtkaXIgc3lzb3BlbiBzeXNyZWFkIHN5c3NlZWsgc3lzd3JpdGUgdHJ1bmNhdGUgbmV4dGdyb3VwPXBlcmxGaWxlZGVzY1N0YXRlbWVudENvbW1hIHNraXB3aGl0ZQorc3luIGtleXdvcmQgcGVybFN0YXRlbWVudFZlY3RvcgkJcGFjayB2ZWMKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRGaWxlcwkJY2hkaXIgY2htb2QgY2hvd24gY2hyb290IGdsb2IgbGluayBta2RpciByZWFkbGluayByZW5hbWUgcm1kaXIgc3ltbGluayB1bWFzayB1bmxpbmsgdXRpbWUKK3N5biBtYXRjaCAgIHBlcmxTdGF0ZW1lbnRGaWxlcwkJIi1bcnd4b1JXWE9lenNmZGxwU2JjdHVna1RCTUFDXVw+Igorc3luIGtleXdvcmQgcGVybFN0YXRlbWVudEZsb3cJCWNhbGxlciBkaWUgZHVtcCBldmFsIGV4aXQgd2FudGFycmF5CitzeW4ga2V5d29yZCBwZXJsU3RhdGVtZW50SW5jbHVkZQlyZXF1aXJlCitzeW4gbWF0Y2ggICBwZXJsU3RhdGVtZW50SW5jbHVkZQkiXCh1c2VcfG5vXClcc1wrXChpbnRlZ2VyXD5cfHN0cmljdFw+XHxsaWJcPlx8c2lndHJhcFw+XHxzdWJzXD5cfHZhcnNcPlx8d2FybmluZ3NcPlx8dXRmOFw+XHxieXRlXD5cKVw9Igorc3luIGtleXdvcmQgcGVybFN0YXRlbWVudFNjb3BlCQlpbXBvcnQKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRQcm9jCQlhbGFybSBleGVjIGZvcmsgZ2V0cGdycCBnZXRwcGlkIGdldHByaW9yaXR5IGtpbGwgcGlwZSBzZXRwZ3JwIHNldHByaW9yaXR5IHNsZWVwIHN5c3RlbSB0aW1lcyB3YWl0IHdhaXRwaWQKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRTb2NrZXQJCWFjY2VwdCBiaW5kIGNvbm5lY3QgZ2V0cGVlcm5hbWUgZ2V0c29ja25hbWUgZ2V0c29ja29wdCBsaXN0ZW4gcmVjdiBzZW5kIHNldHNvY2tvcHQgc2h1dGRvd24gc29ja2V0IHNvY2tldHBhaXIKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRJUEMJCW1zZ2N0bCBtc2dnZXQgbXNncmN2IG1zZ3NuZCBzZW1jdGwgc2VtZ2V0IHNlbW9wIHNobWN0bCBzaG1nZXQgc2htcmVhZCBzaG13cml0ZQorc3luIGtleXdvcmQgcGVybFN0YXRlbWVudE5ldHdvcmsJZW5kaG9zdGVudCBlbmRuZXRlbnQgZW5kcHJvdG9lbnQgZW5kc2VydmVudCBnZXRob3N0YnlhZGRyIGdldGhvc3RieW5hbWUgZ2V0aG9zdGVudCBnZXRuZXRieWFkZHIgZ2V0bmV0YnluYW1lIGdldG5ldGVudCBnZXRwcm90b2J5bmFtZSBnZXRwcm90b2J5bnVtYmVyIGdldHByb3RvZW50IGdldHNlcnZieW5hbWUgZ2V0c2VydmJ5cG9ydCBnZXRzZXJ2ZW50IHNldGhvc3RlbnQgc2V0bmV0ZW50IHNldHByb3RvZW50IHNldHNlcnZlbnQKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRQd29yZAkJZ2V0cHd1aWQgZ2V0cHduYW0gZ2V0cHdlbnQgc2V0cHdlbnQgZW5kcHdlbnQgZ2V0Z3JlbnQgZ2V0Z3JnaWQgZ2V0bG9naW4gZ2V0Z3JuYW0gc2V0Z3JlbnQgZW5kZ3JlbnQKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRUaW1lCQlnbXRpbWUgbG9jYWx0aW1lIHRpbWUgdGltZXMKKworc3luIGtleXdvcmQgcGVybFN0YXRlbWVudE1pc2MJCXdhcm4gZm9ybWxpbmUgcmVzZXQgc2NhbGFyIGRlbGV0ZSBwcm90b3R5cGUgbG9jaworc3luIGtleXdvcmQgcGVybFN0YXRlbWVudE5ldwkJbmV3CisKK3N5biBrZXl3b3JkIHBlcmxUb2RvCQkJVE9ETyBUQkQgRklYTUUgWFhYIGNvbnRhaW5lZAorCisiIFBlcmwgSWRlbnRpZmllcnMuCisiCisiIFNob3VsZCBiZSBjbGVhbmVkIHVwIHRvIGJldHRlciBoYW5kbGUgaWRlbnRpZmllcnMgaW4gcGFydGljdWxhciBzaXR1YXRpb25zCisiIChpbiBoYXNoIGtleXMgZm9yIGV4YW1wbGUpCisiCisiIFBsYWluIGlkZW50aWZpZXJzOiAkZm9vLCBAZm9vLCAkI2ZvbywgJWZvbywgJmZvbyBhbmQgZGVyZWZlcmVuY2VzICQkZm9vLCBAJGZvbywgZXRjLgorIiBXZSBkbyBub3QgcHJvY2VzcyBjb21wbGV4IHRoaW5ncyBzdWNoIGFzIEB7JHsiZm9vIn19LiBUb28gY29tcGxpY2F0ZWQsIGFuZAorIiB0b28gc2xvdy4gQW5kIHdoYXQgaXMgYWZ0ZXIgdGhlIC0+IGlzICpub3QqIGNvbnNpZGVyZWQgYXMgcGFydCBvZiB0aGUKKyIgdmFyaWFibGUgLSB0aGVyZSBhZ2FpbiwgdG9vIGNvbXBsaWNhdGVkIGFuZCB0b28gc2xvdy4KKworIiBTcGVjaWFsIHZhcmlhYmxlcyBmaXJzdCAoJF5BLCAuLi4pIGFuZCAoJHwsICQnLCAuLi4pCitzeW4gbWF0Y2ggIHBlcmxWYXJQbGFpbgkJICIkXltBREVGSElMTU9QU1RXWF1cPSIKK3N5biBtYXRjaCAgcGVybFZhclBsYWluCQkgIiRbXFxcIlxbXF0nJmArKi4sOz0lfiE/QCQ8PigtXSIKK3N5biBtYXRjaCAgcGVybFZhclBsYWluCQkgIiRcKDBcfFsxLTldWzAtOV0qXCkiCisiIFNhbWUgYXMgYWJvdmUsIGJ1dCBhdm9pZHMgY29uZnVzaW9uIGluICQ6OmZvbyAoZXF1aXZhbGVudCB0byAkbWFpbjo6Zm9vKQorc3luIG1hdGNoICBwZXJsVmFyUGxhaW4JCSAiJDpbXjpdIgorIiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCByZWNvZ25pemVkIHdpdGhpbiBtYXRjaGVzLgorc3luIG1hdGNoICBwZXJsVmFyTm90SW5NYXRjaGVzCSAiJFt8KV0iCisiIFRoaXMgdmFyaWFibGUgaXMgbm90IHJlY29nbml6ZWQgd2l0aGluIG1hdGNoZXMgZGVsaW1pdGVkIGJ5IG0vLy4KK3N5biBtYXRjaCAgcGVybFZhclNsYXNoCQkgIiQvIgorCisiIEFuZCBwbGFpbiBpZGVudGlmaWVycworc3luIG1hdGNoICBwZXJsUGFja2FnZVJlZgkgIlwoXGhcdypcKVw9XCg6Olx8J1wpXEkibWU9ZS0xIGNvbnRhaW5lZAorCisiIFRvIGhpZ2hsaWdodCBwYWNrYWdlcyBpbiB2YXJpYWJsZXMgYXMgYSBzY29wZSByZWZlcmVuY2UgLSBpLmUuIGluICRwYWNrOjp2YXIsCisiIHBhY2s6OiBpcyBhIHNjb3BlLCBqdXN0IHNldCAicGVybF93YW50X3Njb3BlX2luX3ZhcmlhYmxlcyIKKyIgSWYgeW91ICp3YW50KiBjb21wbGV4IHRoaW5ncyBsaWtlIEB7JHsiZm9vIn19IHRvIGJlIHByb2Nlc3NlZCwKKyIganVzdCBzZXQgdGhlIHZhcmlhYmxlICJwZXJsX2V4dGVuZGVkX3ZhcnMiLi4uCisKKyIgRklYTUUgdmFsdWUgYmV0d2VlbiB7fSBzaG91bGQgYmUgbWFya2VkIGFzIHN0cmluZy4gaXMgdHJlYXRlZCBhcyBzdWNoIGJ5IFBlcmwuCisiIEF0IHRoZSBtb21lbnQgaXQgaXMgbWFya2VkIGFzIHNvbWV0aGluZyBncmV5aXNoIGluc3RlYWQgb2YgcmVhZC4gUHJvYmFibHkgdG9kbworIiB3aXRoIHRyYW5zcGFyZW5jeS4gT3IgbWF5YmUgd2Ugc2hvdWxkIGhhbmRsZSB0aGUgYmFyZSB3b3JkIGluIHRoYXQgY2FzZS4gb3IgbWFrZSBpdCBpbnRvCisKK2lmIGV4aXN0cygicGVybF93YW50X3Njb3BlX2luX3ZhcmlhYmxlcyIpCisgIHN5biBtYXRjaCAgcGVybFZhclBsYWluCSJcXFw9XChbQCUkXVx8XCQjXClcJCpcKFxJXGkqXClcPVwoXCg6Olx8J1wpXElcaSpcKSpcPiIgY29udGFpbnM9cGVybFBhY2thZ2VSZWYgbmV4dGdyb3VwPXBlcmxWYXJNZW1iZXIscGVybFZhclNpbXBsZU1lbWJlcixwZXJsTWV0aG9kCisgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uTmFtZQkiXFxcPSZcJCpcKFxJXGkqXClcPVwoXCg6Olx8J1wpXElcaSpcKSpcPiIgY29udGFpbnM9cGVybFBhY2thZ2VSZWYgbmV4dGdyb3VwPXBlcmxWYXJNZW1iZXIscGVybFZhclNpbXBsZU1lbWJlcgorZWxzZQorICBzeW4gbWF0Y2ggIHBlcmxWYXJQbGFpbgkiXFxcPVwoW0AlJF1cfFwkI1wpXCQqXChcSVxpKlwpXD1cKFwoOjpcfCdcKVxJXGkqXCkqXD4iIG5leHRncm91cD1wZXJsVmFyTWVtYmVyLHBlcmxWYXJTaW1wbGVNZW1iZXIscGVybE1ldGhvZAorICBzeW4gbWF0Y2ggIHBlcmxGdW5jdGlvbk5hbWUJIlxcXD0mXCQqXChcSVxpKlwpXD1cKFwoOjpcfCdcKVxJXGkqXCkqXD4iIG5leHRncm91cD1wZXJsVmFyTWVtYmVyLHBlcmxWYXJTaW1wbGVNZW1iZXIKK2VuZGlmCisKK2lmIGV4aXN0cygicGVybF9leHRlbmRlZF92YXJzIikKKyAgc3luIGNsdXN0ZXIgcGVybEV4cHIJCWNvbnRhaW5zPXBlcmxTdGF0ZW1lbnRTY2FsYXIscGVybFN0YXRlbWVudFJlZ2V4cCxwZXJsU3RhdGVtZW50TnVtZXJpYyxwZXJsU3RhdGVtZW50TGlzdCxwZXJsU3RhdGVtZW50SGFzaCxwZXJsU3RhdGVtZW50RmlsZXMscGVybFN0YXRlbWVudFRpbWUscGVybFN0YXRlbWVudE1pc2MscGVybFZhclBsYWluLHBlcmxWYXJOb3RJbk1hdGNoZXMscGVybFZhclNsYXNoLHBlcmxWYXJCbG9jayxwZXJsU2hlbGxDb21tYW5kLHBlcmxGbG9hdCxwZXJsTnVtYmVyLHBlcmxTdHJpbmdVbmV4cGFuZGVkLHBlcmxTdHJpbmcscGVybFFRCisgIHN5biByZWdpb24gcGVybFZhckJsb2NrCW1hdGNoZ3JvdXA9cGVybFZhclBsYWluIHN0YXJ0PSJcKCQjXHxbQCUkXVwpXCQqeyIgc2tpcD0iXFx9IiBlbmQ9In0iIGNvbnRhaW5zPUBwZXJsRXhwciBuZXh0Z3JvdXA9cGVybFZhck1lbWJlcixwZXJsVmFyU2ltcGxlTWVtYmVyCisgIHN5biByZWdpb24gcGVybFZhckJsb2NrCW1hdGNoZ3JvdXA9cGVybFZhclBsYWluIHN0YXJ0PSImXCQqeyIgc2tpcD0iXFx9IiBlbmQ9In0iIGNvbnRhaW5zPUBwZXJsRXhwcgorICBzeW4gbWF0Y2ggIHBlcmxWYXJQbGFpbgkiXFxcPVwoXCQjXHxbQCUmJF1cKVwkKntcSVxpKn0iIG5leHRncm91cD1wZXJsVmFyTWVtYmVyLHBlcmxWYXJTaW1wbGVNZW1iZXIKKyAgc3luIHJlZ2lvbiBwZXJsVmFyTWVtYmVyCW1hdGNoZ3JvdXA9cGVybFZhclBsYWluIHN0YXJ0PSJcKC0+XClcPXsiIHNraXA9IlxcfSIgZW5kPSJ9IiBjb250YWluZWQgY29udGFpbnM9QHBlcmxFeHByIG5leHRncm91cD1wZXJsVmFyTWVtYmVyLHBlcmxWYXJTaW1wbGVNZW1iZXIKKyAgc3luIG1hdGNoICBwZXJsVmFyU2ltcGxlTWVtYmVyCSJcKC0+XClcPXtcSVxpKn0iIG5leHRncm91cD1wZXJsVmFyTWVtYmVyLHBlcmxWYXJTaW1wbGVNZW1iZXIgY29udGFpbnM9cGVybFZhclNpbXBsZU1lbWJlck5hbWUgY29udGFpbmVkCisgIHN5biBtYXRjaCAgcGVybFZhclNpbXBsZU1lbWJlck5hbWUJIlxJXGkqIiBjb250YWluZWQKKyAgc3luIHJlZ2lvbiBwZXJsVmFyTWVtYmVyCW1hdGNoZ3JvdXA9cGVybFZhclBsYWluIHN0YXJ0PSJcKC0+XClcPVxbIiBza2lwPSJcXF0iIGVuZD0iXSIgY29udGFpbmVkIGNvbnRhaW5zPUBwZXJsRXhwciBuZXh0Z3JvdXA9cGVybFZhck1lbWJlcixwZXJsVmFyU2ltcGxlTWVtYmVyCisgIHN5biBtYXRjaCAgcGVybE1ldGhvZAkJIlwoLT5cKVxJXGkqIiBjb250YWluZWQKK2VuZGlmCisKKyIgRmlsZSBEZXNjcmlwdG9ycworc3luIG1hdGNoICBwZXJsRmlsZWRlc2NSZWFkCSJbPF1caFx3XCtbPl0iCisKK3N5biBtYXRjaCAgcGVybEZpbGVkZXNjU3RhdGVtZW50Q29tbWEJIihcPVxzKlx1XHcqXHMqLCJtZT1lLTEgdHJhbnNwYXJlbnQgY29udGFpbmVkIGNvbnRhaW5zPXBlcmxGaWxlZGVzY1N0YXRlbWVudAorc3luIG1hdGNoICBwZXJsRmlsZWRlc2NTdGF0ZW1lbnROb2NvbW1hICIoXD1ccypcdVx3KlxzKlteLCBcdF0ibWU9ZS0xIHRyYW5zcGFyZW50IGNvbnRhaW5lZCBjb250YWlucz1wZXJsRmlsZWRlc2NTdGF0ZW1lbnQKKworc3luIG1hdGNoICBwZXJsRmlsZWRlc2NTdGF0ZW1lbnQJIlx1XHcqIiBjb250YWluZWQKKworIiBTcGVjaWFsIGNoYXJhY3RlcnMgaW4gc3RyaW5ncyBhbmQgbWF0Y2hlcworc3luIG1hdGNoICBwZXJsU3BlY2lhbFN0cmluZwkiXFxcKFxkXCtcfFt4WF1ceFwrXHxjXHVcfC5cKSIgY29udGFpbmVkCitzeW4gbWF0Y2ggIHBlcmxTcGVjaWFsU3RyaW5nVQkiXFxbJ1xcXSIgY29udGFpbmVkCitzeW4gbWF0Y2ggIHBlcmxTcGVjaWFsTWF0Y2gJIntcZFwoLFxkXClcPX0iIGNvbnRhaW5lZAorc3luIG1hdGNoICBwZXJsU3BlY2lhbE1hdGNoCSJcW1woXF1cfC1cKVw9W15cW1xdXSpcKFxbXHxcLVwpXD1cXSIgY29udGFpbmVkCitzeW4gbWF0Y2ggIHBlcmxTcGVjaWFsTWF0Y2gJIlsrKigpPy5dIiBjb250YWluZWQKK3N5biBtYXRjaCAgcGVybFNwZWNpYWxNYXRjaAkiKD9bIzo9IV0iIGNvbnRhaW5lZAorc3luIG1hdGNoICBwZXJsU3BlY2lhbE1hdGNoCSIoP1tpbXN4XVwrKSIgY29udGFpbmVkCisiIEZJWE1FIHRoZSBsaW5lIGJlbG93IGRvZXMgbm90IHdvcmsuIEl0IHNob3VsZCBtYXJrIGVuZCBvZiBsaW5lIGFuZAorIiBiZWdpbiBvZiBsaW5lIGFzIHBlcmxTcGVjaWFsLgorIiBzeW4gbWF0Y2ggcGVybFNwZWNpYWxCRU9NICAgICJeXF5cfFwkJCIgY29udGFpbmVkCisKKyIgUG9zc2libGUgZXJyb3JzCisiCisiIEhpZ2hsaWdodCBsaW5lcyB3aXRoIG9ubHkgd2hpdGVzcGFjZSAob25seSBpbiBibGFuayBkZWxpbWl0ZWQgaGVyZSBkb2N1bWVudHMpIGFzIGVycm9ycworc3luIG1hdGNoICBwZXJsTm90RW1wdHlMaW5lCSJeXHNcKyQiIGNvbnRhaW5lZAorIiBIaWdobGlnaHQgJ30gZWxzZSBpZiAoLi4uKSB7JywgaXQgc2hvdWxkIGJlICd9IGVsc2UgeyBpZiAoLi4uKSB7ICcgb3IKKyIgJ30gZWxzaWYgKC4uLikgeycuCisic3luIGtleXdvcmQgcGVybEVsc2VJZkVycm9yCWlmIGNvbnRhaW5lZAorCisiIFZhcmlhYmxlIGludGVycG9sYXRpb24KKyIKKyIgVGhlc2UgaXRlbXMgYXJlIGludGVycG9sYXRlZCBpbnNpZGUgIiIgc3RyaW5ncyBhbmQgc2ltaWxhciBjb25zdHJ1Y3RzLgorc3luIGNsdXN0ZXIgcGVybEludGVycERRCWNvbnRhaW5zPXBlcmxTcGVjaWFsU3RyaW5nLHBlcmxWYXJQbGFpbixwZXJsVmFyTm90SW5NYXRjaGVzLHBlcmxWYXJTbGFzaCxwZXJsVmFyQmxvY2sKKyIgVGhlc2UgaXRlbXMgYXJlIGludGVycG9sYXRlZCBpbnNpZGUgJycgc3RyaW5ncyBhbmQgc2ltaWxhciBjb25zdHJ1Y3RzLgorc3luIGNsdXN0ZXIgcGVybEludGVycFNRCWNvbnRhaW5zPXBlcmxTcGVjaWFsU3RyaW5nVQorIiBUaGVzZSBpdGVtcyBhcmUgaW50ZXJwb2xhdGVkIGluc2lkZSBtLy8gbWF0Y2hlcyBhbmQgcy8vLyBzdWJzdGl0dXRpb25zLgorc3luIGNsdXN0ZXIgcGVybEludGVycFNsYXNoCWNvbnRhaW5zPXBlcmxTcGVjaWFsU3RyaW5nLHBlcmxTcGVjaWFsTWF0Y2gscGVybFZhclBsYWluLHBlcmxWYXJCbG9jayxwZXJsU3BlY2lhbEJFT00KKyIgVGhlc2UgaXRlbXMgYXJlIGludGVycG9sYXRlZCBpbnNpZGUgbSMjIG1hdGNoZXMgYW5kIHMjIyMgc3Vic3RpdHV0aW9ucy4KK3N5biBjbHVzdGVyIHBlcmxJbnRlcnBNYXRjaAljb250YWlucz1AcGVybEludGVycFNsYXNoLHBlcmxWYXJTbGFzaAorCisiIFNoZWxsIGNvbW1hbmRzCitzeW4gcmVnaW9uICBwZXJsU2hlbGxDb21tYW5kCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9ImAiIGVuZD0iYCIgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorCisiIENvbnN0YW50cworIgorIiBOdW1iZXJzCitzeW4gbWF0Y2ggIHBlcmxOdW1iZXIJIlstK11cPVwoXDxcZFtbOmRpZ2l0Ol1fXSpMXD1cPlx8MFt4WF1ceFtbOnhkaWdpdDpdX10qXD5cKSIKK3N5biBtYXRjaCAgcGVybEZsb2F0CSJbLStdXD1cPFxkW1s6ZGlnaXQ6XV9dKltlRV1bXC0rXVw9XGRcKyIKK3N5biBtYXRjaCAgcGVybEZsb2F0CSJbLStdXD1cPFxkW1s6ZGlnaXQ6XV9dKlwuW1s6ZGlnaXQ6XV9dKlwoW2VFXVtcLStdXD1cZFwrXClcPSIKK3N5biBtYXRjaCAgcGVybEZsb2F0CSJbLStdXD1cPFwuW1s6ZGlnaXQ6XV9dXCtcKFtlRV1bXC0rXVw9XGRcK1wpXD0iCisKKworIiBTaW1wbGUgdmVyc2lvbiBvZiBzZWFyY2hlcyBhbmQgbWF0Y2hlcworIiBjYXRlcnMgZm9yIG0vLywgbSMjLCBte30gYW5kIG1bXSAoYW5kIHRoZSAhLyB2YXJpYW50KQorc3luIHJlZ2lvbiBwZXJsTWF0Y2gJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rW20hXS8rIGVuZD0rL1tjZ2ltb3N4XSorIGNvbnRhaW5zPUBwZXJsSW50ZXJwU2xhc2gKK3N5biByZWdpb24gcGVybE1hdGNoCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9K1ttIV0jKyBlbmQ9KyNbY2dpbW9zeF0qKyBjb250YWlucz1AcGVybEludGVycE1hdGNoCitzeW4gcmVnaW9uIHBlcmxNYXRjaAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStbbSFdeysgZW5kPSt9W2NnaW1vc3hdKisgY29udGFpbnM9QHBlcmxJbnRlcnBNYXRjaAorc3luIHJlZ2lvbiBwZXJsTWF0Y2gJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rW20hXVxbKyBlbmQ9K1xdW2NnaW1vc3hdKisgY29udGFpbnM9QHBlcmxJbnRlcnBNYXRjaAorCisiIEEgc3BlY2lhbCBjYXNlIGZvciBtISF4IHdoaWNoIGFsbG93cyBmb3IgY29tbWVudHMgYW5kIGV4dHJhIHdoaXRlc3BhY2UgaW4gdGhlIHBhdHRlcm4KK3N5biByZWdpb24gcGVybE1hdGNoCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9K1ttIV0hKyBlbmQ9KyFbY2dpbW9zeF0qKyBjb250YWlucz1AcGVybEludGVycFNsYXNoLHBlcmxDb21tZW50CisKKyIgQmVsb3cgc29tZSBoYWNrcyB0byByZWNvZ25pc2UgdGhlIC8vIHZhcmlhbnQuIFRoaXMgaXMgdmlydHVhbGx5IGltcG9zc2libGUgdG8gY2F0Y2ggaW4gYWxsCisiIGNhc2VzIGFzIHRoZSAvIGlzIHVzZWQgaW4gc28gbWFueSBvdGhlciB3YXlzLCBidXQgdGhlc2Ugc2hvdWxkIGJlIHRoZSBtb3N0IG9idmlvdXMgb25lcy4KKyJzeW4gcmVnaW9uIHBlcmxNYXRjaAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStec3BsaXQgLytsYz01IHN0YXJ0PStbXiRAJV1cPHNwbGl0IC8rbGM9NiBzdGFydD0rXmlmIC8rbGM9MiBzdGFydD0rW14kQCVdaWYgLytsYz0zIHN0YXJ0PStbIT1dXH5ccyovK2xjPTIgc3RhcnQ9K1sofl0vK2xjPTEgc3RhcnQ9K1wuXC4vK2xjPTIgc3RhcnQ9K1xzL1tePSBcdDAtOSRAJV0rbGM9MSxtZT1lLTEscnM9ZS0xIHN0YXJ0PSteLysgc2tpcD0rXFwvKyBlbmQ9Ky9bY2dpbW9zeF0qKyBjb250YWlucz1AcGVybEludGVycFNsYXNoCitzeW4gcmVnaW9uIHBlcmxNYXRjaAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStec3BsaXQgLytsYz01IHN0YXJ0PStbXiRAJV1cPHNwbGl0IC8rbGM9NiBzdGFydD0rXndoaWxlIC8rbGM9NSBzdGFydD0rW14kQCVdd2hpbGUgLytsYz02IHN0YXJ0PSteaWYgLytsYz0yIHN0YXJ0PStbXiRAJV1pZiAvK2xjPTMgc3RhcnQ9K1shPV1cflxzKi8rbGM9MiBzdGFydD0rWyh+XS8rbGM9MSBzdGFydD0rXC5cLi8rbGM9MiBzdGFydD0rXHMvW149IFx0MC05JEAlXStsYz0xLG1lPWUtMSxycz1lLTEgc3RhcnQ9K14vKyBza2lwPStcXC8rIGVuZD0rL1tjZ2ltb3N4XSorIGNvbnRhaW5zPUBwZXJsSW50ZXJwU2xhc2gKKworCisiIFN1YnN0aXR1dGlvbnMKKyIgY2F0ZXJzIGZvciBzLy8vLCBzIyMjIGFuZCBzW11bXQorIiBwZXJsTWF0Y2ggaXMgdGhlIGZpcnN0IHBhcnQsIHBlcmxTdWJzdGl0dXRpb24qIGlzIHRoZSBzdWJzdGl0dXRpb24gcGFydAorc3luIHJlZ2lvbiBwZXJsTWF0Y2gJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rXDxzJysgIGVuZD0rJyttZT1lLTEgY29udGFpbnM9QHBlcmxJbnRlcnBTUSBuZXh0Z3JvdXA9cGVybFN1YnN0aXR1dGlvblNRCitzeW4gcmVnaW9uIHBlcmxNYXRjaAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStcPHMiKyAgZW5kPSsiK21lPWUtMSBjb250YWlucz1AcGVybEludGVycE1hdGNoIG5leHRncm91cD1wZXJsU3Vic3RpdHV0aW9uRFEKK3N5biByZWdpb24gcGVybE1hdGNoCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9K1w8cy8rICBlbmQ9Ky8rbWU9ZS0xIGNvbnRhaW5zPUBwZXJsSW50ZXJwU2xhc2ggbmV4dGdyb3VwPXBlcmxTdWJzdGl0dXRpb25TbGFzaAorc3luIHJlZ2lvbiBwZXJsTWF0Y2gJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rXDxzIysgIGVuZD0rIyttZT1lLTEgY29udGFpbnM9QHBlcmxJbnRlcnBNYXRjaCBuZXh0Z3JvdXA9cGVybFN1YnN0aXR1dGlvbkhhc2gKK3N5biByZWdpb24gcGVybE1hdGNoCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9K1w8c1xbKyBlbmQ9K1xdKyBjb250YWlucz1AcGVybEludGVycE1hdGNoIG5leHRncm91cD1wZXJsU3Vic3RpdHV0aW9uQnJhY2tldCBza2lwd2hpdGUgc2tpcGVtcHR5IHNraXBubAorc3luIHJlZ2lvbiBwZXJsTWF0Y2gJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rXDxzeysgZW5kPSt9KyBjb250YWlucz1AcGVybEludGVycE1hdGNoIG5leHRncm91cD1wZXJsU3Vic3RpdHV0aW9uQ3VybHkgc2tpcHdoaXRlIHNraXBlbXB0eSBza2lwbmwKK3N5biByZWdpb24gcGVybFN1YnN0aXR1dGlvblNRCQltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PSsnKyAgZW5kPSsnW2VjZ2ltb3N4XSorIGNvbnRhaW5lZCBjb250YWlucz1AcGVybEludGVycFNRCitzeW4gcmVnaW9uIHBlcmxTdWJzdGl0dXRpb25EUQkJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rIisgIGVuZD0rIltlY2dpbW9zeF0qKyBjb250YWluZWQgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorc3luIHJlZ2lvbiBwZXJsU3Vic3RpdHV0aW9uU2xhc2gJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rLysgIGVuZD0rL1tlY2dpbW9zeF0qKyBjb250YWluZWQgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorc3luIHJlZ2lvbiBwZXJsU3Vic3RpdHV0aW9uSGFzaAkJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rIysgIGVuZD0rI1tlY2dpbW9zeF0qKyBjb250YWluZWQgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorc3luIHJlZ2lvbiBwZXJsU3Vic3RpdHV0aW9uQnJhY2tldAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStcWysgZW5kPStcXVtlY2dpbW9zeF0qKyBjb250YWluZWQgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorc3luIHJlZ2lvbiBwZXJsU3Vic3RpdHV0aW9uQ3VybHkJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0reysgIGVuZD0rfVtlY2dpbW9zeF0qKyBjb250YWluZWQgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorCisiIEEgc3BlY2lhbCBjYXNlIGZvciBtISF4IHdoaWNoIGFsbG93cyBmb3IgY29tbWVudHMgYW5kIGV4dHJhIHdoaXRlc3BhY2UgaW4gdGhlIHBhdHRlcm4KK3N5biByZWdpb24gcGVybE1hdGNoCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9K1w8cyErIGVuZD0rISttZT1lLTEgY29udGFpbnM9QHBlcmxJbnRlcnBTbGFzaCxwZXJsQ29tbWVudCBuZXh0Z3JvdXA9cGVybFN1YnN0aXR1dGlvblBsaW5nCitzeW4gcmVnaW9uIHBlcmxTdWJzdGl0dXRpb25QbGluZwltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PSshKyBlbmQ9KyFbZWNnaW1vc3hdKisgY29udGFpbmVkIGNvbnRhaW5zPUBwZXJsSW50ZXJwRFEKKworIiBTdWJzdGl0dXRpb25zCisiIGNhdGVycyBmb3IgdHIvLy8sIHRyIyMjIGFuZCB0cltdW10KKyIgcGVybE1hdGNoIGlzIHRoZSBmaXJzdCBwYXJ0LCBwZXJsVHJhbnNsYXRpb24qIGlzIHRoZSBzZWNvbmQsIHRyYW5zbGF0b3IgcGFydC4KK3N5biByZWdpb24gcGVybE1hdGNoCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9K1w8XCh0clx8eVwpJysgZW5kPSsnK21lPWUtMSBjb250YWlucz1AcGVybEludGVycFNRIG5leHRncm91cD1wZXJsVHJhbnNsYXRpb25TUQorc3luIHJlZ2lvbiBwZXJsTWF0Y2gJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rXDxcKHRyXHx5XCkiKyBlbmQ9KyIrbWU9ZS0xIGNvbnRhaW5zPUBwZXJsSW50ZXJwU1EgbmV4dGdyb3VwPXBlcmxUcmFuc2xhdGlvbkRRCitzeW4gcmVnaW9uIHBlcmxNYXRjaAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStcPFwodHJcfHlcKS8rIGVuZD0rLyttZT1lLTEgY29udGFpbnM9QHBlcmxJbnRlcnBTUSBuZXh0Z3JvdXA9cGVybFRyYW5zbGF0aW9uU2xhc2gKK3N5biByZWdpb24gcGVybE1hdGNoCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9K1w8XCh0clx8eVwpIysgZW5kPSsjK21lPWUtMSBjb250YWlucz1AcGVybEludGVycFNRIG5leHRncm91cD1wZXJsVHJhbnNsYXRpb25IYXNoCitzeW4gcmVnaW9uIHBlcmxNYXRjaAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStcPFwodHJcfHlcKVxbKyBlbmQ9K1xdKyBjb250YWlucz1AcGVybEludGVycFNRIG5leHRncm91cD1wZXJsVHJhbnNsYXRpb25CcmFja2V0IHNraXB3aGl0ZSBza2lwZW1wdHkgc2tpcG5sCitzeW4gcmVnaW9uIHBlcmxNYXRjaAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStcPFwodHJcfHlcKXsrIGVuZD0rfSsgY29udGFpbnM9QHBlcmxJbnRlcnBTUSBuZXh0Z3JvdXA9cGVybFRyYW5zbGF0aW9uQ3VybHkgc2tpcHdoaXRlIHNraXBlbXB0eSBza2lwbmwKK3N5biByZWdpb24gcGVybFRyYW5zbGF0aW9uU1EJCW1hdGNoZ3JvdXA9cGVybE1hdGNoU3RhcnRFbmQgc3RhcnQ9KycrIGVuZD0rJ1tjZHNdKisgY29udGFpbmVkCitzeW4gcmVnaW9uIHBlcmxUcmFuc2xhdGlvbkRRCQltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PSsiKyBlbmQ9KyJbY2RzXSorIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBwZXJsVHJhbnNsYXRpb25TbGFzaAkJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rLysgZW5kPSsvW2Nkc10qKyBjb250YWluZWQKK3N5biByZWdpb24gcGVybFRyYW5zbGF0aW9uSGFzaAkJbWF0Y2hncm91cD1wZXJsTWF0Y2hTdGFydEVuZCBzdGFydD0rIysgZW5kPSsjW2Nkc10qKyBjb250YWluZWQKK3N5biByZWdpb24gcGVybFRyYW5zbGF0aW9uQnJhY2tldAltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PStcWysgZW5kPStcXVtjZHNdKisgY29udGFpbmVkCitzeW4gcmVnaW9uIHBlcmxUcmFuc2xhdGlvbkN1cmx5CQltYXRjaGdyb3VwPXBlcmxNYXRjaFN0YXJ0RW5kIHN0YXJ0PSt7KyBlbmQ9K31bY2RzXSorIGNvbnRhaW5lZAorCisKKyIgVGhlID0+IG9wZXJhdG9yIGZvcmNlcyBhIGJhcmV3b3JkIHRvIHRoZSBsZWZ0IG9mIGl0IHRvIGJlIGludGVycHJldGVkIGFzCisiIGEgc3RyaW5nCitzeW4gbWF0Y2ggIHBlcmxTdHJpbmcgIlw8XElcaSpccyo9PiJtZT1lLTIKKworIiBTdHJpbmdzIGFuZCBxLCBxcSwgcXcgYW5kIHFyIGV4cHJlc3Npb25zCisKKyIgQnJhY2tldHMgaW4gcXEoKQorc3luIHJlZ2lvbiBwZXJsQnJhY2tldHMJc3RhcnQ9KygrIGVuZD0rKSsgY29udGFpbmVkIHRyYW5zcGFyZW50IGNvbnRhaW5zPXBlcmxCcmFja2V0cyxAcGVybFN0cmluZ1NRCisKK3N5biByZWdpb24gcGVybFN0cmluZ1VuZXhwYW5kZWQJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9IiciIGVuZD0iJyIgY29udGFpbnM9QHBlcmxJbnRlcnBTUQorc3luIHJlZ2lvbiBwZXJsU3RyaW5nCQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rIisgIGVuZD0rIisgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorc3luIHJlZ2lvbiBwZXJsUVEJCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PStcPHEjKyBlbmQ9KyMrIGNvbnRhaW5zPUBwZXJsSW50ZXJwU1EKK3N5biByZWdpb24gcGVybFFRCQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rXDxxfCsgZW5kPSt8KyBjb250YWlucz1AcGVybEludGVycFNRCitzeW4gcmVnaW9uIHBlcmxRUQkJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9K1w8cSgrIGVuZD0rKSsgY29udGFpbnM9QHBlcmxJbnRlcnBTUSxwZXJsQnJhY2tldHMKK3N5biByZWdpb24gcGVybFFRCQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rXDxxeysgZW5kPSt9KyBjb250YWlucz1AcGVybEludGVycFNRCitzeW4gcmVnaW9uIHBlcmxRUQkJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9K1w8cS8rIGVuZD0rLysgY29udGFpbnM9QHBlcmxJbnRlcnBTUQorc3luIHJlZ2lvbiBwZXJsUVEJCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PStcPHFbcXhdIysgZW5kPSsjKyBjb250YWlucz1AcGVybEludGVycERRCitzeW4gcmVnaW9uIHBlcmxRUQkJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9K1w8cVtxeF18KyBlbmQ9K3wrIGNvbnRhaW5zPUBwZXJsSW50ZXJwRFEKK3N5biByZWdpb24gcGVybFFRCQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rXDxxW3F4XSgrIGVuZD0rKSsgY29udGFpbnM9QHBlcmxJbnRlcnBEUSxwZXJsQnJhY2tldHMKK3N5biByZWdpb24gcGVybFFRCQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rXDxxW3F4XXsrIGVuZD0rfSsgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorc3luIHJlZ2lvbiBwZXJsUVEJCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PStcPHFbcXhdLysgZW5kPSsvKyBjb250YWlucz1AcGVybEludGVycERRCitzeW4gcmVnaW9uIHBlcmxRUQkJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9K1w8cXcjKyAgZW5kPSsjKyBjb250YWlucz1AcGVybEludGVycFNRCitzeW4gcmVnaW9uIHBlcmxRUQkJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9K1w8cXd8KyAgZW5kPSt8KyBjb250YWlucz1AcGVybEludGVycFNRCitzeW4gcmVnaW9uIHBlcmxRUQkJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9K1w8cXcoKyAgZW5kPSspKyBjb250YWlucz1AcGVybEludGVycFNRLHBlcmxCcmFja2V0cworc3luIHJlZ2lvbiBwZXJsUVEJCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PStcPHF3eysgIGVuZD0rfSsgY29udGFpbnM9QHBlcmxJbnRlcnBTUQorc3luIHJlZ2lvbiBwZXJsUVEJCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PStcPHF3LysgIGVuZD0rLysgY29udGFpbnM9QHBlcmxJbnRlcnBTUQorc3luIHJlZ2lvbiBwZXJsUVEJCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PStcPHFyIysgIGVuZD0rI1tpbW9zeF0qKyBjb250YWlucz1AcGVybEludGVycE1hdGNoCitzeW4gcmVnaW9uIHBlcmxRUQkJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9K1w8cXJ8KyAgZW5kPSt8W2ltb3N4XSorIGNvbnRhaW5zPUBwZXJsSW50ZXJwTWF0Y2gKK3N5biByZWdpb24gcGVybFFRCQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rXDxxcigrICBlbmQ9KylbaW1vc3hdKisgY29udGFpbnM9QHBlcmxJbnRlcnBNYXRjaAorc3luIHJlZ2lvbiBwZXJsUVEJCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PStcPHFyeysgIGVuZD0rfVtpbW9zeF0qKyBjb250YWlucz1AcGVybEludGVycE1hdGNoCitzeW4gcmVnaW9uIHBlcmxRUQkJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9K1w8cXIvKyAgZW5kPSsvW2ltb3N4XSorIGNvbnRhaW5zPUBwZXJsSW50ZXJwU2xhc2gKKworIiBDb25zdHJ1Y3RzIHN1Y2ggYXMgcHJpbnQgPDxFT0YgWy4uLl0gRU9GLCAnaGVyZScgZG9jdW1lbnRzCisiCitpZiB2ZXJzaW9uID49IDYwMAorICAiIFhYWCBBbnkgc3RhdGVtZW50cyBhZnRlciB0aGUgaWRlbnRpZmllciBhcmUgaW4gcGVybFN0cmluZyBjb2xvdXIgKGkuZS4KKyAgIiAnaWYgJGEnIGluICdwcmludCA8PEVPRiBpZiAkYScpLgorICBpZiBleGlzdHMoInBlcmxfZm9sZCIpCisgICAgc3luIHJlZ2lvbiBwZXJsSGVyZURvYwltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rPDxceihcSVxpKlwpKyAgICBlbmQ9K15cejEkKyBjb250YWlucz1AcGVybEludGVycERRIGZvbGQKKyAgICBzeW4gcmVnaW9uIHBlcmxIZXJlRG9jCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PSs8PFxzKiJceiguXHstfVwpIisgZW5kPSteXHoxJCsgY29udGFpbnM9QHBlcmxJbnRlcnBEUSBmb2xkCisgICAgc3luIHJlZ2lvbiBwZXJsSGVyZURvYwltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rPDxccyonXHooLlx7LX1cKScrIGVuZD0rXlx6MSQrIGNvbnRhaW5zPUBwZXJsSW50ZXJwU1EgZm9sZAorICAgIHN5biByZWdpb24gcGVybEhlcmVEb2MJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9Kzw8XHMqIiIrICAgICAgICAgZW5kPSteJCsgICAgY29udGFpbnM9QHBlcmxJbnRlcnBEUSxwZXJsTm90RW1wdHlMaW5lIGZvbGQKKyAgICBzeW4gcmVnaW9uIHBlcmxIZXJlRG9jCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PSs8PFxzKicnKyAgICAgICAgIGVuZD0rXiQrICAgIGNvbnRhaW5zPUBwZXJsSW50ZXJwU1EscGVybE5vdEVtcHR5TGluZSBmb2xkCisgICAgc3luIHJlZ2lvbiBwZXJsQXV0b2xvYWQJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9Kzw8WyciXVx6KEVORF9cKFNVQlx8T0ZfRlVOQ1x8T0ZfQVVUT0xPQURcKVwpWyciXSsgZW5kPSteXHoxJCsgY29udGFpbnM9QUxMIGZvbGQKKyAgZWxzZQorICAgIHN5biByZWdpb24gcGVybEhlcmVEb2MJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9Kzw8XHooXElcaSpcKSsgICAgZW5kPSteXHoxJCsgY29udGFpbnM9QHBlcmxJbnRlcnBEUQorICAgIHN5biByZWdpb24gcGVybEhlcmVEb2MJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9Kzw8XHMqIlx6KC5cey19XCkiKyBlbmQ9K15cejEkKyBjb250YWlucz1AcGVybEludGVycERRCisgICAgc3luIHJlZ2lvbiBwZXJsSGVyZURvYwltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rPDxccyonXHooLlx7LX1cKScrIGVuZD0rXlx6MSQrIGNvbnRhaW5zPUBwZXJsSW50ZXJwU1EKKyAgICBzeW4gcmVnaW9uIHBlcmxIZXJlRG9jCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PSs8PFxzKiIiKyAgICAgICAgIGVuZD0rXiQrICAgIGNvbnRhaW5zPUBwZXJsSW50ZXJwRFEscGVybE5vdEVtcHR5TGluZQorICAgIHN5biByZWdpb24gcGVybEhlcmVEb2MJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9Kzw8XHMqJycrICAgICAgICAgZW5kPSteJCsgICAgY29udGFpbnM9QHBlcmxJbnRlcnBTUSxwZXJsTm90RW1wdHlMaW5lCisgICAgc3luIHJlZ2lvbiBwZXJsQXV0b2xvYWQJbWF0Y2hncm91cD1wZXJsU3RyaW5nU3RhcnRFbmQgc3RhcnQ9Kzw8XChbJyJdXHxcKVx6KEVORF9cKFNVQlx8T0ZfRlVOQ1x8T0ZfQVVUT0xPQURcKVwpXDErIGVuZD0rXlx6MSQrIGNvbnRhaW5zPUFMTAorICBlbmRpZgorZWxzZQorICBzeW4gbWF0Y2ggcGVybFVudGlsRU9GU3RhcnQJIjw8RU9GLioibGM9NSBuZXh0Z3JvdXA9cGVybFVudGlsRU9GRFEgc2tpcG5sIHRyYW5zcGFyZW50CisgIHN5biBtYXRjaCBwZXJsVW50aWxFT0ZTdGFydAkiPDxccypcIkVPRlwiLioiIG5leHRncm91cD1wZXJsVW50aWxFT0ZEUSBza2lwbmwgdHJhbnNwYXJlbnQKKyAgc3luIG1hdGNoIHBlcmxVbnRpbEVPRlN0YXJ0CSI8PFxzKidFT0YnLioiIG5leHRncm91cD1wZXJsVW50aWxFT0ZTUSBza2lwbmwgdHJhbnNwYXJlbnQKKyAgc3luIG1hdGNoIHBlcmxVbnRpbEVPRlN0YXJ0CSI8PFxzKlwiXCIuKiIgbmV4dGdyb3VwPXBlcmxVbnRpbEVtcHR5RFEgc2tpcG5sIHRyYW5zcGFyZW50CisgIHN5biBtYXRjaCBwZXJsVW50aWxFT0ZTdGFydAkiPDxccyonJy4qIiBuZXh0Z3JvdXA9cGVybFVudGlsRW1wdHlTUSBza2lwbmwgdHJhbnNwYXJlbnQKKyAgc3luIHJlZ2lvbiBwZXJsVW50aWxFT0ZEUQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rKyBlbmQ9Il5FT0YkIiBjb250YWlucz1AcGVybEludGVycERRIGNvbnRhaW5lZAorICBzeW4gcmVnaW9uIHBlcmxVbnRpbEVPRlNRCW1hdGNoZ3JvdXA9cGVybFN0cmluZ1N0YXJ0RW5kIHN0YXJ0PSsrIGVuZD0iXkVPRiQiIGNvbnRhaW5zPUBwZXJsSW50ZXJwU1EgY29udGFpbmVkCisgIHN5biByZWdpb24gcGVybFVudGlsRW1wdHlTUQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rKyBlbmQ9Il4kIiBjb250YWlucz1AcGVybEludGVycERRLHBlcmxOb3RFbXB0eUxpbmUgY29udGFpbmVkCisgIHN5biByZWdpb24gcGVybFVudGlsRW1wdHlEUQltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rKyBlbmQ9Il4kIiBjb250YWlucz1AcGVybEludGVycFNRLHBlcmxOb3RFbXB0eUxpbmUgY29udGFpbmVkCisgIHN5biBtYXRjaCBwZXJsSGVyZUlkZW50aWZpZXIJIjw8RU9GIgorICBzeW4gcmVnaW9uIHBlcmxBdXRvbG9hZAltYXRjaGdyb3VwPXBlcmxTdHJpbmdTdGFydEVuZCBzdGFydD0rPDxcKFsnIl1cfFwpXChFTkRfXChTVUJcfE9GX0ZVTkNcfE9GX0FVVE9MT0FEXClcKVwxKyBlbmQ9K15cKEVORF9cKFNVQlx8T0ZfRlVOQ1x8T0ZfQVVUT0xPQURcKVwpJCsgY29udGFpbnM9QUxMCitlbmRpZgorCisKKyIgQ2xhc3MgZGVjbGFyYXRpb25zCisiCitzeW4gbWF0Y2ggIHBlcmxQYWNrYWdlRGVjbAkiXlxzKlw8cGFja2FnZVxzXCtcU1wrIiBjb250YWlucz1wZXJsU3RhdGVtZW50UGFja2FnZQorc3luIGtleXdvcmQgcGVybFN0YXRlbWVudFBhY2thZ2UJcGFja2FnZSBjb250YWluZWQKKworIiBGdW5jdGlvbnMKKyIgICAgICAgc3ViIFtuYW1lXSBbKHByb3RvdHlwZSldIHsKKyIKK3N5biByZWdpb24gcGVybEZ1bmN0aW9uCQlzdGFydD0iXHMqXDxzdWJcPiIgZW5kPSJbO3tdImhlPWUtMSBjb250YWlucz1wZXJsU3RhdGVtZW50U3ViLHBlcmxGdW5jdGlvblByb3RvdHlwZSxwZXJsRnVuY3Rpb25QUmVmLHBlcmxGdW5jdGlvbk5hbWUscGVybENvbW1lbnQKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRTdWIJc3ViIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggIHBlcmxGdW5jdGlvblByb3RvdHlwZQkiKFteKV0qKSIgY29udGFpbmVkCitpZiBleGlzdHMoInBlcmxfd2FudF9zY29wZV9pbl92YXJpYWJsZXMiKQorICAgc3luIG1hdGNoICBwZXJsRnVuY3Rpb25QUmVmCSJcaFx3Kjo6IiBjb250YWluZWQKKyAgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uTmFtZQkiXGhcdypbXjpdIiBjb250YWluZWQKK2Vsc2UKKyAgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uTmFtZQkiXGhbWzphbG51bTpdXzpdKiIgY29udGFpbmVkCitlbmRpZgorCisKKyIgQWxsIG90aGVyICMgYXJlIGNvbW1lbnRzLCBleGNlcHQgXiMhCitzeW4gbWF0Y2ggIHBlcmxDb21tZW50CQkiIy4qIiBjb250YWlucz1wZXJsVG9kbworc3luIG1hdGNoICBwZXJsU2hhcnBCYW5nCSJeIyEuKiIKKworIiBGb3JtYXRzCitzeW4gcmVnaW9uIHBlcmxGb3JtYXQJCW1hdGNoZ3JvdXA9cGVybFN0YXRlbWVudElPRnVuYyBzdGFydD0iXlxzKlw8Zm9ybWF0XHNcK1xrXCtccyo9XHMqJCJycz1zKzYgZW5kPSJeXHMqXC5ccyokIiBjb250YWlucz1wZXJsRm9ybWF0TmFtZSxwZXJsRm9ybWF0RmllbGQscGVybFZhclBsYWluCitzeW4gbWF0Y2ggIHBlcmxGb3JtYXROYW1lCSJmb3JtYXRcc1wrXGtcK1xzKj0ibGM9NyxtZT1lLTEgY29udGFpbmVkCitzeW4gbWF0Y2ggIHBlcmxGb3JtYXRGaWVsZAkiW0BeXVt8PD5+XVwrXChcLlwuXC5cKVw9IiBjb250YWluZWQKK3N5biBtYXRjaCAgcGVybEZvcm1hdEZpZWxkCSJbQF5dI1sjLl0qIiBjb250YWluZWQKK3N5biBtYXRjaCAgcGVybEZvcm1hdEZpZWxkCSJAXCoiIGNvbnRhaW5lZAorc3luIG1hdGNoICBwZXJsRm9ybWF0RmllbGQJIkBbXkEtWmEtel98PD5+IypdIm1lPWUtMSBjb250YWluZWQKK3N5biBtYXRjaCAgcGVybEZvcm1hdEZpZWxkCSJAJCIgY29udGFpbmVkCisKKyIgX19FTkRfXyBhbmQgX19EQVRBX18gY2xhdXNlcworaWYgZXhpc3RzKCJwZXJsX2ZvbGQiKQorICBzeW50YXggcmVnaW9uIHBlcmxEQVRBCQlzdGFydD0iXl9fXChEQVRBXHxFTkRcKV9fJCIgc2tpcD0iLiIgZW5kPSIuIiBjb250YWlucz1wZXJsUE9ELEBwZXJsREFUQSBmb2xkCitlbHNlCisgIHN5bnRheCByZWdpb24gcGVybERBVEEJCXN0YXJ0PSJeX19cKERBVEFcfEVORFwpX18kIiBza2lwPSIuIiBlbmQ9Ii4iIGNvbnRhaW5zPXBlcmxQT0QsQHBlcmxEQVRBCitlbmRpZgorCisKKyIKKyIgRm9sZGluZworCitpZiBleGlzdHMoInBlcmxfZm9sZCIpCisgIHN5biByZWdpb24gcGVybFBhY2thZ2VGb2xkIHN0YXJ0PSJecGFja2FnZSBcU1wrOyQiIGVuZD0iXjE7JCIgZW5kPSJcblwrcGFja2FnZSJtZT1zLTEgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kCisgIHN5biByZWdpb24gcGVybFN1YkZvbGQgICAgIHN0YXJ0PSJeXHooXHMqXClcPHN1Ylw+LipbXn07XSQiIGVuZD0iXlx6MX1ccyokIiBlbmQ9Il5cejF9XHMqXCMuKiQiIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZAorICBzeW4gcmVnaW9uIHBlcmxCRUdJTkVOREZvbGQgc3RhcnQ9Il5ceihccypcKVw8XChCRUdJTlx8RU5EXClcPi4qW159O10kIiBlbmQ9Il5cejF9XHMqJCIgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kCisKKyAgaWYgZXhpc3RzKCJwZXJsX2ZvbGRfYmxvY2tzIikKKyAgICBzeW4gcmVnaW9uIHBlcmxJZkZvbGQgc3RhcnQ9Il5ceihccypcKVwoaWZcfHVubGVzc1x8Zm9yXHx3aGlsZVx8dW50aWxcKVxzKiguKilccyp7XHMqJCIgc3RhcnQ9Il5ceihccypcKWZvcmVhY2hccypcKFwobXlcfG91clwpXD1ccypcU1wrXHMqXClcPSguKilccyp7XHMqJCIgZW5kPSJeXHoxfVxzKjtcPSQiIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZAorICAgIHN5biByZWdpb24gcGVybElmRm9sZCBzdGFydD0iXlx6KFxzKlwpZG9ccyp7XHMqJCIgZW5kPSJeXHoxfVxzKndoaWxlIiBlbmQ9Il5cejF9XHMqO1w9JCIgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kCisgIGVuZGlmCisKKyAgc2V0bG9jYWwgZm9sZG1ldGhvZD1zeW50YXgKKyAgc3luIHN5bmMgZnJvbXN0YXJ0CitlbHNlCisgICIgZnJvbXN0YXJ0IGFib3ZlIHNlZW1zIHRvIHNldCBtaW5saW5lcyBldmVuIGlmIHBlcmxfZm9sZCBpcyBub3Qgc2V0LgorICBzeW4gc3luYyBtaW5saW5lcz0wCitlbmRpZgorCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wZXJsX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3Blcmxfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyAgSGlMaW5rIHBlcmxTaGFycEJhbmcJCVByZVByb2MKKyAgSGlMaW5rIHBlcmxDb250cm9sCQlQcmVQcm9jCisgIEhpTGluayBwZXJsSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgcGVybFNwZWNpYWwJCVNwZWNpYWwKKyAgSGlMaW5rIHBlcmxTdHJpbmcJCVN0cmluZworICBIaUxpbmsgcGVybENoYXJhY3RlcgkJQ2hhcmFjdGVyCisgIEhpTGluayBwZXJsTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHBlcmxGbG9hdAkJRmxvYXQKKyAgSGlMaW5rIHBlcmxUeXBlCQlUeXBlCisgIEhpTGluayBwZXJsSWRlbnRpZmllcgkJSWRlbnRpZmllcgorICBIaUxpbmsgcGVybExhYmVsCQlMYWJlbAorICBIaUxpbmsgcGVybFN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBwZXJsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHBlcmxSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgcGVybE9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgcGVybEZ1bmN0aW9uCQlGdW5jdGlvbgorICBIaUxpbmsgcGVybEZ1bmN0aW9uUHJvdG90eXBlCXBlcmxGdW5jdGlvbgorICBIaUxpbmsgcGVybENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHBlcmxUb2RvCQlUb2RvCisgIGlmIGV4aXN0cygicGVybF9zdHJpbmdfYXNfc3RhdGVtZW50IikKKyAgICBIaUxpbmsgcGVybFN0cmluZ1N0YXJ0RW5kCXBlcmxTdGF0ZW1lbnQKKyAgZWxzZQorICAgIEhpTGluayBwZXJsU3RyaW5nU3RhcnRFbmQJcGVybFN0cmluZworICBlbmRpZgorICBIaUxpbmsgcGVybExpc3QJCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxNaXNjCQlwZXJsU3RhdGVtZW50CisgIEhpTGluayBwZXJsVmFyUGxhaW4JCXBlcmxJZGVudGlmaWVyCisgIEhpTGluayBwZXJsRmlsZWRlc2NSZWFkCXBlcmxJZGVudGlmaWVyCisgIEhpTGluayBwZXJsRmlsZWRlc2NTdGF0ZW1lbnQJcGVybElkZW50aWZpZXIKKyAgSGlMaW5rIHBlcmxWYXJTaW1wbGVNZW1iZXIJcGVybElkZW50aWZpZXIKKyAgSGlMaW5rIHBlcmxWYXJTaW1wbGVNZW1iZXJOYW1lIHBlcmxTdHJpbmcKKyAgSGlMaW5rIHBlcmxWYXJOb3RJbk1hdGNoZXMJcGVybElkZW50aWZpZXIKKyAgSGlMaW5rIHBlcmxWYXJTbGFzaAkJcGVybElkZW50aWZpZXIKKyAgSGlMaW5rIHBlcmxRUQkJCXBlcmxTdHJpbmcKKyAgaWYgdmVyc2lvbiA+PSA2MDAKKyAgICBIaUxpbmsgcGVybEhlcmVEb2MJCXBlcmxTdHJpbmcKKyAgZWxzZQorICAgIEhpTGluayBwZXJsSGVyZUlkZW50aWZpZXIJcGVybFN0cmluZ1N0YXJ0RW5kCisgICAgSGlMaW5rIHBlcmxVbnRpbEVPRkRRCXBlcmxTdHJpbmcKKyAgICBIaUxpbmsgcGVybFVudGlsRU9GU1EJcGVybFN0cmluZworICAgIEhpTGluayBwZXJsVW50aWxFbXB0eURRCXBlcmxTdHJpbmcKKyAgICBIaUxpbmsgcGVybFVudGlsRW1wdHlTUQlwZXJsU3RyaW5nCisgICAgSGlMaW5rIHBlcmxVbnRpbEVPRgkJcGVybFN0cmluZworICBlbmRpZgorICBIaUxpbmsgcGVybFN0cmluZ1VuZXhwYW5kZWQJcGVybFN0cmluZworICBIaUxpbmsgcGVybFN1YnN0aXR1dGlvblNRCXBlcmxTdHJpbmcKKyAgSGlMaW5rIHBlcmxTdWJzdGl0dXRpb25EUQlwZXJsU3RyaW5nCisgIEhpTGluayBwZXJsU3Vic3RpdHV0aW9uU2xhc2gJcGVybFN0cmluZworICBIaUxpbmsgcGVybFN1YnN0aXR1dGlvbkhhc2gJcGVybFN0cmluZworICBIaUxpbmsgcGVybFN1YnN0aXR1dGlvbkJyYWNrZXQgcGVybFN0cmluZworICBIaUxpbmsgcGVybFN1YnN0aXR1dGlvbkN1cmx5IAlwZXJsU3RyaW5nCisgIEhpTGluayBwZXJsU3Vic3RpdHV0aW9uUGxpbmcJcGVybFN0cmluZworICBIaUxpbmsgcGVybFRyYW5zbGF0aW9uU2xhc2gJcGVybFN0cmluZworICBIaUxpbmsgcGVybFRyYW5zbGF0aW9uSGFzaAlwZXJsU3RyaW5nCisgIEhpTGluayBwZXJsVHJhbnNsYXRpb25CcmFja2V0CXBlcmxTdHJpbmcKKyAgSGlMaW5rIHBlcmxUcmFuc2xhdGlvbkN1cmx5CXBlcmxTdHJpbmcKKyAgSGlMaW5rIHBlcmxNYXRjaAkJcGVybFN0cmluZworICBIaUxpbmsgcGVybE1hdGNoU3RhcnRFbmQJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybEZvcm1hdE5hbWUJCXBlcmxJZGVudGlmaWVyCisgIEhpTGluayBwZXJsRm9ybWF0RmllbGQJcGVybFN0cmluZworICBIaUxpbmsgcGVybFBhY2thZ2VEZWNsCXBlcmxUeXBlCisgIEhpTGluayBwZXJsU3RvcmFnZUNsYXNzCXBlcmxUeXBlCisgIEhpTGluayBwZXJsUGFja2FnZVJlZgkJcGVybFR5cGUKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRQYWNrYWdlCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRTdWIJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybFN0YXRlbWVudFN0b3JhZ2UJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybFN0YXRlbWVudENvbnRyb2wJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybFN0YXRlbWVudFNjYWxhcglwZXJsU3RhdGVtZW50CisgIEhpTGluayBwZXJsU3RhdGVtZW50UmVnZXhwCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnROdW1lcmljCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRMaXN0CXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRIYXNoCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRJT2Z1bmMJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybFN0YXRlbWVudEZpbGVkZXNjCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRWZWN0b3IJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybFN0YXRlbWVudEZpbGVzCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRGbG93CXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRTY29wZQlwZXJsU3RhdGVtZW50CisgIEhpTGluayBwZXJsU3RhdGVtZW50SW5jbHVkZQlwZXJsU3RhdGVtZW50CisgIEhpTGluayBwZXJsU3RhdGVtZW50UHJvYwlwZXJsU3RhdGVtZW50CisgIEhpTGluayBwZXJsU3RhdGVtZW50U29ja2V0CXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRJUEMJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybFN0YXRlbWVudE5ldHdvcmsJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybFN0YXRlbWVudFB3b3JkCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRUaW1lCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnRNaXNjCXBlcmxTdGF0ZW1lbnQKKyAgSGlMaW5rIHBlcmxTdGF0ZW1lbnROZXcJcGVybFN0YXRlbWVudAorICBIaUxpbmsgcGVybEZ1bmN0aW9uTmFtZQlwZXJsSWRlbnRpZmllcgorICBIaUxpbmsgcGVybE1ldGhvZAkJcGVybElkZW50aWZpZXIKKyAgSGlMaW5rIHBlcmxGdW5jdGlvblBSZWYJcGVybFR5cGUKKyAgSGlMaW5rIHBlcmxQT0QJCXBlcmxDb21tZW50CisgIEhpTGluayBwZXJsU2hlbGxDb21tYW5kCXBlcmxTdHJpbmcKKyAgSGlMaW5rIHBlcmxTcGVjaWFsQXNjaWkJcGVybFNwZWNpYWwKKyAgSGlMaW5rIHBlcmxTcGVjaWFsRG9sbGFyCXBlcmxTcGVjaWFsCisgIEhpTGluayBwZXJsU3BlY2lhbFN0cmluZwlwZXJsU3BlY2lhbAorICBIaUxpbmsgcGVybFNwZWNpYWxTdHJpbmdVCXBlcmxTcGVjaWFsCisgIEhpTGluayBwZXJsU3BlY2lhbE1hdGNoCXBlcmxTcGVjaWFsCisgIEhpTGluayBwZXJsU3BlY2lhbEJFT00JcGVybFNwZWNpYWwKKyAgSGlMaW5rIHBlcmxEQVRBCQlwZXJsQ29tbWVudAorCisgIEhpTGluayBwZXJsQnJhY2tldHMJCUVycm9yCisKKyAgIiBQb3NzaWJsZSBlcnJvcnMKKyAgSGlMaW5rIHBlcmxOb3RFbXB0eUxpbmUJRXJyb3IKKyAgSGlMaW5rIHBlcmxFbHNlSWZFcnJvcglFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisiIFN5bmNpbmcgdG8gc3BlZWQgdXAgcHJvY2Vzc2luZworIgoraWYgIWV4aXN0cygicGVybF9ub19zeW5jX29uX3N1YiIpCisgIHN5biBzeW5jIG1hdGNoIHBlcmxTeW5jCWdyb3VwaGVyZSBOT05FICJeXHMqXDxwYWNrYWdlXHMiCisgIHN5biBzeW5jIG1hdGNoIHBlcmxTeW5jCWdyb3VwaGVyZSBwZXJsRnVuY3Rpb24gIl5ccypcPHN1YlxzIgorICBzeW4gc3luYyBtYXRjaCBwZXJsU3luYwlncm91cGhlcmUgTk9ORSAiXn0iCitlbmRpZgorCitpZiAhZXhpc3RzKCJwZXJsX25vX3N5bmNfb25fZ2xvYmFsX3ZhciIpCisgIHN5biBzeW5jIG1hdGNoIHBlcmxTeW5jCWdyb3VwaGVyZSBOT05FICJeJFxJW1s6YWxudW06XV86XStccyo9XHMqeyIKKyAgc3luIHN5bmMgbWF0Y2ggcGVybFN5bmMJZ3JvdXBoZXJlIE5PTkUgIl5bQCVdXElbWzphbG51bTpdXzpdK1xzKj1ccyooIgorZW5kaWYKKworaWYgZXhpc3RzKCJwZXJsX3N5bmNfZGlzdCIpCisgIGV4ZWN1dGUgInN5biBzeW5jIG1heGxpbmVzPSIgLiBwZXJsX3N5bmNfZGlzdAorZWxzZQorICBzeW4gc3luYyBtYXhsaW5lcz0xMDAKK2VuZGlmCisKK3N5biBzeW5jIG1hdGNoIHBlcmxTeW5jUE9ECWdyb3VwaGVyZSBwZXJsUE9EICJePXBvZCIKK3N5biBzeW5jIG1hdGNoIHBlcmxTeW5jUE9ECWdyb3VwaGVyZSBwZXJsUE9EICJePWhlYWQiCitzeW4gc3luYyBtYXRjaCBwZXJsU3luY1BPRAlncm91cGhlcmUgcGVybFBPRCAiXj1pdGVtIgorc3luIHN5bmMgbWF0Y2ggcGVybFN5bmNQT0QJZ3JvdXBoZXJlIE5PTkUgIl49Y3V0IgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwZXJsIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGYudmltIGIvcnVudGltZS9zeW50YXgvcGYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NGNmYjMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wZi52aW0KQEAgLTAsMCArMSw3NSBAQAorIiBwZiBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJT3BlbkJTRCBwYWNrZXQgZmlsdGVyIGNvbmZpZ3VyYXRpb24gKHBmLmNvbmYpCisiIE1haW50YWluZXI6CUNhbWllbCBEb2JiZWxhYXIgPGNkQHNlbnRpYS5ubD4KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDI3CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc2V0bG9jYWwgZm9sZG1ldGhvZD1zeW50YXgKK3N5biBzeW5jIGZyb21zdGFydAorCitzeW4gY2x1c3RlcglwZk5vdExTCQljb250YWlucz1wZkNvbW1lbnQscGZUb2RvLHBmVmFyQXNzaWduCitzeW4ga2V5d29yZAlwZkNtZAkJYWx0cSBhbmNob3IgYW50aXNwb29mIGJpbmF0IG5hdCBwYXNzCitzeW4ga2V5d29yZAlwZkNtZAkJcXVldWUgcmRyIHNjcnViIHRhYmxlIHNldAorc3luIGtleXdvcmQJcGZTZXJ2aWNlCWF1dGggYmdwIGRvbWFpbiBmaW5nZXIgZnRwIGh0dHAgaHR0cHMgaWRlbnQKK3N5biBrZXl3b3JkCXBmU2VydmljZQlpbWFwIGlyYyBpc2FrbXAga2VyYmVyb3MgbWFpbCBuYW1lc2VydmVyIG5mcworc3luIGtleXdvcmQJcGZTZXJ2aWNlCW5udHAgbnRwIHBvcDMgcG9ydG1hcCBwcHRwIHJwY2JpbmQgcnN5bmMgc210cAorc3luIGtleXdvcmQJcGZTZXJ2aWNlCXNubXAgc25tcHRyYXAgc29ja3Mgc3NoIHN1bnJwYyBzeXNsb2cgdGVsbmV0CitzeW4ga2V5d29yZAlwZlNlcnZpY2UJdGZ0cCB3d3cKK3N5biBrZXl3b3JkCXBmVG9kbwkJVE9ETyBYWFggY29udGFpbmVkCitzeW4ga2V5d29yZAlwZldpbGRBZGRyCWFsbCBhbnkKK3N5biBtYXRjaAlwZkNtZAkJL2Jsb2NrXHMvCitzeW4gbWF0Y2gJcGZDb21tZW50CS8jLiokLyBjb250YWlucz1wZlRvZG8KK3N5biBtYXRjaAlwZkNvbnQJCS9cXCQvCitzeW4gbWF0Y2gJcGZFcnJDbG9zZQkvfS8KK3N5biBtYXRjaAlwZklQdjQJCS9cZFx7MSwzfVwuXGRcezEsM31cLlxkXHsxLDN9XC5cZFx7MSwzfS8KK3N5biBtYXRjaAlwZklQdjYJCS9bYS1mQS1GMC05Ol0qOjpbYS1mQS1GMC05Oi5dKi8KK3N5biBtYXRjaAlwZklQdjYJCS9bYS1mQS1GMC05Ol1cKzpbYS1mQS1GMC05Ol1cKzpbYS1mQS1GMC05Oi5dXCsvCitzeW4gbWF0Y2gJcGZOZXRtYXNrCS9cL1xkXCsvCitzeW4gbWF0Y2gJcGZOdW0JCS9bYS16QS1aMC05XzouXVxAPCFcZFwrW2EtekEtWjAtOV86Ll1cQCEvCitzeW4gbWF0Y2gJcGZUYWJsZQkJLzxccypbYS16QS1aXVthLXpBLVowLTlfXSpccyo+Lworc3luIG1hdGNoCXBmVmFyCQkvJFthLXpBLVpdW2EtekEtWjAtOV9dKi8KK3N5biBtYXRjaAlwZlZhckFzc2lnbgkvXlxzKlthLXpBLVpdW2EtekEtWjAtOV9dKlxzKj0vbWU9ZS0xCitzeW4gcmVnaW9uCXBmRm9sZDEJCXN0YXJ0PS9eI1x7MX0+LyBlbmQ9L14jXHsxLDN9Pi9tZT1zLTEgdHJhbnNwYXJlbnQgZm9sZAorc3luIHJlZ2lvbglwZkZvbGQyCQlzdGFydD0vXiNcezJ9Pi8gZW5kPS9eI1x7MiwzfT4vbWU9cy0xIHRyYW5zcGFyZW50IGZvbGQKK3N5biByZWdpb24JcGZGb2xkMwkJc3RhcnQ9L14jXHszfT4vIGVuZD0vXiNcezN9Pi9tZT1zLTEgdHJhbnNwYXJlbnQgZm9sZAorc3luIHJlZ2lvbglwZkxpc3QJCXN0YXJ0PS97LyBlbmQ9L30vIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxwZkVyckNsb3NlLEBwZk5vdExTCitzeW4gcmVnaW9uCXBmU3RyaW5nCXN0YXJ0PS8iLyBlbmQ9LyIvIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxwZlN0cmluZyxAcGZOb3RMUworc3luIHJlZ2lvbglwZlN0cmluZwlzdGFydD0vJy8gZW5kPS8nLyB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQscGZTdHJpbmcsQHBmTm90TFMKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY19zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9jX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHBmQ21kCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHBmQ29tbWVudAlDb21tZW50CisgIEhpTGluayBwZkNvbnQJCVN0YXRlbWVudAorICBIaUxpbmsgcGZFcnJDbG9zZQlFcnJvcgorICBIaUxpbmsgcGZJUHY0CQlUeXBlCisgIEhpTGluayBwZklQdjYJCVR5cGUKKyAgSGlMaW5rIHBmTmV0bWFzawlDb25zdGFudAorICBIaUxpbmsgcGZOdW0JCUNvbnN0YW50CisgIEhpTGluayBwZlNlcnZpY2UJQ29uc3RhbnQKKyAgSGlMaW5rIHBmVGFibGUJSWRlbnRpZmllcgorICBIaUxpbmsgcGZUb2RvCQlUb2RvCisgIEhpTGluayBwZlZhcgkJSWRlbnRpZmllcgorICBIaUxpbmsgcGZWYXJBc3NpZ24JSWRlbnRpZmllcgorICBIaUxpbmsgcGZXaWxkQWRkcglUeXBlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBmIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGZtYWluLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BmbWFpbi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMzNmQ3ZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BmbWFpbi52aW0KQEAgLTAsMCArMSw4NTggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglQb3N0Zml4IG1haW4uY2YgY29uZmlndXJhdGlvbgorIiBNYWludGFpbmVyOglLRUxFTUVOIFBldGVyIDxQZXRlciBkb3QgS2VsZW1lbiBhdCBjZXJuIGRvdCBjaD4KKyIgTGFzdCBDaGFuZ2U6CTIwMDQgSnVuIDAxCisiIFZlcnNpb246CTAuMTIKKyIgVVJMOgkJaHR0cDovL2Nlcm4uY2gvZnVqaS92aW0vc3ludGF4L3BmbWFpbi52aW0KKyIgQ29tbWVudDoJQmFzZWQgb24gUG9zdGZpeCAyLjEuMSBkZWZhdWx0cy4gKCtUTFMpCisKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAKKwlzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC0KK2Vsc2UKKwlzZXQgaXNrZXl3b3JkPUAsNDgtNTcsXywtCitlbmRpZgorCitzeW50YXggY2FzZSBtYXRjaAorc3ludGF4IHN5bmMgbWlubGluZXM9MQorCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIDJib3VuY2Vfbm90aWNlX3JlY2lwaWVudAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBhY2Nlc3NfbWFwX3JlamVjdF9jb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFkZHJlc3NfdmVyaWZ5X2RlZmF1bHRfdHJhbnNwb3J0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFkZHJlc3NfdmVyaWZ5X2xvY2FsX3RyYW5zcG9ydAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBhZGRyZXNzX3ZlcmlmeV9tYXAKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYWRkcmVzc192ZXJpZnlfbmVnYXRpdmVfY2FjaGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYWRkcmVzc192ZXJpZnlfbmVnYXRpdmVfZXhwaXJlX3RpbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYWRkcmVzc192ZXJpZnlfbmVnYXRpdmVfcmVmcmVzaF90aW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFkZHJlc3NfdmVyaWZ5X3BvbGxfY291bnQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYWRkcmVzc192ZXJpZnlfcG9sbF9kZWxheQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBhZGRyZXNzX3ZlcmlmeV9wb3NpdGl2ZV9leHBpcmVfdGltZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBhZGRyZXNzX3ZlcmlmeV9wb3NpdGl2ZV9yZWZyZXNoX3RpbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYWRkcmVzc192ZXJpZnlfcmVsYXlfdHJhbnNwb3J0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFkZHJlc3NfdmVyaWZ5X3JlbGF5aG9zdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBhZGRyZXNzX3ZlcmlmeV9zZW5kZXIKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYWRkcmVzc192ZXJpZnlfc2VydmljZV9uYW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFkZHJlc3NfdmVyaWZ5X3RyYW5zcG9ydF9tYXBzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFkZHJlc3NfdmVyaWZ5X3ZpcnR1YWxfdHJhbnNwb3J0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFsaWFzX2RhdGFiYXNlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFsaWFzX21hcHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYWxsb3dfbWFpbF90b19jb21tYW5kcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBhbGxvd19tYWlsX3RvX2ZpbGVzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFsbG93X21pbl91c2VyCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFsbG93X3BlcmNlbnRfaGFjaworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBhbGxvd191bnRydXN0ZWRfcm91dGluZworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBhbHRlcm5hdGVfY29uZmlnX2RpcmVjdG9yaWVzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFsd2F5c19iY2MKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYXBwZW5kX2F0X215b3JpZ2luCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGFwcGVuZF9kb3RfbXlkb21haW4KK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYXBwbGljYXRpb25fZXZlbnRfZHJhaW5fdGltZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBiYWNrd2FyZHNfYm91bmNlX2xvZ2ZpbGVfY29tcGF0aWJpbGl0eQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBiZXJrZWxleV9kYl9jcmVhdGVfYnVmZmVyX3NpemUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYmVya2VsZXlfZGJfcmVhZF9idWZmZXJfc2l6ZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBiZXN0X214X3RyYW5zcG9ydAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBiaWZmCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGJvZHlfY2hlY2tzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGJvZHlfY2hlY2tzX3NpemVfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYm91bmNlX25vdGljZV9yZWNpcGllbnQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYm91bmNlX3F1ZXVlX2xpZmV0aW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGJvdW5jZV9zZXJ2aWNlX25hbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYm91bmNlX3NpemVfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgYnJva2VuX3Nhc2xfYXV0aF9jbGllbnRzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGNhbm9uaWNhbF9tYXBzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGNsZWFudXBfc2VydmljZV9uYW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGNvbW1hbmRfZGlyZWN0b3J5CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGNvbW1hbmRfZXhwYW5zaW9uX2ZpbHRlcgorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBjb21tYW5kX3RpbWVfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgY29uZmlnX2RpcmVjdG9yeQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBjb250ZW50X2ZpbHRlcgorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkYWVtb25fZGlyZWN0b3J5CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRhZW1vbl90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRlYnVnX3BlZXJfbGV2ZWwKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVidWdfcGVlcl9saXN0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRlZmF1bHRfZGF0YWJhc2VfdHlwZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWZhdWx0X2RlbGl2ZXJ5X3Nsb3RfY29zdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWZhdWx0X2RlbGl2ZXJ5X3Nsb3RfZGlzY291bnQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmYXVsdF9kZWxpdmVyeV9zbG90X2xvYW4KK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmYXVsdF9kZXN0aW5hdGlvbl9jb25jdXJyZW5jeV9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWZhdWx0X2Rlc3RpbmF0aW9uX3JlY2lwaWVudF9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWZhdWx0X2V4dHJhX3JlY2lwaWVudF9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWZhdWx0X21pbmltdW1fZGVsaXZlcnlfc2xvdHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmYXVsdF9wcml2cworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWZhdWx0X3Byb2Nlc3NfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmYXVsdF9yYmxfcmVwbHkKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmYXVsdF9yZWNpcGllbnRfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmYXVsdF90cmFuc3BvcnQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmYXVsdF92ZXJwX2RlbGltaXRlcnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmZXJfY29kZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWZlcl9zZXJ2aWNlX25hbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVmZXJfdHJhbnNwb3J0cworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWxheV9ub3RpY2VfcmVjaXBpZW50CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRlbGF5X3dhcm5pbmdfdGltZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBkZWxpdmVyX2xvY2tfYXR0ZW1wdHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGVsaXZlcl9sb2NrX2RlbGF5CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRpc2FibGVfZG5zX2xvb2t1cHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGlzYWJsZV9taW1lX2lucHV0X3Byb2Nlc3NpbmcKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZGlzYWJsZV9taW1lX291dHB1dF9jb252ZXJzaW9uCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRpc2FibGVfdmVycF9ib3VuY2VzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRpc2FibGVfdnJmeV9jb21tYW5kCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRvbnRfcmVtb3ZlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGRvdWJsZV9ib3VuY2Vfc2VuZGVyCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGR1cGxpY2F0ZV9maWx0ZXJfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZW1wdHlfYWRkcmVzc19yZWNpcGllbnQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZW5hYmxlX2Vycm9yc190bworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBlbmFibGVfb3JpZ2luYWxfcmVjaXBpZW50CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGVycm9yX25vdGljZV9yZWNpcGllbnQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZXJyb3Jfc2VydmljZV9uYW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGV4cGFuZF9vd25lcl9hbGlhcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBleHBvcnRfZW52aXJvbm1lbnQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZmFsbGJhY2tfcmVsYXkKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZmFsbGJhY2tfdHJhbnNwb3J0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGZhc3RfZmx1c2hfZG9tYWlucworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBmYXN0X2ZsdXNoX3B1cmdlX3RpbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZmFzdF9mbHVzaF9yZWZyZXNoX3RpbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZmF1bHRfaW5qZWN0aW9uX2NvZGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZmx1c2hfc2VydmljZV9uYW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGZvcmtfYXR0ZW1wdHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZm9ya19kZWxheQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBmb3J3YXJkX2V4cGFuc2lvbl9maWx0ZXIKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgZm9yd2FyZF9wYXRoCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGhhc2hfcXVldWVfZGVwdGgKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgaGFzaF9xdWV1ZV9uYW1lcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBoZWFkZXJfYWRkcmVzc190b2tlbl9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBoZWFkZXJfY2hlY2tzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGhlYWRlcl9zaXplX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGhlbHBmdWxfd2FybmluZ3MKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgaG9tZV9tYWlsYm94CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGhvcGNvdW50X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGh0bWxfZGlyZWN0b3J5CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGlnbm9yZV9teF9sb29rdXBfZXJyb3IKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgaW1wb3J0X2Vudmlyb25tZW50CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGluX2Zsb3dfZGVsYXkKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgaW5ldF9pbnRlcmZhY2VzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGluaXRpYWxfZGVzdGluYXRpb25fY29uY3VycmVuY3kKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgaW52YWxpZF9ob3N0bmFtZV9yZWplY3RfY29kZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBpcGNfaWRsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBpcGNfdGltZW91dAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBpcGNfdHRsCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxpbmVfbGVuZ3RoX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfY2FjaGVfY29ubmVjdGlvbgorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsbXRwX2Nvbm5lY3RfdGltZW91dAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsbXRwX2RhdGFfZG9uZV90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfZGF0YV9pbml0X3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbG10cF9kYXRhX3hmZXJfdGltZW91dAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsbXRwX2Rlc3RpbmF0aW9uX2NvbmN1cnJlbmN5X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfZGVzdGluYXRpb25fcmVjaXBpZW50X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfbGhsb190aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfbWFpbF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfcXVpdF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfcmNwdF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfcnNldF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfc2FzbF9hdXRoX2VuYWJsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsbXRwX3Nhc2xfcGFzc3dvcmRfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsbXRwX3Nhc2xfc2VjdXJpdHlfb3B0aW9ucworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsbXRwX3NlbmRfeGZvcndhcmRfY29tbWFuZAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsbXRwX3NraXBfcXVpdF9yZXNwb25zZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsbXRwX3RjcF9wb3J0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxtdHBfeGZvcndhcmRfdGltZW91dAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsb2NhbF9jb21tYW5kX3NoZWxsCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxvY2FsX2Rlc3RpbmF0aW9uX2NvbmN1cnJlbmN5X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIGxvY2FsX2Rlc3RpbmF0aW9uX3JlY2lwaWVudF9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsb2NhbF9yZWNpcGllbnRfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBsb2NhbF90cmFuc3BvcnQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbHVzZXJfcmVsYXkKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWFpbF9uYW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1haWxfb3duZXIKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWFpbF9yZWxlYXNlX2RhdGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWFpbF9zcG9vbF9kaXJlY3RvcnkKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWFpbF92ZXJzaW9uCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1haWxib3hfY29tbWFuZAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBtYWlsYm94X2NvbW1hbmRfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBtYWlsYm94X2RlbGl2ZXJ5X2xvY2sKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWFpbGJveF9zaXplX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1haWxib3hfdHJhbnNwb3J0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1haWxxX3BhdGgKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWFucGFnZV9kaXJlY3RvcnkKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWFwc19yYmxfZG9tYWlucworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBtYXBzX3JibF9yZWplY3RfY29kZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBtYXNxdWVyYWRlX2NsYXNzZXMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWFzcXVlcmFkZV9kb21haW5zCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1hc3F1ZXJhZGVfZXhjZXB0aW9ucworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBtYXhfaWRsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBtYXhfdXNlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1heGltYWxfYmFja29mZl90aW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1heGltYWxfcXVldWVfbGlmZXRpbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWVzc2FnZV9zaXplX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1pbWVfYm91bmRhcnlfbGVuZ3RoX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG1pbWVfaGVhZGVyX2NoZWNrcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBtaW1lX25lc3RpbmdfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbWluaW1hbF9iYWNrb2ZmX3RpbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbXVsdGlfcmVjaXBpZW50X2JvdW5jZV9yZWplY3RfY29kZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBteWRlc3RpbmF0aW9uCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG15ZG9tYWluCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG15aG9zdG5hbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgbXluZXR3b3Jrcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBteW5ldHdvcmtzX3N0eWxlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG15b3JpZ2luCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG5lc3RlZF9oZWFkZXJfY2hlY2tzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIG5ld2FsaWFzZXNfcGF0aAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBub25fZnFkbl9yZWplY3RfY29kZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBub3RpZnlfY2xhc3Nlcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBvd25lcl9yZXF1ZXN0X3NwZWNpYWwKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcGFyZW50X2RvbWFpbl9tYXRjaGVzX3N1YmRvbWFpbnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcGVybWl0X214X2JhY2t1cF9uZXR3b3Jrcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBwaWNrdXBfc2VydmljZV9uYW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHByZXBlbmRfZGVsaXZlcmVkX2hlYWRlcgorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBwcm9jZXNzX2lkX2RpcmVjdG9yeQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBwcm9wYWdhdGVfdW5tYXRjaGVkX2V4dGVuc2lvbnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcHJveHlfaW50ZXJmYWNlcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBwcm94eV9yZWFkX21hcHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcW1ncl9jbG9nX3dhcm5fdGltZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBxbWdyX2Z1ZGdlX2ZhY3Rvcgorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBxbWdyX21lc3NhZ2VfYWN0aXZlX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHFtZ3JfbWVzc2FnZV9yZWNpcGllbnRfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcW1ncl9tZXNzYWdlX3JlY2lwaWVudF9taW5pbXVtCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHFtcXBkX2F1dGhvcml6ZWRfY2xpZW50cworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBxbXFwZF9lcnJvcl9kZWxheQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBxbXFwZF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHF1ZXVlX2RpcmVjdG9yeQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBxdWV1ZV9maWxlX2F0dHJpYnV0ZV9jb3VudF9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBxdWV1ZV9taW5mcmVlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHF1ZXVlX3J1bl9kZWxheQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBxdWV1ZV9zZXJ2aWNlX25hbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcmJsX3JlcGx5X21hcHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcmVhZG1lX2RpcmVjdG9yeQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiByZWNlaXZlX292ZXJyaWRlX29wdGlvbnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcmVjaXBpZW50X2JjY19tYXBzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJlY2lwaWVudF9jYW5vbmljYWxfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiByZWNpcGllbnRfZGVsaW1pdGVyCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJlamVjdF9jb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJlbGF5X2NsaWVudGNlcnRzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJlbGF5X2Rlc3RpbmF0aW9uX2NvbmN1cnJlbmN5X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJlbGF5X2Rlc3RpbmF0aW9uX3JlY2lwaWVudF9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiByZWxheV9kb21haW5zCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJlbGF5X2RvbWFpbnNfcmVqZWN0X2NvZGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcmVsYXlfcmVjaXBpZW50X21hcHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgcmVsYXlfdHJhbnNwb3J0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJlbGF5aG9zdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiByZWxvY2F0ZWRfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiByZXF1aXJlX2hvbWVfZGlyZWN0b3J5CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJlc29sdmVfZGVxdW90ZWRfYWRkcmVzcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiByZXNvbHZlX251bGxfZG9tYWluCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHJld3JpdGVfc2VydmljZV9uYW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNhbXBsZV9kaXJlY3RvcnkKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc2VuZGVyX2Jhc2VkX3JvdXRpbmcKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc2VuZGVyX2JjY19tYXBzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNlbmRlcl9jYW5vbmljYWxfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzZW5kbWFpbF9wYXRoCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNlcnZpY2VfdGhyb3R0bGVfdGltZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzZXRnaWRfZ3JvdXAKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc2hvd191c2VyX3Vua25vd25fdGFibGVfbmFtZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzaG93cV9zZXJ2aWNlX25hbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9hbHdheXNfc2VuZF9laGxvCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfYmluZF9hZGRyZXNzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfY29ubmVjdF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfZGF0YV9kb25lX3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9kYXRhX2luaXRfdGltZW91dAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX2RhdGFfeGZlcl90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfZGVmZXJfaWZfbm9fbXhfYWRkcmVzc19mb3VuZAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX2Rlc3RpbmF0aW9uX2NvbmN1cnJlbmN5X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfZGVzdGluYXRpb25fcmVjaXBpZW50X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfZW5mb3JjZV90bHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9oZWxvX25hbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9oZWxvX3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9ob3N0X2xvb2t1cAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX2xpbmVfbGVuZ3RoX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfbWFpbF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfbXhfYWRkcmVzc19saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX214X3Nlc3Npb25fbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9uZXZlcl9zZW5kX2VobG8KK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9waXhfd29ya2Fyb3VuZF9kZWxheV90aW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfcGl4X3dvcmthcm91bmRfdGhyZXNob2xkX3RpbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9xdWl0X3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9xdW90ZV9yZmM4MjFfZW52ZWxvcGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9yYW5kb21pemVfYWRkcmVzc2VzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfcmNwdF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfcnNldF90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfc2FzbF9hdXRoX2VuYWJsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3Nhc2xfcGFzc3dvcmRfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3Nhc2xfc2VjdXJpdHlfb3B0aW9ucworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3Nhc2xfdGxzX3NlY3VyaXR5X29wdGlvbnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9zYXNsX3Rsc192ZXJpZmllZF9zZWN1cml0eV9vcHRpb25zCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfc2VuZF94Zm9yd2FyZF9jb21tYW5kCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfc2tpcF81eHhfZ3JlZXRpbmcKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9za2lwX3F1aXRfcmVzcG9uc2UKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF9zdGFydHRsc190aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfdGxzX0NBZmlsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3Rsc19DQXBhdGgKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF90bHNfY2VydF9maWxlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfdGxzX2NpcGhlcmxpc3QKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF90bHNfZGNlcnRfZmlsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3Rsc19ka2V5X2ZpbGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF90bHNfZW5mb3JjZV9wZWVybmFtZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3Rsc19rZXlfZmlsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3Rsc19sb2dsZXZlbAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3Rsc19ub3RlX3N0YXJ0dGxzX29mZmVyCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfdGxzX3Blcl9zaXRlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfdGxzX3NjZXJ0X3ZlcmlmeWRlcHRoCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfdGxzX3Nlc3Npb25fY2FjaGVfZGF0YWJhc2UKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cF90bHNfc2Vzc2lvbl9jYWNoZV90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBfdXNlX3Rscworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwX3hmb3J3YXJkX3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfYXV0aG9yaXplZF92ZXJwX2NsaWVudHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfYXV0aG9yaXplZF94Y2xpZW50X2hvc3RzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2F1dGhvcml6ZWRfeGZvcndhcmRfaG9zdHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfYmFubmVyCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2NsaWVudF9jb25uZWN0aW9uX2NvdW50X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2NsaWVudF9jb25uZWN0aW9uX2xpbWl0X2V4Y2VwdGlvbnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfY2xpZW50X2Nvbm5lY3Rpb25fcmF0ZV9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9jbGllbnRfcmVzdHJpY3Rpb25zCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2RhdGFfcmVzdHJpY3Rpb25zCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2RlbGF5X3JlamVjdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9lbmZvcmNlX3Rscworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9lcnJvcl9zbGVlcF90aW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2V0cm5fcmVzdHJpY3Rpb25zCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2V4cGFuc2lvbl9maWx0ZXIKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfaGFyZF9lcnJvcl9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9oZWxvX3JlcXVpcmVkCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2hlbG9fcmVzdHJpY3Rpb25zCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2hpc3RvcnlfZmx1c2hfdGhyZXNob2xkCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX2p1bmtfY29tbWFuZF9saW1pdAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9ub29wX2NvbW1hbmRzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX251bGxfYWNjZXNzX2xvb2t1cF9rZXkKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfcG9saWN5X3NlcnZpY2VfbWF4X2lkbGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfcG9saWN5X3NlcnZpY2VfbWF4X3R0bAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9wb2xpY3lfc2VydmljZV90aW1lb3V0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Byb3h5X2VobG8KK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfcHJveHlfZmlsdGVyCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Byb3h5X3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfcmVjaXBpZW50X2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3JlY2lwaWVudF9vdmVyc2hvb3RfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfcmVjaXBpZW50X3Jlc3RyaWN0aW9ucworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9yZWplY3RfdW5saXN0ZWRfcmVjaXBpZW50CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3JlamVjdF91bmxpc3RlZF9zZW5kZXIKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfcmVzdHJpY3Rpb25fY2xhc3Nlcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9zYXNsX2FwcGxpY2F0aW9uX25hbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfc2FzbF9hdXRoX2VuYWJsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9zYXNsX2V4Y2VwdGlvbnNfbmV0d29ya3MKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfc2FzbF9sb2NhbF9kb21haW4KK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfc2FzbF9zZWN1cml0eV9vcHRpb25zCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Nhc2xfdGxzX3NlY3VyaXR5X29wdGlvbnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfc2VuZGVyX2xvZ2luX21hcHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfc2VuZGVyX3Jlc3RyaWN0aW9ucworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF9zb2Z0X2Vycm9yX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3N0YXJ0dGxzX3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfdGltZW91dAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF90bHNfQ0FmaWxlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Rsc19DQXBhdGgKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfdGxzX2Fza19jY2VydAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF90bHNfYXV0aF9vbmx5CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Rsc19jY2VydF92ZXJpZnlkZXB0aAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF90bHNfY2VydF9maWxlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Rsc19jaXBoZXJsaXN0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Rsc19kY2VydF9maWxlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Rsc19kaDEwMjRfcGFyYW1fZmlsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF90bHNfZGg1MTJfcGFyYW1fZmlsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF90bHNfZGtleV9maWxlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Rsc19rZXlfZmlsZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF90bHNfbG9nbGV2ZWwKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfdGxzX3JlY2VpdmVkX2hlYWRlcgorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzbXRwZF90bHNfcmVxX2NjZXJ0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Rsc19zZXNzaW9uX2NhY2hlX2RhdGFiYXNlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3Rsc19zZXNzaW9uX2NhY2hlX3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc210cGRfdGxzX3dyYXBwZXJtb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHNtdHBkX3VzZV90bHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc29mdF9ib3VuY2UKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc3RhbGVfbG9ja190aW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHN0cmljdF83Yml0X2hlYWRlcnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgc3RyaWN0XzhiaXRtaW1lCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHN0cmljdF84Yml0bWltZV9ib2R5CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHN0cmljdF9taW1lX2VuY29kaW5nX2RvbWFpbgorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzdHJpY3RfcmZjODIxX2VudmVsb3Blcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzdW5fbWFpbHRvb2xfY29tcGF0aWJpbGl0eQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzd2FwX2JhbmdwYXRoCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHN5c2xvZ19mYWNpbGl0eQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiBzeXNsb2dfbmFtZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB0bHNfZGFlbW9uX3JhbmRvbV9ieXRlcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB0bHNfZGFlbW9uX3JhbmRvbV9zb3VyY2UKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdGxzX3JhbmRvbV9ieXRlcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB0bHNfcmFuZG9tX2V4Y2hhbmdlX25hbWUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdGxzX3JhbmRvbV9wcm5nX3VwZGF0ZV9wZXJpb2QKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdGxzX3JhbmRvbV9yZXNlZWRfcGVyaW9kCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHRsc19yYW5kb21fc291cmNlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHRyYWNlX3NlcnZpY2VfbmFtZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB0cmFuc3BvcnRfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB0cmFuc3BvcnRfcmV0cnlfdGltZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB0cmlnZ2VyX3RpbWVvdXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdW5kaXNjbG9zZWRfcmVjaXBpZW50c19oZWFkZXIKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdW5rbm93bl9hZGRyZXNzX3JlamVjdF9jb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHVua25vd25fY2xpZW50X3JlamVjdF9jb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHVua25vd25faG9zdG5hbWVfcmVqZWN0X2NvZGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdW5rbm93bl9sb2NhbF9yZWNpcGllbnRfcmVqZWN0X2NvZGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdW5rbm93bl9yZWxheV9yZWNpcGllbnRfcmVqZWN0X2NvZGUKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdW5rbm93bl92aXJ0dWFsX2FsaWFzX3JlamVjdF9jb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHVua25vd25fdmlydHVhbF9tYWlsYm94X3JlamVjdF9jb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHVudmVyaWZpZWRfcmVjaXBpZW50X3JlamVjdF9jb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHVudmVyaWZpZWRfc2VuZGVyX3JlamVjdF9jb2RlCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHZlcnBfZGVsaW1pdGVyX2ZpbHRlcgorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB2aXJ0dWFsX2FsaWFzX2RvbWFpbnMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdmlydHVhbF9hbGlhc19leHBhbnNpb25fbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdmlydHVhbF9hbGlhc19tYXBzCitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHZpcnR1YWxfYWxpYXNfcmVjdXJzaW9uX2xpbWl0CitzeW50YXgga2V5d29yZCBwZm1haW5Db25mIHZpcnR1YWxfZGVzdGluYXRpb25fY29uY3VycmVuY3lfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdmlydHVhbF9kZXN0aW5hdGlvbl9yZWNpcGllbnRfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdmlydHVhbF9naWRfbWFwcworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB2aXJ0dWFsX21haWxib3hfYmFzZQorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB2aXJ0dWFsX21haWxib3hfZG9tYWlucworc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB2aXJ0dWFsX21haWxib3hfbGltaXQKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdmlydHVhbF9tYWlsYm94X2xvY2sKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdmlydHVhbF9tYWlsYm94X21hcHMKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkNvbmYgdmlydHVhbF9taW5pbXVtX3VpZAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB2aXJ0dWFsX3RyYW5zcG9ydAorc3ludGF4IGtleXdvcmQgcGZtYWluQ29uZiB2aXJ0dWFsX3VpZF9tYXBzCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDwyYm91bmNlX25vdGljZV9yZWNpcGllbnRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFjY2Vzc19tYXBfcmVqZWN0X2NvZGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X2RlZmF1bHRfdHJhbnNwb3J0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxhZGRyZXNzX3ZlcmlmeV9sb2NhbF90cmFuc3BvcnRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X21hcFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YWRkcmVzc192ZXJpZnlfbmVnYXRpdmVfY2FjaGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X25lZ2F0aXZlX2V4cGlyZV90aW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxhZGRyZXNzX3ZlcmlmeV9uZWdhdGl2ZV9yZWZyZXNoX3RpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X3BvbGxfY291bnRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X3BvbGxfZGVsYXlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X3Bvc2l0aXZlX2V4cGlyZV90aW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxhZGRyZXNzX3ZlcmlmeV9wb3NpdGl2ZV9yZWZyZXNoX3RpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X3JlbGF5X3RyYW5zcG9ydFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YWRkcmVzc192ZXJpZnlfcmVsYXlob3N0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxhZGRyZXNzX3ZlcmlmeV9zZW5kZXJcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X3NlcnZpY2VfbmFtZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YWRkcmVzc192ZXJpZnlfdHJhbnNwb3J0X21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFkZHJlc3NfdmVyaWZ5X3ZpcnR1YWxfdHJhbnNwb3J0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxhbGlhc19kYXRhYmFzZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YWxpYXNfbWFwc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YWxsb3dfbWFpbF90b19jb21tYW5kc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YWxsb3dfbWFpbF90b19maWxlc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YWxsb3dfbWluX3VzZXJcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFsbG93X3BlcmNlbnRfaGFja1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YWxsb3dfdW50cnVzdGVkX3JvdXRpbmdcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFsdGVybmF0ZV9jb25maWdfZGlyZWN0b3JpZXNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFsd2F5c19iY2NcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGFwcGVuZF9hdF9teW9yaWdpblw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YXBwZW5kX2RvdF9teWRvbWFpblw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YXBwbGljYXRpb25fZXZlbnRfZHJhaW5fdGltZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YmFja3dhcmRzX2JvdW5jZV9sb2dmaWxlX2NvbXBhdGliaWxpdHlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGJlcmtlbGV5X2RiX2NyZWF0ZV9idWZmZXJfc2l6ZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YmVya2VsZXlfZGJfcmVhZF9idWZmZXJfc2l6ZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YmVzdF9teF90cmFuc3BvcnRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGJpZmZcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGJvZHlfY2hlY2tzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxib2R5X2NoZWNrc19zaXplX2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxib3VuY2Vfbm90aWNlX3JlY2lwaWVudFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8Ym91bmNlX3F1ZXVlX2xpZmV0aW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxib3VuY2Vfc2VydmljZV9uYW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxib3VuY2Vfc2l6ZV9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8YnJva2VuX3Nhc2xfYXV0aF9jbGllbnRzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxjYW5vbmljYWxfbWFwc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8Y2xlYW51cF9zZXJ2aWNlX25hbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGNvbW1hbmRfZGlyZWN0b3J5XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxjb21tYW5kX2V4cGFuc2lvbl9maWx0ZXJcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGNvbW1hbmRfdGltZV9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8Y29uZmlnX2RpcmVjdG9yeVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8Y29udGVudF9maWx0ZXJcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRhZW1vbl9kaXJlY3RvcnlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRhZW1vbl90aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWJ1Z19wZWVyX2xldmVsXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWJ1Z19wZWVyX2xpc3RcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlZmF1bHRfZGF0YWJhc2VfdHlwZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZGVmYXVsdF9kZWxpdmVyeV9zbG90X2Nvc3RcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlZmF1bHRfZGVsaXZlcnlfc2xvdF9kaXNjb3VudFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZGVmYXVsdF9kZWxpdmVyeV9zbG90X2xvYW5cPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlZmF1bHRfZGVzdGluYXRpb25fY29uY3VycmVuY3lfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlZmF1bHRfZGVzdGluYXRpb25fcmVjaXBpZW50X2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWZhdWx0X2V4dHJhX3JlY2lwaWVudF9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZGVmYXVsdF9taW5pbXVtX2RlbGl2ZXJ5X3Nsb3RzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWZhdWx0X3ByaXZzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWZhdWx0X3Byb2Nlc3NfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlZmF1bHRfcmJsX3JlcGx5XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWZhdWx0X3JlY2lwaWVudF9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZGVmYXVsdF90cmFuc3BvcnRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlZmF1bHRfdmVycF9kZWxpbWl0ZXJzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWZlcl9jb2RlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWZlcl9zZXJ2aWNlX25hbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlZmVyX3RyYW5zcG9ydHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlbGF5X25vdGljZV9yZWNpcGllbnRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRlbGF5X3dhcm5pbmdfdGltZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZGVsaXZlcl9sb2NrX2F0dGVtcHRzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkZWxpdmVyX2xvY2tfZGVsYXlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRpc2FibGVfZG5zX2xvb2t1cHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRpc2FibGVfbWltZV9pbnB1dF9wcm9jZXNzaW5nXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkaXNhYmxlX21pbWVfb3V0cHV0X2NvbnZlcnNpb25cPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRpc2FibGVfdmVycF9ib3VuY2VzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkaXNhYmxlX3ZyZnlfY29tbWFuZFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZG9udF9yZW1vdmVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGRvdWJsZV9ib3VuY2Vfc2VuZGVyXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxkdXBsaWNhdGVfZmlsdGVyX2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxlbXB0eV9hZGRyZXNzX3JlY2lwaWVudFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZW5hYmxlX2Vycm9yc190b1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZW5hYmxlX29yaWdpbmFsX3JlY2lwaWVudFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZXJyb3Jfbm90aWNlX3JlY2lwaWVudFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZXJyb3Jfc2VydmljZV9uYW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxleHBhbmRfb3duZXJfYWxpYXNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGV4cG9ydF9lbnZpcm9ubWVudFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZmFsbGJhY2tfcmVsYXlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGZhbGxiYWNrX3RyYW5zcG9ydFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8ZmFzdF9mbHVzaF9kb21haW5zXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxmYXN0X2ZsdXNoX3B1cmdlX3RpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGZhc3RfZmx1c2hfcmVmcmVzaF90aW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxmYXVsdF9pbmplY3Rpb25fY29kZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8Zmx1c2hfc2VydmljZV9uYW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxmb3JrX2F0dGVtcHRzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxmb3JrX2RlbGF5XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxmb3J3YXJkX2V4cGFuc2lvbl9maWx0ZXJcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGZvcndhcmRfcGF0aFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8aGFzaF9xdWV1ZV9kZXB0aFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8aGFzaF9xdWV1ZV9uYW1lc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8aGVhZGVyX2FkZHJlc3NfdG9rZW5fbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGhlYWRlcl9jaGVja3NcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGhlYWRlcl9zaXplX2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxoZWxwZnVsX3dhcm5pbmdzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxob21lX21haWxib3hcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGhvcGNvdW50X2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxodG1sX2RpcmVjdG9yeVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8aWdub3JlX214X2xvb2t1cF9lcnJvclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8aW1wb3J0X2Vudmlyb25tZW50XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxpbl9mbG93X2RlbGF5XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxpbmV0X2ludGVyZmFjZXNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGluaXRpYWxfZGVzdGluYXRpb25fY29uY3VycmVuY3lcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGludmFsaWRfaG9zdG5hbWVfcmVqZWN0X2NvZGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGlwY19pZGxlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxpcGNfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8aXBjX3R0bFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bGluZV9sZW5ndGhfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfY2FjaGVfY29ubmVjdGlvblw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bG10cF9jb25uZWN0X3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfZGF0YV9kb25lX3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfZGF0YV9pbml0X3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfZGF0YV94ZmVyX3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfZGVzdGluYXRpb25fY29uY3VycmVuY3lfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfZGVzdGluYXRpb25fcmVjaXBpZW50X2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxsbXRwX2xobG9fdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bG10cF9tYWlsX3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfcXVpdF90aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxsbXRwX3JjcHRfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bG10cF9yc2V0X3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfc2FzbF9hdXRoX2VuYWJsZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bG10cF9zYXNsX3Bhc3N3b3JkX21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfc2FzbF9zZWN1cml0eV9vcHRpb25zXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxsbXRwX3NlbmRfeGZvcndhcmRfY29tbWFuZFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bG10cF9za2lwX3F1aXRfcmVzcG9uc2VcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfdGNwX3BvcnRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxtdHBfeGZvcndhcmRfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bG9jYWxfY29tbWFuZF9zaGVsbFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bG9jYWxfZGVzdGluYXRpb25fY29uY3VycmVuY3lfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxvY2FsX2Rlc3RpbmF0aW9uX3JlY2lwaWVudF9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bG9jYWxfcmVjaXBpZW50X21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPGxvY2FsX3RyYW5zcG9ydFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bHVzZXJfcmVsYXlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1haWxfbmFtZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWFpbF9vd25lclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWFpbF9yZWxlYXNlX2RhdGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1haWxfc3Bvb2xfZGlyZWN0b3J5XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxtYWlsX3ZlcnNpb25cPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1haWxib3hfY29tbWFuZFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWFpbGJveF9jb21tYW5kX21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1haWxib3hfZGVsaXZlcnlfbG9ja1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWFpbGJveF9zaXplX2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxtYWlsYm94X3RyYW5zcG9ydFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWFpbHFfcGF0aFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWFucGFnZV9kaXJlY3RvcnlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1hcHNfcmJsX2RvbWFpbnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1hcHNfcmJsX3JlamVjdF9jb2RlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxtYXNxdWVyYWRlX2NsYXNzZXNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1hc3F1ZXJhZGVfZG9tYWluc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWFzcXVlcmFkZV9leGNlcHRpb25zXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxtYXhfaWRsZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWF4X3VzZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWF4aW1hbF9iYWNrb2ZmX3RpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1heGltYWxfcXVldWVfbGlmZXRpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1lc3NhZ2Vfc2l6ZV9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWltZV9ib3VuZGFyeV9sZW5ndGhfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG1pbWVfaGVhZGVyX2NoZWNrc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bWltZV9uZXN0aW5nX2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxtaW5pbWFsX2JhY2tvZmZfdGltZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bXVsdGlfcmVjaXBpZW50X2JvdW5jZV9yZWplY3RfY29kZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bXlkZXN0aW5hdGlvblw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bXlkb21haW5cPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG15aG9zdG5hbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG15bmV0d29ya3NcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG15bmV0d29ya3Nfc3R5bGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG15b3JpZ2luXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxuZXN0ZWRfaGVhZGVyX2NoZWNrc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bmV3YWxpYXNlc19wYXRoXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxub25fZnFkbl9yZWplY3RfY29kZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8bm90aWZ5X2NsYXNzZXNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPG93bmVyX3JlcXVlc3Rfc3BlY2lhbFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cGFyZW50X2RvbWFpbl9tYXRjaGVzX3N1YmRvbWFpbnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHBlcm1pdF9teF9iYWNrdXBfbmV0d29ya3NcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHBpY2t1cF9zZXJ2aWNlX25hbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHByZXBlbmRfZGVsaXZlcmVkX2hlYWRlclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cHJvY2Vzc19pZF9kaXJlY3RvcnlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHByb3BhZ2F0ZV91bm1hdGNoZWRfZXh0ZW5zaW9uc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cHJveHlfaW50ZXJmYWNlc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cHJveHlfcmVhZF9tYXBzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxxbWdyX2Nsb2dfd2Fybl90aW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxxbWdyX2Z1ZGdlX2ZhY3Rvclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cW1ncl9tZXNzYWdlX2FjdGl2ZV9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cW1ncl9tZXNzYWdlX3JlY2lwaWVudF9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cW1ncl9tZXNzYWdlX3JlY2lwaWVudF9taW5pbXVtXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxxbXFwZF9hdXRob3JpemVkX2NsaWVudHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHFtcXBkX2Vycm9yX2RlbGF5XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxxbXFwZF90aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxxdWV1ZV9kaXJlY3RvcnlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHF1ZXVlX2ZpbGVfYXR0cmlidXRlX2NvdW50X2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxxdWV1ZV9taW5mcmVlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxxdWV1ZV9ydW5fZGVsYXlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHF1ZXVlX3NlcnZpY2VfbmFtZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmJsX3JlcGx5X21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHJlYWRtZV9kaXJlY3RvcnlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHJlY2VpdmVfb3ZlcnJpZGVfb3B0aW9uc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmVjaXBpZW50X2JjY19tYXBzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxyZWNpcGllbnRfY2Fub25pY2FsX21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHJlY2lwaWVudF9kZWxpbWl0ZXJcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHJlamVjdF9jb2RlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxyZWxheV9jbGllbnRjZXJ0c1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmVsYXlfZGVzdGluYXRpb25fY29uY3VycmVuY3lfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHJlbGF5X2Rlc3RpbmF0aW9uX3JlY2lwaWVudF9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmVsYXlfZG9tYWluc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmVsYXlfZG9tYWluc19yZWplY3RfY29kZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmVsYXlfcmVjaXBpZW50X21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHJlbGF5X3RyYW5zcG9ydFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmVsYXlob3N0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxyZWxvY2F0ZWRfbWFwc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmVxdWlyZV9ob21lX2RpcmVjdG9yeVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8cmVzb2x2ZV9kZXF1b3RlZF9hZGRyZXNzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxyZXNvbHZlX251bGxfZG9tYWluXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxyZXdyaXRlX3NlcnZpY2VfbmFtZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c2FtcGxlX2RpcmVjdG9yeVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c2VuZGVyX2Jhc2VkX3JvdXRpbmdcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNlbmRlcl9iY2NfbWFwc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c2VuZGVyX2Nhbm9uaWNhbF9tYXBzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzZW5kbWFpbF9wYXRoXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzZXJ2aWNlX3Rocm90dGxlX3RpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNldGdpZF9ncm91cFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c2hvd191c2VyX3Vua25vd25fdGFibGVfbmFtZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c2hvd3Ffc2VydmljZV9uYW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX2Fsd2F5c19zZW5kX2VobG9cPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfYmluZF9hZGRyZXNzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX2Nvbm5lY3RfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9kYXRhX2RvbmVfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9kYXRhX2luaXRfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9kYXRhX3hmZXJfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9kZWZlcl9pZl9ub19teF9hZGRyZXNzX2ZvdW5kXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX2Rlc3RpbmF0aW9uX2NvbmN1cnJlbmN5X2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX2Rlc3RpbmF0aW9uX3JlY2lwaWVudF9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9lbmZvcmNlX3Rsc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9oZWxvX25hbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfaGVsb190aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX2hvc3RfbG9va3VwXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX2xpbmVfbGVuZ3RoX2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX21haWxfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9teF9hZGRyZXNzX2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX214X3Nlc3Npb25fbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfbmV2ZXJfc2VuZF9laGxvXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3BpeF93b3JrYXJvdW5kX2RlbGF5X3RpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfcGl4X3dvcmthcm91bmRfdGhyZXNob2xkX3RpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfcXVpdF90aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3F1b3RlX3JmYzgyMV9lbnZlbG9wZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9yYW5kb21pemVfYWRkcmVzc2VzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3JjcHRfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9yc2V0X3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfc2FzbF9hdXRoX2VuYWJsZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9zYXNsX3Bhc3N3b3JkX21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfc2FzbF9zZWN1cml0eV9vcHRpb25zXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3Nhc2xfdGxzX3NlY3VyaXR5X29wdGlvbnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfc2FzbF90bHNfdmVyaWZpZWRfc2VjdXJpdHlfb3B0aW9uc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF9zZW5kX3hmb3J3YXJkX2NvbW1hbmRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfc2tpcF81eHhfZ3JlZXRpbmdcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfc2tpcF9xdWl0X3Jlc3BvbnNlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3N0YXJ0dGxzX3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfdGxzX0NBZmlsZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF90bHNfQ0FwYXRoXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3Rsc19jZXJ0X2ZpbGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfdGxzX2NpcGhlcmxpc3RcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfdGxzX2RjZXJ0X2ZpbGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfdGxzX2RrZXlfZmlsZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF90bHNfZW5mb3JjZV9wZWVybmFtZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF90bHNfa2V5X2ZpbGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfdGxzX2xvZ2xldmVsXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3Rsc19ub3RlX3N0YXJ0dGxzX29mZmVyXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3Rsc19wZXJfc2l0ZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF90bHNfc2NlcnRfdmVyaWZ5ZGVwdGhcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfdGxzX3Nlc3Npb25fY2FjaGVfZGF0YWJhc2VcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBfdGxzX3Nlc3Npb25fY2FjaGVfdGltZW91dFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cF91c2VfdGxzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwX3hmb3J3YXJkX3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2F1dGhvcml6ZWRfdmVycF9jbGllbnRzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9hdXRob3JpemVkX3hjbGllbnRfaG9zdHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2F1dGhvcml6ZWRfeGZvcndhcmRfaG9zdHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2Jhbm5lclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfY2xpZW50X2Nvbm5lY3Rpb25fY291bnRfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2NsaWVudF9jb25uZWN0aW9uX2xpbWl0X2V4Y2VwdGlvbnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2NsaWVudF9jb25uZWN0aW9uX3JhdGVfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2NsaWVudF9yZXN0cmljdGlvbnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2RhdGFfcmVzdHJpY3Rpb25zXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9kZWxheV9yZWplY3RcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2VuZm9yY2VfdGxzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9lcnJvcl9zbGVlcF90aW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9ldHJuX3Jlc3RyaWN0aW9uc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfZXhwYW5zaW9uX2ZpbHRlclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfaGFyZF9lcnJvcl9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfaGVsb19yZXF1aXJlZFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfaGVsb19yZXN0cmljdGlvbnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX2hpc3RvcnlfZmx1c2hfdGhyZXNob2xkXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9qdW5rX2NvbW1hbmRfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX25vb3BfY29tbWFuZHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX251bGxfYWNjZXNzX2xvb2t1cF9rZXlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3BvbGljeV9zZXJ2aWNlX21heF9pZGxlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9wb2xpY3lfc2VydmljZV9tYXhfdHRsXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9wb2xpY3lfc2VydmljZV90aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9wcm94eV9laGxvXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9wcm94eV9maWx0ZXJcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3Byb3h5X3RpbWVvdXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3JlY2lwaWVudF9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfcmVjaXBpZW50X292ZXJzaG9vdF9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfcmVjaXBpZW50X3Jlc3RyaWN0aW9uc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfcmVqZWN0X3VubGlzdGVkX3JlY2lwaWVudFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfcmVqZWN0X3VubGlzdGVkX3NlbmRlclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfcmVzdHJpY3Rpb25fY2xhc3Nlc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfc2FzbF9hcHBsaWNhdGlvbl9uYW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9zYXNsX2F1dGhfZW5hYmxlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9zYXNsX2V4Y2VwdGlvbnNfbmV0d29ya3NcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3Nhc2xfbG9jYWxfZG9tYWluXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9zYXNsX3NlY3VyaXR5X29wdGlvbnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3Nhc2xfdGxzX3NlY3VyaXR5X29wdGlvbnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3NlbmRlcl9sb2dpbl9tYXBzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9zZW5kZXJfcmVzdHJpY3Rpb25zXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9zb2Z0X2Vycm9yX2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF9zdGFydHRsc190aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfQ0FmaWxlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfQ0FwYXRoXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfYXNrX2NjZXJ0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfYXV0aF9vbmx5XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfY2NlcnRfdmVyaWZ5ZGVwdGhcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3Rsc19jZXJ0X2ZpbGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3Rsc19jaXBoZXJsaXN0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfZGNlcnRfZmlsZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfdGxzX2RoMTAyNF9wYXJhbV9maWxlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfZGg1MTJfcGFyYW1fZmlsZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfdGxzX2RrZXlfZmlsZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c210cGRfdGxzX2tleV9maWxlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfbG9nbGV2ZWxcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3Rsc19yZWNlaXZlZF9oZWFkZXJcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3Rsc19yZXFfY2NlcnRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3Rsc19zZXNzaW9uX2NhY2hlX2RhdGFiYXNlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfc2Vzc2lvbl9jYWNoZV90aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzbXRwZF90bHNfd3JhcHBlcm1vZGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNtdHBkX3VzZV90bHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHNvZnRfYm91bmNlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzdGFsZV9sb2NrX3RpbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHN0cmljdF83Yml0X2hlYWRlcnNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHN0cmljdF84Yml0bWltZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c3RyaWN0XzhiaXRtaW1lX2JvZHlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHN0cmljdF9taW1lX2VuY29kaW5nX2RvbWFpblw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8c3RyaWN0X3JmYzgyMV9lbnZlbG9wZXNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHN1bl9tYWlsdG9vbF9jb21wYXRpYmlsaXR5XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzd2FwX2JhbmdwYXRoXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDxzeXNsb2dfZmFjaWxpdHlcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHN5c2xvZ19uYW1lXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx0bHNfZGFlbW9uX3JhbmRvbV9ieXRlc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dGxzX2RhZW1vbl9yYW5kb21fc291cmNlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx0bHNfcmFuZG9tX2J5dGVzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx0bHNfcmFuZG9tX2V4Y2hhbmdlX25hbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHRsc19yYW5kb21fcHJuZ191cGRhdGVfcGVyaW9kXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx0bHNfcmFuZG9tX3Jlc2VlZF9wZXJpb2RcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHRsc19yYW5kb21fc291cmNlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx0cmFjZV9zZXJ2aWNlX25hbWVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHRyYW5zcG9ydF9tYXBzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx0cmFuc3BvcnRfcmV0cnlfdGltZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dHJpZ2dlcl90aW1lb3V0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx1bmRpc2Nsb3NlZF9yZWNpcGllbnRzX2hlYWRlclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dW5rbm93bl9hZGRyZXNzX3JlamVjdF9jb2RlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx1bmtub3duX2NsaWVudF9yZWplY3RfY29kZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dW5rbm93bl9ob3N0bmFtZV9yZWplY3RfY29kZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dW5rbm93bl9sb2NhbF9yZWNpcGllbnRfcmVqZWN0X2NvZGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHVua25vd25fcmVsYXlfcmVjaXBpZW50X3JlamVjdF9jb2RlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx1bmtub3duX3ZpcnR1YWxfYWxpYXNfcmVqZWN0X2NvZGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHVua25vd25fdmlydHVhbF9tYWlsYm94X3JlamVjdF9jb2RlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx1bnZlcmlmaWVkX3JlY2lwaWVudF9yZWplY3RfY29kZVw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dW52ZXJpZmllZF9zZW5kZXJfcmVqZWN0X2NvZGVcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHZlcnBfZGVsaW1pdGVyX2ZpbHRlclw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dmlydHVhbF9hbGlhc19kb21haW5zXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx2aXJ0dWFsX2FsaWFzX2V4cGFuc2lvbl9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dmlydHVhbF9hbGlhc19tYXBzXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx2aXJ0dWFsX2FsaWFzX3JlY3Vyc2lvbl9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dmlydHVhbF9kZXN0aW5hdGlvbl9jb25jdXJyZW5jeV9saW1pdFw+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dmlydHVhbF9kZXN0aW5hdGlvbl9yZWNpcGllbnRfbGltaXRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHZpcnR1YWxfZ2lkX21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHZpcnR1YWxfbWFpbGJveF9iYXNlXD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx2aXJ0dWFsX21haWxib3hfZG9tYWluc1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dmlydHVhbF9tYWlsYm94X2xpbWl0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx2aXJ0dWFsX21haWxib3hfbG9ja1w+Igorc3ludGF4IG1hdGNoIHBmbWFpblJlZiAiJFw8dmlydHVhbF9tYWlsYm94X21hcHNcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHZpcnR1YWxfbWluaW11bV91aWRcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5SZWYgIiRcPHZpcnR1YWxfdHJhbnNwb3J0XD4iCitzeW50YXggbWF0Y2ggcGZtYWluUmVmICIkXDx2aXJ0dWFsX3VpZF9tYXBzXD4iCisKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkRpY3REQgloYXNoIGJ0cmVlIGRibQorc3ludGF4IGtleXdvcmQgcGZtYWluRGljdFJFCXJlZ2V4cCBwY3JlCitzeW50YXgga2V5d29yZCBwZm1haW5EaWN0RVhUCWxkYXAgZW52aXJvbiBuaXMgbmV0aW5mbworc3ludGF4IGtleXdvcmQgcGZtYWluUXVldWUJYWN0aXZlIGJvdW5jZSBjb3JydXB0IGRlZmVyIGRlZmVycmVkCitzeW50YXgga2V5d29yZCBwZm1haW5RdWV1ZQlmbHVzaCBpbmNvbWluZyBzYXZlZAorc3ludGF4IGtleXdvcmQgcGZtYWluVHJhbnNwb3J0CXNtdHAgbG10cCB1bml4IGxvY2FsIGVycm9yCitzeW50YXgga2V5d29yZCBwZm1haW5Mb2NrCWZjbnRsIGZsb2NrIGRvdGxvY2sKK3N5bnRheCBrZXl3b3JkIHBmbWFpbkFuc3dlcgl5ZXMgbm8KKworc3ludGF4IG1hdGNoIHBmbWFpbkNvbW1lbnQJIiMuKiQiCitzeW50YXggbWF0Y2ggcGZtYWluTnVtYmVyCSJcPFxkXCtcPiIKK3N5bnRheCBtYXRjaCBwZm1haW5UaW1lCQkiXDxcZFwrW2htc2RdXD4iCitzeW50YXggbWF0Y2ggcGZtYWluSVAJCSJcPFxkXHsxLDN9XC5cZFx7MSwzfVwuXGRcezEsM31cLlxkXHsxLDN9XD4iCitzeW50YXggbWF0Y2ggcGZtYWluVmFyaWFibGUJIlwkXHdcKyIgY29udGFpbnM9cGZtYWluUmVmICIscGZtYWluUmVmVExTCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoInBmbWFpbl9zeW50YXhfaW5pdCIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgcGZtYWluX3N5bnRheF9pbml0ID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayBwZm1haW5Db21tZW50CUNvbW1lbnQKKwlIaUxpbmsgcGZtYWluQ29uZglLZXl3b3JkCisJSGlMaW5rIHBmbWFpbk51bWJlcglOdW1iZXIKKwlIaUxpbmsgcGZtYWluVGltZQlOdW1iZXIKKwlIaUxpbmsgcGZtYWluSVAJCU51bWJlcgorCUhpTGluayBwZm1haW5EaWN0REIJVHlwZQorCUhpTGluayBwZm1haW5EaWN0UkUJVHlwZQorCUhpTGluayBwZm1haW5EaWN0RVhUCVR5cGUKKwlIaUxpbmsgcGZtYWluUXVldWUJQ29uc3RhbnQKKwlIaUxpbmsgcGZtYWluVHJhbnNwb3J0CUNvbnN0YW50CisJSGlMaW5rIHBmbWFpbkxvY2sJQ29uc3RhbnQKKwlIaUxpbmsgcGZtYWluQW5zd2VyCUNvbnN0YW50CisJSGlMaW5rIHBmbWFpblJlZglNYWNybworCisJIiBIaUxpbmsgcGZtYWluQ29uZlRMUwlTcGVjaWFsCisJIiBIaUxpbmsgcGZtYWluUmVmVExTCU1hY3JvCisKKwlIaUxpbmsgcGZtYWluVmFyaWFibGUJRXJyb3IKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwZm1haW4iCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BocC52aW0gYi9ydW50aW1lL3N5bnRheC9waHAudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NGEyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9waHAudmltCkBAIC0wLDAgKzEsNTEzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJcGhwIFBIUCAzLzQvNQorIiBNYWludGFpbmVyOglMdXR6IEV5bWVycyA8aXh0YWJAcG9semluLmNvbT4KKyIgVVJMOgkJaHR0cDovL3d3dy5pc3AuZGUvZGF0YS9waHAudmltCisiIExhc3QgQ2hhbmdlOgkyMDA0IEZlYiAwNAorIgorIiBPcHRpb25zCXBocF9zcWxfcXVlcnkgPSAxICBmb3IgU1FMIHN5bnRheCBoaWdobGlnaHRpbmcgaW5zaWRlIHN0cmluZ3MKKyIJCXBocF9odG1sSW5TdHJpbmdzID0gMSAgZm9yIEhUTUwgc3ludGF4IGhpZ2hsaWdodGluZyBpbnNpZGUgc3RyaW5ncworIgkJcGhwX2Jhc2VsaWIgPSAxICBmb3IgaGlnaGxpZ2h0aW5nIGJhc2VsaWIgZnVuY3Rpb25zCisiCQlwaHBfYXNwX3RhZ3MgPSAxICBmb3IgaGlnaGxpZ2h0aW5nIEFTUC1zdHlsZSBzaG9ydCB0YWdzCisiCQlwaHBfcGFyZW50X2Vycm9yX2Nsb3NlID0gMSAgZm9yIGhpZ2hsaWdodGluZyBwYXJlbnQgZXJyb3IgXSBvciApCisiCQlwaHBfcGFyZW50X2Vycm9yX29wZW4gPSAxICBmb3Igc2tpcHBpbmcgYW4gcGhwIGVuZCB0YWcsIGlmIHRoZXJlIGV4aXN0cyBhbiBvcGVuICggb3IgWyB3aXRob3V0IGEgY2xvc2luZyBvbmUKKyIJCXBocF9vbGRTdHlsZSA9IDEgIGZvciB1c2luZyBvbGQgY29sb3JzdHlsZQorIgkJcGhwX25vU2hvcnRUYWdzID0gMSAgZG9uJ3Qgc3luYyA8PyA/PiBhcyBwaHAKKyIJCXBocF9mb2xkaW5nID0gMSAgZm9yIGZvbGRpbmcgY2xhc3NlcyBhbmQgZnVuY3Rpb25zCisiCQlwaHBfZm9sZGluZyA9IDIgIGZvciBmb2xkaW5nIGFsbCB7IH0gcmVnaW9ucworIgkJcGhwX3N5bmNfbWV0aG9kID0geAorIgkJCXg9LTEgdG8gc3luYyBieSBzZWFyY2ggKCBkZWZhdWx0ICkKKyIJCQl4PjAgdG8gc3luYyBhdCBsZWFzdCB4IGxpbmVzIGJhY2t3YXJkcworIgkJCXg9MCB0byBzeW5jIGZyb20gc3RhcnQKKworIiBOb3RlCisiIFNldHRpbmcgcGhwX2ZvbGRpbmc9MSB3aWxsIG1hdGNoIGEgY2xvc2luZyB9IGJ5IGNvbXBhcmluZyB0aGUgaW5kZW50CisiIGJlZm9yZSB0aGUgY2xhc3Mgb3IgZnVuY3Rpb24ga2V5d29yZCB3aXRoIHRoZSBpbmRlbnQgb2YgYSBtYXRjaGluZyB9LgorIiBTZXR0aW5nIHBocF9mb2xkaW5nPTIgd2lsbCBtYXRjaCBhbGwgb2YgcGFpcnMgb2Ygeyx9ICggc2VlIGtub3duCisiIGJ1Z3MgaWkgKQorCisiIEtub3duIGJ1Z3MKKyIgc2V0dGluZyAgcGhwX3BhcmVudF9lcnJvcl9jbG9zZSAgb24gIGFuZCAgcGhwX3BhcmVudF9lcnJvcl9vcGVuICBvZmYKKyIgaGFzIHRoZXNlIHR3byBsZWFrczoKKyIgIGkpIEFuIGNsb3NpbmcgKSBvciBdIGluc2lkZSBhIHN0cmluZyBtYXRjaCB0byB0aGUgbGFzdCBvcGVuICggb3IgWworIiAgICAgYmVmb3JlIHRoZSBzdHJpbmcsIHdoZW4gdGhlIHRoZSBjbG9zaW5nICkgb3IgXSBpcyBvbiB0aGUgc2FtZSBsaW5lCisiICAgICB3aGVyZSB0aGUgc3RyaW5nIHN0YXJ0ZWQuIEluIHRoaXMgY2FzZSBhIGZvbGxvd2luZyApIG9yIF0gYWZ0ZXIKKyIgICAgIHRoZSBzdHJpbmcgd291bGQgYmUgaGlnaGxpZ2h0ZWQgYXMgYW4gZXJyb3IsIHdoYXQgaXMgaW5jb3JyZWN0LgorIiBpaSkgU2FtZSBwcm9ibGVtIGlmIHlvdSBhcmUgc2V0dGluZyBwaHBfZm9sZGluZyA9IDIgd2l0aCBhIGNsb3NpbmcKKyIgICAgIH0gaW5zaWRlIGFuIHN0cmluZyBvbiB0aGUgZmlyc3QgbGluZSBvZiB0aGlzIHN0cmluZy4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCisgIGxldCBtYWluX3N5bnRheCA9ICdwaHAnCitlbmRpZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHVubGV0ISBwaHBfZm9sZGluZworICBpZiBleGlzdHMoInBocF9zeW5jX21ldGhvZCIpICYmICFwaHBfc3luY19tZXRob2QKKyAgICBsZXQgcGhwX3N5bmNfbWV0aG9kPS0xCisgIGVuZGlmCisgIHNvIDxzZmlsZT46cDpoL2h0bWwudmltCitlbHNlCisgIHJ1bnRpbWUgc3ludGF4L2h0bWwudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKK2VuZGlmCisKKyIgYWNjZXB0IG9sZCBvcHRpb25zCitpZiAhZXhpc3RzKCJwaHBfc3luY19tZXRob2QiKQorICBpZiBleGlzdHMoInBocF9taW5saW5lcyIpCisgICAgbGV0IHBocF9zeW5jX21ldGhvZD1waHBfbWlubGluZXMKKyAgZWxzZQorICAgIGxldCBwaHBfc3luY19tZXRob2Q9LTEKKyAgZW5kaWYKK2VuZGlmCisKK2lmIGV4aXN0cygicGhwX3BhcmVudEVycm9yIikgJiYgIWV4aXN0cygicGhwX3BhcmVudF9lcnJvcl9vcGVuIikgJiYgIWV4aXN0cygicGhwX3BhcmVudF9lcnJvcl9jbG9zZSIpCisgIGxldCBwaHBfcGFyZW50X2Vycm9yX2Nsb3NlPTEKKyAgbGV0IHBocF9wYXJlbnRfZXJyb3Jfb3Blbj0xCitlbmRpZgorCitzeW4gY2x1c3RlciBodG1sUHJlcHJvYyBhZGQ9cGhwUmVnaW9uLHBocFJlZ2lvbkFzcCxwaHBSZWdpb25TYworCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBpbmNsdWRlIEBzcWxUb3AgPHNmaWxlPjpwOmgvc3FsLnZpbQorZWxzZQorICBzeW4gaW5jbHVkZSBAc3FsVG9wIHN5bnRheC9zcWwudmltCitlbmRpZgorc3luIHN5bmMgY2xlYXIKK3VubGV0IGI6Y3VycmVudF9zeW50YXgKK3N5biBjbHVzdGVyIHNxbFRvcCByZW1vdmU9c3FsU3RyaW5nLHNxbENvbW1lbnQKK2lmIGV4aXN0cyggInBocF9zcWxfcXVlcnkiKQorICBzeW4gY2x1c3RlciBwaHBBZGRTdHJpbmdzIGNvbnRhaW5zPUBzcWxUb3AKK2VuZGlmCisKK2lmIGV4aXN0cyggInBocF9odG1sSW5TdHJpbmdzIikKKyAgc3luIGNsdXN0ZXIgcGhwQWRkU3RyaW5ncyBhZGQ9QGh0bWxUb3AKK2VuZGlmCisKK3N5biBjYXNlIG1hdGNoCisKKyIgRW52IFZhcmlhYmxlcworc3luIGtleXdvcmQJcGhwRW52VmFyCUdBVEVXQVlfSU5URVJGQUNFIFNFUlZFUl9OQU1FIFNFUlZFUl9TT0ZUV0FSRSBTRVJWRVJfUFJPVE9DT0wgUkVRVUVTVF9NRVRIT0QgUVVFUllfU1RSSU5HIERPQ1VNRU5UX1JPT1QgSFRUUF9BQ0NFUFQgSFRUUF9BQ0NFUFRfQ0hBUlNFVCBIVFRQX0VOQ09ESU5HIEhUVFBfQUNDRVBUX0xBTkdVQUdFIEhUVFBfQ09OTkVDVElPTiBIVFRQX0hPU1QgSFRUUF9SRUZFUkVSIEhUVFBfVVNFUl9BR0VOVCBSRU1PVEVfQUREUiBSRU1PVEVfUE9SVCBTQ1JJUFRfRklMRU5BTUUgU0VSVkVSX0FETUlOIFNFUlZFUl9QT1JUIFNFUlZFUl9TSUdOQVRVUkUgUEFUSF9UUkFOU0xBVEVEIFNDUklQVF9OQU1FIFJFUVVFU1RfVVJJCWNvbnRhaW5lZAorCisiIEludGVybmFsIFZhcmlhYmxlcworc3luIGtleXdvcmQJcGhwSW50VmFyCUdMT0JBTFMgUEhQX0VSUk1TRyBQSFBfU0VMRiBIVFRQX0dFVF9WQVJTIEhUVFBfUE9TVF9WQVJTIEhUVFBfQ09PS0lFX1ZBUlMgSFRUUF9QT1NUX0ZJTEVTIEhUVFBfRU5WX1ZBUlMgSFRUUF9TRVJWRVJfVkFSUyBIVFRQX1NFU1NJT05fVkFSUyBIVFRQX1JBV19QT1NUX0RBVEEgSFRUUF9TVEFURV9WQVJTIF9HRVQgX1BPU1QgX0NPT0tJRSBfRklMRVMgX1NFUlZFUiBfRU5WIF9TRVJWRVIgX1JFUVVFU1QgX1NFU1NJT04JY29udGFpbmVkCisKKyIgQ29uc3RhbnRzCitzeW4ga2V5d29yZAlwaHBDb3JlQ29uc3RhbnQJUEhQX1ZFUlNJT04gUEhQX09TIERFRkFVTFRfSU5DTFVERV9QQVRIIFBFQVJfSU5TVEFMTF9ESVIgUEVBUl9FWFRFTlNJT05fRElSIFBIUF9FWFRFTlNJT05fRElSIFBIUF9CSU5ESVIgUEhQX0xJQkRJUiBQSFBfREFUQURJUiBQSFBfU1lTQ09ORkRJUiBQSFBfTE9DQUxTVEFURURJUiBQSFBfQ09ORklHX0ZJTEVfUEFUSCBQSFBfT1VUUFVUX0hBTkRMRVJfU1RBUlQgUEhQX09VVFBVVF9IQU5ETEVSX0NPTlQgUEhQX09VVFBVVF9IQU5ETEVSX0VORCBFX0VSUk9SIEVfV0FSTklORyBFX1BBUlNFIEVfTk9USUNFIEVfQ09SRV9FUlJPUiBFX0NPUkVfV0FSTklORyBFX0NPTVBJTEVfRVJST1IgRV9DT01QSUxFX1dBUk5JTkcgRV9VU0VSX0VSUk9SIEVfVVNFUl9XQVJOSU5HIEVfVVNFUl9OT1RJQ0UgRV9BTEwJY29udGFpbmVkCisKK3N5biBjYXNlIGlnbm9yZQorCitzeW4ga2V5d29yZAlwaHBDb25zdGFudAkgX19MSU5FX18gX19GSUxFX18gX19GVU5DVElPTl9fIF9fTUVUSE9EX18gX19DTEFTU19fCWNvbnRhaW5lZAorCisKKyIgRnVuY3Rpb24gYW5kIE1ldGhvZHMgcmlwcGVkIGZyb20gcGhwX21hbnVhbF9kZS50YXIuZ3ogSmFuIDIwMDMKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlhcGFjaGVfY2hpbGRfdGVybWluYXRlIGFwYWNoZV9nZXRfbW9kdWxlcyBhcGFjaGVfZ2V0X3ZlcnNpb24gYXBhY2hlX2dldGVudiBhcGFjaGVfbG9va3VwX3VyaSBhcGFjaGVfbm90ZSBhcGFjaGVfcmVxdWVzdF9oZWFkZXJzIGFwYWNoZV9yZXNwb25zZV9oZWFkZXJzIGFwYWNoZV9zZXRlbnYgYXNjaWkyZWJjZGljIGViY2RpYzJhc2NpaSBnZXRhbGxoZWFkZXJzIHZpcnR1YWwJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJYXJyYXlfY2hhbmdlX2tleV9jYXNlIGFycmF5X2NodW5rIGFycmF5X2NvbWJpbmUgYXJyYXlfY291bnRfdmFsdWVzIGFycmF5X2RpZmZfYXNzb2MgYXJyYXlfZGlmZl91YXNzb2MgYXJyYXlfZGlmZiBhcnJheV9maWxsIGFycmF5X2ZpbHRlciBhcnJheV9mbGlwIGFycmF5X2ludGVyc2VjdF9hc3NvYyBhcnJheV9pbnRlcnNlY3QgYXJyYXlfa2V5X2V4aXN0cyBhcnJheV9rZXlzIGFycmF5X21hcCBhcnJheV9tZXJnZV9yZWN1cnNpdmUgYXJyYXlfbWVyZ2UgYXJyYXlfbXVsdGlzb3J0IGFycmF5X3BhZCBhcnJheV9wb3AgYXJyYXlfcHVzaCBhcnJheV9yYW5kIGFycmF5X3JlZHVjZSBhcnJheV9yZXZlcnNlIGFycmF5X3NlYXJjaCBhcnJheV9zaGlmdCBhcnJheV9zbGljZSBhcnJheV9zcGxpY2UgYXJyYXlfc3VtIGFycmF5X3VkaWZmX2Fzc29jIGFycmF5X3VkaWZmX3Vhc3NvYyBhcnJheV91ZGlmZiBhcnJheV91bmlxdWUgYXJyYXlfdW5zaGlmdCBhcnJheV92YWx1ZXMgYXJyYXlfd2FsayBhcnJheSBhcnNvcnQgYXNvcnQgY29tcGFjdCBjb3VudCBjdXJyZW50IGVhY2ggZW5kIGV4dHJhY3QgaW5fYXJyYXkga2V5IGtyc29ydCBrc29ydCBsaXN0IG5hdGNhc2Vzb3J0IG5hdHNvcnQgbmV4dCBwb3MgcHJldiByYW5nZSByZXNldCByc29ydCBzaHVmZmxlIHNpemVvZiBzb3J0IHVhc29ydCB1a3NvcnQgdXNvcnQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJYXNwZWxsX2NoZWNrIGFzcGVsbF9uZXcgYXNwZWxsX3N1Z2dlc3QJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJYmNhZGQgYmNjb21wIGJjZGl2IGJjbW9kIGJjbXVsIGJjcG93IGJjcG93bW9kIGJjc2NhbGUgYmNzcXJ0IGJjc3ViCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWJ6Y2xvc2UgYnpjb21wcmVzcyBiemRlY29tcHJlc3MgYnplcnJubyBiemVycm9yIGJ6ZXJyc3RyIGJ6Zmx1c2ggYnpvcGVuIGJ6cmVhZCBiendyaXRlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWNhbF9kYXlzX2luX21vbnRoIGNhbF9mcm9tX2pkIGNhbF9pbmZvIGNhbF90b19qZCBlYXN0ZXJfZGF0ZSBlYXN0ZXJfZGF5cyBmcmVuY2h0b2pkIGdyZWdvcmlhbnRvamQgamRkYXlvZndlZWsgamRtb250aG5hbWUgamR0b2ZyZW5jaCBqZHRvZ3JlZ29yaWFuIGpkdG9qZXdpc2ggamR0b2p1bGlhbiBqZHRvdW5peCBqZXdpc2h0b2pkIGp1bGlhbnRvamQgdW5peHRvamQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJY2N2c19hZGQgY2N2c19hdXRoIGNjdnNfY29tbWFuZCBjY3ZzX2NvdW50IGNjdnNfZGVsZXRlIGNjdnNfZG9uZSBjY3ZzX2luaXQgY2N2c19sb29rdXAgY2N2c19uZXcgY2N2c19yZXBvcnQgY2N2c19yZXR1cm4gY2N2c19yZXZlcnNlIGNjdnNfc2FsZSBjY3ZzX3N0YXR1cyBjY3ZzX3RleHR2YWx1ZSBjY3ZzX3ZvaWQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJY2FsbF91c2VyX21ldGhvZF9hcnJheSBjYWxsX3VzZXJfbWV0aG9kIGNsYXNzX2V4aXN0cyBnZXRfY2xhc3NfbWV0aG9kcyBnZXRfY2xhc3NfdmFycyBnZXRfY2xhc3MgZ2V0X2RlY2xhcmVkX2NsYXNzZXMgZ2V0X29iamVjdF92YXJzIGdldF9wYXJlbnRfY2xhc3MgaXNfYSBpc19zdWJjbGFzc19vZiBtZXRob2RfZXhpc3RzCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWNvbSBWQVJJQU5UIGNvbV9hZGRyZWYgY29tX2dldCBjb21faW52b2tlIGNvbV9pc2VudW0gY29tX2xvYWRfdHlwZWxpYiBjb21fbG9hZCBjb21fcHJvcGdldCBjb21fcHJvcHB1dCBjb21fcHJvcHNldCBjb21fcmVsZWFzZSBjb21fc2V0CWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWNwZGZfYWRkX2Fubm90YXRpb24gY3BkZl9hZGRfb3V0bGluZSBjcGRmX2FyYyBjcGRmX2JlZ2luX3RleHQgY3BkZl9jaXJjbGUgY3BkZl9jbGlwIGNwZGZfY2xvc2UgY3BkZl9jbG9zZXBhdGhfZmlsbF9zdHJva2UgY3BkZl9jbG9zZXBhdGhfc3Ryb2tlIGNwZGZfY2xvc2VwYXRoIGNwZGZfY29udGludWVfdGV4dCBjcGRmX2N1cnZldG8gY3BkZl9lbmRfdGV4dCBjcGRmX2ZpbGxfc3Ryb2tlIGNwZGZfZmlsbCBjcGRmX2ZpbmFsaXplX3BhZ2UgY3BkZl9maW5hbGl6ZSBjcGRmX2dsb2JhbF9zZXRfZG9jdW1lbnRfbGltaXRzIGNwZGZfaW1wb3J0X2pwZWcgY3BkZl9saW5ldG8gY3BkZl9tb3ZldG8gY3BkZl9uZXdwYXRoIGNwZGZfb3BlbiBjcGRmX291dHB1dF9idWZmZXIgY3BkZl9wYWdlX2luaXQgY3BkZl9wbGFjZV9pbmxpbmVfaW1hZ2UgY3BkZl9yZWN0IGNwZGZfcmVzdG9yZSBjcGRmX3JsaW5ldG8gY3BkZl9ybW92ZXRvIGNwZGZfcm90YXRlX3RleHQgY3BkZl9yb3RhdGUgY3BkZl9zYXZlX3RvX2ZpbGUgY3BkZl9zYXZlIGNwZGZfc2NhbGUgY3BkZl9zZXRfYWN0aW9uX3VybCBjcGRmX3NldF9jaGFyX3NwYWNpbmcgY3BkZl9zZXRfY3JlYXRvciBjcGRmX3NldF9jdXJyZW50X3BhZ2UgY3BkZl9zZXRfZm9udF9kaXJlY3RvcmllcyBjcGRmX3NldF9mb250X21hcF9maWxlIGNwZGZfc2V0X2ZvbnQgY3BkZl9zZXRfaG9yaXpfc2NhbGluZyBjcGRmX3NldF9rZXl3b3JkcyBjcGRmX3NldF9sZWFkaW5nIGNwZGZfc2V0X3BhZ2VfYW5pbWF0aW9uIGNwZGZfc2V0X3N1YmplY3QgY3BkZl9zZXRfdGV4dF9tYXRyaXggY3BkZl9zZXRfdGV4dF9wb3MgY3BkZl9zZXRfdGV4dF9yZW5kZXJpbmcgY3BkZl9zZXRfdGV4dF9yaXNlIGNwZGZfc2V0X3RpdGxlIGNwZGZfc2V0X3ZpZXdlcl9wcmVmZXJlbmNlcyBjcGRmX3NldF93b3JkX3NwYWNpbmcgY3BkZl9zZXRkYXNoIGNwZGZfc2V0ZmxhdCBjcGRmX3NldGdyYXlfZmlsbCBjcGRmX3NldGdyYXlfc3Ryb2tlIGNwZGZfc2V0Z3JheSBjcGRmX3NldGxpbmVjYXAgY3BkZl9zZXRsaW5lam9pbiBjcGRmX3NldGxpbmV3aWR0aCBjcGRmX3NldG1pdGVybGltaXQgY3BkZl9zZXRyZ2Jjb2xvcl9maWxsIGNwZGZfc2V0cmdiY29sb3Jfc3Ryb2tlIGNwZGZfc2V0cmdiY29sb3IgY3BkZl9zaG93X3h5IGNwZGZfc2hvdyBjcGRmX3N0cmluZ3dpZHRoIGNwZGZfc3Ryb2tlIGNwZGZfdGV4dCBjcGRmX3RyYW5zbGF0ZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwljcmFja19jaGVjayBjcmFja19jbG9zZWRpY3QgY3JhY2tfZ2V0bGFzdG1lc3NhZ2UgY3JhY2tfb3BlbmRpY3QJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJY3R5cGVfYWxudW0gY3R5cGVfYWxwaGEgY3R5cGVfY250cmwgY3R5cGVfZGlnaXQgY3R5cGVfZ3JhcGggY3R5cGVfbG93ZXIgY3R5cGVfcHJpbnQgY3R5cGVfcHVuY3QgY3R5cGVfc3BhY2UgY3R5cGVfdXBwZXIgY3R5cGVfeGRpZ2l0CWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWN1cmxfY2xvc2UgY3VybF9lcnJubyBjdXJsX2Vycm9yIGN1cmxfZXhlYyBjdXJsX2dldGluZm8gY3VybF9pbml0IGN1cmxfbXVsdGlfYWRkX2hhbmRsZSBjdXJsX211bHRpX2Nsb3NlIGN1cmxfbXVsdGlfZXhlYyBjdXJsX211bHRpX2dldGNvbnRlbnQgY3VybF9tdWx0aV9pbmZvX3JlYWQgY3VybF9tdWx0aV9pbml0IGN1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZSBjdXJsX211bHRpX3NlbGVjdCBjdXJsX3NldG9wdCBjdXJsX3ZlcnNpb24JY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJY3liZXJjYXNoX2Jhc2U2NF9kZWNvZGUgY3liZXJjYXNoX2Jhc2U2NF9lbmNvZGUgY3liZXJjYXNoX2RlY3IgY3liZXJjYXNoX2VuY3IJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJY3lydXNfYXV0aGVudGljYXRlIGN5cnVzX2JpbmQgY3lydXNfY2xvc2UgY3lydXNfY29ubmVjdCBjeXJ1c19xdWVyeSBjeXJ1c191bmJpbmQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJY2hlY2tkYXRlIGRhdGUgZ2V0ZGF0ZSBnZXR0aW1lb2ZkYXkgZ21kYXRlIGdtbWt0aW1lIGdtc3RyZnRpbWUgbG9jYWx0aW1lIG1pY3JvdGltZSBta3RpbWUgc3RyZnRpbWUgc3RydG90aW1lIHRpbWUJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZGJhX2Nsb3NlIGRiYV9kZWxldGUgZGJhX2V4aXN0cyBkYmFfZmV0Y2ggZGJhX2ZpcnN0a2V5IGRiYV9oYW5kbGVycyBkYmFfaW5zZXJ0IGRiYV9rZXlfc3BsaXQgZGJhX2xpc3QgZGJhX25leHRrZXkgZGJhX29wZW4gZGJhX29wdGltaXplIGRiYV9wb3BlbiBkYmFfcmVwbGFjZSBkYmFfc3luYwljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlkYmFzZV9hZGRfcmVjb3JkIGRiYXNlX2Nsb3NlIGRiYXNlX2NyZWF0ZSBkYmFzZV9kZWxldGVfcmVjb3JkIGRiYXNlX2dldF9oZWFkZXJfaW5mbyBkYmFzZV9nZXRfcmVjb3JkX3dpdGhfbmFtZXMgZGJhc2VfZ2V0X3JlY29yZCBkYmFzZV9udW1maWVsZHMgZGJhc2VfbnVtcmVjb3JkcyBkYmFzZV9vcGVuIGRiYXNlX3BhY2sgZGJhc2VfcmVwbGFjZV9yZWNvcmQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZGJsaXN0IGRibWNsb3NlIGRibWRlbGV0ZSBkYm1leGlzdHMgZGJtZmV0Y2ggZGJtZmlyc3RrZXkgZGJtaW5zZXJ0IGRibW5leHRrZXkgZGJtb3BlbiBkYm1yZXBsYWNlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWRicGx1c19hZGQgZGJwbHVzX2FxbCBkYnBsdXNfY2hkaXIgZGJwbHVzX2Nsb3NlIGRicGx1c19jdXJyIGRicGx1c19lcnJjb2RlIGRicGx1c19lcnJubyBkYnBsdXNfZmluZCBkYnBsdXNfZmlyc3QgZGJwbHVzX2ZsdXNoIGRicGx1c19mcmVlYWxsbG9ja3MgZGJwbHVzX2ZyZWVsb2NrIGRicGx1c19mcmVlcmxvY2tzIGRicGx1c19nZXRsb2NrIGRicGx1c19nZXR1bmlxdWUgZGJwbHVzX2luZm8gZGJwbHVzX2xhc3QgZGJwbHVzX2xvY2tyZWwgZGJwbHVzX25leHQgZGJwbHVzX29wZW4gZGJwbHVzX3ByZXYgZGJwbHVzX3JjaHBlcm0gZGJwbHVzX3JjcmVhdGUgZGJwbHVzX3JjcnRleGFjdCBkYnBsdXNfcmNydGxpa2UgZGJwbHVzX3Jlc29sdmUgZGJwbHVzX3Jlc3RvcmVwb3MgZGJwbHVzX3JrZXlzIGRicGx1c19yb3BlbiBkYnBsdXNfcnF1ZXJ5IGRicGx1c19ycmVuYW1lIGRicGx1c19yc2VjaW5kZXggZGJwbHVzX3J1bmxpbmsgZGJwbHVzX3J6YXAgZGJwbHVzX3NhdmVwb3MgZGJwbHVzX3NldGluZGV4IGRicGx1c19zZXRpbmRleGJ5bnVtYmVyIGRicGx1c19zcWwgZGJwbHVzX3RjbCBkYnBsdXNfdHJlbW92ZSBkYnBsdXNfdW5kbyBkYnBsdXNfdW5kb3ByZXBhcmUgZGJwbHVzX3VubG9ja3JlbCBkYnBsdXNfdW5zZWxlY3QgZGJwbHVzX3VwZGF0ZSBkYnBsdXNfeGxvY2tyZWwgZGJwbHVzX3h1bmxvY2tyZWwJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZGJ4X2Nsb3NlIGRieF9jb21wYXJlIGRieF9jb25uZWN0IGRieF9lcnJvciBkYnhfZXNjYXBlX3N0cmluZyBkYnhfZmV0Y2hfcm93IGRieF9xdWVyeSBkYnhfc29ydAljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlkaW9fY2xvc2UgZGlvX2ZjbnRsIGRpb19vcGVuIGRpb19yZWFkIGRpb19zZWVrIGRpb19zdGF0IGRpb190Y3NldGF0dHIgZGlvX3RydW5jYXRlIGRpb193cml0ZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwljaGRpciBjaHJvb3QgZGlyIGNsb3NlZGlyIGdldGN3ZCBvcGVuZGlyIHJlYWRkaXIgcmV3aW5kZGlyIHNjYW5kaXIJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZG9teG1sX25ld19kb2MgZG9teG1sX29wZW5fZmlsZSBkb214bWxfb3Blbl9tZW0gZG9teG1sX3ZlcnNpb24gZG9teG1sX3htbHRyZWUgZG9teG1sX3hzbHRfc3R5bGVzaGVldF9kb2MgZG9teG1sX3hzbHRfc3R5bGVzaGVldF9maWxlIGRvbXhtbF94c2x0X3N0eWxlc2hlZXQgeHBhdGhfZXZhbF9leHByZXNzaW9uIHhwYXRoX2V2YWwgeHBhdGhfbmV3X2NvbnRleHQgeHB0cl9ldmFsIHhwdHJfbmV3X2NvbnRleHQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBNZXRob2RzCW5hbWUgc3BlY2lmaWVkIHZhbHVlIGNyZWF0ZV9hdHRyaWJ1dGUgY3JlYXRlX2NkYXRhX3NlY3Rpb24gY3JlYXRlX2NvbW1lbnQgY3JlYXRlX2VsZW1lbnRfbnMgY3JlYXRlX2VsZW1lbnQgY3JlYXRlX2VudGl0eV9yZWZlcmVuY2UgY3JlYXRlX3Byb2Nlc3NpbmdfaW5zdHJ1Y3Rpb24gY3JlYXRlX3RleHRfbm9kZSBkb2N0eXBlIGRvY3VtZW50X2VsZW1lbnQgZHVtcF9maWxlIGR1bXBfbWVtIGdldF9lbGVtZW50X2J5X2lkIGdldF9lbGVtZW50c19ieV90YWduYW1lIGh0bWxfZHVtcF9tZW0geGluY2x1ZGUgZW50aXRpZXMgaW50ZXJuYWxfc3Vic2V0IG5hbWUgbm90YXRpb25zIHB1YmxpY19pZCBzeXN0ZW1faWQgZ2V0X2F0dHJpYnV0ZV9ub2RlIGdldF9hdHRyaWJ1dGUgZ2V0X2VsZW1lbnRzX2J5X3RhZ25hbWUgaGFzX2F0dHJpYnV0ZSByZW1vdmVfYXR0cmlidXRlIHNldF9hdHRyaWJ1dGUgdGFnbmFtZSBhZGRfbmFtZXNwYWNlIGFwcGVuZF9jaGlsZCBhcHBlbmRfc2libGluZyBhdHRyaWJ1dGVzIGNoaWxkX25vZGVzIGNsb25lX25vZGUgZHVtcF9ub2RlIGZpcnN0X2NoaWxkIGdldF9jb250ZW50IGhhc19hdHRyaWJ1dGVzIGhhc19jaGlsZF9ub2RlcyBpbnNlcnRfYmVmb3JlIGlzX2JsYW5rX25vZGUgbGFzdF9jaGlsZCBuZXh0X3NpYmxpbmcgbm9kZV9uYW1lIG5vZGVfdHlwZSBub2RlX3ZhbHVlIG93bmVyX2RvY3VtZW50IHBhcmVudF9ub2RlIHByZWZpeCBwcmV2aW91c19zaWJsaW5nIHJlbW92ZV9jaGlsZCByZXBsYWNlX2NoaWxkIHJlcGxhY2Vfbm9kZSBzZXRfY29udGVudCBzZXRfbmFtZSBzZXRfbmFtZXNwYWNlIHVubGlua19ub2RlIGRhdGEgdGFyZ2V0IHByb2Nlc3MgcmVzdWx0X2R1bXBfZmlsZSByZXN1bHRfZHVtcF9tZW0JY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZG90bmV0X2xvYWQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZGVidWdfYmFja3RyYWNlIGRlYnVnX3ByaW50X2JhY2t0cmFjZSBlcnJvcl9sb2cgZXJyb3JfcmVwb3J0aW5nIHJlc3RvcmVfZXJyb3JfaGFuZGxlciBzZXRfZXJyb3JfaGFuZGxlciB0cmlnZ2VyX2Vycm9yIHVzZXJfZXJyb3IJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZXNjYXBlc2hlbGxhcmcgZXNjYXBlc2hlbGxjbWQgZXhlYyBwYXNzdGhydSBwcm9jX2Nsb3NlIHByb2NfZ2V0X3N0YXR1cyBwcm9jX25pY2UgcHJvY19vcGVuIHByb2NfdGVybWluYXRlIHNoZWxsX2V4ZWMgc3lzdGVtCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWZhbV9jYW5jZWxfbW9uaXRvciBmYW1fY2xvc2UgZmFtX21vbml0b3JfY29sbGVjdGlvbiBmYW1fbW9uaXRvcl9kaXJlY3RvcnkgZmFtX21vbml0b3JfZmlsZSBmYW1fbmV4dF9ldmVudCBmYW1fb3BlbiBmYW1fcGVuZGluZyBmYW1fcmVzdW1lX21vbml0b3IgZmFtX3N1c3BlbmRfbW9uaXRvcgljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlmYnNxbF9hZmZlY3RlZF9yb3dzIGZic3FsX2F1dG9jb21taXQgZmJzcWxfY2hhbmdlX3VzZXIgZmJzcWxfY2xvc2UgZmJzcWxfY29tbWl0IGZic3FsX2Nvbm5lY3QgZmJzcWxfY3JlYXRlX2Jsb2IgZmJzcWxfY3JlYXRlX2Nsb2IgZmJzcWxfY3JlYXRlX2RiIGZic3FsX2RhdGFfc2VlayBmYnNxbF9kYXRhYmFzZV9wYXNzd29yZCBmYnNxbF9kYXRhYmFzZSBmYnNxbF9kYl9xdWVyeSBmYnNxbF9kYl9zdGF0dXMgZmJzcWxfZHJvcF9kYiBmYnNxbF9lcnJubyBmYnNxbF9lcnJvciBmYnNxbF9mZXRjaF9hcnJheSBmYnNxbF9mZXRjaF9hc3NvYyBmYnNxbF9mZXRjaF9maWVsZCBmYnNxbF9mZXRjaF9sZW5ndGhzIGZic3FsX2ZldGNoX29iamVjdCBmYnNxbF9mZXRjaF9yb3cgZmJzcWxfZmllbGRfZmxhZ3MgZmJzcWxfZmllbGRfbGVuIGZic3FsX2ZpZWxkX25hbWUgZmJzcWxfZmllbGRfc2VlayBmYnNxbF9maWVsZF90YWJsZSBmYnNxbF9maWVsZF90eXBlIGZic3FsX2ZyZWVfcmVzdWx0IGZic3FsX2dldF9hdXRvc3RhcnRfaW5mbyBmYnNxbF9ob3N0bmFtZSBmYnNxbF9pbnNlcnRfaWQgZmJzcWxfbGlzdF9kYnMgZmJzcWxfbGlzdF9maWVsZHMgZmJzcWxfbGlzdF90YWJsZXMgZmJzcWxfbmV4dF9yZXN1bHQgZmJzcWxfbnVtX2ZpZWxkcyBmYnNxbF9udW1fcm93cyBmYnNxbF9wYXNzd29yZCBmYnNxbF9wY29ubmVjdCBmYnNxbF9xdWVyeSBmYnNxbF9yZWFkX2Jsb2IgZmJzcWxfcmVhZF9jbG9iIGZic3FsX3Jlc3VsdCBmYnNxbF9yb2xsYmFjayBmYnNxbF9zZWxlY3RfZGIgZmJzcWxfc2V0X2xvYl9tb2RlIGZic3FsX3NldF90cmFuc2FjdGlvbiBmYnNxbF9zdGFydF9kYiBmYnNxbF9zdG9wX2RiIGZic3FsX3RhYmxlbmFtZSBmYnNxbF91c2VybmFtZSBmYnNxbF93YXJuaW5ncwljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlmZGZfYWRkX2RvY19qYXZhc2NyaXB0IGZkZl9hZGRfdGVtcGxhdGUgZmRmX2Nsb3NlIGZkZl9jcmVhdGUgZmRmX2VudW1fdmFsdWVzIGZkZl9lcnJubyBmZGZfZXJyb3IgZmRmX2dldF9hcCBmZGZfZ2V0X2F0dGFjaG1lbnQgZmRmX2dldF9lbmNvZGluZyBmZGZfZ2V0X2ZpbGUgZmRmX2dldF9mbGFncyBmZGZfZ2V0X29wdCBmZGZfZ2V0X3N0YXR1cyBmZGZfZ2V0X3ZhbHVlIGZkZl9nZXRfdmVyc2lvbiBmZGZfaGVhZGVyIGZkZl9uZXh0X2ZpZWxkX25hbWUgZmRmX29wZW5fc3RyaW5nIGZkZl9vcGVuIGZkZl9yZW1vdmVfaXRlbSBmZGZfc2F2ZV9zdHJpbmcgZmRmX3NhdmUgZmRmX3NldF9hcCBmZGZfc2V0X2VuY29kaW5nIGZkZl9zZXRfZmlsZSBmZGZfc2V0X2ZsYWdzIGZkZl9zZXRfamF2YXNjcmlwdF9hY3Rpb24gZmRmX3NldF9vcHQgZmRmX3NldF9zdGF0dXMgZmRmX3NldF9zdWJtaXRfZm9ybV9hY3Rpb24gZmRmX3NldF90YXJnZXRfZnJhbWUgZmRmX3NldF92YWx1ZSBmZGZfc2V0X3ZlcnNpb24JY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZmlsZXByb19maWVsZGNvdW50IGZpbGVwcm9fZmllbGRuYW1lIGZpbGVwcm9fZmllbGR0eXBlIGZpbGVwcm9fZmllbGR3aWR0aCBmaWxlcHJvX3JldHJpZXZlIGZpbGVwcm9fcm93Y291bnQgZmlsZXBybwljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwliYXNlbmFtZSBjaGdycCBjaG1vZCBjaG93biBjbGVhcnN0YXRjYWNoZSBjb3B5IGRlbGV0ZSBkaXJuYW1lIGRpc2tfZnJlZV9zcGFjZSBkaXNrX3RvdGFsX3NwYWNlIGRpc2tmcmVlc3BhY2UgZmNsb3NlIGZlb2YgZmZsdXNoIGZnZXRjIGZnZXRjc3YgZmdldHMgZmdldHNzIGZpbGVfZXhpc3RzIGZpbGVfZ2V0X2NvbnRlbnRzIGZpbGVfcHV0X2NvbnRlbnRzIGZpbGUgZmlsZWF0aW1lIGZpbGVjdGltZSBmaWxlZ3JvdXAgZmlsZWlub2RlIGZpbGVtdGltZSBmaWxlb3duZXIgZmlsZXBlcm1zIGZpbGVzaXplIGZpbGV0eXBlIGZsb2NrIGZubWF0Y2ggZm9wZW4gZnBhc3N0aHJ1IGZwdXRzIGZyZWFkIGZzY2FuZiBmc2VlayBmc3RhdCBmdGVsbCBmdHJ1bmNhdGUgZndyaXRlIGdsb2IgaXNfZGlyIGlzX2V4ZWN1dGFibGUgaXNfZmlsZSBpc19saW5rIGlzX3JlYWRhYmxlIGlzX3VwbG9hZGVkX2ZpbGUgaXNfd3JpdGFibGUgaXNfd3JpdGVhYmxlIGxpbmsgbGlua2luZm8gbHN0YXQgbWtkaXIgbW92ZV91cGxvYWRlZF9maWxlIHBhcnNlX2luaV9maWxlIHBhdGhpbmZvIHBjbG9zZSBwb3BlbiByZWFkZmlsZSByZWFkbGluayByZWFscGF0aCByZW5hbWUgcmV3aW5kIHJtZGlyIHNldF9maWxlX2J1ZmZlciBzdGF0IHN5bWxpbmsgdGVtcG5hbSB0bXBmaWxlIHRvdWNoIHVtYXNrIHVubGluawljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlmcmliaWRpX2xvZzJ2aXMJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZnRwX2FsbG9jIGZ0cF9jZHVwIGZ0cF9jaGRpciBmdHBfY2htb2QgZnRwX2Nsb3NlIGZ0cF9jb25uZWN0IGZ0cF9kZWxldGUgZnRwX2V4ZWMgZnRwX2ZnZXQgZnRwX2ZwdXQgZnRwX2dldF9vcHRpb24gZnRwX2dldCBmdHBfbG9naW4gZnRwX21kdG0gZnRwX21rZGlyIGZ0cF9uYl9jb250aW51ZSBmdHBfbmJfZmdldCBmdHBfbmJfZnB1dCBmdHBfbmJfZ2V0IGZ0cF9uYl9wdXQgZnRwX25saXN0IGZ0cF9wYXN2IGZ0cF9wdXQgZnRwX3B3ZCBmdHBfcXVpdCBmdHBfcmF3IGZ0cF9yYXdsaXN0IGZ0cF9yZW5hbWUgZnRwX3JtZGlyIGZ0cF9zZXRfb3B0aW9uIGZ0cF9zaXRlIGZ0cF9zaXplIGZ0cF9zc2xfY29ubmVjdCBmdHBfc3lzdHlwZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwljYWxsX3VzZXJfZnVuY19hcnJheSBjYWxsX3VzZXJfZnVuYyBjcmVhdGVfZnVuY3Rpb24gZnVuY19nZXRfYXJnIGZ1bmNfZ2V0X2FyZ3MgZnVuY19udW1fYXJncyBmdW5jdGlvbl9leGlzdHMgZ2V0X2RlZmluZWRfZnVuY3Rpb25zIHJlZ2lzdGVyX3NodXRkb3duX2Z1bmN0aW9uIHJlZ2lzdGVyX3RpY2tfZnVuY3Rpb24gdW5yZWdpc3Rlcl90aWNrX2Z1bmN0aW9uCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0IGJpbmR0ZXh0ZG9tYWluIGRjZ2V0dGV4dCBkY25nZXR0ZXh0IGRnZXR0ZXh0IGRuZ2V0dGV4dCBnZXR0ZXh0IG5nZXR0ZXh0IHRleHRkb21haW4JY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJZ21wX2FicyBnbXBfYWRkIGdtcF9hbmQgZ21wX2NscmJpdCBnbXBfY21wIGdtcF9jb20gZ21wX2Rpdl9xIGdtcF9kaXZfcXIgZ21wX2Rpdl9yIGdtcF9kaXYgZ21wX2RpdmV4YWN0IGdtcF9mYWN0IGdtcF9nY2QgZ21wX2djZGV4dCBnbXBfaGFtZGlzdCBnbXBfaW5pdCBnbXBfaW50dmFsIGdtcF9pbnZlcnQgZ21wX2phY29iaSBnbXBfbGVnZW5kcmUgZ21wX21vZCBnbXBfbXVsIGdtcF9uZWcgZ21wX29yIGdtcF9wZXJmZWN0X3NxdWFyZSBnbXBfcG9wY291bnQgZ21wX3BvdyBnbXBfcG93bSBnbXBfcHJvYl9wcmltZSBnbXBfcmFuZG9tIGdtcF9zY2FuMCBnbXBfc2NhbjEgZ21wX3NldGJpdCBnbXBfc2lnbiBnbXBfc3FydCBnbXBfc3FydHJlbSBnbXBfc3FydHJtIGdtcF9zdHJ2YWwgZ21wX3N1YiBnbXBfeG9yCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWhlYWRlciBoZWFkZXJzX2xpc3QgaGVhZGVyc19zZW50IHNldGNvb2tpZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlod19hcGlfYXR0cmlidXRlIGh3YXBpX2hnY3NwIGh3X2FwaV9jb250ZW50IGh3X2FwaV9vYmplY3QJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBNZXRob2RzCWtleSBsYW5nZGVwdmFsdWUgdmFsdWUgdmFsdWVzIGNoZWNraW4gY2hlY2tvdXQgY2hpbGRyZW4gbWltZXR5cGUgcmVhZCBjb250ZW50IGNvcHkgZGJzdGF0IGRjc3RhdCBkc3RhbmNob3JzIGRzdG9mc3JjYW5jaG9ycyBjb3VudCByZWFzb24gZmluZCBmdHN0YXQgaHdzdGF0IGlkZW50aWZ5IGluZm8gaW5zZXJ0IGluc2VydGFuY2hvciBpbnNlcnRjb2xsZWN0aW9uIGluc2VydGRvY3VtZW50IGxpbmsgbG9jayBtb3ZlIGFzc2lnbiBhdHRyZWRpdGFibGUgY291bnQgaW5zZXJ0IHJlbW92ZSB0aXRsZSB2YWx1ZSBvYmplY3Qgb2JqZWN0YnlhbmNob3IgcGFyZW50cyBkZXNjcmlwdGlvbiB0eXBlIHJlbW92ZSByZXBsYWNlIHNldGNvbW1pdGVkdmVyc2lvbiBzcmNhbmNob3JzIHNyY3NvZmRzdCB1bmxvY2sgdXNlciB1c2VybGlzdAljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlod19BcnJheTJPYmpyZWMgaHdfY2hhbmdlb2JqZWN0IGh3X0NoaWxkcmVuIGh3X0NoaWxkcmVuT2JqIGh3X0Nsb3NlIGh3X0Nvbm5lY3QgaHdfY29ubmVjdGlvbl9pbmZvIGh3X2NwIGh3X0RlbGV0ZW9iamVjdCBod19Eb2NCeUFuY2hvciBod19Eb2NCeUFuY2hvck9iaiBod19Eb2N1bWVudF9BdHRyaWJ1dGVzIGh3X0RvY3VtZW50X0JvZHlUYWcgaHdfRG9jdW1lbnRfQ29udGVudCBod19Eb2N1bWVudF9TZXRDb250ZW50IGh3X0RvY3VtZW50X1NpemUgaHdfZHVtbXkgaHdfRWRpdFRleHQgaHdfRXJyb3IgaHdfRXJyb3JNc2cgaHdfRnJlZV9Eb2N1bWVudCBod19HZXRBbmNob3JzIGh3X0dldEFuY2hvcnNPYmogaHdfR2V0QW5kTG9jayBod19HZXRDaGlsZENvbGwgaHdfR2V0Q2hpbGRDb2xsT2JqIGh3X0dldENoaWxkRG9jQ29sbCBod19HZXRDaGlsZERvY0NvbGxPYmogaHdfR2V0T2JqZWN0IGh3X0dldE9iamVjdEJ5UXVlcnkgaHdfR2V0T2JqZWN0QnlRdWVyeUNvbGwgaHdfR2V0T2JqZWN0QnlRdWVyeUNvbGxPYmogaHdfR2V0T2JqZWN0QnlRdWVyeU9iaiBod19HZXRQYXJlbnRzIGh3X0dldFBhcmVudHNPYmogaHdfZ2V0cmVsbGluayBod19HZXRSZW1vdGUgaHdfZ2V0cmVtb3RlY2hpbGRyZW4gaHdfR2V0U3JjQnlEZXN0T2JqIGh3X0dldFRleHQgaHdfZ2V0dXNlcm5hbWUgaHdfSWRlbnRpZnkgaHdfSW5Db2xsZWN0aW9ucyBod19JbmZvIGh3X0luc0NvbGwgaHdfSW5zRG9jIGh3X2luc2VydGFuY2hvcnMgaHdfSW5zZXJ0RG9jdW1lbnQgaHdfSW5zZXJ0T2JqZWN0IGh3X21hcGlkIGh3X01vZGlmeW9iamVjdCBod19tdiBod19OZXdfRG9jdW1lbnQgaHdfb2JqcmVjMmFycmF5IGh3X091dHB1dF9Eb2N1bWVudCBod19wQ29ubmVjdCBod19QaXBlRG9jdW1lbnQgaHdfUm9vdCBod19zZXRsaW5rcm9vdCBod19zdGF0IGh3X1VubG9jayBod19XaG8JY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJaWJhc2VfYWRkX3VzZXIgaWJhc2VfYWZmZWN0ZWRfcm93cyBpYmFzZV9ibG9iX2FkZCBpYmFzZV9ibG9iX2NhbmNlbCBpYmFzZV9ibG9iX2Nsb3NlIGliYXNlX2Jsb2JfY3JlYXRlIGliYXNlX2Jsb2JfZWNobyBpYmFzZV9ibG9iX2dldCBpYmFzZV9ibG9iX2ltcG9ydCBpYmFzZV9ibG9iX2luZm8gaWJhc2VfYmxvYl9vcGVuIGliYXNlX2Nsb3NlIGliYXNlX2NvbW1pdF9yZXQgaWJhc2VfY29tbWl0IGliYXNlX2Nvbm5lY3QgaWJhc2VfZGVsZXRlX3VzZXIgaWJhc2VfZHJvcF9kYiBpYmFzZV9lcnJjb2RlIGliYXNlX2Vycm1zZyBpYmFzZV9leGVjdXRlIGliYXNlX2ZldGNoX2Fzc29jIGliYXNlX2ZldGNoX29iamVjdCBpYmFzZV9mZXRjaF9yb3cgaWJhc2VfZmllbGRfaW5mbyBpYmFzZV9mcmVlX2V2ZW50X2hhbmRsZXIgaWJhc2VfZnJlZV9xdWVyeSBpYmFzZV9mcmVlX3Jlc3VsdCBpYmFzZV9nZW5faWQgaWJhc2VfbW9kaWZ5X3VzZXIgaWJhc2VfbmFtZV9yZXN1bHQgaWJhc2VfbnVtX2ZpZWxkcyBpYmFzZV9udW1fcGFyYW1zIGliYXNlX3BhcmFtX2luZm8gaWJhc2VfcGNvbm5lY3QgaWJhc2VfcHJlcGFyZSBpYmFzZV9xdWVyeSBpYmFzZV9yb2xsYmFja19yZXQgaWJhc2Vfcm9sbGJhY2sgaWJhc2Vfc2V0X2V2ZW50X2hhbmRsZXIgaWJhc2VfdGltZWZtdCBpYmFzZV90cmFucyBpYmFzZV93YWl0X2V2ZW50CWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWljb252X2dldF9lbmNvZGluZyBpY29udl9taW1lX2RlY29kZV9oZWFkZXJzIGljb252X21pbWVfZGVjb2RlIGljb252X21pbWVfZW5jb2RlIGljb252X3NldF9lbmNvZGluZyBpY29udl9zdHJsZW4gaWNvbnZfc3RycG9zIGljb252X3N0cnJwb3MgaWNvbnZfc3Vic3RyIGljb252IG9iX2ljb252X2hhbmRsZXIJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJaWZ4X2FmZmVjdGVkX3Jvd3MgaWZ4X2Jsb2JpbmZpbGVfbW9kZSBpZnhfYnl0ZWFzdmFyY2hhciBpZnhfY2xvc2UgaWZ4X2Nvbm5lY3QgaWZ4X2NvcHlfYmxvYiBpZnhfY3JlYXRlX2Jsb2IgaWZ4X2NyZWF0ZV9jaGFyIGlmeF9kbyBpZnhfZXJyb3IgaWZ4X2Vycm9ybXNnIGlmeF9mZXRjaF9yb3cgaWZ4X2ZpZWxkcHJvcGVydGllcyBpZnhfZmllbGR0eXBlcyBpZnhfZnJlZV9ibG9iIGlmeF9mcmVlX2NoYXIgaWZ4X2ZyZWVfcmVzdWx0IGlmeF9nZXRfYmxvYiBpZnhfZ2V0X2NoYXIgaWZ4X2dldHNxbGNhIGlmeF9odG1sdGJsX3Jlc3VsdCBpZnhfbnVsbGZvcm1hdCBpZnhfbnVtX2ZpZWxkcyBpZnhfbnVtX3Jvd3MgaWZ4X3Bjb25uZWN0IGlmeF9wcmVwYXJlIGlmeF9xdWVyeSBpZnhfdGV4dGFzdmFyY2hhciBpZnhfdXBkYXRlX2Jsb2IgaWZ4X3VwZGF0ZV9jaGFyIGlmeHVzX2Nsb3NlX3Nsb2IgaWZ4dXNfY3JlYXRlX3Nsb2IgaWZ4dXNfZnJlZV9zbG9iIGlmeHVzX29wZW5fc2xvYiBpZnh1c19yZWFkX3Nsb2IgaWZ4dXNfc2Vla19zbG9iIGlmeHVzX3RlbGxfc2xvYiBpZnh1c193cml0ZV9zbG9iCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWV4aWZfaW1hZ2V0eXBlIGV4aWZfcmVhZF9kYXRhIGV4aWZfdGh1bWJuYWlsIGdkX2luZm8gZ2V0aW1hZ2VzaXplIGltYWdlX3R5cGVfdG9fbWltZV90eXBlIGltYWdlMndibXAgaW1hZ2VhbHBoYWJsZW5kaW5nIGltYWdlYW50aWFsaWFzIGltYWdlYXJjIGltYWdlY2hhciBpbWFnZWNoYXJ1cCBpbWFnZWNvbG9yYWxsb2NhdGUgaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEgaW1hZ2Vjb2xvcmF0IGltYWdlY29sb3JjbG9zZXN0IGltYWdlY29sb3JjbG9zZXN0YWxwaGEgaW1hZ2Vjb2xvcmNsb3Nlc3Rod2IgaW1hZ2Vjb2xvcmRlYWxsb2NhdGUgaW1hZ2Vjb2xvcmV4YWN0IGltYWdlY29sb3JleGFjdGFscGhhIGltYWdlY29sb3JtYXRjaCBpbWFnZWNvbG9ycmVzb2x2ZSBpbWFnZWNvbG9ycmVzb2x2ZWFscGhhIGltYWdlY29sb3JzZXQgaW1hZ2Vjb2xvcnNmb3JpbmRleCBpbWFnZWNvbG9yc3RvdGFsIGltYWdlY29sb3J0cmFuc3BhcmVudCBpbWFnZWNvcHkgaW1hZ2Vjb3B5bWVyZ2UgaW1hZ2Vjb3B5bWVyZ2VncmF5IGltYWdlY29weXJlc2FtcGxlZCBpbWFnZWNvcHlyZXNpemVkIGltYWdlY3JlYXRlIGltYWdlY3JlYXRlZnJvbWdkMiBpbWFnZWNyZWF0ZWZyb21nZDJwYXJ0IGltYWdlY3JlYXRlZnJvbWdkIGltYWdlY3JlYXRlZnJvbWdpZiBpbWFnZWNyZWF0ZWZyb21qcGVnIGltYWdlY3JlYXRlZnJvbXBuZyBpbWFnZWNyZWF0ZWZyb21zdHJpbmcgaW1hZ2VjcmVhdGVmcm9td2JtcCBpbWFnZWNyZWF0ZWZyb214Ym0gaW1hZ2VjcmVhdGVmcm9teHBtIGltYWdlY3JlYXRldHJ1ZWNvbG9yIGltYWdlZGFzaGVkbGluZSBpbWFnZWRlc3Ryb3kgaW1hZ2VlbGxpcHNlIGltYWdlZmlsbCBpbWFnZWZpbGxlZGFyYyBpbWFnZWZpbGxlZGVsbGlwc2UgaW1hZ2VmaWxsZWRwb2x5Z29uIGltYWdlZmlsbGVkcmVjdGFuZ2xlIGltYWdlZmlsbHRvYm9yZGVyIGltYWdlZm9udGhlaWdodCBpbWFnZWZvbnR3aWR0aCBpbWFnZWZ0YmJveCBpbWFnZWZ0dGV4dCBpbWFnZWdhbW1hY29ycmVjdCBpbWFnZWdkMiBpbWFnZWdkIGltYWdlZ2lmIGltYWdlaW50ZXJsYWNlIGltYWdlaXN0cnVlY29sb3IgaW1hZ2VqcGVnIGltYWdlbGluZSBpbWFnZWxvYWRmb250IGltYWdlcGFsZXR0ZWNvcHkgaW1hZ2VwbmcgaW1hZ2Vwb2x5Z29uIGltYWdlcHNiYm94IGltYWdlcHNjb3B5Zm9udCBpbWFnZXBzZW5jb2RlZm9udCBpbWFnZXBzZXh0ZW5kZm9udCBpbWFnZXBzZnJlZWZvbnQgaW1hZ2Vwc2xvYWRmb250IGltYWdlcHNzbGFudGZvbnQgaW1hZ2Vwc3RleHQgaW1hZ2VyZWN0YW5nbGUgaW1hZ2Vyb3RhdGUgaW1hZ2VzYXZlYWxwaGEgaW1hZ2VzZXRicnVzaCBpbWFnZXNldHBpeGVsIGltYWdlc2V0c3R5bGUgaW1hZ2VzZXR0aGlja25lc3MgaW1hZ2VzZXR0aWxlIGltYWdlc3RyaW5nIGltYWdlc3RyaW5ndXAgaW1hZ2VzeCBpbWFnZXN5IGltYWdldHJ1ZWNvbG9ydG9wYWxldHRlIGltYWdldHRmYmJveCBpbWFnZXR0ZnRleHQgaW1hZ2V0eXBlcyBpbWFnZXdibXAgaXB0Y2VtYmVkIGlwdGNwYXJzZSBqcGVnMndibXAgcG5nMndibXAgcmVhZF9leGlmX2RhdGEJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJaW1hcF84Yml0IGltYXBfYWxlcnRzIGltYXBfYXBwZW5kIGltYXBfYmFzZTY0IGltYXBfYmluYXJ5IGltYXBfYm9keSBpbWFwX2JvZHlzdHJ1Y3QgaW1hcF9jaGVjayBpbWFwX2NsZWFyZmxhZ19mdWxsIGltYXBfY2xvc2UgaW1hcF9jcmVhdGVtYWlsYm94IGltYXBfZGVsZXRlIGltYXBfZGVsZXRlbWFpbGJveCBpbWFwX2Vycm9ycyBpbWFwX2V4cHVuZ2UgaW1hcF9mZXRjaF9vdmVydmlldyBpbWFwX2ZldGNoYm9keSBpbWFwX2ZldGNoaGVhZGVyIGltYXBfZmV0Y2hzdHJ1Y3R1cmUgaW1hcF9nZXRfcXVvdGEgaW1hcF9nZXRfcXVvdGFyb290IGltYXBfZ2V0YWNsIGltYXBfZ2V0bWFpbGJveGVzIGltYXBfZ2V0c3Vic2NyaWJlZCBpbWFwX2hlYWRlciBpbWFwX2hlYWRlcmluZm8gaW1hcF9oZWFkZXJzIGltYXBfbGFzdF9lcnJvciBpbWFwX2xpc3QgaW1hcF9saXN0bWFpbGJveCBpbWFwX2xpc3RzY2FuIGltYXBfbGlzdHN1YnNjcmliZWQgaW1hcF9sc3ViIGltYXBfbWFpbF9jb21wb3NlIGltYXBfbWFpbF9jb3B5IGltYXBfbWFpbF9tb3ZlIGltYXBfbWFpbCBpbWFwX21haWxib3htc2dpbmZvIGltYXBfbWltZV9oZWFkZXJfZGVjb2RlIGltYXBfbXNnbm8gaW1hcF9udW1fbXNnIGltYXBfbnVtX3JlY2VudCBpbWFwX29wZW4gaW1hcF9waW5nIGltYXBfcXByaW50IGltYXBfcmVuYW1lbWFpbGJveCBpbWFwX3Jlb3BlbiBpbWFwX3JmYzgyMl9wYXJzZV9hZHJsaXN0IGltYXBfcmZjODIyX3BhcnNlX2hlYWRlcnMgaW1hcF9yZmM4MjJfd3JpdGVfYWRkcmVzcyBpbWFwX3NjYW5tYWlsYm94IGltYXBfc2VhcmNoIGltYXBfc2V0X3F1b3RhIGltYXBfc2V0YWNsIGltYXBfc2V0ZmxhZ19mdWxsIGltYXBfc29ydCBpbWFwX3N0YXR1cyBpbWFwX3N1YnNjcmliZSBpbWFwX3RocmVhZCBpbWFwX3RpbWVvdXQgaW1hcF91aWQgaW1hcF91bmRlbGV0ZSBpbWFwX3Vuc3Vic2NyaWJlIGltYXBfdXRmN19kZWNvZGUgaW1hcF91dGY3X2VuY29kZSBpbWFwX3V0ZjgJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJYXNzZXJ0X29wdGlvbnMgYXNzZXJ0IGRsIGV4dGVuc2lvbl9sb2FkZWQgZ2V0X2NmZ192YXIgZ2V0X2N1cnJlbnRfdXNlciBnZXRfZGVmaW5lZF9jb25zdGFudHMgZ2V0X2V4dGVuc2lvbl9mdW5jcyBnZXRfaW5jbHVkZV9wYXRoIGdldF9pbmNsdWRlZF9maWxlcyBnZXRfbG9hZGVkX2V4dGVuc2lvbnMgZ2V0X21hZ2ljX3F1b3Rlc19ncGMgZ2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lIGdldF9yZXF1aXJlZF9maWxlcyBnZXRlbnYgZ2V0bGFzdG1vZCBnZXRteWdpZCBnZXRteWlub2RlIGdldG15cGlkIGdldG15dWlkIGdldG9wdCBnZXRydXNhZ2UgaW5pX2FsdGVyIGluaV9nZXRfYWxsIGluaV9nZXQgaW5pX3Jlc3RvcmUgaW5pX3NldCBtYWluIG1lbW9yeV9nZXRfdXNhZ2UgcGhwX2luaV9zY2FubmVkX2ZpbGVzIHBocF9sb2dvX2d1aWQgcGhwX3NhcGlfbmFtZSBwaHBfdW5hbWUgcGhwY3JlZGl0cyBwaHBpbmZvIHBocHZlcnNpb24gcHV0ZW52IHJlc3RvcmVfaW5jbHVkZV9wYXRoIHNldF9pbmNsdWRlX3BhdGggc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lIHNldF90aW1lX2xpbWl0IHZlcnNpb25fY29tcGFyZSB6ZW5kX2xvZ29fZ3VpZCB6ZW5kX3ZlcnNpb24JY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJaW5ncmVzX2F1dG9jb21taXQgaW5ncmVzX2Nsb3NlIGluZ3Jlc19jb21taXQgaW5ncmVzX2Nvbm5lY3QgaW5ncmVzX2ZldGNoX2FycmF5IGluZ3Jlc19mZXRjaF9vYmplY3QgaW5ncmVzX2ZldGNoX3JvdyBpbmdyZXNfZmllbGRfbGVuZ3RoIGluZ3Jlc19maWVsZF9uYW1lIGluZ3Jlc19maWVsZF9udWxsYWJsZSBpbmdyZXNfZmllbGRfcHJlY2lzaW9uIGluZ3Jlc19maWVsZF9zY2FsZSBpbmdyZXNfZmllbGRfdHlwZSBpbmdyZXNfbnVtX2ZpZWxkcyBpbmdyZXNfbnVtX3Jvd3MgaW5ncmVzX3Bjb25uZWN0IGluZ3Jlc19xdWVyeSBpbmdyZXNfcm9sbGJhY2sJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJaXJjZ19jaGFubmVsX21vZGUgaXJjZ19kaXNjb25uZWN0IGlyY2dfZmV0Y2hfZXJyb3JfbXNnIGlyY2dfZ2V0X3VzZXJuYW1lIGlyY2dfaHRtbF9lbmNvZGUgaXJjZ19pZ25vcmVfYWRkIGlyY2dfaWdub3JlX2RlbCBpcmNnX2lzX2Nvbm5fYWxpdmUgaXJjZ19qb2luIGlyY2dfa2ljayBpcmNnX2xvb2t1cF9mb3JtYXRfbWVzc2FnZXMgaXJjZ19tc2cgaXJjZ19uaWNrIGlyY2dfbmlja25hbWVfZXNjYXBlIGlyY2dfbmlja25hbWVfdW5lc2NhcGUgaXJjZ19ub3RpY2UgaXJjZ19wYXJ0IGlyY2dfcGNvbm5lY3QgaXJjZ19yZWdpc3Rlcl9mb3JtYXRfbWVzc2FnZXMgaXJjZ19zZXRfY3VycmVudCBpcmNnX3NldF9maWxlIGlyY2dfc2V0X29uX2RpZSBpcmNnX3RvcGljIGlyY2dfd2hvaXMJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJamF2YV9sYXN0X2V4Y2VwdGlvbl9jbGVhciBqYXZhX2xhc3RfZXhjZXB0aW9uX2dldAljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlsZGFwXzg4NTlfdG9fdDYxIGxkYXBfYWRkIGxkYXBfYmluZCBsZGFwX2Nsb3NlIGxkYXBfY29tcGFyZSBsZGFwX2Nvbm5lY3QgbGRhcF9jb3VudF9lbnRyaWVzIGxkYXBfZGVsZXRlIGxkYXBfZG4ydWZuIGxkYXBfZXJyMnN0ciBsZGFwX2Vycm5vIGxkYXBfZXJyb3IgbGRhcF9leHBsb2RlX2RuIGxkYXBfZmlyc3RfYXR0cmlidXRlIGxkYXBfZmlyc3RfZW50cnkgbGRhcF9maXJzdF9yZWZlcmVuY2UgbGRhcF9mcmVlX3Jlc3VsdCBsZGFwX2dldF9hdHRyaWJ1dGVzIGxkYXBfZ2V0X2RuIGxkYXBfZ2V0X2VudHJpZXMgbGRhcF9nZXRfb3B0aW9uIGxkYXBfZ2V0X3ZhbHVlc19sZW4gbGRhcF9nZXRfdmFsdWVzIGxkYXBfbGlzdCBsZGFwX21vZF9hZGQgbGRhcF9tb2RfZGVsIGxkYXBfbW9kX3JlcGxhY2UgbGRhcF9tb2RpZnkgbGRhcF9uZXh0X2F0dHJpYnV0ZSBsZGFwX25leHRfZW50cnkgbGRhcF9uZXh0X3JlZmVyZW5jZSBsZGFwX3BhcnNlX3JlZmVyZW5jZSBsZGFwX3BhcnNlX3Jlc3VsdCBsZGFwX3JlYWQgbGRhcF9yZW5hbWUgbGRhcF9zZWFyY2ggbGRhcF9zZXRfb3B0aW9uIGxkYXBfc2V0X3JlYmluZF9wcm9jIGxkYXBfc29ydCBsZGFwX3N0YXJ0X3RscyBsZGFwX3Q2MV90b184ODU5IGxkYXBfdW5iaW5kCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWx6Zl9jb21wcmVzcyBsemZfZGVjb21wcmVzcyBsemZfb3B0aW1pemVkX2Zvcgljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwllem1sbV9oYXNoIG1haWwJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJbWFpbHBhcnNlX2RldGVybWluZV9iZXN0X3hmZXJfZW5jb2RpbmcgbWFpbHBhcnNlX21zZ19jcmVhdGUgbWFpbHBhcnNlX21zZ19leHRyYWN0X3BhcnRfZmlsZSBtYWlscGFyc2VfbXNnX2V4dHJhY3RfcGFydCBtYWlscGFyc2VfbXNnX2ZyZWUgbWFpbHBhcnNlX21zZ19nZXRfcGFydF9kYXRhIG1haWxwYXJzZV9tc2dfZ2V0X3BhcnQgbWFpbHBhcnNlX21zZ19nZXRfc3RydWN0dXJlIG1haWxwYXJzZV9tc2dfcGFyc2VfZmlsZSBtYWlscGFyc2VfbXNnX3BhcnNlIG1haWxwYXJzZV9yZmM4MjJfcGFyc2VfYWRkcmVzc2VzIG1haWxwYXJzZV9zdHJlYW1fZW5jb2RlIG1haWxwYXJzZV91dWRlY29kZV9hbGwJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJYWJzIGFjb3MgYWNvc2ggYXNpbiBhc2luaCBhdGFuMiBhdGFuIGF0YW5oIGJhc2VfY29udmVydCBiaW5kZWMgY2VpbCBjb3MgY29zaCBkZWNiaW4gZGVjaGV4IGRlY29jdCBkZWcycmFkIGV4cCBleHBtMSBmbG9vciBmbW9kIGdldHJhbmRtYXggaGV4ZGVjIGh5cG90IGlzX2Zpbml0ZSBpc19pbmZpbml0ZSBpc19uYW4gbGNnX3ZhbHVlIGxvZzEwIGxvZzFwIGxvZyBtYXggbWluIG10X2dldHJhbmRtYXggbXRfcmFuZCBtdF9zcmFuZCBvY3RkZWMgcGkgcG93IHJhZDJkZWcgcmFuZCByb3VuZCBzaW4gc2luaCBzcXJ0IHNyYW5kIHRhbiB0YW5oCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW1iX2NvbnZlcnRfY2FzZSBtYl9jb252ZXJ0X2VuY29kaW5nIG1iX2NvbnZlcnRfa2FuYSBtYl9jb252ZXJ0X3ZhcmlhYmxlcyBtYl9kZWNvZGVfbWltZWhlYWRlciBtYl9kZWNvZGVfbnVtZXJpY2VudGl0eSBtYl9kZXRlY3RfZW5jb2RpbmcgbWJfZGV0ZWN0X29yZGVyIG1iX2VuY29kZV9taW1laGVhZGVyIG1iX2VuY29kZV9udW1lcmljZW50aXR5IG1iX2VyZWdfbWF0Y2ggbWJfZXJlZ19yZXBsYWNlIG1iX2VyZWdfc2VhcmNoX2dldHBvcyBtYl9lcmVnX3NlYXJjaF9nZXRyZWdzIG1iX2VyZWdfc2VhcmNoX2luaXQgbWJfZXJlZ19zZWFyY2hfcG9zIG1iX2VyZWdfc2VhcmNoX3JlZ3MgbWJfZXJlZ19zZWFyY2hfc2V0cG9zIG1iX2VyZWdfc2VhcmNoIG1iX2VyZWcgbWJfZXJlZ2lfcmVwbGFjZSBtYl9lcmVnaSBtYl9nZXRfaW5mbyBtYl9odHRwX2lucHV0IG1iX2h0dHBfb3V0cHV0IG1iX2ludGVybmFsX2VuY29kaW5nIG1iX2xhbmd1YWdlIG1iX291dHB1dF9oYW5kbGVyIG1iX3BhcnNlX3N0ciBtYl9wcmVmZXJyZWRfbWltZV9uYW1lIG1iX3JlZ2V4X2VuY29kaW5nIG1iX3JlZ2V4X3NldF9vcHRpb25zIG1iX3NlbmRfbWFpbCBtYl9zcGxpdCBtYl9zdHJjdXQgbWJfc3RyaW13aWR0aCBtYl9zdHJsZW4gbWJfc3RycG9zIG1iX3N0cnJwb3MgbWJfc3RydG9sb3dlciBtYl9zdHJ0b3VwcGVyIG1iX3N0cndpZHRoIG1iX3N1YnN0aXR1dGVfY2hhcmFjdGVyIG1iX3N1YnN0cl9jb3VudCBtYl9zdWJzdHIJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJbWNhbF9hcHBlbmRfZXZlbnQgbWNhbF9jbG9zZSBtY2FsX2NyZWF0ZV9jYWxlbmRhciBtY2FsX2RhdGVfY29tcGFyZSBtY2FsX2RhdGVfdmFsaWQgbWNhbF9kYXlfb2Zfd2VlayBtY2FsX2RheV9vZl95ZWFyIG1jYWxfZGF5c19pbl9tb250aCBtY2FsX2RlbGV0ZV9jYWxlbmRhciBtY2FsX2RlbGV0ZV9ldmVudCBtY2FsX2V2ZW50X2FkZF9hdHRyaWJ1dGUgbWNhbF9ldmVudF9pbml0IG1jYWxfZXZlbnRfc2V0X2FsYXJtIG1jYWxfZXZlbnRfc2V0X2NhdGVnb3J5IG1jYWxfZXZlbnRfc2V0X2NsYXNzIG1jYWxfZXZlbnRfc2V0X2Rlc2NyaXB0aW9uIG1jYWxfZXZlbnRfc2V0X2VuZCBtY2FsX2V2ZW50X3NldF9yZWN1cl9kYWlseSBtY2FsX2V2ZW50X3NldF9yZWN1cl9tb250aGx5X21kYXkgbWNhbF9ldmVudF9zZXRfcmVjdXJfbW9udGhseV93ZGF5IG1jYWxfZXZlbnRfc2V0X3JlY3VyX25vbmUgbWNhbF9ldmVudF9zZXRfcmVjdXJfd2Vla2x5IG1jYWxfZXZlbnRfc2V0X3JlY3VyX3llYXJseSBtY2FsX2V2ZW50X3NldF9zdGFydCBtY2FsX2V2ZW50X3NldF90aXRsZSBtY2FsX2V4cHVuZ2UgbWNhbF9mZXRjaF9jdXJyZW50X3N0cmVhbV9ldmVudCBtY2FsX2ZldGNoX2V2ZW50IG1jYWxfaXNfbGVhcF95ZWFyIG1jYWxfbGlzdF9hbGFybXMgbWNhbF9saXN0X2V2ZW50cyBtY2FsX25leHRfcmVjdXJyZW5jZSBtY2FsX29wZW4gbWNhbF9wb3BlbiBtY2FsX3JlbmFtZV9jYWxlbmRhciBtY2FsX3Jlb3BlbiBtY2FsX3Nub296ZSBtY2FsX3N0b3JlX2V2ZW50IG1jYWxfdGltZV92YWxpZCBtY2FsX3dlZWtfb2ZfeWVhcgljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwltY3J5cHRfY2JjIG1jcnlwdF9jZmIgbWNyeXB0X2NyZWF0ZV9pdiBtY3J5cHRfZGVjcnlwdCBtY3J5cHRfZWNiIG1jcnlwdF9lbmNfZ2V0X2FsZ29yaXRobXNfbmFtZSBtY3J5cHRfZW5jX2dldF9ibG9ja19zaXplIG1jcnlwdF9lbmNfZ2V0X2l2X3NpemUgbWNyeXB0X2VuY19nZXRfa2V5X3NpemUgbWNyeXB0X2VuY19nZXRfbW9kZXNfbmFtZSBtY3J5cHRfZW5jX2dldF9zdXBwb3J0ZWRfa2V5X3NpemVzIG1jcnlwdF9lbmNfaXNfYmxvY2tfYWxnb3JpdGhtX21vZGUgbWNyeXB0X2VuY19pc19ibG9ja19hbGdvcml0aG0gbWNyeXB0X2VuY19pc19ibG9ja19tb2RlIG1jcnlwdF9lbmNfc2VsZl90ZXN0IG1jcnlwdF9lbmNyeXB0IG1jcnlwdF9nZW5lcmljX2RlaW5pdCBtY3J5cHRfZ2VuZXJpY19lbmQgbWNyeXB0X2dlbmVyaWNfaW5pdCBtY3J5cHRfZ2VuZXJpYyBtY3J5cHRfZ2V0X2Jsb2NrX3NpemUgbWNyeXB0X2dldF9jaXBoZXJfbmFtZSBtY3J5cHRfZ2V0X2l2X3NpemUgbWNyeXB0X2dldF9rZXlfc2l6ZSBtY3J5cHRfbGlzdF9hbGdvcml0aG1zIG1jcnlwdF9saXN0X21vZGVzIG1jcnlwdF9tb2R1bGVfY2xvc2UgbWNyeXB0X21vZHVsZV9nZXRfYWxnb19ibG9ja19zaXplIG1jcnlwdF9tb2R1bGVfZ2V0X2FsZ29fa2V5X3NpemUgbWNyeXB0X21vZHVsZV9nZXRfc3VwcG9ydGVkX2tleV9zaXplcyBtY3J5cHRfbW9kdWxlX2lzX2Jsb2NrX2FsZ29yaXRobV9tb2RlIG1jcnlwdF9tb2R1bGVfaXNfYmxvY2tfYWxnb3JpdGhtIG1jcnlwdF9tb2R1bGVfaXNfYmxvY2tfbW9kZSBtY3J5cHRfbW9kdWxlX29wZW4gbWNyeXB0X21vZHVsZV9zZWxmX3Rlc3QgbWNyeXB0X29mYiBtZGVjcnlwdF9nZW5lcmljCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW1jdmVfYWRkdXNlciBtY3ZlX2FkZHVzZXJhcmcgbWN2ZV9idCBtY3ZlX2NoZWNrc3RhdHVzIG1jdmVfY2hrcHdkIG1jdmVfY2huZ3B3ZCBtY3ZlX2NvbXBsZXRlYXV0aG9yaXphdGlvbnMgbWN2ZV9jb25uZWN0IG1jdmVfY29ubmVjdGlvbmVycm9yIG1jdmVfZGVsZXRlcmVzcG9uc2UgbWN2ZV9kZWxldGV0cmFucyBtY3ZlX2RlbGV0ZXVzZXJzZXR1cCBtY3ZlX2RlbHVzZXIgbWN2ZV9kZXN0cm95Y29ubiBtY3ZlX2Rlc3Ryb3llbmdpbmUgbWN2ZV9kaXNhYmxldXNlciBtY3ZlX2VkaXR1c2VyIG1jdmVfZW5hYmxldXNlciBtY3ZlX2ZvcmNlIG1jdmVfZ2V0Y2VsbCBtY3ZlX2dldGNlbGxieW51bSBtY3ZlX2dldGNvbW1hZGVsaW1pdGVkIG1jdmVfZ2V0aGVhZGVyIG1jdmVfZ2V0dXNlcmFyZyBtY3ZlX2dldHVzZXJwYXJhbSBtY3ZlX2dmdCBtY3ZlX2dsIG1jdmVfZ3V0IG1jdmVfaW5pdGNvbm4gbWN2ZV9pbml0ZW5naW5lIG1jdmVfaW5pdHVzZXJzZXR1cCBtY3ZlX2lzY29tbWFkZWxpbWl0ZWQgbWN2ZV9saXN0c3RhdHMgbWN2ZV9saXN0dXNlcnMgbWN2ZV9tYXhjb25udGltZW91dCBtY3ZlX21vbml0b3IgbWN2ZV9udW1jb2x1bW5zIG1jdmVfbnVtcm93cyBtY3ZlX292ZXJyaWRlIG1jdmVfcGFyc2Vjb21tYWRlbGltaXRlZCBtY3ZlX3BpbmcgbWN2ZV9wcmVhdXRoIG1jdmVfcHJlYXV0aGNvbXBsZXRpb24gbWN2ZV9xYyBtY3ZlX3Jlc3BvbnNlcGFyYW0gbWN2ZV9yZXR1cm4gbWN2ZV9yZXR1cm5jb2RlIG1jdmVfcmV0dXJuc3RhdHVzIG1jdmVfc2FsZSBtY3ZlX3NldGJsb2NraW5nIG1jdmVfc2V0ZHJvcGZpbGUgbWN2ZV9zZXRpcCBtY3ZlX3NldHNzbF9maWxlcyBtY3ZlX3NldHNzbCBtY3ZlX3NldHRpbWVvdXQgbWN2ZV9zZXR0bGUgbWN2ZV90ZXh0X2F2cyBtY3ZlX3RleHRfY29kZSBtY3ZlX3RleHRfY3YgbWN2ZV90cmFuc2FjdGlvbmF1dGggbWN2ZV90cmFuc2FjdGlvbmF2cyBtY3ZlX3RyYW5zYWN0aW9uYmF0Y2ggbWN2ZV90cmFuc2FjdGlvbmN2IG1jdmVfdHJhbnNhY3Rpb25pZCBtY3ZlX3RyYW5zYWN0aW9uaXRlbSBtY3ZlX3RyYW5zYWN0aW9uc3NlbnQgbWN2ZV90cmFuc2FjdGlvbnRleHQgbWN2ZV90cmFuc2lucXVldWUgbWN2ZV90cmFuc25ldyBtY3ZlX3RyYW5zcGFyYW0gbWN2ZV90cmFuc3NlbmQgbWN2ZV91YiBtY3ZlX3V3YWl0IG1jdmVfdmVyaWZ5Y29ubmVjdGlvbiBtY3ZlX3ZlcmlmeXNzbGNlcnQgbWN2ZV92b2lkCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW1oYXNoX2NvdW50IG1oYXNoX2dldF9ibG9ja19zaXplIG1oYXNoX2dldF9oYXNoX25hbWUgbWhhc2hfa2V5Z2VuX3MyayBtaGFzaAljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwltaW1lX2NvbnRlbnRfdHlwZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwltaW5nX3NldGN1YmljdGhyZXNob2xkIG1pbmdfc2V0c2NhbGUgbWluZ191c2Vzd2Z2ZXJzaW9uIFNXRkFjdGlvbiBTV0ZCaXRtYXAgc3dmYnV0dG9uX2tleXByZXNzIFNXRmJ1dHRvbiBTV0ZEaXNwbGF5SXRlbSBTV0ZGaWxsIFNXRkZvbnQgU1dGR3JhZGllbnQgU1dGTW9ycGggU1dGTW92aWUgU1dGU2hhcGUgU1dGU3ByaXRlIFNXRlRleHQgU1dGVGV4dEZpZWxkCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwTWV0aG9kcwlnZXRIZWlnaHQgZ2V0V2lkdGggYWRkQWN0aW9uIGFkZFNoYXBlIHNldEFjdGlvbiBzZXRkb3duIHNldEhpdCBzZXRPdmVyIHNldFVwIGFkZENvbG9yIG1vdmUgbW92ZVRvIG11bHRDb2xvciByZW1vdmUgUm90YXRlIHJvdGF0ZVRvIHNjYWxlIHNjYWxlVG8gc2V0RGVwdGggc2V0TmFtZSBzZXRSYXRpbyBza2V3WCBza2V3WFRvIHNrZXdZIHNrZXdZVG8gbW92ZVRvIHJvdGF0ZVRvIHNjYWxlVG8gc2tld1hUbyBza2V3WVRvIGdldHdpZHRoIGFkZEVudHJ5IGdldHNoYXBlMSBnZXRzaGFwZTIgYWRkIG5leHRmcmFtZSBvdXRwdXQgcmVtb3ZlIHNhdmUgc2V0YmFja2dyb3VuZCBzZXRkaW1lbnNpb24gc2V0ZnJhbWVzIHNldHJhdGUgc3RyZWFtbXAzIGFkZEZpbGwgZHJhd0N1cnZlIGRyYXdDdXJ2ZVRvIGRyYXdMaW5lIGRyYXdMaW5lVG8gbW92ZVBlbiBtb3ZlUGVuVG8gc2V0TGVmdEZpbGwgc2V0TGluZSBzZXRSaWdodEZpbGwgYWRkIG5leHRmcmFtZSByZW1vdmUgc2V0ZnJhbWVzIGFkZFN0cmluZyBnZXRXaWR0aCBtb3ZlVG8gc2V0Q29sb3Igc2V0Rm9udCBzZXRIZWlnaHQgc2V0U3BhY2luZyBhZGRzdHJpbmcgYWxpZ24gc2V0Ym91bmRzIHNldGNvbG9yIHNldEZvbnQgc2V0SGVpZ2h0IHNldGluZGVudGF0aW9uIHNldExlZnRNYXJnaW4gc2V0TGluZVNwYWNpbmcgc2V0TWFyZ2lucyBzZXRuYW1lIHNldHJpZ2h0TWFyZ2luCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWNvbm5lY3Rpb25fYWJvcnRlZCBjb25uZWN0aW9uX3N0YXR1cyBjb25uZWN0aW9uX3RpbWVvdXQgY29uc3RhbnQgZGVmaW5lIGRlZmluZWQgZGllIGV2YWwgZXhpdCBnZXRfYnJvd3NlciBoaWdobGlnaHRfZmlsZSBoaWdobGlnaHRfc3RyaW5nIGlnbm9yZV91c2VyX2Fib3J0IHBhY2sgc2hvd19zb3VyY2Ugc2xlZXAgdW5pcWlkIHVucGFjayB1c2xlZXAJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJdWRtX2FkZF9zZWFyY2hfbGltaXQgdWRtX2FsbG9jX2FnZW50IHVkbV9hcGlfdmVyc2lvbiB1ZG1fY2F0X2xpc3QgdWRtX2NhdF9wYXRoIHVkbV9jaGVja19jaGFyc2V0IHVkbV9jaGVja19zdG9yZWQgdWRtX2NsZWFyX3NlYXJjaF9saW1pdHMgdWRtX2Nsb3NlX3N0b3JlZCB1ZG1fY3JjMzIgdWRtX2Vycm5vIHVkbV9lcnJvciB1ZG1fZmluZCB1ZG1fZnJlZV9hZ2VudCB1ZG1fZnJlZV9pc3BlbGxfZGF0YSB1ZG1fZnJlZV9yZXMgdWRtX2dldF9kb2NfY291bnQgdWRtX2dldF9yZXNfZmllbGQgdWRtX2dldF9yZXNfcGFyYW0gdWRtX2xvYWRfaXNwZWxsX2RhdGEgdWRtX29wZW5fc3RvcmVkIHVkbV9zZXRfYWdlbnRfcGFyYW0JY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJbXNlc3Npb25fY29ubmVjdCBtc2Vzc2lvbl9jb3VudCBtc2Vzc2lvbl9jcmVhdGUgbXNlc3Npb25fZGVzdHJveSBtc2Vzc2lvbl9kaXNjb25uZWN0IG1zZXNzaW9uX2ZpbmQgbXNlc3Npb25fZ2V0X2FycmF5IG1zZXNzaW9uX2dldCBtc2Vzc2lvbl9nZXRkYXRhIG1zZXNzaW9uX2luYyBtc2Vzc2lvbl9saXN0IG1zZXNzaW9uX2xpc3R2YXIgbXNlc3Npb25fbG9jayBtc2Vzc2lvbl9wbHVnaW4gbXNlc3Npb25fcmFuZHN0ciBtc2Vzc2lvbl9zZXRfYXJyYXkgbXNlc3Npb25fc2V0IG1zZXNzaW9uX3NldGRhdGEgbXNlc3Npb25fdGltZW91dCBtc2Vzc2lvbl91bmlxIG1zZXNzaW9uX3VubG9jawljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwltc3FsX2FmZmVjdGVkX3Jvd3MgbXNxbF9jbG9zZSBtc3FsX2Nvbm5lY3QgbXNxbF9jcmVhdGVfZGIgbXNxbF9jcmVhdGVkYiBtc3FsX2RhdGFfc2VlayBtc3FsX2RibmFtZSBtc3FsX2Ryb3BfZGIgbXNxbF9kcm9wZGIgbXNxbF9lcnJvciBtc3FsX2ZldGNoX2FycmF5IG1zcWxfZmV0Y2hfZmllbGQgbXNxbF9mZXRjaF9vYmplY3QgbXNxbF9mZXRjaF9yb3cgbXNxbF9maWVsZF9zZWVrIG1zcWxfZmllbGRmbGFncyBtc3FsX2ZpZWxkbGVuIG1zcWxfZmllbGRuYW1lIG1zcWxfZmllbGR0YWJsZSBtc3FsX2ZpZWxkdHlwZSBtc3FsX2ZyZWVfcmVzdWx0IG1zcWxfZnJlZXJlc3VsdCBtc3FsX2xpc3RfZGJzIG1zcWxfbGlzdF9maWVsZHMgbXNxbF9saXN0X3RhYmxlcyBtc3FsX2xpc3RkYnMgbXNxbF9saXN0ZmllbGRzIG1zcWxfbGlzdHRhYmxlcyBtc3FsX251bV9maWVsZHMgbXNxbF9udW1fcm93cyBtc3FsX251bWZpZWxkcyBtc3FsX251bXJvd3MgbXNxbF9wY29ubmVjdCBtc3FsX3F1ZXJ5IG1zcWxfcmVnY2FzZSBtc3FsX3Jlc3VsdCBtc3FsX3NlbGVjdF9kYiBtc3FsX3NlbGVjdGRiIG1zcWxfdGFibGVuYW1lIG1zcWwJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJbXNzcWxfYmluZCBtc3NxbF9jbG9zZSBtc3NxbF9jb25uZWN0IG1zc3FsX2RhdGFfc2VlayBtc3NxbF9leGVjdXRlIG1zc3FsX2ZldGNoX2FycmF5IG1zc3FsX2ZldGNoX2Fzc29jIG1zc3FsX2ZldGNoX2JhdGNoIG1zc3FsX2ZldGNoX2ZpZWxkIG1zc3FsX2ZldGNoX29iamVjdCBtc3NxbF9mZXRjaF9yb3cgbXNzcWxfZmllbGRfbGVuZ3RoIG1zc3FsX2ZpZWxkX25hbWUgbXNzcWxfZmllbGRfc2VlayBtc3NxbF9maWVsZF90eXBlIG1zc3FsX2ZyZWVfcmVzdWx0IG1zc3FsX2ZyZWVfc3RhdGVtZW50IG1zc3FsX2dldF9sYXN0X21lc3NhZ2UgbXNzcWxfZ3VpZF9zdHJpbmcgbXNzcWxfaW5pdCBtc3NxbF9taW5fZXJyb3Jfc2V2ZXJpdHkgbXNzcWxfbWluX21lc3NhZ2Vfc2V2ZXJpdHkgbXNzcWxfbmV4dF9yZXN1bHQgbXNzcWxfbnVtX2ZpZWxkcyBtc3NxbF9udW1fcm93cyBtc3NxbF9wY29ubmVjdCBtc3NxbF9xdWVyeSBtc3NxbF9yZXN1bHQgbXNzcWxfcm93c19hZmZlY3RlZCBtc3NxbF9zZWxlY3RfZGIJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJbXVzY2F0X2Nsb3NlIG11c2NhdF9nZXQgbXVzY2F0X2dpdmUgbXVzY2F0X3NldHVwX25ldCBtdXNjYXRfc2V0dXAJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJbXlzcWxfYWZmZWN0ZWRfcm93cyBteXNxbF9jaGFuZ2VfdXNlciBteXNxbF9jbGllbnRfZW5jb2RpbmcgbXlzcWxfY2xvc2UgbXlzcWxfY29ubmVjdCBteXNxbF9jcmVhdGVfZGIgbXlzcWxfZGF0YV9zZWVrIG15c3FsX2RiX25hbWUgbXlzcWxfZGJfcXVlcnkgbXlzcWxfZHJvcF9kYiBteXNxbF9lcnJubyBteXNxbF9lcnJvciBteXNxbF9lc2NhcGVfc3RyaW5nIG15c3FsX2ZldGNoX2FycmF5IG15c3FsX2ZldGNoX2Fzc29jIG15c3FsX2ZldGNoX2ZpZWxkIG15c3FsX2ZldGNoX2xlbmd0aHMgbXlzcWxfZmV0Y2hfb2JqZWN0IG15c3FsX2ZldGNoX3JvdyBteXNxbF9maWVsZF9mbGFncyBteXNxbF9maWVsZF9sZW4gbXlzcWxfZmllbGRfbmFtZSBteXNxbF9maWVsZF9zZWVrIG15c3FsX2ZpZWxkX3RhYmxlIG15c3FsX2ZpZWxkX3R5cGUgbXlzcWxfZnJlZV9yZXN1bHQgbXlzcWxfZ2V0X2NsaWVudF9pbmZvIG15c3FsX2dldF9ob3N0X2luZm8gbXlzcWxfZ2V0X3Byb3RvX2luZm8gbXlzcWxfZ2V0X3NlcnZlcl9pbmZvIG15c3FsX2luZm8gbXlzcWxfaW5zZXJ0X2lkIG15c3FsX2xpc3RfZGJzIG15c3FsX2xpc3RfZmllbGRzIG15c3FsX2xpc3RfcHJvY2Vzc2VzIG15c3FsX2xpc3RfdGFibGVzIG15c3FsX251bV9maWVsZHMgbXlzcWxfbnVtX3Jvd3MgbXlzcWxfcGNvbm5lY3QgbXlzcWxfcGluZyBteXNxbF9xdWVyeSBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcgbXlzcWxfcmVzdWx0IG15c3FsX3NlbGVjdF9kYiBteXNxbF9zdGF0IG15c3FsX3RhYmxlbmFtZSBteXNxbF90aHJlYWRfaWQgbXlzcWxfdW5idWZmZXJlZF9xdWVyeQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlteXNxbGlfYWZmZWN0ZWRfcm93cyBteXNxbGlfYXV0b2NvbW1pdCBteXNxbGlfYmluZF9wYXJhbSBteXNxbGlfYmluZF9yZXN1bHQgbXlzcWxpX2NoYW5nZV91c2VyIG15c3FsaV9jaGFyYWN0ZXJfc2V0X25hbWUgbXlzcWxpX2Nsb3NlIG15c3FsaV9jb21taXQgbXlzcWxpX2Nvbm5lY3QgbXlzcWxpX2RhdGFfc2VlayBteXNxbGlfZGVidWcgbXlzcWxpX2Rpc2FibGVfcmVhZHNfZnJvbV9tYXN0ZXIgbXlzcWxpX2Rpc2FibGVfcnBsX3BhcnNlIG15c3FsaV9kdW1wX2RlYnVnX2luZm8gbXlzcWxpX2VuYWJsZV9yZWFkc19mcm9tX21hc3RlciBteXNxbGlfZW5hYmxlX3JwbF9wYXJzZSBteXNxbGlfZXJybm8gbXlzcWxpX2Vycm9yIG15c3FsaV9leGVjdXRlIG15c3FsaV9mZXRjaF9hcnJheSBteXNxbGlfZmV0Y2hfYXNzb2MgbXlzcWxpX2ZldGNoX2ZpZWxkX2RpcmVjdCBteXNxbGlfZmV0Y2hfZmllbGQgbXlzcWxpX2ZldGNoX2ZpZWxkcyBteXNxbGlfZmV0Y2hfbGVuZ3RocyBteXNxbGlfZmV0Y2hfb2JqZWN0IG15c3FsaV9mZXRjaF9yb3cgbXlzcWxpX2ZldGNoIG15c3FsaV9maWVsZF9jb3VudCBteXNxbGlfZmllbGRfc2VlayBteXNxbGlfZmllbGRfdGVsbCBteXNxbGlfZnJlZV9yZXN1bHQgbXlzcWxpX2dldF9jbGllbnRfaW5mbyBteXNxbGlfZ2V0X2hvc3RfaW5mbyBteXNxbGlfZ2V0X3Byb3RvX2luZm8gbXlzcWxpX2dldF9zZXJ2ZXJfaW5mbyBteXNxbGlfZ2V0X3NlcnZlcl92ZXJzaW9uIG15c3FsaV9pbmZvIG15c3FsaV9pbml0IG15c3FsaV9pbnNlcnRfaWQgbXlzcWxpX2tpbGwgbXlzcWxpX21hc3Rlcl9xdWVyeSBteXNxbGlfbnVtX2ZpZWxkcyBteXNxbGlfbnVtX3Jvd3MgbXlzcWxpX29wdGlvbnMgbXlzcWxpX3BhcmFtX2NvdW50IG15c3FsaV9waW5nIG15c3FsaV9wcmVwYXJlX3Jlc3VsdCBteXNxbGlfcHJlcGFyZSBteXNxbGlfcHJvZmlsZXIgbXlzcWxpX3F1ZXJ5IG15c3FsaV9yZWFkX3F1ZXJ5X3Jlc3VsdCBteXNxbGlfcmVhbF9jb25uZWN0IG15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcgbXlzcWxpX3JlYWxfcXVlcnkgbXlzcWxpX3JlbG9hZCBteXNxbGlfcm9sbGJhY2sgbXlzcWxpX3JwbF9wYXJzZV9lbmFibGVkIG15c3FsaV9ycGxfcHJvYmUgbXlzcWxpX3JwbF9xdWVyeV90eXBlIG15c3FsaV9zZWxlY3RfZGIgbXlzcWxpX3NlbmRfbG9uZ19kYXRhIG15c3FsaV9zZW5kX3F1ZXJ5IG15c3FsaV9zbGF2ZV9xdWVyeSBteXNxbGlfc3NsX3NldCBteXNxbGlfc3RhdCBteXNxbGlfc3RtdF9hZmZlY3RlZF9yb3dzIG15c3FsaV9zdG10X2Nsb3NlIG15c3FsaV9zdG10X2Vycm5vIG15c3FsaV9zdG10X2Vycm9yIG15c3FsaV9zdG10X3N0b3JlX3Jlc3VsdCBteXNxbGlfc3RvcmVfcmVzdWx0IG15c3FsaV90aHJlYWRfaWQgbXlzcWxpX3RocmVhZF9zYWZlIG15c3FsaV91c2VfcmVzdWx0IG15c3FsaV93YXJuaW5nX2NvdW50CWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW5jdXJzZXNfYWRkY2ggbmN1cnNlc19hZGRjaG5zdHIgbmN1cnNlc19hZGRjaHN0ciBuY3Vyc2VzX2FkZG5zdHIgbmN1cnNlc19hZGRzdHIgbmN1cnNlc19hc3N1bWVfZGVmYXVsdF9jb2xvcnMgbmN1cnNlc19hdHRyb2ZmIG5jdXJzZXNfYXR0cm9uIG5jdXJzZXNfYXR0cnNldCBuY3Vyc2VzX2JhdWRyYXRlIG5jdXJzZXNfYmVlcCBuY3Vyc2VzX2JrZ2QgbmN1cnNlc19ia2dkc2V0IG5jdXJzZXNfYm9yZGVyIG5jdXJzZXNfYm90dG9tX3BhbmVsIG5jdXJzZXNfY2FuX2NoYW5nZV9jb2xvciBuY3Vyc2VzX2NicmVhayBuY3Vyc2VzX2NsZWFyIG5jdXJzZXNfY2xydG9ib3QgbmN1cnNlc19jbHJ0b2VvbCBuY3Vyc2VzX2NvbG9yX2NvbnRlbnQgbmN1cnNlc19jb2xvcl9zZXQgbmN1cnNlc19jdXJzX3NldCBuY3Vyc2VzX2RlZl9wcm9nX21vZGUgbmN1cnNlc19kZWZfc2hlbGxfbW9kZSBuY3Vyc2VzX2RlZmluZV9rZXkgbmN1cnNlc19kZWxfcGFuZWwgbmN1cnNlc19kZWxheV9vdXRwdXQgbmN1cnNlc19kZWxjaCBuY3Vyc2VzX2RlbGV0ZWxuIG5jdXJzZXNfZGVsd2luIG5jdXJzZXNfZG91cGRhdGUgbmN1cnNlc19lY2hvIG5jdXJzZXNfZWNob2NoYXIgbmN1cnNlc19lbmQgbmN1cnNlc19lcmFzZSBuY3Vyc2VzX2VyYXNlY2hhciBuY3Vyc2VzX2ZpbHRlciBuY3Vyc2VzX2ZsYXNoIG5jdXJzZXNfZmx1c2hpbnAgbmN1cnNlc19nZXRjaCBuY3Vyc2VzX2dldG1heHl4IG5jdXJzZXNfZ2V0bW91c2UgbmN1cnNlc19nZXR5eCBuY3Vyc2VzX2hhbGZkZWxheSBuY3Vyc2VzX2hhc19jb2xvcnMgbmN1cnNlc19oYXNfaWMgbmN1cnNlc19oYXNfaWwgbmN1cnNlc19oYXNfa2V5IG5jdXJzZXNfaGlkZV9wYW5lbCBuY3Vyc2VzX2hsaW5lIG5jdXJzZXNfaW5jaCBuY3Vyc2VzX2luaXRfY29sb3IgbmN1cnNlc19pbml0X3BhaXIgbmN1cnNlc19pbml0IG5jdXJzZXNfaW5zY2ggbmN1cnNlc19pbnNkZWxsbiBuY3Vyc2VzX2luc2VydGxuIG5jdXJzZXNfaW5zc3RyIG5jdXJzZXNfaW5zdHIgbmN1cnNlc19pc2VuZHdpbiBuY3Vyc2VzX2tleW9rIG5jdXJzZXNfa2V5cGFkIG5jdXJzZXNfa2lsbGNoYXIgbmN1cnNlc19sb25nbmFtZSBuY3Vyc2VzX21ldGEgbmN1cnNlc19tb3VzZV90cmFmbyBuY3Vyc2VzX21vdXNlaW50ZXJ2YWwgbmN1cnNlc19tb3VzZW1hc2sgbmN1cnNlc19tb3ZlX3BhbmVsIG5jdXJzZXNfbW92ZSBuY3Vyc2VzX212YWRkY2ggbmN1cnNlc19tdmFkZGNobnN0ciBuY3Vyc2VzX212YWRkY2hzdHIgbmN1cnNlc19tdmFkZG5zdHIgbmN1cnNlc19tdmFkZHN0ciBuY3Vyc2VzX212Y3VyIG5jdXJzZXNfbXZkZWxjaCBuY3Vyc2VzX212Z2V0Y2ggbmN1cnNlc19tdmhsaW5lIG5jdXJzZXNfbXZpbmNoIG5jdXJzZXNfbXZ2bGluZSBuY3Vyc2VzX212d2FkZHN0ciBuY3Vyc2VzX25hcG1zIG5jdXJzZXNfbmV3X3BhbmVsIG5jdXJzZXNfbmV3cGFkIG5jdXJzZXNfbmV3d2luIG5jdXJzZXNfbmwgbmN1cnNlc19ub2NicmVhayBuY3Vyc2VzX25vZWNobyBuY3Vyc2VzX25vbmwgbmN1cnNlc19ub3FpZmx1c2ggbmN1cnNlc19ub3JhdyBuY3Vyc2VzX3BhaXJfY29udGVudCBuY3Vyc2VzX3BhbmVsX2Fib3ZlIG5jdXJzZXNfcGFuZWxfYmVsb3cgbmN1cnNlc19wYW5lbF93aW5kb3cgbmN1cnNlc19wbm91dHJlZnJlc2ggbmN1cnNlc19wcmVmcmVzaCBuY3Vyc2VzX3B1dHAgbmN1cnNlc19xaWZsdXNoIG5jdXJzZXNfcmF3IG5jdXJzZXNfcmVmcmVzaCBuY3Vyc2VzX3JlcGxhY2VfcGFuZWwgbmN1cnNlc19yZXNldF9wcm9nX21vZGUgbmN1cnNlc19yZXNldF9zaGVsbF9tb2RlIG5jdXJzZXNfcmVzZXR0eSBuY3Vyc2VzX3NhdmV0dHkgbmN1cnNlc19zY3JfZHVtcCBuY3Vyc2VzX3Njcl9pbml0IG5jdXJzZXNfc2NyX3Jlc3RvcmUgbmN1cnNlc19zY3Jfc2V0IG5jdXJzZXNfc2NybCBuY3Vyc2VzX3Nob3dfcGFuZWwgbmN1cnNlc19zbGtfYXR0ciBuY3Vyc2VzX3Nsa19hdHRyb2ZmIG5jdXJzZXNfc2xrX2F0dHJvbiBuY3Vyc2VzX3Nsa19hdHRyc2V0IG5jdXJzZXNfc2xrX2NsZWFyIG5jdXJzZXNfc2xrX2NvbG9yIG5jdXJzZXNfc2xrX2luaXQgbmN1cnNlc19zbGtfbm91dHJlZnJlc2ggbmN1cnNlc19zbGtfcmVmcmVzaCBuY3Vyc2VzX3Nsa19yZXN0b3JlIG5jdXJzZXNfc2xrX3NldCBuY3Vyc2VzX3Nsa190b3VjaCBuY3Vyc2VzX3N0YW5kZW5kIG5jdXJzZXNfc3RhbmRvdXQgbmN1cnNlc19zdGFydF9jb2xvciBuY3Vyc2VzX3Rlcm1hdHRycyBuY3Vyc2VzX3Rlcm1uYW1lIG5jdXJzZXNfdGltZW91dCBuY3Vyc2VzX3RvcF9wYW5lbCBuY3Vyc2VzX3R5cGVhaGVhZCBuY3Vyc2VzX3VuZ2V0Y2ggbmN1cnNlc191bmdldG1vdXNlIG5jdXJzZXNfdXBkYXRlX3BhbmVscyBuY3Vyc2VzX3VzZV9kZWZhdWx0X2NvbG9ycyBuY3Vyc2VzX3VzZV9lbnYgbmN1cnNlc191c2VfZXh0ZW5kZWRfbmFtZXMgbmN1cnNlc192aWRhdHRyIG5jdXJzZXNfdmxpbmUgbmN1cnNlc193YWRkY2ggbmN1cnNlc193YWRkc3RyIG5jdXJzZXNfd2F0dHJvZmYgbmN1cnNlc193YXR0cm9uIG5jdXJzZXNfd2F0dHJzZXQgbmN1cnNlc193Ym9yZGVyIG5jdXJzZXNfd2NsZWFyIG5jdXJzZXNfd2NvbG9yX3NldCBuY3Vyc2VzX3dlcmFzZSBuY3Vyc2VzX3dnZXRjaCBuY3Vyc2VzX3dobGluZSBuY3Vyc2VzX3dtb3VzZV90cmFmbyBuY3Vyc2VzX3dtb3ZlIG5jdXJzZXNfd25vdXRyZWZyZXNoIG5jdXJzZXNfd3JlZnJlc2ggbmN1cnNlc193c3RhbmRlbmQgbmN1cnNlc193c3RhbmRvdXQgbmN1cnNlc193dmxpbmUJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJY2hlY2tkbnNyciBjbG9zZWxvZyBkZWJ1Z2dlcl9vZmYgZGVidWdnZXJfb24gZGVmaW5lX3N5c2xvZ192YXJpYWJsZXMgZG5zX2NoZWNrX3JlY29yZCBkbnNfZ2V0X214IGRuc19nZXRfcmVjb3JkIGZzb2Nrb3BlbiBnZXRob3N0YnlhZGRyIGdldGhvc3RieW5hbWUgZ2V0aG9zdGJ5bmFtZWwgZ2V0bXhyciBnZXRwcm90b2J5bmFtZSBnZXRwcm90b2J5bnVtYmVyIGdldHNlcnZieW5hbWUgZ2V0c2VydmJ5cG9ydCBpcDJsb25nIGxvbmcyaXAgb3BlbmxvZyBwZnNvY2tvcGVuIHNvY2tldF9nZXRfc3RhdHVzIHNvY2tldF9zZXRfYmxvY2tpbmcgc29ja2V0X3NldF90aW1lb3V0IHN5c2xvZwljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwl5cF9hbGwgeXBfY2F0IHlwX2Vycl9zdHJpbmcgeXBfZXJybm8geXBfZmlyc3QgeXBfZ2V0X2RlZmF1bHRfZG9tYWluIHlwX21hc3RlciB5cF9tYXRjaCB5cF9uZXh0IHlwX29yZGVyCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW5vdGVzX2JvZHkgbm90ZXNfY29weV9kYiBub3Rlc19jcmVhdGVfZGIgbm90ZXNfY3JlYXRlX25vdGUgbm90ZXNfZHJvcF9kYiBub3Rlc19maW5kX25vdGUgbm90ZXNfaGVhZGVyX2luZm8gbm90ZXNfbGlzdF9tc2dzIG5vdGVzX21hcmtfcmVhZCBub3Rlc19tYXJrX3VucmVhZCBub3Rlc19uYXZfY3JlYXRlIG5vdGVzX3NlYXJjaCBub3Rlc191bnJlYWQgbm90ZXNfdmVyc2lvbgljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwluc2FwaV9yZXF1ZXN0X2hlYWRlcnMgbnNhcGlfcmVzcG9uc2VfaGVhZGVycyBuc2FwaV92aXJ0dWFsCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWFnZ3JlZ2F0ZV9pbmZvIGFnZ3JlZ2F0ZV9tZXRob2RzX2J5X2xpc3QgYWdncmVnYXRlX21ldGhvZHNfYnlfcmVnZXhwIGFnZ3JlZ2F0ZV9tZXRob2RzIGFnZ3JlZ2F0ZV9wcm9wZXJ0aWVzX2J5X2xpc3QgYWdncmVnYXRlX3Byb3BlcnRpZXNfYnlfcmVnZXhwIGFnZ3JlZ2F0ZV9wcm9wZXJ0aWVzIGFnZ3JlZ2F0ZSBhZ2dyZWdhdGlvbl9pbmZvIGRlYWdncmVnYXRlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW9jaWJpbmRieW5hbWUgb2NpY2FuY2VsIG9jaWNsb3NlbG9iIG9jaWNvbGxhcHBlbmQgb2NpY29sbGFzc2lnbiBvY2ljb2xsYXNzaWduZWxlbSBvY2ljb2xsZ2V0ZWxlbSBvY2ljb2xsbWF4IG9jaWNvbGxzaXplIG9jaWNvbGx0cmltIG9jaWNvbHVtbmlzbnVsbCBvY2ljb2x1bW5uYW1lIG9jaWNvbHVtbnByZWNpc2lvbiBvY2ljb2x1bW5zY2FsZSBvY2ljb2x1bW5zaXplIG9jaWNvbHVtbnR5cGUgb2NpY29sdW1udHlwZXJhdyBvY2ljb21taXQgb2NpZGVmaW5lYnluYW1lIG9jaWVycm9yIG9jaWV4ZWN1dGUgb2NpZmV0Y2ggb2NpZmV0Y2hpbnRvIG9jaWZldGNoc3RhdGVtZW50IG9jaWZyZWVjb2xsZWN0aW9uIG9jaWZyZWVjdXJzb3Igb2NpZnJlZWRlc2Mgb2NpZnJlZXN0YXRlbWVudCBvY2lpbnRlcm5hbGRlYnVnIG9jaWxvYWRsb2Igb2NpbG9nb2ZmIG9jaWxvZ29uIG9jaW5ld2NvbGxlY3Rpb24gb2NpbmV3Y3Vyc29yIG9jaW5ld2Rlc2NyaXB0b3Igb2NpbmxvZ29uIG9jaW51bWNvbHMgb2NpcGFyc2Ugb2NpcGxvZ29uIG9jaXJlc3VsdCBvY2lyb2xsYmFjayBvY2lyb3djb3VudCBvY2lzYXZlbG9iIG9jaXNhdmVsb2JmaWxlIG9jaXNlcnZlcnZlcnNpb24gb2Npc2V0cHJlZmV0Y2ggb2Npc3RhdGVtZW50dHlwZSBvY2l3cml0ZWxvYnRvZmlsZSBvY2l3cml0ZXRlbXBvcmFyeWxvYgljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlvZGJjX2F1dG9jb21taXQgb2RiY19iaW5tb2RlIG9kYmNfY2xvc2VfYWxsIG9kYmNfY2xvc2Ugb2RiY19jb2x1bW5wcml2aWxlZ2VzIG9kYmNfY29sdW1ucyBvZGJjX2NvbW1pdCBvZGJjX2Nvbm5lY3Qgb2RiY19jdXJzb3Igb2RiY19kYXRhX3NvdXJjZSBvZGJjX2RvIG9kYmNfZXJyb3Igb2RiY19lcnJvcm1zZyBvZGJjX2V4ZWMgb2RiY19leGVjdXRlIG9kYmNfZmV0Y2hfYXJyYXkgb2RiY19mZXRjaF9pbnRvIG9kYmNfZmV0Y2hfb2JqZWN0IG9kYmNfZmV0Y2hfcm93IG9kYmNfZmllbGRfbGVuIG9kYmNfZmllbGRfbmFtZSBvZGJjX2ZpZWxkX251bSBvZGJjX2ZpZWxkX3ByZWNpc2lvbiBvZGJjX2ZpZWxkX3NjYWxlIG9kYmNfZmllbGRfdHlwZSBvZGJjX2ZvcmVpZ25rZXlzIG9kYmNfZnJlZV9yZXN1bHQgb2RiY19nZXR0eXBlaW5mbyBvZGJjX2xvbmdyZWFkbGVuIG9kYmNfbmV4dF9yZXN1bHQgb2RiY19udW1fZmllbGRzIG9kYmNfbnVtX3Jvd3Mgb2RiY19wY29ubmVjdCBvZGJjX3ByZXBhcmUgb2RiY19wcmltYXJ5a2V5cyBvZGJjX3Byb2NlZHVyZWNvbHVtbnMgb2RiY19wcm9jZWR1cmVzIG9kYmNfcmVzdWx0X2FsbCBvZGJjX3Jlc3VsdCBvZGJjX3JvbGxiYWNrIG9kYmNfc2V0b3B0aW9uIG9kYmNfc3BlY2lhbGNvbHVtbnMgb2RiY19zdGF0aXN0aWNzIG9kYmNfdGFibGVwcml2aWxlZ2VzIG9kYmNfdGFibGVzCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW9wZW5zc2xfY3NyX2V4cG9ydF90b19maWxlIG9wZW5zc2xfY3NyX2V4cG9ydCBvcGVuc3NsX2Nzcl9uZXcgb3BlbnNzbF9jc3Jfc2lnbiBvcGVuc3NsX2Vycm9yX3N0cmluZyBvcGVuc3NsX2ZyZWVfa2V5IG9wZW5zc2xfZ2V0X3ByaXZhdGVrZXkgb3BlbnNzbF9nZXRfcHVibGlja2V5IG9wZW5zc2xfb3BlbiBvcGVuc3NsX3BrY3M3X2RlY3J5cHQgb3BlbnNzbF9wa2NzN19lbmNyeXB0IG9wZW5zc2xfcGtjczdfc2lnbiBvcGVuc3NsX3BrY3M3X3ZlcmlmeSBvcGVuc3NsX3BrZXlfZXhwb3J0X3RvX2ZpbGUgb3BlbnNzbF9wa2V5X2V4cG9ydCBvcGVuc3NsX3BrZXlfZ2V0X3ByaXZhdGUgb3BlbnNzbF9wa2V5X2dldF9wdWJsaWMgb3BlbnNzbF9wa2V5X25ldyBvcGVuc3NsX3ByaXZhdGVfZGVjcnlwdCBvcGVuc3NsX3ByaXZhdGVfZW5jcnlwdCBvcGVuc3NsX3B1YmxpY19kZWNyeXB0IG9wZW5zc2xfcHVibGljX2VuY3J5cHQgb3BlbnNzbF9zZWFsIG9wZW5zc2xfc2lnbiBvcGVuc3NsX3ZlcmlmeSBvcGVuc3NsX3g1MDlfY2hlY2tfcHJpdmF0ZV9rZXkgb3BlbnNzbF94NTA5X2NoZWNrcHVycG9zZSBvcGVuc3NsX3g1MDlfZXhwb3J0X3RvX2ZpbGUgb3BlbnNzbF94NTA5X2V4cG9ydCBvcGVuc3NsX3g1MDlfZnJlZSBvcGVuc3NsX3g1MDlfcGFyc2Ugb3BlbnNzbF94NTA5X3JlYWQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJb3JhX2JpbmQgb3JhX2Nsb3NlIG9yYV9jb2x1bW5uYW1lIG9yYV9jb2x1bW5zaXplIG9yYV9jb2x1bW50eXBlIG9yYV9jb21taXQgb3JhX2NvbW1pdG9mZiBvcmFfY29tbWl0b24gb3JhX2RvIG9yYV9lcnJvciBvcmFfZXJyb3Jjb2RlIG9yYV9leGVjIG9yYV9mZXRjaF9pbnRvIG9yYV9mZXRjaCBvcmFfZ2V0Y29sdW1uIG9yYV9sb2dvZmYgb3JhX2xvZ29uIG9yYV9udW1jb2xzIG9yYV9udW1yb3dzIG9yYV9vcGVuIG9yYV9wYXJzZSBvcmFfcGxvZ29uIG9yYV9yb2xsYmFjawljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlmbHVzaCBvYl9jbGVhbiBvYl9lbmRfY2xlYW4gb2JfZW5kX2ZsdXNoIG9iX2ZsdXNoIG9iX2dldF9jbGVhbiBvYl9nZXRfY29udGVudHMgb2JfZ2V0X2ZsdXNoIG9iX2dldF9sZW5ndGggb2JfZ2V0X2xldmVsIG9iX2dldF9zdGF0dXMgb2JfZ3poYW5kbGVyIG9iX2ltcGxpY2l0X2ZsdXNoIG9iX2xpc3RfaGFuZGxlcnMgb2Jfc3RhcnQgb3V0cHV0X2FkZF9yZXdyaXRlX3ZhciBvdXRwdXRfcmVzZXRfcmV3cml0ZV92YXJzCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW92ZXJsb2FkCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCW92cmltb3NfY2xvc2Ugb3ZyaW1vc19jb21taXQgb3ZyaW1vc19jb25uZWN0IG92cmltb3NfY3Vyc29yIG92cmltb3NfZXhlYyBvdnJpbW9zX2V4ZWN1dGUgb3ZyaW1vc19mZXRjaF9pbnRvIG92cmltb3NfZmV0Y2hfcm93IG92cmltb3NfZmllbGRfbGVuIG92cmltb3NfZmllbGRfbmFtZSBvdnJpbW9zX2ZpZWxkX251bSBvdnJpbW9zX2ZpZWxkX3R5cGUgb3ZyaW1vc19mcmVlX3Jlc3VsdCBvdnJpbW9zX2xvbmdyZWFkbGVuIG92cmltb3NfbnVtX2ZpZWxkcyBvdnJpbW9zX251bV9yb3dzIG92cmltb3NfcHJlcGFyZSBvdnJpbW9zX3Jlc3VsdF9hbGwgb3ZyaW1vc19yZXN1bHQgb3ZyaW1vc19yb2xsYmFjawljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlwY250bF9leGVjIHBjbnRsX2ZvcmsgcGNudGxfc2lnbmFsIHBjbnRsX3dhaXRwaWQgcGNudGxfd2V4aXRzdGF0dXMgcGNudGxfd2lmZXhpdGVkIHBjbnRsX3dpZnNpZ25hbGVkIHBjbnRsX3dpZnN0b3BwZWQgcGNudGxfd3N0b3BzaWcgcGNudGxfd3Rlcm1zaWcJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJcHJlZ19ncmVwIHByZWdfbWF0Y2hfYWxsIHByZWdfbWF0Y2ggcHJlZ19xdW90ZSBwcmVnX3JlcGxhY2VfY2FsbGJhY2sgcHJlZ19yZXBsYWNlIHByZWdfc3BsaXQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJcGRmX2FkZF9hbm5vdGF0aW9uIHBkZl9hZGRfYm9va21hcmsgcGRmX2FkZF9sYXVuY2hsaW5rIHBkZl9hZGRfbG9jYWxsaW5rIHBkZl9hZGRfbm90ZSBwZGZfYWRkX291dGxpbmUgcGRmX2FkZF9wZGZsaW5rIHBkZl9hZGRfdGh1bWJuYWlsIHBkZl9hZGRfd2VibGluayBwZGZfYXJjIHBkZl9hcmNuIHBkZl9hdHRhY2hfZmlsZSBwZGZfYmVnaW5fcGFnZSBwZGZfYmVnaW5fcGF0dGVybiBwZGZfYmVnaW5fdGVtcGxhdGUgcGRmX2NpcmNsZSBwZGZfY2xpcCBwZGZfY2xvc2VfaW1hZ2UgcGRmX2Nsb3NlX3BkaV9wYWdlIHBkZl9jbG9zZV9wZGkgcGRmX2Nsb3NlIHBkZl9jbG9zZXBhdGhfZmlsbF9zdHJva2UgcGRmX2Nsb3NlcGF0aF9zdHJva2UgcGRmX2Nsb3NlcGF0aCBwZGZfY29uY2F0IHBkZl9jb250aW51ZV90ZXh0IHBkZl9jdXJ2ZXRvIHBkZl9kZWxldGUgcGRmX2VuZF9wYWdlIHBkZl9lbmRfcGF0dGVybiBwZGZfZW5kX3RlbXBsYXRlIHBkZl9lbmRwYXRoIHBkZl9maWxsX3N0cm9rZSBwZGZfZmlsbCBwZGZfZmluZGZvbnQgcGRmX2dldF9idWZmZXIgcGRmX2dldF9mb250IHBkZl9nZXRfZm9udG5hbWUgcGRmX2dldF9mb250c2l6ZSBwZGZfZ2V0X2ltYWdlX2hlaWdodCBwZGZfZ2V0X2ltYWdlX3dpZHRoIHBkZl9nZXRfbWFqb3J2ZXJzaW9uIHBkZl9nZXRfbWlub3J2ZXJzaW9uIHBkZl9nZXRfcGFyYW1ldGVyIHBkZl9nZXRfcGRpX3BhcmFtZXRlciBwZGZfZ2V0X3BkaV92YWx1ZSBwZGZfZ2V0X3ZhbHVlIHBkZl9pbml0Z3JhcGhpY3MgcGRmX2xpbmV0byBwZGZfbWFrZXNwb3Rjb2xvciBwZGZfbW92ZXRvIHBkZl9uZXcgcGRmX29wZW5fQ0NJVFQgcGRmX29wZW5fZmlsZSBwZGZfb3Blbl9naWYgcGRmX29wZW5faW1hZ2VfZmlsZSBwZGZfb3Blbl9pbWFnZSBwZGZfb3Blbl9qcGVnIHBkZl9vcGVuX21lbW9yeV9pbWFnZSBwZGZfb3Blbl9wZGlfcGFnZSBwZGZfb3Blbl9wZGkgcGRmX29wZW5fcG5nIHBkZl9vcGVuX3RpZmYgcGRmX29wZW4gcGRmX3BsYWNlX2ltYWdlIHBkZl9wbGFjZV9wZGlfcGFnZSBwZGZfcmVjdCBwZGZfcmVzdG9yZSBwZGZfcm90YXRlIHBkZl9zYXZlIHBkZl9zY2FsZSBwZGZfc2V0X2JvcmRlcl9jb2xvciBwZGZfc2V0X2JvcmRlcl9kYXNoIHBkZl9zZXRfYm9yZGVyX3N0eWxlIHBkZl9zZXRfY2hhcl9zcGFjaW5nIHBkZl9zZXRfZHVyYXRpb24gcGRmX3NldF9mb250IHBkZl9zZXRfaG9yaXpfc2NhbGluZyBwZGZfc2V0X2luZm9fYXV0aG9yIHBkZl9zZXRfaW5mb19jcmVhdG9yIHBkZl9zZXRfaW5mb19rZXl3b3JkcyBwZGZfc2V0X2luZm9fc3ViamVjdCBwZGZfc2V0X2luZm9fdGl0bGUgcGRmX3NldF9pbmZvIHBkZl9zZXRfbGVhZGluZyBwZGZfc2V0X3BhcmFtZXRlciBwZGZfc2V0X3RleHRfbWF0cml4IHBkZl9zZXRfdGV4dF9wb3MgcGRmX3NldF90ZXh0X3JlbmRlcmluZyBwZGZfc2V0X3RleHRfcmlzZSBwZGZfc2V0X3ZhbHVlIHBkZl9zZXRfd29yZF9zcGFjaW5nIHBkZl9zZXRjb2xvciBwZGZfc2V0ZGFzaCBwZGZfc2V0ZmxhdCBwZGZfc2V0Zm9udCBwZGZfc2V0Z3JheV9maWxsIHBkZl9zZXRncmF5X3N0cm9rZSBwZGZfc2V0Z3JheSBwZGZfc2V0bGluZWNhcCBwZGZfc2V0bGluZWpvaW4gcGRmX3NldGxpbmV3aWR0aCBwZGZfc2V0bWF0cml4IHBkZl9zZXRtaXRlcmxpbWl0IHBkZl9zZXRwb2x5ZGFzaCBwZGZfc2V0cmdiY29sb3JfZmlsbCBwZGZfc2V0cmdiY29sb3Jfc3Ryb2tlIHBkZl9zZXRyZ2Jjb2xvciBwZGZfc2hvd19ib3hlZCBwZGZfc2hvd194eSBwZGZfc2hvdyBwZGZfc2tldyBwZGZfc3RyaW5nd2lkdGggcGRmX3N0cm9rZSBwZGZfdHJhbnNsYXRlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXBmcHJvX2NsZWFudXAgcGZwcm9faW5pdCBwZnByb19wcm9jZXNzX3JhdyBwZnByb19wcm9jZXNzIHBmcHJvX3ZlcnNpb24JY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJcGdfYWZmZWN0ZWRfcm93cyBwZ19jYW5jZWxfcXVlcnkgcGdfY2xpZW50X2VuY29kaW5nIHBnX2Nsb3NlIHBnX2Nvbm5lY3QgcGdfY29ubmVjdGlvbl9idXN5IHBnX2Nvbm5lY3Rpb25fcmVzZXQgcGdfY29ubmVjdGlvbl9zdGF0dXMgcGdfY29udmVydCBwZ19jb3B5X2Zyb20gcGdfY29weV90byBwZ19kYm5hbWUgcGdfZGVsZXRlIHBnX2VuZF9jb3B5IHBnX2VzY2FwZV9ieXRlYSBwZ19lc2NhcGVfc3RyaW5nIHBnX2ZldGNoX2FsbCBwZ19mZXRjaF9hcnJheSBwZ19mZXRjaF9hc3NvYyBwZ19mZXRjaF9vYmplY3QgcGdfZmV0Y2hfcmVzdWx0IHBnX2ZldGNoX3JvdyBwZ19maWVsZF9pc19udWxsIHBnX2ZpZWxkX25hbWUgcGdfZmllbGRfbnVtIHBnX2ZpZWxkX3BydGxlbiBwZ19maWVsZF9zaXplIHBnX2ZpZWxkX3R5cGUgcGdfZnJlZV9yZXN1bHQgcGdfZ2V0X25vdGlmeSBwZ19nZXRfcGlkIHBnX2dldF9yZXN1bHQgcGdfaG9zdCBwZ19pbnNlcnQgcGdfbGFzdF9lcnJvciBwZ19sYXN0X25vdGljZSBwZ19sYXN0X29pZCBwZ19sb19jbG9zZSBwZ19sb19jcmVhdGUgcGdfbG9fZXhwb3J0IHBnX2xvX2ltcG9ydCBwZ19sb19vcGVuIHBnX2xvX3JlYWRfYWxsIHBnX2xvX3JlYWQgcGdfbG9fc2VlayBwZ19sb190ZWxsIHBnX2xvX3VubGluayBwZ19sb193cml0ZSBwZ19tZXRhX2RhdGEgcGdfbnVtX2ZpZWxkcyBwZ19udW1fcm93cyBwZ19vcHRpb25zIHBnX3Bjb25uZWN0IHBnX3BpbmcgcGdfcG9ydCBwZ19wdXRfbGluZSBwZ19xdWVyeSBwZ19yZXN1bHRfZXJyb3IgcGdfcmVzdWx0X3NlZWsgcGdfcmVzdWx0X3N0YXR1cyBwZ19zZWxlY3QgcGdfc2VuZF9xdWVyeSBwZ19zZXRfY2xpZW50X2VuY29kaW5nIHBnX3RyYWNlIHBnX3R0eSBwZ191bmVzY2FwZV9ieXRlYSBwZ191bnRyYWNlIHBnX3VwZGF0ZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlwb3NpeF9jdGVybWlkIHBvc2l4X2dldF9sYXN0X2Vycm9yIHBvc2l4X2dldGN3ZCBwb3NpeF9nZXRlZ2lkIHBvc2l4X2dldGV1aWQgcG9zaXhfZ2V0Z2lkIHBvc2l4X2dldGdyZ2lkIHBvc2l4X2dldGdybmFtIHBvc2l4X2dldGdyb3VwcyBwb3NpeF9nZXRsb2dpbiBwb3NpeF9nZXRwZ2lkIHBvc2l4X2dldHBncnAgcG9zaXhfZ2V0cGlkIHBvc2l4X2dldHBwaWQgcG9zaXhfZ2V0cHduYW0gcG9zaXhfZ2V0cHd1aWQgcG9zaXhfZ2V0cmxpbWl0IHBvc2l4X2dldHNpZCBwb3NpeF9nZXR1aWQgcG9zaXhfaXNhdHR5IHBvc2l4X2tpbGwgcG9zaXhfbWtmaWZvIHBvc2l4X3NldGVnaWQgcG9zaXhfc2V0ZXVpZCBwb3NpeF9zZXRnaWQgcG9zaXhfc2V0cGdpZCBwb3NpeF9zZXRzaWQgcG9zaXhfc2V0dWlkIHBvc2l4X3N0cmVycm9yIHBvc2l4X3RpbWVzIHBvc2l4X3R0eW5hbWUgcG9zaXhfdW5hbWUJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJcHJpbnRlcl9hYm9ydCBwcmludGVyX2Nsb3NlIHByaW50ZXJfY3JlYXRlX2JydXNoIHByaW50ZXJfY3JlYXRlX2RjIHByaW50ZXJfY3JlYXRlX2ZvbnQgcHJpbnRlcl9jcmVhdGVfcGVuIHByaW50ZXJfZGVsZXRlX2JydXNoIHByaW50ZXJfZGVsZXRlX2RjIHByaW50ZXJfZGVsZXRlX2ZvbnQgcHJpbnRlcl9kZWxldGVfcGVuIHByaW50ZXJfZHJhd19ibXAgcHJpbnRlcl9kcmF3X2Nob3JkIHByaW50ZXJfZHJhd19lbGlwc2UgcHJpbnRlcl9kcmF3X2xpbmUgcHJpbnRlcl9kcmF3X3BpZSBwcmludGVyX2RyYXdfcmVjdGFuZ2xlIHByaW50ZXJfZHJhd19yb3VuZHJlY3QgcHJpbnRlcl9kcmF3X3RleHQgcHJpbnRlcl9lbmRfZG9jIHByaW50ZXJfZW5kX3BhZ2UgcHJpbnRlcl9nZXRfb3B0aW9uIHByaW50ZXJfbGlzdCBwcmludGVyX2xvZ2ljYWxfZm9udGhlaWdodCBwcmludGVyX29wZW4gcHJpbnRlcl9zZWxlY3RfYnJ1c2ggcHJpbnRlcl9zZWxlY3RfZm9udCBwcmludGVyX3NlbGVjdF9wZW4gcHJpbnRlcl9zZXRfb3B0aW9uIHByaW50ZXJfc3RhcnRfZG9jIHByaW50ZXJfc3RhcnRfcGFnZSBwcmludGVyX3dyaXRlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXBzcGVsbF9hZGRfdG9fcGVyc29uYWwgcHNwZWxsX2FkZF90b19zZXNzaW9uIHBzcGVsbF9jaGVjayBwc3BlbGxfY2xlYXJfc2Vzc2lvbiBwc3BlbGxfY29uZmlnX2NyZWF0ZSBwc3BlbGxfY29uZmlnX2lnbm9yZSBwc3BlbGxfY29uZmlnX21vZGUgcHNwZWxsX2NvbmZpZ19wZXJzb25hbCBwc3BlbGxfY29uZmlnX3JlcGwgcHNwZWxsX2NvbmZpZ19ydW50b2dldGhlciBwc3BlbGxfY29uZmlnX3NhdmVfcmVwbCBwc3BlbGxfbmV3X2NvbmZpZyBwc3BlbGxfbmV3X3BlcnNvbmFsIHBzcGVsbF9uZXcgcHNwZWxsX3NhdmVfd29yZGxpc3QgcHNwZWxsX3N0b3JlX3JlcGxhY2VtZW50IHBzcGVsbF9zdWdnZXN0CWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXFkb21fZXJyb3IgcWRvbV90cmVlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXJlYWRsaW5lX2FkZF9oaXN0b3J5IHJlYWRsaW5lX2NsZWFyX2hpc3RvcnkgcmVhZGxpbmVfY29tcGxldGlvbl9mdW5jdGlvbiByZWFkbGluZV9pbmZvIHJlYWRsaW5lX2xpc3RfaGlzdG9yeSByZWFkbGluZV9yZWFkX2hpc3RvcnkgcmVhZGxpbmVfd3JpdGVfaGlzdG9yeSByZWFkbGluZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlyZWNvZGVfZmlsZSByZWNvZGVfc3RyaW5nIHJlY29kZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwllcmVnX3JlcGxhY2UgZXJlZyBlcmVnaV9yZXBsYWNlIGVyZWdpIHNwbGl0IHNwbGl0aSBzcWxfcmVnY2FzZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlmdG9rIG1zZ19nZXRfcXVldWUgbXNnX3JlY2VpdmUgbXNnX3JlbW92ZV9xdWV1ZSBtc2dfc2VuZCBtc2dfc2V0X3F1ZXVlIG1zZ19zdGF0X3F1ZXVlIHNlbV9hY3F1aXJlIHNlbV9nZXQgc2VtX3JlbGVhc2Ugc2VtX3JlbW92ZSBzaG1fYXR0YWNoIHNobV9kZXRhY2ggc2htX2dldF92YXIgc2htX3B1dF92YXIgc2htX3JlbW92ZV92YXIgc2htX3JlbW92ZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlzZXNhbV9hZmZlY3RlZF9yb3dzIHNlc2FtX2NvbW1pdCBzZXNhbV9jb25uZWN0IHNlc2FtX2RpYWdub3N0aWMgc2VzYW1fZGlzY29ubmVjdCBzZXNhbV9lcnJvcm1zZyBzZXNhbV9leGVjaW1tIHNlc2FtX2ZldGNoX2FycmF5IHNlc2FtX2ZldGNoX3Jlc3VsdCBzZXNhbV9mZXRjaF9yb3cgc2VzYW1fZmllbGRfYXJyYXkgc2VzYW1fZmllbGRfbmFtZSBzZXNhbV9mcmVlX3Jlc3VsdCBzZXNhbV9udW1fZmllbGRzIHNlc2FtX3F1ZXJ5IHNlc2FtX3JvbGxiYWNrIHNlc2FtX3NlZWtfcm93IHNlc2FtX3NldHRyYW5zYWN0aW9uCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXNlc3Npb25fY2FjaGVfZXhwaXJlIHNlc3Npb25fY2FjaGVfbGltaXRlciBzZXNzaW9uX2RlY29kZSBzZXNzaW9uX2Rlc3Ryb3kgc2Vzc2lvbl9lbmNvZGUgc2Vzc2lvbl9nZXRfY29va2llX3BhcmFtcyBzZXNzaW9uX2lkIHNlc3Npb25faXNfcmVnaXN0ZXJlZCBzZXNzaW9uX21vZHVsZV9uYW1lIHNlc3Npb25fbmFtZSBzZXNzaW9uX3JlZ2VuZXJhdGVfaWQgc2Vzc2lvbl9yZWdpc3RlciBzZXNzaW9uX3NhdmVfcGF0aCBzZXNzaW9uX3NldF9jb29raWVfcGFyYW1zIHNlc3Npb25fc2V0X3NhdmVfaGFuZGxlciBzZXNzaW9uX3N0YXJ0IHNlc3Npb25fdW5yZWdpc3RlciBzZXNzaW9uX3Vuc2V0IHNlc3Npb25fd3JpdGVfY2xvc2UJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJc2htb3BfY2xvc2Ugc2htb3BfZGVsZXRlIHNobW9wX29wZW4gc2htb3BfcmVhZCBzaG1vcF9zaXplIHNobW9wX3dyaXRlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXNubXBfZ2V0X3F1aWNrX3ByaW50IHNubXBfc2V0X3F1aWNrX3ByaW50IHNubXBnZXQgc25tcHJlYWx3YWxrIHNubXBzZXQgc25tcHdhbGsgc25tcHdhbGtvaWQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJc29ja2V0X2FjY2VwdCBzb2NrZXRfYmluZCBzb2NrZXRfY2xlYXJfZXJyb3Igc29ja2V0X2Nsb3NlIHNvY2tldF9jb25uZWN0IHNvY2tldF9jcmVhdGVfbGlzdGVuIHNvY2tldF9jcmVhdGVfcGFpciBzb2NrZXRfY3JlYXRlIHNvY2tldF9nZXRfb3B0aW9uIHNvY2tldF9nZXRwZWVybmFtZSBzb2NrZXRfZ2V0c29ja25hbWUgc29ja2V0X2lvdmVjX2FkZCBzb2NrZXRfaW92ZWNfYWxsb2Mgc29ja2V0X2lvdmVjX2RlbGV0ZSBzb2NrZXRfaW92ZWNfZmV0Y2ggc29ja2V0X2lvdmVjX2ZyZWUgc29ja2V0X2lvdmVjX3NldCBzb2NrZXRfbGFzdF9lcnJvciBzb2NrZXRfbGlzdGVuIHNvY2tldF9yZWFkIHNvY2tldF9yZWFkdiBzb2NrZXRfcmVjdiBzb2NrZXRfcmVjdmZyb20gc29ja2V0X3JlY3Ztc2cgc29ja2V0X3NlbGVjdCBzb2NrZXRfc2VuZCBzb2NrZXRfc2VuZG1zZyBzb2NrZXRfc2VuZHRvIHNvY2tldF9zZXRfYmxvY2sgc29ja2V0X3NldF9ub25ibG9jayBzb2NrZXRfc2V0X29wdGlvbiBzb2NrZXRfc2h1dGRvd24gc29ja2V0X3N0cmVycm9yIHNvY2tldF93cml0ZSBzb2NrZXRfd3JpdGV2CWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXNxbGl0ZV9hcnJheV9xdWVyeSBzcWxpdGVfYnVzeV90aW1lb3V0IHNxbGl0ZV9jaGFuZ2VzIHNxbGl0ZV9jbG9zZSBzcWxpdGVfY29sdW1uIHNxbGl0ZV9jcmVhdGVfYWdncmVnYXRlIHNxbGl0ZV9jcmVhdGVfZnVuY3Rpb24gc3FsaXRlX2N1cnJlbnQgc3FsaXRlX2Vycm9yX3N0cmluZyBzcWxpdGVfZXNjYXBlX3N0cmluZyBzcWxpdGVfZmV0Y2hfYXJyYXkgc3FsaXRlX2ZldGNoX3NpbmdsZSBzcWxpdGVfZmV0Y2hfc3RyaW5nIHNxbGl0ZV9maWVsZF9uYW1lIHNxbGl0ZV9oYXNfbW9yZSBzcWxpdGVfbGFzdF9lcnJvciBzcWxpdGVfbGFzdF9pbnNlcnRfcm93aWQgc3FsaXRlX2xpYmVuY29kaW5nIHNxbGl0ZV9saWJ2ZXJzaW9uIHNxbGl0ZV9uZXh0IHNxbGl0ZV9udW1fZmllbGRzIHNxbGl0ZV9udW1fcm93cyBzcWxpdGVfb3BlbiBzcWxpdGVfcG9wZW4gc3FsaXRlX3F1ZXJ5IHNxbGl0ZV9yZXdpbmQgc3FsaXRlX3NlZWsgc3FsaXRlX3VkZl9kZWNvZGVfYmluYXJ5IHNxbGl0ZV91ZGZfZW5jb2RlX2JpbmFyeSBzcWxpdGVfdW5idWZmZXJlZF9xdWVyeQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlzdHJlYW1fY29udGV4dF9jcmVhdGUgc3RyZWFtX2NvbnRleHRfZ2V0X29wdGlvbnMgc3RyZWFtX2NvbnRleHRfc2V0X29wdGlvbiBzdHJlYW1fY29udGV4dF9zZXRfcGFyYW1zIHN0cmVhbV9jb3B5X3RvX3N0cmVhbSBzdHJlYW1fZmlsdGVyX2FwcGVuZCBzdHJlYW1fZmlsdGVyX3ByZXBlbmQgc3RyZWFtX2ZpbHRlcl9yZWdpc3RlciBzdHJlYW1fZ2V0X2NvbnRlbnRzIHN0cmVhbV9nZXRfZmlsdGVycyBzdHJlYW1fZ2V0X2xpbmUgc3RyZWFtX2dldF9tZXRhX2RhdGEgc3RyZWFtX2dldF90cmFuc3BvcnRzIHN0cmVhbV9nZXRfd3JhcHBlcnMgc3RyZWFtX3JlZ2lzdGVyX3dyYXBwZXIgc3RyZWFtX3NlbGVjdCBzdHJlYW1fc2V0X2Jsb2NraW5nIHN0cmVhbV9zZXRfdGltZW91dCBzdHJlYW1fc2V0X3dyaXRlX2J1ZmZlciBzdHJlYW1fc29ja2V0X2FjY2VwdCBzdHJlYW1fc29ja2V0X2NsaWVudCBzdHJlYW1fc29ja2V0X2dldF9uYW1lIHN0cmVhbV9zb2NrZXRfcmVjdmZyb20gc3RyZWFtX3NvY2tldF9zZW5kdG8gc3RyZWFtX3NvY2tldF9zZXJ2ZXIgc3RyZWFtX3dyYXBwZXJfcmVnaXN0ZXIJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJYWRkY3NsYXNoZXMgYWRkc2xhc2hlcyBiaW4yaGV4IGNob3AgY2hyIGNodW5rX3NwbGl0IGNvbnZlcnRfY3lyX3N0cmluZyBjb3VudF9jaGFycyBjcmMzMiBjcnlwdCBlY2hvIGV4cGxvZGUgZnByaW50ZiBnZXRfaHRtbF90cmFuc2xhdGlvbl90YWJsZSBoZWJyZXYgaGVicmV2YyBodG1sX2VudGl0eV9kZWNvZGUgaHRtbGVudGl0aWVzIGh0bWxzcGVjaWFsY2hhcnMgaW1wbG9kZSBqb2luIGxldmVuc2h0ZWluIGxvY2FsZWNvbnYgbHRyaW0gbWQ1X2ZpbGUgbWQ1IG1ldGFwaG9uZSBtb25leV9mb3JtYXQgbmxfbGFuZ2luZm8gbmwyYnIgbnVtYmVyX2Zvcm1hdCBvcmQgcGFyc2Vfc3RyIHByaW50IHByaW50ZiBxdW90ZWRfcHJpbnRhYmxlX2RlY29kZSBxdW90ZW1ldGEgcnRyaW0gc2V0bG9jYWxlIHNoYTFfZmlsZSBzaGExIHNpbWlsYXJfdGV4dCBzb3VuZGV4IHNwcmludGYgc3NjYW5mIHN0cl9pcmVwbGFjZSBzdHJfcGFkIHN0cl9yZXBlYXQgc3RyX3JlcGxhY2Ugc3RyX3JvdDEzIHN0cl9zaHVmZmxlIHN0cl9zcGxpdCBzdHJfd29yZF9jb3VudCBzdHJjYXNlY21wIHN0cmNociBzdHJjbXAgc3RyY29sbCBzdHJjc3BuIHN0cmlwX3RhZ3Mgc3RyaXBjc2xhc2hlcyBzdHJpcG9zIHN0cmlwc2xhc2hlcyBzdHJpc3RyIHN0cmxlbiBzdHJuYXRjYXNlY21wIHN0cm5hdGNtcCBzdHJuY2FzZWNtcCBzdHJuY21wIHN0cnBvcyBzdHJyY2hyIHN0cnJldiBzdHJyaXBvcyBzdHJycG9zIHN0cnNwbiBzdHJzdHIgc3RydG9rIHN0cnRvbG93ZXIgc3RydG91cHBlciBzdHJ0ciBzdWJzdHJfY29tcGFyZSBzdWJzdHJfY291bnQgc3Vic3RyX3JlcGxhY2Ugc3Vic3RyIHRyaW0gdWNmaXJzdCB1Y3dvcmRzIHZwcmludGYgdnNwcmludGYgd29yZHdyYXAJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJc3dmX2FjdGlvbmdldHVybCBzd2ZfYWN0aW9uZ290b2ZyYW1lIHN3Zl9hY3Rpb25nb3RvbGFiZWwgc3dmX2FjdGlvbm5leHRmcmFtZSBzd2ZfYWN0aW9ucGxheSBzd2ZfYWN0aW9ucHJldmZyYW1lIHN3Zl9hY3Rpb25zZXR0YXJnZXQgc3dmX2FjdGlvbnN0b3Agc3dmX2FjdGlvbnRvZ2dsZXF1YWxpdHkgc3dmX2FjdGlvbndhaXRmb3JmcmFtZSBzd2ZfYWRkYnV0dG9ucmVjb3JkIHN3Zl9hZGRjb2xvciBzd2ZfY2xvc2VmaWxlIHN3Zl9kZWZpbmViaXRtYXAgc3dmX2RlZmluZWZvbnQgc3dmX2RlZmluZWxpbmUgc3dmX2RlZmluZXBvbHkgc3dmX2RlZmluZXJlY3Qgc3dmX2RlZmluZXRleHQgc3dmX2VuZGJ1dHRvbiBzd2ZfZW5kZG9hY3Rpb24gc3dmX2VuZHNoYXBlIHN3Zl9lbmRzeW1ib2wgc3dmX2ZvbnRzaXplIHN3Zl9mb250c2xhbnQgc3dmX2ZvbnR0cmFja2luZyBzd2ZfZ2V0Yml0bWFwaW5mbyBzd2ZfZ2V0Zm9udGluZm8gc3dmX2dldGZyYW1lIHN3Zl9sYWJlbGZyYW1lIHN3Zl9sb29rYXQgc3dmX21vZGlmeW9iamVjdCBzd2ZfbXVsY29sb3Igc3dmX25leHRpZCBzd2Zfb25jb25kaXRpb24gc3dmX29wZW5maWxlIHN3Zl9vcnRobzIgc3dmX29ydGhvIHN3Zl9wZXJzcGVjdGl2ZSBzd2ZfcGxhY2VvYmplY3Qgc3dmX3BvbGFydmlldyBzd2ZfcG9wbWF0cml4IHN3Zl9wb3Nyb3VuZCBzd2ZfcHVzaG1hdHJpeCBzd2ZfcmVtb3Zlb2JqZWN0IHN3Zl9yb3RhdGUgc3dmX3NjYWxlIHN3Zl9zZXRmb250IHN3Zl9zZXRmcmFtZSBzd2Zfc2hhcGVhcmMgc3dmX3NoYXBlY3VydmV0bzMgc3dmX3NoYXBlY3VydmV0byBzd2Zfc2hhcGVmaWxsYml0bWFwY2xpcCBzd2Zfc2hhcGVmaWxsYml0bWFwdGlsZSBzd2Zfc2hhcGVmaWxsb2ZmIHN3Zl9zaGFwZWZpbGxzb2xpZCBzd2Zfc2hhcGVsaW5lc29saWQgc3dmX3NoYXBlbGluZXRvIHN3Zl9zaGFwZW1vdmV0byBzd2Zfc2hvd2ZyYW1lIHN3Zl9zdGFydGJ1dHRvbiBzd2Zfc3RhcnRkb2FjdGlvbiBzd2Zfc3RhcnRzaGFwZSBzd2Zfc3RhcnRzeW1ib2wgc3dmX3RleHR3aWR0aCBzd2ZfdHJhbnNsYXRlIHN3Zl92aWV3cG9ydAljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlzeWJhc2VfYWZmZWN0ZWRfcm93cyBzeWJhc2VfY2xvc2Ugc3liYXNlX2Nvbm5lY3Qgc3liYXNlX2RhdGFfc2VlayBzeWJhc2VfZGVhZGxvY2tfcmV0cnlfY291bnQgc3liYXNlX2ZldGNoX2FycmF5IHN5YmFzZV9mZXRjaF9hc3NvYyBzeWJhc2VfZmV0Y2hfZmllbGQgc3liYXNlX2ZldGNoX29iamVjdCBzeWJhc2VfZmV0Y2hfcm93IHN5YmFzZV9maWVsZF9zZWVrIHN5YmFzZV9mcmVlX3Jlc3VsdCBzeWJhc2VfZ2V0X2xhc3RfbWVzc2FnZSBzeWJhc2VfbWluX2NsaWVudF9zZXZlcml0eSBzeWJhc2VfbWluX2Vycm9yX3NldmVyaXR5IHN5YmFzZV9taW5fbWVzc2FnZV9zZXZlcml0eSBzeWJhc2VfbWluX3NlcnZlcl9zZXZlcml0eSBzeWJhc2VfbnVtX2ZpZWxkcyBzeWJhc2VfbnVtX3Jvd3Mgc3liYXNlX3Bjb25uZWN0IHN5YmFzZV9xdWVyeSBzeWJhc2VfcmVzdWx0IHN5YmFzZV9zZWxlY3RfZGIgc3liYXNlX3NldF9tZXNzYWdlX2hhbmRsZXIgc3liYXNlX3VuYnVmZmVyZWRfcXVlcnkJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJdGlkeV9hY2Nlc3NfY291bnQgdGlkeV9jbGVhbl9yZXBhaXIgdGlkeV9jb25maWdfY291bnQgdGlkeV9kaWFnbm9zZSB0aWR5X2Vycm9yX2NvdW50IHRpZHlfZ2V0X2JvZHkgdGlkeV9nZXRfY29uZmlnIHRpZHlfZ2V0X2Vycm9yX2J1ZmZlciB0aWR5X2dldF9oZWFkIHRpZHlfZ2V0X2h0bWxfdmVyIHRpZHlfZ2V0X2h0bWwgdGlkeV9nZXRfb3V0cHV0IHRpZHlfZ2V0X3JlbGVhc2UgdGlkeV9nZXRfcm9vdCB0aWR5X2dldF9zdGF0dXMgdGlkeV9nZXRvcHQgdGlkeV9pc194aHRtbCB0aWR5X2xvYWRfY29uZmlnIHRpZHlfcGFyc2VfZmlsZSB0aWR5X3BhcnNlX3N0cmluZyB0aWR5X3JlcGFpcl9maWxlIHRpZHlfcmVwYWlyX3N0cmluZyB0aWR5X3Jlc2V0X2NvbmZpZyB0aWR5X3NhdmVfY29uZmlnIHRpZHlfc2V0X2VuY29kaW5nIHRpZHlfc2V0b3B0IHRpZHlfd2FybmluZ19jb3VudAljb250YWluZWQKK3N5biBrZXl3b3JkCXBocE1ldGhvZHMJYXR0cmlidXRlcyBjaGlsZHJlbiBnZXRfYXR0ciBnZXRfbm9kZXMgaGFzX2NoaWxkcmVuIGhhc19zaWJsaW5ncyBpc19hc3AgaXNfY29tbWVudCBpc19odG1sIGlzX2pzcCBpc19qc3RlIGlzX3RleHQgaXNfeGh0bWwgaXNfeG1sIG5leHQgcHJldiB0aWR5X25vZGUJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJdG9rZW5fZ2V0X2FsbCB0b2tlbl9uYW1lCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCWJhc2U2NF9kZWNvZGUgYmFzZTY0X2VuY29kZSBnZXRfbWV0YV90YWdzIGh0dHBfYnVpbGRfcXVlcnkgcGFyc2VfdXJsIHJhd3VybGRlY29kZSByYXd1cmxlbmNvZGUgdXJsZGVjb2RlIHVybGVuY29kZQljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlkb3VibGV2YWwgZW1wdHkgZmxvYXR2YWwgZ2V0X2RlZmluZWRfdmFycyBnZXRfcmVzb3VyY2VfdHlwZSBnZXR0eXBlIGltcG9ydF9yZXF1ZXN0X3ZhcmlhYmxlcyBpbnR2YWwgaXNfYXJyYXkgaXNfYm9vbCBpc19jYWxsYWJsZSBpc19kb3VibGUgaXNfZmxvYXQgaXNfaW50IGlzX2ludGVnZXIgaXNfbG9uZyBpc19udWxsIGlzX251bWVyaWMgaXNfb2JqZWN0IGlzX3JlYWwgaXNfcmVzb3VyY2UgaXNfc2NhbGFyIGlzX3N0cmluZyBpc3NldCBwcmludF9yIHNlcmlhbGl6ZSBzZXR0eXBlIHN0cnZhbCB1bnNlcmlhbGl6ZSB1bnNldCB2YXJfZHVtcCB2YXJfZXhwb3J0CWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXZwb3BtYWlsX2FkZF9hbGlhc19kb21haW5fZXggdnBvcG1haWxfYWRkX2FsaWFzX2RvbWFpbiB2cG9wbWFpbF9hZGRfZG9tYWluX2V4IHZwb3BtYWlsX2FkZF9kb21haW4gdnBvcG1haWxfYWRkX3VzZXIgdnBvcG1haWxfYWxpYXNfYWRkIHZwb3BtYWlsX2FsaWFzX2RlbF9kb21haW4gdnBvcG1haWxfYWxpYXNfZGVsIHZwb3BtYWlsX2FsaWFzX2dldF9hbGwgdnBvcG1haWxfYWxpYXNfZ2V0IHZwb3BtYWlsX2F1dGhfdXNlciB2cG9wbWFpbF9kZWxfZG9tYWluX2V4IHZwb3BtYWlsX2RlbF9kb21haW4gdnBvcG1haWxfZGVsX3VzZXIgdnBvcG1haWxfZXJyb3IgdnBvcG1haWxfcGFzc3dkIHZwb3BtYWlsX3NldF91c2VyX3F1b3RhCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXczMmFwaV9kZWZ0eXBlIHczMmFwaV9pbml0X2R0eXBlIHczMmFwaV9pbnZva2VfZnVuY3Rpb24gdzMyYXBpX3JlZ2lzdGVyX2Z1bmN0aW9uIHczMmFwaV9zZXRfY2FsbF9tZXRob2QJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJd2RkeF9hZGRfdmFycyB3ZGR4X2Rlc2VyaWFsaXplIHdkZHhfcGFja2V0X2VuZCB3ZGR4X3BhY2tldF9zdGFydCB3ZGR4X3NlcmlhbGl6ZV92YWx1ZSB3ZGR4X3NlcmlhbGl6ZV92YXJzCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXV0ZjhfZGVjb2RlIHV0ZjhfZW5jb2RlIHhtbF9lcnJvcl9zdHJpbmcgeG1sX2dldF9jdXJyZW50X2J5dGVfaW5kZXggeG1sX2dldF9jdXJyZW50X2NvbHVtbl9udW1iZXIgeG1sX2dldF9jdXJyZW50X2xpbmVfbnVtYmVyIHhtbF9nZXRfZXJyb3JfY29kZSB4bWxfcGFyc2VfaW50b19zdHJ1Y3QgeG1sX3BhcnNlIHhtbF9wYXJzZXJfY3JlYXRlX25zIHhtbF9wYXJzZXJfY3JlYXRlIHhtbF9wYXJzZXJfZnJlZSB4bWxfcGFyc2VyX2dldF9vcHRpb24geG1sX3BhcnNlcl9zZXRfb3B0aW9uIHhtbF9zZXRfY2hhcmFjdGVyX2RhdGFfaGFuZGxlciB4bWxfc2V0X2RlZmF1bHRfaGFuZGxlciB4bWxfc2V0X2VsZW1lbnRfaGFuZGxlciB4bWxfc2V0X2VuZF9uYW1lc3BhY2VfZGVjbF9oYW5kbGVyIHhtbF9zZXRfZXh0ZXJuYWxfZW50aXR5X3JlZl9oYW5kbGVyIHhtbF9zZXRfbm90YXRpb25fZGVjbF9oYW5kbGVyIHhtbF9zZXRfb2JqZWN0IHhtbF9zZXRfcHJvY2Vzc2luZ19pbnN0cnVjdGlvbl9oYW5kbGVyIHhtbF9zZXRfc3RhcnRfbmFtZXNwYWNlX2RlY2xfaGFuZGxlciB4bWxfc2V0X3VucGFyc2VkX2VudGl0eV9kZWNsX2hhbmRsZXIJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJeG1scnBjX2RlY29kZV9yZXF1ZXN0IHhtbHJwY19kZWNvZGUgeG1scnBjX2VuY29kZV9yZXF1ZXN0IHhtbHJwY19lbmNvZGUgeG1scnBjX2dldF90eXBlIHhtbHJwY19wYXJzZV9tZXRob2RfZGVzY3JpcHRpb25zIHhtbHJwY19zZXJ2ZXJfYWRkX2ludHJvc3BlY3Rpb25fZGF0YSB4bWxycGNfc2VydmVyX2NhbGxfbWV0aG9kIHhtbHJwY19zZXJ2ZXJfY3JlYXRlIHhtbHJwY19zZXJ2ZXJfZGVzdHJveSB4bWxycGNfc2VydmVyX3JlZ2lzdGVyX2ludHJvc3BlY3Rpb25fY2FsbGJhY2sgeG1scnBjX3NlcnZlcl9yZWdpc3Rlcl9tZXRob2QgeG1scnBjX3NldF90eXBlCWNvbnRhaW5lZAorc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXhzbHRfY3JlYXRlIHhzbHRfZXJybm8geHNsdF9lcnJvciB4c2x0X2ZyZWUgeHNsdF9vdXRwdXRfcHJvY2VzcyB4c2x0X3NldF9iYXNlIHhzbHRfc2V0X2VuY29kaW5nIHhzbHRfc2V0X2Vycm9yX2hhbmRsZXIgeHNsdF9zZXRfbG9nIHhzbHRfc2V0X3NheF9oYW5kbGVyIHhzbHRfc2V0X3NheF9oYW5kbGVycyB4c2x0X3NldF9zY2hlbWVfaGFuZGxlciB4c2x0X3NldF9zY2hlbWVfaGFuZGxlcnMJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJeWF6X2FkZGluZm8geWF6X2NjbF9jb25mIHlhel9jY2xfcGFyc2UgeWF6X2Nsb3NlIHlhel9jb25uZWN0IHlhel9kYXRhYmFzZSB5YXpfZWxlbWVudCB5YXpfZXJybm8geWF6X2Vycm9yIHlhel9lc19yZXN1bHQgeWF6X2dldF9vcHRpb24geWF6X2hpdHMgeWF6X2l0ZW1vcmRlciB5YXpfcHJlc2VudCB5YXpfcmFuZ2UgeWF6X3JlY29yZCB5YXpfc2Nhbl9yZXN1bHQgeWF6X3NjYW4geWF6X3NjaGVtYSB5YXpfc2VhcmNoIHlhel9zZXRfb3B0aW9uIHlhel9zb3J0IHlhel9zeW50YXggeWF6X3dhaXQJY29udGFpbmVkCitzeW4ga2V5d29yZAlwaHBGdW5jdGlvbnMJemlwX2Nsb3NlIHppcF9lbnRyeV9jbG9zZSB6aXBfZW50cnlfY29tcHJlc3NlZHNpemUgemlwX2VudHJ5X2NvbXByZXNzaW9ubWV0aG9kIHppcF9lbnRyeV9maWxlc2l6ZSB6aXBfZW50cnlfbmFtZSB6aXBfZW50cnlfb3BlbiB6aXBfZW50cnlfcmVhZCB6aXBfb3BlbiB6aXBfcmVhZAljb250YWluZWQKK3N5biBrZXl3b3JkCXBocEZ1bmN0aW9ucwlnemNsb3NlIGd6Y29tcHJlc3MgZ3pkZWZsYXRlIGd6ZW5jb2RlIGd6ZW9mIGd6ZmlsZSBnemdldGMgZ3pnZXRzIGd6Z2V0c3MgZ3ppbmZsYXRlIGd6b3BlbiBnenBhc3N0aHJ1IGd6cHV0cyBnenJlYWQgZ3pyZXdpbmQgZ3pzZWVrIGd6dGVsbCBnenVuY29tcHJlc3MgZ3p3cml0ZSByZWFkZ3pmaWxlIHpsaWJfZ2V0X2NvZGluZ190eXBlCWNvbnRhaW5lZAorCitpZiBleGlzdHMoICJwaHBfYmFzZWxpYiIgKQorICBzeW4ga2V5d29yZAlwaHBNZXRob2RzCXF1ZXJ5IG5leHRfcmVjb3JkIG51bV9yb3dzIGFmZmVjdGVkX3Jvd3MgbmYgZiBwIG5wIG51bV9maWVsZHMgaGFsdG1zZyBzZWVrIGxpbmtfaWQgcXVlcnlfaWQgbWV0YWRhdGEgdGFibGVfbmFtZXMgbmV4dGlkIGNvbm5lY3QgaGFsdCBmcmVlIHJlZ2lzdGVyIHVucmVnaXN0ZXIgaXNfcmVnaXN0ZXJlZCBkZWxldGUgdXJsIHB1cmwgc2VsZl91cmwgcHNlbGZfdXJsIGhpZGRlbl9zZXNzaW9uIGFkZF9xdWVyeSBwYWRkX3F1ZXJ5IHJlaW1wb3J0X2dldF92YXJzIHJlaW1wb3J0X3Bvc3RfdmFycyByZWltcG9ydF9jb29raWVfdmFycyBzZXRfY29udGFpbmVyIHNldF90b2tlbm5hbWUgcmVsZWFzZV90b2tlbiBwdXRfaGVhZGVycyBnZXRfaWQgZ2V0X2lkIHB1dF9pZCBmcmVlemUgdGhhdyBnYyByZWltcG9ydF9hbnlfdmFycyBzdGFydCB1cmwgcHVybCBsb2dpbl9pZiBpc19hdXRoZW50aWNhdGVkIGF1dGhfcHJlYXV0aCBhdXRoX2xvZ2luZm9ybSBhdXRoX3ZhbGlkYXRlbG9naW4gYXV0aF9yZWZyZXNobG9naW4gYXV0aF9yZWdpc3RlcmZvcm0gYXV0aF9kb3JlZ2lzdGVyIHN0YXJ0IGNoZWNrIGhhdmVfcGVybSBwZXJtc3VtIHBlcm1faW52YWxpZAljb250YWluZWQKKyAgc3luIGtleXdvcmQJcGhwRnVuY3Rpb25zCXBhZ2Vfb3BlbiBwYWdlX2Nsb3NlIHNlc3NfbG9hZCBzZXNzX3NhdmUJY29udGFpbmVkCitlbmRpZgorCisiIENvbmRpdGlvbmFsCitzeW4ga2V5d29yZAlwaHBDb25kaXRpb25hbAlkZWNsYXJlIGVsc2UgZW5kZGVjbGFyZSBlbmRzd2l0Y2ggZWxzZWlmIGVuZGlmIGlmIHN3aXRjaAljb250YWluZWQKKworIiBSZXBlYXQKK3N5biBrZXl3b3JkCXBocFJlcGVhdAlhcyBkbyBlbmRmb3IgZW5kZm9yZWFjaCBlbmR3aGlsZSBmb3IgZm9yZWFjaCB3aGlsZQljb250YWluZWQKKworIiBSZXBlYXQKK3N5biBrZXl3b3JkCXBocExhYmVsCWNhc2UgZGVmYXVsdCBzd2l0Y2gJY29udGFpbmVkCisKKyIgU3RhdGVtZW50CitzeW4ga2V5d29yZAlwaHBTdGF0ZW1lbnQJcmV0dXJuIGJyZWFrIGNvbnRpbnVlIGV4aXQJY29udGFpbmVkCisKKyIgS2V5d29yZAorc3luIGtleXdvcmQJcGhwS2V5d29yZAl2YXIgY29uc3QJY29udGFpbmVkCisKKyIgVHlwZQorc3luIGtleXdvcmQJcGhwVHlwZQlib29sW2Vhbl0gaW50W2VnZXJdIHJlYWwgZG91YmxlIGZsb2F0IHN0cmluZyBhcnJheSBvYmplY3QgTlVMTAljb250YWluZWQKKworIiBTdHJ1Y3R1cmUKK3N5biBrZXl3b3JkCXBocFN0cnVjdHVyZQlleHRlbmRzIGltcGxlbWVudHMgaW5zdGFuY2VvZiBwYXJlbnQgc2VsZgljb250YWluZWQKKworIiBPcGVyYXRvcgorc3luIG1hdGNoCXBocE9wZXJhdG9yCSJbLT0rJV4mfCohLn4/Ol0iCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2gJcGhwT3BlcmF0b3IJIlstKyovJV4mfC5dPSIJY29udGFpbmVkIGRpc3BsYXkKK3N5biBtYXRjaAlwaHBPcGVyYXRvcgkiL1teKi9dIm1lPWUtMQljb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoCXBocE9wZXJhdG9yCSJcJCIJY29udGFpbmVkIGRpc3BsYXkKK3N5biBtYXRjaAlwaHBPcGVyYXRvcgkiJiZcfFw8YW5kXD4iCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2gJcGhwT3BlcmF0b3IJInx8XHxcPHhcPW9yXD4iCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2gJcGhwUmVsYXRpb24JIlshPTw+XT0iCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2gJcGhwUmVsYXRpb24JIls8Pl0iCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2gJcGhwTWVtYmVyU2VsZWN0b3IJIi0+Igljb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoCXBocFZhclNlbGVjdG9yCSJcJCIJY29udGFpbmVkIGRpc3BsYXkKKworIiBJZGVudGlmaWVyCitzeW4gbWF0Y2gJcGhwSWRlbnRpZmllcgkiJFxoXHcqIgljb250YWluZWQgY29udGFpbnM9cGhwRW52VmFyLHBocEludFZhcixwaHBWYXJTZWxlY3RvciBkaXNwbGF5CitzeW4gbWF0Y2gJcGhwSWRlbnRpZmllclNpbXBseQkiJHtcaFx3Kn0iCWNvbnRhaW5zPXBocE9wZXJhdG9yLHBocFBhcmVudAljb250YWluZWQgZGlzcGxheQorc3luIHJlZ2lvbglwaHBJZGVudGlmaWVyQ29tcGxleAltYXRjaGdyb3VwPXBocFBhcmVudCBzdGFydD0ie1wkInJzPWUtMSBlbmQ9In0iCWNvbnRhaW5zPXBocElkZW50aWZpZXIscGhwTWVtYmVyU2VsZWN0b3IscGhwVmFyU2VsZWN0b3IscGhwSWRlbnRpZmllckNvbXBsZXhQCWNvbnRhaW5lZCBleHRlbmQKK3N5biByZWdpb24JcGhwSWRlbnRpZmllckNvbXBsZXhQCW1hdGNoZ3JvdXA9cGhwUGFyZW50IHN0YXJ0PSJcWyIgZW5kPSJdIgljb250YWlucz1AcGhwQ2xJbnNpZGUJY29udGFpbmVkCisKKyIgTWV0aG9kZW4KK3N5biBtYXRjaAlwaHBNZXRob2RzVmFyCSItPlxoXHcqIgljb250YWluZWQgY29udGFpbnM9cGhwTWV0aG9kcyxwaHBNZW1iZXJTZWxlY3RvciBkaXNwbGF5CisKKyIgSW5jbHVkZQorc3luIGtleXdvcmQJcGhwSW5jbHVkZQlpbmNsdWRlIHJlcXVpcmUgaW5jbHVkZV9vbmNlIHJlcXVpcmVfb25jZQljb250YWluZWQKKworIiBEZWZpbmUKK3N5biBrZXl3b3JkCXBocERlZmluZQluZXcJY29udGFpbmVkCisKKyIgQm9vbGVhbgorc3luIGtleXdvcmQJcGhwQm9vbGVhbgl0cnVlIGZhbHNlCWNvbnRhaW5lZAorCisiIE51bWJlcgorc3luIG1hdGNoIHBocE51bWJlcgkiLVw9XDxcZFwrXD4iCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2ggcGhwTnVtYmVyCSJcPDB4XHhcezEsOH1cPiIJY29udGFpbmVkIGRpc3BsYXkKKworIiBGbG9hdAorc3luIG1hdGNoIHBocEZsb2F0CSJcKC1cPVw8XGQrXHwtXD1cKVwuXGRcK1w+Igljb250YWluZWQgZGlzcGxheQorCisiIFNwZWNpYWxDaGFyCitzeW4gbWF0Y2ggcGhwU3BlY2lhbENoYXIJIlxcW2FiY2ZucnR5dlxcXSIJY29udGFpbmVkIGRpc3BsYXkKK3N5biBtYXRjaCBwaHBTcGVjaWFsQ2hhcgkiXFxcZFx7M30iCWNvbnRhaW5lZCBjb250YWlucz1waHBPY3RhbEVycm9yIGRpc3BsYXkKK3N5biBtYXRjaCBwaHBTcGVjaWFsQ2hhcgkiXFx4XHhcezJ9Igljb250YWluZWQgZGlzcGxheQorCisiIEVycm9yCitzeW4gbWF0Y2ggcGhwT2N0YWxFcnJvcgkiWzg5XSIJY29udGFpbmVkIGRpc3BsYXkKK2lmIGV4aXN0cygicGhwX3BhcmVudF9lcnJvcl9jbG9zZSIpCisgIHN5biBtYXRjaCBwaHBQYXJlbnRFcnJvcgkiWylcXX1dIgljb250YWluZWQgZGlzcGxheQorZW5kaWYKKworIiBUb2RvCitzeW4ga2V5d29yZAlwaHBUb2RvCXRvZG8gZml4bWUgeHh4CWNvbnRhaW5lZAorCisiIENvbW1lbnQKK2lmIGV4aXN0cygicGhwX3BhcmVudF9lcnJvcl9vcGVuIikKKyAgc3luIHJlZ2lvbglwaHBDb21tZW50CXN0YXJ0PSIvXCoiIGVuZD0iXCovIgljb250YWluZWQgY29udGFpbnM9cGhwVG9kbworZWxzZQorICBzeW4gcmVnaW9uCXBocENvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iCWNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvIGV4dGVuZAorZW5kaWYKK2lmIHZlcnNpb24gPj0gNjAwCisgIHN5biBtYXRjaAlwaHBDb21tZW50CSIjLlx7LX1cKD8+XHwkXClcQD0iCWNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvCisgIHN5biBtYXRjaAlwaHBDb21tZW50CSIvLy5cey19XCg/Plx8JFwpXEA9Igljb250YWluZWQgY29udGFpbnM9cGhwVG9kbworZWxzZQorICBzeW4gbWF0Y2gJcGhwQ29tbWVudAkiIy5cey19JCIJY29udGFpbmVkIGNvbnRhaW5zPXBocFRvZG8KKyAgc3luIG1hdGNoCXBocENvbW1lbnQJIiMuXHstfT8+Im1lPWUtMgljb250YWluZWQgY29udGFpbnM9cGhwVG9kbworICBzeW4gbWF0Y2gJcGhwQ29tbWVudAkiLy8uXHstfSQiCWNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvCisgIHN5biBtYXRjaAlwaHBDb21tZW50CSIvLy5cey19Pz4ibWU9ZS0yCWNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvCitlbmRpZgorCisiIFN0cmluZworaWYgZXhpc3RzKCJwaHBfcGFyZW50X2Vycm9yX29wZW4iKQorICBzeW4gcmVnaW9uCXBocFN0cmluZ0RvdWJsZQltYXRjaGdyb3VwPU5vbmUgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKwljb250YWlucz1AcGhwQWRkU3RyaW5ncyxwaHBJZGVudGlmaWVyLHBocFNwZWNpYWxDaGFyLHBocElkZW50aWZpZXJTaW1wbHkscGhwSWRlbnRpZmllckNvbXBsZXgJY29udGFpbmVkIGtlZXBlbmQKKyAgc3luIHJlZ2lvbglwaHBTdHJpbmdTaW5nbGUJbWF0Y2hncm91cD1Ob25lIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysJY29udGFpbnM9QHBocEFkZFN0cmluZ3MgY29udGFpbmVkIGtlZXBlbmQKK2Vsc2UKKyAgc3luIHJlZ2lvbglwaHBTdHJpbmdEb3VibGUJbWF0Y2hncm91cD1Ob25lIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisJY29udGFpbnM9QHBocEFkZFN0cmluZ3MscGhwSWRlbnRpZmllcixwaHBTcGVjaWFsQ2hhcixwaHBJZGVudGlmaWVyU2ltcGx5LHBocElkZW50aWZpZXJDb21wbGV4IGNvbnRhaW5lZCBleHRlbmQga2VlcGVuZAorICBzeW4gcmVnaW9uCXBocFN0cmluZ1NpbmdsZQltYXRjaGdyb3VwPU5vbmUgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKwljb250YWlucz1AcGhwQWRkU3RyaW5ncyBjb250YWluZWQga2VlcGVuZCBleHRlbmQKK2VuZGlmCisKKyIgSGVyZURvYworaWYgdmVyc2lvbiA+PSA2MDAKKyAgc3luIGNhc2UgbWF0Y2gKKyAgc3luIHJlZ2lvbglwaHBIZXJlRG9jCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcKDw8PFwpXEA8PVx6KFxJXGkqXCkkIiBlbmQ9Il5cejFcKDtcPSRcKVxAPSIJY29udGFpbmVkIGNvbnRhaW5zPXBocElkZW50aWZpZXIscGhwSWRlbnRpZmllclNpbXBseSxwaHBJZGVudGlmaWVyQ29tcGxleCxwaHBTcGVjaWFsQ2hhcixwaHBNZXRob2RzVmFyIGtlZXBlbmQgZXh0ZW5kCisiIGluY2x1ZGluZyBIVE1MLEphdmFTY3JpcHQsU1FMIGV2ZW4gaWYgbm90IGVuYWJsZWQgdmlhIG9wdGlvbnMKKyAgc3luIHJlZ2lvbglwaHBIZXJlRG9jCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcKDw8PFwpXEA8PVx6KFwoXElcaSpcKVw9XChodG1sXClcY1woXGkqXClcKSQiIGVuZD0iXlx6MVwoO1w9JFwpXEA9Igljb250YWluZWQgY29udGFpbnM9QGh0bWxUb3AscGhwSWRlbnRpZmllcixwaHBJZGVudGlmaWVyU2ltcGx5LHBocElkZW50aWZpZXJDb21wbGV4LHBocFNwZWNpYWxDaGFyLHBocE1ldGhvZHNWYXIga2VlcGVuZCBleHRlbmQKKyAgc3luIHJlZ2lvbglwaHBIZXJlRG9jCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcKDw8PFwpXEA8PVx6KFwoXElcaSpcKVw9XChzcWxcKVxjXChcaSpcKVwpJCIgZW5kPSJeXHoxXCg7XD0kXClcQD0iCWNvbnRhaW5lZCBjb250YWlucz1Ac3FsVG9wLHBocElkZW50aWZpZXIscGhwSWRlbnRpZmllclNpbXBseSxwaHBJZGVudGlmaWVyQ29tcGxleCxwaHBTcGVjaWFsQ2hhcixwaHBNZXRob2RzVmFyIGtlZXBlbmQgZXh0ZW5kCisgIHN5biByZWdpb24JcGhwSGVyZURvYwltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD1ceihcKFxJXGkqXClcPVwoamF2YXNjcmlwdFwpXGNcKFxpKlwpXCkkIiBlbmQ9Il5cejFcKDtcPSRcKVxAPSIJY29udGFpbmVkIGNvbnRhaW5zPUBodG1sSmF2YXNjcmlwdCxwaHBJZGVudGlmaWVyU2ltcGx5LHBocElkZW50aWZpZXIscGhwSWRlbnRpZmllckNvbXBsZXgscGhwU3BlY2lhbENoYXIscGhwTWV0aG9kc1ZhciBrZWVwZW5kIGV4dGVuZAorICBzeW4gY2FzZSBpZ25vcmUKK2VuZGlmCisKKyIgUGFyZW50CitpZiBleGlzdHMoInBocF9wYXJlbnRfZXJyb3JfY2xvc2UiKSB8fCBleGlzdHMoInBocF9wYXJlbnRfZXJyb3Jfb3BlbiIpCisgIHN5biBtYXRjaAlwaHBQYXJlbnQJIlt7fV0iCWNvbnRhaW5lZAorICBzeW4gcmVnaW9uCXBocFBhcmVudAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iKCIgZW5kPSIpIgljb250YWluZWQgY29udGFpbnM9QHBocENsSW5zaWRlIHRyYW5zcGFyZW50CisgIHN5biByZWdpb24JcGhwUGFyZW50CW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcWyIgZW5kPSJcXSIJY29udGFpbmVkIGNvbnRhaW5zPUBwaHBDbEluc2lkZSB0cmFuc3BhcmVudAorICBpZiAhZXhpc3RzKCJwaHBfcGFyZW50X2Vycm9yX2Nsb3NlIikKKyAgICBzeW4gbWF0Y2ggcGhwUGFyZW50CSJbXF0pXSIgY29udGFpbmVkCisgIGVuZGlmCitlbHNlCisgIHN5biBtYXRjaCBwaHBQYXJlbnQJIlsoe1tcXX0pXSIJY29udGFpbmVkCitlbmRpZgorCitzeW4gY2x1c3RlcglwaHBDbENvbnN0CWNvbnRhaW5zPXBocEZ1bmN0aW9ucyxwaHBJZGVudGlmaWVyLHBocENvbmRpdGlvbmFsLHBocFJlcGVhdCxwaHBTdGF0ZW1lbnQscGhwT3BlcmF0b3IscGhwUmVsYXRpb24scGhwU3RyaW5nU2luZ2xlLHBocFN0cmluZ0RvdWJsZSxwaHBOdW1iZXIscGhwRmxvYXQscGhwS2V5d29yZCxwaHBUeXBlLHBocEJvb2xlYW4scGhwU3RydWN0dXJlLHBocE1ldGhvZHNWYXIscGhwQ29uc3RhbnQscGhwQ29yZUNvbnN0YW50LHBocEV4Y2VwdGlvbgorc3luIGNsdXN0ZXIJcGhwQ2xJbnNpZGUJY29udGFpbnM9QHBocENsQ29uc3QscGhwQ29tbWVudCxwaHBMYWJlbCxwaHBQYXJlbnQscGhwUGFyZW50RXJyb3IscGhwSW5jbHVkZSxwaHBIZXJlRG9jCitzeW4gY2x1c3RlcglwaHBDbEZ1bmN0aW9uCWNvbnRhaW5zPUBwaHBDbEluc2lkZSxwaHBEZWZpbmUscGhwUGFyZW50RXJyb3IscGhwU3RvcmFnZUNsYXNzCitzeW4gY2x1c3RlcglwaHBDbFRvcAljb250YWlucz1AcGhwQ2xGdW5jdGlvbixwaHBGb2xkRnVuY3Rpb24scGhwRm9sZENsYXNzLHBocEZvbGRJbnRlcmZhY2UscGhwRm9sZFRyeSxwaHBGb2xkQ2F0Y2gKKworIiBQaHAgUmVnaW9uCitpZiBleGlzdHMoInBocF9wYXJlbnRfZXJyb3Jfb3BlbiIpCisgIGlmIGV4aXN0cygicGhwX25vU2hvcnRUYWdzIikKKyAgICBzeW4gcmVnaW9uCSBwaHBSZWdpb24JbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Ijw/cGhwIiBlbmQ9Ij8+Igljb250YWlucz1AcGhwQ2xUb3AKKyAgZWxzZQorICAgIHN5biByZWdpb24JIHBocFJlZ2lvbgltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPD9cKHBocFwpXD0iIGVuZD0iPz4iCWNvbnRhaW5zPUBwaHBDbFRvcAorICBlbmRpZgorICBzeW4gcmVnaW9uCSBwaHBSZWdpb25TYwltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0rPHNjcmlwdCBsYW5ndWFnZT0icGhwIj4rIGVuZD0rPC9zY3JpcHQ+Kwljb250YWlucz1AcGhwQ2xUb3AKKyAgaWYgZXhpc3RzKCJwaHBfYXNwX3RhZ3MiKQorICAgIHN5biByZWdpb24JIHBocFJlZ2lvbkFzcAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPCVcKD1cKVw9IiBlbmQ9IiU+Igljb250YWlucz1AcGhwQ2xUb3AKKyAgZW5kaWYKK2Vsc2UKKyAgaWYgZXhpc3RzKCJwaHBfbm9TaG9ydFRhZ3MiKQorICAgIHN5biByZWdpb24JIHBocFJlZ2lvbgltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPD9waHAiIGVuZD0iPz4iCWNvbnRhaW5zPUBwaHBDbFRvcCBrZWVwZW5kCisgIGVsc2UKKyAgICBzeW4gcmVnaW9uCSBwaHBSZWdpb24JbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Ijw/XChwaHBcKVw9IiBlbmQ9Ij8+Igljb250YWlucz1AcGhwQ2xUb3Aga2VlcGVuZAorICBlbmRpZgorICBzeW4gcmVnaW9uCSBwaHBSZWdpb25TYwltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0rPHNjcmlwdCBsYW5ndWFnZT0icGhwIj4rIGVuZD0rPC9zY3JpcHQ+Kwljb250YWlucz1AcGhwQ2xUb3Aga2VlcGVuZAorICBpZiBleGlzdHMoInBocF9hc3BfdGFncyIpCisgICAgc3luIHJlZ2lvbgkgcGhwUmVnaW9uQXNwCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8JVwoPVwpXD0iIGVuZD0iJT4iCWNvbnRhaW5zPUBwaHBDbFRvcCBrZWVwZW5kCisgIGVuZGlmCitlbmRpZgorCisiIEZvbGQKK2lmIGV4aXN0cygicGhwX2ZvbGRpbmciKSAmJiBwaHBfZm9sZGluZz09MQorIiBtYXRjaCBvbmUgbGluZSBjb25zdHJ1Y3RzIGhlcmUgYW5kIHNraXAgdGhlbSBhdCBmb2xkaW5nCisgIHN5biBrZXl3b3JkCXBocFNDS2V5d29yZAlhYnN0cmFjdCBmaW5hbCBwcml2YXRlIHByb3RlY3RlZCBwdWJsaWMgc3RhdGljCWNvbnRhaW5lZAorICBzeW4ga2V5d29yZAlwaHBGQ0tleXdvcmQJZnVuY3Rpb24JY29udGFpbmVkCisgIHN5biBrZXl3b3JkCXBocFN0b3JhZ2VDbGFzcwlnbG9iYWwJY29udGFpbmVkCisgIHN5biBtYXRjaAlwaHBEZWZpbmUJIlwoXHNcfF5cKVwoYWJzdHJhY3Rcc1wrXHxmaW5hbFxzXCtcfHByaXZhdGVcc1wrXHxwcm90ZWN0ZWRcc1wrXHxwdWJsaWNcc1wrXHxzdGF0aWNcc1wrXCkqZnVuY3Rpb25cKFxzXCsuKls7fV1cKVxAPSIJY29udGFpbmVkIGNvbnRhaW5zPXBocFNDS2V5d29yZAorICBzeW4gbWF0Y2gJcGhwU3RydWN0dXJlCSJcKFxzXHxeXClcKGFic3RyYWN0XHNcK1x8ZmluYWxcc1wrXCkqY2xhc3NcKFxzXCsuKn1cKVxAPSIJY29udGFpbmVkCisgIHN5biBtYXRjaAlwaHBTdHJ1Y3R1cmUJIlwoXHNcfF5cKWludGVyZmFjZVwoXHNcKy4qfVwpXEA9Igljb250YWluZWQKKyAgc3luIG1hdGNoCXBocEV4Y2VwdGlvbgkiXChcc1x8XlwpdHJ5XChcc1wrLip9XClcQD0iCWNvbnRhaW5lZAorICBzeW4gbWF0Y2gJcGhwRXhjZXB0aW9uCSJcKFxzXHxeXCljYXRjaFwoXHNcKy4qfVwpXEA9Igljb250YWluZWQKKworICBzZXQgZm9sZG1ldGhvZD1zeW50YXgKKyAgc3luIHJlZ2lvbglwaHBGb2xkSHRtbEluc2lkZQltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPz4iIGVuZD0iPD9cKHBocFwpXD0iIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBjb250YWlucz1AaHRtbFRvcAorICBzeW4gcmVnaW9uCXBocEZvbGRGdW5jdGlvbgltYXRjaGdyb3VwPVN0b3JhZ2VjbGFzcyBzdGFydD0iXlx6KFxzKlwpXChhYnN0cmFjdFxzXCtcfGZpbmFsXHNcK1x8cHJpdmF0ZVxzXCtcfHByb3RlY3RlZFxzXCtcfHB1YmxpY1xzXCtcfHN0YXRpY1xzXCtcKSpmdW5jdGlvblxzXChbXn07XSokXClcQD0icnM9ZS05IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iXlx6MX0iIGNvbnRhaW5zPUBwaHBDbEZ1bmN0aW9uLHBocEZvbGRIdG1sSW5zaWRlLHBocEZDS2V5d29yZCBjb250YWluZWQgdHJhbnNwYXJlbnQgZm9sZCBleHRlbmQKKyAgc3luIHJlZ2lvbglwaHBGb2xkRnVuY3Rpb24JbWF0Y2hncm91cD1EZWZpbmUgc3RhcnQ9Il5mdW5jdGlvblxzXChbXn07XSokXClcQD0iIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iXn0iIGNvbnRhaW5zPUBwaHBDbEZ1bmN0aW9uLHBocEZvbGRIdG1sSW5zaWRlIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBmb2xkIGV4dGVuZAorICBzeW4gcmVnaW9uCXBocEZvbGRDbGFzcwltYXRjaGdyb3VwPVN0cnVjdHVyZSBzdGFydD0iXlx6KFxzKlwpXChhYnN0cmFjdFxzXCtcfGZpbmFsXHNcK1wpKmNsYXNzXHNcK1woW159XSokXClcQD0iIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iXlx6MX0iIGNvbnRhaW5zPUBwaHBDbEZ1bmN0aW9uLHBocEZvbGRGdW5jdGlvbixwaHBTQ0tleXdvcmQgY29udGFpbmVkIHRyYW5zcGFyZW50IGZvbGQgZXh0ZW5kCisgIHN5biByZWdpb24JcGhwRm9sZEludGVyZmFjZQltYXRjaGdyb3VwPVN0cnVjdHVyZSBzdGFydD0iXlx6KFxzKlwpaW50ZXJmYWNlXHNcK1woW159XSokXClcQD0iIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iXlx6MX0iIGNvbnRhaW5zPUBwaHBDbEZ1bmN0aW9uLHBocEZvbGRGdW5jdGlvbiBjb250YWluZWQgdHJhbnNwYXJlbnQgZm9sZCBleHRlbmQKKyAgc3luIHJlZ2lvbglwaHBGb2xkQ2F0Y2gJbWF0Y2hncm91cD1FeGNlcHRpb24gc3RhcnQ9Il5ceihccypcKWNhdGNoXHNcK1woW159XSokXClcQD0iIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iXlx6MX0iIGNvbnRhaW5zPUBwaHBDbEZ1bmN0aW9uLHBocEZvbGRGdW5jdGlvbiBjb250YWluZWQgdHJhbnNwYXJlbnQgZm9sZCBleHRlbmQKKyAgc3luIHJlZ2lvbglwaHBGb2xkVHJ5CW1hdGNoZ3JvdXA9RXhjZXB0aW9uIHN0YXJ0PSJeXHooXHMqXCl0cnlcc1wrXChbXn1dKiRcKVxAPSIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSJeXHoxfSIgY29udGFpbnM9QHBocENsRnVuY3Rpb24scGhwRm9sZEZ1bmN0aW9uIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBmb2xkIGV4dGVuZAorZWxzZWlmIGV4aXN0cygicGhwX2ZvbGRpbmciKSAmJiBwaHBfZm9sZGluZz09MgorICBzeW4ga2V5d29yZAlwaHBEZWZpbmUJZnVuY3Rpb24JY29udGFpbmVkCisgIHN5biBrZXl3b3JkCXBocFN0cnVjdHVyZQlhYnN0cmFjdCBjbGFzcyBpbnRlcmZhY2UJY29udGFpbmVkCisgIHN5biBrZXl3b3JkCXBocEV4Y2VwdGlvbgljYXRjaCB0aHJvdyB0cnkJY29udGFpbmVkCisgIHN5biBrZXl3b3JkCXBocFN0b3JhZ2VDbGFzcwlmaW5hbCBnbG9iYWwgcHJpdmF0ZSBwcm90ZWN0ZWQgcHVibGljIHN0YXRpYwljb250YWluZWQKKworICBzZXQgZm9sZG1ldGhvZD1zeW50YXgKKyAgc3luIHJlZ2lvbglwaHBGb2xkSHRtbEluc2lkZQltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPz4iIGVuZD0iPD9cKHBocFwpXD0iIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBjb250YWlucz1AaHRtbFRvcAorICBzeW4gcmVnaW9uCXBocFBhcmVudAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0ieyIgZW5kPSJ9Igljb250YWluZWQgY29udGFpbnM9QHBocENsRnVuY3Rpb24scGhwRm9sZEh0bWxJbnNpZGUgdHJhbnNwYXJlbnQgZm9sZAorZWxzZQorICBzeW4ga2V5d29yZAlwaHBEZWZpbmUJZnVuY3Rpb24JY29udGFpbmVkCisgIHN5biBrZXl3b3JkCXBocFN0cnVjdHVyZQlhYnN0cmFjdCBjbGFzcyBpbnRlcmZhY2UJY29udGFpbmVkCisgIHN5biBrZXl3b3JkCXBocEV4Y2VwdGlvbgljYXRjaCB0aHJvdyB0cnkJY29udGFpbmVkCisgIHN5biBrZXl3b3JkCXBocFN0b3JhZ2VDbGFzcwlmaW5hbCBnbG9iYWwgcHJpdmF0ZSBwcm90ZWN0ZWQgcHVibGljIHN0YXRpYwljb250YWluZWQKK2VuZGlmCisKKworIiBTeW5jCitpZiBwaHBfc3luY19tZXRob2Q9PS0xCisgIGlmIGV4aXN0cygicGhwX25vU2hvcnRUYWdzIikKKyAgICBzeW4gc3luYyBtYXRjaCBwaHBSZWdpb25TeW5jIGdyb3VwaGVyZSBwaHBSZWdpb24gIl5ccyo8P3BocFxzKiQiCisgIGVsc2UKKyAgICBzeW4gc3luYyBtYXRjaCBwaHBSZWdpb25TeW5jIGdyb3VwaGVyZSBwaHBSZWdpb24gIl5ccyo8P1wocGhwXClcPVxzKiQiCisgIGVuZGlmCisgIHN5biBzeW5jIG1hdGNoIHBocFJlZ2lvblN5bmMgZ3JvdXBoZXJlIHBocFJlZ2lvblNjICteXHMqPHNjcmlwdCBsYW5ndWFnZT0icGhwIj5ccyokKworICBpZiBleGlzdHMoInBocF9hc3BfdGFncyIpCisgICAgc3luIHN5bmMgbWF0Y2ggcGhwUmVnaW9uU3luYyBncm91cGhlcmUgcGhwUmVnaW9uQXNwICJeXHMqPCVcKD1cKVw9XHMqJCIKKyAgZW5kaWYKKyAgc3luIHN5bmMgbWF0Y2ggcGhwUmVnaW9uU3luYyBncm91cGhlcmUgTk9ORSAiXlxzKj8+XHMqJCIKKyAgc3luIHN5bmMgbWF0Y2ggcGhwUmVnaW9uU3luYyBncm91cGhlcmUgTk9ORSAiXlxzKiU+XHMqJCIKKyAgc3luIHN5bmMgbWF0Y2ggcGhwUmVnaW9uU3luYyBncm91cGhlcmUgcGhwUmVnaW9uICJmdW5jdGlvblxzLiooLipcJCIKKyAgInN5biBzeW5jIG1hdGNoIHBocFJlZ2lvblN5bmMgZ3JvdXBoZXJlIE5PTkUgIi9caSo+XHMqJCIKK2Vsc2VpZiBwaHBfc3luY19tZXRob2Q+MAorICBleGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gcGhwX3N5bmNfbWV0aG9kCitlbHNlCisgIGV4ZWMgInN5biBzeW5jIGZyb21zdGFydCIKK2VuZGlmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BocF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9waHBfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsJIHBocENvbnN0YW50CUNvbnN0YW50CisgIEhpTGluawkgcGhwQ29yZUNvbnN0YW50CUNvbnN0YW50CisgIEhpTGluawkgcGhwQ29tbWVudAlDb21tZW50CisgIEhpTGluawkgcGhwRXhjZXB0aW9uCUV4Y2VwdGlvbgorICBIaUxpbmsJIHBocEJvb2xlYW4JQm9vbGVhbgorICBIaUxpbmsJIHBocFN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rCSBwaHBTQ0tleXdvcmQJU3RvcmFnZUNsYXNzCisgIEhpTGluawkgcGhwRkNLZXl3b3JkCURlZmluZQorICBIaUxpbmsJIHBocFN0cnVjdHVyZQlTdHJ1Y3R1cmUKKyAgSGlMaW5rCSBwaHBTdHJpbmdTaW5nbGUJU3RyaW5nCisgIEhpTGluawkgcGhwU3RyaW5nRG91YmxlCVN0cmluZworICBIaUxpbmsJIHBocE51bWJlcglOdW1iZXIKKyAgSGlMaW5rCSBwaHBGbG9hdAlGbG9hdAorICBIaUxpbmsJIHBocE1ldGhvZHMJRnVuY3Rpb24KKyAgSGlMaW5rCSBwaHBGdW5jdGlvbnMJRnVuY3Rpb24KKyAgSGlMaW5rCSBwaHBCYXNlbGliCUZ1bmN0aW9uCisgIEhpTGluawkgcGhwUmVwZWF0CVJlcGVhdAorICBIaUxpbmsJIHBocENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluawkgcGhwTGFiZWwJTGFiZWwKKyAgSGlMaW5rCSBwaHBTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluawkgcGhwS2V5d29yZAlTdGF0ZW1lbnQKKyAgSGlMaW5rCSBwaHBUeXBlCVR5cGUKKyAgSGlMaW5rCSBwaHBJbmNsdWRlCUluY2x1ZGUKKyAgSGlMaW5rCSBwaHBEZWZpbmUJRGVmaW5lCisgIEhpTGluawkgcGhwU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKKyAgSGlMaW5rCSBwaHBQYXJlbnQJRGVsaW1pdGVyCisgIEhpTGluawkgcGhwSWRlbnRpZmllckNvbnN0CURlbGltaXRlcgorICBIaUxpbmsJIHBocFBhcmVudEVycm9yCUVycm9yCisgIEhpTGluawkgcGhwT2N0YWxFcnJvcglFcnJvcgorICBIaUxpbmsJIHBocFRvZG8JVG9kbworICBIaUxpbmsJIHBocE1lbWJlclNlbGVjdG9yCVN0cnVjdHVyZQorICBpZiBleGlzdHMoInBocF9vbGRTdHlsZSIpCisJaGkJcGhwSW50VmFyIGd1aWZnPVJlZCBjdGVybWZnPURhcmtSZWQKKwloaQlwaHBFbnZWYXIgZ3VpZmc9UmVkIGN0ZXJtZmc9RGFya1JlZAorCWhpCXBocE9wZXJhdG9yIGd1aWZnPVNlYUdyZWVuIGN0ZXJtZmc9RGFya0dyZWVuCisJaGkJcGhwVmFyU2VsZWN0b3IgZ3VpZmc9U2VhR3JlZW4gY3Rlcm1mZz1EYXJrR3JlZW4KKwloaQlwaHBSZWxhdGlvbiBndWlmZz1TZWFHcmVlbiBjdGVybWZnPURhcmtHcmVlbgorCWhpCXBocElkZW50aWZpZXIgZ3VpZmc9RGFya0dyYXkgY3Rlcm1mZz1Ccm93bgorCWhpCXBocElkZW50aWZpZXJTaW1wbHkgZ3VpZmc9RGFya0dyYXkgY3Rlcm1mZz1Ccm93bgorICBlbHNlCisJSGlMaW5rCXBocEludFZhcglJZGVudGlmaWVyCisJSGlMaW5rCXBocEVudlZhcglJZGVudGlmaWVyCisJSGlMaW5rCXBocE9wZXJhdG9yCU9wZXJhdG9yCisJSGlMaW5rCXBocFZhclNlbGVjdG9yCU9wZXJhdG9yCisJSGlMaW5rCXBocFJlbGF0aW9uCU9wZXJhdG9yCisJSGlMaW5rCXBocElkZW50aWZpZXIJSWRlbnRpZmllcgorCUhpTGluawlwaHBJZGVudGlmaWVyU2ltcGx5CUlkZW50aWZpZXIKKyAgZW5kaWYKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGhwIgorCitpZiBtYWluX3N5bnRheCA9PSAncGhwJworICB1bmxldCBtYWluX3N5bnRheAorZW5kaWYKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BodG1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BodG1sLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmY2ZGQ5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcGh0bWwudmltCkBAIC0wLDAgKzEsMjQ0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJcGh0bWwgUEhQIDIuMAorIiBNYWludGFpbmVyOglMdXR6IEV5bWVycyA8aXh0YWJAcG9semluLmNvbT4KKyIgVVJMOgkJaHR0cDovL3d3dy5pc3AuZGUvZGF0YS9waHRtbC52aW0KKyIgRW1haWw6CVN1YmplY3Q6IHNlbmQgc3ludGF4X3ZpbS50Z3oKKyIgTGFzdCBjaGFuZ2U6CTIwMDMgTWF5IDExCisiCisiIE9wdGlvbnMJcGh0bWxfc3FsX3F1ZXJ5ID0gMSBmb3IgU1FMIHN5bnRheCBoaWdobGlndGhpbmcgaW5zaWRlIHN0cmluZ3MKKyIJCXBodG1sX21pbmxpbmVzID0geCAgICAgdG8gc3luYyBhdCBsZWFzdCB4IGxpbmVzIGJhY2t3YXJkcworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgbGV0IG1haW5fc3ludGF4ID0gJ3BodG1sJworZW5kaWYKKworaWYgdmVyc2lvbiA8IDYwMAorICBzbyA8c2ZpbGU+OnA6aC9odG1sLnZpbQorZWxzZQorICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPXBodG1sUmVnaW9uSW5zaWRlSHRtbFRhZ3MKKworaWYgZXhpc3RzKCAicGh0bWxfc3FsX3F1ZXJ5IikKKyAgaWYgcGh0bWxfc3FsX3F1ZXJ5ID09IDEKKyAgICBzeW4gaW5jbHVkZSBAcGh0bWxTcWwgPHNmaWxlPjpwOmgvc3FsLnZpbQorICAgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKKyAgZW5kaWYKK2VuZGlmCitzeW4gY2x1c3RlciBwaHRtbFNxbCByZW1vdmU9c3FsU3RyaW5nLHNxbENvbW1lbnQKKworc3luIGNhc2UgbWF0Y2gKKworIiBFbnYgVmFyaWFibGVzCitzeW4ga2V5d29yZCBwaHRtbEVudlZhciBTRVJWRVJfU09GVFdBUkUgU0VSVkVSX05BTUUgU0VSVkVSX1VSTCBHQVRFV0FZX0lOVEVSRkFDRSAgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxFbnZWYXIgU0VSVkVSX1BST1RPQ09MIFNFUlZFUl9QT1JUIFJFUVVFU1RfTUVUSE9EIFBBVEhfSU5GTyAgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEVudlZhciBQQVRIX1RSQU5TTEFURUQgU0NSSVBUX05BTUUgUVVFUllfU1RSSU5HIFJFTU9URV9IT1NUIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxFbnZWYXIgUkVNT1RFX0FERFIgQVVUSF9UWVBFIFJFTU9URV9VU0VSIENPTlRFTl9UWVBFICBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRW52VmFyIENPTlRFTlRfTEVOR1RIIEhUVFBTIEhUVFBTX0tFWVNJWkUgSFRUUFNfU0VDUkVUS0VZU0laRSAgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEVudlZhciBIVFRQX0FDQ0VDVCBIVFRQX1VTRVJfQUdFTlQgSFRUUF9JRl9NT0RJRklFRF9TSU5DRSAgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEVudlZhciBIVFRQX0ZST00gSFRUUF9SRUZFUkVSIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxFbnZWYXIgUEhQX1NFTEYgY29udGFpbmVkCisKK3N5biBjYXNlIGlnbm9yZQorCisiIEludGVybmFsIFZhcmlhYmxlcworc3luIGtleXdvcmQgcGh0bWxJbnRWYXIgcGhwZXJybXNnIHBocF9zZWxmIGNvbnRhaW5lZAorCisiIENvbW1lbnQKK3N5biByZWdpb24gcGh0bWxDb21tZW50CQlzdGFydD0iL1wqIiBlbmQ9IlwqLyIgIGNvbnRhaW5lZCBjb250YWlucz1waHRtbFRvZG8KKworIiBGdW5jdGlvbiBuYW1lcworc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIEFicyBBZGFfQ2xvc2UgQWRhX0Nvbm5lY3QgQWRhX0V4ZWMgQWRhX0ZldGNoUm93IGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIEFkYV9GaWVsZE5hbWUgQWRhX0ZpZWxkTnVtIEFkYV9GaWVsZFR5cGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgQWRhX0ZyZWVSZXN1bHQgQWRhX051bUZpZWxkcyBBZGFfTnVtUm93cyBBZGFfUmVzdWx0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIEFkYV9SZXN1bHRBbGwgQWRkU2xhc2hlcyBBU29ydCBCaW5EZWMgQ2VpbCBDaERpciBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBBZGFHcnAgQ2hNb2QgQ2hPd24gQ2hvcCBDaHIgQ2xlYXJTdGFjayBDbGVhclN0YXRDYWNoZSBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBjbG9zZURpciBDbG9zZUxvZyBDb3MgQ291bnQgQ3J5cHQgRGF0ZSBkYkxpc3QgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIGRibUNsb3NlIGRibURlbGV0ZSBkYm1FeGlzdHMgZGJtRmV0Y2ggZGJtRmlyc3RLZXkgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgZGJtSW5zZXJ0IGRibU5leHRLZXkgZGJtT3BlbiBkYm1SZXBsYWNlIERlY0JpbiBEZWNIZXggY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgRGVjT2N0IGRvdWJsZXZhbCBFY2hvIEVuZCBlcmVnIGVyZWdpIGVyZWdfcmVwbGFjZSBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBlcmVnaV9yZXBsYWNlIEVzY2FwZVNoZWxsQ21kIEV2YWwgRXhlYyBFeGl0IEV4cCBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBmY2xvc2UgZmVvZiBmZ2V0cyBmZ2V0c3MgRmlsZSBmaWxlQXRpbWUgZmlsZUN0aW1lIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIGZpbGVHcm91cCBmaWxlSW5vZGUgZmlsZU10aW1lIGZpbGVPd25lciBmaWxlUGVybXMgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgZmlsZVNpemUgZmlsZVR5cGUgRmxvb3IgRmx1c2ggZm9wZW4gZnB1dHMgRlBhc3NUaHJ1IGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIGZzZWVrIGZzb2Nrb3BlbiBmdGVsbCBnZXRBY2NEaXIgR2V0RW52IGdldEhvc3RCeU5hbWUgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgZ2V0SG9zdEJ5QWRkciBHZXRJbWFnZVNpemUgZ2V0TGFzdEFjZXNzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIGdldExhc3Ricm93c2VyIGdldExhc3RFbWFpbCBnZXRMYXN0SG9zdCBnZXRMYXN0TW9kIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIGdldExhc3RyZWYgZ2V0TG9nRGlyIGdldE15SW5vZGUgZ2V0TXlQaWQgZ2V0TXlVaWQgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgZ2V0UmFuZE1heCBnZXRTdGFydExvZ2dpbmcgZ2V0VG9kYXkgZ2V0VG90YWwgR2V0VHlwZSBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBnbURhdGUgSGVhZGVyIEhleERlYyBIdG1sU3BlY2lhbENoYXJzIEltYWdlQXJjIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIEltYWdlQ2hhciBJbWFnZUNoYXJVcCBJYW1nZUNvbG9yQWxsb2NhdGUgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIEltYWdlQ29sb3JUcmFuc3BhcmVudCBJbWFnZUNvcHlSZXNpemVkIEltYWdlQ3JlYXRlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIEltYWdlQ3JlYXRlRnJvbUdpZiBJbWFnZURlc3Ryb3kgSW1hZ2VGaWxsIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIEltYWdlRmlsbGVkUG9seWdvbiBJbWFnZUZpbGxlZFJlY3RhbmdsZSBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBJbWFnZUZpbGxUb0JvcmRlciBJbWFnZUdpZiBJbWFnZUludGVybGFjZSBJbWFnZUxpbmUgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgSW1hZ2VQb2x5Z29uIEltYWdlUmVjdGFuZ2xlIEltYWdlU2V0UGl4ZWwgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIEltYWdlU3RyaW5nIEltYWdlU3RyaW5nVXAgSW1hZ2VTWCBJbWFnZVNZIEluY2x1ZGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgSW5pdFN5c2xvZyBpbnR2YWwgSXNTZXQgS2V5IExpbmsgTGlua0luZm8gTG9nIExvZzEwIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIExvc0FzIE1haWwgTWF4IE1kNSBtaV9DbG9zZSBtaV9Db25uZWN0IG1pX0RCbmFtZSBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBtaV9FeGVjIG1pX0ZpZWxkTmFtZSBtaV9GaWVsZE51bSBtaV9OdW1GaWVsZHMgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgbWlfTnVtUm93cyBtaV9SZXN1bHQgTWljcm90aW1lIE1pbiBNa0RpciBNa1RpbWUgbXNxbCBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBtc3FsX2Nvbm5lY3QgbXNxbF9DcmVhdGVEQiBtc3FsX2RiTmFtZSBtc3FsX0Ryb3BEQiBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBtc3FsRmllbGRGbGFncyBtc3FsX0ZpZWxkTGVuIG1zcWxfRmllbGROYW1lIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIG1zcWxfRmllbGRUeXBlIG1zcWxfRnJlZVJlc3VsdCBtc3FsX0xpc3REQnMgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgbXNxbF9MaXN0ZmllbGRzIG1zcWxfTGlzdFRhYmxlcyBtc3FsX051bUZpZWxkcyBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBtc3FsX051bVJvd3MgbXNxbF9SZWdDYXNlIG1zcWxfUmVzdWx0IG1zcWxfVGFibGVOYW1lIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIG15c3FsIG15c3FsX2FmZmVjdGVkX3Jvd3MgbXlzcWxfY2xvc2UgbXlzcWxfY29ubmVjdCBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBteXNxbF9DcmVhdGVEQiBteXNxbF9kYk5hbWUgbXlzcWxEcm9wREIgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIG15c3FsX0ZpZWxkRmxhZ3MgbXlzcWxfRmllbGRMZW4gbXlzcWxfRmllbGROYW1lIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIG15c3FsX0ZpZWxkVHlwZSBteXNxbF9GcmVlUmVzdWx0IG15c3FsX2luc2VydF9pZCBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBteXNxbF9saXN0REJzIG15c3FsX0xpc3RmaWVsZHMgbXlzcWxfTGlzdFRhYmxlcyBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBteXNxbF9OdW1GaWVsZHMgbXlzcWxfTnVtUm93cyBteXNxbF9SZXN1bHQgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIG15c3FsX1RhYmxlTmFtZSBOZXh0IE9jdERlYyBvcGVuRGlyIE9wZW5Mb2cgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIE9yYV9CaW5kIE9yYV9DbG9zZSBPcmFfQ29tbWl0IE9yYV9Db21taXRPZmYgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgT3JhX0NvbW1pdE9uIE9yYV9FeGVjIE9yYV9GZXRjaCBPcmFfR2V0Q29sdW1uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIE9yYV9Mb2dvZmYgT3JhX0xvZ29uIE9yYV9QYXJzZSBPcmFfUm9sbGJhY2sgT3JkICBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBQYXJzZV9zdHIgUGFzc1RocnUgcGNsb3NlIHBnX0Nsb3NlIHBnX0Nvbm5lY3QgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgcGdfREJuYW1lIHBnX0Vycm9yTWVzc2FnZSBwZ19FeGVjIHBnX0ZpZWxkTmFtZSBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBwZ19GaWVsZFBydExlbiBwZ19GaWVsZE51bSBwZ19GaWVsZFNpemUgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIHBnX0ZpZWxkVHlwZSBwZ19GcmVlUmVzdWx0IHBnX0dldExhc3RPaWQgcGdfSG9zdCBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBwZ19OdW1GaWVsZHMgcGdfTnVtUm93cyBwZ19PcHRpb25zIHBnX1BvcnQgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIHBnX1Jlc3VsdCBwZ190dHkgcGhwSW5mbyBwaHBWZXJzaW9uIHBvcGVuIHBvcyBwb3cgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgUHJldiBQdXRFbnYgUXVvdGVNZXRhIFJhbmQgcmVhZERpciBSZWFkRmlsZSBSZWFkTGluayBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICByZWdfTWF0Y2ggcmVnX3JlcGxhY2UgcmVnX1NlYXJjaCBSZW5hbWUgUmVzZXQgcmV0dXJuICBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICByZXdpbmQgcmV3aW5kRGlyIFJtRGlyIHJTb3J0IFNldENvb2tpZSBTZXRFcnJvclJlcG9ydGluZyBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBTZXRMb2dnaW5nIFNldFNob3dJbmZvIFNldFR5cGUgc2hsIHNociBTaW4gU2xlZXAgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgU29saWRfQ2xvc2UgU29saWRfQ29ubmVjdCBTb2xpZF9FeGVjIFNvbGlkX0ZldGNoUm93IGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIFNvbGlkX0ZpZWxkTmFtZSBTb2xpZF9GaWVsZE51bSBTb2xpZF9GcmVlUmVzdWx0ICBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBTb2xpZF9OdW1GaWVsZHMgU29saWRfTnVtUm93cyBTb2xpZF9SZXN1bHQgU29ydCBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBTcHVuZHRleCBTcHJpbnRmIFNxcnQgU3JhbmQgc3RyY2hyIHN0cnRyICBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBTdHJpcFNsYXNoZXMgc3RybGVuIHN0cmNociBzdHJzdHIgc3RydG9rIHN0cnRvbG93ZXIgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgc3RydG91cHBlciBzdHJ2YWwgc3Vic3RyIHN5YlNRTF9DaGVja0Nvbm5lY3QgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgc3liU1FMX0RCVVNFIHN5YlNRTF9Db25uZWN0IHN5YlNRTF9FeGl0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIHN5YlNRTF9GaWVsZG5hbWUgc3liU1FMX0dldEZpZWxkIHN5YlNRTF9Jc1JvdyAgY29udGFpbmVkCitzeW4ga2V5d29yZCBwaHRtbEZ1bmN0aW9ucyAgc3liU1FMX05leHRSb3cgc3liU1FMX051bUZpZWxkcyBzeWJTUUxfTnVtUm93cyBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBzeWJTUUxfUXVlcnkgc3liU1FMX1Jlc3VsdCBzeWJTUUxfUmVzdWx0IHN5YlNRTF9TZWVrIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcGh0bWxGdW5jdGlvbnMgIFN5bWxpbmsgc3lzbG9nIFN5c3RlbSBUYW4gVGVtcE5hbSBUaW1lIFVtYXNrIFVuaXFJZCBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBVbmxpbmsgVW5zZXQgVXJsRGVjb2RlIFVybEVuY29kZSBVU2xlZXAgVmlydHVhbCBjb250YWluZWQKK3N5biBrZXl3b3JkIHBodG1sRnVuY3Rpb25zICBTZWN1cmVWYXIgY29udGFpbmVkCisKKyIgQ29uZGl0aW9uYWwKK3N5biBrZXl3b3JkIHBodG1sQ29uZGl0aW9uYWwgIGlmIGVsc2UgZWxzZWlmIGVuZGlmIHN3aXRjaCBlbmRzd2l0Y2ggY29udGFpbmVkCisKKyIgUmVwZWF0CitzeW4ga2V5d29yZCBwaHRtbFJlcGVhdCAgd2hpbGUgZW5kd2hpbGUgY29udGFpbmVkCisKKyIgUmVwZWF0CitzeW4ga2V5d29yZCBwaHRtbExhYmVsICBjYXNlIGRlZmF1bHQgY29udGFpbmVkCisKKyIgU3RhdGVtZW50CitzeW4ga2V5d29yZCBwaHRtbFN0YXRlbWVudCAgYnJlYWsgcmV0dXJuIGNvbnRpbnVlIGV4aXQgY29udGFpbmVkCisKKyIgT3BlcmF0b3IKK3N5biBtYXRjaCBwaHRtbE9wZXJhdG9yICAiWy09KyVeJnwqIV0iIGNvbnRhaW5lZAorc3luIG1hdGNoIHBodG1sT3BlcmF0b3IgICJbLSsqLyVeJnxdPSIgY29udGFpbmVkCitzeW4gbWF0Y2ggcGh0bWxPcGVyYXRvciAgIi9bXipdIm1lPWUtMSBjb250YWluZWQKK3N5biBtYXRjaCBwaHRtbE9wZXJhdG9yICAiXCQiIGNvbnRhaW5lZAorc3luIG1hdGNoIHBodG1sUmVsYXRpb24gICImJiIgY29udGFpbmVkCitzeW4gbWF0Y2ggcGh0bWxSZWxhdGlvbiAgInx8IiBjb250YWluZWQKK3N5biBtYXRjaCBwaHRtbFJlbGF0aW9uICAiWyE9PD5dPSIgY29udGFpbmVkCitzeW4gbWF0Y2ggcGh0bWxSZWxhdGlvbiAgIls8Pl0iIGNvbnRhaW5lZAorCisiIElkZW50aWZpZXIKK3N5biBtYXRjaCAgcGh0bWxJZGVudGlmaWVyICIkXGhcdyoiIGNvbnRhaW5lZCBjb250YWlucz1waHRtbEVudlZhcixwaHRtbEludFZhcixwaHRtbE9wZXJhdG9yCisKKworIiBJbmNsdWRlCitzeW4ga2V5d29yZCBwaHRtbEluY2x1ZGUgIGluY2x1ZGUgY29udGFpbmVkCisKKyIgRGVmaW5lc2FnCitzeW4ga2V5d29yZCBwaHRtbERlZmluZSAgRnVuY3Rpb24gY29udGFpbmVkCisKKyIgU3RyaW5nCitzeW4gcmVnaW9uIHBodG1sU3RyaW5nIGtlZXBlbmQgbWF0Y2hncm91cD1Ob25lIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrIGNvbnRhaW5zPXBodG1sSWRlbnRpZmllcixwaHRtbFNwZWNpYWxDaGFyLEBwaHRtbFNxbCBjb250YWluZWQKKworIiBOdW1iZXIKK3N5biBtYXRjaCBwaHRtbE51bWJlciAgIi1cPVw8XGRcK1w+IiBjb250YWluZWQKKworIiBGbG9hdAorc3luIG1hdGNoIHBodG1sRmxvYXQgICJcKC1cPVw8XGQrXHwtXD1cKVwuXGRcK1w+IiBjb250YWluZWQKKworIiBTcGVjaWFsQ2hhcgorc3luIG1hdGNoIHBodG1sU3BlY2lhbENoYXIgIlxcW2FiY2ZucnR5dlxcXSIgY29udGFpbmVkCitzeW4gbWF0Y2ggcGh0bWxTcGVjaWFsQ2hhciAiXFxcZFx7M30iIGNvbnRhaW5lZCBjb250YWlucz1waHRtbE9jdGFsRXJyb3IKK3N5biBtYXRjaCBwaHRtbFNwZWNpYWxDaGFyICJcXHhbMC05YS1mQS1GXVx7Mn0iIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggcGh0bWxPY3RhbEVycm9yICJbODldIiBjb250YWluZWQKKworCitzeW4gbWF0Y2ggcGh0bWxQYXJlbnRFcnJvciAiWyl9XF1dIiBjb250YWluZWQKKworIiBUb2RvCitzeW4ga2V5d29yZCBwaHRtbFRvZG8gVE9ETyBUb2RvIHRvZG8gY29udGFpbmVkCisKKyIgUGFyZW50cworc3luIGNsdXN0ZXIgcGh0bWxJbnNpZGUgY29udGFpbnM9cGh0bWxDb21tZW50LHBodG1sRnVuY3Rpb25zLHBodG1sSWRlbnRpZmllcixwaHRtbENvbmRpdGlvbmFsLHBodG1sUmVwZWF0LHBodG1sTGFiZWwscGh0bWxTdGF0ZW1lbnQscGh0bWxPcGVyYXRvcixwaHRtbFJlbGF0aW9uLHBodG1sU3RyaW5nLHBodG1sTnVtYmVyLHBodG1sRmxvYXQscGh0bWxTcGVjaWFsQ2hhcixwaHRtbFBhcmVudCxwaHRtbFBhcmVudEVycm9yLHBodG1sSW5jbHVkZQorCitzeW4gY2x1c3RlciBwaHRtbFRvcCBjb250YWlucz1AcGh0bWxJbnNpZGUscGh0bWxJbmNsdWRlLHBodG1sRGVmaW5lLHBodG1sUGFyZW50RXJyb3IscGh0bWxUb2RvCitzeW4gcmVnaW9uIHBodG1sUGFyZW50CW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBlbmQ9IikiIGNvbnRhaW5lZCBjb250YWlucz1AcGh0bWxJbnNpZGUKK3N5biByZWdpb24gcGh0bWxQYXJlbnQJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbmVkIGNvbnRhaW5zPUBwaHRtbEluc2lkZQorc3luIHJlZ2lvbiBwaHRtbFBhcmVudAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFsiIGVuZD0iXF0iIGNvbnRhaW5lZCBjb250YWlucz1AcGh0bWxJbnNpZGUKKworc3luIHJlZ2lvbiBwaHRtbFJlZ2lvbiBrZWVwZW5kIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSI8PyIgc2tpcD0rKC4qPi4qKVx8Ii5cey19Pi5cey19Ilx8L1wqLlx7LX0+Llx7LX1cKi8rIGVuZD0iPiIgY29udGFpbnM9QHBodG1sVG9wCitzeW4gcmVnaW9uIHBodG1sUmVnaW9uSW5zaWRlSHRtbFRhZ3Mga2VlcGVuZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iPD8iIHNraXA9KyguKj4uKilcfC9cKi5cey19Pi5cey19XCovKyBlbmQ9Ij4iIGNvbnRhaW5zPUBwaHRtbFRvcCBjb250YWluZWQKKworIiBzeW5jCitpZiBleGlzdHMoInBodG1sX21pbmxpbmVzIikKKyAgZXhlYyAic3luIHN5bmMgbWlubGluZXM9IiAuIHBodG1sX21pbmxpbmVzCitlbHNlCisgIHN5biBzeW5jIG1pbmxpbmVzPTEwMAorZW5kaWYKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcGh0bWxfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcGh0bWxfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcGh0bWxDb21tZW50CQlDb21tZW50CisgIEhpTGluayBwaHRtbFN0cmluZwkJU3RyaW5nCisgIEhpTGluayBwaHRtbE51bWJlcgkJTnVtYmVyCisgIEhpTGluayBwaHRtbEZsb2F0CQlGbG9hdAorICBIaUxpbmsgcGh0bWxJZGVudGlmaWVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIHBodG1sSW50VmFyCQlJZGVudGlmaWVyCisgIEhpTGluayBwaHRtbEVudlZhcgkJSWRlbnRpZmllcgorICBIaUxpbmsgcGh0bWxGdW5jdGlvbnMJCUZ1bmN0aW9uCisgIEhpTGluayBwaHRtbFJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBwaHRtbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBwaHRtbExhYmVsCQlMYWJlbAorICBIaUxpbmsgcGh0bWxTdGF0ZW1lbnQJCVN0YXRlbWVudAorICBIaUxpbmsgcGh0bWxUeXBlCQlUeXBlCisgIEhpTGluayBwaHRtbEluY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIHBodG1sRGVmaW5lCQlEZWZpbmUKKyAgSGlMaW5rIHBodG1sU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKKyAgSGlMaW5rIHBodG1sUGFyZW50RXJyb3IJRXJyb3IKKyAgSGlMaW5rIHBodG1sT2N0YWxFcnJvcglFcnJvcgorICBIaUxpbmsgcGh0bWxUb2RvCQlUb2RvCisgIEhpTGluayBwaHRtbE9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgcGh0bWxSZWxhdGlvbgkJT3BlcmF0b3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGh0bWwiCisKK2lmIG1haW5fc3ludGF4ID09ICdwaHRtbCcKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9waWMudmltIGIvcnVudGltZS9zeW50YXgvcGljLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGM5NjRlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcGljLnZpbQpAQCAtMCwwICsxLDEyNyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBQSUMxNkY4NCBBc3NlbWJsZXIgKE1pY3JvY2hpcCdzIG1pY3JvY29udHJvbGxlcikKKyIgTWFpbnRhaW5lcjogICBBbGVrc2FuZGFyIFZlc2VsaW5vdmljIDxhbGVrc2FAY3MuY211LmNvbT4KKyIgTGFzdCBDaGFuZ2U6ICAyMDAzIE1heSAxMQorIiBVUkw6CQlodHRwOi8vZ2FsZWIuZXRmLmJnLmFjLnl1L35hbGV4YS92aW0vc3ludGF4L3BpYy52aW0KKyIgUmV2aXNpb246ICAgICAxLjAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKK3N5biBrZXl3b3JkIHBpY1RvZG8gTk9URSBUT0RPIFhYWCBjb250YWluZWQKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBtYXRjaCBwaWNJZGVudGlmaWVyICJbYS16XyRdW2EtejAtOV8kXSoiCitzeW4gbWF0Y2ggcGljTGFiZWwgICAgICAiXltBLVpfJF1bQS1aMC05XyRdKiIKK3N5biBtYXRjaCBwaWNMYWJlbCAgICAgICJeW0EtWl8kXVtBLVowLTlfJF0qOiJtZT1lLTEKKworc3luIG1hdGNoIHBpY0FTQ0lJICAgICAgIkFcPScuJyIKK3N5biBtYXRjaCBwaWNCaW5hcnkgICAgICJCJ1swLTFdXCsnIgorc3luIG1hdGNoIHBpY0RlY2ltYWwgICAgIkQnXGRcKyciCitzeW4gbWF0Y2ggcGljRGVjaW1hbCAgICAiXGRcKyIKK3N5biBtYXRjaCBwaWNIZXhhZGVjaW1hbCAiMHhceFwrIgorc3luIG1hdGNoIHBpY0hleGFkZWNpbWFsICJIJ1x4XCsnIgorc3luIG1hdGNoIHBpY0hleGFkZWNpbWFsICJbMC05XVx4KmgiCitzeW4gbWF0Y2ggcGljT2N0YWwgICAgICAiTydbMC03XVxvKiciCisKKworc3luIG1hdGNoIHBpY0NvbW1lbnQgICAgIjsuKiIgY29udGFpbnM9cGljVG9kbworCitzeW4gcmVnaW9uIHBpY1N0cmluZyAgICBzdGFydD0rIisgZW5kPSsiKworCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlcgkJSU5ERiBUTVIwIFBDTCBTVEFUVVMgRlNSIFBPUlRBIFBPUlRCCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlcgkJRUVEQVRBIEVFQURSIFBDTEFUSCBJTlRDT04gSU5ERiBPUFRJT05fUkVHIFBDTAorc3luIGtleXdvcmQgcGljUmVnaXN0ZXIJCUZTUiBUUklTQSBUUklTQiBFRUNPTjEgRUVDT04yIElOVENPTiBPUFRJT04KKworCisiIFJlZ2lzdGVyIC0tLSBiaXRzCisKKyIgU1RBVFVTCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlclBhcnQgICAgIElSUCBSUDEgUlAwIFRPIFBEIFogREMgQworCisiIFBPUlRBCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlclBhcnQgICAgIFQwQ0tJCitzeW4gbWF0Y2ggICBwaWNSZWdpc3RlclBhcnQgICAgICJSQVswLTRdIgorCisiIFBPUlRCCitzeW4ga2V5d29yZCBwaWNSZWdpc3RlclBhcnQgICAgIElOVAorc3luIG1hdGNoICAgcGljUmVnaXN0ZXJQYXJ0ICAgICAiUkJbMC03XSIKKworIiBJTlRDT04KK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCAgICAgR0lFIEVFSUUgVDBJRSBJTlRFIFJCSUUgVDBJRiBJTlRGIFJCSUYKKworIiBPUFRJT04KK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCAgICAgUkJQVSBJTlRFREcgVDBDUyBUMFNFIFBTQSBQUzIgUFMxIFBTMAorCisiIEVFQ09OMgorc3luIGtleXdvcmQgcGljUmVnaXN0ZXJQYXJ0ICAgICBFRUlGIFdSRVJSIFdSRU4gV1IgUkQKKworIiBJTlRDT04KK3N5biBrZXl3b3JkIHBpY1JlZ2lzdGVyUGFydCAgICAgR0lFIEVFSUUgVDBJRSBJTlRFIFJCSUUgVDBJRiBJTlRGIFJCSUYKKworCisiIE9wQ29kZXMuLi4KK3N5biBrZXl3b3JkIHBpY09wY29kZSAgQUREV0YgQU5EV0YgQ0xSRiBDTFJXIENPTUYgREVDRiBERUNGU1ogSU5DRiBJTkNGU1oKK3N5biBrZXl3b3JkIHBpY09wY29kZSAgSU9SV0YgTU9WRiBNT1ZXRiBOT1AgUkxGIFJSRiBTVUJXRiBTV0FQRiBYT1JXRgorc3luIGtleXdvcmQgcGljT3Bjb2RlICBCQ0YgQlNGIEJURlNDIEJURlNTCitzeW4ga2V5d29yZCBwaWNPcGNvZGUgIEFERExXIEFORExXIENBTEwgQ0xSV0RUIEdPVE8gSU9STFcgTU9WTFcgUkVURklFCitzeW4ga2V5d29yZCBwaWNPcGNvZGUgIFJFVExXIFJFVFVSTiBTTEVFUCBTVUJMVyBYT1JMVworc3luIGtleXdvcmQgcGljT3Bjb2RlICBHT1RPCisKKworIiBEaXJlY3RpdmVzCitzeW4ga2V5d29yZCBwaWNEaXJlY3RpdmUgX19CQURSQU0gQkFOS0lTRUwgQkFOS1NFTCBDQkxPQ0sgQ09ERSBfX0NPTkZJRworc3luIGtleXdvcmQgcGljRGlyZWN0aXZlIENPTlNUQU5UIERBVEEgREIgREUgRFQgRFcgRUxTRSBFTkQgRU5EQworc3luIGtleXdvcmQgcGljRGlyZWN0aXZlIEVORElGIEVORE0gRU5EVyBFUVUgRVJST1IgRVJST1JMRVZFTCBFWElUTSBFWFBBTkQKK3N5biBrZXl3b3JkIHBpY0RpcmVjdGl2ZSBFWFRFUk4gRklMTCBHTE9CQUwgSURBVEEgX19JRExPQ1MgSUYgSUZERUYgSUZOREVGCitzeW4ga2V5d29yZCBwaWNEaXJlY3RpdmUgSU5DTFVERSBMSVNUIExPQ0FMIE1BQ1JPIF9fTUFYUkFNIE1FU1NHIE5PRVhQQU5ECitzeW4ga2V5d29yZCBwaWNEaXJlY3RpdmUgTk9MSVNUIE9SRyBQQUdFIFBBR0VTRUwgUFJPQ0VTU09SIFJBRElYIFJFUyBTRVQKK3N5biBrZXl3b3JkIHBpY0RpcmVjdGl2ZSBTUEFDRSBTVUJUSVRMRSBUSVRMRSBVREFUQSBVREFUQV9PVlIgVURBVEFfU0hSCitzeW4ga2V5d29yZCBwaWNEaXJlY3RpdmUgVkFSSUFCTEUgV0hJTEUgSU5DTFVERQorc3luIG1hdGNoIHBpY0RpcmVjdGl2ZSAgICIjXD1VTkRFRklORSIKK3N5biBtYXRjaCBwaWNEaXJlY3RpdmUgICAiI1w9SU5DTFVERSIKK3N5biBtYXRjaCBwaWNEaXJlY3RpdmUgICAiI1w9REVGSU5FIgorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BpYzE2Zjg0X3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3BpYzE2Zjg0X3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHBpY1RvZG8JCVRvZG8KKyAgSGlMaW5rIHBpY0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHBpY0RpcmVjdGl2ZQkJU3RhdGVtZW50CisgIEhpTGluayBwaWNMYWJlbAkJTGFiZWwKKyAgSGlMaW5rIHBpY1N0cmluZwkJU3RyaW5nCisKKyAiSGlMaW5rIHBpY09wY29kZQkJS2V5d29yZAorICJIaUxpbmsgcGljUmVnaXN0ZXIJCVN0cnVjdHVyZQorICJIaUxpbmsgcGljUmVnaXN0ZXJQYXJ0CVNwZWNpYWwKKworICBIaUxpbmsgcGljQVNDSUkJCVN0cmluZworICBIaUxpbmsgcGljQmluYXJ5CQlOdW1iZXIKKyAgSGlMaW5rIHBpY0RlY2ltYWwJCU51bWJlcgorICBIaUxpbmsgcGljSGV4YWRlY2ltYWwJCU51bWJlcgorICBIaUxpbmsgcGljT2N0YWwJCU51bWJlcgorCisgIEhpTGluayBwaWNJZGVudGlmaWVyCQlJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBpYyIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Bpa2UudmltIGIvcnVudGltZS9zeW50YXgvcGlrZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZiYWZkNQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3Bpa2UudmltCkBAIC0wLDAgKzEsMTU1IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUGlrZQorIiBNYWludGFpbmVyOglGcmFuY2VzY28gQ2hlbW9sbGkgPGtpbmtpZUBrYW1lLnVzci5kc2kudW5pbWkuaXQ+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAxMAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQSBidW5jaCBvZiB1c2VmdWwgQyBrZXl3b3Jkcworc3luIGtleXdvcmQgcGlrZVN0YXRlbWVudAlnb3RvIGJyZWFrIHJldHVybiBjb250aW51ZQorc3luIGtleXdvcmQgcGlrZUxhYmVsCQljYXNlIGRlZmF1bHQKK3N5biBrZXl3b3JkIHBpa2VDb25kaXRpb25hbAlpZiBlbHNlIHN3aXRjaAorc3luIGtleXdvcmQgcGlrZVJlcGVhdAkJd2hpbGUgZm9yIGZvcmVhY2ggZG8KK3N5biBrZXl3b3JkIHBpa2VTdGF0ZW1lbnQJZ2F1Z2UgZGVzdHJ1Y3QgbGFtYmRhIGluaGVyaXQgaW1wb3J0IHR5cGVvZgorc3luIGtleXdvcmQgcGlrZUV4Y2VwdGlvbgljYXRjaAorc3luIGtleXdvcmQgcGlrZVR5cGUJCWlubGluZSBub21hc2sgcHJpdmF0ZSBwcm90ZWN0ZWQgcHVibGljIHN0YXRpYworCisKK3N5biBrZXl3b3JkIHBpa2VUb2RvIGNvbnRhaW5lZAlUT0RPIEZJWE1FIFhYWAorCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnN0YW50cworIiBIaWdobGlnaHQgc3BlY2lhbCBjaGFyYWN0ZXJzICh0aG9zZSB3aGljaCBoYXZlIGEgYmFja3NsYXNoKSBkaWZmZXJlbnRseQorc3luIG1hdGNoIHBpa2VTcGVjaWFsIGNvbnRhaW5lZAkiXFxbMC03XVswLTddWzAtN11cPVx8XFwuIgorc3luIHJlZ2lvbiBwaWtlU3RyaW5nCQlzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXBpa2VTcGVjaWFsCitzeW4gbWF0Y2ggcGlrZUNoYXJhY3RlcgkJIidbXlxcXSciCitzeW4gbWF0Y2ggcGlrZVNwZWNpYWxDaGFyYWN0ZXIJIidcXC4nIgorc3luIG1hdGNoIHBpa2VTcGVjaWFsQ2hhcmFjdGVyCSInXFxbMC03XVswLTddJyIKK3N5biBtYXRjaCBwaWtlU3BlY2lhbENoYXJhY3RlcgkiJ1xcWzAtN11bMC03XVswLTddJyIKKworIiBDb21wb3VuZCBkYXRhIHR5cGVzCitzeW4gcmVnaW9uIHBpa2VDb21wb3VuZFR5cGUgc3RhcnQ9Jyh7JyBjb250YWlucz1waWtlU3RyaW5nLHBpa2VDb21wb3VuZFR5cGUscGlrZU51bWJlcixwaWtlRmxvYXQgZW5kPSd9KScKK3N5biByZWdpb24gcGlrZUNvbXBvdW5kVHlwZSBzdGFydD0nKFxbJyBjb250YWlucz1waWtlU3RyaW5nLHBpa2VDb21wb3VuZFR5cGUscGlrZU51bWJlcixwaWtlRmxvYXQgZW5kPSdcXSknCitzeW4gcmVnaW9uIHBpa2VDb21wb3VuZFR5cGUgc3RhcnQ9Jyg8JyBjb250YWlucz1waWtlU3RyaW5nLHBpa2VDb21wb3VuZFR5cGUscGlrZU51bWJlcixwaWtlRmxvYXQgZW5kPSc+KScKKworImNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMKK3N5biByZWdpb24gcGlrZVBhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0nKFtee1s8KF0nIGVuZD0nKScgY29udGFpbnM9QUxMQlVULHBpa2VQYXJlbkVycm9yLHBpa2VJbmNsdWRlZCxwaWtlU3BlY2lhbCxwaWtlVG9kbyxwaWtlVXNlckxhYmVsLHBpa2VCaXRGaWVsZAorc3luIG1hdGNoIHBpa2VQYXJlbkVycm9yCQkiKSIKK3N5biBtYXRjaCBwaWtlSW5QYXJlbiBjb250YWluZWQJIlteKF1be31dW14pXSIKKworImludGVnZXIgbnVtYmVyLCBvciBmbG9hdGluZyBwb2ludCBudW1iZXIgd2l0aG91dCBhIGRvdCBhbmQgd2l0aCAiZiIuCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCBwaWtlTnVtYmVyCQkiXDxcZFwrXCh1XD1sXD1cfGx1XHxmXClcPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoIHBpa2VGbG9hdAkJIlw8XGRcK1wuXGQqXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggcGlrZUZsb2F0CQkiXC5cZFwrXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CitzeW4gbWF0Y2ggcGlrZUZsb2F0CQkiXDxcZFwrZVstK11cPVxkXCtbZmxdXD1cPiIKKyJoZXggbnVtYmVyCitzeW4gbWF0Y2ggcGlrZU51bWJlcgkJIlw8MHhbMC05YS1mXVwrXCh1XD1sXD1cfGx1XClcPiIKKyJzeW4gbWF0Y2ggcGlrZUlkZW50aWZpZXIJIlw8W2Etel9dW2EtejAtOV9dKlw+Igorc3luIGNhc2UgbWF0Y2gKKyIgZmxhZyBhbiBvY3RhbCBudW1iZXIgd2l0aCB3cm9uZyBkaWdpdHMKK3N5biBtYXRjaCBwaWtlT2N0YWxFcnJvcgkJIlw8MFswLTddKls4OV0iCisKK2lmIGV4aXN0cygiY19jb21tZW50X3N0cmluZ3MiKQorICAiIEEgY29tbWVudCBjYW4gY29udGFpbiBwaWtlU3RyaW5nLCBwaWtlQ2hhcmFjdGVyIGFuZCBwaWtlTnVtYmVyLgorICAiIEJ1dCBhICIqLyIgaW5zaWRlIGEgcGlrZVN0cmluZyBpbiBhIHBpa2VDb21tZW50IERPRVMgZW5kIHRoZSBjb21tZW50ISAgU28gd2UKKyAgIiBuZWVkIHRvIHVzZSBhIHNwZWNpYWwgdHlwZSBvZiBwaWtlU3RyaW5nOiBwaWtlQ29tbWVudFN0cmluZywgd2hpY2ggYWxzbyBlbmRzIG9uCisgICIgIiovIiwgYW5kIHNlZXMgYSAiKiIgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIGFzIGNvbW1lbnQgYWdhaW4uCisgICIgVW5mb3J0dW5hdGVseSB0aGlzIGRvZXNuJ3QgdmVyeSB3ZWxsIHdvcmsgZm9yIC8vIHR5cGUgb2YgY29tbWVudHMgOi0oCisgIHN5bnRheCBtYXRjaCBwaWtlQ29tbWVudFNraXAJY29udGFpbmVkICJeXHMqXCpcKCRcfFxzXCtcKSIKKyAgc3ludGF4IHJlZ2lvbiBwaWtlQ29tbWVudFN0cmluZwljb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBlbmQ9K1wqLyttZT1zLTEgY29udGFpbnM9cGlrZVNwZWNpYWwscGlrZUNvbW1lbnRTa2lwCisgIHN5bnRheCByZWdpb24gcGlrZUNvbW1lbnQyU3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0iJCIgY29udGFpbnM9cGlrZVNwZWNpYWwKKyAgc3ludGF4IHJlZ2lvbiBwaWtlQ29tbWVudAlzdGFydD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9cGlrZVRvZG8scGlrZUNvbW1lbnRTdHJpbmcscGlrZUNoYXJhY3RlcixwaWtlTnVtYmVyLHBpa2VGbG9hdAorICBzeW50YXggbWF0Y2ggIHBpa2VDb21tZW50CSIvLy4qIiBjb250YWlucz1waWtlVG9kbyxwaWtlQ29tbWVudDJTdHJpbmcscGlrZUNoYXJhY3RlcixwaWtlTnVtYmVyCisgIHN5bnRheCBtYXRjaCAgcGlrZUNvbW1lbnQJIiNcIS4qIiBjb250YWlucz1waWtlVG9kbyxwaWtlQ29tbWVudDJTdHJpbmcscGlrZUNoYXJhY3RlcixwaWtlTnVtYmVyCitlbHNlCisgIHN5biByZWdpb24gcGlrZUNvbW1lbnQJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1waWtlVG9kbworICBzeW4gbWF0Y2ggcGlrZUNvbW1lbnQJCSIvLy4qIiBjb250YWlucz1waWtlVG9kbworICBzeW4gbWF0Y2ggcGlrZUNvbW1lbnQJCSIjIS4qIiBjb250YWlucz1waWtlVG9kbworZW5kaWYKK3N5bnRheCBtYXRjaCBwaWtlQ29tbWVudEVycm9yCSJcKi8iCisKK3N5biBrZXl3b3JkIHBpa2VPcGVyYXRvcglzaXplb2YKK3N5biBrZXl3b3JkIHBpa2VUeXBlCQlpbnQgc3RyaW5nIHZvaWQgZmxvYXQgbWFwcGluZyBhcnJheSBtdWx0aXNldCBtaXhlZAorc3luIGtleXdvcmQgcGlrZVR5cGUJCXByb2dyYW0gb2JqZWN0IGZ1bmN0aW9uCisKK3N5biByZWdpb24gcGlrZVByZUNvbmRpdAlzdGFydD0iXlxzKiNccypcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XHxlbGlmXD5cfGVsc2VcPlx8ZW5kaWZcPlwpIiBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9cGlrZUNvbW1lbnQscGlrZVN0cmluZyxwaWtlQ2hhcmFjdGVyLHBpa2VOdW1iZXIscGlrZUNvbW1lbnRFcnJvcgorc3luIHJlZ2lvbiBwaWtlSW5jbHVkZWQgY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKK3N5biBtYXRjaCBwaWtlSW5jbHVkZWQgY29udGFpbmVkICI8W14+XSo+Igorc3luIG1hdGNoIHBpa2VJbmNsdWRlCQkiXlxzKiNccyppbmNsdWRlXD5ccypbIjxdIiBjb250YWlucz1waWtlSW5jbHVkZWQKKyJzeW4gbWF0Y2ggcGlrZUxpbmVTa2lwCSJcXCQiCitzeW4gcmVnaW9uIHBpa2VEZWZpbmUJCXN0YXJ0PSJeXHMqI1xzKlwoZGVmaW5lXD5cfHVuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPUFMTEJVVCxwaWtlUHJlQ29uZGl0LHBpa2VJbmNsdWRlZCxwaWtlSW5jbHVkZSxwaWtlRGVmaW5lLHBpa2VJblBhcmVuCitzeW4gcmVnaW9uIHBpa2VQcmVQcm9jCQlzdGFydD0iXlxzKiNccypcKHByYWdtYVw+XHxsaW5lXD5cfHdhcm5pbmdcPlx8d2Fyblw+XHxlcnJvclw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQscGlrZVByZUNvbmRpdCxwaWtlSW5jbHVkZWQscGlrZUluY2x1ZGUscGlrZURlZmluZSxwaWtlSW5QYXJlbgorCisiIEhpZ2hsaWdodCBVc2VyIExhYmVscworc3luIHJlZ2lvbglwaWtlTXVsdGkJCXRyYW5zcGFyZW50IHN0YXJ0PSc/JyBlbmQ9JzonIGNvbnRhaW5zPUFMTEJVVCxwaWtlSW5jbHVkZWQscGlrZVNwZWNpYWwscGlrZVRvZG8scGlrZVVzZXJMYWJlbCxwaWtlQml0RmllbGQKKyIgQXZvaWQgbWF0Y2hpbmcgZm9vOjpiYXIoKSBpbiBDKysgYnkgcmVxdWlyaW5nIHRoYXQgdGhlIG5leHQgY2hhciBpcyBub3QgJzonCitzeW4gbWF0Y2gJcGlrZVVzZXJMYWJlbAkiXlxzKlxJXGkqXHMqOiQiCitzeW4gbWF0Y2gJcGlrZVVzZXJMYWJlbAkiO1xzKlxJXGkqXHMqOiQibXM9cysxCitzeW4gbWF0Y2gJcGlrZVVzZXJMYWJlbAkiXlxzKlxJXGkqXHMqOlteOl0ibWU9ZS0xCitzeW4gbWF0Y2gJcGlrZVVzZXJMYWJlbAkiO1xzKlxJXGkqXHMqOlteOl0ibXM9cysxLG1lPWUtMQorCisiIEF2b2lkIHJlY29nbml6aW5nIG1vc3QgYml0ZmllbGRzIGFzIGxhYmVscworc3luIG1hdGNoCXBpa2VCaXRGaWVsZAkiXlxzKlxJXGkqXHMqOlxzKlsxLTldIm1lPWUtMQorc3luIG1hdGNoCXBpa2VCaXRGaWVsZAkiO1xzKlxJXGkqXHMqOlxzKlsxLTldIm1lPWUtMQorCitzeW4gc3luYyBjY29tbWVudCBwaWtlQ29tbWVudCBtaW5saW5lcz0xMAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9waWtlX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3Bpa2Vfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcGlrZUxhYmVsCQlMYWJlbAorICBIaUxpbmsgcGlrZVVzZXJMYWJlbAkJTGFiZWwKKyAgSGlMaW5rIHBpa2VDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgcGlrZVJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBwaWtlQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKKyAgSGlMaW5rIHBpa2VTcGVjaWFsQ2hhcmFjdGVyIHBpa2VTcGVjaWFsCisgIEhpTGluayBwaWtlTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHBpa2VGbG9hdAkJRmxvYXQKKyAgSGlMaW5rIHBpa2VPY3RhbEVycm9yCQlwaWtlRXJyb3IKKyAgSGlMaW5rIHBpa2VQYXJlbkVycm9yCQlwaWtlRXJyb3IKKyAgSGlMaW5rIHBpa2VJblBhcmVuCQlwaWtlRXJyb3IKKyAgSGlMaW5rIHBpa2VDb21tZW50RXJyb3IJcGlrZUVycm9yCisgIEhpTGluayBwaWtlT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBwaWtlSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgcGlrZVByZVByb2MJCVByZVByb2MKKyAgSGlMaW5rIHBpa2VEZWZpbmUJCU1hY3JvCisgIEhpTGluayBwaWtlSW5jbHVkZWQJCXBpa2VTdHJpbmcKKyAgSGlMaW5rIHBpa2VFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHBpa2VTdGF0ZW1lbnQJCVN0YXRlbWVudAorICBIaUxpbmsgcGlrZVByZUNvbmRpdAkJUHJlQ29uZGl0CisgIEhpTGluayBwaWtlVHlwZQkJVHlwZQorICBIaUxpbmsgcGlrZUNvbW1lbnRFcnJvcglwaWtlRXJyb3IKKyAgSGlMaW5rIHBpa2VDb21tZW50U3RyaW5nCXBpa2VTdHJpbmcKKyAgSGlMaW5rIHBpa2VDb21tZW50MlN0cmluZwlwaWtlU3RyaW5nCisgIEhpTGluayBwaWtlQ29tbWVudFNraXAJcGlrZUNvbW1lbnQKKyAgSGlMaW5rIHBpa2VTdHJpbmcJCVN0cmluZworICBIaUxpbmsgcGlrZUNvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHBpa2VTcGVjaWFsCQlTcGVjaWFsQ2hhcgorICBIaUxpbmsgcGlrZVRvZG8JCVRvZG8KKyAgSGlMaW5rIHBpa2VFeGNlcHRpb24JCXBpa2VTdGF0ZW1lbnQKKyAgSGlMaW5rIHBpa2VDb21wb3VuZFR5cGUJQ29uc3RhbnQKKyAgIkhpTGluayBwaWtlSWRlbnRpZmllcglJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBpa2UiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9waWxyYy52aW0gYi9ydW50aW1lL3N5bnRheC9waWxyYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZkNTYxMQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BpbHJjLnZpbQpAQCAtMCwwICsxLDE0OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CXBpbHJjIC0gYSByZXNvdXJjZSBjb21waWxlciBmb3IgUGFsbSBPUyBkZXZlbG9wbWVudAorIiBNYWludGFpbmVyOglCcmlhbiBTY2hhdSA8YnJpYW5Ac2NoYXUuY29tPgorIiBMYXN0IGNoYW5nZToJMjAwMyBNYXkgMTEKKyIgQXZhaWxhYmxlIG9uOglodHRwOi8vd3d3LnNjaGF1LmNvbS9waWxyY3ZpbS9waWxyYy52aW0KKworIiBSZW1vdmUgYW55IG9sZCBzeW50YXgKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW4gY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgTm90ZXM6IFRSQU5TUEFSRU5ULCBGT05UIGFuZCBGT05UIElEIGFyZSBkZWZpbmVkIGluIHRoZSBzcGVjaWFscworIgkgc2VjdGlvbiBiZWxvdy4gICBCZXdhcmUgb2YgdGhlIG9yZGVyIG9mIHRoZSBzcGVjaWFscyEKKyIJIExvb2sgaW4gdGhlIHN5bnRheC50eHQgYW5kIHVzcl8yNy50eHQgZmlsZXMgaW4gdmltXHZpbXt2ZXJzaW9ufVxkb2MKKyIJIGRpcmVjdG9yeSBmb3IgcmVnZXhwcyBldGMuCisKKyIgS2V5d29yZHMgLSBiYXNpYworc3luIGtleXdvcmQgcGlscmNLZXl3b3JkIEFMRVJUIEFQUExJQ0FUSU9OIEFQUExJQ0FUSU9OSUNPTk5BTUUgQVJFQQorc3luIGtleXdvcmQgcGlscmNLZXl3b3JkIEJJVE1BUCBCSVRNQVBDT0xPUiBCSVRNQVBDT0xPUjE2IEJJVE1BUENPTE9SMTZLCitzeW4ga2V5d29yZCBwaWxyY0tleXdvcmQgQklUTUFQRkFNSUxZIEJJVE1BUEZBTUlMWUVYIEJJVE1BUEZBTUlMWVNQRUNJQUwKK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBCSVRNQVBHUkVZIEJJVE1BUEdSRVkxNiBCSVRNQVBTQ1JFRU5GQU1JTFkKK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBCT09UU0NSRUVORkFNSUxZIEJVVFRPTiBCVVRUT05TIEJZVEVMSVNUCitzeW4ga2V5d29yZCBwaWxyY0tleXdvcmQgQ0FURUdPUklFUyBDSEVDS0JPWCBDT1VOVFJZTE9DQUxJU0FUSU9OCitzeW4ga2V5d29yZCBwaWxyY0tleXdvcmQgREFUQQorc3luIGtleXdvcmQgcGlscmNLZXl3b3JkIEZFQVRVUkUgRklFTEQgRk9OVElOREVYIEZPUk0gRk9STUJJVE1BUAorc3luIGtleXdvcmQgcGlscmNLZXl3b3JkIEdBREdFVCBHRU5FUkFURUhFQURFUgorc3luIGtleXdvcmQgcGlscmNLZXl3b3JkIEdSQUZGSVRJSU5QVVRBUkVBIEdSQUZGSVRJU1RBVEVJTkRJQ0FUT1IKK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBIRVgKK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBJQ09OIElDT05GQU1JTFkgSUNPTkZBTUlMWUVYIElOVEVHRVIKK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBLRVlCT0FSRAorc3luIGtleXdvcmQgcGlscmNLZXl3b3JkIExBQkVMIExBVU5DSEVSQ0FURUdPUlkgTElTVCBMT05HV09SRExJU1QKK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBNRU5VIE1FTlVJVEVNIE1FU1NBR0UgIE1JREkKK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBQQUxFVFRFVEFCTEUgUE9QVVBMSVNUIFBPUFVQVFJJR0dFUgorc3luIGtleXdvcmQgcGlscmNLZXl3b3JkIFBVTExET1dOIFBVU0hCVVRUT04KK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBSRVBFQVRCVVRUT04gUkVTRVRBVVRPSUQKK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBTQ1JPTExCQVIgU0VMRUNUT1JUUklHR0VSIFNMSURFUiBTTUFMTElDT04KK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBTTUFMTElDT05GQU1JTFkgU01BTExJQ09ORkFNSUxZRVggU1RSSU5HIFNUUklOR1RBQkxFCitzeW4ga2V5d29yZCBwaWxyY0tleXdvcmQgVEFCTEUgVElUTEUgVFJBTlNMQVRJT04gVFJBUAorc3luIGtleXdvcmQgcGlscmNLZXl3b3JkIFZFUlNJT04KK3N5biBrZXl3b3JkIHBpbHJjS2V5d29yZCBXT1JETElTVAorCisiIFR5cGVzCitzeW4ga2V5d29yZCBwaWxyY1R5cGUgQVQgQVVUT1NISUZUCitzeW4ga2V5d29yZCBwaWxyY1R5cGUgQkFDS0dST1VORElEIEJJVE1BUElEIEJPTERGUkFNRSBCUFAKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBDSEVDS0VEIENPTE9SVEFCTEUgQ09MVU1OUyBDT0xVTU5XSURUSFMgQ09NUFJFU1MKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBDT01QUkVTU0JFU1QgQ09NUFJFU1NQQUNLQklUUyBDT01QUkVTU1JMRSBDT01QUkVTU1NDQU5MSU5FCitzeW4ga2V5d29yZCBwaWxyY1R5cGUgQ09ORklSTUFUSU9OIENPVU5UUlkgQ1JFQVRPUiBDVVJSRU5DWURFQ0lNQUxQTEFDRVMKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBDVVJSRU5DWU5BTUUgQ1VSUkVOQ1lTWU1CT0wgQ1VSUkVOQ1lVTklRVUVTWU1CT0wKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBEQVRFRk9STUFUIERBWUxJR0hUU0FWSU5HUyBERUZBVUxUQlROSUQgREVGQVVMVEJVVFRPTgorc3luIGtleXdvcmQgcGlscmNUeXBlIERFTlNJVFkgRElTQUJMRUQgRFlOQU1JQ1NJWkUKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBFRElUQUJMRSBFTlRSWSBFUlJPUiBFWFRFTkRFRAorc3luIGtleXdvcmQgcGlscmNUeXBlIEZFRURCQUNLIEZJTEUgRk9OVElEIEZPUkNFQ09NUFJFU1MgRlJBTUUKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBHUkFGRklUSSBHUkFQSElDQUwgR1JPVVAKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBIQVNTQ1JPTExCQVIgSEVMUElECitzeW4ga2V5d29yZCBwaWxyY1R5cGUgSUQgSU5ERVggSU5GT1JNQVRJT04KK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBLRVlET1dOQ0hSIEtFWURPV05LRVlDT0RFIEtFWURPV05NT0RJRklFUlMKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBMQU5HVUFHRSBMRUZUQUxJR04gTEVGVEFOQ0hPUiBMT05HREFURUZPUk1BVAorc3luIGtleXdvcmQgcGlscmNUeXBlIE1BWCBNQVhDSEFSUyBNRUFTVVJFTUVOVFNZU1RFTSBNRU5VSUQgTUlOIExPQ0FMRQorc3luIGtleXdvcmQgcGlscmNUeXBlIE1JTlVURVNXRVNUT0ZHTVQgTU9EQUwgTVVMVElQTEVMSU5FUworc3luIGtleXdvcmQgcGlscmNUeXBlIE5BTUUgTk9DT0xPUlRBQkxFIE5PQ09NUFJFU1MgTk9GUkFNRSBOT05FRElUQUJMRQorc3luIGtleXdvcmQgcGlscmNUeXBlIE5PTkVYVEVOREVEIE5PTlVTQUJMRSBOT1NBVkVCRUhJTkQgTlVNQkVSIE5VTUJFUkZPUk1BVAorc3luIGtleXdvcmQgcGlscmNUeXBlIE5VTUVSSUMKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBQQUdFU0laRQorc3luIGtleXdvcmQgcGlscmNUeXBlIFJFQ1RGUkFNRSBSSUdIVEFMSUdOIFJJR0hUQU5DSE9SIFJPV1MKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBTQVZFQkVISU5EIFNFQVJDSCBTQ1JFRU4gU0VMRUNURURCSVRNQVBJRCBTSU5HTEVMSU5FCitzeW4ga2V5d29yZCBwaWxyY1R5cGUgVEhVTUJJRCBUUkFOU1BBUkVOVElOREVYIFRJTUVGT1JNQVQKK3N5biBrZXl3b3JkIHBpbHJjVHlwZSBVTkRFUkxJTkVEIFVTQUJMRQorc3luIGtleXdvcmQgcGlscmNUeXBlIFZBTFVFIFZFUlRJQ0FMIFZJU0lCTEVJVEVNUworc3luIGtleXdvcmQgcGlscmNUeXBlIFdBUk5JTkcgV0VFS1NUQVJUREFZCisKKyIgQ291bnRyeQorc3luIGtleXdvcmQgcGlscmNDb3VudHJ5IEF1c3RyYWxpYSBBdXN0cmlhIEJlbGdpdW0gQnJhemlsIENhbmFkYSBEZW5tYXJrCitzeW4ga2V5d29yZCBwaWxyY0NvdW50cnkgRmlubGFuZCBGcmFuY2UgR2VybWFueSBIb25nS29uZyBJY2VsYW5kIEluZGlhbgorc3luIGtleXdvcmQgcGlscmNDb3VudHJ5IEluZG9uZXNpYSBJcmVsYW5kIEl0YWx5IEphcGFuIEtvcmVhIEx1eGVtYm91cmcgTWFsYXlzaWEKK3N5biBrZXl3b3JkIHBpbHJjQ291bnRyeSBNZXhpY28gTmV0aGVybGFuZHMgTmV3WmVhbGFuZCBOb3J3YXkgUGhpbGlwcGluZXMKK3N5biBrZXl3b3JkIHBpbHJjQ291bnRyeSBSZXBDaGluYSBTaW5nYXBvcmUgU3BhaW4gU3dlZGVuIFN3aXR6ZXJsYW5kIFRoYWlsYW5kCitzeW4ga2V5d29yZCBwaWxyY0NvdW50cnkgVGFpd2FuIFVuaXRlZEtpbmdkb20gVW5pdGVkU3RhdGVzCisKKyIgTGFuZ3VhZ2UKK3N5biBrZXl3b3JkIHBpbHJjTGFuZ3VhZ2UgRW5nbGlzaCBGcmVuY2ggR2VybWFuIEl0YWxpYW4gSmFwYW5lc2UgU3BhbmlzaAorCisiIFN0cmluZworc3luIG1hdGNoIHBpbHJjU3RyaW5nICJcIlteIl0qXCIiCisKKyIgTnVtYmVyCitzeW4gbWF0Y2ggcGlscmNOdW1iZXIgIlw8MHhceFwrXD4iCitzeW4gbWF0Y2ggcGlscmNOdW1iZXIgIlw8XGRcK1w+IgorCisiIENvbW1lbnQKK3N5biByZWdpb24gcGlscmNDb21tZW50IHN0YXJ0PSIvXCoiIGVuZD0iXCovIgorc3luIHJlZ2lvbiBwaWxyY0NvbW1lbnQgc3RhcnQ9Ii8vIiBlbmQ9IiQiCisKKyIgQ29uc3RhbnRzCitzeW4ga2V5d29yZCBwaWxyY0NvbnN0YW50IEFVVE8gQVVUT0lEIEJPVFRPTSBDRU5URVIgUFJFVkJPVFRPTSBQUkVWSEVJR0hUCitzeW4ga2V5d29yZCBwaWxyY0NvbnN0YW50IFBSRVZMRUZUIFBSRVZSSUdIVCBQUkVWVE9QIFBSRVZXSURUSCBSSUdIVAorc3luIGtleXdvcmQgcGlscmNDb25zdGFudCBTRVBBUkFUT1IKKworIiBJZGVudGlmaWVyCitzeW4gbWF0Y2ggcGlscmNJZGVudGlmaWVyICJcPFxoXHcqXD4iCisKKyIgU3BlY2lhbHMKK3N5biBtYXRjaCBwaWxyY1R5cGUgIlw8Rk9OVFw+Igorc3luIG1hdGNoIHBpbHJjS2V5d29yZCAiXDxGT05UXD5ccypcPElEXD4iCitzeW4gbWF0Y2ggcGlscmNUeXBlICJcPFRSQU5TUEFSRU5UXD4iCisKKyIgRnVuY3Rpb24KK3N5biBrZXl3b3JkIHBpbHJjRnVuY3Rpb24gQkVHSU4gRU5ECisKKyIgSW5jbHVkZQorc3luIG1hdGNoIHBpbHJjSW5jbHVkZSAiXCNpbmNsdWRlIgorc3luIG1hdGNoIHBpbHJjSW5jbHVkZSAiXCNkZWZpbmUiCitzeW4ga2V5d29yZCBwaWxyY0luY2x1ZGUgZXF1CitzeW4ga2V5d29yZCBwaWxyY0luY2x1ZGUgcGFja2FnZQorc3luIHJlZ2lvbiBwaWxyY0luY2x1ZGUgc3RhcnQ9InB1YmxpYyBjbGFzcyIgZW5kPSJ9IgorCitzeW4gc3luYyBjY29tbWVudCBwaWxyY0NvbW1lbnQKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BpbHJjX3N5bnRheF9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCWxldCBkaWRfcGlscmNfc3ludGF4X2luaXRzID0gMQorCisJIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcKKwlIaUxpbmsgcGlscmNLZXl3b3JkCQlTdGF0ZW1lbnQKKwlIaUxpbmsgcGlscmNUeXBlCQlUeXBlCisJSGlMaW5rIHBpbHJjRXJyb3IJCUVycm9yCisJSGlMaW5rIHBpbHJjQ291bnRyeQkJU3BlY2lhbENoYXIKKwlIaUxpbmsgcGlscmNMYW5ndWFnZQkJU3BlY2lhbENoYXIKKwlIaUxpbmsgcGlscmNTdHJpbmcJCVNwZWNpYWxDaGFyCisJSGlMaW5rIHBpbHJjTnVtYmVyCQlOdW1iZXIKKwlIaUxpbmsgcGlscmNDb21tZW50CQlDb21tZW50CisJSGlMaW5rIHBpbHJjQ29uc3RhbnQJCUNvbnN0YW50CisJSGlMaW5rIHBpbHJjRnVuY3Rpb24JCUZ1bmN0aW9uCisJSGlMaW5rIHBpbHJjSW5jbHVkZQkJU3BlY2lhbENoYXIKKwlIaUxpbmsgcGlscmNJZGVudGlmaWVyCQlOdW1iZXIKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwaWxyYyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BpbmUudmltIGIvcnVudGltZS9zeW50YXgvcGluZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ5NTM1ZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BpbmUudmltCkBAIC0wLDAgKzEsMzcyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUGluZSAoZW1haWwgcHJvZ3JhbSkgcnVuIGNvbW1hbmRzCisiIE1haW50YWluZXI6CURhdmlkIFBhc2NvZSA8cGFzY29lZGpAc3BhbWNvcC5uZXQ+CisiIExhc3QgQ2hhbmdlOglUaHUgRmViIDI3IDEwOjE4OjQ4IFdTVCAyMDAzLCB1cGRhdGUgZm9yIHBpbmUgNC41MworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmIHZlcnNpb24gPj0gNjAwCisgIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sMTI4LTE2NywyMjQtMjM1LC0sCitlbHNlCisgIHNldCBpc2tleXdvcmQ9QCw0OC01NyxfLDEyOC0xNjcsMjI0LTIzNSwtLAorZW5kaWYKKworc3luIGtleXdvcmQgcGluZUNvbmZpZyBhZGRyYm9vay1zb3J0LXJ1bGUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgYWRkcmVzcy1ib29rCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGFkZHJlc3Nib29rLWZvcm1hdHMKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgYWx0LWFkZHJlc3Nlcworc3luIGtleXdvcmQgcGluZUNvbmZpZyBidWdzLWFkZGl0aW9uYWwtZGF0YQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBidWdzLWFkZHJlc3MKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgYnVncy1mdWxsbmFtZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBjaGFyYWN0ZXItc2V0CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGNvbG9yLXN0eWxlCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGNvbXBvc2UtbWltZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBjb21wb3Nlci13cmFwLWNvbHVtbgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBjdXJyZW50LWluZGV4bGluZS1zdHlsZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBjdXJzb3Itc3R5bGUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgY3VzdG9taXplZC1oZHJzCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGRlYnVnLW1lbW9yeQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBkZWZhdWx0LWNvbXBvc2VyLWhkcnMKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgZGVmYXVsdC1mY2MKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgZGVmYXVsdC1zYXZlZC1tc2ctZm9sZGVyCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGRpc2FibGUtdGhlc2UtYXV0aGVudGljYXRvcnMKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgZGlzYWJsZS10aGVzZS1kcml2ZXJzCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGRpc3BsYXktZmlsdGVycworc3luIGtleXdvcmQgcGluZUNvbmZpZyBkb3dubG9hZC1jb21tYW5kCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGRvd25sb2FkLWNvbW1hbmQtcHJlZml4CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGVkaXRvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBlbG0tc3R5bGUtc2F2ZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBlbXB0eS1oZWFkZXItbWVzc2FnZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBmY2MtbmFtZS1ydWxlCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGZlYXR1cmUtbGV2ZWwKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgZmVhdHVyZS1saXN0CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGZpbGUtZGlyZWN0b3J5CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGZvbGRlci1jb2xsZWN0aW9ucworc3luIGtleXdvcmQgcGluZUNvbmZpZyBmb2xkZXItZXh0ZW5zaW9uCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGZvbGRlci1zb3J0LXJ1bGUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgZm9udC1jaGFyLXNldAorc3luIGtleXdvcmQgcGluZUNvbmZpZyBmb250LW5hbWUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgZm9udC1zaXplCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGZvbnQtc3R5bGUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgZm9yY2VkLWFib29rLWVudHJ5CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGZvcm0tbGV0dGVyLWZvbGRlcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBnbG9iYWwtYWRkcmVzcy1ib29rCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGdvdG8tZGVmYXVsdC1ydWxlCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGhlYWRlci1pbi1yZXBseQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBpbWFnZS12aWV3ZXIKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgaW5ib3gtcGF0aAorc3luIGtleXdvcmQgcGluZUNvbmZpZyBpbmNvbWluZy1hcmNoaXZlLWZvbGRlcnMKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgaW5jb21pbmctZm9sZGVycworc3luIGtleXdvcmQgcGluZUNvbmZpZyBpbmNvbWluZy1zdGFydHVwLXJ1bGUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgaW5kZXgtYW5zd2VyZWQtYmFja2dyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBpbmRleC1hbnN3ZXJlZC1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGluZGV4LWRlbGV0ZWQtYmFja2dyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBpbmRleC1kZWxldGVkLWZvcmVncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgaW5kZXgtZm9ybWF0CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGluZGV4LWltcG9ydGFudC1iYWNrZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGluZGV4LWltcG9ydGFudC1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGluZGV4LW5ldy1iYWNrZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGluZGV4LW5ldy1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGluZGV4LXJlY2VudC1iYWNrZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGluZGV4LXJlY2VudC1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGluZGV4LXRvLW1lLWJhY2tncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgaW5kZXgtdG8tbWUtZm9yZWdyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBpbmRleC11bnNlZW4tYmFja2dyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBpbmRleC11bnNlZW4tZm9yZWdyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBpbml0aWFsLWtleXN0cm9rZS1saXN0CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGtibG9jay1wYXNzd2QtY291bnQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcga2V5bGFiZWwtYmFja2dyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBrZXlsYWJlbC1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGtleW5hbWUtYmFja2dyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBrZXluYW1lLWZvcmVncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgbGFzdC10aW1lLXBydW5lLXF1ZXN0aW9uZWQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgbGFzdC12ZXJzaW9uLXVzZWQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgbGRhcC1zZXJ2ZXJzCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGxpdGVyYWwtc2lnbmF0dXJlCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIGxvY2FsLWFkZHJlc3MKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgbG9jYWwtZnVsbG5hbWUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgbWFpbC1jaGVjay1pbnRlcnZhbAorc3luIGtleXdvcmQgcGluZUNvbmZpZyBtYWlsLWRpcmVjdG9yeQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBtYWlsY2FwLXNlYXJjaC1wYXRoCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIG1pbWV0eXBlLXNlYXJjaC1wYXRoCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIG5ldy12ZXJzaW9uLXRocmVzaG9sZAorc3luIGtleXdvcmQgcGluZUNvbmZpZyBuZXdzLWFjdGl2ZS1maWxlLXBhdGgKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgbmV3cy1jb2xsZWN0aW9ucworc3luIGtleXdvcmQgcGluZUNvbmZpZyBuZXdzLXNwb29sLWRpcmVjdG9yeQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBuZXdzcmMtcGF0aAorc3luIGtleXdvcmQgcGluZUNvbmZpZyBubnRwLXNlcnZlcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBub3JtYWwtYmFja2dyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBub3JtYWwtZm9yZWdyb3VuZC1jb2xvcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBvbGQtc3R5bGUtcmVwbHkKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgb3BlcmF0aW5nLWRpcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBwYXR0ZXJucworc3luIGtleXdvcmQgcGluZUNvbmZpZyBwYXR0ZXJucy1maWx0ZXJzCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHBhdHRlcm5zLWZpbHRlcnMyCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHBhdHRlcm5zLWluZGV4Y29sb3JzCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHBhdHRlcm5zLW90aGVyCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHBhdHRlcm5zLXJvbGVzCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHBhdHRlcm5zLXNjb3Jlcworc3luIGtleXdvcmQgcGluZUNvbmZpZyBwYXR0ZXJucy1zY29yZXMyCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHBlcnNvbmFsLW5hbWUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcGVyc29uYWwtcHJpbnQtY2F0ZWdvcnkKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcGVyc29uYWwtcHJpbnQtY29tbWFuZAorc3luIGtleXdvcmQgcGluZUNvbmZpZyBwb3N0cG9uZWQtZm9sZGVyCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHByaW50LWZvbnQtY2hhci1zZXQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcHJpbnQtZm9udC1uYW1lCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHByaW50LWZvbnQtc2l6ZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBwcmludC1mb250LXN0eWxlCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHByaW50ZXIKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcHJvbXB0LWJhY2tncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcHJvbXB0LWZvcmVncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcHJ1bmVkLWZvbGRlcnMKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcHJ1bmluZy1ydWxlCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHF1b3RlMS1iYWNrZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHF1b3RlMS1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHF1b3RlMi1iYWNrZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHF1b3RlMi1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHF1b3RlMy1iYWNrZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHF1b3RlMy1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHJlYWQtbWVzc2FnZS1mb2xkZXIKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcmVtb3RlLWFib29rLWhpc3RvcnkKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcmVtb3RlLWFib29rLW1ldGFmaWxlCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHJlbW90ZS1hYm9vay12YWxpZGl0eQorc3luIGtleXdvcmQgcGluZUNvbmZpZyByZXBseS1pbmRlbnQtc3RyaW5nCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHJlcGx5LWxlYWRpbgorc3luIGtleXdvcmQgcGluZUNvbmZpZyByZXZlcnNlLWJhY2tncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcmV2ZXJzZS1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHJzaC1jb21tYW5kCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHJzaC1vcGVuLXRpbWVvdXQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgcnNoLXBhdGgKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc2F2ZS1ieS1zZW5kZXIKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc2F2ZWQtbXNnLW5hbWUtcnVsZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyBzY3JvbGwtbWFyZ2luCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHNlbGVjdGFibGUtaXRlbS1iYWNrZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHNlbGVjdGFibGUtaXRlbS1mb3JlZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHNlbmRpbmctZmlsdGVycworc3luIGtleXdvcmQgcGluZUNvbmZpZyBzZW5kbWFpbC1wYXRoCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHNob3ctYWxsLWNoYXJhY3RlcnMKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc2lnbmF0dXJlLWZpbGUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc210cC1zZXJ2ZXIKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc29ydC1rZXkKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc3BlbGxlcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyBzc2gtY29tbWFuZAorc3luIGtleXdvcmQgcGluZUNvbmZpZyBzc2gtb3Blbi10aW1lb3V0CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHNzaC1wYXRoCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHN0YW5kYXJkLXByaW50ZXIKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc3RhdHVzLWJhY2tncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc3RhdHVzLWZvcmVncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc3RhdHVzLW1lc3NhZ2UtZGVsYXkKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgc3VnZ2VzdC1hZGRyZXNzCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHN1Z2dlc3QtZnVsbG5hbWUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdGNwLW9wZW4tdGltZW91dAorc3luIGtleXdvcmQgcGluZUNvbmZpZyB0Y3AtcXVlcnktdGltZW91dAorc3luIGtleXdvcmQgcGluZUNvbmZpZyB0Y3AtcmVhZC13YXJuaW5nLXRpbWVvdXQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdGNwLXdyaXRlLXdhcm5pbmctdGltZW91dAorc3luIGtleXdvcmQgcGluZUNvbmZpZyB0aHJlYWRpbmctZGlzcGxheS1zdHlsZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyB0aHJlYWRpbmctZXhwYW5kZWQtY2hhcmFjdGVyCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHRocmVhZGluZy1pbmRleC1zdHlsZQorc3luIGtleXdvcmQgcGluZUNvbmZpZyB0aHJlYWRpbmctaW5kaWNhdG9yLWNoYXJhY3Rlcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyB0aHJlYWRpbmctbGFzdHJlcGx5LWNoYXJhY3Rlcgorc3luIGtleXdvcmQgcGluZUNvbmZpZyB0aXRsZS1iYWNrZ3JvdW5kLWNvbG9yCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHRpdGxlLWZvcmVncm91bmQtY29sb3IKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdGl0bGViYXItY29sb3Itc3R5bGUKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdXBsb2FkLWNvbW1hbmQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdXBsb2FkLWNvbW1hbmQtcHJlZml4CitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHVybC12aWV3ZXJzCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHVzZS1vbmx5LWRvbWFpbi1uYW1lCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHVzZXItZG9tYWluCitzeW4ga2V5d29yZCBwaW5lQ29uZmlnIHVzZXItaWQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdXNlci1pZAorc3luIGtleXdvcmQgcGluZUNvbmZpZyB1c2VyLWlucHV0LXRpbWVvdXQKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdmlld2VyLWhkci1jb2xvcnMKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdmlld2VyLWhkcnMKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgdmlld2VyLW92ZXJsYXAKK3N5biBrZXl3b3JkIHBpbmVDb25maWcgd2luZG93LXBvc2l0aW9uCisKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gYWxsb3ctY2hhbmdpbmctZnJvbQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBhbGxvdy10YWxrCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGFsdGVybmF0ZS1jb21wb3NlLW1lbnUKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gYXNzdW1lLXNsb3ctbGluaworc3luIGtleXdvcmQgcGluZU9wdGlvbiBhdXRvLW1vdmUtcmVhZC1tc2dzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGF1dG8tb3Blbi1uZXh0LXVucmVhZAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBhdXRvLXVuem9vbS1hZnRlci1hcHBseQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBhdXRvLXpvb20tYWZ0ZXItc2VsZWN0CitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGNhY2hlLXJlbW90ZS1waW5lcmMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gY2hlY2stbmV3bWFpbC13aGVuLXF1aXR0aW5nCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGNvbWJpbmVkLWFkZHJib29rLWRpc3BsYXkKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gY29tYmluZWQtZm9sZGVyLWRpc3BsYXkKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gY29tYmluZWQtc3ViZGlyZWN0b3J5LWRpc3BsYXkKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gY29tcG9zZS1jdXQtZnJvbS1jdXJzb3IKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gY29tcG9zZS1tYXBzLWRlbGV0ZS1rZXktdG8tY3RybC1kCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGNvbXBvc2UtcmVqZWN0cy11bnF1YWxpZmllZC1hZGRycworc3luIGtleXdvcmQgcGluZU9wdGlvbiBjb21wb3NlLXNlbmQtb2ZmZXJzLWZpcnN0LWZpbHRlcgorc3luIGtleXdvcmQgcGluZU9wdGlvbiBjb21wb3NlLXNldHMtbmV3c2dyb3VwLXdpdGhvdXQtY29uZmlybQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBjb25maXJtLXJvbGUtZXZlbi1mb3ItZGVmYXVsdAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBjb250aW51ZS10YWItd2l0aG91dC1jb25maXJtCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRlbGV0ZS1za2lwcy1kZWxldGVkCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRpc2FibGUtMjAyMi1qcC1jb252ZXJzaW9ucworc3luIGtleXdvcmQgcGluZU9wdGlvbiBkaXNhYmxlLWJ1c3ktYWxhcm0KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZGlzYWJsZS1jaGFyc2V0LWNvbnZlcnNpb25zCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRpc2FibGUtY29uZmlnLWNtZAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBkaXNhYmxlLWtleWJvYXJkLWxvY2stY21kCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRpc2FibGUta2V5bWVudQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBkaXNhYmxlLXBhc3N3b3JkLWNhY2hpbmcKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZGlzYWJsZS1wYXNzd29yZC1jbWQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZGlzYWJsZS1waXBlcy1pbi1zaWdzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRpc2FibGUtcGlwZXMtaW4tdGVtcGxhdGVzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRpc2FibGUtcm9sZXMtc2V0dXAtY21kCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRpc2FibGUtcm9sZXMtc2lnLWVkaXQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZGlzYWJsZS1yb2xlcy10ZW1wbGF0ZS1lZGl0CitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRpc2FibGUtc2VuZGVyCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGRpc2FibGUtc2hhcmVkLW5hbWVzcGFjZXMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZGlzYWJsZS1zaWduYXR1cmUtZWRpdC1jbWQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZGlzYWJsZS10YWtlLWxhc3QtY29tbWEtZmlyc3QKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLThiaXQtZXNtdHAtbmVnb3RpYXRpb24KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLThiaXQtbm50cC1wb3N0aW5nCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1hZ2dyZWdhdGUtY29tbWFuZC1zZXQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLWFsdGVybmF0ZS1lZGl0b3ItY21kCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1hbHRlcm5hdGUtZWRpdG9yLWltcGxpY2l0bHkKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLWFycm93LW5hdmlnYXRpb24KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLWFycm93LW5hdmlnYXRpb24tcmVsYXhlZAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtYmFja2dyb3VuZC1zZW5kaW5nCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1ib3VuY2UtY21kCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1jcnVpc2UtbW9kZQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtY3J1aXNlLW1vZGUtZGVsZXRlCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1kZWxpdmVyeS1zdGF0dXMtbm90aWZpY2F0aW9uCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1kb3QtZmlsZXMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLWRvdC1mb2xkZXJzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1leGl0LXZpYS1sZXNzdGhhbi1jb21tYW5kCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1mYXN0LXJlY2VudC10ZXN0CitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1mbGFnLWNtZAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtZmxhZy1zY3JlZW4taW1wbGljaXRseQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtZnVsbC1oZWFkZXItYW5kLXRleHQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLWZ1bGwtaGVhZGVyLWNtZAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtZ290by1pbi1maWxlLWJyb3dzZXIKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLWluY29taW5nLWZvbGRlcnMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLWp1bXAtc2hvcnRjdXQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLWxhbWUtbGlzdC1tb2RlCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1tYWlsLWNoZWNrLWN1ZQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtbWFpbGNhcC1wYXJhbS1zdWJzdGl0dXRpb24KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLW1vdXNlLWluLXh0ZXJtCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1tc2ctdmlldy1hZGRyZXNzZXMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLW1zZy12aWV3LWF0dGFjaG1lbnRzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1tc2ctdmlldy1mb3JjZWQtYXJyb3dzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1tc2ctdmlldy11cmxzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1tc2ctdmlldy13ZWItaG9zdG5hbWVzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1uZXdtYWlsLWluLXh0ZXJtLWljb24KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLXBhcnRpYWwtbWF0Y2gtbGlzdHMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLXByaW50LXZpYS15LWNvbW1hbmQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLXJlcGx5LWluZGVudC1zdHJpbmctZWRpdGluZworc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtcnVsZXMtdW5kZXItdGFrZQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtc2VhcmNoLWFuZC1yZXBsYWNlCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS1zaWdkYXNoZXMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLXN1c3BlbmQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZW5hYmxlLXRhYi1jb21wbGV0aW9uCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS10YWtlLWV4cG9ydAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBlbmFibGUtdHJheS1pY29uCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS11bml4LXBpcGUtY21kCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGVuYWJsZS12ZXJib3NlLXNtdHAtcG9zdGluZworc3luIGtleXdvcmQgcGluZU9wdGlvbiBleHBhbmRlZC12aWV3LW9mLWFkZHJlc3Nib29rcworc3luIGtleXdvcmQgcGluZU9wdGlvbiBleHBhbmRlZC12aWV3LW9mLWRpc3RyaWJ1dGlvbi1saXN0cworc3luIGtleXdvcmQgcGluZU9wdGlvbiBleHBhbmRlZC12aWV3LW9mLWZvbGRlcnMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZXhwb3NlLWhpZGRlbi1jb25maWcKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZXhwdW5nZS1vbmx5LW1hbnVhbGx5CitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGV4cHVuZ2Utd2l0aG91dC1jb25maXJtCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIGV4cHVuZ2Utd2l0aG91dC1jb25maXJtLWV2ZXJ5d2hlcmUKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZmNjLW9uLWJvdW5jZQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBmY2Mtb25seS13aXRob3V0LWNvbmZpcm0KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gZmNjLXdpdGhvdXQtYXR0YWNobWVudHMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gaW5jbHVkZS1hdHRhY2htZW50cy1pbi1yZXBseQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBpbmNsdWRlLWhlYWRlci1pbi1yZXBseQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBpbmNsdWRlLXRleHQtaW4tcmVwbHkKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gbGRhcC1yZXN1bHQtdG8tYWRkcmJvb2stYWRkCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIG1hcmstZmNjLXNlZW4KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gbWFyay1mb3ItY2MKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gbmV3cy1hcHByb3hpbWF0ZXMtbmV3LXN0YXR1cworc3luIGtleXdvcmQgcGluZU9wdGlvbiBuZXdzLWRlbGV0ZXMtYWNyb3NzLWdyb3Vwcworc3luIGtleXdvcmQgcGluZU9wdGlvbiBuZXdzLW9mZmVycy1jYXRjaHVwLW9uLWNsb3NlCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIG5ld3MtcG9zdC13aXRob3V0LXZhbGlkYXRpb24KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gbmV3cy1yZWFkLWluLW5ld3NyYy1vcmRlcgorc3luIGtleXdvcmQgcGluZU9wdGlvbiBuZXh0LXRocmVhZC13aXRob3V0LWNvbmZpcm0KK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gb2xkLWdyb3d0aAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBwYXNzLWNvbnRyb2wtY2hhcmFjdGVycy1hcy1pcworc3luIGtleXdvcmQgcGluZU9wdGlvbiBwcmVmZXItcGxhaW4tdGV4dAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBwcmVzZXJ2ZS1zdGFydC1zdG9wLWNoYXJhY3RlcnMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gcHJpbnQtZm9ybWZlZWQtYmV0d2Vlbi1tZXNzYWdlcworc3luIGtleXdvcmQgcGluZU9wdGlvbiBwcmludC1pbmNsdWRlcy1mcm9tLWxpbmUKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gcHJpbnQtaW5kZXgtZW5hYmxlZAorc3luIGtleXdvcmQgcGluZU9wdGlvbiBwcmludC1vZmZlcnMtY3VzdG9tLWNtZC1wcm9tcHQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gcXVlbGwtYXR0YWNobWVudC1leHRyYS1wcm9tcHQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gcXVlbGwtYmVya2VsZXktZm9ybWF0LXRpbWV6b25lCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1ZWxsLWNvbnRlbnQtaWQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gcXVlbGwtZGVhZC1sZXR0ZXItb24tY2FuY2VsCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1ZWxsLWVtcHR5LWRpcmVjdG9yaWVzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1ZWxsLWV4dHJhLXBvc3QtcHJvbXB0CitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1ZWxsLWZvbGRlci1pbnRlcm5hbC1tc2cKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gcXVlbGwtaW1hcC1lbnZlbG9wZS11cGRhdGUKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gcXVlbGwtbG9jay1mYWlsdXJlLXdhcm5pbmdzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1ZWxsLW1haWxkb21haW4td2FybmluZworc3luIGtleXdvcmQgcGluZU9wdGlvbiBxdWVsbC1uZXdzLWVudmVsb3BlLXVwZGF0ZQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBxdWVsbC1wYXJ0aWFsLWZldGNoaW5nCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1ZWxsLXNzbC1sYXJnZWJsb2Nrcworc3luIGtleXdvcmQgcGluZU9wdGlvbiBxdWVsbC1zdGF0dXMtbWVzc2FnZS1iZWVwaW5nCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1ZWxsLXRpbWV6b25lLWNvbW1lbnQtd2hlbi1zZW5kaW5nCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1ZWxsLXVzZXItbG9va3VwLWluLXBhc3N3ZC1maWxlCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHF1aXQtd2l0aG91dC1jb25maXJtCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHJlcGx5LWFsd2F5cy11c2VzLXJlcGx5LXRvCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHNhdmUtYWdncmVnYXRlcy1jb3B5LXNlcXVlbmNlCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHNhdmUtd2lsbC1hZHZhbmNlCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHNhdmUtd2lsbC1ub3QtZGVsZXRlCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHNhdmUtd2lsbC1xdW90ZS1sZWFkaW5nLWZyb21zCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHNjcmFtYmxlLW1lc3NhZ2UtaWQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gc2VsZWN0LXdpdGhvdXQtY29uZmlybQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBzZWxlY3RhYmxlLWl0ZW0tbm9ib2xkCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHNlcGFyYXRlLWZvbGRlci1hbmQtZGlyZWN0b3J5LWVudHJpZXMKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gc2hvdy1jdXJzb3IKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gc2hvdy1wbGFpbi10ZXh0LWludGVybmFsbHkKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gc2hvdy1zZWxlY3RlZC1pbi1ib2xkZmFjZQorc3luIGtleXdvcmQgcGluZU9wdGlvbiBzaWduYXR1cmUtYXQtYm90dG9tCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHNpbmdsZS1jb2x1bW4tZm9sZGVyLWxpc3QKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gc2xhc2gtY29sbGFwc2VzLWVudGlyZS10aHJlYWQKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gc3BlbGwtY2hlY2stYmVmb3JlLXNlbmRpbmcKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gc3RvcmUtd2luZG93LXBvc2l0aW9uLWluLWNvbmZpZworc3luIGtleXdvcmQgcGluZU9wdGlvbiBzdHJpcC1mcm9tLXNpZ2Rhc2hlcy1vbi1yZXBseQorc3luIGtleXdvcmQgcGluZU9wdGlvbiB0YWItdmlzaXRzLW5leHQtbmV3LW1lc3NhZ2Utb25seQorc3luIGtleXdvcmQgcGluZU9wdGlvbiB0ZXJtZGVmLXRha2VzLXByZWNlZGVuY2UKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gdGhyZWFkLWluZGV4LXNob3dzLWltcG9ydGFudC1jb2xvcgorc3luIGtleXdvcmQgcGluZU9wdGlvbiB0cnktYWx0ZXJuYXRpdmUtYXV0aGVudGljYXRpb24tZHJpdmVyLWZpcnN0CitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHVuc2VsZWN0LXdpbGwtbm90LWFkdmFuY2UKK3N5biBrZXl3b3JkIHBpbmVPcHRpb24gdXNlLWN1cnJlbnQtZGlyCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHVzZS1mdW5jdGlvbi1rZXlzCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHVzZS1zZW5kZXItbm90LXgtc2VuZGVyCitzeW4ga2V5d29yZCBwaW5lT3B0aW9uIHVzZS1zdWJzaGVsbC1mb3Itc3VzcGVuZAorc3luIGtleXdvcmQgcGluZU9wdGlvbiB2ZXJ0aWNhbC1mb2xkZXItbGlzdAorCitzeW4gbWF0Y2ggIHBpbmVDb21tZW50ICAiXiMuKiQiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BpbmVfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcGluZV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBwaW5lQ29uZmlnCVR5cGUKKyAgSGlMaW5rIHBpbmVDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIHBpbmVPcHRpb24JTWFjcm8KKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBpbmUiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9waW5mby52aW0gYi9ydW50aW1lL3N5bnRheC9waW5mby52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFlZjcxMgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BpbmZvLnZpbQpAQCAtMCwwICsxLDEzNCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSAgICBwaW5mbygxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+CisiIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKKyIgYXJjaC10YWc6CSAgICBkYTJjZmExYy0wMzUwLTQ1ZGMtYjJkMi0yYmYzOTE1YmQwYTIKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgU2V0IGlza2V5d29yZCBzaW5jZSB3ZSBuZWVkIGAtJyAoYW5kIHBvdGVudGlhbGx5IG90aGVycykgaW4ga2V5d29yZHMuCisiIEZvciB2ZXJzaW9uIDUueDogU2V0IGl0IGdsb2JhbGx5CisiIEZvciB2ZXJzaW9uIDYueDogU2V0IGl0IGxvY2FsbHkKK2lmIHZlcnNpb24gPj0gNjAwCisgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldGxvY2FsIGlza2V5d29yZD08YXJncz4KK2Vsc2UKKyAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0IGlza2V5d29yZD08YXJncz4KK2VuZGlmCitTZXRJc2sgQCw0OC01NyxfLC0KK2RlbGNvbW1hbmQgU2V0SXNrCisKKyIgSWdub3JlIENhc2UKK3N5biBjYXNlIGlnbm9yZQorCisiIFRvZG8KK3N5biBrZXl3b3JkIHBpbmZvVG9kbwljb250YWluZWQgRklYTUUgVE9ETyBYWFggTk9URQorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uICBwaW5mb0NvbW1lbnQgICAgc3RhcnQ9J14jJyBlbmQ9JyQnIGNvbnRhaW5zPXBpbmZvVG9kbworCisiIEtleXdvcmRzCitzeW4ga2V5d29yZCBwaW5mb09wdGlvbnMgICAgTUFOVUFMIENVVC1NQU4tSEVBREVSUyBDVVQtRU1QVFktTUFOLUxJTkVTCitzeW4ga2V5d29yZCBwaW5mb09wdGlvbnMgICAgUkFXLUZJTEVOQU1FIEFQUk9QT1MgRE9OVC1IQU5ETEUtV0lUSE9VVC1UQUctVEFCTEUKK3N5biBrZXl3b3JkIHBpbmZvT3B0aW9ucyAgICBIVFRQVklFV0VSIEZUUFZJRVdFUiBNQUlMRURJVE9SIFBSSU5UVVRJTElUWQorc3luIGtleXdvcmQgcGluZm9PcHRpb25zICAgIE1BTkxJTktTIElORk9QQVRIIE1BTi1PUFRJT05TIFNUREVSUi1SRURJUkVDVElPTgorc3luIGtleXdvcmQgcGluZm9PcHRpb25zICAgIExPTkctTUFOVUFMLUxJTktTIEZJTFRFUi0weEI3IFFVSVQtQ09ORklSTUFUSU9OCitzeW4ga2V5d29yZCBwaW5mb09wdGlvbnMgICAgUVVJVC1DT05GSVJNLURFRkFVTFQgQ0xFQVItU0NSRUVOLUFULUVYSVQKK3N5biBrZXl3b3JkIHBpbmZvT3B0aW9ucyAgICBDQUxMLVJFQURMSU5FLUhJU1RPUlkgSElHSExJR0hUUkVHRVhQIFNBRkUtVVNFUgorc3luIGtleXdvcmQgcGluZm9PcHRpb25zICAgIFNBRkUtR1JPVVAKKworIiBDb2xvcnMKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JzCSAgICBDT0xfTk9STUFMIENPTF9UT1BMSU5FIENPTF9CT1RUT01MSU5FIENPTF9NRU5VCitzeW4ga2V5d29yZCBwaW5mb0NvbG9ycwkgICAgQ09MX01FTlVTRUxFQ1RFRCBDT0xfTk9URSBDT0xfTk9URVNFTEVDVEVEIENPTF9VUkwKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JzCSAgICBDT0xfVVJMU0VMRUNURUQgQ09MX0lORk9ISUdITElHSFQgQ09MX01BTlVBTEJPTEQKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JzCSAgICBDT0xfTUFOVUFMSVRBTElDCitzeW4ga2V5d29yZCBwaW5mb0NvbG9yRGVmYXVsdAlDT0xPUl9ERUZBVUxUCitzeW4ga2V5d29yZCBwaW5mb0NvbG9yQm9sZAlCT0xECitzeW4ga2V5d29yZCBwaW5mb0NvbG9yTm9Cb2xkCU5PX0JPTEQKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JCbGluawlCTElOSworc3luIGtleXdvcmQgcGluZm9Db2xvck5vQmxpbmsJTk9fQkxJTksKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JCbGFjawlDT0xPUl9CTEFDSworc3luIGtleXdvcmQgcGluZm9Db2xvclJlZAlDT0xPUl9SRUQKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JHcmVlbglDT0xPUl9HUkVFTgorc3luIGtleXdvcmQgcGluZm9Db2xvclllbGxvdwlDT0xPUl9ZRUxMT1cKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JCbHVlCUNPTE9SX0JMVUUKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JNYWdlbnRhCUNPTE9SX01BR0VOVEEKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JDeWFuCUNPTE9SX0NZQU4KK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JXaGl0ZQlDT0xPUl9XSElURQorCisiIEtleWJpbmRpbmdzCitzeW4ga2V5d29yZCBwaW5mb0tleXMJS0VZX1RPVEFMU0VBUkNIXzEgS0VZX1RPVEFMU0VBUkNIXzIgS0VZX1NFQVJDSF8xCitzeW4ga2V5d29yZCBwaW5mb0tleXMJS0VZX1NFQVJDSF8yIEtFWV9TRUFSQ0hfQUdBSU5fMSBLRVlfU0VBUkNIX0FHQUlOXzIKK3N5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfR09UT18xIEtFWV9HT1RPXzIgS0VZX1BSRVZOT0RFXzEgS0VZX1BSRVZOT0RFXzIKK3N5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfTkVYVE5PREVfMSBLRVlfTkVYVE5PREVfMiBLRVlfVVBfMSBLRVlfVVBfMgorc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9FTkRfMSBLRVlfRU5EXzIgS0VZX1BHRE5fMSBLRVlfUEdETl8yCitzeW4ga2V5d29yZCBwaW5mb0tleXMJS0VZX1BHRE5fQVVUT18xIEtFWV9QR0ROX0FVVE9fMiBLRVlfSE9NRV8xIEtFWV9IT01FXzIKK3N5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfUEdVUF8xIEtFWV9QR1VQXzIgS0VZX1BHVVBfQVVUT18xIEtFWV9QR1VQX0FVVE9fMgorc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9ET1dOXzEgS0VZX0RPV05fMiBLRVlfVE9QXzEgS0VZX1RPUF8yIEtFWV9CQUNLXzEKK3N5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfQkFDS18yIEtFWV9GT0xMT1dMSU5LXzEgS0VZX0ZPTExPV0xJTktfMgorc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9SRUZSRVNIXzEgS0VZX1JFRlJFU0hfMiBLRVlfU0hFTExGRUVEXzEKK3N5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfU0hFTExGRUVEXzIgS0VZX1FVSVRfMSBLRVlfUVVJVF8yIEtFWV9HT0xJTkVfMQorc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9HT0xJTkVfMiBLRVlfUFJJTlRfMSBLRVlfUFJJTlRfMgorc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9ESVJQQUdFXzEgS0VZX0RJUlBBR0VfMgorCisiIFNwZWNpYWwgS2V5cworc3luIGtleXdvcmQgcGluZm9TcGVjaWFsS2V5cwlLRVlfQlJFQUsgS0VZX0RPV04gS0VZX1VQIEtFWV9MRUZUIEtFWV9SSUdIVAorc3luIGtleXdvcmQgcGluZm9TcGVjaWFsS2V5cwlLRVlfRE9XTiBLRVlfSE9NRSBLRVlfQkFDS1NQQUNFIEtFWV9OUEFHRQorc3luIGtleXdvcmQgcGluZm9TcGVjaWFsS2V5cwlLRVlfUFBBR0UgS0VZX0VORCBLRVlfSUMgS0VZX0RDCitzeW4gcmVnaW9uICBwaW5mb1NwZWNpYWxLZXlzCW1hdGNoZ3JvdXA9cGluZm9TcGVjaWFsS2V5cyB0cmFuc3BhcmVudCBzdGFydD0rS0VZX1wlKEZcfENUUkxcfEFMVFwpKCsgZW5kPSspKworc3luIHJlZ2lvbiAgcGluZm9TaW1wbGVLZXkJbWF0Y2hncm91cD1waW5mb1NpbXBsZUtleSBzdGFydD0rJysgc2tpcD0rXFwnKyBlbmQ9KycrIGNvbnRhaW5zPXBpbmZvU2ltcGxlS2V5RXNjYXBlCitzeW4gbWF0Y2ggICBwaW5mb1NpbXBsZUtleUVzY2FwZSAgICArXFxbXFxudCddKworc3luIG1hdGNoICAgcGluZm9LZXljb2RlICAgICdcPFxkXCtcPicKKworIiBDb25zdGFudHMKK3N5biBrZXl3b3JkIHBpbmZvQ29uc3RhbnRzICBUUlVFIEZBTFNFIFlFUyBOTworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9waW5mb19zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9waW5mb19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgICBjb21tYW5kIC1uYXJncz0rIEhpRGVmIGhpIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaURlZiBoaSBkZWYgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHBpbmZvVG9kbwkJVG9kbworICBIaUxpbmsgcGluZm9Db21tZW50CQlDb21tZW50CisgIEhpTGluayBwaW5mb09wdGlvbnMJCUtleXdvcmQKKyAgSGlMaW5rIHBpbmZvQ29sb3JzCQlLZXl3b3JkCisgIEhpTGluayBwaW5mb0NvbG9yRGVmYXVsdAlOb3JtYWwKKyAgSGlEZWYgcGluZm9Db2xvckJvbGQJCWN0ZXJtPWJvbGQKKyAgSGlEZWYgcGluZm9Db2xvck5vQm9sZAljdGVybT1ub25lCisgICIgd2UgY2FuJ3QgYWNjZXNzIHRoZSBibGluayBhdHRyaWJ1dGUgZnJvbSBWaW0gYXRtCisgIEhpRGVmIHBpbmZvQ29sb3JCbGluawkJY3Rlcm09aW52ZXJzZQorICBIaURlZiBwaW5mb0NvbG9yTm9CbGluawljdGVybT1ub25lCisgIEhpRGVmIHBpbmZvQ29sb3JCbGFjawkJY3Rlcm1mZz1CbGFjawkgICAgZ3VpZmc9QmxhY2sKKyAgSGlEZWYgcGluZm9Db2xvclJlZAkJY3Rlcm1mZz1EYXJrUmVkCSAgICBndWlmZz1EYXJrUmVkCisgIEhpRGVmIHBpbmZvQ29sb3JHcmVlbgkJY3Rlcm1mZz1EYXJrR3JlZW4gICBndWlmZz1EYXJrR3JlZW4KKyAgSGlEZWYgcGluZm9Db2xvclllbGxvdwljdGVybWZnPURhcmtZZWxsb3cgIGd1aWZnPURhcmtZZWxsb3cKKyAgSGlEZWYgcGluZm9Db2xvckJsdWUJCWN0ZXJtZmc9RGFya0JsdWUgICAgZ3VpZmc9RGFya0JsdWUKKyAgSGlEZWYgcGluZm9Db2xvck1hZ2VudGEJY3Rlcm1mZz1EYXJrTWFnZW50YSBndWlmZz1EYXJrTWFnZW50YQorICBIaURlZiBwaW5mb0NvbG9yQ3lhbgkJY3Rlcm1mZz1EYXJrQ3lhbiAgICBndWlmZz1EYXJrQ3lhbgorICBIaURlZiBwaW5mb0NvbG9yV2hpdGUJCWN0ZXJtZmc9TGlnaHRHcmF5ICAgZ3VpZmc9TGlnaHRHcmF5CisgIEhpTGluayBwaW5mb0tleXMJCUtleXdvcmQKKyAgSGlMaW5rIHBpbmZvU3BlY2lhbEtleXMJU3BlY2lhbENoYXIKKyAgSGlMaW5rIHBpbmZvU2ltcGxlS2V5CQlTdHJpbmcKKyAgSGlMaW5rIHBpbmZvU2ltcGxlS2V5RXNjYXBlCVNwZWNpYWxDaGFyCisgIEhpTGluayBwaW5mb0tleWNvZGUJCU51bWJlcgorICBIaUxpbmsgcGluZm9Db25zdGFudHMJQ29uc3RhbnQKKworICBkZWxjb21tYW5kIEhpTGluaworICBkZWxjb21tYW5kIEhpRGVmCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwaW5mbyIKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGxtLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BsbS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY3YzMyZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BsbS52aW0KQEAgLTAsMCArMSwxNDcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglQTC9NCisiIE1haW50YWluZXI6CVBoaWxpcHBlIENvdWxvbmdlcyA8Y3BoaWxAY3BoaWwubmV0PgorIiBMYXN0IGNoYW5nZToJMjAwMyBNYXkgMTEKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFBML00gaXMgYSBjYXNlIGluc2Vuc2l0aXZlIGxhbmd1YWdlCitzeW4gY2FzZSBpZ25vcmUKKworc3luIGtleXdvcmQgcGxtVG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFgKKworIiBTdHJpbmcKK3N5biByZWdpb24gIHBsbVN0cmluZwkJc3RhcnQ9KycrICBlbmQ9KycrCisKK3N5biBtYXRjaCAgIHBsbU9wZXJhdG9yCQkiW0A9XCtcLVwqXC9cPFw+XSIKKworc3luIG1hdGNoICAgcGxtSWRlbnRpZmllcgkiXDxbYS16QS1aX11bYS16QS1aMC05X10qXD4iCisKK3N5biBtYXRjaCAgIHBsbURlbGltaXRlcgkiWygpOyxdIgorCitzeW4gcmVnaW9uICBwbG1QcmVQcm9jCQlzdGFydD0iXlxzKlwkXHMqIiBza2lwPSJcXCQiIGVuZD0iJCIKKworIiBGSVhNRSA6IE5vIE51bWJlciBzdXBwb3J0IGZvciBmbG9hdHMsIGFzIEknbSB3b3JraW5nIG9uIGFuIGVtYmVkZGVkCisiIHByb2plY3QgdGhhdCBkb2Vzbid0IHVzZSBhbnkuCitzeW4gbWF0Y2ggICBwbG1OdW1iZXIJCSItXD1cPFxkXCtcPiIKK3N5biBtYXRjaCAgIHBsbU51bWJlcgkJIlw8WzAtOWEtZkEtRl0qW2hIXSpcPiIKKworIiBJZiB5b3UgZG9uJ3QgbGlrZSB0YWJzCisic3luIG1hdGNoIHBsbVNob3dUYWIgIlx0IgorInN5biBtYXRjaCBwbG1TaG93VGFiYyAiXHQiCisKKyJ3aGVuIHdhbnRlZCwgaGlnaGxpZ2h0IHRyYWlsaW5nIHdoaXRlIHNwYWNlCitpZiBleGlzdHMoImNfc3BhY2VfZXJyb3JzIikKKyAgc3luIG1hdGNoCXBsbVNwYWNlRXJyb3IJIlxzKiQiCisgIHN5biBtYXRjaAlwbG1TcGFjZUVycm9yCSIgXCtcdCJtZT1lLTEKK2VuZGlmCisKKyIKKyAgIiBVc2UgdGhlIHNhbWUgY29udHJvbCB2YXJpYWJsZSBhcyBDIGxhbmd1YWdlIGZvciBJIGJlbGlldmUKKyAgIiB1c2VycyB3aWxsIHdhbnQgdGhlIHNhbWUgYmVoYXZpb3IKK2lmIGV4aXN0cygiY19jb21tZW50X3N0cmluZ3MiKQorICAiIEZJWE1FIDogZG9uJ3Qgd29yayBmaW5lIHdpdGggY19jb21tZW50X3N0cmluZ3Mgc2V0LAorICAiCSAgICB3aGljaCBJIGRvbid0IGNhcmUgYXMgSSBkb24ndCB1c2UKKworICAiIEEgY29tbWVudCBjYW4gY29udGFpbiBwbG1TdHJpbmcsIHBsbUNoYXJhY3RlciBhbmQgcGxtTnVtYmVyLgorICAiIEJ1dCBhICIqLyIgaW5zaWRlIGEgcGxtU3RyaW5nIGluIGEgcGxtQ29tbWVudCBET0VTIGVuZCB0aGUgY29tbWVudCEgIFNvIHdlCisgICIgbmVlZCB0byB1c2UgYSBzcGVjaWFsIHR5cGUgb2YgcGxtU3RyaW5nOiBwbG1Db21tZW50U3RyaW5nLCB3aGljaCBhbHNvIGVuZHMgb24KKyAgIiAiKi8iLCBhbmQgc2VlcyBhICIqIiBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpbmUgYXMgY29tbWVudCBhZ2Fpbi4KKyAgc3ludGF4IG1hdGNoCXBsbUNvbW1lbnRTa2lwCWNvbnRhaW5lZCAiXlxzKlwqXCgkXHxcc1wrXCkiCisgIHN5bnRheCByZWdpb24gcGxtQ29tbWVudFN0cmluZwljb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBlbmQ9K1wqLyttZT1zLTEgY29udGFpbnM9cGxtU3BlY2lhbCxwbG1Db21tZW50U2tpcAorICBzeW50YXggcmVnaW9uIHBsbUNvbW1lbnQyU3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0iJCIgY29udGFpbnM9cGxtU3BlY2lhbAorICBzeW50YXggcmVnaW9uIHBsbUNvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPXBsbVRvZG8scGxtQ29tbWVudFN0cmluZyxwbG1DaGFyYWN0ZXIscGxtTnVtYmVyLHBsbUZsb2F0LHBsbVNwYWNlRXJyb3IKKyAgc3ludGF4IG1hdGNoICBwbG1Db21tZW50CSIvLy4qIiBjb250YWlucz1wbG1Ub2RvLHBsbUNvbW1lbnQyU3RyaW5nLHBsbUNoYXJhY3RlcixwbG1OdW1iZXIscGxtU3BhY2VFcnJvcgorZWxzZQorICBzeW4gcmVnaW9uCXBsbUNvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPXBsbVRvZG8scGxtU3BhY2VFcnJvcgorICBzeW4gbWF0Y2gJcGxtQ29tbWVudAkiLy8uKiIgY29udGFpbnM9cGxtVG9kbyxwbG1TcGFjZUVycm9yCitlbmRpZgorCitzeW50YXggbWF0Y2gJcGxtQ29tbWVudEVycm9yCSJcKi8iCisKK3N5biBrZXl3b3JkIHBsbVJlc2VydmVkCUFERFJFU1MgQU5EIEFUIEJBU0VEIEJZIEJZVEUgQ0FMTCBDQVNFCitzeW4ga2V5d29yZCBwbG1SZXNlcnZlZCBEQVRBIERFQ0xBUkUgRElTQUJMRSBETyBEV09SRAorc3luIGtleXdvcmQgcGxtUmVzZXJ2ZWQJRUxTRSBFTkFCTEUgRU5EIEVPRiBFWFRFUk5BTAorc3luIGtleXdvcmQgcGxtUmVzZXJ2ZWQgR08gR09UTyBIQUxUIElGIElOSVRJQUwgSU5URUdFUiBJTlRFUlJVUFQKK3N5biBrZXl3b3JkIHBsbVJlc2VydmVkIExBQkVMIExJVEVSQUxMWSBNSU5VUyBNT0QgTk9UIE9SCitzeW4ga2V5d29yZCBwbG1SZXNlcnZlZCBQTFVTIFBPSU5URVIgUFJPQ0VEVVJFIFBVQkxJQworc3luIGtleXdvcmQgcGxtUmVzZXJ2ZWQgUkVBTCBSRUVOVFJBTlQgUkVUVVJOIFNFTEVDVE9SIFNUUlVDVFVSRQorc3luIGtleXdvcmQgcGxtUmVzZXJ2ZWQgVEhFTiBUTyBXSElMRSBXT1JEIFhPUgorc3luIGtleXdvcmQgcGxtMzg2UmVzZXJ2ZWQgQ0hBUklOVCBIV09SRCBMT05HSU5UIE9GRlNFVCBRV09SRCBTSE9SVElOVAorCitzeW4ga2V5d29yZCBwbG1CdWlsdEluIEFCUyBBREpVU1RSUEwgQkxPQ0tJTlBVVCBCTE9DS0lOV09SRCBCTE9DS09VVFBVVAorc3luIGtleXdvcmQgcGxtQnVpbHRJbiBCTE9DS09VVFdPUkQgQlVJTFBUUiBDQVJSWSBDQVVTRUlOVEVSUlVQVCBDTVBCCitzeW4ga2V5d29yZCBwbG1CdWlsdEluIENNUFcgREVDIERPVUJMRSBGSU5EQiBGSU5EUkIgRklORFJXIEZJTkRXIEZJWAorc3luIGtleXdvcmQgcGxtQnVpbHRJbiBGTEFHUyBGTE9BVCBHRVRSRUFMRVJST1IgSElHSCBJQUJTIElOSVRSRUFMTUFUSFVOSVQKK3N5biBrZXl3b3JkIHBsbUJ1aWx0SW4gSU5QVVQgSU5UIElOV09SRCBMQVNUIExPQ0tTRVQgTEVOR1RIIExPVyBNT1ZCIE1PVkUKK3N5biBrZXl3b3JkIHBsbUJ1aWx0SW4gTU9WUkIgTU9WUlcgTU9WVyBOSUwgT1VUUFVUIE9VVFdPUkQgUkVTVE9SRVJFQUxTVEFUVVMKK3N5biBrZXl3b3JkIHBsbUJ1aWx0SW4gUk9MIFJPUiBTQUwgU0FWRVJFQUxTVEFUVVMgU0NMIFNDUiBTRUxFQ1RPUk9GIFNFVEIKK3N5biBrZXl3b3JkIHBsbUJ1aWx0SW4gU0VUUkVBTE1PREUgU0VUVyBTSEwgU0hSIFNJR04gU0lHTkVEIFNJWkUgU0tJUEIKK3N5biBrZXl3b3JkIHBsbUJ1aWx0SW4gU0tJUFJCIFNLSVBSVyBTS0lQVyBTVEFDS0JBU0UgU1RBQ0tQVFIgVElNRSBTSVpFCitzeW4ga2V5d29yZCBwbG1CdWlsdEluIFVOU0lHTiBYTEFUIFpFUk8KK3N5biBrZXl3b3JkIHBsbTM4NkJ1aWx0SW4gSU5URVJSVVBUIFNFVElOVEVSUlVQVAorc3luIGtleXdvcmQgcGxtMjg2QnVpbHRJbiBDTEVBUlRBU0tTV0lUQ0hFREZMQUcgR0VUQUNDRVNTUklHSFRTCitzeW4ga2V5d29yZCBwbG0yODZCdWlsdEluIEdFVFNFR01FTlRMSU1JVCBMT0NBTFRBQkxFIE1BQ0hJTkVTVEFUVVMKK3N5biBrZXl3b3JkIHBsbTI4NkJ1aWx0SW4gT0ZGU0VUT0YgUEFSSVRZIFJFU1RPUkVHTE9CQUxUQUJMRQorc3luIGtleXdvcmQgcGxtMjg2QnVpbHRJbiBSRVNUT1JFSU5URVJSVVBUVEFCTEUgU0FWRUdMT0JBTFRBQkxFCitzeW4ga2V5d29yZCBwbG0yODZCdWlsdEluIFNBVkVJTlRFUlJVUFRUQUJMRSBTRUdNRU5UUkVBREFCTEUKK3N5biBrZXl3b3JkIHBsbTI4NkJ1aWx0SW4gU0VHTUVOVFdSSVRBQkxFIFRBU0tSRUdJU1RFUiBXQUlURk9SSU5URVJSVVBUCitzeW4ga2V5d29yZCBwbG0zODZCdWlsdEluIENPTlRST0xSRUdJU1RFUiBERUJVR1JFR0lTVEVSIEZJTkRIVworc3luIGtleXdvcmQgcGxtMzg2QnVpbHRJbiBGSU5EUkhXIElOSFdPUkQgTU9WQklUIE1PVlJCSVQgTU9WSFcgTU9WUkhXCitzeW4ga2V5d29yZCBwbG0zODZCdWlsdEluIE9VVEhXT1JEIFNDQU5CSVQgU0NBTlJCSVQgU0VUSFcgU0hMRCBTSFJECitzeW4ga2V5d29yZCBwbG0zODZCdWlsdEluIFNLSVBIVyBTS0lQUkhXIFRFU1RSRUdJU1RFUgorc3luIGtleXdvcmQgcGxtMzg2dzE2QnVpbHRJbiBCTE9DS0lORFdPUkQgQkxPQ0tPVVREV09SRCBDTVBEIEZJTkRECitzeW4ga2V5d29yZCBwbG0zODZ3MTZCdWlsdEluIEZJTkRSRCBJTkRXT1JEIE1PVkQgTU9WUkQgT1VURFdPUkQKK3N5biBrZXl3b3JkIHBsbTM4NncxNkJ1aWx0SW4gU0VURCBTS0lQRCBTS0lQUkQKKworc3luIHN5bmMgbGluZXM9NTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcGxtX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3BsbV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorIiAgSGlMaW5rIHBsbUxhYmVsCQkJTGFiZWwKKyIgIEhpTGluayBwbG1Db25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKyIgIEhpTGluayBwbG1SZXBlYXQJCQlSZXBlYXQKKyAgSGlMaW5rIHBsbVRvZG8JCQlUb2RvCisgIEhpTGluayBwbG1OdW1iZXIJCQlOdW1iZXIKKyAgSGlMaW5rIHBsbU9wZXJhdG9yCQkJT3BlcmF0b3IKKyAgSGlMaW5rIHBsbURlbGltaXRlcgkJCU9wZXJhdG9yCisgICJIaUxpbmsgcGxtU2hvd1RhYgkJCUVycm9yCisgICJIaUxpbmsgcGxtU2hvd1RhYmMJCQlFcnJvcgorICBIaUxpbmsgcGxtSWRlbnRpZmllcgkJCUlkZW50aWZpZXIKKyAgSGlMaW5rIHBsbUJ1aWx0SW4JCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHBsbTI4NkJ1aWx0SW4JCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHBsbTM4NkJ1aWx0SW4JCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHBsbTM4NncxNkJ1aWx0SW4JCVN0YXRlbWVudAorICBIaUxpbmsgcGxtUmVzZXJ2ZWQJCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHBsbTM4NlJlc2VydmVkCQkJU3RhdGVtZW50CisgIEhpTGluayBwbG1QcmVQcm9jCQkJUHJlUHJvYworICBIaUxpbmsgcGxtQ29tbWVudEVycm9yCQlwbG1FcnJvcgorICBIaUxpbmsgcGxtQ29tbWVudFN0cmluZwkJcGxtU3RyaW5nCisgIEhpTGluayBwbG1Db21tZW50MlN0cmluZwkJcGxtU3RyaW5nCisgIEhpTGluayBwbG1Db21tZW50U2tpcAkJCXBsbUNvbW1lbnQKKyAgSGlMaW5rIHBsbVN0cmluZwkJCVN0cmluZworICBIaUxpbmsgcGxtQ29tbWVudAkJCUNvbW1lbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGxtIgorCisiIHZpbTogdHM9OCBzdz0yCisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BscC52aW0gYi9ydW50aW1lL3N5bnRheC9wbHAudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1OTcwMmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wbHAudmltCkBAIC0wLDAgKzEsNDUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglQTFAgKFBlcmwgaW4gSFRNTCkKKyIgTWFpbnRhaW5lcjoJSnVlcmQgPGp1ZXJkQGp1ZXJkLm5sPgorIiBMYXN0IENoYW5nZToJMjAwMyBBcHIgMjUKKyIgQ2xvbmVkIEZyb206CWFzcHBlcmwudmltCisKKyIgQWRkIHRvIGZpbGV0eXBlLnZpbSB0aGUgZm9sbG93aW5nIGxpbmUgKHdpdGhvdXQgcXVvdGUgc2lnbik6CisiIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnBscCBzZXRmIHBscAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgbGV0IG1haW5fc3ludGF4ID0gJ3BlcmxzY3JpcHQnCitlbmRpZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvIDxzZmlsZT46cDpoL2h0bWwudmltCisgIHN5biBpbmNsdWRlIEBQTFBwZXJsIDxzZmlsZT46cDpoL3BlcmwudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9odG1sLnZpbQorICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CisgIHN5biBpbmNsdWRlIEBQTFBwZXJsIHN5bnRheC9wZXJsLnZpbQorZW5kaWYKKworc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPVBMUHBlcmxibG9jaworCitzeW4ga2V5d29yZCBwZXJsQ29udHJvbCBQTFBfRU5ECitzeW4ga2V5d29yZCBwZXJsU3RhdGVtZW50SW5jbHVkZSBpbmNsdWRlIEluY2x1ZGUKK3N5biBrZXl3b3JkIHBlcmxTdGF0ZW1lbnRGaWxlcyBSZWFkRmlsZSBXcml0ZUZpbGUgQ291bnRlcgorc3luIGtleXdvcmQgcGVybFN0YXRlbWVudFNjYWxhciBFbnRpdHkgQXV0b1VSTCBEZWNvZGVVUkkgRW5jb2RlVVJJCisKK3N5biBjbHVzdGVyIFBMUHBlcmxjb2RlIGNvbnRhaW5zPXBlcmxTdGF0ZW1lbnQuKixwZXJsRnVuY3Rpb24scGVybE9wZXJhdG9yLHBlcmxWYXJQbGFpbixwZXJsVmFyTm90SW5NYXRjaGVzLHBlcmxTaGVsbENvbW1hbmQscGVybEZsb2F0LHBlcmxOdW1iZXIscGVybFN0cmluZ1VuZXhwYW5kZWQscGVybFN0cmluZyxwZXJsUVEscGVybENvbnRyb2wscGVybENvbmRpdGlvbmFsLHBlcmxSZXBlYXQscGVybENvbW1lbnQscGVybFBPRCxwZXJsSGVyZURvYyxwZXJsUGFja2FnZURlY2wscGVybEVsc2VJZkVycm9yLHBlcmxGaWxlZGVzY1JlYWQscGVybE1hdGNoCisKK3N5biByZWdpb24gIFBMUHBlcmxibG9jayBrZWVwZW5kIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSs8Oj1cPSsgZW5kPSs6PisgdHJhbnNwYXJlbnQgY29udGFpbnM9QFBMUHBlcmxjb2RlCisKK3N5biByZWdpb24gIFBMUGluY2x1ZGUga2VlcGVuZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0rPCgrIGVuZD0rKT4rCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBscCIKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGxzcWwudmltIGIvcnVudGltZS9zeW50YXgvcGxzcWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNTEzNjYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wbHNxbC52aW0KQEAgLTAsMCArMSwyNzcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiBPcmFjbGUgUHJvY2VkdXJlYWwgU1FMIChQTC9TUUwpCisiIE1haW50YWluZXI6IEplZmYgTGFuemFyb3R0YSAoamVmZmxhbnphcm90dGEgYXQgeWFob28gZG90IGNvbSkKKyIgT3JpZ2luYWwgTWFpbnRhaW5lcjogQy4gTGF1cmVuY2UgR29uc2FsdmVzIChjbGdvbnNhbEBrYW1pLmNvbSkKKyIgVVJMOiBodHRwOi8vbGFuemFyb3R0YS50cmlwb2QuY29tL3ZpbS9zeW50YXgvcGxzcWwudmltLnppcAorIiBMYXN0IENoYW5nZTogU2VwdGVtYmVyIDE4LCAyMDAyCisiIEhpc3Rvcnk6IEdlb2ZmIEV2YW5zICYgQmlsbCBQcmlieWwgKGJpbGwgYXQgcGxuZXQgZG90IG9yZykKKyIJCUFkZGVkIDlpIGtleXdvcmRzLgorIgkgICBBdXN0aW4gWmllZ2xlciAoYXVzdGluIGF0IGhhbG9zdGF0dWUgZG90IGNhKQorIgkJQWRkZWQgOGkrIGZlYXR1cmVzLgorIgorIiBGb3IgdmVyc2lvbiA1LngsIGNsZWFyIGFsbCBzeW50YXggaXRlbXMuCisiIEZvciB2ZXJzaW9uIDYueCwgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgVG9kby4KK3N5biBrZXl3b3JkIHBsc3FsVG9kbyBUT0RPIEZJWE1FIFhYWCBERUJVRyBOT1RFCitzeW4gY2x1c3RlciBwbHNxbENvbW1lbnRHcm91cCBjb250YWlucz1wbHNxbFRvZG8KKworc3luIGNhc2UgaWdub3JlCisKK3N5biBtYXRjaCAgIHBsc3FsR2FyYmFnZSAiW14gXHQoKV0iCitzeW4gbWF0Y2ggICBwbHNxbElkZW50aWZpZXIgIlthLXpdW2EtejAtOSRfI10qIgorc3luIG1hdGNoICAgcGxzcWxIb3N0SWRlbnRpZmllciAiOlthLXpdW2EtejAtOSRfI10qIgorCisiIFdoZW4gd2FudGVkLCBoaWdobGlnaHQgdGhlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCitpZiBleGlzdHMoImNfc3BhY2VfZXJyb3JzIikKKyAgaWYgIWV4aXN0cygiY19ub190cmFpbF9zcGFjZV9lcnJvciIpCisgICAgc3luIG1hdGNoIHBsc3FsU3BhY2VFcnJvciAiXHNcKyQiCisgIGVuZGlmCisKKyAgaWYgIWV4aXN0cygiY19ub190YWJfc3BhY2VfZXJyb3IiKQorICAgIHN5biBtYXRjaCBwbHNxbFNwYWNlRXJyb3IgIiBcK1x0Im1lPWUtMQorICBlbmRpZgorZW5kaWYKKworIiBTeW1ib2xzLgorc3luIG1hdGNoICAgcGxzcWxTeW1ib2wgIlwoO1x8LFx8XC5cKSIKKworIiBPcGVyYXRvcnMuCitzeW4gbWF0Y2ggICBwbHNxbE9wZXJhdG9yICJcKCtcfC1cfFwqXHwvXHw9XHw8XHw+XHxAXHxcKlwqXHwhPVx8XH49XCkiCitzeW4gbWF0Y2ggICBwbHNxbE9wZXJhdG9yICJcKF49XHw8PVx8Pj1cfDo9XHw9Plx8XC5cLlx8fHxcfDw8XHw+Plx8XCJcKSIKKworIiBTb21lIG9mIE9yYWNsZSdzIFNRTCBrZXl3b3Jkcy4KK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBBQk9SVCBBQ0NFU1MgQUNDRVNTRUQgQUREIEFGVEVSIEFMTCBBTFRFUiBBTkQgQU5ZCitzeW4ga2V5d29yZCBwbHNxbFNRTEtleXdvcmQgQVMgQVNDIEFUVFJJQlVURSBBVURJVCBBVVRIT1JJWkFUSU9OIEFWRyBCQVNFX1RBQkxFCitzeW4ga2V5d29yZCBwbHNxbFNRTEtleXdvcmQgQkVGT1JFIEJFVFdFRU4gQlkgQ0FTQ0FERSBDQVNUIENIRUNLIENMVVNURVIKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBDTFVTVEVSUyBDT0xBVVRIIENPTFVNTiBDT01NRU5UIENPTVBSRVNTIENPTk5FQ1QKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBDT05TVFJBSU5UIENSQVNIIENSRUFURSBDVVJSRU5UIERBVEEgREFUQUJBU0UKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBEQVRBX0JBU0UgREJBIERFRkFVTFQgREVMQVkgREVMRVRFIERFU0MgRElTVElOQ1QKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBEUk9QIERVQUwgRUxTRSBFWENMVVNJVkUgRVhJU1RTIEVYVEVORFMgRVhUUkFDVAorc3luIGtleXdvcmQgcGxzcWxTUUxLZXl3b3JkIEZJTEUgRk9SQ0UgRk9SRUlHTiBGUk9NIEdSQU5UIEdST1VQIEhBVklORyBIRUFQCitzeW4ga2V5d29yZCBwbHNxbFNRTEtleXdvcmQgSURFTlRJRklFRCBJREVOVElGSUVSIElNTUVESUFURSBJTiBJTkNMVURJTkcKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBJTkNSRU1FTlQgSU5ERVggSU5ERVhFUyBJTklUSUFMIElOU0VSVCBJTlNURUFECitzeW4ga2V5d29yZCBwbHNxbFNRTEtleXdvcmQgSU5URVJTRUNUIElOVE8gSU5WQUxJREFURSBJUyBJU09MQVRJT04gS0VZIExJQlJBUlkKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBMSUtFIExPQ0sgTUFYRVhURU5UUyBNSU5VUyBNT0RFIE1PRElGWSBNVUxUSVNFVAorc3luIGtleXdvcmQgcGxzcWxTUUxLZXl3b3JkIE5FU1RFRCBOT0FVRElUIE5PQ09NUFJFU1MgTk9UIE5PV0FJVCBPRiBPRkYgT0ZGTElORQorc3luIGtleXdvcmQgcGxzcWxTUUxLZXl3b3JkIE9OIE9OTElORSBPUEVSQVRPUiBPUFRJT04gT1IgT1JERVIgT1JHQU5JWkFUSU9OCitzeW4ga2V5d29yZCBwbHNxbFNRTEtleXdvcmQgUENURlJFRSBQUklNQVJZIFBSSU9SIFBSSVZBVEUgUFJJVklMRUdFUyBQVUJMSUMKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBRVU9UQSBSRUxFQVNFIFJFTkFNRSBSRVBMQUNFIFJFU09VUkNFIFJFVk9LRSBST0xMQkFDSworc3luIGtleXdvcmQgcGxzcWxTUUxLZXl3b3JkIFJPVyBST1dMQUJFTCBST1dTIFNDSEVNQSBTRUxFQ1QgU0VQQVJBVEUgU0VTU0lPTiBTRVQKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBTSEFSRSBTSVpFIFNQQUNFIFNUQVJUIFNUT1JFIFNVQ0NFU1NGVUwgU1lOT05ZTQorc3luIGtleXdvcmQgcGxzcWxTUUxLZXl3b3JkIFNZU0RBVEUgVEFCTEUgVEFCTEVTIFRBQkxFU1BBQ0UgVEVNUE9SQVJZIFRPIFRSRUFUCitzeW4ga2V5d29yZCBwbHNxbFNRTEtleXdvcmQgVFJJR0dFUiBUUlVOQ0FURSBVSUQgVU5JT04gVU5JUVVFIFVOTElNSVRFRCBVUERBVEUKK3N5biBrZXl3b3JkIHBsc3FsU1FMS2V5d29yZCBVU0UgVVNFUiBWQUxJREFURSBWQUxVRVMgVklFVyBXSEVORVZFUiBXSEVSRSBXSVRICisKKyIgUEwvU1FMJ3Mgb3duIGtleXdvcmRzLgorc3luIGtleXdvcmQgcGxzcWxLZXl3b3JkIEFHRU5UIEFORCBBTlkgQVJSQVkgQVNTSUdOIEFTIEFUIEFVVEhJRCBCRUdJTiBCT0RZIEJZCitzeW4ga2V5d29yZCBwbHNxbEtleXdvcmQgQlVMSyBDIENBU0UgQ0hBUl9CQVNFIENIQVJTRVRGT1JNIENIQVJTRVRJRCBDTE9TRQorc3luIGtleXdvcmQgcGxzcWxLZXl3b3JkIENPTExFQ1QgQ09OU1RBTlQgQ09OU1RSVUNUT1IgQ09OVEVYVCBDVVJSVkFMIERFQ0xBUkUKK3N5biBrZXl3b3JkIHBsc3FsS2V5d29yZCBEVk9JRCBFWENFUFRJT04gRVhDRVBUSU9OX0lOSVQgRVhFQ1VURSBFWElUIEZFVENICitzeW4ga2V5d29yZCBwbHNxbEtleXdvcmQgRklOQUwgRlVOQ1RJT04gR09UTyBIQVNIIElNTUVESUFURSBJTiBJTkRJQ0FUT1IKK3N5biBrZXl3b3JkIHBsc3FsS2V5d29yZCBJTlNUQU5USUFCTEUgSVMgSkFWQSBMQU5HVUFHRSBMSUJSQVJZIE1BUCBNQVhMRU4KK3N5biBrZXl3b3JkIHBsc3FsS2V5d29yZCBNRU1CRVIgTkFNRSBORVcgTk9DT1BZIE5VTUJFUl9CQVNFIE9CSkVDVCBPQ0lDT0xMCitzeW4ga2V5d29yZCBwbHNxbEtleXdvcmQgT0NJREFURSBPQ0lEQVRFVElNRSBPQ0lMT0JMT0NBVE9SIE9DSU5VTUJFUiBPQ0lSQVcKK3N5biBrZXl3b3JkIHBsc3FsS2V5d29yZCBPQ0lTVFJJTkcgT0YgT1BBUVVFIE9QRU4gT1IgT1JERVIgT1RIRVJTIE9VVAorc3luIGtleXdvcmQgcGxzcWxLZXl3b3JkIE9WRVJSSURJTkcgUEFDS0FHRSBQQVJBTExFTF9FTkFCTEUgUEFSQU1FVEVSUworc3luIGtleXdvcmQgcGxzcWxLZXl3b3JkIFBBUlRJVElPTiBQSVBFTElORUQgUFJBR01BIFBST0NFRFVSRSBSQUlTRSBSQU5HRSBSRUYKK3N5biBrZXl3b3JkIHBsc3FsS2V5d29yZCBSRVNVTFQgUkVUVVJOIFJFVkVSU0UgUk9XVFlQRSBTQjEgU0VMRiBTSE9SVCBTSVpFX1QKK3N5biBrZXl3b3JkIHBsc3FsS2V5d29yZCBTUUwgU1FMQ09ERSBTUUxFUlJNIFNUQVRJQyBTVFJVQ1QgU1VCVFlQRSBURE8gVEhFTgorc3luIGtleXdvcmQgcGxzcWxLZXl3b3JkIFRBQkxFIFRJTUVaT05FX0FCQlIgVElNRVpPTkVfSE9VUiBUSU1FWk9ORV9NSU5VVEUKK3N5biBrZXl3b3JkIHBsc3FsS2V5d29yZCBUSU1FWk9ORV9SRUdJT04gVFlQRSBVTkRFUiBVTlNJR05FRCBVU0lORyBWQVJJQU5DRQorc3luIGtleXdvcmQgcGxzcWxLZXl3b3JkIFZBUlJBWSBWQVJZSU5HIFdIRU4gV1JJVEUKK3N5biBtYXRjaCAgIHBsc3FsS2V5d29yZCAiXDxFTkRcPiIKK3N5biBtYXRjaCAgIHBsc3FsS2V5d29yZCAiXC5DT1VOVFw+ImhzPXMrMQorc3luIG1hdGNoICAgcGxzcWxLZXl3b3JkICJcLkVYSVNUU1w+ImhzPXMrMQorc3luIG1hdGNoICAgcGxzcWxLZXl3b3JkICJcLkZJUlNUXD4iaHM9cysxCitzeW4gbWF0Y2ggICBwbHNxbEtleXdvcmQgIlwuTEFTVFw+ImhzPXMrMQorc3luIG1hdGNoICAgcGxzcWxLZXl3b3JkICJcLkRFTEVURVw+ImhzPXMrMQorc3luIG1hdGNoICAgcGxzcWxLZXl3b3JkICJcLlBSRVZcPiJocz1zKzEKK3N5biBtYXRjaCAgIHBsc3FsS2V5d29yZCAiXC5ORVhUXD4iaHM9cysxCisKKyIgUEwvU1FMIGZ1bmN0aW9ucy4KK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gQUJTIEFDT1MgQUREX01PTlRIUyBBU0NJSSBBU0NJSVNUUiBBU0lOIEFUQU4gQVRBTjIKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gQkZJTEVOQU1FIEJJVEFORCBDRUlMIENIQVJUT1JPV0lEIENIUiBDT0FMRVNDRQorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBDT01NSVQgQ09NTUlUX0NNIENPTVBPU0UgQ09OQ0FUICBDT05WRVJUICBDT1MgQ09TSAorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBDT1VOVCBDVUJFIENVUlJFTlRfREFURSBDVVJSRU5UX1RJTUUgQ1VSUkVOVF9USU1FU1RBTVAKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gREJUSU1FWk9ORSBERUNPREUgREVDT01QT1NFIERFUkVGIERVTVAgRU1QVFlfQkxPQgorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBFTVBUWV9DTE9CIEVYSVNUUyBFWFAgRkxPT1IgRlJPTV9UWiBHRVRCTkQgR0xCCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIEdSRUFURVNUIEdSRUFURVNUX0xCIEdST1VQSU5HIEhFWFRPUkFXICBJTklUQ0FQCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIElOU1RSIElOU1RSMiBJTlNUUjQgSU5TVFJCIElOU1RSQyBJU05DSEFSIExBU1RfREFZCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIExFQVNUIExFQVNUX1VCIExFTkdUSCBMRU5HVEgyIExFTkdUSDQgTEVOR1RIQiBMRU5HVEhDCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIExOIExPQ0FMVElNRSBMT0NBTFRJTUVTVEFNUCBMT0cgTE9XRVIgTFBBRAorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBMVFJJTSBMVUIgTUFLRV9SRUYgTUFYIE1JTiBNT0QgTU9OVEhTX0JFVFdFRU4KK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gTkNIQVJUT1JPV0lEIE5DSFIgTkVXX1RJTUUgTkVYVF9EQVkgTkhFWFRPUkFXCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIE5MU19DSEFSU0VUX0RFQ0xfTEVOIE5MU19DSEFSU0VUX0lEIE5MU19DSEFSU0VUX05BTUUKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gTkxTX0lOSVRDQVAgTkxTX0xPV0VSIE5MU1NPUlQgTkxTX1VQUEVSIE5VTExGTiBOVUxMSUYKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gTlVNVE9EU0lOVEVSVkFMIE5VTVRPWU1JTlRFUlZBTCBOVkwgUE9XRVIKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gUkFJU0VfQVBQTElDQVRJT05fRVJST1IgUkFXVE9IRVggUkFXVE9OSEVYIFJFRgorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBSRUZUT0hFWCBSRVBMQUNFIFJPTExCQUNLX05SIFJPTExCQUNLX1NWIFJPTExVUCBST1VORAorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBST1dJRFRPQ0hBUiBST1dJRFRPTkNIQVIgUk9XTEFCRUwgUlBBRCBSVFJJTQorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBTQVZFUE9JTlQgU0VTU0lPTlRJTUVaT05FIFNFVEJORCBTRVRfVFJBTlNBQ1RJT05fVVNFCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIFNJR04gU0lOIFNJTkggU09VTkRFWCBTUUxDT0RFIFNRTEVSUk0gU1FSVCBTVERERVYKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gU1VCU1RSIFNVQlNUUjIgU1VCU1RSNCBTVUJTVFJCIFNVQlNUUkMgU1VNCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIFNZU19BVF9USU1FX1pPTkUgU1lTX0NPTlRFWFQgU1lTREFURSBTWVNfRVhUUkFDVF9VVEMKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gU1lTX0dVSUQgU1lTX0xJVEVSQUxUT0RBVEUgU1lTX0xJVEVSQUxUT0RTSU5URVJWQUwKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gU1lTX0xJVEVSQUxUT1RJTUUgU1lTX0xJVEVSQUxUT1RJTUVTVEFNUAorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBTWVNfTElURVJBTFRPVFpUSU1FIFNZU19MSVRFUkFMVE9UWlRJTUVTVEFNUAorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBTWVNfTElURVJBTFRPWU1JTlRFUlZBTCBTWVNfT1ZFUl9fREQgU1lTX09WRVJfX0RJCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIFNZU19PVkVSX19JRCBTWVNfT1ZFUl9JSUQgU1lTX09WRVJfSUlUCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIFNZU19PVkVSX19JVCBTWVNfT1ZFUl9fVEkgU1lTX09WRVJfX1RUCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIFNZU1RJTUVTVEFNUCBUQU4gVEFOSCBUT19BTllMT0IgVE9fQkxPQiBUT19DSEFSCitzeW4ga2V5d29yZCBwbHNxbEZ1bmN0aW9uIFRPX0NMT0IgVE9fREFURSBUT19EU0lOVEVSVkFMIFRPX0xBQkVMIFRPX01VTFRJX0JZVEUKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gVE9fTkNIQVIgVE9fTkNMT0IgVE9fTlVNQkVSIFRPX1JBVyBUT19TSU5HTEVfQllURQorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBUT19USU1FIFRPX1RJTUVTVEFNUCBUT19USU1FU1RBTVBfVFogVE9fVElNRV9UWgorc3luIGtleXdvcmQgcGxzcWxGdW5jdGlvbiBUT19ZTUlOVEVSVkFMIFRSQU5TTEFURSBUUkVBVCBUUklNIFRSVU5DIFRaX09GRlNFVCBVSUQKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gVU5JU1RSIFVQUEVSIFVST1dJRCBVU0VSIFVTRVJFTlYgVkFMVUUgVkFSSUFOQ0UKK3N5biBrZXl3b3JkIHBsc3FsRnVuY3Rpb24gVlNJWkUgV09SSyBYT1IKK3N5biBtYXRjaCAgIHBsc3FsRnVuY3Rpb24gIlw8U1lTXCRMT0JfUkVQTElDQVRJT05cPiIKKworIiBQTC9TUUwgRXhjZXB0aW9ucworc3luIGtleXdvcmQgcGxzcWxFeGNlcHRpb24gQUNDRVNTX0lOVE9fTlVMTCBDQVNFX05PVF9GT1VORCBDT0xMRUNUSU9OX0lTX05VTEwKK3N5biBrZXl3b3JkIHBsc3FsRXhjZXB0aW9uIENVUlNPUl9BTFJFQURZX09QRU4gRFVQX1ZBTF9PTl9JTkRFWCBJTlZBTElEX0NVUlNPUgorc3luIGtleXdvcmQgcGxzcWxFeGNlcHRpb24gSU5WQUxJRF9OVU1CRVIgTE9HSU5fREVOSUVEIE5PX0RBVEFfRk9VTkQKK3N5biBrZXl3b3JkIHBsc3FsRXhjZXB0aW9uIE5PVF9MT0dHRURfT04gUFJPR1JBTV9FUlJPUiBST1dUWVBFX01JU01BVENICitzeW4ga2V5d29yZCBwbHNxbEV4Y2VwdGlvbiBTRUxGX0lTX05VTEwgU1RPUkFHRV9FUlJPUiBTVUJTQ1JJUFRfQkVZT05EX0NPVU5UCitzeW4ga2V5d29yZCBwbHNxbEV4Y2VwdGlvbiBTVUJTQ1JJUFRfT1VUU0lERV9MSU1JVCBTWVNfSU5WQUxJRF9ST1dJRAorc3luIGtleXdvcmQgcGxzcWxFeGNlcHRpb24gVElNRU9VVF9PTl9SRVNPVVJDRSBUT09fTUFOWV9ST1dTIFZBTFVFX0VSUk9SCitzeW4ga2V5d29yZCBwbHNxbEV4Y2VwdGlvbiBaRVJPX0RJVklERQorCisiIE9yYWNsZSBQc2V1ZG8gQ29sdW1zLgorc3luIGtleXdvcmQgcGxzcWxQc2V1ZG8gQ1VSUlZBTCBMRVZFTCBORVhUVkFMIFJPV0lEIFJPV05VTQorCitpZiBleGlzdHMoInBsc3FsX2hpZ2hsaWdodF90cmlnZ2VycyIpCisgIHN5biBrZXl3b3JkIHBsc3FsVHJpZ2dlciBJTlNFUlRJTkcgVVBEQVRJTkcgREVMRVRJTkcKK2VuZGlmCisKKyIgQ29uZGl0aW9uYWxzLgorc3luIGtleXdvcmQgcGxzcWxDb25kaXRpb25hbCBFTFNJRiBFTFNFIElGCitzeW4gbWF0Y2ggICBwbHNxbENvbmRpdGlvbmFsICJcPEVORFxzXCtJRlw+IgorCisiIExvb3BzLgorc3luIGtleXdvcmQgcGxzcWxSZXBlYXQgRk9SIExPT1AgV0hJTEUgRk9SQUxMCitzeW4gbWF0Y2ggICBwbHNxbFJlcGVhdCAiXDxFTkRcc1wrTE9PUFw+IgorCisiIFZhcmlvdXMgdHlwZXMgb2YgY29tbWVudHMuCitpZiBleGlzdHMoImNfY29tbWVudF9zdHJpbmdzIikKKyAgc3ludGF4IG1hdGNoIHBsc3FsQ29tbWVudFNraXAgY29udGFpbmVkICJeXHMqXCpcKCRcfFxzXCtcKSIKKyAgc3ludGF4IHJlZ2lvbiBwbHNxbENvbW1lbnRTdHJpbmcgY29udGFpbmVkIHN0YXJ0PStMXD0iKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZW5kPStcKi8rbWU9cy0xIGNvbnRhaW5zPXBsc3FsQ29tbWVudFNraXAKKyAgc3ludGF4IHJlZ2lvbiBwbHNxbENvbW1lbnQyU3RyaW5nIGNvbnRhaW5lZCBzdGFydD0rTFw9Iisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0iJCIKKyAgc3ludGF4IHJlZ2lvbiBwbHNxbENvbW1lbnRMIHN0YXJ0PSItLSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGtlZXBlbmQgY29udGFpbnM9QHBsc3FsQ29tbWVudEdyb3VwLHBsc3FsQ29tbWVudDJTdHJpbmcscGxzcWxDaGFyTGl0ZXJhbCxwbHNxbEJvb2xlYW5MaXRlcmFsLHBsc3FsTnVtYmVyc0NvbSxwbHNxbFNwYWNlRXJyb3IKKyAgc3ludGF4IHJlZ2lvbiBwbHNxbENvbW1lbnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPUBwbHNxbENvbW1lbnRHcm91cCxwbHNxbENvbW1lbnQyU3RyaW5nLHBsc3FsQ2hhckxpdGVyYWwscGxzcWxCb29sZWFuTGl0ZXJhbCxwbHNxbE51bWJlcnNDb20scGxzcWxTcGFjZUVycm9yCitlbHNlCisgIHN5bnRheCByZWdpb24gcGxzcWxDb21tZW50TCBzdGFydD0iLS0iIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPUBwbHNxbENvbW1lbnRHcm91cCxwbHNxbFNwYWNlRXJyb3IKKyAgc3ludGF4IHJlZ2lvbiBwbHNxbENvbW1lbnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPUBwbHNxbENvbW1lbnRHcm91cCxwbHNxbFNwYWNlRXJyb3IKK2VuZGlmCisKK3N5biBzeW5jIGNjb21tZW50IHBsc3FsQ29tbWVudAorc3luIHN5bmMgY2NvbW1lbnQgcGxzcWxDb21tZW50TAorCisiIFRvIGNhdGNoIHVudGVybWluYXRlZCBzdHJpbmcgbGl0ZXJhbHMuCitzeW4gbWF0Y2ggICBwbHNxbFN0cmluZ0Vycm9yICInLiokIgorCisiIFZhcmlvdXMgdHlwZXMgb2YgbGl0ZXJhbHMuCitzeW4gbWF0Y2ggICBwbHNxbE51bWJlcnMgdHJhbnNwYXJlbnQgIlw8WystXVw9XGRcfFsrLV1cPVwuXGQiIGNvbnRhaW5zPXBsc3FsSW50TGl0ZXJhbCxwbHNxbEZsb2F0TGl0ZXJhbAorc3luIG1hdGNoICAgcGxzcWxOdW1iZXJzQ29tIGNvbnRhaW5lZCB0cmFuc3BhcmVudCAiXDxbKy1dXD1cZFx8WystXVw9XC5cZCIgY29udGFpbnM9cGxzcWxJbnRMaXRlcmFsLHBsc3FsRmxvYXRMaXRlcmFsCitzeW4gbWF0Y2ggICBwbHNxbEludExpdGVyYWwgY29udGFpbmVkICJbKy1dXD1cZFwrIgorc3luIG1hdGNoICAgcGxzcWxGbG9hdExpdGVyYWwgY29udGFpbmVkICJbKy1dXD1cZFwrXC5cZCoiCitzeW4gbWF0Y2ggICBwbHNxbEZsb2F0TGl0ZXJhbCBjb250YWluZWQgIlsrLV1cPVxkKlwuXGQqIgorc3luIG1hdGNoICAgcGxzcWxDaGFyTGl0ZXJhbCAgICAiJ1teJ10nIgorc3luIG1hdGNoICAgcGxzcWxTdHJpbmdMaXRlcmFsICAiJ1woW14nXVx8JydcKSonIgorc3luIGtleXdvcmQgcGxzcWxCb29sZWFuTGl0ZXJhbCBUUlVFIEZBTFNFIE5VTEwKKworIiBUaGUgYnVpbHQtaW4gdHlwZXMuCitzeW4ga2V5d29yZCBwbHNxbFN0b3JhZ2UgQU5ZREFUQSBBTllUWVBFIEJGSUxFIEJJTkFSWV9JTlRFR0VSIEJMT0IgQk9PTEVBTgorc3luIGtleXdvcmQgcGxzcWxTdG9yYWdlIEJZVEUgQ0hBUiBDSEFSQUNURVIgQ0xPQiBDVVJTT1IgREFURSBEQVkgREVDIERFQ0lNQUwKK3N5biBrZXl3b3JkIHBsc3FsU3RvcmFnZSBET1VCTEUgRFNJTlRFUlZBTF9VTkNPTlNUUkFJTkVEIEZMT0FUIEhPVVIKK3N5biBrZXl3b3JkIHBsc3FsU3RvcmFnZSBJTlQgSU5URUdFUiBJTlRFUlZBTCBMT0IgTE9ORyBNSU5VVEUKK3N5biBrZXl3b3JkIHBsc3FsU3RvcmFnZSBNTFNMQUJFTCBNT05USCBOQVRVUkFMIE5BVFVSQUxOIE5DSEFSIE5DSEFSX0NTIE5DTE9CCitzeW4ga2V5d29yZCBwbHNxbFN0b3JhZ2UgTlVNQkVSIE5VTUVSSUMgTlZBUkNIQVIgUExTX0lOVCBQTFNfSU5URUdFUgorc3luIGtleXdvcmQgcGxzcWxTdG9yYWdlIFBPU0lUSVZFIFBPU0lUSVZFTiBQUkVDSVNJT04gUkFXIFJFQUwgUkVDT1JECitzeW4ga2V5d29yZCBwbHNxbFN0b3JhZ2UgU0VDT05EIFNJR05UWVBFIFNNQUxMSU5UIFNUUklORyBTWVNfUkVGQ1VSU09SIFRBQkxFIFRJTUUKK3N5biBrZXl3b3JkIHBsc3FsU3RvcmFnZSBUSU1FU1RBTVAgVElNRVNUQU1QX1VOQ09OU1RSQUlORUQKK3N5biBrZXl3b3JkIHBsc3FsU3RvcmFnZSBUSU1FU1RBTVBfVFpfVU5DT05TVFJBSU5FRAorc3luIGtleXdvcmQgcGxzcWxTdG9yYWdlIFRJTUVTVEFNUF9MVFpfVU5DT05TVFJBSU5FRCBVUk9XSUQgVkFSQ0hBUgorc3luIGtleXdvcmQgcGxzcWxTdG9yYWdlIFZBUkNIQVIyIFlFQVIgWU1JTlRFUlZBTF9VTkNPTlNUUkFJTkVEIFpPTkUKKworIiBBIHR5cGUtYXR0cmlidXRlIGlzIHJlYWxseSBhIHR5cGUuCitzeW4gbWF0Y2ggcGxzcWxUeXBlQXR0cmlidXRlICAiJVwoVFlQRVx8Uk9XVFlQRVwpXD4iCisKKyIgQWxsIG90aGVyIGF0dHJpYnV0ZXMuCitzeW4gbWF0Y2ggcGxzcWxBdHRyaWJ1dGUgIiVcKEJVTEtfRVhDRVBUSU9OU1x8QlVMS19ST1dDT1VOVFx8SVNPUEVOXHxGT1VORFx8Tk9URk9VTkRcfFJPV0NPVU5UXClcPiIKKworIiBUaGlzJ2xsIGNhdGNoIG1pcy1tYXRjaGVkIGNsb3NlLXBhcmVucy4KK3N5biBjbHVzdGVyIHBsc3FsUGFyZW5Hcm91cCBjb250YWlucz1wbHNxbFBhcmVuRXJyb3IsQHBsc3FsQ29tbWVudEdyb3VwLHBsc3FsQ29tbWVudFNraXAscGxzcWxJbnRMaXRlcmFsLHBsc3FsRmxvYXRMaXRlcmFsLHBsc3FsTnVtYmVyc0NvbQoraWYgZXhpc3RzKCJjX25vX2JyYWNrZXRfZXJyb3IiKQorICBzeW4gcmVnaW9uIHBsc3FsUGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULEBwbHNxbFBhcmVuR3JvdXAKKyAgc3luIG1hdGNoIHBsc3FsUGFyZW5FcnJvciAiKSIKKyAgc3luIG1hdGNoIHBsc3FsRXJySW5QYXJlbiBjb250YWluZWQgIlt7fV0iCitlbHNlCisgIHN5biByZWdpb24gcGxzcWxQYXJlbiB0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsQHBsc3FsUGFyZW5Hcm91cCxwbHNxbEVyckluQnJhY2tldAorICBzeW4gbWF0Y2ggcGxzcWxQYXJlbkVycm9yICJbXF0pXSIKKyAgc3luIG1hdGNoIHBsc3FsRXJySW5QYXJlbiBjb250YWluZWQgIlt7fV0iCisgIHN5biByZWdpb24gcGxzcWxCcmFja2V0IHRyYW5zcGFyZW50IHN0YXJ0PSdcWycgZW5kPSddJyBjb250YWlucz1BTExCVVQsQHBsc3FsUGFyZW5Hcm91cCxwbHNxbEVyckluUGFyZW4KKyAgc3luIG1hdGNoIHBsc3FsRXJySW5CcmFja2V0IGNvbnRhaW5lZCAiWyk7e31dIgorZW5kaWYKKworIiBTeW50YXggU3luY2hyb25pemluZworc3luIHN5bmMgbWlubGluZXM9MTAgbWF4bGluZXM9MTAwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS54IGFuZCBlYXJsaWVyLCBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeS4KKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlciwgb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQuCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcGxzcWxfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcGxzcWxfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcGxzcWxBdHRyaWJ1dGUJCU1hY3JvCisgIEhpTGluayBwbHNxbEJsb2NrRXJyb3IJRXJyb3IKKyAgSGlMaW5rIHBsc3FsQm9vbGVhbkxpdGVyYWwJQm9vbGVhbgorICBIaUxpbmsgcGxzcWxDaGFyTGl0ZXJhbAlDaGFyYWN0ZXIKKyAgSGlMaW5rIHBsc3FsQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgcGxzcWxDb21tZW50TAkJQ29tbWVudAorICBIaUxpbmsgcGxzcWxDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgcGxzcWxFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHBsc3FsRXJySW5CcmFja2V0CUVycm9yCisgIEhpTGluayBwbHNxbEVyckluQmxvY2sJRXJyb3IKKyAgSGlMaW5rIHBsc3FsRXJySW5QYXJlbglFcnJvcgorICBIaUxpbmsgcGxzcWxFeGNlcHRpb24JCUZ1bmN0aW9uCisgIEhpTGluayBwbHNxbEZsb2F0TGl0ZXJhbAlGbG9hdAorICBIaUxpbmsgcGxzcWxGdW5jdGlvbgkJRnVuY3Rpb24KKyAgSGlMaW5rIHBsc3FsR2FyYmFnZQkJRXJyb3IKKyAgSGlMaW5rIHBsc3FsSG9zdElkZW50aWZpZXIJTGFiZWwKKyAgSGlMaW5rIHBsc3FsSWRlbnRpZmllcglOb3JtYWwKKyAgSGlMaW5rIHBsc3FsSW50TGl0ZXJhbAlOdW1iZXIKKyAgSGlMaW5rIHBsc3FsT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBwbHNxbFBhcmVuCQlOb3JtYWwKKyAgSGlMaW5rIHBsc3FsUGFyZW5FcnJvcglFcnJvcgorICBIaUxpbmsgcGxzcWxTcGFjZUVycm9yCUVycm9yCisgIEhpTGluayBwbHNxbFBzZXVkbwkJUHJlUHJvYworICBIaUxpbmsgcGxzcWxLZXl3b3JkCQlLZXl3b3JkCisgIEhpTGluayBwbHNxbFJlcGVhdAkJUmVwZWF0CisgIEhpTGluayBwbHNxbFN0b3JhZ2UJCVN0b3JhZ2VDbGFzcworICBIaUxpbmsgcGxzcWxTUUxLZXl3b3JkCUZ1bmN0aW9uCisgIEhpTGluayBwbHNxbFN0cmluZ0Vycm9yCUVycm9yCisgIEhpTGluayBwbHNxbFN0cmluZ0xpdGVyYWwJU3RyaW5nCisgIEhpTGluayBwbHNxbENvbW1lbnRTdHJpbmcJU3RyaW5nCisgIEhpTGluayBwbHNxbENvbW1lbnQyU3RyaW5nCVN0cmluZworICBIaUxpbmsgcGxzcWxTeW1ib2wJCU5vcm1hbAorICBIaUxpbmsgcGxzcWxUcmlnZ2VyCQlGdW5jdGlvbgorICBIaUxpbmsgcGxzcWxUeXBlQXR0cmlidXRlCVN0b3JhZ2VDbGFzcworICBIaUxpbmsgcGxzcWxUb2RvCQlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBsc3FsIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wby52aW0gYi9ydW50aW1lL3N5bnRheC9wby52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRhNzVkNgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BvLnZpbQpAQCAtMCwwICsxLDQ2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJcG8gKGdldHRleHQpCisiIE1haW50YWluZXI6CU5hbSBTdW5nSHl1biA8bmFtc2hAa2xkcC5vcmc+CisiIExhc3QgQ2hhbmdlOgkyMDAxIEFwciAyNgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBtYXRjaCAgcG9Db21tZW50CSJeIy4qJCIKK3N5biBtYXRjaCAgcG9Tb3VyY2VzCSJeIzouKiQiCitzeW4gbWF0Y2ggIHBvU3RhdGVtZW50CSJeXChkb21haW5cfG1zZ2lkXHxtc2dzdHJcKSIKK3N5biBtYXRjaCAgcG9TcGVjaWFsCWNvbnRhaW5lZCAiXFxcKHhceFwrXHxcb1x7MSwzfVx8Llx8JFwpIgorc3luIG1hdGNoICBwb0Zvcm1hdAkiJVwoXGRcK1wkXClcPVstKycgIzAqXSpcKFxkKlx8XCpcfFwqXGRcK1wkXClcKFwuXChcZCpcfFwqXHxcKlxkXCtcJFwpXClcPVwoW2hsTF1cfGxsXClcPVwoW2RpdW94WGZlRWdHY0NzU3BuXVx8XFtcXlw9LlteXV0qXF1cKSIgY29udGFpbmVkCitzeW4gbWF0Y2ggIHBvRm9ybWF0CSIlJSIgY29udGFpbmVkCitzeW4gcmVnaW9uIHBvU3RyaW5nCXN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKKwkJCVwgY29udGFpbnM9cG9TcGVjaWFsLHBvRm9ybWF0CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BvX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3BvX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHBvQ29tbWVudAlDb21tZW50CisgIEhpTGluayBwb1NvdXJjZXMJUHJlUHJvYworICBIaUxpbmsgcG9TdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBwb1NwZWNpYWwJU3BlY2lhbAorICBIaUxpbmsgcG9Gb3JtYXQJcG9TcGVjaWFsCisgIEhpTGluayBwb1N0cmluZwlTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicG8iCisKKyIgdmltOnNldCB0cz04IHN0cz0yIHN3PTIgbm9ldDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BvZC52aW0gYi9ydW50aW1lL3N5bnRheC9wb2QudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZDBjODUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wb2QudmltCkBAIC0wLDAgKzEsODEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglQZXJsIFBPRCBmb3JtYXQKKyIgTWFpbnRhaW5lcjoJU2NvdHQgQmlnaGFtIDxkc2JAY3MuZHVrZS5lZHU+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIFRvIGFkZCBlbWJlZGRlZCBQT0QgZG9jdW1lbnRhdGlvbiBoaWdobGlnaHRpbmcgdG8geW91ciBzeW50YXggZmlsZSwgYWRkCisiIHRoZSBjb21tYW5kczoKKyIKKyIgICBzeW4gaW5jbHVkZSBAUG9kIDxzZmlsZT46cDpoL3BvZC52aW0KKyIgICBzeW4gcmVnaW9uIG15UE9EIHN0YXJ0PSJePXBvZCIgc3RhcnQ9Il49aGVhZCIgZW5kPSJePWN1dCIga2VlcGVuZCBjb250YWluZWQgY29udGFpbnM9QFBvZAorIgorIiBhbmQgYWRkIG15UG9kIHRvIHRoZSBjb250YWlucz0gbGlzdCBvZiBzb21lIGV4aXN0aW5nIHJlZ2lvbiwgcHJvYmFibHkgYQorIiBjb21tZW50LiAgVGhlICJrZWVwZW5kIiBmbGFnIGlzIG5lZWRlZCBiZWNhdXNlICI9Y3V0IiBpcyBtYXRjaGVkIGFzIGEKKyIgcGF0dGVybiBpbiBpdHMgb3duIHJpZ2h0LgorCisKKyIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kICh0aGlzIGlzIHN1cHByZXNzZWQKKyIgYXV0b21hdGljYWxseSBieSAiOnN5biBpbmNsdWRlIiBpZiBuZWNlc3NhcnkpLgorIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFBPRCBjb21tYW5kcworc3luIG1hdGNoIHBvZENvbW1hbmQJIl49aGVhZFsxMl0iCW5leHRncm91cD1wb2RDbWRUZXh0CitzeW4gbWF0Y2ggcG9kQ29tbWFuZAkiXj1pdGVtIgluZXh0Z3JvdXA9cG9kQ21kVGV4dAorc3luIG1hdGNoIHBvZENvbW1hbmQJIl49b3ZlciIJbmV4dGdyb3VwPXBvZE92ZXJJbmRlbnQgc2tpcHdoaXRlCitzeW4gbWF0Y2ggcG9kQ29tbWFuZAkiXj1iYWNrIgorc3luIG1hdGNoIHBvZENvbW1hbmQJIl49Y3V0Igorc3luIG1hdGNoIHBvZENvbW1hbmQJIl49cG9kIgorc3luIG1hdGNoIHBvZENvbW1hbmQJIl49Zm9yIgkJbmV4dGdyb3VwPXBvZEZvcktleXdkIHNraXB3aGl0ZQorc3luIG1hdGNoIHBvZENvbW1hbmQJIl49YmVnaW4iCW5leHRncm91cD1wb2RGb3JLZXl3ZCBza2lwd2hpdGUKK3N5biBtYXRjaCBwb2RDb21tYW5kCSJePWVuZCIJCW5leHRncm91cD1wb2RGb3JLZXl3ZCBza2lwd2hpdGUKKworIiBUZXh0IG9mIGEgPWhlYWQxLCA9aGVhZDIgb3IgPWl0ZW0gY29tbWFuZAorc3luIG1hdGNoIHBvZENtZFRleHQJIi4qJCIgY29udGFpbmVkIGNvbnRhaW5zPXBvZEZvcm1hdAorCisiIEluZGVudCBhbW91bnQgb2YgPW92ZXIgY29tbWFuZAorc3luIG1hdGNoIHBvZE92ZXJJbmRlbnQJIlxkXCsiIGNvbnRhaW5lZAorCisiIEZvcm1hdHRlciBpZGVudGlmaWVyIGtleXdvcmQgZm9yID1mb3IsID1iZWdpbiBhbmQgPWVuZCBjb21tYW5kcworc3luIG1hdGNoIHBvZEZvcktleXdkCSJcU1wrIiBjb250YWluZWQKKworIiBBbiBpbmRlbnRlZCBsaW5lLCB0byBiZSBkaXNwbGF5ZWQgdmVyYmF0aW0KK3N5biBtYXRjaCBwb2RWZXJiYXRpbUxpbmUJIl5ccy4qJCIKKworIiBJbmxpbmUgdGV4dHVhbCBpdGVtcyBoYW5kbGVkIHNwZWNpYWxseSBieSBQT0QKK3N5biBtYXRjaCBwb2RTcGVjaWFsCSJcKFw8XHwmXClcSVxpKlwoOjpcSVxpKlwpKihbXildKikiCitzeW4gbWF0Y2ggcG9kU3BlY2lhbAkiWyRAJV1cSVxpKlwoOjpcSVxpKlwpKlw+IgorCisiIFNwZWNpYWwgZm9ybWF0dGluZyBzZXF1ZW5jZXMKK3N5biByZWdpb24gcG9kRm9ybWF0CXN0YXJ0PSJbSUJTQ0xGWEVaXTwiIGVuZD0iPiIgb25lbGluZSBjb250YWlucz1wb2RGb3JtYXQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcG9kX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3BvZF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBwb2RDb21tYW5kCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHBvZENtZFRleHQJCVN0cmluZworICBIaUxpbmsgcG9kT3ZlckluZGVudAkJTnVtYmVyCisgIEhpTGluayBwb2RGb3JLZXl3ZAkJSWRlbnRpZmllcgorICBIaUxpbmsgcG9kRm9ybWF0CQlJZGVudGlmaWVyCisgIEhpTGluayBwb2RWZXJiYXRpbUxpbmUJUHJlUHJvYworICBIaUxpbmsgcG9kU3BlY2lhbAkJSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwb2QiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wb3N0c2NyLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Bvc3RzY3IudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZGJjZWMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wb3N0c2NyLnZpbQpAQCAtMCwwICsxLDc4MyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBQb3N0U2NyaXB0IC0gYWxsIExldmVscywgc2VsZWN0YWJsZQorIiBNYWludGFpbmVyOiAgIE1pa2UgV2lsbGlhbXMgPG1yd0BlYW5kZW0uY28udWs+CisiIEZpbGVuYW1lczogICAgKi5wcywqLmVwcworIiBMYXN0IENoYW5nZTogIDI3dGggSnVuZSAyMDAyCisiIFVSTDoJCWh0dHA6Ly93d3cuZWFuZGVtLmNvLnVrL21ydy92aW0KKyIKKyIgT3B0aW9ucyBGbGFnczoKKyIgcG9zdHNjcl9sZXZlbAkJCS0gbGFuZ3VhZ2UgbGV2ZWwgdG8gdXNlIGZvciBoaWdobGlndGluZyAoMSwgMiwgb3IgMykKKyIgcG9zdHNjcl9kaXNwbGF5CQktIGluY2x1ZGUgZGlzcGxheSBQUyBvcGVyYXRvcnMKKyIgcG9zdHNjcl9naG9zdHNjcmlwdAkJLSBpbmNsdWRlIEdTIGV4dGVuc2lvbnMKKyIgcG9zdHNjcl9mb250cwkJCS0gaGlnaGxpZ2h0IHN0YW5kYXJkIGZvbnQgbmFtZXMgKGEgbG90IGZvciBQUyAzKQorIiBwb3N0c2NyX2VuY29kaW5ncwkJLSBoaWdobGlnaHQgZW5jb2RpbmcgbmFtZXMgKHRoZXJlIGFyZSBhIGxvdCkKKyIgcG9zdHNjcl9hbmRvcm5vdF9iaW5hcnkJLSBoaWdobGlnaHQgYW5kLCBvciwgYW5kIG5vdCBhcyBiaW5hcnkgb3BlcmF0b3JzIChub3QgbG9naWNhbCkKKyIKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBQb3N0U2NyaXB0IGlzIGNhc2Ugc2Vuc2l0aXZlCitzeW4gY2FzZSBtYXRjaAorCisiIEtleXdvcmQgY2hhcmFjdGVycyAtIGFsbCA3LWJpdCBBU0NJSSBiYXIgUFMgZGVsaW1pdGVycyBhbmQgd3MKK2lmIHZlcnNpb24gPj0gNjAwCisgIHNldGxvY2FsIGlza2V5d29yZD0zMy0xMjcsXigsXiksXjwsXj4sXlssXl0sXnssXn0sXi8sXiUKK2Vsc2UKKyAgc2V0IGlza2V5d29yZD0zMy0xMjcsXigsXiksXjwsXj4sXlssXl0sXnssXn0sXi8sXiUKK2VuZGlmCisKKyIgWWVyIHRydXN0eSBvbGQgVE9ETyBoaWdobGdodGVyIQorc3luIGtleXdvcmQgcG9zdHNjclRvZG8gY29udGFpbmVkICBUT0RPCisKKyIgQ29tbWVudAorc3luIG1hdGNoIHBvc3RzY3JDb21tZW50CSIlLiokIiBjb250YWlucz1wb3N0c2NyVG9kbworIiBEU0MgY29tbWVudCBzdGFydCBsaW5lIChOQjogZGVmaW5lcyBEU0MgbGV2ZWwsIG5vdCBQUyBsZXZlbCEpCitzeW4gbWF0Y2ggIHBvc3RzY3JEU0NDb21tZW50ICAgICJeJSFQUy1BZG9iZS1cZFwrXC5cZFwrXHMqLiokIgorIiBEU0MgY29tbWVudCBsaW5lIChubyBjaGVjayBvbiBwb3NzaWJsZSBjb21tZW50cyAtIGFub3RoZXIgbGFuZ3VhZ2UhKQorc3luIG1hdGNoICBwb3N0c2NyRFNDQ29tbWVudCAgICAiXiUlXHVcKy4qJCIgY29udGFpbnM9QHBvc3RzY3JTdHJpbmcsQHBvc3RzY3JOdW1iZXIKKyIgRFNDIGNvbnRpbnVhdGlvbiBsaW5lIChubyBjaGVjayB0aGF0IHByZXZpb3VzIGxpbmUgaXMgRFNDIGNvbW1lbnQpCitzeW4gbWF0Y2ggIHBvc3RzY3JEU0NDb21tZW50ICAgICJeJSUrICouKiQiIGNvbnRhaW5zPUBwb3N0c2NyU3RyaW5nLEBwb3N0c2NyTnVtYmVyCisKKyIgTmFtZXMKK3N5biBtYXRjaCBwb3N0c2NyTmFtZQkJIlxrXCsiCisKKyIgSWRlbnRpZmllcnMKK3N5biBtYXRjaCBwb3N0c2NySWRlbnRpZmllckVycm9yICIvXHsxLDJ9W1s6c3BhY2U6XVxbXF17fV0ibWU9ZS0xCitzeW4gbWF0Y2ggcG9zdHNjcklkZW50aWZpZXIgICAgICIvXHsxLDJ9XGtcKyIgY29udGFpbnM9cG9zdHNjckNvbnN0YW50LHBvc3RzY3JCb29sZWFuLHBvc3RzY3JDdXN0Q29uc3RhbnQKKworIiBOdW1iZXJzCitzeW4gY2FzZSBpZ25vcmUKKyIgSW4gZmlsZSBoZXggZGF0YSAtIHVzdWFsbHkgY29tcGxldGUgbGluZXMKK3N5biBtYXRjaCBwb3N0c2NySGV4CQkiXltbOnhkaWdpdDpdXVtbOnhkaWdpdDpdWzpzcGFjZTpdXSokIgorInN5biBtYXRjaCBwb3N0c2NySGV4CQkgIlw8XHhcezIsfVw+IgorIiBJbnRlZ2Vycworc3luIG1hdGNoIHBvc3RzY3JJbnRlZ2VyCSJcPFsrLV1cPVxkXCtcPiIKKyIgUmFkaXgKK3N5biBtYXRjaCBwb3N0c2NyUmFkaXgJCSJcZFwrI1x4XCtcPiIKKyIgUmVhbHMgLSB1cHBlciBhbmQgbG93ZXIgY2FzZSBlIGlzIGFsbG93ZWQKK3N5biBtYXRjaCBwb3N0c2NyRmxvYXQJCSJbKy1dXD1cZFwrXC5cPiIKK3N5biBtYXRjaCBwb3N0c2NyRmxvYXQJCSJbKy1dXD1cZFwrXC5cZCpcKGVbKy1dXD1cZFwrXClcPVw+Igorc3luIG1hdGNoIHBvc3RzY3JGbG9hdAkJIlsrLV1cPVwuXGRcK1woZVsrLV1cPVxkXCtcKVw9XD4iCitzeW4gbWF0Y2ggcG9zdHNjckZsb2F0CQkiWystXVw9XGRcK2VbKy1dXD1cZFwrXD4iCitzeW4gY2x1c3RlciBwb3N0c2NyTnVtYmVyCWNvbnRhaW5zPXBvc3RzY3JJbnRlZ2VyLHBvc3RzY3JSYWRpeCxwb3N0c2NyRmxvYXQKK3N5biBjYXNlIG1hdGNoCisKKyIgRXNjYXBlZCBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggcG9zdHNjclNwZWNpYWxDaGFyICAgIGNvbnRhaW5lZCAiXFxbbnJ0YmZcXCgpXSIKK3N5biBtYXRjaCBwb3N0c2NyU3BlY2lhbENoYXJFcnJvciBjb250YWluZWQgIlxcW15ucnRiZlxcKCldImhlPWUtMQorIiBFc2NhcGVkIG9jdGFsIGNoYXJhY3RlcnMKK3N5biBtYXRjaCBwb3N0c2NyU3BlY2lhbENoYXIgICAgY29udGFpbmVkICJcXFxvXHsxLDN9IgorCisiIFN0cmluZ3MKKyIgQVNDSUkgc3RyaW5ncworc3luIHJlZ2lvbiBwb3N0c2NyQVNDSUlTdHJpbmcgICBzdGFydD0rKCsgZW5kPSspKyBza2lwPSsoW14pXSopKyBjb250YWlucz1wb3N0c2NyU3BlY2lhbENoYXIscG9zdHNjclNwZWNpYWxDaGFyRXJyb3IKKyIgSGV4IHN0cmluZ3MKK3N5biBtYXRjaCBwb3N0c2NySGV4Q2hhckVycm9yICAgY29udGFpbmVkICJbXjw+Wzp4ZGlnaXQ6XVs6c3BhY2U6XV0iCitzeW4gcmVnaW9uIHBvc3RzY3JIZXhTdHJpbmcgICAgIHN0YXJ0PSs8XCgkXHxbXjxdXCkrIGVuZD0rPisgY29udGFpbnM9cG9zdHNjckhleENoYXJFcnJvcgorc3luIG1hdGNoIHBvc3RzY3JIZXhTdHJpbmcgICAgICAiPD4iCisiIEFTQ0lJODUgc3RyaW5ncworc3luIG1hdGNoIHBvc3RzY3JBU0NJSTg1Q2hhckVycm9yIGNvbnRhaW5lZCAiW148Plx+IS11els6c3BhY2U6XV0iCitzeW4gcmVnaW9uIHBvc3RzY3JBU0NJSTg1U3RyaW5nIHN0YXJ0PSs8XH4rIGVuZD0rXH4+KyBjb250YWlucz1wb3N0c2NyQVNDSUk4NUNoYXJFcnJvcgorc3luIGNsdXN0ZXIgcG9zdHNjclN0cmluZyAgICAgICBjb250YWlucz1wb3N0c2NyQVNDSUlTdHJpbmcscG9zdHNjckhleFN0cmluZyxwb3N0c2NyQVNDSUk4NVN0cmluZworCisKKyIgU2V0IGRlZmF1bHQgaGlnaGxpZ2h0aW5nIHRvIGxldmVsIDIgLSBtb3N0IGNvbW1vbiBhdCB0aGUgbW9tZW50CitpZiAhZXhpc3RzKCJwb3N0c2NyX2xldmVsIikKKyAgbGV0IHBvc3RzY3JfbGV2ZWwgPSAyCitlbmRpZgorCisKKyIgUFMgbGV2ZWwgMSBvcGVyYXRvcnMgLSBjb21tb24gdG8gYWxsIGxldmVscyAod2VsbCAuLi4pCisKKyIgU3RhY2sgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIHBvcCBleGNoIGR1cCBjb3B5IGluZGV4IHJvbGwgY2xlYXIgY291bnQgbWFyayBjbGVhcnRvbWFyayBjb3VudHRvbWFyaworCisiIE1hdGggb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyTWF0aE9wZXJhdG9yIGFkZCBkaXYgaWRpdiBtb2QgbXVsIHN1YiBhYnMgbmVnIGNlaWxpbmcgZmxvb3Igcm91bmQgdHJ1bmNhdGUgc3FydCBhdGFuIGNvcworc3luIGtleXdvcmQgcG9zdHNjck1hdGhPcGVyYXRvciBzaW4gZXhwIGxuIGxvZyByYW5kIHNyYW5kIHJyYW5kCisKKyIgQXJyYXkgb3BlcmF0b3JzCitzeW4gbWF0Y2ggcG9zdHNjck9wZXJhdG9yICAgICAgICJbXFtcXXt9XSIKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgYXJyYXkgbGVuZ3RoIGdldCBwdXQgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwgYXN0b3JlIGFsb2FkIGNvcHkKK3N5biBrZXl3b3JkIHBvc3RzY3JSZXBlYXQgICAgICAgZm9yYWxsCisKKyIgRGljdGlvbmFyeSBvcGVyYXRvcnMKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgZGljdCBtYXhsZW5ndGggYmVnaW4gZW5kIGRlZiBsb2FkIHN0b3JlIGtub3duIHdoZXJlIGN1cnJlbnRkaWN0CitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIGNvdW50ZGljdHN0YWNrIGRpY3RzdGFjayBjbGVhcmRpY3RzdGFjayBpbnRlcm5hbGRpY3QKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgJGVycm9yIHN5c3RlbWRpY3QgdXNlcmRpY3Qgc3RhdHVzZGljdCBlcnJvcmRpY3QKKworIiBTdHJpbmcgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIHN0cmluZyBhbmNob3JzZWFyY2ggc2VhcmNoIHRva2VuCisKKyIgTG9naWMgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyTG9naWNhbE9wZXJhdG9yIGVxIG5lIGdlIGd0IGxlIGx0IGFuZCBub3Qgb3IKK2lmIGV4aXN0cygicG9zdHNjcl9hbmRvcm5vdF9iaW5hcnlvcCIpCisgIHN5biBrZXl3b3JkIHBvc3RzY3JCaW5hcnlPcGVyYXRvciBhbmQgb3Igbm90CitlbHNlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JMb2dpY2FsT3BlcmF0b3IgYW5kIG5vdCBvcgorZW5kaWYKK3N5biBrZXl3b3JkIHBvc3RzY3JCaW5hcnlPcGVyYXRvciB4b3IgYml0c2hpZnQKK3N5biBrZXl3b3JkIHBvc3RzY3JCb29sZWFuICAgICAgdHJ1ZSBmYWxzZQorCisiIFBTIFR5cGUgbmFtZXMKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgYXJyYXl0eXBlIGJvb2xlYW50eXBlIGNvbmRpdGlvbnR5cGUgZGljdHR5cGUgZmlsZXR5cGUgZm9udHR5cGUgZ3N0YXRldHlwZQorc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgICBpbnRlZ2VydHlwZSBsb2NrdHlwZSBtYXJrdHlwZSBuYW1ldHlwZSBudWxsdHlwZSBvcGVyYXRvcnR5cGUKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgcGFja2VkYXJyYXl0eXBlIHJlYWx0eXBlIHNhdmV0eXBlIHN0cmluZ3R5cGUKKworIiBDb250cm9sIG9wZXJhdG9ycworc3luIGtleXdvcmQgcG9zdHNjckNvbmRpdGlvbmFsICBpZiBpZmVsc2UKK3N5biBrZXl3b3JkIHBvc3RzY3JSZXBlYXQgICAgICAgZm9yIHJlcGVhdCBsb29wCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIGV4ZWMgZXhpdCBzdG9wIHN0b3BwZWQgY291bnRleGVjc3RhY2sgZXhlY3N0YWNrIHF1aXQKK3N5biBrZXl3b3JkIHBvc3RzY3JQcm9jZWR1cmUgICAgc3RhcnQKKworIiBPYmplY3Qgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIHR5cGUgY3ZsaXQgY3Z4IHhjaGVjayBleGVjdXRlb25seSBub2FjY2VzcyByZWFkb25seSByY2hlY2sgd2NoZWNrIGN2aSBjdm4gY3ZyCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIGN2cnMgY3ZzCisKKyIgRmlsZSBvcGVyYXRvcnMKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgZmlsZSBjbG9zZWZpbGUgcmVhZCB3cml0ZSByZWFkaGV4c3RyaW5nIHdyaXRlaGV4c3RyaW5nIHJlYWRzdHJpbmcgd3JpdGVzdHJpbmcKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgYnl0ZXNhdmFpbGFibGUgZmx1c2ggZmx1c2hmaWxlIHJlc2V0ZmlsZSBzdGF0dXMgcnVuIGN1cnJlbnRmaWxlIHByaW50CitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIHN0YWNrIHBzdGFjayByZWFkbGluZSBkZWxldGVmaWxlIHNldGZpbGVwb3NpdGlvbiBmaWxlcG9zaXRpb24gcmVuYW1lZmlsZQorc3luIGtleXdvcmQgcG9zdHNjclJlcGVhdCAgICAgICBmaWxlbmFtZWZvcmFsbAorc3luIGtleXdvcmQgcG9zdHNjclByb2NlZHVyZSAgICA9ID09CisKKyIgVk0gb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIHNhdmUgcmVzdG9yZQorCisiIE1pc2Mgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIGJpbmQgbnVsbCB1c2VydGltZSBleGVjdXRpdmUgZWNobyByZWFsdGltZQorc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgICBwcm9kdWN0IHJldmlzaW9uIHNlcmlhbG51bWJlciB2ZXJzaW9uCitzeW4ga2V5d29yZCBwb3N0c2NyUHJvY2VkdXJlICAgIHByb21wdAorCisiIEdTdGF0ZSBvcGVyYXRvcnMKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgZ3NhdmUgZ3Jlc3RvcmUgZ3Jlc3RvcmVhbGwgaW5pdGdyYXBoaWNzIHNldGxpbmV3aWR0aCBzZXRsaW5lY2FwIGN1cnJlbnRncmF5CitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIGN1cnJlbnRsaW5lam9pbiBzZXRtaXRlcmxpbWl0IGN1cnJlbnRtaXRlcmxpbWl0IHNldGRhc2ggY3VycmVudGRhc2ggc2V0Z3JheQorc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgICBzZXRoc2Jjb2xvciBjdXJyZW50aHNiY29sb3Igc2V0cmdiY29sb3IgY3VycmVudHJnYmNvbG9yIGN1cnJlbnRsaW5ld2lkdGgKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgY3VycmVudGxpbmVjYXAgc2V0bGluZWpvaW4gc2V0Y215a2NvbG9yIGN1cnJlbnRjbXlrY29sb3IKKworIiBEZXZpY2UgZ3N0YXRlIG9wZXJhdG9ycworc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgICBzZXRzY3JlZW4gY3VycmVudHNjcmVlbiBzZXR0cmFuc2ZlciBjdXJyZW50dHJhbnNmZXIgc2V0ZmxhdCBjdXJyZW50ZmxhdAorc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgICBjdXJyZW50YmxhY2tnZW5lcmF0aW9uIHNldGJsYWNrZ2VuZXJhdGlvbiBzZXR1bmRlcmNvbG9ycmVtb3ZhbAorc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgICBzZXRjb2xvcnNjcmVlbiBjdXJyZW50Y29sb3JzY3JlZW4gc2V0Y29sb3J0cmFuc2ZlciBjdXJyZW50Y29sb3J0cmFuc2Zlcgorc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgICBjdXJyZW50dW5kZXJjb2xvcnJlbW92YWwKKworIiBNYXRyaXggb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIG1hdHJpeCBpbml0bWF0cml4IGlkZW50bWF0cml4IGRlZmF1bHRtYXRyaXggY3VycmVudG1hdHJpeCBzZXRtYXRyaXggdHJhbnNsYXRlCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIGNvbmNhdCBjb25jYXRtYXRyaXggdHJhbnNmb3JtIGR0cmFuc2Zvcm0gaXRyYW5zZm9ybSBpZHRyYW5zZm9ybSBpbnZlcnRtYXRyaXgKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgc2NhbGUgcm90YXRlCisKKyIgUGF0aCBvcGVyYXRvcnMKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgbmV3cGF0aCBjdXJyZW50cG9pbnQgbW92ZXRvIHJtb3ZldG8gbGluZXRvIHJsaW5ldG8gYXJjIGFyY24gYXJjdG8gY3VydmV0bworc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgICBjbG9zZXBhdGggZmxhdHRlbnBhdGggcmV2ZXJzZXBhdGggc3Ryb2tlcGF0aCBjaGFycGF0aCBjbGlwcGF0aCBwYXRoYmJveAorc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgICBpbml0Y2xpcCBjbGlwIGVvY2xpcCByY3VydmV0bworc3luIGtleXdvcmQgcG9zdHNjclJlcGVhdCAgICAgICBwYXRoZm9yYWxsCisKKyIgUGFpbnRpbmcgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIGVyYXNlcGFnZSBmaWxsIGVvZmlsbCBzdHJva2UgaW1hZ2UgaW1hZ2VtYXNrIGNvbG9yaW1hZ2UKKworIiBEZXZpY2Ugb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAgIHNob3dwYWdlIGNvcHlwYWdlIG51bGxkZXZpY2UKKworIiBDaGFyYWN0ZXIgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBwb3N0c2NyUHJvY2VkdXJlICAgIGZpbmRmb250CitzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICAgIEZvbnREaXJlY3RvcnkgSVNPTGF0aW4xRW5jb2RpbmcgU3RhbmRhcmRFbmNvZGluZworc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgICBkZWZpbmVmb250IHNjYWxlZm9udCBtYWtlZm9udCBzZXRmb250IGN1cnJlbnRmb250IHNob3cgYXNob3cKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgc3RyaW5nd2lkdGgga3Nob3cgc2V0Y2FjaGVkZXZpY2UKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgc2V0Y2hhcndpZHRoIHdpZHRoc2hvdyBhd2lkdGhzaG93IGZpbmRlbmNvZGluZyBjc2hvdyByb290Zm9udCBzZXRjYWNoZWRldmljZTIKKworIiBJbnRlcnByZXRlciBvcGVyYXRvcnMKK3N5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgICAgdm1zdGF0dXMgY2FjaGVzdGF0dXMgc2V0Y2FjaGVsaW1pdAorCisiIFBTIGNvbnN0YW50cworc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgICBjb250YWluZWQgR3JheSBSZWQgR3JlZW4gQmx1ZSBBbGwgTm9uZSBEZXZpY2VHcmF5IERldmljZVJHQgorCisiIFBTIEZpbHRlcnMKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgY29udGFpbmVkIEFTQ0lJSGV4RGVjb2RlIEFTQ0lJSGV4RW5jb2RlIEFTQ0lJODVEZWNvZGUgQVNDSUk4NUVuY29kZSBMWldEZWNvZGUKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgY29udGFpbmVkIFJ1bkxlbmd0aERlY29kZSBSdW5MZW5ndGhFbmNvZGUgU3ViRmlsZURlY29kZSBOdWxsRW5jb2RlCitzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICAgIGNvbnRhaW5lZCBHSUZEZWNvZGUgUE5HRGVjb2RlIExaV0VuY29kZQorCisiIFBTIEpQRUcgZmlsdGVyIGRpY3Rpb25hcnkgZW50cmllcworc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgICBjb250YWluZWQgRENURW5jb2RlIERDVERlY29kZSBDb2xvcnMgSFNhbXBsZXMgVlNhbXBsZXMgUXVhbnRUYWJsZXMgUUZhY3Rvcgorc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgICBjb250YWluZWQgSHVmZlRhYmxlcyBDb2xvclRyYW5zZm9ybQorCisiIFBTIENDSVRUIGZpbHRlciBkaWN0aW9uYXJ5IGVudHJpZXMKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgY29udGFpbmVkIENDSVRURmF4RW5jb2RlIENDSVRURmF4RGVjb2RlIFVuY29tcHJlc3NlZCBLIEVuZE9mTGluZQorc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgICBjb250YWluZWQgQ29sdW1ucyBSb3dzIEVuZE9mQmxvY2sgQmxhY2tzMSBEYW1hZ2VkUm93c0JlZm9yZUVycm9yCitzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICAgIGNvbnRhaW5lZCBFbmNvZGVkQnl0ZUFsaWduCisKKyIgUFMgRm9ybSBkaWN0aW9uYXJ5IGVudHJpZXMKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgY29udGFpbmVkIEZvcm1UeXBlIFhVSUQgQkJveCBNYXRyaXggUGFpbnRQcm9jIEltcGxlbWVudGF0aW9uCisKKyIgUFMgRXJyb3JzCitzeW4ga2V5d29yZCBwb3N0c2NyUHJvY2VkdXJlICAgIGhhbmRsZWVycm9yCitzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICAgIGNvbnRhaW5lZCAgY29uZmlndXJhdGlvbmVycm9yIGRpY3RmdWxsIGRpY3RzdGFja3VuZGVyZmxvdyBkaWN0c3RhY2tvdmVyZmxvdworc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgICBjb250YWluZWQgIGV4ZWNzdGFja292ZXJmbG93IGludGVycnVwdCBpbnZhbGlkYWNjZXNzCitzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICAgIGNvbnRhaW5lZCAgaW52YWxpZGNvbnRleHQgaW52YWxpZGV4aXQgaW52YWxpZGZpbGVhY2Nlc3MgaW52YWxpZGZvbnQKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgY29udGFpbmVkICBpbnZhbGlkaWQgaW52YWxpZHJlc3RvcmUgaW9lcnJvciBsaW1pdGNoZWNrIG5vY3VycmVudHBvaW50CitzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICAgIGNvbnRhaW5lZCAgcmFuZ2VjaGVjayBzdGFja292ZXJmbG93IHN0YWNrdW5kZXJmbG93IHN5bnRheGVycm9yIHRpbWVvdXQKK3N5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgICAgY29udGFpbmVkICB0eXBlY2hlY2sgdW5kZWZpbmVkIHVuZGVmaW5lZGZpbGVuYW1lIHVuZGVmaW5lZHJlc291cmNlCitzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICAgIGNvbnRhaW5lZCAgdW5kZWZpbmVkcmVzdWx0IHVubWF0Y2hlZG1hcmsgdW5yZWdpc3RlcmVkIFZNZXJyb3IKKworaWYgZXhpc3RzKCJwb3N0c2NyX2ZvbnRzIikKKyIgRm9udCBuYW1lcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgU3ltYm9sIFRpbWVzLVJvbWFuIFRpbWVzLUl0YWxpYyBUaW1lcy1Cb2xkIFRpbWVzLUJvbGRJdGFsaWMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEhlbHZldGljYSBIZWx2ZXRpY2EtT2JsaXF1ZSBIZWx2ZXRpY2EtQm9sZCBIZWx2ZXRpY2EtQm9sZE9ibGlxdWUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIENvdXJpZXIgQ291cmllci1PYmxpcXVlIENvdXJpZXItQm9sZCBDb3VyaWVyLUJvbGRPYmxpcXVlCitlbmRpZgorCisKK2lmIGV4aXN0cygicG9zdHNjcl9kaXNwbGF5IikKKyIgRGlzcGxheSBQUyBvbmx5IG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBjdXJyZW50Y29udGV4dCBmb3JrIGpvaW4gZGV0YWNoIGxvY2sgbW9uaXRvciBjb25kaXRpb24gd2FpdCBub3RpZnkgeWllbGQKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgdmlld2NsaXAgZW92aWV3Y2xpcCByZWN0dmlld2NsaXAgaW5pdHZpZXdjbGlwIHZpZXdjbGlwcGF0aCBkZXZpY2VpbmZvCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIHNldGhhbGZ0b25lcGhhc2UgY3VycmVudGhhbGZ0b25lcGhhc2Ugd3RyYW5zbGF0aW9uIGRlZmluZXVzZXJuYW1lCitlbmRpZgorCisiIFBTIENoYXJhY3RlciBlbmNvZGluZyBuYW1lcworaWYgZXhpc3RzKCJwb3N0c2NyX2VuY29kaW5ncyIpCisiIENvbW1vbiBlbmNvZGluZyBuYW1lcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgLm5vdGRlZgorCisiIFN0YW5kYXJkIGFuZCBJU08gZW5jb2RpbmcgbmFtZXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIHNwYWNlIGV4Y2xhbSBxdW90ZWRibCBudW1iZXJzaWduIGRvbGxhciBwZXJjZW50IGFtcGVyc2FuZCBxdW90ZXJpZ2h0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBwYXJlbmxlZnQgcGFyZW5yaWdodCBhc3RlcmlzayBwbHVzIGNvbW1hIGh5cGhlbiBwZXJpb2Qgc2xhc2ggemVybworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgb25lIHR3byB0aHJlZSBmb3VyIGZpdmUgc2l4IHNldmVuIGVpZ2h0IG5pbmUgY29sb24gc2VtaWNvbG9uIGxlc3MKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGVxdWFsIGdyZWF0ZXIgcXVlc3Rpb24gYXQKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGJyYWNrZXRsZWZ0IGJhY2tzbGFzaCBicmFja2V0cmlnaHQgYXNjaWljaXJjdW0gdW5kZXJzY29yZSBxdW90ZWxlZnQKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGJyYWNlbGVmdCBiYXIgYnJhY2VyaWdodCBhc2NpaXRpbGRlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBleGNsYW1kb3duIGNlbnQgc3RlcmxpbmcgZnJhY3Rpb24geWVuIGZsb3JpbiBzZWN0aW9uIGN1cnJlbmN5CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBxdW90ZXNpbmdsZSBxdW90ZWRibGxlZnQgZ3VpbGxlbW90bGVmdCBndWlsc2luZ2xsZWZ0IGd1aWxzaW5nbHJpZ2h0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBmaSBmbCBlbmRhc2ggZGFnZ2VyIGRhZ2dlcmRibCBwZXJpb2RjZW50ZXJlZCBwYXJhZ3JhcGggYnVsbGV0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBxdW90ZXNpbmdsYmFzZSBxdW90ZWRibGJhc2UgcXVvdGVkYmxyaWdodCBndWlsbGVtb3RyaWdodCBlbGxpcHNpcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgcGVydGhvdXNhbmQgcXVlc3Rpb25kb3duIGdyYXZlIGFjdXRlIGNpcmN1bWZsZXggdGlsZGUgbWFjcm9uIGJyZXZlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBkb3RhY2NlbnQgZGllcmVzaXMgcmluZyBjZWRpbGxhIGh1bmdhcnVtbGF1dCBvZ29uZWsgY2Fyb24gZW1kYXNoCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBBRSBvcmRmZW1pbmluZSBMc2xhc2ggT3NsYXNoIE9FIG9yZG1hc2N1bGluZSBhZSBkb3RsZXNzaSBsc2xhc2gKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIG9zbGFzaCBvZSBnZXJtYW5kYmxzCisiIFRoZSBmb2xsb3dpbmcgYXJlIHZhbGlkIG5hbWVzLCBidXQgYXJlIHVzZWQgYXMgc2hvcnQgcHJvY2VkdXJlIG5hbWVzIGluIGdlbmVyYXRlZCBQUyEKKyIgYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggeSB6CisiIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSIFMgVCBVIFYgVyBYIFkgWgorCisiIFN5bWJvbCBlbmNvZGluZyBuYW1lcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgdW5pdmVyc2FsIGV4aXN0ZW50aWFsIHN1Y2h0aGF0IGFzdGVyaXNrbWF0aCBtaW51cworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgY29uZ3J1ZW50IEFscGhhIEJldGEgQ2hpIERlbHRhIEVwc2lsb24gUGhpIEdhbW1hIEV0YSBJb3RhIHRoZXRhMQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgS2FwcGEgTGFtYmRhIE11IE51IE9taWNyb24gUGkgVGhldGEgUmhvIFNpZ21hIFRhdSBVcHNpbG9uIHNpZ21hMQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgT21lZ2EgWGkgUHNpIFpldGEgdGhlcmVmb3JlIHBlcnBlbmRpY3VsYXIKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIHJhZGljYWxleCBhbHBoYSBiZXRhIGNoaSBkZWx0YSBlcHNpbG9uIHBoaSBnYW1tYSBldGEgaW90YSBwaGkxCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBrYXBwYSBsYW1iZGEgbXUgbnUgb21pY3JvbiBwaSB0aGV0YSByaG8gc2lnbWEgdGF1IHVwc2lsb24gb21lZ2ExCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBVcHNpbG9uMSBtaW51dGUgbGVzc2VxdWFsIGluZmluaXR5IGNsdWIgZGlhbW9uZCBoZWFydCBzcGFkZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgYXJyb3dib3RoIGFycm93bGVmdCBhcnJvd3VwIGFycm93cmlnaHQgYXJyb3dkb3duIGRlZ3JlZSBwbHVzbWludXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIHNlY29uZCBncmVhdGVyZXF1YWwgbXVsdGlwbHkgcHJvcG9ydGlvbmFsIHBhcnRpYWxkaWZmIGRpdmlkZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgbm90ZXF1YWwgZXF1aXZhbGVuY2UgYXBwcm94ZXF1YWwgYXJyb3d2ZXJ0ZXggYXJyb3dob3JpemV4CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBhbGVwaCBJZnJha3R1ciBSZnJha3R1ciB3ZWllcnN0cmFzcyBjaXJjbGVtdWx0aXBseSBjaXJjbGVwbHVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBlbXB0eXNldCBpbnRlcnNlY3Rpb24gdW5pb24gcHJvcGVyc3VwZXJzZXQgcmVmbGV4c3VwZXJzZXQgbm90c3Vic2V0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBwcm9wZXJzdWJzZXQgcmVmbGV4c3Vic2V0IGVsZW1lbnQgbm90ZWxlbWVudCBhbmdsZSBncmFkaWVudAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgcmVnaXN0ZXJzZXJpZiBjb3B5cmlnaHRzZXJpZiB0cmFkZW1hcmtzZXJpZiByYWRpY2FsIGRvdG1hdGgKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGxvZ2ljYWxub3QgbG9naWNhbGFuZCBsb2dpY2Fsb3IgYXJyb3dkYmxib3RoIGFycm93ZGJsbGVmdCBhcnJvd2RibHVwCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBhcnJvd2RibHJpZ2h0IGFycm93ZGJsZG93biBvbWVnYSB4aSBwc2kgemV0YSBzaW1pbGFyIGNhcnJpYWdlcmV0dXJuCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBsb3plbmdlIGFuZ2xlbGVmdCByZWdpc3RlcnNhbnMgY29weXJpZ2h0c2FucyB0cmFkZW1hcmtzYW5zIHN1bW1hdGlvbgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgcGFyZW5sZWZ0dHAgcGFyZW5sZWZ0ZXggcGFyZW5sZWZ0YnQgYnJhY2tldGxlZnR0cCBicmFja2V0bGVmdGV4CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBicmFja2V0bGVmdGJ0IGJyYWNlbGVmdHRwIGJyYWNlbGVmdG1pZCBicmFjZWxlZnRidCBicmFjZWV4IGV1cm8KKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGFuZ2xlcmlnaHQgaW50ZWdyYWwgaW50ZWdyYWx0cCBpbnRlZ3JhbGV4IGludGVncmFsYnQgcGFyZW5yaWdodHRwCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBwYXJlbnJpZ2h0ZXggcGFyZW5yaWdodGJ0IGJyYWNrZXRyaWdodHRwIGJyYWNrZXRyaWdodGV4CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBicmFja2V0cmlnaHRidCBicmFjZXJpZ2h0dHAgYnJhY2VyaWdodG1pZCBicmFjZXJpZ2h0YnQKKworIiBJU08gTGF0aW4xIGVuY29kaW5nIG5hbWVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBicm9rZW5iYXIgY29weXJpZ2h0IHJlZ2lzdGVyZWQgdHdvc3VwZXJpb3IgdGhyZWVzdXBlcmlvcgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgb25lc3VwZXJpb3Igb25lcXVhcnRlciBvbmVoYWxmIHRocmVlcXVhcnRlcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEFncmF2ZSBBYWN1dGUgQWNpcmN1bWZsZXggQXRpbGRlIEFkaWVyZXNpcyBBcmluZyBDY2VkaWxsYSBFZ3JhdmUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEVhY3V0ZSBFY2lyY3VtZmxleCBFZGllcmVzaXMgSWdyYXZlIElhY3V0ZSBJY2lyY3VtZmxleCBJZGllcmVzaXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEV0aCBOdGlsZGUgT2dyYXZlIE9hY3V0ZSBPY2lyY3VtZmxleCBPdGlsZGUgT2RpZXJlc2lzIFVncmF2ZSBVYWN1dGUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIFVjaXJjdW1mbGV4IFVkaWVyZXNpcyBZYWN1dGUgVGhvcm4KKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGFncmF2ZSBhYWN1dGUgYWNpcmN1bWZsZXggYXRpbGRlIGFkaWVyZXNpcyBhcmluZyBjY2VkaWxsYSBlZ3JhdmUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGVhY3V0ZSBlY2lyY3VtZmxleCBlZGllcmVzaXMgaWdyYXZlIGlhY3V0ZSBpY2lyY3VtZmxleCBpZGllcmVzaXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGV0aCBudGlsZGUgb2dyYXZlIG9hY3V0ZSBvY2lyY3VtZmxleCBvdGlsZGUgb2RpZXJlc2lzIHVncmF2ZSB1YWN1dGUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIHVjaXJjdW1mbGV4IHVkaWVyZXNpcyB5YWN1dGUgdGhvcm4geWRpZXJlc2lzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCB6Y2Fyb24gZXhjbGFtc21hbGwgSHVuZ2FydW1sYXV0c21hbGwgZG9sbGFyb2xkc3R5bGUgZG9sbGFyc3VwZXJpb3IKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGFtcGVyc2FuZHNtYWxsIEFjdXRlc21hbGwgcGFyZW5sZWZ0c3VwZXJpb3IgcGFyZW5yaWdodHN1cGVyaW9yCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCB0d29kb3RlbmxlYWRlciBvbmVkb3RlbmxlYWRlciB6ZXJvb2xkc3R5bGUgb25lb2xkc3R5bGUgdHdvb2xkc3R5bGUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIHRocmVlb2xkc3R5bGUgZm91cm9sZHN0eWxlIGZpdmVvbGRzdHlsZSBzaXhvbGRzdHlsZSBzZXZlbm9sZHN0eWxlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBlaWdodG9sZHN0eWxlIG5pbmVvbGRzdHlsZSBjb21tYXN1cGVyaW9yCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCB0aHJlZXF1YXJ0ZXJzZW1kYXNoIHBlcmlvZHN1cGVyaW9yIHF1ZXN0aW9uc21hbGwgYXN1cGVyaW9yIGJzdXBlcmlvcgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgY2VudHN1cGVyaW9yIGRzdXBlcmlvciBlc3VwZXJpb3IgaXN1cGVyaW9yIGxzdXBlcmlvciBtc3VwZXJpb3IKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIG5zdXBlcmlvciBvc3VwZXJpb3IgcnN1cGVyaW9yIHNzdXBlcmlvciB0c3VwZXJpb3IgZmYgZmZpIGZmbAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgcGFyZW5sZWZ0aW5mZXJpb3IgcGFyZW5yaWdodGluZmVyaW9yIENpcmN1bWZsZXhzbWFsbCBoeXBoZW5zdXBlcmlvcgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgR3JhdmVzbWFsbCBBc21hbGwgQnNtYWxsIENzbWFsbCBEc21hbGwgRXNtYWxsIEZzbWFsbCBHc21hbGwgSHNtYWxsCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBJc21hbGwgSnNtYWxsIEtzbWFsbCBMc21hbGwgTXNtYWxsIE5zbWFsbCBPc21hbGwgUHNtYWxsIFFzbWFsbAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUnNtYWxsIFNzbWFsbCBUc21hbGwgVXNtYWxsIFZzbWFsbCBXc21hbGwgWHNtYWxsIFlzbWFsbCBac21hbGwKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGNvbG9ubW9uZXRhcnkgb25lZml0dGVkIHJ1cGlhaCBUaWxkZXNtYWxsIGV4Y2xhbWRvd25zbWFsbAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgY2VudG9sZHN0eWxlIExzbGFzaHNtYWxsIFNjYXJvbnNtYWxsIFpjYXJvbnNtYWxsIERpZXJlc2lzc21hbGwKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEJyZXZlc21hbGwgQ2Fyb25zbWFsbCBEb3RhY2NlbnRzbWFsbCBNYWNyb25zbWFsbCBmaWd1cmVkYXNoCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBoeXBoZW5pbmZlcmlvciBPZ29uZWtzbWFsbCBSaW5nc21hbGwgQ2VkaWxsYXNtYWxsIHF1ZXN0aW9uZG93bnNtYWxsCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBvbmVlaWdodGggdGhyZWVlaWdodGhzIGZpdmVlaWdodGhzIHNldmVuZWlnaHRocyBvbmV0aGlyZCB0d290aGlyZHMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIHplcm9zdXBlcmlvciBmb3Vyc3VwZXJpb3IgZml2ZXN1cGVyaW9yIHNpeHN1cGVyaW9yIHNldmVuc3VwZXJpb3IKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGVpZ2h0c3VwZXJpb3IgbmluZXN1cGVyaW9yIHplcm9pbmZlcmlvciBvbmVpbmZlcmlvciB0d29pbmZlcmlvcgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgdGhyZWVpbmZlcmlvciBmb3VyaW5mZXJpb3IgZml2ZWluZmVyaW9yIHNpeGluZmVyaW9yIHNldmVuaW5mZXJpb3IKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIGVpZ2h0aW5mZXJpb3IgbmluZWluZmVyaW9yIGNlbnRpbmZlcmlvciBkb2xsYXJpbmZlcmlvciBwZXJpb2RpbmZlcmlvcgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgY29tbWFpbmZlcmlvciBBZ3JhdmVzbWFsbCBBYWN1dGVzbWFsbCBBY2lyY3VtZmxleHNtYWxsCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBBdGlsZGVzbWFsbCBBZGllcmVzaXNzbWFsbCBBcmluZ3NtYWxsIEFFc21hbGwgQ2NlZGlsbGFzbWFsbAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgRWdyYXZlc21hbGwgRWFjdXRlc21hbGwgRWNpcmN1bWZsZXhzbWFsbCBFZGllcmVzaXNzbWFsbCBJZ3JhdmVzbWFsbAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgSWFjdXRlc21hbGwgSWNpcmN1bWZsZXhzbWFsbCBJZGllcmVzaXNzbWFsbCBFdGhzbWFsbCBOdGlsZGVzbWFsbAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgT2dyYXZlc21hbGwgT2FjdXRlc21hbGwgT2NpcmN1bWZsZXhzbWFsbCBPdGlsZGVzbWFsbCBPZGllcmVzaXNzbWFsbAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgT0VzbWFsbCBPc2xhc2hzbWFsbCBVZ3JhdmVzbWFsbCBVYWN1dGVzbWFsbCBVY2lyY3VtZmxleHNtYWxsCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBVZGllcmVzaXNzbWFsbCBZYWN1dGVzbWFsbCBUaG9ybnNtYWxsIFlkaWVyZXNpc3NtYWxsIEJsYWNrIEJvbGQgQm9vaworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgTGlnaHQgTWVkaXVtIFJlZ3VsYXIgUm9tYW4gU2VtaWJvbGQKKworIiBTdW5kcnkgc3RhbmRhcmQgYW5kIGV4cGVydCBlbmNvZGluZyBuYW1lcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgdHJhZGVtYXJrIFNjYXJvbiBZZGllcmVzaXMgWmNhcm9uIHNjYXJvbiBzb2Z0aHlwaGVuIG92ZXJzY29yZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgZ3JheWJveCBTYWN1dGUgVGNhcm9uIFphY3V0ZSBzYWN1dGUgdGNhcm9uIHphY3V0ZSBBb2dvbmVrIFNjZWRpbGxhCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBaZG90YWNjZW50IGFvZ29uZWsgc2NlZGlsbGEgTGNhcm9uIGxjYXJvbiB6ZG90YWNjZW50IFJhY3V0ZSBBYnJldmUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIExhY3V0ZSBDYWN1dGUgQ2Nhcm9uIEVvZ29uZWsgRWNhcm9uIERjYXJvbiBEY3JvYXQgTmFjdXRlIE5jYXJvbgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgT2h1bmdhcnVtbGF1dCBSY2Fyb24gVXJpbmcgVWh1bmdhcnVtbGF1dCBUY29tbWFhY2NlbnQgcmFjdXRlIGFicmV2ZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgbGFjdXRlIGNhY3V0ZSBjY2Fyb24gZW9nb25layBlY2Fyb24gZGNhcm9uIGRjcm9hdCBuYWN1dGUgbmNhcm9uCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBvaHVuZ2FydW1sYXV0IHJjYXJvbiB1cmluZyB1aHVuZ2FydW1sYXV0IHRjb21tYWFjY2VudCBHYnJldmUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIElkb3RhY2NlbnQgZ2JyZXZlIGJsYW5rIGFwcGxlCitlbmRpZgorCisKKyIgQnkgZGVmYXVsdCBsZXZlbCAzIGluY2x1ZGVzIGFsbCBsZXZlbCAyIG9wZXJhdG9ycworaWYgcG9zdHNjcl9sZXZlbCA9PSAyIHx8IHBvc3RzY3JfbGV2ZWwgPT0gMworIiBEaWN0aW9uYXJ5IG9wZXJhdG9ycworICBzeW4gbWF0Y2ggcG9zdHNjck9wZXJhdG9yICAgICAiXCg8PFx8Pj5cKSIKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgdW5kZWYKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgZ2xvYmFsZGljdCBzaGFyZWRkaWN0CisKKyIgRGV2aWNlIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBzZXRwYWdlZGV2aWNlIGN1cnJlbnRwYWdlZGV2aWNlCisKKyIgUGF0aCBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgcmVjdGNsaXAgc2V0YmJveCB1YXBwZW5kIHVjYWNoZSB1cGF0aCB1c3Ryb2tlcGF0aCBhcmN0CisKKyIgUGFpbnRpbmcgb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIHJlY3RmaWxsIHJlY3RzdHJva2UgdWZpbGwgdWVvZmlsbCB1c3Ryb2tlCisKKyIgQXJyYXkgb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIGN1cnJlbnRwYWNraW5nIHNldHBhY2tpbmcgcGFja2VkYXJyYXkKKworIiBNaXNjIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBsYW5ndWFnZWxldmVsCisKKyIgSW5zaWRlbmVzcyBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgaW5maWxsIGluZW9maWxsIGluc3Ryb2tlIGludWZpbGwgaW51ZW9maWxsIGludXN0cm9rZQorCisiIEdTdGF0ZSBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgZ3N0YXRlIHNldGdzdGF0ZSBjdXJyZW50Z3N0YXRlIHNldGNvbG9yCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIHNldGNvbG9yc3BhY2UgY3VycmVudGNvbG9yc3BhY2Ugc2V0c3Ryb2tlYWRqdXN0IGN1cnJlbnRzdHJva2VhZGp1c3QKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgY3VycmVudGNvbG9yCisKKyIgRGV2aWNlIGdzdGF0ZSBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgc2V0aGFsZnRvbmUgY3VycmVudGhhbGZ0b25lIHNldG92ZXJwcmludCBjdXJyZW50b3ZlcnByaW50CisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIHNldGNvbG9ycmVuZGVyaW5nIGN1cnJlbnRjb2xvcnJlbmRlcmluZworCisiIENoYXJhY3RlciBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgR2xvYmFsRm9udERpcmVjdG9yeSBTaGFyZWRGb250RGlyZWN0b3J5CisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIGdseXBoc2hvdyBzZWxlY3Rmb250CisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIGFkZGdseXBoIHVuZGVmaW5lZm9udCB4c2hvdyB4eXNob3cgeXNob3cKKworIiBQYXR0ZXJuIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBtYWtlcGF0dGVybiBzZXRwYXR0ZXJuIGV4ZWNmb3JtCisKKyIgUmVzb3VyY2Ugb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIGRlZmluZXJlc291cmNlIHVuZGVmaW5lcmVzb3VyY2UgZmluZHJlc291cmNlIHJlc291cmNlc3RhdHVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JSZXBlYXQgICAgIHJlc291cmNlZm9yYWxsCisKKyIgRmlsZSBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgZmlsdGVyIHByaW50b2JqZWN0IHdyaXRlb2JqZWN0IHNldG9iamVjdGZvcm1hdCBjdXJyZW50b2JqZWN0Zm9ybWF0CisKKyIgVk0gb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIGN1cnJlbnRzaGFyZWQgc2V0c2hhcmVkIGRlZmluZXVzZXJvYmplY3QgZXhlY3VzZXJvYmplY3QgdW5kZWZpbmV1c2Vyb2JqZWN0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIGdjaGVjayBzY2hlY2sgc3RhcnRqb2IgY3VycmVudGdsb2JhbCBzZXRnbG9iYWwKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgVXNlck9iamVjdHMKKworIiBJbnRlcnByZXRlciBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgc2V0dWNhY2hlcGFyYW1zIHNldHZtdGhyZXNob2xkIHVjYWNoZXN0YXR1cyBzZXRzeXN0ZW1wYXJhbXMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgc2V0dXNlcnBhcmFtcyBjdXJyZW50dXNlcnBhcmFtcyBzZXRjYWNoZXBhcmFtcyBjdXJyZW50Y2FjaGVwYXJhbXMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgY3VycmVudGRldnBhcmFtcyBzZXRkZXZwYXJhbXMgdm1yZWNsYWltIGN1cnJlbnRzeXN0ZW1wYXJhbXMKKworIiBQUzIgY29uc3RhbnRzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBEZXZpY2VDTVlLIFBhdHRlcm4gSW5kZXhlZCBTZXBhcmF0aW9uIEN5YW4gTWFnZW50YSBZZWxsb3cgQmxhY2sKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIENJRUJhc2VkQSBDSUVCYXNlZEFCQyBDSUVCYXNlZERFRiBDSUVCYXNlZERFRkcKKworIiBQUzIgJGVycm9yIGRpY3Rpb25hcnkgZW50cmllcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgbmV3ZXJyb3IgZXJyb3JuYW1lIGNvbW1hbmQgZXJyb3JpbmZvIG9zdGFjayBlc3RhY2sgZHN0YWNrCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCByZWNvcmRzdGFja3MgYmluYXJ5CisKKyIgUFMyIENhdGVnb3J5IGRpY3Rpb25hcnkKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIERlZmluZVJlc291cmNlIFVuZGVmaW5lUmVzb3VyY2UgRmluZFJlc291cmNlIFJlc291cmNlU3RhdHVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBSZXNvdXJjZUZvckFsbCBDYXRlZ29yeSBJbnN0YW5jZVR5cGUgUmVzb3VyY2VGaWxlTmFtZQorCisiIFBTMiBDYXRlZ29yeSBuYW1lcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgRm9udCBFbmNvZGluZyBGb3JtIFBhdHRlcm4gUHJvY1NldCBDb2xvclNwYWNlIEhhbGZ0b25lCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBDb2xvclJlbmRlcmluZyBGaWx0ZXIgQ29sb3JTcGFjZUZhbWlseSBFbXVsYXRvciBJT0RldmljZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgQ29sb3JSZW5kZXJpbmdUeXBlIEZNYXBUeXBlIEZvbnRUeXBlIEZvcm1UeXBlIEhhbGZ0b25lVHlwZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgSW1hZ2VUeXBlIFBhdHRlcm5UeXBlIENhdGVnb3J5IEdlbmVyaWMKKworIiBQUzIgcGFnZWRldmljZSBkaWN0aW9uYXJ5IGVudHJpZXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIFBhZ2VTaXplIE1lZGlhQ29sb3IgTWVkaWFXZWlnaHQgTWVkaWFUeXBlIElucHV0QXR0cmlidXRlcyBNYW51YWxGZWVkCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBPdXRwdXRUeXBlIE91dHB1dEF0dHJpYnV0ZXMgTnVtQ29waWVzIENvbGxhdGUgRHVwbGV4IFR1bWJsZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgU2VwYXJhdGlvbnMgSFdSZXNvbHV0aW9uIE1hcmdpbnMgTmVnYXRpdmVQcmludCBNaXJyb3JQcmludAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgQ3V0TWVkaWEgQWR2YW5jZU1lZGlhIEFkdmFuY2VEaXN0YW5jZSBJbWFnaW5nQkJveAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUG9saWNpZXMgSW5zdGFsbCBCZWdpblBhZ2UgRW5kUGFnZSBQb2xpY3lOb3RGb3VuZCBQb2xpY3lSZXBvcnQKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIE1hbnVhbFNpemUgT3V0cHV0RmFjZVVwIEpvZworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgQmluZCBCaW5kRGV0YWlscyBCb29rbGV0IEJvb2tsZXREZXRhaWxzIENvbGxhdGVEZXRhaWxzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBEZXZpY2VSZW5kZXJpbmdJbmZvIEV4aXRKYW1SZWNvdmVyeSBGb2xkIEZvbGREZXRhaWxzIExhbWluYXRlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBNYW51YWxGZWVkVGltZW91dCBPcmllbnRhdGlvbiBPdXRwdXRQYWdlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBQb3N0UmVuZGVyaW5nRW5oYW5jZSBQb3N0UmVuZGVyaW5nRW5oYW5jZURldGFpbHMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIFByZVJlbmRlcmluZ0VuaGFuY2UgUHJlUmVuZGVyaW5nRW5oYW5jZURldGFpbHMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIFNpZ25hdHVyZSBTbGlwU2hlZXQgU3RhcGxlIFN0YXBsZURldGFpbHMgVHJpbQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUHJvb2ZTZXQgUkVWYWx1ZSBQcmludFF1YWxpdHkgVmFsdWVzUGVyQ29sb3JDb21wb25lbnQgQW50aUFsaWFzCisKKyIgUFMyIFBETCByZXNvdXJjZSBlbnRyaWVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBTZWxlY3RvciBMYW5ndWFnZUZhbWlseSBMYW5ndWFnZVZlcnNpb24KKworIiBQUzIgaGFsZnRvbmUgZGljdGlvbmFyeSBlbnRyaWVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBIYWxmdG9uZVR5cGUgSGFsZnRvbmVOYW1lCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBBY2N1cmF0ZVNjcmVlbnMgQWN0dWFsQW5nbGUgWHNxdWFyZSBZc3F1YXJlIEFjY3VyYXRlRnJlcXVlbmN5CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBGcmVxdWVuY3kgU3BvdEZ1bmN0aW9uIEFuZ2xlIFdpZHRoIEhlaWdodCBUaHJlc2hvbGRzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBSZWRGcmVxdWVuY3kgUmVkU3BvdEZ1bmN0aW9uIFJlZEFuZ2xlIFJlZFdpZHRoIFJlZEhlaWdodAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgR3JlZW5GcmVxdWVuY3kgR3JlZW5TcG90RnVuY3Rpb24gR3JlZW5BbmdsZSBHcmVlbldpZHRoIEdyZWVuSGVpZ2h0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBCbHVlRnJlcXVlbmN5IEJsdWVTcG90RnVuY3Rpb24gQmx1ZUFuZ2xlIEJsdWVXaWR0aCBCbHVlSGVpZ2h0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBHcmF5RnJlcXVlbmN5IEdyYXlBbmdsZSBHcmF5U3BvdEZ1bmN0aW9uIEdyYXlXaWR0aCBHcmF5SGVpZ2h0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBHcmF5VGhyZXNob2xkcyBCbHVlVGhyZXNob2xkcyBHcmVlblRocmVzaG9sZHMgUmVkVGhyZXNob2xkcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgVHJhbnNmZXJGdW5jdGlvbgorCisiIFBTMiBDU1IgZGljdGlvbmFyaWVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBSYW5nZUEgRGVjb2RlQSBNYXRyaXhBIFJhbmdlQUJDIERlY29kZUFCQyBNYXRyaXhBQkMgQmxhY2tQb2ludAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUmFuZ2VMTU4gRGVjb2RlTE1OIE1hdHJpeExNTiBXaGl0ZVBvaW50IFJhbmdlREVGIERlY29kZURFRiBSYW5nZUhJSgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUmFuZ2VERUZHIERlY29kZURFRkcgUmFuZ2VISUpLIFRhYmxlCisKKyIgUFMyIENSRCBkaWN0aW9uYXJpZXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIENvbG9yUmVuZGVyaW5nVHlwZSBFbmNvZGVMTUIgRW5jb2RlQUJDIFJhbmdlUFFSIE1hdHJpeFBRUgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgQWJzb2x1dGVDb2xvcmltZXRyaWMgUmVsYXRpdmVDb2xvcmltZXRyaWMgU2F0dXJhdGlvbiBQZXJjZXB0dWFsCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBUcmFuc2Zvcm1QUVIgUmVuZGVyVGFibGUKKworIiBQUzIgUGF0dGVybiBkaWN0aW9uYXJ5CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBQYXR0ZXJuVHlwZSBQYWludFR5cGUgVGlsaW5nVHlwZSBYU3RlcCBZU3RlcAorCisiIFBTMiBJbWFnZSBkaWN0aW9uYXJ5CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBJbWFnZVR5cGUgSW1hZ2VNYXRyaXggTXVsdGlwbGVEYXRhU291cmNlcyBEYXRhU291cmNlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBCaXRzUGVyQ29tcG9uZW50IERlY29kZSBJbnRlcnBvbGF0ZQorCisiIFBTMiBGb250IGRpY3Rpb25hcmllcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgRm9udFR5cGUgRm9udE1hdHJpeCBGb250TmFtZSBGb250SW5mbyBMYW5ndWFnZUxldmVsIFdNb2RlIEVuY29kaW5nCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBVbmlxdWVJRCBTdHJva2VXaWR0aCBNZXRyaWNzIE1ldHJpY3MyIENEZXZQcm9jIENoYXJTdHJpbmdzIFByaXZhdGUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEZ1bGxOYW1lIE5vdGljZSB2ZXJzaW9uIEl0YWxpY0FuZ2xlIGlzRml4ZWRQaXRjaCBVbmRlcmxpbmVQb3NpdGlvbgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgRk1hcFR5cGUgRW5jb2RpbmcgRkRlcFZlY3RvciBQcmVmRW5jIEVzY0NoYXIgU2hpZnRPdXQgU2hpZnRJbgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgV2VpZ2h0VmVjdG9yIEJsZW5kICRCbGVuZCBDSURGb250VHlwZSBzZm50cyBDSURTeXN0ZW1JbmZvIENvZGVNYXAKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIENNYXAgQ0lERm9udE5hbWUgQ0lEU3lzdGVtSW5mbyBVSURCYXNlIENJRERldlByb2MgQ0lEQ291bnQKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIENJRE1hcE9mZnNldCBGREFycmF5IEZEQnl0ZXMgR0RCeXRlcyBHbHlwaERhdGEgR2x5cGhEaWN0aW9uYXJ5CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBTREJ5dGVzIFN1YnJNYXBPZmZzZXQgU3VickNvdW50IEJ1aWxkR2x5cGggQ0lETWFwIEZJRCBNSURWZWN0b3IKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIE9yZGVyaW5nIFJlZ2lzdHJ5IFN1cHBsZW1lbnQgQ01hcE5hbWUgQ01hcFZlcnNpb24gVUlET2Zmc2V0CisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBTdWJzVmVjdG9yIFVuZGVybGluZVRoaWNrbmVzcyBGYW1pbHlOYW1lIEZvbnRCQm94IEN1ck1JRAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgV2VpZ2h0CisKKyIgUFMyIFVzZXIgcGFyYW10ZXJzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBNYXhGb250SXRlbSBNaW5Gb250Q29tcHJlc3MgTWF4VVBhdGhJdGVtIE1heEZvcm1JdGVtIE1heFBhdHRlcm5JdGVtCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBNYXhTY3JlZW5JdGVtIE1heE9wU3RhY2sgTWF4RGljdFN0YWNrIE1heEV4ZWNTdGFjayBNYXhMb2NhbFZNCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBWTVJlY2xhaW0gVk1UaHJlc2hvbGQKKworIiBQUzIgU3lzdGVtIHBhcmFtdGVycworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgU3lzdGVtUGFyYW1zUGFzc3dvcmQgU3RhcnRKb2JQYXNzd29yZCBCdWlsZFRpbWUgQnl0ZU9yZGVyIFJlYWxGb3JtYXQKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIE1heEZvbnRDYWNoZSBDdXJGb250Q2FjaGUgTWF4T3V0bGluZUNhY2hlIEN1ck91dGxpbmVDYWNoZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgTWF4VVBhdGhDYWNoZSBDdXJVUGF0aENhY2hlIE1heEZvcm1DYWNoZSBDdXJGb3JtQ2FjaGUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIE1heFBhdHRlcm5DYWNoZSBDdXJQYXR0ZXJuQ2FjaGUgTWF4U2NyZWVuU3RvcmFnZSBDdXJTY3JlZW5TdG9yYWdlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBNYXhEaXNwbGF5TGlzdCBDdXJEaXNwbGF5TGlzdAorCisiIFBTMiBMWlcgRmlsdGVycworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUHJlZGljdG9yCisKKyIgUGFwZXIgU2l6ZSBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgbGV0dGVyIGxldHRlcnNtYWxsIGxlZ2FsIGxlZGdlciAxMXgxNyBhNCBhMyBhNHNtYWxsIGI1IG5vdGUKKworIiBQYXBlciBUcmF5IG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBsZXR0ZXJ0cmF5IGxlZ2FsdHJheSBsZWRnZXJ0cmF5IGEzdHJheSBhNHRyYXkgYjV0cmF5IDExeDE3dHJheQorCisiIFNDQyBjb21wYXRpYmlsaXR5IG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBzY2NiYXRjaCBzY2NpbnRlcmFjdGl2ZSBzZXRzY2NiYXRjaCBzZXRzY2NpbnRlcmFjdGl2ZQorCisiIFBhZ2UgZHVwbGV4aW5nIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBkdXBsZXhtb2RlIGZpcnN0c2lkZSBuZXdzaGVldCBzZXRkdXBsZXhtb2RlIHNldHR1bWJsZSB0dW1ibGUKKworIiBEZXZpY2UgY29tcGF0YWJpbGl0eSBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgZGV2ZGlzbW91bnQgZGV2Zm9ybWF0IGRldm1vdW50IGRldnN0YXR1cworICBzeW4ga2V5d29yZCBwb3N0c2NyUmVwZWF0ICAgICBkZXZmb3JhbGwKKworIiBJbWFnZXNldHRlciBjb21wYXRhYmlsaXR5IG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBhY2N1cmF0ZXNjcmVlbnMgY2hlY2tzY3JlZW4gcGFnZW1hcmdpbiBwYWdlcGFyYW1zIHNldGFjY3VyYXRlc2NyZWVucyBzZXRwYWdlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIHNldHBhZ2VtYXJnaW4gc2V0cGFnZXBhcmFtcworCisiIE1pc2MgY29tcGF0YWJpbGl0eSBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgYXBwbGV0YWxrdHlwZSBidWlsZHRpbWUgYnl0ZW9yZGVyIGNoZWNrcGFzc3dvcmQgZGVmYXVsdHRpbWVvdXRzIGRpc2tvbmxpbmUKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgZGlza3N0YXR1cyBtYW51YWxmZWVkIG1hbnVhbGZlZWR0aW1lb3V0IG1hcmdpbnMgbWlycm9ycHJpbnQgcGFnZWNvdW50CisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIHBhZ2VzdGFja29yZGVyIHByaW50ZXJuYW1lIHByb2Nlc3Njb2xvcnMgc2V0aGFyZHdhcmVpb21vZGUgc2V0am9idGltZW91dAorICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBzZXRwYWdlc3RvY2tvcmRlciBzZXRwcmludGVybmFtZSBzZXRyZXNvbHV0aW9uIGRvcHJpbnRlcnJvcnMgZG9zdGFydHBhZ2UKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgaGFyZHdhcmVpb21vZGUgaW5pdGlhbGl6ZWRpc2sgam9ibmFtZSBqb2J0aW1lb3V0IHJhbXNpemUgcmVhbGZvcm1hdCByZXNvbHV0aW9uCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIHNldGRlZmF1bHR0aW1lb3V0cyBzZXRkb3ByaW50ZXJyb3JzIHNldGRvc3RhcnRwYWdlIHNldGRvc3lzc3RhcnQKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgc2V0dXNlcmRpc2twZXJjZW50IHNvZnR3YXJlaW9tb2RlIHVzZXJkaXNrcGVyY2VudCB3YWl0dGltZW91dAorICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBzZXRzb2Z0d2FyZWlvbW9kZSBkb3N5c3N0YXJ0IGVtdWxhdGUgc2V0bWFyZ2lucyBzZXRtaXJyb3JwcmludAorCitlbmRpZiAiIFBTMiBoaWdobGlnaHRpbmcKKworaWYgcG9zdHNjcl9sZXZlbCA9PSAzCisiIFNoYWRpbmcgb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIHNldHNtb290aG5lc3MgY3VycmVudHNtb290aG5lc3Mgc2hmaWxsCisKKyIgQ2xpcCBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgY2xpcHNhdmUgY2xpcHJlc3RvcmUKKworIiBQYWdlZGV2aXZlIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBzZXRwYWdlIHNldHBhZ2VwYXJhbXMKKworIiBEZXZpY2UgZ3N0YXRlIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBmaW5kY29sb3JyZW5kZXJpbmcKKworIiBGb250IG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBjb21wb3NlZm9udAorCisiIFBTIExMMyBPdXRwdXQgZGV2aWNlIHJlc291cmNlIGVudHJpZXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIERldmljZU4gVHJhcHBpbmdEZXRhaWxzVHlwZQorCisiIFBTIExMMyBwYWdkZXZpY2UgZGljdGlvbmFyeSBlbnRyaWVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBEZWZlcnJlZE1lZGlhU2VsZWN0aW9uIEltYWdlU2hpZnQgSW5zZXJ0U2hlZXQgTGVhZGluZ0VkZ2UgTWF4U2VwYXJhdGlvbnMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIE1lZGlhQ2xhc3MgTWVkaWFQb3NpdGlvbiBPdXRwdXREZXZpY2UgUGFnZURldmljZU5hbWUgUGFnZU9mZnNldCBQcm9jZXNzQ29sb3JNb2RlbAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUm9sbEZlZE1lZGlhIFNlcGFyYXRpb25Db2xvck5hbWVzIFNlcGFyYXRpb25PcmRlciBUcmFwcGluZyBUcmFwcGluZ0RldGFpbHMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIFRyYXlTd2l0Y2ggVXNlQ0lFQ29sb3IKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIENvbG9yYW50RGV0YWlscyBDb2xvcmFudE5hbWUgQ29sb3JhbnRUeXBlIE5ldXRyYWxEZW5zaXR5IFRyYXBwaW5nT3JkZXIKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIENvbG9yYW50U2V0TmFtZQorCisiIFBTIExMMyB0cmFwcGluZyBkaWN0aW9uYXJ5IGVudHJpZXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEJsYWNrQ29sb3JMaW1pdCBCbGFja0RlbnNpdHlMaW1pdCBCbGFja1dpZHRoIENvbG9yYW50Wm9uZURldGFpbHMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIFNsaWRpbmdUcmFwTGltaXQgU3RlcExpbWl0IFRyYXBDb2xvclNjYWxpbmcgVHJhcFNldE5hbWUgVHJhcFdpZHRoCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBJbWFnZVJlc29sdXRpb24gSW1hZ2VUb09iamVjdFRyYXBwaW5nIEltYWdlVHJhcFBsYWNlbWVudAorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgU3RlcExpbWl0IFRyYXBDb2xvclNjYWxpbmcgRW5hYmxlZCBJbWFnZUludGVybmFsVHJhcHBpbmcKKworIiBQUyBMTDMgZmlsdGVycyBhbmQgZW50cmllcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUmV1c2FibGVTdHJlYW1EZWNvZGUgQ2xvc2VTb3VyY2UgQ2xvc2VUYXJnZXQgVW5pdFNpemUgTG93Qml0Rmlyc3QKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEZsYXRlRW5jb2RlIEZsYXRlRGVjb2RlIERlY29kZVBhcmFtcyBJbnRlbnQgQXN5bmNSZWFkCisKKyIgUFMgTEwzIGhhbGZ0b25lIGRpY3Rpb25hcnkgZW50cmllcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgSGVpZ2h0MiBXaWR0aDIKKworIiBQUyBMTDMgZnVuY3Rpb24gZGljdGlvbmFyeSBlbnRyaWVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBGdW5jdGlvblR5cGUgRG9tYWluIFJhbmdlIE9yZGVyIEJpdHNQZXJTYW1wbGUgRW5jb2RlIFNpemUgQzAgQzEgTgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgRnVuY3Rpb25zIEJvdW5kcworCisiIFBTIExMMyBpbWFnZSBkaWN0aW9uYXJ5IGVudHJpZXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEludGVybGVhdmVUeXBlIE1hc2tEaWN0IERhdGFEaWN0IE1hc2tDb2xvcgorCisiIFBTIExMMyBQYXR0ZXJuIGFuZCBzaGFkaW5nIGRpY3Rpb25hcnkgZW50cmllcworICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgU2hhZGluZyBTaGFkaW5nVHlwZSBCYWNrZ3JvdW5kIENvbG9yU3BhY2UgQ29vcmRzIEV4dGVuZCBGdW5jdGlvbgorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgVmVydGljZXNQZXJSb3cgQml0c1BlckNvb3JkaW5hdGUgQml0c1BlckZsYWcKKworIiBQUyBMTDMgaW1hZ2UgZGljdGlvbmFyeSBlbnRyaWVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBYT3JpZ2luIFlPcmlnaW4gVW5wYWludGVkUGF0aCBQaXhlbENvcHkKKworIiBQUyBMTDMgY29sb3JyZW5kZXJpbmcgcHJvY2VkdXJlcworICBzeW4ga2V5d29yZCBwb3N0c2NyUHJvY2VkdXJlICBHZXRIYWxmdG9uZU5hbWUgR2V0UGFnZURldmljZU5hbWUgR2V0U3Vic3RpdHV0ZUNSRAorCisiIFBTIExMMyBDSURJbml0IHByb2NlZHVyZXMKKyAgc3luIGtleXdvcmQgcG9zdHNjclByb2NlZHVyZSAgYmVnaW5iZmNoYXIgYmVnaW5iZnJhbmdlIGJlZ2luY2lkY2hhciBiZWdpbmNpZHJhbmdlIGJlZ2luY21hcCBiZWdpbmNvZGVzcGFjZXJhbmdlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JQcm9jZWR1cmUgIGJlZ2lubm90ZGVmY2hhciBiZWdpbm5vdGRlZnJhbmdlIGJlZ2lucmVhcnJhbmdlZGZvbnQgYmVnaW51c2VtYXRyaXgKKyAgc3luIGtleXdvcmQgcG9zdHNjclByb2NlZHVyZSAgZW5kYmZjaGFyIGVuZGJmcmFuZ2UgZW5kY2lkY2hhciBlbmRjaWRyYW5nZSBlbmRjbWFwIGVuZGNvZGVzcGFjZXJhbmdlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JQcm9jZWR1cmUgIGVuZG5vdGRlZmNoYXIgZW5kbm90ZGVmcmFuZ2UgZW5kcmVhcnJhbmdlZGZvbnQgZW5kdXNlbWF0cml4CisgIHN5biBrZXl3b3JkIHBvc3RzY3JQcm9jZWR1cmUgIFN0YXJ0RGF0YSB1c2Vmb250IHVzZWNtcAorCisiIFBTIExMMyBUcmFwcGluZyBwcm9jZWR1cmVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JQcm9jZWR1cmUgIHNldHRyYXBwYXJhbXMgY3VycmVudHRyYXBwYXJhbXMgc2V0dHJhcHpvbmUKKworIiBQUyBMTDMgQml0bWFwRm9udEluaXQgcHJvY2VkdXJlcworICBzeW4ga2V5d29yZCBwb3N0c2NyUHJvY2VkdXJlICByZW1vdmVhbGwgcmVtb3ZlZ2x5cGhzCisKKyIgUFMgTEwzIEZvbnQgbmFtZXMKKyAgaWYgZXhpc3RzKCJwb3N0c2NyX2ZvbnRzIikKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEFsYmVydHVzTVQgQWxiZXJ0dXNNVC1JdGFsaWMgQWxiZXJ0dXNNVC1MaWdodCBBcHBsZS1DaGFuY2VyeSBBcHBsZS1DaGFuY2VyeUNFCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBBbnRpcXVlT2xpdmUtUm9tYW4gQW50aXF1ZU9saXZlLUl0YWxpYyBBbnRpcXVlT2xpdmUtQm9sZCBBbnRpcXVlT2xpdmUtQ29tcGFjdAorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgQW50aXF1ZU9saXZlQ0UtUm9tYW4gQW50aXF1ZU9saXZlQ0UtSXRhbGljIEFudGlxdWVPbGl2ZUNFLUJvbGQgQW50aXF1ZU9saXZlQ0UtQ29tcGFjdAorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgQXJpYWxNVCBBcmlhbC1JdGFsaWNNVCBBcmlhbC1MaWdodE1UIEFyaWFsLUJvbGRNVCBBcmlhbC1Cb2xkSXRhbGljTVQKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEFyaWFsQ0UgQXJpYWxDRS1JdGFsaWMgQXJpYWxDRS1MaWdodCBBcmlhbENFLUJvbGQgQXJpYWxDRS1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBBdmFudEdhcmRlLUJvb2sgQXZhbnRHYXJkZS1Cb29rT2JsaXF1ZSBBdmFudEdhcmRlLURlbWkgQXZhbnRHYXJkZS1EZW1pT2JsaXF1ZQorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgQXZhbnRHYXJkZUNFLUJvb2sgQXZhbnRHYXJkZUNFLUJvb2tPYmxpcXVlIEF2YW50R2FyZGVDRS1EZW1pIEF2YW50R2FyZGVDRS1EZW1pT2JsaXF1ZQorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgQm9kb25pIEJvZG9uaS1JdGFsaWMgQm9kb25pLUJvbGQgQm9kb25pLUJvbGRJdGFsaWMgQm9kb25pLVBvc3RlciBCb2RvbmktUG9zdGVyQ29tcHJlc3NlZAorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgQm9kb25pQ0UgQm9kb25pQ0UtSXRhbGljIEJvZG9uaUNFLUJvbGQgQm9kb25pQ0UtQm9sZEl0YWxpYyBCb2RvbmlDRS1Qb3N0ZXIgQm9kb25pQ0UtUG9zdGVyQ29tcHJlc3NlZAorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgQm9va21hbi1MaWdodCBCb29rbWFuLUxpZ2h0SXRhbGljIEJvb2ttYW4tRGVtaSBCb29rbWFuLURlbWlJdGFsaWMKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEJvb2ttYW5DRS1MaWdodCBCb29rbWFuQ0UtTGlnaHRJdGFsaWMgQm9va21hbkNFLURlbWkgQm9va21hbkNFLURlbWlJdGFsaWMKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIENhcnRhIENoaWNhZ28gQ2hpY2Fnb0NFIENsYXJlbmRvbiBDbGFyZW5kb24tTGlnaHQgQ2xhcmVuZG9uLUJvbGQKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIENsYXJlbmRvbkNFIENsYXJlbmRvbkNFLUxpZ2h0IENsYXJlbmRvbkNFLUJvbGQgQ29vcGVyQmxhY2sgQ29vcGVyQmxhY2stSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBDb3BwZXJwbGF0ZS1UaGlydHlUd29CQyBDb3BwZXJQbGF0ZS1UaGlydHlUaHJlZUJDIENvcm9uZXQtUmVndWxhciBDb3JvbmV0Q0UtUmVndWxhcgorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgQ291cmllckNFIENvdXJpZXJDRS1PYmxpcXVlIENvdXJpZXJDRS1Cb2xkIENvdXJpZXJDRS1Cb2xkT2JsaXF1ZQorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgRXVyb3N0aWxlIEV1cm9zdGlsZS1Cb2xkIEV1cm9zdGlsZS1FeHRlbmRlZFR3byBFdXJvc3RpbGUtQm9sZEV4dGVuZGVkVHdvCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBFdXJvc3RpbGUgRXVyb3N0aWxlQ0UtQm9sZCBFdXJvc3RpbGVDRS1FeHRlbmRlZFR3byBFdXJvc3RpbGVDRS1Cb2xkRXh0ZW5kZWRUd28KKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEdlbmV2YSBHZW5ldmFDRSBHaWxsU2FucyBHaWxsU2Fucy1JdGFsaWMgR2lsbFNhbnMtQm9sZCBHaWxsU2Fucy1Cb2xkSXRhbGljIEdpbGxTYW5zLUJvbGRDb25kZW5zZWQKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEdpbGxTYW5zLUxpZ2h0IEdpbGxTYW5zLUxpZ2h0SXRhbGljIEdpbGxTYW5zLUV4dHJhQm9sZAorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgR2lsbFNhbnNDRS1Sb21hbiBHaWxsU2Fuc0NFLUl0YWxpYyBHaWxsU2Fuc0NFLUJvbGQgR2lsbFNhbnNDRS1Cb2xkSXRhbGljIEdpbGxTYW5zQ0UtQm9sZENvbmRlbnNlZAorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgR2lsbFNhbnNDRS1MaWdodCBHaWxsU2Fuc0NFLUxpZ2h0SXRhbGljIEdpbGxTYW5zQ0UtRXh0cmFCb2xkCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBHb3VkeSBHb3VkeS1JdGFsaWMgR291ZHktQm9sZCBHb3VkeS1Cb2xkSXRhbGljIEdvdWR5LUV4dHJhQm91bGQKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEhlbHZldGljYUNFIEhlbHZldGljYUNFLU9ibGlxdWUgSGVsdmV0aWNhQ0UtQm9sZCBIZWx2ZXRpY2FDRS1Cb2xkT2JsaXF1ZQorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgSGVsdmV0aWNhLUNvbmRlbnNlZCBIZWx2ZXRpY2EtQ29uZGVuc2VkLU9ibGlxdWUgSGVsdmV0aWNhLUNvbmRlbnNlZC1Cb2xkIEhlbHZldGljYS1Db25kZW5zZWQtQm9sZE9ibAorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgSGVsdmV0aWNhQ0UtQ29uZGVuc2VkIEhlbHZldGljYUNFLUNvbmRlbnNlZC1PYmxpcXVlIEhlbHZldGljYUNFLUNvbmRlbnNlZC1Cb2xkCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBIZWx2ZXRpY2FDRS1Db25kZW5zZWQtQm9sZE9ibCBIZWx2ZXRpY2EtTmFycm93IEhlbHZldGljYS1OYXJyb3ctT2JsaXF1ZSBIZWx2ZXRpY2EtTmFycm93LUJvbGQKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEhlbHZldGljYS1OYXJyb3ctQm9sZE9ibGlxdWUgSGVsdmV0aWNhQ0UtTmFycm93IEhlbHZldGljYUNFLU5hcnJvdy1PYmxpcXVlIEhlbHZldGljYUNFLU5hcnJvdy1Cb2xkCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBIZWx2ZXRpY2FDRS1OYXJyb3ctQm9sZE9ibGlxdWUgSG9lZmxlclRleHQtUmVndWxhciBIb2VmbGVyVGV4dC1JdGFsaWMgSG9lZmxlclRleHQtQmxhY2sKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEhvZWZsZXJUZXh0LUJsYWNrSXRhbGljIEhvZWZsZXJUZXh0LU9ybmFtZW50cyBIb2VmbGVyVGV4dENFLVJlZ3VsYXIgSG9lZmxlclRleHRDRS1JdGFsaWMKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEhvZWZsZXJUZXh0Q0UtQmxhY2sgSG9lZmxlclRleHRDRS1CbGFja0l0YWxpYworICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgSm9hbm5hTVQgSm9hbm5hTVQtSXRhbGljIEpvYW5uYU1ULUJvbGQgSm9hbm5hTVQtQm9sZEl0YWxpYworICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgSm9hbm5hTVRDRSBKb2FubmFNVENFLUl0YWxpYyBKb2FubmFNVENFLUJvbGQgSm9hbm5hTVRDRS1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBMZXR0ZXJHb3RoaWMgTGV0dGVyR290aGljLVNsYW50ZWQgTGV0dGVyR290aGljLUJvbGQgTGV0dGVyR290aGljLUJvbGRTbGFudGVkCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBMZXR0ZXJHb3RoaWNDRSBMZXR0ZXJHb3RoaWNDRS1TbGFudGVkIExldHRlckdvdGhpY0NFLUJvbGQgTGV0dGVyR290aGljQ0UtQm9sZFNsYW50ZWQKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEx1YmFsaW5HcmFwaC1Cb29rIEx1YmFsaW5HcmFwaC1Cb29rT2JsaXF1ZSBMdWJhbGluR3JhcGgtRGVtaSBMdWJhbGluR3JhcGgtRGVtaU9ibGlxdWUKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIEx1YmFsaW5HcmFwaENFLUJvb2sgTHViYWxpbkdyYXBoQ0UtQm9va09ibGlxdWUgTHViYWxpbkdyYXBoQ0UtRGVtaSBMdWJhbGluR3JhcGhDRS1EZW1pT2JsaXF1ZQorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgTWFyaWdvbGQgTW9uYWNvIE1vbmFjb0NFIE1vbmFMaXNhLVJlY3V0IE94Zm9yZCBTeW1ib2wgVGVrdG9uCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBOZXdDZW5udHVyeVNjaGxiay1Sb21hbiBOZXdDZW50dXJ5U2NobGJrLUl0YWxpYyBOZXdDZW50dXJ5U2NobGJrLUJvbGQgTmV3Q2VudHVyeVNjaGxiay1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBOZXdDZW50dXJ5U2NobGJrQ0UtUm9tYW4gTmV3Q2VudHVyeVNjaGxia0NFLUl0YWxpYyBOZXdDZW50dXJ5U2NobGJrQ0UtQm9sZAorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgTmV3Q2VudHVyeVNjaGxia0NFLUJvbGRJdGFsaWMgTmV3WW9yayBOZXdZb3JrQ0UKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIE9wdGltYSBPcHRpbWEtSXRhbGljIE9wdGltYS1Cb2xkIE9wdGltYS1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBPcHRpbWFDRSBPcHRpbWFDRS1JdGFsaWMgT3B0aW1hQ0UtQm9sZCBPcHRpbWFDRS1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBQYWxhdGluby1Sb21hbiBQYWxhdGluby1JdGFsaWMgUGFsYXRpbm8tQm9sZCBQYWxhdGluby1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBQYWxhdGlub0NFLVJvbWFuIFBhbGF0aW5vQ0UtSXRhbGljIFBhbGF0aW5vQ0UtQm9sZCBQYWxhdGlub0NFLUJvbGRJdGFsaWMKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIFN0ZW1wZWxHYXJhbW9uZC1Sb21hbiBTdGVtcGVsR2FyYW1vbmQtSXRhbGljIFN0ZW1wZWxHYXJhbW9uZC1Cb2xkIFN0ZW1wZWxHYXJhbW9uZC1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBTdGVtcGVsR2FyYW1vbmRDRS1Sb21hbiBTdGVtcGVsR2FyYW1vbmRDRS1JdGFsaWMgU3RlbXBlbEdhcmFtb25kQ0UtQm9sZCBTdGVtcGVsR2FyYW1vbmRDRS1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBUaW1lc0NFLVJvbWFuIFRpbWVzQ0UtSXRhbGljIFRpbWVzQ0UtQm9sZCBUaW1lc0NFLUJvbGRJdGFsaWMKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIFRpbWVzTmV3Um9tYW5QU01UIFRpbWVzTmV3Um9tYW5QUy1JdGFsaWNNVCBUaW1lc05ld1JvbWFuUFMtQm9sZE1UIFRpbWVzTmV3Um9tYW5QUy1Cb2xkSXRhbGljTVQKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIFRpbWVzTmV3Um9tYW5DRSBUaW1lc05ld1JvbWFuQ0UtSXRhbGljIFRpbWVzTmV3Um9tYW5DRS1Cb2xkIFRpbWVzTmV3Um9tYW5DRS1Cb2xkSXRhbGljCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBVbml2ZXJzIFVuaXZlcnMtT2JsaXF1ZSBVbml2ZXJzLUJvbGQgVW5pdmVycy1Cb2xkT2JsaXF1ZQorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgVW5pdmVyc0NFLU1lZGl1bSBVbml2ZXJzQ0UtT2JsaXF1ZSBVbml2ZXJzQ0UtQm9sZCBVbml2ZXJzQ0UtQm9sZE9ibGlxdWUKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIFVuaXZlcnMtTGlnaHQgVW5pdmVycy1MaWdodE9ibGlxdWUgVW5pdmVyc0NFLUxpZ2h0IFVuaXZlcnNDRS1MaWdodE9ibGlxdWUKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIFVuaXZlcnMtQ29uZGVuc2VkIFVuaXZlcnMtQ29uZGVuc2VkT2JsaXF1ZSBVbml2ZXJzLUNvbmRlbnNlZEJvbGQgVW5pdmVycy1Db25kZW5zZWRCb2xkT2JsaXF1ZQorICAgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCBjb250YWluZWQgVW5pdmVyc0NFLUNvbmRlbnNlZCBVbml2ZXJzQ0UtQ29uZGVuc2VkT2JsaXF1ZSBVbml2ZXJzQ0UtQ29uZGVuc2VkQm9sZCBVbml2ZXJzQ0UtQ29uZGVuc2VkQm9sZE9ibGlxdWUKKyAgICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgY29udGFpbmVkIFVuaXZlcnMtRXh0ZW5kZWQgVW5pdmVycy1FeHRlbmRlZE9ibCBVbml2ZXJzLUJvbGRFeHQgVW5pdmVycy1Cb2xkRXh0T2JsCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBVbml2ZXJzQ0UtRXh0ZW5kZWQgVW5pdmVyc0NFLUV4dGVuZGVkT2JsIFVuaXZlcnNDRS1Cb2xkRXh0IFVuaXZlcnNDRS1Cb2xkRXh0T2JsCisgICAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50IGNvbnRhaW5lZCBXaW5nZGluZ3MtUmVndWxhciBaYXBmQ2hhbmNlcnktTWVkaXVtSXRhbGljIFphcGZDaGFuY2VyeUNFLU1lZGl1bUl0YWxpYyBaYXBmRGluZ0JhdHMKKyAgZW5kaWYgIiBGb250IG5hbWVzCisKK2VuZGlmICIgUFMgTEwzIGhpZ2hsaWdodGluZworCisKK2lmIGV4aXN0cygicG9zdHNjcl9naG9zdHNjcmlwdCIpCisgICIgR1MgZ3N0YXRlIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAuc2V0YWNjdXJhdGVjdXJ2ZXMgLmN1cnJlbnRhY2N1cmF0ZWN1cnZlcyAuc2V0Y2xpcG91dHNpZGUKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgLnNldGRhc2hhZGFwdCAuY3VycmVudGRhc2hhZGFwdCAuc2V0ZGVmYXVsdG1hdHJpeCAuc2V0ZG90bGVuZ3RoCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5jdXJyZW50ZG90bGVuZ3RoIC5zZXRmaWxsYWRqdXN0MiAuY3VycmVudGZpbGxhZGp1c3QyCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5jdXJyZW50Y2xpcG91dHNpZGUgLnNldGN1cnZlam9pbiAuY3VycmVudGN1cnZlam9pbgorICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAuc2V0YmxlbmRtb2RlIC5jdXJyZW50YmxlbmRtb2RlIC5zZXRvcGFjaXR5YWxwaGEgLmN1cnJlbnRvcGFjaXR5YWxwaGEgLnNldHNoYXBlYWxwaGEgLmN1cnJlbnRzaGFwZWFscGhhCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5zZXRsaW1pdGNsYW1wIC5jdXJyZW50bGltaXRjbGFtcCAuc2V0b3ZlcnByaW50bW9kZSAuY3VycmVudG92ZXJwcmludG1vZGUKKworICAiIEdTIHBhdGggb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5kYXNocGF0aCAucmVjdGFwcGVuZAorCisgICIgR1MgcGFpbnRpbmcgb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5zZXRyYXN0ZXJvcCAuY3VycmVudHJhc3Rlcm9wIC5zZXRzb3VyY2V0cmFuc3BhcmVudAorICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAuc2V0dGV4dHVyZXRyYW5zcGFyZW50IC5jdXJyZW50dGV4dHVyZXRyYW5zcGFyZW50CisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5jdXJyZW50c291cmNldHJhbnNwYXJlbnQKKworICAiIEdTIGNoYXJhY3RlciBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgLmNoYXJib3hwYXRoIC50eXBlMWV4ZWNjaGFyICVUeXBlMUJ1aWxkQ2hhciAlVHlwZTFCdWlsZEdseXBoCisKKyAgIiBHUyBtYXRoZW1hdGljYWwgb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JNYXRoT3BlcmF0b3IgYXJjY29zIGFyY3NpbgorCisgICIgR1MgZGljdGlvbmFyeSBvcGVyYXRvcnMKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgLmRpY3R0b21hcmsgLmZvcmNlcHV0IC5mb3JjZXVuZGVmIC5rbm93bmdldCAuc2V0bWF4bGVuZ3RoCisKKyAgIiBHUyBieXRlIGFuZCBzdHJpbmcgb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC50eXBlMWVuY3J5cHQgLnR5cGUxZGVjcnlwdAorICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAuYnl0ZXN0cmluZyAubmFtZXN0cmluZyAuc3RyaW5nbWF0Y2gKKworICAiIEdTIHJlbGF0aW9uYWwgb3BlcmF0b3JzIChzZWVtIGxpa2UgbWF0aCBvbmVzIHRvIG1lISkKKyAgc3luIGtleXdvcmQgcG9zdHNjck1hdGhPcGVyYXRvciBtYXggbWluCisKKyAgIiBHUyBmaWxlIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBmaW5kbGliZmlsZSB1bnJlYWQgd3JpdGVwcG1maWxlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5maWxlbmFtZSAuZmlsZXBvc2l0aW9uIC5wZWVrc3RyaW5nIC51bnJlYWQKKworICAiIEdTIHZtIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAuZm9yZ2V0c2F2ZQorCisgICIgR1MgZGV2aWNlIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBjb3B5ZGV2aWNlIC5nZXRkZXZpY2UgbWFrZWltYWdlZGV2aWNlIG1ha2V3b3JkaW1hZ2VkZXZpY2UgY29weXNjYW5saW5lcworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBzZXRkZXZpY2UgY3VycmVudGRldmljZSBnZXRkZXZpY2Vwcm9wcyBwdXRkZXZpY2Vwcm9wcyBmbHVzaHBhZ2UKKyAgc3luIGtleXdvcmQgcG9zdHNjck9wZXJhdG9yICAgZmluZGRldmljZSBmaW5kcHJvdG9kZXZpY2UgLmdldGJpdHNyZWN0CisKKyAgIiBHUyBtaXNjIG9wZXJhdG9ycworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICBnZXRlbnYgLm1ha2VvcGVyYXRvciAuc2V0ZGVidWcgLm9zZXJybm8gLm9zZXJyb3IgLmV4ZWNuCisKKyAgIiBHUyByZW5kZXJpbmcgc3RhY2sgb3BlcmF0b3JzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5iZWdpbnRyYW5zcGFyZW5jeWdyb3VwIC5kaXNjYXJkdHJhbnNwYXJlbmN5Z3JvdXAgLmVuZHRyYW5zcGFyZW5jeWdyb3VwCisgIHN5biBrZXl3b3JkIHBvc3RzY3JPcGVyYXRvciAgIC5iZWdpbnRyYW5zcGFyZW5jeW1hc2sgLmRpc2NhcmR0cmFuc3BhcmVuY3ltYXNrIC5lbmR0cmFuc3BhcmVuY3ltYXNrIC5pbml0dHJhbnNwYXJlbmN5bWFzaworICBzeW4ga2V5d29yZCBwb3N0c2NyT3BlcmF0b3IgICAuc2V0dGV4dGtub2Nrb3V0IC5jdXJyZW50dGV4dGtub2Nrb3V0CisKKyAgIiBHUyBmaWx0ZXJzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBCQ1BFbmNvZGUgQkNQRGVjb2RlIGVleGVjRW5jb2RlIGVleGVjRGVjb2RlIFBDWERlY29kZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUGl4ZWxEaWZmZXJlbmNlRW5jb2RlIFBpeGVsRGlmZmVyZW5jZURlY29kZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgUE5HUHJlZGljdG9yRGVjb2RlIFRCQ1BFbmNvZGUgVEJDUERlY29kZSB6bGliRW5jb2RlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCB6bGliRGVjb2RlIFBOR1ByZWRpY3RvckVuY29kZSBQRkJEZWNvZGUKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIE1ENUVuY29kZQorCisgICIgR1MgZmlsdGVyIGtleXMKKyAgc3luIGtleXdvcmQgcG9zdHNjckNvbnN0YW50ICAgY29udGFpbmVkIEluaXRpYWxDb2RlTGVuZ3RoIEZpcnN0Qml0TG93T3JkZXIgQmxvY2tEYXRhIERlY29kZWRCeXRlQWxpZ24KKworICAiIEdTIGRldmljZSBwYXJhbWV0ZXJzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBCaXRzUGVyUGl4ZWwgLkhXTWFyZ2lucyBIV1NpemUgTmFtZSBHcmF5VmFsdWVzCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBDb2xvclZhbHVlcyBUZXh0QWxwaGFCaXRzIEdyYXBoaWNzQWxwaGFCaXRzIEJ1ZmZlclNwYWNlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBPcGVuT3V0cHV0RmlsZSBQYWdlQ291bnQgQmFuZEhlaWdodCBCYW5kV2lkdGggQmFuZEJ1ZmZlclNwYWNlCisgIHN5biBrZXl3b3JkIHBvc3RzY3JDb25zdGFudCAgIGNvbnRhaW5lZCBWaWV3ZXJQcmVQcm9jZXNzIEdyZWVuVmFsdWVzIEJsdWVWYWx1ZXMgT3V0cHV0RmlsZQorICBzeW4ga2V5d29yZCBwb3N0c2NyQ29uc3RhbnQgICBjb250YWluZWQgTWF4Qml0bWFwIFJlZFZhbHVlcworCitlbmRpZiAiIEdob3N0U2NyaXB0IGhpZ2hsaWdodGluZworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wb3N0c2NyX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3Bvc3RzY3Jfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcG9zdHNjckNvbW1lbnQJCUNvbW1lbnQKKworICBIaUxpbmsgcG9zdHNjckNvbnN0YW50CUNvbnN0YW50CisgIEhpTGluayBwb3N0c2NyU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHBvc3RzY3JBU0NJSVN0cmluZwlwb3N0c2NyU3RyaW5nCisgIEhpTGluayBwb3N0c2NySGV4U3RyaW5nCXBvc3RzY3JTdHJpbmcKKyAgSGlMaW5rIHBvc3RzY3JBU0NJSTg1U3RyaW5nCXBvc3RzY3JTdHJpbmcKKyAgSGlMaW5rIHBvc3RzY3JOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgcG9zdHNjckludGVnZXIJCXBvc3RzY3JOdW1iZXIKKyAgSGlMaW5rIHBvc3RzY3JIZXgJCXBvc3RzY3JOdW1iZXIKKyAgSGlMaW5rIHBvc3RzY3JSYWRpeAkJcG9zdHNjck51bWJlcgorICBIaUxpbmsgcG9zdHNjckZsb2F0CQlGbG9hdAorICBIaUxpbmsgcG9zdHNjckJvb2xlYW4JCUJvb2xlYW4KKworICBIaUxpbmsgcG9zdHNjcklkZW50aWZpZXIJSWRlbnRpZmllcgorICBIaUxpbmsgcG9zdHNjclByb2NlZHVyZQlGdW5jdGlvbgorCisgIEhpTGluayBwb3N0c2NyTmFtZQkJU3RhdGVtZW50CisgIEhpTGluayBwb3N0c2NyQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHBvc3RzY3JSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgcG9zdHNjck9wZXJhdG9yCU9wZXJhdG9yCisgIEhpTGluayBwb3N0c2NyTWF0aE9wZXJhdG9yCXBvc3RzY3JPcGVyYXRvcgorICBIaUxpbmsgcG9zdHNjckxvZ2ljYWxPcGVyYXRvciBwb3N0c2NyT3BlcmF0b3IKKyAgSGlMaW5rIHBvc3RzY3JCaW5hcnlPcGVyYXRvcglwb3N0c2NyT3BlcmF0b3IKKworICBIaUxpbmsgcG9zdHNjckRTQ0NvbW1lbnQJU3BlY2lhbENvbW1lbnQKKyAgSGlMaW5rIHBvc3RzY3JTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgorCisgIEhpTGluayBwb3N0c2NyVG9kbwkJVG9kbworCisgIEhpTGluayBwb3N0c2NyRXJyb3IJCUVycm9yCisgIEhpTGluayBwb3N0c2NyU3BlY2lhbENoYXJFcnJvciBwb3N0c2NyRXJyb3IKKyAgSGlMaW5rIHBvc3RzY3JBU0NJSTg1Q2hhckVycm9yIHBvc3RzY3JFcnJvcgorICBIaUxpbmsgcG9zdHNjckhleENoYXJFcnJvcglwb3N0c2NyRXJyb3IKKyAgSGlMaW5rIHBvc3RzY3JJZGVudGlmaWVyRXJyb3IgcG9zdHNjckVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBvc3RzY3IiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wb3YudmltIGIvcnVudGltZS9zeW50YXgvcG92LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDBiYjMxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcG92LnZpbQpAQCAtMCwwICsxLDE0NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgVGhpcyBpcyBhIEdFTkVSQVRFRCBGSUxFLiBQbGVhc2UgYWx3YXlzIHJlZmVyIHRvIHNvdXJjZSBmaWxlIGF0IHRoZSBVUkkgYmVsb3cuCisiIExhbmd1YWdlOiBQb1YtUmF5KHRtKSAzLjUgU2NlbmUgRGVzY3JpcHRpb24gTGFuZ3VhZ2UKKyIgTWFpbnRhaW5lcjogRGF2aWQgTmVcdntjfWFzIChZZXRpKSA8eWV0aUBwaHlzaWNzLm11bmkuY3o+CisiIExhc3QgQ2hhbmdlOiAyMDAzIEFwciAyNQorIiBVUkw6IGh0dHA6Ly9waHlzaWNzLm11bmkuY3ovfnlldGkvZG93bmxvYWQvc3ludGF4L3Bvdi52aW0KKyIgUmVxdWlyZWQgVmltIFZlcnNpb246IDYuMAorCisiIFNldHVwCitpZiB2ZXJzaW9uID49IDYwMAorICAiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAorICBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorICBlbmRpZgorZWxzZQorICAiIENyb2FrIHdoZW4gYW4gb2xkIFZpbSBpcyBzb3VyY2luZyB1cy4KKyAgZWNobyAiU29ycnksIGJ1dCB0aGlzIHN5bnRheCBmaWxlIHJlbGllcyBvbiBWaW0gNiBmZWF0dXJlcy4gIEVpdGhlciB1cGdyYWRlIFZpbSBvciB1c2UgYSB2ZXJzaW9uIG9mICIgLiBleHBhbmQoIjxzZmlsZT46dDpyIikgLiAiIHN5bnRheCBmaWxlIGFwcHJvcHJpYXRlIGZvciBWaW0gIiAuIHZlcnNpb24vMTAwIC4gIi4iIC4gdmVyc2lvbiAlMTAwIC4gIi4iCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKKworIiBUb3AgbGV2ZWwgc3R1ZmYKK3N5biBrZXl3b3JkIHBvdkNvbW1hbmRzIGdsb2JhbF9zZXR0aW5ncworc3luIGtleXdvcmQgcG92T2JqZWN0cyBhcnJheSBhdG1vc3BoZXJlIGJhY2tncm91bmQgYmljdWJpY19wYXRjaCBibG9iIGJveCBjYW1lcmEgY29tcG9uZW50IGNvbmUgY3ViaWMgY3lsaW5kZXIgZGlzYyBmb2cgaGVpZ2h0X2ZpZWxkIGlzb3N1cmZhY2UganVsaWFfZnJhY3RhbCBsYXRoZSBsaWdodF9ncm91cCBsaWdodF9zb3VyY2UgbWVzaCBtZXNoMiBvYmplY3QgcGFyYW1ldHJpYyBwYXR0ZXJuIHBob3RvbnMgcGxhbmUgcG9seSBwb2x5Z29uIHByaXNtIHF1YWRyaWMgcXVhcnRpYyByYWluYm93IHNreV9zcGhlcmUgc21vb3RoX3RyaWFuZ2xlIHNvciBzcGhlcmUgc3BoZXJlX3N3ZWVwIHNwbGluZSBzdXBlcmVsbGlwc29pZCB0ZXh0IHRvcnVzIHRyaWFuZ2xlCitzeW4ga2V5d29yZCBwb3ZDU0cgY2xpcHBlZF9ieSBjb21wb3NpdGUgY29udGFpbmVkX2J5IGRpZmZlcmVuY2UgaW50ZXJzZWN0aW9uIG1lcmdlIHVuaW9uCitzeW4ga2V5d29yZCBwb3ZBcHBlYXJhbmNlIGludGVyaW9yIG1hdGVyaWFsIG1lZGlhIHRleHR1cmUgaW50ZXJpb3JfdGV4dHVyZSB0ZXh0dXJlX2xpc3QKK3N5biBrZXl3b3JkIHBvdkdsb2JhbFNldHRpbmdzIGFtYmllbnRfbGlnaHQgYXNzdW1lZF9nYW1tYSBjaGFyc2V0IGhmX2dyYXlfMTYgaXJpZF93YXZlbGVuZ3RoIG1heF9pbnRlcnNlY3Rpb25zIG1heF90cmFjZV9sZXZlbCBudW1iZXJfb2Zfd2F2ZXMgcmFkaW9zaXR5IG5vaXNlX2dlbmVyYXRvcgorc3luIGtleXdvcmQgcG92VHJhbnNmb3JtIGludmVyc2UgbWF0cml4IHJvdGF0ZSBzY2FsZSB0cmFuc2xhdGUgdHJhbnNmb3JtCisKKyIgRGVzY3JpcHRvcnMKK3N5biBrZXl3b3JkIHBvdkRlc2NyaXB0b3JzIGZpbmlzaCBub3JtYWwgcGlnbWVudCB1dl9tYXBwaW5nIHV2X3ZlY3RvcnMgdmVydGV4X3ZlY3RvcnMKK3N5biBrZXl3b3JkIHBvdkRlc2NyaXB0b3JzIGFkY19iYWlsb3V0IGFsd2F5c19zYW1wbGUgYnJpZ2h0bmVzcyBjb3VudCBlcnJvcl9ib3VuZCBkaXN0YW5jZV9tYXhpbXVtIGdyYXlfdGhyZXNob2xkIGxvYWRfZmlsZSBsb3dfZXJyb3JfZmFjdG9yIG1heF9zYW1wbGUgbWVkaWEgbWluaW11bV9yZXVzZSBuZWFyZXN0X2NvdW50IG5vcm1hbCBwcmV0cmFjZV9lbmQgcHJldHJhY2Vfc3RhcnQgcmVjdXJzaW9uX2xpbWl0IHNhdmVfZmlsZQorc3luIGtleXdvcmQgcG92RGVzY3JpcHRvcnMgY29sb3IgY29sb3VyIGdyYXkgcmdiIHJnYnQgcmdiZiByZ2JmdCByZWQgZ3JlZW4gYmx1ZQorc3luIGtleXdvcmQgcG92RGVzY3JpcHRvcnMgYnVtcF9tYXAgY29sb3JfbWFwIGNvbG91cl9tYXAgaW1hZ2VfbWFwIG1hdGVyaWFsX21hcCBwaWdtZW50X21hcCBxdWlja19jb2xvciBxdWlja19jb2xvdXIgbm9ybWFsX21hcCB0ZXh0dXJlX21hcCBpbWFnZV9wYXR0ZXJuIHBpZ21lbnRfcGF0dGVybgorc3luIGtleXdvcmQgcG92RGVzY3JpcHRvcnMgYW1iaWVudCBicmlsbGlhbmNlIGNvbnNlcnZlX2VuZXJneSBjcmFuZCBkaWZmdXNlIGZyZXNuZWwgaXJpZCBtZXRhbGxpYyBwaG9uZyBwaG9uZ19zaXplIHJlZnJhY3Rpb24gcmVmbGVjdGlvbiByZWZsZWN0aW9uX2V4cG9uZW50IHJvdWdobmVzcyBzcGVjdWxhcgorc3luIGtleXdvcmQgcG92RGVzY3JpcHRvcnMgY3lsaW5kZXIgZmlzaGV5ZSBvbW5pbWF4IG9ydGhvZ3JhcGhpYyBwYW5vcmFtaWMgcGVyc3BlY3RpdmUgc3BoZXJpY2FsIHVsdHJhX3dpZGVfYW5nbGUKK3N5biBrZXl3b3JkIHBvdkRlc2NyaXB0b3JzIGFnYXRlIGF2ZXJhZ2UgYnJpY2sgYm94ZWQgYm96byBidW1wcyBjZWxscyBjaGVja2VyIGNyYWNrbGUgY3lsaW5kcmljYWwgZGVudHMgZmFjZXRzIGZ1bmN0aW9uIGdyYWRpZW50IGdyYW5pdGUgaGV4YWdvbiBqdWxpYSBsZW9wYXJkIG1hZ25ldCBtYW5kZWwgbWFyYmxlIG9uaW9uIHBsYW5hciBxdWlsdGVkIHJhZGlhbCByaXBwbGVzIHNsb3BlIHNwaGVyaWNhbCBzcGlyYWwxIHNwaXJhbDIgc3BvdHRlZCB0aWxlcyB0aWxlczIgdG9yb2lkYWwgd2F2ZXMgd29vZCB3cmlua2xlcworc3luIGtleXdvcmQgcG92RGVzY3JpcHRvcnMgZGVuc2l0eV9maWxlCitzeW4ga2V5d29yZCBwb3ZEZXNjcmlwdG9ycyBhcmVhX2xpZ2h0IHNoYWRvd2xlc3Mgc3BvdGxpZ2h0IHBhcmFsbGVsCitzeW4ga2V5d29yZCBwb3ZEZXNjcmlwdG9ycyBhYnNvcnB0aW9uIGNvbmZpZGVuY2UgZGVuc2l0eSBlbWlzc2lvbiBpbnRlcnZhbHMgcmF0aW8gc2FtcGxlcyBzY2F0dGVyaW5nIHZhcmlhbmNlCitzeW4ga2V5d29yZCBwb3ZEZXNjcmlwdG9ycyBkaXN0YW5jZSBmb2dfYWx0IGZvZ19vZmZzZXQgZm9nX3R5cGUgdHVyYl9kZXB0aAorc3luIGtleXdvcmQgcG92RGVzY3JpcHRvcnMgYl9zcGxpbmUgYmV6aWVyX3NwbGluZSBjdWJpY19zcGxpbmUgZXZhbHVhdGUgZmFjZV9pbmRpY2VzIGZvcm0gbGluZWFyX3NwbGluZSBtYXhfZ3JhZGllbnQgbmF0dXJhbF9zcGxpbmUgbm9ybWFsX2luZGljZXMgbm9ybWFsX3ZlY3RvcnMgcXVhZHJhdGljX3NwbGluZSB1dl9pbmRpY2VzCitzeW4ga2V5d29yZCBwb3ZEZXNjcmlwdG9ycyB0YXJnZXQKKworIiBNb2RpZmllcnMKK3N5biBrZXl3b3JkIHBvdk1vZGlmaWVycyBjYXVzdGljcyBkaXNwZXJzaW9uIGRpc3BlcnNpb25fc2FtcGxlcyBmYWRlX2NvbG9yIGZhZGVfY29sb3VyIGZhZGVfZGlzdGFuY2UgZmFkZV9wb3dlciBpb3IKK3N5biBrZXl3b3JkIHBvdk1vZGlmaWVycyBib3VuZGVkX2J5IGRvdWJsZV9pbGx1bWluYXRlIGhpZXJhcmNoeSBob2xsb3cgbm9fc2hhZG93IG9wZW4gc21vb3RoIHN0dXJtIHRocmVzaG9sZCB3YXRlcl9sZXZlbAorc3luIGtleXdvcmQgcG92TW9kaWZpZXJzIGh5cGVyY29tcGxleCBtYXhfaXRlcmF0aW9uIHByZWNpc2lvbiBxdWF0ZXJuaW9uIHNsaWNlCitzeW4ga2V5d29yZCBwb3ZNb2RpZmllcnMgY29uaWNfc3dlZXAgbGluZWFyX3N3ZWVwCitzeW4ga2V5d29yZCBwb3ZNb2RpZmllcnMgZmxhdG5lc3MgdHlwZSB1X3N0ZXBzIHZfc3RlcHMKK3N5biBrZXl3b3JkIHBvdk1vZGlmaWVycyBhYV9sZXZlbCBhYV90aHJlc2hvbGQgYWRhcHRpdmUgZmFsbG9mZiBqaXR0ZXIgbG9va3NfbGlrZSBtZWRpYV9hdHRlbnVhdGlvbiBtZWRpYV9pbnRlcmFjdGlvbiBtZXRob2QgcG9pbnRfYXQgcmFkaXVzIHRpZ2h0bmVzcworc3luIGtleXdvcmQgcG92TW9kaWZpZXJzIGFuZ2xlIGFwZXJ0dXJlIGJsdXJfc2FtcGxlcyBjb25maWRlbmNlIGRpcmVjdGlvbiBmb2NhbF9wb2ludCBoX2FuZ2xlIGxvY2F0aW9uIGxvb2tfYXQgcmlnaHQgc2t5IHVwIHZfYW5nbGUgdmFyaWFuY2UKK3N5biBrZXl3b3JkIHBvdk1vZGlmaWVycyBhbGwgYnVtcF9zaXplIGZpbHRlciBpbnRlcnBvbGF0ZSBtYXBfdHlwZSBvbmNlIHNsb3BlX21hcCB0cmFuc21pdCB1c2VfYWxwaGEgdXNlX2NvbG9yIHVzZV9jb2xvdXIgdXNlX2luZGV4CitzeW4ga2V5d29yZCBwb3ZNb2RpZmllcnMgYmxhY2tfaG9sZSBhZ2F0ZV90dXJiIGJyaWNrX3NpemUgY29udHJvbDAgY29udHJvbDEgY3ViaWNfd2F2ZSBkZW5zaXR5X21hcCBmbGlwIGZyZXF1ZW5jeSBpbnRlcnBvbGF0ZSBpbnZlcnNlIGxhbWJkYSBtZXRyaWMgbW9ydGFyIG9jdGF2ZXMgb2Zmc2V0IG9tZWdhIHBoYXNlIHBvbHlfd2F2ZSByYW1wX3dhdmUgcmVwZWF0IHNjYWxsb3Bfd2F2ZSBzaW5lX3dhdmUgc2l6ZSBzdHJlbmd0aCB0cmlhbmdsZV93YXZlIHRoaWNrbmVzcyB0dXJidWxlbmNlIHR1cmJfZGVwdGggdHlwZSB3YXJwCitzeW4ga2V5d29yZCBwb3ZNb2RpZmllcnMgZWNjZW50cmljaXR5IGV4dGluY3Rpb24KK3N5biBrZXl3b3JkIHBvdk1vZGlmaWVycyBhcmNfYW5nbGUgZmFsbG9mZl9hbmdsZSB3aWR0aAorc3luIGtleXdvcmQgcG92TW9kaWZpZXJzIGFjY3VyYWN5IGFsbF9pbnRlcnNlY3Rpb25zIGFsdGl0dWRlIGF1dG9zdG9wIGNpcmN1bGFyIGNvbGxlY3QgY29vcmRzIGN1dGF3YXlfdGV4dHVyZXMgZGlzdF9leHAgZXhwYW5kX3RocmVzaG9sZHMgZXhwb25lbnQgZXh0ZXJpb3IgZ2F0aGVyIGdsb2JhbF9saWdodHMgbWFqb3JfcmFkaXVzIG1heF90cmFjZSBub19idW1wX3NjYWxlIG5vX2ltYWdlIG5vX3JlZmxlY3Rpb24gb3JpZW50IG9yaWVudGF0aW9uIHBhc3NfdGhyb3VnaCBwcmVjb21wdXRlIHByb2plY3RlZF90aHJvdWdoIHJhbmdlX2RpdmlkZXIgc29saWQgc3BhY2luZyBzcGxpdF91bmlvbiB0b2xlcmFuY2UKKworIiBXb3JkcyBub3QgbWFya2VkIGByZXNlcnZlZCcgaW4gZG9jdW1lbnRhdGlvbiwgYnV0Li4uCitzeW4ga2V5d29yZCBwb3ZCTVBUeXBlIGFscGhhIGdpZiBpZmYganBlZyBwZ20gcG5nIHBvdCBwcG0gc3lzIHRnYSB0aWZmIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcG92Rm9udFR5cGUgdHRmIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcG92RGVuc2l0eVR5cGUgZGYzIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcG92Q2hhcnNldCBhc2NpaSB1dGY4IGNvbnRhaW5lZAorCisiIE1hdGggZnVuY3Rpb25zIG9uIGZsb2F0cywgdmVjdG9ycyBhbmQgc3RyaW5ncworc3luIGtleXdvcmQgcG92RnVuY3Rpb25zIGFicyBhY29zIGFjb3NoIGFzYyBhc2luIGFzaW5oIGF0YW4gYXRhbjIgYXRhbmggY2VpbCBjb3MgY29zaCBkZWZpbmVkIGRlZ3JlZXMgZGltZW5zaW9ucyBkaW1lbnNpb25fc2l6ZSBkaXYgZXhwIGZpbGVfZXhpc3RzIGZsb29yIGludCBpbnRlcm5hbCBsbiBsb2cgbWF4IG1pbiBtb2QgcG93IHJhZGlhbnMgcmFuZCBzZWVkIHNlbGVjdCBzaW4gc2luaCBzcXJ0IHN0cmNtcCBzdHJsZW4gdGFuIHRhbmggdmFsIHZkb3Qgdmxlbmd0aCB2c3RyIHZ0dXJidWxlbmNlCitzeW4ga2V5d29yZCBwb3ZGdW5jdGlvbnMgbWluX2V4dGVudCBtYXhfZXh0ZW50IHRyYWNlIHZjcm9zcyB2cm90YXRlIHZheGlzX3JvdGF0ZSB2bm9ybWFsaXplIHZ0dXJidWxlbmNlCitzeW4ga2V5d29yZCBwb3ZGdW5jdGlvbnMgY2hyIGNvbmNhdCBzdWJzdHIgc3RyIHN0cnVwciBzdHJsd3IKK3N5biBrZXl3b3JkIHBvdkp1bGlhRnVuY3Rpb25zIGFjb3NoIGFzaW5oIGF0YW4gY29zaCBjdWJlIHB3ciByZWNpcHJvY2FsIHNpbmggc3FyIHRhbmgKKworIiBTcGVjaWFsaXRpZXMKK3N5biBrZXl3b3JkIHBvdkNvbnN0cyBjbG9jayBjbG9ja19kZWx0YSBjbG9ja19vbiBmaW5hbF9jbG9jayBmaW5hbF9mcmFtZSBmcmFtZV9udW1iZXIgaW5pdGlhbF9jbG9jayBpbml0aWFsX2ZyYW1lIGltYWdlX3dpZHRoIGltYWdlX2hlaWdodCBmYWxzZSBubyBvZmYgb24gcGkgdCB0cnVlIHUgdiB2ZXJzaW9uIHggeSB5ZXMgegorc3luIG1hdGNoIHBvdkRvdEl0ZW0gIlwuXEA8PVwoYmx1ZVx8Z3JlZW5cfGZpbHRlclx8cmVkXHx0cmFuc21pdFx8dFx8dVx8dlx8eFx8eVx8elwpXD4iIGRpc3BsYXkKKworIiBDb21tZW50cworc3luIHJlZ2lvbiBwb3ZDb21tZW50IHN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1wb3ZUb2RvLHBvdkNvbW1lbnQKK3N5biBtYXRjaCBwb3ZDb21tZW50ICIvLy4qIiBjb250YWlucz1wb3ZUb2RvCitzeW4gbWF0Y2ggcG92Q29tbWVudEVycm9yICJcKi8iCitzeW4gc3luYyBjY29tbWVudCBwb3ZDb21tZW50CitzeW4gc3luYyBtaW5saW5lcz01MAorc3luIGtleXdvcmQgcG92VG9kbyBUT0RPIEZJWE1FIFhYWCBOT1QgY29udGFpbmVkCitzeW4gY2x1c3RlciBwb3ZQUklWQVRFIGFkZD1wb3ZUb2RvCisKKyIgTGFuZ3VhZ2UgZGlyZWN0aXZlcworc3luIG1hdGNoIHBvdkNvbmRpdGlvbmFsRGlyICIjXHMqXChlbHNlXHxlbmRcfGlmXHxpZmRlZlx8aWZuZGVmXHxzd2l0Y2hcfHdoaWxlXClcPiIKK3N5biBtYXRjaCBwb3ZMYWJlbERpciAiI1xzKlwoYnJlYWtcfGNhc2VcfGRlZmF1bHRcfHJhbmdlXClcPiIKK3N5biBtYXRjaCBwb3ZEZWNsYXJlRGlyICIjXHMqXChkZWNsYXJlXHxkZWZhdWx0XHxsb2NhbFx8bWFjcm9cfHVuZGVmXHx2ZXJzaW9uXClcPiIKK3N5biBtYXRjaCBwb3ZJbmNsdWRlRGlyICIjXHMqaW5jbHVkZVw+Igorc3luIG1hdGNoIHBvdkZpbGVEaXIgIiNccypcKGZjbG9zZVx8Zm9wZW5cfHJlYWRcfHdyaXRlXClcPiIKK3N5biBtYXRjaCBwb3ZNZXNzYWdlRGlyICIjXHMqXChkZWJ1Z1x8ZXJyb3JcfHJlbmRlclx8c3RhdGlzdGljc1x8d2FybmluZ1wpXD4iCitzeW4gcmVnaW9uIHBvdkZpbGVPcGVuIHN0YXJ0PSIjXHMqZm9wZW5cPiIgc2tpcD0rIlteIl0qIisgbWF0Y2hncm91cD1wb3ZPcGVuVHlwZSBlbmQ9Ilw8XChyZWFkXHx3cml0ZVx8YXBwZW5kXClcPiIgY29udGFpbnM9QUxMQlVULFBvdlBhcmVuRXJyb3IsUG92QnJhY2VFcnJvcixAUG92UFJJVkFURSB0cmFuc3BhcmVudCBrZWVwZW5kCisKKyIgTGl0ZXJhbCBzdHJpbmdzCitzeW4gbWF0Y2ggcG92U3BlY2lhbENoYXIgIlxcXGRcZFxkXHxcXC4iIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBwb3ZTdHJpbmcgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1wb3ZTcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gY2x1c3RlciBwb3ZQUklWQVRFIGFkZD1wb3ZTcGVjaWFsQ2hhcgorCisiIENhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXphdGlvbgorc3luIHJlZ2lvbiBwb3ZQYXJlbiBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQscG92UGFyZW5FcnJvcixAcG92UFJJVkFURSB0cmFuc3BhcmVudAorc3luIG1hdGNoIHBvdlBhcmVuRXJyb3IgIikiCitzeW4gcmVnaW9uIHBvdkJyYWNlIHN0YXJ0PSd7JyBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCxwb3ZCcmFjZUVycm9yLEBwb3ZQUklWQVRFIHRyYW5zcGFyZW50CitzeW4gbWF0Y2ggcG92QnJhY2VFcnJvciAifSIKKworIiBOdW1iZXJzCitzeW4gbWF0Y2ggcG92TnVtYmVyICJcKF5cfFxXXClcQDw9WystXVw9XChcZFwrXClcPVwuXD1cZFwrXChbZUVdWystXVw9XGRcK1wpXD0iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworaGkgZGVmIGxpbmsgcG92Q29tbWVudCBDb21tZW50CitoaSBkZWYgbGluayBwb3ZUb2RvIFRvZG8KK2hpIGRlZiBsaW5rIHBvdk51bWJlciBOdW1iZXIKK2hpIGRlZiBsaW5rIHBvdlN0cmluZyBTdHJpbmcKK2hpIGRlZiBsaW5rIHBvdkZpbGVPcGVuIENvbnN0YW50CitoaSBkZWYgbGluayBwb3ZDb25zdHMgQ29uc3RhbnQKK2hpIGRlZiBsaW5rIHBvdkRvdEl0ZW0gQ29uc3RhbnQKK2hpIGRlZiBsaW5rIHBvdkJNUFR5cGUgcG92U3BlY2lhbAoraGkgZGVmIGxpbmsgcG92Q2hhcnNldCBwb3ZTcGVjaWFsCitoaSBkZWYgbGluayBwb3ZEZW5zaXR5VHlwZSBwb3ZTcGVjaWFsCitoaSBkZWYgbGluayBwb3ZGb250VHlwZSBwb3ZTcGVjaWFsCitoaSBkZWYgbGluayBwb3ZPcGVuVHlwZSBwb3ZTcGVjaWFsCitoaSBkZWYgbGluayBwb3ZTcGVjaWFsQ2hhciBwb3ZTcGVjaWFsCitoaSBkZWYgbGluayBwb3ZTcGVjaWFsIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHBvdkNvbmRpdGlvbmFsRGlyIFByZVByb2MKK2hpIGRlZiBsaW5rIHBvdkxhYmVsRGlyIFByZVByb2MKK2hpIGRlZiBsaW5rIHBvdkRlY2xhcmVEaXIgRGVmaW5lCitoaSBkZWYgbGluayBwb3ZJbmNsdWRlRGlyIEluY2x1ZGUKK2hpIGRlZiBsaW5rIHBvdkZpbGVEaXIgUHJlUHJvYworaGkgZGVmIGxpbmsgcG92TWVzc2FnZURpciBEZWJ1ZworaGkgZGVmIGxpbmsgcG92QXBwZWFyYW5jZSBwb3ZEZXNjcmlwdG9ycworaGkgZGVmIGxpbmsgcG92T2JqZWN0cyBwb3ZEZXNjcmlwdG9ycworaGkgZGVmIGxpbmsgcG92R2xvYmFsU2V0dGluZ3MgcG92RGVzY3JpcHRvcnMKK2hpIGRlZiBsaW5rIHBvdkRlc2NyaXB0b3JzIFR5cGUKK2hpIGRlZiBsaW5rIHBvdkp1bGlhRnVuY3Rpb25zIFBvdkZ1bmN0aW9ucworaGkgZGVmIGxpbmsgcG92TW9kaWZpZXJzIHBvdkZ1bmN0aW9ucworaGkgZGVmIGxpbmsgcG92RnVuY3Rpb25zIEZ1bmN0aW9uCitoaSBkZWYgbGluayBwb3ZDb21tYW5kcyBPcGVyYXRvcgoraGkgZGVmIGxpbmsgcG92VHJhbnNmb3JtIE9wZXJhdG9yCitoaSBkZWYgbGluayBwb3ZDU0cgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHBvdlBhcmVuRXJyb3IgcG92RXJyb3IKK2hpIGRlZiBsaW5rIHBvdkJyYWNlRXJyb3IgcG92RXJyb3IKK2hpIGRlZiBsaW5rIHBvdkNvbW1lbnRFcnJvciBwb3ZFcnJvcgoraGkgZGVmIGxpbmsgcG92RXJyb3IgRXJyb3IKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicG92IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcG92aW5pLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BvdmluaS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDIxNjllYQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3BvdmluaS52aW0KQEAgLTAsMCArMSw2MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgVGhpcyBpcyBhIEdFTkVSQVRFRCBGSUxFLiBQbGVhc2UgYWx3YXlzIHJlZmVyIHRvIHNvdXJjZSBmaWxlIGF0IHRoZSBVUkkgYmVsb3cuCisiIExhbmd1YWdlOiBQb1YtUmF5KHRtKSAzLjUgY29uZmlndXJhdGlvbi9pbml0aWFsaXphdGlvbiBmaWxlcworIiBNYWludGFpbmVyOiBEYXZpZCBOZVx2e2N9YXMgKFlldGkpIDx5ZXRpQHBoeXNpY3MubXVuaS5jej4KKyIgTGFzdCBDaGFuZ2U6IDIwMDItMDYtMDEKKyIgVVJMOiBodHRwOi8vcGh5c2ljcy5tdW5pLmN6L355ZXRpL2Rvd25sb2FkL3N5bnRheC9wb3ZpbmkudmltCisiIFJlcXVpcmVkIFZpbSBWZXJzaW9uOiA2LjAKKworIiBTZXR1cAoraWYgdmVyc2lvbiA+PSA2MDAKKyAgIiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKKyAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKKyAgZW5kaWYKK2Vsc2UKKyAgIiBDcm9hayB3aGVuIGFuIG9sZCBWaW0gaXMgc291cmNpbmcgdXMuCisgIGVjaG8gIlNvcnJ5LCBidXQgdGhpcyBzeW50YXggZmlsZSByZWxpZXMgb24gVmltIDYgZmVhdHVyZXMuICBFaXRoZXIgdXBncmFkZSBWaW0gb3IgdXNlYSB2ZXJzaW9uIG9mICIgLiBleHBhbmQoIjxzZmlsZT46dDpyIikgLiAiIHN5bnRheCBmaWxlIGFwcHJvcHJpYXRlIGZvciBWaW0gIiAuIHZlcnNpb24vMTAwIC4gIi4iIC4gdmVyc2lvbiAlMTAwIC4gIi4iCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgU3ludGF4CitzeW4gbWF0Y2ggcG92aW5pSW5jbHVkZSAiXlxzKlteWystO11cUypccyokIiBjb250YWlucz1wb3ZpbmlTZWN0aW9uCitzeW4gbWF0Y2ggcG92aW5pTGFiZWwgIl4uXHstMSx9XHplPSIgdHJhbnNwYXJlbnQgY29udGFpbnM9cG92aW5pS2V5d29yZCBuZXh0Z3JvdXA9cG92aW5pQm9vbCxwb3ZpbmlOdW1iZXIKK3N5biBrZXl3b3JkIHBvdmluaUJvb2wgT24gT2ZmIFRydWUgRmFsc2UgWWVzIE5vCitzeW4gbWF0Y2ggcG92aW5pTnVtYmVyICJcPFxkKlwuXD1cZFwrXD4iCitzeW4ga2V5d29yZCBwb3ZpbmlLZXl3b3JkIENsb2NrIEluaXRpYWxfRnJhbWUgRmluYWxfRnJhbWUgSW5pdGlhbF9DbG9jayBGaW5hbF9DbG9jayBTdWJzZXRfU3RhcnRfRnJhbWUgU3Vic2V0X0VuZF9GcmFtZSBDeWNsaWNfQW5pbWF0aW9uIEZpZWxkX1JlbmRlciBPZGRfRmllbGQKK3N5biBrZXl3b3JkIHBvdmluaUtleXdvcmQgV2lkdGggSGVpZ2h0IFN0YXJ0X0NvbHVtbiBTdGFydF9Sb3cgRW5kX0NvbHVtbiBFbmRfUm93IFRlc3RfQWJvcnQgVGVzdF9BYm9ydF9Db3VudCBDb250aW51ZV9UcmFjZSBDcmVhdGVfSW5pCitzeW4ga2V5d29yZCBwb3ZpbmlLZXl3b3JkIERpc3BsYXkgVmlkZW9fTW9kZSBQYWxldHRlIERpc3BsYXlfR2FtbWEgUGF1c2VfV2hlbl9Eb25lIFZlcmJvc2UgRHJhd19WaXN0YXMgUHJldmlld19TdGFydF9TaXplIFByZXZpZXdfRW5kX1NpemUKK3N5biBrZXl3b3JkIHBvdmluaUtleXdvcmQgT3V0cHV0X3RvX0ZpbGUgT3V0cHV0X0ZpbGVfVHlwZSBPdXRwdXRfQWxwaGEgQml0c19QZXJfQ29sb3IgT3V0cHV0X0ZpbGVfTmFtZSBCdWZmZXJfT3V0cHV0IEJ1ZmZlcl9TaXplCitzeW4ga2V5d29yZCBwb3ZpbmlLZXl3b3JkIEhpc3RvZ3JhbV9UeXBlIEhpc3RvZ3JhbV9HcmlkX1NpemUgSGlzdG9ncmFtX05hbWUKK3N5biBrZXl3b3JkIHBvdmluaUtleXdvcmQgSW5wdXRfRmlsZV9OYW1lIEluY2x1ZGVfSGVhZGVyIExpYnJhcnlfUGF0aCBWZXJzaW9uCitzeW4ga2V5d29yZCBwb3ZpbmlLZXl3b3JkIERlYnVnX0NvbnNvbGUgRmF0YWxfQ29uc29sZSBSZW5kZXJfQ29uc29sZSBTdGF0aXN0aWNfQ29uc29sZSBXYXJuaW5nX0NvbnNvbGUgQWxsX0NvbnNvbGUgRGVidWdfRmlsZSBGYXRhbF9GaWxlIFJlbmRlcl9GaWxlIFN0YXRpc3RpY19GaWxlIFdhcm5pbmdfRmlsZSBBbGxfRmlsZSBXYXJuaW5nX0xldmVsCitzeW4ga2V5d29yZCBwb3ZpbmlLZXl3b3JkIFF1YWxpdHkgUmFkaW9zaXR5IEJvdW5kaW5nIEJvdW5kaW5nX1RocmVzaG9sZCBMaWdodF9CdWZmZXIgVmlzdGFfQnVmZmVyIFJlbW92ZV9Cb3VuZHMgU3BsaXRfVW5pb25zIEFudGlhbGlhcyBTYW1wbGluZ19NZXRob2QgQW50aWFsaWFzX1RocmVzaG9sZCBKaXR0ZXIgSml0dGVyX0Ftb3VudCBBbnRpYWxpYXNfRGVwdGgKK3N5biBrZXl3b3JkIHBvdmluaUtleXdvcmQgUHJlX1NjZW5lX1JldHVybiBQcmVfRnJhbWVfUmV0dXJuIFBvc3RfU2NlbmVfUmV0dXJuIFBvc3RfRnJhbWVfUmV0dXJuIFVzZXJfQWJvcnRfUmV0dXJuIEZhdGFsX0Vycm9yX1JldHVybgorc3luIG1hdGNoIHBvdmluaVNoZWxsT3V0ICJeXHMqXChQcmVfU2NlbmVfQ29tbWFuZFx8UHJlX0ZyYW1lX0NvbW1hbmRcfFBvc3RfU2NlbmVfQ29tbWFuZFx8UG9zdF9GcmFtZV9Db21tYW5kXHxVc2VyX0Fib3J0X0NvbW1hbmRcfEZhdGFsX0Vycm9yX0NvbW1hbmRcKVw+IiBuZXh0Z3JvdXA9cG92aW5pU2hlbGxPdXRFcSBza2lwd2hpdGUKK3N5biBtYXRjaCBwb3ZpbmlTaGVsbE91dEVxICI9IiBuZXh0Z3JvdXA9cG92aW5pU2hlbGxPdXRSSFMgc2tpcHdoaXRlIGNvbnRhaW5lZAorc3luIG1hdGNoIHBvdmluaVNoZWxsT3V0UkhTICJbXjtdXCsiIHNraXB3aGl0ZSBjb250YWluZWQgY29udGFpbnM9cG92aW5pU2hlbGxPdXRTcGVjaWFsCitzeW4gbWF0Y2ggcG92aW5pU2hlbGxPdXRTcGVjaWFsICIlW29zbmtodyVdIiBjb250YWluZWQKK3N5biBrZXl3b3JkIHBvdmluaURlY2xhcmUgRGVjbGFyZQorc3luIG1hdGNoIHBvdmluaUNvbW1lbnQgIjsuKiQiCitzeW4gbWF0Y2ggcG92aW5pT3B0aW9uICJeXHMqWystXVxTKiIKK3N5biBtYXRjaCBwb3ZpbmlJbmNsdWRlTGFiZWwgIl5ccypJbmNsdWRlX0lOSVxzKj0iIG5leHRncm91cD1wb3ZpbmlJbmNsdWRlZEZpbGUgc2tpcHdoaXRlCitzeW4gbWF0Y2ggcG92aW5pSW5jbHVkZWRGaWxlICJbXjtdXCsiIGNvbnRhaW5zPXBvdmluaVNlY3Rpb24gY29udGFpbmVkCitzeW4gcmVnaW9uIHBvdmluaVNlY3Rpb24gc3RhcnQ9IlxbIiBlbmQ9IlxdIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKK2hpIGRlZiBsaW5rIHBvdmluaVNlY3Rpb24gU3BlY2lhbAoraGkgZGVmIGxpbmsgcG92aW5pQ29tbWVudCBDb21tZW50CitoaSBkZWYgbGluayBwb3ZpbmlEZWNsYXJlIHBvdmluaUtleXdvcmQKK2hpIGRlZiBsaW5rIHBvdmluaVNoZWxsT3V0IHBvdmluaUtleXdvcmQKK2hpIGRlZiBsaW5rIHBvdmluaUluY2x1ZGVMYWJlbCBwb3ZpbmlLZXl3b3JkCitoaSBkZWYgbGluayBwb3ZpbmlLZXl3b3JkIFR5cGUKK2hpIGRlZiBsaW5rIHBvdmluaVNoZWxsT3V0U3BlY2lhbCBTcGVjaWFsCitoaSBkZWYgbGluayBwb3ZpbmlJbmNsdWRlZEZpbGUgcG92aW5pSW5jbHVkZQoraGkgZGVmIGxpbmsgcG92aW5pSW5jbHVkZSBJbmNsdWRlCitoaSBkZWYgbGluayBwb3ZpbmlPcHRpb24gS2V5d29yZAoraGkgZGVmIGxpbmsgcG92aW5pQm9vbCBDb25zdGFudAoraGkgZGVmIGxpbmsgcG92aW5pTnVtYmVyIE51bWJlcgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwb3ZpbmkiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wcGQudmltIGIvcnVudGltZS9zeW50YXgvcHBkLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTJmNzBjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcHBkLnZpbQpAQCAtMCwwICsxLDQ4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUFBEIChQb3N0U2NyaXB0IHByaW50ZXIgZGVzY3JpcHRpb24pIGZpbGUKKyIgTWFpbnRhaW5lcjoJQmpvZXJuIEphY2tlIDxiamFja2VAc3VzZS5kZT4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEtMTAtMDYKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisKK3N5biBtYXRjaAlwcGRDb21tZW50CSJeXColLioiCitzeW4gbWF0Y2gJcHBkRGVmCQkiXCpbYS16QS1aMC05XVwrIgorc3luIG1hdGNoCXBwZERlZmluZQkiXCpbYS16QS1aMC05XC1fXVwrOiIKK3N5biBtYXRjaAlwcGRVSQkJIlwqW2EtekEtWl0qXChPcGVuXHxDbG9zZVwpVUkiCitzeW4gbWF0Y2gJcHBkVUlHcm91cAkiXCpbYS16QS1aXSpcKE9wZW5cfENsb3NlXClHcm91cCIKK3N5biBtYXRjaAlwcGRHVUlUZXh0CSIvLio6Igorc3luIG1hdGNoCXBwZENvbnRyYWludHMJIl4qVUlDb25zdHJhaW50czoiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FoZGxfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYWhkbF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisKKyAgSGlMaW5rIHBwZENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHBwZERlZmluZQkJU3RhdGVtZW50CisgIEhpTGluayBwcGRVSQkJCUZ1bmN0aW9uCisgIEhpTGluayBwcGRVSUdyb3VwCQlGdW5jdGlvbgorICBIaUxpbmsgcHBkRGVmCQkJU3RyaW5nCisgIEhpTGluayBwcGRHVUlUZXh0CQlUeXBlCisgIEhpTGluayBwcGRDb250cmFpbnRzCQlTcGVjaWFsCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBwZCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Bwd2l6LnZpbSBiL3J1bnRpbWUvc3ludGF4L3Bwd2l6LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2Q3YjNhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcHB3aXoudmltCkBAIC0wLDAgKzEsOTcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgUFBXaXphcmQgKHByZXByb2Nlc3NvciBieSBEZW5uaXMgQmFyZWlzKQorIiBNYWludGFpbmVyOiAgIFN0ZWZhbiBTY2h3YXJ6ZXIgPHMuc2Nod2FyemVyQG5kaC5uZXQ+CisiIFVSTDoJCQlodHRwOi8vd3d3Lm5kaC5uZXQvaG9tZS9zc2Nod2FyemVyL2Rvd25sb2FkL3Bwd2l6LnZpbQorIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIEZpbGVuYW1lOiAgICAgcHB3aXoudmltCisKKyIgUmVtb3ZlIG9sZCBzeW50YXggc3R1ZmYKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK2lmICFleGlzdHMoInBwd2l6X2hpZ2hsaWdodF9kZWZzIikKKyAgICBsZXQgcHB3aXpfaGlnaGxpZ2h0X2RlZnMgPSAxCitlbmRpZgorCitpZiAhZXhpc3RzKCJwcHdpel93aXRoX2h0bWwiKQorICAgIGxldCBwcHdpel93aXRoX2h0bWwgPSAxCitlbmRpZgorCisiIGNvbW1lbnRzCitzeW4gbWF0Y2ggICBwcHdpekNvbW1lbnQgICJeOy4qJCIKK3N5biBtYXRjaCAgIHBwd2l6Q29tbWVudCAgIjs7LiokIgorIiBIVE1MCitpZiBwcHdpel93aXRoX2h0bWwgPiAwCisgICAgc3luIHJlZ2lvbiBwcHdpekhUTUwgIHN0YXJ0PSI8IiBlbmQ9Ij4iIGNvbnRhaW5zPXBwd2l6QXJnLHBwd2l6TWFjcm8KKyAgICBzeW4gbWF0Y2ggIHBwd2l6SFRNTCAgIlwmXHdcKzsiCitlbmRpZgorIiBkZWZpbmUsIGV2YWx1YXRlIGV0Yy4KK2lmIHBwd2l6X2hpZ2hsaWdodF9kZWZzID09IDEKKyAgICBzeW4gbWF0Y2ggIHBwd2l6RGVmICAgIl5ccypcI1xTXCtcc1wrXFNcKyIgY29udGFpbnM9QUxMCisgICAgc3luIG1hdGNoICBwcHdpekRlZiAgICJeXHMqXCNcKGlmXHxlbHNlXHxlbmRpZlwpIiBjb250YWlucz1BTEwKKyAgICBzeW4gbWF0Y2ggIHBwd2l6RGVmICAgIl5ccypcI1woe1x8YnJlYWtcfGNvbnRpbnVlXHx9XCkiIGNvbnRhaW5zPUFMTAorIiBlbHNlaWYgcHB3aXpfaGlnaGxpZ2h0X2RlZnMgPT0gMgorIiAgICAgc3luIHJlZ2lvbiBwcHdpekRlZiAgIHN0YXJ0PSJeXHMqXCMiIGVuZD0iW15cXF0kIiBlbmQ9Il4kIiBrZWVwZW5kIGNvbnRhaW5zPUFMTAorZWxzZQorICAgIHN5biByZWdpb24gcHB3aXpEZWYgICBzdGFydD0iXlxzKlwjIiBlbmQ9IlteXFxdJCIgZW5kPSJeJCIga2VlcGVuZCBjb250YWlucz1wcHdpekNvbnQKK2VuZGlmCitzeW4gbWF0Y2ggICBwcHdpekVycm9yICAgICJccy5cXCQiCitzeW4gbWF0Y2ggICBwcHdpekNvbnQgICAgICJcc1woWytcLSVdXHxcKVxcJCIKKyIgbWFjcm9zIHRvIGV4ZWN1dGUKK3N5biByZWdpb24gIHBwd2l6TWFjcm8gICAgc3RhcnQ9IjxcJCIgZW5kPSI+IiBjb250YWlucz1AcHB3aXpBcmdWYWwscHB3aXpDb250CisiIG1hY3JvIGFyZ3VtZW50cworc3luIHJlZ2lvbiAgcHB3aXpBcmcgICAgICBzdGFydD0ieyIgZW5kPSJ9IiBjb250YWlucz1wcHdpekVxdWFsLHBwd2l6U3RyaW5nCitzeW4gbWF0Y2ggICBwcHdpekVxdWFsICAgICI9IiBjb250YWluZWQKK3N5biBtYXRjaCAgIHBwd2l6T3BlcmF0b3IgIjw+XHw9XHw8XHw+IiBjb250YWluZWQKKyIgc3RhbmRhcmQgdmFyaWFibGVzIChidWlsdGluKQorc3luIHJlZ2lvbiAgcHB3aXpTdGRWYXIgICBzdGFydD0iPD9bXj9dIiBlbmQ9Ij4iIGNvbnRhaW5zPUBwcHdpekFyZ1ZhbAorIiBSZXh4IHZhcmlhYmxlcworc3luIHJlZ2lvbiAgcHB3aXpSZXh4VmFyICBzdGFydD0iPD8/IiBlbmQ9Ij4iIGNvbnRhaW5zPUBwcHdpekFyZ1ZhbAorIiBDb25zdGFudHMKK3N5biByZWdpb24gIHBwd2l6U3RyaW5nICAgc3RhcnQ9KyIrIGVuZD0rIisgY29udGFpbmVkIGNvbnRhaW5zPXBwd2l6TWFjcm8scHB3aXpBcmcscHB3aXpIVE1MLHBwd2l6Q29udCxwcHdpelN0ZFZhcixwcHdpelJleHhWYXIKK3N5biByZWdpb24gIHBwd2l6U3RyaW5nICAgc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbmVkIGNvbnRhaW5zPXBwd2l6TWFjcm8scHB3aXpBcmcscHB3aXpIVE1MLHBwd2l6Q29udCxwcHdpelN0ZFZhcixwcHdpelJleHhWYXIKK3N5biBtYXRjaCAgIHBwd2l6SW50ZWdlciAgIlxkXCsiIGNvbnRhaW5lZAorCisiIENsdXN0ZXJzCitzeW4gY2x1c3RlciBwcHdpekFyZ1ZhbCBhZGQ9cHB3aXpTdHJpbmcscHB3aXpJbnRlZ2VyCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Bwd2l6X3N5bl9pbml0cyIpCisgICAgaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX3Bwd2l6X3N5bl9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgIGVuZGlmCisKKyAgICBIaUxpbmsgcHB3aXpTcGVjaWFsICBTcGVjaWFsCisgICAgSGlMaW5rIHBwd2l6RXF1YWwgICAgcHB3aXpTcGVjaWFsCisgICAgSGlMaW5rIHBwd2l6T3BlcmF0b3IgcHB3aXpTcGVjaWFsCisgICAgSGlMaW5rIHBwd2l6Q29tbWVudCAgQ29tbWVudAorICAgIEhpTGluayBwcHdpekRlZiAgICAgIFByZVByb2MKKyAgICBIaUxpbmsgcHB3aXpNYWNybyAgICBTdGF0ZW1lbnQKKyAgICBIaUxpbmsgcHB3aXpBcmcgICAgICBJZGVudGlmaWVyCisgICAgSGlMaW5rIHBwd2l6U3RkVmFyICAgSWRlbnRpZmllcgorICAgIEhpTGluayBwcHdpelJleHhWYXIgIElkZW50aWZpZXIKKyAgICBIaUxpbmsgcHB3aXpTdHJpbmcgICBDb25zdGFudAorICAgIEhpTGluayBwcHdpekludGVnZXIgIENvbnN0YW50CisgICAgSGlMaW5rIHBwd2l6Q29udCAgICAgcHB3aXpTcGVjaWFsCisgICAgSGlMaW5rIHBwd2l6RXJyb3IgICAgRXJyb3IKKyAgICBIaUxpbmsgcHB3aXpIVE1MICAgICBUeXBlCisKKyAgICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHB3aXoiCisKKyIgdmltOiB0cz00CisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Byb2NtYWlsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Byb2NtYWlsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmZmYTM5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcHJvY21haWwudmltCkBAIC0wLDAgKzEsNjcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglQcm9jbWFpbCBkZWZpbml0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjoJTWVsY2hpb3IgRlJBTlogPG1mcmFuekBhb24uYXQ+CisiIExhc3QgQ2hhbmdlOgkyMDAzIEF1ZyAxNAorIiBBdXRob3I6CVNvbmlhIEhlaW1hbm4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gbWF0Y2ggICBwcm9jbWFpbENvbW1lbnQgICAgICAiIy4qJCIgY29udGFpbnM9cHJvY21haWxUb2RvCitzeW4ga2V5d29yZCAgIHByb2NtYWlsVG9kbyAgICAgIGNvbnRhaW5lZCBUb2RvIFRCRAorCitzeW4gcmVnaW9uICBwcm9jbWFpbFN0cmluZyAgICAgICBzdGFydD0rIisgIHNraXA9K1xcIisgIGVuZD0rIisKK3N5biByZWdpb24gIHByb2NtYWlsU3RyaW5nICAgICAgIHN0YXJ0PSsnKyAgc2tpcD0rXFwnKyAgZW5kPSsnKworCitzeW4gcmVnaW9uIHByb2NtYWlsVmFyRGVjbFJlZ2lvbiBzdGFydD0iXlxzKlthLXpBLVowLTlfXVwrXHMqPSJocz1lLTEgc2tpcD0rXFwkKyBlbmQ9KyQrIGNvbnRhaW5zPXByb2NtYWlsVmFyLHByb2NtYWlsVmFyRGVjbCxwcm9jbWFpbFN0cmluZworc3luIG1hdGNoIHByb2NtYWlsVmFyRGVjbCBjb250YWluZWQgIl5ccypbYS16QS1aMC05X11cKyIKK3N5biBtYXRjaCBwcm9jbWFpbFZhciAiJFthLXpBLVowLTlfXVwrIgorCitzeW4gbWF0Y2ggcHJvY21haWxDb25kaXRpb24gY29udGFpbmVkICJeXHMqXCouKiIKKworc3luIG1hdGNoIHByb2NtYWlsQWN0aW9uRm9sZGVyIGNvbnRhaW5lZCAiXlxzKlstX2EtekEtWjAtOS9dXCsiCitzeW4gbWF0Y2ggcHJvY21haWxBY3Rpb25WYXJpYWJsZSBjb250YWluZWQgIl5ccyokW2EtekEtWl9dXCsiCitzeW4gcmVnaW9uIHByb2NtYWlsQWN0aW9uRm9yd2FyZCBzdGFydD0rXlxzKiErIHNraXA9K1xcJCsgZW5kPSskKworc3luIHJlZ2lvbiBwcm9jbWFpbEFjdGlvblBpcGUgc3RhcnQ9K15ccyp8KyBza2lwPStcXCQrIGVuZD0rJCsKK3N5biByZWdpb24gcHJvY21haWxBY3Rpb25OZXN0ZWQgc3RhcnQ9K15ccyp7KyBlbmQ9K15ccyp9KyBjb250YWlucz1wcm9jbWFpbFJlY2lwZSxwcm9jbWFpbENvbW1lbnQscHJvY21haWxWYXJEZWNsUmVnaW9uCisKK3N5biByZWdpb24gcHJvY21haWxSZWNpcGUgc3RhcnQ9K15ccyo6LiokKyBlbmQ9K15ccypcKCRcfH1cKSttZT1lLTEgY29udGFpbnM9cHJvY21haWxDb21tZW50LHByb2NtYWlsQ29uZGl0aW9uLHByb2NtYWlsQWN0aW9uRm9sZGVyLHByb2NtYWlsQWN0aW9uVmFyaWFibGUscHJvY21haWxBY3Rpb25Gb3J3YXJkLHByb2NtYWlsQWN0aW9uUGlwZSxwcm9jbWFpbEFjdGlvbk5lc3RlZCxwcm9jbWFpbFZhckRlY2xSZWdpb24KKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHJvY21haWxfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcHJvY21haWxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcHJvY21haWxDb21tZW50IENvbW1lbnQKKyAgSGlMaW5rIHByb2NtYWlsVG9kbyAgICBUb2RvCisKKyAgSGlMaW5rIHByb2NtYWlsUmVjaXBlICAgU3RhdGVtZW50CisgICJIaUxpbmsgcHJvY21haWxDb25kaXRpb24gICBTdGF0ZW1lbnQKKworICBIaUxpbmsgcHJvY21haWxBY3Rpb25Gb2xkZXIJcHJvY21haWxBY3Rpb24KKyAgSGlMaW5rIHByb2NtYWlsQWN0aW9uVmFyaWFibGUgcHJvY21haWxBY3Rpb24KKyAgSGlMaW5rIHByb2NtYWlsQWN0aW9uRm9yd2FyZAlwcm9jbWFpbEFjdGlvbgorICBIaUxpbmsgcHJvY21haWxBY3Rpb25QaXBlCXByb2NtYWlsQWN0aW9uCisgIEhpTGluayBwcm9jbWFpbEFjdGlvbgkJRnVuY3Rpb24KKyAgSGlMaW5rIHByb2NtYWlsVmFyCQlJZGVudGlmaWVyCisgIEhpTGluayBwcm9jbWFpbFZhckRlY2wJSWRlbnRpZmllcgorCisgIEhpTGluayBwcm9jbWFpbFN0cmluZyBTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHJvY21haWwiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wcm9ncmVzcy52aW0gYi9ydW50aW1lL3N5bnRheC9wcm9ncmVzcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQyOTMxMAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3Byb2dyZXNzLnZpbQpAQCAtMCwwICsxLDIxNSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQkJCVByb2dyZXNzIDRHTAorIiBGaWxlbmFtZSBleHRlbnNpb25zOgkqLnAgKGNvbGxpZGVzIHdpdGggUGFzY2FsKSwKKyIJCQkJCQkqLmkgKGNvbGxpZGVzIHdpdGggYXNzZW1ibGVyKQorIgkJCQkJCSoudyAoY29sbGlkZXMgd2l0aCBjd2ViKQorIiBNYWludGFpbmVyOgkJCVBoaWxpcCBVcmVuCQkJPHBoaWx1QGNvbXB1dGVyLm9yZz4KKyIgQ29udHJpYnV0b3JzOgkJCUNocmlzIFJ1cHJlY2h0CQk8Y2hydXBAbWFjLmNvbT4KKyIJCQkJCQlQaGlsaXAgVXJlbgkJCTxwaGlsdUBjb21wdXRlci5vcmc+CisiCQkJCQkJTWlraGFpbCBLdXBlcmJsdW0JPG1pa2hhaWxAd2hhc3VwLmNvbT4KKyIgVVJMOgkJCQkJaHR0cDovL3d3dy56ZXRhLm9yZy5hdS9+cGhpbHUvdmltL3Byb2dyZXNzLnZpbQorIiBMYXN0IENoYW5nZToJCQlUaHUgTWF5ICAzIDA4OjQ5OjQ3IEVTVCAyMDAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisJc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwlmaW5pc2gKK2VuZGlmCisKK2lmIHZlcnNpb24gPj0gNjAwCisgIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sLSwhLCMsJCwlCitlbHNlCisgIHNldCBpc2tleXdvcmQ9QCw0OC01NyxfLC0sISwjLCQsJQorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgUHJvZ3Jlc3MgQmxvY2tzIG9mIGNvZGUgYW5kIG1pc21hdGNoZWQgImVuZC4iIGVycm9ycy4KK3N5biBtYXRjaCAgIFByb2dyZXNzRW5kRXJyb3IJCSJcPGVuZFw+Igorc3luIHJlZ2lvbiBQcm9ncmVzc0RvQmxvY2sgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1Qcm9ncmVzc0RvIHN0YXJ0PSJcPGRvXD4iIG1hdGNoZ3JvdXA9UHJvZ3Jlc3NEbyBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxQcm9ncmVzc1Byb2NlZHVyZSxQcm9ncmVzc0Z1bmN0aW9uCitzeW4gcmVnaW9uIFByb2dyZXNzRm9yQmxvY2sgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1Qcm9ncmVzc0ZvciBzdGFydD0iXDxmb3JcPiIgbWF0Y2hncm91cD1Qcm9ncmVzc0ZvciBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxQcm9ncmVzc1Byb2NlZHVyZSxQcm9ncmVzc0Z1bmN0aW9uCitzeW4gcmVnaW9uIFByb2dyZXNzUmVwZWF0QmxvY2sgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1Qcm9ncmVzc1JlcGVhdCBzdGFydD0iXDxyZXBlYXRcPiIgbWF0Y2hncm91cD1Qcm9ncmVzc1JlcGVhdCBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxQcm9ncmVzc1Byb2NlZHVyZSxQcm9ncmVzc0Z1bmN0aW9uCitzeW4gcmVnaW9uIFByb2dyZXNzQ2FzZUJsb2NrIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9UHJvZ3Jlc3NDYXNlIHN0YXJ0PSJcPGNhc2VcPiIgbWF0Y2hncm91cD1Qcm9ncmVzc0Nhc2UgZW5kPSJcPGVuZFxzY2FzZVw+IiBjb250YWlucz1BTExCVVQsUHJvZ3Jlc3NQcm9jZWR1cmUsUHJvZ3Jlc3NGdW5jdGlvbgorCisiIFRoZXNlIGFyZSBQcm9ncmVzcyByZXNlcnZlZCB3b3JkcywKKyIgYW5kIHRoZXkgY291bGQgZ28gaW4gUHJvZ3Jlc3NSZXNlcnZlZCwKKyIgYnV0IEkgZm91bmQgaXQgbW9yZSBoZWxwZnVsIHRvIGhpZ2hsaWdodCB0aGVtIGluIGEgZGlmZmVyZW50IGNvbG9yLgorc3luIGtleXdvcmQgUHJvZ3Jlc3NDb25kaXRpb25hbAlpZiBlbHNlIHRoZW4gd2hlbiBvdGhlcndpc2UKK3N5biBrZXl3b3JkIFByb2dyZXNzRm9yCQkJCWVhY2ggd2hlcmUKKworIiBNYWtlIHRob3NlIFRPRE8gYW5kIGRlYnVnZ2luZyBub3RlcyBzdGFuZCBvdXQhCitzeW4ga2V5d29yZAlQcm9ncmVzc1RvZG8JCQljb250YWluZWQJVE9ETyBCVUcgRklYCitzeW4ga2V5d29yZCBQcm9ncmVzc0RlYnVnCQkJY29udGFpbmVkCURFQlVHCitzeW4ga2V5d29yZCBQcm9ncmVzc0RlYnVnCQkJCQkJZGVidWdnZXIKKworc3luIGtleXdvcmQgUHJvZ3Jlc3NGdW5jdGlvbglwcm9jZWR1cmUgZnVuY3Rpb24KKworc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlhY2N1bVt1bGF0ZV0gYWN0aXZlLXdpbmRvdyBhZGQgYWxpYXMgYWxsIGFsdGVyIGFtYmlnW3VvdXNdIGFuYWx5eltlXSBhbmQgYW55IGFwcGx5IGFzIGFzY1tlbmRpbmddIGFzc2lnbiBhdCBhdHRyWy1zcGFjZV0KK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJYXV0aG9yaXphdGlvbiBhdXRvLXJldFt1cm5dIGF2YWlsW2FibGVdIGJhY2tbZ3JvdW5kXSBiZWZvcmUtaFtpZGVdIGJlZ2lucyBiZWxsIGJldHdlZW4gYmxhbmsgYnJlYWsgYnRvcyBieSBjYWxsIGNhbi1kbyBjYW4tZmluZAorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAljZW50ZXJbZWRdIGNoZWNrIGNociBjbGVhciBjbGlwYm9hcmQgY29sIGNvbG9uIGNvbG9yIGNvbFt1bW5dIGNvbHVtbi1sYWJbZWxdIGNvbFt1bW5zXSBjb21waWxlciBjb25uZWN0ZWQgY29udHJvbCBjb3VudC1vZgorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAljcHN0cmVhbSBjcmVhdGUgY3RvcyBjdXJyZW50IGN1cnJlbnQtY2hhbmdlZCBjdXJyZW50LWxhbmdbdWFnZV0gY3VycmVudC13aW5kb3cgY3VycmVudF9kYXRlIGN1cnNbb3JdIGRhdGFiYXNlIGRhdGFzZXJ2ZXJzCitzeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCWRiY29kZXBhZ2UgZGJjb2xsYXRpb24gZGJuYW1lIGRicmVzdFtyaWN0aW9uc10gZGJ0YXNraWQgZGJ0eXBlIGRidmVyc1tpb25dIGRkZSBkZWJsYW5rIGRlYnVnLWxpc3QgZGVidWdnZXIgZGVjaW1hbHMgZGVjbGFyZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlkZWYgZGVmYXVsdCBkZWZhdWx0LW5veGxbYXRlXSBkZWZhdWx0LXdpbmRvdyBkZWZbaW5lXSBkZWxldGUgZGVsaW1pdGVyIGRlc2NbZW5kaW5nXSBkaWN0W2lvbmFyeV0gZGlzYWJsZSBkaXNjb25bbmVjdF0gZGlzcAorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlkaXNwW2xheV0gZGlzdGluY3QgZG9zIGRvd24gZHJvcCBlZGl0aW5nIGVuYWJsZSBlbmNvZGUgZW50cnkgZXJyb3Itc3RhdFt1c10gZXNjYXBlIGV0aW1lIGV4Y2VwdCBleGNsdXNpdmUKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJZXhjbHVzaXZlWy1sb2NrXSBleGNsdXNpdmUtd2ViLXVzW2VyXSBleGlzdHMgZXhwb3J0IGZhbHNlIGZldGNoIGZpZWxkIGZpZWxkW3NdIGZpbGUtaW5mb1tybWF0aW9uXSBmaWxsIGZpbmQgZmluZC1jYXNlLXNlbnNpdGl2ZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlmaW5kLWdsb2JhbCBmaW5kLW5leHQtb2NjdXJyZW5jZSBmaW5kLXByZXYtb2NjdXJyZW5jZSBmaW5kLXNlbGVjdCBmaW5kLXdyYXAtYXJvdW5kIGZpcnN0IGZpcnN0LW9mIGZvY3VzIGZvbnQgZm9ybSBmb3JtW2F0XQorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlmcmFtW2VdIGZyYW1lLWNvbCBmcmFtZS1kYiBmcmFtZS1kb3duIGZyYW1lLWZpZWxkIGZyYW1lLWZpbGUgZnJhbWUtaW5kZVt4XSBmcmFtZS1saW5lIGZyYW1lLW5hbWUgZnJhbWUtcm93IGZyYW1lLXZhbFt1ZV0KK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJZnJvbSBmcm9tLWNbaGFyc10gZnJvbS1wW2l4ZWxzXSBnYXRld2F5W3NdIGdldC1ieXRlIGdldC1jb2RlcGFnZVtzXSBnZXQtY29sbFthdGlvbnNdIGdldC1rZXktdmFsW3VlXSBnZXRieXRlIGdsb2JhbCBnby1vbgorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlnby1wZW5kW2luZ10gZ3JhbnQgZ3JhcGhpYy1lW2RnZV0gZ3JvdXAgaGF2aW5nIGhlYWRlciBoZWxwIGhpZGUgaW1wb3J0IGluIGluZGV4IGluZGljYXRvciBpbnB1dCBpbnB1dC1vW3V0cHV0XSBpbnNlcnQKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJaW50byBpcyBpcy1hdHRyWy1zcGFjZV0gam9pbiBrYmxhYmVsIGtleS1jb2RlIGtleS1mdW5jW3Rpb25dIGtleS1sYWJlbCBrZXljb2RlIGtleWZ1bmNbdGlvbl0ga2V5bGFiZWwga2V5cyBrZXl3b3JkIGxhYmVsCitzeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCWxhc3QgbGFzdC1ldmVuW3RdIGxhc3Qta2V5IGxhc3Qtb2YgbGFzdGtleSBsZGJuYW1lIGxlYXZlIGxpYnJhcnkgbGlrZSBsaW5lLWNvdW50W2VyXSBsaXN0aVtuZ10gbG9ja2VkIGxvb2t1cCBtYWNoaW5lLWNsYXNzCitzeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCW1hcCBtZW1iZXIgbWVzc2FnZSBtZXNzYWdlLWxpbmVzIG1vdXNlIG1wZSBuZXcgbmV4dCBuZXh0LXByb21wdCBubyBuby1hdHRyWy1zcGFjZV0gbm8tZXJyb3Igbm8tZltpbGxdIG5vLWhlbHAgbm8taGlkZSBuby1sYWJlbFtzXQorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAluby1sb2NrIG5vLW1hcCBuby1tZXNbc2FnZV0gbm8tcGF1c2Ugbm8tcHJlZmVbdGNoXSBuby11bmRvIG5vLXZhbFtpZGF0ZV0gbm8td2FpdCBub3QgbnVsbCBudW0tYWxpW2FzZXNdIG51bS1kYnMgbnVtLWVudHJpZXMKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJb2Ygb2ZmIG9sZCBvbiBvcGVuIG9wc3lzIG9wdGlvbiBvciBvcy1hcHBlbmQgb3MtY29tbWFuZCBvcy1jb3B5IG9zLWNyZWF0ZS1kaXIgb3MtZGVsZXRlIG9zLWRpciBvcy1kcml2ZVtzXSBvcy1lcnJvciBvcy1yZW5hbWUKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJb3MyIG9zNDAwIG91dHB1dCBvdmVybGF5IHBhZ2UgcGFnZS1ib3RbdG9tXSBwYWdlLW51bVtiZXJdIHBhZ2UtdG9wIHBhcmFtW2V0ZXJdIHBhdXNlIHBkYm5hbWUgcGVyc2lzdFtlbnRdIHBpeGVscworc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlwcmVwcm9jW2Vzc10gcHJpdmlsZWdlcyBwcm9jLWhhW25kbGVdIHByb2Mtc3RbYXR1c10gcHJvY2VzcyBwcm9ncmFtLW5hbWUgUHJvZ3Jlc3MgcHJvbXB0IHByb21wdFstZm9yXSBwcm9tc2dzIHByb3BhdGggcHJvdmVyc1tpb25dCitzeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCXB1dCBwdXQtYnl0ZSBwdXQta2V5LXZhbFt1ZV0gcHV0Ynl0ZSBxdWVyeSBxdWVyeS10dW5pbmcgcXVpdCByLWluZGV4IHJjb2RlLWluZm9ybWF0aW9bbl0gcmVhZGtleSByZWNpZCByZWNvcmQtbGVuW2d0aF0gcmVjdFthbmdsZV0KK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJcmVsZWFzZSByZXBvc2l0aW9uIHJldGFpbiByZXRyeSByZXR1cm4gcmV0dXJuLXZhbFt1ZV0gcmV2ZXJ0IHJldm9rZSBydW4gc2F2ZSBzY2hlbWEgc2NyZWVuIHNjcmVlbi1pbyBzY3JlZW4tbGluZXMKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJc2Nyb2xsIHNkYm5hbWUgc2VhcmNoIHNlZWsgc2VsZWN0IHNlbGYgc2Vzc2lvbiBzZXQgc2V0dXNlcltpZF0gc2hhcmVbLWxvY2tdIHNoYXJlZCBzaG93LXN0YXRbc10gc2tpcCBzb21lIHNwYWNlIHN0YXR1cyBzdHJlYW0KK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJc3RyZWFtLWlvIHN0cmluZy14cmVmIHN5c3RlbS1kaWFsb2cgdGFibGUgdGVybSB0ZXJtW2luYWxdIHRleHQgdGV4dC1jdXJzb3IgdGV4dC1zZWdbLWdyb3d0aF0gdGhpcy1wcm9jZWR1cmUgdGltZSB0aXRsZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAl0byB0b2RheSB0b3Atb25seSB0cmFucyB0cmFuc1thY3Rpb25dIHRyaWdnZXIgdHJpZ2dlcnMgdHJpbSB0cnVlIHVuZGVybFtpbmVdIHVuZG8gdW5mb3JtW2F0dGVkXSB1bmlvbiB1bmlxdWUgdW5peCB1cCB1cGRhdGUKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJdXNlLWluZGV4IHVzZS1yZXZ2aWRlbyB1c2UtdW5kZXJsaW5lIHVzZXIgdXNlcltpZF0gdXNpbmcgdjZmcmFtZSB2YWx1ZSB2YWx1ZXMgdmlldyB2aWV3LWFzIHZtcyB3YWl0LWZvciB3ZWItY29uW3RleHRdCitzeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCXdpbmRvdyB3aW5kb3ctbWF4aW1baXplZF0gd2luZG93LW1pbmltW2l6ZWRdIHdpbmRvdy1ub3JtYWwgd2l0aCB3b3JrLXRhYltsZV0gd29ya2ZpbGUgd3JpdGUgeGNvZGUgeHJlZiB5ZXMgX2NiaXQKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJX2NvbnRyb2wgX2xpc3QgX21lbW9yeSBfbXNnIF9wY29udHJvbCBfc2VyaWFsWy1udW1dIF90cmFjZQorCisiIFN0cmluZ3MuIEhhbmRsZXMgZW1iZWRkZWQgcXVvdGVzLgorIiBOb3RlIHRoYXQsIGZvciBzb21lIHJlYXNvbiwgUHJvZ3Jlc3MgZG9lc24ndCB1c2UgdGhlIGJhY2tzbGFzaCwgIlwiCisiIGFzIHRoZSBlc2NhcGUgY2hhcmFjdGVyOyBpdCB1c2VzIHRpbGRlLCAifiIuCitzeW4gcmVnaW9uIFByb2dyZXNzU3RyaW5nCW1hdGNoZ3JvdXA9UHJvZ3Jlc3NRdW90ZQlzdGFydD0rIisgZW5kPSsiKwlza2lwPStcfiIrCitzeW4gcmVnaW9uIFByb2dyZXNzU3RyaW5nCW1hdGNoZ3JvdXA9UHJvZ3Jlc3NRdW90ZQlzdGFydD0rJysgZW5kPSsnKwlza2lwPStcficrCisKK3N5biBtYXRjaCAgUHJvZ3Jlc3NJZGVudGlmaWVyCQkJIlw8W2EtekEtWl9dW2EtekEtWjAtOV9dKlw+KCkiCisKKyIgc3luIG1hdGNoICBQcm9ncmVzc0RlbGltaXRlcgkJCSIoKSIKKworIiBzeW4gbWF0Y2ggIFByb2dyZXNzTWF0cml4RGVsaW1pdGVyCSJbXVtdIgorCisiIElmIHlvdSBwcmVmZXIgeW91IGNhbiBoaWdobGlnaHQgdGhlIHJhbmdlCisic3luIG1hdGNoICBQcm9ncmVzc01hdHJpeERlbGltaXRlcgkJIltcZFwrXC5cLlxkXCtdIgorCitzeW4gbWF0Y2ggIFByb2dyZXNzTnVtYmVyCQkJCSJcPFxkXCtcKHVcPWxcPVx8bHVcfGZcKVw+Igorc3luIG1hdGNoICBQcm9ncmVzc0J5dGUJCQkJCSJcJFswLTlhLWZBLUZdXCsiCisKKyIgSWYgeW91IGRvbid0IGxpa2UgdGFiczoKKyJzeW4gbWF0Y2ggUHJvZ3Jlc3NTaG93VGFiICJcdCIKKyJzeW4gbWF0Y2ggUHJvZ3Jlc3NTaG93VGFiYyAiXHQiCisKK3N5biByZWdpb24gUHJvZ3Jlc3NDb21tZW50CQlzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPVByb2dyZXNzQ29tbWVudCxQcm9ncmVzc1RvZG8sUHJvZ3Jlc3NEZWJ1Zworc3luIG1hdGNoIFByb2dyZXNzSW5jbHVkZQkJIl5bIAldKlt7XS4qXC5pW31dIgorCitzeW4gbWF0Y2ggUHJvZ3Jlc3NTdWJzdGl0dXRlCSJeWyAJXSpbe10uKlteaV1bfV0iCitzeW4gbWF0Y2ggUHJvZ3Jlc3NQcmVQcm9jCQkiXlsgCV0qJi4qIgorCitzeW4gbWF0Y2ggUHJvZ3Jlc3NPcGVyYXRvcgkJIlshO3wpKDouPjwrKj0tXSIKKworc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgk8PSA8PiA+PSBhYnNbb2x1dGVdIGFjY2VsZXJhdG9yIGFjcm9zcyBhZGQtZmlyc3QgYWRkLWxhc3QgYWR2aXNlIGFsZXJ0LWJveCBhbGxvdy1yZXBsaWNhdGlvbiBhbnNpLW9ubHkgYW55d2hlcmUgYXBwZW5kIGFwcGwtYWxlcnRbLWJveGVzXSBhcHBsaWNhdGlvbiBhcy1jdXJzb3IgYXNrLW92ZXJ3cml0ZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglhdHRhY2hbbWVudF0gYXV0by1lbmQta2V5IGF1dG8tZW5ka2V5IGF1dG8tZ28gYXV0by1pbmRbZW50XSBhdXRvLXJlc2l6ZSBhdXRvLXpbYXBdIGF2YWlsYWJsZS1mb3JtYXRzIGF2ZVtyYWdlXSBhdmcgYmFja3dhcmRbc10gYmFzZS1rZXkgYmF0Y2hbLW1vZGVdIGJnY1tvbG9yXSBiaW5hcnkKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJYmluZC13aGVyZSBibG9jay1pdGVyYXRpb24tZGlzcGxheSBib3JkZXItYm90dG9tIGJvcmRlci1ib3R0b20tY2hbYXJzXSBib3JkZXItYm90dG9tLXBpW3hlbHNdIGJvcmRlci1sZWZ0IGJvcmRlci1sZWZ0LWNoYXJbc10gYm9yZGVyLWxlZnQtcGl4ZVtsc10gYm9yZGVyLXJpZ2h0IGJvcmRlci1yaWdodC1jaGFbcnNdCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWJvcmRlci1yaWdodC1waXhbZWxzXSBib3JkZXItdFtvcF0gYm9yZGVyLXRbb3AtY2hhcnNdIGJvcmRlci10b3AtcGl4ZWxbc10gYm90aCBib3R0b20gYm94IGJveC1zZWxlY3RbYWJsZV0gYnJvd3NlIGJyb3dzZS1oZWFkZXIgYnVmZmVyIGJ1ZmZlci1jaGFycyBidWZmZXItbGluZXMKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJYnV0dG9uIGJ1dHRvbltzXSBieXRlIGNhY2hlIGNhY2hlLXNpemUgY2FuLXF1ZXJ5IGNhbi1zZXQgY2FuY2VsLWJyZWFrIGNhbmNlbC1idXR0b24gY2FwcyBjYXJlZnVsLXBhaW50IGNhc2Utc2Vuc2l0aXZlIGNkZWNsIGNoYXJbYWN0ZXJdIGNoYXJhY3Rlcl9sZW5ndGggY2hhcnNldAorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgljaGVja2VkIGNob29zZSBjbGVhci1zZWxlY3RbaW9uXSBjbG9zZSBjb2RlIGNvZGVwYWdlIGNvZGVwYWdlLWNvbnZlcnQgY29sLW9mIGNvbG9uLWFsaWduW2VkXSBjb2xvci10YWJsZSBjb2x1bW4tYmdjW29sb3JdIGNvbHVtbi1kY29sb3IgY29sdW1uLWZnY1tvbG9yXSBjb2x1bW4tZm9udAorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgljb2x1bW4tbGFiZWwtYmdjW29sb3JdIGNvbHVtbi1sYWJlbC1kY29sb3IgY29sdW1uLWxhYmVsLWZnY1tvbG9yXSBjb2x1bW4tbGFiZWwtZm9udCBjb2x1bW4tb2YgY29sdW1uLXBmY1tvbG9yXSBjb2x1bW4tc2Nbcm9sbGluZ10gY29tYm8tYm94IGNvbW1hbmQgY29tcGlsZSBjb21wbGV0ZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgljb25uZWN0IGNvbnN0cmFpbmVkIGNvbnRlbnRzIGNvbnRleHQgY29udGV4dC1wb3BbdXBdIGNvbnRyb2wtY29udGFpbmVbcl0gY1tvbnRyb2wtZm9ybV0gY29udmVydC10by1vZmZzZVt0XSBjb252ZXJ0IGNvdW50IGNwY2FzZSBjcGNvbGwgY3BpbnRbZXJuYWxdIGNwbG9nCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWNwcHJpbnQgY3ByY29kZWluIGNwcmNvZGVvdXQgY3B0ZXJtIGNyYy12YWxbdWVdIGNbcmVhdGUtY29udHJvbF0gY3JlYXRlLXJlc3VsdC1saXN0LWVudHJ5IGNyZWF0ZS10ZXN0LWZpbGUgY3VycmVudC1jb2x1bW4gY3VycmVudC1lbnZpcm9ubVtlbnRdIGN1cnJlbnQtaXRlcmF0aW9uCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWN1cnJlbnQtcmVzdWx0LXJvdyBjdXJyZW50LXJvdy1tb2RpZmllZCBjdXJyZW50LXZhbHVlIGN1cnNvci1jaGFyIGN1cnNvci1saW5lIGN1cnNvci1vZmZzZXQgZGF0YS1lbnRyeS1yZXR1cltuXSBkYXRhLXRbeXBlXSBkYXRlIGRhdGUtZltvcm1hdF0gZGF5IGRiLXJlZmVyZW5jZXMKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJZGNvbG9yIGRkZS1lcnJvciBkZGUtaVtkXSBkZGUtaXRlbSBkZGUtbmFtZSBkZGUtdG9waWMgZGVidVtnXSBkZWNbaW1hbF0gZGVmYXVsdC1iW3V0dG9uXSBkZWZhdWx0LWV4dGVuc2lvW25dIGRlZmVyLWxvYi1mZXRjaCBkZWZpbmVkIGRlbGV0ZS1jaGFyIGRlbGV0ZS1jdXJyZW50LXJvdworc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglkZWxldGUtbGluZSBkZWxldGUtc2VsZWN0ZWQtcm93IGRlbGV0ZS1zZWxlY3RlZC1yb3dzIGRlc2VsZWN0LWZvY3VzZWQtcm93IGRlc2VsZWN0LXJvd3MgZGVzZWxlY3Qtc2VsZWN0ZWQtcm93IGRbZXNpZ24tbW9kZV0gZGlhbG9nLWJveCBkaWFsb2ctaGVscCBkaXIgZGlzYWJsZWQgZGlzcGxheS1tZXNzYWdlCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWRpc3BsYXktdFt5cGVdIGRvdWJsZSBkcmFnLWVuYWJsZWQgZHJvcC1kb3duIGRyb3AtZG93bi1saXN0IGR1bXAgZHluYW1pYyBlY2hvIGVkZ2UgZWRnZVstY2hhcnNdIGVkZ2UtcFtpeGVsc10gZWRpdG9yIGVtcHR5IGVuZC1rZXkgZW5ka2V5IGVudGVyZWQgZXEgZXJyb3IgZXJyb3ItY29sW3Vtbl0KK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJZXJyb3Itcm93IGV2ZW50LXRbeXBlXSBldmVudFtzXSBleGNsdXNpdmUtaWQgZXhlY3V0ZSBleHAgZXhwYW5kIGV4dGVuZGVkIGV4dGVudCBleHRlcm5hbCBleHRyYWN0IGZldGNoLXNlbGVjdGVkLXJvdyBmZ2Nbb2xvcl0gZmlsZSBmaWxlLW5hbWUgZmlsZS1vZmZbc2V0XSBmaWxlLXR5cGUKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJZmlsZW5hbWUgZmlsbC1pbiBmaWxsZWQgZmlsdGVycyBmaXJzdC1jaGlsZCBmaXJzdC1jb2x1bW4gZmlyc3QtcHJvY1tlZHVyZV0gZmlyc3QtdGFiLWlbdGVtXSBmaXhlZC1vbmx5IGZsb2F0IGZvY3VzZWQtcm93IGZvbnQtYmFzZWQtbGF5b3V0IGZvbnQtdGFibGUgZm9yY2UtZmlsZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglmb3JlW2dyb3VuZF0gZm9ybS1pbnB1dCBmb3J3YXJkW3NdIGZyYW1lLXNwYVtjaW5nXSBmcmFtZS14IGZyYW1lLXkgZnJlcXVlbmN5IGZyb20tY3VyW3JlbnRdIGZ1bGwtaGVpZ2h0IGZ1bGwtaGVpZ2h0LWNoYXJbc10gZnVsbC1oZWlnaHQtcGl4ZVtsc10gZnVsbC1wYXRoblthbWVdCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWZ1bGwtd2lkdGggZnVsbC13aWR0aFstY2hhcnNdIGZ1bGwtd2lkdGgtcGl4ZWxbc10gZ2UgZ2V0IGdldC1ibHVlWy12YWx1ZV0gZ1tldC1jaGFyLXByb3BlcnR5XSBnZXQtZG91YmxlIGdldC1keW5hbWljIGdldC1maWxlIGdldC1mbG9hdCBnZXQtZ3JlZW5bLXZhbHVlXQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglnZXQtaXRlcmF0aW9uIGdldC1saWNlbnNlIGdldC1sb25nIGdldC1tZXNzYWdlIGdldC1udW1iZXIgZ2V0LXBvaW50ZXItdmFsdWUgZ2V0LXJlZFstdmFsdWVdIGdldC1yZXBvc2l0aW9uZWQtcm93IGdldC1zZWxlY3RlZC13aWRbZ2V0XSBnZXQtc2hvcnQgZ2V0LXNpZ25hdHVyZSBnZXQtc2l6ZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglnZXQtc3RyaW5nIGdldC10YWItaXRlbSBnZXQtdGV4dC1oZWlnaHQgZ2V0LXRleHQtaGVpZ2h0LWNoYXJbc10gZ2V0LXRleHQtaGVpZ2h0LXBpeGVbbHNdIGdldC10ZXh0LXdpZHRoIGdldC10ZXh0LXdpZHRoLWNbaGFyc10gZ2V0LXRleHQtd2lkdGgtcGl4ZWxbc10gZ2V0LXVuc2lnbmVkLXNob3J0CitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWdyYXllZCBncmlkLWZhY3Rvci1ob3Jpem9udFthbF0gZ3JpZC1mYWN0b3ItdmVydFtpY2FsXSBncmlkLXNldCBncmlkLXNuYXAgZ3JpZC11bml0LWhlaWdodCBncmlkLXVuaXQtaGVpZ2h0LWNoYVtyc10gZ3JpZC11bml0LWhlaWdodC1waXhbZWxzXSBncmlkLXVuaXQtd2lkdGggZ3JpZC11bml0LXdpZHRoLWNoYXJbc10KK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJZ3JpZC11bml0LXdpZHRoLXBpeGVbbHNdIGdyaWQtdmlzaWJsZSBndCBoYW5kbGUgaGVpZ2h0IGhlaWdodFstY2hhcnNdIGhlaWdodC1wW2l4ZWxzXSBoZWxwLWNvblt0ZXh0XSBoZWxwZmlsZS1uW2FtZV0gaGlkZGVuIGhpbnQgaG9yaVt6b250YWxdIGh3bmQgaW1hZ2UgaW1hZ2UtZG93bgorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglpbWFnZS1pbnNlbnNpdGl2ZSBpbWFnZS1zaXplIGltYWdlLXNpemUtY1toYXJzXSBpbWFnZS1zaXplLXBpeGVsW3NdIGltYWdlLXVwIGltbWVkaWF0ZS1kaXNwbGF5IGluZGV4LWhpbnQgaW5kZXhlZC1yZXBvc2l0aW9uIGluZm9bcm1hdGlvbl0gaW5pdCBpbml0W2lhbF0gaW5pdGlhbC1kaXIKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJaW5pdGlhbC1maWx0ZXIgaW5pdGlhdGUgaW5uZXIgaW5uZXItY2hhcnMgaW5uZXItbGluZXMgaW5zZXJ0LWJbYWNrdGFiXSBpbnNlcnQtZmlsZSBpbnNlcnQtcm93IGluc2VydC1zdHJpbmcgaW5zZXJ0LXRbYWJdIGludFtlZ2VyXSBpbnRlcm5hbC1lbnRyaWVzIGlzLWxlYWQtYnl0ZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglpcy1yb3ctc2VsZWN0ZWQgaXMtc2VsZWN0ZWQgaXRlbSBpdGVtcy1wZXItcm93IGpvaW4tYnktc3FsZGIga2VlcC1mcmFtZS16LW9yZFtlcl0ga2VlcC1tZXNzYWdlcyBrZWVwLXRhYi1vcmRlciBrZXkga2V5d29yZC1hbGwgbGFiZWwtYmdjW29sb3JdIGxhYmVsLWRjW29sb3JdIGxhYmVsLWZnY1tvbG9yXQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglsYWJlbC1mb250IGxhYmVsLXBmY1tvbG9yXSBsYWJlbHMgbGFuZ3VhZ2Vbc10gbGFyZ2UgbGFyZ2UtdG8tc21hbGwgbGFzdC1jaGlsZCBsYXN0LXRhYi1pW3RlbV0gbGFzdC1wcm9jZVtkdXJlXSBsYyBsZSBsZWFkaW5nIGxlZnQgbGVmdC1hbGlnbltlZF0gbGVmdC10cmltIGxlbmd0aAorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglsaW5lIGxpc3QtZXZlbnRzIGxpc3QtaXRlbXMgbGlzdC1xdWVyeS1hdHRycyBsaXN0LXNldC1hdHRycyBsaXN0LXdpZGdldHMgbG9hZCBsW29hZC1jb250cm9sXSBsb2FkLWljb24gbG9hZC1pbWFnZSBsb2FkLWltYWdlLWRvd24gbG9hZC1pbWFnZS1pbnNlbnNpdGl2ZSBsb2FkLWltYWdlLXVwCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWxvYWQtbW91c2UtcG9pbnRbZXJdIGxvYWQtc21hbGwtaWNvbiBsb2cgbG9naWNhbCBsb29rYWhlYWQgbG93ZXIgbHQgbWFudWFsLWhpZ2hsaWdodCBtYXJnaW4tZXh0cmEgbWFyZ2luLWhlaWdodCBtYXJnaW4taGVpZ2h0LWNoW2Fyc10gbWFyZ2luLWhlaWdodC1waVt4ZWxzXSBtYXJnaW4td2lkdGgKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJbWFyZ2luLXdpZHRoLWNoYVtyc10gbWFyZ2luLXdpZHRoLXBpeFtlbHNdIG1hdGNoZXMgbWF4IG1heC1jaGFycyBtYXgtZGF0YS1ndWVzcyBtYXgtaGVpZ2h0IG1heC1oZWlnaHRbLWNoYXJzXSBtYXgtaGVpZ2h0LXBpeGVsW3NdIG1heC1yb3dzIG1heC1zaXplIG1heC12YWxbdWVdIG1heC13aWR0aAorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgltYXgtd2lkdGhbLWNoYXJzXSBtYXgtd2lkdGgtcFtpeGVsc10gbWF4aW1pemUgbWF4W2ltdW1dIG1lbW9yeSBtZW51IG1lbnUtYmFyIG1lbnUtaXRlbSBtZW51LWtbZXldIG1lbnUtbVtvdXNlXSBtZW51YmFyIG1lc3NhZ2UtYXJlYSBtZXNzYWdlLWFyZWEtZm9udCBtZXNzYWdlLWxpbmUKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJbWluIG1pbi1oZWlnaHQgbWluLWhlaWdodFstY2hhcnNdIG1pbi1oZWlnaHQtcGl4ZWxbc10gbWluLXNpemUgbWluLXZhbFt1ZV0gbWluLXdpZHRoIG1pbi13aWR0aFstY2hhcnNdIG1pbi13aWR0aC1wW2l4ZWxzXSBtaW5baW11bV0gbW9kIG1vZGlmaWVkIG1vZFt1bG9dIG1vbnRoIG1vdXNlLXBbb2ludGVyXQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgltb3ZhYmxlIG1vdmUtYWZ0ZXItdGFiLWlbdGVtXSBtb3ZlLWJlZm9yZS10YWItW2l0ZW1dIG1vdmUtY29sW3Vtbl0gbW92ZS10by1iW290dG9tXSBtb3ZlLXRvLWVvZiBtb3ZlLXRvLXRbb3BdIG11bHRpcGxlIG11bHRpcGxlLWtleSBtdWx0aXRhc2tpbmctaW50ZXJ2YWwgbXVzdC1leGlzdAorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgluYW1lIG5hdGl2ZSBuZSBuZXctcm93IG5leHQtY29sW3Vtbl0gbmV4dC1zaWJsaW5nIG5leHQtdGFiLWl0ZVttXSBuZXh0LXZhbHVlIG5vLWFwcGx5IG5vLWFzc2lnbiBuby1iaW5kLXdoZXJlIG5vLWJveCBuby1jb2x1bW4tc2Nyb2xsW2luZ10gbm8tY29udmVydCBuby1jdXJyZW50LXZhbHVlCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCW5vLWRlYnVnIG5vLWRyYWcgbm8tZWNobyBuby1pbmRleC1oaW50IG5vLWpvaW4tYnktc3FsZGIgbm8tbG9va2FoZWFkIG5vLXJvdy1tYXJrZXJzIG5vLXNjcm9sbGluZyBuby1zZXBhcmF0ZS1jb25uZWN0aW9uIG5vLXNlcGFyYXRvcnMgbm8tdW5kW2VybGluZV0gbm8td29yZC13cmFwCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCW5vbmUgbnVtLWJ1dFt0b25zXSBudW0tY29sW3VtbnNdIG51bS1jb3BpZXMgbnVtLWZvcm1hdHMgbnVtLWl0ZW1zIG51bS1pdGVyYXRpb25zIG51bS1saW5lcyBudW0tbG9ja2VkLWNvbHVtW25zXSBudW0tbWVzc2FnZXMgbnVtLXJlc3VsdHMgbnVtLXNlbGVjdGVkIG51bS1zZWxlY3RlZC1yb3dzCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCW51bS1zZWxlY3RlZC13aWRnZXRzIG51bS10YWJzIG51bS10by1yZXRhaW4gbnVtZXJpYyBudW1lcmljLWZbb3JtYXRdIG9jdGV0X2xlbmd0aCBvayBvay1jYW5jZWwgb24tZnJhbWVbLWJvcmRlcl0gb3JkZXJlZC1qb2luIG9yZGluYWwgb3JpZW50YXRpb24gb3MtZ2V0ZW52IG91dGVyCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCW91dGVyLWpvaW4gb3ZlcnJpZGUgb3duZXIgcGFnZS1zaXplIHBhZ2Utd2lkW3RoXSBwYWdlZCBwYXJlbnQgcGFydGlhbC1rZXkgcGFzY2FsIHBhdGhuYW1lIHBmY1tvbG9yXSBwaW5uYWJsZSBwaXhlbHMtcGVyLWNvbHVtW25dIHBpeGVscy1wZXItcm93IHBvcHVwLW1bZW51XSBwb3B1cC1vW25seV0KK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJcG9zaXRpb24gcHJlY2lzaW9uIHByZXNlbFtlY3RdIHByZXYgcHJldi1jb2xbdW1uXSBwcmV2LXNpYmxpbmcgcHJldi10YWItaVt0ZW1dIHByaW1hcnkgcHJpbnRlci1jb250cm9sLWhhbmRsZSBwcmludGVyLXNldHVwIHByaXZhdGUtZFthdGFdIHByb2ZpbGVyIFByb2dyZXNzLXNbb3VyY2VdCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCXB1Ymxpc2ggcHV0LWRvdWJsZSBwdXQtZmxvYXQgcHV0LWxvbmcgcHV0LXNob3J0IHB1dC1zdHJpbmcgcHV0LXVuc2lnbmVkLXNob3J0IHF1ZXJ5LW9mZi1lbmQgcXVlc3Rpb24gcmFkaW8tYnV0dG9ucyByYWRpby1zZXQgcmFuZG9tIHJhdyByYXctdHJhbnNmZXIgcmVhZC1maWxlIHJlYWQtb25seQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglyZWFsIHJlY3Vyc2l2ZSByZWZyZXNoIHJlZnJlc2hhYmxlIHJlcGxhY2UgcmVwbGFjZS1zZWxlY3Rpb24tdGV4dCByZXBsaWNhdGlvbi1jcmVhdGUgcmVwbGljYXRpb24tZGVsZXRlIHJlcGxpY2F0aW9uLXdyaXRlIHJlcXVlc3QgcmVzaXphW2JsZV0gcmVzaXplIHJldHJ5LWNhbmNlbAorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglyZXR1cm4taW5zW2VydGVkXSByZXR1cm4tdG8tc3RhcnQtZGlbcl0gcmV2ZXJzZS1mcm9tIHJpZ2h0IHJpZ2h0LWFsaWduW2VkXSByaWdodC10cmltIHJvdW5kIHJvdyByb3ctbWFbcmtlcnNdIHJvdy1vZiByb3dpZCBydWxlIHJ1bGUtcm93IHJ1bGUteSBzYXZlLWFzIHNhdmUtZmlsZQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglzY3JlZW4tdmFsW3VlXSBzY3JvbGwtYmFycyBzY3JvbGwtZGVsdGEgc2Nyb2xsLWhvcml6LXZhbHVlIHNjcm9sbC1vZmZzZXQgc2Nyb2xsLXRvLWN1cnJlbnQtcm93IHNjcm9sbC10by1pW3RlbV0gc2Nyb2xsLXRvLXNlbGVjdGVkLXJvdyBzY3JvbGwtdmVydC12YWx1ZSBzY3JvbGxhYmxlCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCXNjcm9sbGJhci1ob3Jpem9bbnRhbF0gc2Nyb2xsYmFyLXZlcnRpY1thbF0gc2Nyb2xsZWQtcm93LXBvc2l0aW9bbl0gc2Nyb2xsaW5nIHNlLWNoZWNrLXBvb2xzIHNlLWVuYWJsZS1vZltmXSBzZS1lbmFibGUtb24gc2UtbnVtLXBvb2xzIHNlLXVzZS1tZXNzYVtnZV0gc2VjdGlvbiBzZWxlY3QtZm9jdXNlZC1yb3cKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJc2VsZWN0LW5leHQtcm93IHNlbGVjdC1wcmV2LXJvdyBzZWxlY3QtcmVwb3NpdGlvbmVkLXJvdyBzZWxlY3Qtcm93IHNlbGVjdGFibGUgc2VsZWN0ZWQgc2VsZWN0ZWQtaXRlbXMgc2VsZWN0aW9uLWVuZCBzZWxlY3Rpb24tbGlzdCBzZWxlY3Rpb24tc3RhcnQgc2VsZWN0aW9uLXRleHQKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJc2VuZCBzZW5zaXRpdmUgc2VwYXJhdGUtY29ubmVjdGlvbiBzZXBhcmF0b3JzIHNldC1ibHVlWy12YWx1ZV0gc2V0LWJyZWFrIHNldC1jZWxsLWZvY3VzIHNldC1jb250ZW50cyBzZXQtZHluYW1pYyBzZXQtZ3JlZW5bLXZhbHVlXSBzZXQtbGVha3BvaW50IHNldC1wb2ludGVyLXZhbHVbZV0KK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJc1tldC1wcm9wZXJ0eV0gc2V0LXJlZFstdmFsdWVdIHNldC1yZXBvc2l0aW9uZWQtcm93IHNldC1zZWxlY3Rpb24gc2V0LXNpemUgc2V0LXdhaXRbLXN0YXRlXSBzaWRlLWxhYiBzaWRlLWxhYltlXSBzaWRlLWxhYltlbF0gc2lkZS1sYWJlbC1oYW5kbFtlXSBzaWRlLWxhYltlbHNdIHNpbGVudAorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglzaW1wbGUgc2luZ2xlIHNpemUgc2l6ZS1jW2hhcnNdIHNpemUtcFtpeGVsc10gc2xpZGVyIHNtYWxsaW50IHNvcnQgc291cmNlIHNvdXJjZS1wcm9jZWR1cmUgc3FsIHNxcnQgc3RhcnQgc3RhdHVzLWFyZWEgc3RhdHVzLWFyZWEtZm9udCBzdGF0dXMtYmFyIHN0ZGNhbGwgc3RlbmNpbGVkIHN0b3Agc3RvcHBlW2RdCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCXN0b3JlZC1wcm9jW2VkdXJlXSBzdHJpbmcgc3ViLWF2ZVtyYWdlXSBzdWItY291bnQgc3ViLW1heFtpbXVtXSBzdWItbWVbbnVdIHN1Yi1tZW51LWhlbHAgc3ViLW1pbltpbXVtXSBzdWItdG90YWwgc3Vic2NyaWJlIHN1YnN0W2l0dXRlXSBzdWJzdHJbaW5nXSBzdWJ0eXBlIHN1bSBzdXBlciBzdXBwcmVzcy13YXJuaW5nW3NdCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCXN5c3RlbS1hbGVydC1ib3hbZXNdIHN5c3RlbS1oZWxwIHRhYi1wb3NpdGlvbiB0YWJiYWJsZSB0YXJnZXQgdGFyZ2V0LXByb2NlZHVyZSB0ZW1wLWRpcltlY3RvcnldIHRlbXAtdGFibGUgdGVybWluYXRlIHRleHQtc2VsZWN0ZWQgdGhyZWUtZCB0aHJvdWdoIHRocnUgdGljLW1hcmtzIHRpbWUtc291cmNlIHRpdGxlLWJnY1tvbG9yXQorc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgl0aXRsZS1kY1tvbG9yXSB0aXRsZS1mZ2Nbb2xvcl0gdGl0bGUtZm9bbnRdIHRvLXJvd2lkIHRvZ2dsZS1ib3ggdG9vbC1iYXIgdG9wIHRvcGljIHRvdGFsIHRyYWlsaW5nIHRydW5jW2F0ZV0gdHlwZSB1bmJ1ZmZbZXJlZF0gdW5pcXVlLWlkIHVubG9hZCB1bnN1YnNjcmliZSB1cHBlciB1c2UgdXNlLWRpY1t0LWV4cHNdCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCXVzZS1maWxlbmFtZSB1c2UtdGV4dCB2NmRpc3BsYXkgdmFsaWQtZXZlbnQgdmFsaWQtaGFuZGxlIHZhbGlkYXRlIHZhbGlkYXRlLWNvbmRpdGlvbiB2YWxpZGF0ZS1tZXNzYWdlIHZhcltpYWJsZV0gdmVydFtpY2FsXSB2aXJ0dWFsLWhlaWdodCB2aXJ0dWFsLWhlaWdodC1jW2hhcnNdCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCXZpcnR1YWwtaGVpZ2h0LXBpeGVsW3NdIHZpcnR1YWwtd2lkdGggdmlydHVhbC13aWR0aC1jaFthcnNdIHZpcnR1YWwtd2lkdGgtcGlbeGVsc10gdmlzaWJsZSB3YWl0IHdhcm5pbmcgd2Vla2RheSB3aWRnZXQgd2lkZ2V0LWVbbnRlcl0gd2lkZ2V0LWhbYW5kbGVdIHdpZGdldC1sW2VhdmVdCitzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCXdpZGdldC1wb29sIHdpZHRoIHdpZHRoWy1jaGFyc10gd2lkdGgtcFtpeGVsc10gd2luZG93LW5hbWUgd2luZG93LXN0YVt0ZV0gd2luZG93LXN5c1t0ZW1dIHdvcmQtd3JhcCB4LW9mIHktb2YgeWVhciB5ZXMtbm8geWVzLW5vLWNhbmNlbCBfZGNtCisKK3N5biBrZXl3b3JkIFByb2dyZXNzVHlwZQkgICAgY2hhclthY3Rlcl0gaW50W2VnZXJdIGZvcm1hdAorc3luIGtleXdvcmQgUHJvZ3Jlc3NUeXBlCSAgICB2YXJbaWFibGVdIGxvZ1tpY2FsXSBkYVt0ZV0KKworc3luIHN5bmMgbGluZXM9ODAwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Byb2dyZXNzX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKwlsZXQgZGlkX3Byb2dyZXNzX3N5bnRheF9pbml0cyA9IDEKKwljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyLgorICBIaUxpbmsgUHJvZ3Jlc3NCeXRlCQkJICAgIE51bWJlcgorICBIaUxpbmsgUHJvZ3Jlc3NDYXNlCQkJCVJlcGVhdAorICBIaUxpbmsgUHJvZ3Jlc3NDb21tZW50CQkJU3RhdHVzTGluZQorICBIaUxpbmsgUHJvZ3Jlc3NDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIFByb2dyZXNzRGVidWcJCQkJRGVidWcKKyAgSGlMaW5rIFByb2dyZXNzRG8JCQkJCVJlcGVhdAorICBIaUxpbmsgUHJvZ3Jlc3NFbmRFcnJvcgkJCUVycm9yCisgIEhpTGluayBQcm9ncmVzc0ZvcgkJCQlSZXBlYXQKKyAgSGlMaW5rIFByb2dyZXNzRnVuY3Rpb24JCQlQcm9jZWR1cmUKKyAgSGlMaW5rIFByb2dyZXNzSW5jbHVkZQkJCUluY2x1ZGUKKyAgSGlMaW5rIFByb2dyZXNzTGFiZWwJCQkJTGFiZWwKKyAgSGlMaW5rIFByb2dyZXNzTWF0cml4RGVsaW1pdGVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIFByb2dyZXNzTW9kaWZpZXIJCQlUeXBlCisgIEhpTGluayBQcm9ncmVzc051bWJlcgkJCQlOdW1iZXIKKyAgSGlMaW5rIFByb2dyZXNzT3BlcmF0b3IJCQlGdW5jdGlvbgorICBIaUxpbmsgUHJvZ3Jlc3NQcmVQcm9jCQkJUHJlUHJvYworICBIaUxpbmsgUHJvZ3Jlc3NQcm9jZWR1cmUJCQlQcm9jZWR1cmUKKyAgSGlMaW5rIFByb2dyZXNzUXVvdGUJCQkJRGVsaW1pdGVyCisgIEhpTGluayBQcm9ncmVzc1JlcGVhdAkJCQlSZXBlYXQKKyAgSGlMaW5rIFByb2dyZXNzUmVzZXJ2ZWQJCQlJZGVudGlmaWVyCisgIEhpTGluayBQcm9ncmVzc1N0cmluZwkJCQlTdHJpbmcKKyAgSGlMaW5rIFByb2dyZXNzU3RydWN0dXJlCQkJU3RydWN0dXJlCisgIEhpTGluayBQcm9ncmVzc1N1YnN0aXR1dGUJCQlQcmVQcm9jCisgIEhpTGluayBQcm9ncmVzc1RvZG8JCQkJVG9kbworICBIaUxpbmsgUHJvZ3Jlc3NUeXBlCQkJCVN0YXRlbWVudAorICBIaUxpbmsgUHJvZ3Jlc3NVbmNsYXNzaWZpZWQJCVN0YXRlbWVudAorCisgICIgT3B0aW9uYWwgaGlnaGxpZ2h0aW5nCisgICIgSGlMaW5rIFByb2dyZXNzRGVsaW1pdGVyCQlJZGVudGlmaWVyCisgICIgSGlMaW5rIFByb2dyZXNzU2hvd1RhYgkJCUVycm9yCisgICIgSGlMaW5rIFByb2dyZXNzU2hvd1RhYmMJCQlFcnJvcgorICAiIEhpTGluayBQcm9ncmVzc0lkZW50aWZpZXIJCUlkZW50aWZpZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHJvZ3Jlc3MiCisKKyIgdmltOiB0cz00IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Byb2xvZy52aW0gYi9ydW50aW1lL3N5bnRheC9wcm9sb2cudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjYTFjZmEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wcm9sb2cudmltCkBAIC0wLDAgKzEsMTIwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgUFJPTE9HCisiIE1haW50YWluZXJzOiBSYWxwaCBCZWNrZXQgPHJ3YWIxQGNhbS5zcmkuY28udWs+LAorIgkgICAgICAgVGhvbWFzIEtvZWhsZXIgPGplYW4tbHVjQHBpY2FyZC5mcmFua2VuLmRlPgorIiBMYXN0IENoYW5nZTogMjAwMyBNYXkgMTEKKyIgVVJMOgkgICAgICAgaHR0cDovL2plYW5sdWMtcGljYXJkLmRlL3ZpbS9zeW50YXgvcHJvbG9nLnZpbQorCisiIFRoZXJlIGFyZSB0d28gc2V0cyBvZiBoaWdobGlnaHRpbmcgaW4gaGVyZToKKyIgSWYgdGhlICJwcm9sb2dfaGlnaGxpZ2h0aW5nX2NsZWFuIiB2YXJpYWJsZSBleGlzdHMsIGl0IGlzIHJhdGhlciBzcGFyc2UuCisiIE90aGVyd2lzZSB5b3UgZ2V0IG1vcmUgaGlnaGxpZ2h0aW5nLgorCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFByb2xvZyBpcyBjYXNlIHNlbnNpdGl2ZS4KK3N5biBjYXNlIG1hdGNoCisKKyIgVmVyeSBzaW1wbGUgaGlnaGxpZ2h0aW5nIGZvciBjb21tZW50cywgY2xhdXNlIGhlYWRzIGFuZAorIiBjaGFyYWN0ZXIgY29kZXMuICBJdCByZXNwZWN0cyBwcm9sb2cgc3RyaW5ncyBhbmQgYXRvbXMuCisKK3N5biByZWdpb24gICBwcm9sb2dDQ29tbWVudAlzdGFydD0rL1wqKyBlbmQ9K1wqLysKK3N5biBtYXRjaCAgICBwcm9sb2dDb21tZW50CSslLiorCisKK3N5biBrZXl3b3JkICBwcm9sb2dLZXl3b3JkCW1vZHVsZSBtZXRhX3ByZWRpY2F0ZSBtdWx0aWZpbGUgZHluYW1pYworc3luIG1hdGNoICAgIHByb2xvZ0NoYXJDb2RlCSswJ1xcXD0uKworc3luIHJlZ2lvbiAgIHByb2xvZ1N0cmluZwlzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCitzeW4gcmVnaW9uICAgcHJvbG9nQXRvbQkJc3RhcnQ9KycrIHNraXA9K1xcJysgZW5kPSsnKworc3luIHJlZ2lvbiAgIHByb2xvZ0NsYXVzZUhlYWQgICBzdGFydD0rXlthLXpdW14oXSooKyBza2lwPStcLlteCQkJICAgIF0rIGVuZD0rOi1cfFwuJFx8XC5bCV1cfC0tPisKKworaWYgIWV4aXN0cygicHJvbG9nX2hpZ2hsaWdodGluZ19jbGVhbiIpCisKKyAgIiBzb21lIGtleXdvcmRzCisgICIgc29tZSBjb21tb24gcHJlZGljYXRlcyBhcmUgYWxzbyBoaWdobGlnaHRlZCBhcyBrZXl3b3JkcworICAiIGlzIHRoZXJlIGEgYmV0dGVyIHNvbHV0aW9uPworICBzeW4ga2V5d29yZCBwcm9sb2dLZXl3b3JkICAgYWJvbGlzaCBjdXJyZW50X291dHB1dCAgcGVla19jb2RlCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBhcHBlbmQgIGN1cnJlbnRfcHJlZGljYXRlICAgICAgIHB1dF9ieXRlCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBhcmcgICAgIGN1cnJlbnRfcHJvbG9nX2ZsYWcgICAgIHB1dF9jaGFyCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBhc3NlcnRhIGZhaWwgICAgcHV0X2NvZGUKKyAgc3luIGtleXdvcmQgcHJvbG9nS2V5d29yZCAgIGFzc2VydHogZmluZGFsbCByZWFkCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBhdF9lbmRfb2Zfc3RyZWFtCSAgICAgIGZsb2F0ICAgcmVhZF90ZXJtCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBhdG9tICAgIGZsdXNoX291dHB1dCAgICByZXBlYXQKKyAgc3luIGtleXdvcmQgcHJvbG9nS2V5d29yZCAgIGF0b21fY2hhcnMgICAgICBmdW5jdG9yIHJldHJhY3QKKyAgc3luIGtleXdvcmQgcHJvbG9nS2V5d29yZCAgIGF0b21fY29kZXMgICAgICBnZXRfYnl0ZQkgICAgICBzZXRfaW5wdXQKKyAgc3luIGtleXdvcmQgcHJvbG9nS2V5d29yZCAgIGF0b21fY29uY2F0ICAgICBnZXRfY2hhcgkgICAgICBzZXRfb3V0cHV0CisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBhdG9tX2xlbmd0aCAgICAgZ2V0X2NvZGUJICAgICAgc2V0X3Byb2xvZ19mbGFnCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBhdG9taWMgIGhhbHQgICAgc2V0X3N0cmVhbV9wb3NpdGlvbgorICBzeW4ga2V5d29yZCBwcm9sb2dLZXl3b3JkICAgYmFnb2YgICBpbnRlZ2VyIHNldG9mCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBjYWxsICAgIGlzICAgICAgc3RyZWFtX3Byb3BlcnR5CisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBjYXRjaCAgIG5sICAgICAgc3ViX2F0b20KKyAgc3luIGtleXdvcmQgcHJvbG9nS2V5d29yZCAgIGNoYXJfY29kZSAgICAgICBub252YXIgIHRocm93CisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBjaGFyX2NvbnZlcnNpb24gbnVtYmVyICB0cnVlCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBjbGF1c2UgIG51bWJlcl9jaGFycyAgICB1bmlmeV93aXRoX29jY3Vyc19jaGVjaworICBzeW4ga2V5d29yZCBwcm9sb2dLZXl3b3JkICAgY2xvc2UgICBudW1iZXJfY29kZXMgICAgdmFyCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBjb21wb3VuZAkgICAgICBvbmNlICAgIHdyaXRlCisgIHN5biBrZXl3b3JkIHByb2xvZ0tleXdvcmQgICBjb3B5X3Rlcm0gICAgICAgb3AgICAgICB3cml0ZV9jYW5vbmljYWwKKyAgc3luIGtleXdvcmQgcHJvbG9nS2V5d29yZCAgIGN1cnJlbnRfY2hhcl9jb252ZXJzaW9uIG9wZW4gICAgd3JpdGVfdGVybQorICBzeW4ga2V5d29yZCBwcm9sb2dLZXl3b3JkICAgY3VycmVudF9pbnB1dCAgIHBlZWtfYnl0ZSAgICAgICB3cml0ZXEKKyAgc3luIGtleXdvcmQgcHJvbG9nS2V5d29yZCAgIGN1cnJlbnRfb3AgICAgICBwZWVrX2NoYXIKKworICBzeW4gbWF0Y2ggICBwcm9sb2dPcGVyYXRvciAiPVxcPVx8PTo9XHxcXD09XHw9PFx8PT1cfD49XHxcXD1cfFxcK1x8PFx8Plx8PSIKKyAgc3luIG1hdGNoICAgcHJvbG9nQXNJcyAgICAgIj09PVx8XFw9PT1cfDw9XHw9PiIKKworICBzeW4gbWF0Y2ggICBwcm9sb2dOdW1iZXIJICAgICAgIlw8WzAxMjM0NTY3ODldKlw+IgorICBzeW4gbWF0Y2ggICBwcm9sb2dDb21tZW50RXJyb3IgICAgICAiXCovIgorICBzeW4gbWF0Y2ggICBwcm9sb2dTcGVjaWFsQ2hhcmFjdGVyICAiOyIKKyAgc3luIG1hdGNoICAgcHJvbG9nU3BlY2lhbENoYXJhY3RlciAgIiEiCisgIHN5biBtYXRjaCAgIHByb2xvZ1F1ZXN0aW9uCSAgICAgICI/LS4qXC4iCWNvbnRhaW5zPXByb2xvZ051bWJlcgorCisKK2VuZGlmCisKK3N5biBzeW5jIGNjb21tZW50IG1heGxpbmVzPTUwCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHJvbG9nX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3Byb2xvZ19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorICBIaUxpbmsgcHJvbG9nQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgcHJvbG9nQ0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHByb2xvZ0NoYXJDb2RlCQlTcGVjaWFsCisKKyAgaWYgZXhpc3RzICgicHJvbG9nX2hpZ2hsaWdodGluZ19jbGVhbiIpCisKKyAgICBIaUxpbmsgcHJvbG9nS2V5d29yZAlTdGF0ZW1lbnQKKyAgICBIaUxpbmsgcHJvbG9nQ2xhdXNlSGVhZAlTdGF0ZW1lbnQKKworICBlbHNlCisKKyAgICBIaUxpbmsgcHJvbG9nS2V5d29yZAlLZXl3b3JkCisgICAgSGlMaW5rIHByb2xvZ0NsYXVzZUhlYWQJQ29uc3RhbnQKKyAgICBIaUxpbmsgcHJvbG9nUXVlc3Rpb24JUHJlUHJvYworICAgIEhpTGluayBwcm9sb2dTcGVjaWFsQ2hhcmFjdGVyIFNwZWNpYWwKKyAgICBIaUxpbmsgcHJvbG9nTnVtYmVyCQlOdW1iZXIKKyAgICBIaUxpbmsgcHJvbG9nQXNJcwkJTm9ybWFsCisgICAgSGlMaW5rIHByb2xvZ0NvbW1lbnRFcnJvcglFcnJvcgorICAgIEhpTGluayBwcm9sb2dBdG9tCQlTdHJpbmcKKyAgICBIaUxpbmsgcHJvbG9nU3RyaW5nCQlTdHJpbmcKKyAgICBIaUxpbmsgcHJvbG9nT3BlcmF0b3IJT3BlcmF0b3IKKworICBlbmRpZgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwcm9sb2ciCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wc2YudmltIGIvcnVudGltZS9zeW50YXgvcHNmLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjM3NmY5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcHNmLnZpbQpAQCAtMCwwICsxLDEwMyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVNvZnR3YXJlIERpc3RyaWJ1dG9yIHByb2R1Y3Qgc3BlY2lmaWNhdGlvbiBmaWxlCisiCQkoUE9TSVggMTM4Ny4yLTE5OTUpLgorIiBNYWludGFpbmVyOglSZXggQmFyemVlIDxyZXhfYmFyemVlQGhwLmNvbT4KKyIgTGFzdCBjaGFuZ2U6CTI1IEFwciAyMDAxCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKKyAgc3luIGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFByb2R1Y3Qgc3BlY2lmaWNhdGlvbiBmaWxlcyBhcmUgY2FzZSBzZW5zaXRpdmUKK3N5biBjYXNlIG1hdGNoCisKK3N5biBrZXl3b3JkIHBzZk9iamVjdCBidW5kbGUgY2F0ZWdvcnkgY29udHJvbF9maWxlIGRlcG90IGRpc3RyaWJ1dGlvbgorc3luIGtleXdvcmQgcHNmT2JqZWN0IGVuZCBmaWxlIGZpbGVzZXQgaG9zdCBpbnN0YWxsZWRfc29mdHdhcmUgbWVkaWEKK3N5biBrZXl3b3JkIHBzZk9iamVjdCBwcm9kdWN0IHJvb3Qgc3VicHJvZHVjdCB2ZW5kb3IKKworc3luIG1hdGNoICBwc2ZVbnF1b3RTdHJpbmcgK1teIiMgCV1bXiNdKisgY29udGFpbmVkCitzeW4gcmVnaW9uIHBzZlF1b3RTdHJpbmcgICBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggIHBzZk9ialRhZyAgICAiXDxbLV8rQS1aMC05YS16XVwrXChcLlstXytBLVowLTlhLXpdXCtcKSoiIGNvbnRhaW5lZAorc3luIG1hdGNoICBwc2ZBdHRBYmJyZXYgIixcPFwoZmFcfGZyXHxbYWNscXJ2XVwpXCg8XHw+XHw8PVx8Pj1cfD1cfD09XClbXixdXCsiIGNvbnRhaW5lZAorc3luIG1hdGNoICBwc2ZPYmpUYWdzICAgIlw8Wy1fK0EtWjAtOWEtel1cK1woXC5bLV8rQS1aMC05YS16XVwrXCkqXChcc1wrXDxbLV8rQS1aMC05YS16XVwrXChcLlstXytBLVowLTlhLXpdXCtcKSpcKSoiIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggIHBzZk51bWJlciAgICAiXDxcZFwrXD4iIGNvbnRhaW5lZAorc3luIG1hdGNoICBwc2ZGbG9hdCAgICAgIlw8XGRcK1w+XChcLlw8XGRcK1w+XCkqIiBjb250YWluZWQKKworc3luIG1hdGNoICBwc2ZMb25nRGF0ZSAgIlw8XGRcZFxkXGRcZFxkXGRcZFxkXGRcZFxkXC5cZFxkXD4iIGNvbnRhaW5lZAorCitzeW4ga2V5d29yZCBwc2ZTdGF0ZSAgICBhdmFpbGFibGUgY29uZmlndXJlZCBjb3JydXB0IGluc3RhbGxlZCB0cmFuc2llbnQgY29udGFpbmVkCitzeW4ga2V5d29yZCBwc2ZQU3RhdGUgICBhcHBsaWVkIGNvbW1pdHRlZCBzdXBlcnNlZGVkIGNvbnRhaW5lZAorCitzeW4ga2V5d29yZCBwc2ZCb29sZWFuICBmYWxzZSB0cnVlIGNvbnRhaW5lZAorCisKKyJTb21lIG9mIHRoZSBhdHRyaWJ1dGVzIGNvdmVyZWQgYnkgYXR0VW5xdW90U3RyaW5nIGFuZCBhdHRRdW90U3RyaW5nOgorIiBhcmNoaXRlY3R1cmUgY2F0ZWdvcnlfdGFnIGNvbnRyb2xfZGlyZWN0b3J5IGNvcHlyaWdodAorIiBjcmVhdGVfZGF0ZSBkZXNjcmlwdGlvbiBkaXJlY3RvcnkgZmlsZV9wZXJtaXNzaW9ucyBpbnN0YWxsX3NvdXJjZQorIiBpbnN0YWxsX3R5cGUgbG9jYXRpb24gbWFjaGluZV90eXBlIG1vZF9kYXRlIG51bWJlciBvc19uYW1lIG9zX3JlbGVhc2UKKyIgb3NfdmVyc2lvbiBwb3NlX2FzX29zX25hbWUgcG9zZV9hc19vc19yZWxlYXNlIHJlYWRtZSByZXZpc2lvbgorIiBzaGFyZV9saW5rIHRpdGxlIHZlbmRvcl90YWcKK3N5biByZWdpb24gcHNmQXR0VW5xdW90U3RyaW5nIG1hdGNoZ3JvdXA9cHNmQXR0cmliIHN0YXJ0PX5eXHMqW14jIAldXCtcc1wrW14jIiAJXX5ycz1lLTEgY29udGFpbnM9cHNmVW5xdW90U3RyaW5nLHBzZkNvbW1lbnQgZW5kPX4kfiBrZWVwZW5kIG9uZWxpbmUKKworc3luIHJlZ2lvbiBwc2ZBdHRRdW90U3RyaW5nIG1hdGNoZ3JvdXA9cHNmQXR0cmliIHN0YXJ0PX5eXHMqW14jIAldXCtcc1wrIn5ycz1lLTEgY29udGFpbnM9cHNmUXVvdFN0cmluZyxwc2ZDb21tZW50IHNraXA9flxcIn4gbWF0Y2hncm91cD1wc2ZRdW90U3RyaW5nIGVuZD1+In4ga2VlcGVuZAorCisKKyIgVGhlc2UgcmVnaW9ucyBhcmUgZGVmaW5lZCBpbiBhdHRlbXB0IHRvIGRvIHN5bnRheCBjaGVja2luZyBmb3Igc29tZQorIiBvZiB0aGUgYXR0cmlidXRlcy4KK3N5biByZWdpb24gcHNmQXR0VGFnIG1hdGNoZ3JvdXA9cHNmQXR0cmliIHN0YXJ0PSJeXHMqdGFnXHNcKyIgY29udGFpbnM9cHNmT2JqVGFnLHBzZkNvbW1lbnQgZW5kPSIkIiBrZWVwZW5kIG9uZWxpbmUKKworc3luIHJlZ2lvbiBwc2ZBdHRTcGVjIG1hdGNoZ3JvdXA9cHNmQXR0cmliIHN0YXJ0PSJeXHMqXChhbmNlc3Rvclx8YXBwbGllZF9wYXRjaGVzXHxhcHBsaWVkX3RvXHxjb250ZW50c1x8Y29yZXF1aXNpdGVzXHxleHJlcXVpc2l0ZXNcfHByZXJlcXVpc2l0ZXNcfHNvZnR3YXJlX3NwZWNcfHN1cGVyc2VkZXNcfHN1cGVyc2VkZWRfYnlcKVxzXCsiIGNvbnRhaW5zPXBzZk9ialRhZyxwc2ZBdHRBYmJyZXYscHNmQ29tbWVudCBlbmQ9IiQiIGtlZXBlbmQKKworc3luIHJlZ2lvbiBwc2ZBdHRUYWdzIG1hdGNoZ3JvdXA9cHNmQXR0cmliIHN0YXJ0PSJeXHMqYWxsX2ZpbGVzZXRzXHNcKyIgY29udGFpbnM9cHNmT2JqVGFncyxwc2ZDb21tZW50IGVuZD0iJCIga2VlcGVuZAorCitzeW4gcmVnaW9uIHBzZkF0dE51bWJlciBtYXRjaGdyb3VwPXBzZkF0dHJpYiBzdGFydD0iXlxzKlwoY29tcHJlc3NlZF9zaXplXHxpbnN0YW5jZV9pZFx8bWVkaWFfc2VxdWVuY2VfbnVtYmVyXHxzZXF1ZW5jZV9udW1iZXJcfHNpemVcKVxzXCsiIGNvbnRhaW5zPXBzZk51bWJlcixwc2ZDb21tZW50IGVuZD0iJCIga2VlcGVuZCBvbmVsaW5lCisKK3N5biByZWdpb24gcHNmQXR0VGltZSBtYXRjaGdyb3VwPXBzZkF0dHJpYiBzdGFydD0iXlxzKlwoY3JlYXRlX3RpbWVcfGN0aW1lXHxtb2RfdGltZVx8bXRpbWVcfHRpbWVzdGFtcFwpXHNcKyIgY29udGFpbnM9cHNmTnVtYmVyLHBzZkNvbW1lbnQgZW5kPSIkIiBrZWVwZW5kIG9uZWxpbmUKKworc3luIHJlZ2lvbiBwc2ZBdHRGbG9hdCBtYXRjaGdyb3VwPXBzZkF0dHJpYiBzdGFydD0iXlxzKlwoZGF0YV9tb2RlbF9yZXZpc2lvblx8bGF5b3V0X3ZlcnNpb25cKVxzXCsiIGNvbnRhaW5zPXBzZkZsb2F0LHBzZkNvbW1lbnQgZW5kPSIkIiBrZWVwZW5kIG9uZWxpbmUKKworc3luIHJlZ2lvbiBwc2ZBdHRMb25nRGF0ZSBtYXRjaGdyb3VwPXBzZkF0dHJpYiBzdGFydD0iXlxzKmluc3RhbGxfZGF0ZVxzXCsiIGNvbnRhaW5zPXBzZkxvbmdEYXRlLHBzZkNvbW1lbnQgZW5kPSIkIiBrZWVwZW5kIG9uZWxpbmUKKworc3luIHJlZ2lvbiBwc2ZBdHRTdGF0ZSBtYXRjaGdyb3VwPXBzZkF0dHJpYiBzdGFydD0iXlxzKlwoc3RhdGVcKVxzXCsiIGNvbnRhaW5zPXBzZlN0YXRlLHBzZkNvbW1lbnQgZW5kPSIkIiBrZWVwZW5kIG9uZWxpbmUKKworc3luIHJlZ2lvbiBwc2ZBdHRQU3RhdGUgbWF0Y2hncm91cD1wc2ZBdHRyaWIgc3RhcnQ9Il5ccypcKHBhdGNoX3N0YXRlXClcc1wrIiBjb250YWlucz1wc2ZQU3RhdGUscHNmQ29tbWVudCBlbmQ9IiQiIGtlZXBlbmQgb25lbGluZQorCitzeW4gcmVnaW9uIHBzZkF0dEJvb2xlYW4gbWF0Y2hncm91cD1wc2ZBdHRyaWIgc3RhcnQ9Il5ccypcKGlzX2tlcm5lbFx8aXNfbG9jYXRhYmxlXHxpc19wYXRjaFx8aXNfcHJvdGVjdGVkXHxpc19yZWJvb3RcfGlzX3JlZmVyZW5jZVx8aXNfc2VjdXJlXHxpc19zcGFyc2VcKVxzXCsiIGNvbnRhaW5zPXBzZkJvb2xlYW4scHNmQ29tbWVudCBlbmQ9IiQiIGtlZXBlbmQgb25lbGluZQorCitzeW4gbWF0Y2ggIHBzZkNvbW1lbnQgIiMuKiQiCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHNmX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3BzZl9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBwc2ZPYmplY3QgICAgICAgU3RhdGVtZW50CisgIEhpTGluayBwc2ZBdHRyaWIgICAgICAgVHlwZQorICBIaUxpbmsgcHNmUXVvdFN0cmluZyAgIFN0cmluZworICBIaUxpbmsgcHNmT2JqVGFnICAgICAgIElkZW50aWZpZXIKKyAgSGlMaW5rIHBzZkF0dEFiYnJldiAgICBQcmVQcm9jCisgIEhpTGluayBwc2ZPYmpUYWdzICAgICAgSWRlbnRpZmllcgorCisgIEhpTGluayBwc2ZDb21tZW50ICAgICAgQ29tbWVudAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisiIExvbmcgZGVzY3JpcHRpb25zIGFuZCBjb3B5cmlnaHRzIGNvbmZ1c2UgdGhlIHN5bnRheCBoaWdobGlnaHRpbmcsIHNvCisiIGZvcmNlIHZpbSB0byBiYWNrdXAgYXQgbGVhc3QgMTAwIGxpbmVzIGJlZm9yZSB0aGUgdG9wIHZpc2libGUgbGluZQorIiBsb29raW5nIGZvciBhIHN5bmMgbG9jYXRpb24uCitzeW4gc3luYyBsaW5lcz0xMDAKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHNmIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcHRjYXAudmltIGIvcnVudGltZS9zeW50YXgvcHRjYXAudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NTkwY2YKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wdGNhcC52aW0KQEAgLTAsMCArMSwxMDcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglwcmludGNhcC90ZXJtY2FwIGRhdGFiYXNlCisiIE1haW50YWluZXI6CUhhYWtvbiBSaWlzZXIgPGhha29ucmtAZnlzLnVpby5ubz4KKyIgVVJMOgkJaHR0cDovL2ZvbGsudWlvLm5vL2hha29ucmsvdmltL3N5bnRheC9wdGNhcC52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDE1CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3luIGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKKyIgU2luY2UgSSBvbmx5IGhpZ2hsaWdodCBiYXNlZCBvbiB0aGUgc3RydWN0dXJlIG9mIHRoZSBkYXRhYmFzZXMsIG5vdAorIiBzcGVjaWZpYyBrZXl3b3JkcywgY2FzZSBzZW5zaXRpdml0eSBpc24ndCByZXF1aXJlZAorc3luIGNhc2UgaWdub3JlCisKKyIgU2luY2UgZXZlcnl0aGluZyB0aGF0IGlzIG5vdCBjYXVnaHQgYnkgdGhlIHN5bnRheCBwYXR0ZXJucyBpcyBhc3N1bWVkCisiIHRvIGJlIGFuIGVycm9yLCB3ZSBzdGFydCBwYXJzaW5nIDIwIGxpbmVzIHVwLCB1bmxlc3Mgc29tZXRoaW5nIGVsc2UKKyIgaXMgc3BlY2lmaWVkCitpZiBleGlzdHMoInB0Y2FwX21pbmxpbmVzIikKKyAgICBleGUgInN5biBzeW5jIGxpbmVzPSIucHRjYXBfbWlubGluZXMKK2Vsc2UKKyAgICBzeW4gc3luYyBsaW5lcz0yMAorZW5kaWYKKworIiBIaWdobGlnaHQgZXZlcnl0aGluZyB0aGF0IGlzbid0IGNhdWdodCBieSB0aGUgcnVsZXMgYXMgZXJyb3JzLAorIiBleGNlcHQgYmxhbmsgbGluZXMKK3N5biBtYXRjaCBwdGNhcEVycm9yCSAgICAiXi4qXFMuKiQiCisKK3N5biBtYXRjaCBwdGNhcExlYWRCbGFuayAgICAiXlxzXCsiIGNvbnRhaW5lZAorCisiIGA6JyBhbmQgYHwnIGFyZSBkZWxpbWl0ZXJzIGZvciBmaWVsZHMgYW5kIG5hbWVzLCBhbmQgc2hvdWxkIG5vdCBiZQorIiBoaWdobGlnaHRlZC4JSGVuY2UsIHRoZXkgYXJlIGxpbmtlZCB0byBgTk9ORScKK3N5biBtYXRjaCBwdGNhcERlbGltaXRlciAgICAiWzp8XSIgY29udGFpbmVkCisKKyIgRXNjYXBlZCBjaGFyYWN0ZXJzIHJlY2VpdmUgc3BlY2lhbCBoaWdobGlnaHRpbmcKK3N5biBtYXRjaCBwdGNhcEVzY2FwZWRDaGFyICAiXFwuIiBjb250YWluZWQKK3N5biBtYXRjaCBwdGNhcEVzY2FwZWRDaGFyICAiXF4uIiBjb250YWluZWQKK3N5biBtYXRjaCBwdGNhcEVzY2FwZWRDaGFyICAiXFxcb1x7M30iIGNvbnRhaW5lZAorCisiIEEgYmFja3NsYXNoIGF0IHRoZSBlbmQgb2YgYSBsaW5lIHdpbGwgc3VwcHJlc3MgdGhlIG5ld2xpbmUKK3N5biBtYXRjaCBwdGNhcExpbmVDb250CSAgICAiXFwkIiBjb250YWluZWQKKworIiBBIG51bWJlciBmb2xsb3dzIHRoZSBzYW1lIHJ1bGVzIGFzIGFuIGludGVnZXIgaW4gQworc3luIG1hdGNoIHB0Y2FwTnVtYmVyCSAgICAiI1woK1x8LVwpXD1cZFwrImxjPTEgY29udGFpbmVkCitzeW4gbWF0Y2ggcHRjYXBOdW1iZXJFcnJvciAgIiNcZCpbXls6ZGlnaXQ6XTpcXF0ibGM9MSBjb250YWluZWQKK3N5biBtYXRjaCBwdGNhcE51bWJlcgkgICAgIiMweFx4XHsxLDh9ImxjPTEgY29udGFpbmVkCitzeW4gbWF0Y2ggcHRjYXBOdW1iZXJFcnJvciAgIiMweFxYIm1lPWUtMSxsYz0xIGNvbnRhaW5lZAorc3luIG1hdGNoIHB0Y2FwTnVtYmVyRXJyb3IgICIjMHhceFx7OX0ibGM9MSBjb250YWluZWQKK3N5biBtYXRjaCBwdGNhcE51bWJlckVycm9yICAiIzB4XHgqW15bOnhkaWdpdDpdOlxcXSJsYz0xIGNvbnRhaW5lZAorCisiIFRoZSBgQCcgb3BlcmF0b3IgY2xlYXJzIGEgZmxhZyAoaS5lLiwgc2V0cyBpdCB0byB6ZXJvKQorIiBUaGUgYCMnIG9wZXJhdG9yIGFzc2lnbnMgYSBmb2xsb3dpbmcgbnVtYmVyIHRvIHRoZSBmbGFnCisiIFRoZSBgPScgb3BlcmF0b3IgYXNzaWducyBhIHN0cmluZyB0byB0aGUgcHJlY2VkaW5nIGZsYWcKK3N5biBtYXRjaCBwdGNhcE9wZXJhdG9yCSAgICAiW0AjPV0iIGNvbnRhaW5lZAorCisiIFNvbWUgdGVybWluYWwgY2FwYWJpbGl0ZXMgaGF2ZSBzcGVjaWFsIG5hbWVzIGxpa2UgYCM1JyBhbmQgYEAxJywgYW5kIHdlCisiIG5lZWQgc3BlY2lhbCBydWxlcyB0byBtYXRjaCB0aGVzZSBwcm9wZXJseQorc3luIG1hdGNoIHB0Y2FwU3BlY2lhbENhcCAgICJcV1sjQF1cZCIgY29udGFpbnM9cHRjYXBEZWxpbWl0ZXIgY29udGFpbmVkCisKKyIgSWYgZWRpdGluZyBhIHRlcm1jYXAgZmlsZSwgYW4gZW50cnkgaW4gdGhlIGRhdGFiYXNlIGlzIHRlcm1pbmF0ZWQgYnkKKyIgYSAobm9uLWVzY2FwZWQpIG5ld2xpbmUuICBPdGhlcndpc2UsIGl0IGlzIHRlcm1pbmF0ZWQgYnkgYSBsaW5lIHdoaWNoCisiIGRvZXMgbm90IHN0YXJ0IHdpdGggYSBjb2xvbiAoOikKK2lmIGV4aXN0cygiYjpwdGNhcF90eXBlIikgJiYgYjpwdGNhcF90eXBlWzBdID09ICd0JworICAgIHN5biByZWdpb24gcHRjYXBFbnRyeSAgIHN0YXJ0PSJeXHMqW15bOnNwYWNlOl06XSIgZW5kPSJbXlxcXVwoXFxcXFwpKiQiIGVuZD0iXiQiIGNvbnRhaW5zPXB0Y2FwTmFtZXMscHRjYXBGaWVsZCxwdGNhcExlYWRCbGFuayBrZWVwZW5kCitlbHNlCisgICAgc3luIHJlZ2lvbiBwdGNhcEVudHJ5ICAgc3RhcnQ9Il5ccypbXls6c3BhY2U6XTpdIm1lPWUtMSBlbmQ9Il5ccypbXls6c3BhY2U6XTojXSJtZT1lLTEgY29udGFpbnM9cHRjYXBOYW1lcyxwdGNhcEZpZWxkLHB0Y2FwTGVhZEJsYW5rLHB0Y2FwQ29tbWVudAorZW5kaWYKK3N5biByZWdpb24gcHRjYXBOYW1lcwkgICAgc3RhcnQ9Il5ccypbXls6c3BhY2U6XTpdIiBza2lwPSJbXlxcXVwoXFxcXFwpKlxcOiIgZW5kPSI6Im1lPWUtMSBjb250YWlucz1wdGNhcERlbGltaXRlcixwdGNhcEVzY2FwZWRDaGFyLHB0Y2FwTGluZUNvbnQscHRjYXBMZWFkQmxhbmsscHRjYXBDb21tZW50IGtlZXBlbmQgY29udGFpbmVkCitzeW4gcmVnaW9uIHB0Y2FwRmllbGQJICAgIHN0YXJ0PSI6IiBza2lwPSJbXlxcXVwoXFxcXFwpKlxcJCIgZW5kPSJbXlxcXVwoXFxcXFwpKjoibWU9ZS0xIGVuZD0iJCIgY29udGFpbnM9cHRjYXBEZWxpbWl0ZXIscHRjYXBTdHJpbmcscHRjYXBOdW1iZXIscHRjYXBOdW1iZXJFcnJvcixwdGNhcE9wZXJhdG9yLHB0Y2FwTGluZUNvbnQscHRjYXBTcGVjaWFsQ2FwLHB0Y2FwTGVhZEJsYW5rLHB0Y2FwQ29tbWVudCBrZWVwZW5kIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBwdGNhcFN0cmluZwkgICAgbWF0Y2hncm91cD1wdGNhcE9wZXJhdG9yIHN0YXJ0PSI9IiBza2lwPSJbXlxcXVwoXFxcXFwpKlxcOiIgbWF0Y2hncm91cD1wdGNhcERlbGltaXRlciBlbmQ9IjoibWU9ZS0xIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IlteXFxdXChcXFxcXCkqW15cXF0kIiBlbmQ9Il4kIiBjb250YWlucz1wdGNhcEVzY2FwZWRDaGFyLHB0Y2FwTGluZUNvbnQga2VlcGVuZCBjb250YWluZWQKK3N5biByZWdpb24gcHRjYXBDb21tZW50CSAgICBzdGFydD0iXlxzKiMiIGVuZD0iJCIgY29udGFpbnM9cHRjYXBMZWFkQmxhbmsKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3B0Y2FwX3N5bnRheF9pbml0cyIpCisgICAgaWYgdmVyc2lvbiA8IDUwOAorCWxldCBkaWRfcHRjYXBfc3ludGF4X2luaXRzID0gMQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgICAgZWxzZQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgIGVuZGlmCisKKyAgICBIaUxpbmsgcHRjYXBDb21tZW50CQlDb21tZW50CisgICAgSGlMaW5rIHB0Y2FwRGVsaW1pdGVyCURlbGltaXRlcgorICAgICIgVGhlIGhpZ2hsaWdodGluZyBvZiAicHRjYXBFbnRyeSIgc2hvdWxkIGFsd2F5cyBiZSBvdmVycmlkZGVuIGJ5CisgICAgIiBpdHMgY29udGVudHMsIHNvIEkgdXNlIFRvZG8gaGlnaGxpZ2h0aW5nIHRvIGluZGljYXRlIHRoYXQgdGhlcmUKKyAgICAiIGlzIHdvcmsgdG8gYmUgZG9uZSB3aXRoIHRoZSBzeW50YXggZmlsZSBpZiB5b3UgY2FuIHNlZSBpdCA6LSkKKyAgICBIaUxpbmsgcHRjYXBFbnRyeQkJVG9kbworICAgIEhpTGluayBwdGNhcEVycm9yCQlFcnJvcgorICAgIEhpTGluayBwdGNhcEVzY2FwZWRDaGFyCVNwZWNpYWxDaGFyCisgICAgSGlMaW5rIHB0Y2FwRmllbGQJCVR5cGUKKyAgICBIaUxpbmsgcHRjYXBMZWFkQmxhbmsJTk9ORQorICAgIEhpTGluayBwdGNhcExpbmVDb250CVNwZWNpYWwKKyAgICBIaUxpbmsgcHRjYXBOYW1lcwkJTGFiZWwKKyAgICBIaUxpbmsgcHRjYXBOdW1iZXIJCU5PTkUKKyAgICBIaUxpbmsgcHRjYXBOdW1iZXJFcnJvcglFcnJvcgorICAgIEhpTGluayBwdGNhcE9wZXJhdG9yCU9wZXJhdG9yCisgICAgSGlMaW5rIHB0Y2FwU3BlY2lhbENhcAlUeXBlCisgICAgSGlMaW5rIHB0Y2FwU3RyaW5nCQlOT05FCisKKyAgICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHRjYXAiCisKKyIgdmltOiBzdHM9NCBzdz00IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3B1cmlmeWxvZy52aW0gYi9ydW50aW1lL3N5bnRheC9wdXJpZnlsb2cudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiY2ZiNGIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wdXJpZnlsb2cudmltCkBAIC0wLDAgKzEsMTE5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJcHVyaWZ5IGxvZyBmaWxlcworIiBNYWludGFpbmVyOglHYXV0YW0gSC4gTXVkdW51cmkgPGdtdWR1bnVyQGluZm9ybWF0aWNhLmNvbT4KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBQdXJpZnkgaGVhZGVyCitzeW4gbWF0Y2ggcHVyaWZ5TG9nSGVhZGVyICAgICAgIl5cKlwqXCpcKi4qJCIKKworIiBJbmZvcm1hdGlvbmFsIG1lc3NhZ2VzCitzeW4gbWF0Y2ggcHVyaWZ5TG9nRklVICJeRklVOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dNQUYgIl5NQUY6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ01JVSAiXk1JVTouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nU0lHICJeU0lHOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dXUEYgIl5XUEY6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ1dQTSAiXldQTTouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nV1BOICJeV1BOOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dXUFIgIl5XUFI6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ1dQVyAiXldQVzouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nV1BYICJeV1BYOi4qJCIKKworIiBXYXJuaW5nIG1lc3NhZ2VzCitzeW4gbWF0Y2ggcHVyaWZ5TG9nQUJSICJeQUJSOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dCU1IgIl5CU1I6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ0JTVyAiXkJTVzouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nRk1SICJeRk1SOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dNTEsgIl5NTEs6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ01TRSAiXk1TRTouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nUEFSICJeUEFSOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dQTEsgIl5QTEs6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ1NCUiAiXlNCUjouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nU09GICJeU09GOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dVTUMgIl5VTUM6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ1VNUiAiXlVNUjouKiQiCisKKyIgQ29ycnVwdGluZyBtZXNzYWdlcworc3luIG1hdGNoIHB1cmlmeUxvZ0FCVyAiXkFCVzouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nQlJLICJeQlJLOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dGTVcgIl5GTVc6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ0ZOSCAiXkZOSDouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nRlVNICJeRlVNOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2dNUkUgIl5NUkU6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ1NCVyAiXlNCVzouKiQiCisKKyIgRmF0YWwgbWVzc2FnZXMKK3N5biBtYXRjaCBwdXJpZnlMb2dDT1IgIl5DT1I6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ05QUiAiXk5QUjouKiQiCitzeW4gbWF0Y2ggcHVyaWZ5TG9nTlBXICJeTlBXOi4qJCIKK3N5biBtYXRjaCBwdXJpZnlMb2daUFIgIl5aUFI6LiokIgorc3luIG1hdGNoIHB1cmlmeUxvZ1pQVyAiXlpQVzouKiQiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3B1cmlmeUxvZ19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9wdXJpZnlMb2dfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworCUhpTGluayBwdXJpZnlMb2dGSVUgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dNQUYgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dNSVUgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dTSUcgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dXUEYgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dXUE0gcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dXUE4gcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dXUFIgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dXUFcgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCUhpTGluayBwdXJpZnlMb2dXUFggcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorCisJSGlMaW5rIHB1cmlmeUxvZ0FCUiBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ0JTUiBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ0JTVyBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ0ZNUiBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ01MSyBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ01TRSBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ1BBUiBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ1BMSyBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ1NCUiBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ1NPRiBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ1VNQyBwdXJpZnlMb2dXYXJuaW5nCisJSGlMaW5rIHB1cmlmeUxvZ1VNUiBwdXJpZnlMb2dXYXJuaW5nCisKKwlIaUxpbmsgcHVyaWZ5TG9nQUJXIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKKwlIaUxpbmsgcHVyaWZ5TG9nQlJLIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKKwlIaUxpbmsgcHVyaWZ5TG9nRk1XIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKKwlIaUxpbmsgcHVyaWZ5TG9nRk5IIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKKwlIaUxpbmsgcHVyaWZ5TG9nRlVNIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKKwlIaUxpbmsgcHVyaWZ5TG9nTVJFIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKKwlIaUxpbmsgcHVyaWZ5TG9nU0JXIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKKworCUhpTGluayBwdXJpZnlMb2dDT1IgcHVyaWZ5TG9nRmF0YWwKKwlIaUxpbmsgcHVyaWZ5TG9nTlBSIHB1cmlmeUxvZ0ZhdGFsCisJSGlMaW5rIHB1cmlmeUxvZ05QVyBwdXJpZnlMb2dGYXRhbAorCUhpTGluayBwdXJpZnlMb2daUFIgcHVyaWZ5TG9nRmF0YWwKKwlIaUxpbmsgcHVyaWZ5TG9nWlBXIHB1cmlmeUxvZ0ZhdGFsCisKKwlIaUxpbmsgcHVyaWZ5TG9nSGVhZGVyCQlDb21tZW50CisJSGlMaW5rIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwJUHJlUHJvYworCUhpTGluayBwdXJpZnlMb2dXYXJuaW5nCQlUeXBlCisJSGlMaW5rIHB1cmlmeUxvZ0NvcnJ1cHRpbmcJRXJyb3IKKwlIaUxpbmsgcHVyaWZ5TG9nRmF0YWwJCUVycm9yCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHVyaWZ5bG9nIgorCisiIHZpbTp0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9weXJleC52aW0gYi9ydW50aW1lL3N5bnRheC9weXJleC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA2YjJkMwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3B5cmV4LnZpbQpAQCAtMCwwICsxLDY3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUHlyZXgKKyIgTWFpbnRhaW5lcjoJTWFyY28gQmFyaXNpb25lIDxtYXJjby5iYXJpQHBlb3BsZS5pdD4KKyIgVVJMOgkJaHR0cDovL21hcmNvYmFyaS5hbHRlcnZpc3RhLm9yZy9weXJleF92aW0uaHRtbAorIiBMYXN0IENoYW5nZToJMjAwNCBNYXkgMTYKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFJlYWQgdGhlIFB5dGhvbiBzeW50YXggdG8gc3RhcnQgd2l0aAoraWYgdmVyc2lvbiA8IDYwMAorICBzbyA8c2ZpbGU+OnA6aC9weXRob24udmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9weXRob24udmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKK2VuZGlmCisKKyIgUHlyZXggZXh0ZW50aW9ucworc3luIGtleXdvcmQgcHlyZXhTdGF0ZW1lbnQgICAgICBjZGVmIHR5cGVkZWYgY3R5cGVkZWYgc2l6ZW9mCitzeW4ga2V5d29yZCBweXJleFR5cGUJCWludCBsb25nIHNob3J0IGZsb2F0IGRvdWJsZSBjaGFyIG9iamVjdCB2b2lkCitzeW4ga2V5d29yZCBweXJleFR5cGUJCXNpZ25lZCB1bnNpZ25lZAorc3luIGtleXdvcmQgcHlyZXhTdHJ1Y3R1cmUJc3RydWN0IHVuaW9uIGVudW0KK3N5biBrZXl3b3JkIHB5cmV4UHJlY29uZGl0CWluY2x1ZGUgY2ltcG9ydAorc3luIGtleXdvcmQgcHlyZXhBY2Nlc3MJCXB1YmxpYyBwcml2YXRlIHByb3BlcnR5IHJlYWRvbmx5IGV4dGVybgorIiBJZiBzb21lb21lIHdhbnRzIFB5dGhvbidzIGJ1aWx0LWlucyBoaWdobGlnaHRlZCBwcm9iYWJseSBoZQorIiBhbHNvIHdhbnRzIFB5cmV4J3MgYnVpbHQtaW5zIGhpZ2hsaWdodGVkCitpZiBleGlzdHMoInB5dGhvbl9oaWdobGlnaHRfYnVpbHRpbnMiKSB8fCBleGlzdHMoInB5cmV4X2hpZ2hsaWdodF9idWlsdGlucyIpCisgICAgc3luIGtleXdvcmQgcHlyZXhCdWlsdGluICAgIE5VTEwKK2VuZGlmCisKKyIgVGhpcyBkZWxldGVzICJmcm9tIiBmcm9tIHRoZSBrZXl3b3JkcyBhbmQgcmUtYWRkcyBpdCBhcyBhCisiIG1hdGNoIHdpdGggbG93ZXIgcHJpb3JpdHkgdGhhbiBweXJleEZvckZyb20KK3N5biBjbGVhciAgIHB5dGhvblByZUNvbmRpdAorc3luIGtleXdvcmQgcHl0aG9uUHJlQ29uZGl0ICAgICBpbXBvcnQKK3N5biBtYXRjaCAgIHB5dGhvblByZUNvbmRpdCAgICAgImZyb20iCisKKyIgV2l0aCAiZm9yW146XSpcenNmcm9tIiBWSU0gZG9lcyBub3QgbWF0Y2ggImZvciIgYW55bW9yZSwgc28KKyIgSSB1c2VkIHRoZSBzbG93ZXIgIlxAPD0iIGZvcm0KK3N5biBtYXRjaCAgIHB5cmV4Rm9yRnJvbSAgICAgICAgIlwoZm9yW146XSpcKVxAPD1mcm9tIgorCisiIERlZmF1bHQgaGlnaGxpZ2h0aW5nCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHlyZXhfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcHlyZXhfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKyAgSGlMaW5rIHB5cmV4U3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHB5cmV4VHlwZQkJVHlwZQorICBIaUxpbmsgcHlyZXhTdHJ1Y3R1cmUJCVN0cnVjdHVyZQorICBIaUxpbmsgcHlyZXhQcmVjb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgcHlyZXhBY2Nlc3MJCXB5cmV4U3RhdGVtZW50CisgIGlmIGV4aXN0cygicHl0aG9uX2hpZ2hsaWdodF9idWlsdGlucyIpIHx8IGV4aXN0cygicHlyZXhfaGlnaGxpZ2h0X2J1aWx0aW5zIikKKyAgICAgIEhpTGluayBweXJleEJ1aWx0aW4JRnVuY3Rpb24KKyAgZW5kaWYKKyAgSGlMaW5rIHB5cmV4Rm9yRnJvbQkJU3RhdGVtZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInB5cmV4IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcHl0aG9uLnZpbSBiL3J1bnRpbWUvc3ludGF4L3B5dGhvbi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTczZGZhNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3B5dGhvbi52aW0KQEAgLTAsMCArMSwxNzEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglQeXRob24KKyIgTWFpbnRhaW5lcjoJTmVpbCBTY2hlbWVuYXVlciA8bmFzQHB5dGhvbi5jYT4KKyIgVXBkYXRlZDoJMjAwMi0xMC0xOAorIgorIiBPcHRpb25zIHRvIGNvbnRyb2wgUHl0aG9uIHN5bnRheCBoaWdobGlnaHRpbmc6CisiCisiIEZvciBoaWdobGlnaHRlZCBudW1iZXJzOgorIgorIiAgICBsZXQgcHl0aG9uX2hpZ2hsaWdodF9udW1iZXJzID0gMQorIgorIiBGb3IgaGlnaGxpZ2h0ZWQgYnVpbHRpbiBmdW5jdGlvbnM6CisiCisiICAgIGxldCBweXRob25faGlnaGxpZ2h0X2J1aWx0aW5zID0gMQorIgorIiBGb3IgaGlnaGxpZ2h0ZWQgc3RhbmRhcmQgZXhjZXB0aW9uczoKKyIKKyIgICAgbGV0IHB5dGhvbl9oaWdobGlnaHRfZXhjZXB0aW9ucyA9IDEKKyIKKyIgSGlnaGxpZ2h0IGVycm9uZW91cyB3aGl0ZXNwYWNlOgorIgorIiAgICBsZXQgcHl0aG9uX2hpZ2hsaWdodF9zcGFjZV9lcnJvcnMgPSAxCisiCisiIElmIHlvdSB3YW50IGFsbCBwb3NzaWJsZSBQeXRob24gaGlnaGxpZ2h0aW5nICh0aGUgc2FtZSBhcyBzZXR0aW5nIHRoZQorIiBwcmVjZWRpbmcgb3B0aW9ucyk6CisiCisiICAgIGxldCBweXRob25faGlnaGxpZ2h0X2FsbCA9IDEKKyIKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisKK3N5biBrZXl3b3JkIHB5dGhvblN0YXRlbWVudAlicmVhayBjb250aW51ZSBkZWwKK3N5biBrZXl3b3JkIHB5dGhvblN0YXRlbWVudAlleGNlcHQgZXhlYyBmaW5hbGx5CitzeW4ga2V5d29yZCBweXRob25TdGF0ZW1lbnQJcGFzcyBwcmludCByYWlzZQorc3luIGtleXdvcmQgcHl0aG9uU3RhdGVtZW50CXJldHVybiB0cnkKK3N5biBrZXl3b3JkIHB5dGhvblN0YXRlbWVudAlnbG9iYWwgYXNzZXJ0CitzeW4ga2V5d29yZCBweXRob25TdGF0ZW1lbnQJbGFtYmRhIHlpZWxkCitzeW4ga2V5d29yZCBweXRob25TdGF0ZW1lbnQJZGVmIGNsYXNzIG5leHRncm91cD1weXRob25GdW5jdGlvbiBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHB5dGhvbkZ1bmN0aW9uCSJbYS16QS1aX11bYS16QS1aMC05X10qIiBjb250YWluZWQKK3N5biBrZXl3b3JkIHB5dGhvblJlcGVhdAlmb3Igd2hpbGUKK3N5biBrZXl3b3JkIHB5dGhvbkNvbmRpdGlvbmFsCWlmIGVsaWYgZWxzZQorc3luIGtleXdvcmQgcHl0aG9uT3BlcmF0b3IJYW5kIGluIGlzIG5vdCBvcgorc3luIGtleXdvcmQgcHl0aG9uUHJlQ29uZGl0CWltcG9ydCBmcm9tCitzeW4gbWF0Y2ggICBweXRob25Db21tZW50CSIjLiokIiBjb250YWlucz1weXRob25Ub2RvCitzeW4ga2V5d29yZCBweXRob25Ub2RvCQlUT0RPIEZJWE1FIFhYWCBjb250YWluZWQKKworIiBzdHJpbmdzCitzeW4gcmVnaW9uIHB5dGhvblN0cmluZwkJbWF0Y2hncm91cD1Ob3JtYWwgc3RhcnQ9K1t1VV1cPScrIGVuZD0rJysgc2tpcD0rXFxcXFx8XFwnKyBjb250YWlucz1weXRob25Fc2NhcGUKK3N5biByZWdpb24gcHl0aG9uU3RyaW5nCQltYXRjaGdyb3VwPU5vcm1hbCBzdGFydD0rW3VVXVw9IisgZW5kPSsiKyBza2lwPStcXFxcXHxcXCIrIGNvbnRhaW5zPXB5dGhvbkVzY2FwZQorc3luIHJlZ2lvbiBweXRob25TdHJpbmcJCW1hdGNoZ3JvdXA9Tm9ybWFsIHN0YXJ0PStbdVVdXD0iIiIrIGVuZD0rIiIiKyBjb250YWlucz1weXRob25Fc2NhcGUKK3N5biByZWdpb24gcHl0aG9uU3RyaW5nCQltYXRjaGdyb3VwPU5vcm1hbCBzdGFydD0rW3VVXVw9JycnKyBlbmQ9KycnJysgY29udGFpbnM9cHl0aG9uRXNjYXBlCitzeW4gcmVnaW9uIHB5dGhvblJhd1N0cmluZwltYXRjaGdyb3VwPU5vcm1hbCBzdGFydD0rW3VVXVw9W3JSXScrIGVuZD0rJysgc2tpcD0rXFxcXFx8XFwnKworc3luIHJlZ2lvbiBweXRob25SYXdTdHJpbmcJbWF0Y2hncm91cD1Ob3JtYWwgc3RhcnQ9K1t1VV1cPVtyUl0iKyBlbmQ9KyIrIHNraXA9K1xcXFxcfFxcIisKK3N5biByZWdpb24gcHl0aG9uUmF3U3RyaW5nCW1hdGNoZ3JvdXA9Tm9ybWFsIHN0YXJ0PStbdVVdXD1bclJdIiIiKyBlbmQ9KyIiIisKK3N5biByZWdpb24gcHl0aG9uUmF3U3RyaW5nCW1hdGNoZ3JvdXA9Tm9ybWFsIHN0YXJ0PStbdVVdXD1bclJdJycnKyBlbmQ9KycnJysKK3N5biBtYXRjaCAgcHl0aG9uRXNjYXBlCQkrXFxbYWJmbnJ0diciXFxdKyBjb250YWluZWQKK3N5biBtYXRjaCAgcHl0aG9uRXNjYXBlCQkiXFxcb1x7MSwzfSIgY29udGFpbmVkCitzeW4gbWF0Y2ggIHB5dGhvbkVzY2FwZQkJIlxceFx4XHsyfSIgY29udGFpbmVkCitzeW4gbWF0Y2ggIHB5dGhvbkVzY2FwZQkJIlwoXFx1XHhcezR9XHxcXFVceFx7OH1cKSIgY29udGFpbmVkCitzeW4gbWF0Y2ggIHB5dGhvbkVzY2FwZQkJIlxcJCIKKworaWYgZXhpc3RzKCJweXRob25faGlnaGxpZ2h0X2FsbCIpCisgIGxldCBweXRob25faGlnaGxpZ2h0X251bWJlcnMgPSAxCisgIGxldCBweXRob25faGlnaGxpZ2h0X2J1aWx0aW5zID0gMQorICBsZXQgcHl0aG9uX2hpZ2hsaWdodF9leGNlcHRpb25zID0gMQorICBsZXQgcHl0aG9uX2hpZ2hsaWdodF9zcGFjZV9lcnJvcnMgPSAxCitlbmRpZgorCitpZiBleGlzdHMoInB5dGhvbl9oaWdobGlnaHRfbnVtYmVycyIpCisgICIgbnVtYmVycyAoaW5jbHVkaW5nIGxvbmdzIGFuZCBjb21wbGV4KQorICBzeW4gbWF0Y2ggICBweXRob25OdW1iZXIJIlw8MHhceFwrW0xsXVw9XD4iCisgIHN5biBtYXRjaCAgIHB5dGhvbk51bWJlcgkiXDxcZFwrW0xsakpdXD1cPiIKKyAgc3luIG1hdGNoICAgcHl0aG9uTnVtYmVyCSJcLlxkXCtcKFtlRV1bKy1dXD1cZFwrXClcPVtqSl1cPVw+IgorICBzeW4gbWF0Y2ggICBweXRob25OdW1iZXIJIlw8XGRcK1wuXChbZUVdWystXVw9XGRcK1wpXD1bakpdXD1cPiIKKyAgc3luIG1hdGNoICAgcHl0aG9uTnVtYmVyCSJcPFxkXCtcLlxkXCtcKFtlRV1bKy1dXD1cZFwrXClcPVtqSl1cPVw+IgorZW5kaWYKKworaWYgZXhpc3RzKCJweXRob25faGlnaGxpZ2h0X2J1aWx0aW5zIikKKyAgIiBidWlsdGluIGZ1bmN0aW9ucywgdHlwZXMgYW5kIG9iamVjdHMsIG5vdCByZWFsbHkgcGFydCBvZiB0aGUgc3ludGF4CisgIHN5biBrZXl3b3JkIHB5dGhvbkJ1aWx0aW4JRWxsaXBzaXMgTm9uZSBOb3RJbXBsZW1lbnRlZCBfX2ltcG9ydF9fIGFicworICBzeW4ga2V5d29yZCBweXRob25CdWlsdGluCWFwcGx5IGJ1ZmZlciBjYWxsYWJsZSBjaHIgY2xhc3NtZXRob2QgY21wCisgIHN5biBrZXl3b3JkIHB5dGhvbkJ1aWx0aW4JY29lcmNlIGNvbXBpbGUgY29tcGxleCBkZWxhdHRyIGRpY3QgZGlyIGRpdm1vZAorICBzeW4ga2V5d29yZCBweXRob25CdWlsdGluCWV2YWwgZXhlY2ZpbGUgZmlsZSBmaWx0ZXIgZmxvYXQgZ2V0YXR0ciBnbG9iYWxzCisgIHN5biBrZXl3b3JkIHB5dGhvbkJ1aWx0aW4JaGFzYXR0ciBoYXNoIGhleCBpZCBpbnB1dCBpbnQgaW50ZXJuIGlzaW5zdGFuY2UKKyAgc3luIGtleXdvcmQgcHl0aG9uQnVpbHRpbglpc3N1YmNsYXNzIGl0ZXIgbGVuIGxpc3QgbG9jYWxzIGxvbmcgbWFwIG1heAorICBzeW4ga2V5d29yZCBweXRob25CdWlsdGluCW1pbiBvYmplY3Qgb2N0IG9wZW4gb3JkIHBvdyBwcm9wZXJ0eSByYW5nZQorICBzeW4ga2V5d29yZCBweXRob25CdWlsdGluCXJhd19pbnB1dCByZWR1Y2UgcmVsb2FkIHJlcHIgcm91bmQgc2V0YXR0cgorICBzeW4ga2V5d29yZCBweXRob25CdWlsdGluCXNsaWNlIHN0YXRpY21ldGhvZCBzdHIgc3VwZXIgdHVwbGUgdHlwZSB1bmljaHIKKyAgc3luIGtleXdvcmQgcHl0aG9uQnVpbHRpbgl1bmljb2RlIHZhcnMgeHJhbmdlIHppcAorZW5kaWYKKworaWYgZXhpc3RzKCJweXRob25faGlnaGxpZ2h0X2V4Y2VwdGlvbnMiKQorICAiIGJ1aWx0aW4gZXhjZXB0aW9ucyBhbmQgd2FybmluZ3MKKyAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uCUFyaXRobWV0aWNFcnJvciBBc3NlcnRpb25FcnJvciBBdHRyaWJ1dGVFcnJvcgorICBzeW4ga2V5d29yZCBweXRob25FeGNlcHRpb24JRGVwcmVjYXRpb25XYXJuaW5nIEVPRkVycm9yIEVudmlyb25tZW50RXJyb3IKKyAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uCUV4Y2VwdGlvbiBGbG9hdGluZ1BvaW50RXJyb3IgSU9FcnJvcgorICBzeW4ga2V5d29yZCBweXRob25FeGNlcHRpb24JSW1wb3J0RXJyb3IgSW5kZW50YXRpb25FcnJvciBJbmRleEVycm9yCisgIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbglLZXlFcnJvciBLZXlib2FyZEludGVycnVwdCBMb29rdXBFcnJvcgorICBzeW4ga2V5d29yZCBweXRob25FeGNlcHRpb24JTWVtb3J5RXJyb3IgTmFtZUVycm9yIE5vdEltcGxlbWVudGVkRXJyb3IKKyAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uCU9TRXJyb3IgT3ZlcmZsb3dFcnJvciBPdmVyZmxvd1dhcm5pbmcKKyAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uCVJlZmVyZW5jZUVycm9yIFJ1bnRpbWVFcnJvciBSdW50aW1lV2FybmluZworICBzeW4ga2V5d29yZCBweXRob25FeGNlcHRpb24JU3RhbmRhcmRFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yCisgIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbglTeW50YXhXYXJuaW5nIFN5c3RlbUVycm9yIFN5c3RlbUV4aXQgVGFiRXJyb3IKKyAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uCVR5cGVFcnJvciBVbmJvdW5kTG9jYWxFcnJvciBVbmljb2RlRXJyb3IKKyAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uCVVzZXJXYXJuaW5nIFZhbHVlRXJyb3IgV2FybmluZyBXaW5kb3dzRXJyb3IKKyAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uCVplcm9EaXZpc2lvbkVycm9yCitlbmRpZgorCitpZiBleGlzdHMoInB5dGhvbl9oaWdobGlnaHRfc3BhY2VfZXJyb3JzIikKKyAgIiB0cmFpbGluZyB3aGl0ZXNwYWNlCisgIHN5biBtYXRjaCAgIHB5dGhvblNwYWNlRXJyb3IgICBkaXNwbGF5IGV4Y2x1ZGVubCAiXFNcc1wrJCJtcz1zKzEKKyAgIiBtaXhlZCB0YWJzIGFuZCBzcGFjZXMKKyAgc3luIG1hdGNoICAgcHl0aG9uU3BhY2VFcnJvciAgIGRpc3BsYXkgIiBcK1x0IgorICBzeW4gbWF0Y2ggICBweXRob25TcGFjZUVycm9yICAgZGlzcGxheSAiXHRcKyAiCitlbmRpZgorCisiIFRoaXMgaXMgZmFzdCBidXQgY29kZSBpbnNpZGUgdHJpcGxlIHF1b3RlZCBzdHJpbmdzIHNjcmV3cyBpdCB1cC4gSXQKKyIgaXMgaW1wb3NzaWJsZSB0byBmaXggYmVjYXVzZSB0aGUgb25seSB3YXkgdG8ga25vdyBpZiB5b3UgYXJlIGluc2lkZSBhCisiIHRyaXBsZSBxdW90ZWQgc3RyaW5nIGlzIHRvIHN0YXJ0IGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZS4gSWYKKyIgeW91IGhhdmUgYSBmYXN0IG1hY2hpbmUgeW91IGNhbiB0cnkgdW5jb21tZW50aW5nIHRoZSAic3luYyBtaW5saW5lcyIKKyIgYW5kIGNvbW1lbnRpbmcgb3V0IHRoZSByZXN0Lgorc3luIHN5bmMgbWF0Y2ggcHl0aG9uU3luYyBncm91cGhlcmUgTk9ORSAiKTokIgorc3luIHN5bmMgbWF4bGluZXM9MjAwCisic3luIHN5bmMgbWlubGluZXM9MjAwMAorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHl0aG9uX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPD0gNTA4CisgICAgbGV0IGRpZF9weXRob25fc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCisgIEhpTGluayBweXRob25TdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBweXRob25GdW5jdGlvbgkJRnVuY3Rpb24KKyAgSGlMaW5rIHB5dGhvbkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisgIEhpTGluayBweXRob25SZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgcHl0aG9uU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHB5dGhvblJhd1N0cmluZwlTdHJpbmcKKyAgSGlMaW5rIHB5dGhvbkVzY2FwZQkJU3BlY2lhbAorICBIaUxpbmsgcHl0aG9uT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayBweXRob25QcmVDb25kaXQJUHJlQ29uZGl0CisgIEhpTGluayBweXRob25Db21tZW50CQlDb21tZW50CisgIEhpTGluayBweXRob25Ub2RvCQlUb2RvCisgIGlmIGV4aXN0cygicHl0aG9uX2hpZ2hsaWdodF9udW1iZXJzIikKKyAgICBIaUxpbmsgcHl0aG9uTnVtYmVyCU51bWJlcgorICBlbmRpZgorICBpZiBleGlzdHMoInB5dGhvbl9oaWdobGlnaHRfYnVpbHRpbnMiKQorICAgIEhpTGluayBweXRob25CdWlsdGluCUZ1bmN0aW9uCisgIGVuZGlmCisgIGlmIGV4aXN0cygicHl0aG9uX2hpZ2hsaWdodF9leGNlcHRpb25zIikKKyAgICBIaUxpbmsgcHl0aG9uRXhjZXB0aW9uCUV4Y2VwdGlvbgorICBlbmRpZgorICBpZiBleGlzdHMoInB5dGhvbl9oaWdobGlnaHRfc3BhY2VfZXJyb3JzIikKKyAgICBIaUxpbmsgcHl0aG9uU3BhY2VFcnJvcglFcnJvcgorICBlbmRpZgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJweXRob24iCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9xZi52aW0gYi9ydW50aW1lL3N5bnRheC9xZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM5ODdhOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3FmLnZpbQpAQCAtMCwwICsxLDI0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUXVpY2tmaXggd2luZG93CisiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+CisiIExhc3QgY2hhbmdlOgkyMDAxIEphbiAxNQorCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEEgYnVuY2ggb2YgdXNlZnVsIEMga2V5d29yZHMKK3N5biBtYXRjaAlxZkZpbGVOYW1lCSJeW158XSoiIG5leHRncm91cD1xZlNlcGFyYXRvcgorc3luIG1hdGNoCXFmU2VwYXJhdG9yCSJ8IiBuZXh0Z3JvdXA9cWZMaW5lTnIgY29udGFpbmVkCitzeW4gbWF0Y2gJcWZMaW5lTnIJIltefF0qIiBjb250YWluZWQgY29udGFpbnM9cWZFcnJvcgorc3luIG1hdGNoCXFmRXJyb3IJCSJlcnJvciIgY29udGFpbmVkCisKKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgoraGkgZGVmIGxpbmsgcWZGaWxlTmFtZQlEaXJlY3RvcnkKK2hpIGRlZiBsaW5rIHFmTGluZU5yCUxpbmVOcgoraGkgZGVmIGxpbmsgcWZFcnJvcglFcnJvcgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJxZiIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3F1YWtlLnZpbSBiL3J1bnRpbWUvc3ludGF4L3F1YWtlLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWU4YzcxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcXVha2UudmltCkBAIC0wLDAgKzEsMTYyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIFF1YWtlWzEtM10gQ29uZmlndXJhdGlvbiBGaWxlCisiIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgorIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL3F1YWtlLworIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCisiIGFyY2gtdGFnOgkgICAgYTk1NzkzZDctY2FiMy00NTQ0LWE3OGMtMWNlYTQ3YjU4NzBiCisiIFZhcmlhYmxlczogCXF1YWtlX2lzX3F1YWtlMSAtIHRoZSBzeW50YXggaXMgdG8gYmUgdXNlZCBmb3IgcXVha2UxIGNvbmZpZ3MKKyIgCQlxdWFrZV9pc19xdWFrZTIgLSB0aGUgc3ludGF4IGlzIHRvIGJlIHVzZWQgZm9yIHF1YWtlMiBjb25maWdzCisiIAkJcXVha2VfaXNfcXVha2UzIC0gdGhlIHN5bnRheCBpcyB0byBiZSB1c2VkIGZvciBxdWFrZTMgY29uZmlncworCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisKKyIgU2V0IGlza2V5d29yZCBzaW5jZSB3ZSBuZWVkIGAtJyAoYW5kIHBvdGVudGlhbGx5IG90aGVycykgaW4ga2V5d29yZHMuCisiIEZvciB2ZXJzaW9uIDUueDogU2V0IGl0IGdsb2JhbGx5CisiIEZvciB2ZXJzaW9uIDYueDogU2V0IGl0IGxvY2FsbHkKK2lmIHZlcnNpb24gPj0gNjAwCisgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldGxvY2FsIGlza2V5d29yZD08YXJncz4KK2Vsc2UKKyAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0IGlza2V5d29yZD08YXJncz4KK2VuZGlmCitTZXRJc2sgNDgtNTcsNjUtOTAsOTctMTIyLCssLSxfCitkZWxjb21tYW5kIFNldElzaworCisKKyIgY29tbWVudHMKK3N5biByZWdpb24JcXVha2VDb21tZW50CWRpc3BsYXkgb25lbGluZSBzdGFydD0iLy8iIGVuZD0iJCIgZW5kPSI7IiBrZWVwZW5kIGNvbnRhaW5zPXF1YWtlVG9kbworCisiIHRvZG8KK3N5biBrZXl3b3JkCXF1YWtlVG9kbwljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIHN0cmluZyAoY2FuIGNvbnRhaW4gbnVtYmVycyAod2hpY2ggc2hvdWxkIGJlIGhpbGlnaHRlZCBhcyBzdWNoKQorc3luIHJlZ2lvbglxdWFrZVN0cmluZwlkaXNwbGF5IG9uZWxpbmUgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiXHwkKyBjb250YWlucz1xdWFrZU51bWJlcnMsQHF1YWtlQ29tbWFuZHMKKworIiBudW1iZXIKK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoCXF1YWtlTnVtYmVycwlkaXNwbGF5IHRyYW5zcGFyZW50ICJcPFxkXHxcLlxkIiBjb250YWlucz1xdWFrZU51bWJlcixxdWFrZUZsb2F0LHF1YWtlT2N0YWxFcnJvcixxdWFrZU9jdGFsCitzeW4gbWF0Y2gJcXVha2VOdW1iZXIJZGlzcGxheSBjb250YWluZWQgIlxkXCtcPiIKKyIgRmxhZyB0aGUgZmlyc3QgemVybyBvZiBhbiBvY3RhbCBudW1iZXIgYXMgc29tZXRoaW5nIHNwZWNpYWwKK3N5biBtYXRjaAlxdWFrZU9jdGFsCWRpc3BsYXkgY29udGFpbmVkICIwXG9cK1w+IiBjb250YWlucz1xdWFrZU9jdGFsWmVybworc3luIG1hdGNoCXF1YWtlT2N0YWxaZXJvCWRpc3BsYXkgY29udGFpbmVkICJcPDAiCisiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QKK3N5biBtYXRjaAlxdWFrZUZsb2F0CWRpc3BsYXkgY29udGFpbmVkICJcZFwrXC5cZCoiCisiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdAorc3luIG1hdGNoCXF1YWtlRmxvYXQJZGlzcGxheSBjb250YWluZWQgIlwuXGRcK1w+IgorIiBmbGFnIGFuIG9jdGFsIG51bWJlciB3aXRoIHdyb25nIGRpZ2l0cworc3luIG1hdGNoCXF1YWtlT2N0YWxFcnJvcglkaXNwbGF5IGNvbnRhaW5lZCAiMFxvKls4OV1cZCoiCitzeW4gY2FzZSBtYXRjaAorCisiIGNvbW1hbmRzCitzeW4gY2FzZSBpZ25vcmUKK3N5biBjbHVzdGVyCXF1YWtlQ29tbWFuZHMJY29udGFpbnM9cXVha2VDb21tYW5kLHF1YWtlMUNvbW1hbmQscXVha2UxMkNvbW1hbmQsUXVha2UyQ29tbWFuZCxRdWFrZTIzQ29tbWFuZCxRdWFrZTNDb21tYW5kCisKK3N5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAkrYXR0YWNrICtiYWNrICtmb3J3YXJkICtsZWZ0ICtsb29rZG93biArbG9va3VwCitzeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJK21sb29rICttb3ZlZG93biArbW92ZWxlZnQgK21vdmVyaWdodCArbW92ZXVwCitzeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJK3JpZ2h0ICtzcGVlZCArc3RyYWZlIC1hdHRhY2sgLWJhY2sgYmluZAorc3luIGtleXdvcmQJcXVha2VDb21tYW5kCWJpbmRsaXN0IGNlbnRlcnZpZXcgY2xlYXIgY29ubmVjdCBjdmFybGlzdCBkaXIKK3N5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAlkaXNjb25uZWN0IGR1bXB1c2VyIGVjaG8gZXJyb3IgZXhlYyAtZm9yd2FyZAorc3luIGtleXdvcmQJcXVha2VDb21tYW5kCWdvZCBoZWFydGJlYXQgam95X2FkdmFuY2VkdXBkYXRlIGtpY2sga2lsbAorc3luIGtleXdvcmQJcXVha2VDb21tYW5kCWtpbGxzZXJ2ZXIgLWxlZnQgLWxvb2tkb3duIC1sb29rdXAgbWFwCitzeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJbWVzc2FnZW1vZGUgbWVzc2FnZW1vZGUyIC1tbG9vayBtb2RlbGxpc3QKK3N5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAktbW92ZWRvd24gLW1vdmVsZWZ0IC1tb3ZlcmlnaHQgLW1vdmV1cCBwbGF5CitzeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJcXVpdCByY29uIHJlY29ubmVjdCByZWNvcmQgLXJpZ2h0IHNheSBzYXlfdGVhbQorc3luIGtleXdvcmQJcXVha2VDb21tYW5kCXNjcmVlbnNob3Qgc2VydmVyaW5mbyBzZXJ2ZXJyZWNvcmQgc2VydmVyc3RvcAorc3luIGtleXdvcmQJcXVha2VDb21tYW5kCXNldCBzaXplZG93biBzaXpldXAgc25kX3Jlc3RhcnQgc291bmRpbmZvCitzeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJc291bmRsaXN0IC1zcGVlZCBzcG1hcCBzdGF0dXMgLXN0cmFmZSBzdG9wc291bmQKK3N5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAl0b2dnbGVjb25zb2xlIHVuYmluZCB1bmJpbmRhbGwgdXNlcmluZm8gcGF1c2UKK3N5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAl2aWRfcmVzdGFydCB2aWV3cG9zIHdhaXQgd2VhcG5leHQgd2VhcHByZXYKKworaWYgZXhpc3RzKCJxdWFrZV9pc19xdWFrZTEiKQorc3luIGtleXdvcmQJcXVha2UxQ29tbWFuZAlzdgorZW5kaWYKKworaWYgZXhpc3RzKCJxdWFrZV9pc19xdWFrZTEiKSB8fCBleGlzdHMoInF1YWtlX2lzX3F1YWtlMiIpCitzeW4ga2V5d29yZAlxdWFrZTEyQ29tbWFuZAkra2xvb2sgYWxpYXMgY2QgaW1wdWxzZSBsaW5rIGxvYWQgc2F2ZQorc3luIGtleXdvcmQJcXVha2UxMkNvbW1hbmQJdGltZXJlZnJlc2ggY2hhbmdpbmcgaW5mbyBsb2FkaW5nCitzeW4ga2V5d29yZAlxdWFrZTEyQ29tbWFuZAlwaW5nc2VydmVycyBwbGF5ZXJsaXN0IHBsYXllcnMgc2NvcmUKK2VuZGlmCisKK2lmIGV4aXN0cygicXVha2VfaXNfcXVha2UyIikKK3N5biBrZXl3b3JkCXF1YWtlMkNvbW1hbmQJY21kIGRlbW9tYXAgK3VzZSBjb25kdW1wIGRvd25sb2FkIGRyb3AgZ2FtZW1hcAorc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAlnaXZlIGd1bl9tb2RlbCBzZXRtYXN0ZXIgc2t5IHN2X21hcGxpc3Qgd2F2ZQorc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAljbWRsaXN0IGdhbWV2ZXJzaW9uYSBndW5fbmV4dCBndW5fcHJldiBpbnZkcm9wCitzeW4ga2V5d29yZAlxdWFrZTJDb21tYW5kCWludmVuIGludm5leHQgaW52bmV4dHAgaW52bmV4dHcgaW52cHJldgorc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAlpbnZwcmV2cCBpbnZwcmV2dyBpbnZ1c2UgbWVudV9hZGRyZXNzYm9vaworc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAltZW51X2NyZWRpdHMgbWVudV9kbW9wdGlvbnMgbWVudV9nYW1lCitzeW4ga2V5d29yZAlxdWFrZTJDb21tYW5kCW1lbnVfam9pbnNlcnZlciBtZW51X2tleXMgbWVudV9sb2FkZ2FtZQorc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAltZW51X21haW4gbWVudV9tdWx0aXBsYXllciBtZW51X29wdGlvbnMKK3N5biBrZXl3b3JkCXF1YWtlMkNvbW1hbmQJbWVudV9wbGF5ZXJjb25maWcgbWVudV9xdWl0IG1lbnVfc2F2ZWdhbWUKK3N5biBrZXl3b3JkCXF1YWtlMkNvbW1hbmQJbWVudV9zdGFydHNlcnZlciBtZW51X3ZpZGVvCitzeW4ga2V5d29yZAlxdWFrZTJDb21tYW5kCW5vdGFyZ2V0IHByZWNhY2hlIHByb2cgdG9nZ2xlY2hhdCB2aWRfZnJvbnQKK3N5biBrZXl3b3JkCXF1YWtlMkNvbW1hbmQJd2VhcGxhc3QKK2VuZGlmCisKK2lmIGV4aXN0cygicXVha2VfaXNfcXVha2UyIikgfHwgZXhpc3RzKCJxdWFrZV9pc19xdWFrZTMiKQorc3luIGtleXdvcmQJcXVha2UyM0NvbW1hbmQJaW1hZ2VsaXN0IG1vZGVsbGlzdCBwYXRoIHpfc3RhdHMKK2VuZGlmCisKK2lmIGV4aXN0cygicXVha2VfaXNfcXVha2UzIikKK3N5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJK2luZm8gK3Njb3JlcyArem9vbSBhZGRib3QgYXJlbmEgYmFuQ2xpZW50CitzeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCWJhblVzZXIgY2FsbHRlYW12b3RlIGNhbGx2b3RlIGNoYW5nZVZlY3RvcnMKK3N5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJY2luZW1hdGljIGNsaWVudGluZm8gY2xpZW50a2ljayBjbWQgY21kbGlzdAorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAljb25kdW1wIGNvbmZpZ3N0cmluZ3MgY3Jhc2ggY3Zhcl9yZXN0YXJ0IGRldm1hcAorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlmZGlyIGZvbGxvdyBmcmVlemUgZnNfb3BlbmVkTGlzdCBGc19wdXJlTGlzdAorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlGc19yZWZlcmVuY2VkTGlzdCBnZnhpbmZvIGdsb2JhbHNlcnZlcnMKK3N5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJaHVua19zdGF0cyBpbl9yZXN0YXJ0IC1pbmZvIGxldmVsc2hvdAorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlsb2FkZGVmZXJyZWQgbG9jYWxzZXJ2ZXJzIG1hcF9yZXN0YXJ0IG1lbV9pbmZvCitzeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCW1lc3NhZ2Vtb2RlMyBtZXNzYWdlbW9kZTQgbWlkaWluZm8gbW9kZWwgbXVzaWMKK3N5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJbW9kZWxpc3QgbmV0X3Jlc3RhcnQgbmV4dGZyYW1lIG5leHRza2luIG5vY2xpcAorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlub3RhcmdldCBwaW5nIHByZXZmcmFtZSBwcmV2c2tpbiByZXNldCByZXN0YXJ0CitzeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCXNfZGlzYWJsZV9hM2Qgc19lbmFibGVfYTNkIHNfaW5mbyBzX2xpc3Qgc19zdG9wCitzeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCXNjYW5zZXJ2ZXJzIC1zY29yZXMgc2NyZWVuc2hvdEpQRUcgc2VjdG9ybGlzdAorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlzZXJ2ZXJzdGF0dXMgc2V0YSBzZXRlbnYgc2V0cyBzZXR1IHNldHZpZXdwb3MKK3N5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJc2hhZGVybGlzdCBzaG93aXAgc2tpbmxpc3Qgc3BkZXZtYXAgc3RhcnRPcmlidAorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlzdGF0cyBzdG9wZGVtbyBzdG9wcmVjb3JkIHN5c3RlbWluZm8gdG9nZ2xlbWVudQorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAl0Y21kIHRlYW0gdGVhbXRhc2sgdGVhbXZvdGUgdGVsbCB0ZWxsX2F0dGFja2VyCitzeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCXRlbGxfdGFyZ2V0IHRlc3RndW4gdGVzdG1vZGVsIHRlc3RzaGFkZXIgdG9nZ2xlCitzeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCXRvdWNoRmlsZSB2bWluZm8gdm1wcm9maWxlIHZtdGVzdCB2b3NheQorc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAl2b3NheV90ZWFtIHZvdGUgdm90ZWxsIHZzYXkgdnNheV90ZWFtIHZzdHIKK3N5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJdnRhdW50IHZ0ZWxsIHZ0ZWxsX2F0dGFja2VyIHZ0ZWxsX3RhcmdldCB3ZWFwb24KK3N5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJd3JpdGVjb25maWcgLXpvb20KK3N5biBtYXRjaAlxdWFrZTNDb21tYW5kCWRpc3BsYXkgIlw8WystXWJ1dHRvblwoXGRcfDFbMC00XVwpXD4iCitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zY3JlZW5fc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc2NyZWVuX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHF1YWtlQ29tbWVudCAJQ29tbWVudAorICBIaUxpbmsgcXVha2VUb2RvIAlUb2RvCisgIEhpTGluayBxdWFrZVN0cmluZyAJU3RyaW5nCisgIEhpTGluayBxdWFrZU51bWJlcglOdW1iZXIKKyAgSGlMaW5rIHF1YWtlT2N0YWwJTnVtYmVyCisgIEhpTGluayBxdWFrZU9jdGFsWmVybwlOdW1iZXIKKyAgSGlMaW5rIHF1YWtlRmxvYXQJTnVtYmVyCisgIEhpTGluayBxdWFrZU9jdGFsRXJyb3IJRXJyb3IKKyAgSGlMaW5rIHF1YWtlQ29tbWFuZAlxdWFrZUNvbW1hbmRzCisgIEhpTGluayBxdWFrZTFDb21tYW5kCXF1YWtlQ29tbWFuZHMKKyAgSGlMaW5rIHF1YWtlMTJDb21tYW5kCXF1YWtlQ29tbWFuZHMKKyAgSGlMaW5rIHF1YWtlMkNvbW1hbmQJcXVha2VDb21tYW5kcworICBIaUxpbmsgcXVha2UyM0NvbW1hbmQJcXVha2VDb21tYW5kcworICBIaUxpbmsgcXVha2UzQ29tbWFuZAlxdWFrZUNvbW1hbmRzCisgIEhpTGluayBxdWFrZUNvbW1hbmRzCUtleXdvcmQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvci52aW0gYi9ydW50aW1lL3N5bnRheC9yLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmVjY2E0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvci52aW0KQEAgLTAsMCArMSwxMDQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglSIChHTlUgUykKKyIgTWFpbnRhaW5lcjoJVG9tIFBheW5lIDx0b21AdG9tcGF5bmUub3JnPgorIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIEZpbGVuYW1lczoJKi5yCisiIFVSTDoJCWh0dHA6Ly93d3cudG9tcGF5bmUub3JnL3ZpbS9zeW50YXgvci52aW0KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitpZiB2ZXJzaW9uID49IDYwMAorICBzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC4KK2Vsc2UKKyAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sLgorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKKworIiBDb21tZW50CitzeW4gbWF0Y2ggckNvbW1lbnQgL1wjLiovCisKKyIgQ29uc3RhbnQKKyIgc3RyaW5nIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMKK3N5biByZWdpb24gclN0cmluZyBzdGFydD0vIi8gc2tpcD0vXFxcXFx8XFwiLyBlbmQ9LyIvCisiIHN0cmluZyBlbmNsb3NlZCBpbiBzaW5nbGUgcXVvdGVzCitzeW4gcmVnaW9uIHJTdHJpbmcgc3RhcnQ9LycvIHNraXA9L1xcXFxcfFxcJy8gZW5kPS8nLworIiBudW1iZXIgd2l0aCBubyBmcmFjdGlvbmFsIHBhcnQgb3IgZXhwb25lbnQKK3N5biBtYXRjaCByTnVtYmVyIC9cZFwrLworIiBmbG9hdGluZyBwb2ludCBudW1iZXIgd2l0aCBpbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIHBhcnRzIGFuZCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoIHJGbG9hdCAvXGRcK1wuXGQqXChbRWVdWy0rXVw9XGRcK1wpXD0vCisiIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRoIG5vIGludGVnZXIgcGFydCBhbmQgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCByRmxvYXQgL1wuXGRcK1woW0VlXVstK11cPVxkXCtcKVw9LworIiBmbG9hdGluZyBwb2ludCBudW1iZXIgd2l0aCBubyBmcmFjdGlvbmFsIHBhcnQgYW5kIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggckZsb2F0IC9cZFwrW0VlXVstK11cPVxkXCsvCisKKyIgSWRlbnRpZmllcgorIiBpZGVudGlmaWVyIHdpdGggbGVhZGluZyBsZXR0ZXIgYW5kIG9wdGlvbmFsIGZvbGxvd2luZyBrZXl3b3JkIGNoYXJhY3RlcnMKK3N5biBtYXRjaCBySWRlbnRpZmllciAvXGFcayovCisiIGlkZW50aWZpZXIgd2l0aCBsZWFkaW5nIHBlcmlvZCwgb25lIG9yIG1vcmUgZGlnaXRzLCBhbmQgYXQgbGVhc3Qgb25lIG5vbi1kaWdpdCBrZXl3b3JkIGNoYXJhY3Rlcgorc3luIG1hdGNoIHJJZGVudGlmaWVyIC9cLlxkKlxLXGsqLworCisiIFN0YXRlbWVudAorc3luIGtleXdvcmQgclN0YXRlbWVudCAgIGJyZWFrIG5leHQgcmV0dXJuCitzeW4ga2V5d29yZCByQ29uZGl0aW9uYWwgaWYgZWxzZQorc3luIGtleXdvcmQgclJlcGVhdCAgICAgIGZvciBpbiByZXBlYXQgd2hpbGUKKworIiBDb25zdGFudAorc3luIGtleXdvcmQgckNvbnN0YW50IExFVFRFUlMgbGV0dGVycyBtb250aC5hYiBtb250aC5uYW1lIHBpCitzeW4ga2V5d29yZCByQ29uc3RhbnQgTlVMTAorc3luIGtleXdvcmQgckJvb2xlYW4gIEZBTFNFIFRSVUUKK3N5biBrZXl3b3JkIHJOdW1iZXIgICBOQQorCisiIFR5cGUKK3N5biBrZXl3b3JkIHJUeXBlIGFycmF5IGNhdGVnb3J5IGNoYXJhY3RlciBjb21wbGV4IGRvdWJsZSBmdW5jdGlvbiBpbnRlZ2VyIGxpc3QgbG9naWNhbCBtYXRyaXggbnVtZXJpYyB2ZWN0b3IKKworIiBTcGVjaWFsCitzeW4gbWF0Y2ggckRlbGltaXRlciAvWyw7Ol0vCisKKyIgRXJyb3IKK3N5biByZWdpb24gclJlZ2lvbiBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0vKC8gbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPS8pLyB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQsckVycm9yLHJCcmFjZUVycm9yLHJDdXJseUVycm9yCitzeW4gcmVnaW9uIHJSZWdpb24gbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9L3svIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0vfS8gdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULHJFcnJvcixyQnJhY2VFcnJvcixyUGFyZW5FcnJvcgorc3luIHJlZ2lvbiByUmVnaW9uIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PS9cWy8gbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPS9dLyB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQsckVycm9yLHJDdXJseUVycm9yLHJQYXJlbkVycm9yCitzeW4gbWF0Y2ggckVycm9yICAgICAgL1spXF19XS8KK3N5biBtYXRjaCByQnJhY2VFcnJvciAvWyl9XS8gY29udGFpbmVkCitzeW4gbWF0Y2ggckN1cmx5RXJyb3IgL1spXF1dLyBjb250YWluZWQKK3N5biBtYXRjaCByUGFyZW5FcnJvciAvW1xdfV0vIGNvbnRhaW5lZAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3Jfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKyAgSGlMaW5rIHJDb21tZW50ICAgICBDb21tZW50CisgIEhpTGluayByQ29uc3RhbnQgICAgQ29uc3RhbnQKKyAgSGlMaW5rIHJTdHJpbmcgICAgICBTdHJpbmcKKyAgSGlMaW5rIHJOdW1iZXIgICAgICBOdW1iZXIKKyAgSGlMaW5rIHJCb29sZWFuICAgICBCb29sZWFuCisgIEhpTGluayByRmxvYXQgICAgICAgRmxvYXQKKyAgSGlMaW5rIHJTdGF0ZW1lbnQgICBTdGF0ZW1lbnQKKyAgSGlMaW5rIHJDb25kaXRpb25hbCBDb25kaXRpb25hbAorICBIaUxpbmsgclJlcGVhdCAgICAgIFJlcGVhdAorICBIaUxpbmsgcklkZW50aWZpZXIgIElkZW50aWZpZXIKKyAgSGlMaW5rIHJUeXBlCSAgICAgIFR5cGUKKyAgSGlMaW5rIHJEZWxpbWl0ZXIgICBEZWxpbWl0ZXIKKyAgSGlMaW5rIHJFcnJvciAgICAgICBFcnJvcgorICBIaUxpbmsgckJyYWNlRXJyb3IgIEVycm9yCisgIEhpTGluayByQ3VybHlFcnJvciAgRXJyb3IKKyAgSGlMaW5rIHJQYXJlbkVycm9yICBFcnJvcgorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXg9InIiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JhZGlhbmNlLnZpbSBiL3J1bnRpbWUvc3ludGF4L3JhZGlhbmNlLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjFiNzA4Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcmFkaWFuY2UudmltCkBAIC0wLDAgKzEsMTU5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIFJhZGlhbmNlIFNjZW5lIERlc2NyaXB0aW9uCisiIE1haW50YWluZXI6ICAgR2VvcmcgTWlzY2hsZXIgPHNjaG9yc2NoQHNjaG9yc2NoLmNvbT4KKyIgTGFzdCBjaGFuZ2U6ICAyNi4gQXByaWwuIDIwMDEKKworIiBSYWRpYW5jZSBpcyBhIGxpZ2h0aW5nIHNpbXVsYXRpb24gc29mdHdhcmUgcGFja2FnZSB3cml0dGVuCisiIGJ5IEdyZWdvcnkgV2FyZC1MYXJzb24gKCJ0aGUgY29tcHV0ZXIgYXJ0aXN0IGZvcm1lcmx5IGtub3duCisiIGFzIEdyZWcgV2FyZCIpLCB0aGVuIGF0IExCTkwuCisiCisiIGh0dHA6Ly9yYWRzaXRlLmxibC5nb3YvcmFkaWFuY2UvSE9NRS5odG1sCisiCisiIE9mIGNvdXJzZSwgdGhlcmUgaXMgYWxzbyBpbmZvcm1hdGlvbiBhdmFpbGFibGUgYWJvdXQgaXQKKyIgZnJvbSBodHRwOi8vd3d3LnNjaG9yc2NoLmNvbS8KKworCisiIFdlIHRha2UgYSBtaW5pbWFsaXN0IGFwcHJvYWNoIGhlcmUsIGhpZ2hsaWdodGluZyBqdXN0IHRoZQorIiBlc3NlbnRpYWwgcHJvcGVydGllcyBvZiBlYWNoIG9iamVjdCwgaXRzIHR5cGUgYW5kIElELCBhcyB3ZWxsIGFzCisiIGNvbW1lbnRzLCBleHRlcm5hbCBjb21tYW5kIG5hbWVzIGFuZCB0aGUgbnVsbC1tb2RpZmllciAidm9pZCIuCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGFsbCBwcmludGluZyBjaGFyYWN0ZXJzIGV4Y2VwdCAnIycgYW5kICchJyBhcmUgdmFsaWQgaW4gbmFtZXMuCitpZiB2ZXJzaW9uID49IDYwMAorICBzZXRsb2NhbCBpc2tleXdvcmQ9XCIsJC1+CitlbHNlCisgIHNldCBpc2tleXdvcmQ9XCIsJC1+CitlbmRpZgorCisiIFRoZSBudWxsLW1vZGlmaWVyCitzeW4ga2V5d29yZCByYWRpYW5jZUtleXdvcmQgdm9pZAorCisiIFRoZSBkaWZmZXJlbnQga2luZHMgb2Ygc2NlbmUgZGVzY3JpcHRpb24gb2JqZWN0IHR5cGVzCisiIFJlZmVyZW5jZSB0eXBlcworc3luIGtleXdvcmQgcmFkaWFuY2VFeHRyYVR5cGUgY29udGFpbmVkIGFsaWFzIGluc3RhbmNlCisiIFN1cmZhY2UgdHlwZXMKK3N5biBrZXl3b3JkIHJhZGlhbmNlU3VyZlR5cGUgY29udGFpbmVkIHJpbmcgcG9seWdvbiBzcGhlcmUgYnViYmxlCitzeW4ga2V5d29yZCByYWRpYW5jZVN1cmZUeXBlIGNvbnRhaW5lZCBjb25lIGN1cCBjeWxpbmRlciB0dWJlIHNvdXJjZQorIiBFbWl0dGluZyBtYXRlcmlhbCB0eXBlcworc3luIGtleXdvcmQgcmFkaWFuY2VMaWdodFR5cGUgY29udGFpbmVkIGxpZ2h0IGdsb3cgaWxsdW0gc3BvdGxpZ2h0CisiIE1hdGVyaWFsIHR5cGVzCitzeW4ga2V5d29yZCByYWRpYW5jZU1hdFR5cGUgY29udGFpbmVkIG1pcnJvciBtaXN0IHByaXNtMSBwcmlzbTIKK3N5biBrZXl3b3JkIHJhZGlhbmNlTWF0VHlwZSBjb250YWluZWQgbWV0YWwgcGxhc3RpYyB0cmFucworc3luIGtleXdvcmQgcmFkaWFuY2VNYXRUeXBlIGNvbnRhaW5lZCBtZXRhbDIgcGxhc3RpYzIgdHJhbnMyCitzeW4ga2V5d29yZCByYWRpYW5jZU1hdFR5cGUgY29udGFpbmVkIG1ldGZ1bmMgcGxhc2Z1bmMgdHJhbnNmdW5jCitzeW4ga2V5d29yZCByYWRpYW5jZU1hdFR5cGUgY29udGFpbmVkIG1ldGRhdGEgcGxhc2RhdGEgdHJhbnNkYXRhCitzeW4ga2V5d29yZCByYWRpYW5jZU1hdFR5cGUgY29udGFpbmVkIGRpZWxlY3RyaWMgaW50ZXJmYWNlIGdsYXNzCitzeW4ga2V5d29yZCByYWRpYW5jZU1hdFR5cGUgY29udGFpbmVkIEJSVERmdW5jIGFudGltYXR0ZXIKKyIgUGF0dGVybiBtb2RpZmllciB0eXBlcworc3luIGtleXdvcmQgcmFkaWFuY2VQYXRUeXBlIGNvbnRhaW5lZCBjb2xvcmZ1bmMgYnJpZ2h0ZnVuYworc3luIGtleXdvcmQgcmFkaWFuY2VQYXRUeXBlIGNvbnRhaW5lZCBjb2xvcmRhdGEgY29sb3JwaWN0IGJyaWdodGRhdGEKK3N5biBrZXl3b3JkIHJhZGlhbmNlUGF0VHlwZSBjb250YWluZWQgY29sb3J0ZXh0IGJyaWdodHRleHQKKyIgVGV4dHVyZSBtb2RpZmllciB0eXBlcworc3luIGtleXdvcmQgcmFkaWFuY2VUZXhUeXBlIGNvbnRhaW5lZCB0ZXhmdW5jIHRleGRhdGEKKyIgTWl4dHVyZSB0eXBlcworc3luIGtleXdvcmQgcmFkaWFuY2VNaXhUeXBlIGNvbnRhaW5lZCBtaXhmdW5jIG1peGRhdGEgbWl4cGljdCBtaXh0ZXh0CisKKworIiBFYWNoIHR5cGUgbmFtZSBpcyBmb2xsb3dlZCBieSBhbiBJRC4KKyIgVGhpcyBkb2Vzbid0IHdvcmsgY29ycmVjdGx5IGlmIHRoZSBpZCBpcyBvbmUgb2YgdGhlIHR5cGUgbmFtZXMgb2YgdGhlCisiIHNhbWUgY2xhc3MgKHdoaWNoIGlzIGxlZ2FsIGZvciByYWRpYW5jZSksIGluIHdoaWNoIGNhc2UgdGhlIGlkIHdpbGwgZ2V0CisiIHR5cGUgY29sb3IgYXMgd2VsbCwgYW5kIHRoZSBpbnQgY291bnQgKG9yIGFsaWFzIHJlZmVyZW5jZSkgZ2V0cyBpZCBjb2xvci4KKworc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPGFsaWFzXD4iICAgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZUV4dHJhVHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPGluc3RhbmNlXD4iICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZUV4dHJhVHlwZQorCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8c291cmNlXD4iICAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlU3VyZlR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxyaW5nXD4iCSAgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZVN1cmZUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8cG9seWdvblw+IiAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlU3VyZlR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxzcGhlcmVcPiIgICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VTdXJmVHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPGJ1YmJsZVw+IiAgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZVN1cmZUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8Y29uZVw+IgkgICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VTdXJmVHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPGN1cFw+IgkgICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VTdXJmVHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPGN5bGluZGVyXD4iICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZVN1cmZUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8dHViZVw+IgkgICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VTdXJmVHlwZQorCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8bGlnaHRcPiIgICAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlTGlnaHRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8Z2xvd1w+IgkgICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VMaWdodFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxpbGx1bVw+IiAgICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VMaWdodFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxzcG90bGlnaHRcPiIgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VMaWdodFR5cGUKKworc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPG1pcnJvclw+IiAgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1hdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxtaXN0XD4iCSAgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1hdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxwcmlzbTFcPiIgICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VNYXRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8cHJpc20yXD4iICAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlTWF0VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPG1ldGFsXD4iICAgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1hdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxwbGFzdGljXD4iICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VNYXRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8dHJhbnNcPiIgICAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlTWF0VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPG1ldGFsMlw+IiAgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1hdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxwbGFzdGljMlw+IiAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VNYXRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8dHJhbnMyXD4iICAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlTWF0VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPG1ldGZ1bmNcPiIgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1hdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxwbGFzZnVuY1w+IiAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VNYXRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8dHJhbnNmdW5jXD4iICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlTWF0VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPG1ldGRhdGFcPiIgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1hdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxwbGFzZGF0YVw+IiAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VNYXRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8dHJhbnNkYXRhXD4iICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlTWF0VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPGRpZWxlY3RyaWNcPiIgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1hdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxpbnRlcmZhY2VcPiIgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VNYXRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8Z2xhc3NcPiIgICAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlTWF0VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPEJSVERmdW5jXD4iICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1hdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxhbnRpbWF0dGVyXD4iIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VNYXRUeXBlCisKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxjb2xvcmZ1bmNcPiIgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VQYXRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8YnJpZ2h0ZnVuY1w+IiBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlUGF0VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPGNvbG9yZGF0YVw+IiAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZVBhdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxicmlnaHRkYXRhXD4iIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VQYXRUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8Y29sb3JwaWN0XD4iICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlUGF0VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPGNvbG9ydGV4dFw+IiAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZVBhdFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxicmlnaHR0ZXh0XD4iIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VQYXRUeXBlCisKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDx0ZXhmdW5jXD4iICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VUZXhUeXBlCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8dGV4ZGF0YVw+IiAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlVGV4VHlwZQorCitzeW4gcmVnaW9uIHJhZGlhbmNlSUQgc3RhcnQ9Ilw8bWl4ZnVuY1w+IiAgICBlbmQ9Ilw8XGsqXD4iIGNvbnRhaW5zPXJhZGlhbmNlTWl4VHlwZQorc3luIHJlZ2lvbiByYWRpYW5jZUlEIHN0YXJ0PSJcPG1peGRhdGFcPiIgICAgZW5kPSJcPFxrKlw+IiBjb250YWlucz1yYWRpYW5jZU1peFR5cGUKK3N5biByZWdpb24gcmFkaWFuY2VJRCBzdGFydD0iXDxtaXh0ZXh0XD4iICAgIGVuZD0iXDxcaypcPiIgY29udGFpbnM9cmFkaWFuY2VNaXhUeXBlCisKKyIgZXh0ZXJuYWwgY29tbWFuZHMgKGdlbmVyYXRvcnMsIHhmb3JtIGV0IGFsLikKK3N5biBtYXRjaCByYWRpYW5jZUNvbW1hbmQgIl5ccyohXHMqW15cc11cK1w+IgorCisiIFRoZSB1c3VhbCBzdXNwZWN0cworc3luIGtleXdvcmQgcmFkaWFuY2VUb2RvIGNvbnRhaW5lZCBUT0RPIFhYWAorc3luIG1hdGNoIHJhZGlhbmNlQ29tbWVudCAiIy4qJCIgY29udGFpbnM9cmFkaWFuY2VUb2RvCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3JhZGlhbmNlX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3JhZGlhbmNlX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisgIEhpTGluayByYWRpYW5jZUtleXdvcmQJS2V5d29yZAorICBIaUxpbmsgcmFkaWFuY2VFeHRyYVR5cGUJVHlwZQorICBIaUxpbmsgcmFkaWFuY2VTdXJmVHlwZQlUeXBlCisgIEhpTGluayByYWRpYW5jZUxpZ2h0VHlwZQlUeXBlCisgIEhpTGluayByYWRpYW5jZU1hdFR5cGUJVHlwZQorICBIaUxpbmsgcmFkaWFuY2VQYXRUeXBlCVR5cGUKKyAgSGlMaW5rIHJhZGlhbmNlVGV4VHlwZQlUeXBlCisgIEhpTGluayByYWRpYW5jZU1peFR5cGUJVHlwZQorICBIaUxpbmsgcmFkaWFuY2VDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIHJhZGlhbmNlQ29tbWFuZAlGdW5jdGlvbgorICBIaUxpbmsgcmFkaWFuY2VJRAkJU3RyaW5nCisgIEhpTGluayByYWRpYW5jZVRvZG8JCVRvZG8KKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJhZGlhbmNlIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yYXRwb2lzb24udmltIGIvcnVudGltZS9zeW50YXgvcmF0cG9pc29uLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTA5NGZjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcmF0cG9pc29uLnZpbQpAQCAtMCwwICsxLDI0OSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgRmlsZW5hbWU6CXJhdHBvaXNvbi52aW0KKyIgTGFuZ3VhZ2U6CVJhdHBvaXNvbiBjb25maWd1cmF0aW9uL2NvbW1hbmRzIGZpbGUgKCAvZXRjL3JhdHBvaXNvbnJjIH4vLnJhdHBvaXNvbnJjICkKKyIgTWFpbnRhaW5lcjoJRG91ZyBLZWFybnMgPGRqa2VhMkBtdWdjYS5pdHMubW9uYXNoLmVkdS5hdT4KKyIgVVJMOgkJaHR0cDovL211Z2NhLml0cy5tb25hc2guZWR1LmF1L35kamtlYTIvdmltL3N5bnRheC9yYXRwb2lzb24udmltCisiIExhc3QgQ2hhbmdlOgkyMDA0IEFwciAyNworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkNvbW1lbnQJIl5ccyojLiokIgkJY29udGFpbnM9cmF0cG9pc29uVG9kbworCitzeW4ga2V5d29yZCByYXRwb2lzb25Ub2RvCVRPRE8gTk9URSBGSVhNRSBYWFgJY29udGFpbmVkCisKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQgcmF0cG9pc29uQm9vbGVhbkFyZwlvbiBvZmYJCQljb250YWluZWQKK3N5biBjYXNlIG1hdGNoCisKK3N5biBrZXl3b3JkIHJhdHBvaXNvbkNvbW1hbmRBcmcgYWJvcnQgYWRkaG9vayBhbGlhcyBiYW5pc2ggYmluZAkJCQkJCWNvbnRhaW5lZAorc3luIGtleXdvcmQgcmF0cG9pc29uQ29tbWFuZEFyZyBjaGRpciBjbHJ1bm1hbmFnZWQgY29sb24gY3VyZnJhbWUgZGVmYmFyYm9yZGVyCQkJCWNvbnRhaW5lZAorc3luIGtleXdvcmQgcmF0cG9pc29uQ29tbWFuZEFyZyBkZWZiYXJncmF2aXR5IGRlZmJhcnBhZGRpbmcgZGVmYmdjb2xvciBkZWZib3JkZXIgZGVmZmdjb2xvcgkJY29udGFpbmVkCitzeW4ga2V5d29yZCByYXRwb2lzb25Db21tYW5kQXJnIGRlZmZvbnQgZGVmZnJhbWVzZWxzIGRlZmluZWtleSBkZWZpbnB1dHdpZHRoIGRlZm1heHNpemVncmF2aXR5CQljb250YWluZWQKK3N5biBrZXl3b3JkIHJhdHBvaXNvbkNvbW1hbmRBcmcgZGVmcGFkZGluZyBkZWZyZXNpemV1bml0IGRlZnRyYW5zZ3Jhdml0eSBkZWZ3YWl0Y3Vyc29yIGRlZndpbmZtdAljb250YWluZWQKK3N5biBrZXl3b3JkIHJhdHBvaXNvbkNvbW1hbmRBcmcgZGVmd2luZ3Jhdml0eSBkZWZ3aW5saXN0c3R5bGUgZGVmd2lubmFtZSBkZWxldGUgZGVsa21hcAkJCWNvbnRhaW5lZAorc3luIGtleXdvcmQgcmF0cG9pc29uQ29tbWFuZEFyZyBlY2hvIGVzY2FwZSBleGVjIGZkdW1wIGZvY3VzCQkJCQkJY29udGFpbmVkCitzeW4ga2V5d29yZCByYXRwb2lzb25Db21tYW5kQXJnIGZvY3VzZG93biBmb2N1c2xhc3QgZm9jdXNsZWZ0IGZvY3VzcmlnaHQgZm9jdXN1cAkJCWNvbnRhaW5lZAorc3luIGtleXdvcmQgcmF0cG9pc29uQ29tbWFuZEFyZyBmcmVzdG9yZSBmc2VsZWN0IGdkZWxldGUgZ2V0ZW52IGdtZXJnZQkJCQkJY29udGFpbmVkCitzeW4ga2V5d29yZCByYXRwb2lzb25Db21tYW5kQXJnIGdtb3ZlIGduZXcgZ25ld2JnIGduZXh0IGdwcmV2CQkJCQkJY29udGFpbmVkCitzeW4ga2V5d29yZCByYXRwb2lzb25Db21tYW5kQXJnIGdyYXZpdHkgZ3JvdXBzIGdzZWxlY3QgaGVscCBoc3BsaXQJCQkJCWNvbnRhaW5lZAorc3luIGtleXdvcmQgcmF0cG9pc29uQ29tbWFuZEFyZyBpbmZvIGtpbGwgbGFzdG1zZyBsaWNlbnNlIGxpbmsJCQkJCQljb250YWluZWQKK3N5biBrZXl3b3JkIHJhdHBvaXNvbkNvbW1hbmRBcmcgbGlzdGhvb2sgbWV0YSBtc2d3YWl0IG5ld2ttYXAgbmV3d20JCQkJCWNvbnRhaW5lZAorc3luIGtleXdvcmQgcmF0cG9pc29uQ29tbWFuZEFyZyBuZXh0IG5leHRzY3JlZW4gbnVtYmVyIG9ubHkgb3RoZXIJCQkJCWNvbnRhaW5lZAorc3luIGtleXdvcmQgcmF0cG9pc29uQ29tbWFuZEFyZyBwcmV2IHByZXZzY3JlZW4gcXVpdCByZWFka2V5IHJlZGlzcGxheQkJCQkJY29udGFpbmVkCitzeW4ga2V5d29yZCByYXRwb2lzb25Db21tYW5kQXJnIHJlbWhvb2sgcmVtb3ZlIHJlc2l6ZSByZXN0YXJ0IHJ1ZGVuZXNzCQkJCQljb250YWluZWQKK3N5biBrZXl3b3JkIHJhdHBvaXNvbkNvbW1hbmRBcmcgc2VsZWN0IHNldGVudiBzaHJpbmsgc291cmNlIHNwbGl0CQkJCQljb250YWluZWQKK3N5biBrZXl3b3JkIHJhdHBvaXNvbkNvbW1hbmRBcmcgc3RhcnR1cF9tZXNzYWdlIHRpbWUgdGl0bGUgdG1wd20gdW5hbGlhcwkJCQljb250YWluZWQKK3N5biBrZXl3b3JkIHJhdHBvaXNvbkNvbW1hbmRBcmcgdW5iaW5kIHVubWFuYWdlIHVuc2V0ZW52IHZlcmJleGVjIHZlcnNpb24JCQkJY29udGFpbmVkCitzeW4ga2V5d29yZCByYXRwb2lzb25Db21tYW5kQXJnIHZzcGxpdCB3YXJwIHdpbmRvd3Mgc3luIGNhc2UgaWdub3JlCQkJCQljb250YWluZWQKKworc3luIG1hdGNoICAgcmF0cG9pc29uR3Jhdml0eUFyZyAiXDxcKG5cfG5vcnRoXClcPiIJY29udGFpbmVkCitzeW4gbWF0Y2ggICByYXRwb2lzb25HcmF2aXR5QXJnICJcPFwobndcfG5vcnRod2VzdFwpXD4iCWNvbnRhaW5lZAorc3luIG1hdGNoICAgcmF0cG9pc29uR3Jhdml0eUFyZyAiXDxcKG5lXHxub3J0aGVhc3RcKVw+Igljb250YWluZWQKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkdyYXZpdHlBcmcgIlw8XCh3XHx3ZXN0XClcPiIJY29udGFpbmVkCitzeW4gbWF0Y2ggICByYXRwb2lzb25HcmF2aXR5QXJnICJcPFwoY1x8Y2VudGVyXClcPiIJY29udGFpbmVkCitzeW4gbWF0Y2ggICByYXRwb2lzb25HcmF2aXR5QXJnICJcPFwoZVx8ZWFzdFwpXD4iCWNvbnRhaW5lZAorc3luIG1hdGNoICAgcmF0cG9pc29uR3Jhdml0eUFyZyAiXDxcKHNcfHNvdXRoXClcPiIJY29udGFpbmVkCitzeW4gbWF0Y2ggICByYXRwb2lzb25HcmF2aXR5QXJnICJcPFwoc3dcfHNvdXRod2VzdFwpXD4iCWNvbnRhaW5lZAorc3luIG1hdGNoICAgcmF0cG9pc29uR3Jhdml0eUFyZyAiXDxcKHNlXHxzb3V0aGVhc3RcKVw+Igljb250YWluZWQKK3N5biBjYXNlIG1hdGNoCisKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPVwoRlsxLTldWzAtOV1cPVx8XChcYVx8XGRcKVwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKKworc3luIG1hdGNoICAgcmF0cG9pc29uS2V5U2VxQXJnICAiXDxcKFtDTUFTSF1cKC1bQ01BU0hdXClceyw0fS1cKVw9XChzcGFjZVx8ZXhjbGFtXHxxdW90ZWRibFwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPVwobnVtYmVyc2lnblx8ZG9sbGFyXHxwZXJjZW50XHxhbXBlcnNhbmRcKVw+IiBjb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkNvbW1hbmRBcmcgc2tpcHdoaXRlCitzeW4gbWF0Y2ggICByYXRwb2lzb25LZXlTZXFBcmcgICJcPFwoW0NNQVNIXVwoLVtDTUFTSF1cKVx7LDR9LVwpXD1cKGFwb3N0cm9waGVcfHF1b3RlcmlnaHRcfHBhcmVubGVmdFwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPVwocGFyZW5yaWdodFx8YXN0ZXJpc2tcfHBsdXNcfGNvbW1hXClcPiIgY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25Db21tYW5kQXJnIHNraXB3aGl0ZQorc3luIG1hdGNoICAgcmF0cG9pc29uS2V5U2VxQXJnICAiXDxcKFtDTUFTSF1cKC1bQ01BU0hdXClceyw0fS1cKVw9XChtaW51c1x8cGVyaW9kXHxzbGFzaFx8Y29sb25cfHNlbWljb2xvblwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPVwobGVzc1x8ZXF1YWxcfGdyZWF0ZXJcfHF1ZXN0aW9uXHxhdFwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPVwoYnJhY2tldGxlZnRcfGJhY2tzbGFzaFx8YnJhY2tldHJpZ2h0XClcPiIgY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25Db21tYW5kQXJnIHNraXB3aGl0ZQorc3luIG1hdGNoICAgcmF0cG9pc29uS2V5U2VxQXJnICAiXDxcKFtDTUFTSF1cKC1bQ01BU0hdXClceyw0fS1cKVw9XChhc2NpaWNpcmN1bVx8dW5kZXJzY29yZVx8Z3JhdmVcKVw+IiBjb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkNvbW1hbmRBcmcgc2tpcHdoaXRlCitzeW4gbWF0Y2ggICByYXRwb2lzb25LZXlTZXFBcmcgICJcPFwoW0NNQVNIXVwoLVtDTUFTSF1cKVx7LDR9LVwpXD1cKHF1b3RlbGVmdFx8YnJhY2VsZWZ0XHxiYXJcfGJyYWNlcmlnaHRcKVw+IiBjb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkNvbW1hbmRBcmcgc2tpcHdoaXRlCitzeW4gbWF0Y2ggICByYXRwb2lzb25LZXlTZXFBcmcgICJcPFwoW0NNQVNIXVwoLVtDTUFTSF1cKVx7LDR9LVwpXD1cKGFzY2lpdGlsZGVcKVw+IiBjb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkNvbW1hbmRBcmcgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPVwoQmFja1NwYWNlXHxUYWJcfExpbmVmZWVkXHxDbGVhclwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPVwoUmV0dXJuXHxQYXVzZVx8U2Nyb2xsX0xvY2tcKVw+IiBjb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkNvbW1hbmRBcmcgc2tpcHdoaXRlCitzeW4gbWF0Y2ggICByYXRwb2lzb25LZXlTZXFBcmcgICJcPFwoW0NNQVNIXVwoLVtDTUFTSF1cKVx7LDR9LVwpXD1cKFN5c19SZXFcfEVzY2FwZVx8RGVsZXRlXClcPiIgY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25Db21tYW5kQXJnIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICByYXRwb2lzb25LZXlTZXFBcmcgICJcPFwoW0NNQVNIXVwoLVtDTUFTSF1cKVx7LDR9LVwpXD1cKEhvbWVcfExlZnRcfFVwXHxSaWdodFx8RG93blx8UHJpb3JcKVw+IiBjb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkNvbW1hbmRBcmcgc2tpcHdoaXRlCitzeW4gbWF0Y2ggICByYXRwb2lzb25LZXlTZXFBcmcgICJcPFwoW0NNQVNIXVwoLVtDTUFTSF1cKVx7LDR9LVwpXD1cKFBhZ2VfVXBcfE5leHRcfFBhZ2VfRG93blx8RW5kXHxCZWdpblwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKKworc3luIG1hdGNoICAgcmF0cG9pc29uS2V5U2VxQXJnICAiXDxcKFtDTUFTSF1cKC1bQ01BU0hdXClceyw0fS1cKVw9XChTZWxlY3RcfFByaW50XHxFeGVjdXRlXHxJbnNlcnRcfFVuZG9cKVw+IiBjb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkNvbW1hbmRBcmcgc2tpcHdoaXRlCitzeW4gbWF0Y2ggICByYXRwb2lzb25LZXlTZXFBcmcgICJcPFwoW0NNQVNIXVwoLVtDTUFTSF1cKVx7LDR9LVwpXD1cKFJlZG9cfE1lbnVcfEZpbmRcfENhbmNlbFx8SGVscFwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPVwoQnJlYWtcfE1vZGVfc3dpdGNoXHxzY3JpcHRfc3dpdGNoXHxOdW1fTG9ja1wpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKKworc3luIG1hdGNoICAgcmF0cG9pc29uS2V5U2VxQXJnICAiXDxcKFtDTUFTSF1cKC1bQ01BU0hdXClceyw0fS1cKVw9S1BfXChTcGFjZVx8VGFiXHxFbnRlclx8RlsxMjM0XVwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPUtQX1woSG9tZVx8TGVmdFx8VXBcfFJpZ2h0XHxEb3duXClcPiIgY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25Db21tYW5kQXJnIHNraXB3aGl0ZQorc3luIG1hdGNoICAgcmF0cG9pc29uS2V5U2VxQXJnICAiXDxcKFtDTUFTSF1cKC1bQ01BU0hdXClceyw0fS1cKVw9S1BfXChQcmlvclx8UGFnZV9VcFx8TmV4dFx8UGFnZV9Eb3duXClcPiIgY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25Db21tYW5kQXJnIHNraXB3aGl0ZQorc3luIG1hdGNoICAgcmF0cG9pc29uS2V5U2VxQXJnICAiXDxcKFtDTUFTSF1cKC1bQ01BU0hdXClceyw0fS1cKVw9S1BfXChFbmRcfEJlZ2luXHxJbnNlcnRcfERlbGV0ZVwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPUtQX1woRXF1YWxcfE11bHRpcGx5XHxBZGRcfFNlcGFyYXRvclwpXD4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uQ29tbWFuZEFyZyBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHJhdHBvaXNvbktleVNlcUFyZyAgIlw8XChbQ01BU0hdXCgtW0NNQVNIXVwpXHssNH0tXClcPUtQX1woU3VidHJhY3RcfERlY2ltYWxcfERpdmlkZVx8XGRcKVw+IiBjb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkNvbW1hbmRBcmcgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkhvb2tBcmcgICAgIlw8XChrZXlcfHN3aXRjaHdpblx8c3dpdGNoZnJhbWVcfHN3aXRjaGdyb3VwXHxxdWl0XHxyZXN0YXJ0XClcPiIgY29udGFpbmVkCisKK3N5biBtYXRjaCAgIHJhdHBvaXNvbk51bWJlckFyZyAgIlw8XGRcK1w+Igljb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZyBza2lwd2hpdGUKKworc3luIGtleXdvcmQgcmF0cG9pc29uU2V0QXJnCWJhcmJvcmRlcgljb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZworc3luIGtleXdvcmQgcmF0cG9pc29uU2V0QXJnCWJhcmdyYXZpdHkJY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25HcmF2aXR5QXJnCitzeW4ga2V5d29yZCByYXRwb2lzb25TZXRBcmcJYmFycGFkZGluZwljb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZworc3luIGtleXdvcmQgcmF0cG9pc29uU2V0QXJnCWJnY29sb3IKK3N5biBrZXl3b3JkIHJhdHBvaXNvblNldEFyZwlib3JkZXIJCWNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uTnVtYmVyQXJnCitzeW4ga2V5d29yZCByYXRwb2lzb25TZXRBcmcJZmdjb2xvcgorc3luIGtleXdvcmQgcmF0cG9pc29uU2V0QXJnCWZvbnQKK3N5biBrZXl3b3JkIHJhdHBvaXNvblNldEFyZwlmcmFtZXNlbHMKK3N5biBrZXl3b3JkIHJhdHBvaXNvblNldEFyZwlpbnB1dHdpZHRoCWNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uTnVtYmVyQXJnCitzeW4ga2V5d29yZCByYXRwb2lzb25TZXRBcmcJbWF4c2l6ZWdyYXZpdHkJY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25HcmF2aXR5QXJnCitzeW4ga2V5d29yZCByYXRwb2lzb25TZXRBcmcJcGFkZGluZwkJY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25OdW1iZXJBcmcKK3N5biBrZXl3b3JkIHJhdHBvaXNvblNldEFyZwlyZXNpemV1bml0CWNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uTnVtYmVyQXJnCitzeW4ga2V5d29yZCByYXRwb2lzb25TZXRBcmcJdHJhbnNncmF2aXR5CWNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uR3Jhdml0eUFyZworc3luIGtleXdvcmQgcmF0cG9pc29uU2V0QXJnCXdhaXRjdXJzb3IJY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25OdW1iZXJBcmcKK3N5biBrZXl3b3JkIHJhdHBvaXNvblNldEFyZwl3aW5mbXQJCWNvbnRhaW5lZCBuZXh0Z3JvdXA9cmF0cG9pc29uV2luRm10QXJnCitzeW4ga2V5d29yZCByYXRwb2lzb25TZXRBcmcJd2luZ3Jhdml0eQljb250YWluZWQgbmV4dGdyb3VwPXJhdHBvaXNvbkdyYXZpdHlBcmcKK3N5biBrZXl3b3JkIHJhdHBvaXNvblNldEFyZwl3aW5saXN0c3R5bGUJY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25XaW5MaXN0QXJnCitzeW4ga2V5d29yZCByYXRwb2lzb25TZXRBcmcJd2lubmFtZQkJY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25XaW5OYW1lQXJnCisKK3N5biBtYXRjaCAgIHJhdHBvaXNvbldpbkZtdEFyZyAgIiVbbnN0YWNpbF0iCQkJY29udGFpbmVkIG5leHRncm91cD1yYXRwb2lzb25XaW5GbXRBcmcgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHJhdHBvaXNvbldpbkxpc3RBcmcgIlw8XChyb3dcfGNvbHVtblwpXD4iCQljb250YWluZWQKKworc3luIG1hdGNoICAgcmF0cG9pc29uV2luTmFtZUFyZyAiXDxcKG5hbWVcfHRpdGxlXHxjbGFzc1wpXD4iCWNvbnRhaW5lZAorCitzeW4gbWF0Y2ggICByYXRwb2lzb25EZWZDb21tYW5kCQkiXlxzKnNldFxzKiIJCQluZXh0Z3JvdXA9cmF0cG9pc29uU2V0QXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25EZWZDb21tYW5kCQkiXlxzKmRlZmJhcmJvcmRlclxzKiIJCW5leHRncm91cD1yYXRwb2lzb25OdW1iZXJBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkRlZkNvbW1hbmQJCSJeXHMqZGVmYmFyZ3Jhdml0eVxzKiIJCW5leHRncm91cD1yYXRwb2lzb25HcmF2aXR5QXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25EZWZDb21tYW5kCQkiXlxzKmRlZmJhcnBhZGRpbmdccyoiCQluZXh0Z3JvdXA9cmF0cG9pc29uTnVtYmVyQXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25EZWZDb21tYW5kCQkiXlxzKmRlZmJnY29sb3JccyoiCitzeW4gbWF0Y2ggICByYXRwb2lzb25EZWZDb21tYW5kCQkiXlxzKmRlZmJvcmRlclxzKiIJCW5leHRncm91cD1yYXRwb2lzb25OdW1iZXJBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkRlZkNvbW1hbmQJCSJeXHMqZGVmZmdjb2xvclxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkRlZkNvbW1hbmQJCSJeXHMqZGVmZm9udFxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkRlZkNvbW1hbmQJCSJeXHMqZGVmZnJhbWVzZWxzXHMqIgorc3luIG1hdGNoICAgcmF0cG9pc29uRGVmQ29tbWFuZAkJIl5ccypkZWZpbnB1dHdpZHRoXHMqIgkJbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZworc3luIG1hdGNoICAgcmF0cG9pc29uRGVmQ29tbWFuZAkJIl5ccypkZWZtYXhzaXplZ3Jhdml0eVxzKiIJbmV4dGdyb3VwPXJhdHBvaXNvbkdyYXZpdHlBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkRlZkNvbW1hbmQJCSJeXHMqZGVmcGFkZGluZ1xzKiIJCW5leHRncm91cD1yYXRwb2lzb25OdW1iZXJBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkRlZkNvbW1hbmQJCSJeXHMqZGVmcmVzaXpldW5pdFxzKiIJCW5leHRncm91cD1yYXRwb2lzb25OdW1iZXJBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvbkRlZkNvbW1hbmQJCSJeXHMqZGVmdHJhbnNncmF2aXR5XHMqIgluZXh0Z3JvdXA9cmF0cG9pc29uR3Jhdml0eUFyZworc3luIG1hdGNoICAgcmF0cG9pc29uRGVmQ29tbWFuZAkJIl5ccypkZWZ3YWl0Y3Vyc29yXHMqIgkJbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZworc3luIG1hdGNoICAgcmF0cG9pc29uRGVmQ29tbWFuZAkJIl5ccypkZWZ3aW5mbXRccyoiCQluZXh0Z3JvdXA9cmF0cG9pc29uV2luRm10QXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25EZWZDb21tYW5kCQkiXlxzKmRlZndpbmdyYXZpdHlccyoiCQluZXh0Z3JvdXA9cmF0cG9pc29uR3Jhdml0eUFyZworc3luIG1hdGNoICAgcmF0cG9pc29uRGVmQ29tbWFuZAkJIl5ccypkZWZ3aW5saXN0c3R5bGVccyoiCW5leHRncm91cD1yYXRwb2lzb25XaW5MaXN0QXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25EZWZDb21tYW5kCQkiXlxzKmRlZndpbm5hbWVccyoiCQluZXh0Z3JvdXA9cmF0cG9pc29uV2luTmFtZUFyZworc3luIG1hdGNoICAgcmF0cG9pc29uRGVmQ29tbWFuZAkJIl5ccyptc2d3YWl0XHMqIgkJbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZworCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzYWRkaG9va1x6ZVxzKiIJCW5leHRncm91cD1yYXRwb2lzb25Ib29rQXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzYWxpYXNcemVccyoiCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzYmluZFx6ZVxzKiIJCW5leHRncm91cD1yYXRwb2lzb25LZXlTZXFBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNjaGRpclx6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNjb2xvblx6ZVxzKiIJCW5leHRncm91cD1yYXRwb2lzb25Db21tYW5kQXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzZGVmaW5la2V5XHplXHMqIgorc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c2RlbGttYXBcemVccyoiCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzZWNob1x6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNlc2NhcGVcemVccyoiCQluZXh0Z3JvdXA9cmF0cG9pc29uS2V5U2VxQXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzZXhlY1x6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNmZHVtcFx6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNmcmVzdG9yZVx6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNnZGVsZXRlXHplXHMqIgorc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c2dldGVudlx6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNncmF2aXR5XHplXHMqIgkJbmV4dGdyb3VwPXJhdHBvaXNvbkdyYXZpdHlBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNnc2VsZWN0XHplXHMqIgorc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c2xpbmtcemVccyoiCQluZXh0Z3JvdXA9cmF0cG9pc29uS2V5U2VxQXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzbGlzdGhvb2tcemVccyoiCQluZXh0Z3JvdXA9cmF0cG9pc29uSG9va0FyZworc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c25ld2ttYXBcemVccyoiCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzbmV3d21cemVccyoiCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzbnVtYmVyXHplXHMqIgkJbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZworc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c3JlYWRrZXlcemVccyoiCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzcmVtaG9va1x6ZVxzKiIJCW5leHRncm91cD1yYXRwb2lzb25Ib29rQXJnCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzcmVzaXplXHplXHMqIgkJbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZworc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c3J1ZGVuZXNzXHplXHMqIgkJbmV4dGdyb3VwPXJhdHBvaXNvbk51bWJlckFyZworc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c3NlbGVjdFx6ZVxzKiIJCW5leHRncm91cD1yYXRwb2lzb25OdW1iZXJBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenNzZXRlbnZcemVccyoiCitzeW4gbWF0Y2ggICByYXRwb2lzb25TdHJpbmdDb21tYW5kCSJeXHMqXHpzc291cmNlXHplXHMqIgorc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c3N0YXJ0dXBfbWVzc2FnZVx6ZVxzKiIJbmV4dGdyb3VwPXJhdHBvaXNvbkJvb2xlYW5BcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenN0aXRsZVx6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenN0bXB3bVx6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenN1bmFsaWFzXHplXHMqIgorc3luIG1hdGNoICAgcmF0cG9pc29uU3RyaW5nQ29tbWFuZAkiXlxzKlx6c3VuYmluZFx6ZVxzKiIJCW5leHRncm91cD1yYXRwb2lzb25LZXlTZXFBcmcKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenN1bm1hbmFnZVx6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenN1bnNldGVudlx6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenN2ZXJiZXhlY1x6ZVxzKiIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJIl5ccypcenN3YXJwXHplXHMqIgkJbmV4dGdyb3VwPXJhdHBvaXNvbkJvb2xlYW5BcmcKKworc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNhYm9ydFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2JhbmlzaFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2NscnVubWFuYWdlZFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2N1cmZyYW1lXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzZGVsZXRlXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzZm9jdXNkb3duXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzZm9jdXNsYXN0XHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzZm9jdXNsZWZ0XHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzZm9jdXNyaWdodFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2ZvY3VzXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzZm9jdXN1cFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2ZzZWxlY3RcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNnbWVyZ2VcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNnbW92ZVx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2duZXdiZ1x6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2duZXdcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNnbmV4dFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2dwcmV2XHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzZ3JvdXBzXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzaGVscFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2hzcGxpdFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2luZm9cemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNraWxsXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzbGFzdG1zZ1x6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c2xpY2Vuc2VcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNtZXRhXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzbmV4dFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c25leHRzY3JlZW5cemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNvbmx5XHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzb3RoZXJcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNwcmV2XHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzcHJldnNjcmVlblx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c3F1aXRcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNyZWRpc3BsYXlcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNyZW1vdmVcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenNyZXN0YXJ0XHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzc2hyaW5rXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzc3BsaXRcemVccyokIgorc3luIG1hdGNoICAgcmF0cG9pc29uVm9pZENvbW1hbmQJIl5ccypcenN0aW1lXHplXHMqJCIKK3N5biBtYXRjaCAgIHJhdHBvaXNvblZvaWRDb21tYW5kCSJeXHMqXHpzdmVyc2lvblx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c3ZzcGxpdFx6ZVxzKiQiCitzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c3dpbmRvd3NcemVccyokIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yYXRwb2lzb25fc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcmF0cG9pc29uX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHJhdHBvaXNvbkJvb2xlYW5BcmcJQm9vbGVhbgorICBIaUxpbmsgcmF0cG9pc29uQ29tbWFuZEFyZwlLZXl3b3JkCisgIEhpTGluayByYXRwb2lzb25Db21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIHJhdHBvaXNvbkRlZkNvbW1hbmQJSWRlbnRpZmllcgorICBIaUxpbmsgcmF0cG9pc29uR3Jhdml0eUFyZwlDb25zdGFudAorICBIaUxpbmsgcmF0cG9pc29uS2V5U2VxQXJnCVNwZWNpYWwKKyAgSGlMaW5rIHJhdHBvaXNvbk51bWJlckFyZwlOdW1iZXIKKyAgSGlMaW5rIHJhdHBvaXNvblNldEFyZwlLZXl3b3JkCisgIEhpTGluayByYXRwb2lzb25TdHJpbmdDb21tYW5kCUlkZW50aWZpZXIKKyAgSGlMaW5rIHJhdHBvaXNvblRvZG8JCVRvZG8KKyAgSGlMaW5rIHJhdHBvaXNvblZvaWRDb21tYW5kCUlkZW50aWZpZXIKKyAgSGlMaW5rIHJhdHBvaXNvbldpbkZtdEFyZwlTcGVjaWFsCisgIEhpTGluayByYXRwb2lzb25XaW5OYW1lQXJnCUNvbnN0YW50CisgIEhpTGluayByYXRwb2lzb25XaW5MaXN0QXJnCUNvbnN0YW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJhdHBvaXNvbiIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JjLnZpbSBiL3J1bnRpbWUvc3ludGF4L3JjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jM2ZlYjk3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcmMudmltCkBAIC0wLDAgKzEsMjAwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJTSQgUmVzb3VyY2UgZmlsZXMgKCoucmMpCisiIE1haW50YWluZXI6CUhlaWtvIEVyaGFyZHQgPEhlaWtvLkVyaGFyZHRAbXVuaWNoLm5ldHN1cmYuZGU+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorCisiIFRoaXMgZmlsZSBpcyBiYXNlZCBvbiB0aGUgYy52aW0KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIENvbW1vbiBSQyBrZXl3b3Jkcworc3luIGtleXdvcmQgcmNMYW5ndWFnZSBMQU5HVUFHRQorCitzeW4ga2V5d29yZCByY01haW5PYmplY3QgVEVYVElOQ0xVREUgVkVSU0lPTklORk8gQklUTUFQIElDT04gQ1VSU09SIENVUlNPUgorc3luIGtleXdvcmQgcmNNYWluT2JqZWN0IE1FTlUgQUNDRUxFUkFUT1JTIFRPT0xCQVIgRElBTE9HCitzeW4ga2V5d29yZCByY01haW5PYmplY3QgU1RSSU5HVEFCTEUgTUVTU0FHRVRBQkxFIFJDREFUQSBETEdJTklUIERFU0lHTklORk8KKworc3luIGtleXdvcmQgcmNTdWJPYmplY3QgUE9QVVAgTUVOVUlURU0gU0VQQVJBVE9SCitzeW4ga2V5d29yZCByY1N1Yk9iamVjdCBDT05UUk9MIExURVhUIENURVhUIEVESVRURVhUCitzeW4ga2V5d29yZCByY1N1Yk9iamVjdCBCVVRUT04gUFVTSEJVVFRPTiBERUZQVVNIQlVUVE9OIEdST1VQQk9YIExJU1RCT1ggQ09NQk9CT1gKK3N5biBrZXl3b3JkIHJjU3ViT2JqZWN0IEZJTEVWRVJTSU9OIFBST0RVQ1RWRVJTSU9OIEZJTEVGTEFHU01BU0sgRklMRUZMQUdTIEZJTEVPUworc3luIGtleXdvcmQgcmNTdWJPYmplY3QgRklMRVRZUEUgRklMRVNVQlRZUEUKKworc3luIGtleXdvcmQgcmNDYXB0aW9uUGFyYW0gQ0FQVElPTgorc3luIGtleXdvcmQgcmNQYXJhbSBDSEFSQUNURVJJU1RJQ1MgQ0xBU1MgU1RZTEUgRVhTVFlMRSBWRVJTSU9OIEZPTlQKKworc3luIGtleXdvcmQgcmNTdGF0ZW1lbnQgQkVHSU4gRU5EIEJMT0NLIFZBTFVFCisKK3N5biBrZXl3b3JkIHJjQ29tbW9uQXR0cmlidXRlIFBSRUxPQUQgTE9BRE9OQ0FMTCBGSVhFRCBNT1ZFQUJMRSBESVNDQVJEQUJMRSBQVVJFIElNUFVSRQorCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBXU19PVkVSTEFQUEVEIFdTX1BPUFVQIFdTX0NISUxEIFdTX01JTklNSVpFIFdTX1ZJU0lCTEUgV1NfRElTQUJMRUQgV1NfQ0xJUFNJQkxJTkdTCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBXU19DTElQQ0hJTERSRU4gV1NfTUFYSU1JWkUgV1NfQ0FQVElPTiBXU19CT1JERVIgV1NfRExHRlJBTUUgV1NfVlNDUk9MTCBXU19IU0NST0xMCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBXU19TWVNNRU5VIFdTX1RISUNLRlJBTUUgV1NfR1JPVVAgV1NfVEFCU1RPUCBXU19NSU5JTUlaRUJPWCBXU19NQVhJTUlaRUJPWCBXU19USUxFRAorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgV1NfSUNPTklDIFdTX1NJWkVCT1ggV1NfVElMRURXSU5ET1cgV1NfT1ZFUkxBUFBFRFdJTkRPVyBXU19QT1BVUFdJTkRPVyBXU19DSElMRFdJTkRPVworc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgV1NfRVhfRExHTU9EQUxGUkFNRSBXU19FWF9OT1BBUkVOVE5PVElGWSBXU19FWF9UT1BNT1NUIFdTX0VYX0FDQ0VQVEZJTEVTCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBXU19FWF9UUkFOU1BBUkVOVCBXU19FWF9NRElDSElMRCBXU19FWF9UT09MV0lORE9XIFdTX0VYX1dJTkRPV0VER0UgV1NfRVhfQ0xJRU5URURHRQorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgV1NfRVhfQ09OVEVYVEhFTFAgV1NfRVhfUklHSFQgV1NfRVhfTEVGVCBXU19FWF9SVExSRUFESU5HIFdTX0VYX0xUUlJFQURJTkcKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIFdTX0VYX0xFRlRTQ1JPTExCQVIgV1NfRVhfUklHSFRTQ1JPTExCQVIgV1NfRVhfQ09OVFJPTFBBUkVOVCBXU19FWF9TVEFUSUNFREdFCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBXU19FWF9BUFBXSU5ET1cgV1NfRVhfT1ZFUkxBUFBFRFdJTkRPVyBXU19FWF9QQUxFVFRFV0lORE9XCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBFU19MRUZUIEVTX0NFTlRFUiBFU19SSUdIVCBFU19NVUxUSUxJTkUgRVNfVVBQRVJDQVNFIEVTX0xPV0VSQ0FTRSBFU19QQVNTV09SRAorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgRVNfQVVUT1ZTQ1JPTEwgRVNfQVVUT0hTQ1JPTEwgRVNfTk9ISURFU0VMIEVTX09FTUNPTlZFUlQgRVNfUkVBRE9OTFkgRVNfV0FOVFJFVFVSTgorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgRVNfTlVNQkVSCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBCU19QVVNIQlVUVE9OIEJTX0RFRlBVU0hCVVRUT04gQlNfQ0hFQ0tCT1ggQlNfQVVUT0NIRUNLQk9YIEJTX1JBRElPQlVUVE9OIEJTXzNTVEFURQorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgQlNfQVVUTzNTVEFURSBCU19HUk9VUEJPWCBCU19VU0VSQlVUVE9OIEJTX0FVVE9SQURJT0JVVFRPTiBCU19PV05FUkRSQVcgQlNfTEVGVFRFWFQKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIEJTX1RFWFQgQlNfSUNPTiBCU19CSVRNQVAgQlNfTEVGVCBCU19SSUdIVCBCU19DRU5URVIgQlNfVE9QIEJTX0JPVFRPTSBCU19WQ0VOVEVSCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBCU19QVVNITElLRSBCU19NVUxUSUxJTkUgQlNfTk9USUZZIEJTX0ZMQVQgQlNfUklHSFRCVVRUT04KK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIFNTX0xFRlQgU1NfQ0VOVEVSIFNTX1JJR0hUIFNTX0lDT04gU1NfQkxBQ0tSRUNUIFNTX0dSQVlSRUNUIFNTX1dISVRFUkVDVAorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgU1NfQkxBQ0tGUkFNRSBTU19HUkFZRlJBTUUgU1NfV0hJVEVGUkFNRSBTU19VU0VSSVRFTSBTU19TSU1QTEUgU1NfTEVGVE5PV09SRFdSQVAKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIFNTX09XTkVSRFJBVyBTU19CSVRNQVAgU1NfRU5ITUVUQUZJTEUgU1NfRVRDSEVESE9SWiBTU19FVENIRURWRVJUIFNTX0VUQ0hFREZSQU1FCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBTU19UWVBFTUFTSyBTU19OT1BSRUZJWCBTU19OT1RJRlkgU1NfQ0VOVEVSSU1BR0UgU1NfUklHSFRKVVNUIFNTX1JFQUxTSVpFSU1BR0UKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIFNTX1NVTktFTiBTU19FTkRFTExJUFNJUyBTU19QQVRIRUxMSVBTSVMgU1NfV09SREVMTElQU0lTIFNTX0VMTElQU0lTTUFTSworc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgRFNfQUJTQUxJR04gRFNfU1lTTU9EQUwgRFNfTE9DQUxFRElUIERTX1NFVEZPTlQgRFNfTU9EQUxGUkFNRSBEU19OT0lETEVNU0cKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIERTX1NFVEZPUkVHUk9VTkQgRFNfM0RMT09LIERTX0ZJWEVEU1lTIERTX05PRkFJTENSRUFURSBEU19DT05UUk9MIERTX0NFTlRFUgorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgRFNfQ0VOVEVSTU9VU0UgRFNfQ09OVEVYVEhFTFAKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIExCU19OT1RJRlkgTEJTX1NPUlQgTEJTX05PUkVEUkFXIExCU19NVUxUSVBMRVNFTCBMQlNfT1dORVJEUkFXRklYRUQKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIExCU19PV05FUkRSQVdWQVJJQUJMRSBMQlNfSEFTU1RSSU5HUyBMQlNfVVNFVEFCU1RPUFMgTEJTX05PSU5URUdSQUxIRUlHSFQKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIExCU19NVUxUSUNPTFVNTiBMQlNfV0FOVEtFWUJPQVJESU5QVVQgTEJTX0VYVEVOREVEU0VMIExCU19ESVNBQkxFTk9TQ1JPTEwKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIExCU19OT0RBVEEgTEJTX05PU0VMIExCU19TVEFOREFSRAorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgQ0JTX1NJTVBMRSBDQlNfRFJPUERPV04gQ0JTX0RST1BET1dOTElTVCBDQlNfT1dORVJEUkFXRklYRUQgQ0JTX09XTkVSRFJBV1ZBUklBQkxFCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBDQlNfQVVUT0hTQ1JPTEwgQ0JTX09FTUNPTlZFUlQgQ0JTX1NPUlQgQ0JTX0hBU1NUUklOR1MgQ0JTX05PSU5URUdSQUxIRUlHSFQKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIENCU19ESVNBQkxFTk9TQ1JPTEwgQ0JTX1VQUEVSQ0FTRSBDQlNfTE9XRVJDQVNFCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBTQlNfSE9SWiBTQlNfVkVSVCBTQlNfVE9QQUxJR04gU0JTX0xFRlRBTElHTiBTQlNfQk9UVE9NQUxJR04gU0JTX1JJR0hUQUxJR04KK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIFNCU19TSVpFQk9YVE9QTEVGVEFMSUdOIFNCU19TSVpFQk9YQk9UVE9NUklHSFRBTElHTiBTQlNfU0laRUJPWCBTQlNfU0laRUdSSVAKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIENDU19UT1AgQ0NTX05PTU9WRVkgQ0NTX0JPVFRPTSBDQ1NfTk9SRVNJWkUgQ0NTX05PUEFSRU5UQUxJR04gQ0NTX0FESlVTVEFCTEUKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIENDU19OT0RJVklERVIKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIExWU19JQ09OIExWU19SRVBPUlQgTFZTX1NNQUxMSUNPTiBMVlNfTElTVCBMVlNfVFlQRU1BU0sgTFZTX1NJTkdMRVNFTCBMVlNfU0hPV1NFTEFMV0FZUworc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgTFZTX1NPUlRBU0NFTkRJTkcgTFZTX1NPUlRERVNDRU5ESU5HIExWU19TSEFSRUlNQUdFTElTVFMgTFZTX05PTEFCRUxXUkFQCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBMVlNfRURJVExBQkVMUyBMVlNfT1dORVJEQVRBIExWU19OT1NDUk9MTCBMVlNfVFlQRVNUWUxFTUFTSyAgTFZTX0FMSUdOVE9QIExWU19BTElHTkxFRlQKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIExWU19BTElHTk1BU0sgTFZTX09XTkVSRFJBV0ZJWEVEIExWU19OT0NPTFVNTkhFQURFUiBMVlNfTk9TT1JUSEVBREVSIExWU19BVVRPQVJSQU5HRQorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgVFZTX0hBU0JVVFRPTlMgVFZTX0hBU0xJTkVTIFRWU19MSU5FU0FUUk9PVCBUVlNfRURJVExBQkVMUyBUVlNfRElTQUJMRURSQUdEUk9QCitzeW4ga2V5d29yZCByY0F0dHJpYnV0ZSBUVlNfU0hPV1NFTEFMV0FZUworc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgVENTX0ZPUkNFSUNPTkxFRlQgVENTX0ZPUkNFTEFCRUxMRUZUIFRDU19UQUJTIFRDU19CVVRUT05TIFRDU19TSU5HTEVMSU5FIFRDU19NVUxUSUxJTkUKK3N5biBrZXl3b3JkIHJjQXR0cmlidXRlIFRDU19SSUdIVEpVU1RJRlkgVENTX0ZJWEVEV0lEVEggVENTX1JBR0dFRFJJR0hUIFRDU19GT0NVU09OQlVUVE9ORE9XTgorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgVENTX09XTkVSRFJBV0ZJWEVEIFRDU19UT09MVElQUyBUQ1NfRk9DVVNORVZFUgorc3luIGtleXdvcmQgcmNBdHRyaWJ1dGUgQUNTX0NFTlRFUiBBQ1NfVFJBTlNQQVJFTlQgQUNTX0FVVE9QTEFZCitzeW4ga2V5d29yZCByY1N0ZElkIElESV9BUFBMSUNBVElPTiBJRElfSEFORCBJRElfUVVFU1RJT04gSURJX0VYQ0xBTUFUSU9OIElESV9BU1RFUklTSyBJRElfV0lOTE9HTyBJRElfV0lOTE9HTworc3luIGtleXdvcmQgcmNTdGRJZCBJRElfV0FSTklORyBJRElfRVJST1IgSURJX0lORk9STUFUSU9OCitzeW4ga2V5d29yZCByY1N0ZElkIElEQ0FOQ0VMIElEQUJPUlQgSURSRVRSWSBJRElHTk9SRSBJRFlFUyBJRE5PIElEQ0xPU0UgSURIRUxQIElEQ19TVEFUSUMKKworIiBDb21tb24gUkMga2V5d29yZHMKKworIiBDb21tb24gUkMga2V5d29yZHMKK3N5biBrZXl3b3JkIHJjVG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFgKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb25zdGFudHMKKyIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2ggaGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKK3N5biBtYXRjaCByY1NwZWNpYWwgY29udGFpbmVkCSJcXFswLTddWzAtN11bMC03XVw9XHxcXC4iCitzeW4gcmVnaW9uIHJjU3RyaW5nCQlzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXJjU3BlY2lhbAorc3luIG1hdGNoIHJjQ2hhcmFjdGVyCQkiJ1teXFxdJyIKK3N5biBtYXRjaCByY1NwZWNpYWxDaGFyYWN0ZXIJIidcXC4nIgorc3luIG1hdGNoIHJjU3BlY2lhbENoYXJhY3RlcgkiJ1xcWzAtN11bMC03XSciCitzeW4gbWF0Y2ggcmNTcGVjaWFsQ2hhcmFjdGVyCSInXFxbMC03XVswLTddWzAtN10nIgorCisiY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworc3luIHJlZ2lvbiByY1BhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQscmNQYXJlbkVycm9yLHJjSW5jbHVkZWQscmNTcGVjaWFsLHJjVG9kbworc3luIG1hdGNoIHJjUGFyZW5FcnJvcgkJIikiCitzeW4gbWF0Y2ggcmNJblBhcmVuIGNvbnRhaW5lZAkiW3t9XSIKKworImludGVnZXIgbnVtYmVyLCBvciBmbG9hdGluZyBwb2ludCBudW1iZXIgd2l0aG91dCBhIGRvdCBhbmQgd2l0aCAiZiIuCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCByY051bWJlcgkJIlw8XGRcK1wodVw9bFw9XHxsdVx8ZlwpXD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCByY0Zsb2F0CQkiXDxcZFwrXC5cZCpcKGVbLStdXD1cZFwrXClcPVtmbF1cPVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCByY0Zsb2F0CQkiXC5cZFwrXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CitzeW4gbWF0Y2ggcmNGbG9hdAkJIlw8XGRcK2VbLStdXD1cZFwrW2ZsXVw9XD4iCisiaGV4IG51bWJlcgorc3luIG1hdGNoIHJjTnVtYmVyCQkiXDwweFswLTlhLWZdXCtcKHVcPWxcPVx8bHVcKVw+IgorInN5biBtYXRjaCByY0lkZW50aWZpZXIJIlw8W2Etel9dW2EtejAtOV9dKlw+Igorc3luIGNhc2UgbWF0Y2gKKyIgZmxhZyBhbiBvY3RhbCBudW1iZXIgd2l0aCB3cm9uZyBkaWdpdHMKK3N5biBtYXRjaCByY09jdGFsRXJyb3IJCSJcPDBbMC03XSpbODldIgorCitpZiBleGlzdHMoInJjX2NvbW1lbnRfc3RyaW5ncyIpCisgICIgQSBjb21tZW50IGNhbiBjb250YWluIHJjU3RyaW5nLCByY0NoYXJhY3RlciBhbmQgcmNOdW1iZXIuCisgICIgQnV0IGEgIiovIiBpbnNpZGUgYSByY1N0cmluZyBpbiBhIHJjQ29tbWVudCBET0VTIGVuZCB0aGUgY29tbWVudCEgIFNvIHdlCisgICIgbmVlZCB0byB1c2UgYSBzcGVjaWFsIHR5cGUgb2YgcmNTdHJpbmc6IHJjQ29tbWVudFN0cmluZywgd2hpY2ggYWxzbyBlbmRzIG9uCisgICIgIiovIiwgYW5kIHNlZXMgYSAiKiIgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIGFzIGNvbW1lbnQgYWdhaW4uCisgICIgVW5mb3J0dW5hdGVseSB0aGlzIGRvZXNuJ3QgdmVyeSB3ZWxsIHdvcmsgZm9yIC8vIHR5cGUgb2YgY29tbWVudHMgOi0oCisgIHN5bnRheCBtYXRjaCByY0NvbW1lbnRTa2lwCWNvbnRhaW5lZCAiXlxzKlwqXCgkXHxcc1wrXCkiCisgIHN5bnRheCByZWdpb24gcmNDb21tZW50U3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0rXCovK21lPXMtMSBjb250YWlucz1yY1NwZWNpYWwscmNDb21tZW50U2tpcAorICBzeW50YXggcmVnaW9uIHJjQ29tbWVudDJTdHJpbmcJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZW5kPSIkIiBjb250YWlucz1yY1NwZWNpYWwKKyAgc3ludGF4IHJlZ2lvbiByY0NvbW1lbnQJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPXJjVG9kbyxyY0NvbW1lbnRTdHJpbmcscmNDaGFyYWN0ZXIscmNOdW1iZXIscmNGbG9hdAorICBzeW50YXggbWF0Y2ggIHJjQ29tbWVudAkiLy8uKiIgY29udGFpbnM9cmNUb2RvLHJjQ29tbWVudDJTdHJpbmcscmNDaGFyYWN0ZXIscmNOdW1iZXIKK2Vsc2UKKyAgc3luIHJlZ2lvbiByY0NvbW1lbnQJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1yY1RvZG8KKyAgc3luIG1hdGNoIHJjQ29tbWVudAkJIi8vLioiIGNvbnRhaW5zPXJjVG9kbworZW5kaWYKK3N5bnRheCBtYXRjaCByY0NvbW1lbnRFcnJvcgkiXCovIgorCitzeW4gcmVnaW9uIHJjUHJlQ29uZGl0CXN0YXJ0PSJeXHMqI1xzKlwoaWZcPlx8aWZkZWZcPlx8aWZuZGVmXD5cfGVsaWZcPlx8ZWxzZVw+XHxlbmRpZlw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1yY0NvbW1lbnQscmNTdHJpbmcscmNDaGFyYWN0ZXIscmNOdW1iZXIscmNDb21tZW50RXJyb3IKK3N5biByZWdpb24gcmNJbmNsdWRlZCBjb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworc3luIG1hdGNoIHJjSW5jbHVkZWQgY29udGFpbmVkICI8W14+XSo+Igorc3luIG1hdGNoIHJjSW5jbHVkZQkJIl5ccyojXHMqaW5jbHVkZVw+XHMqWyI8XSIgY29udGFpbnM9cmNJbmNsdWRlZAorInN5biBtYXRjaCByY0xpbmVTa2lwCSJcXCQiCitzeW4gcmVnaW9uIHJjRGVmaW5lCQlzdGFydD0iXlxzKiNccypcKGRlZmluZVw+XHx1bmRlZlw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQscmNQcmVDb25kaXQscmNJbmNsdWRlZCxyY0luY2x1ZGUscmNEZWZpbmUscmNJblBhcmVuCitzeW4gcmVnaW9uIHJjUHJlUHJvYwkJc3RhcnQ9Il5ccyojXHMqXChwcmFnbWFcPlx8bGluZVw+XHx3YXJuaW5nXD5cfHdhcm5cPlx8ZXJyb3JcPlwpIiBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9QUxMQlVULHJjUHJlQ29uZGl0LHJjSW5jbHVkZWQscmNJbmNsdWRlLHJjRGVmaW5lLHJjSW5QYXJlbgorCitzeW4gc3luYyBjY29tbWVudCByY0NvbW1lbnQgbWlubGluZXM9MTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcmNfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcmNDaGFyYWN0ZXIJQ2hhcmFjdGVyCisgIEhpTGluayByY1NwZWNpYWxDaGFyYWN0ZXIgcmNTcGVjaWFsCisgIEhpTGluayByY051bWJlcglOdW1iZXIKKyAgSGlMaW5rIHJjRmxvYXQJRmxvYXQKKyAgSGlMaW5rIHJjT2N0YWxFcnJvcglyY0Vycm9yCisgIEhpTGluayByY1BhcmVuRXJyb3IJcmNFcnJvcgorICBIaUxpbmsgcmNJblBhcmVuCXJjRXJyb3IKKyAgSGlMaW5rIHJjQ29tbWVudEVycm9yCXJjRXJyb3IKKyAgSGlMaW5rIHJjSW5jbHVkZQlJbmNsdWRlCisgIEhpTGluayByY1ByZVByb2MJUHJlUHJvYworICBIaUxpbmsgcmNEZWZpbmUJTWFjcm8KKyAgSGlMaW5rIHJjSW5jbHVkZWQJcmNTdHJpbmcKKyAgSGlMaW5rIHJjRXJyb3IJRXJyb3IKKyAgSGlMaW5rIHJjUHJlQ29uZGl0CVByZUNvbmRpdAorICBIaUxpbmsgcmNDb21tZW50U3RyaW5nIHJjU3RyaW5nCisgIEhpTGluayByY0NvbW1lbnQyU3RyaW5nIHJjU3RyaW5nCisgIEhpTGluayByY0NvbW1lbnRTa2lwCXJjQ29tbWVudAorICBIaUxpbmsgcmNTdHJpbmcJU3RyaW5nCisgIEhpTGluayByY0NvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgcmNTcGVjaWFsCVNwZWNpYWxDaGFyCisgIEhpTGluayByY1RvZG8JVG9kbworCisgIEhpTGluayByY0F0dHJpYnV0ZQlyY0NvbW1vbkF0dHJpYnV0ZQorICBIaUxpbmsgcmNTdGRJZAlyY1N0YXRlbWVudAorICBIaUxpbmsgcmNTdGF0ZW1lbnQJU3RhdGVtZW50CisKKyAgIiBEZWZhdWx0IGNvbG9yIG92ZXJyaWRlcworICBoaSBkZWYgcmNMYW5ndWFnZQl0ZXJtPXJldmVyc2UgY3Rlcm1iZz1SZWQgY3Rlcm1mZz1ZZWxsb3cgZ3VpYmc9UmVkIGd1aWZnPVllbGxvdworICBoaSBkZWYgcmNNYWluT2JqZWN0CXRlcm09dW5kZXJsaW5lIGN0ZXJtZmc9Qmx1ZSBndWlmZz1CbHVlCisgIGhpIGRlZiByY1N1Yk9iamVjdAljdGVybWZnPUdyZWVuIGd1aWZnPUdyZWVuCisgIGhpIGRlZiByY0NhcHRpb25QYXJhbQl0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtHcmVlbiBndWlmZz1HcmVlbgorICBoaSBkZWYgcmNQYXJhbQljdGVybWZnPURhcmtHcmVlbiBndWlmZz1EYXJrR3JlZW4KKyAgaGkgZGVmIHJjU3RhdGVtZW50CWN0ZXJtZmc9RGFya0dyZWVuIGd1aWZnPURhcmtHcmVlbgorICBoaSBkZWYgcmNDb21tb25BdHRyaWJ1dGUJY3Rlcm1mZz1Ccm93biBndWlmZz1Ccm93bgorCisgICJIaUxpbmsgcmNJZGVudGlmaWVyCUlkZW50aWZpZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicmMiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yY3MudmltIGIvcnVudGltZS9zeW50YXgvcmNzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGE5MGM2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcmNzLnZpbQpAQCAtMCwwICsxLDc2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUkNTIGZpbGUKKyIgTWFpbnRhaW5lcjoJRG1pdHJ5IFZhc2lsaWV2IDxkaW1hQGhsYWJzLnNwYi5ydT4KKyIgVVJMOgkJaHR0cDovL3d3dy5obGFicy5zcGIucnUvdmltL3Jjcy52aW0KKyIgTGFzdCBDaGFuZ2U6CSREYXRlJAorIiBGaWxlbmFtZXM6CSosdgorIiAkUmV2aXNpb24kCisiCisiIE9wdGlvbnM6CisiIHJjc19mb2xkaW5nID0gMQkJRm9yIGZvbGRpbmcgc3RyaW5ncworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcy4KKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBSQ1MgZmlsZSBtdXN0IGVuZCB3aXRoIGEgbmV3bGluZS4KK3N5biBtYXRjaCByY3NFT0ZFcnJvcgkiLlwlJCIgY29udGFpbmVkaW49QUxMCisKKyIgS2V5d29yZHMuCitzeW4ga2V5d29yZCByY3NLZXl3b3JkCWhlYWQgYnJhbmNoIGFjY2VzcyBzeW1ib2xzIGxvY2tzIHN0cmljdAorc3luIGtleXdvcmQgcmNzS2V5d29yZAljb21tZW50IGV4cGFuZCBkYXRlIGF1dGhvciBzdGF0ZSBicmFuY2hlcworc3luIGtleXdvcmQgcmNzS2V5d29yZAluZXh0IGRlc2MgbG9nCitzeW4ga2V5d29yZCByY3NLZXl3b3JkCXRleHQgbmV4dGdyb3VwPXJjc1RleHRTdHIgc2tpcHdoaXRlIHNraXBlbXB0eQorCisiIFJldmlzaW9uIG51bWJlcnMgYW5kIGRhdGVzLgorc3luIG1hdGNoIHJjc051bWJlcgkiXDxbMC05Ll1cK1w+IiBkaXNwbGF5CisKKyIgU3RyaW5ncy4KK2lmIGV4aXN0cygicmNzX2ZvbGRpbmciKSAmJiBoYXMoImZvbGRpbmciKQorICAiIEZvbGRlZCBzdHJpbmdzLgorICBzeW4gcmVnaW9uIHJjc1N0cmluZwltYXRjaGdyb3VwPXJjc1N0cmluZyBzdGFydD0iQCIgZW5kPSJAIiBza2lwPSJAQCIgZm9sZCBjb250YWlucz1yY3NTcGVjaWFsCisgIHN5biByZWdpb24gcmNzVGV4dFN0cgltYXRjaGdyb3VwPXJjc1RleHRTdHIgc3RhcnQ9IkAiIGVuZD0iQCIgc2tpcD0iQEAiIGZvbGQgY29udGFpbmVkIGNvbnRhaW5zPXJjc1NwZWNpYWwscmNzRGlmZkxpbmVzCitlbHNlCisgIHN5biByZWdpb24gcmNzU3RyaW5nCW1hdGNoZ3JvdXA9cmNzU3RyaW5nIHN0YXJ0PSJAIiBlbmQ9IkAiIHNraXA9IkBAIiBjb250YWlucz1yY3NTcGVjaWFsCisgIHN5biByZWdpb24gcmNzVGV4dFN0cgltYXRjaGdyb3VwPXJjc1RleHRTdHIgc3RhcnQ9IkAiIGVuZD0iQCIgc2tpcD0iQEAiIGNvbnRhaW5lZCBjb250YWlucz1yY3NTcGVjaWFsLHJjc0RpZmZMaW5lcworZW5kaWYKK3N5biBtYXRjaCByY3NTcGVjaWFsCSJAQCIgY29udGFpbmVkCitzeW4gbWF0Y2ggcmNzRGlmZkxpbmVzCSJbZGFdXGRcKyBcZFwrJCIgY29udGFpbmVkCisKKyIgU3luY2hyb25pemF0aW9uLgorc3luIHN5bmMgY2xlYXIKK2lmIGV4aXN0cygicmNzX2ZvbGRpbmciKSAmJiBoYXMoImZvbGRpbmciKQorICBzeW4gc3luYyBmcm9tc3RhcnQKK2Vsc2UKKyAgIiBXZSBoYXZlIGluY29ycmVjdCBmb2xkaW5nIGlmIGZvbGxvd2luZyBzeW5jIHBhdHRlcm5zIGlzIHR1cm5lZCBvbi4KKyAgc3luIHN5bmMgbWF0Y2ggcmNzU3luYwlncm91cGhlcmUgcmNzU3RyaW5nICJbMC05Ll1cK1woXHNcfFxuXClcK2xvZ1woXHNcfFxuXClcK0AibWU9ZS0xCisgIHN5biBzeW5jIG1hdGNoIHJjc1N5bmMJZ3JvdXBoZXJlIHJjc1RleHRTdHIgIkBcKFxzXHxcblwpXCt0ZXh0XChcc1x8XG5cKVwrQCJtZT1lLTEKK2VuZGlmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeS4KKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQuCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmNzX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPD0gNTA4CisgICAgbGV0IGRpZF9yY3Nfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcmNzS2V5d29yZAlLZXl3b3JkCisgIEhpTGluayByY3NOdW1iZXIJSWRlbnRpZmllcgorICBIaUxpbmsgcmNzU3RyaW5nCVN0cmluZworICBIaUxpbmsgcmNzVGV4dFN0cglTdHJpbmcKKyAgSGlMaW5rIHJjc1NwZWNpYWwJU3BlY2lhbAorICBIaUxpbmsgcmNzRGlmZkxpbmVzCVNwZWNpYWwKKyAgSGlMaW5rIHJjc0VPRkVycm9yCUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJjcyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Jjc2xvZy52aW0gYi9ydW50aW1lL3N5bnRheC9yY3Nsb2cudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYWNmYTEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9yY3Nsb2cudmltCkBAIC0wLDAgKzEsMzggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglSQ1MgbG9nIG91dHB1dAorIiBNYWludGFpbmVyOglKb2UgS2FydGhhdXNlciA8am9lQGZyZWVic2Qub3JnPgorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMDkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gbWF0Y2ggcmNzbG9nUmV2aXNpb24JIl5yZXZpc2lvbi4qJCIKK3N5biBtYXRjaCByY3Nsb2dGaWxlCQkiXlJDUyBmaWxlOi4qIgorc3luIG1hdGNoIHJjc2xvZ0RhdGUJCSJeZGF0ZTogLiokIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yY3Nsb2dfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcmNzbG9nX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHJjc2xvZ0ZpbGUJCVR5cGUKKyAgSGlMaW5rIHJjc2xvZ1JldmlzaW9uCUNvbnN0YW50CisgIEhpTGluayByY3Nsb2dEYXRlCQlJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJjc2xvZyIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JlYWRsaW5lLnZpbSBiL3J1bnRpbWUvc3ludGF4L3JlYWRsaW5lLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjcyMDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcmVhZGxpbmUudmltCkBAIC0wLDAgKzEsMTUyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIHJlYWRsaW5lIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9yZWFkbGluZS8KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgorIiBhcmNoLXRhZzoJICAgIDZkOGU3ZGE0LWIzOWMtNGJmNy04ZTZhLWQ5MTM1Zjk5MzQ1NworIiBWYXJpYWJsZXM6CisiICAgcmVhZGxpbmVfaGFzX2Jhc2ggLSBpZiBkZWZpbmVkIGFkZCBzdXBwb3J0IGZvciBiYXNoIHNwZWNpZmljCisiCQkJc2V0dGluZ3MvZnVuY3Rpb25zCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFNldCBpc2tleXdvcmQgc2luY2Ugd2UgbmVlZCBgLScgKGFuZCBwb3RlbnRpYWxseSBvdGhlcnMpIGluIGtleXdvcmRzLgorIiBGb3IgdmVyc2lvbiA1Lng6IFNldCBpdCBnbG9iYWxseQorIiBGb3IgdmVyc2lvbiA2Lng6IFNldCBpdCBsb2NhbGx5CitpZiB2ZXJzaW9uID49IDYwMAorICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXRsb2NhbCBpc2tleXdvcmQ9PGFyZ3M+CitlbHNlCisgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+CitlbmRpZgorU2V0SXNrIDQ4LTU3LDY1LTkwLDk3LTEyMiwtCitkZWxjb21tYW5kIFNldElzaworCisiIGNvbW1lbnRzCitzeW4gcmVnaW9uICByZWFkbGluZUNvbW1lbnQJZGlzcGxheSBvbmVsaW5lIG1hdGNoZ3JvdXA9cmVhZGxpbmVDb21tZW50IHN0YXJ0PSJeXHMqIyIgZW5kPSIkIiBjb250YWlucz1yZWFkbGluZVRvZG8KKworIiB0b2RvCitzeW4ga2V5d29yZCByZWFkbGluZVRvZG8JY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworIiBzdHJpbmdzIChhcmdoLi4ubm90IHRoZSB3YXkgaSB3YW50IGl0LCBidXQgZmluZS4uLiIKK3N5biBtYXRjaCAgIHJlYWRsaW5lU3RyaW5nCSJeXHMqW0EtWmEtei1dXCs6Im1lPWUtMSBjb250YWlucz1yZWFkbGluZUtleXMKK3N5biByZWdpb24gIHJlYWRsaW5lU3RyaW5nCWRpc3BsYXkgb25lbGluZSBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXJlYWRsaW5lS2V5c1R3bworCisiIHNwZWNpYWwga2V5CitzeW4gY2FzZSBpZ25vcmUKK3N5biBrZXl3b3JkIHJlYWRsaW5lS2V5cwljb250YWluZWQgQ29udHJvbCBNZXRhIERlbCBFc2MgRXNjYXBlIExGRCBOZXdsaW5lIFJldCBSZXR1cm4gUnVib3V0IFNwYWNlIFNwYyBUYWIKK3N5biBjYXNlIG1hdGNoCisKK3N5biBtYXRjaCAgIHJlYWRsaW5lS2V5c1R3bwljb250YWluZWQgK1xcXChbQ01dLVx8W2VcXCInYWJkZm5ydHZdXHxcb1x7M31cfHhceFx7M31cKSsKKworIiBrZXltYXBzCitzeW4gbWF0Y2ggICByZWFkbGluZUtleW1hcHMJY29udGFpbmVkICJlbWFjc1woLXN0YW5kYXJkXHwtbWV0YVx8LWN0bHhcKVw9Igorc3luIG1hdGNoICAgcmVhZGxpbmVLZXltYXBzCWNvbnRhaW5lZCAidmlcKC1tb3ZlXHwtY29tbWFuZFx8LWluc2VydFwpXD0iCisKKyIgYmVsbCBzdHlsZXMKK3N5biBrZXl3b3JkIHJlYWRsaW5lQmVsbFN0eWxlcwljb250YWluZWQgYXVkaWJsZSB2aXNpYmxlIG5vbmUKKworIiBudW1iZXJzCitzeW4gbWF0Y2ggICByZWFkbGluZU51bWJlcgljb250YWluZWQgIlw8XGRcK1w+IgorCisiIGJvb2xlYW5zCitzeW4gY2FzZSBpZ25vcmUKK3N5biBrZXl3b3JkIHJlYWRsaW5lQm9vbGVhbgljb250YWluZWQgb24gb2ZmCitzeW4gY2FzZSBtYXRjaAorCisiIGNvbmRpdGlvbmFscworc3luIGtleXdvcmQgcmVhZGxpbmVJZk9wcwljb250YWluZWQgbW9kZSB0ZXJtCisKK3N5biByZWdpb24gIHJlYWRsaW5lQ29uZGl0aW9uYWwgZGlzcGxheSBvbmVsaW5lIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9cmVhZGxpbmVDb25kaXRpb25hbCBzdGFydD0iXlxzKiRpZiIgZW5kPSIkIiBjb250YWlucz1yZWFkbGluZUlmT3BzLHJlYWRsaW5lS2V5bWFwcworc3luIG1hdGNoICAgcmVhZGxpbmVDb25kaXRpb25hbAkiXlxzKiRcKGVsc2VcfGVuZGlmXClcPiIKKworIiBpbmNsdWRlCitzeW4gbWF0Y2ggICByZWFkbGluZUluY2x1ZGUJIl5ccyokaW5jbHVkZVw+IgorCisiIHNldHRpbmdzCisKK3N5biByZWdpb24gIHJlYWRsaW5lU2V0CQlkaXNwbGF5IG9uZWxpbmUgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1yZWFkbGluZUtleXdvcmQgc3RhcnQ9Il5ccypzZXRcPiIgZW5kPSIkIm1lPWUtMSBjb250YWlucz1yZWFkbGluZU51bWJlcixyZWFkbGluZUJvb2xlYW4scmVhZGxpbmVLZXltYXBzLHJlYWRsaW5lQmVsbFN0eWxlcyxyZWFkbGluZVNldHRpbmdzCisKK3N5biBrZXl3b3JkIHJlYWRsaW5lU2V0dGluZ3MJY29udGFpbmVkIGJlbGwtc3R5bGUgY29tbWVudC1iZWdpbiBjb21wbGV0aW9uLWlnbm9yZS1jYXNlCitzeW4ga2V5d29yZCByZWFkbGluZVNldHRpbmdzCWNvbnRhaW5lZCBjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zIGNvbnZlcnQtbWV0YSBkaXNhYmxlLWNvbXBsZXRpb24gZWRpdGluZy1tb2RlIGVuYWJsZS1rZXlwYWQKK3N5biBrZXl3b3JkIHJlYWRsaW5lU2V0dGluZ3MJY29udGFpbmVkIGV4cGFuZC10aWxkZSBob3Jpem9udGFsLXNjcm9sbC1tb2RlIG1hcmstZGlyZWN0b3JpZXMga2V5bWFwIG1hcmstbW9kaWZpZWQtbGluZXMgbWV0YS1mbGFnCitzeW4ga2V5d29yZCByZWFkbGluZVNldHRpbmdzCWNvbnRhaW5lZCBpbnB1dC1tZXRhIG91dHB1dC1tZXRhIHByaW50LWNvbXBsZXRpb25zLWhvcml6b250YWxseSBzaG93LWFsbC1pZi1hbWJpZ3VvdXMgdmlzaWJsZS1zdGF0cworc3luIGtleXdvcmQgcmVhZGxpbmVTZXR0aW5ncwljb250YWluZWQgcHJlZmVyLXZpc2libGUtYmVsbCBibGluay1tYXRjaGluZy1wYXJlbgorc3luIGtleXdvcmQgcmVhZGxpbmVTZXR0aW5ncwljb250YWluZWQgbWF0Y2gtaGlkZGVuLWZpbGVzIGhpc3RvcnktcHJlc2VydmUtcG9pbnQgaXNlYXJjaC10ZXJtaW5hdG9ycworCisiIGJhc2ggZXh0ZW5zaW9ucworaWYgZXhpc3RzKCJyZWFkbGluZV9oYXNfYmFzaCIpCisgICJzeW4ga2V5d29yZCByZWFkbGluZVNldHRpbmdzCWNvbnRhaW5lZAorZW5kaWYKKworIiBrZXkgYmluZGluZ3MKK3N5biByZWdpb24gIHJlYWRsaW5lQmluZGluZwlkaXNwbGF5IG9uZWxpbmUgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1yZWFkbGluZUtleXdvcmQgc3RhcnQ9IjoiIGVuZD0iJCIgY29udGFpbnM9cmVhZGxpbmVLZXlzLHJlYWRsaW5lRnVuY3Rpb25zCisKK3N5biBtYXRjaCAgIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCAiXDxcKGJlZ2lubmluZ1x8ZW5kXCktb2YtbGluZVw+Igorc3luIG1hdGNoICAgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkICJcPFwoYmFja3dhcmRcfGZvcndhcmRcKS1cKGNoYXJcfHdvcmRcKVw+Igorc3luIG1hdGNoICAgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkICJcPFwocHJldmlvdXNcfG5leHRcfFwoYmVnaW5uaW5nXHxlbmRcKS1vZlx8XChub24taW5jcmVtZW50YWwtXClcPVwocmV2ZXJzZVx8Zm9yd2FyZFwpLXNlYXJjaFwpLWhpc3RvcnlcPiIKK3N5biBtYXRjaCAgIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCAiXDxoaXN0b3J5LXNlYXJjaC1cKGZvcndhcmRcfGJhY2t3YXJkXClcPiIKK3N5biBtYXRjaCAgIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCAiXDx5YW5rLVwobnRoXHxsYXN0XCktYXJnXD4iCitzeW4gbWF0Y2ggICByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgIlw8XChiYWNrd2FyZC1cKVw9a2lsbC1cKFwod2hvbGUtXClcPWxpbmVcfHdvcmRcKVw+Igorc3luIG1hdGNoICAgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkICJcPFwoc3RhcnRcfGVuZFx8Y2FsbC1sYXN0XCkta2JkLW1hY3JvXD4iCitzeW4gbWF0Y2ggICByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgIlw8ZHVtcC1cKGZ1bmN0aW9uc1x8dmFyaWFibGVzXHxtYWNyb3NcKVw+Igorc3luIG1hdGNoICAgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkICJcPG5vbi1pbmNyZW1lbnRhbC1cKHJldmVyc2VcfGZvcndhcmRcKS1zZWFyY2gtaGlzdG9yeS1hZ2Fpblw+Igorc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGNsZWFyLXNjcmVlbiByZWRyYXctY3VycmVudC1saW5lIGFjY2VwdC1saW5lIGRlbGV0ZS1jaGFyIGJhY2t3YXJkLWRlbGV0ZS1jaGFyIHF1b3RlZC1pbnNlcnQgdGFiLWluc2VydAorc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIHNlbGYtaW5zZXJ0IHRyYW5zcG9zZS1jaGFycyB0cmFuc3Bvc2Utd29yZHMgZG93bmNhc2Utd29yZCBjYXBpdGFsaXplLXdvcmQgdW5peC13b3JkLXJ1Ym91dAorc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGRlbGV0ZS1ob3Jpem9udGFsLXNwYWNlIGtpbGwtcmVnaW9uIGNvcHktcmVnaW9uLWFzLWtpbGwgY29weS1iYWNrd2FyZC13b3JkIGNvcHktZm9yd2FyZC13b3JkIHlhbmsgeWFuay1wb3AKK3N5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCBkaWdpdC1hcmd1bWVudCB1bml2ZXJzYWwtYXJndW1lbnQgY29tcGxldGUgcG9zc2libGUtY29tcGxldGlvbnMgaW5zZXJ0LWNvbXBsZXRpb25zIG1lbnUtY29tcGxldGUKK3N5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCByZS1yZWFkLWluaXQtZmlsZSBhYm9ydCBkby11cHBlcmNhc2UtdmVyc2lvbiBwcmVmaXgtbWV0YSB1bmRvIHJldmVydC1saW5lIHRpbGRlLWV4cGFuZCBzZXQtbWFyaworc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrIGNoYXJhY3Rlci1zZWFyY2ggY2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCBpbnNlcnQtY29tbWVudCBlbWFjcy1lZGl0aW5nLW1vZGUgdmktZWRpdGluZy1tb2RlCitzeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgdW5peC1saW5lLWRpc2NhcmQgdXBjYXNlLXdvcmQgYmFja3dhcmQtZGVsZXRlLXdvcmQgdmktZW9mLW1heWJlIHZpLW1vdmVtZW50LW1vZGUgdmktbWF0Y2ggdmktdGlsZGUtZXhwYW5kCitzeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgdmktY29tcGxldGUgdmktY2hhci1zZWFyY2ggdmktcmVkbyB2aS1zZWFyY2ggdmktYXJnLWRpZ2l0IHZpLWFwcGVuZC1lb2wgdmktcHJldi13b3JkIHZpLWNoYW5nZS10byB2aS1kZWxldGUtdG8KK3N5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCB2aS1lbmQtd29yZCB2aS1mZXRjaC1oaXN0b3J5IHZpLWluc2VydC1iZWcgdmktc2VhcmNoLWFnYWluIHZpLXB1dCB2aS1yZXBsYWNlIHZpLXN1YnN0IHZpLXlhbmstdG8gdmktZmlyc3QtcHJpbnQKK3N5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCB2aS15YW5rLWFyZyB2aS1nb3RvLW1hcmsgdmktYXBwZW5kLW1vZGUgdmktaW5zZXJ0aW9uLW1vZGUgcHJldi1oaXN0b3J5IHZpLXNldC1tYXJrIHZpLXNlYXJjaC1hZ2FpbiB2aS1wdXQgdmktY2hhbmdlLWNoYXIKK3N5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCB2aS1zdWJzdCB2aS1kZWxldGUgdmkteWFuay10byB2aS1jb2x1bW4gdmktY2hhbmdlLWNhc2Ugdmktb3ZlcnN0cmlrZSB2aS1vdmVyc3RyaWtlLWRlbGV0ZQorc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGRvLWxvd2VyY2FzZS12ZXJzaW9uIGRlbGV0ZS1jaGFyLW9yLWxpc3QgdHR5LXN0YXR1cyBhcnJvdy1rZXktcHJlZml4CitzeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgdmktYmFjay10by1pbmRlbnQgdmktYndvcmQgdmktYldvcmQgdmktZXdvcmQgdmktZVdvcmQgdmktZndvcmQgdmktZldvcmQgdmktbmV4dC13b3JkCisKKyIgYmFzaCBleHRlbnNpb25zCitpZiBleGlzdHMoInJlYWRsaW5lX2hhc19iYXNoIikKKyAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIHNoZWxsLWV4cGFuZC1saW5lIGhpc3RvcnktZXhwYW5kLWxpbmUgbWFnaWMtc3BhY2UgYWxpYXMtZXhwYW5kLWxpbmUgaGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUgaW5zZXJ0LWxhc3QtYXJndW1lbnQKKyAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIG9wZXJhdGUtYW5kLWdldC1uZXh0IGZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIgZGVsZXRlLWNoYXItb3ItbGlzdCBjb21wbGV0ZS1maWxlbmFtZSBwb3NzaWJsZS1maWxlbmFtZS1jb21wbGV0aW9ucworICBzeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgY29tcGxldGUtdXNlcm5hbWUgcG9zc2libGUtdXNlcm5hbWUtY29tcGxldGlvbnMgY29tcGxldGUtdmFyaWFibGUgcG9zc2libGUtdmFyaWFibGUtY29tcGxldGlvbnMgY29tcGxldGUtaG9zdG5hbWUKKyAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIHBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zIGNvbXBsZXRlLWNvbW1hbmQgcG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucyBkeW5hbWljLWNvbXBsZXRlLWhpc3RvcnkgY29tcGxldGUtaW50by1icmFjZXMKKyAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGdsb2ItZXhwYW5kLXdvcmQgZ2xvYi1saXN0LWV4cGFuc2lvbnMgZGlzcGxheS1zaGVsbC12ZXJzaW9uCisgIHN5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCBnbG9iLWNvbXBsZXRlLXdvcmQgZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kCitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yZWFkbGluZV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9yZWFkbGluZV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayByZWFkbGluZUNvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgcmVhZGxpbmVUb2RvCQlUb2RvCisgIEhpTGluayByZWFkbGluZVN0cmluZwkJU3RyaW5nCisgIEhpTGluayByZWFkbGluZUtleXMJCVNwZWNpYWxDaGFyCisgIEhpTGluayByZWFkbGluZUtleXNUd28JU3BlY2lhbENoYXIKKyAgSGlMaW5rIHJlYWRsaW5lS2V5bWFwcwlDb25zdGFudAorICBIaUxpbmsgcmVhZGxpbmVCZWxsU3R5bGVzCUNvbnN0YW50CisgIEhpTGluayByZWFkbGluZU51bWJlcgkJTnVtYmVyCisgIEhpTGluayByZWFkbGluZUJvb2xlYW4JQm9vbGVhbgorICBIaUxpbmsgcmVhZGxpbmVJZk9wcwkJVHlwZQorICBIaUxpbmsgcmVhZGxpbmVDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgcmVhZGxpbmVJbmNsdWRlCUluY2x1ZGUKKyAgSGlMaW5rIHJlYWRsaW5lS2V5d29yZAlLZXl3b3JkCisgIEhpTGluayByZWFkbGluZVNldHRpbmdzCVR5cGUKKyAgSGlMaW5rIHJlYWRsaW5lRnVuY3Rpb25zCVR5cGUKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJlYWRsaW5lIgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yZWJvbC52aW0gYi9ydW50aW1lL3N5bnRheC9yZWJvbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYzOTU3NQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3JlYm9sLnZpbQpAQCAtMCwwICsxLDIxNiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVJlYm9sCisiIE1haW50YWluZXI6CU1pa2UgV2lsbGlhbXMgPG1yd0BlYW5kZW0uY28udWs+CisiIEZpbGVuYW1lczoJKi5yCisiIExhc3QgQ2hhbmdlOgkyN3RoIEp1bmUgMjAwMgorIiBVUkw6CQlodHRwOi8vd3d3LmVhbmRlbS5jby51ay9tcncvdmltCisiCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBSZWJvbCBpcyBjYXNlIGluc2Vuc2l0aXZlCitzeW4gY2FzZSBpZ25vcmUKKworIiBBcyBwZXIgY3VycmVudCB1c2VycyBkb2N1bWVudGF0aW9uCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNldCBpc2s9QCw0OC01Nyw/LCEsLiwnLCssLSwqLCYsXHwsPSxfLH4KK2Vsc2UKKyAgc2V0bG9jYWwgaXNrPUAsNDgtNTcsPywhLC4sJywrLC0sKiwmLFx8LD0sXyx+CitlbmRpZgorCisiIFllciBUT0RPIGhpZ2hsaWdodGVyCitzeW4ga2V5d29yZAlyZWJvbFRvZG8JY29udGFpbmVkIFRPRE8KKworIiBDb21tZW50cworc3luIG1hdGNoICAgICAgIHJlYm9sQ29tbWVudCAgICAiOy4qJCIgY29udGFpbnM9cmVib2xUb2RvCisKKyIgV29yZHMKK3N5biBtYXRjaCAgICAgICByZWJvbFdvcmQgICAgICAgIlxhXGsqIgorc3luIG1hdGNoICAgICAgIHJlYm9sV29yZFBhdGggICAiW15bOnNwYWNlOl1dL1teWzpzcGFjZV1dIm1zPXMrMSxtZT1lLTEKKworIiBCb29sZWFucworc3luIGtleXdvcmQgICAgIHJlYm9sQm9vbGVhbiAgICB0cnVlIGZhbHNlIG9uIG9mZiB5ZXMgbm8KKworIiBWYWx1ZXMKKyIgSW50ZWdlcnMKK3N5biBtYXRjaCAgICAgICByZWJvbEludGVnZXIgICAgIlw8WystXVw9XGRcK1woJ1xkKlwpKlw+IgorIiBEZWNpbWFscworc3luIG1hdGNoICAgICAgIHJlYm9sRGVjaW1hbCAgICAiWystXVw9XChcZFwrXCgnXGQqXCkqXClcPVssLl1cZCpcKGVbKy1dXD1cZFwrXClcPSIKK3N5biBtYXRjaCAgICAgICByZWJvbERlY2ltYWwgICAgIlsrLV1cPVxkXCtcKCdcZCpcKSpcKGVbKy1dXD1cZFwrXClcPSIKKyIgVGltZQorc3luIG1hdGNoICAgICAgIHJlYm9sVGltZSAgICAgICAiWystXVw9XChcZFwrXCgnXGQqXCkqXDpcKVx7MSwyfVxkXCtcKCdcZCpcKSpcKFsuLF1cZFwrXClcPVwoW0FQXU1cKVw9XD4iCitzeW4gbWF0Y2ggICAgICAgcmVib2xUaW1lICAgICAgICJbKy1dXD06XGRcK1woWy4sXVxkKlwpXD1cKFtBUF1NXClcPVw+IgorIiBEYXRlcworIiBERC1NTU0tWVkgJiBZWVlZIGZvcm1hdAorc3luIG1hdGNoICAgICAgIHJlYm9sRGF0ZSAgICAgICAiXGRcezEsMn1cKFsvLV1cKVwoSmFuXHxGZWJcfE1hclx8QXByXHxNYXlcfEp1blx8SnVsXHxBdWdcfFNlcFx8T2N0XHxOb3ZcfERlY1wpXDFcKFxkXHsyfVwpXHsxLDJ9XD4iCisiIERELW1vbnRoLVlZICYgWVlZWSBmb3JtYXQKK3N5biBtYXRjaCAgICAgICByZWJvbERhdGUgICAgICAgIlxkXHsxLDJ9XChbLy1dXClcKEphbnVhcnlcfEZlYnJ1YXJ5XHxNYXJjaFx8QXByaWxcfE1heVx8SnVuZVx8SnVseVx8QXVndXN0XHxTZXB0ZW1iZXJcfE9jdG9iZXJcfE5vdmVtYmVyXHxEZWNlbWJlclwpXDFcKFxkXHsyfVwpXHsxLDJ9XD4iCisiIERELU1NLVlZICYgWVkgZm9ybWF0CitzeW4gbWF0Y2ggICAgICAgcmVib2xEYXRlICAgICAgICJcZFx7MSwyfVwoWy8tXVwpXGRcezEsMn1cMVwoXGRcezJ9XClcezEsMn1cPiIKKyIgWVlZWS1NTS1ZWSBmb3JtYXQKK3N5biBtYXRjaCAgICAgICByZWJvbERhdGUgICAgICAgIlxkXHs0fS1cZFx7MSwyfS1cZFx7MSwyfVw+IgorIiBERC5NTS5ZWVlZIGZvcm1hdAorc3luIG1hdGNoICAgICAgIHJlYm9sRGF0ZSAgICAgICAiXGRcezEsMn1cLlxkXHsxLDJ9XC5cZFx7NH1cPiIKKyIgTW9uZXkKK3N5biBtYXRjaCAgICAgICByZWJvbE1vbmV5ICAgICAgIlxhKlwkXGRcK1woJ1xkKlwpKlwoWywuXVxkXCtcKVw9IgorIiBTdHJpbmdzCitzeW4gcmVnaW9uICAgICAgcmVib2xTdHJpbmcgICAgIG9uZWxpbmUgc3RhcnQ9KyIrIHNraXA9K14iKyBlbmQ9KyIrIGNvbnRhaW5zPXJlYm9sU3BlY2lhbENoYXJhY3Rlcgorc3luIHJlZ2lvbiAgICAgIHJlYm9sU3RyaW5nICAgICBzdGFydD0rW14jXXsrIGVuZD0rfSsgc2tpcD0re1tefV0qfSsgY29udGFpbnM9cmVib2xTcGVjaWFsQ2hhcmFjdGVyCisiIEJpbmFyeQorc3luIHJlZ2lvbiAgICAgIHJlYm9sQmluYXJ5ICAgICBzdGFydD0rXGQqI3srIGVuZD0rfSsgY29udGFpbnM9cmVib2xDb21tZW50CisiIEVtYWlsCitzeW4gbWF0Y2ggICAgICAgcmVib2xFbWFpbCAgICAgICJcPFxrXCtAXChca1wrXC5cKSpca1wrXD4iCisiIEZpbGUKK3N5biBtYXRjaCAgICAgICByZWJvbEZpbGUgICAgICAgIiVcKFxrXCsvXCkqXGtcK1svXVw9IiBjb250YWlucz1yZWJvbFNwZWNpYWxDaGFyYWN0ZXIKK3N5biByZWdpb24gICAgICByZWJvbEZpbGUgICAgICAgb25lbGluZSBzdGFydD0rJSIrIGVuZD0rIisgY29udGFpbnM9cmVib2xTcGVjaWFsQ2hhcmFjdGVyCisiIFVSTHMKK3N5biBtYXRjaAlyZWJvbFVSTAkiaHR0cDovL1xrXCtcKFwuXGtcK1wpKlwoOlxkXCtcKVw9XCgvXChca1wrL1wpKlwoXGtcK1wpXD1cKSoiCitzeW4gbWF0Y2gJcmVib2xVUkwJImZpbGU6Ly9ca1wrXChcLlxrXCtcKSovXChca1wrL1wpKlxrXCsiCitzeW4gbWF0Y2gJcmVib2xVUkwJImZ0cDovL1woXGtcKzpca1wrQFwpXD1ca1wrXChcLlxrXCtcKSpcKDpcZFwrXClcPS9cKFxrXCsvXCkqXGtcKyIKK3N5biBtYXRjaAlyZWJvbFVSTAkibWFpbHRvOlxrXCtcKFwuXGtcK1wpKkBca1wrXChcLlxrXCtcKSoiCisiIElzc3Vlcworc3luIG1hdGNoCXJlYm9sSXNzdWUJIiNcKFxkXCstXCkqXGRcKyIKKyIgVHVwbGVzCitzeW4gbWF0Y2gJcmVib2xUdXBsZQkiXChcZFwrXC5cKVx7Mix9IgorCisiIENoYXJhY3RlcnMKK3N5biBtYXRjaCAgICAgICByZWJvbFNwZWNpYWxDaGFyYWN0ZXIgY29udGFpbmVkICJcXlteWzpzcGFjZTpdW10iCitzeW4gbWF0Y2ggICAgICAgcmVib2xTcGVjaWFsQ2hhcmFjdGVyIGNvbnRhaW5lZCAiJVxkXCsiCisKKworIiBPcGVyYXRvcnMKKyIgTWF0aCBvcGVyYXRvcnMKK3N5biBtYXRjaCAgICAgICByZWJvbE1hdGhPcGVyYXRvciAgIlwoXCpcezEsMn1cfCtcfC1cfC9cezEsMn1cKSIKK3N5biBrZXl3b3JkICAgICByZWJvbE1hdGhGdW5jdGlvbiAgYWJzIGFic29sdXRlIGFkZCBhcmNjb3NpbmUgYXJjc2luZSBhcmN0YW5nZW50IGNvc2luZQorc3luIGtleXdvcmQgICAgIHJlYm9sTWF0aEZ1bmN0aW9uICBkaXZpZGUgZXhwIGxvZy0xMCBsb2ctMiBsb2ctZSBtYXggbWF4aW11bSBtaW4KK3N5biBrZXl3b3JkICAgICByZWJvbE1hdGhGdW5jdGlvbiAgbWluaW11bSBtdWx0aXBseSBuZWdhdGUgcG93ZXIgcmFuZG9tIHJlbWFpbmRlciBzaW5lCitzeW4ga2V5d29yZCAgICAgcmVib2xNYXRoRnVuY3Rpb24gIHNxdWFyZS1yb290IHN1YnRyYWN0IHRhbmdlbnQKKyIgQmluYXJ5IG9wZXJhdG9ycworc3luIGtleXdvcmQgICAgIHJlYm9sQmluYXJ5T3BlcmF0b3IgY29tcGxlbWVudCBhbmQgb3IgeG9yIH4KKyIgTG9naWMgb3BlcmF0b3JzCitzeW4gbWF0Y2ggICAgICAgcmVib2xMb2dpY09wZXJhdG9yICJbPD49XT1cPSIKK3N5biBtYXRjaCAgICAgICByZWJvbExvZ2ljT3BlcmF0b3IgIjw+Igorc3luIGtleXdvcmQgICAgIHJlYm9sTG9naWNPcGVyYXRvciBub3QKK3N5biBrZXl3b3JkICAgICByZWJvbExvZ2ljRnVuY3Rpb24gYWxsIGFueQorc3luIGtleXdvcmQgICAgIHJlYm9sTG9naWNGdW5jdGlvbiBoZWFkPyB0YWlsPworc3luIGtleXdvcmQgICAgIHJlYm9sTG9naWNGdW5jdGlvbiBuZWdhdGl2ZT8gcG9zaXRpdmU/IHplcm8/IGV2ZW4/IG9kZD8KK3N5biBrZXl3b3JkICAgICByZWJvbExvZ2ljRnVuY3Rpb24gYmluYXJ5PyBibG9jaz8gY2hhcj8gZGF0ZT8gZGVjaW1hbD8gZW1haWw/IGVtcHR5Pworc3luIGtleXdvcmQgICAgIHJlYm9sTG9naWNGdW5jdGlvbiBmaWxlPyBmb3VuZD8gZnVuY3Rpb24/IGludGVnZXI/IGlzc3VlPyBsb2dpYz8gbW9uZXk/CitzeW4ga2V5d29yZCAgICAgcmVib2xMb2dpY0Z1bmN0aW9uIG5hdGl2ZT8gbm9uZT8gb2JqZWN0PyBwYXJlbj8gcGF0aD8gcG9ydD8gc2VyaWVzPworc3luIGtleXdvcmQgICAgIHJlYm9sTG9naWNGdW5jdGlvbiBzdHJpbmc/IHRpbWU/IHR1cGxlPyB1cmw/IHdvcmQ/CitzeW4ga2V5d29yZCAgICAgcmVib2xMb2dpY0Z1bmN0aW9uIGV4aXN0cz8gaW5wdXQ/IHNhbWU/IHZhbHVlPworCisiIERhdGF0eXBlcworc3luIGtleXdvcmQgICAgIHJlYm9sVHlwZSAgICAgICBiaW5hcnkhIGJsb2NrISBjaGFyISBkYXRlISBkZWNpbWFsISBlbWFpbCEgZmlsZSEKK3N5biBrZXl3b3JkICAgICByZWJvbFR5cGUgICAgICAgZnVuY3Rpb24hIGludGVnZXIhIGlzc3VlISBsb2dpYyEgbW9uZXkhIG5hdGl2ZSEKK3N5biBrZXl3b3JkICAgICByZWJvbFR5cGUgICAgICAgbm9uZSEgb2JqZWN0ISBwYXJlbiEgcGF0aCEgcG9ydCEgc3RyaW5nISB0aW1lIQorc3luIGtleXdvcmQgICAgIHJlYm9sVHlwZSAgICAgICB0dXBsZSEgdXJsISB3b3JkIQorc3luIGtleXdvcmQgICAgIHJlYm9sVHlwZUZ1bmN0aW9uIHR5cGU/CisKKyIgQ29udHJvbCBzdGF0ZW1lbnRzCitzeW4ga2V5d29yZCAgICAgcmVib2xTdGF0ZW1lbnQgIGJyZWFrIGNhdGNoIGV4aXQgaGFsdCByZWR1Y2UgcmV0dXJuIHNoaWVsZAorc3luIGtleXdvcmQgICAgIHJlYm9sQ29uZGl0aW9uYWwgaWYgZWxzZQorc3luIGtleXdvcmQgICAgIHJlYm9sUmVwZWF0ICAgICBmb3IgZm9yYWxsIGZvcmVhY2ggZm9yc2tpcCBsb29wIHJlcGVhdCB3aGlsZSB1bnRpbCBkbworCisiIFNlcmllcyBzdGF0ZW1lbnRzCitzeW4ga2V5d29yZCAgICAgcmVib2xTdGF0ZW1lbnQgIGNoYW5nZSBjbGVhciBjb3B5IGZpZnRoIGZpbmQgZmlyc3QgZm9ybWF0IGZvdXJ0aCBmcmVlCitzeW4ga2V5d29yZCAgICAgcmVib2xTdGF0ZW1lbnQgIGZ1bmMgZnVuY3Rpb24gaGVhZCBpbnNlcnQgbGFzdCBtYXRjaCBuZXh0IHBhcnNlIHBhc3QKK3N5biBrZXl3b3JkICAgICByZWJvbFN0YXRlbWVudCAgcGljayByZW1vdmUgc2Vjb25kIHNlbGVjdCBza2lwIHNvcnQgdGFpbCB0aGlyZCB0cmltIGxlbmd0aD8KKworIiBDb250ZXh0CitzeW4ga2V5d29yZCAgICAgcmVib2xTdGF0ZW1lbnQgIGFsaWFzIGJpbmQgdXNlCisKKyIgT2JqZWN0CitzeW4ga2V5d29yZCAgICAgcmVib2xTdGF0ZW1lbnQgIGltcG9ydCBtYWtlIG1ha2Utb2JqZWN0IHJlYm9sIGluZm8/CisKKyIgSS9PIHN0YXRlbWVudHMKK3N5biBrZXl3b3JkICAgICByZWJvbFN0YXRlbWVudCAgZGVsZXRlIGVjaG8gZm9ybSBmb3JtYXQgaW1wb3J0IGlucHV0IGxvYWQgbW9sZCBwcmluCitzeW4ga2V5d29yZCAgICAgcmVib2xTdGF0ZW1lbnQgIHByaW50IHByb2JlIHJlYWQgc2F2ZSBzZWN1cmUgc2VuZCB3cml0ZQorc3luIGtleXdvcmQgICAgIHJlYm9sT3BlcmF0b3IgICBzaXplPyBtb2RpZmllZD8KKworIiBEZWJ1ZyBzdGF0ZW1lbnQKK3N5biBrZXl3b3JkICAgICByZWJvbFN0YXRlbWVudCAgaGVscCBwcm9iZSB0cmFjZQorCisiIE1pc2Mgc3RhdGVtZW50cworc3luIGtleXdvcmQgICAgIHJlYm9sU3RhdGVtZW50ICBmdW5jIGZ1bmN0aW9uIGZyZWUKKworIiBDb25zdGFudHMKK3N5biBrZXl3b3JkICAgICByZWJvbENvbnN0YW50ICAgbm9uZQorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3JlYm9sX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3JlYm9sX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHJlYm9sVG9kbyAgICAgVG9kbworCisgIEhpTGluayByZWJvbFN0YXRlbWVudCBTdGF0ZW1lbnQKKyAgSGlMaW5rIHJlYm9sTGFiZWwJTGFiZWwKKyAgSGlMaW5rIHJlYm9sQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHJlYm9sUmVwZWF0CVJlcGVhdAorCisgIEhpTGluayByZWJvbE9wZXJhdG9yCU9wZXJhdG9yCisgIEhpTGluayByZWJvbExvZ2ljT3BlcmF0b3IgcmVib2xPcGVyYXRvcgorICBIaUxpbmsgcmVib2xMb2dpY0Z1bmN0aW9uIHJlYm9sTG9naWNPcGVyYXRvcgorICBIaUxpbmsgcmVib2xNYXRoT3BlcmF0b3IgcmVib2xPcGVyYXRvcgorICBIaUxpbmsgcmVib2xNYXRoRnVuY3Rpb24gcmVib2xNYXRoT3BlcmF0b3IKKyAgSGlMaW5rIHJlYm9sQmluYXJ5T3BlcmF0b3IgcmVib2xPcGVyYXRvcgorICBIaUxpbmsgcmVib2xCaW5hcnlGdW5jdGlvbiByZWJvbEJpbmFyeU9wZXJhdG9yCisKKyAgSGlMaW5rIHJlYm9sVHlwZSAgICAgVHlwZQorICBIaUxpbmsgcmVib2xUeXBlRnVuY3Rpb24gcmVib2xPcGVyYXRvcgorCisgIEhpTGluayByZWJvbFdvcmQgICAgIElkZW50aWZpZXIKKyAgSGlMaW5rIHJlYm9sV29yZFBhdGggcmVib2xXb3JkCisgIEhpTGluayByZWJvbEZ1bmN0aW9uCUZ1bmN0aW9uCisKKyAgSGlMaW5rIHJlYm9sQ2hhcmFjdGVyIENoYXJhY3RlcgorICBIaUxpbmsgcmVib2xTcGVjaWFsQ2hhcmFjdGVyIFNwZWNpYWxDaGFyCisgIEhpTGluayByZWJvbFN0cmluZwlTdHJpbmcKKworICBIaUxpbmsgcmVib2xOdW1iZXIgICBOdW1iZXIKKyAgSGlMaW5rIHJlYm9sSW50ZWdlciAgcmVib2xOdW1iZXIKKyAgSGlMaW5rIHJlYm9sRGVjaW1hbCAgcmVib2xOdW1iZXIKKyAgSGlMaW5rIHJlYm9sVGltZSAgICAgcmVib2xOdW1iZXIKKyAgSGlMaW5rIHJlYm9sRGF0ZSAgICAgcmVib2xOdW1iZXIKKyAgSGlMaW5rIHJlYm9sTW9uZXkgICAgcmVib2xOdW1iZXIKKyAgSGlMaW5rIHJlYm9sQmluYXJ5ICAgcmVib2xOdW1iZXIKKyAgSGlMaW5rIHJlYm9sRW1haWwgICAgcmVib2xTdHJpbmcKKyAgSGlMaW5rIHJlYm9sRmlsZSAgICAgcmVib2xTdHJpbmcKKyAgSGlMaW5rIHJlYm9sVVJMICAgICAgcmVib2xTdHJpbmcKKyAgSGlMaW5rIHJlYm9sSXNzdWUgICAgcmVib2xOdW1iZXIKKyAgSGlMaW5rIHJlYm9sVHVwbGUgICAgcmVib2xOdW1iZXIKKyAgSGlMaW5rIHJlYm9sRmxvYXQgICAgRmxvYXQKKyAgSGlMaW5rIHJlYm9sQm9vbGVhbiAgQm9vbGVhbgorCisgIEhpTGluayByZWJvbENvbnN0YW50IENvbnN0YW50CisKKyAgSGlMaW5rIHJlYm9sQ29tbWVudAlDb21tZW50CisKKyAgSGlMaW5rIHJlYm9sRXJyb3IJRXJyb3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworaWYgZXhpc3RzKCJteV9yZWJvbF9maWxlIikKKyAgaWYgZmlsZV9yZWFkYWJsZShleHBhbmQobXlfcmVib2xfZmlsZSkpCisgICAgZXhlY3V0ZSAic291cmNlICIgLiBteV9yZWJvbF9maWxlCisgIGVuZGlmCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyZWJvbCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JlZ2lzdHJ5LnZpbSBiL3J1bnRpbWUvc3ludGF4L3JlZ2lzdHJ5LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWZmOGZjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcmVnaXN0cnkudmltCkBAIC0wLDAgKzEsMTE0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJV2luZG93cyBSZWdpc3RyeSBleHBvcnQgd2l0aCByZWdlZGl0ICgqLnJlZykKKyIgTWFpbnRhaW5lcjoJRG9taW5pcXVlIFN06XBoYW4gKGRvbWluaXF1ZUBtZ2dlbi5jb20pCisiIFVSTDogaHR0cDovL3d3dy5tZ2dlbi5jb20vdmltL3N5bnRheC9yZWdpc3RyeS56aXAKKyIgTGFzdCBjaGFuZ2U6CTIwMDQgQXByIDIzCisKKyIgY2xlYXIgYW55IHVud2FudGVkIHN5bnRheCBkZWZzCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgc2h1dCBjYXNlIG9mZgorc3luIGNhc2UgaWdub3JlCisKKyIgSGVhZCBvZiByZWdlZGl0IC5yZWcgZmlsZXMsIGl0J3MgUkVHRURJVDQgb24gV2luOSMvTlQKK3N5biBtYXRjaCByZWdpc3RyeUhlYWQJCSJeUkVHRURJVFswLTldKiQiCisKKyIgQ29tbWVudAorc3luIG1hdGNoICByZWdpc3RyeUNvbW1lbnQJIl47LiokIgorCisiIFJlZ2lzdHJ5IEtleSBjb25zdGFudAorc3luIGtleXdvcmQgcmVnaXN0cnlIS0VZCUhLRVlfTE9DQUxfTUFDSElORSBIS0VZX0NMQVNTRVNfUk9PVCBIS0VZX0NVUlJFTlRfVVNFUgorc3luIGtleXdvcmQgcmVnaXN0cnlIS0VZCUhLRVlfVVNFUlMgSEtFWV9DVVJSRU5UX0NPTkZJRyBIS0VZX0RZTl9EQVRBCisiIFJlZ2lzdHJ5IEtleSBzaG9ydGN1dHMKK3N5biBrZXl3b3JkIHJlZ2lzdHJ5SEtFWQlIS0xNIEhLQ1IgSEtDVSBIS1UgSEtDQyBIS0RECisKKyIgU29tZSB2YWx1ZXMgb2Z0ZW4gZm91bmQgaW4gdGhlIHJlZ2lzdHJ5CisiIEdVSUQgKEdsb2JhbCBVbmlxdWUgSURlbnRpZmllcikKK3N5biBtYXRjaCAgIHJlZ2lzdHJ5R1VJRAkie1swLTlBLUZhLWZdXHs4fVwtWzAtOUEtRmEtZl1cezR9XC1bMC05QS1GYS1mXVx7NH1cLVswLTlBLUZhLWZdXHs0fVwtWzAtOUEtRmEtZl1cezEyfX0iIGNvbnRhaW5zPXJlZ2lzdHJ5U3BlY2lhbAorCisiIERpc2sKKyIgc3luIG1hdGNoICAgcmVnaXN0cnlEaXNrCSJbYS16QS1aXTpcXFxcIgorCisiIFNwZWNpYWwgYW5kIFNlcGFyYXRvciBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggICByZWdpc3RyeVNwZWNpYWwJIlxcIgorc3luIG1hdGNoICAgcmVnaXN0cnlTcGVjaWFsCSJcXFxcIgorc3luIG1hdGNoICAgcmVnaXN0cnlTcGVjaWFsCSJcXFwiIgorc3luIG1hdGNoICAgcmVnaXN0cnlTcGVjaWFsCSJcLiIKK3N5biBtYXRjaCAgIHJlZ2lzdHJ5U3BlY2lhbAkiLCIKK3N5biBtYXRjaCAgIHJlZ2lzdHJ5U3BlY2lhbAkiXC8iCitzeW4gbWF0Y2ggICByZWdpc3RyeVNwZWNpYWwJIjoiCitzeW4gbWF0Y2ggICByZWdpc3RyeVNwZWNpYWwJIi0iCisKKyIgU3RyaW5nCitzeW4gbWF0Y2ggICByZWdpc3RyeVN0cmluZwkiXCIuKlwiIiBjb250YWlucz1yZWdpc3RyeUdVSUQscmVnaXN0cnlTcGVjaWFsCisKKyIgUGF0aAorc3luIHJlZ2lvbiAgcmVnaXN0cnlQYXRoCQlzdGFydD0iXFsiIGVuZD0iXF0iIGNvbnRhaW5zPXJlZ2lzdHJ5SEtFWSxyZWdpc3RyeUdVSUQscmVnaXN0cnlTcGVjaWFsCisKKyIgUGF0aCB0byByZW1vdmUKKyIgbGlrZSBwcmVjZWRpbmcgcGF0aCBidXQgd2l0aCBhICItIiBhdCBiZWdpbgorc3luIHJlZ2lvbiByZWdpc3RyeVJlbW92ZQlzdGFydD0iXFtcLSIgZW5kPSJcXSIgY29udGFpbnM9cmVnaXN0cnlIS0VZLHJlZ2lzdHJ5R1VJRCxyZWdpc3RyeVNwZWNpYWwKKworIiBTdWJrZXkKK3N5biBtYXRjaCAgcmVnaXN0cnlTdWJLZXkJCSJeXCIuKlwiPSIKKyIgRGVmYXVsdCB2YWx1ZQorc3luIG1hdGNoICByZWdpc3RyeVN1YktleQkJIl5cQD0iCisKKyIgTnVtYmVycworCisiIEhleCBvciBCaW5hcnkKKyIgVGhlIGZvcm1hdCBjYW4gYmUgcHJlY2lzZWQgYmV0d2VlbiAoKSA6CisiIDAgICAgUkVHX05PTkUKKyIgMSAgICBSRUdfU1oKKyIgMiAgICBSRUdfRVhQQU5EX1NaCisiIDMgICAgUkVHX0JJTkFSWQorIiA0ICAgIFJFR19EV09SRCwgUkVHX0RXT1JEX0xJVFRMRV9FTkRJQU4KKyIgNSAgICBSRUdfRFdPUkRfQklHX0VORElBTgorIiA2ICAgIFJFR19MSU5LCisiIDcgICAgUkVHX01VTFRJX1NaCisiIDggICAgUkVHX1JFU09VUkNFX0xJU1QKKyIgOSAgICBSRUdfRlVMTF9SRVNPVVJDRV9ERVNDUklQVE9SCisiIDEwICAgUkVHX1JFU09VUkNFX1JFUVVJUkVNRU5UU19MSVNUCisiIFRoZSB2YWx1ZSBjYW4gdGFrZSBzZXZlcmFsIGxpbmVzLCBpZiBcIGVuZHMgdGhlIGxpbmUKKyIgVGhlIGxpbWl0IHRvIDk5OSBtYXRjaGVzIGlzIGFyYml0cmFyeSwgaXQgYXZvaWRzIFZpbSBjcmFzaGluZyBvbiBhIHZlcnkgbG9uZworIiBsaW5lIG9mIGhleCB2YWx1ZXMgdGhhdCBlbmRzIGluIGEgY29tbWEuCisic3luIG1hdGNoIHJlZ2lzdHJ5SGV4CQkiaGV4XCgoWzAtOV1cezAsMn0pXClcPTpcKFswLTlhLWZBLUZdXHsyfSxcKVx7MCw5OTl9XChbMC05YS1mQS1GXVx7Mn1cfFxcXCkkIiBjb250YWlucz1yZWdpc3RyeVNwZWNpYWwKK3N5biBtYXRjaCByZWdpc3RyeUhleAkJImhleFwoKFswLTldXHswLDJ9KVwpXD06XChbMC05YS1mQS1GXVx7Mn0sXCkqXChbMC05YS1mQS1GXVx7Mn1cfFxcXCkkIiBjb250YWlucz1yZWdpc3RyeVNwZWNpYWwKK3N5biBtYXRjaCByZWdpc3RyeUhleAkJIl5ccypcKFswLTlhLWZBLUZdXHsyfSxcKVx7MCw5OTl9XChbMC05YS1mQS1GXVx7Mn1cfFxcXCkkIiBjb250YWlucz1yZWdpc3RyeVNwZWNpYWwKKyIgRHdvcmQgKDMyIGJpdHMpCitzeW4gbWF0Y2ggcmVnaXN0cnlEd29yZAkJImR3b3JkOlswLTlhLWZBLUZdXHs4fSQiIGNvbnRhaW5zPXJlZ2lzdHJ5U3BlY2lhbAorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmVnaXN0cnlfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcmVnaXN0cnlfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICAgSGlMaW5rIHJlZ2lzdHJ5Q29tbWVudAlDb21tZW50CisgICBIaUxpbmsgcmVnaXN0cnlIZWFkCQlDb25zdGFudAorICAgSGlMaW5rIHJlZ2lzdHJ5SEtFWQkJQ29uc3RhbnQKKyAgIEhpTGluayByZWdpc3RyeVBhdGgJCVNwZWNpYWwKKyAgIEhpTGluayByZWdpc3RyeVJlbW92ZQlQcmVQcm9jCisgICBIaUxpbmsgcmVnaXN0cnlHVUlECQlJZGVudGlmaWVyCisgICBIaUxpbmsgcmVnaXN0cnlTcGVjaWFsCVNwZWNpYWwKKyAgIEhpTGluayByZWdpc3RyeVN1YktleQlUeXBlCisgICBIaUxpbmsgcmVnaXN0cnlTdHJpbmcJU3RyaW5nCisgICBIaUxpbmsgcmVnaXN0cnlIZXgJCU51bWJlcgorICAgSGlMaW5rIHJlZ2lzdHJ5RHdvcmQJCU51bWJlcgorCisgICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyZWdpc3RyeSIKKworIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmVtaW5kLnZpbSBiL3J1bnRpbWUvc3ludGF4L3JlbWluZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVkNTgzZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3JlbWluZC52aW0KQEAgLTAsMCArMSw2NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVJlbWluZAorIiBNYWludGFpbmVyOglEYXZpZGUgQWxiZXJhbmkgPGFsYmVyYW5pZEBiaWdmb290LmNvbT4KKyIgTGFzdCBDaGFuZ2U6CTI4IEFwciAyMDAxCisiIFZlcnNpb246CTAuMgorIiBVUkw6CQlodHRwOi8vZGlnaWxhbmRlci5pb2wuaXQvYWxiZXJhbmlkL3ZpbS9zeW50YXgvcmVtaW5kLnZpbQorIgorIiByZW1pbmQgaXMgYSBzb3BoaXN0aWNhdGVkIHJlbWluZGVyIHNlcnZpY2UKKyIgeW91IGNhbiBkb3dubG9hZCByZW1pbmQgZnJvbSBodHRwOi8vd3d3LnJvYXJpbmdwZW5ndWluLmNvbS9yZW1pbmQuaHRtbAorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBzaHV0IGNhc2Ugb2ZmCitzeW4gY2FzZSBpZ25vcmUKKworc3luIGtleXdvcmQgcmVtaW5kQ29tbWFuZHMJUkVNIE9NSVQgU0VUIEZTRVQgVU5TRVQKK3N5biBrZXl3b3JkIHJlbWluZEV4cGlyeQlVTlRJTCBTQ0FORlJPTSBTQ0FOIFdBUk4gU0NIRUQKK3N5biBrZXl3b3JkIHJlbWluZFRhZwkJUFJJT1JJVFkgVEFHCitzeW4ga2V5d29yZCByZW1pbmRUaW1lZAkJQVQgRFVSQVRJT04KK3N5biBrZXl3b3JkIHJlbWluZE1vdmUJCU9OQ0UgU0tJUCBCRUZPUkUgQUZURVIKK3N5biBrZXl3b3JkIHJlbWluZFNwZWNpYWwJSU5DTFVERSBJTkMgQkFOTkVSIFBVU0gtT01JVC1DT05URVhUIFBVU0ggQ0xFQVItT01JVC1DT05URVhUIENMRUFSIFBPUC1PTUlULUNPTlRFWFQgUE9QCitzeW4ga2V5d29yZCByZW1pbmRSdW4JCU1TRyBNU0YgUlVOIENBTCBTQVRJU0ZZIFNQRUNJQUwgUFMgUFNGSUxFIFNIQURFIE1PT04KK3N5biBrZXl3b3JkIHJlbWluZENvbmRpdGlvbmFsCUlGIEVMU0UgRU5ESUYgSUZUUklHCitzeW4gbWF0Y2ggcmVtaW5kQ29tbWVudAkJIiMuKiQiCitzeW4gcmVnaW9uIHJlbWluZFN0cmluZwkJc3RhcnQ9KycrIGVuZD0rJysgc2tpcD0rXFxcXFx8XFwnKyBvbmVsaW5lCitzeW4gcmVnaW9uIHJlbWluZFN0cmluZwkJc3RhcnQ9KyIrIGVuZD0rIisgc2tpcD0rXFxcXFx8XFwiKyBvbmVsaW5lCitzeW4ga2V5d29yZCByZW1pbmREZWJ1ZwkJREVCVUcgRFVNUFZBUlMgRFVNUCBFUlJNU0cgRkxVU0ggUFJFU0VSVkUKK3N5biBtYXRjaCByZW1pbmRWYXIJCSJcJFtfYS16QS1aXVtfYS16QS1aMC05XSoiCitzeW4gbWF0Y2ggcmVtaW5kU3Vic3QJCSIlW14gXSIKK3N5biBtYXRjaCByZW1pbmRBZHZhbmNlTnVtYmVyCSJcKFwqXHwrXHwtXHwrK1x8LS1cKVswLTldXCsiCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yZW1pbmRfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcmVtaW5kX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHJlbWluZENvbW1hbmRzCQlGdW5jdGlvbgorICBIaUxpbmsgcmVtaW5kRXhwaXJ5CQlSZXBlYXQKKyAgSGlMaW5rIHJlbWluZFRhZwkJTGFiZWwKKyAgSGlMaW5rIHJlbWluZFRpbWVkCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHJlbWluZE1vdmUJCVN0YXRlbWVudAorICBIaUxpbmsgcmVtaW5kU3BlY2lhbAkJSW5jbHVkZQorICBIaUxpbmsgcmVtaW5kUnVuCQlGdW5jdGlvbgorICBIaUxpbmsgcmVtaW5kQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHJlbWluZENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHJlbWluZFN0cmluZwkJU3RyaW5nCisgIEhpTGluayByZW1pbmREZWJ1ZwkJRGVidWcKKyAgSGlMaW5rIHJlbWluZFZhcgkJSWRlbnRpZmllcgorICBIaUxpbmsgcmVtaW5kU3Vic3QJCUNvbnN0YW50CisgIEhpTGluayByZW1pbmRBZHZhbmNlTnVtYmVyCU51bWJlcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyZW1pbmQiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Jlc29sdi52aW0gYi9ydW50aW1lL3N5bnRheC9yZXNvbHYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmYmMyNDIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9yZXNvbHYudmltCkBAIC0wLDAgKzEsODUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgcmVzb2x2ZXIgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YW5lcjogICAgUmFkdSBEaW5laXUgPGxpdHRsZWRyYWdvbkBhbHRlcm4ub3JnPgorIiBVUkw6CQlodHRwOi8vbGQueWkub3JnL3ZpbS9yZXNvbHYudmltCisiIENoYW5nZUxvZzogICAgaHR0cDovL2xkLnlpLm9yZy92aW0vcmVzb2x2LkNoYW5nZUxvZworIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIFZlcnNpb246ICAgICAgMC4xCisKK2lmIHZlcnNpb24gPCA2MDAKKwlzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworIiBFcnJvcnMsIGNvbW1lbnRzIGFuZCBvcGVyYXRvcnMKK3N5biBtYXRjaCByZXNvbHZFcnJvciAvLi8KK3N5biBtYXRjaCByZXNvbHZOdWxsIC9eXHMqJC8KK3N5biBtYXRjaCByZXNvbHZDb21tZW50IC9eXHMqIy4qJC8KK3N5biBtYXRjaCByZXNvbHZPcGVyYXRvciAvW1wvOl0vIGNvbnRhaW5lZAorCisiIElQCisKK3N5biBjbHVzdGVyIHJlc29sdklQQ2x1c3RlciBjb250YWlucz1yZXNvbHZJUEVycm9yLHJlc29sdklQU3BlY2lhbAorc3luIG1hdGNoIHJlc29sdklQRXJyb3IgL1wlKFxkXHs0LH1cfDI1WzYtOV1cfDJbNi05XVxkXHxbMy05XVxkXHsyfVwpW1wuMC05XSovIGNvbnRhaW5lZAorc3luIG1hdGNoIHJlc29sdklQU3BlY2lhbCAvXCUoMTI3XC5cZFx7MSwzfVwuXGRcezEsM31cLlxkXHsxLDN9XCkvIGNvbnRhaW5lZAorCisiIEdlbmVyYWwKK3N5biBtYXRjaCByZXNvbHZJUCBjb250YWluZWQgL1wlKFxkXHsxLDR9XC5cKVx7M31cZFx7MSw0fS8gY29udGFpbnM9QHJlc29sdklQQ2x1c3Rlcgorc3luIG1hdGNoIHJlc29sdklQTmV0bWFzayBjb250YWluZWQgL1wlKFxkXHsxLDR9XC5cKVx7M31cZFx7MSw0fVwlKFwvXCUoXCUoXGRcezEsNH1cLlwpXHssM31cZFx7MSw0fVwpXClcPy8gY29udGFpbnM9cmVzb2x2T3BlcmF0b3IsQHJlc29sdklQQ2x1c3Rlcgorc3luIG1hdGNoIHJlc29sdkhvc3RuYW1lIGNvbnRhaW5lZCAvXHdcey19XC5bLTAtOUEtWmEtel9cLl0qLworCisiIFBhcnRpY3VsYXIKK3N5biBtYXRjaCByZXNvbHZJUE5hbWVzZXJ2ZXIgY29udGFpbmVkIC9cJShcJShcZFx7MSw0fVwuXClcezN9XGRcezEsNH1cJShcc1x8JFwpXClcezEsM30vIGNvbnRhaW5zPUByZXNvbHZJUENsdXN0ZXIKK3N5biBtYXRjaCByZXNvbHZIb3N0bmFtZVNlYXJjaCBjb250YWluZWQgL1wlKFx3XHstfVwuWy0wLTlBLVphLXpfXC5dXHstfVwlKFxzXHwkXClcKVx7MSw2fS8KK3N5biBtYXRjaCByZXNvbHZJUE5ldG1hc2tTb3J0TGlzdCBjb250YWluZWQgL1wlKFwlKFxkXHsxLDR9XC5cKVx7M31cZFx7MSw0fVwlKFwvXCUoXCUoXGRcezEsNH1cLlwpXHssM31cZFx7MSw0fVwpXClcP1wlKFxzXHwkXClcKVx7MSwxMH0vIGNvbnRhaW5zPXJlc29sdk9wZXJhdG9yLEByZXNvbHZJUENsdXN0ZXIKKworIiBJZGVudGlmaWVycworc3luIG1hdGNoIHJlc29sdk5hbWVzZXJ2ZXIgL15uYW1lc2VydmVyIC8gbmV4dGdyb3VwPXJlc29sdklQTmFtZXNlcnZlcgorc3luIG1hdGNoIHJlc29sdkRvbWFpbiAvXmRvbWFpbiAvIG5leHRncm91cD1yZXNvbHZIb3N0bmFtZQorc3luIG1hdGNoIHJlc29sdlNlYXJjaCAvXnNlYXJjaCAvIG5leHRncm91cD1yZXNvbHZIb3N0bmFtZVNlYXJjaAorc3luIG1hdGNoIHJlc29sdlNvcnRMaXN0IC9ec29ydGxpc3QgLyBuZXh0Z3JvdXA9cmVzb2x2SVBOZXRtYXNrU29ydExpc3QKK3N5biBtYXRjaCByZXNvbHZPcHRpb25zIC9eb3B0aW9ucyAvIG5leHRncm91cD1yZXNvbHZPcHRpb24KKworIiBPcHRpb25zCitzeW4gbWF0Y2ggcmVzb2x2T3B0aW9uIC9cJShkZWJ1Z1x8bmRvdHM6XGRcKS8gY29udGFpbmVkIGNvbnRhaW5zPXJlc29sdk9wZXJhdG9yCisKKyIgQWRkaXRpb25hbCBlcnJvcnMKK3N5biBtYXRjaCByZXNvbHZFcnJvciAvXnNlYXJjaCAuXHsyNTcsfS8KK3N5biBtYXRjaCByZXNvbHZOdWxsIC9cc1x7MSx9JC8KKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NvbmZpZ19zeW50YXhfaW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9jb25maWdfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kISAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQhIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKwllbmRpZgorCisJSGlMaW5rIHJlc29sdklQIE51bWJlcgorCUhpTGluayByZXNvbHZJUE5ldG1hc2sgTnVtYmVyCisJSGlMaW5rIHJlc29sdkhvc3RuYW1lIFN0cmluZworCUhpTGluayByZXNvbHZPcHRpb24gU3RyaW5nCisKKwlIaUxpbmsgcmVzb2x2SVBOYW1lc2VydmVyIE51bWJlcgorCUhpTGluayByZXNvbHZIb3N0bmFtZVNlYXJjaCBTdHJpbmcKKwlIaUxpbmsgcmVzb2x2SVBOZXRtYXNrU29ydExpc3QgTnVtYmVyCisKKwlIaUxpbmsgcmVzb2x2TmFtZVNlcnZlciBJZGVudGlmaWVyCisJSGlMaW5rIHJlc29sdkRvbWFpbiBJZGVudGlmaWVyCisJSGlMaW5rIHJlc29sdlNlYXJjaCBJZGVudGlmaWVyCisJSGlMaW5rIHJlc29sdlNvcnRMaXN0IElkZW50aWZpZXIKKwlIaUxpbmsgcmVzb2x2T3B0aW9ucyBJZGVudGlmaWVyCisKKwlIaUxpbmsgcmVzb2x2Q29tbWVudCBDb21tZW50CisJSGlMaW5rIHJlc29sdk9wZXJhdG9yIE9wZXJhdG9yCisJSGlMaW5rIHJlc29sdkVycm9yIEVycm9yCisJSGlMaW5rIHJlc29sdklQRXJyb3IgRXJyb3IKKwlIaUxpbmsgcmVzb2x2SVBTcGVjaWFsIFNwZWNpYWwKKworCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyZXNvbHYiCisKKyIgdmltOiB0cz04IGZ0PXZpbQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmV4eC52aW0gYi9ydW50aW1lL3N5bnRheC9yZXh4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjRiMDU4Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvcmV4eC52aW0KQEAgLTAsMCArMSwxMTMgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglSZXh4CisiIE1haW50YWluZXI6CVRob21hcyBHZXVsaWcgPGdldWxpZ0BuZW50ZWMuZGU+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAyCisiIFVSTDoJCWh0dHA6Ly9teXdlYnBhZ2UubmV0c2NhcGUuY29tL3NoYXJwUGVvcGxlL3ZpbS9zeW50YXgvcmV4eC52aW0KKyIKKyIgU3BlY2lhbCBUaGFua3MgdG8gRGFuIFNoYXJwIDxkd3NoYXJwQGhvdG1haWwuY29tPiBmb3IgY29tbWVudHMgYW5kIGFkZGl0aW9ucworIiAoYW5kIHByb3ZpZGluZyB0aGUgd2Vic3BhY2UpCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgQSBLZXl3b3JkIGlzIHRoZSBmaXJzdCBzeW1ib2wgaW4gYSBjbGF1c2UuICBBIGNsYXVzZSBiZWdpbnMgYXQgdGhlIHN0YXJ0CisiIG9mIGEgbGluZSBvciBhZnRlciBhIHNlbWljb2xvbi4gIFRIRU4sIEVMU0UsIE9USEVSV0lTRSwgYW5kIGNvbG9ucyBhcmUgYWx3YXlzCisiIGZvbGxvd2VkIGJ5IGFuIGltcGxpZWQgc2VtaWNvbG9uLgorc3luIG1hdGNoIHJleHhDbGF1c2UgIlwoXlx8O1x8Olx8dGhlbiBcfGVsc2UgXHxvdGhlcndpc2UgXClccypcd1wrIiBjb250YWlucz1BTEwKKworIiBDb25zaWRlcmVkIGtleXdvcmRzIHdoZW4gdXNlZCB0b2dldGhlciBpbiBhIHBocmFzZSBhbmQgYmVnaW4gYSBjbGF1c2UKK3N5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8c2lnbmFsXCggb24gXChlcnJvclx8ZmFpbHVyZVx8aGFsdFx8bm90cmVhZHlcfG5vdmFsdWVcfHN5bnRheFx8bG9zdGRpZ2l0c1wpXChcc1wrbmFtZVwpXD1cKVw9XD4iCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPHNpZ25hbCBvZmYgXChlcnJvclx8ZmFpbHVyZVx8aGFsdFx8bm90cmVhZHlcfG5vdmFsdWVcfHN5bnRheFx8bG9zdGRpZ2l0c1wpXD4iCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPGNhbGwgb2ZmIFwoZXJyb3JcfGZhaWx1cmVcfGhhbHRcfG5vdHJlYWR5XClcPiIKK3N5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8cGFyc2UgXCh1cHBlciBcKVw9XChhcmdcfGxpbmVpblx8cHVsbFx8c291cmNlXHx2YXJcfHZhbHVlXHx2ZXJzaW9uXClcPiIKK3N5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8bnVtZXJpYyBcKGRpZ2l0c1x8Zm9ybSBcKHNjaWVudGlmaWNcfGVuZ2luZWVyaW5nXHx2YWx1ZVwpXHxmdXp6XClcPiIKK3N5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8XChhZGRyZXNzXHx0cmFjZVwpXCggdmFsdWVcKVw9XD4iCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPHByb2NlZHVyZVwoIGV4cG9zZVwpXD1cPiIKK3N5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8ZG9cKCBmb3JldmVyXClcPVw+IgorCisiIEFub3RoZXIga2V5d29yZCBwaHJhc2UsIHNlcGFyYXRlZCB0byBhaWQgaGlnaGxpZ2h0aW5nIGluIHJleHhGdW5jdGlvbgorc3luIG1hdGNoIHJleHhLZXl3b3JkMiBjb250YWluZWQgIlw8Y2FsbFwoIG9uIFwoZXJyb3JcfGZhaWx1cmVcfGhhbHRcfG5vdHJlYWR5XClcKFxzXCtuYW1lXClcPVwpXD1cPiIKKworIiBDb25zaWRlcmVkIGtleXdvcmRzIHdoZW4gdGhleSBiZWdpbiBhIGNsYXVzZQorc3luIG1hdGNoIHJleHhLZXl3b3JkIGNvbnRhaW5lZCAiXDxcKGFyZ1x8ZHJvcFx8ZW5kXHxleGl0XHxpZlx8aW50ZXJwcmV0XHxpdGVyYXRlXHxsZWF2ZVx8bm9wXClcPiIKK3N5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8XChvcHRpb25zXHxwdWxsXHxwdXNoXHxxdWV1ZVx8cmV0dXJuXHxzYXlcfHNlbGVjdFx8dHJhY2VcKVw+IgorCisiIENvbmRpdGlvbmFsIHBocmFzZXMKK3N5biBtYXRjaCByZXh4Q29uZGl0aW9uYWwgIlwoXlxzKlx8IFwpXCh0b1x8YnlcfGZvclx8dW50aWxcfHdoaWxlXHx0aGVuXHx3aGVuXHxvdGhlcndpc2VcfGVsc2VcKVwoIFx8XHMqJFwpIiBjb250YWlucz1BTExCVVQscmV4eENvbmRpdGlvbmFsCitzeW4gbWF0Y2ggcmV4eENvbmRpdGlvbmFsIGNvbnRhaW5lZCAiXDxcKHRvXHxieVx8Zm9yXHx1bnRpbFx8d2hpbGVcfHRoZW5cfHdoZW5cfGVsc2VcfG90aGVyd2lzZVwpXD4iCisKKyIgQXNzaWdubWVudHMgLS0gYSBrZXl3b3JkIGZvbGxvd2VkIGJ5IGFuIGVxdWFsIHNpZ24gYmVjb21lcyBhIHZhcmlhYmxlCitzeW4gbWF0Y2ggcmV4eEFzc2lnbiAiXDxcd1wrXHMqPVxzKiIgY29udGFpbnM9cmV4eFNwZWNpYWxWYXJpYWJsZQorCisiIEZ1bmN0aW9ucy9Qcm9jZWR1cmVzCitzeW4gbWF0Y2ggcmV4eEZ1bmN0aW9uCSJcPFxoXHcqXCgvXCpccypcKi9cKSooIm1lPWUtMSBjb250YWlucz1yZXh4Q29tbWVudCxyZXh4Q29uZGl0aW9uYWwscmV4eEtleXdvcmQKK3N5biBtYXRjaCByZXh4RnVuY3Rpb24JIlw8XChhcmdcfHRyYWNlXClcKC9cKlxzKlwqL1wpKigibWU9ZS0xCitzeW4gbWF0Y2ggcmV4eEZ1bmN0aW9uCSJcPGNhbGxcKCBvbiBcKGVycm9yXHxmYWlsdXJlXHxoYWx0XHxub3RyZWFkeVwpXChcc1wrbmFtZVwpXD1cKVw9XD5cc1wrXHdcK1w+IiBjb250YWlucz1yZXh4S2V5d29yZDIKKworIiBTdHJpbmcgY29uc3RhbnRzCitzeW4gcmVnaW9uIHJleHhTdHJpbmcJICBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KyIrCitzeW4gcmVnaW9uIHJleHhTdHJpbmcJICBzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KycrCitzeW4gbWF0Y2ggIHJleHhDaGFyYWN0ZXIgICsiJ1teXFxdJyIrCisKKyIgQ2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworc3luIHJlZ2lvbiByZXh4UGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULHJleHhQYXJlbkVycm9yLHJleHhUb2RvLHJleHhVc2VyTGFiZWwscmV4eEtleXdvcmQKK3N5biBtYXRjaCByZXh4UGFyZW5FcnJvcgkgIikiCitzeW4gbWF0Y2ggcmV4eEluUGFyZW4JCSJbXFxbXFxde31dIgorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uIHJleHhDb21tZW50CQlzdGFydD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9cmV4eFRvZG8scmV4eENvbW1lbnQKK3N5biBtYXRjaCAgcmV4eENvbW1lbnRFcnJvcgkiXCovIgorCitzeW4ga2V5d29yZCByZXh4VG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFgKKworIiBIaWdobGlnaHQgVXNlciBMYWJlbHMKK3N5biBtYXRjaCByZXh4VXNlckxhYmVsCQkgIlw8XElcaSpccyo6Im1lPWUtMQorCisiIFNwZWNpYWwgVmFyaWFibGVzCitzeW4ga2V5d29yZCByZXh4U3BlY2lhbFZhcmlhYmxlICBzaWdsIHJjIHJlc3VsdAorc3luIG1hdGNoICAgcmV4eENvbXBvdW5kVmFyaWFibGUgIlw8XHdcK1wuXHcqXD4iCisKK2lmICFleGlzdHMoInJleHhfbWlubGluZXMiKQorICBsZXQgcmV4eF9taW5saW5lcyA9IDEwCitlbmRpZgorZXhlYyAic3luIHN5bmMgY2NvbW1lbnQgcmV4eENvbW1lbnQgbWlubGluZXM9IiAuIHJleHhfbWlubGluZXMKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmV4eF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9yZXh4X3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHJleHhVc2VyTGFiZWwJCUZ1bmN0aW9uCisgIEhpTGluayByZXh4Q2hhcmFjdGVyCQlDaGFyYWN0ZXIKKyAgSGlMaW5rIHJleHhQYXJlbkVycm9yCQlyZXh4RXJyb3IKKyAgSGlMaW5rIHJleHhJblBhcmVuCQlyZXh4RXJyb3IKKyAgSGlMaW5rIHJleHhDb21tZW50RXJyb3IJcmV4eEVycm9yCisgIEhpTGluayByZXh4RXJyb3IJCUVycm9yCisgIEhpTGluayByZXh4S2V5d29yZAkJU3RhdGVtZW50CisgIEhpTGluayByZXh4S2V5d29yZDIJCXJleHhLZXl3b3JkCisgIEhpTGluayByZXh4RnVuY3Rpb24JCUZ1bmN0aW9uCisgIEhpTGluayByZXh4U3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHJleHhDb21tZW50CQlDb21tZW50CisgIEhpTGluayByZXh4VG9kbwkJVG9kbworICBIaUxpbmsgcmV4eFNwZWNpYWxWYXJpYWJsZQlTcGVjaWFsCisgIEhpTGluayByZXh4Q29uZGl0aW9uYWwJcmV4eEtleXdvcmQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicmV4eCIKKworInZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmliLnZpbSBiL3J1bnRpbWUvc3ludGF4L3JpYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI5ZjJiMAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3JpYi52aW0KQEAgLTAsMCArMSw3MyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVJlbmRlcm1hbiBJbnRlcmZhY2UgQnl0ZXN0cmVhbQorIiBNYWludGFpbmVyOglBbmRyZXcgQnJvbWFnZSA8YWpiQHNwYW1jb3AubmV0PgorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKKyIKKworIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3luIGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorCisiIENvbW1lbnRzCitzeW4gbWF0Y2ggICByaWJMaW5lQ29tbWVudCAgICAgICIjLiokIgorc3luIG1hdGNoICAgcmliU3RydWN0dXJlQ29tbWVudCAiIyMuKiQiCisKK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoICAgcmliQ29tbWFuZAkgICAgICAgL1tBLVpdW2EtekEtWl0qLworc3luIGNhc2UgbWF0Y2gKKworc3luIHJlZ2lvbiAgcmliU3RyaW5nCSAgICAgICBzdGFydD0vIi8gc2tpcD0vXFwiLyBlbmQ9LyIvCisKK3N5biBtYXRjaCAgIHJpYlN0cnVjdHVyZQkiW0EtWl1bYS16QS1aXSpCZWdpblw+XHxbQS1aXVthLXpBLVpdKkVuZCIKK3N5biByZWdpb24gIHJpYlNlY3Rpb25Gb2xkCXN0YXJ0PSJGcmFtZUJlZ2luIiBlbmQ9IkZyYW1lRW5kIiBmb2xkIHRyYW5zcGFyZW50IGtlZXBlbmQgZXh0ZW5kCitzeW4gcmVnaW9uICByaWJTZWN0aW9uRm9sZAlzdGFydD0iV29ybGRCZWdpbiIgZW5kPSJXb3JsZEVuZCIgZm9sZCB0cmFuc3BhcmVudCBrZWVwZW5kIGV4dGVuZAorc3luIHJlZ2lvbiAgcmliU2VjdGlvbkZvbGQJc3RhcnQ9IlRyYW5zZm9ybUJlZ2luIiBlbmQ9IlRyYW5zZm9ybUVuZCIgZm9sZCB0cmFuc3BhcmVudCBrZWVwZW5kIGV4dGVuZAorc3luIHJlZ2lvbiAgcmliU2VjdGlvbkZvbGQJc3RhcnQ9IkF0dHJpYnV0ZUJlZ2luIiBlbmQ9IkF0dHJpYnV0ZUVuZCIgZm9sZCB0cmFuc3BhcmVudCBrZWVwZW5kIGV4dGVuZAorc3luIHJlZ2lvbiAgcmliU2VjdGlvbkZvbGQJc3RhcnQ9Ik1vdGlvbkJlZ2luIiBlbmQ9Ik1vdGlvbkVuZCIgZm9sZCB0cmFuc3BhcmVudCBrZWVwZW5kIGV4dGVuZAorc3luIHJlZ2lvbiAgcmliU2VjdGlvbkZvbGQJc3RhcnQ9IlNvbGlkQmVnaW4iIGVuZD0iU29saWRFbmQiIGZvbGQgdHJhbnNwYXJlbnQga2VlcGVuZCBleHRlbmQKK3N5biByZWdpb24gIHJpYlNlY3Rpb25Gb2xkCXN0YXJ0PSJPYmplY3RCZWdpbiIgZW5kPSJPYmplY3RFbmQiIGZvbGQgdHJhbnNwYXJlbnQga2VlcGVuZCBleHRlbmQKKworc3luIHN5bmMgICAgZnJvbXN0YXJ0CisKKyJpbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHdpdGhvdXQgYSBkb3QgYW5kIHdpdGggImYiLgorc3luIGNhc2UgaWdub3JlCitzeW4gbWF0Y2gJcmliTnVtYmVycwkgIGRpc3BsYXkgdHJhbnNwYXJlbnQgIlstXVw9XDxcZFx8XC5cZCIgY29udGFpbnM9cmliTnVtYmVyLHJpYkZsb2F0CitzeW4gbWF0Y2gJcmliTnVtYmVyCSAgZGlzcGxheSBjb250YWluZWQgIlstXVw9XGRcK1w+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2gJcmliRmxvYXQJICBkaXNwbGF5IGNvbnRhaW5lZCAiWy1dXD1cZFwrXC5cZCpcKGVbLStdXD1cZFwrXClcPSIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2gJcmliRmxvYXQJICBkaXNwbGF5IGNvbnRhaW5lZCAiWy1dXD1cLlxkXCtcKGVbLStdXD1cZFwrXClcPVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKK3N5biBtYXRjaAlyaWJGbG9hdAkgIGRpc3BsYXkgY29udGFpbmVkICJbLV1cPVxkXCtlWy0rXVxkXCtcPiIKK3N5biBjYXNlIG1hdGNoCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yaWJfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfcmliX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHJpYlN0cnVjdHVyZQkJU3RydWN0dXJlCisgIEhpTGluayByaWJDb21tYW5kCQlTdGF0ZW1lbnQKKworICBIaUxpbmsgcmliU3RydWN0dXJlQ29tbWVudAlTcGVjaWFsQ29tbWVudAorICBIaUxpbmsgcmliTGluZUNvbW1lbnQJCUNvbW1lbnQKKworICBIaUxpbmsgcmliU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHJpYk51bWJlcgkJTnVtYmVyCisgIEhpTGluayByaWJGbG9hdAkJRmxvYXQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicmliIgorCisiIE9wdGlvbnMgZm9yIHZpOiB0cz04IHN3PTIgc3RzPTIgbm93cmFwIG5vZXhwYW5kdGFiIGZ0PXZpbQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcm5jLnZpbSBiL3J1bnRpbWUvc3ludGF4L3JuYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg3OGM4YwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3JuYy52aW0KQEAgLTAsMCArMSw5NCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSAgICBSZWxheCBORyBjb21wYWN0IHN5bnRheAorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9ybmMvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKKyIgYXJjaC10YWc6CSAgICAwNjFlZTBhMi05ZWZhLTRlMmEtYjFhOS0xNGNmNTE3MmQ2NDUKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgU2V0IGlza2V5d29yZCBzaW5jZSB3ZSBuZWVkIGAtJyAoYW5kIHBvdGVudGlhbGx5IG90aGVycykgaW4ga2V5d29yZHMuCisiIEZvciB2ZXJzaW9uIDUueDogU2V0IGl0IGdsb2JhbGx5CisiIEZvciB2ZXJzaW9uIDYueDogU2V0IGl0IGxvY2FsbHkKK2lmIHZlcnNpb24gPj0gNjAwCisgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldGxvY2FsIGlza2V5d29yZD08YXJncz4KK2Vsc2UKKyAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0IGlza2V5d29yZD08YXJncz4KK2VuZGlmCitTZXRJc2sgQCw0OC01NyxfLC0sLgorZGVsY29tbWFuZCBTZXRJc2sKKworIiBUb2RvCitzeW4ga2V5d29yZCBybmNUb2RvCSAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uICBybmNDb21tZW50CSAgICBtYXRjaGdyb3VwPXJuY0NvbW1lbnQgc3RhcnQ9J15ccyojJyBlbmQ9JyQnIGNvbnRhaW5zPXJuY1RvZG8KKworIiBPcGVyYXRvcnMKK3N5biBtYXRjaCAgIHJuY09wZXJhdG9yCSAgICAnWy18LCYrPyp+XScKK3N5biBtYXRjaCAgIHJuY09wZXJhdG9yCSAgICAnXCUofCZcKVw9PScKK3N5biBtYXRjaCAgIHJuY09wZXJhdG9yCSAgICAnPj4nCisKKyIgTmFtZXNwYWNlcworc3luIG1hdGNoICAgcm5jTmFtZXNwYWNlICAgICdcPFxrXCs6JworCisiIFF1b3RlZCBJZGVudGlmaWVyCitzeW4gbWF0Y2ggICBybmNRdW90ZWQJICAgICdcXFxrXCtcPicKKworIiBTcGVjaWFsIENoYXJhY3RlcnMKK3N5biBtYXRjaCAgIHJuY1NwZWNpYWwJICAgICdcXHh7XHhcK30nCisKKyIgQW5ub3RhdGlvbnMKK3N5biByZWdpb24gQW5ub3RhdGlvbgkgICAgdHJhbnNwYXJlbnQgc3RhcnQ9J1xbJyBlbmQ9J1xdJyBjb250YWlucz1BTExCVVQscm5jQ29tbWVudCxybmNUb2RvCisKKyIgTGl0ZXJhbHMKK3N5biByZWdpb24gIHJuY0xpdGVyYWwJICAgIG1hdGNoZ3JvdXA9cm5jTGl0ZXJhbCBvbmVsaW5lIHN0YXJ0PSsiKyBlbmQ9KyIrIGNvbnRhaW5zPXJuY1NwZWNpYWwKK3N5biByZWdpb24gIHJuY0xpdGVyYWwJICAgIG1hdGNoZ3JvdXA9cm5jTGl0ZXJhbCBvbmVsaW5lIHN0YXJ0PSsnKyBlbmQ9KycrCitzeW4gcmVnaW9uICBybmNMaXRlcmFsCSAgICBtYXRjaGdyb3VwPXJuY0xpdGVyYWwgc3RhcnQ9KyIiIisgZW5kPSsiIiIrIGNvbnRhaW5zPXJuY1NwZWNpYWwKK3N5biByZWdpb24gIHJuY0xpdGVyYWwJICAgIG1hdGNoZ3JvdXA9cm5jTGl0ZXJhbCBzdGFydD0rJycnKyBlbmQ9KycnJysKKworIiBEZWxpbWl0ZXJzCitzeW4gbWF0Y2ggICBybmNEZWxpbWl0ZXIgICAgJ1t7fSwoKV0nCisKKyIgS2V5d29yZHMKK3N5biBrZXl3b3JkIHJuY0tleXdvcmQJICAgIGRhdGF0eXBlcyBkZWZhdWx0IGRpdiBlbXB0eSBleHRlcm5hbCBncmFtbWFyCitzeW4ga2V5d29yZCBybmNLZXl3b3JkCSAgICBpbmNsdWRlIGluaGVyaXQgbGlzdCBtaXhlZCBuYW1lIG5hbWVzcGFjZQorc3luIGtleXdvcmQgcm5jS2V5d29yZAkgICAgbm90QWxsb3dlZCBwYXJlbnQgc3RhcnQgc3RyaW5nIHRleHQgdG9rZW4KKworIiBJZGVudGlmaWVycworc3luIG1hdGNoICAgcm5jSWRlbnRpZmllciAgICdca1wrXF9zKlwlKD1cfCY9XHx8PVwpXEA9JyBuZXh0Z3JvdXA9cm5jT3BlcmF0b3IKK3N5biBrZXl3b3JkIHJuY0tleXdvcmQJICAgIG5leHRncm91cD1ybmNJZE5hbWUgc2tpcHdoaXRlIHNraXBlbXB0eSBlbGVtZW50IGF0dHJpYnV0ZQorc3luIG1hdGNoICAgcm5jSWRlbnRpZmllciAgIGNvbnRhaW5lZCAnXGtcKycKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcm5jX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3JuY19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBybmNUb2RvCVRvZG8KKyAgSGlMaW5rIHJuY0NvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgcm5jT3BlcmF0b3IJT3BlcmF0b3IKKyAgSGlMaW5rIHJuY05hbWVzcGFjZQlJZGVudGlmaWVyCisgIEhpTGluayBybmNRdW90ZWQJU3BlY2lhbAorICBIaUxpbmsgcm5jU3BlY2lhbAlTcGVjaWFsQ2hhcgorICBIaUxpbmsgcm5jTGl0ZXJhbAlTdHJpbmcKKyAgSGlMaW5rIHJuY0RlbGltaXRlcglEZWxpbWl0ZXIKKyAgSGlMaW5rIHJuY0tleXdvcmQJS2V5d29yZAorICBIaUxpbmsgcm5jSWRlbnRpZmllcglJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJuYyIKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcm9ib3RzLnZpbSBiL3J1bnRpbWUvc3ludGF4L3JvYm90cy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY2NjI4YgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3JvYm90cy52aW0KQEAgLTAsMCArMSw2OSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSJSb2JvdHMudHh0IiBmaWxlcworIiBSb2JvdHMudHh0IGZpbGVzIGluZGljYXRlIHRvIFdXVyByb2JvdHMgd2hpY2ggcGFydHMgb2YgYSB3ZWIgc2l0ZSBzaG91bGQgbm90IGJlIGFjY2Vzc2VkLgorIiBNYWludGFpbmVyOglEb21pbmlxdWUgU3TpcGhhbiAoZG9taW5pcXVlQG1nZ2VuLmNvbSkKKyIgVVJMOiBodHRwOi8vd3d3Lm1nZ2VuLmNvbS92aW0vc3ludGF4L3JvYm90cy56aXAKKyIgTGFzdCBjaGFuZ2U6CTIwMDEgTWF5IDA5CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKKworIiBzaHV0IGNhc2Ugb2ZmCitzeW4gY2FzZSBpZ25vcmUKKworIiBDb21tZW50CitzeW4gbWF0Y2ggIHJvYm90c0NvbW1lbnQJIiMuKiQiIGNvbnRhaW5zPXJvYm90c1VybCxyb2JvdHNNYWlsLHJvYm90c1N0cmluZworCisiIFN0YXIgKiAobWVhbnMgYWxsIHNwaWRlcnMpCitzeW4gbWF0Y2ggIHJvYm90c1N0YXIJCSJcKiIKKworIiA6CitzeW4gbWF0Y2ggIHJvYm90c0RlbGltaXRlcgkiOiIKKworCisiIFRoZSBrZXl3b3JkcworIiBVc2VyLWFnZW50CitzeW4gbWF0Y2ggIHJvYm90c0FnZW50CQkiXltVdV1bU3NdW0VlXVtScl1cLVtBYV1bR2ddW0VlXVtObl1bVHRdIgorIiBEaXNhbGxvdworc3luIG1hdGNoICByb2JvdHNEaXNhbGxvdwkiXltEZF1bSWldW1NzXVtBYV1bTGxdW0xsXVtPb11bV3ddIgorCisiIERpc2FsbG93OiBvciBVc2VyLUFnZW50OiBhbmQgdGhlIHJlc3Qgb2YgdGhlIGxpbmUgYmVmb3JlIGFuIGV2ZW50dWFsIGNvbW1lbnQKK3N5bnQgbWF0Y2ggcm9ib3RzTGluZQkJIlwoXltVdV1bU3NdW0VlXVtScl1cLVtBYV1bR2ddW0VlXVtObl1bVHRdXHxeW0RkXVtJaV1bU3NdW0FhXVtMbF1bTGxdW09vXVtXd11cKTpbXiNdKiIJY29udGFpbnM9cm9ib3RzQWdlbnQscm9ib3RzRGlzYWxsb3cscm9ib3RzU3Rhcixyb2JvdHNEZWxpbWl0ZXIKKworIiBTb21lIGZyZXF1ZW50IHRoaW5ncyBpbiBjb21tZW50cworc3luIG1hdGNoICByb2JvdHNVcmwJCSJodHRwW3NdXD06Ly9cUyoiCitzeW4gbWF0Y2ggIHJvYm90c01haWwJCSJcUypAXFMqIgorc3luIHJlZ2lvbiByb2JvdHNTdHJpbmcJCXN0YXJ0PStMXD0iKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3JvYm9zX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3JvYm90c19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayByb2JvdHNDb21tZW50CQlDb21tZW50CisgIEhpTGluayByb2JvdHNBZ2VudAkJVHlwZQorICBIaUxpbmsgcm9ib3RzRGlzYWxsb3cJCVN0YXRlbWVudAorICBIaUxpbmsgcm9ib3RzTGluZQkJU3BlY2lhbAorICBIaUxpbmsgcm9ib3RzU3RhcgkJT3BlcmF0b3IKKyAgSGlMaW5rIHJvYm90c0RlbGltaXRlcglEZWxpbWl0ZXIKKyAgSGlMaW5rIHJvYm90c1VybAkJU3RyaW5nCisgIEhpTGluayByb2JvdHNNYWlsCQlTdHJpbmcKKyAgSGlMaW5rIHJvYm90c1N0cmluZwkJU3RyaW5nCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicm9ib3RzIgorCisiIHZpbTogdHM9OCBzdz0yCisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JwY2dlbi52aW0gYi9ydW50aW1lL3N5bnRheC9ycGNnZW4udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZjg3ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9ycGNnZW4udmltCkBAIC0wLDAgKzEsNjMgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglycGNnZW4KKyIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KKyIgTGFzdCBDaGFuZ2U6CU5vdiAxOCwgMjAwMgorIiBWZXJzaW9uOgk3CisiIFVSTDoJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgUmVhZCB0aGUgQyBzeW50YXggdG8gc3RhcnQgd2l0aAoraWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvYy52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2MudmltCitlbmRpZgorCitzeW4ga2V5d29yZCBycGNQcm9ncmFtCXByb2dyYW0JCQkJc2tpcG5sIHNraXB3aGl0ZSBuZXh0Z3JvdXA9cnBjUHJvZ05hbWUKK3N5biBtYXRjaCAgIHJwY1Byb2dOYW1lCWNvbnRhaW5lZAkiXDxcaVxJKlw+Iglza2lwbmwgc2tpcHdoaXRlIG5leHRncm91cD1ycGNQcm9nWm9uZQorc3luIHJlZ2lvbiAgcnBjUHJvZ1pvbmUJY29udGFpbmVkCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9In1ccyo9XHMqXChcZFwrXHwweFsyM11ceFx7N31cKVxzKjsibWU9ZS0xIGNvbnRhaW5zPXJwY1ZlcnNpb24sY0NvbW1lbnQscnBjUHJvZ05tYnJFcnIKK3N5biBrZXl3b3JkIHJwY1ZlcnNpb24JY29udGFpbmVkCXZlcnNpb24JCXNraXBubCBza2lwd2hpdGUgbmV4dGdyb3VwPXJwY1ZlcnNOYW1lCitzeW4gbWF0Y2ggICBycGNWZXJzTmFtZQljb250YWluZWQJIlw8XGlcSSpcPiIJc2tpcG5sIHNraXB3aGl0ZSBuZXh0Z3JvdXA9cnBjVmVyc1pvbmUKK3N5biByZWdpb24gIHJwY1ZlcnNab25lCWNvbnRhaW5lZAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0ieyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSJ9XHMqPVxzKlxkXCtccyo7Im1lPWUtMSBjb250YWlucz1jVHlwZSxjU3RydWN0dXJlLGNTdG9yYWdlQ2xhc3MscnBjRGVjbCxycGNQcm9jTm1icixjQ29tbWVudAorc3luIGtleXdvcmQgcnBjRGVjbAljb250YWluZWQJc3RyaW5nCitzeW4gbWF0Y2ggICBycGNQcm9jTm1icgljb250YWluZWQJIj1ccypcZFwrOyJtZT1lLTEKK3N5biBtYXRjaCAgIHJwY1Byb2dObWJyRXJyIGNvbnRhaW5lZAkiPVxzKjB4W14yM11ceCoibXM9cysxCitzeW4gbWF0Y2ggICBycGNQYXNzVGhydQkJCSJeXHMqJS4qJCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcnBjZ2VuX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3JwY2dlbl9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBycGNQcm9nTmFtZQlycGNOYW1lCisgIEhpTGluayBycGNQcm9ncmFtCXJwY1N0YXRlbWVudAorICBIaUxpbmsgcnBjVmVyc05hbWUJcnBjTmFtZQorICBIaUxpbmsgcnBjVmVyc2lvbglycGNTdGF0ZW1lbnQKKworICBIaUxpbmsgcnBjRGVjbAljVHlwZQorICBIaUxpbmsgcnBjUGFzc1RocnUJY0NvbW1lbnQKKworICBIaUxpbmsgcnBjTmFtZQlTcGVjaWFsCisgIEhpTGluayBycGNQcm9jTm1icglEZWxpbWl0ZXIKKyAgSGlMaW5rIHJwY1Byb2dObWJyRXJyCUVycm9yCisgIEhpTGluayBycGNTdGF0ZW1lbnQJU3RhdGVtZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJwY2dlbiIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JwbC52aW0gYi9ydW50aW1lL3N5bnRheC9ycGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjNTA0NzUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9ycGwudmltCkBAIC0wLDAgKzEsNDkxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJUlBMLzIKKyIgVmVyc2lvbjoJMC4xNS4xNSBhZ2FpbnN0IFJQTC8yIHZlcnNpb24gNC4wMHByZTdpCisiIExhc3QgQ2hhbmdlOgkyMDAzIGF1Z3VzdCAyNAorIiBNYWludGFpbmVyOglKb+tsIEJFUlRSQU5EIDxycGwyQGZyZWUuZnI+CisiIFVSTDoJCWh0dHA6Ly93d3cubWFrYWxpcy5mci9+YmVydHJhbmQvcnBsMi9kb3dubG9hZC92aW0vaW5kZW50L3JwbC52aW0KKyIgQ3JlZGl0czoJTm90aGluZworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgS2V5d29yZCBjaGFyYWN0ZXJzIChub3QgdXNlZCkKKyIgc2V0IGlza2V5d29yZD0zMy0xMjcKKworIiBDYXNlIHNlbnNpdGl2ZQorc3ludGF4IGNhc2UgbWF0Y2gKKworIiBDb25zdGFudHMKK3N5bnRheCBtYXRjaCBycGxDb25zdGFudAkgICAiXCheXHxcc1wrXClcKGVcfGlcKVx6ZVwoJFx8XHNcK1wpIgorCisiIEFueSBiaW5hcnkgbnVtYmVyCitzeW50YXggbWF0Y2ggcnBsQmluYXJ5RXJyb3IJICAgIlwoXlx8XHNcK1wpI1xzKlxTXCtiXHplIgorc3ludGF4IG1hdGNoIHJwbEJpbmFyeQkJICAgIlwoXlx8XHNcK1wpI1xzKlswMV1cK2JcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxPY3RhbEVycm9yCSAgICJcKF5cfFxzXCtcKSNccypcU1wrb1x6ZSIKK3N5bnRheCBtYXRjaCBycGxPY3RhbAkJICAgIlwoXlx8XHNcK1wpI1xzKlxvXCtvXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsRGVjaW1hbEVycm9yCSAgICJcKF5cfFxzXCtcKSNccypcU1wrZFx6ZSIKK3N5bnRheCBtYXRjaCBycGxEZWNpbWFsCQkgICAiXCheXHxcc1wrXCkjXHMqXGRcK2RcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxIZXhhZGVjaW1hbEVycm9yICAgIlwoXlx8XHNcK1wpI1xzKlxTXCtoXHplIgorc3ludGF4IG1hdGNoIHJwbEhleGFkZWNpbWFsCSAgICJcKF5cfFxzXCtcKSNccypceFwraFx6ZVwoJFx8XHNcK1wpIgorCisiIENhc2UgdW5zZW5zaXRpdmUKK3N5bnRheCBjYXNlIGlnbm9yZQorCitzeW50YXggbWF0Y2ggcnBsQ29udHJvbAkJICAgIlwoXlx8XHNcK1wpYWJvcnRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxDb250cm9sCQkgICAiXCheXHxcc1wrXClraWxsXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsQ29udHJvbAkJICAgIlwoXlx8XHNcK1wpY29udFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbENvbnRyb2wJCSAgICJcKF5cfFxzXCtcKWhhbHRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxDb250cm9sCQkgICAiXCheXHxcc1wrXCljbWxmXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsQ29udHJvbAkJICAgIlwoXlx8XHNcK1wpc3N0XHplXCgkXHxcc1wrXCkiCisKK3N5bnRheCBtYXRjaCBycGxDb25zdGFudAkgICAiXCheXHxcc1wrXClwaVx6ZVwoJFx8XHNcK1wpIgorCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKXJldHVyblx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXClsYXN0XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKXN5emV2YWxcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpd2FpdFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXCl0eXBlXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKWtpbmRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpZXZhbFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXCl1c2VcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpcmVtb3ZlXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKWV4dGVybmFsXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKWR1cFwoWzJuXVx8XClcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpZHJvcFwoWzJuXVx8XClcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpZGVwdGhcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpcm9sbFwoZFx8XClcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpcGlja1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXClyb3RcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpc3dhcFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXClvdmVyXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKWNsZWFyXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKXdhcnJhbnR5XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKWNvcHlyaWdodFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXCljb252ZXJ0XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RhdGVtZW50CSAgICJcKF5cfFxzXCtcKWRhdGVcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpdGltZVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXCltZW1cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdGF0ZW1lbnQJICAgIlwoXlx8XHNcK1wpY2xtZlx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXCktPm51bVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0YXRlbWVudAkgICAiXCheXHxcc1wrXCloZWxwXHplXCgkXHxcc1wrXCkiCisKK3N5bnRheCBtYXRjaCBycGxTdG9yYWdlCQkgICAiXCheXHxcc1wrXClnZXRcKGlcfHJcfGNcfFwpXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RvcmFnZQkJICAgIlwoXlx8XHNcK1wpcHV0XChpXHxyXHxjXHxcKVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0b3JhZ2UJCSAgICJcKF5cfFxzXCtcKXJjbFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0b3JhZ2UJCSAgICJcKF5cfFxzXCtcKXB1cmdlXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RvcmFnZQkJICAgIlwoXlx8XHNcK1wpc2ludlx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0b3JhZ2UJCSAgICJcKF5cfFxzXCtcKXNuZWdcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdG9yYWdlCQkgICAiXCheXHxcc1wrXClzY29ualx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0b3JhZ2UJCSAgICJcKF5cfFxzXCtcKXN0ZXFcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxTdG9yYWdlCQkgICAiXCheXHxcc1wrXClyY2VxXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RvcmFnZQkJICAgIlwoXlx8XHNcK1wpdmFyc1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFN0b3JhZ2UJCSAgICJcKF5cfFxzXCtcKWNsdXNyXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsU3RvcmFnZQkJICAgIlwoXlx8XHNcK1wpc3RvXChbKy0vXCpdXHxcKVx6ZVwoJFx8XHNcK1wpIgorCitzeW50YXggbWF0Y2ggcnBsQWxnQ29uZGl0aW9uYWwJICAgIlwoXlx8XHNcK1wpaWZ0XChlXHxcKVx6ZVwoJFx8XHNcK1wpIgorCitzeW50YXggbWF0Y2ggcnBsT3BlcmF0b3IJICAgIlwoXlx8XHNcK1wpYW5kXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsT3BlcmF0b3IJICAgIlwoXlx8XHNcK1wpXCh4XHxcKW9yXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsT3BlcmF0b3IJICAgIlwoXlx8XHNcK1wpbm90XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsT3BlcmF0b3IJICAgIlwoXlx8XHNcK1wpc2FtZVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbE9wZXJhdG9yCSAgICJcKF5cfFxzXCtcKT09XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsT3BlcmF0b3IJICAgIlwoXlx8XHNcK1wpPD1cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxPcGVyYXRvcgkgICAiXCheXHxcc1wrXCk9PFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbE9wZXJhdG9yCSAgICJcKF5cfFxzXCtcKT0+XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsT3BlcmF0b3IJICAgIlwoXlx8XHNcK1wpPj1cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxPcGVyYXRvcgkgICAiXCheXHxcc1wrXCk8Plx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbE9wZXJhdG9yCSAgICJcKF5cfFxzXCtcKT5cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxPcGVyYXRvcgkgICAiXCheXHxcc1wrXCk8XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsT3BlcmF0b3IJICAgIlwoXlx8XHNcK1wpWystXVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbE9wZXJhdG9yCSAgICJcKF5cfFxzXCtcKVsvXCpdXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsT3BlcmF0b3IJICAgIlwoXlx8XHNcK1wpXF5cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxPcGVyYXRvcgkgICAiXCheXHxcc1wrXClcKlwqXHplXCgkXHxcc1wrXCkiCisKK3N5bnRheCBtYXRjaCBycGxCb29sZWFuCQkgICAiXCheXHxcc1wrXCl0cnVlXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsQm9vbGVhbgkJICAgIlwoXlx8XHNcK1wpZmFsc2VcemVcKCRcfFxzXCtcKSIKKworc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClzdG9yZVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClyZWNhbGxcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpXChcfHdmXHx1blwpbG9ja1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClvcGVuXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKWNsb3NlXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKWRlbGV0ZVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXCljcmVhdGVcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpZm9ybWF0XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKXJld2luZFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXCliYWNrc3BhY2VcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpXChcfHJlXCl3cml0ZVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClyZWFkXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKWlucXVpcmVcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpc3luY1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClhcHBlbmRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpc3VwcHJlc3NcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpc2Vla1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClwclwoMVx8aW50XHxzdFx8c3RjXHxsY2RcfHZhclx8dXNyXHxtZFwpXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKXBhcGVyXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKWNyXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKWVyYXNlXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKWRpc3BcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpaW5wdXRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpcHJvbXB0XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKWtleVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXCljbGxjZFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClcKFx8cmVcKWRyYXdcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpZHJheFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClpbmRlcFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClkZXBuZFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClyZXNcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpYXhlc1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClsYWJlbFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClwbWluXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKXBtYXhcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpY2VudHJcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpcGVyc2lzdFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXCl0aXRsZVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClcKHNsaWNlXHxhdXRvXHxsb2dcfFwpc2NhbGVcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpZXllcHRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpXChwXHxzXClwYXJcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpZnVuY3Rpb25cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpcG9sYXJcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpc2NhdHRlclx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClwbG90dGVyXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKXdpcmVmcmFtZVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClwYXJhbWV0cmljXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKXNsaWNlXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKVwqd1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClcKmhcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxSZWFkV3JpdGUJICAgIlwoXlx8XHNcK1wpXCpkXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKVwqc1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXCktPmxjZFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXClsY2QtPlx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbFJlYWRXcml0ZQkgICAiXCheXHxcc1wrXCllZGl0XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsUmVhZFdyaXRlCSAgICJcKF5cfFxzXCtcKXZpc2l0XHplXCgkXHxcc1wrXCkiCisKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpYWJzXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWFyZ1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCljb25qXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXJlXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWltXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKW1hbnRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpeHBvblx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCljZWlsXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWZhY3RcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpZnBcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpZmxvb3JcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpaW52XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWlwXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKW1heFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCltaW5cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpbW9kXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKW5lZ1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClyZWxheFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClzaWduXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXNxXChcfHJ0XClcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpeHJvb3RcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpY29zXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXNpblx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCl0YW5cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpdGdcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpYVwoXHxyY1wpY29zXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWFcKFx8cmNcKXNpblx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClhdGFuXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWFyY3RnXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxhXCljb3NoXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxhXClzaW5oXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxhXCl0YW5oXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxhcmdcKXRoXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWFyZ1tjc3RdaFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClcKFx8YVwpbG9nXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWxuXChcfDFcKVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClleHBcKFx8bVwpXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXRyblx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCljb25cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpaWRuXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXJkbVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClyc2RcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpY25ybVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCljcm9zc1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClkW2VvXXRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpW2NyXXN3cFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClyY2lcKGpcfFwpXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoaW5cfGRlXCljclx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCliZXNzZWxcemVcKCRcfFxzXCtcKSIKKworc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClcKFx8Z1wpZWd2bFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClcKFx8Z1wpXChcfGxcfHJcKWVndlx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClybnJtXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoc3RkXHxmaXhcfHNjaVx8ZW5nXClcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpXChyYWRcfGRlZ1wpXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxuXClyYW5kXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXJkelx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClcKFx8aVwpZmZ0XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoZGVjXHxiaW5cfG9jdFx8aGV4XClcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpcmNsZlx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClzdG9mXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVtjc11mXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWNoclx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCludW1cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpcG9zXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXN1Ylx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClzaXplXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoc3RcfHJjXCl3c1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClcKHJcfHNcKVwoclx8bFwpXChcfGJcKVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClhc1woclx8bFwpXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoaW50XHxkZXJcKVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClzdG9zXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxyXCljbHNcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpZHJ3c1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClzY2xzXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKW5zXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXRvdFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCltZWFuXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxwXClzZGV2XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxwXCl2YXJcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpbWF4c1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCltaW5zXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVwoXHxwXCljb3ZcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpY29sc1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClzXCh4XChcfHlcfDJcKVx8eVwoXHwyXClcKVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClcKHhcfHlcKWNvbFx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCljb3JyXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXV0cFtjZm50XVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCljb21iXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXBlcm1cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpXChcfHBcKWx1XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKVtsdV1jaG9sXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXNjaHVyXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKSVcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpJWNoXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKSV0XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWhtcy0+XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKS0+aG1zXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWhtcytcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpaG1zLVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClkLT5yXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXItPmRcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpYi0+clx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClyLT5iXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWMtPnJcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpci0+Y1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXClyLT5wXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXAtPnJcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpc3RyLT5cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpLT5zdHJcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpYXJyYXktPlx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCktPmFycmF5XHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKWxpc3QtPlx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCktPmxpc3RcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpcytcemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpcy1cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpY29sLVx6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCljb2wrXHplXCgkXHxcc1wrXCkiCitzeW50YXggbWF0Y2ggcnBsSW50cmluc2ljCSAgICJcKF5cfFxzXCtcKXJvdy1cemVcKCRcfFxzXCtcKSIKK3N5bnRheCBtYXRjaCBycGxJbnRyaW5zaWMJICAgIlwoXlx8XHNcK1wpcm93K1x6ZVwoJFx8XHNcK1wpIgorc3ludGF4IG1hdGNoIHJwbEludHJpbnNpYwkgICAiXCheXHxcc1wrXCktPnFcemVcKCRcfFxzXCtcKSIKKworc3ludGF4IG1hdGNoIHJwbE9ic29sZXRlCSAgICJcKF5cfFxzXCtcKWFycnktPlx6ZVwoJFx8XHNcK1wpImhzPWUtNQorc3ludGF4IG1hdGNoIHJwbE9ic29sZXRlCSAgICJcKF5cfFxzXCtcKS0+YXJyeVx6ZVwoJFx8XHNcK1wpImhzPWUtNQorCisiIENvbmRpdGlvbmFsIHN0cnVjdHVyZXMKK3N5bnRheCBtYXRjaCBycGxDb25kaXRpb25hbEVycm9yICAgIlwoXlx8XHNcK1wpY2FzZVx6ZVwoJFx8XHNcK1wpImhzPWUtMworc3ludGF4IG1hdGNoIHJwbENvbmRpdGlvbmFsRXJyb3IgICAiXCheXHxcc1wrXCl0aGVuXHplXCgkXHxcc1wrXCkiaHM9ZS0zCitzeW50YXggbWF0Y2ggcnBsQ29uZGl0aW9uYWxFcnJvciAgICJcKF5cfFxzXCtcKWVsc2VcemVcKCRcfFxzXCtcKSJocz1lLTMKK3N5bnRheCBtYXRjaCBycGxDb25kaXRpb25hbEVycm9yICAgIlwoXlx8XHNcK1wpZWxzZWlmXHplXCgkXHxcc1wrXCkiaHM9ZS01CitzeW50YXggbWF0Y2ggcnBsQ29uZGl0aW9uYWxFcnJvciAgICJcKF5cfFxzXCtcKWVuZFx6ZVwoJFx8XHNcK1wpImhzPWUtMgorc3ludGF4IG1hdGNoIHJwbENvbmRpdGlvbmFsRXJyb3IgICAiXCheXHxcc1wrXClcKHN0ZXBcfG5leHRcKVx6ZVwoJFx8XHNcK1wpImhzPWUtMworc3ludGF4IG1hdGNoIHJwbENvbmRpdGlvbmFsRXJyb3IgICAiXCheXHxcc1wrXCl1bnRpbFx6ZVwoJFx8XHNcK1wpImhzPWUtNAorc3ludGF4IG1hdGNoIHJwbENvbmRpdGlvbmFsRXJyb3IgICAiXCheXHxcc1wrXClyZXBlYXRcemVcKCRcfFxzXCtcKSJocz1lLTUKK3N5bnRheCBtYXRjaCBycGxDb25kaXRpb25hbEVycm9yICAgIlwoXlx8XHNcK1wpZGVmYXVsdFx6ZVwoJFx8XHNcK1wpImhzPWUtNgorCisiIEZPUi8oQ1lDTEUpLyhFWElUKS9ORVhUCisiIEZPUi8oQ1lDTEUpLyhFWElUKS9TVEVQCisiIFNUQVJULyhDWUNMRSkvKEVYSVQpL05FWFQKKyIgU1RBUlQvKENZQ0xFKS8oRVhJVCkvU1RFUAorc3ludGF4IG1hdGNoIHJwbEN5Y2xlICAgICAgICAgICAgICAiXCheXHxcc1wrXClcKGN5Y2xlXHxleGl0XClcemVcKCRcfFxzXCtcKSIKK3N5bnRheCByZWdpb24gcnBsRm9yTmV4dCBtYXRjaGdyb3VwPXJwbFJlcGVhdCBzdGFydD0iXCheXHxcc1wrXClcKGZvclx8c3RhcnRcKVx6ZVwoJFx8XHNcK1wpIiBlbmQ9IlwoXlx8XHNcK1wpXChuZXh0XHxzdGVwXClcemVcKCRcfFxzXCtcKSIgY29udGFpbnM9QUxMIGtlZXBlbmQgZXh0ZW5kCisKKyIgRUxTRUlGL0VORAorc3ludGF4IHJlZ2lvbiBycGxFbHNlaWZFbmQgbWF0Y2hncm91cD1ycGxDb25kaXRpb25hbCBzdGFydD0iXCheXHxcc1wrXCllbHNlaWZcemVcKCRcfFxzXCtcKSIgZW5kPSJcKF5cfFxzXCtcKWVuZFx6ZVwoJFx8XHNcK1wpIiBjb250YWluZWQgY29udGFpbnM9QUxMQlVULHJwbEVsc2VFbmQga2VlcGVuZAorCisiIEVMU0UvRU5ECitzeW50YXggcmVnaW9uIHJwbEVsc2VFbmQgbWF0Y2hncm91cD1ycGxDb25kaXRpb25hbCBzdGFydD0iXCheXHxcc1wrXCllbHNlXHplXCgkXHxcc1wrXCkiIGVuZD0iXCheXHxcc1wrXCllbmRcemVcKCRcfFxzXCtcKSIgY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxycGxFbHNlRW5kLHJwbFRoZW5FbmQscnBsRWxzZWlmRW5kIGtlZXBlbmQKKworIiBUSEVOL0VORAorc3ludGF4IHJlZ2lvbiBycGxUaGVuRW5kIG1hdGNoZ3JvdXA9cnBsQ29uZGl0aW9uYWwgc3RhcnQ9IlwoXlx8XHNcK1wpdGhlblx6ZVwoJFx8XHNcK1wpIiBlbmQ9IlwoXlx8XHNcK1wpZW5kXHplXCgkXHxcc1wrXCkiIGNvbnRhaW5lZCBjb250YWluZWRpbj1ycGxJZkVuZCBjb250YWlucz1BTExCVVQscnBsVGhlbkVuZCBrZWVwZW5kCisKKyIgSUYvRU5ECitzeW50YXggcmVnaW9uIHJwbElmRW5kIG1hdGNoZ3JvdXA9cnBsQ29uZGl0aW9uYWwgc3RhcnQ9IlwoXlx8XHNcK1wpaWZcKGVyclx8XClcemVcKCRcfFxzXCtcKSIgZW5kPSJcKF5cfFxzXCtcKWVuZFx6ZVwoJFx8XHNcK1wpIiBjb250YWlucz1BTExCVVQscnBsRWxzZUVuZCxycGxFbHNlaWZFbmQga2VlcGVuZCBleHRlbmQKKyIgaWYgZW5kIGlzIGFjY2VwdGVkICEKKyIgc2VsZWN0IGVuZCB0b28gIQorCisiIENBU0UvVEhFTgorc3ludGF4IHJlZ2lvbiBycGxDYXNlVGhlbiBtYXRjaGdyb3VwPXJwbENvbmRpdGlvbmFsIHN0YXJ0PSJcKF5cfFxzXCtcKWNhc2VcemVcKCRcfFxzXCtcKSIgZW5kPSJcKF5cfFxzXCtcKXRoZW5cemVcKCRcfFxzXCtcKSIgY29udGFpbnM9QUxMQlVULHJwbENhc2VUaGVuLHJwbENhc2VFbmQscnBsVGhlbkVuZCBrZWVwZW5kIGV4dGVuZCBjb250YWluZWQgY29udGFpbmVkaW49cnBsQ2FzZUVuZAorCisiIENBU0UvRU5ECitzeW50YXggcmVnaW9uIHJwbENhc2VFbmQgbWF0Y2hncm91cD1ycGxDb25kaXRpb25hbCBzdGFydD0iXCheXHxcc1wrXCljYXNlXHplXCgkXHxcc1wrXCkiIGVuZD0iXCheXHxcc1wrXCllbmRcemVcKCRcfFxzXCtcKSIgY29udGFpbnM9QUxMQlVULHJwbENhc2VFbmQscnBsVGhlbkVuZCxycGxFbHNlRW5kIGtlZXBlbmQgZXh0ZW5kIGNvbnRhaW5lZCBjb250YWluZWRpbj1ycGxTZWxlY3RFbmQKKworIiBERUZBVUxUL0VORAorc3ludGF4IHJlZ2lvbiBycGxEZWZhdWx0RW5kIG1hdGNoZ3JvdXA9cnBsQ29uZGl0aW9uYWwgc3RhcnQ9IlwoXlx8XHNcK1wpZGVmYXVsdFx6ZVwoJFx8XHNcK1wpIiBlbmQ9IlwoXlx8XHNcK1wpZW5kXHplXCgkXHxcc1wrXCkiIGNvbnRhaW5zPUFMTEJVVCxycGxEZWZhdWx0RW5kIGtlZXBlbmQgY29udGFpbmVkIGNvbnRhaW5lZGluPXJwbFNlbGVjdEVuZAorCisiIFNFTEVDVC9FTkQKK3N5bnRheCByZWdpb24gcnBsU2VsZWN0RW5kIG1hdGNoZ3JvdXA9cnBsQ29uZGl0aW9uYWwgc3RhcnQ9IlwoXlx8XHNcK1wpc2VsZWN0XHplXCgkXHxcc1wrXCkiIGVuZD0iXCheXHxcc1wrXCllbmRcemVcKCRcfFxzXCtcKSIgY29udGFpbnM9QUxMQlVULHJwbFRoZW5FbmQga2VlcGVuZCBleHRlbmQKKyIgc2VsZWN0IGVuZCBpcyBhY2NlcHRlZCAhCisKKyIgRE8vVU5USUwvRU5ECitzeW50YXggcmVnaW9uIHJwbFVudGlsRW5kIG1hdGNoZ3JvdXA9cnBsQ29uZGl0aW9uYWwgc3RhcnQ9IlwoXlx8XHNcK1wpdW50aWxcemVcKCRcfFxzXCtcKSIgZW5kPSJcKF5cfFxzXCtcKVx6c2VuZFx6ZVwoJFx8XHNcK1wpIiBjb250YWlucz1BTExCVVQscnBsVW50aWxFbmQgY29udGFpbmVkIGNvbnRhaW5lZGluPXJwbERvVW50aWwgZXh0ZW5kIGtlZXBlbmQKK3N5bnRheCByZWdpb24gcnBsRG9VbnRpbCBtYXRjaGdyb3VwPXJwbENvbmRpdGlvbmFsIHN0YXJ0PSJcKF5cfFxzXCtcKWRvXHplXCgkXHxcc1wrXCkiIGVuZD0iXCheXHxcc1wrXCl1bnRpbFx6ZVwoJFx8XHNcK1wpIiBjb250YWlucz1BTEwga2VlcGVuZCBleHRlbmQKKworIiBXSElMRS9SRVBFQVQvRU5ECitzeW50YXggcmVnaW9uIHJwbFJlcGVhdEVuZCBtYXRjaGdyb3VwPXJwbENvbmRpdGlvbmFsIHN0YXJ0PSJcKF5cfFxzXCtcKXJlcGVhdFx6ZVwoJFx8XHNcK1wpIiBlbmQ9IlwoXlx8XHNcK1wpXHpzZW5kXHplXCgkXHxcc1wrXCkiIGNvbnRhaW5zPUFMTEJVVCxycGxSZXBlYXRFbmQgY29udGFpbmVkIGNvbnRhaW5lZGluPXJwbFdoaWxlUmVwZWF0IGV4dGVuZCBrZWVwZW5kCitzeW50YXggcmVnaW9uIHJwbFdoaWxlUmVwZWF0IG1hdGNoZ3JvdXA9cnBsQ29uZGl0aW9uYWwgc3RhcnQ9IlwoXlx8XHNcK1wpd2hpbGVcemVcKCRcfFxzXCtcKSIgZW5kPSJcKF5cfFxzXCtcKXJlcGVhdFx6ZVwoJFx8XHNcK1wpIiBjb250YWlucz1BTEwga2VlcGVuZCBleHRlbmQKKworIiBDb21tZW50cworc3ludGF4IG1hdGNoIHJwbENvbW1lbnRFcnJvciAiXCovIgorc3ludGF4IHJlZ2lvbiBycGxDb21tZW50U3RyaW5nIGNvbnRhaW5lZCBzdGFydD0rIisgZW5kPSsiKyBlbmQ9K1wqLyttZT1zLTEKK3N5bnRheCByZWdpb24gcnBsQ29tbWVudExpbmUgc3RhcnQ9IlwoXlx8XHNcK1wpLy9cemUiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1OT05FIGtlZXBlbmQgZXh0ZW5kCitzeW50YXggcmVnaW9uIHJwbENvbW1lbnQgc3RhcnQ9IlwoXlx8XHNcK1wpL1wqXHplIiBlbmQ9IlwqLyIgY29udGFpbnM9cnBsQ29tbWVudFN0cmluZyBrZWVwZW5kIGV4dGVuZAorCisiIENhdGNoIGVycm9ycyBjYXVzZWQgYnkgdG9vIG1hbnkgcmlnaHQgcGFyZW50aGVzZXMKK3N5bnRheCByZWdpb24gcnBsUGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULHJwbFBhcmVuRXJyb3IscnBsQ29tcGxleCxycGxJbmNsdWRlZCBrZWVwZW5kIGV4dGVuZAorc3ludGF4IG1hdGNoIHJwbFBhcmVuRXJyb3IgIikiCisKKyIgU3Vicm91dGluZXMKKyIgQ2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB0b28gbWFueSByaWdodCAnPj4nCitzeW50YXggbWF0Y2ggcnBsU3ViRXJyb3IgIlwoXlx8XHNcK1wpPj5cemVcKCRcfFxzXCtcKSJocz1lLTEKK3N5bnRheCByZWdpb24gcnBsU3ViIG1hdGNoZ3JvdXA9cnBsU3ViRGVsaW1pdG9yIHN0YXJ0PSJcKF5cfFxzXCtcKTw8XHplXCgkXHxcc1wrXCkiIGVuZD0iXCheXHxcc1wrXCk+Plx6ZVwoJFx8XHNcK1wpIiBjb250YWlucz1BTExCVVQscnBsU3ViRXJyb3IscnBsSW5jbHVkZWQscnBsRGVmYXVsdEVuZCxycGxTdG9yYWdlU3ViIGtlZXBlbmQgZXh0ZW5kCisKKyIgRXhwcmVzc2lvbnMKK3N5bnRheCByZWdpb24gcnBsRXhwciBzdGFydD0iXCheXHxcc1wrXCknIiBlbmQ9IidcemVcKCRcfFxzXCtcKSIgY29udGFpbnM9cnBsUGFyZW4scnBsUGFyZW5FcnJvcgorCisiIExvY2FsIHZhcmlhYmxlcworc3ludGF4IG1hdGNoIHJwbFN0b3JhZ2VFcnJvciAiXCheXHxcc1wrXCktPlx6ZVwoJFx8XHNcK1wpImhzPWUtMQorc3ludGF4IHJlZ2lvbiBycGxTdG9yYWdlU3ViIG1hdGNoZ3JvdXA9cnBsU3RvcmFnZSBzdGFydD0iXCheXHxcc1wrXCk8PFx6ZVwoJFx8XHNcK1wpIiBlbmQ9IlwoXlx8XHNcK1wpPj5cemVcKCRcfFxzXCtcKSIgY29udGFpbnM9QUxMQlVULHJwbFN1YkVycm9yLHJwbEluY2x1ZGVkLHJwbERlZmF1bHRFbmQscnBsU3RvcmFnZUV4cHIgY29udGFpbmVkIGNvbnRhaW5lZGluPXJwbExvY2FsU3RvcmFnZSBrZWVwZW5kIGV4dGVuZAorc3ludGF4IHJlZ2lvbiBycGxTdG9yYWdlRXhwciBtYXRjaGdyb3VwPXJwbFN0b3JhZ2Ugc3RhcnQ9IlwoXlx8XHNcK1wpJyIgZW5kPSInXHplXCgkXHxcc1wrXCkiIGNvbnRhaW5zPXJwbFBhcmVuLHJwbFBhcmVuRXJyb3IgZXh0ZW5kIGNvbnRhaW5lZCBjb250YWluZWRpbj1ycGxMb2NhbFN0b3JhZ2UKK3N5bnRheCByZWdpb24gcnBsTG9jYWxTdG9yYWdlIG1hdGNoZ3JvdXA9cnBsU3RvcmFnZSBzdGFydD0iXCheXHxcc1wrXCktPlx6ZVwoJFx8XHNcK1wpIiBlbmQ9IlwoXlx8XHNcK1wpXCg8PFx6ZVwoJFx8XHNcK1wpXHwnXCkiIGNvbnRhaW5zPXJwbFN0b3JhZ2VTdWIscnBsU3RvcmFnZUV4cHIscnBsQ29tbWVudCxycGxDb21tZW50TGluZSBrZWVwZW5kIGV4dGVuZAorCisiIENhdGNoIGVycm9ycyBjYXVzZWQgYnkgdG9vIG1hbnkgcmlnaHQgYnJhY2tldHMKK3N5bnRheCBtYXRjaCBycGxBcnJheUVycm9yICJcXSIKK3N5bnRheCBtYXRjaCBycGxBcnJheSAiXF0iIGNvbnRhaW5lZCBjb250YWluZWRpbj1ycGxBcnJheQorc3ludGF4IHJlZ2lvbiBycGxBcnJheSBtYXRjaGdyb3VwPXJwbEFycmF5IHN0YXJ0PSJcWyIgZW5kPSJcXSIgY29udGFpbnM9QUxMQlVULHJwbEFycmF5RXJyb3Iga2VlcGVuZCBleHRlbmQKKworIiBDYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHRvbyBtYW55IHJpZ2h0ICd9Jworc3ludGF4IG1hdGNoIHJwbExpc3RFcnJvciAifSIKK3N5bnRheCBtYXRjaCBycGxMaXN0ICJ9IiBjb250YWluZWQgY29udGFpbmVkaW49cnBsTGlzdAorc3ludGF4IHJlZ2lvbiBycGxMaXN0IG1hdGNoZ3JvdXA9cnBsTGlzdCBzdGFydD0ieyIgZW5kPSJ9IiBjb250YWlucz1BTExCVVQscnBsTGlzdEVycm9yLHJwbEluY2x1ZGVkIGtlZXBlbmQgZXh0ZW5kCisKKyIgY3BwIGlzIHVzZWQgYnkgUlBMLzIKK3N5bnRheCBtYXRjaCBycGxQcmVQcm9jICAgIlxfXiNccypcKGRlZmluZVx8dW5kZWZcKVw+Igorc3ludGF4IG1hdGNoIHJwbFByZVByb2MgICAiXF9eI1xzKlwod2FybmluZ1x8ZXJyb3JcKVw+Igorc3ludGF4IG1hdGNoIHJwbFByZUNvbmRpdCAiXF9eI1xzKlwoaWZcfGlmZGVmXHxpZm5kZWZcfGVsaWZcfGVsc2VcfGVuZGlmXClcPiIKK3N5bnRheCBtYXRjaCBycGxJbmNsdWRlZCBjb250YWluZWQgIlw8PFxzKlxTKlxzKj5cPiIKK3N5bnRheCBtYXRjaCBycGxJbmNsdWRlICAgIlxfXiNccyppbmNsdWRlXD5ccypbIjxdIiBjb250YWlucz1ycGxJbmNsdWRlZCxycGxTdHJpbmcKKyJzeW50YXggbWF0Y2ggcnBsRXhlY1BhdGggICJcJV5cX14jIVxzKlxTKiIKK3N5bnRheCBtYXRjaCBycGxFeGVjUGF0aCAgIlwlXlxfXiMhXHAqXF8kIgorCisiIEFueSBpbnRlZ2VyCitzeW50YXggbWF0Y2ggcnBsSW50ZWdlciAgICAiXCheXHxcc1wrXClbLStdXD1cZFwrXHplXCgkXHxcc1wrXCkiCisKKyIgRmxvYXRpbmcgcG9pbnQgbnVtYmVyCisiIFtTXVtpcF0uW2ZwXQorc3ludGF4IG1hdGNoIHJwbEZsb2F0ICAgICAgICJcKF5cfFxzXCtcKVstK11cPVwoXGQqXClcPVtcLixdXChcZCpcKVw9XHplXCgkXHxcc1wrXCkiIGNvbnRhaW5zPUFMTEJVVCxycGxQb2ludCxycGxTaWduCisiIFtTXWlwWy5mcF1FW1NdZXhwCitzeW50YXggbWF0Y2ggcnBsRmxvYXQgICAgICAgIlwoXlx8XHNcK1wpWy0rXVw9XGRcK1woW1wuLF1cZCpcKVw9W2VFXVwoWy0rXVwpXD1cZFwrXHplXCgkXHxcc1wrXCkiIGNvbnRhaW5zPUFMTEJVVCxycGxQb2ludCxycGxTaWduCisiIFtTXS5mcEVbU11leHAKK3N5bnRheCBtYXRjaCBycGxGbG9hdCAgICAgICAiXCheXHxcc1wrXClbLStdXD1cKFxkKlwpXD1bXC4sXVxkXCtbZUVdXChbLStdXClcPVxkXCtcemVcKCRcfFxzXCtcKSIgY29udGFpbnM9QUxMQlVULHJwbFBvaW50LHJwbFNpZ24KK3N5bnRheCBtYXRjaCBycGxQb2ludCAgICAgICJcPFtcLixdXD4iCitzeW50YXggbWF0Y2ggcnBsU2lnbiAgICAgICAiXDxbKy1dXD4iCisKKyIgQ29tcGxleCBudW1iZXIKKyIgKHgseSkKK3N5bnRheCBtYXRjaCBycGxDb21wbGV4ICAgICJcKF5cfFxzXCtcKShbLStdXD1cKFxkKlwpXD1cLlw9XGQqXChbZUVdWy0rXVw9XGRcK1wpXD1ccyosXHMqWy0rXVw9XChcZCpcKVw9XC5cPVxkKlwoW2VFXVstK11cPVxkXCtcKVw9KVx6ZVwoJFx8XHNcK1wpIgorIiAoeC55KQorc3ludGF4IG1hdGNoIHJwbENvbXBsZXggICAgIlwoXlx8XHNcK1wpKFstK11cPVwoXGQqXClcPSxcPVxkKlwoW2VFXVstK11cPVxkXCtcKVw9XHMqXC5ccypbLStdXD1cKFxkKlwpXD0sXD1cZCpcKFtlRV1bLStdXD1cZFwrXClcPSlcemVcKCRcfFxzXCtcKSIKKworIiBTdHJpbmdzCitzeW50YXggbWF0Y2ggcnBsU3RyaW5nR3VpbGxlcyAgICAgICAiXFxcIiIKK3N5bnRheCBtYXRjaCBycGxTdHJpbmdBbnRpc2xhc2ggICAgICJcXFxcIgorc3ludGF4IHJlZ2lvbiBycGxTdHJpbmcgc3RhcnQ9K1woXlx8XHNcK1wpIisgZW5kPSsiXHplXCgkXHxcc1wrXCkrIGNvbnRhaW5zPXJwbFN0cmluZ0d1aWxsZXMscnBsU3RyaW5nQW50aXNsYXNoCisKK3N5bnRheCBtYXRjaCBycGxUYWIgIlx0IiAgdHJhbnNwYXJlbnQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcnBsX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3JwbF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGlnaGxpZ2h0IGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaWdobGlnaHQgZGVmYXVsdCBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorCisgIEhpTGluayBycGxDb250cm9sCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHJwbFN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBycGxBbGdDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgcnBsQ29uZGl0aW9uYWwJCVJlcGVhdAorICBIaUxpbmsgcnBsQ29uZGl0aW9uYWxFcnJvcglFcnJvcgorICBIaUxpbmsgcnBsUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIHJwbEN5Y2xlCQlSZXBlYXQKKyAgSGlMaW5rIHJwbFVudGlsCQlSZXBlYXQKKyAgSGlMaW5rIHJwbEludHJpbnNpYwkJU3BlY2lhbAorICBIaUxpbmsgcnBsU3RvcmFnZQkJU3RvcmFnZUNsYXNzCisgIEhpTGluayBycGxTdG9yYWdlRXhwcgkJU3RvcmFnZUNsYXNzCisgIEhpTGluayBycGxTdG9yYWdlRXJyb3IJRXJyb3IKKyAgSGlMaW5rIHJwbFJlYWRXcml0ZQkJcnBsSW50cmluc2ljCisKKyAgSGlMaW5rIHJwbE9wZXJhdG9yCQlPcGVyYXRvcgorCisgIEhpTGluayBycGxMaXN0CQlTcGVjaWFsCisgIEhpTGluayBycGxBcnJheQkJU3BlY2lhbAorICBIaUxpbmsgcnBsQ29uc3RhbnQJCUlkZW50aWZpZXIKKyAgSGlMaW5rIHJwbEV4cHIJCVR5cGUKKworICBIaUxpbmsgcnBsU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHJwbFN0cmluZ0d1aWxsZXMJU3RyaW5nCisgIEhpTGluayBycGxTdHJpbmdBbnRpc2xhc2gJU3RyaW5nCisKKyAgSGlMaW5rIHJwbEJpbmFyeQkJQm9vbGVhbgorICBIaUxpbmsgcnBsT2N0YWwJCUJvb2xlYW4KKyAgSGlMaW5rIHJwbERlY2ltYWwJCUJvb2xlYW4KKyAgSGlMaW5rIHJwbEhleGFkZWNpbWFsCQlCb29sZWFuCisgIEhpTGluayBycGxJbnRlZ2VyCQlOdW1iZXIKKyAgSGlMaW5rIHJwbEZsb2F0CQlGbG9hdAorICBIaUxpbmsgcnBsQ29tcGxleAkJRmxvYXQKKyAgSGlMaW5rIHJwbEJvb2xlYW4JCUlkZW50aWZpZXIKKworICBIaUxpbmsgcnBsT2Jzb2xldGUJCVRvZG8KKworICBIaUxpbmsgcnBsUHJlQ29uZGl0CQlQcmVDb25kaXQKKyAgSGlMaW5rIHJwbEluY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIHJwbEluY2x1ZGVkCQlycGxTdHJpbmcKKyAgSGlMaW5rIHJwbEluY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIHJwbEV4ZWNQYXRoCQlJbmNsdWRlCisgIEhpTGluayBycGxQcmVQcm9jCQlQcmVQcm9jCisgIEhpTGluayBycGxDb21tZW50CQlDb21tZW50CisgIEhpTGluayBycGxDb21tZW50TGluZQkJQ29tbWVudAorICBIaUxpbmsgcnBsQ29tbWVudFN0cmluZwlDb21tZW50CisgIEhpTGluayBycGxTdWJEZWxpbWl0b3IJcnBsU3RvcmFnZQorICBIaUxpbmsgcnBsQ29tbWVudEVycm9yCUVycm9yCisgIEhpTGluayBycGxQYXJlbkVycm9yCQlFcnJvcgorICBIaUxpbmsgcnBsU3ViRXJyb3IJCUVycm9yCisgIEhpTGluayBycGxBcnJheUVycm9yCQlFcnJvcgorICBIaUxpbmsgcnBsTGlzdEVycm9yCQlFcnJvcgorICBIaUxpbmsgcnBsVGFiCQkJRXJyb3IKKyAgSGlMaW5rIHJwbEJpbmFyeUVycm9yCQlFcnJvcgorICBIaUxpbmsgcnBsT2N0YWxFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHJwbERlY2ltYWxFcnJvcglFcnJvcgorICBIaUxpbmsgcnBsSGV4YWRlY2ltYWxFcnJvcglFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJycGwiCisKKyIgdmltOiB0cz04IHR3PTEzMgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcnN0LnZpbSBiL3J1bnRpbWUvc3ludGF4L3JzdC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJkNDNjNgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3JzdC52aW0KQEAgLTAsMCArMSwxMDcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgICAgcmVTdHJ1Y3R1cmVkVGV4dCBEb2N1bWVudGF0aW9uIEZvcm1hdAorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9yc3QvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMTMKKyIgYXJjaC10YWc6CSAgICA2ZmFlMDlkYS1kNWQ0LTQ5ZDgtYWVjMS1lNDkwMDhlYTIxZTYKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgdG9kbworc3luIGtleXdvcmQJcnN0VG9kbwkJY29udGFpbmVkIEZJWE1FIFRPRE8gWFhYIE5PVEUKKworc3luIGNhc2UgaWdub3JlCisKKyIgY29tbWVudHMKK3N5biByZWdpb24JcnN0Q29tbWVudCAJbWF0Y2hncm91cD1yc3RDb21tZW50IHN0YXJ0PSJeXC5cLlwlKCBcJShbYS16MC05Xy4tXVwrOjpcKVxAIVx8JFwpIiBlbmQ9Il5cc1xAISIgY29udGFpbnM9cnN0VG9kbworCitzeW4gY2x1c3Rlcglyc3RDcnVmdCAgICBjb250YWlucz1yc3RGb290bm90ZUxhYmVsLHJzdENpdGF0aW9uTGFiZWwscnN0U3Vic3RpdHV0aW9uTGFiZWwscnN0SW5saW5lLHJzdEh5cGVybGlua3MscnN0SW50ZXJuYWxUYXJnZXQKKworIiBibG9ja3MKKyIgc3luIHJlZ2lvbglyc3RCbG9jawltYXRjaGdyb3VwPXJzdERlbGltaXRlciBzdGFydD0iOlxAPCE6JCIgc2tpcD0iXiQiIGVuZD0iXlxzXEAhIiBjb250YWlucz1AcnN0Q3J1ZnQKK3N5biByZWdpb24JcnN0QmxvY2sJbWF0Y2hncm91cD1yc3REZWxpbWl0ZXIgc3RhcnQ9Ijo6JCIgc2tpcD0iXiQiIGVuZD0iXlxzXEAhIgorc3luIHJlZ2lvbglyc3REb2N0ZXN0QmxvY2sJbWF0Y2hncm91cD1yc3REZWxpbWl0ZXIgc3RhcnQ9Il4+Pj5ccyIgZW5kPSJeJCIKKworIiB0YWJsZXMKKyIgVE9ETzogdGhlc2UgbWF5IGFjdHVhbGx5IGJlIGEgYml0IHRvbyBjb21wbGljYXRlZCB0byBtYXRjaCBjb3JyZWN0bHkgYW5kCisiIHNob3VsZCBwZXJoYXBzIGJlIHJlbW92ZWQuICBXaG9uIHJlYWxseSBuZWVkcyBpdCBhbnl3YXk/CitzeW4gcmVnaW9uCXJzdFRhYmxlCXRyYW5zcGFyZW50IHN0YXJ0PSJeXG5ccyorWy09K11cKyIgZW5kPSJeJCIgY29udGFpbnM9cnN0VGFibGVMaW5lcyxAcnN0Q3J1ZnQKK3N5biBtYXRjaAlyc3RUYWJsZUxpbmVzCWNvbnRhaW5lZCAiXlxzKlt8Kz0tXVwrJCIKK3N5biByZWdpb24JcnN0U2ltcGxlVGFibGUJdHJhbnNwYXJlbnQgc3RhcnQ9Il5cblxzKlwlKD1cK1xzXCtcKVwlKD1cK1xzKlwpXCskIiBlbmQ9Il4kIiBjb250YWlucz1yc3RTaW1wbGVUYWJsZUxpbmVzLEByc3RDcnVmdAorc3luIG1hdGNoCXJzdFNpbXBsZVRhYmxlTGluZXMgY29udGFpbmVkICJeXHMqXCUoPVwrXHNcK1wpXCUoPVwrXHMqXClcKyQiCisKKyIgZm9vdG5vdGVzCitzeW4gcmVnaW9uCXJzdEZvb3Rub3RlIAltYXRjaGdyb3VwPXJzdERpcmVjdGl2ZSBzdGFydD0iXlwuXC4gXFtcJShbIypdXHxbMC05XVwrXHwjW2EtejAtOV8uLV1cK1wpXF1ccyIgZW5kPSJeXHNcQCEiIGNvbnRhaW5zPUByc3RDcnVmdAorc3luIG1hdGNoCXJzdEZvb3Rub3RlTGFiZWwgIlxbXCUoWyMqXVx8WzAtOV1cK1x8I1thLXowLTlfLi1dXCtcKVxdXyIKKworIiBjaXRhdGlvbnMKK3N5biByZWdpb24JcnN0Q2l0YXRpb24gCW1hdGNoZ3JvdXA9cnN0RGlyZWN0aXZlIHN0YXJ0PSJeXC5cLiBcW1thLXowLTlfLi1dXCtcXVxzIiBlbmQ9Il5cc1xAISIgY29udGFpbnM9QHJzdENydWZ0CitzeW4gbWF0Y2gJcnN0Q2l0YXRpb25MYWJlbCAiXFtbYS16MC05Xy4tXVwrXF1fIgorCisiIGRpcmVjdGl2ZXMKK3N5biByZWdpb24JcnN0RGlyZWN0aXZlQm9keSBtYXRjaGdyb3VwPXJzdERpcmVjdGl2ZSBzdGFydD0iXlwuXC4gW2EtejAtOV8uLV1cKzo6IiBlbmQ9Il5cc1xAISIKKworIiBzdWJzdGl0dXRpb25zCitzeW4gcmVnaW9uCXJzdFN1YnN0aXR1dGlvbiBtYXRjaGdyb3VwPXJzdERpcmVjdGl2ZSBzdGFydD0iXlwuXC4gfFthLXowLTlfLi1dfFxzW2EtejAtOV8uLV1cKzo6XHMiIGVuZD0iXlxzXEAhIiBjb250YWlucz1AcnN0Q3J1ZnQKK3N5biBtYXRjaAlyc3RTdWJzdGl0dXRpb25MYWJlbCAifFthLXowLTlfLi1dfCIKKworIiBpbmxpbmUgbWFya3VwCitzeW4gbWF0Y2gJcnN0SW5saW5lCSJcKlx7MSwyfVxTXCUoW14qXSpcU1wpXD1cKlx7MSwyfSIKK3N5biBtYXRjaAlyc3RJbmxpbmUJImBcezEsMn1cU1wlKFteYF0qXFNcKVw9YFx7MSwyfSIKKworIiBoeXBlcmxpbmtzCitzeW4gcmVnaW9uCXJzdEh5cGVybGlua3MJbWF0Y2hncm91cD1Sc3REaXJlY3RpdmUgc3RhcnQ9Il5cLlwuIF9bYS16MC05Xy4gLV1cKzpccyIgZW5kPSJeXHNcQCEiIGNvbnRhaW5zPUByc3RDcnVmdAorCitzeW4gbWF0Y2gJcnN0SHlwZXJsaW5rc0xhYmVsCSJgXFNcJShbXmBdKlxTXClcPWBfX1w9XD4iCitzeW4gbWF0Y2gJcnN0SHlwZXJsaW5rc0xhYmVsCSJcd1wrX19cPVw+IgorCisiIGludGVybmFsIHRhcmdldHMKK3N5biBtYXRjaAlyc3RJbnRlcm5hbFRhcmdldCAiX2BcU1wlKFteYF0qXFNcKVw9YCIKKworIiBsaXN0cworc3luIG1hdGNoCXJzdExpc3RJdGVtCSJeOlwlKFx3XCtccypcKVwrOiIKK3N5biBtYXRjaAlyc3RMaXN0SXRlbQkiXlxzKlstKitdXHNcKyIKKworc3luIHN5bmMgbWlubGluZXM9NTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcnN0X3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3JzdF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayByc3RUb2RvIFRvZG8KKyAgSGlMaW5rIHJzdENvbW1lbnQgQ29tbWVudAorICBIaUxpbmsgcnN0RGVsaW1pdGVyIERlbGltaXRlcgorICBIaUxpbmsgcnN0QmxvY2sgU3RyaW5nCisgIEhpTGluayByc3REb2N0ZXN0QmxvY2sgUHJlUHJvYworICBIaUxpbmsgcnN0VGFibGVMaW5lcyBEZWxpbWl0ZXIKKyAgSGlMaW5rIHJzdFNpbXBsZVRhYmxlTGluZXMgcnN0VGFibGVMaW5lcworICBIaUxpbmsgcnN0Rm9vdG5vdGUgU3RyaW5nCisgIEhpTGluayByc3RGb290bm90ZUxhYmVsIElkZW50aWZpZXIKKyAgSGlMaW5rIHJzdENpdGF0aW9uIFN0cmluZworICBIaUxpbmsgcnN0Q2l0YXRpb25MYWJlbCBJZGVudGlmaWVyCisgIEhpTGluayByc3REaXJlY3RpdmUgS2V5d29yZAorICBIaUxpbmsgcnN0RGlyZWN0aXZlQm9keSBUeXBlCisgIEhpTGluayByc3RTdWJzdGl0dXRpb24gU3RyaW5nCisgIEhpTGluayByc3RTdWJzdGl0dXRpb25MYWJlbCBJZGVudGlmaWVyCisgIEhpTGluayByc3RIeXBlcmxpbmtzIFN0cmluZworICBIaUxpbmsgcnN0SHlwZXJsaW5rc0xhYmVsIElkZW50aWZpZXIKKyAgSGlMaW5rIHJzdExpc3RJdGVtIElkZW50aWZpZXIKKyAgaGkgZGVmIHJzdElubGluZSB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYworICBoaSBkZWYgcnN0SW50ZXJuYWxUYXJnZXQgdGVybT1pdGFsaWMgY3Rlcm09aXRhbGljIGd1aT1pdGFsaWMKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJzdCIKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcnRmLnZpbSBiL3J1bnRpbWUvc3ludGF4L3J0Zi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY1ZWE3MQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3J0Zi52aW0KQEAgLTAsMCArMSw4OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVJpY2ggVGV4dCBGb3JtYXQKKyIJCSIqLnJ0ZiIgZmlsZXMKKyIKKyIgVGhlIFJpY2ggVGV4dCBGb3JtYXQgKFJURikgU3BlY2lmaWNhdGlvbiBpcyBhIG1ldGhvZCBvZiBlbmNvZGluZyBmb3JtYXR0ZWQKKyIgdGV4dCBhbmQgZ3JhcGhpY3MgZm9yIGVhc3kgdHJhbnNmZXIgYmV0d2VlbiBhcHBsaWNhdGlvbnMuCisiIC5obHAgKHdpbmRvd3MgaGVscCBmaWxlcykgdXNlIGNvbXBpbGVkIHJ0ZiBmaWxlcworIiBydGYgZG9jdW1lbnRhdGlvbiBhdCBodHRwOi8vbmlnaHQucHJpbWF0ZS53aXNjLmVkdS9zb2Z0d2FyZS9SVEYvCisiCisiIE1haW50YWluZXI6CURvbWluaXF1ZSBTdOlwaGFuIChkb21pbmlxdWVAbWdnZW4uY29tKQorIiBVUkw6IGh0dHA6Ly93d3cubWdnZW4uY29tL3ZpbS9zeW50YXgvcnRmLnppcAorIiBMYXN0IGNoYW5nZToJMjAwMSBNYWkgMDIKKworIiBUT0RPOiByZW5kZXIgdW5kZXJsaW5lLCBpdGFsaWMsIGJvbGQKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGNhc2Ugb24gKGFsbCBjb250cm9scyBtdXN0IGJlIGxvd2VyIGNhc2UpCitzeW4gY2FzZSBtYXRjaAorCisiIENvbnRyb2wgV29yZHMKK3N5biBtYXRjaCBydGZDb250cm9sV29yZAkiXFxbYS16XVwrW1wtXVw9WzAtOV0qIgorCisiIE5ldyBDb250cm9sIFdvcmRzIChub3QgaW4gdGhlIDE5ODcgc3BlY2lmaWNhdGlvbnMpCitzeW4gbWF0Y2ggcnRmTmV3Q29udHJvbFdvcmQJIlxcXCpcXFthLXpdXCtbXC1dXD1bMC05XSoiCisKKyIgQ29udHJvbCBTeW1ib2wgOiBhbnkgXCBwbHVzIGEgbm9uIGFscGhhIHN5bWJvbCwgKiwgXCwgeyBhbmQgfSBhbmQgJworc3luIG1hdGNoIHJ0ZkNvbnRyb2xTeW1ib2wJIlxcW15hLXpBLVpcKlx7XH1cXCddIgorCisiIHsgfSBhbmQgXCBhcmUgc3BlY2lhbCBjaGFyYWN0ZXJzLCB0byB1c2UgdGhlbQorIiB3ZSBhZGQgYSBiYWNrc2xhc2ggXAorc3luIG1hdGNoIHJ0ZkNoYXJhY3RlcgkJIlxcXFwiCitzeW4gbWF0Y2ggcnRmQ2hhcmFjdGVyCQkiXFx7Igorc3luIG1hdGNoIHJ0ZkNoYXJhY3RlcgkJIlxcfSIKKyIgRXNjYXBlZCBjaGFyYWN0ZXJzIChmb3IgOCBieXRlcyBjaGFyYWN0ZXJzIHVwcGVyIHRoYW4gMTI3KQorc3luIG1hdGNoIHJ0ZkNoYXJhY3RlcgkJIlxcJ1tBLVphLXowLTldW0EtWmEtejAtOV0iCisiIFVuaWNvZGUKK3N5biBtYXRjaCBydGZVbmljb2RlQ2hhcmFjdGVyCSJcXHVbMC05XVswLTldKiIKKworIiBDb2xvciB2YWx1ZXMsIHdlIHdpbGwgcHV0IHRoaXMgdmFsdWUgaW4gUmVkLCBHcmVlbiBvciBCbHVlCitzeW4gbWF0Y2ggcnRmUmVkCQkiXFxyZWRbMC05XVswLTldKiIKK3N5biBtYXRjaCBydGZHcmVlbgkJIlxcZ3JlZW5bMC05XVswLTldKiIKK3N5biBtYXRjaCBydGZCbHVlCQkiXFxibHVlWzAtOV1bMC05XSoiCisKKyIgU29tZSBzdHVmZiBmb3IgaGVscCBmaWxlcworc3luIG1hdGNoIHJ0ZkZvb3ROb3RlICJbIyRLK117XFxmb290bm90ZS4qfSIgY29udGFpbnM9cnRmQ29udHJvbFdvcmQscnRmTmV3Q29udHJvbFdvcmQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcnRmX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3J0Zl9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisKKyAgIEhpTGluayBydGZDb250cm9sV29yZAkJU3RhdGVtZW50CisgICBIaUxpbmsgcnRmTmV3Q29udHJvbFdvcmQJU3BlY2lhbAorICAgSGlMaW5rIHJ0ZkNvbnRyb2xTeW1ib2wJQ29uc3RhbnQKKyAgIEhpTGluayBydGZDaGFyYWN0ZXIJCUNoYXJhY3RlcgorICAgSGlMaW5rIHJ0ZlVuaWNvZGVDaGFyYWN0ZXIJU3BlY2lhbENoYXIKKyAgIEhpTGluayBydGZGb290Tm90ZQkJQ29tbWVudAorCisgICAiIERlZmluZSBjb2xvcnMgZm9yIHRoZSBzeW50YXggZmlsZQorICAgaGkgcnRmUmVkCSAgICAgIHRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtSZWQgZ3VpPXVuZGVybGluZSBndWlmZz1EYXJrUmVkCisgICBoaSBydGZHcmVlbgkgICAgICB0ZXJtPXVuZGVybGluZSBjdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1EYXJrR3JlZW4gZ3VpPXVuZGVybGluZSBndWlmZz1EYXJrR3JlZW4KKyAgIGhpIHJ0ZkJsdWUJICAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya0JsdWUgZ3VpPXVuZGVybGluZSBndWlmZz1EYXJrQmx1ZQorCisgICBIaUxpbmsgcnRmUmVkCXJ0ZlJlZAorICAgSGlMaW5rIHJ0ZkdyZWVuCXJ0ZkdyZWVuCisgICBIaUxpbmsgcnRmQmx1ZQlydGZCbHVlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicnRmIgorCisiIHZpbTp0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ydWJ5LnZpbSBiL3J1bnRpbWUvc3ludGF4L3J1YnkudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZjE3OGQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9ydWJ5LnZpbQpAQCAtMCwwICsxLDI4NSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQlSdWJ5CisiIE1haW50YWluZXI6CQlEb3VnIEtlYXJucworIiBQcmV2aW91cyBNYWludGFpbmVyOglNaXJrbyBOYXNhdG8KKyIgTGFzdCBDaGFuZ2U6CQkyMDAzIE1heSAzMQorIiBVUkw6CQkJaHR0cDovL211Z2NhLml0cy5tb25hc2guZWR1LmF1L35kamtlYTIvdmltL3N5bnRheC9ydWJ5LnZpbQorCisiICRJZCQKKworIiBUaGFua3MgdG8gcGVybC52aW0gYXV0aG9ycywgYW5kIHRvIFJlaW1lciBCZWhyZW5kcy4gOi0pIChNTikKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEV4cHJlc3Npb24gU3Vic3RpdHV0aW9uIGFuZCBCYWNrc2xhc2ggTm90YXRpb24KK3N5biBtYXRjaCBydWJ5RXhwclN1YnN0ICJcXFxcXHxcKFwoXFxNLVxcQy1cfFxcY1x8XFxDLVx8XFxNLVwpXHdcKVx8XChcXFxvXHszfVx8XFx4XHhcezJ9XHxcXFthYmVmbnJzdHZdXCkiIGNvbnRhaW5lZAorc3luIG1hdGNoIHJ1YnlFeHByU3Vic3QgIiN7W159XSp9IiBjb250YWluZWQKK3N5biBtYXRjaCBydWJ5RXhwclN1YnN0ICIjWyRAXVx3XCsiIGNvbnRhaW5lZAorCisiIE51bWJlcnMgYW5kIEFTQ0lJIENvZGVzCitzeW4gbWF0Y2ggcnVieU51bWJlciAiXHdcQDwhXCg/XChcXE0tXFxDLVx8XFxDLVxcTS1cfFxcTS1cXGNcfFxcY1xcTS1cfFxcY1x8XFxDLVx8XFxNLVwpXD1cKFxcXG9cezN9XHxcXHhceFx7Mn1cfFxcXD1cU1wpXCkiCitzeW4gbWF0Y2ggcnVieU51bWJlciAiXDxcKDB4XHhcK1x8MGJbMDFdXCtcfDBcb1wrXHwwXC5cZFwrXHwwXHxbMS05XVtcLjAtOV9dKlwpXD4iCisKKyIgSWRlbnRpZmllcnMgLSBjb25zdGFudCwgY2xhc3MgYW5kIGluc3RhbmNlLCBnbG9iYWwsIHN5bWJvbCwgaXRlcmF0b3IsIHByZWRlZmluZWQKK3N5biBtYXRjaCBydWJ5TG9jYWxWYXJpYWJsZU9yTWV0aG9kICJbX1s6bG93ZXI6XV1bX1s6YWxudW06XV0qWz8hPV1cPSIgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorCitpZiAhZXhpc3RzKCJydWJ5X25vX2lkZW50aWZpZXJzIikKKyAgc3luIG1hdGNoIHJ1YnlDb25zdGFudAkJIlwoOjpcKVw9XHpzXHVcdyoiCisgIHN5biBtYXRjaCBydWJ5Q2xhc3NWYXJpYWJsZQkJIkBAXGhcdyoiCisgIHN5biBtYXRjaCBydWJ5SW5zdGFuY2VWYXJpYWJsZQkiQFxoXHcqIgorICBzeW4gbWF0Y2ggcnVieUdsb2JhbFZhcmlhYmxlCQkiJFwoXGhcdypcfC0uXCkiCisgIHN5biBtYXRjaCBydWJ5U3ltYm9sCQkJIjpcQDwhOlwoXCRcfEBAXD1cKVw9XGhcdypbPyE9XVw9IgorICBzeW4gbWF0Y2ggcnVieUl0ZXJhdG9yCQkifFsgLGEtekEtWjAtOV8qXVwrfCIKKworICBzeW4gbWF0Y2ggcnVieVByZWRlZmluZWRWYXJpYWJsZSAiJFshIiQmJyorLC4vMDo7PD0+P0BcXF9gfjEtOV0iCisgIHN5biBtYXRjaCBydWJ5UHJlZGVmaW5lZFZhcmlhYmxlICIkLVswRklLYWRpbHB2d10iCisgIHN5biBtYXRjaCBydWJ5UHJlZGVmaW5lZFZhcmlhYmxlICIkXChkZWZvdXRcfHN0ZGVyclx8c3RkaW5cfHN0ZG91dFwpXD4iCisgIHN5biBtYXRjaCBydWJ5UHJlZGVmaW5lZFZhcmlhYmxlICIkXChERUJVR1x8RklMRU5BTUVcfEtDT0RFXHxMT0FEX1BBVEhcfFNBRkVcfFZFUkJPU0VcKVw+IgorICBzeW4gbWF0Y2ggcnVieVByZWRlZmluZWRDb25zdGFudCAiX19cKEZJTEVcfExJTkVcKV9fXD4iCisgIHN5biBtYXRjaCBydWJ5UHJlZGVmaW5lZENvbnN0YW50ICJcPFwoOjpcKVw9XHpzXChNYXRjaGluZ0RhdGFcfE5vdEltcGxlbWVudEVycm9yXHxBUkdGXHxBUkdWXHxFTlZcKVw+IgorICBzeW4gbWF0Y2ggcnVieVByZWRlZmluZWRDb25zdGFudCAiXDxcKDo6XClcPVx6c1woREFUQVx8RkFMU0VcfE5JTFx8UlVCWV9QTEFURk9STVx8UlVCWV9SRUxFQVNFX0RBVEVcKVw+IgorICBzeW4gbWF0Y2ggcnVieVByZWRlZmluZWRDb25zdGFudCAiXDxcKDo6XClcPVx6c1woUlVCWV9WRVJTSU9OXHxTVERFUlJcfFNURElOXHxTVERPVVRcfFRPUExFVkVMX0JJTkRJTkdcfFRSVUVcKVw+IgorICAiT2Jzb2xldGUgR2xvYmFsIENvbnN0YW50cworICAic3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkQ29uc3RhbnQgIlw8XCg6OlwpXD1cenNcKFBMQVRGT1JNXHxSRUxFQVNFXHxWRVJTSU9OXClcPiIKK2VuZGlmCisKKyIKKyIgQkVHSU4gQXV0b2dlbmVyYXRlZCBTdHVmZgorIgorIiBHZW5lcmFsaXplZCBSZWd1bGFyIEV4cHJlc3Npb24KK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlciEiICBlbmQ9IiFbaW9teF0qIiAgc2tpcD0iXFxcXFx8XFwhIiAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXJcIiIgZW5kPSJcIltpb214XSoiIHNraXA9IlxcXFxcfFxcXCIiIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyIyIgIGVuZD0iI1tpb214XSoiICBza2lwPSJcXFxcXHxcXCMiICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlclwkIiBlbmQ9IlwkW2lvbXhdKiIgc2tpcD0iXFxcXFx8XFxcJCIgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXIlIiAgZW5kPSIlW2lvbXhdKiIgIHNraXA9IlxcXFxcfFxcJSIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyJiIgIGVuZD0iJltpb214XSoiICBza2lwPSJcXFxcXHxcXCYiICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlciciICBlbmQ9IidbaW9teF0qIiAgc2tpcD0iXFxcXFx8XFwnIiAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXJcKiIgZW5kPSJcKltpb214XSoiIHNraXA9IlxcXFxcfFxcXCoiIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyKyIgIGVuZD0iK1tpb214XSoiICBza2lwPSJcXFxcXHxcXCsiICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlci0iICBlbmQ9Ii1baW9teF0qIiAgc2tpcD0iXFxcXFx8XFwtIiAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXJcLiIgZW5kPSJcLltpb214XSoiIHNraXA9IlxcXFxcfFxcXC4iIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyLyIgIGVuZD0iL1tpb214XSoiICBza2lwPSJcXFxcXHxcXC8iICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlcjoiICBlbmQ9IjpbaW9teF0qIiAgc2tpcD0iXFxcXFx8XFw6IiAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXI7IiAgZW5kPSI7W2lvbXhdKiIgIHNraXA9IlxcXFxcfFxcOyIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyPSIgIGVuZD0iPVtpb214XSoiICBza2lwPSJcXFxcXHxcXD0iICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlcj8iICBlbmQ9Ij9baW9teF0qIiAgc2tpcD0iXFxcXFx8XFw/IiAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXJAIiAgZW5kPSJAW2lvbXhdKiIgIHNraXA9IlxcXFxcfFxcQCIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyXFwiIGVuZD0iXFxbaW9teF0qIgkJCSAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXJcXiIgZW5kPSJcXltpb214XSoiIHNraXA9IlxcXFxcfFxcXF4iIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyYCIgIGVuZD0iYFtpb214XSoiICBza2lwPSJcXFxcXHxcXGAiICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlcnwiICBlbmQ9InxbaW9teF0qIiAgc2tpcD0iXFxcXFx8XFx8IiAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXJcfiIgZW5kPSJcfltpb214XSoiIHNraXA9IlxcXFxcfFxcXH4iIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyeyIgIGVuZD0ifVtpb214XSoiICBza2lwPSJcXFxcXHxcXH0iICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlcjwiICBlbmQ9Ij5baW9teF0qIiAgc2tpcD0iXFxcXFx8XFw+IiAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJXJcWyIgZW5kPSJcXVtpb214XSoiIHNraXA9IlxcXFxcfFxcXF0iIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVyKCIgIGVuZD0iKVtpb214XSoiICBza2lwPSJcXFxcXHxcXCkiICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKKworIiBHZW5lcmFsaXplZCBTaW5nbGUgUXVvdGVkIFN0cmluZyBhbmQgQXJyYXkgb2YgU3RyaW5ncworc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdISIgIGVuZD0iISIgIHNraXA9IlxcXFxcfFxcISIKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW3dxXVwiIiBlbmQ9IlwiIiBza2lwPSJcXFxcXHxcXFwiIgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdIyIgIGVuZD0iIyIgIHNraXA9IlxcXFxcfFxcIyIKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW3dxXVwkIiBlbmQ9IlwkIiBza2lwPSJcXFxcXHxcXFwkIgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdJSIgIGVuZD0iJSIgIHNraXA9IlxcXFxcfFxcJSIKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW3dxXSYiICBlbmQ9IiYiICBza2lwPSJcXFxcXHxcXCYiCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJVt3cV0nIiAgZW5kPSInIiAgc2tpcD0iXFxcXFx8XFwnIgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdXCoiIGVuZD0iXCoiIHNraXA9IlxcXFxcfFxcXCoiCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJVt3cV0rIiAgZW5kPSIrIiAgc2tpcD0iXFxcXFx8XFwrIgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdLSIgIGVuZD0iLSIgIHNraXA9IlxcXFxcfFxcLSIKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW3dxXVwuIiBlbmQ9IlwuIiBza2lwPSJcXFxcXHxcXFwuIgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdLyIgIGVuZD0iLyIgIHNraXA9IlxcXFxcfFxcLyIKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW3dxXToiICBlbmQ9IjoiICBza2lwPSJcXFxcXHxcXDoiCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJVt3cV07IiAgZW5kPSI7IiAgc2tpcD0iXFxcXFx8XFw7Igorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdPSIgIGVuZD0iPSIgIHNraXA9IlxcXFxcfFxcPSIKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW3dxXT8iICBlbmQ9Ij8iICBza2lwPSJcXFxcXHxcXD8iCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJVt3cV1AIiAgZW5kPSJAIiAgc2tpcD0iXFxcXFx8XFxAIgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdXFwiIGVuZD0iXFwiCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJVt3cV1cXiIgZW5kPSJcXiIgc2tpcD0iXFxcXFx8XFxcXiIKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW3dxXWAiICBlbmQ9ImAiICBza2lwPSJcXFxcXHxcXGAiCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJVt3cV18IiAgZW5kPSJ8IiAgc2tpcD0iXFxcXFx8XFx8Igorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdXH4iIGVuZD0iXH4iIHNraXA9IlxcXFxcfFxcXH4iCitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJVt3cV17IiAgZW5kPSJ9IiAgc2tpcD0iXFxcXFx8XFx9Igorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdPCIgIGVuZD0iPiIgIHNraXA9IlxcXFxcfFxcPiIKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW3dxXVxbIiBlbmQ9IlxdIiBza2lwPSJcXFxcXHxcXFxdIgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbd3FdKCIgIGVuZD0iKSIgIHNraXA9IlxcXFxcfFxcKSIKKworIiBHZW5lcmFsaXplZCBEb3VibGUgUXVvdGVkIFN0cmluZyBhbmQgU2hlbGwgQ29tbWFuZCBPdXRwdXQKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9ISIgIGVuZD0iISIgIHNraXA9IlxcXFxcfFxcISIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9XCIiIGVuZD0iXCIiIHNraXA9IlxcXFxcfFxcXCIiIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9IyIgIGVuZD0iIyIgIHNraXA9IlxcXFxcfFxcIyIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9XCQiIGVuZD0iXCQiIHNraXA9IlxcXFxcfFxcXCQiIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9JSIgIGVuZD0iJSIgIHNraXA9IlxcXFxcfFxcJSIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9JiIgIGVuZD0iJiIgIHNraXA9IlxcXFxcfFxcJiIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9JyIgIGVuZD0iJyIgIHNraXA9IlxcXFxcfFxcJyIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9XCoiIGVuZD0iXCoiIHNraXA9IlxcXFxcfFxcXCoiIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9KyIgIGVuZD0iKyIgIHNraXA9IlxcXFxcfFxcKyIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9LSIgIGVuZD0iLSIgIHNraXA9IlxcXFxcfFxcLSIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9XC4iIGVuZD0iXC4iIHNraXA9IlxcXFxcfFxcXC4iIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9LyIgIGVuZD0iLyIgIHNraXA9IlxcXFxcfFxcLyIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9OiIgIGVuZD0iOiIgIHNraXA9IlxcXFxcfFxcOiIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9OyIgIGVuZD0iOyIgIHNraXA9IlxcXFxcfFxcOyIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKKyJzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iJVtReF1cPT0iICAgIGVuZD0iPSIgIHNraXA9IlxcXFxcfFxcPSIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XT0iICAgIGVuZD0iPSIgIHNraXA9IlxcXFxcfFxcPSIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9PyIgIGVuZD0iPyIgIHNraXA9IlxcXFxcfFxcPyIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9QCIgIGVuZD0iQCIgIHNraXA9IlxcXFxcfFxcQCIgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSIlW1F4XVw9XFwiIGVuZD0iXFwiCQkJY29udGFpbnM9cnVieUV4cHJTdWJzdAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbUXhdXD1cXiIgZW5kPSJcXiIgc2tpcD0iXFxcXFx8XFxcXiIgY29udGFpbnM9cnVieUV4cHJTdWJzdAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbUXhdXD1gIiAgZW5kPSJgIiAgc2tpcD0iXFxcXFx8XFxgIiAgY29udGFpbnM9cnVieUV4cHJTdWJzdAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbUXhdXD18IiAgZW5kPSJ8IiAgc2tpcD0iXFxcXFx8XFx8IiAgY29udGFpbnM9cnVieUV4cHJTdWJzdAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbUXhdXD1cfiIgZW5kPSJcfiIgc2tpcD0iXFxcXFx8XFxcfiIgY29udGFpbnM9cnVieUV4cHJTdWJzdAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbUXhdXD17IiAgZW5kPSJ9IiAgc2tpcD0iXFxcXFx8XFx9IiAgY29udGFpbnM9cnVieUV4cHJTdWJzdAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbUXhdXD08IiAgZW5kPSI+IiAgc2tpcD0iXFxcXFx8XFw+IiAgY29udGFpbnM9cnVieUV4cHJTdWJzdAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbUXhdXD1cWyIgZW5kPSJcXSIgc2tpcD0iXFxcXFx8XFxcXSIgY29udGFpbnM9cnVieUV4cHJTdWJzdAorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9IiVbUXhdXD0oIiAgZW5kPSIpIiAgc2tpcD0iXFxcXFx8XFwpIiAgY29udGFpbnM9cnVieUV4cHJTdWJzdAorCisiIE5vcm1hbCBTdHJpbmcgYW5kIFNoZWxsIENvbW1hbmQgT3V0cHV0CitzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0iXCIiIGVuZD0iXCIiIHNraXA9IlxcXFxcfFxcXCIiIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QKK3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSInIiAgZW5kPSInIiAgc2tpcD0iXFxcXFx8XFwnIgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9ImAiICBlbmQ9ImAiICBza2lwPSJcXFxcXHxcXGAiICBjb250YWlucz1ydWJ5RXhwclN1YnN0CisiCisiIEVORCBBdXRvZ2VuZXJhdGVkIFN0dWZmCisiCisKKyIgTm9ybWFsIFJlZ3VsYXIgRXhwcmVzc2lvbgorc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9Il5ccyovIiBzdGFydD0iXDxhbmRccyovImxjPTMgc3RhcnQ9Ilw8b3JccyovImxjPTIgc3RhcnQ9Ilw8d2hpbGVccyovImxjPTUgc3RhcnQ9Ilw8dW50aWxccyovImxjPTUgc3RhcnQ9Ilw8dW5sZXNzXHMqLyJsYz02IHN0YXJ0PSJcPGlmXHMqLyJsYz0yIHN0YXJ0PSJcPGVsc2lmXHMqLyJsYz01IHN0YXJ0PSJcPHdoZW5ccyovImxjPTQgc3RhcnQ9Iltcfj0hfCYoLFtdXHMqLyJsYz0xIGVuZD0iL1tpb214XSoiIHNraXA9IlxcXFxcfFxcLyIgY29udGFpbnM9cnVieUV4cHJTdWJzdAorCisiIEhlcmUgRG9jdW1lbnQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9Kzw8LVwoXHVcezMsfVx8J1x1XHszLH0nXHwiXHVcezMsfSJcfGBcdVx7Myx9YFwpK2hzPXMrMiBlbmQ9K15ccypcdVx7Myx9JCsgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0rPDwtXChFT0ZcfCdFT0YnXHwiRU9GIlx8YEVPRmBcKStocz1zKzIJCSAgIGVuZD0rXlxzKkVPRiQrICAgICBjb250YWlucz1ydWJ5RXhwclN1YnN0IGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9Kzw8LVwoRU9TXHwnRU9TJ1x8IkVPUyJcfGBFT1NgXCkraHM9cysyCQkgICBlbmQ9K15ccypFT1MkKyAgICAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PSs8PFwoXHVcezMsfVx8J1x1XHszLH0nXHwiXHVcezMsfSJcfGBcdVx7Myx9YFwpK2hzPXMrMiAgZW5kPSteXHVcezMsfSQrICAgIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9Kzw8XChFT0ZcfCdFT0YnXHwiRU9GIlx8YEVPRmBcKStocz1zKzIJCSAgIGVuZD0rXkVPRiQrCSAgICAgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdCBzdGFydD0rPDxcKEVPU1x8J0VPUydcfCJFT1MiXHxgRU9TYFwpK2hzPXMrMgkJICAgZW5kPSteRU9TJCsJICAgICAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCitlbHNlCisgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9K1woY2xhc3NccypcKVxAPCE8PFx6KFxoXHcqXClccyokK2hzPXMrMiAgZW5kPSteXHoxJCsgICAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCisgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9K1woY2xhc3NccypcKVxAPCE8PCJceiguKlwpIlxzKiQraHM9cysyICAgZW5kPSteXHoxJCsgICAgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCisgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9K1woY2xhc3NccypcKVxAPCE8PCdceiguKlwpJ1xzKiQraHM9cysyICAgZW5kPSteXHoxJCsgICAgZm9sZAorIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PStcKGNsYXNzXHMqXClcQDwhPDxgXHooLipcKWBccyokK2hzPXMrMiAgIGVuZD0rXlx6MSQrICAgIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorCisgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9K1woY2xhc3NccypcKVxAPCE8PC1ceihcaFx3KlwpXHMqJCtocz1zKzMgZW5kPSteXHMqXHoxJCsgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCisgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9K1woY2xhc3NccypcKVxAPCE8PC0iXHooLipcKSJccyokK2hzPXMrMyAgZW5kPSteXHMqXHoxJCsgY29udGFpbnM9cnVieUV4cHJTdWJzdCBmb2xkCisgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXQgc3RhcnQ9K1woY2xhc3NccypcKVxAPCE8PC0nXHooLipcKSdccyokK2hzPXMrMyAgZW5kPSteXHMqXHoxJCsgZm9sZAorIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0IHN0YXJ0PStcKGNsYXNzXHMqXClcQDwhPDwtYFx6KC4qXClgXHMqJCtocz1zKzMgIGVuZD0rXlxzKlx6MSQrIGNvbnRhaW5zPXJ1YnlFeHByU3Vic3QgZm9sZAorZW5kaWYKKworIiBFeHBlbnNpdmUgTW9kZSAtIGNvbG9yaXplICplbmQqIGFjY29yZGluZyB0byBvcGVuaW5nIHN0YXRlbWVudAoraWYgIWV4aXN0cygicnVieV9ub19leHBlbnNpdmUiKQorICBzeW4gcmVnaW9uIHJ1YnlGdW5jdGlvbiAgICAgIG1hdGNoZ3JvdXA9cnVieURlZmluZSBzdGFydD0iXlxzKmRlZlxzIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJcemVcKFxzXHwoXHw7XHwkXCkiIHNraXA9IlwuXHxcKDo6XCkiIG9uZWxpbmUgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlDbGFzc09yTW9kdWxlIG1hdGNoZ3JvdXA9cnVieURlZmluZSBzdGFydD0iXlxzKlwoY2xhc3NcfG1vZHVsZVwpXHMiICAgZW5kPSI8XHwkXHw7XHxcPiJoZT1lLTEgb25lbGluZSBmb2xkCisKKyAgc3luIHJlZ2lvbiBydWJ5QmxvY2sgc3RhcnQ9Il5ccypkZWZcc1wrInJzPXMJCSAgIG1hdGNoZ3JvdXA9cnVieURlZmluZSBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxydWJ5RXhwclN1YnN0LHJ1YnlUb2RvIG5leHRncm91cD1ydWJ5RnVuY3Rpb24gZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlCbG9jayBzdGFydD0iXlxzKlwoY2xhc3NcfG1vZHVsZVwpXD4icnM9cyBtYXRjaGdyb3VwPXJ1YnlEZWZpbmUgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQscnVieUV4cHJTdWJzdCxydWJ5VG9kbyBuZXh0Z3JvdXA9cnVieUNsYXNzT3JNb2R1bGUgZm9sZAorCisgICIgbW9kaWZpZXJzICsgcmVkdW5kYW50ICpkbyoKKyAgc3luIG1hdGNoICBydWJ5Q29udHJvbCAiXDxcKGlmXHx1bmxlc3NcfHdoaWxlXHx1bnRpbFx8ZG9cKVw+IgorCisgICIgKmRvKiByZXF1aXJpbmcgKmVuZCoKKyAgc3luIHJlZ2lvbiBydWJ5RG9CbG9jayBtYXRjaGdyb3VwPXJ1YnlDb250cm9sIHN0YXJ0PSJcPGRvXD4iIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULHJ1YnlFeHByU3Vic3QscnVieVRvZG8gZm9sZAorCisgICIgKnsqIHJlcXVpcmluZyAqfSoKKyAgc3luIHJlZ2lvbiBydWJ5Q3VybHlCbG9jayBzdGFydD0ieyIgZW5kPSJ9IiBjb250YWlucz1BTExCVVQscnVieUV4cHJTdWJzdCxydWJ5VG9kbyBmb2xkCisKKyAgIiBzdGF0ZW1lbnRzIHdpdGhvdXQgKmRvKgorICBzeW4gcmVnaW9uIHJ1YnlOb0RvQmxvY2sgbWF0Y2hncm91cD1ydWJ5Q29udHJvbCBzdGFydD0iXDxcKGNhc2VcfGJlZ2luXClcPiIgc3RhcnQ9Il5ccypcKGlmXHx1bmxlc3NcKVw+IiBzdGFydD0iO1xzKlwoaWZcfHVubGVzc1wpXD4iaHM9cysxIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULHJ1YnlFeHByU3Vic3QscnVieVRvZG8gZm9sZAorCisgICIgc3RhdGVtZW50IHdpdGggb3B0aW9uYWwgKmRvKgorICBzeW4gcmVnaW9uIHJ1YnlPcHREb0Jsb2NrIG1hdGNoZ3JvdXA9cnVieUNvbnRyb2wgc3RhcnQ9Ilw8Zm9yXD4iIHN0YXJ0PSJeXHMqXCh3aGlsZVx8dW50aWxcKVw+IiBzdGFydD0iO1xzKlwod2hpbGVcfHVudGlsXClcPiJocz1zKzEgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQscnVieUV4cHJTdWJzdCxydWJ5VG9kbyxydWJ5RG9CbG9jayxydWJ5Q3VybHlCbG9jayBmb2xkCisKKyAgaWYgIWV4aXN0cygicnVieV9taW5saW5lcyIpCisgICAgbGV0IHJ1YnlfbWlubGluZXMgPSA1MAorICBlbmRpZgorICBleGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gcnVieV9taW5saW5lcworCitlbHNlICIgbm90IEV4cGVuc2l2ZQorICBzeW4gcmVnaW9uICBydWJ5RnVuY3Rpb24gICAgICBtYXRjaGdyb3VwPXJ1YnlDb250cm9sIHN0YXJ0PSJeXHMqZGVmXHMiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ilx6ZVwoXHNcfChcfDtcfCRcKSIgc2tpcD0iXC5cfFwoOjpcKSIgb25lbGluZSBmb2xkCisgIHN5biByZWdpb24gIHJ1YnlDbGFzc09yTW9kdWxlIG1hdGNoZ3JvdXA9cnVieUNvbnRyb2wgc3RhcnQ9Il5ccypcKGNsYXNzXHxtb2R1bGVcKVxzIiAgIGVuZD0iPFx8JFx8O1x8XD4iaGU9ZS0xIG9uZWxpbmUgZm9sZAorICBzeW4ga2V5d29yZCBydWJ5Q29udHJvbCBjYXNlIGJlZ2luIGRvIGZvciBpZiB1bmxlc3Mgd2hpbGUgdW50aWwgZW5kCitlbmRpZiAiIEV4cGVuc2l2ZT8KKworIiBLZXl3b3Jkcworc3luIGtleXdvcmQgcnVieUNvbnRyb2wgICB0aGVuIGVsc2UgZWxzaWYgd2hlbiBlbnN1cmUgcmVzY3VlCitzeW4ga2V5d29yZCBydWJ5Q29udHJvbCAgIGFuZCBvciBub3QgaW4gbG9vcAorc3luIGtleXdvcmQgcnVieUNvbnRyb2wgICBicmVhayByZWRvIHJldHJ5IG5leHQgcmV0dXJuCitzeW4gbWF0Y2ggICBydWJ5S2V5d29yZCAgICJcPGRlZmluZWQ/Igorc3luIGtleXdvcmQgcnVieUtleXdvcmQgICBhbGlhcyBsYW1iZGEgcHJvYyBzdXBlciB1bmRlZiB5aWVsZAorc3luIG1hdGNoICAgcnVieUluY2x1ZGUgICAiXlxzKmluY2x1ZGVcPiIKK3N5biBrZXl3b3JkIHJ1YnlJbmNsdWRlICAgbG9hZCByZXF1aXJlCitzeW4ga2V5d29yZCBydWJ5VG9kbyAgICAgIEZJWE1FIE5PVEUgVE9ETyBYWFggY29udGFpbmVkCitzeW4ga2V5d29yZCBydWJ5Qm9vbGVhbiAgIHRydWUgZmFsc2Ugc2VsZiBuaWwKK3N5biBrZXl3b3JkIHJ1YnlFeGNlcHRpb24gcmFpc2UgZmFpbCBjYXRjaCB0aHJvdworc3luIGtleXdvcmQgcnVieUJlZ2luRW5kICBCRUdJTiBFTkQKKworIiBDb21tZW50cyBhbmQgRG9jdW1lbnRhdGlvbgoraWYgdmVyc2lvbiA8IDYwMAorICBzeW4gbWF0Y2ggIHJ1YnlTaGFycEJhbmcgIiMhLioiCitlbHNlCisgIHN5biBtYXRjaCAgcnVieVNoYXJwQmFuZyAiXCVeIyEuKiIKK2VuZGlmCitzeW4gbWF0Y2ggIHJ1YnlDb21tZW50ICAgICAgICIjLioiIGNvbnRhaW5zPXJ1YnlUb2RvCitzeW4gcmVnaW9uIHJ1YnlEb2N1bWVudGF0aW9uIHN0YXJ0PSJePWJlZ2luIiBlbmQ9Il49ZW5kLiokIiBjb250YWlucz1ydWJ5VG9kbyBmb2xkCisKKyIgTm90ZTogdGhpcyBpcyBhIGhhY2sgdG8gcHJldmVudCAna2V5d29yZHMnIGJlaW5nIGhpZ2hsaWdodGVkIGFzIHN1Y2ggd2hlbiB1c2VkIGFzIG1ldGhvZCBuYW1lcworc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwuXEA8IVwuXChccypcblxzKlwpKlwoYWxpYXNcfGFuZFx8YmVnaW5cfGJyZWFrXHxjYXNlXHxjYXRjaFx8Y2xhc3NcfGRlZlx8ZG9cfGVsc2lmXClcPiIgICAgICAgIHRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKK3N5biBtYXRjaCBydWJ5S2V5d29yZEFzTWV0aG9kICJcLlxAPCFcLlwoXHMqXG5ccypcKSpcKGVsc2VcfGZhaWxcfGZhbHNlXHxlbnN1cmVcfGZvclx8ZW5kXHxpZlx8aW5cfGluY2x1ZGVcfGxhbWJkYVwpXD4iICAgICAgICB0cmFuc3BhcmVudCBjb250YWlucz1OT05FCitzeW4gbWF0Y2ggcnVieUtleXdvcmRBc01ldGhvZCAiXC5cQDwhXC5cKFxzKlxuXHMqXCkqXChsb2FkXHxsb29wXHxtb2R1bGVcfG5leHRcfG5pbFx8bm90XHxvclx8cHJvY1x8cmFpc2VcfHJlcXVpcmVcKVw+IiAgICAgICAgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwuXEA8IVwuXChccypcblxzKlwpKlwocmVkb1x8cmVzY3VlXHxyZXRyeVx8cmV0dXJuXHxzZWxmXHxzdXBlclx8dGhlblx8dGhyb3dcfHRydWVcfHVubGVzc1wpXD4iIHRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKK3N5biBtYXRjaCBydWJ5S2V5d29yZEFzTWV0aG9kICJcLlxAPCFcLlwoXHMqXG5ccypcKSpcKHVuZGVmXHx1bnRpbFx8d2hlblx8d2hpbGVcfHlpZWxkXHxCRUdJTlx8RU5EXHxfX0ZJTEVfX1x8X19MSU5FX19cKVw+IiAgICB0cmFuc3BhcmVudCBjb250YWlucz1OT05FCisKKyIgX19FTkRfXyBEaXJlY3RpdmUKK3N5biByZWdpb24gcnVieURhdGEgbWF0Y2hncm91cD1ydWJ5RGF0YURpcmVjdGl2ZSBzdGFydD0iXl9fRU5EX18kIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSIuIiBza2lwPSIuIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ydWJ5X3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3J1Ynlfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgcnVieURlZmluZQkJCURlZmluZQorICBIaUxpbmsgcnVieUZ1bmN0aW9uCQkJRnVuY3Rpb24KKyAgSGlMaW5rIHJ1YnlDb250cm9sCQkJU3RhdGVtZW50CisgIEhpTGluayBydWJ5SW5jbHVkZQkJCUluY2x1ZGUKKyAgSGlMaW5rIHJ1YnlOdW1iZXIJCQlOdW1iZXIKKyAgSGlMaW5rIHJ1YnlCb29sZWFuCQkJQm9vbGVhbgorICBIaUxpbmsgcnVieUV4Y2VwdGlvbgkJCUV4Y2VwdGlvbgorICBIaUxpbmsgcnVieUNsYXNzT3JNb2R1bGUJCVR5cGUKKyAgSGlMaW5rIHJ1YnlJZGVudGlmaWVyCQkJSWRlbnRpZmllcgorICBIaUxpbmsgcnVieUNsYXNzVmFyaWFibGUJCXJ1YnlJZGVudGlmaWVyCisgIEhpTGluayBydWJ5Q29uc3RhbnQJCQlydWJ5SWRlbnRpZmllcgorICBIaUxpbmsgcnVieUdsb2JhbFZhcmlhYmxlCQlydWJ5SWRlbnRpZmllcgorICBIaUxpbmsgcnVieUl0ZXJhdG9yCQkJcnVieUlkZW50aWZpZXIKKyAgSGlMaW5rIHJ1YnlJbnN0YW5jZVZhcmlhYmxlCQlydWJ5SWRlbnRpZmllcgorICBIaUxpbmsgcnVieVByZWRlZmluZWRJZGVudGlmaWVyCXJ1YnlJZGVudGlmaWVyCisgIEhpTGluayBydWJ5UHJlZGVmaW5lZENvbnN0YW50CQlydWJ5UHJlZGVmaW5lZElkZW50aWZpZXIKKyAgSGlMaW5rIHJ1YnlQcmVkZWZpbmVkVmFyaWFibGUJCXJ1YnlQcmVkZWZpbmVkSWRlbnRpZmllcgorICBIaUxpbmsgcnVieVN5bWJvbAkJCXJ1YnlJZGVudGlmaWVyCisgIEhpTGluayBydWJ5U2hhcnBCYW5nCQkJUHJlUHJvYworICBIaUxpbmsgcnVieUtleXdvcmQJCQlLZXl3b3JkCisgIEhpTGluayBydWJ5QmVnaW5FbmQJCQlTdGF0ZW1lbnQKKworICBIaUxpbmsgcnVieVN0cmluZwkJCVN0cmluZworICBIaUxpbmsgcnVieVN0cmluZ0RlbGltaXQJCURlbGltaXRlcgorICBIaUxpbmsgcnVieUV4cHJTdWJzdAkJCVNwZWNpYWwKKworICBIaUxpbmsgcnVieUNvbW1lbnQJCQlDb21tZW50CisgIEhpTGluayBydWJ5RG9jdW1lbnRhdGlvbgkJQ29tbWVudAorICBIaUxpbmsgcnVieVRvZG8JCQlUb2RvCisgIEhpTGluayBydWJ5RGF0YQkJCUNvbW1lbnQKKyAgSGlMaW5rIHJ1YnlEYXRhRGlyZWN0aXZlCQlEZWxpbWl0ZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicnVieSIKKworIiB2aW06IG5vd3JhcCB0YWJzdG9wPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NhbWJhLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NhbWJhLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGY3ZWRjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc2FtYmEudmltCkBAIC0wLDAgKzEsMTE3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJc2FtYmEgY29uZmlndXJhdGlvbiBmaWxlcyAoc21iLmNvbmYpCisiIE1haW50YWluZXI6CVJhZmFlbCBHYXJjaWEtU3VhcmV6IDxyZ2FyY2lhc3VhcmV6QGZyZWUuZnI+CisiIFVSTDoJCWh0dHA6Ly9yZ2FyY2lhc3VhcmV6LmZyZWUuZnIvdmltL3N5bnRheC9zYW1iYS52aW0KKyIgTGFzdCBjaGFuZ2U6CTIwMDIgTWF5IDA2CisKKyIgRG9uJ3QgZm9yZ2V0IHRvIHJ1biB5b3VyIGNvbmZpZyBmaWxlIHRocm91Z2ggdGVzdHBhcm0oMSkhCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBtYXRjaCBzYW1iYVBhcmFtZXRlciAvXlthLXpBLVogXHRdXCs9LyBjb250YWlucz1zYW1iYUtleXdvcmQKK3N5biBtYXRjaCBzYW1iYVNlY3Rpb24gL15ccypcW1thLXpBLVowLTlfXC0uIF1cK1xdLworc3luIG1hdGNoIHNhbWJhTWFjcm8gLyVbU1B1Z1VHSHZobUxNTnBSZGFJVF0vCitzeW4gbWF0Y2ggc2FtYmFNYWNybyAvJSQoW2EtekEtWjAtOV9dXCspLworc3luIG1hdGNoIHNhbWJhQ29tbWVudCAvXlxzKls7I10uKi8KK3N5biBtYXRjaCBzYW1iYUNvbnRpbnVlIC9cXCQvCitzeW4ga2V5d29yZCBzYW1iYUJvb2xlYW4gdHJ1ZSBmYWxzZSB5ZXMgbm8KKworIiBLZXl3b3JkcyBmb3IgU2FtYmEgMi4wLjVhCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIGFjY291bnQgYWNsIGFjdGlvbiBhZGQgYWRkcmVzcyBhZG1pbiBhbGlhc2VzCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIGFsbG93IGFsdGVybmF0ZSBhbHdheXMgYW5ub3VuY2UgYW5vbnltb3VzCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIGFyY2hpdmUgYXMgYXV0byBhdmFpbGFibGUgYmluZCBibG9ja2luZworc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBibXB4IGJyZWFrIGJyb3dzYWJsZSBicm93c2UgYnJvd3NlYWJsZSBjYQorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBjYWNoZSBjYXNlIGNhc2VzaWduYW1lcyBjZXJ0IGNlcnREaXIKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgY2VydEZpbGUgY2hhbmdlIGNoYXIgY2hhcmFjdGVyIGNoYXJzIGNoYXQKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgY2lwaGVycyBjbGllbnQgY2xpZW50Y2VydCBjb2RlIGNvZGluZworc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBjb21tYW5kIGNvbW1lbnQgY29tcGF0aWJpbGl0eSBjb25maWcKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgY29ubmVjdGlvbnMgY29udGVudGlvbiBjb250cm9sbGVyIGNvcHkKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgY3JlYXRlIGRlYWR0aW1lIGRlYnVnIGRlYnVnbGV2ZWwgZGVmYXVsdAorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBkZWxldGUgZGVueSBkZXNjZW5kIGRmcmVlIGRpciBkaXJlY3RvcnkKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgZGlzayBkbnMgZG9tYWluIGRvbWFpbnMgZG9udCBkb3MgZG90IGRyaXZlCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIGRyaXZlciBlbmNyeXB0IGVuY3J5cHRlZCBlcXVpdiBleGVjIGZha2UKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgZmlsZSBmaWxlcyBmaWxldGltZSBmaWxldGltZXMgZmlsdGVyIGZvbGxvdworc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBmb3JjZSBmc3R5cGUgZ2V0d2QgZ3JvdXAgZ3JvdXBzIGd1ZXN0CitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIGhpZGRlbiBoaWRlIGhvbWUgaG9tZWRpciBob3N0cyBpbmNsdWRlCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIGludGVyZmFjZXMgaW50ZXJ2YWwgaW52YWxpZCBrZWVwYWxpdmUKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQga2VybmVsIGtleSBsZGFwIGxlbmd0aCBsZXZlbCBsZXZlbDIgbGltaXQKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgbGlua3MgbGlzdCBsbSBsb2FkIGxvY2FsIGxvY2F0aW9uIGxvY2sKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgbG9ja2luZyBsb2NrcyBsb2cgbG9nb24gbG9nb25zIGxvZ3MgbHBwYXVzZQorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBscHEgbHByZXN1bWUgbHBybSBtYWNoaW5lIG1hZ2ljIG1hbmdsZQorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBtYW5nbGVkIG1hbmdsaW5nIG1hcCBtYXNrIG1hc3RlciBtYXggbWVtCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIG1lc3NhZ2UgbWluIG1vZGUgbW9kZXMgbXV4IG5hbWUgbmFtZXMKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgbmV0YmlvcyBuaXMgbm90aWZ5IG50IG51bGwgb2Zmc2V0IG9rIG9sZQorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBvbmx5IG9wZW4gb3Bsb2NrIG9wbG9ja3Mgb3B0aW9ucyBvcmRlciBvcworc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBvdXRwdXQgcGFja2V0IHBhZ2UgcGFuaWMgcGFzc3dkIHBhc3N3b3JkCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHBhc3N3b3JkcyBwYXRoIHBlcm1pc3Npb25zIHBpcGUgcG9ydAorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBwb3N0ZXhlYyBwb3N0c2NyaXB0IHByZWRpY3Rpb24gcHJlZXhlYworc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBwcmVmZXJlZCBwcmVmZXJyZWQgcHJlbG9hZCBwcmVzZXJ2ZSBwcmludAorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBwcmludGFibGUgcHJpbnRjYXAgcHJpbnRlciBwcmludGVycworc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBwcmludGluZyBwcm9ncmFtIHByb3RvY29sIHByb3h5IHB1YmxpYworc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBxdWV1ZXBhdXNlIHF1ZXVlcmVzdW1lIHJhdyByZWFkIHJlYWRvbmx5CitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHJlYWxuYW1lIHJlbW90ZSByZXF1aXJlIHJlc2lnbiByZXNvbHV0aW9uCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHJlc29sdmUgcmVzdHJpY3QgcmV2YWxpZGF0ZSByaG9zdHMgcm9vdAorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBzY3JpcHQgc2VjdXJpdHkgc2Vuc2l0aXZlIHNlcnZlciBzZXJ2ZXJjZXJ0CitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHNlcnZpY2Ugc2VydmljZXMgc2V0IHNoYXJlIHNoYXJlZCBzaG9ydAorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBzaXplIHNtYiBzbWJydW4gc29ja2V0IHNwYWNlIHNzbCBzdGFjayBzdGF0CitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHN0YXR1cyBzdHJpY3Qgc3RyaW5nIHN0cmlwIHN1ZmZpeCBzdXBwb3J0CitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHN5bWxpbmtzIHN5bmMgc3lzbG9nIHN5c3RlbSB0aW1lIHRpbWVvdXQKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgdGltZXMgdGltZXN0YW1wIHRvIHRydXN0ZWQgdHRsIHVuaXggdXBkYXRlCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHVzZSB1c2VyIHVzZXJuYW1lIHVzZXJzIHZhbGlkIHZlcnNpb24gdmV0bworc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCB2b2x1bWUgd2FpdCB3aWRlIHdpbnMgd29ya2dyb3VwIHdyaXRhYmxlCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHdyaXRlIHdyaXRlYWJsZSB4bWl0CisKKyIgTmV3IGtleXdvcmRzIGZvciBTYW1iYSAyLjAuNgorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBob29rIGhpcmVzIHBpZCB1aWQgY2xvc2Ugcm9vdHByZWV4ZWMKKworIiBOZXcga2V5d29yZHMgZm9yIFNhbWJhIDIuMC43CitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHV0bXAgd3RtcCBob3N0bmFtZSBjb25zb2xpZGF0ZQorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBpbmhlcml0IHNvdXJjZSBlbnZpcm9ubWVudAorCisiIE5ldyBrZXl3b3JkcyBmb3IgU2FtYmEgMi4yLjAKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgYWRkcHJpbnRlciBhdXRoIGJyb3dzaW5nIGRlbGV0ZXByaW50ZXIKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgZW5oYW5jZWQgZW51bXBvcnRzIGZpbGVtb2RlIGdpZCBob3N0IGpvYnMKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgbGFubWFuIG1zZGZzIG9iamVjdCBvczIgcG9zaXggcHJvY2Vzc2VzCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHNjb3BlIHNlcGFyYXRvciBzaGVsbCBzaG93IHNtYmQgdGVtcGxhdGUKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgdG90YWwgdmZzIHdpbmJpbmQgd2l6YXJkCisKKyIgTmV3IGtleXdvcmRzIGZvciBTYW1iYSAyLjIuMQorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBsYXJnZSBvYmV5IHBhbSByZWFkd3JpdGUgcmVzdHJpY3Rpb25zCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHVucmVhZGFibGUKKworIiBOZXcga2V5d29yZHMgZm9yIFNhbWJhIDIuMi4yIC0gMi4yLjQKK3N5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgYWNscyBhbGxvY2F0ZSBieXRlcyBjb3VudCBjc2MgZGV2bW9kZQorc3luIGtleXdvcmQgc2FtYmFLZXl3b3JkIGNvbnRhaW5lZCBkaXNhYmxlIGRuIGVnZCBlbnRyb3B5IGVudW0gZXh0ZW5zaW9ucyBtbWFwCitzeW4ga2V5d29yZCBzYW1iYUtleXdvcmQgY29udGFpbmVkIHBvbGljeSBzcGluIHNwb29sc3MKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2FtYmFfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc2FtYmFfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKyAgSGlMaW5rIHNhbWJhUGFyYW1ldGVyIE5vcm1hbAorICBIaUxpbmsgc2FtYmFLZXl3b3JkICAgVHlwZQorICBIaUxpbmsgc2FtYmFTZWN0aW9uICAgU3RhdGVtZW50CisgIEhpTGluayBzYW1iYU1hY3JvICAgICBQcmVQcm9jCisgIEhpTGluayBzYW1iYUNvbW1lbnQgICBDb21tZW50CisgIEhpTGluayBzYW1iYUNvbnRpbnVlICBPcGVyYXRvcgorICBIaUxpbmsgc2FtYmFCb29sZWFuICAgQ29uc3RhbnQKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNhbWJhIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2FzLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Nhcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhlODc4OAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3Nhcy52aW0KQEAgLTAsMCArMSwyMzYgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglTQVMKKyIgTWFpbnRhaW5lcjoJSmFtZXMgS2lkZCA8amFtZXMua2lkZEBjb3ZhbmNlLmNvbT4KKyIgTGFzdCBDaGFuZ2U6CTAyIEp1biAyMDAzCisiCQlBZGRlZCBoaWdobGlnaHRpbmcgZm9yIGFkZGl0aW9uYWwga2V5d29yZHMgYW5kIHN1Y2g7CisiCQlBdHRlbXB0ZWQgdG8gbWF0Y2ggU0FTIGRlZmF1bHQgc3ludGF4IGNvbG9yczsKKyIJCUNoYW5nZWQgc3luY2luZyBzbyBpdCBkb2Vzbid0IGxvc2UgY29sb3JzIG9uIGxhcmdlIGJsb2NrczsKKyIJCU11Y2ggdGhhbmtzIHRvIEJvYiBIZWNrZWwgZm9yIGtub3dsZWRnZWFibGUgdHdlYWtpbmcuCisiICBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworc3luIHJlZ2lvbiBzYXNTdHJpbmcJc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrCitzeW4gcmVnaW9uIHNhc1N0cmluZwlzdGFydD0rJysgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rJysKKworIiBXYW50IHJlZ2lvbiBmcm9tICdjYXJkczsnIHRvICc7JyB0byBiZSBjYXB0dXJlZCAoQm9iIEhlY2tlbCkKK3N5biByZWdpb24gc2FzQ2FyZHMJc3RhcnQ9Il5ccypDQVJEUy4qIiBlbmQ9Il5ccyo7XHMqJCIKK3N5biByZWdpb24gc2FzQ2FyZHMJc3RhcnQ9Il5ccypEQVRBTElORVMuKiIgZW5kPSJeXHMqO1xzKiQiCisKK3N5biBtYXRjaCBzYXNOdW1iZXIJIi1cPVw8XGQqXC5cPVswLTlfXVw+IgorCitzeW4gcmVnaW9uIHNhc0NvbW1lbnQJc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIiBjb250YWlucz1zYXNUb2RvCisiIElnbm9yZSBtaXNsZWFkaW5nIC8vSkNMIFNZTlRBWC4uLiAoQm9iIEhlY2tlbCkKK3N5biByZWdpb24gc2FzQ29tbWVudAlzdGFydD0iW14vXVteL10vXCoiICBlbmQ9IlwqLyIgY29udGFpbnM9c2FzVG9kbworCisiIEFsbG93IGhpZ2hsaWdodGluZyBvZiBlbWJlZGRlZCBUT0RPcyAoQm9iIEhlY2tlbCkKK3N5biBtYXRjaCBzYXNDb21tZW50CSJeXHMqXCouKjsiIGNvbnRhaW5zPXNhc1RvZG8KKworIiBBbGxvdyBoaWdobGlnaHRpbmcgb2YgZW1iZWRkZWQgVE9ET3MgKEJvYiBIZWNrZWwpCitzeW4gbWF0Y2ggc2FzQ29tbWVudAkiO1xzKlwqLio7ImhzPXMrMSBjb250YWlucz1zYXNUb2RvCisKKyIgSGFuZGxlIG1hY3JvIGNvbW1lbnRzIHRvbyAoQm9iIEhlY2tlbCkuCitzeW4gbWF0Y2ggc2FzQ29tbWVudAkiXlxzKiUqXCouKjsiIGNvbnRhaW5zPXNhc1RvZG8KKworIiBUaGlzIGxpbmUgZGVmaW5lcyBtYWNybyB2YXJpYWJsZXMgaW4gY29kZS4gIEhpTGluayBhdCBlbmQgb2YgZmlsZQorIiBkZWZpbmVzIHRoZSBjb2xvciBzY2hlbWUuIEJlZ2luIHJlZ2lvbiB3aXRoIGFtcGVyc2FuZCBhbmQgZW5kIHdpdGgKKyIgYW55IG5vbi13b3JkIGNoYXJhY3RlciBvZmZzZXQgYnkgLTE7IHB1dCBhbXBlcnNhbmQgaW4gdGhlIHNraXAgbGlzdAorIiBqdXN0IGluIGNhc2UgaXQgaXMgdXNlZCB0byBjb25jYXRlbmF0ZSBtYWNybyB2YXJpYWJsZSB2YWx1ZXMuCisKKyIgVGhhbmtzIHRvIHJvbmFsZCBo9mxsd2FydGggZm9yIHRoaXMgZml4IHRvIGFuIGludHJhLXZlcnNpb25pbmcKKyIgcHJvYmxlbSB3aXRoIHRoaXMgbGl0dGxlIGZlYXR1cmUKKworaWYgdmVyc2lvbiA8IDYwMAorICAgc3luIHJlZ2lvbiBzYXNNYWNyb1ZhcglzdGFydD0iXCYiIHNraXA9IltfJl0iIGVuZD0iXFciaGU9ZS0xCitlbHNlCQkgIiBmb3IgdGhlIG9sZGVyIFZpbSdzIGp1c3QgZG8gaXQgdGhlaXIgd2F5IC4uLgorICAgc3luIHJlZ2lvbiBzYXNNYWNyb1ZhcglzdGFydD0iJiIgc2tpcD0iW18mXSIgZW5kPSJcVyJoZT1lLTEKK2VuZGlmCisKKworIiBJIGRvbnQgdGhpbmsgc3BlY2lmaWMgUFJPQ3MgbmVlZCB0byBiZSBsaXN0ZWQgaWYgdXNlIHRoaXMgbGluZSAoQm9iIEhlY2tlbCkuCitzeW4gbWF0Y2ggc2FzUHJvYwkJIl5ccypQUk9DIFx3XCsiCitzeW4ga2V5d29yZCBzYXNTdGVwCQlSVU4gUVVJVCBEQVRBCisKKworIiBCYXNlIFNBUyBQcm9jcyAtIHZlcnNpb24gOC4xCisKK3N5biBrZXl3b3JkIHNhc0NvbmRpdGlvbmFsCURPIEVMU0UgRU5EIElGIFRIRU4gVU5USUwgV0hJTEUKKworc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CUFCT1JUIEFSUkFZIEFUVFJJQiBCWSBDQUxMIENBUkRTIENBUkRTNCBDQVROQU1FCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJQ09OVElOVUUgREFUQUxJTkVTIERBVEFMSU5FUzQgREVMRVRFIERJU1BMQVkKK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlETSBEUk9QIEVORFNBUyBFUlJPUiBGSUxFIEZJTEVOQU1FIEZPT1ROT1RFCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJRk9STUFUIEdPVE8gSU5GSUxFIElORk9STUFUIElOUFVUIEtFRVAKK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlMQUJFTCBMRUFWRSBMRU5HVEggTElCTkFNRSBMSU5LIExJU1QgTE9TVENBUkQKK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlNRVJHRSBNSVNTSU5HIE1PRElGWSBPUFRJT05TIE9VVFBVVCBQQUdFCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJUFVUIFJFRElSRUNUIFJFTU9WRSBSRU5BTUUgUkVQTEFDRSBSRVRBSU4KK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlSRVRVUk4gU0VMRUNUIFNFVCBTS0lQIFNUQVJUU0FTIFNUT1AgVElUTEUKK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlVUERBVEUgV0FJVFNBUyBXSEVSRSBXSU5ET1cgWCBTWVNUQVNLCisKKyIgS2V5d29yZHMgdGhhdCBhcmUgdXNlZCBpbiBQcm9jIFNRTAorIiBJIGxlZnQgdGhlbSBhcyBzdGF0ZW1lbnRzIGJlY2F1c2UgU0FTJ3MgZW5oYW5jZWQgZWRpdG9yIGhpZ2hsaWdodHMKKyIgdGhlbSB0aGUgc2FtZSBhcyBub3JtYWwgc3RhdGVtZW50cyB1c2VkIGluIGRhdGEgc3RlcHMgKEppbSBLaWRkKQorCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJQUREIEFORCBBTFRFUiBBUyBDQVNDQURFIENIRUNLIENSRUFURQorc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CURFTEVURSBERVNDUklCRSBESVNUSU5DVCBEUk9QIEZPUkVJR04KK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlGUk9NIEdST1VQIEhBVklORyBJTkRFWCBJTlNFUlQgSU5UTyBJTgorc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CUtFWSBMSUtFIE1FU1NBR0UgTU9ESUZZIE1TR1RZUEUgTk9UCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJTlVMTCBPTiBPUiBPUkRFUiBQUklNQVJZIFJFRkVSRU5DRVMKK3N5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlSRVNFVCBSRVNUUklDVCBTRUxFQ1QgU0VUIFRBQkxFCitzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJVU5JUVVFIFVQREFURSBWQUxJREFURSBWSUVXIFdIRVJFCisKKworc3luIG1hdGNoIHNhc1N0YXRlbWVudAkiRk9PVE5PVEVcZCIgIlRJVExFXGQiCisKK3N5biBtYXRjaCBzYXNNYWNybwkiJUJRVU9URSIgIiVOUkJRVU9URSIgIiVDTVBSRVMiICIlUUNNUFJFUyIKK3N5biBtYXRjaCBzYXNNYWNybwkiJUNPTVBTVE9SIiAiJURBVEFUWVAiICIlRElTUExBWSIgIiVETyIKK3N5biBtYXRjaCBzYXNNYWNybwkiJUVMU0UiICIlRU5EIiAiJUVWQUwiICIlR0xPQkFMIgorc3luIG1hdGNoIHNhc01hY3JvCSIlR09UTyIgIiVJRiIgIiVJTkRFWCIgIiVJTlBVVCIKK3N5biBtYXRjaCBzYXNNYWNybwkiJUtFWURFRiIgIiVMQUJFTCIgIiVMRUZUIiAiJUxFTkdUSCIKK3N5biBtYXRjaCBzYXNNYWNybwkiJUxFVCIgIiVMT0NBTCIgIiVMT1dDQVNFIiAiJU1BQ1JPIgorc3luIG1hdGNoIHNhc01hY3JvCSIlTUVORCIgIiVOUkJRVU9URSIgIiVOUlFVT1RFIiAiJU5SU1RSIgorc3luIG1hdGNoIHNhc01hY3JvCSIlUFVUIiAiJVFDTVBSRVMiICIlUUxFRlQiICIlUUxPV0NBU0UiCitzeW4gbWF0Y2ggc2FzTWFjcm8JIiVRU0NBTiIgIiVRU1VCU1RSIiAiJVFTWVNGVU5DIiAiJVFUUklNIgorc3luIG1hdGNoIHNhc01hY3JvCSIlUVVPVEUiICIlUVVQQ0FTRSIgIiVTQ0FOIiAiJVNUUiIKK3N5biBtYXRjaCBzYXNNYWNybwkiJVNVQlNUUiIgIiVTVVBFUlEiICIlU1lTQ0FMTCIgIiVTWVNFVkFMRiIKK3N5biBtYXRjaCBzYXNNYWNybwkiJVNZU0VYRUMiICIlU1lTRlVOQyIgIiVTWVNHRVQiICIlU1lTTFBVVCIKK3N5biBtYXRjaCBzYXNNYWNybwkiJVNZU1BST0QiICIlU1lTUkMiICIlU1lTUlBVVCIgIiVUSEVOIgorc3luIG1hdGNoIHNhc01hY3JvCSIlVE8iICIlVFJJTSIgIiVVTlFVT1RFIiAiJVVOVElMIgorc3luIG1hdGNoIHNhc01hY3JvCSIlVVBDQVNFIiAiJVZFUklGWSIgIiVXSElMRSIgIiVXSU5ET1ciCisKKyIgU0FTIEZ1bmN0aW9ucworCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglBQlMgQUREUiBBSVJZIEFSQ09TIEFSU0lOIEFUQU4gQVRUUkMgQVRUUk4KK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUJBTkQgQkVUQUlOViBCTFNISUZUIEJOT1QgQk9SIEJSU0hJRlQgQlhPUgorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JQllURSBDREYgQ0VJTCBDRVhJU1QgQ0lOViBDTE9TRSBDTk9OQ1QgQ09MTEFURQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JQ09NUEJMIENPTVBPVU5EIENPTVBSRVNTIENPUyBDT1NIIENTUyBDVVJPQlMKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUNWIERBQ0NEQiBEQUNDREJTTCBEQUNDU0wgREFDQ1NZRCBEQUNDVEFCCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglEQUlSWSBEQVRFIERBVEVKVUwgREFURVBBUlQgREFURVRJTUUgREFZCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglEQ0xPU0UgREVQREIgREVQREJTTCBERVBEQlNMIERFUFNMIERFUFNMCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglERVBTWUQgREVQU1lEIERFUFRBQiBERVBUQUIgREVRVU9URSBESE1TCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglESUYgRElHQU1NQSBESU0gRElORk8gRE5VTSBET1BFTiBET1BUTkFNRQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRE9QVE5VTSBEUkVBRCBEUk9QTk9URSBEU05BTUUgRVJGIEVSRkMgRVhJU1QKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUVYUCBGQVBQRU5EIEZDTE9TRSBGQ09MIEZERUxFVEUgRkVUQ0ggRkVUQ0hPQlMKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUZFWElTVCBGR0VUIEZJTEVFWElTVCBGSUxFTkFNRSBGSUxFUkVGIEZJTkZPCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglGSU5WIEZJUE5BTUUgRklQTkFNRUwgRklQU1RBVEUgRkxPT1IgRk5PTkNUCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglGTk9URSBGT1BFTiBGT1BUTkFNRSBGT1BUTlVNIEZQT0lOVCBGUE9TCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglGUFVUIEZSRUFEIEZSRVdJTkQgRlJMRU4gRlNFUCBGVVpaIEZXUklURQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JR0FNSU5WIEdBTU1BIEdFVE9QVElPTiBHRVRWQVJDIEdFVFZBUk4gSEJPVU5ECitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglITVMgSE9TVEhFTFAgSE9VUiBJQkVTU0VMIElOREVYIElOREVYQworc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JSU5ERVhXIElOUFVUIElOUFVUQyBJTlBVVE4gSU5UIElOVENLIElOVE5YCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglJTlRSUiBJUlIgSkJFU1NFTCBKVUxEQVRFIEtVUlRPU0lTIExBRyBMQk9VTkQKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUxFRlQgTEVOR1RIIExHQU1NQSBMSUJOQU1FIExJQlJFRiBMT0cgTE9HMTAKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUxPRzIgTE9HUERGIExPR1BNRiBMT0dTREYgTE9XQ0FTRSBNQVggTURZCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglNRUFOIE1JTiBNSU5VVEUgTU9EIE1PTlRIIE1PUEVOIE1PUlQgTgorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JTkVUUFYgTk1JU1MgTk9STUFMIE5PVEUgTlBWIE9QRU4gT1JESU5BTAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUEFUSE5BTUUgUERGIFBFRUsgUEVFS0MgUE1GIFBPSU5UIFBPSVNTT04gUE9LRQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUFJPQkJFVEEgUFJPQkJOTUwgUFJPQkNISSBQUk9CRiBQUk9CR0FNCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglQUk9CSFlQUiBQUk9CSVQgUFJPQk5FR0IgUFJPQk5PUk0gUFJPQlQgUFVUCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglQVVRDIFBVVE4gUVRSIFFVT1RFIFJBTkJJTiBSQU5DQVUgUkFORVhQCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglSQU5HQU0gUkFOR0UgUkFOSyBSQU5OT1IgUkFOUE9JIFJBTlRCTCBSQU5UUkkKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVJBTlVOSSBSRVBFQVQgUkVTT0xWRSBSRVZFUlNFIFJFV0lORCBSSUdIVAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUk9VTkQgU0FWSU5HIFNDQU4gU0RGIFNFQ09ORCBTSUdOIFNJTiBTSU5ICitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglTS0VXTkVTUyBTT1VOREVYIFNQRURJUyBTUVJUIFNURCBTVERFUlIgU1RGSVBTCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglTVE5BTUUgU1ROQU1FTCBTVUJTVFIgU1VNIFNZTUdFVCBTWVNHRVQgU1lTTVNHCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglTWVNQUk9EIFNZU1JDIFNZU1RFTSBUQU4gVEFOSCBUSU1FIFRJTUVQQVJUCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglUSU5WIFROT05DVCBUT0RBWSBUUkFOU0xBVEUgVFJBTldSRCBUUklHQU1NQQorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVFJJTSBUUklNTiBUUlVOQyBVTklGT1JNIFVQQ0FTRSBVU1MgVkFSCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWQVJGTVQgVkFSSU5GTVQgVkFSTEFCRUwgVkFSTEVOIFZBUk5BTUUKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVZBUk5VTSBWQVJSQVkgVkFSUkFZWCBWQVJUWVBFIFZFUklGWSBWRk9STUFUCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWRk9STUFURCBWRk9STUFURFggVkZPUk1BVE4gVkZPUk1BVE5YIFZGT1JNQVRXCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWRk9STUFUV1ggVkZPUk1BVFggVklOQVJSQVkgVklOQVJSQVlYIFZJTkZPUk1BVAorc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVklORk9STUFURCBWSU5GT1JNQVREWCBWSU5GT1JNQVROIFZJTkZPUk1BVE5YCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWSU5GT1JNQVRXIFZJTkZPUk1BVFdYIFZJTkZPUk1BVFggVkxBQkVMCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWTEFCRUxYIFZMRU5HVEggVkxFTkdUSFggVk5BTUUgVk5BTUVYIFZUWVBFCitzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWVFlQRVggV0VFS0RBWSBZRUFSIFlZUSBaSVBGSVBTIFpJUE5BTUUgWklQTkFNRUwKK3N5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVpJUFNUQVRFCisKKyIgSGFuZHkgc2V0dGluZ3MgZm9yIHVzaW5nIHZpbSB3aXRoIGxvZyBmaWxlcworc3luIGtleXdvcmQgc2FzTG9nTXNnCU5PVEUKK3N5biBrZXl3b3JkIHNhc1dhcm5Nc2cJV0FSTklORworc3luIGtleXdvcmQgc2FzRXJyTXNnCUVSUk9SCisKKyIgQWx3YXlzIGNvbnRhaW5lZCBpbiBhIGNvbW1lbnQgKEJvYiBIZWNrZWwpCitzeW4ga2V5d29yZCBzYXNUb2RvCVRPRE8gVEJEIEZJWE1FIGNvbnRhaW5lZAorCisiIFRoZXNlIGRvbid0IGZpdCBhbnl3aGVyZSBlbHNlIChCb2IgSGVja2VsKS4KK3N5biBtYXRjaCBzYXNVbmRlcnNjb3JlCSJfTlVMTF8iCitzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX0lORklMRV8iCitzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX05fIgorc3luIG1hdGNoIHNhc1VuZGVyc2NvcmUJIl9XRUJPVVRfIgorc3luIG1hdGNoIHNhc1VuZGVyc2NvcmUJIl9OVU1FUklDXyIKK3N5biBtYXRjaCBzYXNVbmRlcnNjb3JlCSJfQ0hBUkFDVEVSXyIKK3N5biBtYXRjaCBzYXNVbmRlcnNjb3JlCSJfQUxMXyIKKworIiBFbmQgb2YgU0FTIEZ1bmN0aW9ucworCisiICBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiAgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiAgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Nhc19zeW50YXhfaW5pdHMiKQorICAgaWYgdmVyc2lvbiA8IDUwOAorICAgICAgbGV0IGRpZF9zYXNfc3ludGF4X2luaXRzID0gMQorICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgIGVsc2UKKyAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgZW5kaWYKKworICAgIiBEZWZhdWx0IHNhcyBlbmhhbmNlZCBlZGl0b3IgY29sb3Igc3ludGF4CisJaGkgc0NvbW1lbnQJdGVybT1ib2xkIGN0ZXJtPU5PTkUgY3Rlcm1mZz1HcmVlbiBjdGVybWJnPUJsYWNrIGd1aT1OT05FIGd1aWZnPURhcmtHcmVlbiBndWliZz1XaGl0ZQorCWhpIHNDYXJkCXRlcm09Ym9sZCBjdGVybT1OT05FIGN0ZXJtZmc9QmxhY2sgY3Rlcm1iZz1ZZWxsb3cgZ3VpPU5PTkUgZ3VpZmc9QmxhY2sgZ3VpYmc9TGlnaHRZZWxsb3cKKwloaSBzRGF0ZV9UaW1lCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQorCWhpIHNLZXl3b3JkCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9Qmx1ZSAgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCisJaGkgc0ZtdEluZm10CXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9TGlnaHRHcmVlbiBjdGVybWJnPUJsYWNrIGd1aT1OT05FIGd1aWZnPVNlYUdyZWVuIGd1aWJnPVdoaXRlCisJaGkgc1N0cmluZwl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPU1hZ2VudGEgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1QdXJwbGUgZ3VpYmc9V2hpdGUKKwloaSBzVGV4dAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKKwloaSBzTnVtYmVyCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQorCWhpIHNQcm9jCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPU5hdnkgZ3VpYmc9V2hpdGUKKwloaSBzU2VjdGlvbgl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1OYXZ5IGd1aWJnPVdoaXRlCisJaGkgbURlZmluZQl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKKwloaSBtS2V5d29yZAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCisJaGkgbVJlZmVyZW5jZQl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9Qmx1ZSBndWliZz1XaGl0ZQorCWhpIG1TZWN0aW9uCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPU5hdnkgZ3VpYmc9V2hpdGUKKwloaSBtVGV4dAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKKworIiBDb2xvcnMgdGhhdCBjbG9zZWx5IG1hdGNoIFNBUyBsb2cgY29sb3JzIGZvciBkZWZhdWx0IGNvbG9yIHNjaGVtZQorCWhpIGxFcnJvcgl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVJlZCBjdGVybWJnPUJsYWNrIGd1aT1ub25lIGd1aWZnPVJlZCBndWliZz1XaGl0ZQorCWhpIGxXYXJuaW5nCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9bm9uZSBndWlmZz1HcmVlbiBndWliZz1XaGl0ZQorCWhpIGxOb3RlCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9Q3lhbiBjdGVybWJnPUJsYWNrIGd1aT1ub25lIGd1aWZnPUJsdWUgZ3VpYmc9V2hpdGUKKworCisgICAiIFNwZWNpYWwgaGlsaWdodGluZyBmb3IgdGhlIFNBUyBwcm9jIHNlY3Rpb24KKworCUhpTGluawlzYXNDb21tZW50CXNDb21tZW50CisJSGlMaW5rCXNhc0NvbmRpdGlvbmFsCXNLZXl3b3JkCisJSGlMaW5rCXNhc1N0ZXAJCXNTZWN0aW9uCisJSGlMaW5rCXNhc0Z1bmN0aW9uCXNLZXl3b3JkCisJSGlMaW5rCXNhc01hY3JvCW1LZXl3b3JkCisJSGlMaW5rCXNhc01hY3JvVmFyCU5vblRleHQKKwlIaUxpbmsJc2FzTnVtYmVyCXNOdW1iZXIKKwlIaUxpbmsJc2FzU3RhdGVtZW50CXNLZXl3b3JkCisJSGlMaW5rCXNhc1N0cmluZwlzU3RyaW5nCisJSGlMaW5rCXNhc1Byb2MJCXNQcm9jCisgICAiIChCb2IgSGVja2VsKQorCUhpTGluawlzYXNUb2RvCQlUb2RvCisJSGlMaW5rCXNhc0Vyck1zZwlsRXJyb3IKKwlIaUxpbmsJc2FzV2Fybk1zZwlsV2FybmluZworCUhpTGluawlzYXNMb2dNc2cJbE5vdGUKKwlIaUxpbmsJc2FzQ2FyZHMJc0NhcmQKKyAgIiAoQm9iIEhlY2tlbCkKKwlIaUxpbmsJc2FzVW5kZXJzY29yZQlQcmVQcm9jCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKyIgU3luY3Jvbml6ZSBmcm9tIGJlZ2lubmluZyB0byBrZWVwIGxhcmdlIGJsb2NrcyBmcm9tIGxvc2luZworIiBzeW50YXggY29sb3Jpbmcgd2hpbGUgbW92aW5nIHRocm91Z2ggY29kZS4KK3N5biBzeW5jIGZyb21zdGFydAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzYXMiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zYXRoZXIudmltIGIvcnVudGltZS9zeW50YXgvc2F0aGVyLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTk1OTFiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc2F0aGVyLnZpbQpAQCAtMCwwICsxLDEwNSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVNhdGhlci9wU2F0aGVyCisiIE1haW50YWluZXI6CUNsYXVkaW8gRmxlaW5lciA8Y2xhdWRpb0BmbGVpbmVyLmNvbT4KKyIgVVJMOgkJaHR0cDovL3d3dy5mbGVpbmVyLmNvbS92aW0vc3ludGF4L3NhdGhlci52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgU2F0aGVyIGlzIGEgT08tbGFuZ3VhZ2UgZGV2ZWxvcHBlZCBhdCB0aGUgSW50ZXJuYXRpb25hbCBDb21wdXRlciBTY2llbmNlCisiIEluc3RpdHV0ZSAoSUNTSSkgaW4gQmVya2VsZXksIENBLiBwU2F0aGVyIGlzIGEgcGFyYWxsZWwgZXh0ZW5zaW9uIHRvIFNhdGhlci4KKyIgSG9tZXBhZ2U6IGh0dHA6Ly93d3cuaWNzaS5iZXJrZWxleS5lZHUvfnNhdGhlcgorIiBTYXRoZXIgZmlsZXMgdXNlIC5zYSBhcyBzdWZmaXgKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGtleXdvcmQgZGVmaW5pdGlvbnMKK3N5biBrZXl3b3JkIHNhdGhlckV4dGVybmFsCSBleHRlcm4KK3N5biBrZXl3b3JkIHNhdGhlckJyYW5jaAkgYnJlYWsgY29udGludWUKK3N5biBrZXl3b3JkIHNhdGhlckxhYmVsCQkgd2hlbiB0aGVuCitzeW4ga2V5d29yZCBzYXRoZXJDb25kaXRpb25hbAkgaWYgZWxzZSBlbHNpZiBlbmQgY2FzZSB0eXBlY2FzZSBhc3NlcnQgd2l0aAorc3luIG1hdGNoIHNhdGhlckNvbmRpdGlvbmFsCSAibmVhciQiCitzeW4gbWF0Y2ggc2F0aGVyQ29uZGl0aW9uYWwJICJmYXIkIgorc3luIG1hdGNoIHNhdGhlckNvbmRpdGlvbmFsCSAibmVhciAqW14oXSJoZT1lLTEKK3N5biBtYXRjaCBzYXRoZXJDb25kaXRpb25hbAkgImZhciAqW14oXSJoZT1lLTEKK3N5biBrZXl3b3JkIHNhdGhlclN5bmNocm9uaXplCSBsb2NrIGd1YXJkIHN5bmMKK3N5biBrZXl3b3JkIHNhdGhlclJlcGVhdAkgbG9vcCBwYXJsb29wIGRvCitzeW4gbWF0Y2ggc2F0aGVyUmVwZWF0CQkgIndoaWxlISIKK3N5biBtYXRjaCBzYXRoZXJSZXBlYXQJCSAiYnJlYWshIgorc3luIG1hdGNoIHNhdGhlclJlcGVhdAkJICJ1bnRpbCEiCitzeW4ga2V5d29yZCBzYXRoZXJCb29sVmFsdWUJIHRydWUgZmFsc2UKK3N5biBrZXl3b3JkIHNhdGhlclZhbHVlCQkgc2VsZiBoZXJlIGNsdXN0ZXIKK3N5biBrZXl3b3JkIHNhdGhlck9wZXJhdG9yCSBuZXcgIj09ICE9ICYgXiB8ICYmIHx8CitzeW4ga2V5d29yZCBzYXRoZXJPcGVyYXRvcgkgYW5kIG9yIG5vdAorc3luIG1hdGNoIHNhdGhlck9wZXJhdG9yCSAiWyMhXSIKK3N5biBtYXRjaCBzYXRoZXJPcGVyYXRvcgkgIjotIgorc3luIGtleXdvcmQgc2F0aGVyVHlwZQkJIHZvaWQgYXR0ciB3aGVyZQorc3luIG1hdGNoIHNhdGhlclR5cGUJICAgICAgICJuZWFyICooImhlPWUtMQorc3luIG1hdGNoIHNhdGhlclR5cGUJICAgICAgICJmYXIgKigiaGU9ZS0xCitzeW4ga2V5d29yZCBzYXRoZXJTdGF0ZW1lbnQJIHJldHVybgorc3luIGtleXdvcmQgc2F0aGVyU3RvcmFnZUNsYXNzCSBzdGF0aWMgY29uc3QKK3N5biBrZXl3b3JkIHNhdGhlckV4Y2VwdGlvbnMJIHRyeSByYWlzZSBjYXRjaAorc3luIGtleXdvcmQgc2F0aGVyTWV0aG9kRGVjbAkgaXMgcHJlIHBvc3QKK3N5biBrZXl3b3JkIHNhdGhlckNsYXNzRGVjbAkgYWJzdHJhY3QgdmFsdWUgY2xhc3MgaW5jbHVkZQorc3luIGtleXdvcmQgc2F0aGVyU2NvcGVEZWNsCSBwdWJsaWMgcHJpdmF0ZSByZWFkb25seQorCisKK3N5biBtYXRjaCAgIHNhdGhlclNwZWNpYWwJICAgIGNvbnRhaW5lZCAiXFxcZFxkXGRcfFxcLiIKK3N5biByZWdpb24gIHNhdGhlclN0cmluZwkgICAgc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrICBjb250YWlucz1zYXRoZXJTcGVjaWFsCitzeW4gbWF0Y2ggICBzYXRoZXJDaGFyYWN0ZXIJICAgICInW15cXF0nIgorc3luIG1hdGNoICAgc2F0aGVyU3BlY2lhbENoYXJhY3RlciAgIidcXC4nIgorc3luIG1hdGNoICAgc2F0aGVyTnVtYmVyCSAgIi1cPVw8XGRcK0xcPVw+XHwwW3hYXVswLTlhLWZBLUZdXCtcPiIKK3N5biBtYXRjaCAgIHNhdGhlckNvbW1lbnRTa2lwCSAgY29udGFpbmVkICJeXHMqXCpcKCRcfFxzXCtcKSIKK3N5biByZWdpb24gIHNhdGhlckNvbW1lbnQyU3RyaW5nICBjb250YWluZWQgc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyRcfCIrICBjb250YWlucz1zYXRoZXJTcGVjaWFsCitzeW4gbWF0Y2ggICBzYXRoZXJDb21tZW50CSAgIi0tLioiIGNvbnRhaW5zPXNhdGhlckNvbW1lbnQyU3RyaW5nLHNhdGhlckNoYXJhY3RlcixzYXRoZXJOdW1iZXIKKworCitzeW4gc3luYyBjY29tbWVudCBzYXRoZXJDb21tZW50CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NhdGhlcl9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zYXRoZXJfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc2F0aGVyQnJhbmNoCQlzYXRoZXJTdGF0ZW1lbnQKKyAgSGlMaW5rIHNhdGhlckxhYmVsCQlzYXRoZXJTdGF0ZW1lbnQKKyAgSGlMaW5rIHNhdGhlckNvbmRpdGlvbmFsCXNhdGhlclN0YXRlbWVudAorICBIaUxpbmsgc2F0aGVyU3luY2hyb25pemUJc2F0aGVyU3RhdGVtZW50CisgIEhpTGluayBzYXRoZXJSZXBlYXQJCXNhdGhlclN0YXRlbWVudAorICBIaUxpbmsgc2F0aGVyRXhjZXB0aW9ucwlzYXRoZXJTdGF0ZW1lbnQKKyAgSGlMaW5rIHNhdGhlclN0b3JhZ2VDbGFzcwlzYXRoZXJEZWNsYXJhdGl2ZQorICBIaUxpbmsgc2F0aGVyTWV0aG9kRGVjbAlzYXRoZXJEZWNsYXJhdGl2ZQorICBIaUxpbmsgc2F0aGVyQ2xhc3NEZWNsCXNhdGhlckRlY2xhcmF0aXZlCisgIEhpTGluayBzYXRoZXJTY29wZURlY2wJc2F0aGVyRGVjbGFyYXRpdmUKKyAgSGlMaW5rIHNhdGhlckJvb2xWYWx1ZQlzYXRoZXJWYWx1ZQorICBIaUxpbmsgc2F0aGVyU3BlY2lhbAkJc2F0aGVyVmFsdWUKKyAgSGlMaW5rIHNhdGhlclN0cmluZwkJc2F0aGVyVmFsdWUKKyAgSGlMaW5rIHNhdGhlckNoYXJhY3RlcglzYXRoZXJWYWx1ZQorICBIaUxpbmsgc2F0aGVyU3BlY2lhbENoYXJhY3RlciBzYXRoZXJWYWx1ZQorICBIaUxpbmsgc2F0aGVyTnVtYmVyCQlzYXRoZXJWYWx1ZQorICBIaUxpbmsgc2F0aGVyU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgc2F0aGVyT3BlcmF0b3IJCVN0YXRlbWVudAorICBIaUxpbmsgc2F0aGVyQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgc2F0aGVyVHlwZQkJVHlwZQorICBIaUxpbmsgc2F0aGVyVmFsdWUJCVN0cmluZworICBIaUxpbmsgc2F0aGVyU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHNhdGhlclNwZWNpYWwJCVN0cmluZworICBIaUxpbmsgc2F0aGVyQ2hhcmFjdGVyCVN0cmluZworICBIaUxpbmsgc2F0aGVyRGVjbGFyYXRpdmUJVHlwZQorICBIaUxpbmsgc2F0aGVyRXh0ZXJuYWwJCVByZUNvbmRpdAorICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2F0aGVyIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2NoZW1lLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NjaGVtZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNkZTM1YgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NjaGVtZS52aW0KQEAgLTAsMCArMSwxODkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglTY2hlbWUgKFI1UlMpCisiIE1haW50YWluZXI6CURpcmsgdmFuIERldW4gPGRpcmtAaWd3ZS52dWIuYWMuYmU+CisiIExhc3QgQ2hhbmdlOglBcHJpbCAzMCwgMTk5OAorCisiIFRoaXMgc2NyaXB0IGluY29ycmVjdGx5IHJlY29nbml6ZXMgc29tZSBqdW5rIGlucHV0IGFzIG51bWVyYWxzOgorIiBwYXJzaW5nIHRoZSBjb21wbGV0ZSBzeXN0ZW0gb2YgU2NoZW1lIG51bWVyYWxzIHVzaW5nIHRoZSBwYXR0ZXJuCisiIGxhbmd1YWdlIGlzIHByYWN0aWNhbGx5IGltcG9zc2libGU6IEkgZGlkIGEgbGF4IGFwcHJveGltYXRpb24uCisKKyIgU3VnZ2VzdGlvbnMgYW5kIGJ1ZyByZXBvcnRzIGFyZSBzb2xpY2l0ZWQgYnkgdGhlIGF1dGhvci4KKworIiBJbml0aWFsaXppbmc6CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgRmFzY2lzdCBoaWdobGlnaHRpbmc6IGV2ZXJ5dGhpbmcgdGhhdCBkb2Vzbid0IGZpdCB0aGUgcnVsZXMgaXMgYW4gZXJyb3IuLi4KKworc3luIG1hdGNoCXNjaGVtZUVycm9yCW9uZWxpbmUgICAgIVteIFx0KCkiO10qIQorc3luIG1hdGNoCXNjaGVtZUVycm9yCW9uZWxpbmUgICAgIikiCisKKyIgUXVvdGVkIGFuZCBiYWNrcXVvdGVkIHN0dWZmCisKK3N5biByZWdpb24gc2NoZW1lUXVvdGVkIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJbJ2BdIiBlbmQ9IVsgXHQoKSI7XSFtZT1lLTEgY29udGFpbnM9QUxMQlVULHNjaGVtZVN0cnVjLHNjaGVtZVN5bnRheCxzY2hlbWVGdW5jCisKK3N5biByZWdpb24gc2NoZW1lUXVvdGVkIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJbJ2BdKCIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsc2NoZW1lU3RydWMsc2NoZW1lU3ludGF4LHNjaGVtZUZ1bmMKK3N5biByZWdpb24gc2NoZW1lUXVvdGVkIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJbJ2BdIygiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULHNjaGVtZVN0cnVjLHNjaGVtZVN5bnRheCxzY2hlbWVGdW5jCisKK3N5biByZWdpb24gc2NoZW1lU3RydWNSZXN0cmljdGVkIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxzY2hlbWVTdHJ1YyxzY2hlbWVTeW50YXgsc2NoZW1lRnVuYworc3luIHJlZ2lvbiBzY2hlbWVTdHJ1Y1Jlc3RyaWN0ZWQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IiMoIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxzY2hlbWVTdHJ1YyxzY2hlbWVTeW50YXgsc2NoZW1lRnVuYworCitzeW4gcmVnaW9uIHNjaGVtZVVucXVvdGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IiwiIGVuZD0hWyBcdCgpIjtdIW1lPWUtMSBjb250YWlucz1BTExCVVQsc2NoZW1lU3RydWMsc2NoZW1lU3ludGF4LHNjaGVtZUZ1bmMKK3N5biByZWdpb24gc2NoZW1lVW5xdW90ZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iLEAiIGVuZD0hWyBcdCgpIjtdIW1lPWUtMSBjb250YWlucz1BTExCVVQsc2NoZW1lU3RydWMsc2NoZW1lU3ludGF4LHNjaGVtZUZ1bmMKKworc3luIHJlZ2lvbiBzY2hlbWVVbnF1b3RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIsKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsc2NoZW1lU3RydWMsc2NoZW1lU3ludGF4LHNjaGVtZUZ1bmMKK3N5biByZWdpb24gc2NoZW1lVW5xdW90ZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iLEAoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxzY2hlbWVTdHJ1YyxzY2hlbWVTeW50YXgsc2NoZW1lRnVuYworCitzeW4gcmVnaW9uIHNjaGVtZVVucXVvdGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IiwjKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsc2NoZW1lU3RydWMsc2NoZW1lU3ludGF4LHNjaGVtZUZ1bmMKK3N5biByZWdpb24gc2NoZW1lVW5xdW90ZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iLEAjKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsc2NoZW1lU3RydWMsc2NoZW1lU3ludGF4LHNjaGVtZUZ1bmMKKworIiBSNVJTIFNjaGVtZSBGdW5jdGlvbnMgYW5kIFN5bnRheDoKKworaWYgdmVyc2lvbiA8IDYwMAorICBzZXQgaXNrZXl3b3JkPTMzLDM1LTM5LDQyLTU4LDYwLTkwLDk0LDk1LDk3LTEyMiwxMjYsXworZWxzZQorICBzZXRsb2NhbCBpc2tleXdvcmQ9MzMsMzUtMzksNDItNTgsNjAtOTAsOTQsOTUsOTctMTIyLDEyNixfCitlbmRpZgorCitzeW4ga2V5d29yZCBzY2hlbWVTeW50YXggbGFtYmRhIGFuZCBvciBpZiBjb25kIGNhc2UgZGVmaW5lIGxldCBsZXQqIGxldHJlYworc3luIGtleXdvcmQgc2NoZW1lU3ludGF4IGJlZ2luIGRvIGRlbGF5IHNldCEgZWxzZSA9Pgorc3luIGtleXdvcmQgc2NoZW1lU3ludGF4IHF1b3RlIHF1YXNpcXVvdGUgdW5xdW90ZSB1bnF1b3RlLXNwbGljaW5nCitzeW4ga2V5d29yZCBzY2hlbWVTeW50YXggZGVmaW5lLXN5bnRheCBsZXQtc3ludGF4IGxldHJlYy1zeW50YXggc3ludGF4LXJ1bGVzCisKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgbm90IGJvb2xlYW4/IGVxPyBlcXY/IGVxdWFsPyBwYWlyPyBjb25zIGNhciBjZHIgc2V0LWNhciEKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgc2V0LWNkciEgY2FhciBjYWRyIGNkYXIgY2RkciBjYWFhciBjYWFkciBjYWRhciBjYWRkcgorc3luIGtleXdvcmQgc2NoZW1lRnVuYyBjZGFhciBjZGFkciBjZGRhciBjZGRkciBjYWFhYXIgY2FhYWRyIGNhYWRhciBjYWFkZHIKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgY2FkYWFyIGNhZGFkciBjYWRkYXIgY2FkZGRyIGNkYWFhciBjZGFhZHIgY2RhZGFyIGNkYWRkcgorc3luIGtleXdvcmQgc2NoZW1lRnVuYyBjZGRhYXIgY2RkYWRyIGNkZGRhciBjZGRkZHIgbnVsbD8gbGlzdD8gbGlzdCBsZW5ndGgKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgYXBwZW5kIHJldmVyc2UgbGlzdC1yZWYgbWVtcSBtZW12IG1lbWJlciBhc3NxIGFzc3YgYXNzb2MKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgc3ltYm9sPyBzeW1ib2wtPnN0cmluZyBzdHJpbmctPnN5bWJvbCBudW1iZXI/IGNvbXBsZXg/CitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIHJlYWw/IHJhdGlvbmFsPyBpbnRlZ2VyPyBleGFjdD8gaW5leGFjdD8gPSA8ID4gPD0gPj0KK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgemVybz8gcG9zaXRpdmU/IG5lZ2F0aXZlPyBvZGQ/IGV2ZW4/IG1heCBtaW4gKyAqIC0gLyBhYnMKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgcXVvdGllbnQgcmVtYWluZGVyIG1vZHVsbyBnY2QgbGNtIG51bWVyYXRvciBkZW5vbWluYXRvcgorc3luIGtleXdvcmQgc2NoZW1lRnVuYyBmbG9vciBjZWlsaW5nIHRydW5jYXRlIHJvdW5kIHJhdGlvbmFsaXplIGV4cCBsb2cgc2luIGNvcworc3luIGtleXdvcmQgc2NoZW1lRnVuYyB0YW4gYXNpbiBhY29zIGF0YW4gc3FydCBleHB0IG1ha2UtcmVjdGFuZ3VsYXIgbWFrZS1wb2xhcgorc3luIGtleXdvcmQgc2NoZW1lRnVuYyByZWFsLXBhcnQgaW1hZy1wYXJ0IG1hZ25pdHVkZSBhbmdsZSBleGFjdC0+aW5leGFjdAorc3luIGtleXdvcmQgc2NoZW1lRnVuYyBpbmV4YWN0LT5leGFjdCBudW1iZXItPnN0cmluZyBzdHJpbmctPm51bWJlciBjaGFyPT8KK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgY2hhci1jaT0/IGNoYXI8PyBjaGFyLWNpPD8gY2hhcj4/IGNoYXItY2k+PyBjaGFyPD0/CitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIGNoYXItY2k8PT8gY2hhcj49PyBjaGFyLWNpPj0/IGNoYXItYWxwaGFiZXRpYz8gY2hhcj8KK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgY2hhci1udW1lcmljPyBjaGFyLXdoaXRlc3BhY2U/IGNoYXItdXBwZXItY2FzZT8KK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgY2hhci1sb3dlci1jYXNlPworc3luIGtleXdvcmQgc2NoZW1lRnVuYyBjaGFyLT5pbnRlZ2VyIGludGVnZXItPmNoYXIgY2hhci11cGNhc2UgY2hhci1kb3duY2FzZQorc3luIGtleXdvcmQgc2NoZW1lRnVuYyBzdHJpbmc/IG1ha2Utc3RyaW5nIHN0cmluZyBzdHJpbmctbGVuZ3RoIHN0cmluZy1yZWYKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgc3RyaW5nLXNldCEgc3RyaW5nPT8gc3RyaW5nLWNpPT8gc3RyaW5nPD8gc3RyaW5nLWNpPD8KK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgc3RyaW5nPj8gc3RyaW5nLWNpPj8gc3RyaW5nPD0/IHN0cmluZy1jaTw9PyBzdHJpbmc+PT8KK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgc3RyaW5nLWNpPj0/IHN1YnN0cmluZyBzdHJpbmctYXBwZW5kIHZlY3Rvcj8gbWFrZS12ZWN0b3IKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgdmVjdG9yIHZlY3Rvci1sZW5ndGggdmVjdG9yLXJlZiB2ZWN0b3Itc2V0ISBwcm9jZWR1cmU/CitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIGFwcGx5IG1hcCBmb3ItZWFjaCBjYWxsLXdpdGgtY3VycmVudC1jb250aW51YXRpb24KK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgY2FsbC13aXRoLWlucHV0LWZpbGUgY2FsbC13aXRoLW91dHB1dC1maWxlIGlucHV0LXBvcnQ/CitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIG91dHB1dC1wb3J0PyBjdXJyZW50LWlucHV0LXBvcnQgY3VycmVudC1vdXRwdXQtcG9ydAorc3luIGtleXdvcmQgc2NoZW1lRnVuYyBvcGVuLWlucHV0LWZpbGUgb3Blbi1vdXRwdXQtZmlsZSBjbG9zZS1pbnB1dC1wb3J0CitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIGNsb3NlLW91dHB1dC1wb3J0IGVvZi1vYmplY3Q/IHJlYWQgcmVhZC1jaGFyIHBlZWstY2hhcgorc3luIGtleXdvcmQgc2NoZW1lRnVuYyB3cml0ZSBkaXNwbGF5IG5ld2xpbmUgd3JpdGUtY2hhciBjYWxsL2NjCitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIGxpc3QtdGFpbCBzdHJpbmctPmxpc3QgbGlzdC0+c3RyaW5nIHN0cmluZy1jb3B5CitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIHN0cmluZy1maWxsISB2ZWN0b3ItPmxpc3QgbGlzdC0+dmVjdG9yIHZlY3Rvci1maWxsIQorc3luIGtleXdvcmQgc2NoZW1lRnVuYyBmb3JjZSB3aXRoLWlucHV0LWZyb20tZmlsZSB3aXRoLW91dHB1dC10by1maWxlCitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIGNoYXItcmVhZHk/IGxvYWQgdHJhbnNjcmlwdC1vbiB0cmFuc2NyaXB0LW9mZiBldmFsCitzeW4ga2V5d29yZCBzY2hlbWVGdW5jIGR5bmFtaWMtd2luZCBwb3J0PyB2YWx1ZXMgY2FsbC13aXRoLXZhbHVlcworc3luIGtleXdvcmQgc2NoZW1lRnVuYyBzY2hlbWUtcmVwb3J0LWVudmlyb25tZW50IG51bGwtZW52aXJvbm1lbnQKK3N5biBrZXl3b3JkIHNjaGVtZUZ1bmMgaW50ZXJhY3Rpb24tZW52aXJvbm1lbnQKKworIiBXcml0aW5nIG91dCB0aGUgY29tcGxldGUgZGVzY3JpcHRpb24gb2YgU2NoZW1lIG51bWVyYWxzIHdpdGhvdXQKKyIgdXNpbmcgdmFyaWFibGVzIGlzIGEgZGF5J3Mgd29yayBmb3IgYSB0cmFpbmVkIHNlY3JldGFyeS4uLgorIiBUaGlzIGlzIGEgdXNlZnVsIGxheCBhcHByb3hpbWF0aW9uOgorCitzeW4gbWF0Y2gJc2NoZW1lTnVtYmVyCW9uZWxpbmUgICAgIlstIyswLTkuXVstIysvMC05YS1mQGkuYm94ZXNmZGxdKiIKK3N5biBtYXRjaAlzY2hlbWVFcnJvcglvbmVsaW5lICAgICFbLSMrMC05Ll1bLSMrLzAtOWEtZkBpLmJveGVzZmRsXSpbXi0jKy8wLTlhLWZAaS5ib3hlc2ZkbCBcdCgpIjtdW14gXHQoKSI7XSohCisKK3N5biBtYXRjaAlzY2hlbWVPdGhlcglvbmVsaW5lICAgICFbKy1dWyBcdCgpIjtdIW1lPWUtMQorc3luIG1hdGNoCXNjaGVtZU90aGVyCW9uZWxpbmUgICAgIVsrLV0kIQorIiAuLi4gc28gdGhhdCBhIHNpbmdsZSArIG9yIC0sIGluc2lkZSBhIHF1b3RlZCBjb250ZXh0LCB3b3VsZCBub3QgYmUKKyIgaW50ZXJwcmV0ZWQgYXMgYSBudW1iZXIgKG91dHNpZGUgc3VjaCBjb250ZXh0cywgaXQncyBhIHNjaGVtZUZ1bmMpCisKK3N5biBtYXRjaAlzY2hlbWVEZWxpbWl0ZXIJb25lbGluZSAgICAhXC5bIFx0KCkiO10hbWU9ZS0xCitzeW4gbWF0Y2gJc2NoZW1lRGVsaW1pdGVyCW9uZWxpbmUgICAgIVwuJCEKKyIgLi4uIGFuZCBhIHNpbmdsZSBkb3QgaXMgbm90IGEgbnVtYmVyIGJ1dCBhIGRlbGltaXRlcgorCisiIFNpbXBsZSBsaXRlcmFsczoKKworc3luIG1hdGNoCXNjaGVtZUJvb2xlYW4Jb25lbGluZSAgICAiI1t0Zl0iCitzeW4gbWF0Y2gJc2NoZW1lRXJyb3IJb25lbGluZSAgICAhI1t0Zl1bXiBcdCgpIjtdXCshCisKK3N5biBtYXRjaAlzY2hlbWVDaGFyCW9uZWxpbmUgICAgIiNcXCIKK3N5biBtYXRjaAlzY2hlbWVDaGFyCW9uZWxpbmUgICAgIiNcXC4iCitzeW4gbWF0Y2ggICAgICAgc2NoZW1lRXJyb3IJb25lbGluZSAgICAhI1xcLlteIFx0KCkiO11cKyEKK3N5biBtYXRjaAlzY2hlbWVDaGFyCW9uZWxpbmUgICAgIiNcXHNwYWNlIgorc3luIG1hdGNoCXNjaGVtZUVycm9yCW9uZWxpbmUgICAgISNcXHNwYWNlW14gXHQoKSI7XVwrIQorc3luIG1hdGNoCXNjaGVtZUNoYXIJb25lbGluZSAgICAiI1xcbmV3bGluZSIKK3N5biBtYXRjaAlzY2hlbWVFcnJvcglvbmVsaW5lICAgICEjXFxuZXdsaW5lW14gXHQoKSI7XVwrIQorCisiIFRoaXMga2VlcHMgYWxsIG90aGVyIHN0dWZmIHVuaGlnaGxpZ2h0ZWQsIGV4Y2VwdCAqc3R1ZmYqIGFuZCA8c3R1ZmY+OgorCitzeW4gbWF0Y2gJc2NoZW1lT3RoZXIJb25lbGluZSAgICAsW2EteiEkJSYqLzo8PT4/Xl9+XVstYS16ISQlJiovOjw9Pj9eX34wLTkrLkBdKiwKK3N5biBtYXRjaAlzY2hlbWVFcnJvcglvbmVsaW5lICAgICxbYS16ISQlJiovOjw9Pj9eX35dWy1hLXohJCUmKi86PD0+P15ffjAtOSsuQF0qW14tYS16ISQlJiovOjw9Pj9eX34wLTkrLkAgXHQoKSI7XVwrW14gXHQoKSI7XSosCisKK3N5biBtYXRjaAlzY2hlbWVPdGhlcglvbmVsaW5lICAgICJcLlwuXC4iCitzeW4gbWF0Y2gJc2NoZW1lRXJyb3IJb25lbGluZSAgICAhXC5cLlwuW14gXHQoKSI7XVwrIQorIiAuLi4gYSBzcGVjaWFsIGlkZW50aWZpZXIKKworc3luIG1hdGNoCXNjaGVtZUNvbnN0YW50CW9uZWxpbmUgICAgLFwqWy1hLXohJCUmKi86PD0+P15ffjAtOSsuQF0qXCpbIFx0KCkiO10sbWU9ZS0xCitzeW4gbWF0Y2gJc2NoZW1lQ29uc3RhbnQJb25lbGluZSAgICAsXCpbLWEteiEkJSYqLzo8PT4/Xl9+MC05Ky5AXSpcKiQsCitzeW4gbWF0Y2gJc2NoZW1lRXJyb3IJb25lbGluZSAgICAsXCpbLWEteiEkJSYqLzo8PT4/Xl9+MC05Ky5AXSpcKlteLWEteiEkJSYqLzo8PT4/Xl9+MC05Ky5AIFx0KCkiO11cK1teIFx0KCkiO10qLAorCitzeW4gbWF0Y2gJc2NoZW1lQ29uc3RhbnQJb25lbGluZSAgICAsPFstYS16ISQlJiovOjw9Pj9eX34wLTkrLkBdKj5bIFx0KCkiO10sbWU9ZS0xCitzeW4gbWF0Y2gJc2NoZW1lQ29uc3RhbnQJb25lbGluZSAgICAsPFstYS16ISQlJiovOjw9Pj9eX34wLTkrLkBdKj4kLAorc3luIG1hdGNoCXNjaGVtZUVycm9yCW9uZWxpbmUgICAgLDxbLWEteiEkJSYqLzo8PT4/Xl9+MC05Ky5AXSo+W14tYS16ISQlJiovOjw9Pj9eX34wLTkrLkAgXHQoKSI7XVwrW14gXHQoKSI7XSosCisKKyIgTm9uLXF1b3RlZCBsaXN0cywgYW5kIHN0cmluZ3M6CisKK3N5biByZWdpb24gc2NoZW1lU3RydWMgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iKSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIHNjaGVtZVN0cnVjIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIjKCIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSIpIiBjb250YWlucz1BTEwKKworc3luIHJlZ2lvbglzY2hlbWVTdHJpbmcJc3RhcnQ9KyIrICBza2lwPStcXFtcXCJdKyBlbmQ9KyIrCisKKyIgQ29tbWVudHM6CisKK3N5biBtYXRjaAlzY2hlbWVDb21tZW50CSI7LiokIgorCisiIFN5bmNocm9uaXphdGlvbiBhbmQgdGhlIHdyYXBwaW5nIHVwLi4uCisKK3N5biBzeW5jIG1hdGNoIG1hdGNoUGxhY2UgZ3JvdXBoZXJlIE5PTkUgIl5bXiBcdF0iCisiIC4uLiBpLmUuIHN5bmNocm9uaXplIG9uIGEgbGluZSB0aGF0IHN0YXJ0cyBhdCB0aGUgbGVmdCBtYXJnaW4KKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2NoZW1lX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NjaGVtZV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzY2hlbWVTeW50YXgJCVN0YXRlbWVudAorICBIaUxpbmsgc2NoZW1lRnVuYwkJRnVuY3Rpb24KKworICBIaUxpbmsgc2NoZW1lU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHNjaGVtZUNoYXIJCUNoYXJhY3RlcgorICBIaUxpbmsgc2NoZW1lTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHNjaGVtZUJvb2xlYW4JCUJvb2xlYW4KKworICBIaUxpbmsgc2NoZW1lRGVsaW1pdGVyCURlbGltaXRlcgorICBIaUxpbmsgc2NoZW1lQ29uc3RhbnQJQ29uc3RhbnQKKworICBIaUxpbmsgc2NoZW1lQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgc2NoZW1lRXJyb3IJCUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNjaGVtZSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NjaWxhYi52aW0gYi9ydW50aW1lL3N5bnRheC9zY2lsYWIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiZmMwMDMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zY2lsYWIudmltCkBAIC0wLDAgKzEsMTE1IEBACisiCisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZSAgIDoJU2NpbGFiCisiIE1haW50YWluZXIgOglCZW5vaXQgSGFtZWxpbgorIiBGaWxlIHR5cGUgIDoJKi5zY2kgKHNlZSA6aGVscCBmaWxldHlwZSkKKyIgSGlzdG9yeQorIgkyOGphbjIwMDIJYmVub2l0aAkJMC4xCQlDcmVhdGlvbi4gIEFkYXB0ZWQgZnJvbSBtYXRsYWIudmltLgorIgkwNGZlYjIwMDIJYmVub2l0aAkJMC41CQlGaXhlZCBidWdzIHdpdGggY29uc3RhbnQgaGlnaGxpZ2h0aW5nLgorIgorCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworCisiIFJlc2VydmVkIHdvcmRzLgorc3luIGtleXdvcmQgc2NpbGFiU3RhdGVtZW50CQkJYWJvcnQgY2xlYXIgY2xlYXJnbG9iYWwgZW5kIGV4aXQgZ2xvYmFsIG1vZGUgcHJlZGVmIHF1aXQgcmVzdW1lCitzeW4ga2V5d29yZCBzY2lsYWJTdGF0ZW1lbnQJCQlyZXR1cm4KK3N5biBrZXl3b3JkIHNjaWxhYkZ1bmN0aW9uCQkJZnVuY3Rpb24gZW5kZnVuY3Rpb24gZnVucHRyCitzeW4ga2V5d29yZCBzY2lsYWJQcmVkaWNhdGUJCQludWxsIGlzZXJyb3IgaXNnbG9iYWwKK3N5biBrZXl3b3JkIHNjaWxhYktleXdvcmQJCQl0eXBlbmFtZQorc3luIGtleXdvcmQgc2NpbGFiRGVidWcJCQkJZGVidWcgcGF1c2Ugd2hhdCB3aGVyZSB3aGVyZWFtaSB3aGVyZWlzIHdobyB3aG9zCitzeW4ga2V5d29yZCBzY2lsYWJSZXBlYXQJCQlmb3Igd2hpbGUgYnJlYWsKK3N5biBrZXl3b3JkIHNjaWxhYkNvbmRpdGlvbmFsCQlpZiB0aGVuIGVsc2UgZWxzZWlmCitzeW4ga2V5d29yZCBzY2lsYWJNdWx0aXBsZXgJCQlzZWxlY3QgY2FzZQorCisiIFJlc2VydmVkIGNvbnN0YW50cy4KK3N5biBtYXRjaCBzY2lsYWJDb25zdGFudAkJCSJcKCVcKVswLTlBLVphLXo/ISMkXVwrIgorc3luIG1hdGNoIHNjaWxhYkJvb2xlYW4JCQkJIlwoJVwpW0ZUZnRdXD4iCisKKyIgRGVsaW1pdGVycyBhbmQgb3BlcmF0b3JzLgorc3luIG1hdGNoIHNjaWxhYkRlbGltaXRlcgkJCSJbXVs7LCgpXSIKK3N5biBtYXRjaCBzY2lsYWJDb21wYXJpc29uCQkJIls9fl09Igorc3luIG1hdGNoIHNjaWxhYkNvbXBhcmlzb24JCQkiWzw+XT1cPSIKK3N5biBtYXRjaCBzY2lsYWJDb21wYXJpc29uCQkJIjw+Igorc3luIG1hdGNoIHNjaWxhYkxvZ2ljYWwJCQkJIlsmfH5dIgorc3luIG1hdGNoIHNjaWxhYkFzc2lnbm1lbnQJCQkiPSIKK3N5biBtYXRjaCBzY2lsYWJBcml0aG1ldGljCQkJIlsrLV0iCitzeW4gbWF0Y2ggc2NpbGFiQXJpdGhtZXRpYwkJCSJcLlw9WyovXFxdXC5cPSIKK3N5biBtYXRjaCBzY2lsYWJBcml0aG1ldGljCQkJIlwuXD1eIgorc3luIG1hdGNoIHNjaWxhYlJhbmdlCQkJCSI6Igorc3luIG1hdGNoIHNjaWxhYk1saXN0QWNjZXNzCQkJIlwuIgorCitzeW4gbWF0Y2ggc2NpbGFiTGluZUNvbnRpbnVhdGlvbgkiXC5cezIsfSIKKworc3luIG1hdGNoIHNjaWxhYlRyYW5zcG9zaXRpb24JCSJbXSlhLXpBLVowLTk/IV8jJC5dJyJsYz0xCisKKyIgQ29tbWVudHMgYW5kIHRvb2xzLgorc3luIGtleXdvcmQgc2NpbGFiVG9kbwkJCQlUT0RPIHRvZG8gRklYTUUgZml4bWUgVEJEIHRiZAljb250YWluZWQKK3N5biBtYXRjaCBzY2lsYWJDb21tZW50CQkJCSIvLy4qJCIJY29udGFpbnM9c2NpbGFiVG9kbworCisiIENvbnN0YW50cy4KK3N5biBtYXRjaCBzY2lsYWJOdW1iZXIJCQkJIlswLTldXCtcKFwuWzAtOV0qXClcPVwoW0RFZGVdWystXVw9WzAtOV1cK1wpXD0iCitzeW4gbWF0Y2ggc2NpbGFiTnVtYmVyCQkJCSJcLlswLTldXCtcKFtERWRlXVsrLV1cPVswLTldXCtcKVw9Igorc3luIHJlZ2lvbiBzY2lsYWJTdHJpbmcJCQkJc3RhcnQ9KycrIHNraXA9KycnKyBlbmQ9KycrCQlvbmVsaW5lCitzeW4gcmVnaW9uIHNjaWxhYlN0cmluZwkJCQlzdGFydD0rIisgZW5kPSsiKwkJCQlvbmVsaW5lCisKKyIgSWRlbnRpZmllcnMuCitzeW4gbWF0Y2ggc2NpbGFiSWRlbnRpZmllcgkJCSJcPFtBLVphLXo/IV8jJF1bQS1aYS16MC05PyFfIyRdKlw+Igorc3luIG1hdGNoIHNjaWxhYk92ZXJsb2FkCQkJIiVbQS1aYS16MC05PyFfIyRdXCtfW0EtWmEtejAtOT8hXyMkXVwrIgorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NjaWxhYl9zeW50YXhfaW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9zY2lsYWJfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluawlzY2lsYWJTdGF0ZW1lbnQJCQkJU3RhdGVtZW50CisJSGlMaW5rCXNjaWxhYkZ1bmN0aW9uCQkJCUtleXdvcmQKKwlIaUxpbmsJc2NpbGFiUHJlZGljYXRlCQkJCUtleXdvcmQKKwlIaUxpbmsJc2NpbGFiS2V5d29yZAkJCQlLZXl3b3JkCisJSGlMaW5rCXNjaWxhYkRlYnVnCQkJCQlEZWJ1ZworCUhpTGluawlzY2lsYWJSZXBlYXQJCQkJUmVwZWF0CisJSGlMaW5rCXNjaWxhYkNvbmRpdGlvbmFsCQkJQ29uZGl0aW9uYWwKKwlIaUxpbmsJc2NpbGFiTXVsdGlwbGV4CQkJCUNvbmRpdGlvbmFsCisKKwlIaUxpbmsJc2NpbGFiQ29uc3RhbnQJCQkJQ29uc3RhbnQKKwlIaUxpbmsJc2NpbGFiQm9vbGVhbgkJCQlCb29sZWFuCisKKwlIaUxpbmsJc2NpbGFiRGVsaW1pdGVyCQkJCURlbGltaXRlcgorCUhpTGluawlzY2lsYWJNbGlzdEFjY2VzcwkJCURlbGltaXRlcgorCUhpTGluawlzY2lsYWJDb21wYXJpc29uCQkJT3BlcmF0b3IKKwlIaUxpbmsJc2NpbGFiTG9naWNhbAkJCQlPcGVyYXRvcgorCUhpTGluawlzY2lsYWJBc3NpZ25tZW50CQkJT3BlcmF0b3IKKwlIaUxpbmsJc2NpbGFiQXJpdGhtZXRpYwkJCU9wZXJhdG9yCisJSGlMaW5rCXNjaWxhYlJhbmdlCQkJCQlPcGVyYXRvcgorCUhpTGluawlzY2lsYWJMaW5lQ29udGludWF0aW9uCQlVbmRlcmxpbmVkCisJSGlMaW5rCXNjaWxhYlRyYW5zcG9zaXRpb24JCQlPcGVyYXRvcgorCisJSGlMaW5rCXNjaWxhYlRvZG8JCQkJCVRvZG8KKwlIaUxpbmsJc2NpbGFiQ29tbWVudAkJCQlDb21tZW50CisKKwlIaUxpbmsJc2NpbGFiTnVtYmVyCQkJCU51bWJlcgorCUhpTGluawlzY2lsYWJTdHJpbmcJCQkJU3RyaW5nCisKKwlIaUxpbmsJc2NpbGFiSWRlbnRpZmllcgkJCUlkZW50aWZpZXIKKwlIaUxpbmsJc2NpbGFiT3ZlcmxvYWQJCQkJU3BlY2lhbAorCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNjaWxhYiIKKworIkVPRgl2aW06IHRzPTQgbm9ldCB0dz0xMDAgc3c9NCBzdHM9MApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2NyZWVuLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NjcmVlbi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVmNzRmMgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NjcmVlbi52aW0KQEAgLTAsMCArMSw5MyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSAgICBTY3JlZW4gVmlydHVhbCBUZXJtaW5hbCBFbXVsYXRvci9NYW5hZ2VyIENvbmZpZ3VyYXRpb24gRmlsZQorIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KKyIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9zY3JlZW4vCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKKyIgYXJjaC10YWc6CSAgICA2YTk3ZmI4Zi1mYzg4LTQ5N2YtOWM1NS1lOTQ2NzM0YmEwMzQKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgY29tbWVudHMKK3N5biByZWdpb24gIHNjcmVlbkNvbW1lbnQJbWF0Y2hncm91cD1zY3JlZW5Db21tZW50IHN0YXJ0PSIjIiBlbmQ9IiQiIGNvbnRhaW5zPXNjcmVlblRvZG8KKworIiB0b2RvCitzeW4ga2V5d29yZCBzY3JlZW5Ub2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIHN0cmluZyAoY2FuIGNvbnRhaW4gdmFyaWFibGVzKQorc3luIHJlZ2lvbiAgc2NyZWVuU3RyaW5nCW1hdGNoZ3JvdXA9c2NyZWVuU3RyaW5nIHN0YXJ0PSciJyBza2lwPSdcXCInIGVuZD0nIlx8JCcgY29udGFpbnM9c2NyZWVuVmFyaWFibGUsc2NyZWVuU3BlY2lhbAorCisiIGxpdGVyYWwgc3RyaW5nCitzeW4gcmVnaW9uICBzY3JlZW5MaXRlcmFsCW1hdGNoZ3JvdXA9c2NyZWVuTGl0ZXJhbCBzdGFydD0iJyIgc2tpcD0iXFwnIiBlbmQ9IidcfCQiCisKKyIgZW52aXJvbm1lbnQgdmFyaWFibGVzCitzeW4gbWF0Y2ggICBzY3JlZW5WYXJpYWJsZQljb250YWluZWQgIiRcKFxoXHcqXHx7XGhcdyp9XCkiCisKKyIgYm9vbGVhbnMKK3N5biBrZXl3b3JkIHNjcmVlbkJvb2xlYW4Jb24gb2ZmCisKKyIgbnVtYmVycworc3luIG1hdGNoICAgc2NyZWVuTnVtYmVycwkiXDxcZFwrXD4iCisKKyIgc3BlY2lhbHMKK3N5biBtYXRjaCAgIHNjcmVlblNwZWNpYWxzCWNvbnRhaW5lZCAiJVwoWyVhQWREaGxtTXN0dXdXeVk/OntdXHxbMC05XSpuXHwwP2NDXCkiCisKKyIgY29tbWFuZHMKK3N5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCWFjbGFkZCBhY2xjaGcgYWNsZGVsIGFjbGdycCBhY2x1bWFzayBhY3Rpdml0eSBhZGRhY2wgYWxscGFydGlhbCBhdCBhdHRyY29sb3IKK3N5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCWF1dG9kZXRhY2ggYmVsbF9tc2cgYmluZCBiaW5ka2V5IGJ1ZmZlcmZpbGUgY2FwdGlvbiBjaGFjbCBjaGRpciBjbGVhciBjb2xvbgorc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJY29tbWFuZCBjb21wYWN0aGlzdCBjb25zb2xlIGNvcHkgY29weV9yZWdjcmxmIGRlYnVnIGRldGFjaCBkaWdyYXBoIGRpbmZvIGNybGYKK3N5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCWRpc3BsYXlzIGR1bXB0ZXJtY2FwIGVjaG8gZXhlYyBmaXQgZm9jdXMgaGVpZ2h0IGhlbHAgaGlzdG9yeQorc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJaW5mbyBraWxsIGxhc3Rtc2cgbGljZW5zZSBsb2Nrc2NyZWVuIG1hcmtrZXlzIG1ldGEgbXNnbWlud2FpdCBtc2d3YWl0CitzeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwltdWx0aXVzZXIgbmV0aGFjayBuZXh0IG5vbmJsb2NrIG51bWJlciBvbmx5IG90aGVyIHBhcnRpYWxfc3RhdGUKK3N5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCXBhc3N3b3JkIHBhc3RlIHBhc3RlZm9udCBwb3dfYnJlYWsgcG93X2RldGFjaF9tc2cgcHJldiBwcmludGNtZCBwcm9jZXNzCitzeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwlxdWl0IHJlYWRidWYgcmVhZHJlZyByZWRpc3BsYXkgcmVnaXN0ZXIgcmVtb3ZlIHJlbW92ZWJ1ZiByZXNldCByZXNpemUgc2NyZWVuCitzeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwlzZWxlY3Qgc2Vzc2lvbm5hbWUgc2V0ZW52IHNoZWxsdGl0bGUgc2lsZW5jZXdhaXQgdmVyYm9zZQorc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJc2xlZXAgc29yZW5kaXRpb24gc3BsaXQgc3RhcnR1cF9tZXNzYWdlIHN0dWZmIHN1IHN1c3BlbmQgdGltZQorc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJdGl0bGUgdW1hc2sgdmVyc2lvbiB3YWxsIHdpZHRoIHdyaXRlYnVmIHhvZmYgeG9uIGRlZm1vZGUgaGFyZHN0YXR1cworc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJYWx0c2NyZWVuIGJyZWFrIGJyZWFrdHlwZSBjb3B5X3JlZyBkZWZicmVha3R5cGUgZGVmZW5jb2RpbmcgZGVmbG9nIGVuY29kaW5nCitzeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwlldmFsIGlnbm9yZWNhc2UgaW5zX3JlZyBtYXh3aW4gcGFydGlhbCBwb3dfZGV0YWNoIHNldHNpZCBzb3VyY2UgdW5zZXRlbnYKK3N5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCXdpbmRvd2xpc3Qgd2luZG93cworc3luIG1hdGNoICAgc2NyZWVuQ29tbWFuZHMJIlw8XChkZWZcKVw9XChhdXRvbnVrZVx8YmNlXHxjMVx8Y2hhcnNldFx8ZXNjYXBlXHxmbG93XHxrYW5qaVx8bG9naW5cfG1vbml0b3JcfGhzdGF0dXNcfG9idWZsaW1pdFwpXD4iCitzeW4gbWF0Y2ggICBzY3JlZW5Db21tYW5kcwkiXDxcKGRlZlwpXD1cKHNjcm9sbGJhY2tcfHNoZWxsXHxzaWxlbmNlXHxzbG93cGFzdGVcfHV0ZjhcfHdyYXBcfHdyaXRlbG9ja1x8em9tYmllXHxnclwpXD4iCitzeW4gbWF0Y2ggICBzY3JlZW5Db21tYW5kcwkiXDxoYXJkXChjb3B5XChfYXBwZW5kXHxkaXJcKVw9XHxzdGF0dXNcKVw+Igorc3luIG1hdGNoICAgc2NyZWVuQ29tbWFuZHMJIlw8bG9nXChmaWxlXHxpblx8dHN0YW1wXClcPVw+Igorc3luIG1hdGNoICAgc2NyZWVuQ29tbWFuZHMJIlw8bWFwXChkZWZhdWx0XHxub3RuZXh0XHx0aW1lb3V0XClcPiIKK3N5biBtYXRjaCAgIHNjcmVlbkNvbW1hbmRzCSJcPHRlcm1cKGNhcFx8aW5mb1x8Y2FwaW5mb1wpXD1cPiIKK3N5biBtYXRjaCAgIHNjcmVlbkNvbW1hbmRzCSJcPHZiZWxsXChfbXNnXHx3YWl0XClcPVw+IgorCitpZiBleGlzdHMoInNjcmVlbl9taW5saW5lcyIpCisgICAgbGV0IGI6c2NyZWVuX21pbmxpbmVzID0gc2NyZWVuX21pbmxpbmVzCitlbHNlCisgICAgbGV0IGI6c2NyZWVuX21pbmxpbmVzID0gMTAKK2VuZGlmCitleGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gYjpzY3JlZW5fbWlubGluZXMKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2NyZWVuX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NjcmVlbl9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzY3JlZW5Db21tZW50ICAgIENvbW1lbnQKKyAgSGlMaW5rIHNjcmVlblRvZG8JICBUb2RvCisgIEhpTGluayBzY3JlZW5TdHJpbmcJICBTdHJpbmcKKyAgSGlMaW5rIHNjcmVlbkxpdGVyYWwgICAgU3RyaW5nCisgIEhpTGluayBzY3JlZW5WYXJpYWJsZSAgIElkZW50aWZpZXIKKyAgSGlMaW5rIHNjcmVlbkJvb2xlYW4gICAgQm9vbGVhbgorICBIaUxpbmsgc2NyZWVuTnVtYmVycyAgICBOdW1iZXIKKyAgSGlMaW5rIHNjcmVlblNwZWNpYWxzICAgU3BlY2lhbAorICBIaUxpbmsgc2NyZWVuQ29tbWFuZHMgICBLZXl3b3JkCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzY3JlZW4iCisKKyIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NkbC52aW0gYi9ydW50aW1lL3N5bnRheC9zZGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMTY1ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zZGwudmltCkBAIC0wLDAgKzEsMTY3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU0RMCisiIE1haW50YWluZXI6CU1pY2hhZWwgUGllZmVsIDxwaWVmZWxAaW5mb3JtYXRpay5odS1iZXJsaW4uZGU+CisiIExhc3QgQ2hhbmdlOgkyIE1heSAyMDAxCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKK2lmICFleGlzdHMoInNkbF8yMDAwIikKKyAgICBzeW50YXggY2FzZSBpZ25vcmUKK2VuZGlmCisKKyIgQSBidW5jaCBvZiB1c2VmdWwgU0RMIGtleXdvcmRzCitzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJdGFzayBlbHNlIG5leHRzdGF0ZQorc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CWluIG91dCB3aXRoIGZyb20gaW50ZXJmYWNlCitzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJdG8gdmlhIGVudiBhbmQgdXNlCitzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJcHJvY2VzcyBwcm9jZWR1cmUgYmxvY2sgc3lzdGVtIHNlcnZpY2UgdHlwZQorc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CWVuZHByb2Nlc3MgZW5kcHJvY2VkdXJlIGVuZGJsb2NrIGVuZHN5c3RlbQorc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CXBhY2thZ2UgZW5kcGFja2FnZSBjb25uZWN0aW9uIGVuZGNvbm5lY3Rpb24KK3N5biBrZXl3b3JkIHNkbFN0YXRlbWVudAljaGFubmVsIGVuZGNoYW5uZWwgY29ubmVjdAorc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CXN5bm9ueW0gZGNsIHNpZ25hbCBnYXRlIHRpbWVyIHNpZ25hbGxpc3Qgc2lnbmFsc2V0CitzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJY3JlYXRlIG91dHB1dCBzZXQgcmVzZXQgY2FsbAorc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CW9wZXJhdG9ycyBsaXRlcmFscworc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CWFjdGl2ZSBhbHRlcm5hdGl2ZSBhbnkgYXMgYXRsZWFzdCBjb25zdGFudHMKK3N5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlkZWZhdWx0IGVuZGFsdGVybmF0aXZlIGVuZG1hY3JvIGVuZG9wZXJhdG9yCitzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJZW5kc2VsZWN0IGVuZHN1YnN0cnVjdHVyZSBleHRlcm5hbAorc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CWlmIHRoZW4gZmkgZm9yIGltcG9ydCBtYWNybyBtYWNyb2RlZmluaXRpb24KK3N5biBrZXl3b3JkIHNkbFN0YXRlbWVudAltYWNyb2lkIG1vZCBuYW1lY2xhc3Mgbm9kZWxheSBub3Qgb3BlcmF0b3Igb3IKK3N5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlwYXJlbnQgcHJvdmlkZWQgcmVmZXJlbmNlZCByZW0KK3N5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlzZWxlY3Qgc3BlbGxpbmcgc3Vic3RydWN0dXJlIHhvcgorc3luIGtleXdvcmQgc2RsTmV3U3RhdGUJCXN0YXRlIGVuZHN0YXRlCitzeW4ga2V5d29yZCBzZGxJbnB1dAkJaW5wdXQgc3RhcnQgc3RvcCByZXR1cm4gbm9uZSBzYXZlIHByaW9yaXR5CitzeW4ga2V5d29yZCBzZGxDb25kaXRpb25hbAlkZWNpc2lvbiBlbmRkZWNpc2lvbiBqb2luCitzeW4ga2V5d29yZCBzZGxWaXJ0dWFsCQl2aXJ0dWFsIHJlZGVmaW5lZCBmaW5hbGl6ZWQgYWRkaW5nIGluaGVyaXRzCitzeW4ga2V5d29yZCBzZGxFeHBvcnRlZAkJcmVtb3RlIGV4cG9ydGVkIGV4cG9ydAorCitpZiAhZXhpc3RzKCJzZGxfbm9fOTYiKQorICAgIHN5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlhbGwgYXhpb21zIGNvbnN0YW50IGVuZGdlbmVyYXRvciBlbmRyZWZpbmVtZW50IGVuZHNlcnZpY2UKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJZXJyb3IgZnBhciBnZW5lcmF0b3IgbGl0ZXJhbCBtYXAgbm9lcXVhbGl0eSBvcmRlcmluZworICAgIHN5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlyZWZpbmVtZW50IHJldHVybnMgcmV2ZWFsZWQgcmV2ZXJzZSBzZXJ2aWNlIHNpZ25hbHJvdXRlCisgICAgc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CXZpZXcgdmlld2VkCisgICAgc3luIGtleXdvcmQgc2RsRXhwb3J0ZWQJaW1wb3J0ZWQKK2VuZGlmCisKK2lmIGV4aXN0cygic2RsXzIwMDAiKQorICAgIHN5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlhYnN0cmFjdCBhZ2dyZWdhdGlvbiBhc3NvY2lhdGlvbiBicmVhayBjaG9pY2UgY29tcG9zaXRpb24KKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJY29udGludWUgZW5kbWV0aG9kIGhhbmRsZSBtZXRob2QKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJb3JkZXJlZCBwcml2YXRlIHByb3RlY3RlZCBwdWJsaWMKKyAgICBzeW4ga2V5d29yZCBzZGxFeGNlcHRpb24JZXhjZXB0aW9uaGFuZGxlciBlbmRleGNlcHRpb25oYW5kbGVyIG9uZXhjZXB0aW9uCisgICAgc3luIGtleXdvcmQgc2RsRXhjZXB0aW9uCWNhdGNoIG5ldyByYWlzZQorICAgICIgVGhlIHNhbWUgaW4gdXBwZXJjYXNlCisgICAgc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CVRBU0sgRUxTRSBORVhUU1RBVEUKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJSU4gT1VUIFdJVEggRlJPTSBJTlRFUkZBQ0UKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJVE8gVklBIEVOViBBTkQgVVNFCisgICAgc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CVBST0NFU1MgUFJPQ0VEVVJFIEJMT0NLIFNZU1RFTSBTRVJWSUNFIFRZUEUKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJRU5EUFJPQ0VTUyBFTkRQUk9DRURVUkUgRU5EQkxPQ0sgRU5EU1lTVEVNCisgICAgc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CVBBQ0tBR0UgRU5EUEFDS0FHRSBDT05ORUNUSU9OIEVORENPTk5FQ1RJT04KKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJQ0hBTk5FTCBFTkRDSEFOTkVMIENPTk5FQ1QKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJU1lOT05ZTSBEQ0wgU0lHTkFMIEdBVEUgVElNRVIgU0lHTkFMTElTVCBTSUdOQUxTRVQKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJQ1JFQVRFIE9VVFBVVCBTRVQgUkVTRVQgQ0FMTAorICAgIHN5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlPUEVSQVRPUlMgTElURVJBTFMKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJQUNUSVZFIEFMVEVSTkFUSVZFIEFOWSBBUyBBVExFQVNUIENPTlNUQU5UUworICAgIHN5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlERUZBVUxUIEVOREFMVEVSTkFUSVZFIEVORE1BQ1JPIEVORE9QRVJBVE9SCisgICAgc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CUVORFNFTEVDVCBFTkRTVUJTVFJVQ1RVUkUgRVhURVJOQUwKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJSUYgVEhFTiBGSSBGT1IgSU1QT1JUIE1BQ1JPIE1BQ1JPREVGSU5JVElPTgorICAgIHN5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlNQUNST0lEIE1PRCBOQU1FQ0xBU1MgTk9ERUxBWSBOT1QgT1BFUkFUT1IgT1IKKyAgICBzeW4ga2V5d29yZCBzZGxTdGF0ZW1lbnQJUEFSRU5UIFBST1ZJREVEIFJFRkVSRU5DRUQgUkVNCisgICAgc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CVNFTEVDVCBTUEVMTElORyBTVUJTVFJVQ1RVUkUgWE9SCisgICAgc3luIGtleXdvcmQgc2RsTmV3U3RhdGUJU1RBVEUgRU5EU1RBVEUKKyAgICBzeW4ga2V5d29yZCBzZGxJbnB1dAlJTlBVVCBTVEFSVCBTVE9QIFJFVFVSTiBOT05FIFNBVkUgUFJJT1JJVFkKKyAgICBzeW4ga2V5d29yZCBzZGxDb25kaXRpb25hbAlERUNJU0lPTiBFTkRERUNJU0lPTiBKT0lOCisgICAgc3luIGtleXdvcmQgc2RsVmlydHVhbAlWSVJUVUFMIFJFREVGSU5FRCBGSU5BTElaRUQgQURESU5HIElOSEVSSVRTCisgICAgc3luIGtleXdvcmQgc2RsRXhwb3J0ZWQJUkVNT1RFIEVYUE9SVEVEIEVYUE9SVAorCisgICAgc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CUFCU1RSQUNUIEFHR1JFR0FUSU9OIEFTU09DSUFUSU9OIEJSRUFLIENIT0lDRSBDT01QT1NJVElPTgorICAgIHN5biBrZXl3b3JkIHNkbFN0YXRlbWVudAlDT05USU5VRSBFTkRNRVRIT0QgRU5ET0JKRUNUIEVORFZBTFVFIEhBTkRMRSBNRVRIT0QgT0JKRUNUCisgICAgc3luIGtleXdvcmQgc2RsU3RhdGVtZW50CU9SREVSRUQgUFJJVkFURSBQUk9URUNURUQgUFVCTElDCisgICAgc3luIGtleXdvcmQgc2RsRXhjZXB0aW9uCUVYQ0VQVElPTkhBTkRMRVIgRU5ERVhDRVBUSU9OSEFORExFUiBPTkVYQ0VQVElPTgorICAgIHN5biBrZXl3b3JkIHNkbEV4Y2VwdGlvbglDQVRDSCBORVcgUkFJU0UKK2VuZGlmCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29udHN0YW50cworIiBIaWdobGlnaHQgc3BlY2lhbCBjaGFyYWN0ZXJzICh0aG9zZSB3aGljaCBoYXZlIGEgYmFja3NsYXNoKSBkaWZmZXJlbnRseQorc3luIG1hdGNoICAgc2RsU3BlY2lhbAkJY29udGFpbmVkICJcXFxkXGRcZFx8XFwuIgorc3luIHJlZ2lvbiAgc2RsU3RyaW5nCQlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgIGNvbnRhaW5zPWNTcGVjaWFsCitzeW4gcmVnaW9uICBzZGxTdHJpbmcJCXN0YXJ0PSsnKyAgc2tpcD0rJycrICBlbmQ9KycrCisKKyIgTm8sIHRoaXMgZG9lc24ndCBoYXBwZW4sIEkganVzdCB3YW50ZWQgdG8gc2NhcmUgeW91LiBTREwgcmVhbGx5IGFsbG93cyBhbGwKKyIgdGhlc2UgY2hhcmFjdGVycyBmb3IgaWRlbnRpZmllcnM7IGZvcnR1bmF0ZWx5LCBrZXl3b3JkcyBtYW5hZ2Ugd2l0aG91dCB0aGVtLgorIiBzZXQgaXNrZXl3b3JkPUAsNDgtNTcsXywxOTItMjE0LDIxNi0yNDYsMjQ4LTI1NSwtCisKK3N5biByZWdpb24gc2RsQ29tbWVudAkJc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIgorc3luIHJlZ2lvbiBzZGxDb21tZW50CQlzdGFydD0iY29tbWVudCIgIGVuZD0iOyIKK3N5biByZWdpb24gc2RsQ29tbWVudAkJc3RhcnQ9Ii0tIiBlbmQ9Ii0tXHwkIgorc3luIG1hdGNoICBzZGxDb21tZW50RXJyb3IJIlwqLyIKKworc3luIGtleXdvcmQgc2RsT3BlcmF0b3IJCXByZXNlbnQKK3N5biBrZXl3b3JkIHNkbFR5cGUJCWludGVnZXIgcmVhbCBuYXR1cmFsIGR1cmF0aW9uIHBpZCBib29sZWFuIHRpbWUKK3N5biBrZXl3b3JkIHNkbFR5cGUJCWNoYXJhY3RlciBjaGFyc3RyaW5nIGlhNXN0cmluZworc3luIGtleXdvcmQgc2RsVHlwZQkJc2VsZiBub3cgc2VuZGVyIG9mZnNwcmluZworc3luIGtleXdvcmQgc2RsU3RydWN0dXJlCWFzbnR5cGUgZW5kYXNudHlwZSBzeW50eXBlIGVuZHN5bnR5cGUgc3RydWN0CisKK2lmICFleGlzdHMoInNkbF9ub185NiIpCisgICAgc3luIGtleXdvcmQgc2RsU3RydWN0dXJlCW5ld3R5cGUgZW5kbmV3dHlwZQorZW5kaWYKKworaWYgZXhpc3RzKCJzZGxfMjAwMCIpCisgICAgc3luIGtleXdvcmQgc2RsU3RydWN0dXJlCW9iamVjdCBlbmRvYmplY3QgdmFsdWUgZW5kdmFsdWUKKyAgICAiIFRoZSBzYW1lIGluIHVwcGVyY2FzZQorICAgIHN5biBrZXl3b3JkIHNkbFN0cnVjdHVyZQlPQkpFQ1QgRU5ET0JKRUNUIFZBTFVFIEVORFZBTFVFCisgICAgc3luIGtleXdvcmQgc2RsT3BlcmF0b3IJUFJFU0VOVAorICAgIHN5biBrZXl3b3JkIHNkbFR5cGUJCUlOVEVHRVIgTkFUVVJBTCBEVVJBVElPTiBQSUQgQk9PTEVBTiBUSU1FCisgICAgc3luIGtleXdvcmQgc2RsVHlwZQkJQ0hBUlNUUklORyBJQTVTVFJJTkcKKyAgICBzeW4ga2V5d29yZCBzZGxUeXBlCQlTRUxGIE5PVyBTRU5ERVIgT0ZGU1BSSU5HCisgICAgc3luIGtleXdvcmQgc2RsU3RydWN0dXJlCUFTTlRZUEUgRU5EQVNOVFlQRSBTWU5UWVBFIEVORFNZTlRZUEUgU1RSVUNUCitlbmRpZgorCisiIEFTTi4xIGluIFNETAorc3luIGNhc2UgbWF0Y2gKK3N5biBrZXl3b3JkIHNkbFR5cGUJCVNFVCBPRiBCT09MRUFOIElOVEVHRVIgUkVBTCBCSVQgT0NURVQKK3N5biBrZXl3b3JkIHNkbFR5cGUJCVNFUVVFTkNFIENIT0lDRQorc3luIGtleXdvcmQgc2RsVHlwZQkJU1RSSU5HIE9CSkVDVCBJREVOVElGSUVSIE5VTEwKKworc3luIHN5bmMgY2NvbW1lbnQgc2RsQ29tbWVudAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zZGxfc3luX2luaXRzIikKKyAgICBpZiB2ZXJzaW9uIDwgNTA4CisJbGV0IGRpZF9zZGxfc3luX2luaXRzID0gMQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisJY29tbWFuZCAtbmFyZ3M9KyBIaSAgICAgaGkgPGFyZ3M+CisgICAgZWxzZQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWNvbW1hbmQgLW5hcmdzPSsgSGkgICAgIGhpIGRlZiA8YXJncz4KKyAgICBlbmRpZgorCisgICAgSGlMaW5rICBzZGxFeGNlcHRpb24JTGFiZWwKKyAgICBIaUxpbmsgIHNkbENvbmRpdGlvbmFsCXNkbFN0YXRlbWVudAorICAgIEhpTGluayAgc2RsVmlydHVhbAkJc2RsU3RhdGVtZW50CisgICAgSGlMaW5rICBzZGxFeHBvcnRlZAkJc2RsRmxhZworICAgIEhpTGluayAgc2RsQ29tbWVudEVycm9yCXNkbEVycm9yCisgICAgSGlMaW5rICBzZGxPcGVyYXRvcgkJT3BlcmF0b3IKKyAgICBIaUxpbmsgIHNkbFN0cnVjdHVyZQlzZGxUeXBlCisgICAgSGkJICAgIHNkbFN0YXRlbWVudAl0ZXJtPWJvbGQgY3Rlcm1mZz00IGd1aWZnPUJsdWUKKyAgICBIaQkgICAgc2RsRmxhZwkJdGVybT1ib2xkIGN0ZXJtZmc9NCBndWlmZz1CbHVlIGd1aT1pdGFsaWMKKyAgICBIaQkgICAgc2RsTmV3U3RhdGUJCXRlcm09aXRhbGljIGN0ZXJtZmc9MiBndWlmZz1NYWdlbnRhIGd1aT11bmRlcmxpbmUKKyAgICBIaQkgICAgc2RsSW5wdXQJCXRlcm09Ym9sZCBndWlmZz1SZWQKKyAgICBIaUxpbmsgIHNkbFR5cGUJCVR5cGUKKyAgICBIaUxpbmsgIHNkbFN0cmluZwkJU3RyaW5nCisgICAgSGlMaW5rICBzZGxDb21tZW50CQlDb21tZW50CisgICAgSGlMaW5rICBzZGxTcGVjaWFsCQlTcGVjaWFsCisgICAgSGlMaW5rICBzZGxFcnJvcgkJRXJyb3IKKworICAgIGRlbGNvbW1hbmQgSGlMaW5rCisgICAgZGVsY29tbWFuZCBIaQorZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2RsIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2VkLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NlZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhlMzk1YgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NlZC52aW0KQEAgLTAsMCArMSwxMjIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglzZWQKKyIgTWFpbnRhaW5lcjoJSGFha29uIFJpaXNlciA8aGFrb25ya0BmeXMudWlvLm5vPgorIiBVUkw6CQlodHRwOi8vZm9say51aW8ubm8vaGFrb25yay92aW0vc3ludGF4L3NlZC52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3luIGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKK3N5biBtYXRjaCBzZWRFcnJvcgkiXFMiCisKK3N5biBtYXRjaCBzZWRXaGl0ZXNwYWNlICJcc1wrIiBjb250YWluZWQKK3N5biBtYXRjaCBzZWRTZW1pY29sb24JIjsiCitzeW4gbWF0Y2ggc2VkQWRkcmVzcwkiW1s6ZGlnaXQ6XSRdIgorc3luIG1hdGNoIHNlZEFkZHJlc3MJIlxkXCtcflxkXCsiCitzeW4gcmVnaW9uIHNlZEFkZHJlc3MgICBtYXRjaGdyb3VwPVNwZWNpYWwgc3RhcnQ9Ilt7LDtdXHMqL1woXFwvXClcPSJsYz0xIHNraXA9IlteXFxdXChcXFxcXCkqXFwvIiBlbmQ9Ii9JXD0iIGNvbnRhaW5zPXNlZFRhYixzZWRSZWdleHBNZXRhCitzeW4gcmVnaW9uIHNlZEFkZHJlc3MgICBtYXRjaGdyb3VwPVNwZWNpYWwgc3RhcnQ9Il5ccyovXChcXC9cKVw9IiBza2lwPSJbXlxcXVwoXFxcXFwpKlxcLyIgZW5kPSIvSVw9IiBjb250YWlucz1zZWRUYWIsc2VkUmVnZXhwTWV0YQorc3luIG1hdGNoIHNlZENvbW1lbnQJIl5ccyojLiokIgorc3luIG1hdGNoIHNlZEZ1bmN0aW9uCSJbZERnR2hIbG5OcFBxeD1dXHMqXCgkXHw7XCkiIGNvbnRhaW5zPXNlZFNlbWljb2xvbixzZWRXaGl0ZXNwYWNlCitzeW4gbWF0Y2ggc2VkTGFiZWwJIjpbXjtdKiIKK3N5biBtYXRjaCBzZWRMaW5lQ29udAkiXlwoXFxcXFwpKlxcJCIgY29udGFpbmVkCitzeW4gbWF0Y2ggc2VkTGluZUNvbnQJIlteXFxdXChcXFxcXCkqXFwkIm1zPWUgY29udGFpbmVkCitzeW4gbWF0Y2ggc2VkU3BlY2lhbAkiW3t9LCFdIgoraWYgZXhpc3RzKCJoaWdobGlnaHRfc2VkdGFicyIpCisgICAgc3luIG1hdGNoIHNlZFRhYgkiXHQiIGNvbnRhaW5lZAorZW5kaWYKKworIiBBcHBlbmQvQ2hhbmdlL0luc2VydAorc3luIHJlZ2lvbiBzZWRBQ0kJbWF0Y2hncm91cD1zZWRGdW5jdGlvbiBzdGFydD0iW2FjaV1cXCQiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Il4uKiQiIGNvbnRhaW5zPXNlZExpbmVDb250LHNlZFRhYgorCitzeW4gcmVnaW9uIHNlZEJyYW5jaAltYXRjaGdyb3VwPXNlZEZ1bmN0aW9uIHN0YXJ0PSJbYnRdIiBtYXRjaGdyb3VwPXNlZFNlbWljb2xvbiBlbmQ9IjtcfCQiIGNvbnRhaW5zPXNlZFdoaXRlc3BhY2UKK3N5biByZWdpb24gc2VkUlcJbWF0Y2hncm91cD1zZWRGdW5jdGlvbiBzdGFydD0iW3J3XSIgbWF0Y2hncm91cD1zZWRTZW1pY29sb24gZW5kPSI7XHwkIiBjb250YWlucz1zZWRXaGl0ZXNwYWNlCisKKyIgU3Vic3RpdHV0aW9uL3RyYW5zZm9ybSB3aXRoIHZhcmlvdXMgZGVsaW1pdGVycworc3luIHJlZ2lvbiBzZWRGbGFnd3JpdGUJICAgIG1hdGNoZ3JvdXA9c2VkRmxhZyBzdGFydD0idyIgbWF0Y2hncm91cD1zZWRTZW1pY29sb24gZW5kPSI7XHwkIiBjb250YWlucz1zZWRXaGl0ZXNwYWNlIGNvbnRhaW5lZAorc3luIG1hdGNoIHNlZEZsYWcJICAgICJbWzpkaWdpdDpdZ3BJXSp3XD0iIGNvbnRhaW5zPXNlZEZsYWd3cml0ZSBjb250YWluZWQKK3N5biBtYXRjaCBzZWRSZWdleHBNZXRhCSAgICAiWy4qXiRdIiBjb250YWluZWQKK3N5biBtYXRjaCBzZWRSZWdleHBNZXRhCSAgICAiXFwuIiBjb250YWlucz1zZWRUYWIgY29udGFpbmVkCitzeW4gbWF0Y2ggc2VkUmVnZXhwTWV0YQkgICAgIlxbLlx7LX1cXSIgY29udGFpbnM9c2VkVGFiIGNvbnRhaW5lZAorc3luIG1hdGNoIHNlZFJlZ2V4cE1ldGEJICAgICJcXHtcZFwqLFxkKlxcfSIgY29udGFpbmVkCitzeW4gbWF0Y2ggc2VkUmVnZXhwTWV0YQkgICAgIlxcKC5cey19XFwpIiBjb250YWlucz1zZWRUYWIgY29udGFpbmVkCitzeW4gbWF0Y2ggc2VkUmVwbGFjZU1ldGEgICAgIiZcfFxcXCgkXHwuXCkiIGNvbnRhaW5zPXNlZFRhYiBjb250YWluZWQKKworIiBNZXRhY2hhcmFjdGVyczogJCAqIC4gXCBeIFsgfgorIiBAIGlzIHVzZWQgYXMgZGVsaW1pdGVyIGFuZCB0cmVhdGVkIG9uIGl0cyBvd24gYmVsb3cKK2xldCBfX2F0ID0gY2hhcjJucigiQCIpCitsZXQgX19zZWRfaSA9IGNoYXIybnIoIiAiKQoraWYgaGFzKCJlYmNkaWMiKQorICAgIGxldCBfX3NlZF9sYXN0ID0gMjU1CitlbHNlCisgICAgbGV0IF9fc2VkX2xhc3QgPSAxMjYKK2VuZGlmCitsZXQgX19zZWRfbWV0YWNoYXJhY3RlcnMgPSAnJCouXF5bficKK3doaWxlIF9fc2VkX2kgPD0gX19zZWRfbGFzdAorICAgIGxldCBfX3NlZF9kZWxpbWl0ZXIgPSBlc2NhcGUobnIyY2hhcihfX3NlZF9pKSwgX19zZWRfbWV0YWNoYXJhY3RlcnMpCisJaWYgX19zZWRfaSAhPSBfX2F0CisJICAgIGV4ZSAnc3luIHJlZ2lvbiBzZWRBZGRyZXNzIG1hdGNoZ3JvdXA9U3BlY2lhbCBzdGFydD1AXFwnLl9fc2VkX2RlbGltaXRlci4nXChcXCcuX19zZWRfZGVsaW1pdGVyLidcKVw9QCBza2lwPUBbXlxcXVwoXFxcXFwpKlxcJy5fX3NlZF9kZWxpbWl0ZXIuJ0AgZW5kPUAnLl9fc2VkX2RlbGltaXRlci4nSVw9QCBjb250YWlucz1zZWRUYWInCisJICAgIGV4ZSAnc3luIHJlZ2lvbiBzZWRSZWdleHAnLl9fc2VkX2kgICdtYXRjaGdyb3VwPVNwZWNpYWwgc3RhcnQ9QCcuX19zZWRfZGVsaW1pdGVyLidcKFxcXFxcfFxcJy5fX3NlZF9kZWxpbWl0ZXIuJ1wpKkAgc2tpcD1AW15cXCcuX19zZWRfZGVsaW1pdGVyLiddXChcXFxcXCkqXFwnLl9fc2VkX2RlbGltaXRlci4nQCBlbmQ9QCcuX19zZWRfZGVsaW1pdGVyLidAbWU9ZS0xIGNvbnRhaW5zPXNlZFRhYixzZWRSZWdleHBNZXRhIGtlZXBlbmQgY29udGFpbmVkIG5leHRncm91cD1zZWRSZXBsYWNlbWVudCcuX19zZWRfaQorCSAgICBleGUgJ3N5biByZWdpb24gc2VkUmVwbGFjZW1lbnQnLl9fc2VkX2kgJ21hdGNoZ3JvdXA9U3BlY2lhbCBzdGFydD1AJy5fX3NlZF9kZWxpbWl0ZXIuJ1woXFxcXFx8XFwnLl9fc2VkX2RlbGltaXRlci4nXCkqQCBza2lwPUBbXlxcJy5fX3NlZF9kZWxpbWl0ZXIuJ11cKFxcXFxcKSpcXCcuX19zZWRfZGVsaW1pdGVyLidAIGVuZD1AJy5fX3NlZF9kZWxpbWl0ZXIuJ0AgY29udGFpbnM9c2VkVGFiLHNlZFJlcGxhY2VNZXRhIGtlZXBlbmQgY29udGFpbmVkIG5leHRncm91cD1zZWRGbGFnJworCWVuZGlmCisgICAgbGV0IF9fc2VkX2kgPSBfX3NlZF9pICsgMQorZW5kd2hpbGUKK3N5biByZWdpb24gc2VkQWRkcmVzcyBtYXRjaGdyb3VwPVNwZWNpYWwgc3RhcnQ9K1xcQFwoXFxAXClcPSsgc2tpcD0rW15cXF1cKFxcXFxcKSpcXEArIGVuZD0rQElcPSsgY29udGFpbnM9c2VkVGFiLHNlZFJlZ2V4cE1ldGEKK3N5biByZWdpb24gc2VkUmVnZXhwNjQgbWF0Y2hncm91cD1TcGVjaWFsIHN0YXJ0PStAXChcXFxcXHxcXEBcKSorIHNraXA9K1teXFxAXVwoXFxcXFwpKlxcQCsgZW5kPStAK21lPWUtMSBjb250YWlucz1zZWRUYWIsc2VkUmVnZXhwTWV0YSBrZWVwZW5kIGNvbnRhaW5lZCBuZXh0Z3JvdXA9c2VkUmVwbGFjZW1lbnQ2NAorc3luIHJlZ2lvbiBzZWRSZXBsYWNlbWVudDY0IG1hdGNoZ3JvdXA9U3BlY2lhbCBzdGFydD0rQFwoXFxcXFx8XFxAXCkqKyBza2lwPStbXlxcQF1cKFxcXFxcKSpcXEArIGVuZD0rQCsgY29udGFpbnM9c2VkVGFiLHNlZFJlcGxhY2VNZXRhIGtlZXBlbmQgY29udGFpbmVkIG5leHRncm91cD1zZWRGbGFnCisKKyIgU2luY2UgdGhlIHN5bnRheCBmb3IgdGhlIHN1YnN0aXR1aW9uIGNvbW1hbmQgaXMgdmVyeSBzaW1pbGFyIHRvIHRoZQorIiBzeW50YXggZm9yIHRoZSB0cmFuc2Zvcm0gY29tbWFuZCwgSSB1c2UgdGhlIHNhbWUgcGF0dGVybiBtYXRjaGluZworIiBmb3IgYm90aCBjb21tYW5kcy4gIFRoZXJlIGlzIG9uZSBwcm9ibGVtIC0tIHRoZSB0cmFuc2Zvcm0gY29tbWFuZAorIiAoeSkgZG9lcyBub3QgYWxsb3cgYW55IGZsYWdzLiAgVG8gc2F2ZSBtZW1vcnksIEkgaWdub3JlIHRoaXMgcHJvYmxlbS4KK3N5biBtYXRjaCBzZWRTVAkiW3N5XSIgbmV4dGdyb3VwPXNlZFJlZ2V4cFxkXCsKKworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NlZF9zeW50YXhfaW5pdHMiKQorICAgIGlmIHZlcnNpb24gPCA1MDgKKwlsZXQgZGlkX3NlZF9zeW50YXhfaW5pdHMgPSAxCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgICBlbHNlCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICAgZW5kaWYKKworICAgIEhpTGluayBzZWRBZGRyZXNzCQlNYWNybworICAgIEhpTGluayBzZWRBQ0kJCU5PTkUKKyAgICBIaUxpbmsgc2VkQnJhbmNoCQlMYWJlbAorICAgIEhpTGluayBzZWRDb21tZW50CQlDb21tZW50CisgICAgSGlMaW5rIHNlZERlbGV0ZQkJRnVuY3Rpb24KKyAgICBIaUxpbmsgc2VkRXJyb3IJCUVycm9yCisgICAgSGlMaW5rIHNlZEZsYWcJCVR5cGUKKyAgICBIaUxpbmsgc2VkRmxhZ3dyaXRlCQlDb25zdGFudAorICAgIEhpTGluayBzZWRGdW5jdGlvbgkJRnVuY3Rpb24KKyAgICBIaUxpbmsgc2VkTGFiZWwJCUxhYmVsCisgICAgSGlMaW5rIHNlZExpbmVDb250CQlTcGVjaWFsCisgICAgSGlMaW5rIHNlZFB1dEhvbGRzcGMJRnVuY3Rpb24KKyAgICBIaUxpbmsgc2VkUmVwbGFjZU1ldGEJU3BlY2lhbAorICAgIEhpTGluayBzZWRSZWdleHBNZXRhCVNwZWNpYWwKKyAgICBIaUxpbmsgc2VkUlcJCUNvbnN0YW50CisgICAgSGlMaW5rIHNlZFNlbWljb2xvbgkJU3BlY2lhbAorICAgIEhpTGluayBzZWRTVAkJRnVuY3Rpb24KKyAgICBIaUxpbmsgc2VkU3BlY2lhbAkJU3BlY2lhbAorICAgIEhpTGluayBzZWRXaGl0ZXNwYWNlCU5PTkUKKyAgICBpZiBleGlzdHMoImhpZ2hsaWdodF9zZWR0YWJzIikKKwlIaUxpbmsgc2VkVGFiCQlUb2RvCisgICAgZW5kaWYKKyAgICBsZXQgX19zZWRfaSA9IDMyCisgICAgd2hpbGUgX19zZWRfaSA8PSAxMjYKKwlleGUgIkhpTGluayBzZWRSZWdleHAiLl9fc2VkX2kJCSJNYWNybyIKKwlleGUgIkhpTGluayBzZWRSZXBsYWNlbWVudCIuX19zZWRfaQkiTk9ORSIKKwlsZXQgX19zZWRfaSA9IF9fc2VkX2kgKyAxCisgICAgZW5kd2hpbGUKKworICAgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCit1bmxldCBfX3NlZF9pIF9fc2VkX2RlbGltaXRlciBfX3NlZF9tZXRhY2hhcmFjdGVycworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzZWQiCisKKyIgdmltOiBzdHM9NCBzdz00IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NlbmRwci52aW0gYi9ydW50aW1lL3N5bnRheC9zZW5kcHIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YTI2ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zZW5kcHIudmltCkBAIC0wLDAgKzEsMzIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiBGcmVlQlNEIHNlbmQtcHIgZmlsZQorIiBNYWludGFpbmVyOiBIZW5kcmlrIFNjaG9seiA8aGVuZHJpa0BzY2hvbHoubmV0PgorIiBMYXN0IENoYW5nZTogMjAwMiBNYXIgMjEKKyIKKyIgaHR0cDovL3JhaXNkb3JmLm5ldC9maWxlcy9taXNjL3NlbmQtcHIudmltCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIG1hdGNoIHNlbmRwckNvbW1lbnQgL15TRU5ELVBSOi8KKyIgZW1haWwgYWRkcmVzcworc3luIG1hdGNoIHNlbmRwclR5cGUgLzxbYS16QS1aMC05XC1cX1wuXSpAW2EtekEtWjAtOVwtXF9cLl0qPi8KKyIgXj4gbGluZXMKK3N5biBtYXRjaCBzZW5kcHJTdHJpbmcgL14+W2EtekEtWlwtXSo6Lworc3luIHJlZ2lvbiBzZW5kcHJMYWJlbCBzdGFydD0iXFsiIGVuZD0iXF0iCitzeW4gbWF0Y2ggc2VuZHByU3RyaW5nIC9eVG86Lworc3luIG1hdGNoIHNlbmRwclN0cmluZyAvXkZyb206Lworc3luIG1hdGNoIHNlbmRwclN0cmluZyAvXlJlcGx5LVRvOi8KK3N5biBtYXRjaCBzZW5kcHJTdHJpbmcgL15DYzovCitzeW4gbWF0Y2ggc2VuZHByU3RyaW5nIC9eWC1zZW5kLXByLXZlcnNpb246Lworc3luIG1hdGNoIHNlbmRwclN0cmluZyAvXlgtR05BVFMtTm90aWZ5Oi8KKworaGkgZGVmIGxpbmsgc2VuZHByQ29tbWVudCAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIHNlbmRwclR5cGUgICAgICBUeXBlCitoaSBkZWYgbGluayBzZW5kcHJTdHJpbmcgICAgU3RyaW5nCitoaSBkZWYgbGluayBzZW5kcHJMYWJlbCAgICAgTGFiZWwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NnbWwudmltIGIvcnVudGltZS9zeW50YXgvc2dtbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNjNDZjMwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NnbWwudmltCkBAIC0wLDAgKzEsMzM3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU0dNTAorIiBNYWludGFpbmVyOglKb2hhbm5lcyBaZWxsbmVyIDxqb2hhbm5lc0B6ZWxsbmVyLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CVR1ZSwgMjcgQXByIDIwMDQgMTU6MDU6MjEgQ0VTVAorIiBGaWxlbmFtZXM6CSouc2dtbCwqLnNnbQorIiAkSWQkCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworbGV0IHM6c2dtbF9jcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK3N5biBjYXNlIG1hdGNoCisKKyIgbWFyayBpbGxlZ2FsIGNoYXJhY3RlcnMKK3N5biBtYXRjaCBzZ21sRXJyb3IgIls8Jl0iCisKKworIiB1bmljb2RlIG51bWJlcnM6CisiIHByb3ZpZGUgZGlmZmVyZW50IGhpZ2hsaXRoaW5nIGZvciB1bmljb2RlIGNoYXJhY3RlcnMKKyIgaW5zaWRlIHN0cmluZ3MgYW5kIGluIHBsYWluIHRleHQgKGNoYXJhY3RlciBkYXRhKS4KKyIKKyIgRVhBTVBMRToKKyIKKyIgXHU0ZTg4CisiCitzeW4gbWF0Y2ggICBzZ21sVW5pY29kZU51bWJlckF0dHIgICAgK1xcdVx4XHs0fSsgY29udGFpbmVkIGNvbnRhaW5zPXNnbWxVbmljb2RlU3BlY2lmaWVyQXR0cgorc3luIG1hdGNoICAgc2dtbFVuaWNvZGVTcGVjaWZpZXJBdHRyICtcXHUrIGNvbnRhaW5lZAorc3luIG1hdGNoICAgc2dtbFVuaWNvZGVOdW1iZXJEYXRhICAgICtcXHVceFx7NH0rIGNvbnRhaW5lZCBjb250YWlucz1zZ21sVW5pY29kZVNwZWNpZmllckRhdGEKK3N5biBtYXRjaCAgIHNnbWxVbmljb2RlU3BlY2lmaWVyRGF0YSArXFx1KyBjb250YWluZWQKKworCisiIHN0cmluZ3MgaW5zaWRlIGNoYXJhY3RlciBkYXRhIG9yIGNvbW1lbnRzCisiCitzeW4gcmVnaW9uICBzZ21sU3RyaW5nIGNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXNnbWxFbnRpdHksc2dtbFVuaWNvZGVOdW1iZXJBdHRyIGRpc3BsYXkKK3N5biByZWdpb24gIHNnbWxTdHJpbmcgY29udGFpbmVkIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysgY29udGFpbnM9c2dtbEVudGl0eSxzZ21sVW5pY29kZU51bWJlckF0dHIgZGlzcGxheQorCisiIHB1bmN0dWF0aW9uICh3aXRoaW4gYXR0cmlidXRlcykgZS5nLiA8dGFnIHNnbWw6Zm9vLmF0dHJpYnV0ZSAuLi4+CisiCQkJCQkJXiAgIF4KK3N5biBtYXRjaCAgIHNnbWxBdHRyaWJQdW5jdCArWzouXSsgY29udGFpbmVkIGRpc3BsYXkKKworCisiIG5vIGhpZ2hsaWdodGluZyBmb3Igc2dtbEVxdWFsIChzZ21sRXF1YWwgaGFzIG5vIGhpZ2hsaWdodGluZyBncm91cCkKK3N5biBtYXRjaCAgIHNnbWxFcXVhbCArPSsKKworCisiIGF0dHJpYnV0ZSwgZXZlcnl0aGluZyBiZWZvcmUgdGhlICc9JworIgorIiBQUk9WSURFUzogQHNnbWxBdHRyaWJIb29rCisiCisiIEVYQU1QTEU6CisiCisiIDx0YWcgZm9vLmF0dHJpYnV0ZSA9ICJ2YWx1ZSI+CisiICAgICAgXl5eXl5eXl5eXl5eXgorIgorc3luIG1hdGNoICAgc2dtbEF0dHJpYgorICAgIFwgK1teLSciPF1cQDw9XDxbYS16QS1aMC05LjpdXCtcPlwoW14nIj5dXEA9XHwkXCkrCisgICAgXCBjb250YWluZWQKKyAgICBcIGNvbnRhaW5zPXNnbWxBdHRyaWJQdW5jdCxAc2dtbEF0dHJpYkhvb2sKKyAgICBcIGRpc3BsYXkKKworCisiIFVOUVVPVEVEIHZhbHVlIChub3QgaW5jbHVkaW5nIHRoZSAnPScgLS0gc2dtbEVxdWFsKQorIgorIiBQUk9WSURFUzogQHNnbWxWYWx1ZUhvb2sKKyIKKyIgRVhBTVBMRToKKyIKKyIgPHRhZyBmb28uYXR0cmlidXRlID0gdmFsdWU+CisiCQkgICAgICAgXl5eXl4KKyIKK3N5biBtYXRjaCAgIHNnbWxWYWx1ZQorICAgIFwgK1teIicgPS8hPzw+XVteID0vIT88Pl0qKworICAgIFwgY29udGFpbmVkCisgICAgXCBjb250YWlucz1zZ21sRW50aXR5LHNnbWxVbmljb2RlTnVtYmVyQXR0cixAc2dtbFZhbHVlSG9vaworICAgIFwgZGlzcGxheQorCisKKyIgUVVPVEVEIHZhbHVlIChub3QgaW5jbHVkaW5nIHRoZSAnPScgLS0gc2dtbEVxdWFsKQorIgorIiBQUk9WSURFUzogQHNnbWxWYWx1ZUhvb2sKKyIKKyIgRVhBTVBMRToKKyIKKyIgPHRhZyBmb28uYXR0cmlidXRlID0gInZhbHVlIj4KKyIJCSAgICAgICBeXl5eXl5eCisiIDx0YWcgZm9vLmF0dHJpYnV0ZSA9ICd2YWx1ZSc+CisiCQkgICAgICAgXl5eXl5eXgorIgorc3luIHJlZ2lvbiAgc2dtbFZhbHVlIGNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCisJICAgIFwgY29udGFpbnM9c2dtbEVudGl0eSxzZ21sVW5pY29kZU51bWJlckF0dHIsQHNnbWxWYWx1ZUhvb2sKK3N5biByZWdpb24gIHNnbWxWYWx1ZSBjb250YWluZWQgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKworCSAgICBcIGNvbnRhaW5zPXNnbWxFbnRpdHksc2dtbFVuaWNvZGVOdW1iZXJBdHRyLEBzZ21sVmFsdWVIb29rCisKKworIiB2YWx1ZSwgZXZlcnl0aGluZyBhZnRlciAoYW5kIGluY2x1ZGluZykgdGhlICc9JworIiBubyBoaWdobGlnaHRpbmchCisiCisiIEVYQU1QTEU6CisiCisiIDx0YWcgZm9vLmF0dHJpYnV0ZSA9ICJ2YWx1ZSI+CisiCQkgICAgIF5eXl5eXl5eXgorIiA8dGFnIGZvby5hdHRyaWJ1dGUgPSB2YWx1ZT4KKyIJCSAgICAgXl5eXl5eXgorIgorc3luIG1hdGNoICAgc2dtbEVxdWFsVmFsdWUKKyAgICBcICs9XHMqW14gPS8hPzw+XVwrKworICAgIFwgY29udGFpbmVkCisgICAgXCBjb250YWlucz1zZ21sRXF1YWwsc2dtbFN0cmluZyxzZ21sVmFsdWUKKyAgICBcIGRpc3BsYXkKKworCisiIHN0YXJ0IHRhZworIiB1c2UgbWF0Y2hncm91cD1zZ21sVGFnIHRvIHNraXAgb3ZlciB0aGUgbGVhZGluZyAnPCcKKyIgc2VlIGFsc28gc2dtbEVtcHR5VGFnIGJlbG93LgorIgorIiBQUk9WSURFUzogQHNnbWxUYWdIb29rCisiCitzeW4gcmVnaW9uICAgc2dtbFRhZworICAgIFwgbWF0Y2hncm91cD1zZ21sVGFnIHN0YXJ0PSs8W14gLyE/IiddXEA9KworICAgIFwgbWF0Y2hncm91cD1zZ21sVGFnIGVuZD0rPisKKyAgICBcIGNvbnRhaW5lZAorICAgIFwgY29udGFpbnM9c2dtbEVycm9yLHNnbWxBdHRyaWIsc2dtbEVxdWFsVmFsdWUsQHNnbWxUYWdIb29rCisKKworIiB0YWcgY29udGVudCBmb3IgZW1wdHkgdGFncy4gVGhpcyBpcyB0aGUgc2FtZSBhcyBzZ21sVGFnCisiIGFib3ZlLCBleGNlcHQgdGhlIGBtYXRjaGdyb3VwPXNnbWxFbmRUYWcgZm9yIGhpZ2hsaWdodGluZworIiB0aGUgZW5kICcvPicgZGlmZmVyZW50bHkuCisiCisiIFBST1ZJREVTOiBAc2dtbFRhZ0hvb2sKKyIKK3N5biByZWdpb24gICBzZ21sRW1wdHlUYWcKKyAgICBcIG1hdGNoZ3JvdXA9c2dtbFRhZyBzdGFydD0rPFteIC8hPyInXVxAPSsKKyAgICBcIG1hdGNoZ3JvdXA9c2dtbEVuZFRhZyBlbmQ9Ky8+KworICAgIFwgY29udGFpbmVkCisgICAgXCBjb250YWlucz1zZ21sRXJyb3Isc2dtbEF0dHJpYixzZ21sRXF1YWxWYWx1ZSxAc2dtbFRhZ0hvb2sKKworCisiIGVuZCB0YWcKKyIgaGlnaGxpZ2h0IGV2ZXJ5dGhpbmcgYnV0IG5vdCB0aGUgdHJhaWxpbmcgJz4nIHdoaWNoCisiIHdhcyBhbHJlYWR5IGhpZ2hsaWdodGVkIGJ5IHRoZSBjb250YWluaW5nIHNnbWxSZWdpb24uCisiCisiIFBST1ZJREVTOiBAc2dtbFRhZ0hvb2sKKyIgKHNob3VsZCB3ZSBwcm92aWRlIGEgc2VwYXJhdGUgQHNnbWxFbmRUYWdIb29rID8pCisiCitzeW4gbWF0Y2ggICBzZ21sRW5kVGFnCisgICAgXCArPC9bXiAvIT8+IiddXCs+KworICAgIFwgY29udGFpbmVkCisgICAgXCBjb250YWlucz1Ac2dtbFRhZ0hvb2sKKworCisiIFstLSBTR01MIFNQRUNJRklDIC0tXQorCisiIFNHTUwgc3BlY2lmaWMKKyIgdGFnIGNvbnRlbnQgZm9yIGFiYnJldmlhdGVkIHJlZ2lvbnMKKyIKKyIgUFJPVklERVM6IEBzZ21sVGFnSG9vaworIgorc3luIHJlZ2lvbiAgIHNnbWxBYmJyVGFnCisgICAgXCBtYXRjaGdyb3VwPXNnbWxUYWcgc3RhcnQ9KzxbXiAvIT8iJ11cQD0rCisgICAgXCBtYXRjaGdyb3VwPXNnbWxUYWcgZW5kPSsvKworICAgIFwgY29udGFpbmVkCisgICAgXCBjb250YWlucz1zZ21sRXJyb3Isc2dtbEF0dHJpYixzZ21sRXF1YWxWYWx1ZSxAc2dtbFRhZ0hvb2sKKworCisiIFNHTUwgc3BlY2lmaWMKKyIganVzdCBoaWdobGlnaHQgdGhlIHRyYWlsaW5nICcvJworc3luIG1hdGNoICAgc2dtbEFiYnJFbmRUYWcgKy8rCisKKworIiBTR01MIHNwZWNpZmljCisiIGFiYnJldmlhdGVkIHJlZ2lvbnMKKyIKKyIgTm8gaGlnaGxpZ2hpbmcsIGhpZ2hsaWdoaW5nIGlzIGRvbmUgYnkgY29udGFpbmVkIGVsZW1lbnRzLgorIgorIiBQUk9WSURFUzogQHNnbWxSZWdpb25Ib29rCisiCisiIEVYQU1QTEU6CisiCisiIDxib2xkL0ltIEFuZmFuZyB3YXIgZGFzIFdvcnQvCisiCitzeW4gbWF0Y2ggICBzZ21sQWJiclJlZ2lvbgorICAgIFwgKzxbXi8hPz4iJ11cKy9cX1teL11cKy8rCisgICAgXCBjb250YWlucz1zZ21sQWJiclRhZyxzZ21sQWJickVuZFRhZyxzZ21sQ2RhdGEsc2dtbENvbW1lbnQsc2dtbEVudGl0eSxzZ21sVW5pY29kZU51bWJlckRhdGEsQHNnbWxSZWdpb25Ib29rCisKKyIgWy0tIEVORCBPRiBTR01MIFNQRUNJRklDIC0tXQorCisKKyIgcmVhbCAobm9uLWVtcHR5KSBlbGVtZW50cy4gV2UgY2Fubm90IGRvIHN5bnRheCBmb2xkaW5nCisiIGFzIGluIHhtbCwgYmVjYXVzZSBlbmQgdGFncyBtYXkgYmUgb3B0aW9uYWwgaW4gc2dtbCBkZXBlbmRpbmcKKyIgb24gdGhlIGR0ZC4KKyIgTm8gaGlnaGxpZ2hpbmcsIGhpZ2hsaWdoaW5nIGlzIGRvbmUgYnkgY29udGFpbmVkIGVsZW1lbnRzLgorIgorIiBQUk9WSURFUzogQHNnbWxSZWdpb25Ib29rCisiCisiIEVYQU1QTEU6CisiCisiIDx0YWcgaWQ9Indob29wcyI+CisiICAgPCEtLSBjb21tZW50IC0tPgorIiAgIDxhbm90aGVyLnRhZz48L2Fub3RoZXIudGFnPgorIiAgIDxhbm90aGVyLnRhZy8+CisiICAgc29tZSBkYXRhCisiIDwvdGFnPgorIgorIiBTR01MIHNwZWNpZmljOgorIiBjb21wYXJlZCB0byB4bWxSZWdpb246CisiICAgLSByZW1vdmVkIGZvbGRpbmcKKyIgICAtIGFkZGVkIGEgc2luZ2xlICcvJ2luIHRoZSBzdGFydCBwYXR0ZXJuCisiCitzeW4gcmVnaW9uICAgc2dtbFJlZ2lvbgorICAgIFwgc3RhcnQ9KzxceihbXiAvIT8+IiddXCtcKVwoXChcX1teLz5dKlteLyE/XT5cKVx8PlwpKworICAgIFwgZW5kPSs8L1x6MT4rCisgICAgXCBjb250YWlucz1zZ21sVGFnLHNnbWxFbmRUYWcsc2dtbENkYXRhLEBzZ21sUmVnaW9uQ2x1c3RlcixzZ21sQ29tbWVudCxzZ21sRW50aXR5LHNnbWxVbmljb2RlTnVtYmVyRGF0YSxAc2dtbFJlZ2lvbkhvb2sKKyAgICBcIGtlZXBlbmQKKyAgICBcIGV4dGVuZAorCisKKyIgZW1wdHkgdGFncy4gSnVzdCBhIGNvbnRhaW5lciwgbm8gaGlnaGxpZ2h0aW5nLgorIiBDb21wYXJlIHRoaXMgd2l0aCBzZ21sVGFnLgorIgorIiBFWEFNUExFOgorIgorIiA8dGFnIGlkPSJsb2xhIi8+CisiCisiIFRPRE8gdXNlIHNnbWxFbXB0eVRhZyBpbnRlYWQgb2Ygc2dtbFRhZworc3luIG1hdGNoICAgIHNnbWxFbXB0eVJlZ2lvbgorICAgIFwgKzxbXiAvIT8+IiddXChcX1teIic8Pl1cfCJcX1teIl0qIlx8J1xfW14nXSonXCkqLz4rCisgICAgXCBjb250YWlucz1zZ21sRW1wdHlUYWcKKworCisiIGNsdXN0ZXIgd2hpY2ggY29udGFpbnMgdGhlIGFib3ZlIHR3byBlbGVtZW50cworc3luIGNsdXN0ZXIgc2dtbFJlZ2lvbkNsdXN0ZXIgY29udGFpbnM9c2dtbFJlZ2lvbixzZ21sRW1wdHlSZWdpb24sc2dtbEFiYnJSZWdpb24KKworCisiICZlbnRpdGllczsgY29tcGFyZSB3aXRoIGR0ZAorc3luIG1hdGNoICAgc2dtbEVudGl0eQkJICAgICAgICImW147IFx0XSo7IiBjb250YWlucz1zZ21sRW50aXR5UHVuY3QKK3N5biBtYXRjaCAgIHNnbWxFbnRpdHlQdW5jdCAgY29udGFpbmVkICJbJi47XSIKKworCisiIFRoZSByZWFsIGNvbW1lbnRzICh0aGlzIGltcGxlbWVudHMgdGhlIGNvbW1lbnRzIGFzIGRlZmluZWQgYnkgc2dtbCwKKyIgYnV0IG5vdCBhbGwgc2dtbCBwYWdlcyBhY3R1YWxseSBjb25mb3JtIHRvIGl0LiBFcnJvcnMgYXJlIGZsYWdnZWQuCitzeW4gcmVnaW9uICBzZ21sQ29tbWVudCAgICAgICAgICAgICAgICBzdGFydD0rPCErICAgICAgICBlbmQ9Kz4rIGNvbnRhaW5zPXNnbWxDb21tZW50UGFydCxzZ21sU3RyaW5nLHNnbWxDb21tZW50RXJyb3Isc2dtbFRvZG8KK3N5biBrZXl3b3JkIHNnbWxUb2RvICAgICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIGRpc3BsYXkKK3N5biBtYXRjaCAgIHNnbWxDb21tZW50RXJyb3IgY29udGFpbmVkICJbXj48IV0iCitzeW4gcmVnaW9uICBzZ21sQ29tbWVudFBhcnQgIGNvbnRhaW5lZCBzdGFydD0rLS0rICAgICAgICBlbmQ9Ky0tKworCisKKyIgQ0RhdGEgc2VjdGlvbnMKKyIKKyIgUFJPVklERVM6IEBzZ21sQ2RhdGFIb29rCisiCitzeW4gcmVnaW9uICAgIHNnbWxDZGF0YQorICAgIFwgc3RhcnQ9KzwhXFtDREFUQVxbKworICAgIFwgZW5kPStdXT4rCisgICAgXCBjb250YWlucz1zZ21sQ2RhdGFTdGFydCxzZ21sQ2RhdGFFbmQsQHNnbWxDZGF0YUhvb2sKKyAgICBcIGtlZXBlbmQKKyAgICBcIGV4dGVuZAorIiB1c2luZyB0aGUgZm9sbG93aW5nIGxpbmUgaW5zdGVhZCBsZWFkcyB0byBjb3JydXB0IGZvbGRpbmcgYXQgQ0RBVEEgcmVnaW9ucworIiBzeW4gbWF0Y2ggICAgc2dtbENkYXRhICAgICAgKzwhXFtDREFUQVxbXF8uXHstfV1dPisgIGNvbnRhaW5zPXNnbWxDZGF0YVN0YXJ0LHNnbWxDZGF0YUVuZCxAc2dtbENkYXRhSG9vaworc3luIG1hdGNoICAgIHNnbWxDZGF0YVN0YXJ0ICs8IVxbQ0RBVEFcWysgIGNvbnRhaW5lZCBjb250YWlucz1zZ21sQ2RhdGFDZGF0YQorc3luIGtleXdvcmQgIHNnbWxDZGF0YUNkYXRhIENEQVRBICAgICAgICAgIGNvbnRhaW5lZAorc3luIG1hdGNoICAgIHNnbWxDZGF0YUVuZCAgICtdXT4rICAgICAgICAgIGNvbnRhaW5lZAorCisKKyIgUHJvY2Vzc2luZyBpbnN0cnVjdGlvbnMKKyIgVGhpcyBhbGxvd3MgIj8+IiBpbnNpZGUgc3RyaW5ncyAtLSBnb29kIGlkZWE/CitzeW4gcmVnaW9uICBzZ21sUHJvY2Vzc2luZyBtYXRjaGdyb3VwPXNnbWxQcm9jZXNzaW5nRGVsaW0gc3RhcnQ9Ijw/IiBlbmQ9Ij8+IiBjb250YWlucz1zZ21sQXR0cmliLHNnbWxFcXVhbFZhbHVlCisKKworIiBEVEQgLS0gd2UgdXNlIGR0ZC52aW0gaGVyZQorc3luIHJlZ2lvbiAgc2dtbERvY1R5cGUgbWF0Y2hncm91cD1zZ21sRG9jVHlwZURlY2wgc3RhcnQ9IlxjPCFET0NUWVBFImhlPXMrMixycz1zKzIgZW5kPSI+IiBjb250YWlucz1zZ21sRG9jVHlwZUtleXdvcmQsc2dtbElubGluZURURCxzZ21sU3RyaW5nCitzeW4ga2V5d29yZCBzZ21sRG9jVHlwZUtleXdvcmQgY29udGFpbmVkIERPQ1RZUEUgUFVCTElDIFNZU1RFTQorc3luIHJlZ2lvbiAgc2dtbElubGluZURURCBjb250YWluZWQgc3RhcnQ9IlxbIiBlbmQ9Il0iIGNvbnRhaW5zPUBzZ21sRFRECitzeW4gaW5jbHVkZSBAc2dtbERURCA8c2ZpbGU+OnA6aC9kdGQudmltCisKKworIiBzeW5jaHJvbml6aW5nCisiIFRPRE8gISEhIHRvIGJlIGltcHJvdmVkICEhIQorCitzeW4gc3luYyBtYXRjaCBzZ21sU3luY0RUIGdyb3VwaGVyZSAgc2dtbERvY1R5cGUgK1xfLlwoPCFET0NUWVBFXClcQD0rCisiIHN5biBzeW5jIG1hdGNoIHNnbWxTeW5jRFQgZ3JvdXB0aGVyZSAgTk9ORSAgICAgICArXT4rCisKK3N5biBzeW5jIG1hdGNoIHNnbWxTeW5jIGdyb3VwaGVyZSAgIHNnbWxSZWdpb24gICtcXy5cKDxbXiAvIT8+IiddXCtcKVxAPSsKKyIgc3luIHN5bmMgbWF0Y2ggc2dtbFN5bmMgZ3JvdXBoZXJlICBzZ21sUmVnaW9uICI8W14gLyE/PiInXSo+Igorc3luIHN5bmMgbWF0Y2ggc2dtbFN5bmMgZ3JvdXB0aGVyZSAgc2dtbFJlZ2lvbiAgKzwvW14gLyE/PiInXVwrPisKKworc3luIHN5bmMgbWlubGluZXM9MTAwCisKKworIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCitoaSBkZWYgbGluayBzZ21sVG9kbwkJCVRvZG8KK2hpIGRlZiBsaW5rIHNnbWxUYWcJCQlGdW5jdGlvbgoraGkgZGVmIGxpbmsgc2dtbEVuZFRhZwkJCUlkZW50aWZpZXIKKyIgU0dNTCBzcGVjaWZpZworaGkgZGVmIGxpbmsgc2dtbEFiYnJFbmRUYWcJCUlkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHNnbWxFbXB0eVRhZwkJRnVuY3Rpb24KK2hpIGRlZiBsaW5rIHNnbWxFbnRpdHkJCQlTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNnbWxFbnRpdHlQdW5jdAkJVHlwZQorCitoaSBkZWYgbGluayBzZ21sQXR0cmliUHVuY3QJCUNvbW1lbnQKK2hpIGRlZiBsaW5rIHNnbWxBdHRyaWIJCQlUeXBlCisKK2hpIGRlZiBsaW5rIHNnbWxWYWx1ZQkJCVN0cmluZworaGkgZGVmIGxpbmsgc2dtbFN0cmluZwkJCVN0cmluZworaGkgZGVmIGxpbmsgc2dtbENvbW1lbnQJCQlDb21tZW50CitoaSBkZWYgbGluayBzZ21sQ29tbWVudFBhcnQJCUNvbW1lbnQKK2hpIGRlZiBsaW5rIHNnbWxDb21tZW50RXJyb3IJCUVycm9yCitoaSBkZWYgbGluayBzZ21sRXJyb3IJCQlFcnJvcgorCitoaSBkZWYgbGluayBzZ21sUHJvY2Vzc2luZ0RlbGltCQlDb21tZW50CitoaSBkZWYgbGluayBzZ21sUHJvY2Vzc2luZwkJVHlwZQorCitoaSBkZWYgbGluayBzZ21sQ2RhdGEJCQlTdHJpbmcKK2hpIGRlZiBsaW5rIHNnbWxDZGF0YUNkYXRhCQlTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNnbWxDZGF0YVN0YXJ0CQlUeXBlCitoaSBkZWYgbGluayBzZ21sQ2RhdGFFbmQJCVR5cGUKKworaGkgZGVmIGxpbmsgc2dtbERvY1R5cGVEZWNsCQlGdW5jdGlvbgoraGkgZGVmIGxpbmsgc2dtbERvY1R5cGVLZXl3b3JkCQlTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNnbWxJbmxpbmVEVEQJCUZ1bmN0aW9uCitoaSBkZWYgbGluayBzZ21sVW5pY29kZU51bWJlckF0dHIJTnVtYmVyCitoaSBkZWYgbGluayBzZ21sVW5pY29kZVNwZWNpZmllckF0dHIJU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIHNnbWxVbmljb2RlTnVtYmVyRGF0YQlOdW1iZXIKK2hpIGRlZiBsaW5rIHNnbWxVbmljb2RlU3BlY2lmaWVyRGF0YQlTcGVjaWFsQ2hhcgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzZ21sIgorCitsZXQgJmNwbyA9IHM6c2dtbF9jcG9fc2F2ZQordW5sZXQgczpzZ21sX2Nwb19zYXZlCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zZ21sZGVjbC52aW0gYi9ydW50aW1lL3N5bnRheC9zZ21sZGVjbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE2OWZjNQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NnbWxkZWNsLnZpbQpAQCAtMCwwICsxLDc5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU0dNTCAoU0dNTCBEZWNsYXJhdGlvbiA8IVNHTUwgLi4uPikKKyIgTGFzdCBDaGFuZ2U6IGp1ZXZlcywgMjggZGUgZGljaWVtYnJlIGRlIDIwMDAsIDEzOjUxOjQ0IENMU1QKKyIgTWFpbnRhaW5lcjogIkRhbmllbCBBLiBNb2xpbmEgVy4iIDxzaWNrZEBsaW51eC1jaGlsZS5vcmc+CisiIFlvdSBjYW4gbW9kaWZ5IGFuZCBtYWludGFpbiB0aGlzIGZpbGUsIGluIG90aGVyIGNhc2Ugc2VuZCBjb21tZW50cworIiB0aGUgbWFpbnRhaW5lciBlbWFpbCBhZGRyZXNzLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCitzeW4gcmVnaW9uCXNnbWxkZWNsRGVjbEJsb2NrCXRyYW5zcGFyZW50IHN0YXJ0PSs8IVNHTUwrIGVuZD0rPisKK3N5biByZWdpb24Jc2dtbGRlY2xUYWdCbG9jawl0cmFuc3BhcmVudCBzdGFydD0rPCsgZW5kPSs+KworCQkJCQlcIGNvbnRhaW5zPUFMTEJVVCwKKwkJCQkJXCBAc2dtbFRhZ0Vycm9yLEBzZ21sRXJySW5UYWcKK3N5biByZWdpb24Jc2dtbGRlY2xDb21tZW50CQljb250YWluZWQgc3RhcnQ9Ky0tKyBlbmQ9Ky0tKworCitzeW4ga2V5d29yZAlzZ21sZGVjbERlY2xLZXlzCVNHTUwgQ0hBUlNFVCBDQVBBQ0lUWSBTQ09QRSBTWU5UQVgKKwkJCQkJXCBGRUFUVVJFUworCitzeW4ga2V5d29yZAlzZ21sZGVjbFR5cGVzCQlCQVNFU0VUIERFU0NTRVQgRE9DVU1FTlQgTkFNSU5HIERFTElNCisJCQkJCVwgTkFNRVMgUVVBTlRJVFkgU0hVTkNIQVIgRE9DVFlQRQorCQkJCQlcIEVMRU1FTlQgRU5USVRZIEFUVExJU1QgTk9UQVRJT04KKwkJCQkJXCBUWVBFCisKK3N5biBrZXl3b3JkCXNnbWxkZWNsU3RhdGVtCQlDT05UUk9MUyBGVU5DVElPTiBOQU1FQ0FTRSBNSU5JTUlaRQorCQkJCQlcIExJTksgT1RIRVIgQVBQSU5GTyBSRUYgRU5USVRJRVMKKworc3luIGtleXdvcmQgc2dtbGRlY2xWYXJpYWJsZXMJVE9UQUxDQVAgR1JQQ0FQIEVOVENBUCBEQVRBVEFHIE9NSVRUQUcgUkFOSworCQkJCQlcIFNJTVBMRSBJTVBMSUNJVCBFWFBMSUNJVCBDT05DVVIgU1VCRE9DIEZPUk1BTCBBVFRDQVAKKwkJCQkJXCBBVFRDSENBUCBBVkdSUENBUCBFTEVNQ0FQIEVOVENIQ0FQIElEQ0FQIElEUkVGQ0FQCisJCQkJCVwgU0hPUlRUQUcKKworc3luIG1hdGNoCXNnbWxkZWNsTkNvbnN0CQljb250YWluZWQgK1swLTldXCsrCisKK3N5biByZWdpb24Jc2dtbGRlY2xTdHJpbmcJCWNvbnRhaW5lZCBzdGFydD0rIisgZW5kPSsiKworCitzeW4ga2V5d29yZAlzZ21sZGVjbEJvb2wJCVlFUyBOTworCitzeW4ga2V5d29yZAlzZ21sZGVjbFNwZWNpYWwJCVNIT1JUUkVGIFNHTUxSRUYgVU5VU0VEIE5PTkUgR0VORVJBTAorCQkJCQlcIFNFRUFMU08gQU5ZCisKK3N5biBzeW5jIGxpbmVzPTI1MAorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NnbWxkZWNsX3N5bnRheF9pbml0IikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc2dtbGRlY2xfc3ludGF4X2luaXQgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICAgICBIaUxpbmsJc2dtbGRlY2xEZWNsS2V5cwlLZXl3b3JkCisgICAgICBIaUxpbmsJc2dtbGRlY2xUeXBlcwkJVHlwZQorICAgICAgSGlMaW5rCXNnbWxkZWNsQ29uc3QJCUNvbnN0YW50CisgICAgICBIaUxpbmsJc2dtbGRlY2xOQ29uc3QJCUNvbnN0YW50CisgICAgICBIaUxpbmsJc2dtbGRlY2xTdHJpbmcJCVN0cmluZworICAgICAgSGlMaW5rCXNnbWxkZWNsRGVjbEJsb2NrCU5vcm1hbAorICAgICAgSGlMaW5rCXNnbWxkZWNsQm9vbAkJQm9vbGVhbgorICAgICAgSGlMaW5rCXNnbWxkZWNsU3BlY2lhbAkJU3BlY2lhbAorICAgICAgSGlMaW5rCXNnbWxkZWNsQ29tbWVudAkJQ29tbWVudAorICAgICAgSGlMaW5rCXNnbWxkZWNsU3RhdGVtCQlTdGF0ZW1lbnQKKwkgIEhpTGluawlzZ21sZGVjbFZhcmlhYmxlcwlUeXBlCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNnbWxkZWNsIgorIiB2aW06c2V0IHR3PTc4IHRzPTQ6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zZ21sbG54LnZpbSBiL3J1bnRpbWUvc3ludGF4L3NnbWxsbngudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxOWU5MDQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zZ21sbG54LnZpbQpAQCAtMCwwICsxLDY4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU0dNTC1saW51eGRvYyAoc3VwcG9ydGVkIGJ5IG9sZCBzZ21sdG9vbHMtMS54KQorIgkJKGZvciBtb3JlIGluZm9ybWF0aW9uLCB2aXNpdCB3d3cuc2dtbHRvb2xzLm9yZykKKyIgTWFpbnRhaW5lcjoJTmFtIFN1bmdIeXVuIDxuYW1zaEBrbGRwLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgQXByIDI2CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgdGFncworc3luIHJlZ2lvbiBzZ21sbG54RW5kVGFnCXN0YXJ0PSs8LysgICAgZW5kPSs+Kwljb250YWlucz1zZ21sbG54VGFnTixzZ21sbG54VGFnRXJyb3IKK3N5biByZWdpb24gc2dtbGxueFRhZwlzdGFydD0rPFteL10rIGVuZD0rPisJY29udGFpbnM9c2dtbGxueFRhZ04sc2dtbGxueFRhZ0Vycm9yCitzeW4gbWF0Y2ggIHNnbWxsbnhUYWdOCWNvbnRhaW5lZCArPFxzKlstYS16QS1aMC05XVwrK21zPXMrMQljb250YWlucz1zZ21sbG54VGFnTmFtZQorc3luIG1hdGNoICBzZ21sbG54VGFnTgljb250YWluZWQgKzwvXHMqWy1hLXpBLVowLTldXCsrbXM9cysyCWNvbnRhaW5zPXNnbWxsbnhUYWdOYW1lCisKK3N5biByZWdpb24gc2dtbGxueFRhZzIJc3RhcnQ9KzxccypbYS16QS1aXVwrLysga2VlcGVuZCBlbmQ9Ky8rCWNvbnRhaW5zPXNnbWxsbnhUYWdOMgorc3luIG1hdGNoICBzZ21sbG54VGFnTjIJY29udGFpbmVkICsvLiovK21zPXMrMSxtZT1lLTEKKworc3luIHJlZ2lvbiBzZ21sbG54U3BlY2lhbAlvbmVsaW5lIHN0YXJ0PSImIiBlbmQ9IjsiCisKKyIgdGFnIG5hbWVzCitzeW4ga2V5d29yZCBzZ21sbG54VGFnTmFtZSBjb250YWluZWQgYXJ0aWNsZSBhdXRob3IgZGF0ZSB0b2MgdGl0bGUgc2VjdCB2ZXJiCitzeW4ga2V5d29yZCBzZ21sbG54VGFnTmFtZSBjb250YWluZWQgYWJzdHJhY3QgdHNjcmVlbiBwIGl0ZW1pemUgaXRlbSBlbnVtCitzeW4ga2V5d29yZCBzZ21sbG54VGFnTmFtZSBjb250YWluZWQgZGVzY3JpcCBxdW90ZSBodG1sdXJsIGNvZGUgcmVmCitzeW4ga2V5d29yZCBzZ21sbG54VGFnTmFtZSBjb250YWluZWQgdHQgdGFnIGJmCitzeW4gbWF0Y2ggICBzZ21sbG54VGFnTmFtZSBjb250YWluZWQgInNlY3RcZFwrIgorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uIHNnbWxsbnhDb21tZW50IHN0YXJ0PSs8IS0tKyBlbmQ9Ky0tPisKK3N5biByZWdpb24gc2dtbGxueERvY1R5cGUgc3RhcnQ9KzwhZG9jdHlwZSsgZW5kPSs+KworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zZ21sbG54X3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NnbWxsbnhfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc2dtbGxueFRhZzIJICAgIEZ1bmN0aW9uCisgIEhpTGluayBzZ21sbG54VGFnTjIJICAgIEZ1bmN0aW9uCisgIEhpTGluayBzZ21sbG54VGFnCSAgICBTcGVjaWFsCisgIEhpTGluayBzZ21sbG54RW5kVGFnCSAgICBTcGVjaWFsCisgIEhpTGluayBzZ21sbG54UGFyZW4JICAgIFNwZWNpYWwKKyAgSGlMaW5rIHNnbWxsbnhFbnRpdHkJICAgIFR5cGUKKyAgSGlMaW5rIHNnbWxsbnhEb2NFbnQJICAgIFR5cGUKKyAgSGlMaW5rIHNnbWxsbnhUYWdOYW1lCSAgICBTdGF0ZW1lbnQKKyAgSGlMaW5rIHNnbWxsbnhDb21tZW50CSAgICBDb21tZW50CisgIEhpTGluayBzZ21sbG54U3BlY2lhbAkgICAgU3BlY2lhbAorICBIaUxpbmsgc2dtbGxueERvY1R5cGUJICAgIFByZVByb2MKKyAgSGlMaW5rIHNnbWxsbnhUYWdFcnJvciAgICBFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzZ21sbG54IgorCisiIHZpbTpzZXQgdHc9NzggdHM9OCBzdHM9MiBzdz0yIG5vZXQ6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaC52aW0gYi9ydW50aW1lL3N5bnRheC9zaC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhmNmVlMAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NoLnZpbQpAQCAtMCwwICsxLDUzOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CQlzaGVsbCAoc2gpIEtvcm4gc2hlbGwgKGtzaCkgYmFzaCAoc2gpCisiIE1haW50YWluZXI6CQlEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuICA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KKyIgUHJldmlvdXMgTWFpbnRhaW5lcjoJTGVubmFydCBTY2h1bHR6IDxMZW5uYXJ0LlNjaHVsdHpAZWNtd2YuaW50PgorIiBMYXN0IENoYW5nZToJCUFwciAyOCwgMjAwNAorIiBWZXJzaW9uOgkJNjgKKyIgVVJMOgkJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAorIgorIiBVc2luZyB0aGUgZm9sbG93aW5nIFZJTSB2YXJpYWJsZXM6CisiIGI6aXNfa29ybnNoZWxsCWlmIGRlZmluZWQsIGVuaGFuY2Ugd2l0aCBrb3Juc2hlbGwgc3ludGF4CisiIGI6aXNfYmFzaAkJaWYgZGVmaW5lZCwgZW5oYW5jZSB3aXRoIGJhc2ggc3ludGF4CisiICAgaXNfa29ybnNoZWxsCWlmIG5laXRoZXIgYjppc19rb3Juc2hlbGwgb3IgYjppc19iYXNoIGlzCisiCQlkZWZpbmVkLCB0aGVuIGlmIGlzX2tvcm5zaGVsbCBpcyBzZXQKKyIJCWI6aXNfa29ybnNoZWxsIGlzIGRlZmF1bHQKKyIgICBpc19iYXNoCQlpZiBub25lIG9mIHRoZSBwcmV2aW91cyB0aHJlZSB2YXJpYWJsZXMgYXJlCisiCQlkZWZpbmVkLCB0aGVuIGlmIGlzX2Jhc2ggaXMgc2V0IGI6aXNfYmFzaCBpcyBkZWZhdWx0CisiIGc6c2hfZm9sZF9lbmFibGVkCWlmIG5vbi16ZXJvLCBzeW50YXggZm9sZGluZyBpcyBlbmFibGVkCisiICAgc2hfbWlubGluZXMJCXNldHMgdXAgc3luIHN5bmMgbWlubGluZXMgIChkZWZhdWx0OiAyMDApCisiICAgc2hfbWF4bGluZXMJCXNldHMgdXAgc3luIHN5bmMgbWF4bGluZXMgIChkZWZhdWx0OiB0d2ljZSBzaF9taW5saW5lcykKKyIKKyIgVGhpcyBmaWxlIGluY2x1ZGVzIG1hbnkgaWRlYXMgZnJvbSDJcmljIEJydW5ldCAoZXJpYy5icnVuZXRAZW5zLmZyKQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgYjppc19zaCBpcyBzZXQgd2hlbiAiIyEgL2Jpbi9zaCIgaXMgZm91bmQ7CisiIEhvd2V2ZXIsIGl0IG9mdGVuIGlzIGp1c3QgYSBtYXNxdWVyYWRlIGJ5IGJhc2ggKHR5cGljYWxseSBMaW51eCkKKyIgb3Iga29ybnNoZWxsICh0eXBpY2FsbHkgd29ya3N0YXRpb25zIHdpdGggUG9zaXggInNoIikuCisiIFNvLCB3aGVuIHRoZSB1c2VyIHNldHMgImlzX2Jhc2giIG9yICJpc19rb3Juc2hlbGwiLAorIiBhIGI6aXNfc2ggaXMgY29udmVydGVkIGludG8gYjppc19iYXNoL2I6aXNfa29ybnNoZWxsLAorIiByZXNwZWN0aXZlbHkuCitpZiAhZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpICYmICFleGlzdHMoImI6aXNfYmFzaCIpCisgIGlmIGV4aXN0cygiaXNfa29ybnNoZWxsIikKKyAgICBsZXQgYjppc19rb3Juc2hlbGw9IDEKKyAgICBpZiBleGlzdHMoImI6aXNfc2giKQorICAgICAgdW5sZXQgYjppc19zaAorICAgIGVuZGlmCisgIGVsc2VpZiBleGlzdHMoImlzX2Jhc2giKQorICAgIGxldCBiOmlzX2Jhc2g9IDEKKyAgICBpZiBleGlzdHMoImI6aXNfc2giKQorICAgICAgdW5sZXQgYjppc19zaAorICAgIGVuZGlmCisgIGVsc2UKKyAgICBsZXQgYjppc19zaD0gMQorICBlbmRpZgorZW5kaWYKKworaWYgIWV4aXN0cygiZzpzaF9mb2xkX2VuYWJsZWQiKQorIGxldCBnOnNoX2ZvbGRfZW5hYmxlZD0gMAorZW5kaWYKKworIiBzaCBzeW50YXggaXMgY2FzZSBzZW5zaXRpdmUKK3N5biBjYXNlIG1hdGNoCisKKyIgQ2x1c3RlcnM6IGNvbnRhaW5zPUAuLi4gY2x1c3RlcnMKKyI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitzeW4gY2x1c3RlciBzaENhc2VFc2FjTGlzdAljb250YWlucz1zaENhc2VTdGFydCxzaENhc2Usc2hDYXNlQmFyLHNoQ2FzZUluLHNoQ29tbWVudCxzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hDYXNlQ29tbWFuZFN1YixzaENhc2VTaW5nbGVRdW90ZSxzaENhc2VEb3VibGVRdW90ZSxzaFNwZWNpYWwKK3N5biBjbHVzdGVyIHNoQ2FzZUxpc3QJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3Qsc2hDYXNlRXNhYyxzaENvbG9uLHNoQ29tbWFuZFN1YixzaENvbW1hbmRTdWIsc2hDb21tZW50LHNoRG8sc2hFY2hvLHNoRXhwcixzaEZvcixzaEhlcmVEb2Msc2hJZixzaFJlZGlyLHNoU2V0TGlzdCxzaFNvdXJjZSxzaFN0YXRlbWVudCxzaFZhcmlhYmxlLGJrc2hGdW5jdGlvbixzaFNwZWNpYWwKK3N5biBjbHVzdGVyIHNoQ29sb25MaXN0CWNvbnRhaW5zPUBzaENhc2VMaXN0CitzeW4gY2x1c3RlciBzaENvbW1hbmRTdWJMaXN0CWNvbnRhaW5zPXNoQXJpdGhtZXRpYyxzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hOdW1iZXIsc2hPcGVyYXRvcixzaFBvc25QYXJtLHNoU3BlY2lhbCxzaFNpbmdsZVF1b3RlLHNoRG91YmxlUXVvdGUsc2hTdGF0ZW1lbnQsc2hWYXJpYWJsZSxzaFN1YlNoLHNoQWxpYXMKK3N5biBjbHVzdGVyIHNoRGJsUXVvdGVMaXN0CWNvbnRhaW5zPXNoQ29tbWFuZFN1YixzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hTcGVjaWFsLHNoUG9zblBhcm0KK3N5biBjbHVzdGVyIHNoRGVyZWZMaXN0CWNvbnRhaW5zPXNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERlcmVmVmFyLHNoRGVyZWZTcGVjaWFsLHNoRGVyZWZXb3JkRXJyb3IKK3N5biBjbHVzdGVyIHNoRGVyZWZWYXJMaXN0CWNvbnRhaW5zPXNoRGVyZWZPcCxzaERlcmVmVmFyQXJyYXksc2hEZXJlZk9wRXJyb3IKK3N5biBjbHVzdGVyIHNoRWNob0xpc3QJY29udGFpbnM9c2hBcml0aG1ldGljLHNoQ29tbWFuZFN1YixzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hFeHByLHNoU2luZ2xlUXVvdGUsc2hEb3VibGVRdW90ZSxzaFNwZWNpYWwKK3N5biBjbHVzdGVyIHNoRXhwckxpc3QxCWNvbnRhaW5zPXNoQ2hhckNsYXNzLHNoTnVtYmVyLHNoT3BlcmF0b3Isc2hTaW5nbGVRdW90ZSxzaERvdWJsZVF1b3RlLHNoU3BlY2lhbCxzaEV4cHIsc2hEYmxCcmFjZSxzaERlcmVmLHNoRGVyZWZTaW1wbGUKK3N5biBjbHVzdGVyIHNoRXhwckxpc3QyCWNvbnRhaW5zPUBzaEV4cHJMaXN0MSxAc2hDYXNlTGlzdAorc3luIGNsdXN0ZXIgc2hGdW5jdGlvbkxpc3QJY29udGFpbnM9QHNoQ2FzZUxpc3Qsc2hPcGVyYXRvcgorc3luIGNsdXN0ZXIgc2hIZXJlQmVnaW5MaXN0CWNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0CitzeW4gY2x1c3RlciBzaEhlcmVMaXN0CWNvbnRhaW5zPXNoQmVnaW5IZXJlLHNoSGVyZVBheWxvYWQKK3N5biBjbHVzdGVyIHNoSGVyZUxpc3REUQljb250YWlucz1zaEJlZ2luSGVyZSxAc2hEYmxRdW90ZUxpc3Qsc2hIZXJlUGF5bG9hZAorc3luIGNsdXN0ZXIgc2hJZExpc3QJY29udGFpbnM9c2hDb21tYW5kU3ViLHNoV3JhcExpbmVPcGVyYXRvcixzaElkV2hpdGVTcGFjZSxzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hTcGVjaWFsLHNoUmVkaXIsc2hTaW5nbGVRdW90ZSxzaERvdWJsZVF1b3RlLHNoRXhwcgorc3luIGNsdXN0ZXIgc2hMb29wTGlzdAljb250YWlucz1Ac2hDYXNlTGlzdCxzaFRlc3RPcHIsc2hFeHByLHNoRGJsQnJhY2Usc2hDb25kaXRpb25hbCxzaENhc2VFc2FjCitzeW4gY2x1c3RlciBzaFN1YlNoTGlzdAljb250YWlucz1Ac2hDYXNlTGlzdAorc3luIGNsdXN0ZXIgc2hUZXN0TGlzdAljb250YWlucz1zaENoYXJDbGFzcyxzaENvbW1lbnQsc2hDb21tYW5kU3ViLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERvdWJsZVF1b3RlLHNoRXhwcixzaEV4cHIsc2hOdW1iZXIsc2hPcGVyYXRvcixzaFNpbmdsZVF1b3RlLHNoU3BlY2lhbCxzaFRlc3RPcHIKKworCisiIEVjaG86CisiID09PT0KKyIgVGhpcyBvbmUgaXMgbmVlZGVkIElOU0lERSBhIENvbW1hbmRTdWIsIHNvIHRoYXQgYGVjaG8gYmxhYCBiZSBjb3JyZWN0CitzeW4gcmVnaW9uIHNoRWNobyBtYXRjaGdyb3VwPXNoU3RhdGVtZW50IHN0YXJ0PSJcPGVjaG9cPiIgIHNraXA9IlxcJCIgbWF0Y2hncm91cD1zaE9wZXJhdG9yIGVuZD0iJCIgbWF0Y2hncm91cD1OT05FIGVuZD0iWzw+OyZ8KCldIm1lPWUtMSBlbmQ9IlxkWzw+XSJtZT1lLTIgZW5kPSIjIm1lPWUtMSBjb250YWlucz1Ac2hFY2hvTGlzdAorc3luIHJlZ2lvbiBzaEVjaG8gbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxwcmludFw+IiBza2lwPSJcXCQiIG1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9IiQiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ils8PjsmfCgpXSJtZT1lLTEgZW5kPSJcZFs8Pl0ibWU9ZS0yIGVuZD0iIyJtZT1lLTEgY29udGFpbnM9QHNoRWNob0xpc3QKKworIiBUaGlzIG11c3QgYmUgYWZ0ZXIgdGhlIHN0cmluZ3MsIHNvIHRoYXQgYmxhIFwiIGJlIGNvcnJlY3QKK3N5biByZWdpb24gc2hFbWJlZGRlZEVjaG8gY29udGFpbmVkIG1hdGNoZ3JvdXA9c2hTdGF0ZW1lbnQgc3RhcnQ9Ilw8cHJpbnRcPiIgc2tpcD0iXFwkIiBtYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSIkIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbPD47JnxgKV0ibWU9ZS0xIGVuZD0iXGRbPD5dIm1lPWUtMiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPXNoTnVtYmVyLHNoU2luZ2xlUXVvdGUsc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoU3BlY2lhbFZhcixzaFNwZWNpYWwsc2hPcGVyYXRvcixzaERvdWJsZVF1b3RlLHNoQ2hhckNsYXNzCisKKyIgQWxpYXM6CisiID09PT09CitpZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikgfHwgZXhpc3RzKCJiOmlzX2Jhc2giKQorIHN5biBtYXRjaCBzaFN0YXRlbWVudCAiXDxhbGlhc1w+IgorIHN5biByZWdpb24gc2hBbGlhcyBtYXRjaGdyb3VwPXNoU3RhdGVtZW50IHN0YXJ0PSJcPGFsaWFzXD5cc1wrXChcd1wrXClcQD0iIHNraXA9IlxcJCIgZW5kPSJcPlx8YCIKKyBzeW4gcmVnaW9uIHNoQWxpYXMgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxhbGlhc1w+XHNcK1woXHdcKz1cKVxAPSIgc2tpcD0iXFwkIiBlbmQ9Ij0iCitlbmRpZgorCisiIEVycm9yIENvZGVzCisiID09PT09PT09PT09CitzeW4gbWF0Y2ggICBzaERvRXJyb3IgIlw8ZG9uZVw+Igorc3luIG1hdGNoICAgc2hJZkVycm9yICJcPGZpXD4iCitzeW4gbWF0Y2ggICBzaEluRXJyb3IgIlw8aW5cPiIKK3N5biBtYXRjaCAgIHNoQ2FzZUVycm9yICI7OyIKK3N5biBtYXRjaCAgIHNoRXNhY0Vycm9yICJcPGVzYWNcPiIKK3N5biBtYXRjaCAgIHNoQ3VybHlFcnJvciAifSIKK3N5biBtYXRjaCAgIHNoUGFyZW5FcnJvciAiKSIKK2lmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKQorIHN5biBtYXRjaCAgICAgc2hEVGVzdEVycm9yICJdXSIKK2VuZGlmCitzeW4gbWF0Y2ggICAgIHNoVGVzdEVycm9yICJdIgorCisiIE9wdGlvbnMgaW50ZXJjZXB0b3IKKyIgPT09PT09PT09PT09PT09PT09PQorc3luIG1hdGNoICAgc2hPcHRpb24gICJcc1tcLStdW2EtekEtWjAtOV1cK1w+Im1zPXMrMQorc3luIG1hdGNoICAgc2hPcHRpb24gICJccy0tXFNcKyJtcz1zKzEKKworIiBPcGVyYXRvcnM6CisiID09PT09PT09PQorc3luIG1hdGNoICAgc2hPcGVyYXRvcgkiWyEmO3xdIgorc3luIG1hdGNoICAgc2hPcGVyYXRvcgkiXFtbW146XVx8XF1dIgorc3luIG1hdGNoICAgc2hPcGVyYXRvcgkiIVw9PSIJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9c2hQYXR0ZXJuCitzeW4gbWF0Y2ggICBzaFBhdHRlcm4JIlw8XFNcK1woKSlcKVxAPSIJY29udGFpbmVkIGNvbnRhaW5zPXNoU2luZ2xlUXVvdGUsc2hEb3VibGVRdW90ZSxzaERlcmVmCisKKyIgU3Vic2hlbGxzOgorIiA9PT09PT09PT0KK3N5biByZWdpb24gc2hFeHByICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoRXhwclJlZ2lvbiAgc3RhcnQ9InsiIGVuZD0ifSIJY29udGFpbnM9QHNoRXhwckxpc3QyCitzeW4gcmVnaW9uIHNoU3ViU2ggdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaFN1YlNoUmVnaW9uIHN0YXJ0PSIoIiBlbmQ9IikiCWNvbnRhaW5zPUBzaFN1YlNoTGlzdAorCisiIFRlc3RzCisiPT09PT09Cisic3luIHJlZ2lvbiAgc2hFeHByIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hSYW5nZSBzdGFydD0iXFsiIHNraXA9K1xcXFxcfFxcJCsgZW5kPSJcXSIgY29udGFpbnM9QHNoVGVzdExpc3QKK3N5biByZWdpb24gIHNoRXhwciBtYXRjaGdyb3VwPXNoUmFuZ2Ugc3RhcnQ9IlxbIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iXF0iIGNvbnRhaW5zPUBzaFRlc3RMaXN0CitzeW4gcmVnaW9uICBzaEV4cHIgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDx0ZXN0XD4iIHNraXA9K1xcXFxcfFxcJCsgbWF0Y2hncm91cD1OT05FIGVuZD0iWzsmfF0ibWU9ZS0xIGVuZD0iJCIgY29udGFpbnM9QHNoRXhwckxpc3QxCitzeW4gbWF0Y2ggICBzaFRlc3RPcHIgY29udGFpbmVkICI8PVx8Pj1cfCE9XHw9PVx8LS5cPlx8LVwobnRcfG90XHxlZlx8ZXFcfG5lXHxsdFx8bGVcfGd0XHxnZVwpXD5cfFshPTw+XSIKK2lmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCisgc3luIHJlZ2lvbiAgc2hEYmxCcmFjZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFtcWyIgc2tpcD0rXFxcXFx8XFwkKyBlbmQ9IlxdXF0iCWNvbnRhaW5zPUBzaFRlc3RMaXN0Cisgc3luIHJlZ2lvbiAgc2hEYmxQYXJlbiBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iKCgiIHNraXA9K1xcXFxcfFxcJCsgZW5kPSIpKSIJY29udGFpbnM9QHNoVGVzdExpc3QKK2VuZGlmCisKKyIgQ2hhcmFjdGVyIENsYXNzIGluIFJhbmdlCisiID09PT09PT09PT09PT09PT09PT09PT09PQorc3luIG1hdGNoICAgc2hDaGFyQ2xhc3MJY29udGFpbmVkCSJcWzpcKGJhY2tzcGFjZVx8ZXNjYXBlXHxyZXR1cm5cfHhkaWdpdFx8YWxudW1cfGFscGhhXHxibGFua1x8Y250cmxcfGRpZ2l0XHxncmFwaFx8bG93ZXJcfHByaW50XHxwdW5jdFx8c3BhY2VcfHVwcGVyXHx0YWJcKTpcXSIKKworIiBMb29wczogZG8sIGlmLCB3aGlsZSwgdW50aWwKKyIgPT09PT0KK3N5biByZWdpb24gc2hEbwkJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIHN0YXJ0PSJcPGRvXD4iIG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBlbmQ9Ilw8ZG9uZVw+IiBjb250YWlucz1Ac2hMb29wTGlzdAorc3luIHJlZ2lvbiBzaElmCQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8aWZcPiIgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIGVuZD0iXDw7XF9zKnRoZW5cPiIgZW5kPSJcPGZpXD4iICAgY29udGFpbnM9QHNoTG9vcExpc3Qsc2hEYmxCcmFjZSxzaERibFBhcmVuCitzeW4gcmVnaW9uIHNoRm9yCW1hdGNoZ3JvdXA9c2hMb29wIHN0YXJ0PSJcPGZvclw+IiBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4KK2lmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCisgc3luIGNsdXN0ZXIgc2hDYXNlTGlzdCBhZGQ9c2hSZXBlYXQKKyBzeW4gcmVnaW9uIHNoUmVwZWF0ICAgbWF0Y2hncm91cD1zaExvb3AgICBzdGFydD0iXDx3aGlsZVw+IiBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4sc2hEYmxCcmFjZQorIHN5biByZWdpb24gc2hSZXBlYXQgICBtYXRjaGdyb3VwPXNoTG9vcCAgIHN0YXJ0PSJcPHVudGlsXD4iIGVuZD0iXDxpblw+IiBlbmQ9Ilw8ZG9cPiJtZT1lLTIJY29udGFpbnM9QHNoTG9vcExpc3Qsc2hEYmxQYXJlbixzaERibEJyYWNlCisgc3luIHJlZ2lvbiBzaENhc2VFc2FjIG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBzdGFydD0iXDxzZWxlY3RcPiIgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIGVuZD0iXDxpblw+IiBlbmQ9Ilw8ZG9cPiIgY29udGFpbnM9QHNoTG9vcExpc3QKK2Vsc2UKKyBzeW4gcmVnaW9uIHNoUmVwZWF0ICAgbWF0Y2hncm91cD1zaExvb3AgICBzdGFydD0iXDx3aGlsZVw+IiBlbmQ9Ilw8ZG9cPiJtZT1lLTIJCWNvbnRhaW5zPUBzaExvb3BMaXN0Cisgc3luIHJlZ2lvbiBzaFJlcGVhdCAgIG1hdGNoZ3JvdXA9c2hMb29wICAgc3RhcnQ9Ilw8dW50aWxcPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCQljb250YWlucz1Ac2hMb29wTGlzdAorZW5kaWYKKworIiBDYXNlOiBjYXNlLi4uZXNhYworIiA9PT09CitzeW4gbWF0Y2ggICBzaENhc2VCYXIJY29udGFpbmVkIHNraXB3aGl0ZSAiW158ImAnKCldXHstfXwiaHM9ZQkJbmV4dGdyb3VwPXNoQ2FzZSxzaENhc2VTdGFydCxzaENhc2VCYXIsc2hDb21tZW50LHNoQ2FzZVNpbmdsZVF1b3RlLHNoQ2FzZURvdWJsZVF1b3RlCitzeW4gbWF0Y2ggICBzaENhc2VTdGFydAljb250YWluZWQgc2tpcHdoaXRlIHNraXBubCAiKCIJCQluZXh0Z3JvdXA9c2hDYXNlLHNoQ2FzZUJhcgorc3luIHJlZ2lvbiAgc2hDYXNlCWNvbnRhaW5lZCBza2lwd2hpdGUgc2tpcG5sIG1hdGNoZ3JvdXA9c2hTbmdsQ2FzZSBzdGFydD0iW14kKCldXHstfSkibXM9cyxocz1lICBlbmQ9Ijs7IiBlbmQ9ImVzYWMibWU9cy0xIGNvbnRhaW5zPUBzaENhc2VMaXN0IG5leHRncm91cD1zaENhc2VTdGFydCxzaENhc2UsLHNoQ29tbWVudAorc3luIHJlZ2lvbiAgc2hDYXNlRXNhYwltYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8Y2FzZVw+IiBlbmQ9Ilw8ZXNhY1w+Igljb250YWlucz1Ac2hDYXNlRXNhY0xpc3QKK3N5biBrZXl3b3JkIHNoQ2FzZUluCWNvbnRhaW5lZCBza2lwd2hpdGUgc2tpcG5sIGluCQkJbmV4dGdyb3VwPXNoQ2FzZSxzaENhc2VTdGFydCxzaENhc2VCYXIsc2hDb21tZW50LHNoQ2FzZVNpbmdsZVF1b3RlLHNoQ2FzZURvdWJsZVF1b3RlCitzeW4gcmVnaW9uICBzaENhc2VTaW5nbGVRdW90ZQltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcLisgZW5kPSsnKwljb250YWlucz1zaFN0cmluZ1NwZWNpYWwJCXNraXB3aGl0ZSBza2lwbmwgbmV4dGdyb3VwPXNoQ2FzZUJhcgljb250YWluZWQKK3N5biByZWdpb24gIHNoQ2FzZURvdWJsZVF1b3RlCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9KyIrCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdCxzaFN0cmluZ1NwZWNpYWwJc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9c2hDYXNlQmFyCWNvbnRhaW5lZAorc3luIHJlZ2lvbiAgc2hDYXNlQ29tbWFuZFN1YglzdGFydD0rYCsgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9K2ArCQljb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAkJc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9c2hDYXNlQmFyCWNvbnRhaW5lZAorCisiIE1pc2MKKyI9PT09PQorc3luIG1hdGNoICAgc2hXcmFwTGluZU9wZXJhdG9yICJcXCQiCitzeW4gcmVnaW9uICBzaENvbW1hbmRTdWIgICBzdGFydD0iYCIgc2tpcD0iXFxcXFx8XFwuIiBlbmQ9ImAiIGNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0CisKKyIgJCguLikgaXMgbm90IHN1cHBvcnRlZCBieSBzaCAoQm91cm5lIHNoZWxsKS4gIEhvd2V2ZXIsIGFwcGFyZW50bHkKKyIgc29tZSBzeXN0ZW1zIChIUD8pIGhhdmUgYXMgdGhlaXIgL2Jpbi9zaCBhIChsaW5rIHRvKSBLb3JuIHNoZWxsCisiIChpZS4gUG9zaXggY29tcGxpYW50IHNoZWxsKS4gIC9iaW4va3NoIHNob3VsZCB3b3JrIGZvciB0aG9zZQorIiBzeXN0ZW1zIHRvbywgaG93ZXZlciwgc28gdGhlIGZvbGxvd2luZyBzeW50YXggd2lsbCBmbGFnICQoLi4pIGFzCisiIGFuIEVycm9yIHVuZGVyIC9iaW4vc2guICBCeSBjb25zZW5zdXMgb2YgdmltZGV2J2VycyEKK2lmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCisgc3luIHJlZ2lvbiBzaENvbW1hbmRTdWIgbWF0Y2hncm91cD1zaENtZFN1YlJlZ2lvbiBzdGFydD0iXCQoIiAgc2tpcD0nXFxcXFx8XFwuJyBlbmQ9IikiICBjb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAorIHN5biByZWdpb24gc2hBcml0aG1ldGljIG1hdGNoZ3JvdXA9c2hBcml0aFJlZ2lvbiAgc3RhcnQ9IlwkKCgiIHNraXA9J1xcXFxcfFxcLicgZW5kPSIpKSIgY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKKyBzeW4gbWF0Y2ggIHNoU2tpcEluaXRXUyBjb250YWluZWQJIl5cc1wrIgorZWxzZQorIHN5biByZWdpb24gc2hDb21tYW5kU3ViIG1hdGNoZ3JvdXA9RXJyb3Igc3RhcnQ9IiQoIiBlbmQ9IikiIGNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0CitlbmRpZgorCitpZiBleGlzdHMoImI6aXNfYmFzaCIpCisgc3luIGNsdXN0ZXIgc2hDb21tYW5kU3ViTGlzdCBhZGQ9YmFzaFNwZWNpYWxWYXJpYWJsZXMsYmFzaFN0YXRlbWVudAorIHN5biBjbHVzdGVyIHNoQ2FzZUxpc3QgYWRkPWJhc2hBZG1pblN0YXRlbWVudCxiYXNoU3RhdGVtZW50Cisgc3luIGtleXdvcmQgYmFzaFNwZWNpYWxWYXJpYWJsZXMgY29udGFpbmVkIEJBU0ggQkFTSF9FTlYgQkFTSF9WRVJTSU5GTyBCQVNIX1ZFUlNJT04gQ0RQQVRIIERJUlNUQUNLIEVVSUQgRkNFRElUIEZJR05PUkUgR0xPQklHTk9SRSBHUk9VUFMgSElTVENNRCBISVNUQ09OVFJPTCBISVNURklMRSBISVNURklMRVNJWkUgSElTVElHTk9SRSBISVNUU0laRSBIT01FIEhPU1RGSUxFIEhPU1ROQU1FIEhPU1RUWVBFIElGUyBJR05PUkVFT0YgSU5QVVRSQyBMQU5HIExDX0FMTCBMQ19DT0xMQVRFIExDX01FU1NBR0VTIExJTkVOTyBNQUNIVFlQRSBNQUlMIE1BSUxDSEVDSyBNQUlMUEFUSCBPTERQV0QgT1BUQVJHIE9QVEVSUiBPUFRJTkQgT1NUWVBFIFBBVEggUElQRVNUQVRVUyBQUElEIFBST01QVF9DT01NQU5EIFBTMSBQUzIgUFMzIFBTNCBQV0QgUkFORE9NIFJFUExZIFNFQ09ORFMgU0hFTExPUFRTIFNITFZMIFRJTUVGT1JNQVQgVElNRU9VVCBVSUQgYXV0b19yZXN1bWUgaGlzdGNoYXJzCisgc3luIGtleXdvcmQgYmFzaFN0YXRlbWVudCBjaG1vZCBjbGVhciBjb21wbGV0ZSBkdSBlZ3JlcCBleHByIGZncmVwIGZpbmQgZ251ZmluZCBnbnVncmVwIGdyZXAgaW5zdGFsbCBsZXNzIGxzIG1rZGlyIG12IHJtIHJtZGlyIHJwbSBzZWQgc2xlZXAgc29ydCBzdHJpcCB0YWlsIHRvdWNoCisgc3luIGtleXdvcmQgYmFzaEFkbWluU3RhdGVtZW50IGRhZW1vbiBraWxsYWxsIGtpbGxwcm9jIG5pY2UgcmVsb2FkIHJlc3RhcnQgc3RhcnQgc3RhdHVzIHN0b3AKK2VuZGlmCisKK2lmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKQorIHN5biBjbHVzdGVyIHNoQ29tbWFuZFN1Ykxpc3QgYWRkPWtzaFNwZWNpYWxWYXJpYWJsZXMsa3NoU3RhdGVtZW50Cisgc3luIGNsdXN0ZXIgc2hDYXNlTGlzdCBhZGQ9a3NoU3RhdGVtZW50Cisgc3luIGtleXdvcmQga3NoU3BlY2lhbFZhcmlhYmxlcyBjb250YWluZWQgQ0RQQVRIIENPTFVNTlMgRURJVE9SIEVOViBFUlJOTyBGQ0VESVQgRlBBVEggSElTVEZJTEUgSElTVFNJWkUgSE9NRSBJRlMgTElORU5PIExJTkVTIE1BSUwgTUFJTENIRUNLIE1BSUxQQVRIIE9MRFBXRCBPUFRBUkcgT1BUSU5EIFBBVEggUFBJRCBQUzEgUFMyIFBTMyBQUzQgUFdEIFJBTkRPTSBSRVBMWSBTRUNPTkRTIFNIRUxMIFRNT1VUIFZJU1VBTAorIHN5biBrZXl3b3JkIGtzaFN0YXRlbWVudCBjYXQgY2htb2QgY2xlYXIgY3AgZHUgZWdyZXAgZXhwciBmZ3JlcCBmaW5kIGdyZXAgaW5zdGFsbCBraWxsYWxsIGxlc3MgbHMgbWtkaXIgbXYgbmljZSBwcmludGVudiBybSBybWRpciBzZWQgc29ydCBzdHJpcCBzdHR5IHRhaWwgdG91Y2ggdHB1dAorZW5kaWYKKworc3luIG1hdGNoICAgc2hTb3VyY2UJIl5cLlxzIgorc3luIG1hdGNoICAgc2hTb3VyY2UJIlxzXC5ccyIKK3N5biByZWdpb24gIHNoQ29sb24Jc3RhcnQ9Il5ccyo6IiBlbmQ9IiRcfCIgZW5kPSIjIm1lPWUtMSBjb250YWlucz1Ac2hDb2xvbkxpc3QKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb25zdGFudHMKKyI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitzeW4gbWF0Y2ggICBzaE51bWJlcgkiLVw9XDxcZFwrXD4iCitzeW4gbWF0Y2ggICBzaFNwZWNpYWwJIlxcXGRcZFxkXHxcXFthYmNmbnJ0djBdIgljb250YWluZWQKK3N5biByZWdpb24gIHNoU2luZ2xlUXVvdGUJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PSsnKyBlbmQ9KycrCQljb250YWlucz1zaFN0cmluZ1NwZWNpYWwKK3N5biByZWdpb24gIHNoRG91YmxlUXVvdGUJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PSsiKyBza2lwPStcXCIrIGVuZD0rIisJY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0LHNoU3RyaW5nU3BlY2lhbAorc3luIG1hdGNoICAgc2hTdHJpbmdTcGVjaWFsCSJbXls6cHJpbnQ6XV0iCWNvbnRhaW5lZAorc3luIG1hdGNoICAgc2hTcGVjaWFsCSJcXFtcXFwiXCdgJCgpI10iCisKKyIgQ29tbWVudHMKKyI9PT09PT09PT0KK3N5biBjbHVzdGVyICAgIHNoQ29tbWVudEdyb3VwCWNvbnRhaW5zPXNoVG9kbyxAU3BlbGwKK3N5biBrZXl3b3JkICAgIHNoVG9kbwljb250YWluZWQJVE9ETworc3luIG1hdGNoICAgICAgc2hDb21tZW50CSIjLiokIiBjb250YWlucz1Ac2hDb21tZW50R3JvdXAKKworIiBGaWxlIHJlZGlyZWN0aW9uIGhpZ2hsaWdodGVkIGFzIG9wZXJhdG9ycworIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPT5cKCZbLTAtOV1cKVw9Igorc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPT4+LVw9Igorc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPTxcKCZbLTAtOV1cKVw9Igorc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGQ8PC1cPSIKKworIiBTaGVsbCBJbnB1dCBSZWRpcmVjdGlvbiAoSGVyZSBEb2N1bWVudHMpCitpZiB2ZXJzaW9uIDwgNjAwCisgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlwqKkVORFthLXpBLVpfMC05XSpcKioiICBtYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeRU5EW2EtekEtWl8wLTldKiQiIGNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAorIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXCoqRU5EW2EtekEtWl8wLTldKlwqKiIgbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKkVORFthLXpBLVpfMC05XSokIiBjb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKKyBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8XHMqXCoqRU9GXCoqIgltYXRjaGdyb3VwPXNoUmVkaXIJZW5kPSJeRU9GJCIJY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0Cisgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PC1ccypcKipFT0ZcKioiIG1hdGNoZ3JvdXA9c2hSZWRpcgllbmQ9Il5ccypFT0YkIgljb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKKyBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8XHMqXCoqXC5cKioiCW1hdGNoZ3JvdXA9c2hSZWRpcgllbmQ9Il5cLiQiCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAorIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXCoqXC5cKioiCW1hdGNoZ3JvdXA9c2hSZWRpcgllbmQ9Il5ccypcLiQiCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAorCitlbHNlaWYgZzpzaF9mb2xkX2VuYWJsZWQKKworIGlmIHY6dmVyc2lvbiA+IDYwMiB8fCAodjp2ZXJzaW9uID09IDYwMiAmJiBoYXMoInBhdGNoMjE5IikpCisgIHN5biByZWdpb24gc2hIZXJlRG9jIGZvbGQgc3RhcnQ9IlwoPDxccypcXFw9XHooXFMqXClcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIgkJY29udGFpbnM9QHNoSGVyZUxpc3REUQlrZWVwZW5kCisgIHN5biByZWdpb24gc2hIZXJlRG9jIGZvbGQgc3RhcnQ9IlwoPDxccypcIlx6KFxTKlwpXCJcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIiIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PFxzKidceihcUypcKSdcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIiIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PFxzKlxcXF8kXF9zKlx6KFxTKlwpXClcQD0iCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIiIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PFxzKlxcXF8kXF9zKlwiXHooXFMqXClcIlwpXEA9IgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIiCQljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCisgIHN5biByZWdpb24gc2hIZXJlRG9jIGZvbGQgc3RhcnQ9IlwoPDxccypcXFxfJFxfcyonXHooXFMqXCknXClcQD0iCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIgkJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBmb2xkIHN0YXJ0PSJcKDw8LVxzKlx6KFxTKlwpXClcQD0iCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBmb2xkIHN0YXJ0PSJcKDw8LVxzKlwiXHooXFMqXClcIlwpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiIgljb250YWlucz1Ac2hIZXJlTGlzdERRCWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PC1ccyonXHooXFMqXCknXClcQD0iCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PC1ccypcXFxfJFxfcyonXHooXFMqXCknXClcQD0iCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypcejEkIgljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCisgIHN5biByZWdpb24gc2hIZXJlRG9jIGZvbGQgc3RhcnQ9IlwoPDwtXHMqXFxcXyRcX3MqXHooXFMqXClcKVxAPSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgZm9sZCBzdGFydD0iXCg8PC1ccypcXFxfJFxfcypcIlx6KFxTKlwpXCJcKVxAPSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyBlbHNlCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PFxzKlx6KFxTKlwpIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCQljb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8XHMqXCJceihcUypcKVwiIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PFxzKidceihcUypcKSciCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8LVxzKlx6KFxTKlwpIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgZm9sZCBzdGFydD0iPDwtXHMqXCJceihcUypcKVwiIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PC1ccyonXHooXFMqXCknIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PFxzKlxcXF8kXF9zKlx6KFxTKlwpIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PFxzKlxcXF8kXF9zKlwiXHooXFMqXClcIiIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PC1ccypcXFxfJFxfcyonXHooXFMqXCknIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8LVxzKlxcXF8kXF9zKlx6KFxTKlwpIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBmb2xkIHN0YXJ0PSI8PC1ccypcXFxfJFxfcypcIlx6KFxTKlwpXCIiCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypcejEkIgorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgZm9sZCBzdGFydD0iPDxccypcXFxfJFxfcyonXHooXFMqXCknIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCisgZW5kaWYKK2Vsc2UKKyBpZiB2OnZlcnNpb24gPiA2MDIgfHwgKHY6dmVyc2lvbiA9PSA2MDIgJiYgaGFzKCJwYXRjaDIxOSIpKQorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PFxzKlxcXD1ceihcUypcKVwpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCQljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCisgIHN5biByZWdpb24gc2hIZXJlRG9jIHN0YXJ0PSJcKDw8XHMqXCJceihcUypcKVwiXClcQD0iCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIiCQljb250YWlucz1Ac2hIZXJlTGlzdERRCWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDxccyonXHooXFMqXCknXClcQD0iCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIiCQljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCisgIHN5biByZWdpb24gc2hIZXJlRG9jIHN0YXJ0PSJcKDw8XHMqXFxcXyRcX3MqXHooXFMqXClcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIiIJCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDxccypcXFxfJFxfcypcIlx6KFxTKlwpXCJcKVxAPSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiIgkJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PFxzKlxcXF8kXF9zKidceihcUypcKSdcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejEkIgkJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PC1ccypceihcUypcKVwpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDwtXHMqXCJceihcUypcKVwiXClcQD0iCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIiCWNvbnRhaW5zPUBzaEhlcmVMaXN0RFEJa2VlcGVuZAorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBzdGFydD0iXCg8PC1ccyonXHooXFMqXCknXClcQD0iCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDwtXHMqXFxcXyRcX3MqJ1x6KFxTKlwpJ1wpXEA9IgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCWNvbnRhaW5zPUBzaEhlcmVMaXN0CWtlZXBlbmQKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2Mgc3RhcnQ9IlwoPDwtXHMqXFxcXyRcX3MqXHooXFMqXClcKVxAPSIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypcejEkIgljb250YWlucz1Ac2hIZXJlTGlzdAlrZWVwZW5kCisgIHN5biByZWdpb24gc2hIZXJlRG9jIHN0YXJ0PSJcKDw8LVxzKlxcXF8kXF9zKlwiXHooXFMqXClcIlwpXEA9IgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIJY29udGFpbnM9QHNoSGVyZUxpc3QJa2VlcGVuZAorIGVsc2UKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlxcXD1ceihcUypcKSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiICAgIGNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8XHMqXCJceihcUypcKVwiIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PC1ccypceihcUypcKSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiIGNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8LVxzKidceihcUypcKSciCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5ccypcejEkIgorICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8XHMqJ1x6KFxTKlwpJyIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXCJceihcUypcKVwiIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlxcXF8kXF9zKlx6KFxTKlwpIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PC1ccypcXFxfJFxfcypceihcUypcKSIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXFxcXyRcX3MqJ1x6KFxTKlwpJyIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDxccypcXFxfJFxfcyonXHooXFMqXCknIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxJCIKKyAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlxcXF8kXF9zKlwiXHooXFMqXClcIiIJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MSQiCisgIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXFxcXyRcX3MqXCJceihcUypcKVwiIgltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHMqXHoxJCIKKyBlbmRpZgorIGlmIHY6dmVyc2lvbiA+IDYwMiB8fCAodjp2ZXJzaW9uID09IDYwMiAmJiBoYXMoInBhdGNoMjE5IikpCisgIHN5biBtYXRjaCAgc2hIZXJlUGF5bG9hZCAiXi4qJCIJY29udGFpbmVkCXNraXBubAluZXh0Z3JvdXA9c2hIZXJlUGF5bG9hZAljb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKKyAgc3luIG1hdGNoICBzaEJlZ2luTGluZSAiLiokIgkJY29udGFpbmVkCXNraXBubAluZXh0Z3JvdXA9c2hIZXJlUGF5bG9hZAljb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAorICBzeW4gbWF0Y2ggIHNoQmVnaW5IZXJlICI8PC1cPVxzKlxTXCsiCWNvbnRhaW5lZAkJbmV4dGdyb3VwPXNoQmVnaW5MaW5lCisgZW5kaWYKKyBpZiBleGlzdHMoImI6aXNfYmFzaCIpCisgIHN5biBtYXRjaCBzaFJlZGlyICI8PDwiCisgZW5kaWYKK2VuZGlmCisKKyIgSWRlbnRpZmllcnMKKyI9PT09PT09PT09PT0KK3N5biBtYXRjaCAgc2hWYXJpYWJsZSAiXDxcKFtid2dsc2F2XTpcKVw9W2EtekEtWjAtOS4hQF8lKyxdKlx6ZT0iCW5leHRncm91cD1zaFNldElkZW50aWZpZXIKK3N5biBtYXRjaCAgc2hJZFdoaXRlU3BhY2UgIGNvbnRhaW5lZAkiXHMiCitzeW4gbWF0Y2ggIHNoU2V0SWRlbnRpZmllciBjb250YWluZWQJIj0iCW5leHRncm91cD1zaFBhdHRlcm4sc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoRG91YmxlUXVvdGUsc2hTaW5nbGVRdW90ZQoraWYgZXhpc3RzKCJiOmlzX2Jhc2giKQorICBzeW4gcmVnaW9uIHNoU2V0TGlzdCBtYXRjaGdyb3VwPXNoU2V0IHN0YXJ0PSJcPFwoZGVjbGFyZVx8dHlwZXNldFx8bG9jYWxcfGV4cG9ydFx8dW5zZXRcKVw+W14vXSJtZT1lLTEgZW5kPSIkIiBtYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJbOyZdIm1lPWUtMSBtYXRjaGdyb3VwPU5PTkUgZW5kPSIjXHw9Im1lPWUtMSBjb250YWlucz1Ac2hJZExpc3QKKyAgc3luIHJlZ2lvbiBzaFNldExpc3QgbWF0Y2hncm91cD1zaFNldCBzdGFydD0iXDxzZXRcPlteL10ibWU9ZS0xIGVuZD0iJCIgZW5kPSJbfCldIm1lPWUtMQkJIG1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9Ils7Jl0ibWU9ZS0xIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IlsjPV0ibWU9ZS0xIGNvbnRhaW5zPUBzaElkTGlzdAorICBzeW4gbWF0Y2ggIHNoU2V0ICJcPFwoZGVjbGFyZVx8dHlwZXNldFx8bG9jYWxcfGV4cG9ydFx8c2V0XHx1bnNldFwpJCIKK2Vsc2VpZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikKKyAgc3luIHJlZ2lvbiBzaFNldExpc3QgbWF0Y2hncm91cD1zaFNldCBzdGFydD0iXDxcKHR5cGVzZXRcfGV4cG9ydFx8dW5zZXRcKVw+W14vXSJtZT1lLTEgZW5kPSIkIgltYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJbOyZdIm1lPWUtMSBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbIz1dIm1lPWUtMSBjb250YWlucz1Ac2hJZExpc3QKKyAgc3luIHJlZ2lvbiBzaFNldExpc3QgbWF0Y2hncm91cD1zaFNldCBzdGFydD0iXDxzZXRcPlteL10ibWU9ZS0xIGVuZD0iJCIJCQltYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJbOyZdIm1lPWUtMSBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbIz1dIm1lPWUtMSBjb250YWlucz1Ac2hJZExpc3QKKyAgc3luIG1hdGNoICBzaFNldCAiXDxcKHR5cGVzZXRcfHNldFx8ZXhwb3J0XHx1bnNldFwpJCIKK2Vsc2UKKyAgc3luIHJlZ2lvbiBzaFNldExpc3QgbWF0Y2hncm91cD1zaFNldCBzdGFydD0iXDxcKHNldFx8ZXhwb3J0XHx1bnNldFwpXD5bXi9dIm1lPWUtMSBlbmQ9IiQiIGVuZD0iWyl8XSJtZT1lLTEJbWF0Y2hncm91cD1zaE9wZXJhdG9yIGVuZD0iWzsmXSIgbWF0Y2hncm91cD1OT05FIGVuZD0iWyM9XSJtZT1lLTEgY29udGFpbnM9QHNoSWRMaXN0CisgIHN5biBtYXRjaCAgc2hTdGF0ZW1lbnQgIlw8XChzZXRcfGV4cG9ydFx8dW5zZXRcKSQiCitlbmRpZgorCisiIGhhbmRsZXMgZnVuY3Rpb25zIHdoaWNoIHN0YXJ0OiAgRnVuY3Rpb24gKCkgeworIiAgIEFwcGFyZW50bHkgQm91cm5lIHNoZWxsIGFjY2VwdHMgZnVuY3Rpb25zIHRvbywKKyIgICBldmVuIHRob3VnaCBpdCBpc24ndCBkb2N1bWVudGVkIGJ5IG15IG1hbiBwYWdlcworIiAgIGZvciBpdC4KK3N5biBjbHVzdGVyIHNoQ29tbWFuZFN1Ykxpc3QgIGFkZD1ia3NoRnVuY3Rpb24KK2lmIGc6c2hfZm9sZF9lbmFibGVkCisgc3luIHJlZ2lvbiBia3NoRnVuY3Rpb25Cb2R5CXRyYW5zcGFyZW50IGZvbGQJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Il5ccypcPFxoXHcqXD5ccyooKVxzKnsiIGVuZD0ifSIgY29udGFpbnM9YmtzaEZ1bmN0aW9uLGJrc2hGdW5jdGlvbkRlbGltLEBzaEZ1bmN0aW9uTGlzdAorZWxzZQorIHN5biByZWdpb24gYmtzaEZ1bmN0aW9uQm9keQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXlxzKlw8XGhcdypcPlxzKigpXHMqeyIgZW5kPSJ9IiBjb250YWlucz1ia3NoRnVuY3Rpb24sYmtzaEZ1bmN0aW9uRGVsaW0sQHNoRnVuY3Rpb25MaXN0CitlbmRpZgorc3luIG1hdGNoIGJrc2hGdW5jdGlvbgkiXlxzKlw8XGhcdypcPlxzKigpIglza2lwd2hpdGUgc2tpcG5sIGNvbnRhaW5zPWJrc2hGdW5jdGlvblBhcmVuCitzeW4gbWF0Y2ggYmtzaEZ1bmN0aW9uUGFyZW4JIlsoKV0iCWNvbnRhaW5lZAorc3luIG1hdGNoIGJrc2hGdW5jdGlvbkRlbGltCSJbe31dIgljb250YWluZWQKKworIiBQYXJhbWV0ZXIgRGVyZWZlcmVuY2luZworIiA9PT09PT09PT09PT09PT09PT09PT09PQorc3luIG1hdGNoICBzaERlcmVmU2ltcGxlCSJcJFx3XCsiCitzeW4gcmVnaW9uIHNoRGVyZWYJbWF0Y2hncm91cD1QcmVQcm9jIHN0YXJ0PSJcJHsiIGVuZD0ifSIJY29udGFpbnM9QHNoRGVyZWZMaXN0LHNoRGVyZWZWYXJBcnJheQorc3luIG1hdGNoICBzaERlcmVmV29yZEVycm9yCSJbXn0kW10iCWNvbnRhaW5lZAorc3luIG1hdGNoICBzaERlcmVmU2ltcGxlCSJcJFstIypAIT9dIgorc3luIG1hdGNoICBzaERlcmVmU2ltcGxlCSJcJFwkIgoraWYgZXhpc3RzKCJiOmlzX2Jhc2giKSB8fCBleGlzdHMoImI6aXNfa29ybnNoZWxsIikKKyBzeW4gcmVnaW9uIHNoRGVyZWYJbWF0Y2hncm91cD1QcmVQcm9jIHN0YXJ0PSJcJHsjI1w9IiBlbmQ9In0iCWNvbnRhaW5zPUBzaERlcmVmTGlzdAorZW5kaWYKKworIiBiYXNoIDogJHshcHJlZml4Kn0KKyIgYmFzaCA6ICR7I3BhcmFtZXRlcn0KK2lmIGV4aXN0cygiYjppc19iYXNoIikKKyBzeW4gcmVnaW9uIHNoRGVyZWYJbWF0Y2hncm91cD1QcmVQcm9jIHN0YXJ0PSJcJHshIiBlbmQ9IlwqXD19Igljb250YWlucz1Ac2hEZXJlZkxpc3Qsc2hEZXJlZk9wCisgc3luIG1hdGNoICBzaERlcmVmVmFyCWNvbnRhaW5lZAkie1xAPD0hXHdcKyIJCW5leHRncm91cD1Ac2hEZXJlZlZhckxpc3QKK2VuZGlmCisKK3N5biBtYXRjaCAgc2hEZXJlZlNwZWNpYWwJY29udGFpbmVkCSJ7XEA8PVstKkA/MF0iCQluZXh0Z3JvdXA9c2hEZXJlZk9wLHNoRGVyZWZPcEVycm9yCitzeW4gbWF0Y2ggIHNoRGVyZWZTcGVjaWFsCWNvbnRhaW5lZAkiXCh7WyMhXVwpXEA8PVtbOmFsbnVtOl0qQF9dXCsiCW5leHRncm91cD1Ac2hEZXJlZlZhckxpc3Qsc2hEZXJlZk9wCitzeW4gbWF0Y2ggIHNoRGVyZWZWYXIJY29udGFpbmVkCSJ7XEA8PVx3XCsiCQluZXh0Z3JvdXA9QHNoRGVyZWZWYXJMaXN0CisKKyIgc2gga3NoIGJhc2ggOiAke3ZhclsuLi4gXS4uLn0gIGFycmF5IHJlZmVyZW5jZQorc3luIHJlZ2lvbiAgc2hEZXJlZlZhckFycmF5ICAgY29udGFpbmVkCW1hdGNoZ3JvdXA9c2hEZXJlZiBzdGFydD0iXFsiIGVuZD0iXSIJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QgbmV4dGdyb3VwPXNoRGVyZWZPcCxzaERlcmVmT3BFcnJvcgorCisiIHNoIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXI6LXdvcmR9ICAgIHdvcmQgaXMgZGVmYXVsdCB2YWx1ZQorIiBzaCBrc2ggYmFzaCA6ICR7cGFyYW1ldGVyOj13b3JkfSAgICBhc3NpZ24gd29yZCBhcyBkZWZhdWx0IHZhbHVlCisiIHNoIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXI6P3dvcmR9ICAgIGRpc3BsYXkgd29yZCBpZiBwYXJhbWV0ZXIgaXMgbnVsbAorIiBzaCBrc2ggYmFzaCA6ICR7cGFyYW1ldGVyOit3b3JkfSAgICB1c2Ugd29yZCBpZiBwYXJhbWV0ZXIgaXMgbm90IG51bGwsIG90aGVyd2lzZSBub3RoaW5nCisiICAgIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXIjcGF0dGVybn0gIHJlbW92ZSBzbWFsbCBsZWZ0ICBwYXR0ZXJuCisiICAgIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXIjI3BhdHRlcm59IHJlbW92ZSBsYXJnZSBsZWZ0ICBwYXR0ZXJuCisiICAgIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXIlcGF0dGVybn0gIHJlbW92ZSBzbWFsbCByaWdodCBwYXR0ZXJuCisiICAgIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXIlJXBhdHRlcm59IHJlbW92ZSBsYXJnZSByaWdodCBwYXR0ZXJuCitzeW4gY2x1c3RlciBzaERlcmVmUGF0dGVybkxpc3QJY29udGFpbnM9c2hEZXJlZlBhdHRlcm4sc2hEZXJlZlN0cmluZworc3luIG1hdGNoIHNoRGVyZWZPcEVycm9yCWNvbnRhaW5lZAkiOltbOnB1bmN0Ol1dIgorc3luIG1hdGNoICBzaERlcmVmT3AJY29udGFpbmVkCSI6XD1bLT0/XSIJbmV4dGdyb3VwPUBzaERlcmVmUGF0dGVybkxpc3QKK3N5biBtYXRjaCAgc2hEZXJlZk9wCWNvbnRhaW5lZAkiOlw9KyIJbmV4dGdyb3VwPUBzaERlcmVmUGF0dGVybkxpc3QKK2lmIGV4aXN0cygiYjppc19iYXNoIikgfHwgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpCisgc3luIG1hdGNoICBzaERlcmVmT3AJY29udGFpbmVkCSIjXHsxLDJ9IgluZXh0Z3JvdXA9QHNoRGVyZWZQYXR0ZXJuTGlzdAorIHN5biBtYXRjaCAgc2hEZXJlZk9wCWNvbnRhaW5lZAkiJVx7MSwyfSIJbmV4dGdyb3VwPUBzaERlcmVmUGF0dGVybkxpc3QKKyBzeW4gbWF0Y2ggIHNoRGVyZWZQYXR0ZXJuCWNvbnRhaW5lZAkiW157fV1cKyIJY29udGFpbnM9c2hEZXJlZixzaERlcmVmU2ltcGxlLHNoRGVyZWZQYXR0ZXJuLHNoRGVyZWZTdHJpbmcsc2hDb21tYW5kU3ViIG5leHRncm91cD1zaERlcmVmUGF0dGVybgorIHN5biByZWdpb24gc2hEZXJlZlBhdHRlcm4JY29udGFpbmVkCXN0YXJ0PSJ7IiBlbmQ9In0iCWNvbnRhaW5zPXNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERlcmVmU3RyaW5nLHNoQ29tbWFuZFN1YiBuZXh0Z3JvdXA9c2hEZXJlZlBhdHRlcm4KK2VuZGlmCitzeW4gcmVnaW9uIHNoRGVyZWZTdHJpbmcJY29udGFpbmVkCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBzdGFydD0rJysgZW5kPSsnKwkJY29udGFpbnM9c2hTdHJpbmdTcGVjaWFsCitzeW4gcmVnaW9uIHNoRGVyZWZTdHJpbmcJY29udGFpbmVkCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdCxzaFN0cmluZ1NwZWNpYWwKK3N5biBtYXRjaCAgc2hEZXJlZlN0cmluZwljb250YWluZWQJIlxcWyInXSIKKworIgliYXNoIDogJHtwYXJhbWV0ZXI6b2Zmc2V0fQorIgliYXNoIDogJHtwYXJhbWV0ZXI6b2Zmc2V0Omxlbmd0aH0KKyIJYmFzaCA6ICR7cGFyYW1ldGVyLy9wYXR0ZXJuL3N0cmluZ30KKyIJYmFzaCA6ICR7cGFyYW1ldGVyLy9wYXR0ZXJufQoraWYgZXhpc3RzKCJiOmlzX2Jhc2giKQorIHN5biByZWdpb24gc2hEZXJlZk9wCWNvbnRhaW5lZAlzdGFydD0iOlskWzphbG51bTpdX10ibWU9ZS0xIGVuZD0iOiJtZT1lLTEgZW5kPSJ9Im1lPWUtMSBjb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdCBuZXh0Z3JvdXA9c2hEZXJlZlBPTAorIHN5biBtYXRjaCAgc2hEZXJlZlBPTAljb250YWluZWQJIjpbXn1dXHsxLH0iCWNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0Cisgc3luIG1hdGNoICBzaERlcmVmT3AJY29udGFpbmVkCSIvXHsxLDJ9IgluZXh0Z3JvdXA9c2hEZXJlZlBhdAorIHN5biBtYXRjaCAgc2hEZXJlZlBhdAljb250YWluZWQJIlteL31dXHsxLH0iCW5leHRncm91cD1zaERlcmVmUGF0U3RyaW5nT3AKKyBzeW4gbWF0Y2ggIHNoRGVyZWZQYXRTdHJpbmdPcAljb250YWluZWQJIi8iCW5leHRncm91cD1zaERlcmVmUGF0U3RyaW5nCisgc3luIG1hdGNoICBzaERlcmVmUGF0U3RyaW5nCWNvbnRhaW5lZAkiW159XVx7MSx9IgorZW5kaWYKKworIiBBIGJ1bmNoIG9mIHVzZWZ1bCBzaCBrZXl3b3Jkcworc3luIGtleXdvcmQgc2hTdGF0ZW1lbnQgYnJlYWsgY2QgY2hkaXIgY29udGludWUgZXZhbCBleGVjIGV4aXQga2lsbCBuZXdncnAgcHdkIHJlYWQgcmVhZG9ubHkgcmV0dXJuIHNoaWZ0IHRlc3QgdHJhcCB1bGltaXQgdW1hc2sgd2FpdAorc3luIGtleXdvcmQgc2hDb25kaXRpb25hbCBjb250YWluZWQgZWxpZiBlbHNlIHRoZW4KK3N5biBrZXl3b3JkIHNoQ29uZEVycm9yIGVsaWYgZWxzZSB0aGVuCisKK2lmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCisgc3luIGtleXdvcmQgc2hGdW5jdGlvbglmdW5jdGlvbgorIHN5biBrZXl3b3JkIHNoU3RhdGVtZW50IGF1dG9sb2FkIGJnIGZhbHNlIGZjIGZnIGZ1bmN0aW9ucyBnZXRvcHRzIGhhc2ggaGlzdG9yeSBpbnRlZ2VyIGpvYnMgbGV0IG5vaHVwIHByaW50IHByaW50ZiByIHN0b3Agc3VzcGVuZCB0aW1lIHRpbWVzIHRydWUgdHlwZSB1bmFsaWFzIHdoZW5jZQorCisgaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQorICBzeW4ga2V5d29yZCBzaFN0YXRlbWVudCBiaW5kIGJ1aWx0aW4gZGlycyBkaXNvd24gZW5hYmxlIGhlbHAgbG9jYWwgbG9nb3V0IHBvcGQgcHVzaGQgc2hvcHQgc291cmNlCisgZWxzZQorICBzeW4ga2V5d29yZCBzaFN0YXRlbWVudCBsb2dpbiBuZXdncnAKKyBlbmRpZgorZW5kaWYKKworIiBTeW5jcworIiA9PT09PQoraWYgIWV4aXN0cygic2hfbWlubGluZXMiKQorICBsZXQgc2hfbWlubGluZXMgPSAyMDAKK2VuZGlmCitpZiAhZXhpc3RzKCJzaF9tYXhsaW5lcyIpCisgIGxldCBzaF9tYXhsaW5lcyA9IDIgKiBzaF9taW5saW5lcworZW5kaWYKK2V4ZWMgInN5biBzeW5jIG1pbmxpbmVzPSIgLiBzaF9taW5saW5lcyAuICIgbWF4bGluZXM9IiAuIHNoX21heGxpbmVzCitzeW4gc3luYyBtYXRjaCBzaENhc2VFc2FjU3luYwlncm91cGhlcmUJc2hDYXNlRXNhYwkiXDxjYXNlXD4iCitzeW4gc3luYyBtYXRjaCBzaENhc2VFc2FjU3luYwlncm91cHRoZXJlCXNoQ2FzZUVzYWMJIlw8ZXNhY1w+Igorc3luIHN5bmMgbWF0Y2ggc2hEb1N5bmMJZ3JvdXBoZXJlCXNoRG8JIlw8ZG9cPiIKK3N5biBzeW5jIG1hdGNoIHNoRG9TeW5jCWdyb3VwdGhlcmUJc2hEbwkiXDxkb25lXD4iCitzeW4gc3luYyBtYXRjaCBzaEZvclN5bmMJZ3JvdXBoZXJlCXNoRm9yCSJcPGZvclw+Igorc3luIHN5bmMgbWF0Y2ggc2hGb3JTeW5jCWdyb3VwdGhlcmUJc2hGb3IJIlw8aW5cPiIKK3N5biBzeW5jIG1hdGNoIHNoSWZTeW5jCWdyb3VwaGVyZQlzaElmCSJcPGlmXD4iCitzeW4gc3luYyBtYXRjaCBzaElmU3luYwlncm91cHRoZXJlCXNoSWYJIlw8ZmlcPiIKK3N5biBzeW5jIG1hdGNoIHNoVW50aWxTeW5jCWdyb3VwaGVyZQlzaFJlcGVhdAkiXDx1bnRpbFw+Igorc3luIHN5bmMgbWF0Y2ggc2hXaGlsZVN5bmMJZ3JvdXBoZXJlCXNoUmVwZWF0CSJcPHdoaWxlXD4iCisKKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgoraGkgZGVmIGxpbmsgc2hBcml0aFJlZ2lvbglzaFNoZWxsVmFyaWFibGVzCitoaSBkZWYgbGluayBzaENhc2VCYXIJc2hDb25kaXRpb25hbAoraGkgZGVmIGxpbmsgc2hDYXNlSW4Jc2hDb25kaXRpb25hbAoraGkgZGVmIGxpbmsgc2hDYXNlQ29tbWFuZFN1YglzaENvbW1hbmRTdWIKK2hpIGRlZiBsaW5rIHNoQ2FzZURvdWJsZVF1b3RlCXNoRG91YmxlUXVvdGUKK2hpIGRlZiBsaW5rIHNoQ2FzZVNpbmdsZVF1b3RlCXNoU2luZ2xlUXVvdGUKK2hpIGRlZiBsaW5rIHNoQ2FzZVN0YXJ0CXNoQ29uZGl0aW9uYWwKK2hpIGRlZiBsaW5rIHNoQ21kU3ViUmVnaW9uCXNoU2hlbGxWYXJpYWJsZXMKK2hpIGRlZiBsaW5rIHNoQ29sb24Jc2hTdGF0ZW1lbnQKKworaGkgZGVmIGxpbmsgc2hEZXJlZglzaFNoZWxsVmFyaWFibGVzCitoaSBkZWYgbGluayBzaERlcmVmT3AJc2hPcGVyYXRvcgorCitoaSBkZWYgbGluayBzaERlcmVmVmFyCXNoRGVyZWYKK2hpIGRlZiBsaW5rIHNoRGVyZWZQT0wJc2hEZXJlZk9wCitoaSBkZWYgbGluayBzaERlcmVmUGF0U3RyaW5nCXNoRGVyZWZQYXR0ZXJuCitoaSBkZWYgbGluayBzaERlcmVmUGF0U3RyaW5nT3AJc2hEZXJlZk9wCitoaSBkZWYgbGluayBzaERlcmVmU2ltcGxlCXNoRGVyZWYKK2hpIGRlZiBsaW5rIHNoRGVyZWZTcGVjaWFsCXNoRGVyZWYKK2hpIGRlZiBsaW5rIHNoRGVyZWZTdHJpbmcJc2hEb3VibGVRdW90ZQoraGkgZGVmIGxpbmsgc2hIZXJlUGF5bG9hZAlzaEhlcmVEb2MKK2hpIGRlZiBsaW5rIHNoQmVnaW5IZXJlCXNoUmVkaXIKKworaGkgZGVmIGxpbmsgc2hEb3VibGVRdW90ZQlzaFN0cmluZworaGkgZGVmIGxpbmsgc2hFY2hvCXNoU3RyaW5nCitoaSBkZWYgbGluayBzaEVtYmVkZGVkRWNobwlzaFN0cmluZworaGkgZGVmIGxpbmsgc2hIZXJlRG9jCXNoU3RyaW5nCitoaSBkZWYgbGluayBzaExvb3AJc2hTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNoT3B0aW9uCXNoQ29tbWFuZFN1YgoraGkgZGVmIGxpbmsgc2hQYXR0ZXJuCXNoU3RyaW5nCitoaSBkZWYgbGluayBzaFBvc25QYXJtCXNoU2hlbGxWYXJpYWJsZXMKK2hpIGRlZiBsaW5rIHNoUmFuZ2UJc2hPcGVyYXRvcgoraGkgZGVmIGxpbmsgc2hSZWRpcglzaE9wZXJhdG9yCitoaSBkZWYgbGluayBzaFNpbmdsZVF1b3RlCXNoU3RyaW5nCitoaSBkZWYgbGluayBzaFNvdXJjZQlzaE9wZXJhdG9yCitoaSBkZWYgbGluayBzaFN0cmluZ1NwZWNpYWwJc2hTcGVjaWFsCitoaSBkZWYgbGluayBzaFN1YlNoUmVnaW9uCXNoT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHNoVGVzdE9wcglzaENvbmRpdGlvbmFsCitoaSBkZWYgbGluayBzaFZhcmlhYmxlCXNoU2V0TGlzdAoraGkgZGVmIGxpbmsgc2hXcmFwTGluZU9wZXJhdG9yCXNoT3BlcmF0b3IKKworaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQorICBoaSBkZWYgbGluayBiYXNoQWRtaW5TdGF0ZW1lbnQJc2hTdGF0ZW1lbnQKKyAgaGkgZGVmIGxpbmsgYmFzaFNwZWNpYWxWYXJpYWJsZXMJc2hTaGVsbFZhcmlhYmxlcworICBoaSBkZWYgbGluayBiYXNoU3RhdGVtZW50CQlzaFN0YXRlbWVudAorICBoaSBkZWYgbGluayBia3NoRnVuY3Rpb24JCUZ1bmN0aW9uCisgIGhpIGRlZiBsaW5rIGJrc2hGdW5jdGlvblBhcmVuCQlEZWxpbWl0ZXIKKyAgaGkgZGVmIGxpbmsgYmtzaEZ1bmN0aW9uRGVsaW0JCURlbGltaXRlcgorZW5kaWYKK2lmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKQorICBoaSBkZWYgbGluayBrc2hTcGVjaWFsVmFyaWFibGVzCXNoU2hlbGxWYXJpYWJsZXMKKyAgaGkgZGVmIGxpbmsga3NoU3RhdGVtZW50CQlzaFN0YXRlbWVudAorICBoaSBkZWYgbGluayBia3NoRnVuY3Rpb24JCUZ1bmN0aW9uCisgIGhpIGRlZiBsaW5rIGJrc2hGdW5jdGlvblBhcmVuCQlEZWxpbWl0ZXIKK2VuZGlmCisKK2hpIGRlZiBsaW5rIHNoQ2FzZUVycm9yCQlFcnJvcgoraGkgZGVmIGxpbmsgc2hDb25kRXJyb3IJCUVycm9yCitoaSBkZWYgbGluayBzaEN1cmx5RXJyb3IJCUVycm9yCitoaSBkZWYgbGluayBzaERlcmVmRXJyb3IJCUVycm9yCitoaSBkZWYgbGluayBzaERlcmVmT3BFcnJvcgkJRXJyb3IKK2hpIGRlZiBsaW5rIHNoRGVyZWZXb3JkRXJyb3IJCUVycm9yCitoaSBkZWYgbGluayBzaERvRXJyb3IJCUVycm9yCitoaSBkZWYgbGluayBzaEVzYWNFcnJvcgkJRXJyb3IKK2hpIGRlZiBsaW5rIHNoSWZFcnJvcgkJRXJyb3IKK2hpIGRlZiBsaW5rIHNoSW5FcnJvcgkJRXJyb3IKK2hpIGRlZiBsaW5rIHNoUGFyZW5FcnJvcgkJRXJyb3IKK2hpIGRlZiBsaW5rIHNoVGVzdEVycm9yCQlFcnJvcgoraWYgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpCisgIGhpIGRlZiBsaW5rIHNoRFRlc3RFcnJvcgkJRXJyb3IKK2VuZGlmCisKK2hpIGRlZiBsaW5rIHNoQXJpdGhtZXRpYwkJU3BlY2lhbAoraGkgZGVmIGxpbmsgc2hDaGFyQ2xhc3MJCUlkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHNoU25nbENhc2UJCVN0YXRlbWVudAoraGkgZGVmIGxpbmsgc2hDb21tYW5kU3ViCQlTcGVjaWFsCitoaSBkZWYgbGluayBzaENvbW1lbnQJCUNvbW1lbnQKK2hpIGRlZiBsaW5rIHNoQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCitoaSBkZWYgbGluayBzaEV4cHJSZWdpb24JCURlbGltaXRlcgoraGkgZGVmIGxpbmsgc2hGdW5jdGlvbgkJRnVuY3Rpb24KK2hpIGRlZiBsaW5rIHNoRnVuY3Rpb25OYW1lCQlGdW5jdGlvbgoraGkgZGVmIGxpbmsgc2hOdW1iZXIJCU51bWJlcgoraGkgZGVmIGxpbmsgc2hPcGVyYXRvcgkJT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHNoUmVwZWF0CQlSZXBlYXQKK2hpIGRlZiBsaW5rIHNoU2V0CQlTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNoU2V0TGlzdAkJSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgc2hTaGVsbFZhcmlhYmxlcwkJUHJlUHJvYworaGkgZGVmIGxpbmsgc2hTcGVjaWFsCQlTcGVjaWFsCitoaSBkZWYgbGluayBzaFN0YXRlbWVudAkJU3RhdGVtZW50CitoaSBkZWYgbGluayBzaFN0cmluZwkJU3RyaW5nCitoaSBkZWYgbGluayBzaFRvZG8JCVRvZG8KK2hpIGRlZiBsaW5rIHNoQWxpYXMJCUlkZW50aWZpZXIKKworIiBDdXJyZW50IFN5bnRheAorIiA9PT09PT09PT09PT09PQoraWYgZXhpc3RzKCJiOmlzX2Jhc2giKQorIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImJhc2giCitlbHNlaWYgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpCisgbGV0IGI6Y3VycmVudF9zeW50YXggPSAia3NoIgorZWxzZQorIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNoIgorZW5kaWYKKworIiB2aW06IHRzPTE2CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaWNhZC52aW0gYi9ydW50aW1lL3N5bnRheC9zaWNhZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UzMjQ1MQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NpY2FkLnZpbQpAQCAtMCwwICsxLDQxMyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBTaUNBRCAocHJvY2VkdXJlIGxhbmd1YWdlKQorIiBNYWludGFpbmVyOiAgIFpzb2x0IEJyYW55aWN6a3kgPHpicmFueWljemt5QGxtYXJrLm1neC5odT4KKyIgTGFzdCBDaGFuZ2U6ICAyMDAzIE1heSAxMQorIiBVUkw6CQlodHRwOi8vbG1hcmsubWd4Lmh1OjgxL2Rvd25sb2FkL3ZpbS9zaWNhZC52aW0KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIHVzZSBTUUwgaGlnaGxpZ2h0aW5nIGFmdGVyICdzcWwnIGNvbW1hbmQKK2lmIHZlcnNpb24gPj0gNjAwCisgIHN5biBpbmNsdWRlIEBTUUwgc3ludGF4L3NxbC52aW0KK2Vsc2UKKyAgc3luIGluY2x1ZGUgQFNRTCA8c2ZpbGU+OnA6aC9zcWwudmltCitlbmRpZgordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCisiIHNwYWNlcyBhcmUgdXNlZCBpbiAoYXV0bylpbmRlbnRzIHNpbmNlIHNpY2FkIGhhdGVzIHRhYnVsYXRvciBjaGFyYWN0ZXJzCitpZiB2ZXJzaW9uID49IDYwMAorICBzZXRsb2NhbCBleHBhbmR0YWIKK2Vsc2UKKyAgc2V0IGV4cGFuZHRhYgorZW5kaWYKKworIiBpZ25vcmUgY2FzZQorc3luIGNhc2UgaWdub3JlCisKKyIgbW9zdCBpbXBvcnRhbnQgY29tbWFuZHMgLSBub3QgbGlzdGVkIGJ5IGF1c2t1CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBkZWZpbmUKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGRpYWxvZworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZG8KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGRvcCBjb250YWluZWQKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGVuZAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZW5kZG8KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGVuZHAKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGVycm9mZgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZXJyb24KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGV4aXRwCitzeW4ga2V5d29yZCBzaWNhZEdvdG8gICAgICBnb3RvIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgaGgKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGlmCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBpbgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbXNnc3VwCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBvdXQKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHBhZGQKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHBhcmJlZworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcGFyZW5kCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBwZG9jCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBwcHJvdAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcHJvY2QKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHByb2NuCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBwc2F2CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBwc2VsCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBwc3ltYgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcHRyYWNlCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBwdHN0YXQKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHNldAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgc3FsIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgc3RlcAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgc3lzCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB3dworCisiIGZ1bmN0aW9ucworc3luIG1hdGNoIHNpY2FkU3RhdGVtZW50ICJcPGF0YW4oIm1lPWUtMQorc3luIG1hdGNoIHNpY2FkU3RhdGVtZW50ICJcPGF0YW4yKCJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZFN0YXRlbWVudCAiXDxjb3MoIm1lPWUtMQorc3luIG1hdGNoIHNpY2FkU3RhdGVtZW50ICJcPGRpc3QoIm1lPWUtMQorc3luIG1hdGNoIHNpY2FkU3RhdGVtZW50ICJcPGV4cCgibWU9ZS0xCitzeW4gbWF0Y2ggc2ljYWRTdGF0ZW1lbnQgIlw8bG9nKCJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZFN0YXRlbWVudCAiXDxsb2cxMCgibWU9ZS0xCitzeW4gbWF0Y2ggc2ljYWRTdGF0ZW1lbnQgIlw8c2luKCJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZFN0YXRlbWVudCAiXDxzcXJ0KCJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZFN0YXRlbWVudCAiXDx0YW5oKCJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZFN0YXRlbWVudCAiXDx4KCJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZFN0YXRlbWVudCAiXDx5KCJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZFN0YXRlbWVudCAiXDx2KCJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZFN0YXRlbWVudCAiXDx4JWdcPXBbMC05XVx7MSwyfVw+Im1lPXMrMQorc3luIG1hdGNoIHNpY2FkU3RhdGVtZW50ICJcPHklZ1w9cFswLTldXHsxLDJ9XD4ibWU9cysxCisKKyIgbG9naWNhbCBvcGVyYXRvcnMKK3N5biBtYXRjaCBzaWNhZE9wZXJhdG9yICJcLmFuZFwuIgorc3luIG1hdGNoIHNpY2FkT3BlcmF0b3IgIlwubmVcLiIKK3N5biBtYXRjaCBzaWNhZE9wZXJhdG9yICJcLm5vdFwuIgorc3luIG1hdGNoIHNpY2FkT3BlcmF0b3IgIlwuZXFcLiIKK3N5biBtYXRjaCBzaWNhZE9wZXJhdG9yICJcLmdlXC4iCitzeW4gbWF0Y2ggc2ljYWRPcGVyYXRvciAiXC5ndFwuIgorc3luIG1hdGNoIHNpY2FkT3BlcmF0b3IgIlwubGVcLiIKK3N5biBtYXRjaCBzaWNhZE9wZXJhdG9yICJcLmx0XC4iCitzeW4gbWF0Y2ggc2ljYWRPcGVyYXRvciAiXC5vclwuIgorc3luIG1hdGNoIHNpY2FkT3BlcmF0b3IgIlwuZXF2XC4iCitzeW4gbWF0Y2ggc2ljYWRPcGVyYXRvciAiXC5uZXF2XC4iCisKKyIgdmFyaWFibGUgbmFtZQorc3luIG1hdGNoIHNpY2FkSWRlbnRpZmllciAiJWdcPVtpcnB0XVswLTldXHsxLDJ9XD4iCitzeW4gbWF0Y2ggc2ljYWRJZGVudGlmaWVyICIlZ1w9bFswLTldXD4iCitzeW4gbWF0Y2ggc2ljYWRJZGVudGlmaWVyICIlZ1w9W2lycHRsXSgibWU9ZS0xCitzeW4gbWF0Y2ggc2ljYWRJZGVudGlmaWVyICIlZXJyb3JcPiIKK3N5biBtYXRjaCBzaWNhZElkZW50aWZpZXIgIiVuc2VsXD4iCitzeW4gbWF0Y2ggc2ljYWRJZGVudGlmaWVyICIlbnZhclw+Igorc3luIG1hdGNoIHNpY2FkSWRlbnRpZmllciAiJXNjbFw+Igorc3luIG1hdGNoIHNpY2FkSWRlbnRpZmllciAiJXdkXD4iCitzeW4gbWF0Y2ggc2ljYWRJZGVudGlmaWVyICJcJFtpcnRdWzAtOV1cezEsMn1cPiIgY29udGFpbmVkCisKKyIgbGFiZWwKK3N5biBtYXRjaCBzaWNhZExhYmVsMSAiXiAqXC5bYS16XVthLXowLTldXHswLDd9IFwrW14gXSJtZT1lLTEKK3N5biBtYXRjaCBzaWNhZExhYmVsMSAiXiAqXC5bYS16XVthLXowLTldXHswLDd9XCoibWU9ZS0xCitzeW4gbWF0Y2ggc2ljYWRMYWJlbDIgIlw8Z290byBcLlw9W2Etel1bYS16MC05XVx7MCw3fVw+IiBjb250YWlucz1zaWNhZEdvdG8KK3N5biBtYXRjaCBzaWNhZExhYmVsMiAiXDxnb3RvXC5bYS16XVthLXowLTldXHswLDd9XD4iIGNvbnRhaW5zPXNpY2FkR290bworCisiIGJvb2xlYW4KK3N5biBtYXRjaCBzaWNhZEJvb2xlYW4gIlwuW2Z0XVwuIgorIiBpbnRlZ2VyIHdpdGhvdXQgc2lnbgorc3luIG1hdGNoIHNpY2FkTnVtYmVyICJcPFswLTldXCtcPiIKKyIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCBzaWNhZEZsb2F0ICJcPFswLTldXCtcLlswLTldKlwoZVstK11cPVswLTldXCtcKVw9XD4iCisiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCBzaWNhZEZsb2F0ICJcLlswLTldXCtcKGVbLStdXD1bMC05XVwrXClcPVw+IgorIiBmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CitzeW4gbWF0Y2ggc2ljYWRGbG9hdCAiXDxbMC05XVwrZVstK11cPVswLTldXCtcPiIKKworIiB3aXRob3V0IHRoaXMgZXh0cmFTdHJpbmcgZGVmaW5pdGlvbiBhICcgOyAgJyBjb3VsZCBzdG9wIHRoZSBjb21tZW50CitzeW4gcmVnaW9uIHNpY2FkU3RyaW5nXyB0cmFuc3BhcmVudCBzdGFydD0rJysgZW5kPSsnKyBvbmVsaW5lIGNvbnRhaW5lZAorIiBzdHJpbmcKK3N5biByZWdpb24gc2ljYWRTdHJpbmcgc3RhcnQ9KycrIGVuZD0rJysgb25lbGluZQorCisiIGNvbW1lbnRzIC0gbmFzdHkgb25lcyBpbiBzaWNhZAorCisiIC0gJyAqICBibGFibGEnIG9yICcgKiAgYmxhYmxhOycKK3N5biByZWdpb24gc2ljYWRDb21tZW50IHN0YXJ0PSJeICpcKiIgc2tpcD0nXFwgKiQnIGVuZD0iOyJtZT1lLTEgZW5kPSIkIiBjb250YWlucz1zaWNhZFN0cmluZ18KKyIgLSAnIC5MQUJFTDAzICogIGJsYWJsYScgb3IgJyAuTEFCRUwwMyAqICBibGFibGE7Jworc3luIHJlZ2lvbiBzaWNhZENvbW1lbnQgc3RhcnQ9Il4gKlwuW2Etel1bYS16MC05XVx7MCw3fSAqXCoiIHNraXA9J1xcICokJyBlbmQ9IjsibWU9ZS0xIGVuZD0iJCIgY29udGFpbnM9c2ljYWRMYWJlbDEsc2ljYWRTdHJpbmdfCisiIC0gJzsgKiBibGFibGEnIG9yICc7ICogYmxhYmxhOycKK3N5biByZWdpb24gc2ljYWRDb21tZW50IHN0YXJ0PSI7ICpcKiJtcz1zKzEgc2tpcD0nXFwgKiQnIGVuZD0iOyJtZT1lLTEgZW5kPSIkIiBjb250YWlucz1zaWNhZFN0cmluZ18KKyIgLSBjb21tZW50cyBiZXR3ZWVuIGRvY2JlZyBhbmQgZG9jZW5kCitzeW4gcmVnaW9uIHNpY2FkQ29tbWVudCBtYXRjaGdyb3VwPXNpY2FkU3RhdGVtZW50IHN0YXJ0PSJcPGRvY2JlZ1w+IiBlbmQ9Ilw8ZG9jZW5kXD4iCisKKyIgY2F0Y2ggXCBhdCB0aGUgZW5kIG9mIGxpbmUKK3N5biBtYXRjaCBzaWNhZExpbmVDb250ICJcXCAqJCIKKworIiBwYXJhbWV0ZXJzIGluIGRvcCBibG9jayAtIGZvciB0aGUgdGltZSBiZWluZyBpdCBpcyBub3QgdXNlZAorInN5biBtYXRjaCBzaWNhZFBhcmFtZXRlciAiIFthLXpdW2EtejAtOV0qWz06XSJtZT1lLTEgY29udGFpbmVkCisiIGRvcCBibG9jayAtIGZvciB0aGUgdGltZSBiZWluZyBpdCBpcyBub3QgdXNlZAorc3luIHJlZ2lvbiBzaWNhZERvcEJsb2NrIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2ljYWRTdGF0ZW1lbnQgc3RhcnQ9J1w8ZG9wXD4nIHNraXA9J1xcICokJyBlbmQ9JzsnbWU9ZS0xIGVuZD0nJCcgY29udGFpbnM9QUxMCisKKyIgc3FsIGJsb2NrIC0gbmV3IGhpZ2hsaWdodGluZyBtb2RlIGlzIHVzZWQgKHNlZSBzeW4gaW5jbHVkZSkKK3N5biByZWdpb24gc2ljYWRTcWxCbG9jayB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNpY2FkU3RhdGVtZW50IHN0YXJ0PSdcPHNxbFw+JyBza2lwPSdcXCAqJCcgZW5kPSc7J21lPWUtMSBlbmQ9JyQnIGNvbnRhaW5zPUBTUUwsc2ljYWRJZGVudGlmaWVyLHNpY2FkTGluZUNvbnQKKworIiBzeW5jaHJvbml6aW5nCitzeW4gc3luYyBjbGVhciAgIiBjbGVhciBzeW5jIHVzZWQgaW4gc3FsLnZpbQorc3luIHN5bmMgbWF0Y2ggc2ljYWRTeW5jQ29tbWVudCBncm91cHRoZXJlIE5PTkUgIlw8ZG9jZW5kXD4iCitzeW4gc3luYyBtYXRjaCBzaWNhZFN5bmNDb21tZW50IGdyb3VwaGVyZSBzaWNhZENvbW1lbnQgIlw8ZG9jYmVnXD4iCisiIG5leHQgbGluZSBtdXN0IGJlIGV4YW1pbmVkIHRvbworc3luIHN5bmMgbGluZWNvbnQgIlxcICokIgorCisiIGNhdGNoIGVycm9yIGNhdXNlZCBieSB0YWJ1bGF0b3Iga2V5CitzeW4gbWF0Y2ggc2ljYWRFcnJvciAiXHQiCisiIGNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMKKyJzeW4gcmVnaW9uIHNpY2FkUGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULHNpY2FkUGFyZW5FcnJvcgorc3luIHJlZ2lvbiBzaWNhZFBhcmVuIHRyYW5zcGFyZW50IHN0YXJ0PScoJyBza2lwPSdcXCAqJCcgZW5kPScpJyBlbmQ9JyQnIGNvbnRhaW5zPUFMTEJVVCxzaWNhZFBhcmVuRXJyb3IKK3N5biBtYXRjaCBzaWNhZFBhcmVuRXJyb3IgJyknCisic3luIHJlZ2lvbiBzaWNhZEFwb3N0cm9waGUgdHJhbnNwYXJlbnQgc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbnM9QUxMQlVULHNpY2FkQXBvc3Ryb3BoZUVycm9yCisic3luIG1hdGNoIHNpY2FkQXBvc3Ryb3BoZUVycm9yICsnKworIiBub3QgY2xvc2VkIGFwb3N0cm9waGUKKyJzeW4gcmVnaW9uIHNpY2FkRXJyb3Igc3RhcnQ9KycrIGVuZD0rJCsgY29udGFpbnM9QUxMQlVULHNpY2FkQXBvc3Ryb3BoZUVycm9yCisic3luIG1hdGNoIHNpY2FkQXBvc3Ryb3BoZUVycm9yICsnW14nXSokK21lPXMrMSBjb250YWluZWQKKworIiBTSUNBRCBrZXl3b3Jkcworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgYWJzdCBhZGQgYWRkc2ltIGFkcmluIGFpYgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgYWlienNuIGFpZHVtcCBhaWZnZW8gYWlzYnJrIGFsa25hbQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgYWxrbnIgYWxrc2F2IGFsa3NlbCBhbGt0cmMgYWxvcGVuCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBhbnNibyBhcmFjdGl2IGFyYXJlYSBhcmFyZWFvIGFyYXJzZnMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGFyYnVmZmVyIGFyY2hlY2sgYXJjb212IGFyY29udCBhcmNvbnYKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGFyY29weSBhcmNvcHlvIGFyY29yciBhcmNyZWF0ZSBhcmVycm9yCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBhcmV2YWwgYXJmbGZtIGFyZmxvcCBhcmZyYXN0IGFyZ2JrZXkKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGFyZ2VuZiBhcmdyYXBoIGFyZ3JhcGhvIGFyaW50ZXJzIGFya29tcGZsCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBhcmxhc3NvIGFybGNvcHkgYXJsZ3JhcGggYXJsaW5lIGFybGluaW5nCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBhcmxpc2x5IGFybWFrZWEgYXJtZW1vIGFybmV4dCBhcm92ZXJsCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBhcm92ZXJzIGFycGFya21kIGFycGFycyBhcnJlZnAgYXJzZWxlY3QKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGFyc2V0IGFyc3RydWN0IGFydW5pZnkgYXJ1cGRhdGUgYXJ2ZWN0b3IKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGFydmVpbmZsIGFydmZsZmwgYXJ2b3JvbmkgYXVza3UgYmFzaXMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGJhc2lzYXVzIGJhc2lzZGFyIGJhc2lzbnIgYmVib3MgYmVmbAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgYmVmbGEgYmVmbGkgYmVmbHMgYmVvIGJlb3J0YQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgYmVvcnRuIGJlcCBiZXBhbiBiZXBhcCBiZXBvbGEKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGJlcG9sbiBiZXBzbiBiZXBzcCBiZXIgYmVyaWxpCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBiZXJrIGJld3ogYmtsIGJsaSBibWEKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGJtYWt0IGJtYWt0cyBibWJtIGJtZXJrIGJtZXJ3CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBibWVyd3MgYm1pbml0IGJtayBibW9ydGggYm1vcworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgYm1vc3MgYm1wYXIgYm1zbCBibXN1bSBibXN1bXMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGJtdmVyIGJtdmVybyBibXcgYm8gYnRhCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBidWZmZXIgYnZsIGJ3IGJ6YSBiemFwCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBiemQgYnpnZXJhIGJ6b3J0aCBjYXQgY2F0ZWwKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGNkYmRpZmYgY2UgY2dtcGFyYW0gY2xvc2UgY2xvc2VzaW0KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGNvbWdlbmVyIGNvbXAgY29tcCBjb25jbG9zZSBjb25jbG9zZSBjb25pbmZvCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBjb25vcGVuIGNvbnJlYWQgY29udG91ciBjb253cml0ZSBjb3AKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGNvcGFyIGNvcGFycCBjb3BhcnAyIGNvcGVsIGNyCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBjcyBjc3RhdCBjdXJzb3IgZCBkYQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZGFsIGRhc3AgZGFzcHMgZGF0YW91dCBkY29sCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBkZCBkZWZzciBkZWwgZGVsZWwgZGVza3JkZWYKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGRmIGRmbiBkZm5zIGRmcG9zIGRmcgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZGdkIGRnbSBkZ3AgZGdyIGRoCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBkaWFnIGRpYXVzIGRpciBkaXNic2QgZGtsCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBka3R4IGRrdXIgZGxnZml4IGRsZ2ZyZSBkbWEKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGRwcmlvIGRyIGRydXNlIGRzZWwgZHNraW5mbworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZHNyIGR2IGR2ZSBlYmEgZWJkCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBlYmRtb2QgZWJzIGVkYnNkYmluIGVkYnNzbmluIGVkYnN2dGluCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBlZHQgZWdhdXMgZWdkZWYgZWdkZWZzIGVnbGlzdAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZWdsb2UgZWdsb2VucCBlZ2xvZXMgZWd4eCBlaWIKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGVrdXIgZWt1cmFkZCBlbGVsIGVscG9zIGVwZworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZXNhdSBlc2F1YWRkIGVzZWsgZXRhIGV0YXAKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGV0YXYgZmVwYXJhbSBmaWNvbnYgZmlsc2UgZmwKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGZsaSBmbGluIGZsaW5pIGZsaW5pdCBmbGlucworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZmxrb3IgZmxuIGZsbmxpIGZsb3AgZmxvdXQKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGZsb3dlcnQgZmxwYXJhbSBmbHJhc3RlciBmbHN5IGZsc3lkCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBmbHN5bSBmbHN5bXMgZmxzeW10IGZtdGF0dCBmbXRkaWEKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGZtdGxpYiBmcGcgZ2JhZGRkYiBnYmFpbSBnYmFucnMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGdiYXR3IGdiYXUgZ2JhdWRpdCBnYmNsb3NwIGdiY3JlZGljCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBnYmNyZWVtIGdiY3JlbGQgZ2JjcmVzZGIgZ2JjcmV0ZCBnYmRlCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBnYmRlbGRiIGdiZGVsZGljIGdiZGVsZW0gZ2JkZWxsZCBnYmRlbHJlZgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZ2JkZWx0ZCBnYmRpc2RiIGdiZGlzZW0gZ2JkaXNsZCBnYmRpc3RkCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBnYmVibiBnYmVtYXUgZ2JlcHN2IGdiZ2V0ZGV0IGdiZ2V0ZXMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGdiZ2V0bWFzIGdiZ3FlbCBnYmdxZWxyIGdiZ3FzYSBnYmdyYW50CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBnYmltcGRpYyBnYmxlciBnYmxlcmIgZ2JsZXJmIGdibGVzCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBnYmxvY2RpYyBnYm1nbWcgZ2JtbnRkYiBnYm1vZGRiIGdibmFtCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBnYm5ldSBnYm9wZW5wIGdicG9seSBnYnBvcyBnYnBydWVmCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBnYnBydWVmZyBnYnBzIGdicWdlbCBnYnFnc2EgZ2JyZWZkaWMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGdicmVmdGFiIGdicmVsZGljIGdicmVzZW0gZ2JyZXZva2UgZ2JzYXYKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGdic2JlZiBnYnNkZGsgZ2JzaWN1IGdic3J0IGdic3MKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGdic3RhdCBnYnN5c3AgZ2JzemF1IGdidWJwIGdidWViCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBnYnVubWRiIGdidXNlZW0gZ2J3IGdid2VnIGdid2llaAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgZ2J6dCBnZWxwIGdlcmEgZ2V0dmFyIGhndworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgaHBnIGhyMCBocmEgaHJhciBpY2NsY2hhbgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgaWNjcmVjb24gaWNkZXNjb24gaWNmcmVlIGljZ2V0Y29uIGljZ3RyZXNwCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBpY29wY2hhbiBpY3B1dGNvbiBpY3JlYWNvbiBpY3JlcWQgaWNyZXFudworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgaWNyZXF3IGljcmVzcGQgaWNyZXNydmUgaWN3cmljb24gaW1zZ2V0CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBpbXNncWVsIGltc21nZXQgaW1zcGxvdCBpbXNwcmludCBpbmNoaworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgaW5mIGluZmQgaW5zdCBrYm1sIGtibWxzCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBrYm1tIGtibW1zIGtibXQga2JtdGRwcyBrYm10cworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQga2hib2Uga2hib2wga2hkb2Iga2hlIGtoZXRhcAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQga2hmcncga2hrdGsga2hsYW5nIGtobGQga2htZnJwCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBraG1rcyBraG1zIGtocGQga2hwZmVpbCBraHBsCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBraHByb2ZpbCBraHJhbmQga2hzYSBraHNhYnMga2hzYXBoCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBraHNkIGtoc2RsIGtoc2Uga2hza2J6IGtoc25hCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBraHNudW0ga2hzb2Iga2hzcG9zIGtoc3ZwaCBraHRybgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQga2h2ZXIga2h6cGUga2h6cGwga2liIGtsZGF0CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBrbGxlZyBrbHNjaCBrbHN5bSBrbHZlcnQga21wZworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQga210bGFnZSBrbXRwIGttdHBzIGtvZGVmIGtvZGVmcAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQga29kZWZzIGtvayBrb2twIGtvbGFlIGtvbQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQga29udGx5IGtvcGFyIGtvcGFycCBrb3BnIGtvc3kKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGtwIGtyIGtyc2VrIGtydGNsb3NlIGtydG9wZW4KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGt0ayBsYWQgbGFlIGxhZXNlbCBsYW5ndWFnZQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbGFzc28gbGJkZXMgbGNzIGxkZXNrIGxkZXNrcworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbGUgbGVhayBsZWF0dGRlcyBsZWJhIGxlYmFzCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBsZWJhem5wIGxlYmQgbGVibSBsZWJ2IGxlYnZhdXMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGxlYnZsaXN0IGxlZGUgbGVkZWwgbGVkZXBvIGxlZGVwb2wKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGxlZGVwb3MgbGVkZXIgbGVkaXN0IGxlZG0gbGVlCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBsZWVpbnMgbGVlcyBsZWdlIGxla3IgbGVrcmVuZAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbGVrd2EgbGVrd2FzIGxlbCBsZWxoIGxlbGwKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGxlbHAgbGVtIGxlbmEgbGVuZCBsZW5tCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBsZXAgbGVwZSBsZXBlZSBsZXBrbyBsZXBsCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBsZXBta28gbGVwbWtvcCBsZXBvcyBsZXBvc20gbGVxcworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbGVxc2wgbGVxc3NwIGxlcXN2IGxlcXN2b3YgbGVzCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBsZXNjaCBsZXNyIGxlc3MgbGVzdGQgbGV0CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBsZXRhdW0gbGV0bCBsZXYgbGV2bSBsZXZ0bQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbGV2dHAgbGV2dHIgbGV3IGxld20gbGV4eAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbGZzIGxpIGxpbmluZyBsbGRlcyBsbW9kZQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbG9lZGsgbG9lcGt0IGxvcCBsb3NlIGxvc2VzCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBscCBscHBnIGxwcHJ1ZWYgbHIgbHMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGxzb3AgbHN0YSBsc3RhdCBseSBseWF1cworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbHogbHphIGx6YWUgbHpieiBsemUKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IGx6bnIgbHpvIGx6cG9zIG1hIG1hMAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbWExIG1hZCBtYXAgbWFwb2x5IG1jYXJwCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBtY2NmciBtY2NnciBtY2NsciBtY2NyZiBtY2RmCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBtY2RtYSBtY2RyIG1jZHJwIG1jZHZlIG1jZWJkCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBtY2dzZSBtY2luZm8gbWNsZHJwIG1kIG1lCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBtZWZkIG1lZmRzIG1pbm1heCBtaXBnIG1sCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBtbWNtZG1lIG1tZGJmIG1tZGVsbGIgbW1kaXIgbW1kb21lCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBtbWZzYiBtbWluZm9sYiBtbWxhcHAgbW1sYmYgbW1saXN0bGIKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IG1tbG9hZGNtIG1tbXNnIG1tcmVhZGxiIG1tc2V0bGIgbW1zaG93Y20KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IG1tc3RhdG1lIG1ucCBtcG8gbXIgbXJhCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBtcyBtc2F2IG1zZ291dCBtc2dzbmQgbXNwCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBtc3BmIG10ZCBuYXNlbCBuY29tcCBuZXcKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IG5saXN0IG5saXN0bHQgbmxpc3RseSBubGlzdG5wIG5saXN0cG8KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IG5wIG5wYSBucGRlcyBucGUgbnBlbQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgbnBpbmZhIG5wcnVlZiBucHNhdCBucHNzIG5wc3NhCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBudHogb2Egb2FuIG9kZWwgb2RmCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBvZGZ4IG9qIG9qYSBvamFkZHNrIG9qYWVkCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBvamFlZHMgb2phZWYgb2phZWZzIG9qYWVuIG9qYWsKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IG9qYWtzIG9qYWt0IG9qYWt6IG9qYWxtIG9qYXRraXMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IG9qYXR0IG9qYXR3IG9qYnNlbCBvamNhc2VsIG9qY2tvbgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgb2pkZSBvamR0bCBvamViIG9qZWJkIG9qZWwKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IG9qZWxwYXMgb2plc2Igb2plc2JkIG9qZXggb2plemdlCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBvamtvIG9qbGIgb2psb2Ugb2psc2Igb2ptZXJrCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBvam1vcyBvam5hbSBvanBkYSBvanBvbHkgb2pwcmFlCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBvanMgb2pzYWsgb2pzb3J0IG9qc3RydWt0IG9qc3ViCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBvanRkZWYgb2p2ZWsgb2p4IG9sZCBvbGRkCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBvcCBvcGEgb3BhMSBvcGVuIG9wZW5zaW0KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IG9wbmJzZCBvcnRoIG9zYW56IG90IG90cAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgb3RyZWZwIHBhcmFtIHBhcmFuZiBwYXMgcGFzc3cKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHBjYXRjaGYgcGRhIHBkYWRkIHBnIHBnMAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcGdhdWYgcGdhdWZzZWwgcGdiIHBna28gcGdtCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBwZ3IgcGd2cyBwaWx5IHBrcGcgcGxvdAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcGxvdGYgcGxvdGZyIHBtYXAgcG1kYXRhIHBtZGkKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHBtZHAgcG1lYiBwbWVwIHBtaW5mbyBwbWxiCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBwbWxpIHBtbHAgcG1tb2QgcG5ydmVyIHBvYQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcG9zIHBvc2EgcG9zYXVzIHBvc3QgcHJpbnRmcgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcHJvdGVjdCBwcnMgcHJzc3kgcHJzeW0gcHMKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHBzYWRkIHBzY2xvc2UgcHNvcGVuIHBzcGFyYW0gcHNwcncKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHBzcmVzIHBzc3RhdCBwc3cgcHN3ciBxdWFsaWYKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHJhaG1lbiByYXN0ZXIgcmFzdGVyZCByYmJhY2t1cCByYmNoYW5nMgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcmJjaGFuZ2UgcmJjbWQgcmJjb2xkc3QgcmJjb2xvciByYmNvcHkKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHJiY3V0IHJiY3V0MiByYmRiY2wgcmJkYmxvYWQgcmJkYm9wCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCByYmRid2luIHJiZGVmcyByYmVkaXQgcmJmZGVsIHJiZmlsbAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcmJmaWxsMiByYmZsb2FkIHJiZmxvYWQyIHJiZm5ldyByYmZuZXcyCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCByYmZwYXIgcmJmcmVlIHJiZyByYmdldGNvbCByYmdldGRzdAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcmJpbmZvIHJicGFzdGUgcmJwaXhlbCByYnJzdG9yZSByYnNuYXAKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHJic3RhIHJidGlsZSByYnRycGl4IHJidnRvciByY29sCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCByZCByZGNoYW5nZSByZSByZWIgcmVibW9kCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCByZWZ1bmMgcmVuIHJlbmVsIHJrIHJrcG9zCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCByb2hyIHJvaHJwb3MgcnByIHJyIHJyMAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgcnJhIHJyYXIgcnMgc2FtdG9zZGIgc2F2CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBzYXZkIHNhdmVzaW0gc2F2eCBzY29sIHNjb3B5CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBzY29weWUgc2RidG9zYW0gc2RkayBzZHdyIHNlCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBzZWxhdXMgc2VscG9zIHNlbWFuIHNlbWkgc2VzY2gKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHNldHNjbCBzZXR2YXIgc2ZjbG50cGYgc2Zjb25uIHNmZmV0Y2hmCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBzZmZwcm9waSBzZmZ0eXBpIHNmcXVnZW9jIHNmcXV3aGNsIHNmc2VsZgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgc2ZzdGF0IHNmdGVzdCBzZ2Ugc2lkIHNpZQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgc2lnIHNpZ3Agc2trIHNra3Mgc24KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHNuMjEgc25wYSBzbnBhciBzbnBhcnAgc25wYXJwcworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgc25wYXJzIHNucGFzIHNucGQgc25waSBzbnBrb3IKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHNucGwgc25wbSBzb2Igc29iMCBzb2Jsb2UKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHNvYnMgc29mIHNvcCBzcGxpdCBzcHIKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHNxZGFkZCBzcWRsYWQgc3Fkb2xkIHNxZHNhdgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgc3Igc3JlcyBzcnQgc3NldCBzdGF0CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBzdGR0eHQgc3RyaW5nIHN0cnVrdCBzdHJ1cHJ1IHN1aW5mbAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgc3VpbmZsayBzdWluZmxzIHN1cG8gc3VwbzEgc3ZhCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBzdnIgc3kgc3lhIHN5bHkgc3lzb3V0CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCBzeXUgc3l1eCB0YWEgdGFiZWcgdGFibAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgdGFibSB0YW0gdGFuciB0YXBnIHRhcG9zCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0YXJrZCB0YXMgdGFzZSB0YiB0YmFkZAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgdGJkIHRiZXh0IHRiZ2V0IHRiaW50IHRib3V0CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0YnB1dCB0YnNhdCB0YnNlbCB0YnN0ciB0Y2F1eAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgdGNjYWJsZSB0Y2Noa3JlcCB0Y2NvbW0gdGNjb25kIHRjZGJnCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0Y2dibnIgdGNncnBvcyB0Y2luaXQgdGNsY29udiB0Y21vZGVsCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0Y253ZSB0Y3BhaXJzIHRjcGF0aCB0Y3JlY3QgdGNybWRsaQorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgdGNzY2hlbWUgdGNzY2htYXAgdGNzZSB0Y3NlbGMgdGNzdGFyCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0Y3N0cm1hbiB0Y3N1Ym5ldCB0Y3N5bWJvbCB0Y3RhYmxlIHRjdGhyY2FiCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0Y3RyYW5zIHRjdHN0IHRkYiB0ZGJkZWwgdGRiZ2V0CitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0ZGJsaXN0IHRkYnB1dCB0Z21vZCB0aXRlbCB0bW9mZgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgdG1vbiB0cCB0cGEgdHBzIHRwdGEKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHRyYSB0cmFucyB0cmFuc2tkbyB0cmFuc29wdCB0cmFuc3Bybworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgdHJpYW5nbGUgdHJtIHRycGcgdHJya2QgdHJzCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0cyB0c2EgdHggdHhhIHR4Y2hrCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB0eGNuZyB0eGp1IHR4bCB0eHAgdHhwdgorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgdHh0Y21wIHR4diB0eHogdWNrb24gdWlpbmZvCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB1aXN0YXR1cyB1bWRrIHVtZGsxIHVtZGthIHVtZ2UKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHVtZ2VzIHVtciB2ZXJibyB2ZXJmbGxpIHZlcmlmCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB2ZXJseSB2ZXJzaW5mbyB2ZmcgdnBhY3RpdmUgdnBjZW50ZXIKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHZwY3JlYXRlIHZwZGVsZXRlIHZwaW5mbyB2cG1vZGlmeSB2cHNjcm9sbAorc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgdnBzdGEgd2Fic3ltIHd6bWVyayB6ZHJoZiB6ZHJoZm4KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHpkcmhmdyB6ZHJoZnduIHplZnAgemZsIHpmbGF1cworc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgemthIHpsZWwgemxlbHMgem9ydGYgem9ydGZuCitzeW4ga2V5d29yZCBzaWNhZFN0YXRlbWVudCB6b3J0Zncgem9ydGZ3biB6b3J0cCB6b3J0cG4genBhcmIKK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHpwYXJibiB6cGFyZiB6cGFyZm4genBhcmZ3IHpwYXJmd24KK3N5biBrZXl3b3JkIHNpY2FkU3RhdGVtZW50IHpwYXJwIHpwYXJwbiB6d2lua3AgendpbmtwbgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zaWNhZF9zeW50YXhfaW5pdHMiKQorCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NpY2FkX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHNpY2FkTGFiZWwgUHJlUHJvYworICBIaUxpbmsgc2ljYWRMYWJlbDEgc2ljYWRMYWJlbAorICBIaUxpbmsgc2ljYWRMYWJlbDIgc2ljYWRMYWJlbAorICBIaUxpbmsgc2ljYWRDb25kaXRpb25hbCBDb25kaXRpb25hbAorICBIaUxpbmsgc2ljYWRCb29sZWFuIEJvb2xlYW4KKyAgSGlMaW5rIHNpY2FkTnVtYmVyIE51bWJlcgorICBIaUxpbmsgc2ljYWRGbG9hdCBGbG9hdAorICBIaUxpbmsgc2ljYWRPcGVyYXRvciBPcGVyYXRvcgorICBIaUxpbmsgc2ljYWRTdGF0ZW1lbnQgU3RhdGVtZW50CisgIEhpTGluayBzaWNhZFBhcmFtZXRlciBzaWNhZFN0YXRlbWVudAorICBIaUxpbmsgc2ljYWRHb3RvIHNpY2FkU3RhdGVtZW50CisgIEhpTGluayBzaWNhZExpbmVDb250IHNpY2FkU3RhdGVtZW50CisgIEhpTGluayBzaWNhZFN0cmluZyBTdHJpbmcKKyAgSGlMaW5rIHNpY2FkQ29tbWVudCBDb21tZW50CisgIEhpTGluayBzaWNhZFNwZWNpYWwgU3BlY2lhbAorICBIaUxpbmsgc2ljYWRJZGVudGlmaWVyIFR5cGUKKyIgIEhpTGluayBzaWNhZElkZW50aWZpZXIgSWRlbnRpZmllcgorICBIaUxpbmsgc2ljYWRFcnJvciBFcnJvcgorICBIaUxpbmsgc2ljYWRQYXJlbkVycm9yIHNpY2FkRXJyb3IKKyAgSGlMaW5rIHNpY2FkQXBvc3Ryb3BoZUVycm9yIHNpY2FkRXJyb3IKKyAgSGlMaW5rIHNpY2FkU3RyaW5nRXJyb3Igc2ljYWRFcnJvcgorICBIaUxpbmsgc2ljYWRDb21tZW50RXJyb3Igc2ljYWRFcnJvcgorIiAgSGlMaW5rIHNxbFN0YXRlbWVudCBTcGVjaWFsICAiIG1vZGlmaWVkIGhpZ2hsaWdodCBncm91cCBpbiBzcWwudmltCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKKworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2ljYWQiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NpbXVsYS52aW0gYi9ydW50aW1lL3N5bnRheC9zaW11bGEudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5NTJlZTIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zaW11bGEudmltCkBAIC0wLDAgKzEsOTkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglTaW11bGEKKyIgTWFpbnRhaW5lcjoJSGFha29uIFJpaXNlciA8aGFrb25ya0BmeXMudWlvLm5vPgorIiBVUkw6CQlodHRwOi8vZm9say51aW8ubm8vaGFrb25yay92aW0vc3ludGF4L3NpbXVsYS52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDE1CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3luIGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKKyIgTm8gY2FzZSBzZW5zaXRpdml0eSBpbiBTaW11bGEKK3N5biBjYXNlCWlnbm9yZQorCitzeW4gbWF0Y2gJc2ltdWxhQ29tbWVudAkJIl4lLiokIiBjb250YWlucz1zaW11bGFUb2RvCitzeW4gcmVnaW9uCXNpbXVsYUNvbW1lbnQJCXN0YXJ0PSIhXHxcPGNvbW1lbnRcPiIgZW5kPSI7IiBjb250YWlucz1zaW11bGFUb2RvCisKKyIgVGV4dCBiZXR3ZWVuIHRoZSBrZXl3b3JkICdlbmQnIGFuZCBlaXRoZXIgYSBzZW1pY29sb24gb3Igb25lIG9mIHRoZQorIiBrZXl3b3JkcyAnZW5kJywgJ2Vsc2UnLCAnd2hlbicgb3IgJ290aGVyd2lzZScgaXMgYWxzbyBhIGNvbW1lbnQKK3N5biByZWdpb24Jc2ltdWxhQ29tbWVudAkJc3RhcnQ9Ilw8ZW5kXD4ibGM9MyBtYXRjaGdyb3VwPVN0YXRlbWVudCBlbmQ9IjtcfFw8XChlbmRcfGVsc2VcfHdoZW5cfG90aGVyd2lzZVwpXD4iCisKK3N5biBtYXRjaAlzaW11bGFDaGFyRXJyb3IJCSInLlx7LTIsfSciCitzeW4gbWF0Y2gJc2ltdWxhQ2hhcmFjdGVyCQkiJy4nIgorc3luIG1hdGNoCXNpbXVsYUNoYXJhY3RlcgkJIichXGRcey19ISciIGNvbnRhaW5zPXNpbXVsYVNwZWNpYWxDaGFyCitzeW4gbWF0Y2gJc2ltdWxhU3RyaW5nCQknIi5cey19IicgY29udGFpbnM9c2ltdWxhU3BlY2lhbENoYXIsc2ltdWxhVG9kbworCitzeW4ga2V5d29yZAlzaW11bGFCb29sZWFuCQl0cnVlIGZhbHNlCitzeW4ga2V5d29yZAlzaW11bGFDb21wb3VuZAkJYmVnaW4gZW5kCitzeW4ga2V5d29yZAlzaW11bGFDb25kaXRpb25hbAllbHNlIGlmIG90aGVyd2lzZSB0aGVuIHVudGlsIHdoZW4KK3N5biBrZXl3b3JkCXNpbXVsYUNvbnN0YW50CQlub25lIG5vdGV4dAorc3luIGtleXdvcmQJc2ltdWxhRnVuY3Rpb24JCXByb2NlZHVyZQorc3luIGtleXdvcmQJc2ltdWxhT3BlcmF0b3IJCWVxIGVxdiBnZSBndCBpbXAgaW4gaXMgbGUgbHQgbmUgbmV3IG5vdCBxdWEKK3N5biBrZXl3b3JkCXNpbXVsYVJlcGVhdAkJd2hpbGUgZm9yCitzeW4ga2V5d29yZAlzaW11bGFSZXNlcnZlZAkJYWN0aXZhdGUgYWZ0ZXIgYXQgYmVmb3JlIGRlbGF5IGdvIGdvdG8gbGFiZWwgcHJpb3IgcmVhY3RpdmF0ZSBzd2l0Y2ggdG8KK3N5biBrZXl3b3JkCXNpbXVsYVN0YXRlbWVudAkJZG8gaW5uZXIgaW5zcGVjdCBzdGVwIHRoaXMKK3N5biBrZXl3b3JkCXNpbXVsYVN0b3JhZ2VDbGFzcwlleHRlcm5hbCBoaWRkZW4gbmFtZSBwcm90ZWN0ZWQgdmFsdWUKK3N5biBrZXl3b3JkCXNpbXVsYVN0cnVjdHVyZQkJY2xhc3MKK3N5biBrZXl3b3JkCXNpbXVsYVR5cGUJCWFycmF5IGJvb2xlYW4gY2hhcmFjdGVyIGludGVnZXIgbG9uZyByZWFsIHNob3J0IHRleHQgdmlydHVhbAorc3luIG1hdGNoCXNpbXVsYUFzc2lnbmVkCQkiXDxcaFx3KlxzKlwoKC4qKVwpXD1ccyo6XCg9XHwtXCkibWU9ZS0yCitzeW4gbWF0Y2gJc2ltdWxhT3BlcmF0b3IJCSJbJjo9PD4rXC0qL10iCitzeW4gbWF0Y2gJc2ltdWxhT3BlcmF0b3IJCSJcPGFuZFwoXHNcK3RoZW5cKVw9XD4iCitzeW4gbWF0Y2gJc2ltdWxhT3BlcmF0b3IJCSJcPG9yXChcc1wrZWxzZVwpXD1cPiIKK3N5biBtYXRjaAlzaW11bGFSZWZlcmVuY2VUeXBlCSJcPHJlZlxzKiguXHstfSkiCitzeW4gbWF0Y2gJc2ltdWxhU2VtaWNvbG9uCQkiOyIKK3N5biBtYXRjaAlzaW11bGFTcGVjaWFsCQkiWygpLC5dIgorc3luIG1hdGNoCXNpbXVsYVNwZWNpYWxDaGFyRXJyCSIhXGRcey00LH0hIiBjb250YWluZWQKK3N5biBtYXRjaAlzaW11bGFTcGVjaWFsQ2hhckVycgkiISEiIGNvbnRhaW5lZAorc3luIG1hdGNoCXNpbXVsYVNwZWNpYWxDaGFyCSIhXGRcey19ISIgY29udGFpbnM9c2ltdWxhU3BlY2lhbENoYXJFcnIgY29udGFpbmVkCitzeW4gbWF0Y2gJc2ltdWxhVG9kbwkJInh4eFwrIiBjb250YWluZWQKKworIiBJbnRlZ2VyIG51bWJlciAob3IgZmxvYXQgd2l0aG91dCBgLicpCitzeW4gbWF0Y2gJc2ltdWxhTnVtYmVyCQkiLVw9XDxcZFwrXD4iCisiIFJlYWwgd2l0aCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoCXNpbXVsYVJlYWwJCSItXD1cPFxkXCtcKFwuXGRcK1wpXD1cKCYmXD1bKy1dXD1cZFwrXClcPVw+IgorIiBSZWFsIHN0YXJ0aW5nIHdpdGggYSBgLicsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2gJc2ltdWxhUmVhbAkJIi1cPVwuXGRcK1woJiZcPVsrLV1cPVxkXCtcKVw9XD4iCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zaW11bGFfc3ludGF4X2luaXRzIikKKyAgICBpZiB2ZXJzaW9uIDwgNTA4CisJbGV0IGRpZF9zaW11bGFfc3ludGF4X2luaXRzID0gMQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgICAgZWxzZQorCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgIGVuZGlmCisKKyAgICBIaUxpbmsgc2ltdWxhQXNzaWduZWQJCUlkZW50aWZpZXIKKyAgICBIaUxpbmsgc2ltdWxhQm9vbGVhbgkJQm9vbGVhbgorICAgIEhpTGluayBzaW11bGFDaGFyYWN0ZXIJCUNoYXJhY3RlcgorICAgIEhpTGluayBzaW11bGFDaGFyRXJyb3IJCUVycm9yCisgICAgSGlMaW5rIHNpbXVsYUNvbW1lbnQJCUNvbW1lbnQKKyAgICBIaUxpbmsgc2ltdWxhQ29tcG91bmQJCVN0YXRlbWVudAorICAgIEhpTGluayBzaW11bGFDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKyAgICBIaUxpbmsgc2ltdWxhQ29uc3RhbnQJCUNvbnN0YW50CisgICAgSGlMaW5rIHNpbXVsYUZ1bmN0aW9uCQlGdW5jdGlvbgorICAgIEhpTGluayBzaW11bGFOdW1iZXIJCQlOdW1iZXIKKyAgICBIaUxpbmsgc2ltdWxhT3BlcmF0b3IJCU9wZXJhdG9yCisgICAgSGlMaW5rIHNpbXVsYVJlYWwJCQlGbG9hdAorICAgIEhpTGluayBzaW11bGFSZWZlcmVuY2VUeXBlCQlUeXBlCisgICAgSGlMaW5rIHNpbXVsYVJlcGVhdAkJCVJlcGVhdAorICAgIEhpTGluayBzaW11bGFSZXNlcnZlZAkJRXJyb3IKKyAgICBIaUxpbmsgc2ltdWxhU2VtaWNvbG9uCQlTdGF0ZW1lbnQKKyAgICBIaUxpbmsgc2ltdWxhU3BlY2lhbAkJU3BlY2lhbAorICAgIEhpTGluayBzaW11bGFTcGVjaWFsQ2hhcgkJU3BlY2lhbENoYXIKKyAgICBIaUxpbmsgc2ltdWxhU3BlY2lhbENoYXJFcnIJCUVycm9yCisgICAgSGlMaW5rIHNpbXVsYVN0YXRlbWVudAkJU3RhdGVtZW50CisgICAgSGlMaW5rIHNpbXVsYVN0b3JhZ2VDbGFzcwkJU3RvcmFnZUNsYXNzCisgICAgSGlMaW5rIHNpbXVsYVN0cmluZwkJCVN0cmluZworICAgIEhpTGluayBzaW11bGFTdHJ1Y3R1cmUJCVN0cnVjdHVyZQorICAgIEhpTGluayBzaW11bGFUb2RvCQkJVG9kbworICAgIEhpTGluayBzaW11bGFUeXBlCQkJVHlwZQorCisgICAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNpbXVsYSIKKyIgdmltOiBzdHM9NCBzdz00IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NpbmRhLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NpbmRhLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmRlMjY3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc2luZGEudmltCkBAIC0wLDAgKzEsMTQ2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIHNpbmRhODUsIHNpbmRhL2ZsdWludCBpbnB1dCBmaWxlCisiIE1haW50YWluZXI6ICAgQWRyaWFuIE5hZ2xlLCBhbmFnbGVAYmFsbC5jb20KKyIgTGFzdCBDaGFuZ2U6ICAyMDAzIE1heSAxMQorIiBGaWxlbmFtZXM6ICAgICouc2luCisiIFVSTDoJCWh0dHA6Ly93d3cubmFnbGVuZXQub3JnL3ZpbS9zeW50YXgvc2luZGEudmltCisiIE1BSU4gVVJMOiAgICAgaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltLworCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisKKworIiBJZ25vcmUgY2FzZQorc3luIGNhc2UgaWdub3JlCisKKworCisiCisiCisiIEJlZ2luIHN5bnRheCBkZWZpbml0aW9ucyBmb3Igc2luZGEgaW5wdXQgYW5kIG91dHB1dCBmaWxlcy4KKyIKKworIiBGb3JjZSBmcmVlLWZvcm0gZm9ydHJhbiBmb3JtYXQKK2xldCBmb3J0cmFuX2ZyZWVfc291cmNlPTEKKworIiBMb2FkIEZPUlRSQU4gc3ludGF4IGZpbGUKK2lmIHZlcnNpb24gPCA2MDAKKyAgc291cmNlIDxzZmlsZT46cDpoL2ZvcnRyYW4udmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9mb3J0cmFuLnZpbQorZW5kaWYKK3VubGV0IGI6Y3VycmVudF9zeW50YXgKKworCisKKyIgRGVmaW5lIGtleXdvcmRzIGZvciBTSU5EQQorc3luIGtleXdvcmQgc2luZGFNYWNybyAgICBCVUlMRCBCVUlMREYgREVCT04gREVCT0ZGIERFRk1PRCBGU1RBUlQgRlNUT1AKKworc3luIGtleXdvcmQgc2luZGFPcHRpb25zICBUSVRMRSBQUFNBVkUgUlNJIFJTTyBPVVRQVVQgU0FWRSBRTUFQIFVTRVIxIFVTRVIyCitzeW4ga2V5d29yZCBzaW5kYU9wdGlvbnMgIE1PREVMIFBQT1VUIE5PTElTVCBNTElORSBOT0RFQlVHIERJUkVDVE9SSUVTCitzeW4ga2V5d29yZCBzaW5kYU9wdGlvbnMgIERPVUJMRVBSCisKK3N5biBrZXl3b3JkIHNpbmRhUm91dGluZSAgRk9SV1JEIEZXREJDSyBTVERTVEwgRkFTVElDCisKK3N5biBrZXl3b3JkIHNpbmRhQ29udHJvbCAgQUJTWlJPIEFDQ0VMWCBBQ0NFTFkgQUNDRUxaIEFSTFhDQSBBVE1QQ0EKK3N5biBrZXl3b3JkIHNpbmRhQ29udHJvbCAgQkFDS1VQIENTR0ZBQyBEUkxYQ0EgRFRJTUVIIERUSU1FSSBEVElNRUwKK3N5biBrZXl3b3JkIHNpbmRhQ29udHJvbCAgRFRJTUVTIERUTVBDQSBFQkFMTkEgRUJBTFNBIEVYVExJTSBJVEVST1QKK3N5biBrZXl3b3JkIHNpbmRhQ29udHJvbCAgSVRFUlhUIElUSE9MRCBOTE9PUFMgTkxPT1BUIE9VVFBVVCBPUEVJVFIKK3N5biBrZXl3b3JkIHNpbmRhQ29udHJvbCAgUEFUTU9TIFNJR01BIFRJTUVPIFRJTUVORCBVSUQKKworc3luIGtleXdvcmQgc2luZGFTdWJSb3V0aW5lICBBU0tFUlMgQURBUklOIEFEREFSWSBBRERNT0QgQVJJTkRWCitzeW4ga2V5d29yZCBzaW5kYVN1YlJvdXRpbmUgIFJZSU5WIEFSWU1QWSBBUllTVUIgQVJZVFJOIEJBUk9DCitzeW4ga2V5d29yZCBzaW5kYVN1YlJvdXRpbmUgIEJFTEFDQyBCTkREUlYgQk5ER0VUIENIRU5OQiBDSEdGTEQKK3N5biBrZXl3b3JkIHNpbmRhU3ViUm91dGluZSAgQ0hHTE1QIENIR1NVQyBDSEdWT0wgQ0hLQ0hMIENIS0NIUAorc3luIGtleXdvcmQgc2luZGFTdWJSb3V0aW5lICBDTlNUQUIgQ09NQkFMIENPTVBMUSBDT01QUlMgQ09OVFJOCitzeW4ga2V5d29yZCBzaW5kYVN1YlJvdXRpbmUgIENQUklOVCBDUkFTSCBDUlZJTlQgQ1JZVFJOIENTSUZMWAorc3luIGtleXdvcmQgc2luZGFTdWJSb3V0aW5lICBDVlRFTVAgRDExQ1lMIEMxMURBSSBEMTFESU0gRDExTUNZCitzeW4ga2V5d29yZCBzaW5kYVN1YlJvdXRpbmUgIEQxMU1EQSBEMTFNREkgRDExTURUIEQxMkNZTCBEMTJNQ1kKK3N5biBrZXl3b3JkIHNpbmRhU3ViUm91dGluZSAgRDEyTURBIEQxRDFEQSBEMUQxSU0gRDFEMVdNIEQxRDJEQQorc3luIGtleXdvcmQgc2luZGFTdWJSb3V0aW5lICBEMUQyV00gRDFERUcxIEQxREVHMiBEMURHMUkgRDFJTUQxCitzeW4ga2V5d29yZCBzaW5kYVN1YlJvdXRpbmUgIEQxSU1JTSBEMUlNV00gRDFNMURBIEQxTTJNRCBEMU0yV00KK3N5biBrZXl3b3JkIHNpbmRhU3ViUm91dGluZSAgRDFNREcxIEQxTURHMiBEMkQxV00gRDFERUcxIEQyREVHMgorc3luIGtleXdvcmQgc2luZGFTdWJSb3V0aW5lICBEMkQyCisKK3N5biBrZXl3b3JkIHNpbmRhSWRlbnRpZmllciAgQklWIENBTCBESU0gRElWIERQTSBEUFYgRFRWIEdFTiBQRVIgUElWIFBJTQorc3luIGtleXdvcmQgc2luZGFJZGVudGlmaWVyICBTSU0gU0lWIFNQTSBTUFYgVFZTIFRWRAorCisKKworIiBEZWZpbmUgbWF0Y2hlcyBmb3IgU0lOREEKK3N5biBtYXRjaCAgc2luZGFGb3J0cmFuICAgICAiXkZbMC05IF0ibWU9ZS0xCitzeW4gbWF0Y2ggIHNpbmRhTW90cmFuICAgICAgIl5NWzAtOSBdIm1lPWUtMQorCitzeW4gbWF0Y2ggIHNpbmRhQ29tbWVudCAgICAgIl5DLiokIgorc3luIG1hdGNoICBzaW5kYUNvbW1lbnQgICAgICJeUi4qJCIKK3N5biBtYXRjaCAgc2luZGFDb21tZW50ICAgICAiXCQuKiQiCisKK3N5biBtYXRjaCAgc2luZGFIZWFkZXIgICAgICAiXmhlYWRlclteLF0qIgorCitzeW4gbWF0Y2ggIHNpbmRhSW5jbHVkZUZpbGUgImluY2x1ZGUgXCtbXiBdXCsiaHM9cys4IGNvbnRhaW5zPWZvcnRyYW5JbmNsdWRlCisKK3N5biBtYXRjaCAgc2luZGFNYWNybyAgICAgICAiXlBTVEFSVCIKK3N5biBtYXRjaCAgc2luZGFNYWNybyAgICAgICAiXlBTVE9QIgorc3luIG1hdGNoICBzaW5kYU1hY3JvICAgICAgICJeRkFDIgorCitzeW4gbWF0Y2ggIHNpbmRhSW50ZWdlciAgICAgIi1cPVw8WzAtOV0qXD4iCitzeW4gbWF0Y2ggIHNpbmRhRmxvYXQgICAgICAgIi1cPVw8WzAtOV0qXC5bMC05XSoiCitzeW4gbWF0Y2ggIHNpbmRhU2NpZW50aWZpYyAgIi1cPVw8WzAtOV0qXC5bMC05XSpFWy0rXVw9WzAtOV1cK1w+IgorCitzeW4gbWF0Y2ggIHNpbmRhRW5kRGF0YQkJICJeRU5EIE9GIERBVEEiCisKK2lmIGV4aXN0cygidGhlcm1hbF90b2RvIikKKyAgZXhlY3V0ZSAnc3luIG1hdGNoICBzaW5kYVRvZG8gJyAuICciXicudGhlcm1hbF90b2RvLicuKiQiJworZWxzZQorICBzeW4gbWF0Y2ggIHNpbmRhVG9kbyAgICAgIl4/LiokIgorZW5kaWYKKworCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2luZGFfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc2luZGFfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc2luZGFNYWNybwkJTWFjcm8KKyAgSGlMaW5rIHNpbmRhT3B0aW9ucwkJU3BlY2lhbAorICBIaUxpbmsgc2luZGFSb3V0aW5lCQlUeXBlCisgIEhpTGluayBzaW5kYUNvbnRyb2wJCVNwZWNpYWwKKyAgSGlMaW5rIHNpbmRhU3ViUm91dGluZQlGdW5jdGlvbgorICBIaUxpbmsgc2luZGFJZGVudGlmaWVyCUlkZW50aWZpZXIKKworICBIaUxpbmsgc2luZGFGb3J0cmFuCQlQcmVQcm9jCisgIEhpTGluayBzaW5kYU1vdHJhbgkJUHJlUHJvYworCisgIEhpTGluayBzaW5kYUNvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHNpbmRhSGVhZGVyCQlUeXBlZGVmCisgIEhpTGluayBzaW5kYUluY2x1ZGVGaWxlCVR5cGUKKyAgSGlMaW5rIHNpbmRhSW50ZWdlcgkJTnVtYmVyCisgIEhpTGluayBzaW5kYUZsb2F0CQlGbG9hdAorICBIaUxpbmsgc2luZGFTY2llbnRpZmljCUZsb2F0CisKKyAgSGlMaW5rIHNpbmRhRW5kRGF0YQkJTWFjcm8KKworICBIaUxpbmsgc2luZGFUb2RvCQlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2luZGEiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NpbmRhY21wLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NpbmRhY21wLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2I0ODM0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc2luZGFjbXAudmltCkBAIC0wLDAgKzEsNzQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgc2luZGE4NSwgc2luZGEvZmx1aW50IGNvbXBhcmUgZmlsZQorIiBNYWludGFpbmVyOiAgIEFkcmlhbiBOYWdsZSwgYW5hZ2xlQGJhbGwuY29tCisiIExhc3QgQ2hhbmdlOiAgMjAwMyBNYXkgMTEKKyIgRmlsZW5hbWVzOiAgICAqLmNtcAorIiBVUkw6CQlodHRwOi8vd3d3Lm5hZ2xlbmV0Lm9yZy92aW0vc3ludGF4L3NpbmRhY21wLnZpbQorIiBNQUlOIFVSTDogICAgIGh0dHA6Ly93d3cubmFnbGVuZXQub3JnL3ZpbS8KKworCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworCisKKyIgSWdub3JlIGNhc2UKK3N5biBjYXNlIGlnbm9yZQorCisKKworIgorIiBCZWdpbiBzeW50YXggZGVmaW5pdGlvbnMgZm9yIGNvbXBhcmUgZmlsZXMuCisiCisKKyIgRGVmaW5lIGtleXdvcmRzIGZvciBzaW5kYSBjb21wYXJlIChzaW5jb21wKQorc3luIGtleXdvcmQgc2luZGFjbXBVbml0ICAgICBjZWxzaXVzIGZhaHJlbmhlaXQKKworCisKKyIgRGVmaW5lIG1hdGNoZXMgZm9yIHNpbmRhIGNvbXBhcmUgKHNpbmNvbXApCitzeW4gbWF0Y2ggIHNpbmRhY21wVGl0bGUgICAgICAgIlN0ZWFkeSBTdGF0ZSBUZW1wZXJhdHVyZSBDb21wYXJpc29uIgorCitzeW4gbWF0Y2ggIHNpbmRhY21wTGFiZWwgICAgICAgIkZpbGUgIFsxLTZdIGlzIgorCitzeW4gbWF0Y2ggIHNpbmRhY21wSGVhZGVyICAgICAgIl4gKk5vZGVcKCAqRmlsZSAgXGRcKSogKk5vZGUgRGVzY3JpcHRpb24iCisKK3N5biBtYXRjaCAgc2luZGFjbXBJbnRlZ2VyICAgICAiXiAqLVw9XDxbMC05XSpcPiIKK3N5biBtYXRjaCAgc2luZGFjbXBGbG9hdCAgICAgICAiLVw9XDxbMC05XSpcLlswLTldKiIKKworCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2luZGFjbXBfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc2luZGFjbXBfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc2luZGFjbXBUaXRsZQkJICAgICBUeXBlCisgIEhpTGluayBzaW5kYWNtcFVuaXQJCSAgICAgUHJlUHJvYworCisgIEhpTGluayBzaW5kYWNtcExhYmVsCQkgICAgIFN0YXRlbWVudAorCisgIEhpTGluayBzaW5kYWNtcEhlYWRlcgkJICAgICBzaW5kYUhlYWRlcgorCisgIEhpTGluayBzaW5kYWNtcEludGVnZXIJICAgICBOdW1iZXIKKyAgSGlMaW5rIHNpbmRhY21wRmxvYXQJCSAgICAgU3BlY2lhbAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNpbmRhY21wIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaW5kYW91dC52aW0gYi9ydW50aW1lL3N5bnRheC9zaW5kYW91dC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU1N2UwMQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NpbmRhb3V0LnZpbQpAQCAtMCwwICsxLDEwMCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBzaW5kYTg1LCBzaW5kYS9mbHVpbnQgb3V0cHV0IGZpbGUKKyIgTWFpbnRhaW5lcjogICBBZHJpYW4gTmFnbGUsIGFuYWdsZUBiYWxsLmNvbQorIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIEZpbGVuYW1lczogICAgKi5vdXQKKyIgVVJMOgkJaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltL3N5bnRheC9zaW5kYW91dC52aW0KKyIgTUFJTiBVUkw6ICAgICBodHRwOi8vd3d3Lm5hZ2xlbmV0Lm9yZy92aW0vCisKKworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworCisiIElnbm9yZSBjYXNlCitzeW4gY2FzZSBtYXRjaAorCisKKworIiBMb2FkIFNJTkRBIHN5bnRheCBmaWxlCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9zaW5kYS52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L3NpbmRhLnZpbQorZW5kaWYKK3VubGV0IGI6Y3VycmVudF9zeW50YXgKKworCisKKyIKKyIKKyIgQmVnaW4gc3ludGF4IGRlZmluaXRpb25zIGZvciBzaW5kYSBvdXRwdXQgZmlsZXMuCisiCisKKyIgRGVmaW5lIGtleXdvcmRzIGZvciBzaW5kYSBvdXRwdXQKK3N5biBjYXNlIG1hdGNoCisKK3N5biBrZXl3b3JkIHNpbmRhb3V0UG9zICAgICAgIE9OIFNJCitzeW4ga2V5d29yZCBzaW5kYW91dE5lZyAgICAgICBPRkYgRU5HCisKKworCisiIERlZmluZSBtYXRjaGVzIGZvciBzaW5kYSBvdXRwdXQKK3N5biBtYXRjaCBzaW5kYW91dEZpbGUJICAgICAgICI6IFx3KlwuVEFLImhzPXMrMgorCitzeW4gbWF0Y2ggc2luZGFvdXRJbnRlZ2VyICAgICAgIlRcPVswLTldKlw+Im1zPXMrMQorCitzeW4gbWF0Y2ggc2luZGFvdXRTZWN0aW9uRGVsaW0gIlstPD5dXHs0LH0iIGNvbnRhaW5zPXNpbmRhb3V0U2VjdGlvblRpdGxlCitzeW4gbWF0Y2ggc2luZGFvdXRTZWN0aW9uRGVsaW0gIjpcPVwuXHs0LH06XD0iIGNvbnRhaW5zPXNpbmRhb3V0U2VjdGlvblRpdGxlCitzeW4gbWF0Y2ggc2luZGFvdXRTZWN0aW9uVGl0bGUgIlstPDpdIFx3WzAtOUEtWmEtel8oKSBdXCsgWy0+Ol0iaHM9cysxLG1lPWUtMQorCitzeW4gbWF0Y2ggc2luZGFvdXRIZWFkZXJEZWxpbSAgIj1cezUsfSIKK3N5biBtYXRjaCBzaW5kYW91dEhlYWRlckRlbGltICAifFx7NSx9Igorc3luIG1hdGNoIHNpbmRhb3V0SGVhZGVyRGVsaW0gICIrXHs1LH0iCisKK3N5biBtYXRjaCBzaW5kYW91dExhYmVsCQkiSW5wdXQgRmlsZToiIGNvbnRhaW5zPXNpbmRhb3V0RmlsZQorc3luIG1hdGNoIHNpbmRhb3V0TGFiZWwJCSJCZWdpbiBTb2x1dGlvbjogUm91dGluZSIKKworc3luIG1hdGNoIHNpbmRhb3V0RXJyb3IJCSI8PDwgRXJyb3IgPj4+IgorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2luZGFvdXRfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc2luZGFvdXRfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBoaSBzaW5kYUhlYWRlckRlbGltICBjdGVybWZnPUJsYWNrIGN0ZXJtYmc9R3JlZW4JICAgICAgIGd1aWZnPUJsYWNrIGd1aWJnPUdyZWVuCisKKyAgSGlMaW5rIHNpbmRhb3V0UG9zCQkgICAgIFN0YXRlbWVudAorICBIaUxpbmsgc2luZGFvdXROZWcJCSAgICAgUHJlUHJvYworICBIaUxpbmsgc2luZGFvdXRUaXRsZQkJICAgICBUeXBlCisgIEhpTGluayBzaW5kYW91dEZpbGUJCSAgICAgc2luZGFJbmNsdWRlRmlsZQorICBIaUxpbmsgc2luZGFvdXRJbnRlZ2VyCSAgICAgc2luZGFJbnRlZ2VyCisKKyAgSGlMaW5rIHNpbmRhb3V0U2VjdGlvbkRlbGltCSAgICAgIERlbGltaXRlcgorICBIaUxpbmsgc2luZGFvdXRTZWN0aW9uVGl0bGUJICAgICBFeGNlcHRpb24KKyAgSGlMaW5rIHNpbmRhb3V0SGVhZGVyRGVsaW0JICAgICBTcGVjaWFsQ29tbWVudAorICBIaUxpbmsgc2luZGFvdXRMYWJlbAkJICAgICBJZGVudGlmaWVyCisKKyAgSGlMaW5rIHNpbmRhb3V0RXJyb3IJCSAgICAgRXJyb3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzaW5kYW91dCIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2tpbGwudmltIGIvcnVudGltZS9zeW50YXgvc2tpbGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiOTYwNDQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9za2lsbC52aW0KQEAgLTAsMCArMSw1NjIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkJU0tJTEwKKyIgTWFpbnRhaW5lcjoJVG9ieSBTY2hhZmZlciA8anRzY2hhZmZAZW9zLm5jc3UuZWR1PgorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKKyIgQ29tbWVudHM6CQlTS0lMTCBpcyBhIExpc3AtbGlrZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBmb3IgdXNlIGluIEVEQQorIgkJCQl0b29scyBmcm9tIENhZGVuY2UgRGVzaWduIFN5c3RlbXMuIEl0IGFsbG93cyB5b3UgdG8gaGF2ZQorIgkJCQlhIHByb2dyYW1taW5nIGVudmlyb25tZW50IHdpdGhpbiB0aGUgQ2FkZW5jZSBlbnZpcm9ubWVudAorIgkJCQl0aGF0IGdpdmVzIHlvdSBhY2Nlc3MgdG8gdGhlIGNvbXBsZXRlIHRvb2wgc2V0IGFuZCBkZXNpZ24KKyIJCQkJZGF0YWJhc2UuIFRoaXMgZmlsZSBhbHNvIGRlZmluZXMgc3ludGF4IGhpZ2hsaWdodGluZyBmb3IKKyIJCQkJY2VydGFpbiBEZXNpZ24gRnJhbWV3b3JrIElJIGludGVyZmFjZSBmdW5jdGlvbnMuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGtleXdvcmQgc2tpbGxDb25zdGFudHMJCQl0IG5pbCB1bmJvdW5kCisKKyIgZW51bWVyYXRlIGFsbCB0aGUgU0tJTEwgcmVzZXJ2ZWQgd29yZHMvZnVuY3Rpb25zCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihhYnNcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxhYnMoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoYVw9Y29zXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8YVw9Y29zKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGFkZDFcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxhZGQxKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGFkZERlZnN0cnVjdENsYXNzXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8YWRkRGVmc3RydWN0Q2xhc3MoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoYWxpYXNcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxhbGlhcygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihhbHBoYWxlc3NwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8YWxwaGFsZXNzcCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihhbHBoYU51bUNtcFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGFscGhhTnVtQ21wKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGFwcGVuZDFcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGFwcGVuZDFcPSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihhcHBseVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGFwcGx5KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGFycmF5cFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGFycmF5cCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihhcnJheXJlZlw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGFycmF5cmVmKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGFcPXNpblw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGFcPXNpbigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihhc3NvY1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGFzc29jKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGFzc1txdl1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxhc3NbcXZdKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGFcPXRhblw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGFcPXRhbigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihhdG9bZmltXVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGF0b1tmaW1dKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGJjZHBcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxiY2RwKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiKGJlZ2luXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIlw8YmVnaW4oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoYm9vbGVhbnBcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxib29sZWFucCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihib3VuZHBcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxib3VuZHAoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoYnVpbGRTdHJpbmdcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxidWlsZFN0cmluZygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihjW2FkXXsxLDN9clw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGNbYWRdezEsM31yKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbENvbmRpdGlvbmFsICAiKGNhc2VxXD1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbENvbmRpdGlvbmFsICAiXDxjYXNlcVw9KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGNlaWxpbmdcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxjZWlsaW5nKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGNoYW5nZVdvcmtpbmdEaXJcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxjaGFuZ2VXb3JraW5nRGlyKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGNoYXJUb0ludFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGNoYXJUb0ludCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihjbGVhckV4aXRQcm9jc1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGNsZWFyRXhpdFByb2NzKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGNsb3NlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Y2xvc2UoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoY29tcGFyZVRpbWVcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxjb21wYXJlVGltZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihjb21wcmVzc1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGNvbXByZXNzKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGNvbmNhdFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGNvbmNhdCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxDb25kaXRpb25hbCAgIihjb25kXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxDb25kaXRpb25hbCAgIlw8Y29uZCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihjb25zXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Y29ucygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihjb3B5XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Y29weSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihjb3B5RGVmc3RydWN0RGVlcFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGNvcHlEZWZzdHJ1Y3REZWVwKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGNyZWF0ZURpclw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGNyZWF0ZURpcigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihjc2hcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxjc2goImhlPWUtMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICIoZGVjbGFyZVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICJcPGRlY2xhcmUoImhlPWUtMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICIoZGVjbGFyZVwoTlx8U1FOXClcPUxhbWJkYVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICJcPGRlY2xhcmVcKE5cfFNRTlwpXD1MYW1iZGEoImhlPWUtMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICIoZGVmbWFjcm9cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiXDxkZWZtYWNybygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIihkZWZwcm9wXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIlw8ZGVmcHJvcCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIihkZWZzdHJ1Y3RcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiXDxkZWZzdHJ1Y3QoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZGVmc3RydWN0cFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGRlZnN0cnVjdHAoImhlPWUtMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICIoZGVmdW5cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiXDxkZWZ1bigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIihkZWZVc2VySW5pdFByb2NcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiXDxkZWZVc2VySW5pdFByb2MoImhlPWUtMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICIoZGVmdmFyXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIlw8ZGVmdmFyKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGRlbGV0ZVwoRGlyXHxGaWxlXClcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiXDxkZWxldGVcKERpclx8RmlsZVwpKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGRpc3BsYXlcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxkaXNwbGF5KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGRyYWluXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8ZHJhaW4oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZHRwclw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGR0cHIoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZWRcKGlcfGxcfGl0XClcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGVkXChpXHxsXHxpdFwpXD0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZW52b2JqXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8ZW52b2JqKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGVxdWFsXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8ZXF1YWwoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZXF2XD1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxlcXZcPSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihlcnJcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxlcnIoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZXJyb3JcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxlcnJvcigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihlcnJzZXRcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxlcnJzZXQoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZXJyc2V0c3RyaW5nXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8ZXJyc2V0c3RyaW5nKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGV2YWxcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxldmFsKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGV2YWxzdHJpbmdcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxldmFsc3RyaW5nKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGV2ZW5wXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8ZXZlbnAoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZXhpc3RzXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8ZXhpc3RzKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGV4aXRcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxleGl0KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGV4cFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGV4cCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihleHBhbmRNYWNyb1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGV4cGFuZE1hY3JvKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGZpbGVcKExlbmd0aFx8U2Vla1x8VGVsbFx8VGltZU1vZGlmaWVkXClcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxmaWxlXChMZW5ndGhcfFNlZWtcfFRlbGxcfFRpbWVNb2RpZmllZFwpKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGZpeHBcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGZpeHBcPSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihmbG9hdHBcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGZsb2F0cFw9KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGZsb29yXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Zmxvb3IoImhlPWUtMQorc3luIG1hdGNoIHNraWxsUmVwZWF0ICAgICAgICIoZm9yXChhbGxcfGVhY2hcKVw9XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxSZXBlYXQgICAgICAgIlw8Zm9yXChhbGxcfGVhY2hcKVw9KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKFtmc11cPXByaW50Zlw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPFtmc11cPXByaW50ZigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihmXD1zY2FuZlw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGZcPXNjYW5mKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGZ1bm9ialw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGZ1bm9iaigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnY1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGdjKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGdlbnN5bVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGdlbnN5bSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXRcKF9wbmFtZVx8X3N0cmluZ1wpXD1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxnZXRcKF9wbmFtZVx8X3N0cmluZ1wpXD0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZ2V0Y1woaGFyXClcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGdldGNcKGhhclwpXD0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZ2V0Q3VycmVudFRpbWVcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxnZXRDdXJyZW50VGltZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXRkXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Z2V0ZCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXREaXJGaWxlc1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGdldERpckZpbGVzKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGdldEZuV3JpdGVQcm90ZWN0XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Z2V0Rm5Xcml0ZVByb3RlY3QoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZ2V0UnVuVHlwZVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGdldFJ1blR5cGUoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoZ2V0SW5zdGFsbFBhdGhcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxnZXRJbnN0YWxsUGF0aCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXRxcVw9XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Z2V0cXFcPSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXRzXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Z2V0cygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXRTaGVsbEVudlZhclw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGdldFNoZWxsRW52VmFyKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGdldFNraWxsXChQYXRoXHxWZXJzaW9uXClcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxnZXRTa2lsbFwoUGF0aFx8VmVyc2lvblwpKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGdldFZhcldyaXRlUHJvdGVjdFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGdldFZhcldyaXRlUHJvdGVjdCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXRWZXJzaW9uXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Z2V0VmVyc2lvbigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXRXYXJuXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Z2V0V2FybigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihnZXRXb3JraW5nRGlyXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8Z2V0V29ya2luZ0RpcigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxSZXBlYXQgICAgICAgIihnb1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsUmVwZWF0ICAgICAgICJcPGdvKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbENvbmRpdGlvbmFsICAiKGlmXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxDb25kaXRpb25hbCAgIlw8aWYoImhlPWUtMQorc3luIGtleXdvcmQgc2tpbGxDb25kaXRpb25hbCB0aGVuIGVsc2UKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGluZGV4XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8aW5kZXgoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoaW5maWxlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8aW5maWxlKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGlucG9ydHBcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxpbnBvcnRwKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGluXChTY2hlbWVcfFNraWxsXClcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxpblwoU2NoZW1lXHxTa2lsbFwpKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGluc3RyaW5nXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8aW5zdHJpbmcoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoaW50ZWdlcnBcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxpbnRlZ2VycCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihpbnRUb0NoYXJcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxpbnRUb0NoYXIoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoaXNcKENhbGxhYmxlXHxEaXJcfEV4ZWN1dGFibGVcfEZpbGVcfEZpbGVFbmNyeXB0ZWRcfEZpbGVOYW1lXHxMaW5rXHxNYWNyb1x8V3JpdGFibGVcKVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGlzXChDYWxsYWJsZVx8RGlyXHxFeGVjdXRhYmxlXHxGaWxlXHxGaWxlRW5jcnlwdGVkXHxGaWxlTmFtZVx8TGlua1x8TWFjcm9cfFdyaXRhYmxlXCkoImhlPWUtMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICIoblw9bGFtYmRhXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIlw8blw9bGFtYmRhKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiKGxhc3RcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiXDxsYXN0KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGxjb25jXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bGNvbmMoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobGVuZ3RoXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bGVuZ3RoKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiKGxldFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICJcPGxldCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihsaW5lcmVhZFwoc3RyaW5nXClcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGxpbmVyZWFkXChzdHJpbmdcKVw9KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiKGxpc3RcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiXDxsaXN0KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGxpc3RwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bGlzdHAoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobGlzdFRvVmVjdG9yXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bGlzdFRvVmVjdG9yKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGxvYWRpXD1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxsb2FkaVw9KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGxvYWRzdHJpbmdcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxsb2Fkc3RyaW5nKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKGxvZ1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPGxvZygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihsb3dlckNhc2VcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxsb3dlckNhc2UoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobWFrZVRhYmxlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bWFrZVRhYmxlKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG1ha2VUZW1wRmlsZU5hbWVcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxtYWtlVGVtcEZpbGVOYW1lKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG1ha2VWZWN0b3JcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxtYWtlVmVjdG9yKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG1hcFwoY1x8Y2FuXHxjYXJcfGxpc3RcKVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPG1hcFwoY1x8Y2FuXHxjYXJcfGxpc3RcKSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihtYXhcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxtYXgoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobWVhc3VyZVRpbWVcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxtZWFzdXJlVGltZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihtZW1iZXJcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxtZW1iZXIoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobWVtW3F2XVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPG1lbVtxdl0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobWluXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bWluKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG1pbnVzcFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPG1pbnVzcCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihtb2RcKHVsb1wpXD1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxtb2RcKHVsb1wpXD0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICIoW21uXVw9cHJvY2VkdXJlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIlw8W21uXVw9cHJvY2VkdXJlKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG5jb25bY3NdXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bmNvbltjc10oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobmVlZE5DZWxsc1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPG5lZWROQ2VsbHMoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobmVnYXRpdmVwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bmVnYXRpdmVwKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG5lcVwodWFsXClcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPG5lcVwodWFsXClcPSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihuZXdsaW5lXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bmV3bGluZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihuaW5kZXhcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxuaW5kZXgoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIobm90XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bm90KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG50aFwoY2RyXHxlbGVtXClcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPG50aFwoY2RyXHxlbGVtXClcPSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihudWxsXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bnVsbCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihudW1iZXJwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8bnVtYmVycCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihudW1PcGVuRmlsZXNcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxudW1PcGVuRmlsZXMoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIob2RkcFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPG9kZHAoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIob25lcFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPG9uZXAoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIob3RoZXJwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8b3RoZXJwKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG91dGZpbGVcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxvdXRmaWxlKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKG91dHBvcnRwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8b3V0cG9ydHAoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIocGFpcnBcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxwYWlycCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihwYXJzZVN0cmluZ1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHBhcnNlU3RyaW5nKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHBsaXN0XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cGxpc3QoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIocGx1c3BcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxwbHVzcCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihwb3J0cFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHBvcnRwKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHBcPXByaW50XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cFw9cHJpbnQoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIocHJlcGVuZEluc3RhbGxQYXRoXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cHJlcGVuZEluc3RhbGxQYXRoKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHByaW50bFwoZXZcfG5cKVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHByaW50bFwoZXZcfG5cKSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihwcm9jZWR1cmVwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cHJvY2VkdXJlcCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxLZXl3b3JkcyAgICAgIihwcm9nWzEybl1cPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICJcPHByb2dbMTJuXVw9KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHB1dGRcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxwdXRkKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHB1dHByb3BxXHssMn1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxwdXRwcm9wcVx7LDJ9KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHJhbmRvbVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHJhbmRvbSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZWFkXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmVhZCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZWFkU3RyaW5nXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmVhZFN0cmluZygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZWFkVGFibGVcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxyZWFkVGFibGUoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIocmVhbHBcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxyZWFscCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZWdFeGl0XChBZnRlclx8QmVmb3JlXClcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxyZWdFeGl0XChBZnRlclx8QmVmb3JlXCkoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIocmVtYWluZGVyXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmVtYWluZGVyKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHJlbWRxXD1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxyZW1kcVw9KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHJlbUV4aXRQcm9jXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmVtRXhpdFByb2MoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIocmVtb3ZlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmVtb3ZlKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHJlbXByb3BcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxyZW1wcm9wKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHJlbXFcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxyZW1xKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEtleXdvcmRzICAgICAiKHJldHVyblw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsS2V5d29yZHMgICAgICJcPHJldHVybigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZXZlcnNlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmV2ZXJzZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZXhDb21waWxlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmV4Q29tcGlsZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZXhFeGVjdXRlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmV4RXhlY3V0ZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZXhNYWdpY1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHJleE1hZ2ljKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHJleE1hdGNoQXNzb2NMaXN0XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmV4TWF0Y2hBc3NvY0xpc3QoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIocmV4TWF0Y2hMaXN0XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmV4TWF0Y2hMaXN0KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHJleE1hdGNocFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHJleE1hdGNocCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZXhSZXBsYWNlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmV4UmVwbGFjZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyZXhTdWJzdGl0dXRlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8cmV4U3Vic3RpdHV0ZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihyaW5kZXhcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxyaW5kZXgoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIocm91bmRcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxyb3VuZCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihycGxhY1thZF1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxycGxhY1thZF0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc2NoZW1lVG9wTGV2ZWxFbnZcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzY2hlbWVUb3BMZXZlbEVudigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzZXRcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzZXQoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc2V0YXJyYXlcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzZXRhcnJheSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzZXRjW2FkXXJcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzZXRjW2FkXXIoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc2V0Rm5Xcml0ZVByb3RlY3RcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzZXRGbldyaXRlUHJvdGVjdCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzZXRvZlw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHNldG9mKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHNldHBsaXN0XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8c2V0cGxpc3QoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc2V0cVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHNldHEoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc2V0U2hlbGxFbnZWYXJcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzZXRTaGVsbEVudlZhcigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzZXRTa2lsbFBhdGhcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzZXRTa2lsbFBhdGgoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc2V0VmFyV3JpdGVQcm90ZWN0XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8c2V0VmFyV3JpdGVQcm90ZWN0KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHNoXChlbGxcKVw9XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8c2hcKGVsbFwpXD0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc2ltcGxpZnlGaWxlbmFtZVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHNpbXBsaWZ5RmlsZW5hbWUoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc29ydFwoY2FyXClcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHNvcnRcKGNhclwpXD0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3FydFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHNxcnQoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3JhbmRvbVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHNyYW5kb20oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3N0YXR1c1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHNzdGF0dXMoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3Ryblw9Y2F0XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8c3Ryblw9Y2F0KCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHN0cm5cPWNtcFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHN0cm5cPWNtcCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzdHJpbmdwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8c3RyaW5ncCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzdHJpbmdUb1woRnVuY3Rpb25cfFN5bWJvbFx8VGltZVwpXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8c3RyaW5nVG9cKEZ1bmN0aW9uXHxTeW1ib2xcfFRpbWVcKSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzdHJsZW5cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzdHJsZW4oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3ViMVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHN1YjEoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3Vic3RcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzdWJzdCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzdWJzdHJpbmdcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzdWJzdHJpbmcoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3h0ZFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHN4dGQoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3ltYm9scFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHN5bWJvbHAoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoc3ltYm9sVG9TdHJpbmdcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzeW1ib2xUb1N0cmluZygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzeW1ldmFsXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8c3ltZXZhbCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzeW1zdHJwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8c3ltc3RycCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIihzeXN0ZW1cPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDxzeXN0ZW0oImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIodGFibGVwXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8dGFibGVwKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHRhYmxlVG9MaXN0XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8dGFibGVUb0xpc3QoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIodGFpbHBcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDx0YWlscCgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIih0Y29uY1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHRjb25jKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHRpbWVUb1N0cmluZ1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHRpbWVUb1N0cmluZygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIih0aW1lVG9UbVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHRpbWVUb1RtKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHRtVG9UaW1lXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8dG1Ub1RpbWUoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIodHJ1bmNhdGVcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDx0cnVuY2F0ZSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIih0eXBlcFw9XD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8dHlwZXBcPSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIih1bmFsaWFzXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8dW5hbGlhcygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxDb25kaXRpb25hbCAgIih1bmxlc3NcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbENvbmRpdGlvbmFsICAiXDx1bmxlc3MoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIodXBwZXJDYXNlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8dXBwZXJDYXNlKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHZlY3RvclwoVG9MaXN0XClcPVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHZlY3RvclwoVG9MaXN0XClcPSgiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIih3YXJuXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8d2FybigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxDb25kaXRpb25hbCAgIih3aGVuXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxDb25kaXRpb25hbCAgIlw8d2hlbigiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxSZXBlYXQgICAgICAgIih3aGlsZVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsUmVwZWF0ICAgICAgICJcPHdoaWxlKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHdyaXRlXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIlw8d3JpdGUoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIod3JpdGVUYWJsZVw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHdyaXRlVGFibGUoImhlPWUtMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICIoeGNvbnNcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDx4Y29ucygiaGU9ZS0xCitzeW4gbWF0Y2ggc2tpbGxGdW5jdGlvbiAgICAgIih6ZXJvcFw+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsRnVuY3Rpb24gICAgICJcPHplcm9wKCJoZT1lLTEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiKHp4dGRcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbEZ1bmN0aW9uICAgICAiXDx6eHRkKCJoZT1lLTEKKworIiBERklJIHByb2NlZHVyYWwgaW50ZXJmYWNlIHJvdXRpbmVzCisKKyIgQ0RGIGZ1bmN0aW9ucworc3luIG1hdGNoIHNraWxsY2RmRnVuY3Rpb25zCQkJIihjZGZcdVxhXCtcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbGNkZkZ1bmN0aW9ucwkJCSJcPGNkZlx1XGFcKygiaGU9ZS0xCisiIGdyYXBoaWMgZWRpdG9yIGZ1bmN0aW9ucworc3luIG1hdGNoIHNraWxsZ2VGdW5jdGlvbnMJCQkiKGdlXHVcYVwrXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxnZUZ1bmN0aW9ucwkJCSJcPGdlXHVcYVwrKCJoZT1lLTEKKyIgaHVtYW4gaW50ZXJmYWNlIGZ1bmN0aW9ucworc3luIG1hdGNoIHNraWxsaGlGdW5jdGlvbnMJCQkiKGhpXHVcYVwrXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxoaUZ1bmN0aW9ucwkJCSJcPGhpXHVcYVwrKCJoZT1lLTEKKyIgbGF5b3V0IGVkaXRvciBmdW5jdGlvbnMKK3N5biBtYXRjaCBza2lsbGxlRnVuY3Rpb25zCQkJIihsZVx1XGFcK1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsbGVGdW5jdGlvbnMJCQkiXDxsZVx1XGFcKygiaGU9ZS0xCisiIGRhdGFiYXNlfGRlc2lnbiBlZGl0b3J8ZGVzaWduIGZsb3cgZnVuY3Rpb25zCitzeW4gbWF0Y2ggc2tpbGxkYmVmRnVuY3Rpb25zCQkiKGRbYmVmXVx1XGFcK1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsZGJlZkZ1bmN0aW9ucwkJIlw8ZFtiZWZdXHVcYVwrKCJoZT1lLTEKKyIgZGVzaWduIG1hbmFnZW1lbnQgJiBkZXNpZ24gZGF0YSBzZXJ2aWNlcyBmdW5jdGlvbnMKK3N5biBtYXRjaCBza2lsbGRkRnVuY3Rpb25zCQkJIihkZFtzXVw9XHVcYVwrXD4iaHM9cysxCitzeW4gbWF0Y2ggc2tpbGxkZEZ1bmN0aW9ucwkJCSJcPGRkW3NdXD1cdVxhXCsoImhlPWUtMQorIiBwYXJhbWV0ZXJpemVkIGNlbGwgZnVuY3Rpb25zCitzeW4gbWF0Y2ggc2tpbGxwY0Z1bmN0aW9ucwkJCSIocGNcdVxhXCtcPiJocz1zKzEKK3N5biBtYXRjaCBza2lsbHBjRnVuY3Rpb25zCQkJIlw8cGNcdVxhXCsoImhlPWUtMQorIiB0ZWNoIGZpbGUgZnVuY3Rpb25zCitzeW4gbWF0Y2ggc2tpbGx0ZWNoRnVuY3Rpb25zCQkiKFwodGVjaFx8dGNcKVx1XGFcK1w+ImhzPXMrMQorc3luIG1hdGNoIHNraWxsdGVjaEZ1bmN0aW9ucwkJIlw8XCh0ZWNoXHx0Y1wpXHVcYVwrKCJoZT1lLTEKKworIiBzdHJpbmdzCitzeW4gcmVnaW9uIHNraWxsU3RyaW5nCQkJCXN0YXJ0PSsiKyBza2lwPStcXCIrIGVuZD0rIisKKworc3luIGtleXdvcmQgc2tpbGxUb2RvIGNvbnRhaW5lZAkJVE9ETyBGSVhNRSBYWFgKK3N5biBrZXl3b3JkIHNraWxsTm90ZSBjb250YWluZWQJCU5PVEUgSU1QT1JUQU5UCisKKyIgY29tbWVudHMgYXJlIGVpdGhlciBDLXN0eWxlIG9yIGJlZ2luIHdpdGggYSBzZW1pY29sb24KK3N5biByZWdpb24gc2tpbGxDb21tZW50CQkJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1za2lsbFRvZG8sc2tpbGxOb3RlCitzeW4gbWF0Y2ggc2tpbGxDb21tZW50CQkJCSI7LioiIGNvbnRhaW5zPXNraWxsVG9kbyxza2lsbE5vdGUKK3N5biBtYXRjaCBza2lsbENvbW1lbnRFcnJvcgkJCSJcKi8iCisKK3N5biBzeW5jIGNjb21tZW50IHNraWxsQ29tbWVudCBtaW5saW5lcz0xMAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9za2lsbF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9za2lsbF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisJSGlMaW5rIHNraWxsY2RmRnVuY3Rpb25zCUZ1bmN0aW9uCisJSGlMaW5rIHNraWxsZ2VGdW5jdGlvbnMJCUZ1bmN0aW9uCisJSGlMaW5rIHNraWxsaGlGdW5jdGlvbnMJCUZ1bmN0aW9uCisJSGlMaW5rIHNraWxsbGVGdW5jdGlvbnMJCUZ1bmN0aW9uCisJSGlMaW5rIHNraWxsZGJlZkZ1bmN0aW9ucwlGdW5jdGlvbgorCUhpTGluayBza2lsbGRkRnVuY3Rpb25zCQlGdW5jdGlvbgorCUhpTGluayBza2lsbHBjRnVuY3Rpb25zCQlGdW5jdGlvbgorCUhpTGluayBza2lsbHRlY2hGdW5jdGlvbnMJRnVuY3Rpb24KKwlIaUxpbmsgc2tpbGxDb25zdGFudHMJCUNvbnN0YW50CisJSGlMaW5rIHNraWxsRnVuY3Rpb24JCUZ1bmN0aW9uCisJSGlMaW5rIHNraWxsS2V5d29yZHMJCVN0YXRlbWVudAorCUhpTGluayBza2lsbENvbmRpdGlvbmFsCQlDb25kaXRpb25hbAorCUhpTGluayBza2lsbFJlcGVhdAkJCVJlcGVhdAorCUhpTGluayBza2lsbFN0cmluZwkJCVN0cmluZworCUhpTGluayBza2lsbFRvZG8JCQlUb2RvCisJSGlMaW5rIHNraWxsTm90ZQkJCVRvZG8KKwlIaUxpbmsgc2tpbGxDb21tZW50CQkJQ29tbWVudAorCUhpTGluayBza2lsbENvbW1lbnRFcnJvcglFcnJvcgorCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNraWxsIgorCisiIHZpbTogdHM9NApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2wudmltIGIvcnVudGltZS9zeW50YXgvc2wudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhM2JjYTAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zbC52aW0KQEAgLTAsMCArMSwxMjAgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglSZW5kZXJtYW4gc2hhZGVyIGxhbmd1YWdlCisiIE1haW50YWluZXI6CURhbiBQaXBvbmkgPGRhbkB0YW5lbG9ybi5kZW1vbi5jby51az4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDA5CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBBIGJ1bmNoIG9mIHVzZWZ1bCBSZW5kZXJtYW4ga2V5d29yZHMgaW5jbHVkaW5nIHNwZWNpYWwKKyIgUmVuZGVyTWFuIGNvbnRyb2wgc3RydWN0dXJlcworc3luIGtleXdvcmQgc2xTdGF0ZW1lbnQJYnJlYWsgcmV0dXJuIGNvbnRpbnVlCitzeW4ga2V5d29yZCBzbENvbmRpdGlvbmFsCWlmIGVsc2UKK3N5biBrZXl3b3JkIHNsUmVwZWF0CQl3aGlsZSBmb3IKK3N5biBrZXl3b3JkIHNsUmVwZWF0CQlpbGx1bWluYW5jZSBpbGx1bWluYXRlIHNvbGFyCisKK3N5biBrZXl3b3JkIHNsVG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFgKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb25zdGFudHMKKyIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2ggaGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKK3N5biBtYXRjaCBzbFNwZWNpYWwgY29udGFpbmVkCSJcXFswLTldWzAtOV1bMC05XVx8XFwuIgorc3luIHJlZ2lvbiBzbFN0cmluZwkJc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1zbFNwZWNpYWwKK3N5biBtYXRjaCBzbENoYXJhY3RlcgkJIidbXlxcXSciCitzeW4gbWF0Y2ggc2xTcGVjaWFsQ2hhcmFjdGVyCSInXFwuJyIKK3N5biBtYXRjaCBzbFNwZWNpYWxDaGFyYWN0ZXIJIidcXFswLTldWzAtOV0nIgorc3luIG1hdGNoIHNsU3BlY2lhbENoYXJhY3RlcgkiJ1xcWzAtOV1bMC05XVswLTldJyIKKworImNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMKK3N5biByZWdpb24gc2xQYXJlbgkJdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULHNsUGFyZW5FcnJvcixzbEluY2x1ZGVkLHNsU3BlY2lhbCxzbFRvZG8sc2xVc2VyTGFiZWwKK3N5biBtYXRjaCBzbFBhcmVuRXJyb3IJCSIpIgorc3luIG1hdGNoIHNsSW5QYXJlbiBjb250YWluZWQJIlt7fV0iCisKKyJpbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHdpdGhvdXQgYSBkb3QgYW5kIHdpdGggImYiLgorc3luIGNhc2UgaWdub3JlCitzeW4gbWF0Y2ggc2xOdW1iZXIJCSJcPFswLTldXCtcKHVcPWxcPVx8bHVcfGZcKVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggc2xGbG9hdAkJIlw8WzAtOV1cK1wuWzAtOV0qXChlWy0rXVw9WzAtOV1cK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggc2xGbG9hdAkJIlwuWzAtOV1cK1woZVstK11cPVswLTldXCtcKVw9W2ZsXVw9XD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGRvdCwgd2l0aCBleHBvbmVudAorc3luIG1hdGNoIHNsRmxvYXQJCSJcPFswLTldXCtlWy0rXVw9WzAtOV1cK1tmbF1cPVw+IgorImhleCBudW1iZXIKK3N5biBtYXRjaCBzbE51bWJlcgkJIlw8MHhbMC05YS1mXVwrXCh1XD1sXD1cfGx1XClcPiIKKyJzeW4gbWF0Y2ggc2xJZGVudGlmaWVyCSJcPFthLXpfXVthLXowLTlfXSpcPiIKK3N5biBjYXNlIG1hdGNoCisKK2lmIGV4aXN0cygic2xfY29tbWVudF9zdHJpbmdzIikKKyAgIiBBIGNvbW1lbnQgY2FuIGNvbnRhaW4gc2xTdHJpbmcsIHNsQ2hhcmFjdGVyIGFuZCBzbE51bWJlci4KKyAgIiBCdXQgYSAiKi8iIGluc2lkZSBhIHNsU3RyaW5nIGluIGEgc2xDb21tZW50IERPRVMgZW5kIHRoZSBjb21tZW50ISAgU28gd2UKKyAgIiBuZWVkIHRvIHVzZSBhIHNwZWNpYWwgdHlwZSBvZiBzbFN0cmluZzogc2xDb21tZW50U3RyaW5nLCB3aGljaCBhbHNvIGVuZHMgb24KKyAgIiAiKi8iLCBhbmQgc2VlcyBhICIqIiBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpbmUgYXMgY29tbWVudCBhZ2Fpbi4KKyAgIiBVbmZvcnR1bmF0ZWx5IHRoaXMgZG9lc24ndCB2ZXJ5IHdlbGwgd29yayBmb3IgLy8gdHlwZSBvZiBjb21tZW50cyA6LSgKKyAgc3ludGF4IG1hdGNoIHNsQ29tbWVudFNraXAJY29udGFpbmVkICJeXHMqXCpcKCRcfFxzXCtcKSIKKyAgc3ludGF4IHJlZ2lvbiBzbENvbW1lbnRTdHJpbmcJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZW5kPStcKi8rbWU9cy0xIGNvbnRhaW5zPXNsU3BlY2lhbCxzbENvbW1lbnRTa2lwCisgIHN5bnRheCByZWdpb24gc2xDb21tZW50MlN0cmluZwljb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBlbmQ9IiQiIGNvbnRhaW5zPXNsU3BlY2lhbAorICBzeW50YXggcmVnaW9uIHNsQ29tbWVudAlzdGFydD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9c2xUb2RvLHNsQ29tbWVudFN0cmluZyxzbENoYXJhY3RlcixzbE51bWJlcgorZWxzZQorICBzeW4gcmVnaW9uIHNsQ29tbWVudAkJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPXNsVG9kbworZW5kaWYKK3N5bnRheCBtYXRjaCBzbENvbW1lbnRFcnJvcgkiXCovIgorCitzeW4ga2V5d29yZCBzbE9wZXJhdG9yCXNpemVvZgorc3luIGtleXdvcmQgc2xUeXBlCQlmbG9hdCBwb2ludCBjb2xvciBzdHJpbmcgdmVjdG9yIG5vcm1hbCBtYXRyaXggdm9pZAorc3luIGtleXdvcmQgc2xTdG9yYWdlQ2xhc3MJdmFyeWluZyB1bmlmb3JtIGV4dGVybgorc3luIGtleXdvcmQgc2xTdG9yYWdlQ2xhc3MJbGlnaHQgc3VyZmFjZSB2b2x1bWUgZGlzcGxhY2VtZW50IHRyYW5zZm9ybWF0aW9uIGltYWdlcgorc3luIGtleXdvcmQgc2xWYXJpYWJsZQlDcyBPcyBQIGRQZHUgZFBkdiBOIE5nIHUgdiBkdSBkdiBzIHQKK3N5biBrZXl3b3JkIHNsVmFyaWFibGUgTCBDbCBPbCBFIEkgbmNvbXBzIHRpbWUgQ2kgT2kKK3N5biBrZXl3b3JkIHNsVmFyaWFibGUgUHMgYWxwaGEKK3N5biBrZXl3b3JkIHNsVmFyaWFibGUgZHRpbWUgZFBkdGltZQorCitzeW4gc3luYyBjY29tbWVudCBzbENvbW1lbnQgbWlubGluZXM9MTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2xfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc2xfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc2xMYWJlbAlMYWJlbAorICBIaUxpbmsgc2xVc2VyTGFiZWwJTGFiZWwKKyAgSGlMaW5rIHNsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHNsUmVwZWF0CVJlcGVhdAorICBIaUxpbmsgc2xDaGFyYWN0ZXIJQ2hhcmFjdGVyCisgIEhpTGluayBzbFNwZWNpYWxDaGFyYWN0ZXIgc2xTcGVjaWFsCisgIEhpTGluayBzbE51bWJlcglOdW1iZXIKKyAgSGlMaW5rIHNsRmxvYXQJRmxvYXQKKyAgSGlMaW5rIHNsUGFyZW5FcnJvcglzbEVycm9yCisgIEhpTGluayBzbEluUGFyZW4Jc2xFcnJvcgorICBIaUxpbmsgc2xDb21tZW50RXJyb3IJc2xFcnJvcgorICBIaUxpbmsgc2xPcGVyYXRvcglPcGVyYXRvcgorICBIaUxpbmsgc2xTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayBzbEVycm9yCUVycm9yCisgIEhpTGluayBzbFN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIHNsVHlwZQkJVHlwZQorICBIaUxpbmsgc2xDb21tZW50RXJyb3IJc2xFcnJvcgorICBIaUxpbmsgc2xDb21tZW50U3RyaW5nIHNsU3RyaW5nCisgIEhpTGluayBzbENvbW1lbnQyU3RyaW5nIHNsU3RyaW5nCisgIEhpTGluayBzbENvbW1lbnRTa2lwCXNsQ29tbWVudAorICBIaUxpbmsgc2xTdHJpbmcJU3RyaW5nCisgIEhpTGluayBzbENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgc2xTcGVjaWFsCVNwZWNpYWxDaGFyCisgIEhpTGluayBzbFRvZG8JVG9kbworICBIaUxpbmsgc2xWYXJpYWJsZQlJZGVudGlmaWVyCisgICJIaUxpbmsgc2xJZGVudGlmaWVyCUlkZW50aWZpZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2wiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbGFuZy52aW0gYi9ydW50aW1lL3N5bnRheC9zbGFuZy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZhODliNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NsYW5nLnZpbQpAQCAtMCwwICsxLDEwMiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVMtTGFuZworIiBNYWludGFpbmVyOglKYW4gSGxhdmFjZWsgPGxhaHZha0BtYXRoLm9oaW8tc3RhdGUuZWR1PgorIiBMYXN0IENoYW5nZToJOTgwMjE2CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGtleXdvcmQgc2xhbmdTdGF0ZW1lbnQJYnJlYWsgcmV0dXJuIGNvbnRpbnVlIEVYRUNVVEVfRVJST1JfQkxPQ0sKK3N5biBtYXRjaCBzbGFuZ1N0YXRlbWVudAkiXDxYX1VTRVJfQkxPQ0tbMC00XVw+Igorc3luIGtleXdvcmQgc2xhbmdMYWJlbAkJY2FzZQorc3luIGtleXdvcmQgc2xhbmdDb25kaXRpb25hbAkhaWYgaWYgZWxzZSBzd2l0Y2gKK3N5biBrZXl3b3JkIHNsYW5nUmVwZWF0CQl3aGlsZSBmb3IgX2ZvciBsb29wIGRvIGZvcmV2ZXIKK3N5biBrZXl3b3JkIHNsYW5nRGVmaW5pdGlvbglkZWZpbmUgdHlwZWRlZiB2YXJpYWJsZSBzdHJ1Y3QKK3N5biBrZXl3b3JkIHNsYW5nT3BlcmF0b3IJb3IgYW5kIGFuZGVsc2Ugb3JlbHNlIHNociBzaGwgeG9yIG5vdAorc3luIGtleXdvcmQgc2xhbmdCbG9jawkJRVhJVF9CTE9DSyBFUlJPUl9CTE9DSworc3luIG1hdGNoIHNsYW5nQmxvY2sJCSJcPFVTRVJfQkxPQ0tbMC00XVw+Igorc3luIGtleXdvcmQgc2xhbmdDb25zdGFudAlOVUxMCitzeW4ga2V5d29yZCBzbGFuZ1R5cGUJCUludGVnZXJfVHlwZSBEb3VibGVfVHlwZSBDb21wbGV4X1R5cGUgU3RyaW5nX1R5cGUgU3RydWN0X1R5cGUgUmVmX1R5cGUgTnVsbF9UeXBlIEFycmF5X1R5cGUgRGF0YVR5cGVfVHlwZQorCitzeW4gbWF0Y2ggc2xhbmdPY3RhbAkJIlw8MFxkXCtcPiIgY29udGFpbnM9c2xhbmdPY3RhbEVycm9yCitzeW4gbWF0Y2ggc2xhbmdPY3RhbEVycm9yCSJbODldXCsiIGNvbnRhaW5lZAorc3luIG1hdGNoIHNsYW5nSGV4CQkiXDwwW3hYXVswLTlBLUZhLWZdKlw+Igorc3luIG1hdGNoIHNsYW5nRGVjaW1hbAkJIlw8WzEtOV1cZCpcPiIKK3N5biBtYXRjaCBzbGFuZ0Zsb2F0CQkiXDxcZFwrXC4iCitzeW4gbWF0Y2ggc2xhbmdGbG9hdAkJIlw8XGRcK1wuXGRcK1woW0VlXVstK11cPVxkXCtcKVw9XD4iCitzeW4gbWF0Y2ggc2xhbmdGbG9hdAkJIlw8XGRcK1wuW0VlXVstK11cPVxkXCtcPiIKK3N5biBtYXRjaCBzbGFuZ0Zsb2F0CQkiXDxcZFwrW0VlXVstK11cPVxkXCtcPiIKK3N5biBtYXRjaCBzbGFuZ0Zsb2F0CQkiXC5cZFwrXChbRWVdWy0rXVw9XGRcK1wpXD1cPiIKK3N5biBtYXRjaCBzbGFuZ0ltYWdpbmFyeQkiXC5cZFwrXChbRWVdWy0rXVw9XGQqXClcPVtpal1cPiIKK3N5biBtYXRjaCBzbGFuZ0ltYWdpbmFyeQkiXDxcZFwrXChcLlxkKlwpXD1cKFtFZV1bLStdXD1cZFwrXClcPVtpal1cPiIKKworc3luIHJlZ2lvbiBzbGFuZ1N0cmluZyBvbmVsaW5lIHN0YXJ0PSciJyBlbmQ9JyInIHNraXA9J1xcIicKK3N5biBtYXRjaCBzbGFuZ0NoYXJhY3RlcgkiJ1teXFxdJyIKK3N5biBtYXRjaCBzbGFuZ0NoYXJhY3RlcgkiJ1xcLiciCitzeW4gbWF0Y2ggc2xhbmdDaGFyYWN0ZXIJIidcXFswLTddXHsxLDN9JyIKK3N5biBtYXRjaCBzbGFuZ0NoYXJhY3RlcgkiJ1xcZFxkXHsxLDN9JyIKK3N5biBtYXRjaCBzbGFuZ0NoYXJhY3RlcgkiJ1xceFswLTdhLWZBLUZdXHsxLDJ9JyIKKworc3luIG1hdGNoIHNsYW5nRGVsaW0JCSJbXVt7fTs6LF0iCitzeW4gbWF0Y2ggc2xhbmdPcGVyYXRvcgkJIlstJSsvJio9PD58IX5eQF0iCisKKyJjYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2lzCitzeW4gcmVnaW9uIHNsYW5nUGFyZW4JbWF0Y2hncm91cD1zbGFuZ0RlbGltIHRyYW5zcGFyZW50IHN0YXJ0PScoJyBlbmQ9JyknIGNvbnRhaW5zPUFMTEJVVCxzbGFuZ1BhcmVuRXJyb3IKK3N5biBtYXRjaCBzbGFuZ1BhcmVuRXJyb3IJIikiCisKK3N5biBtYXRjaCBzbGFuZ0NvbW1lbnQJCSIlLiokIgorc3luIGtleXdvcmQgc2xhbmdPcGVyYXRvcglzaXplb2YKKworc3luIHJlZ2lvbiBzbGFuZ1ByZUNvbmRpdCBzdGFydD0iXlxzKiNccypcKGlmZGVmXD5cfGlmbmRlZlw+XHxpZnRydWVcPlx8aWZuZmFsc2VcPlx8aWZmYWxzZVw+XHxpZm50cnVlXD5cfGlmXCRcfGlmblwkXHxcfGVsaWZcPlx8ZWxzZVw+XHxlbmRpZlw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1jQ29tbWVudCxzbGFuZ1N0cmluZyxzbGFuZ0NoYXJhY3RlcixzbGFuZ051bWJlcgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbGFuZ19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zbGFuZ19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzbGFuZ0RlZmluaXRpb24JVHlwZQorICBIaUxpbmsgc2xhbmdCbG9jawkJc2xhbmdEZWZpbml0aW9uCisgIEhpTGluayBzbGFuZ0xhYmVsCQlMYWJlbAorICBIaUxpbmsgc2xhbmdDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgc2xhbmdSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgc2xhbmdDaGFyYWN0ZXIJQ2hhcmFjdGVyCisgIEhpTGluayBzbGFuZ0Zsb2F0CQlGbG9hdAorICBIaUxpbmsgc2xhbmdJbWFnaW5hcnkJRmxvYXQKKyAgSGlMaW5rIHNsYW5nRGVjaW1hbAkJc2xhbmdOdW1iZXIKKyAgSGlMaW5rIHNsYW5nT2N0YWwJCXNsYW5nTnVtYmVyCisgIEhpTGluayBzbGFuZ0hleAkJc2xhbmdOdW1iZXIKKyAgSGlMaW5rIHNsYW5nTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHNsYW5nUGFyZW5FcnJvcglFcnJvcgorICBIaUxpbmsgc2xhbmdPY3RhbEVycm9yCUVycm9yCisgIEhpTGluayBzbGFuZ09wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgc2xhbmdTdHJ1Y3R1cmUJU3RydWN0dXJlCisgIEhpTGluayBzbGFuZ0luY2x1ZGUJCUluY2x1ZGUKKyAgSGlMaW5rIHNsYW5nUHJlQ29uZGl0CVByZUNvbmRpdAorICBIaUxpbmsgc2xhbmdFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHNsYW5nU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgc2xhbmdUeXBlCQlUeXBlCisgIEhpTGluayBzbGFuZ1N0cmluZwkJU3RyaW5nCisgIEhpTGluayBzbGFuZ0NvbnN0YW50CQlDb25zdGFudAorICBIaUxpbmsgc2xhbmdSYW5nZUFycmF5CXNsYW5nQ29uc3RhbnQKKyAgSGlMaW5rIHNsYW5nQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgc2xhbmdTcGVjaWFsCQlTcGVjaWFsQ2hhcgorICBIaUxpbmsgc2xhbmdUb2RvCQlUb2RvCisgIEhpTGluayBzbGFuZ0RlbGltCQlEZWxpbWl0ZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2xhbmciCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbGljZS52aW0gYi9ydW50aW1lL3N5bnRheC9zbGljZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThmODc2YwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NsaWNlLnZpbQpAQCAtMCwwICsxLDkwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU2xpY2UgKFplcm9DJ3MgU3BlY2lmaWNhdGlvbiBMYW5ndWFnZSBmb3IgSWNlKQorIiBNYWludGFpbmVyOglNb3JlbCBCb2RpbiA8Ym9kaW5AdHV4ZmFtaWx5Lm5ldD4KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgU2VwIDI0CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBUaGUgU2xpY2Uga2V5d29yZHMKKworc3luIGtleXdvcmQgc2xpY2VUeXBlCSAgICBib29sIGJ5dGUgZG91YmxlIGZsb2F0IGludCBsb25nIHNob3J0IHN0cmluZyB2b2lkCitzeW4ga2V5d29yZCBzbGljZVF1YWxpZmllciAgY29uc3QgZXh0ZW5kcyBpZGVtcG90ZW50IGltcGxlbWVudHMgbG9jYWwgbm9ubXV0YXRpbmcgb3V0IHRocm93cworc3luIGtleXdvcmQgc2xpY2VDb25zdHJ1Y3QJY2xhc3MgZW51bSBleGNlcHRpb24gZGljdGlvbm5hcnkgaW50ZXJmYWNlIG1vZHVsZSBMb2NhbE9iamVjdCBPYmplY3Qgc2VxdWVuY2Ugc3RydWN0CitzeW4ga2V5d29yZCBzbGljZVF1YWxpZmllciAgY29uc3QgZXh0ZW5kcyBpZGVtcG90ZW50IGltcGxlbWVudHMgbG9jYWwgbm9ubXV0YXRpbmcgb3V0IHRocm93cworc3luIGtleXdvcmQgc2xpY2VCb29sZWFuICAgIGZhbHNlIHRydWUKKworIiBJbmNsdWRlIGRpcmVjdGl2ZXMKK3N5biBtYXRjaCAgIHNsaWNlSW5jbHVkZWQgICBkaXNwbGF5IGNvbnRhaW5lZCAiPFtePl0qPiIKK3N5biBtYXRjaCAgIHNsaWNlSW5jbHVkZSAgICBkaXNwbGF5ICJeXHMqI1xzKmluY2x1ZGVcPlxzKlsiPF0iIGNvbnRhaW5zPXNsaWNlSW5jbHVkZWQKKworIiBEb3VibGUtaW5jbHVkZSBndWFyZHMKK3N5biByZWdpb24gIHNsaWNlR3VhcmQgICAgICBzdGFydD0iXiNcKGRlZmluZVx8aWZuZGVmXHxlbmRpZlwpIiBlbmQ9IiQiCisKKyIgU3RyaW5ncyBhbmQgY2hhcmFjdGVycworc3luIHJlZ2lvbiBzbGljZVN0cmluZwkJc3RhcnQ9KyIrICBlbmQ9KyIrCisKKyIgTnVtYmVycyAoc2hhbWVsZXNzbHkgcmlwcGVkIGZyb20gYy52aW0sIG9ubHkgc2xpZ2h0bHkgbW9kaWZpZWQpCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoICAgc2xpY2VOdW1iZXJzICAgIGRpc3BsYXkgdHJhbnNwYXJlbnQgIlw8XGRcfFwuXGQiIGNvbnRhaW5zPXNsaWNlTnVtYmVyLHNsaWNlRmxvYXQsc2xpY2VPY3RhbAorc3luIG1hdGNoICAgc2xpY2VOdW1iZXIgICAgIGRpc3BsYXkgY29udGFpbmVkICJcZFwrIgorImhleCBudW1iZXIKK3N5biBtYXRjaCAgIHNsaWNlTnVtYmVyICAgICBkaXNwbGF5IGNvbnRhaW5lZCAiMHhceFwrXCh1XD1sXHswLDJ9XHxsbFw9dVwpXD4iCisiIEZsYWcgdGhlIGZpcnN0IHplcm8gb2YgYW4gb2N0YWwgbnVtYmVyIGFzIHNvbWV0aGluZyBzcGVjaWFsCitzeW4gbWF0Y2ggICBzbGljZU9jdGFsICAgICAgZGlzcGxheSBjb250YWluZWQgIjBcb1wrXCh1XD1sXHswLDJ9XHxsbFw9dVwpXD4iIGNvbnRhaW5zPXNsaWNlT2N0YWxaZXJvCitzeW4gbWF0Y2ggICBzbGljZU9jdGFsWmVybyAgZGlzcGxheSBjb250YWluZWQgIlw8MCIKK3N5biBtYXRjaCAgIHNsaWNlRmxvYXQgICAgICBkaXNwbGF5IGNvbnRhaW5lZCAiXGRcK2YiCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCAgIHNsaWNlRmxvYXQgICAgICBkaXNwbGF5IGNvbnRhaW5lZCAiXGRcK1wuXGQqXChlWy0rXVw9XGRcK1wpXD1bZmxdXD0iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoICAgc2xpY2VGbG9hdCAgICAgIGRpc3BsYXkgY29udGFpbmVkICJcLlxkXCtcKGVbLStdXD1cZFwrXClcPVtmbF1cPVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBkb3QsIHdpdGggZXhwb25lbnQKK3N5biBtYXRjaCAgIHNsaWNlRmxvYXQgICAgICBkaXNwbGF5IGNvbnRhaW5lZCAiXGRcK2VbLStdXD1cZFwrW2ZsXVw9XD4iCisiIGZsYWcgYW4gb2N0YWwgbnVtYmVyIHdpdGggd3JvbmcgZGlnaXRzCitzeW4gY2FzZSBtYXRjaAorCisKKyIgQ29tbWVudHMKK3N5biByZWdpb24gc2xpY2VDb21tZW50ICAgIHN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIKK3N5biBtYXRjaCBzbGljZUNvbW1lbnQJIi8vLioiCisKK3N5biBzeW5jIGNjb21tZW50IHNsaWNlQ29tbWVudAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbGljZV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zbGljZV9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzbGljZUNvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgc2xpY2VDb25zdHJ1Y3QJS2V5d29yZAorICBIaUxpbmsgc2xpY2VUeXBlCVR5cGUKKyAgSGlMaW5rIHNsaWNlU3RyaW5nCVN0cmluZworICBIaUxpbmsgc2xpY2VJbmNsdWRlZAlTdHJpbmcKKyAgSGlMaW5rIHNsaWNlUXVhbGlmaWVyCUtleXdvcmQKKyAgSGlMaW5rIHNsaWNlSW5jbHVkZQlJbmNsdWRlCisgIEhpTGluayBzbGljZUd1YXJkCVByZVByb2MKKyAgSGlMaW5rIHNsaWNlQm9vbGVhbglCb29sZWFuCisgIEhpTGluayBzbGljZUZsb2F0CU51bWJlcgorICBIaUxpbmsgc2xpY2VOdW1iZXIJTnVtYmVyCisgIEhpTGluayBzbGljZU9jdGFsCU51bWJlcgorICBIaUxpbmsgc2xpY2VPY3RhbFplcm8JU3BlY2lhbAorICBIaUxpbmsgc2xpY2VOdW1iZXJFcnJvciBTcGVjaWFsCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNsaWNlIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2xybnJjLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Nscm5yYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE1ZDlhZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3Nscm5yYy52aW0KQEAgLTAsMCArMSwxOTQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglTbHJuIHNldHVwIGZpbGUgKGJhc2VkIG9uIHNscm4gMC45LjguMCkKKyIgTWFpbnRhaW5lcjoJUHJlYmVuICdQZXBwZScgR3VsZGJlcmcgPHBlcHBlLXZpbUB3aWVsZGVycy5vcmc+CisiIExhc3QgQ2hhbmdlOgkxOSBNYXkgMjAwNAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBrZXl3b3JkIHNscm5yY1RvZG8JCWNvbnRhaW5lZCBUb2RvCisKKyIgSW4gc29tZSBwbGFjZXMgd2hpdGVzcGFjZSBpcyBpbGxlZ2FsCitzeW4gbWF0Y2ggc2xybnJjU3BhY2VFcnJvcgljb250YWluZWQgIlxzIgorCitzeW4gbWF0Y2ggc2xybnJjTnVtYmVyCQljb250YWluZWQgIi1cPVw8XGRcK1w+Igorc3luIG1hdGNoIHNscm5yY051bWJlcgkJY29udGFpbmVkICsnW14nXVwrJysKKworc3luIG1hdGNoIHNscm5yY1NwZWNLZXkJCWNvbnRhaW5lZCArXChcXFtlciInXVx8XF5bXiciXVx8XFxcb1xvXG9cKSsKKworc3luIG1hdGNoICBzbHJucmNLZXkJCWNvbnRhaW5lZCAiXFNcKyIJY29udGFpbnM9c2xybnJjU3BlY0tleQorc3luIHJlZ2lvbiBzbHJucmNLZXkJCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrIG9uZWxpbmUgY29udGFpbnM9c2xybnJjU3BlY0tleQorc3luIHJlZ2lvbiBzbHJucmNLZXkJCWNvbnRhaW5lZCBzdGFydD0rJysgc2tpcD0rXFwnKyBlbmQ9KycrIG9uZWxpbmUgY29udGFpbnM9c2xybnJjU3BlY0tleQorCitzeW4gbWF0Y2ggc2xybnJjU3BlY0NoYXIJY29udGFpbmVkICsnKworc3luIG1hdGNoIHNscm5yY1NwZWNDaGFyCWNvbnRhaW5lZCArXFxbbiJdKworc3luIG1hdGNoIHNscm5yY1NwZWNDaGFyCWNvbnRhaW5lZCAiJVtkZm1ucnMlXSIKKworc3luIG1hdGNoICBzbHJucmNTdHJpbmcJCWNvbnRhaW5lZCAvW14gXHQlIiddXCsvCWNvbnRhaW5zPXNscm5yY1NwZWNDaGFyCitzeW4gcmVnaW9uIHNscm5yY1N0cmluZwkJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXCIrIGVuZD0rIisgb25lbGluZSBjb250YWlucz1zbHJucmNTcGVjQ2hhcgorCitzeW4gbWF0Y2ggc2xyblNsYW5nUHJlQ29uZGl0CSJeI1xzKmlmblw9XChkZWZcPlx8ZmFsc2VcPlx8dHJ1ZVw+XHxcJFwpIgorc3luIG1hdGNoIHNscm5TbGFuZ1ByZUNvbmRpdAkiXiNccyplXChsaWZcfGxzZVx8bmRpZlwpXD4iCisKK3N5biBtYXRjaCBzbHJucmNDb21tZW50CQkiJS4qJCIJY29udGFpbnM9c2xybnJjVG9kbworCitzeW4ga2V5d29yZCAgc2xybnJjVmFySW50CWNvbnRhaW5lZCBhYm9ydF91bm1vZGlmaWVkX2VkaXRzIGFydGljbGVfd2luZG93X3BhZ2Vfb3ZlcmxhcCBhdXRvX21hcmtfYXJ0aWNsZV9hc19yZWFkIGJlZXAgYnJva2VuX3hyZWYgYnJva2VuX3hyZWYgY2NfZm9sbG93dXAgY2hlY2tfbmV3X2dyb3Vwcworc3luIGtleXdvcmQgIHNscm5yY1ZhckludAljb250YWluZWQgY29sb3JfYnlfc2NvcmUgY29uZmlybV9hY3Rpb25zIGN1c3RvbV9zb3J0X2J5X3RocmVhZHMgZGlzcGxheV9jdXJzb3JfYmFyIGRyb3BfYm9ndXNfZ3JvdXBzIGVkaXRvcl91c2VzX21pbWVfY2hhcnNldCBlbXBoYXNpemVkX3RleHRfbWFzaworc3luIGtleXdvcmQgIHNscm5yY1ZhckludAljb250YWluZWQgZW1waGFzaXplZF90ZXh0X21vZGUgZm9sZF9oZWFkZXJzIGZvbGRfaGVhZGVycyBmb2xsb3d1cF9zdHJpcF9zaWduYXR1cmUgZm9yY2VfYXV0aGVudGljYXRpb24gZm9yY2VfYXV0aGVudGljYXRpb24gZ2VuZXJhdGVfZGF0ZV9oZWFkZXIKK3N5biBrZXl3b3JkICBzbHJucmNWYXJJbnQJY29udGFpbmVkIGdlbmVyYXRlX2VtYWlsX2Zyb20gZ2VuZXJhdGVfZW1haWxfZnJvbSBnZW5lcmF0ZV9tZXNzYWdlX2lkIGdyb3VwbGVuc19wb3J0IGhpZGVfcGdwc2lnbmF0dXJlIGhpZGVfcXVvdGVzIGhpZGVfc2lnbmF0dXJlCitzeW4ga2V5d29yZCAgc2xybnJjVmFySW50CWNvbnRhaW5lZCBoaWRlX3ZlcmJhdGltX21hcmtzIGhpZGVfdmVyYmF0aW1fdGV4dCBoaWdobGlnaHRfdW5yZWFkX3N1YmplY3RzIGhpZ2hsaWdodF91cmxzIGlnbm9yZV9zaWduYXR1cmUga2lsbF9zY29yZSBsaW5lc19wZXJfdXBkYXRlCitzeW4ga2V5d29yZCAgc2xybnJjVmFySW50CWNvbnRhaW5lZCBtYWlsX2VkaXRvcl9pc19tdWEgbWF4X2xvd19zY29yZSBtYXhfcXVldWVkX2dyb3VwcyBtaW5faGlnaF9zY29yZSBtb3VzZSBuZXRpcXVldHRlX3dhcm5pbmdzIG5ld19zdWJqZWN0X2JyZWFrc190aHJlYWRzIG5vX2F1dG9zYXZlCitzeW4ga2V5d29yZCAgc2xybnJjVmFySW50CWNvbnRhaW5lZCBub19iYWNrdXBzIHByZWZlcl9oZWFkIHByb2Nlc3NfdmVyYmF0aW1fbWFya3MgcXVlcnlfbmV4dF9hcnRpY2xlIHF1ZXJ5X25leHRfZ3JvdXAgcXVlcnlfcmVhZF9ncm91cF9jdXRvZmYgcmVhZF9hY3RpdmUgcmVqZWN0X2xvbmdfbGluZXMKK3N5biBrZXl3b3JkICBzbHJucmNWYXJJbnQJY29udGFpbmVkIHNjcm9sbF9ieV9wYWdlIHNob3dfYXJ0aWNsZSBzaG93X3RocmVhZF9zdWJqZWN0IHNpbXVsYXRlX2dyYXBoaWNfY2hhcnMgc21hcnRfcXVvdGUgc29ydGluZ19tZXRob2Qgc3BvaWxlcl9jaGFyIHNwb2lsZXJfY2hhcgorc3luIGtleXdvcmQgIHNscm5yY1ZhckludAljb250YWluZWQgc3BvaWxlcl9kaXNwbGF5X21vZGUgc3BvaWxlcl9kaXNwbGF5X21vZGUgc3Bvb2xfY2hlY2tfdXBfb25fbm92IHNwb29sX2NoZWNrX3VwX29uX25vdiB1bmNvbGxhcHNlX3RocmVhZHMgdW5zdWJzY3JpYmVfbmV3X2dyb3VwcyB1c2VfYmxpbmsKK3N5biBrZXl3b3JkICBzbHJucmNWYXJJbnQJY29udGFpbmVkIHVzZV9jb2xvciB1c2VfZmxvd19jb250cm9sIHVzZV9ncm91cGxlbnMgdXNlX2dyb3VwbGVucyB1c2VfaGVhZGVyX251bWJlcnMgdXNlX2luZXdzIHVzZV9pbmV3cyB1c2VfbG9jYWx0aW1lIHVzZV9tZXRhbWFpbCB1c2VfbWltZSB1c2VfbWltZQorc3luIGtleXdvcmQgIHNscm5yY1ZhckludAljb250YWluZWQgdXNlX3JlY29tbWVuZGVkX21zZ19pZCB1c2Vfc2xybnB1bGwgdXNlX3Nscm5wdWxsIHVzZV90aWxkZSB1c2VfdG1wZGlyIHVzZV91dWRldmlldyB1c2VfdXVkZXZpZXcgd2Fybl9mb2xsb3d1cF90byB3cmFwX2ZsYWdzIHdyYXBfbWV0aG9kCitzeW4ga2V5d29yZCAgc2xybnJjVmFySW50CWNvbnRhaW5lZCB3cml0ZV9uZXdzcmNfZmxhZ3MKKworIiBMaXN0ZWQgZm9yIHJlbW92YWwKK3N5biBrZXl3b3JkICBzbHJucmNWYXJJbnQJY29udGFpbmVkIGF1dGhvcl9kaXNwbGF5IGRpc3BsYXlfYXV0aG9yX3JlYWxuYW1lIGRpc3BsYXlfc2NvcmUgZ3JvdXBfZHNjX3N0YXJ0X2NvbHVtbiBwcm9jZXNzX3ZlcmJhdHVtX21hcmtzIHByb21wdF9uZXh0X2dyb3VwIHF1ZXJ5X3JlY29ubmVjdAorc3luIGtleXdvcmQgIHNscm5yY1ZhckludAljb250YWluZWQgc2hvd19kZXNjcmlwdGlvbnMgdXNlX3hndGl0bGUKKworIiBNYXRjaCBhcyBhICJzdHJpbmciIHRvbworc3luIHJlZ2lvbiAgc2xybnJjVmFySW50U3RyCWNvbnRhaW5lZCBtYXRjaGdyb3VwPXNscm5yY1ZhckludCBzdGFydD0rIisgZW5kPSsiKyBvbmVsaW5lIGNvbnRhaW5zPXNscm5yY1ZhckludCxzbHJucmNTcGFjZUVycm9yCisKK3N5biBrZXl3b3JkIHNscm5yY1ZhclN0cgljb250YWluZWQgWGJyb3dzZXIgYXJ0X2hlbHBfbGluZSBhcnRfc3RhdHVzX2xpbmUgY2Fuc2VjcmV0X2ZpbGUgY2NfcG9zdF9zdHJpbmcgY2hhcnNldCBjdXN0b21faGVhZGVycyBjdXN0b21fc29ydF9vcmRlciBkZWNvZGVfZGlyZWN0b3J5CitzeW4ga2V5d29yZCBzbHJucmNWYXJTdHIJY29udGFpbmVkIGVkaXRvcl9jb21tYW5kIGZhaWxlZF9wb3N0c19maWxlIGZvbGxvd3VwX2N1c3RvbV9oZWFkZXJzIGZvbGxvd3VwX2RhdGVfZm9ybWF0IGZvbGxvd3VwX3N0cmluZyBmb2xsb3d1cHRvX3N0cmluZyBncm91cF9oZWxwX2xpbmUKK3N5biBrZXl3b3JkIHNscm5yY1ZhclN0cgljb250YWluZWQgZ3JvdXBfc3RhdHVzX2xpbmUgZ3JvdXBsZW5zX2hvc3QgZ3JvdXBsZW5zX3BzZXVkb25hbWUgaGVhZGVyX2hlbHBfbGluZSBoZWFkZXJfc3RhdHVzX2xpbmUgaG9zdG5hbWUgaW5ld3NfcHJvZ3JhbSBtYWNyb19kaXJlY3RvcnkKK3N5biBrZXl3b3JkIHNscm5yY1ZhclN0cgljb250YWluZWQgbWFpbF9lZGl0b3JfY29tbWFuZCBtZXRhbWFpbF9jb21tYW5kIG1pbWVfY2hhcnNldCBub25fWGJyb3dzZXIgb3JnYW5pemF0aW9uIG92ZXJ2aWV3X2RhdGVfZm9ybWF0IHBvc3RfZWRpdG9yX2NvbW1hbmQgcG9zdF9vYmplY3QKK3N5biBrZXl3b3JkIHNscm5yY1ZhclN0cgljb250YWluZWQgcG9zdHBvbmVfZGlyZWN0b3J5IHByaW50ZXJfbmFtZSBxdW90ZV9zdHJpbmcgcmVhbG5hbWUgcmVwbHlfY3VzdG9tX2hlYWRlcnMgcmVwbHlfc3RyaW5nIHJlcGx5dG8gc2F2ZV9kaXJlY3Rvcnkgc2F2ZV9wb3N0cyBzYXZlX3JlcGxpZXMKK3N5biBrZXl3b3JkIHNscm5yY1ZhclN0cgljb250YWluZWQgc2NvcmVfZWRpdG9yX2NvbW1hbmQgc2NvcmVmaWxlIHNlbmRtYWlsX2NvbW1hbmQgc2VydmVyX29iamVjdCBzaWduYXR1cmUgc2lnbm9mZl9zdHJpbmcgc3Bvb2xfYWN0aXZlX2ZpbGUgc3Bvb2xfYWN0aXZldGltZXNfZmlsZQorc3luIGtleXdvcmQgc2xybnJjVmFyU3RyCWNvbnRhaW5lZCBzcG9vbF9pbm5fcm9vdCBzcG9vbF9uZXdzZ3JvdXBzX2ZpbGUgc3Bvb2xfbm92X2ZpbGUgc3Bvb2xfbm92X3Jvb3Qgc3Bvb2xfb3ZlcnZpZXdmbXRfZmlsZSBzcG9vbF9yb290IHN1cGVyc2VkZXNfY3VzdG9tX2hlYWRlcnMKK3N5biBrZXl3b3JkIHNscm5yY1ZhclN0cgljb250YWluZWQgdG9wX3N0YXR1c19saW5lIHVzZXJuYW1lCisKKyIgTGlzdGVkIGZvciByZW1vdmFsCitzeW4ga2V5d29yZCBzbHJucmNWYXJTdHIJY29udGFpbmVkIGZvbGxvd3VwIGNjX2ZvbGxvd3VwX3N0cmluZworCisiIE1hdGNoIGFzIGEgInN0cmluZyIgdG9vCitzeW4gcmVnaW9uICBzbHJucmNWYXJTdHJTdHIJY29udGFpbmVkIG1hdGNoZ3JvdXA9c2xybnJjVmFyU3RyIHN0YXJ0PSsiKyBlbmQ9KyIrIG9uZWxpbmUgY29udGFpbnM9c2xybnJjVmFyU3RyLHNscm5yY1NwYWNlRXJyb3IKKworIiBWYXJpb3VzIGNvbW1hbmRzCitzeW4gcmVnaW9uIHNscm5yY0NtZExpbmUJbWF0Y2hncm91cD1zbHJucmNDbWQgc3RhcnQ9Ilw8XChhdXRvYmF1ZFx8Y29sb3JcfGNvbXBhdGlibGVfY2hhcnNldHNcfGdyb3VwX2Rpc3BsYXlfZm9ybWF0XHxncm91cGxlbnNfYWRkXHxoZWFkZXJfZGlzcGxheV9mb3JtYXRcfGlnbm9yZV9xdW90ZXNcfGluY2x1ZGVcfGludGVycHJldFx8bW9ub1x8bm5ycGFjY2Vzc1x8cG9zdGluZ19ob3N0XHxzZXJ2ZXJcfHNldFx8c2V0a2V5XHxzdHJpcF9yZV9yZWdleHBcfHN0cmlwX3NpZ19yZWdleHBcfHN0cmlwX3dhc19yZWdleHBcfHVuc2V0a2V5XHx2aXNpYmxlX2hlYWRlcnNcKVw+IiBlbmQ9IiQiIG9uZWxpbmUgY29udGFpbnM9c2xybnJjXChTdHJpbmdcfENvbW1lbnRcKQorCisiIExpc3RlZCBmb3IgcmVtb3ZhbAorc3luIHJlZ2lvbiBzbHJucmNDbWRMaW5lCW1hdGNoZ3JvdXA9c2xybnJjQ21kIHN0YXJ0PSJcPFwoY2NfZm9sbG93dXBfc3RyaW5nXHxkZWNvZGVfZGlyZWN0b3J5XHxlZGl0b3JfY29tbWFuZFx8Zm9sbG93dXBcfGhvc3RuYW1lXHxvcmdhbml6YXRpb25cfHF1b3RlX3N0cmluZ1x8cmVhbG5hbWVcfHJlcGx5dG9cfHNjb3JlZmlsZVx8c2lnbmF0dXJlXHx1c2VybmFtZVwpXD4iIGVuZD0iJCIgb25lbGluZSBjb250YWlucz1zbHJucmNcKFN0cmluZ1x8Q29tbWVudFwpCisKKyIgU2V0dGluZyB2YXJpYWJsZXMKK3N5biBrZXl3b3JkIHNscm5yY1NldAkJY29udGFpbmVkIHNldAorc3luIG1hdGNoICAgc2xybnJjU2V0U3RyCSJeXHMqc2V0XHNcK1xTXCsiIHNraXB3aGl0ZSBuZXh0Z3JvdXA9c2xybnJjU3RyaW5nIGNvbnRhaW5zPXNscm5yY1NldCxzbHJucmNWYXJTdHJcKFN0clwpXD0KK3N5biBtYXRjaCAgIHNscm5yY1NldEludAljb250YWluZWQgIl5ccypzZXRcc1wrXFNcKyIgY29udGFpbnM9c2xybnJjU2V0LHNscm5yY1ZhckludFwoU3RyXClcPQorc3luIG1hdGNoICAgc2xybnJjU2V0SW50TGluZQkiXlxzKnNldFxzXCtcU1wrXHNcK1woLVw9XGRcK1w+XHwnW14nXVwrJ1wpIiBjb250YWlucz1zbHJucmNTZXRJbnQsc2xybnJjTnVtYmVyLHNscm5yY1ZhckludAorCisiIENvbG9yIGRlZmluaXRpb25zCitzeW4gbWF0Y2ggICBzbHJucmNDb2xvck9iagljb250YWluZWQgIlw8cXVvdGVzXGRcK1w+Igorc3luIGtleXdvcmQgc2xybnJjQ29sb3JPYmoJY29udGFpbmVkIGFydGljbGUgYXV0aG9yIGJvbGR0ZXh0IGJveCBjdXJzb3IgZGF0ZSBkZXNjcmlwdGlvbiBlcnJvciBmcmFtZSBmcm9tX215c2VsZiBncm91cCBncm91cGxlbnNfZGlzcGxheSBoZWFkZXJfbmFtZSBoZWFkZXJfbnVtYmVyIGhlYWRlcnMKK3N5biBrZXl3b3JkIHNscm5yY0NvbG9yT2JqCWNvbnRhaW5lZCBoaWdoX3Njb3JlIGl0YWxpY3N0ZXh0IG1lbnUgbWVudV9wcmVzcyBtZXNzYWdlIG5lZ19zY29yZSBub3JtYWwgcGdwc2lnbmF0dXJlIHBvc19zY29yZSBxdW90ZXMgcmVzcG9uc2VfY2hhciBzZWxlY3Rpb24gc2lnbmF0dXJlIHN0YXR1cworc3luIGtleXdvcmQgc2xybnJjQ29sb3JPYmoJY29udGFpbmVkIHN1YmplY3QgdGhyZWFkX251bWJlciB0aWxkZSB0cmVlIHVuZGVybGluZXRleHQgdW5yZWFkX3N1YmplY3QgdXJsIHZlcmJhdGltCisKKyIgTGlzdGVkIGZvciByZW1vdmFsCitzeW4ga2V5d29yZCBzbHJucmNDb2xvck9iagljb250YWluZWQgdmVyYmF0dW0KKworc3luIHJlZ2lvbiAgc2xybnJjQ29sb3JPYmpTdHIJY29udGFpbmVkIG1hdGNoZ3JvdXA9c2xybnJjQ29sb3JPYmogc3RhcnQ9KyIrIGVuZD0rIisgb25lbGluZSBjb250YWlucz1zbHJucmNDb2xvck9iaixzbHJucmNTcGFjZUVycm9yCitzeW4ga2V5d29yZCBzbHJucmNDb2xvclZhbAljb250YWluZWQgZGVmYXVsdAorc3luIGtleXdvcmQgc2xybnJjQ29sb3JWYWwJY29udGFpbmVkIGJsYWNrIGJsdWUgYnJpZ2h0Ymx1ZSBicmlnaHRjeWFuIGJyaWdodGdyZWVuIGJyaWdodG1hZ2VudGEgYnJpZ2h0cmVkIGJyb3duIGN5YW4gZ3JheSBncmVlbiBsaWdodGdyYXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93CitzeW4gcmVnaW9uICBzbHJucmNDb2xvclZhbFN0cgljb250YWluZWQgbWF0Y2hncm91cD1zbHJucmNDb2xvclZhbCBzdGFydD0rIisgZW5kPSsiKyBvbmVsaW5lIGNvbnRhaW5zPXNscm5yY0NvbG9yVmFsLHNscm5yY1NwYWNlRXJyb3IKKyIgTWF0aGNpbmcgYSBmdW5jdGlvbiB3aXRoIHRocmVlIGFyZ3VtZW50cworc3luIGtleXdvcmQgc2xybnJjQ29sb3IJCWNvbnRhaW5lZCBjb2xvcgorc3luIG1hdGNoICAgc2xybnJjQ29sb3JJbml0CWNvbnRhaW5lZCAiXlxzKmNvbG9yXHNcK1xTXCsiIHNraXB3aGl0ZSBuZXh0Z3JvdXA9c2xybnJjQ29sb3JWYWxcKFN0clwpXD0gY29udGFpbnM9c2xybnJjQ29sb3JcKE9ialx8T2JqU3RyXClcPQorc3luIG1hdGNoICAgc2xybnJjQ29sb3JMaW5lCSJeXHMqY29sb3Jcc1wrXFNcK1xzXCtcU1wrIiBza2lwd2hpdGUgbmV4dGdyb3VwPXNscm5yY0NvbG9yVmFsXChTdHJcKVw9IGNvbnRhaW5zPXNscm5yY0NvbG9yXChJbml0XHxWYWxcfFZhbFN0clwpCisKKyIgTW9ubyBzZXR0aW5ncworc3luIGtleXdvcmQgc2xybnJjTW9ub1ZhbAljb250YWluZWQgYmxpbmsgYm9sZCBub25lIHJldmVyc2UgdW5kZXJsaW5lCitzeW4gcmVnaW9uICBzbHJucmNNb25vVmFsU3RyCWNvbnRhaW5lZCBtYXRjaGdyb3VwPXNscm5yY01vbm9WYWwgc3RhcnQ9KyIrIGVuZD0rIisgb25lbGluZSBjb250YWlucz1zbHJucmNNb25vVmFsLHNscm5yY1NwYWNlRXJyb3IKKyIgQ29sb3Igb2JqZWN0IGlzIGluaGVyaXRlZAorIiBNb25vIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudAorc3luIGtleXdvcmQgc2xybnJjTW9ubwkJY29udGFpbmVkIG1vbm8KK3N5biBtYXRjaCAgIHNscm5yY01vbm9Jbml0CWNvbnRhaW5lZCAiXlxzKm1vbm9cc1wrXFNcKyIgY29udGFpbnM9c2xybnJjTW9ubyxzbHJucmNDb2xvck9ialwoU3RyXClcPQorc3luIG1hdGNoICAgc2xybnJjTW9ub0xpbmUJIl5ccyptb25vXHNcK1xTXCtcc1wrXFMuKiIgY29udGFpbnM9c2xybnJjTW9ub1woSW5pdFx8VmFsXHxWYWxTdHJcKSxzbHJucmNDb21tZW50CisKKyIgRnVuY3Rpb25zIGluIGFydGljbGUgbW9kZQorc3luIGtleXdvcmQgc2xybnJjRnVuQXJ0CWNvbnRhaW5lZCBhcnRpY2xlX2JvYiBhcnRpY2xlX2VvYiBhcnRpY2xlX2xlZnQgYXJ0aWNsZV9saW5lX2Rvd24gYXJ0aWNsZV9saW5lX3VwIGFydGljbGVfcGFnZV9kb3duIGFydGljbGVfcGFnZV91cCBhcnRpY2xlX3JpZ2h0IGFydGljbGVfc2VhcmNoCitzeW4ga2V5d29yZCBzbHJucmNGdW5BcnQJY29udGFpbmVkIGF1dGhvcl9zZWFyY2hfYmFja3dhcmQgYXV0aG9yX3NlYXJjaF9mb3J3YXJkIGJyb3dzZV91cmwgY2FuY2VsIGNhdGNodXAgY2F0Y2h1cF9hbGwgY3JlYXRlX3Njb3JlIGRlY29kZSBkZWxldGUgZGVsZXRlX3RocmVhZCBkaWdpdF9hcmcKK3N5biBrZXl3b3JkIHNscm5yY0Z1bkFydAljb250YWluZWQgZW5sYXJnZV9hcnRpY2xlX3dpbmRvdyBldmFsdWF0ZV9jbWQgZXhjaGFuZ2VfbWFyayBleHB1bmdlIGZhc3RfcXVpdCBmb2xsb3d1cCBmb3J3YXJkIGZvcndhcmRfZGlnZXN0IGdldF9jaGlsZHJlbl9oZWFkZXJzIGdldF9wYXJlbnRfaGVhZGVyCitzeW4ga2V5d29yZCBzbHJucmNGdW5BcnQJY29udGFpbmVkIGdvdG9fYXJ0aWNsZSBnb3RvX2xhc3RfcmVhZCBncm91cGxlbnNfcmF0ZV9hcnRpY2xlIGhlYWRlcl9ib2IgaGVhZGVyX2VvYiBoZWFkZXJfbGluZV9kb3duIGhlYWRlcl9saW5lX3VwIGhlYWRlcl9wYWdlX2Rvd24gaGVhZGVyX3BhZ2VfdXAKK3N5biBrZXl3b3JkIHNscm5yY0Z1bkFydAljb250YWluZWQgaGVscCBoaWRlX2FydGljbGUgbG9jYXRlX2FydGljbGUgbWFya19zcG90IG5leHQgbmV4dF9oaWdoX3Njb3JlIG5leHRfc2FtZV9zdWJqZWN0IHBpcGUgcG9zdCBwb3N0X3Bvc3Rwb25lZCBwcmV2aW91cyBwcmludCBxdWl0IHJlZHJhdworc3luIGtleXdvcmQgc2xybnJjRnVuQXJ0CWNvbnRhaW5lZCByZXBlYXRfbGFzdF9rZXkgcmVwbHkgcmVxdWVzdCBzYXZlIHNob3dfc3BvaWxlcnMgc2hyaW5rX2FydGljbGVfd2luZG93IHNraXBfcXVvdGVzIHNraXBfdG9fbmV4dF9ncm91cCBza2lwX3RvX3ByZXZpb3VzX2dyb3VwCitzeW4ga2V5d29yZCBzbHJucmNGdW5BcnQJY29udGFpbmVkIHN1YmplY3Rfc2VhcmNoX2JhY2t3YXJkIHN1YmplY3Rfc2VhcmNoX2ZvcndhcmQgc3VwZXJzZWRlIHN1c3BlbmQgdGFnX2hlYWRlciB0b2dnbGVfY29sbGFwc2VfdGhyZWFkcyB0b2dnbGVfaGVhZGVyX2Zvcm1hdHMKK3N5biBrZXl3b3JkIHNscm5yY0Z1bkFydAljb250YWluZWQgdG9nZ2xlX2hlYWRlcl90YWcgdG9nZ2xlX2hlYWRlcnMgdG9nZ2xlX3BncHNpZ25hdHVyZSB0b2dnbGVfcXVvdGVzIHRvZ2dsZV9yb3QxMyB0b2dnbGVfc2lnbmF0dXJlIHRvZ2dsZV92ZXJiYXRpbV9tYXJrcworc3luIGtleXdvcmQgc2xybnJjRnVuQXJ0CWNvbnRhaW5lZCB0b2dnbGVfdmVyYmF0aW1fdGV4dCB1bmNhdGNodXAgdW5jYXRjaHVwX2FsbCB1bmRlbGV0ZSB1bnRhZ19oZWFkZXJzIHZpZXdfc2NvcmVzIHdyYXBfYXJ0aWNsZSB6b29tX2FydGljbGVfd2luZG93CisKKyIgTGlzdGVkIGZvciByZW1vdmFsCitzeW4ga2V5d29yZCBzbHJucmNGdW5BcnQJY29udGFpbmVkIGFydF9ib2IgYXJ0X2VvYiBhcnRfeHB1bmdlIGFydGljbGVfbGluZWRuIGFydGljbGVfbGluZXVwIGFydGljbGVfcGFnZWRuIGFydGljbGVfcGFnZXVwIGRvd24gZW5sYXJnZV93aW5kb3cgZ290b19iZWdpbm5pbmcgZ290b19lbmQgbGVmdAorc3luIGtleXdvcmQgc2xybnJjRnVuQXJ0CWNvbnRhaW5lZCBsb2NhdGVfaGVhZGVyX2J5X21zZ2lkIHBhZ2VkbiBwYWdldXAgcGlwZV9hcnRpY2xlIHByZXYgcHJpbnRfYXJ0aWNsZSByaWdodCBzY3JvbGxfZG4gc2Nyb2xsX3VwIHNocmlua193aW5kb3cgc2tpcF90b19wcmV2X2dyb3VwCitzeW4ga2V5d29yZCBzbHJucmNGdW5BcnQJY29udGFpbmVkIHRvZ2dsZV9zaG93X2F1dGhvciB1cAorCisiIEZ1bmN0aW9ucyBpbiBncm91cCBtb2RlCitzeW4ga2V5d29yZCBzbHJucmNGdW5Hcm91cAljb250YWluZWQgYWRkX2dyb3VwIGJvYiBjYXRjaHVwIGRpZ2l0X2FyZyBlb2IgZXZhbHVhdGVfY21kIGdyb3VwX3NlYXJjaCBncm91cF9zZWFyY2hfYmFja3dhcmQgZ3JvdXBfc2VhcmNoX2ZvcndhcmQgaGVscCBsaW5lX2Rvd24gbGluZV91cCBtb3ZlX2dyb3VwCitzeW4ga2V5d29yZCBzbHJucmNGdW5Hcm91cAljb250YWluZWQgcGFnZV9kb3duIHBhZ2VfdXAgcG9zdCBwb3N0X3Bvc3Rwb25lZCBxdWl0IHJlZHJhdyByZWZyZXNoX2dyb3VwcyByZXBlYXRfbGFzdF9rZXkgc2F2ZV9uZXdzcmMgc2VsZWN0X2dyb3VwIHN1YnNjcmliZSBzdXNwZW5kCitzeW4ga2V5d29yZCBzbHJucmNGdW5Hcm91cAljb250YWluZWQgdG9nZ2xlX2dyb3VwX2Zvcm1hdHMgdG9nZ2xlX2hpZGRlbiB0b2dnbGVfbGlzdF9hbGwgdG9nZ2xlX3Njb3JpbmcgdHJhbnNwb3NlX2dyb3VwcyB1bmNhdGNodXAgdW5zdWJzY3JpYmUKKworIiBMaXN0ZWQgZm9yIHJlbW92YWwKK3N5biBrZXl3b3JkIHNscm5yY0Z1bkdyb3VwCWNvbnRhaW5lZCBkb3duIGdyb3VwX2JvYiBncm91cF9lb2IgcGFnZWRvd24gcGFnZXVwIHRvZ2dsZV9ncm91cF9kaXNwbGF5IHVuY2F0Y2hfdXAgdXAKKworIiBGdW5jdGlvbnMgaW4gcmVhZGxpbmUgbW9kZSAoYWN0dWFsbHkgZnJvbSBzbGFuZydzIHNscmxpbmUuYykKK3N5biBrZXl3b3JkIHNscm5yY0Z1blJlYWQJY29udGFpbmVkIGJkZWwgYm9sIGRlbCBkZWxlb2wgZG93biBlbnRlciBlb2wgbGVmdCBxdW90ZWRfaW5zZXJ0IHJpZ2h0IHNlbGZfaW5zZXJ0IHRyaW0gdXAKKworIiBCaW5kaW5nIGtleXMKK3N5biBrZXl3b3JkIHNscm5yY1NldGtleU9iagljb250YWluZWQgYXJ0aWNsZSBncm91cCByZWFkbGluZQorc3luIHJlZ2lvbiAgc2xybnJjU2V0a2V5T2JqU3RyCWNvbnRhaW5lZCBtYXRjaGdyb3VwPXNscm5yY1NldGtleU9iaiBzdGFydD0rIisgZW5kPSsiKyBvbmVsaW5lIGNvbnRhaW5zPXNscm5yY1NldGtleU9iagorc3luIG1hdGNoICAgc2xybnJjU2V0a2V5QXJ0CWNvbnRhaW5lZCAnXCgiXD1cKVw8YXJ0aWNsZVw+XDFcc1wrXFNcKycgc2tpcHdoaXRlIG5leHRncm91cD1zbHJucmNLZXkgY29udGFpbnM9c2xybnJjU2V0S2V5T2JqXChTdHJcKVw9LHNscm5yY0Z1bkFydAorc3luIG1hdGNoICAgc2xybnJjU2V0a2V5R3JvdXAJY29udGFpbmVkICdcKCJcPVwpXDxncm91cFw+XDFcc1wrXFNcKycgc2tpcHdoaXRlIG5leHRncm91cD1zbHJucmNLZXkgY29udGFpbnM9c2xybnJjU2V0S2V5T2JqXChTdHJcKVw9LHNscm5yY0Z1bkdyb3VwCitzeW4gbWF0Y2ggICBzbHJucmNTZXRrZXlSZWFkCWNvbnRhaW5lZCAnXCgiXD1cKVw8cmVhZGxpbmVcPlwxXHNcK1xTXCsnIHNraXB3aGl0ZSBuZXh0Z3JvdXA9c2xybnJjS2V5IGNvbnRhaW5zPXNscm5yY1NldEtleU9ialwoU3RyXClcPSxzbHJucmNGdW5SZWFkCitzeW4gbWF0Y2ggICBzbHJucmNTZXRrZXkJIl5ccypzZXRrZXlcPiIgc2tpcHdoaXRlIG5leHRncm91cD1zbHJucmNTZXRrZXlBcnQsc2xybnJjU2V0a2V5R3JvdXAsc2xybnJjU2V0a2V5UmVhZAorCisiIFVuYmluZGluZyBrZXlzCitzeW4gbWF0Y2ggICBzbHJucmNVbnNldGtleQknXlxzKnVuc2V0a2V5XHNcK1woIlwpXD1cKGFydGljbGVcfGdyb3VwXHxyZWFkbGluZVwpXD5cMScgc2tpcHdoaXRlIG5leHRncm91cD1zbHJucmNLZXkgY29udGFpbnM9c2xybnJjU2V0a2V5T2JqXChTdHJcKVw9CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Nscm5yY19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zbHJucmNfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc2xybnJjVG9kbwkJVG9kbworICBIaUxpbmsgc2xybnJjU3BhY2VFcnJvcglFcnJvcgorICBIaUxpbmsgc2xybnJjTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHNscm5yY1NwZWNLZXkJCVNwZWNpYWxDaGFyCisgIEhpTGluayBzbHJucmNLZXkJCVN0cmluZworICBIaUxpbmsgc2xybnJjU3BlY0NoYXIJCVNwZWNpYWxDaGFyCisgIEhpTGluayBzbHJucmNTdHJpbmcJCVN0cmluZworICBIaUxpbmsgc2xyblNsYW5nUHJlQ29uZGl0CVNwZWNpYWwKKyAgSGlMaW5rIHNscm5yY0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHNscm5yY1ZhckludAkJSWRlbnRpZmllcgorICBIaUxpbmsgc2xybnJjVmFyU3RyCQlJZGVudGlmaWVyCisgIEhpTGluayBzbHJucmNDbWQJCXNscm5yY1NldAorICBIaUxpbmsgc2xybnJjU2V0CQlPcGVyYXRvcgorICBIaUxpbmsgc2xybnJjQ29sb3IJCUtleXdvcmQKKyAgSGlMaW5rIHNscm5yY0NvbG9yT2JqCQlJZGVudGlmaWVyCisgIEhpTGluayBzbHJucmNDb2xvclZhbAkJU3RyaW5nCisgIEhpTGluayBzbHJucmNNb25vCQlLZXl3b3JkCisgIEhpTGluayBzbHJucmNNb25vT2JqCQlJZGVudGlmaWVyCisgIEhpTGluayBzbHJucmNNb25vVmFsCQlTdHJpbmcKKyAgSGlMaW5rIHNscm5yY0Z1bkFydAkJTWFjcm8KKyAgSGlMaW5rIHNscm5yY0Z1bkdyb3VwCQlNYWNybworICBIaUxpbmsgc2xybnJjRnVuUmVhZAkJTWFjcm8KKyAgSGlMaW5rIHNscm5yY1NldGtleU9iaglJZGVudGlmaWVyCisgIEhpTGluayBzbHJucmNTZXRrZXkJCUtleXdvcmQKKyAgSGlMaW5rIHNscm5yY1Vuc2V0a2V5CQlzbHJucmNTZXRrZXkKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2xybnJjIgorCisiRU9GCXZpbTogdHM9OCBub2V0IHR3PTEyMCBzdz04IHN0cz0wCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbHJuc2MudmltIGIvcnVudGltZS9zeW50YXgvc2xybnNjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjY1M2NjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc2xybnNjLnZpbQpAQCAtMCwwICsxLDg1IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU2xybiBzY29yZSBmaWxlIChiYXNlZCBvbiBzbHJuIDAuOS44LjApCisiIE1haW50YWluZXI6CVByZWJlbiAnUGVwcGUnIEd1bGRiZXJnIDxwZXBwZS12aW1Ad2llbGRlcnMub3JnPgorIiBMYXN0IENoYW5nZToJMTkgTWF5IDIwMDQKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGNoYXJhY3RlcnMgaW4gbmV3c2dyb3VwIG5hbWVzCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNldCBpc2s9QCw0OC01NywuLC0sXywrCitlbHNlCisgIHNldGxvY2FsIGlzaz1ALDQ4LTU3LC4sLSxfLCsKK2VuZGlmCisKK3N5biBtYXRjaCBzbHJuc2NDb21tZW50CQkiJS4qJCIKK3N5biBtYXRjaCBzbHJuc2NTZWN0aW9uQ29tCSIuXS4qImxjPTIKKworc3luIG1hdGNoIHNscm5zY0dyb3VwCQljb250YWluZWQgIlwoXGtcfFwqXClcKyIKK3N5biBtYXRjaCBzbHJuc2NOdW1iZXIJCWNvbnRhaW5lZCAiXGRcKyIKK3N5biBtYXRjaCBzbHJuc2NEYXRlCQljb250YWluZWQgIlwoXGRcezEsMn1bLS9dXClcezJ9XGRcezR9Igorc3luIG1hdGNoIHNscm5zY0RlbGltCQljb250YWluZWQgIjoiCitzeW4gbWF0Y2ggc2xybnNjQ29tbWEJCWNvbnRhaW5lZCAiLCIKK3N5biBtYXRjaCBzbHJuc2NPcGVyCQljb250YWluZWQgIlx+Igorc3luIG1hdGNoIHNscm5zY0VzYwkJY29udGFpbmVkICJcXFtlY0M8Pi5dIgorc3luIG1hdGNoIHNscm5zY0VzYwkJY29udGFpbmVkICJbP15dIgorc3luIG1hdGNoIHNscm5zY0VzYwkJY29udGFpbmVkICJbXlxcXSRccyokImxjPTEKKworc3luIGtleXdvcmQgc2xybnNjSW5jbHVkZQljb250YWluZWQgaW5jbHVkZQorc3luIG1hdGNoIHNscm5zY0luY2x1ZGVMaW5lCSJeXHMqSW5jbHVkZVxzXCtcUy4qJCIKKworc3luIHJlZ2lvbiBzbHJuc2NTZWN0aW9uCW1hdGNoZ3JvdXA9c2xybnNjU2VjdGlvblN0ZCBzdGFydD0iXlxzKlxbIiBlbmQ9J1xdJyBjb250YWlucz1zbHJuc2NHcm91cCxzbHJuc2NDb21tYSxzbHJuc2NTZWN0aW9uQ29tCitzeW4gcmVnaW9uIHNscm5zY1NlY3Rpb24JbWF0Y2hncm91cD1zbHJuc2NTZWN0aW9uTm90IHN0YXJ0PSJeXHMqXFtcfiIgZW5kPSdcXScgY29udGFpbnM9c2xybnNjR3JvdXAsc2xybnNjQ29tbWFzLHNscm5zY1NlY3Rpb25Db20KKworc3luIGtleXdvcmQgc2xybnNjSXRlbQkJY29udGFpbmVkIEFnZSBCeXRlcyBEYXRlIEV4cGlyZXMgRnJvbSBIYXMtQm9keSBMaW5lcyBNZXNzYWdlLUlkIE5ld3Nncm91cCBSZWZlcmVuY2VzIFN1YmplY3QgWHJlZgorCitzeW4gbWF0Y2ggc2xybnNjU2NvcmVJdGVtCWNvbnRhaW5lZCAiJS4qJCIJCQkJCQlza2lwZW1wdHkgbmV4dGdyb3VwPXNscm5zY1Njb3JlSXRlbSBjb250YWlucz1zbHJuc2NDb21tZW50CitzeW4gbWF0Y2ggc2xybnNjU2NvcmVJdGVtCWNvbnRhaW5lZCAiXlxzKkV4cGlyZXM6XHMqXChcZFx7MSwyfVstL11cKVx7Mn1cZFx7NH1ccyokIglza2lwZW1wdHkgbmV4dGdyb3VwPXNscm5zY1Njb3JlSXRlbSBjb250YWlucz1zbHJuc2NJdGVtLHNscm5zY0RlbGltLHNscm5zY0RhdGUKK3N5biBtYXRjaCBzbHJuc2NTY29yZUl0ZW0JY29udGFpbmVkICJeXHMqXH5cPVwoQWdlXHxCeXRlc1x8SGFzLUJvZHlcfExpbmVzXCk6XHMqXGRcK1xzKiQiCXNraXBlbXB0eSBuZXh0Z3JvdXA9c2xybnNjU2NvcmVJdGVtIGNvbnRhaW5zPXNscm5zY09wZXIsc2xybnNjSXRlbSxzbHJuc2NEZWxpbSxzbHJuc2NOdW1iZXIKK3N5biBtYXRjaCBzbHJuc2NTY29yZUl0ZW1GaWxsCWNvbnRhaW5lZCAiLiokIgkJCQkJCQlza2lwZW1wdHkgbmV4dGdyb3VwPXNscm5zY1Njb3JlSXRlbSBjb250YWlucz1zbHJuc2NFc2MKK3N5biBtYXRjaCBzbHJuc2NTY29yZUl0ZW0JY29udGFpbmVkICJeXHMqXH5cPVwoRGF0ZVx8RnJvbVx8TWVzc2FnZS1JZFx8TmV3c2dyb3VwXHxSZWZlcmVuY2VzXHxTdWJqZWN0XHxYcmVmXCk6IgluZXh0Z3JvdXA9c2xybnNjU2NvcmVJdGVtRmlsbCBjb250YWlucz1zbHJuc2NPcGVyLHNscm5zY0l0ZW0sc2xybnNjRGVsaW0KK3N5biByZWdpb24gc2xybnNjU2NvcmVJdGVtCWNvbnRhaW5lZCBtYXRjaGdyb3VwPVNwZWNpYWwgc3RhcnQ9Il5ccypcflw9ezo6XD0iIGVuZD0iXlxzKn0iIHNraXBlbXB0eSBuZXh0Z3JvdXA9c2xybnNjU2NvcmVJdGVtIGNvbnRhaW5zPXNscm5zY1Njb3JlSXRlbQorCitzeW4ga2V5d29yZCBzbHJuc2NTY29yZQkJY29udGFpbmVkIFNjb3JlCitzeW4gbWF0Y2ggc2xybnNjU2NvcmVJZGVudAljb250YWluZWQgIiUuKiIKK3N5biBtYXRjaCBzbHJuU2NvcmVMaW5lCQkiXlxzKlNjb3JlOjpcPVxzXCs9XD0tXD1cZFwrXHMqXCglLipcKVw9JCIgc2tpcGVtcHR5IG5leHRncm91cD1zbHJuc2NTY29yZUl0ZW0gY29udGFpbnM9c2xybnNjU2NvcmUsc2xybnNjRGVsaW0sc2xybnNjT3BlcixzbHJuc2NOdW1iZXIsc2xybnNjU2NvcmVJZGVudAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbHJuc2Nfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc2xybnNjX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHNscm5zY0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHNscm5zY1NlY3Rpb25Db20Jc2xybnNjQ29tbWVudAorICBIaUxpbmsgc2xybnNjR3JvdXAJCVN0cmluZworICBIaUxpbmsgc2xybnNjTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHNscm5zY0RhdGUJCVNwZWNpYWwKKyAgSGlMaW5rIHNscm5zY0RlbGltCQlEZWxpbWl0ZXIKKyAgSGlMaW5rIHNscm5zY0NvbW1hCQlTcGVjaWFsQ2hhcgorICBIaUxpbmsgc2xybnNjT3BlcgkJU3BlY2lhbENoYXIKKyAgSGlMaW5rIHNscm5zY0VzYwkJU3RyaW5nCisgIEhpTGluayBzbHJuc2NTZWN0aW9uU3RkCVR5cGUKKyAgSGlMaW5rIHNscm5zY1NlY3Rpb25Ob3QJRGVsaW1pdGVyCisgIEhpTGluayBzbHJuc2NJdGVtCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHNscm5zY1Njb3JlCQlLZXl3b3JkCisgIEhpTGluayBzbHJuc2NTY29yZUlkZW50CUlkZW50aWZpZXIKKyAgSGlMaW5rIHNscm5zY0luY2x1ZGUJCUtleXdvcmQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2xybnNjIgorCisiRU9GCXZpbTogdHM9OCBub2V0IHR3PTIwMCBzdz04IHN0cz0wCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbS52aW0gYi9ydW50aW1lL3N5bnRheC9zbS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkxOWQ4NwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NtLnZpbQpAQCAtMCwwICsxLDk2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJc2VuZG1haWwKKyIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KKyIgTGFzdCBDaGFuZ2U6CVNlcCAwMiwgMjAwMworIiBWZXJzaW9uOgkzCisiIFVSTDoJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQ29tbWVudHMKK3N5biBtYXRjaCBzbUNvbW1lbnQJIl4jLiokIgljb250YWlucz1AU3BlbGwKKworIiBEZWZpbml0aW9ucywgQ2xhc3NlcywgRmlsZXMsIE9wdGlvbnMsIFByZWNlZGVuY2UsIFRydXN0ZWQgVXNlcnMsIE1haWxlcnMKK3N5biBtYXRjaCBzbURlZmluZQkiXltDREZdLiIKK3N5biBtYXRjaCBzbURlZmluZQkiXk9bQWFCY2REZUZmZ0hpTG1Ob1FxclNzVHR1dnhYeVl6Wl0iCitzeW4gbWF0Y2ggc21EZWZpbmUJIl5PXHMiaGU9ZS0xCitzeW4gbWF0Y2ggc21EZWZpbmUJIl5NW2EtekEtWjAtOV1cKywiaGU9ZS0xCitzeW4gbWF0Y2ggc21EZWZpbmUJIl5UIgluZXh0Z3JvdXA9c21UcnVzdGVkCitzeW4gbWF0Y2ggc21EZWZpbmUJIl5QIgluZXh0Z3JvdXA9c21NZXNnCitzeW4gbWF0Y2ggc21UcnVzdGVkCSJcU1wrJCIJCWNvbnRhaW5lZAorc3luIG1hdGNoIHNtTWVzZwkJIlxTKj0iaGU9ZS0xCWNvbnRhaW5lZCBuZXh0Z3JvdXA9c21QcmVjZWRlbmNlCitzeW4gbWF0Y2ggc21QcmVjZWRlbmNlCSItXD1bMC05XVwrIgkJY29udGFpbmVkCisKKyIgSGVhZGVyIEZvcm1hdCAgSD9saXN0LW9mLW1haWxlci1mbGFncz9uYW1lOiBmb3JtYXQKK3N5biBtYXRjaCBzbUhlYWRlclNlcCBjb250YWluZWQgIls/Ol0iCitzeW4gbWF0Y2ggc21IZWFkZXIJIl5IXCg/W2EtekEtWl1cKz9cKVw9Wy1hLXpBLVpfXVwrOiIgY29udGFpbnM9c21IZWFkZXJTZXAKKworIiBWYXJpYWJsZXMKK3N5biBtYXRjaCBzbVZhcgkJIlwkW2EtelwuXHxdIgorCisiIFJ1bGVzZXRzCitzeW4gbWF0Y2ggc21SdWxlc2V0CSJeU1xkKiIKKworIiBSZXdyaXRpbmcgUnVsZXMKK3N5biBtYXRjaCBzbVJld3JpdGUJIl5SIgkJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9c21SZXdyaXRlTGhzVG9rZW4sc21SZXdyaXRlTGhzVXNlcgorCitzeW4gbWF0Y2ggc21SZXdyaXRlTGhzVXNlcgljb250YWluZWQgIlteXHQkXVwrIgkJc2tpcHdoaXRlIG5leHRncm91cD1zbVJld3JpdGVMaHNUb2tlbixzbVJld3JpdGVMaHNTZXAKK3N5biBtYXRjaCBzbVJld3JpdGVMaHNUb2tlbgljb250YWluZWQgIlwoXCRbLSorXVx8XCRbLT1dW0EtWmEtel1cfFwkWVwpXCsiCXNraXB3aGl0ZSBuZXh0Z3JvdXA9c21SZXdyaXRlTGhzVXNlcixzbVJld3JpdGVMaHNTZXAKKworc3luIG1hdGNoIHNtUmV3cml0ZUxoc1NlcAljb250YWluZWQgIlx0XCsiCQkJc2tpcHdoaXRlIG5leHRncm91cD1zbVJld3JpdGVSaHNUb2tlbixzbVJld3JpdGVSaHNVc2VyCisKK3N5biBtYXRjaCBzbVJld3JpdGVSaHNVc2VyCWNvbnRhaW5lZCAiW15cdCRdXCsiCQlza2lwd2hpdGUgbmV4dGdyb3VwPXNtUmV3cml0ZVJoc1Rva2VuLHNtUmV3cml0ZVJoc1NlcAorc3luIG1hdGNoIHNtUmV3cml0ZVJoc1Rva2VuCWNvbnRhaW5lZCAiXChcJFxkXHxcJD5cZFx8XCQjXHxcJEBcfFwkOlstX2EtekEtWl1cK1x8XCRbW1xdXVx8XCRAXHxcJDpcfFwkW0EtWmEtel1cKVwrIiBza2lwd2hpdGUgbmV4dGdyb3VwPXNtUmV3cml0ZVJoc1VzZXIsc21SZXdyaXRlUmhzU2VwCisKK3N5biBtYXRjaCBzbVJld3JpdGVSaHNTZXAJY29udGFpbmVkICJcdFwrIgkJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9c21SZXdyaXRlQ29tbWVudCxzbVJld3JpdGVSaHNTZXAKK3N5biBtYXRjaCBzbVJld3JpdGVSaHNTZXAJY29udGFpbmVkICIkIgorCitzeW4gbWF0Y2ggc21SZXdyaXRlQ29tbWVudAljb250YWluZWQgIlteXHQkXSokIgorCisiIENsYXVzZXMKK3N5biBtYXRjaCBzbUNsYXVzZUVycm9yCQkiXCRcLiIKK3N5biBtYXRjaCBzbUVsc2UJCWNvbnRhaW5lZAkiXCR8Igorc3luIG1hdGNoIHNtQ2xhdXNlQ29udAljb250YWluZWQJIl5cdCIKK3N5biByZWdpb24gc21DbGF1c2UJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlwkPy4iIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iXCRcLiIgY29udGFpbnM9c21FbHNlLHNtQ2xhdXNlLHNtVmFyLHNtQ2xhdXNlQ29udAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbWlsX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NtaWxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc21DbGF1c2UJU3BlY2lhbAorICBIaUxpbmsgc21DbGF1c2VFcnJvcglFcnJvcgorICBIaUxpbmsgc21Db21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIHNtRGVmaW5lCVN0YXRlbWVudAorICBIaUxpbmsgc21FbHNlCQlEZWxpbWl0ZXIKKyAgSGlMaW5rIHNtSGVhZGVyCVN0YXRlbWVudAorICBIaUxpbmsgc21IZWFkZXJTZXAJU3RyaW5nCisgIEhpTGluayBzbU1lc2cJCVNwZWNpYWwKKyAgSGlMaW5rIHNtUHJlY2VkZW5jZQlOdW1iZXIKKyAgSGlMaW5rIHNtUmV3cml0ZQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHNtUmV3cml0ZUNvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgc21SZXdyaXRlTGhzVG9rZW4JU3RyaW5nCisgIEhpTGluayBzbVJld3JpdGVMaHNVc2VyCVN0YXRlbWVudAorICBIaUxpbmsgc21SZXdyaXRlUmhzVG9rZW4JU3RyaW5nCisgIEhpTGluayBzbVJ1bGVzZXQJUHJlcHJvYworICBIaUxpbmsgc21UcnVzdGVkCVNwZWNpYWwKKyAgSGlMaW5rIHNtVmFyCQlTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic20iCisKKyIgdmltOiB0cz0xOApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc21hcnR5LnZpbSBiL3J1bnRpbWUvc3ludGF4L3NtYXJ0eS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRkYTM2NgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NtYXJ0eS52aW0KQEAgLTAsMCArMSw4NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVNtYXJ0eSBUZW1wbGF0ZXMKKyIgTWFpbnRhaW5lcjoJTWFuZnJlZCBTdGllbnN0cmEgbWFuZnJlZC5zdGllbnN0cmFAZHdlcmcubmV0CisiIExhc3QgQ2hhbmdlOiAgTW9uIE5vdiAgNCAxMTo0MjoyMyBDRVQgMjAwMgorIiBGaWxlbmFtZXM6ICAgICoudHBsCisiIFVSTDoJCWh0dHA6Ly93d3cuZHdlcmcubmV0L3Byb2plY3RzL3ZpbS9zbWFydHkudmltCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCisgIGlmIHZlcnNpb24gPCA2MDAKKyAgICBzeW50YXggY2xlYXIKKyAgZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKyAgbGV0IG1haW5fc3ludGF4ID0gJ3NtYXJ0eScKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KKyJzeW4gY2x1c3RlciBodG1sUHJlcHJvYyBhZGQ9c21hcnR5VW5ab25lCisKK3N5biBtYXRjaCBzbWFydHlCbG9jayBjb250YWluZWQgIltcW1xdXSIKKworc3luIGtleXdvcmQgc21hcnR5VGFnTmFtZSBjYXB0dXJlIGNvbmZpZ19sb2FkIGluY2x1ZGUgaW5jbHVkZV9waHAKK3N5biBrZXl3b3JkIHNtYXJ0eVRhZ05hbWUgaW5zZXJ0IGlmIGVsc2VpZiBlbHNlIGxkZWxpbSByZGVsaW0gbGl0ZXJhbAorc3luIGtleXdvcmQgc21hcnR5VGFnTmFtZSBwaHAgc2VjdGlvbiBzZWN0aW9uZWxzZSBmb3JlYWNoIGZvcmVhY2hlbHNlCitzeW4ga2V5d29yZCBzbWFydHlUYWdOYW1lIHN0cmlwIGFzc2lnbiBjb3VudGVyIGN5Y2xlIGRlYnVnIGV2YWwgZmV0Y2gKK3N5biBrZXl3b3JkIHNtYXJ0eVRhZ05hbWUgaHRtbF9vcHRpb25zIGh0bWxfc2VsZWN0X2RhdGUgaHRtbF9zZWxlY3RfdGltZQorc3luIGtleXdvcmQgc21hcnR5VGFnTmFtZSBtYXRoIHBvcHVwX2luaXQgcG9wdXAgaHRtbF9jaGVja2JveGVzIGh0bWxfaW1hZ2UKK3N5biBrZXl3b3JkIHNtYXJ0eVRhZ05hbWUgaHRtbF9yYWRpb3MgaHRtbF90YWJsZSBtYWlsdG8gdGV4dGZvcm1hdAorCitzeW4ga2V5d29yZCBzbWFydHlNb2RpZmllciBjYXQgY2FwaXRhbGl6ZSBjb3VudF9jaGFyYWN0ZXJzIGNvdW50X3BhcmFncmFwaHMKK3N5biBrZXl3b3JkIHNtYXJ0eU1vZGlmaWVyIGNvdW50X3NlbnRlbmNlcyBjb3VudF93b3JkcyBkYXRlX2Zvcm1hdCBkZWZhdWx0CitzeW4ga2V5d29yZCBzbWFydHlNb2RpZmllciBlc2NhcGUgaW5kZW50IGxvd2VyIG5sMmJyIHJlZ2V4X3JlcGxhY2UgcmVwbGFjZQorc3luIGtleXdvcmQgc21hcnR5TW9kaWZpZXIgc3BhY2lmeSBzdHJpbmdfZm9ybWF0IHN0cmlwIHN0cmlwX3RhZ3MgdHJ1bmNhdGUKK3N5biBrZXl3b3JkIHNtYXJ0eU1vZGlmaWVyIHVwcGVyIHdvcmR3cmFwCisKK3N5biBrZXl3b3JkIHNtYXJ0eUluRnVuYyBuZXEgZXEKKworc3luIGtleXdvcmQgc21hcnR5UHJvcGVydHkgY29udGFpbmVkICJmaWxlPSIKK3N5biBrZXl3b3JkIHNtYXJ0eVByb3BlcnR5IGNvbnRhaW5lZCAibG9vcD0iCitzeW4ga2V5d29yZCBzbWFydHlQcm9wZXJ0eSBjb250YWluZWQgIm5hbWU9Igorc3luIGtleXdvcmQgc21hcnR5UHJvcGVydHkgY29udGFpbmVkICJpbmNsdWRlPSIKK3N5biBrZXl3b3JkIHNtYXJ0eVByb3BlcnR5IGNvbnRhaW5lZCAic2tpcD0iCitzeW4ga2V5d29yZCBzbWFydHlQcm9wZXJ0eSBjb250YWluZWQgInNlY3Rpb249IgorCitzeW4ga2V5d29yZCBzbWFydHlDb25zdGFudCAiXCRzbWFydHkiCisKK3N5biBrZXl3b3JkIHNtYXJ0eURvdCAuCisKK3N5biByZWdpb24gc21hcnR5Wm9uZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0ieyIgZW5kPSJ9IiBjb250YWlucz1zbWFydHlQcm9wZXJ0eSwgc21hcnR5U3RyaW5nLCBzbWFydHlCbG9jaywgc21hcnR5VGFnTmFtZSwgc21hcnR5Q29uc3RhbnQsIHNtYXJ0eUluRnVuYywgc21hcnR5TW9kaWZpZXIKKworc3luIHJlZ2lvbiAgaHRtbFN0cmluZyAgIGNvbnRhaW5lZCBzdGFydD0rIisgZW5kPSsiKyBjb250YWlucz1odG1sU3BlY2lhbENoYXIsamF2YVNjcmlwdEV4cHJlc3Npb24sQGh0bWxQcmVwcm9jLHNtYXJ0eVpvbmUKK3N5biByZWdpb24gIGh0bWxTdHJpbmcgICBjb250YWluZWQgc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbnM9aHRtbFNwZWNpYWxDaGFyLGphdmFTY3JpcHRFeHByZXNzaW9uLEBodG1sUHJlcHJvYyxzbWFydHlab25lCisgIHN5biByZWdpb24gaHRtbExpbmsgc3RhcnQ9IjxhXD5cX1tePl0qXDxocmVmXD4iIGVuZD0iPC9hPiJtZT1lLTQgY29udGFpbnM9QFNwZWxsLGh0bWxUYWcsaHRtbEVuZFRhZyxodG1sU3BlY2lhbENoYXIsaHRtbFByZVByb2MsaHRtbENvbW1lbnQsamF2YVNjcmlwdCxAaHRtbFByZXByb2Msc21hcnR5Wm9uZQorCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbWFydHlfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc21hcnR5X3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHNtYXJ0eVRhZ05hbWUgSWRlbnRpZmllcgorICBIaUxpbmsgc21hcnR5UHJvcGVydHkgQ29uc3RhbnQKKyAgIiBpZiB5b3Ugd2FudCB0aGUgdGV4dCBpbnNpZGUgdGhlIGJyYWNlcyB0byBiZSBjb2xvcmVkLCB0aGVuCisgICIgcmVtb3ZlIHRoZSBjb21tZW50IGluIGZyb20gb2YgdGhlIG5leHQgc3RhdGVtZW50CisgICJIaUxpbmsgc21hcnR5Wm9uZSBJbmNsdWRlCisgIEhpTGluayBzbWFydHlJbkZ1bmMgRnVuY3Rpb24KKyAgSGlMaW5rIHNtYXJ0eUJsb2NrIENvbnN0YW50CisgIEhpTGluayBzbWFydHlEb3QgU3BlY2lhbENoYXIKKyAgSGlMaW5rIHNtYXJ0eU1vZGlmaWVyIEZ1bmN0aW9uCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzbWFydHkiCisKK2lmIG1haW5fc3ludGF4ID09ICdzbWFydHknCisgIHVubGV0IG1haW5fc3ludGF4CitlbmRpZgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc21pbC52aW0gYi9ydW50aW1lL3N5bnRheC9zbWlsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjUzZDhlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc21pbC52aW0KQEAgLTAsMCArMSwxNTQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglTTUlMIChTeW5jaHJvbml6ZWQgTXVsdGltZWRpYSBJbnRlZ3JhdGlvbiBMYW5ndWFnZSkKKyIgTWFpbnRhaW5lcjoJSGVydmUgRm91Y2hlciA8SGVydmUuRm91Y2hlckBoZWxpby5vcmc+CisiIFVSTDoJCWh0dHA6Ly93d3cuaGVsaW8ub3JnL3ZpbS9zeW50YXgvc21pbC52aW0KKyIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisKKyIgVG8gbGVhcm4gbW9yZSBhYm91dCBTTUlMLCBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy53My5vcmcvQXVkaW9WaWRlby8KKyIgYW5kIHRvIGh0dHA6Ly93d3cuaGVsaW8ub3JnL3Byb2R1Y3RzL3NtaWwvdHV0b3JpYWwvCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBTTUlMIGlzIGNhc2Ugc2Vuc2l0aXZlCitzeW4gY2FzZSBtYXRjaAorCisiIGlsbGVnYWwgY2hhcmFjdGVycworc3luIG1hdGNoIHNtaWxFcnJvciAiWzw+Jl0iCitzeW4gbWF0Y2ggc21pbEVycm9yICJbKCkmXSIKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAnc21pbCcKK2VuZGlmCisKKyIgdGFncworc3luIG1hdGNoICAgc21pbFNwZWNpYWwgIGNvbnRhaW5lZCAiXFxcZFxkXGRcfFxcLiIKK3N5biBtYXRjaCAgIHNtaWxTcGVjaWFsICBjb250YWluZWQgIigiCitzeW4gbWF0Y2ggICBzbWlsU3BlY2lhbCAgY29udGFpbmVkICJpZCgiCitzeW4gbWF0Y2ggICBzbWlsU3BlY2lhbCAgY29udGFpbmVkICIpIgorc3luIGtleXdvcmQgc21pbFNwZWNpYWwgIGNvbnRhaW5lZCByZW1vdmUgZnJlZXplIHRydWUgZmFsc2Ugb24gb2ZmIG92ZXJkdWIgY2FwdGlvbiBuZXcgcGF1c2UgcmVwbGFjZQorc3luIGtleXdvcmQgc21pbFNwZWNpYWwgIGNvbnRhaW5lZCBmaXJzdCBsYXN0CitzeW4ga2V5d29yZCBzbWlsU3BlY2lhbCAgY29udGFpbmVkIGZpbGwgbWVldCBzbGljZSBzY3JvbGwgaGlkZGVuCitzeW4gcmVnaW9uICBzbWlsU3RyaW5nICAgY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9c21pbFNwZWNpYWwKK3N5biByZWdpb24gIHNtaWxTdHJpbmcgICBjb250YWluZWQgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKyBjb250YWlucz1zbWlsU3BlY2lhbAorc3luIG1hdGNoICAgc21pbFZhbHVlICAgIGNvbnRhaW5lZCAiPVtcdCBdKlteJyIgXHQ+XVteIFx0Pl0qImhzPXMrMQorc3luIHJlZ2lvbiAgc21pbEVuZFRhZwkJICAgc3RhcnQ9KzwvKwkgZW5kPSs+KwkgICAgICBjb250YWlucz1zbWlsVGFnTixzbWlsVGFnRXJyb3IKK3N5biByZWdpb24gIHNtaWxUYWcJCSAgIHN0YXJ0PSs8W14vXSsgZW5kPSs+KwkgICAgICBjb250YWlucz1zbWlsVGFnTixzbWlsU3RyaW5nLHNtaWxBcmcsc21pbFZhbHVlLHNtaWxUYWdFcnJvcixzbWlsRXZlbnQsc21pbENzc0RlZmluaXRpb24KK3N5biBtYXRjaCAgIHNtaWxUYWdOICAgICBjb250YWluZWQgKzxccypbLWEtekEtWjAtOV1cKyttcz1zKzEgY29udGFpbnM9c21pbFRhZ05hbWUsc21pbFNwZWNpYWxUYWdOYW1lCitzeW4gbWF0Y2ggICBzbWlsVGFnTiAgICAgY29udGFpbmVkICs8L1xzKlstYS16QS1aMC05XVwrK21zPXMrMiBjb250YWlucz1zbWlsVGFnTmFtZSxzbWlsU3BlY2lhbFRhZ05hbWUKK3N5biBtYXRjaCAgIHNtaWxUYWdFcnJvciBjb250YWluZWQgIltePl08Im1zPXMrMQorCisiIHRhZyBuYW1lcworc3luIGtleXdvcmQgc21pbFRhZ05hbWUgY29udGFpbmVkIHNtaWwgaGVhZCBib2R5IGFuY2hvciBhIHN3aXRjaCByZWdpb24gbGF5b3V0IG1ldGEKK3N5biBtYXRjaCAgIHNtaWxUYWdOYW1lIGNvbnRhaW5lZCAicm9vdC1sYXlvdXQiCitzeW4ga2V5d29yZCBzbWlsVGFnTmFtZSBjb250YWluZWQgcGFyIHNlcQorc3luIGtleXdvcmQgc21pbFRhZ05hbWUgY29udGFpbmVkIGFuaW1hdGlvbiB2aWRlbyBpbWcgYXVkaW8gcmVmIHRleHQgdGV4dHN0cmVhbQorc3luIG1hdGNoIHNtaWxUYWdOYW1lIGNvbnRhaW5lZCAiXDxcKGhlYWRcfGJvZHlcKVw+IgorCisKKyIgbGVnYWwgYXJnIG5hbWVzCitzeW4ga2V5d29yZCBzbWlsQXJnIGNvbnRhaW5lZCBkdXIgYmVnaW4gZW5kIGhyZWYgdGFyZ2V0IGlkIGNvb3JkcyBzaG93IHRpdGxlIGFic3RyYWN0IGF1dGhvciBjb3B5cmlnaHQgYWx0CitzeW4ga2V5d29yZCBzbWlsQXJnIGNvbnRhaW5lZCBsZWZ0IHRvcCB3aWR0aCBoZWlnaHQgZml0IHNyYyBuYW1lIGNvbnRlbnQgZmlsbCBsb25nZGVzYyByZXBlYXQgdHlwZQorc3luIG1hdGNoICAgc21pbEFyZyBjb250YWluZWQgInotaW5kZXgiCitzeW4gbWF0Y2ggICBzbWlsQXJnIGNvbnRhaW5lZCAiIGVuZC1zeW5jIgorc3luIG1hdGNoICAgc21pbEFyZyBjb250YWluZWQgIiByZWdpb24iCitzeW4gbWF0Y2ggICBzbWlsQXJnIGNvbnRhaW5lZCAiYmFja2dyb3VuZC1jb2xvciIKK3N5biBtYXRjaCAgIHNtaWxBcmcgY29udGFpbmVkICJzeXN0ZW0tYml0cmF0ZSIKK3N5biBtYXRjaCAgIHNtaWxBcmcgY29udGFpbmVkICJzeXN0ZW0tY2FwdGlvbnMiCitzeW4gbWF0Y2ggICBzbWlsQXJnIGNvbnRhaW5lZCAic3lzdGVtLW92ZXJkdWItb3ItY2FwdGlvbiIKK3N5biBtYXRjaCAgIHNtaWxBcmcgY29udGFpbmVkICJzeXN0ZW0tbGFuZ3VhZ2UiCitzeW4gbWF0Y2ggICBzbWlsQXJnIGNvbnRhaW5lZCAic3lzdGVtLXJlcXVpcmVkIgorc3luIG1hdGNoICAgc21pbEFyZyBjb250YWluZWQgInN5c3RlbS1zY3JlZW4tZGVwdGgiCitzeW4gbWF0Y2ggICBzbWlsQXJnIGNvbnRhaW5lZCAic3lzdGVtLXNjcmVlbi1zaXplIgorc3luIG1hdGNoICAgc21pbEFyZyBjb250YWluZWQgImNsaXAtYmVnaW4iCitzeW4gbWF0Y2ggICBzbWlsQXJnIGNvbnRhaW5lZCAiY2xpcC1lbmQiCitzeW4gbWF0Y2ggICBzbWlsQXJnIGNvbnRhaW5lZCAic2tpcC1jb250ZW50IgorCisKKyIgU01JTCBCb3N0b24gZXh0LgorIiBUaGlzIGFyZSBuZXcgU01JTCBmdW5jdGlvbm5hbGl0aWVzIHNlZW4gb24gd3d3LnczLm9yZyBvbiBBdWd1c3QgM3JkIDE5OTkKKworIiBBbmltYXRpb24KK3N5biBrZXl3b3JkIHNtaWxUYWdOYW1lIGNvbnRhaW5lZCBhbmltYXRlIHNldCBtb3ZlCitzeW4ga2V5d29yZCBzbWlsQXJnIGNvbnRhaW5lZCBjYWxjTW9kZSBmcm9tIHRvIGJ5IGFkZGl0aXZlIHZhbHVlcyBvcmlnaW4gcGF0aAorc3luIGtleXdvcmQgc21pbEFyZyBjb250YWluZWQgYWNjdW11bGF0ZSBob2xkIGF0dHJpYnV0ZQorc3luIG1hdGNoICAgc21pbEFyZyBjb250YWluZWQgInhtbDpsaW5rIgorc3luIGtleXdvcmQgc21pbFNwZWNpYWwgY29udGFpbmVkIGRpc2NyZXRlIGxpbmVhciBzcGxpbmUgcGFyZW50IGxheW91dAorc3luIGtleXdvcmQgc21pbFNwZWNpYWwgY29udGFpbmVkIHRvcCBsZWZ0IHNpbXBsZQorCisiIExpbmtpbmcKK3N5biBrZXl3b3JkIHNtaWxUYWdOYW1lIGNvbnRhaW5lZCBhcmVhCitzeW4ga2V5d29yZCBzbWlsQXJnIGNvbnRhaW5lZCBhY3R1YXRlIGJlaGF2aW9yIGlubGluZSBzb3VyY2VWb2x1bWUKK3N5biBrZXl3b3JkIHNtaWxBcmcgY29udGFpbmVkIGRlc3RpbmF0aW9uVm9sdW1lIGRlc3RpbmF0aW9uUGxheXN0YXRlIHRhYmluZGV4CitzeW4ga2V5d29yZCBzbWlsQXJnIGNvbnRhaW5lZCBjbGFzcyBzdHlsZSBsYW5nIGRpciBvbmNsaWNrIG9uZGJsY2xpY2sgb25tb3VzZWRvd24gb25tb3VzZXVwIG9ubW91c2VvdmVyIG9ubW91c2Vtb3ZlIG9ubW91c2VvdXQgb25rZXlwcmVzcyBvbmtleWRvd24gb25rZXl1cCBzaGFwZSBub2hyZWYgYWNjZXNza2V5IG9uZm9jdXMgb25ibHVyCitzeW4ga2V5d29yZCBzbWlsU3BlY2lhbCBjb250YWluZWQgcGxheSBwYXVzZSBzdG9wIHJlY3QgY2lyYyBwb2x5IGNoaWxkIHBhciBzZXEKKworIiBNZWRpYSBPYmplY3QKK3N5biBrZXl3b3JkIHNtaWxUYWdOYW1lIGNvbnRhaW5lZCBydHBtYXAKK3N5biBrZXl3b3JkIHNtaWxBcmcgY29udGFpbmVkIHBvcnQgdHJhbnNwb3J0IGVuY29kaW5nIHBheWxvYWQgY2xpcEJlZ2luIGNsaXBFbmQKK3N5biBtYXRjaCAgIHNtaWxBcmcgY29udGFpbmVkICJmbXQtbGlzdCIKKworIiBUaW1pbmcgYW5kIFN5bmNocm9uaXphdGlvbgorc3luIGtleXdvcmQgc21pbFRhZ05hbWUgY29udGFpbmVkIGV4Y2wKK3N5biBrZXl3b3JkIHNtaWxBcmcgY29udGFpbmVkIGJlZ2luRXZlbnQgZW5kRXZlbnQgZXZlbnRSZXN0YXJ0IGVuZFN5bmMgcmVwZWF0Q291bnQgcmVwZWF0RHVyCitzeW4ga2V5d29yZCBzbWlsQXJnIGNvbnRhaW5lZCBzeW5jQmVoYXZpb3Igc3luY1RvbGVyYW5jZQorc3luIGtleXdvcmQgc21pbFNwZWNpYWwgY29udGFpbmVkIGNhblNsaXAgbG9ja2VkCisKKyIgc3BlY2lhbCBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggc21pbFNwZWNpYWxDaGFyICImW147XSo7IgorCitpZiBleGlzdHMoInNtaWxfd3JvbmdfY29tbWVudHMiKQorICBzeW4gcmVnaW9uIHNtaWxDb21tZW50CQlzdGFydD0rPCEtLSsJICBlbmQ9Ky0tPisKK2Vsc2UKKyAgc3luIHJlZ2lvbiBzbWlsQ29tbWVudAkJc3RhcnQ9KzwhKwkgIGVuZD0rPisgICBjb250YWlucz1zbWlsQ29tbWVudFBhcnQsc21pbENvbW1lbnRFcnJvcgorICBzeW4gbWF0Y2ggIHNtaWxDb21tZW50RXJyb3IgY29udGFpbmVkICJbXj48IV0iCisgIHN5biByZWdpb24gc21pbENvbW1lbnRQYXJ0ICBjb250YWluZWQgc3RhcnQ9Ky0tKwkgIGVuZD0rLS0rCitlbmRpZgorc3luIHJlZ2lvbiBzbWlsQ29tbWVudAkJICAgICAgc3RhcnQ9KzwhRE9DVFlQRSsga2VlcGVuZCBlbmQ9Kz4rCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NtaWxfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc21pbF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzbWlsVGFnCQkJRnVuY3Rpb24KKyAgSGlMaW5rIHNtaWxFbmRUYWcJCQlJZGVudGlmaWVyCisgIEhpTGluayBzbWlsQXJnCQkJVHlwZQorICBIaUxpbmsgc21pbFRhZ05hbWUJCQlzbWlsU3RhdGVtZW50CisgIEhpTGluayBzbWlsU3BlY2lhbFRhZ05hbWUJCUV4Y2VwdGlvbgorICBIaUxpbmsgc21pbFZhbHVlCQkJVmFsdWUKKyAgSGlMaW5rIHNtaWxTcGVjaWFsQ2hhcgkJU3BlY2lhbAorCisgIEhpTGluayBzbWlsU3BlY2lhbAkJCVNwZWNpYWwKKyAgSGlMaW5rIHNtaWxTcGVjaWFsQ2hhcgkJU3BlY2lhbAorICBIaUxpbmsgc21pbFN0cmluZwkJCVN0cmluZworICBIaUxpbmsgc21pbFN0YXRlbWVudAkJCVN0YXRlbWVudAorICBIaUxpbmsgc21pbENvbW1lbnQJCQlDb21tZW50CisgIEhpTGluayBzbWlsQ29tbWVudFBhcnQJCUNvbW1lbnQKKyAgSGlMaW5rIHNtaWxQcmVQcm9jCQkJUHJlUHJvYworICBIaUxpbmsgc21pbFZhbHVlCQkJU3RyaW5nCisgIEhpTGluayBzbWlsQ29tbWVudEVycm9yCQlzbWlsRXJyb3IKKyAgSGlMaW5rIHNtaWxUYWdFcnJvcgkJCXNtaWxFcnJvcgorICBIaUxpbmsgc21pbEVycm9yCQkJRXJyb3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic21pbCIKKworaWYgbWFpbl9zeW50YXggPT0gJ3NtaWwnCisgIHVubGV0IG1haW5fc3ludGF4CitlbmRpZgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc21pdGgudmltIGIvcnVudGltZS9zeW50YXgvc21pdGgudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNWNlNjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zbWl0aC52aW0KQEAgLTAsMCArMSw1MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVNNSVRICisiIE1haW50YWluZXI6CVJhZmFsIE0uIFN1bGVqbWFuIDxybXNAcG9jenRhLm9uZXQucGw+CisiIExhc3QgQ2hhbmdlOgkyMS4wNy4yMDAwCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKworc3luIG1hdGNoIHNtaXRoQ29tbWVudCAiOy4qJCIKKworc3luIG1hdGNoIHNtaXRoTnVtYmVyCQkiXDxbKy1dKlswLTldXGQqXD4iCisKK3N5biBtYXRjaCBzbWl0aFJlZ2lzdGVyCQkiUltcW10qWzAtOV0qW1xdXSoiCisKK3N5biBtYXRjaCBzbWl0aEtleXdvcmQJIkNPUlx8TU9WXHxNVUxcfE5PVFx8U1RPUFx8U1VCXHxOT1BcfEJMQVx8UkVQIgorCitzeW4gcmVnaW9uIHNtaXRoU3RyaW5nCQlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisKKworCitzeW4gY2FzZSBtYXRjaAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbWl0aF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zbWl0aF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzbWl0aFJlZ2lzdGVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIHNtaXRoS2V5d29yZAlLZXl3b3JkCisJSGlMaW5rIHNtaXRoQ29tbWVudCBDb21tZW50CisJSGlMaW5rIHNtaXRoU3RyaW5nIFN0cmluZworICBIaUxpbmsgc21pdGhOdW1iZXIJTnVtYmVyCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic21pdGgiCisKKyIgdmltOiB0cz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbWwudmltIGIvcnVudGltZS9zeW50YXgvc21sLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2MzMzViCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc21sLnZpbQpAQCAtMCwwICsxLDIzMCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBTTUwKKyIgRmlsZW5hbWVzOiAgICAqLnNtbCAqLnNpZworIiBNYWludGFpbmVyczoJTWFya3VzIE1vdHRsCQk8bWFya3VzQG9lZmFpLmF0PgorIgkJRmFicml6aW8gWmVubyBDb3JuZWxsaQk8emVub0BmaWxpYnVzdGEuY3JlbWEudW5pbWkuaXQ+CisiIFVSTDoJCWh0dHA6Ly93d3cuYWkudW5pdmllLmFjLmF0L35tYXJrdXMvdmltL3N5bnRheC9zbWwudmltCisiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxMQorIgkJMjAwMSBOb3YgMjAgLSBGaXhlZCBzbWFsbCBoaWdobGlnaHRpbmcgYnVnIHdpdGggbW9kdWxlcyAoTU0pCisiCQkyMDAxIEF1ZyAyOSAtIEZpeGVkIHNtYWxsIGhpZ2hsaWdodGluZyBidWcgIChNTSkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFNNTCBpcyBjYXNlIHNlbnNpdGl2ZS4KK3N5biBjYXNlIG1hdGNoCisKKyIgbG93ZXJjYXNlIGlkZW50aWZpZXIgLSB0aGUgc3RhbmRhcmQgd2F5IHRvIG1hdGNoCitzeW4gbWF0Y2ggICAgc21sTENJZGVudGlmaWVyIC9cPFwoXGxcfF9cKVwoXHdcfCdcKSpcPi8KKworc3luIG1hdGNoICAgIHNtbEtleUNoYXIgICAgInwiCisKKyIgRXJyb3JzCitzeW4gbWF0Y2ggICAgc21sQnJhY2VFcnIgICAifSIKK3N5biBtYXRjaCAgICBzbWxCcmFja0VyciAgICJcXSIKK3N5biBtYXRjaCAgICBzbWxQYXJlbkVyciAgICIpIgorc3luIG1hdGNoICAgIHNtbENvbW1lbnRFcnIgIlwqKSIKK3N5biBtYXRjaCAgICBzbWxUaGVuRXJyICAgICJcPHRoZW5cPiIKKworIiBFcnJvci1oaWdobGlnaHRpbmcgb2YgImVuZCIgd2l0aG91dCBzeW5jaHJvbml6YXRpb246CisiIGFzIGtleXdvcmQgb3IgYXMgZXJyb3IgKGRlZmF1bHQpCitpZiBleGlzdHMoInNtbF9ub2VuZF9lcnJvciIpCisgIHN5biBtYXRjaCAgICBzbWxLZXl3b3JkICAgICJcPGVuZFw+IgorZWxzZQorICBzeW4gbWF0Y2ggICAgc21sRW5kRXJyICAgICAiXDxlbmRcPiIKK2VuZGlmCisKKyIgU29tZSBjb252ZW5pZW50IGNsdXN0ZXJzCitzeW4gY2x1c3RlciAgc21sQWxsRXJycyBjb250YWlucz1zbWxCcmFjZUVycixzbWxCcmFja0VycixzbWxQYXJlbkVycixzbWxDb21tZW50RXJyLHNtbEVuZEVycixzbWxUaGVuRXJyCisKK3N5biBjbHVzdGVyICBzbWxBRU5vUGFyZW4gY29udGFpbnM9c21sQnJhY2VFcnIsc21sQnJhY2tFcnIsc21sQ29tbWVudEVycixzbWxFbmRFcnIsc21sVGhlbkVycgorCitzeW4gY2x1c3RlciAgc21sQ29udGFpbmVkIGNvbnRhaW5zPXNtbFRvZG8sc21sUHJlRGVmLHNtbE1vZFBhcmFtLHNtbE1vZFBhcmFtMSxzbWxQcmVNUFJlc3RyLHNtbE1QUmVzdHIsc21sTVBSZXN0cjEsc21sTVBSZXN0cjIsc21sTVBSZXN0cjMsc21sTW9kUkhTLHNtbEZ1bmNXaXRoLHNtbEZ1bmNTdHJ1Y3Qsc21sTW9kVHlwZVJlc3RyLHNtbE1vZFRSV2l0aCxzbWxXaXRoLHNtbFdpdGhSZXN0LHNtbE1vZFR5cGUsc21sRnVsbE1vZAorCisKKyIgRW5jbG9zaW5nIGRlbGltaXRlcnMKK3N5biByZWdpb24gICBzbWxFbmNsIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c21sS2V5d29yZCBzdGFydD0iKCIgbWF0Y2hncm91cD1zbWxLZXl3b3JkIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULEBzbWxDb250YWluZWQsc21sUGFyZW5FcnIKK3N5biByZWdpb24gICBzbWxFbmNsIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c21sS2V5d29yZCBzdGFydD0ieyIgbWF0Y2hncm91cD1zbWxLZXl3b3JkIGVuZD0ifSIgIGNvbnRhaW5zPUFMTEJVVCxAc21sQ29udGFpbmVkLHNtbEJyYWNlRXJyCitzeW4gcmVnaW9uICAgc21sRW5jbCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNtbEtleXdvcmQgc3RhcnQ9IlxbIiBtYXRjaGdyb3VwPXNtbEtleXdvcmQgZW5kPSJcXSIgY29udGFpbnM9QUxMQlVULEBzbWxDb250YWluZWQsc21sQnJhY2tFcnIKK3N5biByZWdpb24gICBzbWxFbmNsIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c21sS2V5d29yZCBzdGFydD0iI1xbIiBtYXRjaGdyb3VwPXNtbEtleXdvcmQgZW5kPSJcXSIgY29udGFpbnM9QUxMQlVULEBzbWxDb250YWluZWQsc21sQnJhY2tFcnIKKworCisiIENvbW1lbnRzCitzeW4gcmVnaW9uICAgc21sQ29tbWVudCBzdGFydD0iKFwqIiBlbmQ9IlwqKSIgY29udGFpbnM9c21sQ29tbWVudCxzbWxUb2RvCitzeW4ga2V5d29yZCAgc21sVG9kbyBjb250YWluZWQgVE9ETyBGSVhNRSBYWFgKKworCisiIGxldAorc3luIHJlZ2lvbiAgIHNtbEVuZCBtYXRjaGdyb3VwPXNtbEtleXdvcmQgc3RhcnQ9Ilw8bGV0XD4iIG1hdGNoZ3JvdXA9c21sS2V5d29yZCBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAc21sQ29udGFpbmVkLHNtbEVuZEVycgorCisiIGxvY2FsCitzeW4gcmVnaW9uICAgc21sRW5kIG1hdGNoZ3JvdXA9c21sS2V5d29yZCBzdGFydD0iXDxsb2NhbFw+IiBtYXRjaGdyb3VwPXNtbEtleXdvcmQgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHNtbENvbnRhaW5lZCxzbWxFbmRFcnIKKworIiBhYnN0eXBlCitzeW4gcmVnaW9uICAgc21sTm9uZSBtYXRjaGdyb3VwPXNtbEtleXdvcmQgc3RhcnQ9Ilw8YWJzdHlwZVw+IiBtYXRjaGdyb3VwPXNtbEtleXdvcmQgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHNtbENvbnRhaW5lZCxzbWxFbmRFcnIKKworIiBiZWdpbgorc3luIHJlZ2lvbiAgIHNtbEVuZCBtYXRjaGdyb3VwPXNtbEtleXdvcmQgc3RhcnQ9Ilw8YmVnaW5cPiIgbWF0Y2hncm91cD1zbWxLZXl3b3JkIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBzbWxDb250YWluZWQsc21sRW5kRXJyCisKKyIgaWYKK3N5biByZWdpb24gICBzbWxOb25lIG1hdGNoZ3JvdXA9c21sS2V5d29yZCBzdGFydD0iXDxpZlw+IiBtYXRjaGdyb3VwPXNtbEtleXdvcmQgZW5kPSJcPHRoZW5cPiIgY29udGFpbnM9QUxMQlVULEBzbWxDb250YWluZWQsc21sVGhlbkVycgorCisKKyIiIE1vZHVsZXMKKworIiAic3RydWN0Igorc3luIHJlZ2lvbiAgIHNtbFN0cnVjdCBtYXRjaGdyb3VwPXNtbE1vZHVsZSBzdGFydD0iXDxzdHJ1Y3RcPiIgbWF0Y2hncm91cD1zbWxNb2R1bGUgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHNtbENvbnRhaW5lZCxzbWxFbmRFcnIKKworIiAic2lnIgorc3luIHJlZ2lvbiAgIHNtbFNpZyBtYXRjaGdyb3VwPXNtbE1vZHVsZSBzdGFydD0iXDxzaWdcPiIgbWF0Y2hncm91cD1zbWxNb2R1bGUgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHNtbENvbnRhaW5lZCxzbWxFbmRFcnIsc21sTW9kdWxlCitzeW4gcmVnaW9uICAgc21sTW9kU3BlYyBtYXRjaGdyb3VwPXNtbEtleXdvcmQgc3RhcnQ9Ilw8c3RydWN0dXJlXD4iIG1hdGNoZ3JvdXA9c21sTW9kdWxlIGVuZD0iXDxcdVwoXHdcfCdcKSpcPiIgY29udGFpbmVkIGNvbnRhaW5zPUBzbWxBbGxFcnJzLHNtbENvbW1lbnQgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9c21sTW9kVFJXaXRoLHNtbE1QUmVzdHIKKworIiAib3BlbiIKK3N5biByZWdpb24gICBzbWxOb25lIG1hdGNoZ3JvdXA9c21sS2V5d29yZCBzdGFydD0iXDxvcGVuXD4iIG1hdGNoZ3JvdXA9c21sTW9kdWxlIGVuZD0iXDxcdVwoXHdcfCdcKSpcKFwuXHVcKFx3XHwnXCkqXCkqXD4iIGNvbnRhaW5zPUBzbWxBbGxFcnJzLHNtbENvbW1lbnQKKworIiAic3RydWN0dXJlIiAtIHNvbWV3aGF0IGNvbXBsaWNhdGVkIHN0dWZmIDstKQorc3luIHJlZ2lvbiAgIHNtbE1vZHVsZSBtYXRjaGdyb3VwPXNtbEtleXdvcmQgc3RhcnQ9Ilw8XChzdHJ1Y3R1cmVcfGZ1bmN0b3JcKVw+IiBtYXRjaGdyb3VwPXNtbE1vZHVsZSBlbmQ9Ilw8XHVcKFx3XHwnXCkqXD4iIGNvbnRhaW5zPUBzbWxBbGxFcnJzLHNtbENvbW1lbnQgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9c21sUHJlRGVmCitzeW4gcmVnaW9uICAgc21sUHJlRGVmIHN0YXJ0PSIuIm1lPWUtMSBtYXRjaGdyb3VwPXNtbEtleXdvcmQgZW5kPSJcbFx8PSJtZT1lLTEgY29udGFpbmVkIGNvbnRhaW5zPUBzbWxBbGxFcnJzLHNtbENvbW1lbnQsc21sTW9kUGFyYW0sc21sTW9kVHlwZVJlc3RyLHNtbE1vZFRSV2l0aCBuZXh0Z3JvdXA9c21sTW9kUHJlUkhTCitzeW4gcmVnaW9uICAgc21sTW9kUGFyYW0gc3RhcnQ9IihbXipdIiBlbmQ9IikiIGNvbnRhaW5lZCBjb250YWlucz1Ac21sQUVOb1BhcmVuLHNtbE1vZFBhcmFtMQorc3luIG1hdGNoICAgIHNtbE1vZFBhcmFtMSAiXDxcdVwoXHdcfCdcKSpcPiIgY29udGFpbmVkIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNtbFByZU1QUmVzdHIKKworc3luIHJlZ2lvbiAgIHNtbFByZU1QUmVzdHIgc3RhcnQ9Ii4ibWU9ZS0xIGVuZD0iKSJtZT1lLTEgY29udGFpbmVkIGNvbnRhaW5zPUBzbWxBbGxFcnJzLHNtbENvbW1lbnQsc21sTVBSZXN0cixzbWxNb2RUeXBlUmVzdHIKKworc3luIHJlZ2lvbiAgIHNtbE1QUmVzdHIgc3RhcnQ9IjoiIGVuZD0iLiJtZT1lLTEgY29udGFpbmVkIGNvbnRhaW5zPUBzbWxDb21tZW50IHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNtbE1QUmVzdHIxLHNtbE1QUmVzdHIyLHNtbE1QUmVzdHIzCitzeW4gcmVnaW9uICAgc21sTVBSZXN0cjEgbWF0Y2hncm91cD1zbWxNb2R1bGUgc3RhcnQ9Ilxzc2lnXHNcPSIgbWF0Y2hncm91cD1zbWxNb2R1bGUgZW5kPSJcPGVuZFw+IiBjb250YWluZWQgY29udGFpbnM9QUxMQlVULEBzbWxDb250YWluZWQsc21sRW5kRXJyLHNtbE1vZHVsZQorc3luIHJlZ2lvbiAgIHNtbE1QUmVzdHIyIHN0YXJ0PSJcc2Z1bmN0b3JcKFxzXHwoXClcPSJtZT1lLTEgbWF0Y2hncm91cD1zbWxLZXl3b3JkIGVuZD0iLT4iIGNvbnRhaW5lZCBjb250YWlucz1Ac21sQWxsRXJycyxzbWxDb21tZW50LHNtbE1vZFBhcmFtIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNtbEZ1bmNXaXRoCitzeW4gbWF0Y2ggICAgc21sTVBSZXN0cjMgIlx3XChcd1x8J1wpKlwoXC5cd1woXHdcfCdcKSpcKSoiIGNvbnRhaW5lZAorc3luIG1hdGNoICAgIHNtbE1vZFByZVJIUyAiPSIgY29udGFpbmVkIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNtbE1vZFBhcmFtLHNtbEZ1bGxNb2QKK3N5biByZWdpb24gICBzbWxNb2RSSFMgc3RhcnQ9Ii4iIGVuZD0iLlx3XHwoW14qXSJtZT1lLTIgY29udGFpbmVkIGNvbnRhaW5zPXNtbENvbW1lbnQgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9c21sTW9kUGFyYW0sc21sRnVsbE1vZAorc3luIG1hdGNoICAgIHNtbEZ1bGxNb2QgIlw8XHVcKFx3XHwnXCkqXChcLlx1XChcd1x8J1wpKlwpKiIgY29udGFpbmVkIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNtbEZ1bmNXaXRoCisKK3N5biByZWdpb24gICBzbWxGdW5jV2l0aCBzdGFydD0iKFteKl0ibWU9ZS0xIGVuZD0iKSIgY29udGFpbmVkIGNvbnRhaW5zPXNtbENvbW1lbnQsc21sV2l0aCxzbWxGdW5jU3RydWN0CitzeW4gcmVnaW9uICAgc21sRnVuY1N0cnVjdCBtYXRjaGdyb3VwPXNtbE1vZHVsZSBzdGFydD0iW15hLXpBLVpdc3RydWN0XD4iaHM9cysxIG1hdGNoZ3JvdXA9c21sTW9kdWxlIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBzbWxDb250YWluZWQsc21sRW5kRXJyCisKK3N5biBtYXRjaCAgICBzbWxNb2RUeXBlUmVzdHIgIlw8XHdcKFx3XHwnXCkqXChcLlx3XChcd1x8J1wpKlwpKlw+IiBjb250YWluZWQKK3N5biByZWdpb24gICBzbWxNb2RUUldpdGggc3RhcnQ9IjpccyooImhzPXMrMSBlbmQ9IikiIGNvbnRhaW5lZCBjb250YWlucz1Ac21sQUVOb1BhcmVuLHNtbFdpdGgKK3N5biBtYXRjaCAgICBzbWxXaXRoICJcPFwoXHVcKFx3XHwnXCkqXC5cKSpcd1woXHdcfCdcKSpcPiIgY29udGFpbmVkIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNtbFdpdGhSZXN0CitzeW4gcmVnaW9uICAgc21sV2l0aFJlc3Qgc3RhcnQ9IlteKV0iIGVuZD0iKSJtZT1lLTEgY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxAc21sQ29udGFpbmVkCisKKyIgInNpZ25hdHVyZSIKK3N5biByZWdpb24gICBzbWxLZXl3b3JkIHN0YXJ0PSJcPHNpZ25hdHVyZVw+IiBtYXRjaGdyb3VwPXNtbE1vZHVsZSBlbmQ9Ilw8XHdcKFx3XHwnXCkqXD4iIGNvbnRhaW5zPXNtbENvbW1lbnQgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9c21sTVREZWYKK3N5biBtYXRjaCAgICBzbWxNVERlZiAiPVxzKlx3XChcd1x8J1wpKlw+ImhzPXMrMSxtZT1zCisKK3N5biBrZXl3b3JkICBzbWxLZXl3b3JkICBhbmQgYW5kYWxzbyBjYXNlCitzeW4ga2V5d29yZCAgc21sS2V5d29yZCAgZGF0YXR5cGUgZWxzZSBlcXR5cGUKK3N5biBrZXl3b3JkICBzbWxLZXl3b3JkICBleGNlcHRpb24gZm4gZnVuIGhhbmRsZQorc3luIGtleXdvcmQgIHNtbEtleXdvcmQgIGluIGluZml4IGluZml4bCBpbmZpeHIKK3N5biBrZXl3b3JkICBzbWxLZXl3b3JkICBtYXRjaCBub25maXggb2Ygb3JlbHNlCitzeW4ga2V5d29yZCAgc21sS2V5d29yZCAgcmFpc2UgaGFuZGxlIHR5cGUKK3N5biBrZXl3b3JkICBzbWxLZXl3b3JkICB2YWwgd2hlcmUgd2hpbGUgd2l0aCB3aXRodHlwZQorCitzeW4ga2V5d29yZCAgc21sVHlwZSAgICAgYm9vbCBjaGFyIGV4biBpbnQgbGlzdCBvcHRpb24KK3N5biBrZXl3b3JkICBzbWxUeXBlICAgICByZWFsIHN0cmluZyB1bml0CisKK3N5biBrZXl3b3JkICBzbWxPcGVyYXRvciBkaXYgbW9kIG5vdCBvciBxdW90IHJlbQorCitzeW4ga2V5d29yZCAgc21sQm9vbGVhbiAgICAgIHRydWUgZmFsc2UKK3N5biBtYXRjaCAgICBzbWxDb25zdHJ1Y3RvciAgIihccyopIgorc3luIG1hdGNoICAgIHNtbENvbnN0cnVjdG9yICAiXFtccypcXSIKK3N5biBtYXRjaCAgICBzbWxDb25zdHJ1Y3RvciAgIiNcW1xzKlxdIgorc3luIG1hdGNoICAgIHNtbENvbnN0cnVjdG9yICAiXHVcKFx3XHwnXCkqXD4iCisKKyIgTW9kdWxlIHByZWZpeAorc3luIG1hdGNoICAgIHNtbE1vZFBhdGggICAgICAiXHVcKFx3XHwnXCkqXC4iaGU9ZS0xCisKK3N5biBtYXRjaCAgICBzbWxDaGFyYWN0ZXIgICAgKyMiLiJcfCMiXFxcZFxkXGQiKworc3luIG1hdGNoICAgIHNtbENoYXJFcnIgICAgICArIyJcXFxkXGQiXHwjIlxcXGQiKworc3luIHJlZ2lvbiAgIHNtbFN0cmluZyAgICAgICBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCisKK3N5biBtYXRjaCAgICBzbWxGdW5EZWYgICAgICAgIj0+Igorc3luIG1hdGNoICAgIHNtbFJlZkFzc2lnbiAgICAiOj0iCitzeW4gbWF0Y2ggICAgc21sVG9wU3RvcCAgICAgICI7OyIKK3N5biBtYXRjaCAgICBzbWxPcGVyYXRvciAgICAgIlxeIgorc3luIG1hdGNoICAgIHNtbE9wZXJhdG9yICAgICAiOjoiCitzeW4gbWF0Y2ggICAgc21sQW55VmFyICAgICAgICJcPF9cPiIKK3N5biBtYXRjaCAgICBzbWxLZXlDaGFyICAgICAgIiEiCitzeW4gbWF0Y2ggICAgc21sS2V5Q2hhciAgICAgICI7Igorc3luIG1hdGNoICAgIHNtbEtleUNoYXIgICAgICAiXCoiCitzeW4gbWF0Y2ggICAgc21sS2V5Q2hhciAgICAgICI9IgorCitzeW4gbWF0Y2ggICAgc21sTnVtYmVyCSAgICAgICJcPC1cPVxkXCtcPiIKK3N5biBtYXRjaCAgICBzbWxOdW1iZXIJICAgICAgIlw8LVw9MFt4fFhdXHhcK1w+Igorc3luIG1hdGNoICAgIHNtbFJlYWwJICAgICAgIlw8LVw9XGRcK1wuXGQqXChbZUVdWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKworIiBTeW5jaHJvbml6YXRpb24KK3N5biBzeW5jIG1pbmxpbmVzPTIwCitzeW4gc3luYyBtYXhsaW5lcz01MDAKKworc3luIHN5bmMgbWF0Y2ggc21sRW5kU3luYyAgICAgZ3JvdXBoZXJlICBzbWxFbmQgICAgICJcPGJlZ2luXD4iCitzeW4gc3luYyBtYXRjaCBzbWxFbmRTeW5jICAgICBncm91cHRoZXJlIHNtbEVuZCAgICAgIlw8ZW5kXD4iCitzeW4gc3luYyBtYXRjaCBzbWxTdHJ1Y3RTeW5jICBncm91cGhlcmUgIHNtbFN0cnVjdCAgIlw8c3RydWN0XD4iCitzeW4gc3luYyBtYXRjaCBzbWxTdHJ1Y3RTeW5jICBncm91cHRoZXJlIHNtbFN0cnVjdCAgIlw8ZW5kXD4iCitzeW4gc3luYyBtYXRjaCBzbWxTaWdTeW5jICAgICBncm91cGhlcmUgIHNtbFNpZyAgICAgIlw8c2lnXD4iCitzeW4gc3luYyBtYXRjaCBzbWxTaWdTeW5jICAgICBncm91cHRoZXJlIHNtbFNpZyAgICAgIlw8ZW5kXD4iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NtbF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zbWxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc21sQnJhY2VFcnIJIEVycm9yCisgIEhpTGluayBzbWxCcmFja0VycgkgRXJyb3IKKyAgSGlMaW5rIHNtbFBhcmVuRXJyCSBFcnJvcgorCisgIEhpTGluayBzbWxDb21tZW50RXJyCSBFcnJvcgorCisgIEhpTGluayBzbWxFbmRFcnIJIEVycm9yCisgIEhpTGluayBzbWxUaGVuRXJyCSBFcnJvcgorCisgIEhpTGluayBzbWxDaGFyRXJyCSBFcnJvcgorCisgIEhpTGluayBzbWxDb21tZW50CSBDb21tZW50CisKKyAgSGlMaW5rIHNtbE1vZFBhdGgJIEluY2x1ZGUKKyAgSGlMaW5rIHNtbE1vZHVsZQkgSW5jbHVkZQorICBIaUxpbmsgc21sTW9kUGFyYW0xCSBJbmNsdWRlCisgIEhpTGluayBzbWxNb2RUeXBlCSBJbmNsdWRlCisgIEhpTGluayBzbWxNUFJlc3RyMwkgSW5jbHVkZQorICBIaUxpbmsgc21sRnVsbE1vZAkgSW5jbHVkZQorICBIaUxpbmsgc21sTW9kVHlwZVJlc3RyIEluY2x1ZGUKKyAgSGlMaW5rIHNtbFdpdGgJIEluY2x1ZGUKKyAgSGlMaW5rIHNtbE1URGVmCSBJbmNsdWRlCisKKyAgSGlMaW5rIHNtbENvbnN0cnVjdG9yICBDb25zdGFudAorCisgIEhpTGluayBzbWxNb2RQcmVSSFMJIEtleXdvcmQKKyAgSGlMaW5rIHNtbE1QUmVzdHIyCSBLZXl3b3JkCisgIEhpTGluayBzbWxLZXl3b3JkCSBLZXl3b3JkCisgIEhpTGluayBzbWxGdW5EZWYJIEtleXdvcmQKKyAgSGlMaW5rIHNtbFJlZkFzc2lnbgkgS2V5d29yZAorICBIaUxpbmsgc21sS2V5Q2hhcgkgS2V5d29yZAorICBIaUxpbmsgc21sQW55VmFyCSBLZXl3b3JkCisgIEhpTGluayBzbWxUb3BTdG9wCSBLZXl3b3JkCisgIEhpTGluayBzbWxPcGVyYXRvcgkgS2V5d29yZAorCisgIEhpTGluayBzbWxCb29sZWFuCSBCb29sZWFuCisgIEhpTGluayBzbWxDaGFyYWN0ZXIJIENoYXJhY3RlcgorICBIaUxpbmsgc21sTnVtYmVyCSBOdW1iZXIKKyAgSGlMaW5rIHNtbFJlYWwJIEZsb2F0CisgIEhpTGluayBzbWxTdHJpbmcJIFN0cmluZworICBIaUxpbmsgc21sVHlwZQkgVHlwZQorICBIaUxpbmsgc21sVG9kbwkgVG9kbworICBIaUxpbmsgc21sRW5jbAkgS2V5d29yZAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzbWwiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbm5zbmV0LnZpbSBiL3J1bnRpbWUvc3ludGF4L3NubnNuZXQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMjRkZTUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zbm5zbmV0LnZpbQpAQCAtMCwwICsxLDc3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU05OUyBuZXR3b3JrIGZpbGUKKyIgTWFpbnRhaW5lcjoJRGF2aWRlIEFsYmVyYW5pIDxhbGJlcmFuaWRAYmlnZm9vdC5jb20+CisiIExhc3QgQ2hhbmdlOgkyOCBBcHIgMjAwMQorIiBWZXJzaW9uOgkwLjIKKyIgVVJMOgkJaHR0cDovL2RpZ2lsYW5kZXIuaW9sLml0L2FsYmVyYW5pZC92aW0vc3ludGF4L3NubnNuZXQudmltCisiCisiIFNOTlMgaHR0cDovL3d3dy1yYS5pbmZvcm1hdGlrLnVuaS10dWViaW5nZW4uZGUvU05OUy8KKyIgaXMgYSBzaW11bGF0b3IgZm9yIG5ldXJhbCBuZXR3b3Jrcy4KKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBtYXRjaAlzbm5zbmV0VGl0bGUJIm5vXC4iCitzeW4gbWF0Y2gJc25uc25ldFRpdGxlCSJ0eXBlIG5hbWUiCitzeW4gbWF0Y2gJc25uc25ldFRpdGxlCSJ1bml0IG5hbWUiCitzeW4gbWF0Y2gJc25uc25ldFRpdGxlCSJhY3RcKCBmdW5jXClcPSIKK3N5biBtYXRjaAlzbm5zbmV0VGl0bGUJIm91dCBmdW5jIgorc3luIG1hdGNoCXNubnNuZXRUaXRsZQkic2l0ZVwoIG5hbWVcKVw9Igorc3luIG1hdGNoCXNubnNuZXRUaXRsZQkic2l0ZSBmdW5jdGlvbiIKK3N5biBtYXRjaAlzbm5zbmV0VGl0bGUJInNvdXJjZTp3ZWlnaHQiCitzeW4gbWF0Y2gJc25uc25ldFRpdGxlCSJ1bml0Tm9cLiIKK3N5biBtYXRjaAlzbm5zbmV0VGl0bGUJImRlbHRhIHgiCitzeW4gbWF0Y2gJc25uc25ldFRpdGxlCSJkZWx0YSB5Igorc3luIGtleXdvcmQJc25uc25ldFRpdGxlCXR5cGVOYW1lIHVuaXROYW1lIGJpYXMgc3QgcG9zaXRpb24gc3VibmV0IGxheWVyIHNpdGVzIG5hbWUgdGFyZ2V0IHogTExOIExVTiBUb2ZmIFNvZmYgQ3R5cGUKKworc3luIG1hdGNoCXNubnNuZXRUeXBlCSJTTk5TIG5ldHdvcmsgZGVmaW5pdGlvbiBmaWxlIFtWdl1cZC5cZC4qIiBjb250YWlucz1zbm5zbmV0TnVtYmVycworc3luIG1hdGNoCXNubnNuZXRUeXBlCSJnZW5lcmF0ZWQgYXQuKiIgY29udGFpbnM9c25uc25ldE51bWJlcnMKK3N5biBtYXRjaAlzbm5zbmV0VHlwZQkibmV0d29yayBuYW1lXHMqOiIKK3N5biBtYXRjaAlzbm5zbmV0VHlwZQkic291cmNlIGZpbGVzXHMqOiIKK3N5biBtYXRjaAlzbm5zbmV0VHlwZQkibm9cLiBvZiB1bml0c1xzKjouKiIgY29udGFpbnM9c25uc25ldE51bWJlcnMKK3N5biBtYXRjaAlzbm5zbmV0VHlwZQkibm9cLiBvZiBjb25uZWN0aW9uc1xzKjouKiIgY29udGFpbnM9c25uc25ldE51bWJlcnMKK3N5biBtYXRjaAlzbm5zbmV0VHlwZQkibm9cLiBvZiB1bml0IHR5cGVzXHMqOi4qIiBjb250YWlucz1zbm5zbmV0TnVtYmVycworc3luIG1hdGNoCXNubnNuZXRUeXBlCSJub1wuIG9mIHNpdGUgdHlwZXNccyo6LioiIGNvbnRhaW5zPXNubnNuZXROdW1iZXJzCitzeW4gbWF0Y2gJc25uc25ldFR5cGUJImxlYXJuaW5nIGZ1bmN0aW9uXHMqOiIKK3N5biBtYXRjaAlzbm5zbmV0VHlwZQkicHJ1bmluZyBmdW5jdGlvblxzKjoiCitzeW4gbWF0Y2gJc25uc25ldFR5cGUJInN1Ym9yZGluYXRlIGxlYXJuaW5nIGZ1bmN0aW9uXHMqOiIKK3N5biBtYXRjaAlzbm5zbmV0VHlwZQkidXBkYXRlIGZ1bmN0aW9uXHMqOiIKKworc3luIG1hdGNoCXNubnNuZXRTZWN0aW9uCSJ1bml0IGRlZmluaXRpb24gc2VjdGlvbiIKK3N5biBtYXRjaAlzbm5zbmV0U2VjdGlvbgkidW5pdCBkZWZhdWx0IHNlY3Rpb24iCitzeW4gbWF0Y2gJc25uc25ldFNlY3Rpb24JInNpdGUgZGVmaW5pdGlvbiBzZWN0aW9uIgorc3luIG1hdGNoCXNubnNuZXRTZWN0aW9uCSJ0eXBlIGRlZmluaXRpb24gc2VjdGlvbiIKK3N5biBtYXRjaAlzbm5zbmV0U2VjdGlvbgkiY29ubmVjdGlvbiBkZWZpbml0aW9uIHNlY3Rpb24iCitzeW4gbWF0Y2gJc25uc25ldFNlY3Rpb24JImxheWVyIGRlZmluaXRpb24gc2VjdGlvbiIKK3N5biBtYXRjaAlzbm5zbmV0U2VjdGlvbgkic3VibmV0IGRlZmluaXRpb24gc2VjdGlvbiIKK3N5biBtYXRjaAlzbm5zbmV0U2VjdGlvbgkiM0QgdHJhbnNsYXRpb24gc2VjdGlvbiIKK3N5biBtYXRjaAlzbm5zbmV0U2VjdGlvbgkidGltZSBkZWxheSBzZWN0aW9uIgorCitzeW4gbWF0Y2gJc25uc25ldE51bWJlcnMJIlxkIiBjb250YWluZWQKK3N5biBtYXRjaAlzbm5zbmV0Q29tbWVudAkiIy4qJCIgY29udGFpbnM9c25uc25ldFRvZG8KK3N5biBrZXl3b3JkCXNubnNuZXRUb2RvCVRPRE8gWFhYIEZJWE1FIGNvbnRhaW5lZAorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc25uc25ldF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zbm5zbmV0X3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHNubnNuZXRUeXBlCQlUeXBlCisgIEhpTGluayBzbm5zbmV0Q29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgc25uc25ldE51bWJlcnMJCU51bWJlcgorICBIaUxpbmsgc25uc25ldFNlY3Rpb24JCVN0YXRlbWVudAorICBIaUxpbmsgc25uc25ldFRpdGxlCQlMYWJlbAorICBIaUxpbmsgc25uc25ldFRvZG8JCVRvZG8KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic25uc25ldCIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc25uc3BhdC52aW0gYi9ydW50aW1lL3N5bnRheC9zbm5zcGF0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzA3ZmFkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc25uc3BhdC52aW0KQEAgLTAsMCArMSw2OCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVNOTlMgcGF0dGVybiBmaWxlCisiIE1haW50YWluZXI6CURhdmlkZSBBbGJlcmFuaSA8YWxiZXJhbmlkQGJpZ2Zvb3QuY29tPgorIiBMYXN0IENoYW5nZToJMjggQXByIDIwMDEKKyIgVmVyc2lvbjoJMC4yCisiIFVSTDoJCWh0dHA6Ly9kaWdpbGFuZGVyLmlvbC5pdC9hbGJlcmFuaWQvdmltL3N5bnRheC9zbm5zcGF0LnZpbQorIgorIiBTTk5TIGh0dHA6Ly93d3ctcmEuaW5mb3JtYXRpay51bmktdHVlYmluZ2VuLmRlL1NOTlMvCisiIGlzIGEgc2ltdWxhdG9yIGZvciBuZXVyYWwgbmV0d29ya3MuCisKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisKKyIgYW55dGhpbmcgdGhhdCBpc24ndCBwYXJ0IG9mIHRoZSBoZWFkZXIsIGEgY29tbWVudCBvciBhIG51bWJlcgorIiBpcyB3cm9uZworc3luIG1hdGNoCXNubnNwYXRFcnJvcgkiLioiCisiIGhvcGluZyB0aGF0IG1hdGNoZXMgYW55IGtpbmQgb2Ygbm90YXRpb24uLi4KK3N5biBtYXRjaAlzbm5zcGF0QWNjZXB0ZWQJIlwoWy0rXVw9XChcZFwrXC5cfFwuXClcPVxkXCtcKFtFZV1bLStdXD1cZFwrXClcPVwpIgorc3luIG1hdGNoCXNubnNwYXRBY2NlcHRlZCAiXHMiCitzeW4gbWF0Y2gJc25uc3BhdEJyYWMJIlxbXHMqXGRcK1woXHNcfFxkXCkqXF0iIGNvbnRhaW5zPXNubnNwYXROdW1iZXJzCisKKyIgdGhlIGFjY2VwdGVkIGZpZWxkcyBpbiB0aGUgaGVhZGVyCitzeW4gbWF0Y2gJc25uc3BhdE5vSGVhZGVyCSJOb1wuIG9mIHBhdHRlcm5zXHMqOlxzKiIgY29udGFpbmVkCitzeW4gbWF0Y2gJc25uc3BhdE5vSGVhZGVyCSJOb1wuIG9mIGlucHV0IHVuaXRzXHMqOlxzKiIgY29udGFpbmVkCitzeW4gbWF0Y2gJc25uc3BhdE5vSGVhZGVyCSJOb1wuIG9mIG91dHB1dCB1bml0c1xzKjpccyoiIGNvbnRhaW5lZAorc3luIG1hdGNoCXNubnNwYXROb0hlYWRlcgkiTm9cLiBvZiB2YXJpYWJsZSBpbnB1dCBkaW1lbnNpb25zXHMqOlxzKiIgY29udGFpbmVkCitzeW4gbWF0Y2gJc25uc3BhdE5vSGVhZGVyCSJOb1wuIG9mIHZhcmlhYmxlIG91dHB1dCBkaW1lbnNpb25zXHMqOlxzKiIgY29udGFpbmVkCitzeW4gbWF0Y2gJc25uc3BhdE5vSGVhZGVyCSJNYXhpbXVtIGlucHV0IGRpbWVuc2lvbnNccyo6XHMqIiBjb250YWluZWQKK3N5biBtYXRjaAlzbm5zcGF0Tm9IZWFkZXIJIk1heGltdW0gb3V0cHV0IGRpbWVuc2lvbnNccyo6XHMqIiBjb250YWluZWQKK3N5biBtYXRjaAlzbm5zcGF0R2VuCSJnZW5lcmF0ZWQgYXQuKiIgY29udGFpbmVkIGNvbnRhaW5zPXNubnNwYXROdW1iZXJzCitzeW4gbWF0Y2gJc25uc3BhdEdlbgkiU05OUyBwYXR0ZXJuIGRlZmluaXRpb24gZmlsZSBbVnZdXGRcLlxkIiBjb250YWluZWQgY29udGFpbnM9c25uc3BhdE51bWJlcnMKKworIiB0aGUgaGVhZGVyLCB3aGF0IGlzIG5vdCBhbiBhY2NlcHRlZCBmaWVsZCwgaXMgYW4gZXJyb3IKK3N5biByZWdpb24Jc25uc3BhdEhlYWRlcglzdGFydD0iXlNOTlMiIGVuZD0iXlxzKlstK1wuXVw9WzAtOSNdIm1lPWUtMiBjb250YWlucz1zbm5zcGF0Tm9IZWFkZXIsc25uc3BhdE51bWJlcnMsc25uc3BhdEdlbixzbm5zcGF0QnJhYworCisiIG51bWJlcnMgaW5zaWRlIHRoZSBoZWFkZXIKK3N5biBtYXRjaAlzbm5zcGF0TnVtYmVycwkiXGQiIGNvbnRhaW5lZAorc3luIG1hdGNoCXNubnNwYXRDb21tZW50CSIjLiokIiBjb250YWlucz1zbm5zcGF0VG9kbworc3luIGtleXdvcmQJc25uc3BhdFRvZG8JVE9ETyBYWFggRklYTUUgY29udGFpbmVkCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbm5zcGF0X3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NubnNwYXRfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc25uc3BhdEdlbgkJU3RhdGVtZW50CisgIEhpTGluayBzbm5zcGF0SGVhZGVyCQlFcnJvcgorICBIaUxpbmsgc25uc3BhdE5vSGVhZGVyCURlZmluZQorICBIaUxpbmsgc25uc3BhdE51bWJlcnMJCU51bWJlcgorICBIaUxpbmsgc25uc3BhdENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHNubnNwYXRFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHNubnNwYXRUb2RvCQlUb2RvCisgIEhpTGluayBzbm5zcGF0QWNjZXB0ZWQJTk9ORQorICBIaUxpbmsgc25uc3BhdEJyYWMJCU5PTkUKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic25uc3BhdCIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc25uc3Jlcy52aW0gYi9ydW50aW1lL3N5bnRheC9zbm5zcmVzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzFkNTk2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc25uc3Jlcy52aW0KQEAgLTAsMCArMSw2MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVNOTlMgcmVzdWx0IGZpbGUKKyIgTWFpbnRhaW5lcjoJRGF2aWRlIEFsYmVyYW5pIDxhbGJlcmFuaWRAYmlnZm9vdC5jb20+CisiIExhc3QgQ2hhbmdlOgkyOCBBcHIgMjAwMQorIiBWZXJzaW9uOgkwLjIKKyIgVVJMOgkJaHR0cDovL2RpZ2lsYW5kZXIuaW9sLml0L2FsYmVyYW5pZC92aW0vc3ludGF4L3NubnNyZXMudmltCisiCisiIFNOTlMgaHR0cDovL3d3dy1yYS5pbmZvcm1hdGlrLnVuaS10dWViaW5nZW4uZGUvU05OUy8KKyIgaXMgYSBzaW11bGF0b3IgZm9yIG5ldXJhbCBuZXR3b3Jrcy4KKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgdGhlIGFjY2VwdGVkIGZpZWxkcyBpbiB0aGUgaGVhZGVyCitzeW4gbWF0Y2gJc25uc3Jlc05vSGVhZGVyCSJOb1wuIG9mIHBhdHRlcm5zXHMqOlxzKiIgY29udGFpbmVkCitzeW4gbWF0Y2gJc25uc3Jlc05vSGVhZGVyCSJOb1wuIG9mIGlucHV0IHVuaXRzXHMqOlxzKiIgY29udGFpbmVkCitzeW4gbWF0Y2gJc25uc3Jlc05vSGVhZGVyCSJOb1wuIG9mIG91dHB1dCB1bml0c1xzKjpccyoiIGNvbnRhaW5lZAorc3luIG1hdGNoCXNubnNyZXNOb0hlYWRlcgkiTm9cLiBvZiB2YXJpYWJsZSBpbnB1dCBkaW1lbnNpb25zXHMqOlxzKiIgY29udGFpbmVkCitzeW4gbWF0Y2gJc25uc3Jlc05vSGVhZGVyCSJOb1wuIG9mIHZhcmlhYmxlIG91dHB1dCBkaW1lbnNpb25zXHMqOlxzKiIgY29udGFpbmVkCitzeW4gbWF0Y2gJc25uc3Jlc05vSGVhZGVyCSJNYXhpbXVtIGlucHV0IGRpbWVuc2lvbnNccyo6XHMqIiBjb250YWluZWQKK3N5biBtYXRjaAlzbm5zcmVzTm9IZWFkZXIJIk1heGltdW0gb3V0cHV0IGRpbWVuc2lvbnNccyo6XHMqIiBjb250YWluZWQKK3N5biBtYXRjaAlzbm5zcmVzTm9IZWFkZXIJInN0YXJ0cGF0dGVyblxzKjpccyoiIGNvbnRhaW5lZAorc3luIG1hdGNoCXNubnNyZXNOb0hlYWRlciAiZW5kcGF0dGVyblxzKjpccyoiIGNvbnRhaW5lZAorc3luIG1hdGNoCXNubnNyZXNOb0hlYWRlciAiaW5wdXQgcGF0dGVybnMgaW5jbHVkZWQiIGNvbnRhaW5lZAorc3luIG1hdGNoCXNubnNyZXNOb0hlYWRlciAidGVhY2hpbmcgb3V0cHV0IGluY2x1ZGVkIiBjb250YWluZWQKK3N5biBtYXRjaAlzbm5zcmVzR2VuCSJnZW5lcmF0ZWQgYXQuKiIgY29udGFpbmVkIGNvbnRhaW5zPXNubnNyZXNOdW1iZXJzCitzeW4gbWF0Y2gJc25uc3Jlc0dlbgkiU05OUyByZXN1bHQgZmlsZSBbVnZdXGRcLlxkIiBjb250YWluZWQgY29udGFpbnM9c25uc3Jlc051bWJlcnMKKworIiB0aGUgaGVhZGVyLCB3aGF0IGlzIG5vdCBhbiBhY2NlcHRlZCBmaWVsZCwgaXMgYW4gZXJyb3IKK3N5biByZWdpb24Jc25uc3Jlc0hlYWRlcglzdGFydD0iXlNOTlMiIGVuZD0iXlxzKlstK1wuXVw9WzAtOSNdIm1lPWUtMiBjb250YWlucz1zbm5zcmVzTm9IZWFkZXIsc25uc3Jlc051bWJlcnMsc25uc3Jlc0dlbgorCisiIG51bWJlcnMgaW5zaWRlIHRoZSBoZWFkZXIKK3N5biBtYXRjaAlzbm5zcmVzTnVtYmVycwkiXGQiIGNvbnRhaW5lZAorc3luIG1hdGNoCXNubnNyZXNDb21tZW50CSIjLiokIiBjb250YWlucz1zbm5zcmVzVG9kbworc3luIGtleXdvcmQJc25uc3Jlc1RvZG8JVE9ETyBYWFggRklYTUUgY29udGFpbmVkCisKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbm5zcmVzX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NubnNyZXNfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc25uc3Jlc0dlbgkJU3RhdGVtZW50CisgIEhpTGluayBzbm5zcmVzSGVhZGVyCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHNubnNyZXNOb0hlYWRlcglEZWZpbmUKKyAgSGlMaW5rIHNubnNyZXNOdW1iZXJzCQlOdW1iZXIKKyAgSGlMaW5rIHNubnNyZXNDb21tZW50CQlDb21tZW50CisgIEhpTGluayBzbm5zcmVzVG9kbwkJVG9kbworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzbm5zcmVzIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbm9ib2w0LnZpbSBiL3J1bnRpbWUvc3ludGF4L3Nub2JvbDQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NDc1ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zbm9ib2w0LnZpbQpAQCAtMCwwICsxLDkzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIFNOT0JPTDQKKyIgTWFpbnRhaW5lcjogICBSYWZhbCBTdWxlam1hbiA8cm1zQHBvY3p0YS5vbmV0LnBsPgorIiBMYXN0IGNoYW5nZTogIDIwMDQgTWF5IDE2CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3ludGF4IGNhc2UgaWdub3JlCisiIFZhbmlsbGEgU25vYm9sNCBrZXl3b3Jkcworc3luIGtleXdvcmQJc25vYm9sNEtleXdvYXJkICAgYW55IGFwcGx5IGFyYiBhcmJubyBhcmcgYXJyYXkKK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIGJyZWFrCitzeW4ga2V5d29yZAlzbm9ib2w0S2V5d29hcmQgICBjaGFyIGNsZWFyIGNvZGUgY29sbGVjdCBjb252ZXJ0IGNvcHkKK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIGRhdGEgZGF0YXR5cGUgZGF0ZSBkZWZpbmUgZGV0YWNoIGRpZmZlciBkdW1wIGR1cGwKK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIGVuZGZpbGUgZXEgZXZhbAorc3luIGtleXdvcmQJc25vYm9sNEtleXdvYXJkICAgZmllbGQKK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIGdlIGd0IGlkZW50CitzeW4ga2V5d29yZAlzbm9ib2w0S2V5d29hcmQgICBpbnB1dCBpbnRlZ2VyIGl0ZW0KK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIGxlIGxlbiBsZ3QgbG9jYWwgbHBhZCBsdAorc3luIGtleXdvcmQJc25vYm9sNEtleXdvYXJkICAgbmUgbm90YW55CitzeW4ga2V5d29yZAlzbm9ib2w0S2V5d29hcmQgICBvcHN5biBvdXRwdXQKK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIHBvcyBwcm90b3R5cGUKK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIHJlbWRyIHJlcGxhY2UgcnBhZCBycG9zIHJ0YWIKK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIHNpemUgc3BhbiBzdG9wdHIKK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIHRhYiB0YWJsZSB0aW1lIHRyYWNlIHRyaW0KK3N5biBrZXl3b3JkCXNub2JvbDRLZXl3b2FyZCAgIHVubG9hZAorc3luIGtleXdvcmQJc25vYm9sNEtleXdvYXJkICAgdmFsdWUKKyIgU3BpdGJvbCBrZXl3b3JkcworIiBDU05PQk9MIGtleXdvcmRzCitzeW4ga2V5d29yZAlzbm9ib2w0S2V5d29hcmQgICBzc2V0CisKK3N5biByZWdpb24gICAgICBzbm9ib2w0U3RyaW5nICAgICAgIG1hdGNoZ3JvdXA9UXVvdGUgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKworc3luIHJlZ2lvbiAgICAgIHNub2JvbDRTdHJpbmcgICAgICAgbWF0Y2hncm91cD1RdW90ZSBzdGFydD0rJysgc2tpcD0rXFwnKyBlbmQ9KycrCitzeW4gbWF0Y2ggICAgICAgc25vYm9sNExhYmVsICAgICAgICAiXlteLSBcdF1bXiBcdF0qIgorc3luIG1hdGNoICAgICAgIHNub2JvbDRTdGF0ZW1lbnQgICAgIl4tW14gXVteIF0qIgorc3luIG1hdGNoICAgICAgIHNub2JvbDRDb21tZW50ICAgICAgIl4qLiokIgorc3luIG1hdGNoICAgICAgIENvbnN0YW50ICAgICAgICAgICAgIlwuW2Etel1bYS16MC05XC1dKiIKKyJzeW4gbWF0Y2ggICAgICAgc25vYm9sNExhYmVsICAgICAgICAiOlwoW3NmXSooW14pXSopXCkqIiBjb250YWlucz1BTExCVVQsc25vYm9sNFBhcmVuRXJyb3IKK3N5biByZWdpb24gICAgICAgc25vYm9sNExhYmVsICAgICAgICBzdGFydD0iOigiIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULHNub2JvbDRQYXJlbkVycm9yCitzeW4gcmVnaW9uICAgICAgIHNub2JvbDRMYWJlbCAgICAgICAgc3RhcnQ9IjpmKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsc25vYm9sNFBhcmVuRXJyb3IKK3N5biByZWdpb24gICAgICAgc25vYm9sNExhYmVsICAgICAgICBzdGFydD0iOnMoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxzbm9ib2w0UGFyZW5FcnJvcgorc3luIG1hdGNoICAgICAgIHNub2JvbDROdW1iZXIgICAgICAgIlw8XGQqXChcLlxkXGQqXCkqXD4iCisiIFBhcmVucyBtYXRjaGluZworc3luIGNsdXN0ZXIgICAgIHNub2JvbDRQYXJlbkdyb3VwICAgY29udGFpbnM9c25vYm9sNFBhcmVuRXJyb3IKK3N5biByZWdpb24gICAgICBzbm9ib2w0UGFyZW4gICAgICAgIHRyYW5zcGFyZW50IHN0YXJ0PScoJyBlbmQ9JyknIGNvbnRhaW5zPUFMTEJVVCxAc25vYm9sNFBhcmVuR3JvdXAsc25vYm9sNEVyckluQnJhY2tldAorc3luIG1hdGNoICAgICAgIHNub2JvbDRQYXJlbkVycm9yICAgZGlzcGxheSAiW1xdKV0iCitzeW4gbWF0Y2ggICAgICAgc25vYm9sNEVyckluUGFyZW4gICBkaXNwbGF5IGNvbnRhaW5lZCAiW1xde31dXHw8JVx8JT4iCitzeW4gcmVnaW9uICAgICAgc25vYm9sNEJyYWNrZXQgICAgICB0cmFuc3BhcmVudCBzdGFydD0nXFtcfDw6JyBlbmQ9J11cfDo+JyBjb250YWlucz1BTExCVVQsQHNub2JvbDRQYXJlbkdyb3VwLHNub2JvbDRFcnJJblBhcmVuCitzeW4gbWF0Y2ggICAgICAgc25vYm9sNEVyckluQnJhY2tldCBkaXNwbGF5IGNvbnRhaW5lZCAiWyk7e31dXHw8JVx8JT4iCisKKyIgb3B0aW9uYWwgc2hlbGwgc2hlYmFuZyBsaW5lCitzeW4gbWF0Y2gJc25vYm9sNENvbW1lbnQgICAgIl5cI1whLiokIgorCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Nub2JvbDRfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc25vYm9sNF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzbm9ib2w0TGFiZWwJCUxhYmVsCisgIEhpTGluayBzbm9ib2w0Q29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHNub2JvbDRSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgc25vYm9sNE51bWJlcgkJTnVtYmVyCisgIEhpTGluayBzbm9ib2w0RXJyb3IJCUVycm9yCisgIEhpTGluayBzbm9ib2w0U3RhdGVtZW50CVByZVByb2MKKyAgSGlMaW5rIHNub2JvbDRTdHJpbmcJCVN0cmluZworICBIaUxpbmsgc25vYm9sNENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHNub2JvbDRTcGVjaWFsCQlTcGVjaWFsCisgIEhpTGluayBzbm9ib2w0VG9kbwkJVG9kbworICBIaUxpbmsgc25vYm9sNEtleXdvcmQJCVN0YXRlbWVudAorICBIaUxpbmsgc25vYm9sNEZ1bmN0aW9uCVN0YXRlbWVudAorICBIaUxpbmsgc25vYm9sNEtleXdvcmQJCUtleXdvcmQKKyAgSGlMaW5rIHNub2JvbDRNYXRoc09wZXJhdG9yCU9wZXJhdG9yCisgIEhpTGluayBzbm9ib2w0UGFyZW5FcnJvciAgICAgIHNub2JvbDRFcnJvcgorICBIaUxpbmsgc25vYm9sNEVyckluUGFyZW4gICAgICBzbm9ib2w0RXJyb3IKKyAgSGlMaW5rIHNub2JvbDRFcnJJbkJyYWNrZXQgICAgc25vYm9sNEVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNub2JvbDQiCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3BlYy52aW0gYi9ydW50aW1lL3N5bnRheC9zcGVjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWZiMmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3BlYy52aW0KQEAgLTAsMCArMSwyMzYgQEAKKyIgRmlsZW5hbWU6ICAgIHNwZWMudmltCisiIFB1cnBvc2U6ICAgICBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgIFNQRUM6IEJ1aWxkL2luc3RhbGwgc2NyaXB0cyBmb3IgTGludXggUlBNIHBhY2thZ2VzCisiIE1haW50YWluZXI6ICBEb25vdmFuIFJlYmJlY2hpIGVsZmxvcmRAcGVnYXN1cy5ydXRnZXJzLmVkdQorIiBVUkw6CSAgICAgICBodHRwOi8vcGVnYXN1cy5ydXRnZXJzLmVkdS9+ZWxmbG9yZC92aW0vc3ludGF4L3NwZWMudmltCisiIExhc3QgQ2hhbmdlOiBUdWUgT2N0ICAzIDE3OjM1OjE1IEJSU1QgMjAwMCA8YXVyZWxpb0Bjb25lY3RpdmEuY29tLmJyPgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBzeW5jIG1pbmxpbmVzPTEwMDAKKworc3luIG1hdGNoIHNwZWNTcGVjaWFsQ2hhciBjb250YWluZWQgJ1tdWyEkKClcXHw+Xjs6e31dJworc3luIG1hdGNoIHNwZWNDb2xvbiAgICAgICBjb250YWluZWQgJzonCitzeW4gbWF0Y2ggc3BlY1BlcmNlbnQgICAgIGNvbnRhaW5lZCAnJScKKworc3luIG1hdGNoIHNwZWNWYXJpYWJsZXMgICBjb250YWluZWQgJ1wkXGhcdyonIGNvbnRhaW5zPXNwZWNTcGVjaWFsVmFyaWFibGVzTmFtZXMsc3BlY1NwZWNpYWxDaGFyCitzeW4gbWF0Y2ggc3BlY1ZhcmlhYmxlcyAgIGNvbnRhaW5lZCAnXCR7XHcqfScgY29udGFpbnM9c3BlY1NwZWNpYWxWYXJpYWJsZXNOYW1lcyxzcGVjU3BlY2lhbENoYXIKKworc3luIG1hdGNoIHNwZWNNYWNyb0lkZW50aWZpZXIgY29udGFpbmVkICclXGhcdyonIGNvbnRhaW5zPXNwZWNNYWNyb05hbWVMb2NhbCxzcGVjTWFjcm9OYW1lT3RoZXIsc3BlY1BlcmNlbnQKK3N5biBtYXRjaCBzcGVjTWFjcm9JZGVudGlmaWVyIGNvbnRhaW5lZCAnJXtcdyp9JyBjb250YWlucz1zcGVjTWFjcm9OYW1lTG9jYWwsc3BlY01hY3JvTmFtZU90aGVyLHNwZWNQZXJjZW50LHNwZWNTcGVjaWFsQ2hhcgorCitzeW4gbWF0Y2ggc3BlY1NwZWNpYWxWYXJpYWJsZXMgY29udGFpbmVkICdcJFswLTldXHxcJHtbMC05XX0nCitzeW4gbWF0Y2ggc3BlY0NvbW1hbmRPcHRzICAgICAgY29udGFpbmVkICdcc1woLVx3XCtcfC0tXHdbYS16QS1aXy1dXCtcKSdtcz1zKzEKK3N5biBtYXRjaCBzcGVjQ29tbWVudCAnXlxzKiMuKiQnCisKKworc3luIGNhc2UgbWF0Y2gKKworCisibWF0Y2hlcyB3aXRoIG5vIGhpZ2hsaWdodAorc3luIG1hdGNoIHNwZWNOb051bWJlckhpbGl0ZSAnWDExXHxYMTFSNlx8W2EtekEtWl0qXC5cZFx8W2EtekEtWl1bLS9dXGQnCitzeW4gbWF0Y2ggc3BlY01hbnBhZ2VGaWxlICdbYS16QS1aXVwuMScKKworIkRheSwgTW9udGggYW5kIG1vc3QgdXNlZCBsaWNlbnNlIGFjcm9ueW1zCitzeW4ga2V5d29yZCBzcGVjTGljZW5zZSBjb250YWluZWQgR1BMIExHUEwgQlNEIE1JVCBHTlUKK3N5biBrZXl3b3JkIHNwZWNXZWVrZGF5IGNvbnRhaW5lZCBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KK3N5biBrZXl3b3JkIHNwZWNNb250aCAgIGNvbnRhaW5lZCBKYW4gRmViIE1hciBBcHIgSnVuIEp1bCBBdWcgU2VwIE9jdCBOb3YgRGVjCitzeW4ga2V5d29yZCBzcGVjTW9udGggICBjb250YWluZWQgSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlcgorCisiIywgQCwgd3d3CitzeW4gbWF0Y2ggc3BlY051bWJlciAnXCheLVw9XHxbIFx0XS1cPVx8LVwpWzAtOS4tXSpbMC05XScKK3N5biBtYXRjaCBzcGVjRW1haWwgY29udGFpbmVkICI8XD1cPFtBLVphLXowLTlfLi1dXCtAXChbQS1aYS16MC05Xy1dXCtcLlwpXCtbQS1aYS16XVwrXD4+XD0iCitzeW4gbWF0Y2ggc3BlY1VSTCAgICAgIGNvbnRhaW5lZCAnXDxcKFwoaHR0cHNcezAsMX1cfGZ0cFwpOi8vXHxcKHd3d1syM11cezAsMX1cLlx8ZnRwXC5cKVwpW0EtWmEtejAtOS5fL346LCMtXVwrXD4nCitzeW4gbWF0Y2ggc3BlY1VSTE1hY3JvIGNvbnRhaW5lZCAnXDxcKFwoaHR0cHNcezAsMX1cfGZ0cFwpOi8vXHxcKHd3d1syM11cezAsMX1cLlx8ZnRwXC5cKVwpW0EtWmEtejAtOS5fL346LCMle30tXVwrXD4nIGNvbnRhaW5zPXNwZWNNYWNyb0lkZW50aWZpZXIKKworIlRPRE8gdGFrZSBzcGVjU3BlY2lhbFZhcmlhYmxlcyBvdXQgb2YgdGhlIGNsdXN0ZXIgZm9yIHRoZSBzaCogY29udGFpbnMgKEFMTEJVVCkKKyJTcGVjaWFsIHN5c3RlbSBkaXJlY3Rvcmllcworc3luIG1hdGNoIHNwZWNMaXN0ZWRGaWxlc1ByZWZpeCBjb250YWluZWQgJy9cKHVzclx8bG9jYWxcfG9wdFx8WDExUjZcfFgxMVwpLydtZT1lLTEKK3N5biBtYXRjaCBzcGVjTGlzdGVkRmlsZXNCaW4gICAgY29udGFpbmVkICcvc1w9YmluLydtZT1lLTEKK3N5biBtYXRjaCBzcGVjTGlzdGVkRmlsZXNMaWIgICAgY29udGFpbmVkICcvXChsaWJcfGluY2x1ZGVcKS8nbWU9ZS0xCitzeW4gbWF0Y2ggc3BlY0xpc3RlZEZpbGVzRG9jICAgIGNvbnRhaW5lZCAnL1wobWFuXGQqXHxkb2NcfGluZm9cKVw+Jworc3luIG1hdGNoIHNwZWNMaXN0ZWRGaWxlc0V0YyAgICBjb250YWluZWQgJy9ldGMvJ21lPWUtMQorc3luIG1hdGNoIHNwZWNMaXN0ZWRGaWxlc1NoYXJlICBjb250YWluZWQgJy9zaGFyZS8nbWU9ZS0xCitzeW4gY2x1c3RlciBzcGVjTGlzdGVkRmlsZXMgY29udGFpbnM9c3BlY0xpc3RlZEZpbGVzQmluLHNwZWNMaXN0ZWRGaWxlc0xpYixzcGVjTGlzdGVkRmlsZXNEb2Msc3BlY0xpc3RlZEZpbGVzRXRjLHNwZWNMaXN0ZWRGaWxlc1NoYXJlLHNwZWNMaXN0ZWRGaWxlc1ByZWZpeCxzcGVjVmFyaWFibGVzLHNwZWNTcGVjaWFsQ2hhcgorCisic3BlY0NvbWFuZHMKK3N5biBtYXRjaCAgIHNwZWNDb25maWd1cmUgIGNvbnRhaW5lZCAnXC4vY29uZmlndXJlJworc3luIG1hdGNoICAgc3BlY1RhckNvbW1hbmQgY29udGFpbmVkICdcPHRhclxzXCtbY3h2cHpJZl1ceyw1fVxzKicKK3N5biBrZXl3b3JkIHNwZWNDb21tYW5kU3BlY2lhbCBjb250YWluZWQgcm9vdAorc3luIGtleXdvcmQgc3BlY0NvbW1hbmQJCWNvbnRhaW5lZCBtYWtlIHhta21mIG1rZGlyIGNobW9kIGxuIGZpbmQgc2VkIHJtIHN0cmlwIG1vYyBlY2hvIGdyZXAgbHMgcm0gbXYgbWtkaXIgaW5zdGFsbCBjcCBwd2QgY2F0IHRhaWwgdGhlbiBlbHNlIGVsaWYgY2QgZ3ppcCBybWRpciBsbiBldmFsIGV4cG9ydCB0b3VjaAorc3luIGNsdXN0ZXIgc3BlY0NvbW1hbmRzIGNvbnRhaW5zPXNwZWNDb21tYW5kLHNwZWNUYXJDb21tYW5kLHNwZWNDb25maWd1cmUsc3BlY0NvbW1hbmRTcGVjaWFsCisKKyJmcmVxdWVudGx5IHVzZWQgcnBtIGVudiB2YXJzCitzeW4ga2V5d29yZCBzcGVjU3BlY2lhbFZhcmlhYmxlc05hbWVzIGNvbnRhaW5lZCBSUE1fQlVJTERfUk9PVCBSUE1fQlVJTERfRElSIFJQTV9TT1VSQ0VfRElSIFJQTV9PUFRfRkxBR1MgTERGTEFHUyBDQyBDQ19GTEFHUyBDUFBOQU1FIENGTEFHUyBDWFggQ1hYRkxBR1MgQ1BQRkxBR1MKKworInZhbGlkIG1hY3JvIG5hbWVzIGZyb20gL3Vzci9saWIvcnBtL21hY3Jvcworc3luIGtleXdvcmQgc3BlY01hY3JvTmFtZU90aGVyIGNvbnRhaW5lZCBidWlsZHJvb3QgYnVpbGRzdWJkaXIgZGlzdHJpYnV0aW9uIGRpc3R1cmwgaXg4NiBuYW1lIG5pbCBvcHRmbGFncyBwZXJsX3NpdGVhcmNoIHJlbGVhc2UgcmVxdWlyZXNfZXEgdmVuZG9yIHZlcnNpb24KK3N5biBtYXRjaCAgIHNwZWNNYWNyb05hbWVPdGhlciBjb250YWluZWQgJ1w8XChQQVRDSFx8U09VUkNFXClcZCpcPicKKworInZhbGlkIF9tYWNybyBuYW1lcyBmcm9tIC91c3IvbGliL3JwbS9tYWNyb3MKK3N5biBrZXl3b3JkIHNwZWNNYWNyb05hbWVMb2NhbCBjb250YWluZWQgX2FyY2ggX2JpbmFyeV9wYXlsb2FkIF9iaW5kaXIgX2J1aWxkIF9idWlsZF9hbGlhcyBfYnVpbGRfY3B1IF9idWlsZGRpciBfYnVpbGRfb3MgX2J1aWxkc2hlbGwgX2J1aWxkc3ViZGlyIF9idWlsZF92ZW5kb3IgX2J6aXAyYmluIF9kYXRhZGlyIF9kYnBhdGggX2RicGF0aF9yZWJ1aWxkIF9kZWZhdWx0ZG9jZGlyIF9kb2NkaXIgX2V4Y2x1ZGVkb2NzIF9leGVjX3ByZWZpeCBfZml4Z3JvdXAgX2ZpeG93bmVyIF9maXhwZXJtcyBfZnRwcG9ydCBfZnRwcHJveHkgX2dwZ19wYXRoIF9nemlwYmluIF9ob3N0IF9ob3N0X2FsaWFzIF9ob3N0X2NwdSBfaG9zdF9vcyBfaG9zdF92ZW5kb3IgX2h0dHBwb3J0IF9odHRwcHJveHkgX2luY2x1ZGVkaXIgX2luZm9kaXIgX2luc3RhbGxfbGFuZ3MgX2luc3RhbGxfc2NyaXB0X3BhdGggX2luc3RjaGFuZ2Vsb2cgX2xhbmdwYXR0IF9saWIgX2xpYmRpciBfbGliZXhlY2RpciBfbG9jYWxzdGF0ZWRpciBfbWFuZGlyIF9uZXRzaGFyZWRwYXRoIF9vbGRpbmNsdWRlZGlyIF9vcyBfcGdwYmluIF9wZ3BfcGF0aCBfcHJlZml4IF9wcmVTY3JpcHRFbnZpcm9ubWVudCBfcHJvdmlkZXMgX3JwbWRpciBfcnBtZmlsZW5hbWUgX3NiaW5kaXIgX3NoYXJlZHN0YXRlZGlyIF9zaWduYXR1cmUgX3NvdXJjZWRpciBfc291cmNlX3BheWxvYWQgX3NwZWNkaXIgX3NyY3JwbWRpciBfc3lzY29uZmRpciBfdGFyZ2V0IF90YXJnZXRfYWxpYXMgX3RhcmdldF9jcHUgX3RhcmdldF9vcyBfdGFyZ2V0X3BsYXRmb3JtIF90YXJnZXRfdmVuZG9yIF90aW1lY2hlY2sgX3RtcHBhdGggX3RvcGRpciBfdXNyIF91c3JzcmMgX3ZhciBfdmVuZG9yCisKKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBoZXJlJ3MgaXMgYWxsIHRoZSBzcGVjIHNlY3Rpb25zIGRlZmluaXRpb25zOiBQcmVBbWJsZSwgRGVzY3JpcHRpb24sIFBhY2thZ2UsCisiICAgU2NyaXB0cywgRmlsZXMgYW5kIENoYW5nZWxvZworCisiT25lIGxpbmUgbWFjcm9zIC0gdmFsaWQgaW4gYWxsIFNjcmlwdEFyZWFzCisidGlwOiByZW1lbWJlciBkbyBpbmNsdWRlIG5ldyBpdGVucyBvbiBzcGVjU2NyaXB0QXJlYSdzIHNraXAgc2VjdGlvbgorc3luIHJlZ2lvbiBzcGVjU2VjdGlvbk1hY3JvQXJlYSBvbmVsaW5lIG1hdGNoZ3JvdXA9c3BlY1NlY3Rpb25NYWNybyBzdGFydD0nXiVcKGRlZmluZVx8cGF0Y2hcZCpcfHNldHVwXHxjb25maWd1cmVcfEdOVWNvbmZpZ3VyZVx8ZmluZF9sYW5nXHxtYWtlaW5zdGFsbFwpXD4nIGVuZD0nJCcgY29udGFpbnM9c3BlY0NvbW1hbmRPcHRzLHNwZWNNYWNyb0lkZW50aWZpZXIKK3N5biByZWdpb24gc3BlY1NlY3Rpb25NYWNyb0JyYWNrZXRBcmVhIG9uZWxpbmUgbWF0Y2hncm91cD1zcGVjU2VjdGlvbk1hY3JvIHN0YXJ0PSdeJXtcKGNvbmZpZ3VyZVx8R05VY29uZmlndXJlXHxmaW5kX2xhbmdcfG1ha2VpbnN0YWxsXCl9JyBlbmQ9JyQnIGNvbnRhaW5zPXNwZWNDb21tYW5kT3B0cyxzcGVjTWFjcm9JZGVudGlmaWVyCisKKyIlJSBGaWxlcyBTZWN0aW9uICUlCisiVE9ETyAlY29uZmlnIHZhbGlkIHBhcmFtZXRlcnM6IG1pc3Npbmdva1x8bm9yZXBsYWNlCisiVE9ETyAldmVyaWZ5IHZhbGlkIHBhcmFtZXRlcnM6IFwobm90XClcPSBcKG1kNVx8YXRpbWVcfC4uLlwpCitzeW4gcmVnaW9uIHNwZWNGaWxlc0FyZWEgbWF0Y2hncm91cD1zcGVjU2VjdGlvbiBzdGFydD0nXiVbRmZdW0lpXVtMbF1bRWVdW1NzXVw+JyBza2lwPSclXChhdHRyaWJcfGRlZmF0dHJcfGF0dHJcfGRpclx8Y29uZmlnXHxkb2NkaXJcfGRvY1x8bGFuZ1x8dmVyaWZ5XHxnaG9zdFwpXD4nIGVuZD0nXiVbYS16QS1aXSdtZT1lLTIgY29udGFpbnM9c3BlY0ZpbGVzT3B0cyxzcGVjRmlsZXNEaXJlY3RpdmUsQHNwZWNMaXN0ZWRGaWxlcyxzcGVjQ29tbWVudCxzcGVjQ29tbWFuZFNwZWNpYWwsc3BlY01hY3JvSWRlbnRpZmllcgorInRpcDogcmVtZW1iZXIgdG8gaW5jbHVkZSBuZXcgaXRlbnMgaW4gc3BlY0ZpbGVzQXJlYSBhYm92ZQorc3luIG1hdGNoICBzcGVjRmlsZXNEaXJlY3RpdmUgY29udGFpbmVkICclXChhdHRyaWJcfGRlZmF0dHJcfGF0dHJcfGRpclx8Y29uZmlnXHxkb2NkaXJcfGRvY1x8bGFuZ1x8dmVyaWZ5XHxnaG9zdFwpXD4nCisKKyJ2YWxpZCBvcHRpb25zIGZvciBjZXJ0YWluIHNlY3Rpb24gaGVhZGVycworc3luIG1hdGNoIHNwZWNEZXNjcmlwdGlvbk9wdHMgY29udGFpbmVkICdccy1bbG5dXHMqXGEnbXM9cysxLG1lPWUtMQorc3luIG1hdGNoIHNwZWNQYWNrYWdlT3B0cyAgICAgY29udGFpbmVkICAgICdccy1uXHMqXHcnbXM9cysxLG1lPWUtMQorc3luIG1hdGNoIHNwZWNGaWxlc09wdHMgICAgICAgY29udGFpbmVkICAgICdccy1mXHMqXHcnbXM9cysxLG1lPWUtMQorCisKK3N5biBjYXNlIGlnbm9yZQorCisKKyIlJSBQcmVBbWJsZSBTZWN0aW9uICUlCisiQ29weXJpZ2h0IGFuZCBTZXJpYWwgd2VyZSBkZXByZWNhdGVkIGJ5IExpY2Vuc2UgYW5kIEVwb2NoCitzeW4gcmVnaW9uIHNwZWNQcmVBbWJsZURlcHJlY2F0ZWQgb25lbGluZSBtYXRjaGdyb3VwPXNwZWNFcnJvciBzdGFydD0nXlwoQ29weXJpZ2h0XHxTZXJpYWxcKScgZW5kPSckJyBjb250YWlucz1zcGVjRW1haWwsc3BlY1VSTCxzcGVjVVJMTWFjcm8sc3BlY0xpY2Vuc2Usc3BlY0NvbG9uLHNwZWNWYXJpYWJsZXMsc3BlY1NwZWNpYWxDaGFyLHNwZWNNYWNyb0lkZW50aWZpZXIKK3N5biByZWdpb24gc3BlY1ByZUFtYmxlIG9uZWxpbmUgbWF0Y2hncm91cD1zcGVjQ29tbWFuZCBzdGFydD0nXlwoUHJlcmVxXHxTdW1tYXJ5XHxOYW1lXHxWZXJzaW9uXHxQYWNrYWdlclx8UmVxdWlyZXNcfEljb25cfFVSTFx8U291cmNlXGQqXHxQYXRjaFxkKlx8UHJlZml4XHxQYWNrYWdlclx8R3JvdXBcfExpY2Vuc2VcfFJlbGVhc2VcfEJ1aWxkUm9vdFx8RGlzdHJpYnV0aW9uXHxWZW5kb3JcfFByb3ZpZGVzXHxFeGNsdXNpdmVBcmNoXHxFeGNsdWRlQXJjaFx8RXhjbHVzaXZlT1NcfE9ic29sZXRlc1x8QnVpbGRBcmNoXHxCdWlsZEFyY2hpdGVjdHVyZXNcfEJ1aWxkUmVxdWlyZXNcfEJ1aWxkQ29uZmxpY3RzXHxCdWlsZFByZVJlcVx8Q29uZmxpY3RzXHxBdXRvUmVxdWlyZXNcfEF1dG9SZXFcfEF1dG9SZXFQcm92XHxBdXRvUHJvdlx8RXBvY2hcKScgZW5kPSckJyBjb250YWlucz1zcGVjRW1haWwsc3BlY1VSTCxzcGVjVVJMTWFjcm8sc3BlY0xpY2Vuc2Usc3BlY0NvbG9uLHNwZWNWYXJpYWJsZXMsc3BlY1NwZWNpYWxDaGFyLHNwZWNNYWNyb0lkZW50aWZpZXIKKworIiUlIERlc2NyaXB0aW9uIFNlY3Rpb24gJSUKK3N5biByZWdpb24gc3BlY0Rlc2NyaXB0aW9uQXJlYSBtYXRjaGdyb3VwPXNwZWNTZWN0aW9uIHN0YXJ0PSdeJWRlc2NyaXB0aW9uJyBlbmQ9J14lJ21lPWUtMSBjb250YWlucz1zcGVjRGVzY3JpcHRpb25PcHRzLHNwZWNFbWFpbCxzcGVjVVJMLHNwZWNOdW1iZXIsc3BlY01hY3JvSWRlbnRpZmllcixzcGVjQ29tbWVudAorCisiJSUgUGFja2FnZSBTZWN0aW9uICUlCitzeW4gcmVnaW9uIHNwZWNQYWNrYWdlQXJlYSBtYXRjaGdyb3VwPXNwZWNTZWN0aW9uIHN0YXJ0PSdeJXBhY2thZ2UnIGVuZD0nXiUnbWU9ZS0xIGNvbnRhaW5zPXNwZWNQYWNrYWdlT3B0cyxzcGVjUHJlQW1ibGUsc3BlY0NvbW1lbnQKKworIiUlIFNjcmlwdHMgU2VjdGlvbiAlJQorc3luIHJlZ2lvbiBzcGVjU2NyaXB0QXJlYSBtYXRjaGdyb3VwPXNwZWNTZWN0aW9uIHN0YXJ0PSdeJVwocHJlcFx8YnVpbGRcfGluc3RhbGxcfGNsZWFuXHxwcmVcfHBvc3R1blx8cHJldW5cfHBvc3RcKVw+JyBza2lwPSdeJXtcfF4lXChkZWZpbmVcfHBhdGNoXGQqXHxjb25maWd1cmVcfEdOVWNvbmZpZ3VyZVx8c2V0dXBcfGZpbmRfbGFuZ1x8bWFrZWluc3RhbGxcKVw+JyBlbmQ9J14lJ21lPWUtMSBjb250YWlucz1zcGVjU3BlY2lhbFZhcmlhYmxlcyxzcGVjVmFyaWFibGVzLEBzcGVjQ29tbWFuZHMsc3BlY1ZhcmlhYmxlcyxzaERvLHNoRm9yLHNoQ2FzZUVzYWMsc3BlY05vTnVtYmVySGlsaXRlLHNwZWNDb21tYW5kT3B0cyxzaENvbW1lbnQsc2hJZixzcGVjU3BlY2lhbENoYXIsc3BlY01hY3JvSWRlbnRpZmllcixzcGVjU2VjdGlvbk1hY3JvQXJlYSxzcGVjU2VjdGlvbk1hY3JvQnJhY2tldEFyZWEsc2hPcGVyYXRvcixzaFF1b3RlMSxzaFF1b3RlMgorCisiJSUgQ2hhbmdlbG9nIFNlY3Rpb24gJSUKK3N5biByZWdpb24gc3BlY0NoYW5nZWxvZ0FyZWEgbWF0Y2hncm91cD1zcGVjU2VjdGlvbiBzdGFydD0nXiVjaGFuZ2Vsb2cnIGVuZD0nXiUnbWU9ZS0xIGNvbnRhaW5zPXNwZWNFbWFpbCxzcGVjVVJMLHNwZWNXZWVrZGF5LHNwZWNNb250aCxzcGVjTnVtYmVyLHNwZWNDb21tZW50LHNwZWNMaWNlbnNlCisKKworCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiaGVyZSdzIHRoZSBzaGVsbCBzeW50YXggZm9yIGFsbCB0aGUgU2NyaXB0IFNlY3Rpb25zCisKKworc3luIGNhc2UgbWF0Y2gKKworCisic2gtbGlrZSBjb21tZW50IHN0aWxlLCBvbmx5IHZhbGlkIGluIHNjcmlwdCBwYXJ0CitzeW4gbWF0Y2ggc2hDb21tZW50IGNvbnRhaW5lZCAnIy4qJCcKKworc3luIHJlZ2lvbiBzaFF1b3RlMSBjb250YWluZWQgbWF0Y2hncm91cD1zaFF1b3RlRGVsaW0gc3RhcnQ9KycrIHNraXA9K1xcJysgZW5kPSsnKyBjb250YWlucz1zcGVjTWFjcm9JZGVudGlmaWVyCitzeW4gcmVnaW9uIHNoUXVvdGUyIGNvbnRhaW5lZCBtYXRjaGdyb3VwPXNoUXVvdGVEZWxpbSBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXNwZWNWYXJpYWJsZXMsc3BlY01hY3JvSWRlbnRpZmllcgorCitzeW4gbWF0Y2ggc2hPcGVyYXRvciBjb250YWluZWQgJ1s+PHwhJjtdXHxbIT1dPScKK3N5biByZWdpb24gc2hEbyB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNwZWNCbG9jayBzdGFydD0iXDxkb1w+IiBlbmQ9Ilw8ZG9uZVw+IiBjb250YWlucz1BTExCVVQsc2hGdW5jdGlvbixzaERvRXJyb3Isc2hDYXNlLHNwZWNQcmVBbWJsZSxAc3BlY0xpc3RlZEZpbGVzCisKK3N5biByZWdpb24gc3BlY0lmICBtYXRjaGdyb3VwPXNwZWNCbG9jayBzdGFydD0iJWlmb3NmXHwlaWZvc1x8JWlmbm9zXHwlaWZhcmNoXHwlaWZuYXJjaFx8JWVsc2UiICBlbmQ9JyVlbmRpZicgIGNvbnRhaW5zPUFMTEJVVCwgc3BlY0lmRXJyb3IsIHNoQ2FzZQorCitzeW4gcmVnaW9uICBzaElmIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c3BlY0Jsb2NrIHN0YXJ0PSJcPGlmXD4iIGVuZD0iXDxmaVw+IiBjb250YWlucz1BTExCVVQsc2hGdW5jdGlvbixzaElmRXJyb3Isc2hDYXNlLEBzcGVjTGlzdGVkRmlsZXMKKworc3luIHJlZ2lvbiAgc2hGb3IgIG1hdGNoZ3JvdXA9c3BlY0Jsb2NrIHN0YXJ0PSJcPGZvclw+IiBlbmQ9Ilw8aW5cPiIgY29udGFpbnM9QUxMQlVULHNoRnVuY3Rpb24sc2hJbkVycm9yLHNoQ2FzZSxAc3BlY0xpc3RlZEZpbGVzCisKK3N5biByZWdpb24gc2hDYXNlRXNhYyB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNwZWNCbG9jayBzdGFydD0iXDxjYXNlXD4iIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ilw8aW5cPiJtZT1zLTEgY29udGFpbnM9QUxMQlVULHNoRnVuY3Rpb24sc2hDYXNlRXJyb3IsQHNwZWNMaXN0ZWRGaWxlcyBuZXh0Z3JvdXA9c2hDYXNlRXNhYworc3luIHJlZ2lvbiBzaENhc2VFc2FjIG1hdGNoZ3JvdXA9c3BlY0Jsb2NrIHN0YXJ0PSJcPGluXD4iIGVuZD0iXDxlc2FjXD4iIGNvbnRhaW5zPUFMTEJVVCxzaEZ1bmN0aW9uLHNoQ2FzZUVycm9yLEBzcGVjTGlzdGVkRmlsZXNCaW4KK3N5biByZWdpb24gc2hDYXNlIG1hdGNoZ3JvdXA9c3BlY0Jsb2NrIGNvbnRhaW5lZCBzdGFydD0iKSIgIGVuZD0iOzsiIGNvbnRhaW5zPUFMTEJVVCxzaEZ1bmN0aW9uLHNoQ2FzZUVycm9yLHNoQ2FzZSxAc3BlY0xpc3RlZEZpbGVzCisKK3N5biBzeW5jIG1hdGNoIHNoRG9TeW5jICAgICAgIGdyb3VwaGVyZSAgc2hEbyAgICAgICAiXDxkb1w+Igorc3luIHN5bmMgbWF0Y2ggc2hEb1N5bmMgICAgICAgZ3JvdXB0aGVyZSBzaERvICAgICAgICJcPGRvbmVcPiIKK3N5biBzeW5jIG1hdGNoIHNoSWZTeW5jICAgICAgIGdyb3VwaGVyZSAgc2hJZiAgICAgICAiXDxpZlw+Igorc3luIHN5bmMgbWF0Y2ggc2hJZlN5bmMgICAgICAgZ3JvdXB0aGVyZSBzaElmICAgICAgICJcPGZpXD4iCitzeW4gc3luYyBtYXRjaCBzcGVjSWZTeW5jICAgICBncm91cGhlcmUgIHNwZWNJZiAgICAgIiVpZmFyY2hcfCVpZm9zXHwlaWZub3MiCitzeW4gc3luYyBtYXRjaCBzcGVjSWZTeW5jICAgICBncm91cHRoZXJlIHNwZWNJZiAgICAgIiVlbmRJZiIKK3N5biBzeW5jIG1hdGNoIHNoRm9yU3luYyAgICAgIGdyb3VwaGVyZSAgc2hGb3IgICAgICAiXDxmb3JcPiIKK3N5biBzeW5jIG1hdGNoIHNoRm9yU3luYyAgICAgIGdyb3VwdGhlcmUgc2hGb3IgICAgICAiXDxpblw+Igorc3luIHN5bmMgbWF0Y2ggc2hDYXNlRXNhY1N5bmMgZ3JvdXBoZXJlICBzaENhc2VFc2FjICJcPGNhc2VcPiIKK3N5biBzeW5jIG1hdGNoIHNoQ2FzZUVzYWNTeW5jIGdyb3VwdGhlcmUgc2hDYXNlRXNhYyAiXDxlc2FjXD4iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NwZWNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc3BlY19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICJtYWluIHR5cGVzIGNvbG9yIGRlZmluaXRpb25zCisgIEhpTGluayBzcGVjU2VjdGlvbgkJCVN0cnVjdHVyZQorICBIaUxpbmsgc3BlY1NlY3Rpb25NYWNybwkJTWFjcm8KKyAgSGlMaW5rIHNwZWNXV1dsaW5rCQkJUHJlUHJvYworICBIaUxpbmsgc3BlY09wdHMJCQlPcGVyYXRvcgorCisgICJ5ZXMsIGl0J3MgdWdseSwgYnV0IHdoaXRlIGlzIHNvb28gY29vbAorICBpZiAmYmFja2dyb3VuZCA9PSAiZGFyayIKKyAgICBoaSBkZWYgc3BlY0dsb2JhbE1hY3JvCQljdGVybWZnPXdoaXRlCisgIGVsc2UKKyAgICBIaUxpbmsgc3BlY0dsb2JhbE1hY3JvCQlJZGVudGlmaWVyCisgIGVuZGlmCisKKyAgInNoIGNvbG9ycworICBIaUxpbmsgc2hDb21tZW50CQkJQ29tbWVudAorICBIaUxpbmsgc2hJZgkJCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHNoT3BlcmF0b3IJCQlTcGVjaWFsCisgIEhpTGluayBzaFF1b3RlMQkJCVN0cmluZworICBIaUxpbmsgc2hRdW90ZTIJCQlTdHJpbmcKKyAgSGlMaW5rIHNoUXVvdGVEZWxpbQkJCVN0YXRlbWVudAorCisgICJzcGVjIGNvbG9ycworICBIaUxpbmsgc3BlY0Jsb2NrCQkJRnVuY3Rpb24KKyAgSGlMaW5rIHNwZWNDb2xvbgkJCVNwZWNpYWwKKyAgSGlMaW5rIHNwZWNDb21tYW5kCQkJU3RhdGVtZW50CisgIEhpTGluayBzcGVjQ29tbWFuZE9wdHMJCXNwZWNPcHRzCisgIEhpTGluayBzcGVjQ29tbWFuZFNwZWNpYWwJCVNwZWNpYWwKKyAgSGlMaW5rIHNwZWNDb21tZW50CQkJQ29tbWVudAorICBIaUxpbmsgc3BlY0NvbmZpZ3VyZQkJCXNwZWNDb21tYW5kCisgIEhpTGluayBzcGVjRGF0ZQkJCVN0cmluZworICBIaUxpbmsgc3BlY0Rlc2NyaXB0aW9uT3B0cwkJc3BlY09wdHMKKyAgSGlMaW5rIHNwZWNFbWFpbAkJCXNwZWNXV1dsaW5rCisgIEhpTGluayBzcGVjRXJyb3IJCQlFcnJvcgorICBIaUxpbmsgc3BlY0ZpbGVzRGlyZWN0aXZlCQlzcGVjU2VjdGlvbk1hY3JvCisgIEhpTGluayBzcGVjRmlsZXNPcHRzCQkJc3BlY09wdHMKKyAgSGlMaW5rIHNwZWNMaWNlbnNlCQkJU3RyaW5nCisgIEhpTGluayBzcGVjTWFjcm9OYW1lTG9jYWwJCXNwZWNHbG9iYWxNYWNybworICBIaUxpbmsgc3BlY01hY3JvTmFtZU90aGVyCQlzcGVjR2xvYmFsTWFjcm8KKyAgSGlMaW5rIHNwZWNNYW5wYWdlRmlsZQkJTk9ORQorICBIaUxpbmsgc3BlY01vbnRoCQkJc3BlY0RhdGUKKyAgSGlMaW5rIHNwZWNOb051bWJlckhpbGl0ZQkJTk9ORQorICBIaUxpbmsgc3BlY051bWJlcgkJCU51bWJlcgorICBIaUxpbmsgc3BlY1BhY2thZ2VPcHRzCQlzcGVjT3B0cworICBIaUxpbmsgc3BlY1BlcmNlbnQJCQlTcGVjaWFsCisgIEhpTGluayBzcGVjU3BlY2lhbENoYXIJCVNwZWNpYWwKKyAgSGlMaW5rIHNwZWNTcGVjaWFsVmFyaWFibGVzCQlzcGVjR2xvYmFsTWFjcm8KKyAgSGlMaW5rIHNwZWNTcGVjaWFsVmFyaWFibGVzTmFtZXMJc3BlY0dsb2JhbE1hY3JvCisgIEhpTGluayBzcGVjVGFyQ29tbWFuZAkJCXNwZWNDb21tYW5kCisgIEhpTGluayBzcGVjVVJMCQkJc3BlY1dXV2xpbmsKKyAgSGlMaW5rIHNwZWNVUkxNYWNybwkJCXNwZWNXV1dsaW5rCisgIEhpTGluayBzcGVjVmFyaWFibGVzCQkJSWRlbnRpZmllcgorICBIaUxpbmsgc3BlY1dlZWtkYXkJCQlzcGVjRGF0ZQorICBIaUxpbmsgc3BlY0xpc3RlZEZpbGVzQmluCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHNwZWNMaXN0ZWRGaWxlc0RvYwkJU3RhdGVtZW50CisgIEhpTGluayBzcGVjTGlzdGVkRmlsZXNFdGMJCVN0YXRlbWVudAorICBIaUxpbmsgc3BlY0xpc3RlZEZpbGVzTGliCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHNwZWNMaXN0ZWRGaWxlc1ByZWZpeAkJU3RhdGVtZW50CisgIEhpTGluayBzcGVjTGlzdGVkRmlsZXNTaGFyZQkJU3RhdGVtZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNwZWMiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zcGVjbWFuLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NwZWNtYW4udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmYjc3YTIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zcGVjbWFuLnZpbQpAQCAtMCwwICsxLDE4MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVNQRUNNQU4gRS1MQU5HVUFHRQorIiBNYWludGFpbmVyOglPciBGcmV1bmQgPG9yQG1vYmlsaWFuLmNvbSA7b21mQGdteC5jby51azsgT3JNZWlyQHlhaG9vLmNvbT4KKyIgTGFzdCBVcGRhdGU6IFdlZCBPY3QgMjQgMjAwMQorCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisifCBJZiBhbnlvbmUgZm91bmQgYW4gZXJyb3Igb3IgZml4IHRoZSBwYXJlbnRoZXNpcyBwYXJ0ICB8CisifCBJIHdpbGwgYmUgaGFwcHkgdG8gaGVhciBhYm91dCBpdAkJCSB8CisifCBUaGFua3MgT3IuCQkJCQkJIHwKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGtleXdvcmQgIHNwZWNtYW5Ub2RvCWNvbnRhaW5lZCBUT0RPIHRvZG8gVG9EbyBGSVhNRSBYWFgKKworc3luIGtleXdvcmQgc3BlY21hblN0YXRlbWVudCAgIHZhciBpbnN0YW5jZSBvbiBjb21wdXRlIHN0YXJ0IGV2ZW50IGV4cGVjdCBjaGVjayB0aGF0IHJvdXRpbmUKK3N5biBrZXl3b3JkIHNwZWNtYW5TdGF0ZW1lbnQgICBzcGVjbWFuIGlzIGFsc28gZmlyc3Qgb25seSB3aXRoIGxpa2UKK3N5biBrZXl3b3JkIHNwZWNtYW5TdGF0ZW1lbnQgICBsaXN0IG9mIGFsbCByYWRpeCBoZXggZGVjIGJpbiBpZ25vcmUgaWxsZWdhbAorc3luIGtleXdvcmQgc3BlY21hblN0YXRlbWVudCAgIHRyYWNlYWJsZSB1bnRyYWNlYWJsZQorc3luIGtleXdvcmQgc3BlY21hblN0YXRlbWVudCAgIGNvdmVyIHVzaW5nIGNvdW50X29ubHkgdHJhY2Vfb25seSBhdF9sZWFzdCB0cmFuc2l0aW9uIGl0ZW0gcmFuZ2VzCitzeW4ga2V5d29yZCBzcGVjbWFuU3RhdGVtZW50ICAgY3Jvc3MgdGV4dCBjYWxsIHRhc2sgd2l0aGluCisKK3N5biBrZXl3b3JkIHNwZWNtYW5NZXRob2QgICAgICBpbml0aWFsaXplIG5vbl90ZXJtaW5hbCB0ZXN0Z3JvdXAgZGVsYXllZCBleGl0IGZpbmlzaAorc3luIGtleXdvcmQgc3BlY21hbk1ldGhvZCAgICAgIG91dCBhcHBlbmQgcHJpbnQgb3V0ZiBhcHBlbmRmCitzeW4ga2V5d29yZCBzcGVjbWFuTWV0aG9kICAgICAgcG9zdF9nZW5lcmF0ZSBwcmVfZ2VuZXJhdGUgc2V0dXBfdGVzdCBmaW5hbGl6ZV90ZXN0IGV4dHJhY3RfdGVzdAorc3luIGtleXdvcmQgc3BlY21hbk1ldGhvZCAgICAgIGluaXQgcnVuIGNvcHkgYXNfYSBzZXRfY29uZmlnIGR1dF9lcnJvciBhZGQgY2xlYXIgbG9jayBxdWl0CitzeW4ga2V5d29yZCBzcGVjbWFuTWV0aG9kICAgICAgbG9jayB1bmxvY2sgcmVsZWFzZSBzd2FwIHF1aXQgdG9fc3RyaW5nIHZhbHVlIHN0b3BfcnVuCitzeW4ga2V5d29yZCBzcGVjbWFuTWV0aG9kICAgICAgY3JjXzggY3JjXzMyIGNyY18zMl9mbGlwIGdldF9jb25maWcgYWRkMCBhbGxfaW5kaWNlcyBhbmRfYWxsCitzeW4ga2V5d29yZCBzcGVjbWFuTWV0aG9kICAgICAgYXBwbHkgYXZlcmFnZSBjb3VudCBkZWxldGUgZXhpc3RzIGZpcnN0X2luZGV4IGdldF9pbmRpY2VzCitzeW4ga2V5d29yZCBzcGVjbWFuTWV0aG9kICAgICAgaGFzIGluc2VydCBpc19hX3Blcm11dGF0aW9uIGlzX2VtcHR5IGtleSBrZXlfZXhpc3RzIGtleV9pbmRleAorc3luIGtleXdvcmQgc3BlY21hbk1ldGhvZCAgICAgIGxhc3QgbGFzdF9pbmRleCBtYXggbWF4X2luZGV4IG1heF92YWx1ZSBtaW4gbWluX2luZGV4CitzeW4ga2V5d29yZCBzcGVjbWFuTWV0aG9kICAgICAgbWluX3ZhbHVlIG9yX2FsbCBwb3AgcG9wMCBwdXNoIHB1c2gwIHByb2R1Y3QgcmVzaXplIHJldmVyc2UKK3N5biBrZXl3b3JkIHNwZWNtYW5NZXRob2QgICAgICBzb3J0IHNwbGl0IHN1bSB0b3AgdG9wMCB1bmlxdWUgY2xlYXIgaXNfYWxsX2l0ZXJhdGlvbnMKK3N5biBrZXl3b3JkIHNwZWNtYW5NZXRob2QgICAgICBnZXRfZW5jbG9zaW5nX3VuaXQgaGRsX3BhdGggZXhlYyBkZWVwX2NvbXBhcmUgZGVlcF9jb21wYXJlX3BoeXNpY2FsCitzeW4ga2V5d29yZCBzcGVjbWFuTWV0aG9kICAgICAgcGFjayB1bnBhY2sgd2FybmluZyBlcnJvciBmYXRhbAorc3luIG1hdGNoICAgc3BlY21hbk1ldGhvZCAgICAgICJzaXplKCkiCitzeW4ga2V5d29yZCBzcGVjbWFuUGFja2luZyAgICAgcGFja2luZyBsb3cgaGlnaAorc3luIGtleXdvcmQgc3BlY21hblR5cGUgICAgICAgIGxvY2tlciBhZGRyZXNzCitzeW4ga2V5d29yZCBzcGVjbWFuVHlwZSAgICAgICAgYm9keSBjb2RlIHZlYyBjaGFycworc3luIGtleXdvcmQgc3BlY21hblR5cGUgICAgICAgIGludGVnZXIgcmVhbCBib29sIGludCBsb25nIHVpbnQgYnl0ZSBiaXRzIGJpdCB0aW1lIHN0cmluZworc3luIGtleXdvcmQgc3BlY21hblR5cGUgICAgICAgIGJ5dGVfYXJyYXkgZXh0ZXJuYWxfcG9pbnRlcgorc3luIGtleXdvcmQgc3BlY21hbkJvb2xlYW4gICAgIFRSVUUgRkFMU0UKK3N5biBrZXl3b3JkIHNwZWNtYW5QcmVDb25kaXQgICAjaWZkZWYgI2lmbmRlZiAjZWxzZQorCitzeW4ga2V5d29yZCBzcGVjbWFuQ29uZGl0aW9uYWwgY2hvb3NlIG1hdGNoZXMKK3N5biBrZXl3b3JkIHNwZWNtYW5Db25kaXRpb25hbCBpZiB0aGVuIGVsc2Ugd2hlbiB0cnkKKworCisKK3N5biBrZXl3b3JkIHNwZWNtYW5MYWJlbCAgY2FzZSBjYXNleCBjYXNleiBkZWZhdWx0CisKK3N5biBrZXl3b3JkIHNwZWNtYW5Mb2dpY2FsICAgICBhbmQgb3Igbm90IHhvcgorCitzeW4ga2V5d29yZCBzcGVjbWFuUmVwZWF0ICAgICAgdW50aWwgcmVwZWF0IHdoaWxlIGZvciBmcm9tIHRvIHN0ZXAgZWFjaCBkbyBicmVhayBjb250aW51ZQorc3luIGtleXdvcmQgc3BlY21hblJlcGVhdCAgICAgIGJlZm9yZSBuZXh0IHNlcXVlbmNlIGFsd2F5cyAta2luZCBuZXR3b3JrCitzeW4ga2V5d29yZCBzcGVjbWFuUmVwZWF0ICAgICAgaW5kZXggaXQgbWUgaW4gbmV3IHJldHVybiByZXN1bHQgc2VsZWN0CisKK3N5biBrZXl3b3JkIHNwZWNtYW5UZW1wb3JhbCAgICBjeWNsZSBzYW1wbGUgZXZlbnRzIGZvcmV2ZXIKK3N5biBrZXl3b3JkIHNwZWNtYW5UZW1wb3JhbCAgICB3YWl0ICBjaGFuZ2UgIG5lZ2VkZ2UgcmlzZSBmYWxsIGRlbGF5IHN5bmMgc2ltIHRydWUgZGV0YWNoIGV2ZW50dWFsbHkgZW1pdAorCitzeW4ga2V5d29yZCBzcGVjbWFuQ29uc3RhbnQgICAgTUFYX0lOVCBNSU5fSU5UIE5VTEwgVU5ERUYKKworc3luIGtleXdvcmQgc3BlY21hbkRlZmluZSAgICAgICBkZWZpbmUgYXMgY29tcHV0ZWQgdHlwZSBleHRlbmQKK3N5biBrZXl3b3JkIHNwZWNtYW5EZWZpbmUgICAgICAgdmVyaWxvZyB2aGRsIHZhcmlhYmxlIGdsb2JhbCBzeXMKK3N5biBrZXl3b3JkIHNwZWNtYW5TdHJ1Y3R1cmUgICAgc3RydWN0IHVuaXQKK3N5biBrZXl3b3JkIHNwZWNtYW5JbmNsdWRlICAgICBpbXBvcnQKK3N5biBrZXl3b3JkIHNwZWNtYW5Db25zdHJhaW50ICBnZW4ga2VlcCBrZWVwaW5nIHNvZnQJYmVmb3JlCisKK3N5biBrZXl3b3JkIHNwZWNtYW5TcGVjaWFsICAgICB1bnR5cGVkIHN5bXRhYiBFQ0hPIERPRUNITworc3luIGtleXdvcmQgc3BlY21hbkZpbGUgICAgICAgIGZpbGVzIGxvYWQgbW9kdWxlIG50diBzb3VyY2VfcmVmIHNjcmlwdCByZWFkIHdyaXRlCitzeW4ga2V5d29yZCBzcGVjbWFuRlNNCSAgICAgICBpbml0aWFsIGlkbGUgb3RoZXJzIHBvc2VkZ2UgY2xvY2sgY3ljbGVzCisKKworc3luIG1hdGNoICAgc3BlY21hbk9wZXJhdG9yICAgICJbJnx+PjwhKSgqJUArLz0/Ojt9eywuXF5cLVxbXF1dIgorc3luIG1hdGNoICAgc3BlY21hbk9wZXJhdG9yICAgICIrPSIKK3N5biBtYXRjaCAgIHNwZWNtYW5PcGVyYXRvciAgICAiLT0iCitzeW4gbWF0Y2ggICBzcGVjbWFuT3BlcmF0b3IgICAgIio9IgorCitzeW4gbWF0Y2ggICBzcGVjbWFuQ29tbWVudCAgICAgIi8vLioiICBjb250YWlucz1zcGVjbWFuVG9kbworc3luIG1hdGNoICAgc3BlY21hbkNvbW1lbnQgICAgICItLS4qIgorc3luIHJlZ2lvbiAgc3BlY21hbkNvbW1lbnQgICAgIHN0YXJ0PSJeJz4iaHM9cysyIGVuZD0iXjwnImhlPWUtMgorCitzeW4gbWF0Y2ggICBzcGVjbWFuSERMCSAgICAgICAiJ1tgLmEtekEtWjAtOV9AXFtcXV1cK1w+JyIKKworCitzeW4gbWF0Y2ggICBzcGVjbWFuQ29tcGFyZSAgICAiPT0iCitzeW4gbWF0Y2ggICBzcGVjbWFuQ29tcGFyZSAgICAiIT09PSIKK3N5biBtYXRjaCAgIHNwZWNtYW5Db21wYXJlICAgICI9PT0iCitzeW4gbWF0Y2ggICBzcGVjbWFuQ29tcGFyZSAgICAiIT0iCitzeW4gbWF0Y2ggICBzcGVjbWFuQ29tcGFyZSAgICAiPj0iCitzeW4gbWF0Y2ggICBzcGVjbWFuQ29tcGFyZSAgICAiPD0iCitzeW4gbWF0Y2ggICBzcGVjbWFuTnVtYmVyICJbMC05XTpbMC05XSIKK3N5biBtYXRjaCAgIHNwZWNtYW5OdW1iZXIgIlwoXDxcZFwrXHxcKSdbYkJdXHMqWzAtMV94WHpaP11cK1w+Igorc3luIG1hdGNoICAgc3BlY21hbk51bWJlciAiMFtiQl1ccypbMC0xX3hYelo/XVwrXD4iCitzeW4gbWF0Y2ggICBzcGVjbWFuTnVtYmVyICJcKFw8XGRcK1x8XCknW29PXVxzKlswLTdfeFh6Wj9dXCtcPiIKK3N5biBtYXRjaCAgIHNwZWNtYW5OdW1iZXIgIjBbb09dXHMqWzAtOWEtZkEtRl94WHpaP11cK1w+Igorc3luIG1hdGNoICAgc3BlY21hbk51bWJlciAiXChcPFxkXCtcfFwpJ1tkRF1ccypbMC05X3hYelo/XVwrXD4iCitzeW4gbWF0Y2ggICBzcGVjbWFuTnVtYmVyICJcKFw8XGRcK1x8XCknW2hIXVxzKlswLTlhLWZBLUZfeFh6Wj9dXCtcPiIKK3N5biBtYXRjaCAgIHNwZWNtYW5OdW1iZXIgIjBbeFhdXHMqWzAtOWEtZkEtRl94WHpaP11cK1w+Igorc3luIG1hdGNoICAgc3BlY21hbk51bWJlciAiXDxbKy1dXD1bMC05X11cK1woXC5bMC05X10qXHxcKVwoZVswLTlfXSpcfFwpXD4iCisKK3N5biByZWdpb24gIHNwZWNtYW5TdHJpbmcgc3RhcnQ9KyIrICBlbmQ9KyIrCisKKworCisiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIiBJIHRvb2sgdGhpcyBzZWN0aW9uIGZyb20gYy52aW0gYnV0IEkgZGlkbnQgc3VjY2VkZWQgdG8gbWFrZSBpdCB3b3JrCisiIEFOWSBvbmUgd2hvIGRhcmUganVtcGluZyB0byB0aGlzIGRlZXAgd2F0dGVyIGlzIG1vcmUgdGhhbiB3ZWxvY29tZSEKKyIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisiImNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXMgYW5kIGJyYWNrZXRzCisKKyJzeW4gY2x1c3RlciAgICAgc3BlY21hblBhcmVuR3JvdXAgICAgIGNvbnRhaW5zPXNwZWNtYW5QYXJlbkVycm9yCisiIiAsc3BlY21hbk51bWJlcmEsc3BlY21hbkNvbW1lbnQKKyJpZiBleGlzdHMoInNwZWNtYW5fbm9fYnJhY2tldF9lcnJvciIpCisic3luIHJlZ2lvbiAgICBzcGVjbWFuUGFyZW4JICAgICB0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsQHNwZWNtYW5QYXJlbkdyb3VwCisic3luIG1hdGNoICAgICBzcGVjbWFuUGFyZW5FcnJvciAgICAgIikiCisic3luIG1hdGNoICAgICBzcGVjbWFuRXJySW5QYXJlbiAgICAgY29udGFpbmVkICJbe31dIgorImVsc2UKKyJzeW4gcmVnaW9uICAgIHNwZWNtYW5QYXJlbgkgICAgIHRyYW5zcGFyZW50IHN0YXJ0PScoJyBlbmQ9JyknIGNvbnRhaW5zPUFMTEJVVCxAc3BlY21hblBhcmVuR3JvdXAsc3BlY21hbkVyckluQnJhY2tldAorInN5biBtYXRjaCAgICAgc3BlY21hblBhcmVuRXJyb3IgICAgICJbXF0pXSIKKyJzeW4gbWF0Y2ggICAgIHNwZWNtYW5FcnJJblBhcmVuICAgICBjb250YWluZWQgIltcXXt9XSIKKyJzeW4gcmVnaW9uICAgIHNwZWNtYW5CcmFja2V0CSAgICAgdHJhbnNwYXJlbnQgc3RhcnQ9J1xbJyBlbmQ9J10nIGNvbnRhaW5zPUFMTEJVVCxAc3BlY21hblBhcmVuR3JvdXAsc3BlY21hbkVyckluUGFyZW4KKyJzeW4gbWF0Y2ggICAgIHNwZWNtYW5FcnJJbkJyYWNrZXQgICBjb250YWluZWQgIlspO3t9XSIKKyJlbmRpZgorIgorCisiTW9kaWZ5IHRoZSBmb2xsb3dpbmcgYXMgbmVlZGVkLiAgVGhlIHRyYWRlLW9mZiBpcyBwZXJmb3JtYW5jZSB2ZXJzdXMKKyJmdW5jdGlvbmFsaXR5LgorCitzeW4gc3luYyBsaW5lcz01MAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zcGVjbWFuX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NwZWNtYW5fc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorCUhpTGluawlzcGVjbWFuQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKwlIaUxpbmsJc3BlY21hbkNvbnN0cmFpbnQJQ29uZGl0aW9uYWwKKwlIaUxpbmsJc3BlY21hblJlcGVhdAkJUmVwZWF0CisJSGlMaW5rCXNwZWNtYW5TdHJpbmcJCVN0cmluZworCUhpTGluawlzcGVjbWFuQ29tbWVudAkJQ29tbWVudAorCUhpTGluawlzcGVjbWFuQ29uc3RhbnQJCU1hY3JvCisJSGlMaW5rCXNwZWNtYW5OdW1iZXIJCU51bWJlcgorCUhpTGluawlzcGVjbWFuQ29tcGFyZQkJT3BlcmF0b3IKKwlIaUxpbmsJc3BlY21hbk9wZXJhdG9yCQlPcGVyYXRvcgorCUhpTGluawlzcGVjbWFuTG9naWNhbAkJT3BlcmF0b3IKKwlIaUxpbmsJc3BlY21hblN0YXRlbWVudAlTdGF0ZW1lbnQKKwlIaUxpbmsJc3BlY21hbkhETAkJU3BlY2lhbENoYXIKKwlIaUxpbmsJc3BlY21hbk1ldGhvZAkJRnVuY3Rpb24KKwlIaUxpbmsJc3BlY21hbkluY2x1ZGUJCUluY2x1ZGUKKwlIaUxpbmsJc3BlY21hblN0cnVjdHVyZQlTdHJ1Y3R1cmUKKwlIaUxpbmsJc3BlY21hbkJvb2xlYW4JCUJvb2xlYW4KKwlIaUxpbmsJc3BlY21hbkZTTQkJTGFiZWwKKwlIaUxpbmsJc3BlY21hblNwZWNpYWwJCVNwZWNpYWwKKwlIaUxpbmsJc3BlY21hblR5cGUJCVR5cGUKKwlIaUxpbmsJc3BlY21hblRlbXBvcmFsCQlUeXBlCisJSGlMaW5rCXNwZWNtYW5GaWxlCQlJbmNsdWRlCisJSGlMaW5rCXNwZWNtYW5QcmVDb25kaXQJSW5jbHVkZQorCUhpTGluawlzcGVjbWFuRGVmaW5lCQlUeXBlZGVmCisJSGlMaW5rCXNwZWNtYW5MYWJlbAkJTGFiZWwKKwlIaUxpbmsJc3BlY21hblBhY2tpbmcJCWtleXdvcmQKKwlIaUxpbmsJc3BlY21hblRvZG8JCVRvZG8KKwlIaUxpbmsJc3BlY21hblBhcmVuRXJyb3IJRXJyb3IKKwlIaUxpbmsJc3BlY21hbkVyckluUGFyZW4JRXJyb3IKKwlIaUxpbmsJc3BlY21hbkVyckluQnJhY2tldAlFcnJvcgorCWRlbGNvbW1hbmQJSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzcGVjbWFuIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3BpY2UudmltIGIvcnVudGltZS9zeW50YXgvc3BpY2UudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlMTQzM2UKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zcGljZS52aW0KQEAgLTAsMCArMSw4NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVNwaWNlIGNpcmN1aXQgc2ltdWxhdG9yIGlucHV0IG5ldGxpc3QKKyIgTWFpbnRhaW5lcjoJTm9hbSBIYWxldnkgPE5vYW0uSGFsZXZ5Lm1vdG9yb2xhLmNvbT4KKyIgTGFzdCBDaGFuZ2U6CTEyLzA4Lzk5CisiCisiIFRoaXMgaXMgYmFzZWQgb24gc2gudmltIGJ5IExlbm5hcnQgU2NodWx0egorIiBidXQgZ3JlYXRseSBzaW1wbGlmaWVkCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBzcGljZSBzeW50YXggaXMgY2FzZSBJTnNlbnNpdGl2ZQorc3luIGNhc2UgaWdub3JlCisKK3N5biBrZXl3b3JkCXNwaWNlVG9kbwljb250YWluZWQgVE9ETworCitzeW4gbWF0Y2ggc3BpY2VDb21tZW50ICAiXiBcPVwqLiokIgorc3luIG1hdGNoIHNwaWNlQ29tbWVudCAgIlwkLiokIgorCisiIE51bWJlcnMsIGFsbCB3aXRoIGVuZ2luZWVyaW5nIHN1ZmZpeGVzIGFuZCBvcHRpb25hbCB1bml0cworIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoIHNwaWNlTnVtYmVyICAiXDxbMC05XVwrXC5bMC05XSpcKGVbLStdXD1bMC05XVwrXClcPVwobWVnXD1cfFthZnBudW1rZ11cKVw9IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKK3N5biBtYXRjaCBzcGljZU51bWJlciAgIlwuWzAtOV1cK1woZVstK11cPVswLTldXCtcKVw9XChtZWdcPVx8W2FmcG51bWtnXVwpXD0iCisiaW50ZWdlciBudW1iZXIgd2l0aCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoIHNwaWNlTnVtYmVyICAiXDxbMC05XVwrXChlWy0rXVw9WzAtOV1cK1wpXD1cKG1lZ1w9XHxbYWZwbnVta2ddXClcPSIKKworIiBNaXNjCisiPT09PT0KK3N5biBtYXRjaCAgIHNwaWNlV3JhcExpbmVPcGVyYXRvciAgICAgICAiXFwkIgorc3luIG1hdGNoICAgc3BpY2VXcmFwTGluZU9wZXJhdG9yICAgICAgICJeKyIKKworc3luIG1hdGNoICAgc3BpY2VTdGF0ZW1lbnQgICAgICAiXiBcPVwuXElcKyIKKworIiBNYXRjaGluZyBwYWlycyBvZiBwYXJlbnRoZXNlcworIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorc3luIHJlZ2lvbiAgc3BpY2VQYXJlbiB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNwaWNlT3BlcmF0b3Igc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULHNwaWNlUGFyZW5FcnJvcgorc3luIHJlZ2lvbiAgc3BpY2VTaW5nbGVxdW90ZSBtYXRjaGdyb3VwPXNwaWNlT3BlcmF0b3Igc3RhcnQ9KycrIGVuZD0rJysKKworIiBFcnJvcnMKKyI9PT09PT09CitzeW4gbWF0Y2ggc3BpY2VQYXJlbkVycm9yICIpIgorCisiIFN5bmNzCisiID09PT09CitzeW4gc3luYyBtaW5saW5lcz01MAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zcGljZV9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zcGljZV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzcGljZVRvZG8JCVRvZG8KKyAgSGlMaW5rIHNwaWNlV3JhcExpbmVPcGVyYXRvcglzcGljZU9wZXJhdG9yCisgIEhpTGluayBzcGljZVNpbmdsZXF1b3RlCXNwaWNlRXhwcgorICBIaUxpbmsgc3BpY2VFeHByCQlGdW5jdGlvbgorICBIaUxpbmsgc3BpY2VQYXJlbkVycm9yCUVycm9yCisgIEhpTGluayBzcGljZVN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayBzcGljZU51bWJlcgkJTnVtYmVyCisgIEhpTGluayBzcGljZUNvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHNwaWNlT3BlcmF0b3IJCU9wZXJhdG9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNwaWNlIgorCisiIGluc2VydCB0aGUgZm9sbG93aW5nIHRvICRWSU0vc3ludGF4L3NjcmlwdHMudmltCisiIHRvIGF1dG9kZXRlY3QgSFNwaWNlIG5ldGxpc3RzIGFuZCB0ZXh0IGxpc3Rpbmcgb3V0cHV0OgorIgorIiAiIFNwaWNlIG5ldGxpc3RzIGFuZCB0ZXh0IGxpc3RpbmdzCisiIGVsc2VpZiBnZXRsaW5lKDEpID1+ICdzcGljZVw+JyB8fCBnZXRsaW5lKCIkIikgPX4gJ15cLmVuZCcKKyIgICBzbyA8c2ZpbGU+OnA6aC9zcGljZS52aW0KKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NwbGludC52aW0gYi9ydW50aW1lL3N5bnRheC9zcGxpbnQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMjgzODAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zcGxpbnQudmltCkBAIC0wLDAgKzEsMjYwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJc3BsaW50IChDIHdpdGggbGNsaW50L3NwbGludCBBbm5vdGF0aW9ucykKKyIgTWFpbnRhaW5lcjoJUmFsZiBXaWxkZW5odWVzIDxSYWxmLldpbGRlbmh1ZXNAZ214LmRlPgorIiBTcGxpbnQgSG9tZToJaHR0cDovL3d3dy5zcGxpbnQub3JnLworIiBMYXN0IENoYW5nZToJJERhdGUkCisiICRSZXZpc2lvbiQKKworIiBOb3RlOgkJU3BsaW50IGFubm90YXRlZCBmaWxlcyBhcmUgbm90IGRldGVjdGVkIGJ5IGRlZmF1bHQuCisiCQlJZiB5b3Ugd2FudCB0byB1c2UgdGhpcyBmaWxlIGZvciBoaWdobGlnaHRpbmcgQyBjb2RlLAorIgkJcGxlYXNlIG1ha2Ugc3VyZSBzcGxpbnQudmltIGlzIHNvdXJjZWQgaW5zdGVhZCBvZiBjLnZpbSwKKyIJCWZvciBleGFtcGxlIGJ5IHB1dHRpbmcKKyIJCQkvKiB2aW06IHNldCBmaWxldHlwZT1zcGxpbnQgOiAqLworIgkJYXQgdGhlIGVuZCBvZiB5b3VyIGNvZGUgb3Igc29tZXRoaW5nIGxpa2UKKyIJCQlhdSEgQnVmUmVhZCxCdWZOZXdGaWxlICouYwlzZXRmaWxldHlwZSBzcGxpbnQKKyIJCWluIHlvdXIgdmltcmMgZmlsZSBvciBmaWxldHlwZS52aW0KKworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgUmVhZCB0aGUgQyBzeW50YXggdG8gc3RhcnQgd2l0aAoraWYgdmVyc2lvbiA8IDYwMAorICBzbyA8c2ZpbGU+OnA6aC9jLnZpbQorZWxzZQorICBydW50aW1lISBzeW50YXgvYy52aW0KK2VuZGlmCisKKworIiBGSVhNRTogdXNlcyBhbmQgY2hhbmdlcyBzZXZlcmFsIGNsdXN0ZXJzIGRlZmluZWQgaW4gYy52aW0KKyIJc28gd2F0Y2ggZm9yIGNoYW5nZXMgdGhlcmUKKworIiBUT0RPOiBtYWtlIGEgbGl0dGxlIG1vcmUgZ3JhbW1hciBleHBsaWNpdAorIgltYXRjaCBmbGFncyB3aXRoIGh5cGhlbiBhbmQgdW5kZXJzY29yZSBub3RhdGlvbgorIgltYXRjaCBmbGFnIGV4cGFuZGVkIGZvcm1zCisiCWFjY2VwdCBvdGhlciBjb21tZW50IGNoYXIgdGhhbiBACisKK3N5biBjYXNlIG1hdGNoCisiIHNwbGludCBhbm5vdGF0aW9ucyAodGFrZW4gZnJvbSAnc3BsaW50IC1oZWxwIGFubm90YXRpb25zJykKK3N5biBtYXRjaCAgIHNwbGludFN0YXRlQW5ub3QJY29udGFpbmVkICJcKHByZVx8cG9zdFwpOlwob25seVx8c2hhcmVkXHxvd25lZFx8ZGVwZW5kZW50XHxvYnNlcnZlclx8ZXhwb3NlZFx8aXNudWxsXHxub3RudWxsXCkiCitzeW4ga2V5d29yZCBzcGxpbnRTcGVjaWFsQW5ub3QgIGNvbnRhaW5lZCBzcGVjaWFsCitzeW4ga2V5d29yZCBzcGxpbnRTcGVjVGFnCWNvbnRhaW5lZCB1c2VzIHNldHMgZGVmaW5lcyBhbGxvY2F0ZWQgcmVsZWFzZXMKK3N5biBrZXl3b3JkIHNwbGludE1vZGlmaWVzCWNvbnRhaW5lZCBtb2RpZmllcworc3luIGtleXdvcmQgc3BsaW50UmVxdWlyZXMJY29udGFpbmVkIHJlcXVpcmVzIGVuc3VyZXMKK3N5biBrZXl3b3JkIHNwbGludEdsb2JhbHMJY29udGFpbmVkIGdsb2JhbHMKK3N5biBrZXl3b3JkIHNwbGludEdsb2JpdGVtCWNvbnRhaW5lZCBpbnRlcm5hbFN0YXRlIGZpbGVTeXN0ZW0KK3N5biBrZXl3b3JkIHNwbGludEdsb2Jhbm5vdAljb250YWluZWQgdW5kZWYga2lsbGVkCitzeW4ga2V5d29yZCBzcGxpbnRXYXJuaW5nCWNvbnRhaW5lZCB3YXJuCisKK3N5biBrZXl3b3JkIHNwbGludE1vZGl0ZW0JY29udGFpbmVkIGludGVybmFsU3RhdGUgZmlsZVN5c3RlbSBub3RoaW5nCitzeW4ga2V5d29yZCBzcGxpbnRSZXFpdGVtCWNvbnRhaW5lZCBNYXhTZXQgTWF4UmVhZCByZXN1bHQKK3N5biBrZXl3b3JkIHNwbGludEl0ZXIJCWNvbnRhaW5lZCBpdGVyIHlpZWxkCitzeW4ga2V5d29yZCBzcGxpbnRDb25zdAkJY29udGFpbmVkIGNvbnN0YW50CitzeW4ga2V5d29yZCBzcGxpbnRBbHQJCWNvbnRhaW5lZCBhbHQKKworc3luIGtleXdvcmQgc3BsaW50VHlwZQkJY29udGFpbmVkIGFic3RyYWN0IGNvbmNyZXRlIG11dGFibGUgaW1tdXRhYmxlIHJlZmNvdW50ZWQgbnVtYWJzdHJhY3QKK3N5biBrZXl3b3JkIHNwbGludEdsb2JhbFR5cGUJY29udGFpbmVkIHVuY2hlY2tlZCBjaGVja21vZCBjaGVja2VkIGNoZWNrZWRzdHJpY3QKK3N5biBrZXl3b3JkIHNwbGludE1lbU1nbQljb250YWluZWQgZGVwZW5kZW50IGtlZXAga2lsbHJlZiBvbmx5IG93bmVkIHNoYXJlZCB0ZW1wCitzeW4ga2V5d29yZCBzcGxpbnRBbGlhcwkJY29udGFpbmVkIHVuaXF1ZSByZXR1cm5lZAorc3luIGtleXdvcmQgc3BsaW50RXhwb3N1cmUJY29udGFpbmVkIG9ic2VydmVyIGV4cG9zZWQKK3N5biBrZXl3b3JkIHNwbGludERlZlN0YXRlCWNvbnRhaW5lZCBvdXQgaW4gcGFydGlhbCByZWxkZWYKK3N5biBrZXl3b3JkIHNwbGludEdsb2JTdGF0ZQljb250YWluZWQgdW5kZWYga2lsbGVkCitzeW4ga2V5d29yZCBzcGxpbnROdWxsU3RhdGUJY29udGFpbmVkIG51bGwgbm90bnVsbCByZWxudWxsCitzeW4ga2V5d29yZCBzcGxpbnROdWxsUHJlZAljb250YWluZWQgdHJ1ZW51bGwgZmFsc2VudWxsIG51bGx3aGVudHJ1ZSBmYWxzZXdoZW5udWxsCitzeW4ga2V5d29yZCBzcGxpbnRFeGl0CQljb250YWluZWQgZXhpdHMgbWF5ZXhpdCB0cnVlZXhpdCBmYWxzZWV4aXQgbmV2ZXJleGl0CitzeW4ga2V5d29yZCBzcGxpbnRFeGVjCQljb250YWluZWQgbm9yZXR1cm4gbWF5bm90cmV0dXJuIG5vcmV0dXJud2hlbnRydWUgbm9yZXR1cm53aGVuZmFsc2UgYWx3YXlzcmV0dXJucworc3luIGtleXdvcmQgc3BsaW50U2VmCQljb250YWluZWQgc2VmCitzeW4ga2V5d29yZCBzcGxpbnREZWNsCQljb250YWluZWQgdW51c2VkIGV4dGVybmFsCitzeW4ga2V5d29yZCBzcGxpbnRDYXNlCQljb250YWluZWQgZmFsbHRocm91Z2gKK3N5biBrZXl3b3JkIHNwbGludEJyZWFrCQljb250YWluZWQgaW5uZXJicmVhayBsb29wYnJlYWsgc3dpdGNoYnJlYWsgaW5uZXJjb250aW51ZQorc3luIGtleXdvcmQgc3BsaW50VW5yZWFjaAljb250YWluZWQgbm90cmVhY2hlZAorc3luIGtleXdvcmQgc3BsaW50U3BlY0Z1bmMJY29udGFpbmVkIHByaW50Zmxpa2Ugc2NhbmZsaWtlIG1lc3NhZ2VsaWtlCisKKyIgVE9ETzogbWFrZSB0aGVzZSByZWdpb24gb3IgbWF0Y2gKK3N5biBrZXl3b3JkIHNwbGludEVyclN1cHAJY29udGFpbmVkIGkgaWdub3JlIGVuZCB0CitzeW4gbWF0Y2ggICBzcGxpbnRFcnJTdXBwCWNvbnRhaW5lZCAiW2l0XVxkXCtcPiIKK3N5biBrZXl3b3JkIHNwbGludFR5cGVBY2MJY29udGFpbmVkIGFjY2VzcyBub2FjY2VzcworCitzeW4ga2V5d29yZCBzcGxpbnRNYWNybwkJY29udGFpbmVkIG5vdGZ1bmN0aW9uCitzeW4gbWF0Y2ggICBzcGxpbnRTcGVjVHlwZQljb250YWluZWQgIlwoXHx1bnNpZ25lZFx8c2lnbmVkXClpbnRlZ3JhbHR5cGUiCisKKyIgRmxhZ3MgdGFrZW4gZnJvbSAnc3BsaW50IC1oZWxwIGZsYWdzIGZ1bGwnIGRpdmlkZWQgaW4gbG9jYWwgYW5kIGdsb2JhbCBmbGFncworIgkJCQkgTG9jYWwgRmxhZ3M6CitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBhYnN0cmFjdCBhYnN0cmFjdGNvbXBhcmUgYWNjZXNzYWxsIGFjY2Vzc2N6ZWNoIGFjY2Vzc2N6ZWNob3Nsb3Zhaworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgYWNjZXNzZmlsZSBhY2Nlc3Ntb2R1bGUgYWNjZXNzc2xvdmFrIGFsaWFzdW5pcXVlIGFsbGJsb2NrCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBhbGxlbXB0eSBhbGxnbG9icyBhbGxpbXBvbmx5IGFsbG1hY3JvcyBhbHdheXNleGl0cworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgYW5ub3RhdGlvbmVycm9yIGFuc2k4OWxpbWl0cyBhc3NpZ25leHBvc2UgYmFkZmxhZyBiaXR3aXNlc2lnbmVkCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBib29sY29tcGFyZSBib29sZmFsc2UgYm9vbGludCBib29sb3BzIGJvb2x0cnVlCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBib29sdHlwZSBib3VuZHMgYm91bmRzY29tcGFjdGVycm9ybWVzc2FnZXMgYm91bmRzcmVhZCBib3VuZHN3cml0ZQorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgYnJhbmNoc3RhdGUgYnVmZmVyb3ZlcmZsb3cgYnVmZmVyb3ZlcmZsb3doaWdoIGJ1Z3NsaW1pdCBjYXNlYnJlYWsKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGNhc2VpbnNlbnNpdGl2ZWZpbGVuYW1lcyBjYXN0ZXhwb3NlIGNhc3RmY25wdHIgY2hhcmluZGV4IGNoYXJpbnQKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGNoYXJpbnRsaXRlcmFsIGNoYXJ1bnNpZ25lZGNoYXIgY2hlY2tlZGdsb2JhbGlhcyBjaGVja21vZGdsb2JhbGlhcyBjaGVja3Bvc3QKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGNoZWNrc3RyaWN0Z2xvYmFsaWFzIGNoZWNrc3RyaWN0Z2xvYnMgY29kZWltcG9ubHkgY29tbWVudGNoYXIgY29tbWVudGVycm9yCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBjb21wZGVmIGNvbXBkZXN0cm95IGNvbXBtZW1wYXNzIGNvbnN0bWFjcm9zIGNvbnN0cHJlZml4CitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBjb25zdHByZWZpeGV4Y2x1ZGUgY29uc3R1c2UgY29udGludWVjb21tZW50IGNvbnRyb2xuZXN0ZGVwdGggY3BwbmFtZXMKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGNzdm92ZXJ3cml0ZSBjemVjaCBjemVjaGNvbnN0cyBjemVjaGZjbnMgY3plY2htYWNyb3MKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGN6ZWNob3Nsb3ZhayBjemVjaG9zbG92YWtjb25zdHMgY3plY2hvc2xvdmFrZmNucyBjemVjaG9zbG92YWttYWNyb3MgY3plY2hvc2xvdmFrdHlwZXMKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGN6ZWNob3Nsb3Zha3ZhcnMgY3plY2h0eXBlcyBjemVjaHZhcnMgZGVidWdmY25jb25zdHJhaW50IGRlY2x1bmRlZgorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgZGVlcGJyZWFrIGRlcGFycmF5cyBkZXBlbmRlbnR0cmFucyBkaXN0aW5jdGV4dGVybmFsbmFtZXMgZGlzdGluY3RpbnRlcm5hbG5hbWVzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBkdXBsaWNhdGVjYXNlcyBkdXBsaWNhdGVxdWFscyBlbHNlaWZjb21wbGV0ZSBlbXB0eXJldCBlbnVtaW5kZXgKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGVudW1pbnQgZW51bW1lbWJlcnMgZW51bW1lbXVzZSBlbnVtcHJlZml4IGVudW1wcmVmaXhleGNsdWRlCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBldmFsb3JkZXIgZXZhbG9yZGVydW5jb24gZXhpdGFyZyBleHBvcnRhbnkgZXhwb3J0Y29uc3QKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGV4cG9ydGZjbiBleHBvcnRoZWFkZXIgZXhwb3J0aGVhZGVydmFyIGV4cG9ydGl0ZXIgZXhwb3J0bG9jYWwKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGV4cG9ydG1hY3JvIGV4cG9ydHR5cGUgZXhwb3J0dmFyIGV4cG9zZXRyYW5zIGV4dGVybmFsbmFtZWNhc2VpbnNlbnNpdGl2ZQorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgZXh0ZXJuYWxuYW1lbGVuIGV4dGVybmFscHJlZml4IGV4dGVybmFscHJlZml4ZXhjbHVkZSBmY25kZXJlZiBmY25tYWNyb3MKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGZjbnBvc3QgZmNudXNlIGZpZWxkdXNlIGZpbGVleHRlbnNpb25zIGZpbGVzdGF0aWNwcmVmaXgKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGZpbGVzdGF0aWNwcmVmaXhleGNsdWRlIGZpcnN0Y2FzZSBmaXhlZGZvcm1hbGFycmF5IGZsb2F0ZG91YmxlIGZvcmJsb2NrCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBmb3JjZWhpbnRzIGZvcmVtcHR5IGZvcmxvb3BleGVjIGZvcm1hbGFycmF5IGZvcm1hdGNvZGUKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGZvcm1hdGNvbnN0IGZvcm1hdHR5cGUgZm9yd2FyZGRlY2wgZnJlc2h0cmFucyBmdWxsaW5pdGJsb2NrCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBnbG9iYWxpYXMgZ2xvYmFscHJlZml4IGdsb2JhbHByZWZpeGV4Y2x1ZGUgZ2xvYmltcG9ubHkgZ2xvYm5vZ2xvYnMKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGdsb2JzIGdsb2JzaW1wbW9kc25vdGhpbmcgZ2xvYnN0YXRlIGdsb2J1c2UgZ251ZXh0ZW5zaW9ucworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgZ3JhbW1hciBoYXN5aWVsZCBoaW50cyBodG1sZmlsZWZvcm1hdCBpZmJsb2NrCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBpZmVtcHR5IGlnbm9yZXF1YWxzIGlnbm9yZXNpZ25zIGltbWVkaWF0ZXRyYW5zIGltcGFic3RyYWN0CitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBpbXBjaGVja2VkZ2xvYnMgaW1wY2hlY2tlZHNwZWNnbG9icyBpbXBjaGVja2Vkc3RhdGljcyBpbXBjaGVja2Vkc3RyaWN0Z2xvYnMgaW1wY2hlY2tlZHN0cmljdHNwZWNnbG9icworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgaW1wY2hlY2tlZHN0cmljdHN0YXRpY3MgaW1wY2hlY2ttb2RnbG9icyBpbXBjaGVja21vZGludGVybmFscyBpbXBjaGVja21vZHNwZWNnbG9icyBpbXBjaGVja21vZHN0YXRpY3MKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGltcGNvbmogaW1wbGVtZW50YXRpb25vcHRpb25hbCBpbXBsaWN0Y29uc3RyYWludCBpbXBvdXRzIGltcHR5cGUKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGluY2x1ZGVuZXN0IGluY29tcGxldGV0eXBlIGluY29uZGVmcyBpbmNvbmRlZnNsaWIgaW5kZW50c3BhY2VzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBpbmZsb29wcyBpbmZsb29wc3VuY29uIGluaXRhbGxlbGVtZW50cyBpbml0c2l6ZSBpbnRlcm5hbGdsb2JzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBpbnRlcm5hbGdsb2Jzbm9nbG9icyBpbnRlcm5hbG5hbWVjYXNlaW5zZW5zaXRpdmUgaW50ZXJuYWxuYW1lbGVuIGludGVybmFsbmFtZWxvb2thbGlrZSBpc285OWxpbWl0cworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgaXNvcmVzZXJ2ZWQgaXNvcmVzZXJ2ZWRpbnRlcm5hbCBpdGVyYmFsYW5jZSBpdGVybG9vcGV4ZWMgaXRlcnByZWZpeAorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgaXRlcnByZWZpeGV4Y2x1ZGUgaXRlcnlpZWxkIGl0czRsb3cgaXRzNG1vZGVyYXRlIGl0czRtb3N0cmlza3kKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGl0czRyaXNreSBpdHM0dmVyeXJpc2t5IGtlZXAga2VlcHRyYW5zIGtlcHR0cmFucworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgbGVnYWN5IGxpYm1hY3JvcyBsaWtlbHlib3VuZHNyZWFkIGxpa2VseWJvdW5kc3dyaXRlIGxpa2VseWJvb2wKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGxpa2VseWJvdW5kcyBsaW1pdCBsaW5lbGVuIGxpbnRjb21tZW50cyBsb2NhbHByZWZpeAorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgbG9jYWxwcmVmaXhleGNsdWRlIGxvY2luZGVudHNwYWNlcyBsb25naW50IGxvbmdpbnRlZ3JhbCBsb25nc2lnbmVkaW50ZWdyYWwKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIGxvbmd1bnNpZ25lZGludGVncmFsIGxvbmd1bnNpZ25lZHVuc2lnbmVkaW50ZWdyYWwgbG9vcGV4ZWMgbG9vcGxvb3BicmVhayBsb29wbG9vcGNvbnRpbnVlCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBsb29wc3dpdGNoYnJlYWsgbWFjcm9hc3NpZ24gbWFjcm9jb25zdGRlY2wgbWFjcm9kZWNsIG1hY3JvZW1wdHkKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIG1hY3JvZmNuZGVjbCBtYWNyb21hdGNobmFtZSBtYWNyb3BhcmFtcyBtYWNyb3BhcmVucyBtYWNyb3JlZGVmCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBtYWNyb3JldHVybiBtYWNyb3N0bXQgbWFjcm91bnJlY29nIG1hY3JvdmFycHJlZml4IG1hY3JvdmFycHJlZml4ZXhjbHVkZQorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgbWFpbnR5cGUgbWF0Y2hhbnlpbnRlZ3JhbCBtYXRjaGZpZWxkcyBtYXlhbGlhc3VuaXF1ZSBtZW1jaGVja3MKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIG1lbWltcCBtZW10cmFucyBtaXNwbGFjZWRzaGFyZXF1YWwgbWlzc2Nhc2UgbW9kZmlsZXN5cworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgbW9kZ2xvYnMgbW9kZ2xvYnNub21vZHMgbW9kZ2xvYnN1bmNoZWNrZWQgbW9kaW50ZXJuYWxzdHJpY3QgbW9kbm9tb2RzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBtb2RvYnNlcnZlciBtb2RvYnNlcnZlcnVuY29uIG1vZHMgbW9kc2ltcG5vZ2xvYnMgbW9kc3RyaWN0Z2xvYnNub21vZHMKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIG1vZHVuY29uIG1vZHVuY29ubm9tb2RzIG1vZHVuc3BlYyBtdWx0aXRocmVhZGVkIG11c3RkZWZpbmUKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIG11c3RmcmVlIG11c3RmcmVlZnJlc2ggbXVzdGZyZWVvbmx5IG11c3Rtb2QgbXVzdG5vdGFsaWFzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBtdXRyZXAgbmFtZWNoZWNrcyBuZWVkc3BlYyBuZXN0Y29tbWVudCBuZXN0ZWRleHRlcm4KK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIG5ld2RlY2wgbmV3cmVmdHJhbnMgbmV4dGxpbmVtYWNyb3Mgbm9hY2Nlc3Mgbm9jb21tZW50cworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgbm9lZmZlY3Qgbm9lZmZlY3R1bmNvbiBub3BhcmFtcyBub3BwIG5vcmV0CitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBudWxsIG51bGxhc3NpZ24gbnVsbGRlcmVmIG51bGxpbml0IG51bGxwYXNzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBudWxscHRyYXJpdGggbnVsbHJldCBudWxsc3RhdGUgbnVsbHRlcm1pbmF0ZWQKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIG51bWFic3RyYWN0IG51bWFic3RyYWN0Y2FzdCBudW1hYnN0cmFjdGluZGV4IG51bWFic3RyYWN0bGl0IG51bWFic3RyYWN0cHJpbnQKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIG51bWVudW1tZW1iZXJzIG51bWxpdGVyYWwgbnVtc3RydWN0ZmllbGRzIG9ic2VydmVydHJhbnMgb2J2aW91c2xvb3BleGVjCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBvbGRzdHlsZSBvbmx5dHJhbnMgb25seXVucWdsb2JhbHRyYW5zIG9yY29uc3RyYWludCBvdmVybG9hZAorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgb3duZWR0cmFucyBwYXJhbWltcHRlbXAgcGFyYW11c2UgcGFyZW5maWxlZm9ybWF0IHBhcnRpYWwKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHBhc3N1bmtub3duIHBvcnRhYmlsaXR5IHByZWRhc3NpZ24gcHJlZGJvb2wgcHJlZGJvb2xpbnQKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHByZWRib29sb3RoZXJzIHByZWRib29scHRyIHByZXByb2MgcHJvdG9wYXJhbW1hdGNoIHByb3RvcGFyYW1uYW1lCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBwcm90b3BhcmFtcHJlZml4IHByb3RvcGFyYW1wcmVmaXhleGNsdWRlIHB0cmFyaXRoIHB0cmNvbXBhcmUgcHRybmVnYXRlCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBxdWlldCByZWFkb25seXN0cmluZ3MgcmVhZG9ubHl0cmFucyByZWFsY29tcGFyZSByZWRlY2wKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHJlZGVmIHJlZHVuZGFudGNvbnN0cmFpbnRzIHJlZHVuZGFudHNoYXJlcXVhbCByZWZjb3VudHRyYW5zIHJlbGF4cXVhbHMKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHJlbGF4dHlwZXMgcmVwZWF0dW5yZWNvZyByZXBleHBvc2UgcmV0YWxpYXMgcmV0ZXhwb3NlCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCByZXRpbXBvbmx5IHJldHZhbCByZXR2YWxib29sIHJldHZhbGludCByZXR2YWxvdGhlcgorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgc2VmcGFyYW1zIHNlZnVuY29uIHNoYWRvdyBzaGFyZWR0cmFucyBzaGlmdGltcGxlbWVudGF0aW9uCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBzaGlmdG5lZ2F0aXZlIHNob3J0aW50IHNob3dhbGxjb25qcyBzaG93Y29sdW1uIHNob3djb25zdHJhaW50bG9jYXRpb24KK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHNob3djb25zdHJhaW50cGFyZW5zIHNob3dkZWVwaGlzdG9yeSBzaG93ZnVuYyBzaG93bG9hZGxvYyBzaG93c2Nhbgorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgc2hvd3NvdXJjZWxvYyBzaG93c3VtbWFyeSBzaXplb2Zmb3JtYWxhcnJheSBzaXplb2Z0eXBlIHNraXBpc29oZWFkZXJzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBza2lwcG9zaXhoZWFkZXJzIHNsYXNoc2xhc2hjb21tZW50IHNsb3ZhayBzbG92YWtjb25zdHMgc2xvdmFrZmNucworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgc2xvdmFrbWFjcm9zIHNsb3Zha3R5cGVzIHNsb3Zha3ZhcnMgc3BlY2dsb2JpbXBvbmx5IHNwZWNpbXBvbmx5CitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBzcGVjbWFjcm9zIHNwZWNyZXRpbXBvbmx5IHNwZWNzdHJ1Y3RpbXBvbmx5IHNwZWN1bmRlY2wgc3BlY3VuZGVmCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBzdGFja3JlZiBzdGF0ZW1lcmdlIHN0YXRldHJhbnNmZXIgc3RhdGljaW5pdHRyYW5zIHN0YXRpY3RyYW5zCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBzdHJpY3RicmFuY2hzdGF0ZSBzdHJpY3RkZXN0cm95IHN0cmljdG9wcyBzdHJpY3R1c2VyZWxlYXNlZCBzdHJpbmdsaXRlcmFsbGVuCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBzdHJpbmdsaXRlcmFsbm9yb29tIHN0cmluZ2xpdGVyYWxub3Jvb21maW5hbG51bGwgc3RyaW5nbGl0ZXJhbHNtYWxsZXIgc3RyaW5nbGl0ZXJhbHRvb2xvbmcgc3RydWN0aW1wb25seQorc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgc3VwZXJ1c2VyIHN3aXRjaGxvb3BicmVhayBzd2l0Y2hzd2l0Y2hicmVhayBzeW50YXggc3lzZGlyZXJyb3JzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCBzeXNkaXJleHBhbmRtYWNyb3Mgc3lzdW5yZWNvZyB0YWdwcmVmaXggdGFncHJlZml4ZXhjbHVkZSB0ZW1wdHJhbnMKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHRtcGNvbW1lbnRzIHRvY3RvdSB0b3B1c2UgdHJ5dG9yZWNvdmVyIHR5cGUKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHR5cGVwcmVmaXggdHlwZXByZWZpeGV4Y2x1ZGUgdHlwZXVzZSB1bmNoZWNrZWRnbG9iYWxpYXMgdW5jaGVja2VkbWFjcm9wcmVmaXgKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHVuY2hlY2tlZG1hY3JvcHJlZml4ZXhjbHVkZSB1bmlvbmRlZiB1bml4c3RhbmRhcmQgdW5xdWFsaWZpZWRpbml0dHJhbnMgdW5xdWFsaWZpZWR0cmFucworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgdW5yZWFjaGFibGUgdW5yZWNvZyB1bnJlY29nY29tbWVudHMgdW5yZWNvZ2RpcmVjdGl2ZSB1bnJlY29nZmxhZ2NvbW1lbnRzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCB1bnNpZ25lZGNvbXBhcmUgdW51c2Vkc3BlY2lhbCB1c2VkZWYgdXNlcmVsZWFzZWQgdXNldmFyYXJncworc3luIGtleXdvcmQgc3BsaW50RmxhZyBjb250YWluZWQgdmFydXNlIHZvaWRhYnN0cmFjdCB3YXJuZmxhZ3Mgd2FybmxpbnRjb21tZW50cyB3YXJubWlzc2luZ2dsb2JzCitzeW4ga2V5d29yZCBzcGxpbnRGbGFnIGNvbnRhaW5lZCB3YXJubWlzc2luZ2dsb2Jzbm9nbG9icyB3YXJucG9zaXhoZWFkZXJzIHdhcm5yYyB3YXJuc3lzZmlsZXMgd2FybnVuaXhsaWIKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHdhcm51c2Ugd2hpbGVibG9jayB3aGlsZWVtcHR5IHdoaWxlbG9vcGV4ZWMgemVyb2Jvb2wKK3N5biBrZXl3b3JkIHNwbGludEZsYWcgY29udGFpbmVkIHplcm9wdHIKKyIJCQkJICAgICAgIEdsb2JhbCBGbGFnczoKK3N5biBrZXl3b3JkIHNwbGludEdsb2JhbEZsYWcgY29udGFpbmVkIGNzdiBkdW1wIGVycm9yc3RyZWFtIGVycm9yc3RyZWFtc3RkZXJyIGVycm9yc3RyZWFtc3Rkb3V0CitzeW4ga2V5d29yZCBzcGxpbnRHbG9iYWxGbGFnIGNvbnRhaW5lZCBleHBlY3QgZiBoZWxwIGkgaXNvbGliCitzeW4ga2V5d29yZCBzcGxpbnRHbG9iYWxGbGFnIGNvbnRhaW5lZCBsYXJjaHBhdGggbGNsZXhwZWN0IGxjbGltcG9ydGRpciBsY3MgbGgKK3N5biBrZXl3b3JkIHNwbGludEdsb2JhbEZsYWcgY29udGFpbmVkIGxvYWQgbWVzc2FnZXN0cmVhbSBtZXNzYWdlc3RyZWFtc3RkZXJyIG1lc3NhZ2VzdHJlYW1zdGRvdXQgbXRzCitzeW4ga2V5d29yZCBzcGxpbnRHbG9iYWxGbGFnIGNvbnRhaW5lZCBuZXZlcmluY2x1ZGUgbm9mIG5vbGliIHBvc2l4bGliIHBvc2l4c3RyaWN0bGliCitzeW4ga2V5d29yZCBzcGxpbnRHbG9iYWxGbGFnIGNvbnRhaW5lZCBzaG93YWxsdXNlcyBzaW5nbGVpbmNsdWRlIHNraXBzeXNoZWFkZXJzIHN0YXRzIHN0cmVhbW92ZXJ3cml0ZQorc3luIGtleXdvcmQgc3BsaW50R2xvYmFsRmxhZyBjb250YWluZWQgc3RyaWN0bGliIHN1cGNvdW50cyBzeXNkaXJzIHRpbWVkaXN0IHRtcGRpcgorc3luIGtleXdvcmQgc3BsaW50R2xvYmFsRmxhZyBjb250YWluZWQgdW5peGxpYiB1bml4c3RyaWN0bGliIHdhcm5pbmdzdHJlYW0gd2FybmluZ3N0cmVhbXN0ZGVyciB3YXJuaW5nc3RyZWFtc3Rkb3V0CitzeW4ga2V5d29yZCBzcGxpbnRHbG9iYWxGbGFnIGNvbnRhaW5lZCB3aGljaGxpYgorc3luIG1hdGNoICAgc3BsaW50RmxhZ0V4cHIgY29udGFpbmVkICJbXCtcLVw9XSIgbmV4dGdyb3VwPXNwbGludEZsYWcsc3BsaW50R2xvYmFsRmxhZworCisiIGRldGVjdCBtaXNzaW5nIC8qQCBhbmQgd3JvbmcgKi8KK3N5biBtYXRjaAlzcGxpbnRBbm5FcnJvcgkiQFwqLyIKK3N5biBjbHVzdGVyCWNDb21tZW50R3JvdXAJYWRkPXNwbGludEFubkVycm9yCitzeW4gbWF0Y2gJc3BsaW50QW5uRXJyb3IyCSJbXkBdXCovImhzPXMrMSBjb250YWluZWQKK3N5biByZWdpb24Jc3BsaW50QW5ub3RhdGlvbiBzdGFydD0iL1wqQCIgZW5kPSJAXCovIiBjb250YWlucz1Ac3BsaW50QW5ub3RFbGVtLGNUeXBlIGtlZXBlbmQKK3N5biBtYXRjaAlzcGxpbnRTaG9ydEFubgkiL1wqQFwqLyIKK3N5biBjbHVzdGVyCXNwbGludEFubm90RWxlbQljb250YWlucz1zcGxpbnRTdGF0ZUFubm90LHNwbGludFNwZWNpYWxBbm5vdCxzcGxpbnRTcGVjVGFnLHNwbGludE1vZGlmaWVzLHNwbGludFJlcXVpcmVzLHNwbGludEdsb2JhbHMsc3BsaW50R2xvYml0ZW0sc3BsaW50R2xvYmFubm90LHNwbGludFdhcm5pbmcsc3BsaW50TW9kaXRlbSxzcGxpbnRJdGVyLHNwbGludENvbnN0LHNwbGludEFsdCxzcGxpbnRUeXBlLHNwbGludEdsb2JhbFR5cGUsc3BsaW50TWVtTWdtLHNwbGludEFsaWFzLHNwbGludEV4cG9zdXJlLHNwbGludERlZlN0YXRlLHNwbGludEdsb2JTdGF0ZSxzcGxpbnROdWxsU3RhdGUsc3BsaW50TnVsbFByZWQsc3BsaW50RXhpdCxzcGxpbnRFeGVjLHNwbGludFNlZixzcGxpbnREZWNsLHNwbGludENhc2Usc3BsaW50QnJlYWssc3BsaW50VW5yZWFjaCxzcGxpbnRTcGVjRnVuYyxzcGxpbnRFcnJTdXBwLHNwbGludFR5cGVBY2Msc3BsaW50TWFjcm8sc3BsaW50U3BlY1R5cGUsc3BsaW50QW5uRXJyb3IyLHNwbGludEZsYWdFeHByCitzeW4gY2x1c3RlcglzcGxpbnRBbGxTdHVmZgljb250YWlucz1Ac3BsaW50QW5ub3RFbGVtLHNwbGludEZsYWcsc3BsaW50R2xvYmFsRmxhZworc3luIGNsdXN0ZXIJY1BhcmVuR3JvdXAJYWRkPUBzcGxpbnRBbGxTdHVmZgorc3luIGNsdXN0ZXIJY1ByZVByb2NHcm91cAlhZGQ9QHNwbGludEFsbFN0dWZmCitzeW4gY2x1c3RlcgljTXVsdGlHcm91cAlhZGQ9QHNwbGludEFsbFN0dWZmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NwbGludF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zcGxpbnRfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc3BsaW50U2hvcnRBbm4JCXNwbGludEFubm90YXRpb24KKyAgSGlMaW5rIHNwbGludEFubm90YXRpb24JQ29tbWVudAorICBIaUxpbmsgc3BsaW50QW5uRXJyb3IJCXNwbGludEVycm9yCisgIEhpTGluayBzcGxpbnRBbm5FcnJvcjIJc3BsaW50RXJyb3IKKyAgSGlMaW5rIHNwbGludEZsYWcJCVNwZWNpYWxDb21tZW50CisgIEhpTGluayBzcGxpbnRHbG9iYWxGbGFnCXNwbGludEVycm9yCisgIEhpTGluayBzcGxpbnRTcGVjaWFsQW5ub3QJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRTdGF0ZUFubm90CXNwbGludEFubktleQorICBIaUxpbmsgc3BsaW50U3BlY1RhZwkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRNb2RpZmllcwkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRSZXF1aXJlcwkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRHbG9iYWxzCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludEdsb2JpdGVtCQlDb25zdGFudAorICBIaUxpbmsgc3BsaW50R2xvYmFubm90CXNwbGludEFubktleQorICBIaUxpbmsgc3BsaW50V2FybmluZwkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRNb2RpdGVtCQlDb25zdGFudAorICBIaUxpbmsgc3BsaW50SXRlcgkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRDb25zdAkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRBbHQJCXNwbGludEFubktleQorICBIaUxpbmsgc3BsaW50VHlwZQkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRHbG9iYWxUeXBlCXNwbGludEFubktleQorICBIaUxpbmsgc3BsaW50TWVtTWdtCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludEFsaWFzCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludEV4cG9zdXJlCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludERlZlN0YXRlCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludEdsb2JTdGF0ZQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludE51bGxTdGF0ZQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludE51bGxQcmVkCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludEV4aXQJCXNwbGludEFubktleQorICBIaUxpbmsgc3BsaW50RXhlYwkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRTZWYJCXNwbGludEFubktleQorICBIaUxpbmsgc3BsaW50RGVjbAkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRDYXNlCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludEJyZWFrCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludFVucmVhY2gJCXNwbGludEFubktleQorICBIaUxpbmsgc3BsaW50U3BlY0Z1bmMJCXNwbGludEFubktleQorICBIaUxpbmsgc3BsaW50RXJyU3VwcAkJc3BsaW50QW5uS2V5CisgIEhpTGluayBzcGxpbnRUeXBlQWNjCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludE1hY3JvCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludFNwZWNUeXBlCQlzcGxpbnRBbm5LZXkKKyAgSGlMaW5rIHNwbGludEFubktleQkJVHlwZQorICBIaUxpbmsgc3BsaW50RXJyb3IJCUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNwbGludCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NwdXAudmltIGIvcnVudGltZS9zeW50YXgvc3B1cC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY1NzczNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NwdXAudmltCkBAIC0wLDAgKzEsMjc3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIFNwZWVkdXAsIHBsYW50IHNpbXVsYXRvciBmcm9tIEFzcGVuVGVjaAorIiBNYWludGFpbmVyOiAgIFN0ZWZhbi5TY2h3YXJ6ZXIgPHMuc2Nod2FyemVyQG5kaC5uZXQ+CisiIFVSTDoJCQlodHRwOi8vd3d3Lm5kaC5uZXQvaG9tZS9zc2Nod2FyemVyL2Rvd25sb2FkL3NwdXAudmltCisiIExhc3QgQ2hhbmdlOiAgMjAwMyBNYXkgMTEKKyIgRmlsZW5hbWU6ICAgICBzcHVwLnZpbQorCisiIEJ1Z3MKKyIgLSBpbiB0aGUgYXBwcm9wcmlhdGUgc2VjdGlvbnMga2V5d29yZHMgYXJlIGFsd2F5cyBoaWdobGlnaHRlZAorIiAgIGV2ZW4gaWYgdGhleSBhcmUgbm90IHVzZWQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgbWVhbmluZzsKKyIgICBleGFtcGxlOiBpbgorIiAgICAgICBNT0RFTCBkZW1vbnN0cmF0aW9uCisiICAgICAgIFRZUEUKKyIgICAgICAqYXJlYSBBUyBhcmVhCisiICAgYm90aCAiYXJlYSIgYXJlIGhpZ2hsaWdodGVkIGFzIHNwdXBUeXBlLgorIgorIiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zIG9yIGhhdmUgcXVlc3Rpb25zIG9yIHN1Z2dlc3Rpb25zLCBtYWlsIG1lCisKKyIgUmVtb3ZlIG9sZCBzeW50YXggc3R1ZmYKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKKyIgZG9uJ3QgaGlnaHRsaWdodCBzZXZlcmFsIGtleXdvcmRzIGxpa2Ugc3Vic2VjdGlvbnMKKyJsZXQgc3RyaWN0X3N1YnNlY3Rpb25zID0gMQorCisiIGhpZ2hsaWdodCB0eXBlcyB1c3VhbGx5IGZvdW5kIGluIERFQ0xBUkUgc2VjdGlvbgoraWYgIWV4aXN0cygiaGlnaHRsaWdodF90eXBlcyIpCisgICAgbGV0IGhpZ2hsaWdodF90eXBlcyA9IDEKK2VuZGlmCisKKyIgb25lIGxpbmUgY29tbWVudCBzeW50YXggKCMgY29tbWVudHMpCisiIDEuIGFsbG93IGFwcGVuZGVkIGNvZGUgYWZ0ZXIgY29tbWVudCwgZG8gbm90IGNvbXBsYWluCisiIDIuIHNob3cgY29kZSBiZWdpbm5pZyB3aXRoIHRoZSBzZWNvbmQgIyBhcyBhbiBlcnJvcgorIiAzLiBzaG93IHdob2xlIGxpbmVzIHdpdGggbW9yZSB0aGFuIG9uZSAjIGFzIGFuIGVycm9yCitpZiAhZXhpc3RzKCJvbmVsaW5lX2NvbW1lbnRzIikKKyAgICBsZXQgb25lbGluZV9jb21tZW50cyA9IDIKK2VuZGlmCisKKyIgU3BlZWR1cCBTRUNUSU9OIHJlZ2lvbnMKK3N5biBjYXNlIGlnbm9yZQorc3luIHJlZ2lvbiBzcHVwQ2RpCQkgIG1hdGNoZ3JvdXA9c3B1cFNlY3Rpb24gc3RhcnQ9Il5DREkiCQkgZW5kPSJeXCpcKlwqXCoiIGNvbnRhaW5zPXNwdXBDZGlTdWJzLEBzcHVwT3JkaW5hcnkKK3N5biByZWdpb24gc3B1cENvbmRpdGlvbnMgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXkNPTkRJVElPTlMiIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1zcHVwQ29uZGl0aW9uc1N1YnMsQHNwdXBPcmRpbmFyeSxzcHVwQ29uZGl0aW9uYWwsc3B1cE9wZXJhdG9yLHNwdXBDb2RlCitzeW4gcmVnaW9uIHNwdXBEZWNsYXJlICAgIG1hdGNoZ3JvdXA9c3B1cFNlY3Rpb24gc3RhcnQ9Il5ERUNMQVJFIiAgICBlbmQ9Il5cKlwqXCpcKiIgY29udGFpbnM9c3B1cERlY2xhcmVTdWJzLEBzcHVwT3JkaW5hcnksc3B1cFR5cGVzLHNwdXBDb2RlCitzeW4gcmVnaW9uIHNwdXBFc3RpbWF0aW9uIG1hdGNoZ3JvdXA9c3B1cFNlY3Rpb24gc3RhcnQ9Il5FU1RJTUFUSU9OIiBlbmQ9Il5cKlwqXCpcKiIgY29udGFpbnM9c3B1cEVzdGltYXRpb25TdWJzLEBzcHVwT3JkaW5hcnkKK3N5biByZWdpb24gc3B1cEV4dGVybmFsICAgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXkVYVEVSTkFMIiAgIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1zcHVwRXh0ZXJuYWxTdWJzLEBzcHVwT3JkaW5hcnkKK3N5biByZWdpb24gc3B1cEZsb3dzaGVldCAgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXkZMT1dTSEVFVCIgIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1zcHVwRmxvd3NoZWV0U3VicyxAc3B1cE9yZGluYXJ5LHNwdXBTdHJlYW1zLEBzcHVwVGV4dHByb2MKK3N5biByZWdpb24gc3B1cEZ1bmN0aW9uICAgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXkZVTkNUSU9OIiAgIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1zcHVwRnVuY3Rpb25TdWJzLEBzcHVwT3JkaW5hcnksc3B1cEhlbHAsc3B1cENvZGUsc3B1cFR5cGVzCitzeW4gcmVnaW9uIHNwdXBHbG9iYWwgICAgIG1hdGNoZ3JvdXA9c3B1cFNlY3Rpb24gc3RhcnQ9Il5HTE9CQUwiICAgICBlbmQ9Il5cKlwqXCpcKiIgY29udGFpbnM9c3B1cEdsb2JhbFN1YnMsQHNwdXBPcmRpbmFyeQorc3luIHJlZ2lvbiBzcHVwSG9tb3RvcHkgICBtYXRjaGdyb3VwPXNwdXBTZWN0aW9uIHN0YXJ0PSJeSE9NT1RPUFkiICAgZW5kPSJeXCpcKlwqXCoiIGNvbnRhaW5zPXNwdXBIb21vdG9weVN1YnMsQHNwdXBPcmRpbmFyeQorc3luIHJlZ2lvbiBzcHVwTWFjcm8gICAgICBtYXRjaGdyb3VwPXNwdXBTZWN0aW9uIHN0YXJ0PSJeTUFDUk8iICAgICAgZW5kPSJeXCpcKlwqXCoiIGNvbnRhaW5zPXNwdXBNYWNyb1N1YnMsQHNwdXBPcmRpbmFyeSxAc3B1cFRleHRwcm9jLHNwdXBUeXBlcyxzcHVwU3RyZWFtcyxzcHVwT3BlcmF0b3IKK3N5biByZWdpb24gc3B1cE1vZGVsICAgICAgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXk1PREVMIiAgICAgIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1zcHVwTW9kZWxTdWJzLEBzcHVwT3JkaW5hcnksc3B1cENvbmRpdGlvbmFsLHNwdXBPcGVyYXRvcixzcHVwVHlwZXMsc3B1cFN0cmVhbXMsQHNwdXBUZXh0cHJvYyxzcHVwSGVscAorc3luIHJlZ2lvbiBzcHVwT3BlcmF0aW9uICBtYXRjaGdyb3VwPXNwdXBTZWN0aW9uIHN0YXJ0PSJeT1BFUkFUSU9OIiAgZW5kPSJeXCpcKlwqXCoiIGNvbnRhaW5zPXNwdXBPcGVyYXRpb25TdWJzLEBzcHVwT3JkaW5hcnksQHNwdXBUZXh0cHJvYworc3luIHJlZ2lvbiBzcHVwT3B0aW9ucyAgICBtYXRjaGdyb3VwPXNwdXBTZWN0aW9uIHN0YXJ0PSJeT1BUSU9OUyIgICAgZW5kPSJeXCpcKlwqXCoiIGNvbnRhaW5zPXNwdXBPcHRpb25zU3VicyxAc3B1cE9yZGluYXJ5CitzeW4gcmVnaW9uIHNwdXBQcm9jZWR1cmUgIG1hdGNoZ3JvdXA9c3B1cFNlY3Rpb24gc3RhcnQ9Il5QUk9DRURVUkUiICBlbmQ9Il5cKlwqXCpcKiIgY29udGFpbnM9c3B1cFByb2NlZHVyZVN1YnMsQHNwdXBPcmRpbmFyeSxzcHVwSGVscCxzcHVwQ29kZSxzcHVwVHlwZXMKK3N5biByZWdpb24gc3B1cFByb2ZpbGVzICAgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXlBST0ZJTEVTIiAgIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1Ac3B1cE9yZGluYXJ5LEBzcHVwVGV4dHByb2MKK3N5biByZWdpb24gc3B1cFJlcG9ydCAgICAgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXlJFUE9SVCIgICAgIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1zcHVwUmVwb3J0U3VicyxAc3B1cE9yZGluYXJ5LHNwdXBIZWxwLEBzcHVwVGV4dHByb2MKK3N5biByZWdpb24gc3B1cFRpdGxlICAgICAgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXlRJVExFIiAgICAgIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1zcHVwVGl0bGVTdWJzLHNwdXBDb21tZW50LHNwdXBDb25zdGFudCxzcHVwRXJyb3IKK3N5biByZWdpb24gc3B1cFVuaXQgICAgICAgbWF0Y2hncm91cD1zcHVwU2VjdGlvbiBzdGFydD0iXlVOSVQiICAgICAgIGVuZD0iXlwqXCpcKlwqIiBjb250YWlucz1zcHVwVW5pdFN1YnMsQHNwdXBPcmRpbmFyeQorCisiIFN1YnNlY3Rpb25zCitzeW4ga2V5d29yZCBzcHVwQ2RpU3VicwkJICAgSU5QVVQgRlJFRSBPVVRQVVQgTElORUFSVElNRSBNSU5OT05aRVJPIENBTENVTEFURSBGSUxFUyBTQ0FMSU5HIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc3B1cERlY2xhcmVTdWJzICAgIFRZUEUgU1RSRUFNIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc3B1cEVzdGltYXRpb25TdWJzIEVTVElNQVRFIFNTRVhQIERZTkVYUCBSRVNVTFQgY29udGFpbmVkCitzeW4ga2V5d29yZCBzcHVwRXh0ZXJuYWxTdWJzICAgVFJBTlNNSVQgUkVDRUlWRSBjb250YWluZWQKK3N5biBrZXl3b3JkIHNwdXBGbG93c2hlZXRTdWJzICBTVFJFQU0gY29udGFpbmVkCitzeW4ga2V5d29yZCBzcHVwRnVuY3Rpb25TdWJzICAgSU5QVVQgT1VUUFVUIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc3B1cEdsb2JhbFN1YnMgICAgIFZBUklBQkxFUyBNQVhJTUlaRSBNSU5JTUlaRSBDT05TVFJBSU5UIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc3B1cEhvbW90b3B5U3VicyAgIFZBUlkgT1BUSU9OUyBjb250YWluZWQKK3N5biBrZXl3b3JkIHNwdXBNYWNyb1N1YnMgICAgICBNT0RFTCBGTE9XU0hFRVQgY29udGFpbmVkCitzeW4ga2V5d29yZCBzcHVwTW9kZWxTdWJzICAgICAgQ0FURUdPUlkgU0VUIFRZUEUgU1RSRUFNIEVRVUFUSU9OIFBST0NFRFVSRSBjb250YWluZWQKK3N5biBrZXl3b3JkIHNwdXBPcGVyYXRpb25TdWJzICBTRVQgUFJFU0VUIElOSVRJQUwgU1NUQVRFIEZSRUUgY29udGFpbmVkCitzeW4ga2V5d29yZCBzcHVwT3B0aW9uc1N1YnMgICAgUk9VVElORVMgVFJBTlNMQVRFIEVYRUNVVElPTiBjb250YWluZWQKK3N5biBrZXl3b3JkIHNwdXBQcm9jZWR1cmVTdWJzICBJTlBVVCBPVVRQVVQgU1BBQ0UgUFJFQ0FMTCBQT1NUQ0FMTCBERVJJVkFUSVZFIFNUUkVBTSBjb250YWluZWQKKyIgbm8gc3Vic2VjdGlvbnMgZm9yIFByb2ZpbGVzCitzeW4ga2V5d29yZCBzcHVwUmVwb3J0U3VicyAgICAgU0VUIElOSVRJQUwgRklFTERTIEZJRUxETUFSSyBESVNQTEFZIFdJVEhJTiBjb250YWluZWQKK3N5biBrZXl3b3JkIHNwdXBVbml0U3VicyAgICAgICBST1VUSU5FUyBTRVQgY29udGFpbmVkCisKKyIgYWRkaXRpb25hbCBrZXl3b3JkcyBmb3Igc3Vic2VjdGlvbnMKK2lmICFleGlzdHMoICJzdHJpY3Rfc3Vic2VjdGlvbnMiICkKKyAgICBzeW4ga2V5d29yZCBzcHVwQ29uZGl0aW9uc1N1YnMgU1RPUCBQUklOVCBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwRGVjbGFyZVN1YnMgICAgVU5JVCBTRVQgQ09NUE9ORU5UUyBUSEVSTU8gT1BUSU9OUyBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwRXN0aW1hdGlvblN1YnMgVkFSWSBNRUFTVVJFIElOSVRJQUwgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cEZsb3dzaGVldFN1YnMgIFRZUEUgRkVFRCBQUk9EVUNUIElOUFVUIE9VVFBVVCBDT05ORUNUSU9OIE9GIElTIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBNYWNyb1N1YnMgICAgICBDT05ORUNUSU9OIFNUUkVBTSBTRVQgSU5QVVQgT1VUUFVUIE9GIElTIEZFRUQgUFJPRFVDVCBUWVBFIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBNb2RlbFN1YnMgICAgICBBUyBBUlJBWSBPRiBJTlBVVCBPVVRQVVQgQ09OTkVDVElPTiBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwT3BlcmF0aW9uU3VicyAgV0lUSElOIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBSZXBvcnRTdWJzICAgICBMRUZUIFJJR0hUIENFTlRFUiBDRU5UUkUgVU9NIFRJTUUgREFURSBWRVJTSU9OIFJFTERBVEUgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cFVuaXRTdWJzICAgICAgIElTIEEgY29udGFpbmVkCitlbmRpZgorCisiIFNwZWVkdXAgZGF0YSB0eXBlcworaWYgZXhpc3RzKCAiaGlnaGxpZ2h0X3R5cGVzIiApCisgICAgc3luIGtleXdvcmQgc3B1cFR5cGVzIGFjdF9jb2VmZl9saXEgYXJlYSBjb2VmZmljaWVudCBjb25jZW50cmF0aW9uIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBUeXBlcyBjb250cm9sX3NpZ25hbCBjb25kX2xpcSBjb25kX3ZhcCBjcF9tYXNzX2xpcSBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgY3BfbW9sX2xpcSBjcF9tb2xfdmFwIGN2X21vbF9saXEgY3ZfbW9sX3ZhcCBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgZGlmZnVzX2xpcSBkaWZmdXNfdmFwIGRlbHRhX3AgZGVuc19tYXNzIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBUeXBlcyBkZW5zX21hc3Nfc29sIGRlbnNfbWFzc19saXEgZGVuc19tYXNzX3ZhcCBkZW5zX21vbCBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgZGVuc19tb2xfc29sIGRlbnNfbW9sX2xpcSBkZW5zX21vbF92YXAgZW50aGZsb3cgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cFR5cGVzIGVudGhfbWFzcyBlbnRoX21hc3NfbGlxIGVudGhfbWFzc192YXAgZW50aF9tb2wgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cFR5cGVzIGVudGhfbW9sX3NvbCBlbnRoX21vbF9saXEgZW50aF9tb2xfdmFwIGVudHJfbW9sIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBUeXBlcyBlbnRyX21vbF9zb2wgZW50cl9tb2xfbGlxIGVudHJfbW9sX3ZhcCBmcmFjdGlvbiBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgZmxvd19tYXNzIGZsb3dfbWFzc19saXEgZmxvd19tYXNzX3ZhcCBmbG93X21vbCBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgZmxvd19tb2xfdmFwIGZsb3dfbW9sX2xpcSBmbG93X3ZvbCBmbG93X3ZvbF92YXAgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cFR5cGVzIGZsb3dfdm9sX2xpcSBmdWdhX3ZhcCBmdWdhX2xpcSBmdWdhX3NvbCBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgZ2liYl9tb2xfc29sIGhlYXRfcmVhY3QgaGVhdF90cmFuc19jb2VmZiBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgaG9sZHVwX2hlYXQgaG9sZHVwX2hlYXRfbGlxIGhvbGR1cF9oZWF0X3ZhcCBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgaG9sZHVwX21hc3MgaG9sZHVwX21hc3NfbGlxIGhvbGR1cF9tYXNzX3ZhcCBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgaG9sZHVwX21vbCBob2xkdXBfbW9sX2xpcSBob2xkdXBfbW9sX3ZhcCBrX3ZhbHVlIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBUeXBlcyBsZW5ndGggbGVuZ3RoX2RlbHRhIGxlbmd0aF9zaG9ydCBsaXFmcmFjdGlvbiBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgbGlxbWFzc2ZyYWN0aW9uIG1hc3MgbWFzc2ZyYWN0aW9uIG1vbGVmcmFjdGlvbiBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgbW9sd2VpZ2h0IG1vbWVudF9pbmVydGlhIG5lZ2F0aXZlIG5vdHlwZSBwZXJjZW50IGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBUeXBlcyBwb3NpdGl2ZSBwcmVzc3VyZSBwcmVzc19kaWZmIHByZXNzX2Ryb3AgcHJlc3NfcmlzZSBjb250YWluZWQKKyAgICBzeW4ga2V5d29yZCBzcHVwVHlwZXMgcmF0aW8gcmVhY3Rpb24gcmVhY3Rpb25fbWFzcyByb3RhdGlvbiBzdXJmX3RlbnMgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cFR5cGVzIHRlbXBlcmF0dXJlIHRlbXBlcmF0dXJlX2FicyB0ZW1wX2RpZmYgdGVtcF9kcm9wIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBUeXBlcyB0ZW1wX3Jpc2UgdGltZSB2YXBmcmFjdGlvbiB2YXBtYXNzZnJhY3Rpb24gY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cFR5cGVzIHZlbG9jaXR5IHZpc2NfbGlxIHZpc2NfdmFwIHZvbHVtZSB6bW9tX3JhdGUgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cFR5cGVzIHNlZ19yYXRlIHNtb21fcmF0ZSB0bW9tX3JhdGUgem1vbV9tYXNzIHNlZ19tYXNzIGNvbnRhaW5lZAorICAgIHN5biBrZXl3b3JkIHNwdXBUeXBlcyBzbW9tX21hc3MgdG1vbV9tYXNzIHptb21faG9sZHVwIHNlZ19ob2xkdXAgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgc3B1cFR5cGVzIHNtb21faG9sZHVwIHRtb21faG9sZHVwIGNvbnRhaW5lZAorZW5kaWYKKworIiBzdHJlYW0gdHlwZXMKK3N5biBrZXl3b3JkIHNwdXBTdHJlYW1zICBtYWluc3RyZWFtIHZhcG91ciBsaXF1aWQgY29udGFpbmVkCisKKyIgImNvbmRpdGlvbmFsIiBrZXl3b3Jkcworc3luIGtleXdvcmQgc3B1cENvbmRpdGlvbmFsICBJRiBUSEVOIEVMU0UgRU5ESUYgY29udGFpbmVkCisiIE9wZXJhdG9ycywgc3ltYm9scyBldGMuCitzeW4ga2V5d29yZCBzcHVwT3BlcmF0b3IgIEFORCBPUiBOT1QgY29udGFpbmVkCitzeW4gbWF0Y2ggc3B1cFN5bWJvbCAgIlssXC0rPTo7Ki9cIjw+QCUoKV0iIGNvbnRhaW5lZAorc3luIG1hdGNoIHNwdXBTcGVjaWFsICAiWyZcJD9dIiBjb250YWluZWQKKyIgU3VycHJpc2luZ2x5LCBTcGVlZHVwIGFsbG93cyBubyB1bmFyeSArIGluc3RlYWQgb2YgdGhlIC0KK3N5biBtYXRjaCBzcHVwRXJyb3IgICJbKD0rXC0qL11ccyorXGRcK1woW2VkXVsrLV1cPVxkXCtcKVw9XD4ibGM9MSBjb250YWluZWQKK3N5biBtYXRjaCBzcHVwRXJyb3IgICJbKD0rXC0qL11ccyorXGRcK1wuXChbZWRdWystXVw9XGRcK1wpXD1cPiJsYz0xIGNvbnRhaW5lZAorc3luIG1hdGNoIHNwdXBFcnJvciAgIlsoPStcLSovXVxzKitcZCpcLlxkXCtcKFtlZF1bKy1dXD1cZFwrXClcPVw+ImxjPTEgY29udGFpbmVkCisiIFN0cmluZworc3luIHJlZ2lvbiBzcHVwU3RyaW5nICBzdGFydD0rIisgIGVuZD0rIisgIG9uZWxpbmUgY29udGFpbmVkCitzeW4gcmVnaW9uIHNwdXBTdHJpbmcgIHN0YXJ0PSsnKyAgZW5kPSsnKyAgb25lbGluZSBjb250YWluZWQKKyIgSWRlbnRpZmllcgorc3luIG1hdGNoIHNwdXBJZGVudGlmaWVyICAiXDxbYS16XVthLXowLTlfXSpcPiIgY29udGFpbmVkCisiIFRleHRwcm9jZXNzb3IgZGlyZWN0aXZlcworc3luIG1hdGNoIHNwdXBUZXh0cHJvY0dlbmVyaWMgICI/W2Etel1bYS16MC05X10qXD4iIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBzcHVwVGV4dHByb2NFcnJvciBtYXRjaGdyb3VwPXNwdXBUZXh0cHJvY0dlbmVyaWMgc3RhcnQ9Ij9FUlJPUiIgIGVuZD0iP0VORCJoZT1zLTEgY29udGFpbmVkCisiIE51bWJlciwgd2l0aG91dCBkZWNpbWFsIHBvaW50CitzeW4gbWF0Y2ggc3B1cE51bWJlciAgIi1cPVxkXCtcKFtlZF1bKy1dXD1cZFwrXClcPSIgY29udGFpbmVkCisiIE51bWJlciwgYWxsb3dzIDEuIGJlZm9yZSBleHBvbmVudAorc3luIG1hdGNoIHNwdXBOdW1iZXIgICItXD1cZFwrXC5cKFtlZF1bKy1dXD1cZFwrXClcPSIgY29udGFpbmVkCisiIE51bWJlciBhbGxvd3MgLjEgYmVmb3JlIGV4cG9uZW50CitzeW4gbWF0Y2ggc3B1cE51bWJlciAgIi1cPVxkKlwuXGRcK1woW2VkXVsrLV1cPVxkXCtcKVw9IiBjb250YWluZWQKKyIgSGVscCBzdWJzZWN0aW9ucworc3luIHJlZ2lvbiBzcHVwSGVscCAgc3RhcnQ9Il5IRUxQImhzPWUrMSAgZW5kPSJeXCRFTkRIRUxQImhlPXMtMSBjb250YWluZWQKKyIgRm9ydHJhbiBjb2RlCitzeW4gcmVnaW9uIHNwdXBDb2RlICBzdGFydD0iXkNPREUiaHM9ZSsxICBlbmQ9Il5cJEVORENPREUiaGU9cy0xIGNvbnRhaW5lZAorIiBvbmVsaW5lIGNvbW1lbnRzCitpZiBvbmVsaW5lX2NvbW1lbnRzID4gMworICAgIG9uZWxpbmVfY29tbWVudHMgPSAyICAgIiBkZWZhdWx0CitlbmRpZgoraWYgb25lbGluZV9jb21tZW50cyA9PSAxCisgICAgc3luIG1hdGNoIHNwdXBDb21tZW50ICAiI1teI10qI1w9IgorZWxzZWlmIG9uZWxpbmVfY29tbWVudHMgPT0gMgorICAgIHN5biBtYXRjaCBzcHVwRXJyb3IgICIjLiokIgorICAgIHN5biBtYXRjaCBzcHVwQ29tbWVudCAgIiNbXiNdKiIgIG5leHRncm91cD1zcHVwRXJyb3IKK2Vsc2VpZiBvbmVsaW5lX2NvbW1lbnRzID09IDMKKyAgICBzeW4gbWF0Y2ggc3B1cENvbW1lbnQgICIjW14jXSoiCisgICAgc3luIG1hdGNoIHNwdXBFcnJvciAgIiNbXiNdKiMuKiIKK2VuZGlmCisiIG11bHRpbGluZSBjb21tZW50cworc3luIG1hdGNoIHNwdXBPcGVuQnJhY2UgInsiIGNvbnRhaW5lZAorc3luIG1hdGNoIHNwdXBFcnJvciAgIn0iCitzeW4gcmVnaW9uIHNwdXBDb21tZW50ICBtYXRjaGdyb3VwPXNwdXBDb21tZW50MiAgc3RhcnQ9InsiICBlbmQ9In0iICBrZWVwZW5kICBjb250YWlucz1zcHVwT3BlbkJyYWNlCisKK3N5biBjbHVzdGVyIHNwdXBPcmRpbmFyeSAgY29udGFpbnM9c3B1cE51bWJlcixzcHVwSWRlbnRpZmllcixzcHVwU3ltYm9sCitzeW4gY2x1c3RlciBzcHVwT3JkaW5hcnkgIGFkZD1zcHVwRXJyb3Isc3B1cFN0cmluZyxzcHVwQ29tbWVudAorc3luIGNsdXN0ZXIgc3B1cFRleHRwcm9jICBjb250YWlucz1zcHVwVGV4dHByb2NHZW5lcmljLHNwdXBUZXh0cHJvY0Vycm9yCisKKyIgZGVmaW5lIHN5bmNyb25pemluZzsgZXNwZWNpYWxseSBPUEVSQVRJT04gc2VjdGlvbnMgY2FuIGJlY29tZSB2ZXJ5IGxhcmdlCitzeW4gc3luYyBjbGVhcgorc3luIHN5bmMgbWlubGluZXM9MTAwCitzeW4gc3luYyBtYXhsaW5lcz01MDAKKworc3luIHN5bmMgbWF0Y2ggc3B1cFN5bmNPcGVyYXRpb24gIGdyb3VwaGVyZSBzcHVwT3BlcmF0aW9uICAiXk9QRVJBVElPTiIKK3N5biBzeW5jIG1hdGNoIHNwdXBTeW5jQ2RpCQkgIGdyb3VwaGVyZSBzcHVwQ2RpCQkgICAiXkNESSIKK3N5biBzeW5jIG1hdGNoIHNwdXBTeW5jQ29uZGl0aW9ucyBncm91cGhlcmUgc3B1cENvbmRpdGlvbnMgIl5DT05ESVRJT05TIgorc3luIHN5bmMgbWF0Y2ggc3B1cFN5bmNEZWNsYXJlICAgIGdyb3VwaGVyZSBzcHVwRGVjbGFyZSAgICAiXkRFQ0xBUkUiCitzeW4gc3luYyBtYXRjaCBzcHVwU3luY0VzdGltYXRpb24gZ3JvdXBoZXJlIHNwdXBFc3RpbWF0aW9uICJeRVNUSU1BVElPTiIKK3N5biBzeW5jIG1hdGNoIHNwdXBTeW5jRXh0ZXJuYWwgICBncm91cGhlcmUgc3B1cEV4dGVybmFsICAgIl5FWFRFUk5BTCIKK3N5biBzeW5jIG1hdGNoIHNwdXBTeW5jRmxvd3NoZWV0ICBncm91cGhlcmUgc3B1cEZsb3dzaGVldCAgIl5GTE9XU0hFRVQiCitzeW4gc3luYyBtYXRjaCBzcHVwU3luY0Z1bmN0aW9uICAgZ3JvdXBoZXJlIHNwdXBGdW5jdGlvbiAgICJeRlVOQ1RJT04iCitzeW4gc3luYyBtYXRjaCBzcHVwU3luY0dsb2JhbCAgICAgZ3JvdXBoZXJlIHNwdXBHbG9iYWwgICAgICJeR0xPQkFMIgorc3luIHN5bmMgbWF0Y2ggc3B1cFN5bmNIb21vdG9weSAgIGdyb3VwaGVyZSBzcHVwSG9tb3RvcHkgICAiXkhPTU9UT1BZIgorc3luIHN5bmMgbWF0Y2ggc3B1cFN5bmNNYWNybyAgICAgIGdyb3VwaGVyZSBzcHVwTWFjcm8gICAgICAiXk1BQ1JPIgorc3luIHN5bmMgbWF0Y2ggc3B1cFN5bmNNb2RlbCAgICAgIGdyb3VwaGVyZSBzcHVwTW9kZWwgICAgICAiXk1PREVMIgorc3luIHN5bmMgbWF0Y2ggc3B1cFN5bmNPcGVyYXRpb24gIGdyb3VwaGVyZSBzcHVwT3BlcmF0aW9uICAiXk9QRVJBVElPTiIKK3N5biBzeW5jIG1hdGNoIHNwdXBTeW5jT3B0aW9ucyAgICBncm91cGhlcmUgc3B1cE9wdGlvbnMgICAgIl5PUFRJT05TIgorc3luIHN5bmMgbWF0Y2ggc3B1cFN5bmNQcm9jZWR1cmUgIGdyb3VwaGVyZSBzcHVwUHJvY2VkdXJlICAiXlBST0NFRFVSRSIKK3N5biBzeW5jIG1hdGNoIHNwdXBTeW5jUHJvZmlsZXMgICBncm91cGhlcmUgc3B1cFByb2ZpbGVzICAgIl5QUk9GSUxFUyIKK3N5biBzeW5jIG1hdGNoIHNwdXBTeW5jUmVwb3J0ICAgICBncm91cGhlcmUgc3B1cFJlcG9ydCAgICAgIl5SRVBPUlQiCitzeW4gc3luYyBtYXRjaCBzcHVwU3luY1RpdGxlICAgICAgZ3JvdXBoZXJlIHNwdXBUaXRsZSAgICAgICJeVElUTEUiCitzeW4gc3luYyBtYXRjaCBzcHVwU3luY1VuaXQgICAgICAgZ3JvdXBoZXJlIHNwdXBVbml0ICAgICAgICJeVU5JVCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3B1cF9zeW5faW5pdHMiKQorICAgIGlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9zcHVwX3N5bl9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICAgIGVuZGlmCisKKwlIaUxpbmsgc3B1cENkaQkJCXNwdXBTZWN0aW9uCisJSGlMaW5rIHNwdXBDb25kaXRpb25zCXNwdXBTZWN0aW9uCisJSGlMaW5rIHNwdXBEZWNsYXJlCQlzcHVwU2VjdGlvbgorCUhpTGluayBzcHVwRXN0aW1hdGlvbglzcHVwU2VjdGlvbgorCUhpTGluayBzcHVwRXh0ZXJuYWwJCXNwdXBTZWN0aW9uCisJSGlMaW5rIHNwdXBGbG93c2hlZXQJc3B1cFNlY3Rpb24KKwlIaUxpbmsgc3B1cEZ1bmN0aW9uCQlzcHVwU2VjdGlvbgorCUhpTGluayBzcHVwR2xvYmFsCQlzcHVwU2VjdGlvbgorCUhpTGluayBzcHVwSG9tb3RvcHkJCXNwdXBTZWN0aW9uCisJSGlMaW5rIHNwdXBNYWNybwkJc3B1cFNlY3Rpb24KKwlIaUxpbmsgc3B1cE1vZGVsCQlzcHVwU2VjdGlvbgorCUhpTGluayBzcHVwT3BlcmF0aW9uCXNwdXBTZWN0aW9uCisJSGlMaW5rIHNwdXBPcHRpb25zCQlzcHVwU2VjdGlvbgorCUhpTGluayBzcHVwUHJvY2VkdXJlCXNwdXBTZWN0aW9uCisJSGlMaW5rIHNwdXBQcm9maWxlcwkJc3B1cFNlY3Rpb24KKwlIaUxpbmsgc3B1cFJlcG9ydAkJc3B1cFNlY3Rpb24KKwlIaUxpbmsgc3B1cFRpdGxlCQlzcHVwQ29uc3RhbnQgICIgdGhpcyBpcyBjb3JyZWN0LCB0cnVseSA7KQorCUhpTGluayBzcHVwVW5pdAkJCXNwdXBTZWN0aW9uCisKKwlIaUxpbmsgc3B1cENkaVN1YnMJCSAgc3B1cFN1YnMKKwlIaUxpbmsgc3B1cENvbmRpdGlvbnNTdWJzIHNwdXBTdWJzCisJSGlMaW5rIHNwdXBEZWNsYXJlU3VicwkgIHNwdXBTdWJzCisJSGlMaW5rIHNwdXBFc3RpbWF0aW9uU3VicyBzcHVwU3VicworCUhpTGluayBzcHVwRXh0ZXJuYWxTdWJzICAgc3B1cFN1YnMKKwlIaUxpbmsgc3B1cEZsb3dzaGVldFN1YnMgIHNwdXBTdWJzCisJSGlMaW5rIHNwdXBGdW5jdGlvblN1YnMgICBzcHVwU3VicworCUhpTGluayBzcHVwSG9tb3RvcHlTdWJzICAgc3B1cFN1YnMKKwlIaUxpbmsgc3B1cE1hY3JvU3VicwkgIHNwdXBTdWJzCisJSGlMaW5rIHNwdXBNb2RlbFN1YnMJICBzcHVwU3VicworCUhpTGluayBzcHVwT3BlcmF0aW9uU3VicyAgc3B1cFN1YnMKKwlIaUxpbmsgc3B1cE9wdGlvbnNTdWJzCSAgc3B1cFN1YnMKKwlIaUxpbmsgc3B1cFByb2NlZHVyZVN1YnMgIHNwdXBTdWJzCisJSGlMaW5rIHNwdXBSZXBvcnRTdWJzCSAgc3B1cFN1YnMKKwlIaUxpbmsgc3B1cFVuaXRTdWJzCQkgIHNwdXBTdWJzCisKKwlIaUxpbmsgc3B1cENvZGUJCQkgICBOb3JtYWwKKwlIaUxpbmsgc3B1cENvbW1lbnQJCSAgIENvbW1lbnQKKwlIaUxpbmsgc3B1cENvbW1lbnQyCQkgICBzcHVwQ29tbWVudAorCUhpTGluayBzcHVwQ29uZGl0aW9uYWwJICAgU3RhdGVtZW50CisJSGlMaW5rIHNwdXBDb25zdGFudAkJICAgQ29uc3RhbnQKKwlIaUxpbmsgc3B1cEVycm9yCQkgICBFcnJvcgorCUhpTGluayBzcHVwSGVscAkJCSAgIE5vcm1hbAorCUhpTGluayBzcHVwSWRlbnRpZmllcgkgICBJZGVudGlmaWVyCisJSGlMaW5rIHNwdXBOdW1iZXIJCSAgIENvbnN0YW50CisJSGlMaW5rIHNwdXBPcGVyYXRvcgkJICAgU3BlY2lhbAorCUhpTGluayBzcHVwT3BlbkJyYWNlCSAgIHNwdXBFcnJvcgorCUhpTGluayBzcHVwU2VjdGlvbgkJICAgU3RhdGVtZW50CisJSGlMaW5rIHNwdXBTcGVjaWFsCQkgICBzcHVwVGV4dHByb2NHZW5lcmljCisJSGlMaW5rIHNwdXBTdHJlYW1zCQkgICBUeXBlCisJSGlMaW5rIHNwdXBTdHJpbmcJCSAgIENvbnN0YW50CisJSGlMaW5rIHNwdXBTdWJzCQkJICAgU3RhdGVtZW50CisJSGlMaW5rIHNwdXBTeW1ib2wJCSAgIFNwZWNpYWwKKwlIaUxpbmsgc3B1cFRleHRwcm9jRXJyb3IgICBOb3JtYWwKKwlIaUxpbmsgc3B1cFRleHRwcm9jR2VuZXJpYyBQcmVQcm9jCisJSGlMaW5rIHNwdXBUeXBlcwkJICAgVHlwZQorCisgICAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNwdXAiCisKKyIgdmltOnRzPTQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NweWNlLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NweWNlLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDFhYTg2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3B5Y2UudmltCkBAIC0wLDAgKzEsMTEwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgU1BZQ0UKKyIgTWFpbnRhaW5lcjoJIFJpbW9uIEJhcnIgPHJpbW9uIEFUIGFjbSBET1Qgb3JnPgorIiBVUkw6CQkgICAgIGh0dHA6Ly9zcHljZS5zb3VyY2Vmb3JnZS5uZXQKKyIgTGFzdCBDaGFuZ2U6IDIwMDMgTWF5IDExCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiB3ZSBkZWZpbmUgaXQgaGVyZSBzbyB0aGF0IGluY2x1ZGVkIGZpbGVzIGNhbiB0ZXN0IGZvciBpdAoraWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXg9J3NweWNlJworZW5kaWYKKworIiBSZWFkIHRoZSBIVE1MIHN5bnRheCB0byBzdGFydCB3aXRoCitsZXQgYjpkaWRfaW5kZW50ID0gMQkgICAgICIgZG9uJ3QgcGVyZm9ybSBIVE1MIGluZGVudGF0aW9uIQorbGV0IGh0bWxfbm9fcmVuZGVyaW5nID0gMSAgICAiIGRvIG5vdCByZW5kZXIgPGI+LDxpPiwgZXRjLi4uCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvIDxzZmlsZT46cDpoL2h0bWwudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9odG1sLnZpbQorICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CitlbmRpZgorCisiIGluY2x1ZGUgcHl0aG9uCitzeW4gaW5jbHVkZSBAUHl0aG9uIDxzZmlsZT46cDpoL3B5dGhvbi52aW0KK3N5biBpbmNsdWRlIEBIdG1sIDxzZmlsZT46cDpoL2h0bWwudmltCisKKyIgc3B5Y2UgZGVmaW5pdGlvbnMKK3N5biBrZXl3b3JkIHNweWNlRGlyZWN0aXZlS2V5d29yZCBpbmNsdWRlIGNvbXBhY3QgbW9kdWxlIGltcG9ydCBjb250YWluZWQKK3N5biBrZXl3b3JkIHNweWNlRGlyZWN0aXZlQXJnIG5hbWUgbmFtZXMgZmlsZSBjb250YWluZWQKK3N5biByZWdpb24gIHNweWNlRGlyZWN0aXZlU3RyaW5nIHN0YXJ0PSsiKyBlbmQ9KyIrIGNvbnRhaW5lZAorc3luIG1hdGNoICAgc3B5Y2VEaXJlY3RpdmVWYWx1ZSAiPVtcdCBdKlteJyIsIFx0Pl1bXiwgXHQ+XSoiaHM9cysxIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggc3B5Y2VCZWdpbkVycm9yUyAgLFxbXFssCitzeW4gbWF0Y2ggc3B5Y2VCZWdpbkVycm9yQSAgLDwlLAorc3luIGNsdXN0ZXIgc3B5Y2VCZWdpbkVycm9yIGNvbnRhaW5zPXNweWNlQmVnaW5FcnJvclMsc3B5Y2VCZWdpbkVycm9yQQorc3luIG1hdGNoIHNweWNlRW5kRXJyb3JTICAgICxcXVxdLAorc3luIG1hdGNoIHNweWNlRW5kRXJyb3JBICAgICwlPiwKK3N5biBjbHVzdGVyIHNweWNlRW5kRXJyb3IgY29udGFpbnM9c3B5Y2VFbmRFcnJvclMsc3B5Y2VFbmRFcnJvckEKKworc3luIG1hdGNoIHNweWNlRXNjQmVnaW5TICAgICAgICxcXFxbXFssCitzeW4gbWF0Y2ggc3B5Y2VFc2NCZWdpbkEgICAgICAgLFxcPCUsCitzeW4gY2x1c3RlciBzcHljZUVzY0JlZ2luIGNvbnRhaW5zPXNweWNlRXNjQmVnaW5TLHNweWNlRXNjQmVnaW5BCitzeW4gbWF0Y2ggc3B5Y2VFc2NFbmRTCSAgICAgICAsXFxcXVxdLAorc3luIG1hdGNoIHNweWNlRXNjRW5kQQkgICAgICAgLFxcJT4sCitzeW4gY2x1c3RlciBzcHljZUVzY0VuZCBjb250YWlucz1zcHljZUVzY0VuZFMsc3B5Y2VFc2NFbmRBCitzeW4gbWF0Y2ggc3B5Y2VFc2NFbmRDb21tZW50UyAgLC0tXFxcXVxdLAorc3luIG1hdGNoIHNweWNlRXNjRW5kQ29tbWVudEEgICwtLVxcJT4sCitzeW4gY2x1c3RlciBzcHljZUVzY0VuZENvbW1lbnQgY29udGFpbnM9c3B5Y2VFc2NFbmRDb21tZW50UyxzcHljZUVzY0VuZENvbW1lbnRBCisKK3N5biByZWdpb24gc3B5Y2VTdG10UyAgICAgIG1hdGNoZ3JvdXA9c3B5Y2VTdG10RGVsaW0gc3RhcnQ9LFxbXFssIGVuZD0sXF1cXSwgY29udGFpbnM9QFB5dGhvbixzcHljZUxhbWJkYVMsc3B5Y2VMYW1iZGFBLHNweWNlQmVnaW5FcnJvciBrZWVwZW5kCitzeW4gcmVnaW9uIHNweWNlU3RtdEEgICAgICBtYXRjaGdyb3VwPXNweWNlU3RtdERlbGltIHN0YXJ0PSw8JSwgZW5kPSwlPiwgY29udGFpbnM9QFB5dGhvbixzcHljZUxhbWJkYVMsc3B5Y2VMYW1iZGFBLHNweWNlQmVnaW5FcnJvciBrZWVwZW5kCitzeW4gcmVnaW9uIHNweWNlQ2h1bmtTICAgICBtYXRjaGdyb3VwPXNweWNlQ2h1bmtEZWxpbSBzdGFydD0sXFtcW1xcLCBlbmQ9LFxdXF0sIGNvbnRhaW5zPUBQeXRob24sc3B5Y2VMYW1iZGFTLHNweWNlTGFtYmRhQSxzcHljZUJlZ2luRXJyb3Iga2VlcGVuZAorc3luIHJlZ2lvbiBzcHljZUNodW5rQSAgICAgbWF0Y2hncm91cD1zcHljZUNodW5rRGVsaW0gc3RhcnQ9LDwlXFwsIGVuZD0sJT4sIGNvbnRhaW5zPUBQeXRob24sc3B5Y2VMYW1iZGFTLHNweWNlTGFtYmRhQSxzcHljZUJlZ2luRXJyb3Iga2VlcGVuZAorc3luIHJlZ2lvbiBzcHljZUV2YWxTICAgICAgbWF0Y2hncm91cD1zcHljZUV2YWxEZWxpbSBzdGFydD0sXFtcWz0sIGVuZD0sXF1cXSwgY29udGFpbnM9QFB5dGhvbixzcHljZUxhbWJkYVMsc3B5Y2VMYW1iZGFBLHNweWNlQmVnaW5FcnJvciBrZWVwZW5kCitzeW4gcmVnaW9uIHNweWNlRXZhbEEgICAgICBtYXRjaGdyb3VwPXNweWNlRXZhbERlbGltIHN0YXJ0PSw8JT0sIGVuZD0sJT4sIGNvbnRhaW5zPUBQeXRob24sc3B5Y2VMYW1iZGFTLHNweWNlTGFtYmRhQSxzcHljZUJlZ2luRXJyb3Iga2VlcGVuZAorc3luIHJlZ2lvbiBzcHljZURpcmVjdGl2ZVMgbWF0Y2hncm91cD1zcHljZURlbGltIHN0YXJ0PSxcW1xbXC4sIGVuZD0sXF1cXSwgY29udGFpbnM9c3B5Y2VCZWdpbkVycm9yLHNweWNlRGlyZWN0aXZlS2V5d29yZCxzcHljZURpcmVjdGl2ZUFyZyxzcHljZURpcmVjdGl2ZVZhbHVlLHNweWNlRGlyZWN0aXZlU3RyaW5nIGtlZXBlbmQKK3N5biByZWdpb24gc3B5Y2VEaXJlY3RpdmVBIG1hdGNoZ3JvdXA9c3B5Y2VEZWxpbSBzdGFydD0sPCVALCBlbmQ9LCU+LCBjb250YWlucz1zcHljZUJlZ2luRXJyb3Isc3B5Y2VEaXJlY3RpdmVLZXl3b3JkLHNweWNlRGlyZWN0aXZlQXJnLHNweWNlRGlyZWN0aXZlVmFsdWUsc3B5Y2VEaXJlY3RpdmVTdHJpbmcga2VlcGVuZAorc3luIHJlZ2lvbiBzcHljZUNvbW1lbnRTICAgbWF0Y2hncm91cD1zcHljZUNvbW1lbnREZWxpbSBzdGFydD0sXFtcWy0tLCBlbmQ9LC0tXF1cXSwKK3N5biByZWdpb24gc3B5Y2VDb21tZW50QSAgIG1hdGNoZ3JvdXA9c3B5Y2VDb21tZW50RGVsaW0gc3RhcnQ9LDwlLS0sIGVuZD0sLS0lPiwKK3N5biByZWdpb24gc3B5Y2VMYW1iZGFTICAgIG1hdGNoZ3JvdXA9c3B5Y2VMYW1iZGFEZWxpbSBzdGFydD0sXFtcW3NweSFcPywgZW5kPSxcXVxdLCBjb250YWlucz1ASHRtbCxAc3B5Y2UgZXh0ZW5kCitzeW4gcmVnaW9uIHNweWNlTGFtYmRhQSAgICBtYXRjaGdyb3VwPXNweWNlTGFtYmRhRGVsaW0gc3RhcnQ9LDwlc3B5IVw/LCBlbmQ9LCU+LCBjb250YWlucz1ASHRtbCxAc3B5Y2UgZXh0ZW5kCisKK3N5biBjbHVzdGVyIHNweWNlIGNvbnRhaW5zPXNweWNlU3RtdFMsc3B5Y2VTdG10QSxzcHljZUNodW5rUyxzcHljZUNodW5rQSxzcHljZUV2YWxTLHNweWNlRXZhbEEsc3B5Y2VDb21tZW50UyxzcHljZUNvbW1lbnRBLHNweWNlRGlyZWN0aXZlUyxzcHljZURpcmVjdGl2ZUEKKworc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgY29udGFpbnM9QHNweWNlCisKK2hpIGxpbmsgc3B5Y2VEaXJlY3RpdmVLZXl3b3JkCVNwZWNpYWwKK2hpIGxpbmsgc3B5Y2VEaXJlY3RpdmVBcmcJVHlwZQoraGkgbGluayBzcHljZURpcmVjdGl2ZVN0cmluZwlTdHJpbmcKK2hpIGxpbmsgc3B5Y2VEaXJlY3RpdmVWYWx1ZQlTdHJpbmcKKworaGkgbGluayBzcHljZURlbGltCQlTcGVjaWFsCitoaSBsaW5rIHNweWNlU3RtdERlbGltCQlzcHljZURlbGltCitoaSBsaW5rIHNweWNlQ2h1bmtEZWxpbQkJc3B5Y2VEZWxpbQoraGkgbGluayBzcHljZUV2YWxEZWxpbQkJc3B5Y2VEZWxpbQoraGkgbGluayBzcHljZUxhbWJkYURlbGltCXNweWNlRGVsaW0KK2hpIGxpbmsgc3B5Y2VDb21tZW50RGVsaW0JQ29tbWVudAorCitoaSBsaW5rIHNweWNlQmVnaW5FcnJvclMJRXJyb3IKK2hpIGxpbmsgc3B5Y2VCZWdpbkVycm9yQQlFcnJvcgoraGkgbGluayBzcHljZUVuZEVycm9yUwkJRXJyb3IKK2hpIGxpbmsgc3B5Y2VFbmRFcnJvckEJCUVycm9yCisKK2hpIGxpbmsgc3B5Y2VTdG10UwkJc3B5Y2UKK2hpIGxpbmsgc3B5Y2VTdG10QQkJc3B5Y2UKK2hpIGxpbmsgc3B5Y2VDaHVua1MJCXNweWNlCitoaSBsaW5rIHNweWNlQ2h1bmtBCQlzcHljZQoraGkgbGluayBzcHljZUV2YWxTCQlzcHljZQoraGkgbGluayBzcHljZUV2YWxBCQlzcHljZQoraGkgbGluayBzcHljZURpcmVjdGl2ZVMJCXNweWNlCitoaSBsaW5rIHNweWNlRGlyZWN0aXZlQQkJc3B5Y2UKK2hpIGxpbmsgc3B5Y2VDb21tZW50UwkJQ29tbWVudAoraGkgbGluayBzcHljZUNvbW1lbnRBCQlDb21tZW50CitoaSBsaW5rIHNweWNlTGFtYmRhUwkJTm9ybWFsCitoaSBsaW5rIHNweWNlTGFtYmRhQQkJTm9ybWFsCisKK2hpIGxpbmsgc3B5Y2UJCQlTdGF0ZW1lbnQKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3B5Y2UiCitpZiBtYWluX3N5bnRheCA9PSAnc3B5Y2UnCisgIHVubGV0IG1haW5fc3ludGF4CitlbmRpZgorCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zcWwudmltIGIvcnVudGltZS9zeW50YXgvc3FsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDgzYjgxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3FsLnZpbQpAQCAtMCwwICsxLDg5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU1FMLCBQTC9TUUwgKE9yYWNsZSA4aSkKKyIgTWFpbnRhaW5lcjoJUGF1bCBNb29yZSA8Z3VzdGF2QG1vcnBoZXVzLmRlbW9uLmNvLnVrPgorIiBMYXN0IENoYW5nZToJMjAwMSBBcHIgMzAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBUaGUgU1FMIHJlc2VydmVkIHdvcmRzLCBkZWZpbmVkIGFzIGtleXdvcmRzLgorCitzeW4ga2V5d29yZCBzcWxTcGVjaWFsICBmYWxzZSBudWxsIHRydWUKKworc3luIGtleXdvcmQgc3FsS2V5d29yZAlhY2Nlc3MgYWRkIGFzIGFzYyBiZWdpbiBieSBjaGVjayBjbHVzdGVyIGNvbHVtbgorc3luIGtleXdvcmQgc3FsS2V5d29yZAljb21wcmVzcyBjb25uZWN0IGN1cnJlbnQgY3Vyc29yIGRlY2ltYWwgZGVmYXVsdCBkZXNjCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkCWVsc2UgZWxzaWYgZW5kIGV4Y2VwdGlvbiBleGNsdXNpdmUgZmlsZSBmb3IgZnJvbQorc3luIGtleXdvcmQgc3FsS2V5d29yZAlmdW5jdGlvbiBncm91cCBoYXZpbmcgaWRlbnRpZmllZCBpZiBpbW1lZGlhdGUgaW5jcmVtZW50CitzeW4ga2V5d29yZCBzcWxLZXl3b3JkCWluZGV4IGluaXRpYWwgaW50byBpcyBsZXZlbCBsb29wIG1heGV4dGVudHMgbW9kZSBtb2RpZnkKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQJbm9jb21wcmVzcyBub3dhaXQgb2Ygb2ZmbGluZSBvbiBvbmxpbmUgc3RhcnQKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQJc3VjY2Vzc2Z1bCBzeW5vbnltIHRhYmxlIHRoZW4gdG8gdHJpZ2dlciB1aWQKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQJdW5pcXVlIHVzZXIgdmFsaWRhdGUgdmFsdWVzIHZpZXcgd2hlbmV2ZXIKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQJd2hlcmUgd2l0aCBvcHRpb24gb3JkZXIgcGN0ZnJlZSBwcml2aWxlZ2VzIHByb2NlZHVyZQorc3luIGtleXdvcmQgc3FsS2V5d29yZAlwdWJsaWMgcmVzb3VyY2UgcmV0dXJuIHJvdyByb3dsYWJlbCByb3dudW0gcm93cworc3luIGtleXdvcmQgc3FsS2V5d29yZAlzZXNzaW9uIHNoYXJlIHNpemUgc21hbGxpbnQgdHlwZSB1c2luZworCitzeW4ga2V5d29yZCBzcWxPcGVyYXRvcglub3QgYW5kIG9yCitzeW4ga2V5d29yZCBzcWxPcGVyYXRvcglpbiBhbnkgc29tZSBhbGwgYmV0d2VlbiBleGlzdHMKK3N5biBrZXl3b3JkIHNxbE9wZXJhdG9yCWxpa2UgZXNjYXBlCitzeW4ga2V5d29yZCBzcWxPcGVyYXRvciB1bmlvbiBpbnRlcnNlY3QgbWludXMKK3N5biBrZXl3b3JkIHNxbE9wZXJhdG9yIHByaW9yIGRpc3RpbmN0CitzeW4ga2V5d29yZCBzcWxPcGVyYXRvcglzeXNkYXRlIG91dAorCitzeW4ga2V5d29yZCBzcWxTdGF0ZW1lbnQgYWx0ZXIgYW5hbHl6ZSBhdWRpdCBjb21tZW50IGNvbW1pdCBjcmVhdGUKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBkZWxldGUgZHJvcCBleGVjdXRlIGV4cGxhaW4gZ3JhbnQgaW5zZXJ0IGxvY2sgbm9hdWRpdAorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IHJlbmFtZSByZXZva2Ugcm9sbGJhY2sgc2F2ZXBvaW50IHNlbGVjdCBzZXQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCB0cnVuY2F0ZSB1cGRhdGUKKworc3luIGtleXdvcmQgc3FsVHlwZQlib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZmxvYXQgaW50ZWdlciBsb25nCitzeW4ga2V5d29yZCBzcWxUeXBlCW1sc2xhYmVsIG51bWJlciByYXcgcm93aWQgdmFyY2hhciB2YXJjaGFyMiB2YXJyYXkKKworIiBTdHJpbmdzIGFuZCBjaGFyYWN0ZXJzOgorc3luIHJlZ2lvbiBzcWxTdHJpbmcJCXN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKworc3luIHJlZ2lvbiBzcWxTdHJpbmcJCXN0YXJ0PSsnKyAgc2tpcD0rXFxcXFx8XFwnKyAgZW5kPSsnKworCisiIE51bWJlcnM6CitzeW4gbWF0Y2ggc3FsTnVtYmVyCQkiLVw9XDxcZCpcLlw9WzAtOV9dXD4iCisKKyIgQ29tbWVudHM6CitzeW4gcmVnaW9uIHNxbENvbW1lbnQgICAgc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIiBjb250YWlucz1zcWxUb2RvCitzeW4gbWF0Y2ggc3FsQ29tbWVudAkiLS0uKiQiIGNvbnRhaW5zPXNxbFRvZG8KKworc3luIHN5bmMgY2NvbW1lbnQgc3FsQ29tbWVudAorCisiIFRvZG8uCitzeW4ga2V5d29yZCBzcWxUb2RvIFRPRE8gRklYTUUgWFhYIERFQlVHIE5PVEUKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3FsX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NxbF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzcWxDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIHNxbEtleXdvcmQJc3FsU3BlY2lhbAorICBIaUxpbmsgc3FsTnVtYmVyCU51bWJlcgorICBIaUxpbmsgc3FsT3BlcmF0b3IJc3FsU3RhdGVtZW50CisgIEhpTGluayBzcWxTcGVjaWFsCVNwZWNpYWwKKyAgSGlMaW5rIHNxbFN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIHNxbFN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIHNxbFR5cGUJVHlwZQorICBIaUxpbmsgc3FsVG9kbwlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNxbCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NxbGZvcm1zLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NxbGZvcm1zLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTViMmFlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3FsZm9ybXMudmltCkBAIC0wLDAgKzEsMTY4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiAgICBMYW5ndWFnZTogU1FMKkZvcm1zIChPcmFjbGUgNyksIGJhc2VkIG9uIHNxbC52aW0gKHZpbTUuMCkKKyIgIE1haW50YWluZXI6IEF1c3RpbiBaaWVnbGVyIChhdXN0aW5AaGFsb3N0YXR1ZS5jYSkKKyIgTGFzdCBDaGFuZ2U6IDIwMDMgTWF5IDExCisiIFByZXYgQ2hhbmdlOiAxOTk4MDcxMAorIgkgIFVSTDogaHR0cDovL3d3dy5oYWxvc3RhdHVlLmNhL3ZpbS9zeW50YXgvcHJvYy52aW0KKyIKKyIgVE9ETyBGaW5kIGEgbmV3IG1haW50YWluZXIgd2hvIGtub3dzIFNRTCpGb3Jtcy4KKworICAgICIgRm9yIHZlcnNpb24gNS54LCBjbGVhciBhbGwgc3ludGF4IGl0ZW1zLgorICAgICIgRm9yIHZlcnNpb24gNi54LCBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCitpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKK3N5bnRheCBjYXNlIGlnbm9yZQorCitpZiB2ZXJzaW9uID49IDYwMAorICBzZXRsb2NhbCBpc2tleXdvcmQ9YS16LEEtWiw0OC01NyxfLC4sLSw+CitlbHNlCisgIHNldCBpc2tleXdvcmQ9YS16LEEtWiw0OC01NyxfLC4sLSw+CitlbmRpZgorCisKKyAgICAiIFRoZSBTUUwgcmVzZXJ2ZWQgd29yZHMsIGRlZmluZWQgYXMga2V5d29yZHMuCitzeW50YXggbWF0Y2ggc3FsVHJpZ2dlcnMgL29uLS4qJC8KK3N5bnRheCBtYXRjaCBzcWxUcmlnZ2VycyAva2V5LS4qJC8KK3N5bnRheCBtYXRjaCBzcWxUcmlnZ2VycyAvcG9zdC0uKiQvCitzeW50YXggbWF0Y2ggc3FsVHJpZ2dlcnMgL3ByZS0uKiQvCitzeW50YXggbWF0Y2ggc3FsVHJpZ2dlcnMgL3VzZXItLiokLworCitzeW50YXgga2V5d29yZCBzcWxTcGVjaWFsIG51bGwgZmFsc2UgdHJ1ZQorCitzeW50YXgga2V5d29yZCBzcWxQcm9jZWR1cmUgYWJvcnRfcXVlcnkgYW5jaG9yX3ZpZXcgYmVsbCBibG9ja19tZW51IGJyZWFrIGNhbGwKK3N5bnRheCBrZXl3b3JkIHNxbFByb2NlZHVyZSBjYWxsX2lucHV0IGNhbGxfcXVlcnkgY2xlYXJfYmxvY2sgY2xlYXJfZW9sCitzeW50YXgga2V5d29yZCBzcWxQcm9jZWR1cmUgY2xlYXJfZmllbGQgY2xlYXJfZm9ybSBjbGVhcl9yZWNvcmQgY29tbWl0X2Zvcm0KK3N5bnRheCBrZXl3b3JkIHNxbFByb2NlZHVyZSBjb3B5IGNvdW50X3F1ZXJ5IGNyZWF0ZV9yZWNvcmQgZGVmYXVsdF92YWx1ZQorc3ludGF4IGtleXdvcmQgc3FsUHJvY2VkdXJlIGRlbGV0ZV9yZWNvcmQgZGlzcGxheV9lcnJvciBkaXNwbGF5X2ZpZWxkIGRvd24KK3N5bnRheCBrZXl3b3JkIHNxbFByb2NlZHVyZSBkdXBsaWNhdGVfZmllbGQgZHVwbGljYXRlX3JlY29yZCBlZGl0X2ZpZWxkCitzeW50YXgga2V5d29yZCBzcWxQcm9jZWR1cmUgZW50ZXIgZW50ZXJfcXVlcnkgZXJhc2UgZXhlY3V0ZV9xdWVyeQorc3ludGF4IGtleXdvcmQgc3FsUHJvY2VkdXJlIGV4ZWN1dGVfdHJpZ2dlciBleGl0X2Zvcm0gZmlyc3RfUmVjb3JkIGdvX2Jsb2NrCitzeW50YXgga2V5d29yZCBzcWxQcm9jZWR1cmUgZ29fZmllbGQgZ29fcmVjb3JkIGhlbHAgaGlkZV9tZW51IGhpZGVfcGFnZSBob3N0CitzeW50YXgga2V5d29yZCBzcWxQcm9jZWR1cmUgbGFzdF9yZWNvcmQgbGlzdF92YWx1ZXMgbG9ja19yZWNvcmQgbWVzc2FnZQorc3ludGF4IGtleXdvcmQgc3FsUHJvY2VkdXJlIG1vdmVfdmlldyBuZXdfZm9ybSBuZXh0X2Jsb2NrIG5leHRfZmllbGQgbmV4dF9rZXkKK3N5bnRheCBrZXl3b3JkIHNxbFByb2NlZHVyZSBuZXh0X3JlY29yZCBuZXh0X3NldCBwYXVzZSBwb3N0IHByZXZpb3VzX2Jsb2NrCitzeW50YXgga2V5d29yZCBzcWxQcm9jZWR1cmUgcHJldmlvdXNfZmllbGQgcHJldmlvdXNfcmVjb3JkIHByaW50IHJlZGlzcGxheQorc3ludGF4IGtleXdvcmQgc3FsUHJvY2VkdXJlIHJlcGxhY2VfbWVudSByZXNpemVfdmlldyBzY3JvbGxfZG93biBzY3JvbGxfdXAKK3N5bnRheCBrZXl3b3JkIHNxbFByb2NlZHVyZSBzZXRfZmllbGQgc2hvd19rZXlzIHNob3dfbWVudSBzaG93X3BhZ2UKK3N5bnRheCBrZXl3b3JkIHNxbFByb2NlZHVyZSBzeW5jaHJvbml6ZSB1cCB1c2VyX2V4aXQKKworc3ludGF4IGtleXdvcmQgc3FsRnVuY3Rpb24gYmxvY2tfY2hhcmFjdGVyaXN0aWMgZXJyb3JfY29kZSBlcnJvcl90ZXh0CitzeW50YXgga2V5d29yZCBzcWxGdW5jdGlvbiBlcnJvcl90eXBlIGZpZWxkX2NoYXJhY3RlcmlzdGljIGZvcm1fZmFpbHVyZQorc3ludGF4IGtleXdvcmQgc3FsRnVuY3Rpb24gZm9ybV9mYXRhbCBmb3JtX3N1Y2Nlc3MgbmFtZV9pbgorCitzeW50YXgga2V5d29yZCBzcWxQYXJhbWV0ZXJzIGhpZGUgbm9faGlkZSByZXBsYWNlIG5vX3JlcGxhY2UgYXNrX2NvbW1pdAorc3ludGF4IGtleXdvcmQgc3FsUGFyYW1ldGVycyBkb19jb21taXQgbm9fY29tbWl0IG5vX3ZhbGlkYXRlIGFsbF9yZWNvcmRzCitzeW50YXgga2V5d29yZCBzcWxQYXJhbWV0ZXJzIGZvcl91cGRhdGUgbm9fcmVzdHJpY3QgcmVzdHJpY3Qgbm9fc2NyZWVuCitzeW50YXgga2V5d29yZCBzcWxQYXJhbWV0ZXJzIGJhciBmdWxsX3NjcmVlbiBwdWxsX2Rvd24gYXV0b19oZWxwIGF1dG9fc2tpcAorc3ludGF4IGtleXdvcmQgc3FsUGFyYW1ldGVycyBmaXhlZF9sZW5ndGggZW50ZXJhYmxlIHJlcXVpcmVkIGVjaG8gcXVlcnlhYmxlCitzeW50YXgga2V5d29yZCBzcWxQYXJhbWV0ZXJzIHVwZGF0ZWFibGUgdXBkYXRlX251bGwgdXBwZXJfY2FzZSBhdHRyX29uCitzeW50YXgga2V5d29yZCBzcWxQYXJhbWV0ZXJzIGF0dHJfb2ZmIGJhc2VfdGFibGUgZmlyc3RfZmllbGQgbGFzdF9maWVsZAorc3ludGF4IGtleXdvcmQgc3FsUGFyYW1ldGVycyBkYXRhdHlwZSBkaXNwbGF5ZWQgZGlzcGxheV9sZW5ndGggZmllbGRfbGVuZ3RoCitzeW50YXgga2V5d29yZCBzcWxQYXJhbWV0ZXJzIGxpc3QgcGFnZSBwcmltYXJ5X2tleSBxdWVyeV9sZW5ndGggeF9wb3MgeV9wb3MKKworc3ludGF4IG1hdGNoIHNxbFN5c3RlbSAvc3lzdGVtXC5ibG9ja19zdGF0dXMvCitzeW50YXggbWF0Y2ggc3FsU3lzdGVtIC9zeXN0ZW1cLmN1cnJlbnRfYmxvY2svCitzeW50YXggbWF0Y2ggc3FsU3lzdGVtIC9zeXN0ZW1cLmN1cnJlbnRfZmllbGQvCitzeW50YXggbWF0Y2ggc3FsU3lzdGVtIC9zeXN0ZW1cLmN1cnJlbnRfZm9ybS8KK3N5bnRheCBtYXRjaCBzcWxTeXN0ZW0gL3N5c3RlbVwuY3VycmVudF92YWx1ZS8KK3N5bnRheCBtYXRjaCBzcWxTeXN0ZW0gL3N5c3RlbVwuY3Vyc29yX2Jsb2NrLworc3ludGF4IG1hdGNoIHNxbFN5c3RlbSAvc3lzdGVtXC5jdXJzb3JfZmllbGQvCitzeW50YXggbWF0Y2ggc3FsU3lzdGVtIC9zeXN0ZW1cLmN1cnNvcl9yZWNvcmQvCitzeW50YXggbWF0Y2ggc3FsU3lzdGVtIC9zeXN0ZW1cLmN1cnNvcl92YWx1ZS8KK3N5bnRheCBtYXRjaCBzcWxTeXN0ZW0gL3N5c3RlbVwuZm9ybV9zdGF0dXMvCitzeW50YXggbWF0Y2ggc3FsU3lzdGVtIC9zeXN0ZW1cLmxhc3RfcXVlcnkvCitzeW50YXggbWF0Y2ggc3FsU3lzdGVtIC9zeXN0ZW1cLmxhc3RfcmVjb3JkLworc3ludGF4IG1hdGNoIHNxbFN5c3RlbSAvc3lzdGVtXC5tZXNzYWdlX2xldmVsLworc3ludGF4IG1hdGNoIHNxbFN5c3RlbSAvc3lzdGVtXC5yZWNvcmRfc3RhdHVzLworc3ludGF4IG1hdGNoIHNxbFN5c3RlbSAvc3lzdGVtXC50cmlnZ2VyX2Jsb2NrLworc3ludGF4IG1hdGNoIHNxbFN5c3RlbSAvc3lzdGVtXC50cmlnZ2VyX2ZpZWxkLworc3ludGF4IG1hdGNoIHNxbFN5c3RlbSAvc3lzdGVtXC50cmlnZ2VyX3JlY29yZC8KK3N5bnRheCBtYXRjaCBzcWxTeXN0ZW0gL1wkXCRkYXRlXCRcJC8KK3N5bnRheCBtYXRjaCBzcWxTeXN0ZW0gL1wkXCR0aW1lXCRcJC8KKworc3ludGF4IGtleXdvcmQgc3FsS2V5d29yZCBhY2NlcHQgYWNjZXNzIGFkZCBhcyBhc2MgYnkgY2hlY2sgY2x1c3RlciBjb2x1bW4KK3N5bnRheCBrZXl3b3JkIHNxbEtleXdvcmQgY29tcHJlc3MgY29ubmVjdCBjdXJyZW50IGRlY2ltYWwgZGVmYXVsdAorc3ludGF4IGtleXdvcmQgc3FsS2V5d29yZCBkZXNjIGV4Y2x1c2l2ZSBmaWxlIGZvciBmcm9tIGdyb3VwCitzeW50YXgga2V5d29yZCBzcWxLZXl3b3JkIGhhdmluZyBpZGVudGlmaWVkIGltbWVkaWF0ZSBpbmNyZW1lbnQgaW5kZXgKK3N5bnRheCBrZXl3b3JkIHNxbEtleXdvcmQgaW5pdGlhbCBpbnRvIGlzIGxldmVsIG1heGV4dGVudHMgbW9kZSBtb2RpZnkKK3N5bnRheCBrZXl3b3JkIHNxbEtleXdvcmQgbm9jb21wcmVzcyBub3dhaXQgb2Ygb2ZmbGluZSBvbiBvbmxpbmUgc3RhcnQKK3N5bnRheCBrZXl3b3JkIHNxbEtleXdvcmQgc3VjY2Vzc2Z1bCBzeW5vbnltIHRhYmxlIHRvIHRyaWdnZXIgdWlkCitzeW50YXgga2V5d29yZCBzcWxLZXl3b3JkIHVuaXF1ZSB1c2VyIHZhbGlkYXRlIHZhbHVlcyB2aWV3IHdoZW5ldmVyCitzeW50YXgga2V5d29yZCBzcWxLZXl3b3JkIHdoZXJlIHdpdGggb3B0aW9uIG9yZGVyIHBjdGZyZWUgcHJpdmlsZWdlcworc3ludGF4IGtleXdvcmQgc3FsS2V5d29yZCBwdWJsaWMgcmVzb3VyY2Ugcm93IHJvd2xhYmVsIHJvd251bSByb3dzCitzeW50YXgga2V5d29yZCBzcWxLZXl3b3JkIHNlc3Npb24gc2hhcmUgc2l6ZSBzbWFsbGludCBzcWxcKmZvcm1zX3ZlcnNpb24KK3N5bnRheCBrZXl3b3JkIHNxbEtleXdvcmQgdGVyc2UgZGVmaW5lIGZvcm0gbmFtZSB0aXRsZSBwcm9jZWR1cmUgYmVnaW4KK3N5bnRheCBrZXl3b3JkIHNxbEtleXdvcmQgZGVmYXVsdF9tZW51X2FwcGxpY2F0aW9uIHRyaWdnZXIgYmxvY2sgZmllbGQKK3N5bnRheCBrZXl3b3JkIHNxbEtleXdvcmQgZW5kZGVmaW5lIGRlY2xhcmUgZXhjZXB0aW9uIHJhaXNlIHdoZW4gY3Vyc29yCitzeW50YXgga2V5d29yZCBzcWxLZXl3b3JkIGRlZmluaXRpb24gYmFzZV90YWJsZSBwcmFnbWEKK3N5bnRheCBrZXl3b3JkIHNxbEtleXdvcmQgY29sdW1uX25hbWUgZ2xvYmFsIHRyaWdnZXJfdHlwZSB0ZXh0IGRlc2NyaXB0aW9uCitzeW50YXggbWF0Y2ggc3FsS2V5d29yZCAiPDw8Igorc3ludGF4IG1hdGNoIHNxbEtleXdvcmQgIj4+PiIKKworc3ludGF4IGtleXdvcmQgc3FsT3BlcmF0b3Igbm90IGFuZCBvciBvdXQgdG9fbnVtYmVyIHRvX2RhdGUgbWVzc2FnZSBlcmFzZQorc3ludGF4IGtleXdvcmQgc3FsT3BlcmF0b3IgaW4gYW55IHNvbWUgYWxsIGJldHdlZW4gZXhpc3RzIHN1YnN0ciBudmwKK3N5bnRheCBrZXl3b3JkIHNxbE9wZXJhdG9yIGV4Y2VwdGlvbl9pbml0CitzeW50YXgga2V5d29yZCBzcWxPcGVyYXRvciBsaWtlIGVzY2FwZSB0cnVuYyBscGFkIHJwYWQgc3VtCitzeW50YXgga2V5d29yZCBzcWxPcGVyYXRvciB1bmlvbiBpbnRlcnNlY3QgbWludXMgdG9fY2hhciBncmVhdGVzdAorc3ludGF4IGtleXdvcmQgc3FsT3BlcmF0b3IgcHJpb3IgZGlzdGluY3QgZGVjb2RlIGxlYXN0IGF2Zworc3ludGF4IGtleXdvcmQgc3FsT3BlcmF0b3Igc3lzZGF0ZSB0cnVlIGZhbHNlIGZpZWxkX2NoYXJhY3RlcmlzdGljCitzeW50YXgga2V5d29yZCBzcWxPcGVyYXRvciBkaXNwbGF5X2ZpZWxkIGNhbGwgaG9zdAorCitzeW50YXgga2V5d29yZCBzcWxTdGF0ZW1lbnQgYWx0ZXIgYW5hbHl6ZSBhdWRpdCBjb21tZW50IGNvbW1pdCBjcmVhdGUKK3N5bnRheCBrZXl3b3JkIHNxbFN0YXRlbWVudCBkZWxldGUgZHJvcCBleHBsYWluIGdyYW50IGluc2VydCBsb2NrIG5vYXVkaXQKK3N5bnRheCBrZXl3b3JkIHNxbFN0YXRlbWVudCByZW5hbWUgcmV2b2tlIHJvbGxiYWNrIHNhdmVwb2ludCBzZWxlY3Qgc2V0CitzeW50YXgga2V5d29yZCBzcWxTdGF0ZW1lbnQgdHJ1bmNhdGUgdXBkYXRlIGlmIGVsc2lmIGxvb3AgdGhlbgorc3ludGF4IGtleXdvcmQgc3FsU3RhdGVtZW50IG9wZW4gZmV0Y2ggY2xvc2UgZWxzZSBlbmQKKworc3ludGF4IGtleXdvcmQgc3FsVHlwZSBjaGFyIGNoYXJhY3RlciBkYXRlIGxvbmcgcmF3IG1sc2xhYmVsIG51bWJlciByb3dpZAorc3ludGF4IGtleXdvcmQgc3FsVHlwZSB2YXJjaGFyIHZhcmNoYXIyIGZsb2F0IGludGVnZXIgYm9vbGVhbiBnbG9iYWwKKworc3ludGF4IGtleXdvcmQgc3FsQ29kZXMgc3FsY29kZSBub19kYXRhX2ZvdW5kIHRvb19tYW55X3Jvd3Mgb3RoZXJzCitzeW50YXgga2V5d29yZCBzcWxDb2RlcyBmb3JtX3RyaWdnZXJfZmFpbHVyZSBub3Rmb3VuZCBmb3VuZAorc3ludGF4IGtleXdvcmQgc3FsQ29kZXMgdmFsaWRhdGUgbm9fY29tbWl0CisKKyAgICAiIENvbW1lbnRzOgorc3ludGF4IHJlZ2lvbiBzcWxDb21tZW50ICAgIHN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIKK3N5bnRheCBtYXRjaCBzcWxDb21tZW50ICAiLS0uKiIKKworICAgICIgU3RyaW5ncyBhbmQgY2hhcmFjdGVyczoKK3N5bnRheCByZWdpb24gc3FsU3RyaW5nICBzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisKK3N5bnRheCByZWdpb24gc3FsU3RyaW5nICBzdGFydD0rJysgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rJysKKworICAgICIgTnVtYmVyczoKK3N5bnRheCBtYXRjaCBzcWxOdW1iZXIgICItXD1cPFswLTldKlwuXD1bMC05X11cPiIKKworc3ludGF4IHN5bmMgY2NvbW1lbnQgc3FsQ29tbWVudAorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3FsZm9ybXNfc3luX2luaXRzIikKKyAgICBpZiB2ZXJzaW9uIDwgNTA4CisJbGV0IGRpZF9zcWxmb3Jtc19zeW5faW5pdHMgPSAxCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgICBlbHNlCisJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICAgZW5kaWYKKworICAgIEhpTGluayBzcWxDb21tZW50IENvbW1lbnQKKyAgICBIaUxpbmsgc3FsS2V5d29yZCBTdGF0ZW1lbnQKKyAgICBIaUxpbmsgc3FsTnVtYmVyIE51bWJlcgorICAgIEhpTGluayBzcWxPcGVyYXRvciBTdGF0ZW1lbnQKKyAgICBIaUxpbmsgc3FsUHJvY2VkdXJlIFN0YXRlbWVudAorICAgIEhpTGluayBzcWxGdW5jdGlvbiBTdGF0ZW1lbnQKKyAgICBIaUxpbmsgc3FsU3lzdGVtIElkZW50aWZpZXIKKyAgICBIaUxpbmsgc3FsU3BlY2lhbCBTcGVjaWFsCisgICAgSGlMaW5rIHNxbFN0YXRlbWVudCBTdGF0ZW1lbnQKKyAgICBIaUxpbmsgc3FsU3RyaW5nIFN0cmluZworICAgIEhpTGluayBzcWxUeXBlIFR5cGUKKyAgICBIaUxpbmsgc3FsQ29kZXMgSWRlbnRpZmllcgorICAgIEhpTGluayBzcWxUcmlnZ2VycyBQcmVQcm9jCisKKyAgICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3FsZm9ybXMiCisKKyIgdmltOiB0cz04IHN3PTQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NxbGoudmltIGIvcnVudGltZS9zeW50YXgvc3Fsai52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE2NGJkZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NxbGoudmltCkBAIC0wLDAgKzEsMTAwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJc3FsagorIiBNYWludGFpbmVyOglBbmRyZWFzIEZpc2NoYmFjaCA8YWZpc2NoQGFsdGF2aXN0YS5jb20+CisiCQlUaGlzIGZpbGUgaXMgYmFzZWQgb24gc3FsLnZpbSAmJiBqYXZhLnZpbSAodGhhbngpCisiCQl3aXRoIGEgaGFuZGZ1bCBvZiBhZGRpdGlvbmFsIHNxbCB3b3JkcyBhbmQgc3RpbGwKKyIJCWEgc3Vic2V0IG9mIHdoYXRldmVyIHN0YW5kYXJkCisiIExhc3QgY2hhbmdlOgkzMXRoIERlYyAyMDAxCisKKyIgYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouc3FsaiBzbyAkVklNL3N5bnRheC9zcWxqLnZpbQorCisiIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZAoraWYgdmVyc2lvbiA8IDYwMAorICAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgIGZpbmlzaAorZW5kaWYKKworIiBSZWFkIHRoZSBKYXZhIHN5bnRheCB0byBzdGFydCB3aXRoCitzb3VyY2UgPHNmaWxlPjpwOmgvamF2YS52aW0KKworIiBTUUxKIGV4dGVudGlvbnMKKyIgVGhlIFNRTCByZXNlcnZlZCB3b3JkcywgZGVmaW5lZCBhcyBrZXl3b3Jkcy4KKworc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZCBzcWxqU3BlY2lhbCAgIG51bGwKKworc3luIGtleXdvcmQgc3FsaktleXdvcmQJYWNjZXNzIGFkZCBhcyBhc2MgYnkgY2hlY2sgY2x1c3RlciBjb2x1bW4KK3N5biBrZXl3b3JkIHNxbGpLZXl3b3JkCWNvbXByZXNzIGNvbm5lY3QgY3VycmVudCBkZWNpbWFsIGRlZmF1bHQKK3N5biBrZXl3b3JkIHNxbGpLZXl3b3JkCWRlc2MgZWxzZSBleGNsdXNpdmUgZmlsZSBmb3IgZnJvbSBncm91cAorc3luIGtleXdvcmQgc3FsaktleXdvcmQJaGF2aW5nIGlkZW50aWZpZWQgaW1tZWRpYXRlIGluY3JlbWVudCBpbmRleAorc3luIGtleXdvcmQgc3FsaktleXdvcmQJaW5pdGlhbCBpbnRvIGlzIGxldmVsIG1heGV4dGVudHMgbW9kZSBtb2RpZnkKK3N5biBrZXl3b3JkIHNxbGpLZXl3b3JkCW5vY29tcHJlc3Mgbm93YWl0IG9mIG9mZmxpbmUgb24gb25saW5lIHN0YXJ0CitzeW4ga2V5d29yZCBzcWxqS2V5d29yZAlzdWNjZXNzZnVsIHN5bm9ueW0gdGFibGUgdGhlbiB0byB0cmlnZ2VyIHVpZAorc3luIGtleXdvcmQgc3FsaktleXdvcmQJdW5pcXVlIHVzZXIgdmFsaWRhdGUgdmFsdWVzIHZpZXcgd2hlbmV2ZXIKK3N5biBrZXl3b3JkIHNxbGpLZXl3b3JkCXdoZXJlIHdpdGggb3B0aW9uIG9yZGVyIHBjdGZyZWUgcHJpdmlsZWdlcworc3luIGtleXdvcmQgc3FsaktleXdvcmQJcHVibGljIHJlc291cmNlIHJvdyByb3dsYWJlbCByb3dudW0gcm93cworc3luIGtleXdvcmQgc3FsaktleXdvcmQJc2Vzc2lvbiBzaGFyZSBzaXplIHNtYWxsaW50CisKK3N5biBrZXl3b3JkIHNxbGpLZXl3b3JkICBmZXRjaCBkYXRhYmFzZSBjb250ZXh0IGl0ZXJhdG9yIGZpZWxkIGpvaW4KK3N5biBrZXl3b3JkIHNxbGpLZXl3b3JkICBmb3JlaWduIG91dGVyIGlubmVyIGlzb2xhdGlvbiBsZWZ0IHJpZ2h0CitzeW4ga2V5d29yZCBzcWxqS2V5d29yZCAgbWF0Y2ggcHJpbWFyeSBrZXkKKworc3luIGtleXdvcmQgc3Fsak9wZXJhdG9yCW5vdCBhbmQgb3IKK3N5biBrZXl3b3JkIHNxbGpPcGVyYXRvcglpbiBhbnkgc29tZSBhbGwgYmV0d2VlbiBleGlzdHMKK3N5biBrZXl3b3JkIHNxbGpPcGVyYXRvcglsaWtlIGVzY2FwZQorc3luIGtleXdvcmQgc3Fsak9wZXJhdG9yIHVuaW9uIGludGVyc2VjdCBtaW51cworc3luIGtleXdvcmQgc3Fsak9wZXJhdG9yIHByaW9yIGRpc3RpbmN0CitzeW4ga2V5d29yZCBzcWxqT3BlcmF0b3IJc3lzZGF0ZQorCitzeW4ga2V5d29yZCBzcWxqT3BlcmF0b3IJbWF4IG1pbiBhdmcgc3VtIGNvdW50IGhleAorCitzeW4ga2V5d29yZCBzcWxqU3RhdGVtZW50CWFsdGVyIGFuYWx5emUgYXVkaXQgY29tbWVudCBjb21taXQgY3JlYXRlCitzeW4ga2V5d29yZCBzcWxqU3RhdGVtZW50CWRlbGV0ZSBkcm9wIGV4cGxhaW4gZ3JhbnQgaW5zZXJ0IGxvY2sgbm9hdWRpdAorc3luIGtleXdvcmQgc3FsalN0YXRlbWVudAlyZW5hbWUgcmV2b2tlIHJvbGxiYWNrIHNhdmVwb2ludCBzZWxlY3Qgc2V0CitzeW4ga2V5d29yZCBzcWxqU3RhdGVtZW50CSB0cnVuY2F0ZSB1cGRhdGUgYmVnaW4gd29yaworCitzeW4ga2V5d29yZCBzcWxqVHlwZQkJY2hhciBjaGFyYWN0ZXIgZGF0ZSBsb25nIHJhdyBtbHNsYWJlbCBudW1iZXIKK3N5biBrZXl3b3JkIHNxbGpUeXBlCQlyb3dpZCB2YXJjaGFyIHZhcmNoYXIyIGZsb2F0IGludGVnZXIKKworc3luIGtleXdvcmQgc3FsalR5cGUJCWJ5dGUgdGV4dCBzZXJpYWwKKworCisiIFN0cmluZ3MgYW5kIGNoYXJhY3RlcnM6CitzeW4gcmVnaW9uIHNxbGpTdHJpbmcJCXN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8XFwiKyAgZW5kPSsiKworc3luIHJlZ2lvbiBzcWxqU3RyaW5nCQlzdGFydD0rJysgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rJysKKworIiBOdW1iZXJzOgorc3luIG1hdGNoIHNxbGpOdW1iZXIJCSItXD1cPFxkKlwuXD1bMC05X11cPiIKKworIiBQcmVQcm9jCitzeW4gbWF0Y2ggc3FsalByZQkJIiNzcWwiCisKKyIgQ29tbWVudHM6CitzeW4gcmVnaW9uIHNxbGpDb21tZW50ICAgIHN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIKK3N5biBtYXRjaCBzcWxDb21tZW50CSItLS4qIgorCitzeW4gc3luYyBjY29tbWVudCBzcWxqQ29tbWVudAorCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3Fsal9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zcWxqX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kISAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQhIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIuCisgIEhpTGluayBzcWxqQ29tbWVudAlDb21tZW50CisgIEhpTGluayBzcWxqS2V5d29yZAlzcWxqU3BlY2lhbAorICBIaUxpbmsgc3Fsak51bWJlcglOdW1iZXIKKyAgSGlMaW5rIHNxbGpPcGVyYXRvcglzcWxqU3RhdGVtZW50CisgIEhpTGluayBzcWxqU3BlY2lhbAlTcGVjaWFsCisgIEhpTGluayBzcWxqU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgc3FsalN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIHNxbGpUeXBlCVR5cGUKKyAgSGlMaW5rIHNxbGpQcmUJUHJlUHJvYworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3FsaiIKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3FyLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Nxci52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc0OTQ0NwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3Nxci52aW0KQEAgLTAsMCArMSwyOTUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiICAgIExhbmd1YWdlOiBTdHJ1Y3R1cmVkIFF1ZXJ5IFJlcG9ydCBXcml0ZXIgKFNRUikKKyIgIE1haW50YWluZXI6IE5hdGhhbiBTdHJhdHRvbiBUcmVhZHdheSAobmF0aGFuc3QgYXQgb250a28gZG90IGNvbSkKKyIJICBVUkw6IGh0dHA6Ly93d3cub250a28uY29tL3Nxci8jZWRpdG9yX2NvbmZpZ19maWxlcworIgorIiBNb2RpZmljYXRpb24gSGlzdG9yeToKKyIgICAgIDIwMDItQXByLTEyOiBVcGRhdGVkIGZvciBTUVIgdjYueAorIiAgICAgMjAwMi1KdWwtMzA6IEFkZGVkIHsgYW5kIH0gdG8gaXNrZXl3b3JkIGRlZmluaXRpb24KKyIgICAgIDIwMDMtT2N0LTE1OiBBbGxvdyAiLiIgaW4gdmFyaWFibGUgbmFtZXMKKyIJCSAgIGhpZ2hsaWdodCBlbnRpcmUgb3BlbiAnLi4uIGxpdGVyYWwgd2hlbiBpdCBjb250YWlucworIgkJICAgICAgIicnIiBpbnNpZGUgaXQgKGUuZy4gIidJIGNhbicndCBzYXkiIGlzIHRyZWF0ZWQKKyIJCSAgICAgIGFzIG9uZSBvcGVuIHN0cmluZywgbm90IG9uZSB0ZXJtaW5hdGVkIGFuZCBvbmUgb3BlbikKKyIJCSAgIHt9IHZhcmlhYmxlcyBjYW4gb2NjdXIgaW5zaWRlIG9mICcuLi4nIGxpdGVyYWxzCisiCisiICBUaGFua3MgdG8gdGhlIHByZXZpb3VzIG1haW50YWluZXIgb2YgdGhpcyBmaWxlLCBKZWZmIExhbnphcm90dGE6CisiICAgIGh0dHA6Ly9sYW56YXJvdHRhLnRyaXBvZC5jb20vdmltLmh0bWwKKyIgICAgamVmZmxhbnphcm90dGEgYXQgeWFob28gZG90IGNvbQorCisiIEZvciB2ZXJzaW9uIDUueCwgY2xlYXIgYWxsIHN5bnRheCBpdGVtcy4KKyIgRm9yIHZlcnNpb24gNi54LCBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAKKyAgc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywtLCMsJCx7LH0KK2Vsc2UKKyAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sLSwjLCQseyx9CitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBCRUdJTiBHRU5FUkFURUQgU0VDVElPTiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisiIEdlbmVyYXRlZCBieSBnZW5lcmF0ZV92aW1fc3ludGF4LnNxciBhdCAyMDAyLzA0LzExIDEzOjA0CisiIChiYXNlZCBvbiB0aGUgVWx0cmFFZGl0IHN5bnRheCBmaWxlIGZvciBTUVIgNi4xLjQKKyIgZm91bmQgYXQgaHR0cDovL3d3dy5vbnRrby5jb20vc3FyLyNlZGl0b3JfY29uZmlnX2ZpbGVzICkKKworc3luIGtleXdvcmQgICAgc3FyU2VjdGlvbiAgICAgYmVnaW4tZm9vdGluZyBiZWdpbi1oZWFkaW5nIGJlZ2luLXByb2NlZHVyZQorc3luIGtleXdvcmQgICAgc3FyU2VjdGlvbiAgICAgYmVnaW4tcHJvZ3JhbSBiZWdpbi1yZXBvcnQgYmVnaW4tc2V0dXAKK3N5biBrZXl3b3JkICAgIHNxclNlY3Rpb24gICAgIGVuZC1mb290aW5nIGVuZC1oZWFkaW5nIGVuZC1wcm9jZWR1cmUKK3N5biBrZXl3b3JkICAgIHNxclNlY3Rpb24gICAgIGVuZC1wcm9ncmFtIGVuZC1yZXBvcnQgZW5kLXNldHVwCisKK3N5biBrZXl3b3JkICAgIHNxclBhcmFncmFwaCAgIGFsdGVyLWNvbG9yLW1hcCBhbHRlci1jb25lY3Rpb24KK3N5biBrZXl3b3JkICAgIHNxclBhcmFncmFwaCAgIGFsdGVyLWxvY2FsZSBhbHRlci1wcmludGVyIGFsdGVyLXJlcG9ydAorc3luIGtleXdvcmQgICAgc3FyUGFyYWdyYXBoICAgYmVnaW4tZG9jdW1lbnQgYmVnaW4tZXhlY3V0ZSBiZWdpbi1zZWxlY3QKK3N5biBrZXl3b3JkICAgIHNxclBhcmFncmFwaCAgIGJlZ2luLXNxbCBkZWNsYXJlLWNoYXJ0IGRlY2xhcmUtaW1hZ2UKK3N5biBrZXl3b3JkICAgIHNxclBhcmFncmFwaCAgIGRlY2xhcmUtY29sb3ItbWFwIGRlY2xhcmUtY29uZWN0aW9uCitzeW4ga2V5d29yZCAgICBzcXJQYXJhZ3JhcGggICBkZWNsYXJlLWxheW91dCBkZWNsYXJlLXByaW50ZXIKK3N5biBrZXl3b3JkICAgIHNxclBhcmFncmFwaCAgIGRlY2xhcmUtcmVwb3J0IGRlY2xhcmUtcHJvY2VkdXJlCitzeW4ga2V5d29yZCAgICBzcXJQYXJhZ3JhcGggICBkZWNsYXJlLXRvYyBkZWNsYXJlLXZhcmlhYmxlIGVuZC1kZWNsYXJlCitzeW4ga2V5d29yZCAgICBzcXJQYXJhZ3JhcGggICBlbmQtZG9jdW1lbnQgZW5kLXNlbGVjdCBleGl0LXNlbGVjdCBlbmQtc3FsCitzeW4ga2V5d29yZCAgICBzcXJQYXJhZ3JhcGggICBsb2FkLWxvb2t1cAorCitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICAjY3VycmVudC1jb2x1bW4gI2N1cnJlbnQtZGF0ZSAjY3VycmVudC1saW5lCitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICAjZW5kLWZpbGUgI3BhZ2UtY291bnQgI3JldHVybi1zdGF0dXMKK3N5biBrZXl3b3JkICAgIHNxclJlc2VydmVkICAgICNzcWwtY291bnQgI3NxbC1zdGF0dXMgI3Nxci1tYXgtY29sdW1ucworc3luIGtleXdvcmQgICAgc3FyUmVzZXJ2ZWQgICAgI3Nxci1tYXgtbGluZXMgI3Nxci1waWQgI3Nxci10b2MtbGV2ZWwKK3N5biBrZXl3b3JkICAgIHNxclJlc2VydmVkICAgICNzcXItdG9jLXBhZ2UgJHNxci1kYXRhYmFzZSB7c3FyLWRhdGFiYXNlfQorc3luIGtleXdvcmQgICAgc3FyUmVzZXJ2ZWQgICAgJHNxci1kYmNzIHtzcXItZGJjc30gJHNxci1lbmNvZGluZworc3luIGtleXdvcmQgICAgc3FyUmVzZXJ2ZWQgICAge3Nxci1lbmNvZGluZ30gJHNxci1lbmNvZGluZy1jb25zb2xlCitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICB7c3FyLWVuY29kaW5nLWNvbnNvbGV9CitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICAkc3FyLWVuY29kaW5nLWRhdGFiYXNlCitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICB7c3FyLWVuY29kaW5nLWRhdGFiYXNlfQorc3luIGtleXdvcmQgICAgc3FyUmVzZXJ2ZWQgICAgJHNxci1lbmNvZGluZy1maWxlLWlucHV0CitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICB7c3FyLWVuY29kaW5nLWZpbGUtaW5wdXR9CitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICAkc3FyLWVuY29kaW5nLWZpbGUtb3V0cHV0CitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICB7c3FyLWVuY29kaW5nLWZpbGUtb3V0cHV0fQorc3luIGtleXdvcmQgICAgc3FyUmVzZXJ2ZWQgICAgJHNxci1lbmNvZGluZy1yZXBvcnQtaW5wdXQKK3N5biBrZXl3b3JkICAgIHNxclJlc2VydmVkICAgIHtzcXItZW5jb2RpbmctcmVwb3J0LWlucHV0fQorc3luIGtleXdvcmQgICAgc3FyUmVzZXJ2ZWQgICAgJHNxci1lbmNvZGluZy1yZXBvcnQtb3V0cHV0CitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICB7c3FyLWVuY29kaW5nLXJlcG9ydC1vdXRwdXR9CitzeW4ga2V5d29yZCAgICBzcXJSZXNlcnZlZCAgICAkc3FyLWVuY29kaW5nLXNvdXJjZSB7c3FyLWVuY29kaW5nLXNvdXJjZX0KK3N5biBrZXl3b3JkICAgIHNxclJlc2VydmVkICAgICRzcWwtZXJyb3IgJHNxci1ob3N0bmFtZSB7c3FyLWhvc3RuYW1lfQorc3luIGtleXdvcmQgICAgc3FyUmVzZXJ2ZWQgICAgJHNxci1sb2NhbGUgJHNxci1wbGF0Zm9ybSB7c3FyLXBsYXRmb3JtfQorc3luIGtleXdvcmQgICAgc3FyUmVzZXJ2ZWQgICAgJHNxci1wcm9ncmFtICRzcXItcmVwb3J0ICRzcXItdG9jLXRleHQKK3N5biBrZXl3b3JkICAgIHNxclJlc2VydmVkICAgICRzcXItdmVyICR1c2VybmFtZQorCitzeW4ga2V5d29yZCAgICBzcXJQcmVQcm9jICAgICAjZGVmaW5lICNlbHNlICNlbmQtaWYgI2VuZGlmICNpZiAjaWZkZWYKK3N5biBrZXl3b3JkICAgIHNxclByZVByb2MgICAgICNpZm5kZWYgI2luY2x1ZGUKKworc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgYWRkIGFycmF5LWFkZCBhcnJheS1kaXZpZGUgYXJyYXktbXVsdGlwbHkKK3N5biBrZXl3b3JkICAgIHNxckNvbW1hbmQgICAgIGFycmF5LXN1YnRyYWN0IGFzayBicmVhayBjYWxsIGNsZWFyLWFycmF5CitzeW4ga2V5d29yZCAgICBzcXJDb21tYW5kICAgICBjbG9zZSBjb2x1bW5zIGNvbW1pdCBjb25jYXQgY29ubmVjdAorc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgY3JlYXRlLWFycmF5IGNyZWF0ZS1jb2xvci1wYWxldHRlIGRhdGUtdGltZQorc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgZGlzcGxheSBkaXZpZGUgZG8gZG9sbGFyLXN5bWJvbCBlbHNlIGVuY29kZQorc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgZW5kLWV2YWx1YXRlIGVuZC1pZiBlbmQtd2hpbGUgZXZhbHVhdGUKK3N5biBrZXl3b3JkICAgIHNxckNvbW1hbmQgICAgIGV4ZWN1dGUgZXh0cmFjdCBmaW5kIGdldCBnZXQtY29sb3IgZ290bworc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgZ3JhcGhpYyBpZiBpbnB1dCBsYXN0LXBhZ2UgbGV0IGxvb2t1cAorc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgbG93ZXJjYXNlIG1idG9zYnMgbW9uZXktc3ltYm9sIG1vdmUKK3N5biBrZXl3b3JkICAgIHNxckNvbW1hbmQgICAgIG11bHRpcGx5IG5ldy1wYWdlIG5ldy1yZXBvcnQgbmV4dC1jb2x1bW4KK3N5biBrZXl3b3JkICAgIHNxckNvbW1hbmQgICAgIG5leHQtbGlzdGluZyBuby1mb3JtZmVlZCBvcGVuIHBhZ2UtbnVtYmVyCitzeW4ga2V5d29yZCAgICBzcXJDb21tYW5kICAgICBwYWdlLXNpemUgcG9zaXRpb24gcHJpbnQgcHJpbnQtYmFyLWNvZGUKK3N5biBrZXl3b3JkICAgIHNxckNvbW1hbmQgICAgIHByaW50LWNoYXJ0IHByaW50LWRpcmVjdCBwcmludC1pbWFnZQorc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgcHJpbnRlci1kZWluaXQgcHJpbnRlci1pbml0IHB1dCByZWFkCitzeW4ga2V5d29yZCAgICBzcXJDb21tYW5kICAgICByb2xsYmFjayBzZWN1cml0eSBzZXQtY29sb3Igc2V0LWRlbGF5LXByaW50CitzeW4ga2V5d29yZCAgICBzcXJDb21tYW5kICAgICBzZXQtZ2VuZXJhdGlvbnMgc2V0LWxldmVscyBzZXQtbWVtYmVycworc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgc2J0b21icyBzaG93IHN0b3Agc3RyaW5nIHN1YnRyYWN0IHRvYy1lbnRyeQorc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgdW5zdHJpbmcgdXBwZXJjYXNlIHVzZSB1c2UtY29sdW1uCitzeW4ga2V5d29yZCAgICBzcXJDb21tYW5kICAgICB1c2UtcHJpbnRlci10eXBlIHVzZS1wcm9jZWR1cmUgdXNlLXJlcG9ydAorc3luIGtleXdvcmQgICAgc3FyQ29tbWFuZCAgICAgd2hpbGUgd3JpdGUKKworc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgM2QtZWZmZWN0cyBhZnRlciBhZnRlci1ib2xkIGFmdGVyLXBhZ2UKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGFmdGVyLXJlcG9ydCBhZnRlci10b2MgYW5kIGFzIGF0LWVuZCBiZWZvcmUKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGJhY2tncm91bmQgYmF0Y2gtbW9kZSBiZWVwIGJlZm9yZS1ib2xkCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBiZWZvcmUtcGFnZSBiZWZvcmUtcmVwb3J0IGJlZm9yZS10b2MgYmxpbmsKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGJvbGQgYm9yZGVyIGJvdHRvbS1tYXJnaW4gYm94IGJyZWFrIGJ5CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBjYXB0aW9uIGNlbnRlciBjaGFyIGNoYXItc2l6ZSBjaGFyLXdpZHRoCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBjaGFycy1pbmNoIGNoYXJ0LXNpemUgY2hlY2tzdW0gY2wKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGNsZWFyLWxpbmUgY2xlYXItc2NyZWVuIGNvbG9yIGNvbG9yLXBhbGV0dGUKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGNzIGNvbG9yXyBkYXRhLWFycmF5CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBkYXRhLWFycmF5LWNvbHVtbi1jb3VudAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgZGF0YS1hcnJheS1jb2x1bW4tbGFiZWxzCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBkYXRhLWFycmF5LXJvdy1jb3VudCBkYXRhLWxhYmVscyBkYXRlCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBkYXRlLWVkaXQtbWFzayBkYXRlLXNlcGVyYXRvcgorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgZGF5LW9mLXdlZWstY2FzZSBkYXktb2Ytd2Vlay1mdWxsCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBkYXktb2Ytd2Vlay1zaG9ydCBkZWNpbWFsIGRlY2ltYWwtc2VwZXJhdG9yCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBkZWZhdWx0LW51bWVyaWMgZGVsYXkgZGlzdGluY3QgZG90LWxlYWRlcgorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgZWRpdC1vcHRpb24tYWQgZWRpdC1vcHRpb24tYW0KK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGVkaXQtb3B0aW9uLWJjIGVkaXQtb3B0aW9uLW5hCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBlZGl0LW9wdGlvbi1wbSBlbmNvZGluZyBlbnRyeSBlcmFzZS1wYWdlCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBleHRlbnQgZmllbGQgZmlsbCBmaXhlZCBmaXhlZF9ub2xmIGZsb2F0CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBmb250IGZvbnQtc3R5bGUgZm9udC10eXBlIGZvb3RpbmcKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGZvb3Rpbmctc2l6ZSBmb3JlZ3JvdW5kIGZvci1hcHBlbmQKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGZvci1yZWFkaW5nIGZvci1yZXBvcnRzIGZvci10b2NzCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBmb3Itd3JpdGluZyBmb3JtYXQgZm9ybWZlZWQgZnJvbSBnb3RvLXRvcAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgZ3JvdXAgaGF2aW5nIGhlYWRpbmcgaGVhZGluZy1zaXplIGhlaWdodAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgaG9yei1saW5lIGltYWdlLXNpemUgaW4gaW5kZW50YXRpb24KK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIGluaXQtc3RyaW5nIGlucHV0LWRhdGUtZWRpdC1tYXNrIGluc2VydAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgaW50ZWdlciBpbnRvIGl0ZW0tY29sb3IgaXRlbS1zaXplIGtleQorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgbGF5b3V0IGxlZnQtbWFyZ2luIGxlZ2VuZCBsZWdlbmQtcGxhY2VtZW50CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBsZWdlbmQtcHJlc2VudGF0aW9uIGxlZ2VuZC10aXRsZSBsZXZlbAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgbGluZS1oZWlnaHQgbGluZS1zaXplIGxpbmUtd2lkdGggbGluZXMtaW5jaAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgbG9jYWwgbG9jYWxlIGxvb3BzIG1heC1jb2x1bW5zIG1heC1saW5lcworc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgbWF4bGVuIG1vbmV5IG1vbmV5LWVkaXQtbWFzayBtb25leS1zaWduCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBtb25leS1zaWduLWxvY2F0aW9uIG1vbnRocy1jYXNlIG1vbnRocy1mdWxsCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBtb250aHMtc2hvcnQgbmFtZSBuZWVkIG5ld2xpbmUgbmV3cGFnZQorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgbm8tYWR2YW5jZSBub2xmIG5vbGluZSBub3Byb21wdCBub3JtYWwgbm90CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBub3dhaXQgbnVtYmVyIG51bWJlci1lZGl0LW1hc2sgb24tYnJlYWsKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIG9uLWVycm9yIG9yIG9yZGVyIG9yaWVudGF0aW9uIHBhZ2UtZGVwdGgKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHBhcGVyLXNpemUgcGllLXNlZ21lbnQtZXhwbG9kZQorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgcGllLXNlZ21lbnQtcGVyY2VudC1kaXNwbGF5CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBwaWUtc2VnbWVudC1xdWFudGl0eS1kaXNwbGF5IHBpdGNoCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBwb2ludC1tYXJrZXJzIHBvaW50LXNpemUgcHJpbnRlcgorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgcHJpbnRlci10eXBlIHF1aWV0IHJlY29yZCByZXNldC1zdHJpbmcKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHJldHVybl92YWx1ZSByZXZlcnNlIHJpZ2h0LW1hcmdpbiByb3dzIHNhdmUKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHNlbGVjdCBzaXplIHNraXAgc2tpcGxpbmVzIHNvcnQgc291cmNlCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICBzcXItZGF0YWJhc2Ugc3FyLXBsYXRmb3JtIHN0YXJ0dXAtZmlsZQorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgc3RhdHVzIHN0b3Agc3ViLXRpdGxlIHN5bWJvbC1zZXQgc3lzdGVtCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICB0YWJsZSB0ZXh0IHRob3VzYW5kLXNlcGVyYXRvcgorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgdGltZS1zZXBlcmF0b3IgdGltZXMgdGl0bGUgdG8gdG9jCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICB0b3AtbWFyZ2luIHR5cGUgdW5kZXJsaW5lIHVwZGF0ZSB1c2luZworc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgdmFsdWUgdmFyeSB2ZXJ0LWxpbmUgd2FpdCB3YXJuIHdoZW4KK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHdoZW4tb3RoZXIgd2hlcmUgd2l0aCB4LWF4aXMtZ3JpZAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgeC1heGlzLWxhYmVsIHgtYXhpcy1tYWpvci1pbmNyZW1lbnQKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHgtYXhpcy1tYWpvci10aWNrLW1hcmtzIHgtYXhpcy1tYXgtdmFsdWUKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHgtYXhpcy1taW4tdmFsdWUgeC1heGlzLW1pbm9yLWluY3JlbWVudAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgeC1heGlzLW1pbm9yLXRpY2stbWFya3MgeC1heGlzLXJvdGF0ZQorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgeC1heGlzLXNjYWxlIHgtYXhpcy10aWNrLW1hcmstcGxhY2VtZW50IHhvcgorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgeS1heGlzLWdyaWQgeS1heGlzLWxhYmVsCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICB5LWF4aXMtbWFqb3ItaW5jcmVtZW50CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICB5LWF4aXMtbWFqb3ItdGljay1tYXJrcyB5LWF4aXMtbWF4LXZhbHVlCitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICB5LWF4aXMtbWluLXZhbHVlIHktYXhpcy1taW5vci1pbmNyZW1lbnQKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHktYXhpcy1taW5vci10aWNrLW1hcmtzIHktYXhpcy1zY2FsZQorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgeS1heGlzLXRpY2stbWFyay1wbGFjZW1lbnQgeTItdHlwZQorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgeTItZGF0YS1hcnJheSB5Mi1kYXRhLWFycmF5LXJvdy1jb3VudAorc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgeTItZGF0YS1hcnJheS1jb2x1bW4tY291bnQKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHkyLWRhdGEtYXJyYXktY29sdW1uLWxhYmVscworc3luIGtleXdvcmQgICAgc3FyUGFyYW0gICAgICAgeTItYXhpcy1jb2xvci1wYWxldHRlIHkyLWF4aXMtbGFiZWwKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHkyLWF4aXMtbWFqb3ItaW5jcmVtZW50CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICB5Mi1heGlzLW1ham9yLXRpY2stbWFya3MgeTItYXhpcy1tYXgtdmFsdWUKK3N5biBrZXl3b3JkICAgIHNxclBhcmFtICAgICAgIHkyLWF4aXMtbWluLXZhbHVlIHkyLWF4aXMtbWlub3ItaW5jcmVtZW50CitzeW4ga2V5d29yZCAgICBzcXJQYXJhbSAgICAgICB5Mi1heGlzLW1pbm9yLXRpY2stbWFya3MgeTItYXhpcy1zY2FsZQorCitzeW4ga2V5d29yZCAgICBzcXJGdW5jdGlvbiAgICBhYnMgYWNvcyBhc2luIGF0YW4gYXJyYXkgYXNjaWkgYXNjaWljIGNlaWwKK3N5biBrZXl3b3JkICAgIHNxckZ1bmN0aW9uICAgIGNvcyBjb3NoIGNociBjb25kIGRlZyBkZWxldGUgZGF0ZWFkZAorc3luIGtleXdvcmQgICAgc3FyRnVuY3Rpb24gICAgZGF0ZWRpZmYgZGF0ZW5vdyBkYXRldG9zdHIgZTEwIGV4cCBlZGl0CitzeW4ga2V5d29yZCAgICBzcXJGdW5jdGlvbiAgICBleGlzdHMgZmxvb3IgZ2V0ZW52IGluc3RyIGluc3RyYiBpc2JsYW5rCitzeW4ga2V5d29yZCAgICBzcXJGdW5jdGlvbiAgICBpc251bGwgbG9nIGxvZzEwIGxlbmd0aCBsZW5ndGhiIGxlbmd0aHAKK3N5biBrZXl3b3JkICAgIHNxckZ1bmN0aW9uICAgIGxlbmd0aHQgbG93ZXIgbHBhZCBsdHJpbSBtb2QgbnZsIHBvd2VyIHJhZAorc3luIGtleXdvcmQgICAgc3FyRnVuY3Rpb24gICAgcm91bmQgcmFuZ2UgcmVwbGFjZSByb21hbiBycGFkIHJ0cmltIHJlbmFtZQorc3luIGtleXdvcmQgICAgc3FyRnVuY3Rpb24gICAgc2lnbiBzaW4gc2luaCBzcXJ0IHN1YnN0ciBzdWJzdHJiIHN1YnN0cnAKK3N5biBrZXl3b3JkICAgIHNxckZ1bmN0aW9uICAgIHN1YnN0cnQgc3RydG9kYXRlIHRhbiB0YW5oIHRydW5jIHRvX2NoYXIKK3N5biBrZXl3b3JkICAgIHNxckZ1bmN0aW9uICAgIHRvX211bHRpX2J5dGUgdG9fbnVtYmVyIHRvX3NpbmdsZV9ieXRlCitzeW4ga2V5d29yZCAgICBzcXJGdW5jdGlvbiAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlIHVuaWNvZGUgdXBwZXIgd3JhcGRlcHRoCisKKyIgRU5EIEdFTkVSQVRFRCBTRUNUSU9OID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIiBWYXJpYWJsZXMKK3N5biBtYXRjaAkgIHNxclZhcmlhYmxlCS9cKFwkXHwjXHwmXClcKFxrXHxcLlwpKi8KKworCisiIERlYnVnIGNvbXBpbGVyIGRpcmVjdGl2ZXMKK3N5biBtYXRjaAkgIHNxclByZVByb2MJL1xzKiNkZWJ1Z1xhXD1cKFxzXHwkXCkvCitzeW4gbWF0Y2gJICBzcXJTdWJzdFZhcgkve1xrKn0vCisKKworIiBTdHJpbmdzCisiIE5vdGU6IGlmIGFuIHVuZG91YmxlZCAhIGlzIGZvdW5kLCB0aGlzIGlzIG5vdCBhIHZhbGlkIHN0cmluZworIiAoU1FSIHdpbGwgdHJlYXQgdGhlIGVuZCBvZiB0aGUgbGluZSBhcyBhIGNvbW1lbnQpCitzeW4gbWF0Y2gJICBzcXJTdHJpbmcJLydcKCEhXHxbXiEnXVwpKicvICAgICAgY29udGFpbnM9c3FyU3Vic3RWYXIKK3N5biBtYXRjaAkgIHNxclN0ck9wZW4JLydcKCEhXHwnJ1x8W14hJ11cKSokLworIiBJZiB3ZSBmaW5kIGEgJyBmb2xsb3dlZCBieSBhbiB1bm1hdGNoZWQgISBiZWZvcmUgYSBtYXRjaGluZyAnLAorIiBmbGFnIHRoZSBlcnJvci4KK3N5biBtYXRjaAkgIHNxckVycm9yCS8nXCghIVx8W14nIV1cKSohW14hXS9tZT1lLTEKK3N5biBtYXRjaAkgIHNxckVycm9yCS8nXCghIVx8W14nIV1cKSohJC8KKworIiBOdW1iZXJzOgorc3luIG1hdGNoCSAgc3FyTnVtYmVyCS8tXD1cPFxkKlwuXD1bMC05X11cPi8KKworCisKKyIgQ29tbWVudHM6CisiIEhhbmRsZSBjb21tZW50cyB0aGF0IHN0YXJ0IHdpdGggIiE9IiBzcGVjaWFsbHk7IHRoZXkgYXJlIG9ubHkgdmFsaWQKKyIgaW4gdGhlIGZpcnN0IGNvbHVtbiBvZiB0aGUgc291cmNlIGxpbmUuICBBbHNvLCAiISEiIGlzIG9ubHkgdHJlYXRlZAorIiBhcyBhIHN0YXJ0LWNvbW1lbnQgaWYgdGhlcmUgaXMgb25seSB3aGl0ZXNwYWNlIGFoZWFkIG9mIGl0IG9uIHRoZSBsaW5lLgorCitzeW4ga2V5d29yZAlzcXJUb2RvCQlUT0RPIEZJWE1FIFhYWCBERUJVRyBOT1RFICMjIworc3luIG1hdGNoCXNxclRvZG8JCS8/Pz8vCisKK2lmIHZlcnNpb24gPj0gNjAwCisgICIgU2VlIGFsc28gdGhlIHNxclN0cmluZyBzZWN0aW9uIGFib3ZlIGZvciBoYW5kbGluZyBvZiAhIGNoYXJhY3RlcnMKKyAgIiBpbnNpZGUgb2Ygc3RyaW5ncy4gIChUaG9zZSBwYXR0ZXJucyBvdmVycmlkZSB0aGUgb25lcyBiZWxvdy4pCisgIHN5biBtYXRjaAlzcXJDb21tZW50CS8hXEA8ISFcKFteIT1dLipcfCRcKS8gY29udGFpbnM9c3FyVG9kbworICAiCQkJCSAgdGhlICEgY2FuJ3QgYmUgcHJlY2VlZGVkIGJ5IGFub3RoZXIgISwKKyAgIgkJCQkgIGFuZCBtdXN0IGJlIGZvbGxvd2VkIGJ5IGF0IGxlYXN0IG9uZQorICAiCQkJCSAgY2hhcmFjdGVyIG90aGVyIHRoYW4gISBvciA9LCBvciBpbW1lZGlhdGVseQorICAiCQkJCSAgYnkgdGhlIGVuZC1vZi1saW5lCisgIHN5biBtYXRjaAlzcXJDb21tZW50CS9eIT0uKi8gY29udGFpbnM9c3FyVG9kbworICBzeW4gbWF0Y2gJc3FyQ29tbWVudAkvXiEhLiovIGNvbnRhaW5zPXNxclRvZG8KKyAgc3luIG1hdGNoCXNxckVycm9yCS9eXHNcK1x6cyE9LiovCisgICIJCQkJICBpdCdzIGFuIGVycm9yIHRvIGhhdmUgIiE9IiBwcmVjZWVkZWQgYnkKKyAgIgkJCQkgIGp1c3Qgd2hpdGVzcGFjZSBvbiB0aGUgbGluZSAoIiE9IgorICAiCQkJCSAgcHJlY2VlZGVkIGJ5IG5vbi13aGl0ZXNwYWNlIGlzIHRyZWF0ZWQKKyAgIgkJCQkgIGFzIG5laXRoZXIgYSBjb21tZW50IG5vciBhbiBlcnJvciwgc2luY2UKKyAgIgkJCQkgIGl0IGlzIG9mdGVuIGNvcnJlY3QsIGkuZS4KKyAgIgkJCQkgICAgaWYgI2NvdW50ICE9IDcKKyAgc3luIG1hdGNoCXNxckVycm9yCS8uXCtcenMhIS4qLworICAiCQkJCSAgYSAiISEiIGFueXdoZXJlIGJ1dCBhdCB0aGUgYmVnaW5uaW5nIG9mCisgICIJCQkJICB0aGUgbGluZSBpcyBhbHdheXMgYW4gZXJyb3IKK2Vsc2UgIkZvciB2ZXJzaW9ucyBiZWZvcmUgNi4wLCBzYW1lIGlkZWEgYXMgYWJvdmUgYnV0IHdlIGFyZSBsaW1pdGVkCisgICAgICJ0byBzaW1wbGUgcGF0dGVybnMgb25seS4gIEFsc28sIHRoZSBzcXJTdHJpbmcgcGF0dGVybnMgYWJvdmUKKyAgICAgImRvbid0IHNlZW0gdG8gdGFrZSBwcmVjZWRlbmNlIGluIHY1IGFzIHRoZXkgZG8gaW4gdjYsIHNvCisgICAgICJ3ZSBzcGxpdCB0aGUgbGFzdCBydWxlIHRvIGlnbm9yZSBjb21tZW50cyBmb3VuZCBpbnNpZGUgb2YKKyAgICAgInN0cmluZyBsaXRlcmFscy4KKyAgc3luIG1hdGNoCXNxckNvbW1lbnQJLyFcKFteIT1dLipcfCRcKS8gY29udGFpbnM9c3FyVG9kbworICBzeW4gbWF0Y2gJc3FyQ29tbWVudAkvXiE9LiovIGNvbnRhaW5zPXNxclRvZG8KKyAgc3luIG1hdGNoCXNxckNvbW1lbnQJL14hIS4qLyBjb250YWlucz1zcXJUb2RvCisgIHN5biBtYXRjaAlzcXJFcnJvcgkvXlxzXCshPS4qLworICBzeW4gbWF0Y2gJc3FyRXJyb3IJL15bXichXVwrISEvCisgICIJCQkJZmxhZyAhISBvbiBsaW5lcyB0aGF0IGRvbid0IGhhdmUgISBvciAnCisgIHN5biBtYXRjaAlzcXJFcnJvcgkvXlwoW14hJ10qJ1teJ10qJ1teISddKlwpXCshIS8KKyAgIgkJCQlmbGFnICEhIGZvdW5kIGFmdGVyIG1hdGNoZWQgJyAnIGNoYXJzCisgICIJCQkJKHRoYXQgYXJlbid0IGFsc28gY29tbWVudGVkKQorZW5kaWYKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllciwgb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkuCisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXIsIG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuO3QgaGF2ZSBoaWdodGxpZ2h0aW5nIHlldC4KK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zcXJfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc3FyX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHNxclNlY3Rpb24gU3RhdGVtZW50CisgIEhpTGluayBzcXJQYXJhZ3JhcGggU3RhdGVtZW50CisgIEhpTGluayBzcXJSZXNlcnZlZCBTdGF0ZW1lbnQKKyAgSGlMaW5rIHNxclBhcmFtZXRlciBTdGF0ZW1lbnQKKyAgSGlMaW5rIHNxclByZVByb2MgUHJlUHJvYworICBIaUxpbmsgc3FyU3Vic3RWYXIgUHJlUHJvYworICBIaUxpbmsgc3FyQ29tbWFuZCBTdGF0ZW1lbnQKKyAgSGlMaW5rIHNxclBhcmFtIFR5cGUKKyAgSGlMaW5rIHNxckZ1bmN0aW9uIFNwZWNpYWwKKworICBIaUxpbmsgc3FyU3RyaW5nIFN0cmluZworICBIaUxpbmsgc3FyU3RyT3BlbiBUb2RvCisgIEhpTGluayBzcXJOdW1iZXIgTnVtYmVyCisgIEhpTGluayBzcXJWYXJpYWJsZSBJZGVudGlmaWVyCisKKyAgSGlMaW5rIHNxckNvbW1lbnQgQ29tbWVudAorICBIaUxpbmsgc3FyVG9kbyBUb2RvCisgIEhpTGluayBzcXJFcnJvciBFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzcXIiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NxdWlkLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NxdWlkLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTRiZGNhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3F1aWQudmltCkBAIC0wLDAgKzEsMTQ5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU3F1aWQgY29uZmlnIGZpbGUKKyIgTWFpbnRhaW5lcjoJS2xhdXMgTXV0aCA8a2xhdXNAaGFtcGZ0LmRlPgorIiBMYXN0IENoYW5nZToJMjAwNCBGZWIgMDEKKyIgVVJMOgkJaHR0cDovL3d3dy5oYW1wZnQuZGUvdmltL3N5bnRheC9zcXVpZC52aW0KKyIgVGhhbmtzVG86CUlseWEgU2hlciA8aXNvODYwMUBtYWlsLnJ1PgorCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBzcXVpZC5jb25mIHN5bnRheCBzZWVtcyB0byBiZSBjYXNlIGluc2Vuc2l0aXZlCitzeW4gY2FzZSBpZ25vcmUKKworc3luIGtleXdvcmQJc3F1aWRUb2RvCWNvbnRhaW5lZCBUT0RPCitzeW4gbWF0Y2gJc3F1aWRDb21tZW50CSIjLiokIiBjb250YWlucz1zcXVpZFRvZG8sc3F1aWRUYWcKK3N5biBtYXRjaAlzcXVpZFRhZwljb250YWluZWQgIlRBRzogLiokIgorCisiIExvdHMgJiBsb3RzIG9mIEtleXdvcmRzIQorc3luIGtleXdvcmQJc3F1aWRDb25mCWFjbCBhbHdheXNfZGlyZWN0IGFubm91bmNlX2hvc3QKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglhbm5vdW5jZV9wZXJpb2QgYW5ub3VuY2VfcG9ydCBhbm5vdW5jZV90bworc3luIGtleXdvcmQJc3F1aWRDb25mCWFub255bWl6ZV9oZWFkZXJzIGFwcGVuZF9kb21haW4KK3N5biBrZXl3b3JkCXNxdWlkQ29uZglhc193aG9pc19zZXJ2ZXIgYXV0aGVudGljYXRlX2NoaWxkcmVuCitzeW4ga2V5d29yZAlzcXVpZENvbmYJYXV0aGVudGljYXRlX3Byb2dyYW0gYXV0aGVudGljYXRlX3R0bAorc3luIGtleXdvcmQJc3F1aWRDb25mCWJyb2tlbl9wb3N0cyBidWZmZXJlZF9sb2dzIGNhY2hlX2FjY2Vzc19sb2cKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgljYWNoZV9hbm5vdW5jZSBjYWNoZV9kaXIgY2FjaGVfZG5zX3Byb2dyYW0KK3N5biBrZXl3b3JkCXNxdWlkQ29uZgljYWNoZV9lZmZlY3RpdmVfZ3JvdXAgY2FjaGVfZWZmZWN0aXZlX3VzZXIKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgljYWNoZV9ob3N0IGNhY2hlX2hvc3RfYWNsIGNhY2hlX2hvc3RfZG9tYWluCitzeW4ga2V5d29yZAlzcXVpZENvbmYJY2FjaGVfbG9nIGNhY2hlX21lbSBjYWNoZV9tZW1faGlnaAorc3luIGtleXdvcmQJc3F1aWRDb25mCWNhY2hlX21lbV9sb3cgY2FjaGVfbWdyIGNhY2hlbWdyX3Bhc3N3ZAorc3luIGtleXdvcmQJc3F1aWRDb25mCWNhY2hlX3BlZXIgY2FjaGVfc3RvcGxpc3QKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgljYWNoZV9zdG9wbGlzdF9wYXR0ZXJuIGNhY2hlX3N0b3JlX2xvZworc3luIGtleXdvcmQJc3F1aWRDb25mCWNhY2hlX3N3YXAgY2FjaGVfc3dhcF9oaWdoIGNhY2hlX3N3YXBfbG9nCitzeW4ga2V5d29yZAlzcXVpZENvbmYJY2FjaGVfc3dhcF9sb3cgY2xpZW50X2RiIGNsaWVudF9saWZldGltZQorc3luIGtleXdvcmQJc3F1aWRDb25mCWNsaWVudF9uZXRtYXNrIGNvbm5lY3RfdGltZW91dCBjb3JlZHVtcF9kaXIKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglkZWFkX3BlZXJfdGltZW91dCBkZWJ1Z19vcHRpb25zIGRlbGF5X2FjY2Vzcworc3luIGtleXdvcmQJc3F1aWRDb25mCWRlbGF5X2NsYXNzIGRlbGF5X2luaXRpYWxfYnVja2V0X2xldmVsCitzeW4ga2V5d29yZAlzcXVpZENvbmYJZGVsYXlfcGFyYW1ldGVycyBkZWxheV9wb29scyBkbnNfY2hpbGRyZW4KK3N5biBrZXl3b3JkCXNxdWlkQ29uZglkbnNfZGVmbmFtZXMgZG5zX25hbWVzZXJ2ZXJzIGRuc190ZXN0bmFtZXMKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgllbXVsYXRlX2h0dHBkX2xvZyBlcnJfaHRtbF90ZXh0CitzeW4ga2V5d29yZAlzcXVpZENvbmYJZmFrZV91c2VyX2FnZW50IGZpcmV3YWxsX2lwIGZvcndhcmRlZF9mb3IKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglmb3J3YXJkX3NubXBkX3BvcnQgZnFkbmNhY2hlX3NpemUKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglmdHBnZXRfb3B0aW9ucyBmdHBnZXRfcHJvZ3JhbSBmdHBfbGlzdF93aWR0aAorc3luIGtleXdvcmQJc3F1aWRDb25mCWZ0cF91c2VyIGhhbGZfY2xvc2VkX2NsaWVudHMKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgloaWVyYXJjaHlfc3RvcGxpc3QgaHRjcF9wb3J0IGh0dHBfYWNjZXNzCitzeW4ga2V5d29yZAlzcXVpZENvbmYJaHR0cF9hbm9ueW1pemVyIGh0dHBkX2FjY2VsIGh0dHBkX2FjY2VsX2hvc3QKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglodHRwZF9hY2NlbF9wb3J0IGh0dHBkX2FjY2VsX3VzZXNfaG9zdF9oZWFkZXIKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglodHRwZF9hY2NlbF93aXRoX3Byb3h5IGh0dHBfcG9ydAorc3luIGtleXdvcmQJc3F1aWRDb25mCWh0dHBfcmVwbHlfYWNjZXNzIGljcF9hY2Nlc3MgaWNwX2hpdF9zdGFsZQorc3luIGtleXdvcmQJc3F1aWRDb25mCWljcF9wb3J0IGljcF9xdWVyeV90aW1lb3V0IGlkZW50X2xvb2t1cAorc3luIGtleXdvcmQJc3F1aWRDb25mCWlkZW50X2xvb2t1cF9hY2Nlc3MgaWRlbnRfdGltZW91dAorc3luIGtleXdvcmQJc3F1aWRDb25mCWluY29taW5nX2h0dHBfYXZlcmFnZSBpbmNvbWluZ19pY3BfYXZlcmFnZQorc3luIGtleXdvcmQJc3F1aWRDb25mCWluc2lkZV9maXJld2FsbCBpcGNhY2hlX2hpZ2ggaXBjYWNoZV9sb3cKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglpcGNhY2hlX3NpemUgbG9jYWxfZG9tYWluIGxvY2FsX2lwCitzeW4ga2V5d29yZAlzcXVpZENvbmYJbG9nZmlsZV9yb3RhdGUgbG9nX2ZxZG4gbG9nX2ljcF9xdWVyaWVzCitzeW4ga2V5d29yZAlzcXVpZENvbmYJbG9nX21pbWVfaGRycyBtYXhpbXVtX29iamVjdF9zaXplCitzeW4ga2V5d29yZAlzcXVpZENvbmYJbWF4aW11bV9zaW5nbGVfYWRkcl90cmllcyBtY2FzdF9ncm91cHMKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgltY2FzdF9pY3BfcXVlcnlfdGltZW91dCBtY2FzdF9taXNzX2FkZHIKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgltY2FzdF9taXNzX2VuY29kZV9rZXkgbWNhc3RfbWlzc19wb3J0CitzeW4ga2V5d29yZAlzcXVpZENvbmYJbWVtb3J5X3Bvb2xzIG1pbWVfdGFibGUgbWluX2h0dHBfcG9sbF9jbnQKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgltaW5faWNwX3BvbGxfY250IG1pbmltdW1fZGlyZWN0X2hvcHMKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgltaW5pbXVtX3JldHJ5X3RpbWVvdXQgbWlzc19hY2Nlc3MKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgluZWdhdGl2ZV9kbnNfdHRsIG5lZ2F0aXZlX3R0bAorc3luIGtleXdvcmQJc3F1aWRDb25mCW5laWdoYm9yX3RpbWVvdXQgbmVpZ2hib3JfdHlwZV9kb21haW4KK3N5biBrZXl3b3JkCXNxdWlkQ29uZgluZXRkYl9oaWdoIG5ldGRiX2xvdyBuZXRkYl9waW5nX3BlcmlvZAorc3luIGtleXdvcmQJc3F1aWRDb25mCW5ldGRiX3BpbmdfcmF0ZSBub19jYWNoZSBwYXNzdGhyb3VnaF9wcm94eQorc3luIGtleXdvcmQJc3F1aWRDb25mCXBjb25uX3RpbWVvdXQgcGlkX2ZpbGVuYW1lIHBpbmdlcl9wcm9ncmFtCitzeW4ga2V5d29yZAlzcXVpZENvbmYJcG9zaXRpdmVfZG5zX3R0bCBwcmVmZXJfZGlyZWN0IHByb3h5X2F1dGgKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglwcm94eV9hdXRoX3JlYWxtIHF1ZXJ5X2ljbXAgcXVpY2tfYWJvcnQKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglxdWlja19hYm9ydCBxdWlja19hYm9ydF9tYXggcXVpY2tfYWJvcnRfbWluCitzeW4ga2V5d29yZAlzcXVpZENvbmYJcXVpY2tfYWJvcnRfcGN0IHJhbmdlX29mZnNldF9saW1pdAorc3luIGtleXdvcmQJc3F1aWRDb25mCXJlYWRfdGltZW91dCByZWRpcmVjdF9jaGlsZHJlbgorc3luIGtleXdvcmQJc3F1aWRDb25mCXJlZGlyZWN0X3Byb2dyYW0KK3N5biBrZXl3b3JkCXNxdWlkQ29uZglyZWRpcmVjdF9yZXdyaXRlc19ob3N0X2hlYWRlciByZWZlcmVuY2VfYWdlCitzeW4ga2V5d29yZAlzcXVpZENvbmYJcmVmZXJlbmNlX2FnZSByZWZyZXNoX3BhdHRlcm4gcmVsb2FkX2ludG9faW1zCitzeW4ga2V5d29yZAlzcXVpZENvbmYJcmVxdWVzdF9zaXplIHJlcXVlc3RfdGltZW91dAorc3luIGtleXdvcmQJc3F1aWRDb25mCXNodXRkb3duX2xpZmV0aW1lIHNpbmdsZV9wYXJlbnRfYnlwYXNzCitzeW4ga2V5d29yZAlzcXVpZENvbmYJc2l0ZXNlbGVjdF90aW1lb3V0IHNubXBfYWNjZXNzCitzeW4ga2V5d29yZAlzcXVpZENvbmYJc25tcF9pbmNvbWluZ19hZGRyZXNzIHNubXBfcG9ydCBzb3VyY2VfcGluZworc3luIGtleXdvcmQJc3F1aWRDb25mCXNzbF9wcm94eSBzdG9yZV9hdmdfb2JqZWN0X3NpemUKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglzdG9yZV9vYmplY3RzX3Blcl9idWNrZXQgc3RyaXBfcXVlcnlfdGVybXMKK3N5biBrZXl3b3JkCXNxdWlkQ29uZglzd2FwX2xldmVsMV9kaXJzIHN3YXBfbGV2ZWwyX2RpcnMKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgl0Y3BfaW5jb21pbmdfYWRkcmVzcyB0Y3Bfb3V0Z29pbmdfYWRkcmVzcworc3luIGtleXdvcmQJc3F1aWRDb25mCXRjcF9yZWN2X2J1ZnNpemUgdGVzdF9yZWFjaGFiaWxpdHkKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgl1ZHBfaGl0X29iaiB1ZHBfaGl0X29ial9zaXplCitzeW4ga2V5d29yZAlzcXVpZENvbmYJdWRwX2luY29taW5nX2FkZHJlc3MgdWRwX291dGdvaW5nX2FkZHJlc3MKK3N5biBrZXl3b3JkCXNxdWlkQ29uZgl1bmlxdWVfaG9zdG5hbWUgdW5saW5rZF9wcm9ncmFtCitzeW4ga2V5d29yZAlzcXVpZENvbmYJdXJpX3doaXRlc3BhY2UgdXNlcmFnZW50X2xvZyB2aXNpYmxlX2hvc3RuYW1lCitzeW4ga2V5d29yZAlzcXVpZENvbmYJd2Fpc19yZWxheSB3YWlzX3JlbGF5X2hvc3Qgd2Fpc19yZWxheV9wb3J0CisKK3N5biBrZXl3b3JkCXNxdWlkT3B0CXByb3h5LW9ubHkgd2VpZ2h0IHR0bCBuby1xdWVyeSBkZWZhdWx0CitzeW4ga2V5d29yZAlzcXVpZE9wdAlyb3VuZC1yb2JpbiBtdWx0aWNhc3QtcmVzcG9uZGVyCitzeW4ga2V5d29yZAlzcXVpZE9wdAlvbiBvZmYgYWxsIGRlbnkgYWxsb3cKKworIiBTZWN1cml0eSBBY3Rpb25zIGZvciBjYWNoZW1ncl9wYXNzd2QKK3N5biBrZXl3b3JkCXNxdWlkQWN0aW9uCXNodXRkb3duIGluZm8gcGFyYW1ldGVyIHNlcnZlcl9saXN0CitzeW4ga2V5d29yZAlzcXVpZEFjdGlvbgljbGllbnRfbGlzdAorc3luIG1hdGNoCXNxdWlkQWN0aW9uCSJzdGF0cy9cKG9iamVjdHNcfHZtX29iamVjdHNcfHV0aWxpemF0aW9uXHxpcGNhY2hlXHxmcWRuY2FjaGVcfGRuc1x8cmVkaXJlY3Rvclx8aW9cfHJlcGx5X2hlYWRlcnNcfGZpbGVkZXNjcmlwdG9yc1x8bmV0ZGJcKSIKK3N5biBtYXRjaAlzcXVpZEFjdGlvbgkibG9nXCgvXChzdGF0dXNcfGVuYWJsZVx8ZGlzYWJsZVx8Y2xlYXJcKVwpXD0iCitzeW4gbWF0Y2gJc3F1aWRBY3Rpb24JInNxdWlkXC5jb25mIgorCisiIEtleXdvcmRzIGZvciB0aGUgYWNsLWNvbmZpZworc3luIGtleXdvcmQJc3F1aWRBY2wJdXJsX3JlZ2V4IHVybHBhdGhfcmVnZXggcmVmZXJlcl9yZWdleCBwb3J0IHByb3RvCitzeW4ga2V5d29yZAlzcXVpZEFjbAlyZXFfbWltZV90eXBlIHJlcF9taW1lX3R5cGUKK3N5biBrZXl3b3JkCXNxdWlkQWNsCW1ldGhvZCBicm93c2VyIHVzZXIgc3JjIGRzdAorCitzeW4gbWF0Y2gJc3F1aWROdW1iZXIJIlw8XGRcK1w+Igorc3luIG1hdGNoCXNxdWlkSVAJCSJcPFxkXHsxLDN9XC5cZFx7MSwzfVwuXGRcezEsM31cLlxkXHsxLDN9XD4iCitzeW4gbWF0Y2gJc3F1aWRTdHIJIlwoXlxzKmFjbFxzXCtcU1wrXHNcK1woXFMqX3JlZ2V4XHxyZVtwcV1fbWltZV90eXBlXHxicm93c2VyXHxfZG9tYWluXHx1c2VyXClcK1xzXCtcKVxAPD0uKiIgY29udGFpbnM9c3F1aWRSZWdleE9wdAorc3luIG1hdGNoCXNxdWlkUmVnZXhPcHQJY29udGFpbmVkICJcKF5ccyphY2xcc1wrXFNcK1xzXCtcU1wrXChfcmVnZXhcfF9taW1lX3R5cGVcKVxzXCtcKVxAPD1bLStdaVxzXCsiCisKKyIgQWxsIGNvbmZpZyBpcyBpbiBvbmUgbGluZSwgc28gdGhpcyBoYXMgdG8gYmUgc3VmZmljaWVudAorIiBNYWtlIGl0IGZhc3QgbGlrZSBoZWxsIDopCitzeW4gc3luYyBtaW5saW5lcz0zCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NxdWlkX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NxdWlkX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHNxdWlkVG9kbwlUb2RvCisgIEhpTGluayBzcXVpZENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgc3F1aWRUYWcJU3BlY2lhbAorICBIaUxpbmsgc3F1aWRDb25mCUtleXdvcmQKKyAgSGlMaW5rIHNxdWlkT3B0CUNvbnN0YW50CisgIEhpTGluayBzcXVpZEFjdGlvbglTdHJpbmcKKyAgSGlMaW5rIHNxdWlkTnVtYmVyCU51bWJlcgorICBIaUxpbmsgc3F1aWRJUAlOdW1iZXIKKyAgSGlMaW5rIHNxdWlkQWNsCUtleXdvcmQKKyAgSGlMaW5rIHNxdWlkU3RyCVN0cmluZworICBIaUxpbmsgc3F1aWRSZWdleE9wdAlTcGVjaWFsCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInNxdWlkIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3NoY29uZmlnLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NzaGNvbmZpZy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJkYTcyYQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NzaGNvbmZpZy52aW0KQEAgLTAsMCArMSw5OSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgVGhpcyBpcyBhIEdFTkVSQVRFRCBGSUxFLiBQbGVhc2UgYWx3YXlzIHJlZmVyIHRvIHNvdXJjZSBmaWxlIGF0IHRoZSBVUkkgYmVsb3cuCisiIExhbmd1YWdlOiBPcGVuU1NIIHNlcnZlciBjb25maWd1cmF0aW9uIGZpbGUgKHNzaF9jb25maWcpCisiIE1haW50YWluZXI6IERhdmlkIE5lXHZ7Y31hcyAoWWV0aSkgPHlldGlAcGh5c2ljcy5tdW5pLmN6PgorIiBMYXN0IENoYW5nZTogMjAwMy0wNS0wNgorIiBVUkw6IGh0dHA6Ly90cmlmaWMuYXRoLmN4L0Z0cC92aW0vc3ludGF4L3NzaGNvbmZpZy52aW0KKworIiBTZXR1cAoraWYgdmVyc2lvbiA+PSA2MDAKKwlpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCQlmaW5pc2gKKwllbmRpZgorZWxzZQorCXN5bnRheCBjbGVhcgorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAKKwlzZXRsb2NhbCBpc2tleXdvcmQ9XywtLGEteixBLVosNDgtNTcKK2Vsc2UKKwlzZXQgaXNrZXl3b3JkPV8sLSxhLXosQS1aLDQ4LTU3CitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBDb21tZW50cworc3luIG1hdGNoIHNzaGNvbmZpZ0NvbW1lbnQgIiMuKiQiIGNvbnRhaW5zPXNzaGNvbmZpZ1RvZG8KK3N5biBrZXl3b3JkIHNzaGNvbmZpZ1RvZG8gVE9ETyBGSVhNRSBOT1QgY29udGFpbmVkCisKKyIgQ29uc3RhbnRzCitzeW4ga2V5d29yZCBzc2hjb25maWdZZXNObyB5ZXMgbm8gYXNrCitzeW4ga2V5d29yZCBzc2hjb25maWdDaXBoZXIgYmxvd2Zpc2ggZGVzIDNkZXMKK3N5biBrZXl3b3JkIHNzaGNvbmZpZ0NpcGhlciBhZXMxMjgtY2JjIDNkZXMtY2JjIGJsb3dmaXNoLWNiYyBjYXN0MTI4LWNiYworc3luIGtleXdvcmQgc3NoY29uZmlnQ2lwaGVyIGFyY2ZvdXIgYWVzMTkyLWNiYyBhZXMyNTYtY2JjCitzeW4ga2V5d29yZCBzc2hjb25maWdNQUMgaG1hYy1tZDUgaG1hYy1zaGExIGhtYWMtcmlwZW1kMTYwIGhtYWMtc2hhMS05Ngorc3luIGtleXdvcmQgc3NoY29uZmlnTUFDIGhtYWMtbWQ1LTk2CitzeW4ga2V5d29yZCBzc2hjb25maWdIb3N0S2V5QWxnIHNzaC1yc2Egc3NoLWRzcworc3luIGtleXdvcmQgc3NoY29uZmlnUHJlZmVycmVkQXV0aCBob3N0YmFzZWQgcHVibGlja2V5IHBhc3N3b3JkCitzeW4ga2V5d29yZCBzc2hjb25maWdQcmVmZXJyZWRBdXRoIGtleWJvYXJkLWludGVyYWN0aXZlCitzeW4ga2V5d29yZCBzc2hjb25maWdMb2dMZXZlbCBRVUlFVCBGQVRBTCBFUlJPUiBJTkZPIFZFUkJPU0UKK3N5biBrZXl3b3JkIHNzaGNvbmZpZ0xvZ0xldmVsIERFQlVHIERFQlVHMSBERUJVRzIgREVCVUczCitzeW4ga2V5d29yZCBzc2hjb25maWdTeXNMb2dGYWNpbGl0eSBEQUVNT04gVVNFUiBBVVRIIExPQ0FMMCBMT0NBTDEgTE9DQUwyCitzeW4ga2V5d29yZCBzc2hjb25maWdTeXNMb2dGYWNpbGl0eSBMT0NBTDMgTE9DQUw0IExPQ0FMNSBMT0NBTDYgTE9DQUw3CitzeW4gbWF0Y2ggc3NoY29uZmlnU3BlY2lhbCAiWyo/XSIKK3N5biBtYXRjaCBzc2hjb25maWdOdW1iZXIgIlxkXCsiCitzeW4gbWF0Y2ggc3NoY29uZmlnSG9zdFBvcnQgIlw8XChcZFx7MSwzfVwuXClcezN9XGRcezEsM31cKDpcZFwrXClcP1w+Igorc3luIG1hdGNoIHNzaGNvbmZpZ0hvc3RQb3J0ICJcPFwoWy1hLXpBLVowLTldXCtcLlwpXCtbLWEtekEtWjAtOV1cezIsfVwoOlxkXCtcKVw/XD4iCitzeW4gbWF0Y2ggc3NoY29uZmlnSG9zdFBvcnQgIlw8XChceFx7LDR9OlwpXCtceFx7LDR9WzovXVxkXCtcPiIKKworIiBLZXl3b3Jkcworc3luIGtleXdvcmQgc3NoY29uZmlnSG9zdFNlY3QgSG9zdAorc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBBRlNUb2tlblBhc3NpbmcgQmF0Y2hNb2RlIEJpbmRBZGRyZXNzCitzeW4ga2V5d29yZCBzc2hjb25maWdLZXl3b3JkIENoYWxsZW5nZVJlc3BvbnNlQXV0aGVudGljYXRpb24gQ2hlY2tIb3N0SVAKK3N5biBrZXl3b3JkIHNzaGNvbmZpZ0tleXdvcmQgQ2lwaGVyIENpcGhlcnMgQ2xlYXJBbGxGb3J3YXJkaW5ncyBDb21wcmVzc2lvbgorc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBDb21wcmVzc2lvbkxldmVsIENvbm5lY3Rpb25BdHRlbXB0cworc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBEeW5hbWljRm9yd2FyZCBFc2NhcGVDaGFyIEZvcndhcmRBZ2VudCBGb3J3YXJkWDExCitzeW4ga2V5d29yZCBzc2hjb25maWdLZXl3b3JkIEdhdGV3YXlQb3J0cyBHbG9iYWxLbm93bkhvc3RzRmlsZQorc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBIb3N0YmFzZWRBdXRoZW50aWNhdGlvbiBIb3N0S2V5QWxnb3JpdGhtcworc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBIb3N0S2V5QWxpYXMgSG9zdE5hbWUgSWRlbnRpdHlGaWxlIEtlZXBBbGl2ZQorc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBLZXJiZXJvc0F1dGhlbnRpY2F0aW9uIEtlcmJlcm9zVGd0UGFzc2luZworc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBMb2NhbEZvcndhcmQgTG9nTGV2ZWwgTUFDcworc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBOb0hvc3RBdXRoZW50aWNhdGlvbkZvckxvY2FsaG9zdAorc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBOdW1iZXJPZlBhc3N3b3JkUHJvbXB0cyBQYXNzd29yZEF1dGhlbnRpY2F0aW9uCitzeW4ga2V5d29yZCBzc2hjb25maWdLZXl3b3JkIFBvcnQgUHJlZmVycmVkQXV0aGVudGljYXRpb25zIFByb3RvY29sCitzeW4ga2V5d29yZCBzc2hjb25maWdLZXl3b3JkIFByb3h5Q29tbWFuZCBQdWJrZXlBdXRoZW50aWNhdGlvbiBSZW1vdGVGb3J3YXJkCitzeW4ga2V5d29yZCBzc2hjb25maWdLZXl3b3JkIFJob3N0c0F1dGhlbnRpY2F0aW9uIFJob3N0c1JTQUF1dGhlbnRpY2F0aW9uCitzeW4ga2V5d29yZCBzc2hjb25maWdLZXl3b3JkIFJTQUF1dGhlbnRpY2F0aW9uIFNtYXJ0Y2FyZERldmljZQorc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBTdHJpY3RIb3N0S2V5Q2hlY2tpbmcgVXNlUHJpdmlsZWdlZFBvcnQgVXNlcgorc3luIGtleXdvcmQgc3NoY29uZmlnS2V5d29yZCBVc2VyS25vd25Ib3N0c0ZpbGUgWEF1dGhMb2NhdGlvbgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zc2hjb25maWdfc3ludGF4X2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfc3NoY29uZmlnX3N5bnRheF9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwlIaUxpbmsgc3NoY29uZmlnQ29tbWVudCBDb21tZW50CisJSGlMaW5rIHNzaGNvbmZpZ1RvZG8gVG9kbworCUhpTGluayBzc2hjb25maWdIb3N0UG9ydCBzc2hjb25maWdDb25zdGFudAorCUhpTGluayBzc2hjb25maWdOdW1iZXIgc3NoY29uZmlnQ29uc3RhbnQKKwlIaUxpbmsgc3NoY29uZmlnQ29uc3RhbnQgQ29uc3RhbnQKKwlIaUxpbmsgc3NoY29uZmlnWWVzTm8gc3NoY29uZmlnRW51bQorCUhpTGluayBzc2hjb25maWdDaXBoZXIgc3NoY29uZmlnRW51bQorCUhpTGluayBzc2hjb25maWdNQUMgc3NoY29uZmlnRW51bQorCUhpTGluayBzc2hjb25maWdIb3N0S2V5QWxnIHNzaGNvbmZpZ0VudW0KKwlIaUxpbmsgc3NoY29uZmlnTG9nTGV2ZWwgc3NoY29uZmlnRW51bQorCUhpTGluayBzc2hjb25maWdTeXNMb2dGYWNpbGl0eSBzc2hjb25maWdFbnVtCisJSGlMaW5rIHNzaGNvbmZpZ1ByZWZlcnJlZEF1dGggc3NoY29uZmlnRW51bQorCUhpTGluayBzc2hjb25maWdFbnVtIEZ1bmN0aW9uCisJSGlMaW5rIHNzaGNvbmZpZ1NwZWNpYWwgU3BlY2lhbAorCUhpTGluayBzc2hjb25maWdLZXl3b3JkIEtleXdvcmQKKwlIaUxpbmsgc3NoY29uZmlnSG9zdFNlY3QgVHlwZQorCWRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzc2hjb25maWciCisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NzaGRjb25maWcudmltIGIvcnVudGltZS9zeW50YXgvc3NoZGNvbmZpZy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMzNDMwNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3NzaGRjb25maWcudmltCkBAIC0wLDAgKzEsOTggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIFRoaXMgaXMgYSBHRU5FUkFURUQgRklMRS4gUGxlYXNlIGFsd2F5cyByZWZlciB0byBzb3VyY2UgZmlsZSBhdCB0aGUgVVJJIGJlbG93LgorIiBMYW5ndWFnZTogT3BlblNTSCBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlIChzc2hkX2NvbmZpZykKKyIgTWFpbnRhaW5lcjogRGF2aWQgTmVcdntjfWFzIChZZXRpKSA8eWV0aUBwaHlzaWNzLm11bmkuY3o+CisiIExhc3QgQ2hhbmdlOiAyMDAzLTA1LTA2CisiIFVSTDogaHR0cDovL3RyaWZpYy5hdGguY3gvRnRwL3ZpbS9zeW50YXgvc3NoZGNvbmZpZy52aW0KKworIiBTZXR1cAoraWYgdmVyc2lvbiA+PSA2MDAKKwlpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCQlmaW5pc2gKKwllbmRpZgorZWxzZQorCXN5bnRheCBjbGVhcgorZW5kaWYKKworaWYgdmVyc2lvbiA+PSA2MDAKKwlzZXRsb2NhbCBpc2tleXdvcmQ9XywtLGEteixBLVosNDgtNTcKK2Vsc2UKKwlzZXQgaXNrZXl3b3JkPV8sLSxhLXosQS1aLDQ4LTU3CitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworIiBDb21tZW50cworc3luIG1hdGNoIHNzaGRjb25maWdDb21tZW50ICIjLiokIiBjb250YWlucz1zc2hkY29uZmlnVG9kbworc3luIGtleXdvcmQgc3NoZGNvbmZpZ1RvZG8gVE9ETyBGSVhNRSBOT1QgY29udGFpbmVkCisKKyIgQ29uc3RhbnRzCitzeW4ga2V5d29yZCBzc2hkY29uZmlnWWVzTm8geWVzIG5vCitzeW4ga2V5d29yZCBzc2hkY29uZmlnQ2lwaGVyIGFlczEyOC1jYmMgM2Rlcy1jYmMgYmxvd2Zpc2gtY2JjIGNhc3QxMjgtY2JjCitzeW4ga2V5d29yZCBzc2hkY29uZmlnQ2lwaGVyIGFlczE5Mi1jYmMgYWVzMjU2LWNiYworc3luIGtleXdvcmQgc3NoZGNvbmZpZ0NpcGhlciBhcmNmb3VyCitzeW4ga2V5d29yZCBzc2hkY29uZmlnTUFDIGhtYWMtbWQ1IGhtYWMtc2hhMSBobWFjLXJpcGVtZDE2MCBobWFjLXNoYTEtOTYKK3N5biBrZXl3b3JkIHNzaGRjb25maWdNQUMgaG1hYy1tZDUtOTYKK3N5biBrZXl3b3JkIHNzaGRjb25maWdSb290TG9naW4gd2l0aG91dC1wYXNzd29yZCBmb3JjZWQtY29tbWFuZHMtb25seQorc3luIGtleXdvcmQgc3NoZGNvbmZpZ0xvZ0xldmVsIFFVSUVUIEZBVEFMIEVSUk9SIElORk8gVkVSQk9TRQorc3luIGtleXdvcmQgc3NoZGNvbmZpZ0xvZ0xldmVsIERFQlVHIERFQlVHMSBERUJVRzIgREVCVUczCitzeW4ga2V5d29yZCBzc2hkY29uZmlnU3lzTG9nRmFjaWxpdHkgREFFTU9OIFVTRVIgQVVUSCBMT0NBTDAgTE9DQUwxIExPQ0FMMgorc3luIGtleXdvcmQgc3NoZGNvbmZpZ1N5c0xvZ0ZhY2lsaXR5IExPQ0FMMyBMT0NBTDQgTE9DQUw1IExPQ0FMNiBMT0NBTDcKK3N5biBtYXRjaCBzc2hkY29uZmlnU3BlY2lhbCAiWyo/XSIKK3N5biBtYXRjaCBzc2hkY29uZmlnTnVtYmVyICJcZFwrIgorc3luIG1hdGNoIHNzaGRjb25maWdIb3N0UG9ydCAiXDxcKFxkXHsxLDN9XC5cKVx7M31cZFx7MSwzfVwoOlxkXCtcKVw/XD4iCitzeW4gbWF0Y2ggc3NoZGNvbmZpZ0hvc3RQb3J0ICJcPFwoWy1hLXpBLVowLTldXCtcLlwpXCtbLWEtekEtWjAtOV1cezIsfVwoOlxkXCtcKVw/XD4iCitzeW4gbWF0Y2ggc3NoZGNvbmZpZ0hvc3RQb3J0ICJcPFwoXHhceyw0fTpcKVwrXHhceyw0fTpcZFwrXD4iCitzeW4gbWF0Y2ggc3NoZGNvbmZpZ1RpbWUgIlw8XChcZFwrW3NTbU1oSGREd1ddXClcK1w+IgorCisiIEtleXdvcmRzCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBBRlNUb2tlblBhc3NpbmcgQWxsb3dHcm91cHMgQWxsb3dUY3BGb3J3YXJkaW5nCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBBbGxvd1VzZXJzIEF1dGhvcml6ZWRLZXlzRmlsZSBCYW5uZXIKK3N5biBrZXl3b3JkIHNzaGRjb25maWdLZXl3b3JkIENoYWxsZW5nZVJlc3BvbnNlQXV0aGVudGljYXRpb24gQ2lwaGVycworc3luIGtleXdvcmQgc3NoZGNvbmZpZ0tleXdvcmQgQ2xpZW50QWxpdmVJbnRlcnZhbCBDbGllbnRBbGl2ZUNvdW50TWF4CitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBDb21wcmVzc2lvbiBEZW55R3JvdXBzIERlbnlVc2VycyBHYXRld2F5UG9ydHMKK3N5biBrZXl3b3JkIHNzaGRjb25maWdLZXl3b3JkIEhvc3RiYXNlZEF1dGhlbnRpY2F0aW9uIEhvc3RLZXkgSWdub3JlUmhvc3RzCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBJZ25vcmVVc2VyS25vd25Ib3N0cyBLZWVwQWxpdmUKK3N5biBrZXl3b3JkIHNzaGRjb25maWdLZXl3b3JkIEtlcmJlcm9zQXV0aGVudGljYXRpb24gS2VyYmVyb3NPckxvY2FsUGFzc3dkCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBLZXJiZXJvc1RndFBhc3NpbmcgS2VyYmVyb3NUaWNrZXRDbGVhbnVwCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBLZXlSZWdlbmVyYXRpb25JbnRlcnZhbCBMaXN0ZW5BZGRyZXNzCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBMb2dpbkdyYWNlVGltZSBMb2dMZXZlbCBNQUNzIE1heFN0YXJ0dXBzCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBQQU1BdXRoZW50aWNhdGlvblZpYUtiZEludAorc3luIGtleXdvcmQgc3NoZGNvbmZpZ0tleXdvcmQgUGFzc3dvcmRBdXRoZW50aWNhdGlvbiBQZXJtaXRFbXB0eVBhc3N3b3Jkcworc3luIGtleXdvcmQgc3NoZGNvbmZpZ0tleXdvcmQgUGVybWl0Um9vdExvZ2luIFBlcm1pdFVzZXJFbnZpcm9ubWVudCBQaWRGaWxlCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBQb3J0IFByaW50TGFzdExvZyBQcmludE1vdGQgUHJvdG9jb2wKK3N5biBrZXl3b3JkIHNzaGRjb25maWdLZXl3b3JkIFB1YmtleUF1dGhlbnRpY2F0aW9uIFJob3N0c0F1dGhlbnRpY2F0aW9uCitzeW4ga2V5d29yZCBzc2hkY29uZmlnS2V5d29yZCBSaG9zdHNSU0FBdXRoZW50aWNhdGlvbiBSU0FBdXRoZW50aWNhdGlvbgorc3luIGtleXdvcmQgc3NoZGNvbmZpZ0tleXdvcmQgU2VydmVyS2V5Qml0cyBTdHJpY3RNb2RlcyBTdWJzeXN0ZW0KK3N5biBrZXl3b3JkIHNzaGRjb25maWdLZXl3b3JkIFN5c2xvZ0ZhY2lsaXR5IFVzZUxvZ2luIFVzZVByaXZpbGVnZVNlcGFyYXRpb24KK3N5biBrZXl3b3JkIHNzaGRjb25maWdLZXl3b3JkIFZlcmlmeVJldmVyc2VNYXBwaW5nIFgxMURpc3BsYXlPZmZzZXQKK3N5biBrZXl3b3JkIHNzaGRjb25maWdLZXl3b3JkIFgxMUZvcndhcmRpbmcgWDExVXNlTG9jYWxob3N0IFhBdXRoTG9jYXRpb24KKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3NoZGNvbmZpZ19zeW50YXhfaW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9zc2hkY29uZmlnX3N5bnRheF9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwlIaUxpbmsgc3NoZGNvbmZpZ0NvbW1lbnQgQ29tbWVudAorCUhpTGluayBzc2hkY29uZmlnVG9kbyBUb2RvCisJSGlMaW5rIHNzaGRjb25maWdIb3N0UG9ydCBzc2hkY29uZmlnQ29uc3RhbnQKKwlIaUxpbmsgc3NoZGNvbmZpZ1RpbWUgc3NoZGNvbmZpZ0NvbnN0YW50CisJSGlMaW5rIHNzaGRjb25maWdOdW1iZXIgc3NoZGNvbmZpZ0NvbnN0YW50CisJSGlMaW5rIHNzaGRjb25maWdDb25zdGFudCBDb25zdGFudAorCUhpTGluayBzc2hkY29uZmlnWWVzTm8gc3NoZGNvbmZpZ0VudW0KKwlIaUxpbmsgc3NoZGNvbmZpZ0NpcGhlciBzc2hkY29uZmlnRW51bQorCUhpTGluayBzc2hkY29uZmlnTUFDIHNzaGRjb25maWdFbnVtCisJSGlMaW5rIHNzaGRjb25maWdSb290TG9naW4gc3NoZGNvbmZpZ0VudW0KKwlIaUxpbmsgc3NoZGNvbmZpZ0xvZ0xldmVsIHNzaGRjb25maWdFbnVtCisJSGlMaW5rIHNzaGRjb25maWdTeXNMb2dGYWNpbGl0eSBzc2hkY29uZmlnRW51bQorCUhpTGluayBzc2hkY29uZmlnRW51bSBGdW5jdGlvbgorCUhpTGluayBzc2hkY29uZmlnU3BlY2lhbCBTcGVjaWFsCisJSGlMaW5rIHNzaGRjb25maWdLZXl3b3JkIEtleXdvcmQKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3NoZGNvbmZpZyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3N0LnZpbSBiL3J1bnRpbWUvc3ludGF4L3N0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjI5ZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3QudmltCkBAIC0wLDAgKzEsMTAyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJU21hbGx0YWxrCisiIE1haW50YWluZXI6CUFybmR0IEhlc3NlIDxoZXNzZUBzZWxmLmRlPgorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMDkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIHNvbWUgU21hbGx0YWxrIGtleXdvcmRzIGFuZCBzdGFuZGFyZCBtZXRob2RzCitzeW4ga2V5d29yZAlzdEtleXdvcmQJc3VwZXIgc2VsZiBjbGFzcyB0cnVlIGZhbHNlIG5ldyBub3QKK3N5biBrZXl3b3JkCXN0S2V5d29yZAlub3ROaWwgaXNOaWwgaW5zcGVjdCBvdXQgbmlsCitzeW4gbWF0Y2gJc3RNZXRob2QJIlw8ZG9cPjoiCitzeW4gbWF0Y2gJc3RNZXRob2QJIlw8d2hpbGVUcnVlXD46Igorc3luIG1hdGNoCXN0TWV0aG9kCSJcPHdoaWxlRmFsc2VcPjoiCitzeW4gbWF0Y2gJc3RNZXRob2QJIlw8aWZUcnVlXD46Igorc3luIG1hdGNoCXN0TWV0aG9kCSJcPGlmRmFsc2VcPjoiCitzeW4gbWF0Y2gJc3RNZXRob2QJIlw8cHV0XD46Igorc3luIG1hdGNoCXN0TWV0aG9kCSJcPHRvXD46Igorc3luIG1hdGNoCXN0TWV0aG9kCSJcPGF0XD46Igorc3luIG1hdGNoCXN0TWV0aG9kCSJcPGFkZFw+OiIKK3N5biBtYXRjaAlzdE1ldGhvZAkiXDxuZXdcPjoiCitzeW4gbWF0Y2gJc3RNZXRob2QJIlw8Zm9yXD46Igorc3luIG1hdGNoCXN0TWV0aG9kCSJcPG1ldGhvZHNcPjoiCitzeW4gbWF0Y2gJc3RNZXRob2QJIlw8bWV0aG9kc0Zvclw+OiIKK3N5biBtYXRjaAlzdE1ldGhvZAkiXDxpbnN0YW5jZVZhcmlhYmxlTmFtZXNcPjoiCitzeW4gbWF0Y2gJc3RNZXRob2QJIlw8Y2xhc3NWYXJpYWJsZU5hbWVzXD46Igorc3luIG1hdGNoCXN0TWV0aG9kCSJcPHBvb2xEaWN0aW9uYXJpZXNcPjoiCitzeW4gbWF0Y2gJc3RNZXRob2QJIlw8c3ViY2xhc3NcPjoiCisKKyIgdGhlIGJsb2NrIG9mIGxvY2FsIHZhcmlhYmxlcyBvZiBhIG1ldGhvZAorc3luIHJlZ2lvbiBzdExvY2FsVmFyaWFibGVzCXN0YXJ0PSJeWyBcdF0qfCIgZW5kPSJ8IgorCisiIHRoZSBTbWFsbHRhbGsgY29tbWVudAorc3luIHJlZ2lvbiBzdENvbW1lbnQJc3RhcnQ9IlwiIiBlbmQ9IlwiIgorCisiIHRoZSBTbWFsbHRhbGsgc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMKK3N5biByZWdpb24gc3RTdHJpbmcJc3RhcnQ9J1wnJyBza2lwPSInJyIgZW5kPSdcJycKK3N5biBtYXRjaCAgc3RDaGFyYWN0ZXIJIiQuIgorCitzeW4gY2FzZSBpZ25vcmUKKworIiB0aGUgc3ltb2xzIHByZWZpeGVkIGJ5IGEgJyMnCitzeW4gbWF0Y2ggIHN0U3ltYm9sCSJcKCNcPFthLXpfXVthLXowLTlfXSpcPlwpIgorc3luIG1hdGNoICBzdFN5bWJvbAkiXCgjJ1teJ10qJ1wpIgorCisiIHRoZSB2YXJpYWJsZXMgaW4gYSBzdGF0ZW1lbnQgYmxvY2sgZm9yIGxvb3BzCitzeW4gbWF0Y2ggIHN0QmxvY2tWYXJpYWJsZSAiXCg6WyBcdF0qXDxbYS16X11bYS16MC05X10qXD5bIFx0XSpcKVwrfCIgY29udGFpbmVkCisKKyIgc29tZSByZXByZXNlbnRhdGlvbnMgb2YgbnVtYmVycworc3luIG1hdGNoICBzdE51bWJlcgkiXDxcZFwrXCh1XD1sXD1cfGx1XHxmXClcPiIKK3N5biBtYXRjaCAgc3RGbG9hdAkiXDxcZFwrXC5cZCpcKGVbLStdXD1cZFwrXClcPVtmbF1cPVw+Igorc3luIG1hdGNoICBzdEZsb2F0CSJcPFxkXCtlWy0rXVw9XGRcK1tmbF1cPVw+IgorCitzeW4gY2FzZSBtYXRjaAorCisiIGEgdHJ5IHRvIGhpZ2xpZ2h0IHBhcmVuIG1pc21hdGNoZXMKK3N5biByZWdpb24gc3RQYXJlbgl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsc3RQYXJlbkVycm9yCitzeW4gbWF0Y2ggIHN0UGFyZW5FcnJvcgkiKSIKK3N5biByZWdpb24gc3RCbG9jawl0cmFuc3BhcmVudCBzdGFydD0nXFsnIGVuZD0nXF0nIGNvbnRhaW5zPUFMTEJVVCxzdEJsb2NrRXJyb3IKK3N5biBtYXRjaCAgc3RCbG9ja0Vycm9yCSJcXSIKK3N5biByZWdpb24gc3RTZXQJdHJhbnNwYXJlbnQgc3RhcnQ9J3snIGVuZD0nfScgY29udGFpbnM9QUxMQlVULHN0U2V0RXJyb3IKK3N5biBtYXRjaCAgc3RTZXRFcnJvcgkifSIKKworaGkgbGluayBzdFBhcmVuRXJyb3Igc3RFcnJvcgoraGkgbGluayBzdFNldEVycm9yIHN0RXJyb3IKK2hpIGxpbmsgc3RCbG9ja0Vycm9yIHN0RXJyb3IKKworIiBzeW5jaHJvbml6YXRpb24gZm9yIHN5bnRheCBhbmFseXNpcworc3luIHN5bmMgbWlubGluZXM9NTAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3Rfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfc3Rfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc3RLZXl3b3JkCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHN0TWV0aG9kCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHN0Q29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgc3RDaGFyYWN0ZXIJCUNvbnN0YW50CisgIEhpTGluayBzdFN0cmluZwkJQ29uc3RhbnQKKyAgSGlMaW5rIHN0U3ltYm9sCQlTcGVjaWFsCisgIEhpTGluayBzdE51bWJlcgkJVHlwZQorICBIaUxpbmsgc3RGbG9hdAkJVHlwZQorICBIaUxpbmsgc3RFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHN0TG9jYWxWYXJpYWJsZXMJSWRlbnRpZmllcgorICBIaUxpbmsgc3RCbG9ja1ZhcmlhYmxlCUlkZW50aWZpZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3QiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zdHAudmltIGIvcnVudGltZS9zeW50YXgvc3RwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGYwZjNiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3RwLnZpbQpAQCAtMCwwICsxLDE2NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgICAgTGFuZ3VhZ2U6IFN0b3JlZCBQcm9jZWR1cmVzIChTVFApCisiICBNYWludGFpbmVyOiBKZWZmIExhbnphcm90dGEgKGplZmZsYW56YXJvdHRhQHlhaG9vLmNvbSkKKyIJICBVUkw6IGh0dHA6Ly9sYW56YXJvdHRhLnRyaXBvZC5jb20vdmltL3N5bnRheC9zdHAudmltLnppcAorIiBMYXN0IENoYW5nZTogTWFyY2ggMDUsIDIwMDIKKworIiBGb3IgdmVyc2lvbiA1LngsIGNsZWFyIGFsbCBzeW50YXggaXRlbXMuCisiIEZvciB2ZXJzaW9uIDYueCwgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCisiIFNwZWNpYWxzLgorc3luIGtleXdvcmQgc3RwU3BlY2lhbCAgICBudWxsCisKKyIgS2V5d29yZHMuCitzeW4ga2V5d29yZCBzdHBLZXl3b3JkIGJlZ2luIGJyZWFrIGNhbGwgY2FzZSBjcmVhdGUgZGVhbGxvY2F0ZSBkeW5hbWljCitzeW4ga2V5d29yZCBzdHBLZXl3b3JkIGV4ZWN1dGUgZnJvbSBmdW5jdGlvbiBnbyBncmFudAorc3luIGtleXdvcmQgc3RwS2V5d29yZCBpbmRleCBpbnNlcnQgaW50byBsZWF2ZSBtYXggbWluIG9uIG91dHB1dCBwcm9jZWR1cmUKK3N5biBrZXl3b3JkIHN0cEtleXdvcmQgcHVibGljIHJlc3VsdCByZXR1cm4gcmV0dXJucyBzY3JvbGwgdGFibGUgdG8KK3N5biBrZXl3b3JkIHN0cEtleXdvcmQgd2hlbgorc3luIG1hdGNoICAgc3RwS2V5d29yZCAiXDxlbmRcPiIKKworIiBDb25kaXRpb25hbC4KK3N5biBrZXl3b3JkIHN0cENvbmRpdGlvbmFsIGlmIGVsc2UgZWxzZWlmIHRoZW4KK3N5biBtYXRjaCAgIHN0cENvbmRpdGlvbmFsICJcPGVuZFxzXCtpZlw+IgorCisiIFJlcGVhdHMuCitzeW4ga2V5d29yZCBzdHBSZXBlYXQgZm9yIHdoaWxlIGxvb3AKK3N5biBtYXRjaCAgIHN0cFJlcGVhdCAiXDxlbmRcc1wrbG9vcFw+IgorCisiIE9wZXJhdG9ycy4KK3N5biBrZXl3b3JkIHN0cE9wZXJhdG9yIGFzYyBub3QgYW5kIG9yIGRlc2MgZ3JvdXAgaGF2aW5nIGluIGlzIGFueSBzb21lIGFsbAorc3luIGtleXdvcmQgc3RwT3BlcmF0b3IgYmV0d2VlbiBleGlzdHMgbGlrZSBlc2NhcGUgd2l0aCB1bmlvbiBpbnRlcnNlY3QgbWludXMKK3N5biBrZXl3b3JkIHN0cE9wZXJhdG9yIG91dCBwcmlvciBkaXN0aW5jdCBzeXNkYXRlCisKKyIgU3RhdGVtZW50cy4KK3N5biBrZXl3b3JkIHN0cFN0YXRlbWVudCBhbHRlciBhbmFseXplIGFzIGF1ZGl0IGF2ZyBieSBjbG9zZSBjbHVzdGVyZWQgY29tbWVudAorc3luIGtleXdvcmQgc3RwU3RhdGVtZW50IGNvbW1pdCBjb250aW51ZSBjb3VudCBjcmVhdGUgY3Vyc29yIGRlY2xhcmUgZGVsZXRlCitzeW4ga2V5d29yZCBzdHBTdGF0ZW1lbnQgZHJvcCBleGVjIGV4ZWN1dGUgZXhwbGFpbiBmZXRjaCBmcm9tIGluZGV4IGluc2VydAorc3luIGtleXdvcmQgc3RwU3RhdGVtZW50IGludG8gbG9jayBtYXggbWluIG5leHQgbm9hdWRpdCBub25jbHVzdGVyZWQgb3Blbgorc3luIGtleXdvcmQgc3RwU3RhdGVtZW50IG9yZGVyIG91dHB1dCBwcmludCByYWlzZXJyb3IgcmVjb21waWxlIHJlbmFtZSByZXZva2UKK3N5biBrZXl3b3JkIHN0cFN0YXRlbWVudCByb2xsYmFjayBzYXZlcG9pbnQgc2VsZWN0IHNldCBzdW0gdHJhbnNhY3Rpb24KK3N5biBrZXl3b3JkIHN0cFN0YXRlbWVudCB0cnVuY2F0ZSB1bmlxdWUgdXBkYXRlIHZhbHVlcyB3aGVyZQorCisiIEZ1bmN0aW9ucy4KK3N5biBrZXl3b3JkIHN0cEZ1bmN0aW9uIGFicyBhY29zIGFzY2lpIGFzaW4gYXRhbiBhdG4yIGF2ZyBjZWlsaW5nIGNoYXJpbmRleAorc3luIGtleXdvcmQgc3RwRnVuY3Rpb24gY2hhcmxlbmd0aCBjb252ZXJ0IGNvbF9uYW1lIGNvbF9sZW5ndGggY29zIGNvdCBjb3VudAorc3luIGtleXdvcmQgc3RwRnVuY3Rpb24gY3VydW5yZXNlcnZlZHBncyBkYXRhcGdzIGRhdGFsZW5ndGggZGF0ZWFkZCBkYXRlZGlmZgorc3luIGtleXdvcmQgc3RwRnVuY3Rpb24gZGF0ZW5hbWUgZGF0ZXBhcnQgZGJfaWQgZGJfbmFtZSBkZWdyZWUgZGlmZmVyZW5jZQorc3luIGtleXdvcmQgc3RwRnVuY3Rpb24gZXhwIGZsb29yIGdldGRhdGUgaGV4dG9pbnQgaG9zdF9pZCBob3N0X25hbWUgaW5kZXhfY29sCitzeW4ga2V5d29yZCBzdHBGdW5jdGlvbiBpbnR0b2hleCBpc251bGwgbGN0X2FkbWluIGxvZyBsb2cxMCBsb3dlciBsdHJpbSBtYXgKK3N5biBrZXl3b3JkIHN0cEZ1bmN0aW9uIG1pbiBub3cgb2JqZWN0X2lkIG9iamVjdF9uYW1lIHBhdGluZGV4IHBpIHBvcyBwb3dlcgorc3luIGtleXdvcmQgc3RwRnVuY3Rpb24gcHJvY19yb2xlIHJhZGlhbnMgcmFuZCByZXBsYWNlIHJlcGxpY2F0ZSByZXNlcnZlZF9wZ3MKK3N5biBrZXl3b3JkIHN0cEZ1bmN0aW9uIHJldmVyc2UgcmlnaHQgcnRyaW0gcm93Y250IHJvdW5kIHNob3dfcm9sZSBzaWduIHNpbgorc3luIGtleXdvcmQgc3RwRnVuY3Rpb24gc291bmRleCBzcGFjZSBzcXJ0IHN0ciBzdHVmZiBzdWJzdHIgc3Vic3RyaW5nIHN1bQorc3luIGtleXdvcmQgc3RwRnVuY3Rpb24gc3VzZXJfaWQgc3VzZXJfbmFtZSB0YW4gdHNlcXVhbCB1cHBlciB1c2VkX3BncyB1c2VyCitzeW4ga2V5d29yZCBzdHBGdW5jdGlvbiB1c2VyX2lkIHVzZXJfbmFtZSB2YWxpZF9uYW1lIHZhbGlkX3VzZXIgbWVzc2FnZQorCisiIFR5cGVzLgorc3luIGtleXdvcmQgc3RwVHlwZSBiaW5hcnkgYml0IGNoYXIgZGF0ZXRpbWUgZGVjaW1hbCBkb3VibGUgZmxvYXQgaW1hZ2UKK3N5biBrZXl3b3JkIHN0cFR5cGUgaW50IGludGVnZXIgbG9uZyBtb25leSBuY2hhciBudW1lcmljIHByZWNpc2lvbiByZWFsCitzeW4ga2V5d29yZCBzdHBUeXBlIHNtYWxsZGF0ZXRpbWUgc21hbGxpbnQgc21hbGxtb25leSB0ZXh0IHRpbWUgdGlueWludAorc3luIGtleXdvcmQgc3RwVHlwZSB0aW1lc3RhbXAgdmFyYmluYXJ5IHZhcmNoYXIKKworIiBHbG9iYWxzLgorc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAY2hhcl9jb252ZXJ0Jworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAY2llbnRfY3NuYW1lJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAY2xpZW50X2NzaWQnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEBjb25uZWN0aW9ucycKK3N5biBtYXRjaCBzdHBHbG9iYWxzICdAQGNwdV9idXN5Jworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAZXJyb3InCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEBpZGVudGl0eScKK3N5biBtYXRjaCBzdHBHbG9iYWxzICdAQGlkbGUnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEBpb19idXN5Jworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAaXNvbGF0aW9uJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAbGFuZ2lkJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAbGFuZ3VhZ2UnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEBtYXhfY29ubmVjdGlvbnMnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEBtYXhjaGFybGVuJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAbmNoYXJzaXplJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAbmVzdGxldmVsJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAcGFja19yZWNlaXZlZCcKK3N5biBtYXRjaCBzdHBHbG9iYWxzICdAQHBhY2tfc2VudCcKK3N5biBtYXRjaCBzdHBHbG9iYWxzICdAQHBhY2tldF9lcnJvcnMnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEBwcm9jaWQnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEByb3djb3VudCcKK3N5biBtYXRjaCBzdHBHbG9iYWxzICdAQHNlcnZlcm5hbWUnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEBzcGlkJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAc3Fsc3RhdHVzJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAdGVzdHRzJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAdGV4dGNvbGlkJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAdGV4dGRiaWQnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEB0ZXh0b2JqaWQnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEB0ZXh0cHRyJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAdGV4dHNpemUnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEB0aHJlc2hfaHlzdGVyZXNpcycKK3N5biBtYXRjaCBzdHBHbG9iYWxzICdAQHRpbWV0aWNrcycKK3N5biBtYXRjaCBzdHBHbG9iYWxzICdAQHRvdGFsX2Vycm9yJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAdG90YWxfcmVhZCcKK3N5biBtYXRjaCBzdHBHbG9iYWxzICdAQHRvdGFsX3dyaXRlJworc3luIG1hdGNoIHN0cEdsb2JhbHMgJ0BAdHJhbmNoYWluZWQnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEB0cmFuY291bnQnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEB0cmFuc3RhdGUnCitzeW4gbWF0Y2ggc3RwR2xvYmFscyAnQEB2ZXJzaW9uJworCisiIFRvZG9zLgorc3luIGtleXdvcmQgc3RwVG9kbyBUT0RPIEZJWE1FIFhYWCBERUJVRyBOT1RFCisKKyIgU3RyaW5ncyBhbmQgY2hhcmFjdGVycy4KK3N5biBtYXRjaCBzdHBTdHJpbmdFcnJvciAiJy4qJCIKK3N5biBtYXRjaCBzdHBTdHJpbmcgIidcKFteJ11cfCcnXCkqJyIKKworIiBOdW1iZXJzLgorc3luIG1hdGNoIHN0cE51bWJlciAiLVw9XDxcZCpcLlw9WzAtOV9dXD4iCisKKyIgQ29tbWVudHMuCitzeW4gcmVnaW9uIHN0cENvbW1lbnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPXN0cFRvZG8KK3N5biBtYXRjaCAgc3RwQ29tbWVudCAiLS0uKiIgY29udGFpbnM9c3RwVG9kbworc3luIHN5bmMgICBjY29tbWVudCBzdHBDb21tZW50CisKKyIgUGFyZW5zLgorc3luIHJlZ2lvbiBzdHBQYXJlbiB0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsc3RwUGFyZW5FcnJvcgorc3luIG1hdGNoICBzdHBQYXJlbkVycm9yICIpIgorCisiIFN5bnRheCBTeW5jaHJvbml6aW5nLgorc3luIHN5bmMgbWlubGluZXM9MTAgbWF4bGluZXM9MTAwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS54IGFuZCBlYXJsaWVyLCBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeS4KKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlciwgb25seSB3aGVuIGFuZCBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3N0cF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zdHBfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgc3RwQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHN0cENvbW1lbnQgQ29tbWVudAorICBIaUxpbmsgc3RwS2V5d29yZCBLZXl3b3JkCisgIEhpTGluayBzdHBOdW1iZXIgTnVtYmVyCisgIEhpTGluayBzdHBPcGVyYXRvciBPcGVyYXRvcgorICBIaUxpbmsgc3RwU3BlY2lhbCBTcGVjaWFsCisgIEhpTGluayBzdHBTdGF0ZW1lbnQgU3RhdGVtZW50CisgIEhpTGluayBzdHBTdHJpbmcgU3RyaW5nCisgIEhpTGluayBzdHBTdHJpbmdFcnJvciBFcnJvcgorICBIaUxpbmsgc3RwVHlwZSBUeXBlCisgIEhpTGluayBzdHBUb2RvIFRvZG8KKyAgSGlMaW5rIHN0cEZ1bmN0aW9uIEZ1bmN0aW9uCisgIEhpTGluayBzdHBHbG9iYWxzIE1hY3JvCisgIEhpTGluayBzdHBQYXJlbiBOb3JtYWwKKyAgSGlMaW5rIHN0cFBhcmVuRXJyb3IgRXJyb3IKKyAgSGlMaW5rIHN0cFNRTEtleXdvcmQgRnVuY3Rpb24KKyAgSGlMaW5rIHN0cFJlcGVhdCBSZXBlYXQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3RwIgorCisiIHZpbSB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3N0cmFjZS52aW0gYi9ydW50aW1lL3N5bnRheC9zdHJhY2UudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwY2QyNjIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zdHJhY2UudmltCkBAIC0wLDAgKzEsNjYgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIFRoaXMgaXMgYSBHRU5FUkFURUQgRklMRS4gUGxlYXNlIGFsd2F5cyByZWZlciB0byBzb3VyY2UgZmlsZSBhdCB0aGUgVVJJIGJlbG93LgorIiBMYW5ndWFnZTogc3RyYWNlIG91dHB1dAorIiBNYWludGFpbmVyOiBEYXZpZCBOZVx2e2N9YXMgKFlldGkpIDx5ZXRpQHBoeXNpY3MubXVuaS5jej4KKyIgTGFzdCBDaGFuZ2U6IDIwMDItMTAtMTAKKyIgVVJMOiBodHRwOi8vdHJpZmljLmF0aC5jeC9GdHAvdmltL3N5bnRheC9zdHJhY2UudmltCisKKyIgU2V0dXAKK2lmIHZlcnNpb24gPj0gNjAwCisJaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwkJZmluaXNoCisJZW5kaWYKK2Vsc2UKKwlzeW50YXggY2xlYXIKK2VuZGlmCisKK3N5biBjYXNlIG1hdGNoCisKKyIgUGFyc2UgdGhlIGxpbmUKK3N5biBtYXRjaCBzdHJhY2VTcGVjaWFsQ2hhciAiXFxcZFxkXGRcfFxcLiIgY29udGFpbmVkCitzeW4gcmVnaW9uIHN0cmFjZVN0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXN0cmFjZVNwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biBtYXRjaCBzdHJhY2VOdW1iZXIgIlxXWystXVw9XChcZFwrXClcPVwuXD1cZFwrXChbZUVdWystXVw9XGRcK1wpXD0ibGM9MQorc3luIG1hdGNoIHN0cmFjZU51bWJlciAiXFcweFx4XCsibGM9MQorc3luIG1hdGNoIHN0cmFjZU51bWJlclJIUyAiXFdcKDB4XHhcK1x8LVw9XGRcK1wpImxjPTEgY29udGFpbmVkCitzeW4gbWF0Y2ggc3RyYWNlT3RoZXJSSFMgIj8iIGNvbnRhaW5lZAorc3luIG1hdGNoIHN0cmFjZUNvbnN0YW50ICJbQS1aX11cezIsfSIKK3N5biByZWdpb24gc3RyYWNlVmVyYm9zZWQgc3RhcnQ9IigiIGVuZD0iKSIgbWF0Y2hncm91cD1Ob3JtYWwgY29udGFpbmVkIG9uZWxpbmUKK3N5biByZWdpb24gc3RyYWNlUmV0dXJuZWQgc3RhcnQ9IlxzPVxzIiBlbmQ9IiQiIGNvbnRhaW5zPVN0cmFjZUVxdWFscyxzdHJhY2VOdW1iZXJSSFMsc3RyYWNlT3RoZXJSSFMsc3RyYWNlQ29uc3RhbnQsc3RyYWNlVmVyYm9zZWQgb25lbGluZSB0cmFuc3BhcmVudAorc3luIG1hdGNoIHN0cmFjZUVxdWFscyAiXHM9XHMibXM9cysxLG1lPWUtMQorc3luIG1hdGNoIHN0cmFjZVBhcmVudGhlc2lzICJbXVsoKXt9XSIKK3N5biBtYXRjaCBzdHJhY2VTeXNDYWxsICJeXHdcKyIKK3N5biBtYXRjaCBzdHJhY2VPdGhlclBJRCAiXlxbW15dXSpcXSIgY29udGFpbnM9c3RyYWNlUElELHN0cmFjZU51bWJlciBuZXh0Z3JvdXA9c3RyYWNlU3lzQ2FsbEVtYmVkIHNraXB3aGl0ZQorc3luIG1hdGNoIHN0cmFjZVN5c0NhbGxFbWJlZCAiXHdcKyIgY29udGFpbmVkCitzeW4ga2V5d29yZCBzdHJhY2VQSUQgcGlkIGNvbnRhaW5lZAorc3luIG1hdGNoIHN0cmFjZU9wZXJhdG9yICJbLSs9Ki8hJSZ8OixdIgorc3luIHJlZ2lvbiBzdHJhY2VDb21tZW50IHN0YXJ0PSIvXCoiIGVuZD0iXCovIiBvbmVsaW5lCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3N0cmFjZV9zeW50YXhfaW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9zdHJhY2Vfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayBzdHJhY2VDb21tZW50IENvbW1lbnQKKwlIaUxpbmsgc3RyYWNlVmVyYm9zZWQgQ29tbWVudAorCUhpTGluayBzdHJhY2VQSUQgUHJlUHJvYworCUhpTGluayBzdHJhY2VOdW1iZXIgTnVtYmVyCisJSGlMaW5rIHN0cmFjZU51bWJlclJIUyBUeXBlCisJSGlMaW5rIHN0cmFjZU90aGVyUkhTIFR5cGUKKwlIaUxpbmsgc3RyYWNlU3RyaW5nIFN0cmluZworCUhpTGluayBzdHJhY2VDb25zdGFudCBGdW5jdGlvbgorCUhpTGluayBzdHJhY2VFcXVhbHMgVHlwZQorCUhpTGluayBzdHJhY2VTeXNDYWxsRW1iZWQgc3RyYWNlU3lzQ2FsbAorCUhpTGluayBzdHJhY2VTeXNDYWxsIFN0YXRlbWVudAorCUhpTGluayBzdHJhY2VQYXJlbnRoZXNpcyBTdGF0ZW1lbnQKKwlIaUxpbmsgc3RyYWNlT3BlcmF0b3IgTm9ybWFsCisJSGlMaW5rIHN0cmFjZVNwZWNpYWxDaGFyIFNwZWNpYWwKKwlIaUxpbmsgc3RyYWNlT3RoZXJQSUQgUHJlUHJvYworCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInN0cmFjZSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3N2bi52aW0gYi9ydW50aW1lL3N5bnRheC9zdm4udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYzMyMzYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zdm4udmltCkBAIC0wLDAgKzEsNDYgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglTdWJ2ZXJzaW9uIChzdm4pIGNvbW1pdCBmaWxlCisiIE1haW50YWluZXI6CURtaXRyeSBWYXNpbGlldiA8ZGltYUBobGFicy5zcGIucnU+CisiIFVSTDoJCWh0dHA6Ly93d3cuaGxhYnMuc3BiLnJ1L3ZpbS9zdm4udmltCisiIExhc3QgQ2hhbmdlOgkkRGF0ZSQKKyIgJFJldmlzaW9uJAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcy4KKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIHJlZ2lvbiBzdm5SZWdpb24Jc3RhcnQ9Ii0tVGhpcyBsaW5lLCBhbmQgdGhvc2UgYmVsb3csIHdpbGwgYmUgaWdub3JlZC0tIiBlbmQ9IlwlJCIgY29udGFpbnM9QUxMCitzeW4gbWF0Y2ggc3ZuUmVtb3ZlZAkiXkQgICAgLiokIiBjb250YWluZWQKK3N5biBtYXRjaCBzdm5BZGRlZAkiXkFbIE1dICAgLiokIiBjb250YWluZWQKK3N5biBtYXRjaCBzdm5Nb2RpZmllZAkiXk1bIE1dICAgLiokIiBjb250YWluZWQKK3N5biBtYXRjaCBzdm5Qcm9wZXJ0eQkiXl9NICAgLiokIiBjb250YWluZWQKKworIiBTeW5jaHJvbml6YXRpb24uCitzeW4gc3luYyBjbGVhcgorc3luIHN5bmMgbWF0Y2ggc3ZuU3luYwlncm91cGhlcmUgc3ZuUmVnaW9uICItLVRoaXMgbGluZSwgYW5kIHRob3NlIGJlbG93LCB3aWxsIGJlIGlnbm9yZWQtLSJtZT1zLTEKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5LgorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldC4KK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zdm5fc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8PSA1MDgKKyAgICBsZXQgZGlkX3N2bl9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBzdm5SZWdpb24JQ29tbWVudAorICBIaUxpbmsgc3ZuUmVtb3ZlZAlDb25zdGFudAorICBIaUxpbmsgc3ZuQWRkZWQJSWRlbnRpZmllcgorICBIaUxpbmsgc3ZuTW9kaWZpZWQJU3BlY2lhbAorICBIaUxpbmsgc3ZuUHJvcGVydHkJU3BlY2lhbAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzdm4iCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zeW5jb2xvci52aW0gYi9ydW50aW1lL3N5bnRheC9zeW5jb2xvci52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQwMDY0ZAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3N5bmNvbG9yLnZpbQpAQCAtMCwwICsxLDg1IEBACisiIFZpbSBzeW50YXggc3VwcG9ydCBmaWxlCisiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+CisiIExhc3QgQ2hhbmdlOgkyMDAxIFNlcCAxMgorCisiIFRoaXMgZmlsZSBzZXRzIHVwIHRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4KKyIgSXQgaXMgbG9hZGVkIGZyb20gInN5bmxvYWQudmltIiBhbmQgZnJvbSBWaW0gZm9yICI6c3ludGF4IHJlc2V0Ii4KKyIgQWxzbyB1c2VkIGZyb20gaW5pdF9oaWdobGlnaHQoKS4KKworaWYgIWV4aXN0cygic3ludGF4X2NtZCIpIHx8IHN5bnRheF9jbWQgPT0gIm9uIgorICAiICI6c3ludGF4IG9uIiB3b3JrcyBsaWtlIGluIFZpbSA1Ljc6IHNldCBjb2xvcnMgYnV0IGtlZXAgbGlua3MKKyAgY29tbWFuZCAtbmFyZ3M9KiBTeW5Db2xvciBoaSA8YXJncz4KKyAgY29tbWFuZCAtbmFyZ3M9KiBTeW5MaW5rIGhpIGxpbmsgPGFyZ3M+CitlbHNlCisgIGlmIHN5bnRheF9jbWQgPT0gImVuYWJsZSIKKyAgICAiICI6c3ludGF4IGVuYWJsZSIga2VlcHMgYW55IGV4aXN0aW5nIGNvbG9ycworICAgIGNvbW1hbmQgLW5hcmdzPSogU3luQ29sb3IgaGkgZGVmIDxhcmdzPgorICAgIGNvbW1hbmQgLW5hcmdzPSogU3luTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZWxzZWlmIHN5bnRheF9jbWQgPT0gInJlc2V0IgorICAgICIgIjpzeW50YXggcmVzZXQiIHJlc2V0cyBhbGwgY29sb3JzIHRvIHRoZSBkZWZhdWx0CisgICAgY29tbWFuZCAtbmFyZ3M9KiBTeW5Db2xvciBoaSA8YXJncz4KKyAgICBjb21tYW5kIC1uYXJncz0qIFN5bkxpbmsgaGkhIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICAiIFVzZXIgZGVmaW5lZCBzeW5jb2xvciBmaWxlIGhhcyBhbHJlYWR5IHNldCB0aGUgY29sb3JzLgorICAgIGZpbmlzaAorICBlbmRpZgorZW5kaWYKKworIiBNYW55IHRlcm1pbmFscyBjYW4gb25seSB1c2Ugc2l4IGRpZmZlcmVudCBjb2xvcnMgKHBsdXMgYmxhY2sgYW5kIHdoaXRlKS4KKyIgVGhlcmVmb3JlIHRoZSBudW1iZXIgb2YgY29sb3JzIHVzZWQgaXMga2VwdCBsb3cuIEl0IGRvZXNuJ3QgbG9vayBuaWNlIHdpdGgKKyIgdG9vIG1hbnkgY29sb3JzIGFueXdheS4KKyIgQ2FyZWZ1bCB3aXRoICJjdGVybT1ib2xkIiwgaXQgY2hhbmdlcyB0aGUgY29sb3IgdG8gYnJpZ2h0IGZvciBzb21lIHRlcm1pbmFscy4KKyIgVGhlcmUgYXJlIHR3byBzZXRzIG9mIGRlZmF1bHRzOiBmb3IgYSBkYXJrIGFuZCBhIGxpZ2h0IGJhY2tncm91bmQuCitpZiAmYmFja2dyb3VuZCA9PSAiZGFyayIKKyAgU3luQ29sb3IgQ29tbWVudAl0ZXJtPWJvbGQgY3Rlcm09Tk9ORSBjdGVybWZnPUN5YW4gY3Rlcm1iZz1OT05FIGd1aT1OT05FIGd1aWZnPSM4MGEwZmYgZ3VpYmc9Tk9ORQorICBTeW5Db2xvciBDb25zdGFudAl0ZXJtPXVuZGVybGluZSBjdGVybT1OT05FIGN0ZXJtZmc9TWFnZW50YSBjdGVybWJnPU5PTkUgZ3VpPU5PTkUgZ3VpZmc9I2ZmYTBhMCBndWliZz1OT05FCisgIFN5bkNvbG9yIFNwZWNpYWwJdGVybT1ib2xkIGN0ZXJtPU5PTkUgY3Rlcm1mZz1MaWdodFJlZCBjdGVybWJnPU5PTkUgZ3VpPU5PTkUgZ3VpZmc9T3JhbmdlIGd1aWJnPU5PTkUKKyAgU3luQ29sb3IgSWRlbnRpZmllcgl0ZXJtPXVuZGVybGluZSBjdGVybT1ib2xkIGN0ZXJtZmc9Q3lhbiBjdGVybWJnPU5PTkUgZ3VpPU5PTkUgZ3VpZmc9IzQwZmZmZiBndWliZz1OT05FCisgIFN5bkNvbG9yIFN0YXRlbWVudAl0ZXJtPWJvbGQgY3Rlcm09Tk9ORSBjdGVybWZnPVllbGxvdyBjdGVybWJnPU5PTkUgZ3VpPWJvbGQgZ3VpZmc9I2ZmZmY2MCBndWliZz1OT05FCisgIFN5bkNvbG9yIFByZVByb2MJdGVybT11bmRlcmxpbmUgY3Rlcm09Tk9ORSBjdGVybWZnPUxpZ2h0Qmx1ZSBjdGVybWJnPU5PTkUgZ3VpPU5PTkUgZ3VpZmc9I2ZmODBmZiBndWliZz1OT05FCisgIFN5bkNvbG9yIFR5cGUJCXRlcm09dW5kZXJsaW5lIGN0ZXJtPU5PTkUgY3Rlcm1mZz1MaWdodEdyZWVuIGN0ZXJtYmc9Tk9ORSBndWk9Ym9sZCBndWlmZz0jNjBmZjYwIGd1aWJnPU5PTkUKKyAgU3luQ29sb3IgVW5kZXJsaW5lZAl0ZXJtPXVuZGVybGluZSBjdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1MaWdodEJsdWUgZ3VpPXVuZGVybGluZSBndWlmZz0jODBhMGZmCisgIFN5bkNvbG9yIElnbm9yZQl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPWJsYWNrIGN0ZXJtYmc9Tk9ORSBndWk9Tk9ORSBndWlmZz1iZyBndWliZz1OT05FCitlbHNlCisgIFN5bkNvbG9yIENvbW1lbnQJdGVybT1ib2xkIGN0ZXJtPU5PTkUgY3Rlcm1mZz1EYXJrQmx1ZSBjdGVybWJnPU5PTkUgZ3VpPU5PTkUgZ3VpZmc9Qmx1ZSBndWliZz1OT05FCisgIFN5bkNvbG9yIENvbnN0YW50CXRlcm09dW5kZXJsaW5lIGN0ZXJtPU5PTkUgY3Rlcm1mZz1EYXJrUmVkIGN0ZXJtYmc9Tk9ORSBndWk9Tk9ORSBndWlmZz1NYWdlbnRhIGd1aWJnPU5PTkUKKyAgU3luQ29sb3IgU3BlY2lhbAl0ZXJtPWJvbGQgY3Rlcm09Tk9ORSBjdGVybWZnPURhcmtNYWdlbnRhIGN0ZXJtYmc9Tk9ORSBndWk9Tk9ORSBndWlmZz1TbGF0ZUJsdWUgZ3VpYmc9Tk9ORQorICBTeW5Db2xvciBJZGVudGlmaWVyCXRlcm09dW5kZXJsaW5lIGN0ZXJtPU5PTkUgY3Rlcm1mZz1EYXJrQ3lhbiBjdGVybWJnPU5PTkUgZ3VpPU5PTkUgZ3VpZmc9RGFya0N5YW4gZ3VpYmc9Tk9ORQorICBTeW5Db2xvciBTdGF0ZW1lbnQJdGVybT1ib2xkIGN0ZXJtPU5PTkUgY3Rlcm1mZz1Ccm93biBjdGVybWJnPU5PTkUgZ3VpPWJvbGQgZ3VpZmc9QnJvd24gZ3VpYmc9Tk9ORQorICBTeW5Db2xvciBQcmVQcm9jCXRlcm09dW5kZXJsaW5lIGN0ZXJtPU5PTkUgY3Rlcm1mZz1EYXJrTWFnZW50YSBjdGVybWJnPU5PTkUgZ3VpPU5PTkUgZ3VpZmc9UHVycGxlIGd1aWJnPU5PTkUKKyAgU3luQ29sb3IgVHlwZQkJdGVybT11bmRlcmxpbmUgY3Rlcm09Tk9ORSBjdGVybWZnPURhcmtHcmVlbiBjdGVybWJnPU5PTkUgZ3VpPWJvbGQgZ3VpZmc9U2VhR3JlZW4gZ3VpYmc9Tk9ORQorICBTeW5Db2xvciBVbmRlcmxpbmVkCXRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtNYWdlbnRhIGd1aT11bmRlcmxpbmUgZ3VpZmc9U2xhdGVCbHVlCisgIFN5bkNvbG9yIElnbm9yZQl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPXdoaXRlIGN0ZXJtYmc9Tk9ORSBndWk9Tk9ORSBndWlmZz1iZyBndWliZz1OT05FCitlbmRpZgorU3luQ29sb3IgRXJyb3IJCXRlcm09cmV2ZXJzZSBjdGVybT1OT05FIGN0ZXJtZmc9V2hpdGUgY3Rlcm1iZz1SZWQgZ3VpPU5PTkUgZ3VpZmc9V2hpdGUgZ3VpYmc9UmVkCitTeW5Db2xvciBUb2RvCQl0ZXJtPXN0YW5kb3V0IGN0ZXJtPU5PTkUgY3Rlcm1mZz1CbGFjayBjdGVybWJnPVllbGxvdyBndWk9Tk9ORSBndWlmZz1CbHVlIGd1aWJnPVllbGxvdworCisiIENvbW1vbiBncm91cHMgdGhhdCBsaW5rIHRvIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBZb3UgY2FuIHNwZWNpZnkgb3RoZXIgaGlnaGxpZ2h0aW5nIGVhc2lseS4KK1N5bkxpbmsgU3RyaW5nCQlDb25zdGFudAorU3luTGluayBDaGFyYWN0ZXIJQ29uc3RhbnQKK1N5bkxpbmsgTnVtYmVyCQlDb25zdGFudAorU3luTGluayBCb29sZWFuCQlDb25zdGFudAorU3luTGluayBGbG9hdAkJTnVtYmVyCitTeW5MaW5rIEZ1bmN0aW9uCUlkZW50aWZpZXIKK1N5bkxpbmsgQ29uZGl0aW9uYWwJU3RhdGVtZW50CitTeW5MaW5rIFJlcGVhdAkJU3RhdGVtZW50CitTeW5MaW5rIExhYmVsCQlTdGF0ZW1lbnQKK1N5bkxpbmsgT3BlcmF0b3IJU3RhdGVtZW50CitTeW5MaW5rIEtleXdvcmQJCVN0YXRlbWVudAorU3luTGluayBFeGNlcHRpb24JU3RhdGVtZW50CitTeW5MaW5rIEluY2x1ZGUJCVByZVByb2MKK1N5bkxpbmsgRGVmaW5lCQlQcmVQcm9jCitTeW5MaW5rIE1hY3JvCQlQcmVQcm9jCitTeW5MaW5rIFByZUNvbmRpdAlQcmVQcm9jCitTeW5MaW5rIFN0b3JhZ2VDbGFzcwlUeXBlCitTeW5MaW5rIFN0cnVjdHVyZQlUeXBlCitTeW5MaW5rIFR5cGVkZWYJCVR5cGUKK1N5bkxpbmsgVGFnCQlTcGVjaWFsCitTeW5MaW5rIFNwZWNpYWxDaGFyCVNwZWNpYWwKK1N5bkxpbmsgRGVsaW1pdGVyCVNwZWNpYWwKK1N5bkxpbmsgU3BlY2lhbENvbW1lbnQJU3BlY2lhbAorU3luTGluayBEZWJ1ZwkJU3BlY2lhbAorCitkZWxjb21tYW5kIFN5bkNvbG9yCitkZWxjb21tYW5kIFN5bkxpbmsKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3N5bmxvYWQudmltIGIvcnVudGltZS9zeW50YXgvc3lubG9hZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgxNmJjMgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3N5bmxvYWQudmltCkBAIC0wLDAgKzEsNjkgQEAKKyIgVmltIHN5bnRheCBzdXBwb3J0IGZpbGUKKyIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDIxCisKKyIgVGhpcyBmaWxlIHNldHMgdXAgZm9yIHN5bnRheCBoaWdobGlnaHRpbmcuCisiIEl0IGlzIGxvYWRlZCBmcm9tICJzeW50YXgudmltIiBhbmQgIm1hbnVhbC52aW0iLgorIiAxLiBTZXQgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0IGdyb3Vwcy4KKyIgMi4gSW5zdGFsbCBTeW50YXggYXV0b2NvbW1hbmRzIGZvciBhbGwgdGhlIGF2YWlsYWJsZSBzeW50YXggZmlsZXMuCisKK2lmICFoYXMoInN5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBsZXQgb3RoZXJzIGtub3cgdGhhdCBzeW50YXggaGFzIGJlZW4gc3dpdGNoZWQgb24KK2xldCBzeW50YXhfb24gPSAxCisKKyIgU2V0IHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZyBjb2xvcnMuICBVc2UgYSBjb2xvciBzY2hlbWUgaWYgc3BlY2lmaWVkLgoraWYgZXhpc3RzKCJjb2xvcnNfbmFtZSIpCisgIGV4ZSAiY29sb3JzICIgLiBjb2xvcnNfbmFtZQorZWxzZQorICBydW50aW1lISBzeW50YXgvc3luY29sb3IudmltCitlbmRpZgorCisiIExpbmUgY29udGludWF0aW9uIGlzIHVzZWQgaGVyZSwgcmVtb3ZlICdDJyBmcm9tICdjcG9wdGlvbnMnCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKKyIgRmlyc3QgcmVtb3ZlIGFsbCBvbGQgc3ludGF4IGF1dG9jb21tYW5kcy4KK2F1ISBTeW50YXgKKworYXUgU3ludGF4ICoJCWNhbGwgczpTeW5TZXQoKQorCitmdW4hIHM6U3luU2V0KCkKKyAgIiBjbGVhciBzeW50YXggZm9yIDpzZXQgc3ludGF4PU9GRiAgYW5kIGFueSBzeW50YXggbmFtZSB0aGF0IGRvZXNuJ3QgZXhpc3QKKyAgc3luIGNsZWFyCisgIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorICBlbmRpZgorCisgIGxldCBzID0gZXhwYW5kKCI8YW1hdGNoPiIpCisgIGlmIHMgPT0gIk9OIgorICAgICIgOnNldCBzeW50YXg9T04KKyAgICBpZiAmZmlsZXR5cGUgPT0gIiIKKyAgICAgIGVjaG9obCBFcnJvck1zZworICAgICAgZWNobyAiZmlsZXR5cGUgdW5rbm93biIKKyAgICAgIGVjaG9obCBOb25lCisgICAgZW5kaWYKKyAgICBsZXQgcyA9ICZmaWxldHlwZQorICBlbmRpZgorCisgIGlmIHMgIT0gIiIKKyAgICAiIExvYWQgdGhlIHN5bnRheCBmaWxlKHMpCisiICAgaWYgaGFzKCJtYWMiKQorIiAgICAgZXhlICJydW50aW1lISBzeW50YXg6IiAuIHMgLiAiLnZpbSIKKyIgICBlbHNlCisgICAgICBleGUgInJ1bnRpbWUhIHN5bnRheC8iIC4gcyAuICIudmltIgorIiAgIGVuZGlmCisgIGVuZGlmCitlbmRmdW4KKworCisiIFNvdXJjZSB0aGUgdXNlci1zcGVjaWZpZWQgc3ludGF4IGhpZ2hsaWdodGluZyBmaWxlCitpZiBleGlzdHMoIm15c3ludGF4ZmlsZSIpICYmIGZpbGVyZWFkYWJsZShleHBhbmQobXlzeW50YXhmaWxlKSkKKyAgZXhlY3V0ZSAic291cmNlICIgLiBteXN5bnRheGZpbGUKK2VuZGlmCisKKyIgUmVzdG9yZSAnY3BvcHRpb25zJworbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zeW50YXgudmltIGIvcnVudGltZS9zeW50YXgvc3ludGF4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjc0ZDkzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3ludGF4LnZpbQpAQCAtMCwwICsxLDQzIEBACisiIFZpbSBzeW50YXggc3VwcG9ydCBmaWxlCisiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+CisiIExhc3QgQ2hhbmdlOgkyMDAxIFNlcCAwNAorCisiIFRoaXMgZmlsZSBpcyB1c2VkIGZvciAiOnN5bnRheCBvbiIuCisiIEl0IGluc3RhbGxzIHRoZSBhdXRvY29tbWFuZHMgYW5kIHN0YXJ0cyBoaWdobGlnaHRpbmcgZm9yIGFsbCBidWZmZXJzLgorCitpZiAhaGFzKCJzeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgSWYgU3ludGF4IGhpZ2hsaWdodGluZyBhcHBlYXJzIHRvIGJlIG9uIGFscmVhZHksIHR1cm4gaXQgb2ZmIGZpcnN0LCBzbyB0aGF0CisiIGFueSBsZWZ0b3ZlcnMgYXJlIGNsZWFyZWQuCitpZiBleGlzdHMoInN5bnRheF9vbiIpIHx8IGV4aXN0cygic3ludGF4X21hbnVhbCIpCisgIHNvIDxzZmlsZT46cDpoL25vc3ludGF4LnZpbQorZW5kaWYKKworIiBMb2FkIHRoZSBTeW50YXggYXV0b2NvbW1hbmRzIGFuZCBzZXQgdGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLgorcnVudGltZSBzeW50YXgvc3lubG9hZC52aW0KKworIiBMb2FkIHRoZSBGaWxlVHlwZSBhdXRvY29tbWFuZHMgaWYgbm90IGRvbmUgeWV0LgoraWYgZXhpc3RzKCJkaWRfbG9hZF9maWxldHlwZXMiKQorICBsZXQgczpkaWRfZnQgPSAxCitlbHNlCisgIGZpbGV0eXBlIG9uCisgIGxldCBzOmRpZF9mdCA9IDAKK2VuZGlmCisKKyIgU2V0IHVwIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gRmlsZVR5cGUgYW5kIFN5bnRheCBhdXRvY29tbWFuZHMuCisiIFRoaXMgbWFrZXMgdGhlIHN5bnRheCBhdXRvbWF0aWNhbGx5IHNldCB3aGVuIHRoZSBmaWxlIHR5cGUgaXMgZGV0ZWN0ZWQuCithdWdyb3VwIHN5bnRheHNldAorICBhdSEgRmlsZVR5cGUgKglleGUgInNldCBzeW50YXg9IiAuIGV4cGFuZCgiPGFtYXRjaD4iKQorYXVncm91cCBFTkQKKworCisiIEV4ZWN1dGUgdGhlIHN5bnRheCBhdXRvY29tbWFuZHMgZm9yIHRoZSBlYWNoIGJ1ZmZlci4KKyIgSWYgdGhlIGZpbGV0eXBlIHdhc24ndCBkZXRlY3RlZCB5ZXQsIGRvIHRoYXQgbm93LgorIiBBbHdheXMgZG8gdGhlIHN5bnRheHNldCBhdXRvY29tbWFuZHMsIGZvciBidWZmZXJzIHdoZXJlIHRoZSAnZmlsZXR5cGUnCisiIGFscmVhZHkgd2FzIHNldCBtYW51YWxseSAoZS5nLiwgaGVscCBidWZmZXJzKS4KK2RvYXV0b2FsbCBzeW50YXhzZXQgRmlsZVR5cGUKK2lmICFzOmRpZF9mdAorICBkb2F1dG9hbGwgZmlsZXR5cGVkZXRlY3QgQnVmUmVhZAorZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RhZHMudmltIGIvcnVudGltZS9zeW50YXgvdGFkcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBmZmU2ZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3RhZHMudmltCkBAIC0wLDAgKzEsMTg0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJVEFEUworIiBNYWludGFpbmVyOglBbWlyIEthcmdlciA8a2FyZ2VyQHBvc3QuaGFydmFyZC5lZHU+CisiICREYXRlJAorIiAkUmV2aXNpb24kCisiIFN0b2xlbiBmcm9tOiBCcmFtIE1vb2xlbmFhcidzIEMgbGFuZ3VhZ2UgZmlsZQorIiBOZXdlc3QgdmVyc2lvbiBhdDogaHR0cDovL3d3dy5oZWMudXRhaC5lZHUvfmthcmdlci92aW0vc3ludGF4L3RhZHMudmltCisiIEhpc3RvcnkgaW5mbyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlCisKKyIgVE9ETyBsb3RzIG1vcmUga2V5d29yZHMKKyIgZ2xvYmFsLCBzZWxmLCBldGMuIGFyZSBzcGVjaWFsICpvYmplY3RzKiwgbm90IGZ1bmN0aW9ucy4gVGhleSBzaG91bGQKKyIgcHJvYmFibHkgYmUgYSBkaWZmZXJlbnQgY29sb3IgdGhhbiB0aGUgc3BlY2lhbCBmdW5jdGlvbnMKKyIgQWN0dWFsbHksIHNob3VsZCBjdnRzdHIgZXRjLiBiZSBmdW5jdGlvbnM/ISAoY2hhbmdlIHRhZHNGdW5jdGlvbikKKyIgTWFrZSBnbG9iYWwgZXRjLiBpbnRvIElkZW50aWZpZXJzLCBzaW5jZSB3ZSBkb24ndCBoYXZlIHJlZ3VsYXIgdmFyaWFibGVzPworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQSBidW5jaCBvZiB1c2VmdWwga2V5d29yZHMKK3N5biBrZXl3b3JkIHRhZHNTdGF0ZW1lbnQJZ290byBicmVhayByZXR1cm4gY29udGludWUgcGFzcworc3luIGtleXdvcmQgdGFkc0xhYmVsCQljYXNlIGRlZmF1bHQKK3N5biBrZXl3b3JkIHRhZHNDb25kaXRpb25hbAlpZiBlbHNlIHN3aXRjaAorc3luIGtleXdvcmQgdGFkc1JlcGVhdAkJd2hpbGUgZm9yIGRvCitzeW4ga2V5d29yZCB0YWRzU3RvcmFnZUNsYXNzCWxvY2FsIGNvbXBvdW5kV29yZCBmb3JtYXRzdHJpbmcgc3BlY2lhbFdvcmRzCitzeW4ga2V5d29yZCB0YWRzQm9vbGVhbgkJbmlsIHRydWUKKworIiBUQURTIGtleXdvcmRzCitzeW4ga2V5d29yZCB0YWRzS2V5d29yZAkJcmVwbGFjZSBtb2RpZnkKK3N5biBrZXl3b3JkIHRhZHNLZXl3b3JkCQlnbG9iYWwgc2VsZiBpbmhlcml0ZWQKKyIgYnVpbHRpbiBmdW5jdGlvbnMKK3N5biBrZXl3b3JkIHRhZHNLZXl3b3JkCQljdnRzdHIgY3Z0bnVtIGNhcHMgbG93ZXIgdXBwZXIgc3Vic3RyCitzeW4ga2V5d29yZCB0YWRzS2V5d29yZAkJc2F5IGxlbmd0aAorc3luIGtleXdvcmQgdGFkc0tleXdvcmQJCXNldGl0IHNldHNjb3JlCitzeW4ga2V5d29yZCB0YWRzS2V5d29yZAkJZGF0YXR5cGUgcHJvcHR5cGUKK3N5biBrZXl3b3JkIHRhZHNLZXl3b3JkCQljYXIgY2RyCitzeW4ga2V5d29yZCB0YWRzS2V5d29yZAkJZGVmaW5lZCBpc2NsYXNzCitzeW4ga2V5d29yZCB0YWRzS2V5d29yZAkJZmluZCBmaXJzdG9iaiBuZXh0b2JqCitzeW4ga2V5d29yZCB0YWRzS2V5d29yZAkJZ2V0YXJnIGFyZ2NvdW50CitzeW4ga2V5d29yZCB0YWRzS2V5d29yZAkJaW5wdXQgeW9ybiBhc2tmaWxlCitzeW4ga2V5d29yZCB0YWRzS2V5d29yZAkJcmFuZCByYW5kb21pemUKK3N5biBrZXl3b3JkIHRhZHNLZXl3b3JkCQlyZXN0YXJ0IHJlc3RvcmUgcXVpdCBzYXZlIHVuZG8KK3N5biBrZXl3b3JkIHRhZHNFeGNlcHRpb24JYWJvcnQgZXhpdCBleGl0b2JqCisKK3N5biBrZXl3b3JkIHRhZHNUb2RvIGNvbnRhaW5lZAlUT0RPIEZJWE1FIFhYWAorCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnN0YW50cworIiBIaWdobGlnaHQgc3BlY2lhbCBjaGFyYWN0ZXJzICh0aG9zZSB3aGljaCBoYXZlIGEgYmFja3NsYXNoKSBkaWZmZXJlbnRseQorc3luIG1hdGNoIHRhZHNTcGVjaWFsIGNvbnRhaW5lZAkiXFwuIgorc3luIHJlZ2lvbiB0YWRzRG91YmxlU3RyaW5nCQlzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXRhZHNTcGVjaWFsLHRhZHNFbWJlZGRlZAorc3luIHJlZ2lvbiB0YWRzU2luZ2xlU3RyaW5nCQlzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrIGNvbnRhaW5zPXRhZHNTcGVjaWFsCisiIEVtYmVkZGVkIGV4cHJlc3Npb25zIGluIHN0cmluZ3MKK3N5biByZWdpb24gdGFkc0VtYmVkZGVkIGNvbnRhaW5lZCAgICAgICBzdGFydD0iPDwiIGVuZD0iPj4iIGNvbnRhaW5zPXRhZHNLZXl3b3JkCisKKyIgVEFEUyBkb2Vzbid0IGhhdmUgXHh4eCwgcmlnaHQ/Cisic3luIG1hdGNoIGNTcGVjaWFsIGNvbnRhaW5lZAkiXFxbMC03XVswLTddWzAtN11cPVx8XFwuIgorInN5biBtYXRjaCBjU3BlY2lhbENoYXJhY3RlcgkiJ1xcWzAtN11bMC03XSciCisic3luIG1hdGNoIGNTcGVjaWFsQ2hhcmFjdGVyCSInXFxbMC03XVswLTddWzAtN10nIgorCisiY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworInN5biByZWdpb24gY1BhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsY1BhcmVuRXJyb3IsY0luY2x1ZGVkLGNTcGVjaWFsLGNUb2RvLGNVc2VyQ29udCxjVXNlckxhYmVsCisic3luIG1hdGNoIGNQYXJlbkVycm9yCQkiKSIKKyJzeW4gbWF0Y2ggY0luUGFyZW4gY29udGFpbmVkCSJbe31dIgorc3luIHJlZ2lvbiB0YWRzQnJhY2UJCXRyYW5zcGFyZW50IHN0YXJ0PSd7JyBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCx0YWRzQnJhY2VFcnJvcix0YWRzSW5jbHVkZWQsdGFkc1NwZWNpYWwsdGFkc1RvZG8KK3N5biBtYXRjaCB0YWRzQnJhY2VFcnJvcgkJIn0iCisKKyJpbnRlZ2VyIG51bWJlciAoVEFEUyBoYXMgbm8gZmxvYXRpbmcgcG9pbnQgbnVtYmVycykKK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoIHRhZHNOdW1iZXIJCSJcPFswLTldXCtcPiIKKyJoZXggbnVtYmVyCitzeW4gbWF0Y2ggdGFkc051bWJlcgkJIlw8MHhbMC05YS1mXVwrXD4iCitzeW4gbWF0Y2ggdGFkc0lkZW50aWZpZXIJIlw8W2Etel1bYS16MC05XyRdKlw+Igorc3luIGNhc2UgbWF0Y2gKKyIgZmxhZyBhbiBvY3RhbCBudW1iZXIgd2l0aCB3cm9uZyBkaWdpdHMKK3N5biBtYXRjaCB0YWRzT2N0YWxFcnJvcgkJIlw8MFswLTddKls4OV0iCisKKyIgUmVtb3ZlZCBjb21wbGljYXRlZCBjX2NvbW1lbnRfc3RyaW5ncworc3luIHJlZ2lvbiB0YWRzQ29tbWVudAkJc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPXRhZHNUb2RvCitzeW4gbWF0Y2ggdGFkc0NvbW1lbnQJCSIvLy4qIiBjb250YWlucz10YWRzVG9kbworc3ludGF4IG1hdGNoIHRhZHNDb21tZW50RXJyb3IJIlwqLyIKKworc3luIHJlZ2lvbiB0YWRzUHJlQ29uZGl0CXN0YXJ0PSJeXHMqI1xzKlwoaWZcPlx8aWZkZWZcPlx8aWZuZGVmXD5cfGVsaWZcPlx8ZWxzZVw+XHxlbmRpZlw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10YWRzQ29tbWVudCx0YWRzU3RyaW5nLHRhZHNOdW1iZXIsdGFkc0NvbW1lbnRFcnJvcgorc3luIHJlZ2lvbiB0YWRzSW5jbHVkZWQgY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKK3N5biBtYXRjaCB0YWRzSW5jbHVkZWQgY29udGFpbmVkICI8W14+XSo+Igorc3luIG1hdGNoIHRhZHNJbmNsdWRlCQkiXlxzKiNccyppbmNsdWRlXD5ccypbIjxdIiBjb250YWlucz10YWRzSW5jbHVkZWQKK3N5biByZWdpb24gdGFkc0RlZmluZQkJc3RhcnQ9Il5ccyojXHMqXChkZWZpbmVcPlx8dW5kZWZcPlwpIiBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9QUxMQlVULHRhZHNQcmVDb25kaXQsdGFkc0luY2x1ZGVkLHRhZHNJbmNsdWRlLHRhZHNEZWZpbmUsdGFkc0luQnJhY2UsdGFkc0lkZW50aWZpZXIKKworc3luIHJlZ2lvbiB0YWRzUHJlUHJvYyBzdGFydD0iXlxzKiNccypcKHByYWdtYVw+XHxsaW5lXD5cfHdhcm5pbmdcPlx8d2Fyblw+XHxlcnJvclw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsdGFkc1ByZUNvbmRpdCx0YWRzSW5jbHVkZWQsdGFkc0luY2x1ZGUsdGFkc0RlZmluZSx0YWRzSW5QYXJlbix0YWRzSWRlbnRpZmllcgorCisiIEhpZ2hsaWdodCBVc2VyIExhYmVscworIiBUT0RPIGxhYmVscyBmb3IgZ290b3M/Cisic3luIHJlZ2lvbgljTXVsdGkJCXRyYW5zcGFyZW50IHN0YXJ0PSc/JyBlbmQ9JzonIGNvbnRhaW5zPUFMTEJVVCxjSW5jbHVkZWQsY1NwZWNpYWwsY1RvZG8sY1VzZXJDb250LGNVc2VyTGFiZWwsY0JpdEZpZWxkCisiIEF2b2lkIG1hdGNoaW5nIGZvbzo6YmFyKCkgaW4gQysrIGJ5IHJlcXVpcmluZyB0aGF0IHRoZSBuZXh0IGNoYXIgaXMgbm90ICc6JworInN5biBtYXRjaAljVXNlckNvbnQJIl5ccypcSVxpKlxzKjokIiBjb250YWlucz1jVXNlckxhYmVsCisic3luIG1hdGNoCWNVc2VyQ29udAkiO1xzKlxJXGkqXHMqOiQiIGNvbnRhaW5zPWNVc2VyTGFiZWwKKyJzeW4gbWF0Y2gJY1VzZXJDb250CSJeXHMqXElcaSpccyo6W146XSIgY29udGFpbnM9Y1VzZXJMYWJlbAorInN5biBtYXRjaAljVXNlckNvbnQJIjtccypcSVxpKlxzKjpbXjpdIiBjb250YWlucz1jVXNlckxhYmVsCisKKyJzeW4gbWF0Y2gJY1VzZXJMYWJlbAkiXElcaSoiIGNvbnRhaW5lZAorCisiIGlkZW50aWZpZXI6IGNsYXNzLW5hbWUgWywgY2xhc3MtbmFtZSBbLi4uXV0gW3Byb3BlcnR5LWxpc3RdIDsKKyIgRG9uJ3QgaGlnaGxpZ2h0IGNvbW1lbnQgaW4gY2xhc3MgZGVmCitzeW4gbWF0Y2ggdGFkc0NsYXNzRGVmCQkiXDxjbGFzc1w+W14vXSoiIGNvbnRhaW5zPXRhZHNPYmplY3REZWYsdGFkc0NsYXNzCitzeW4gbWF0Y2ggdGFkc0NsYXNzIGNvbnRhaW5lZCAgICJcPGNsYXNzXD4iCitzeW4gbWF0Y2ggdGFkc09iamVjdERlZiAiXDxbYS16QS1aXVthLXpBLVowLTlfJF0qXHMqOlxzKlthLXpBLVowLTlfJF1cK1woXHMqLFxzKlthLXpBLVpdW2EtekEtWjAtOV8kXSpcKSpcKFxzKjtcKVw9Igorc3luIGtleXdvcmQgdGFkc0Z1bmN0aW9uIGNvbnRhaW5lZCBmdW5jdGlvbgorc3luIG1hdGNoIHRhZHNGdW5jdGlvbkRlZgkgIlw8W2EtekEtWl1bYS16QS1aMC05XyRdKlxzKjpccypmdW5jdGlvbltee10qIiBjb250YWlucz10YWRzRnVuY3Rpb24KKyJzeW4gcmVnaW9uIHRhZHNPYmplY3QJCSAgdHJhbnNwYXJlbnQgc3RhcnQgPSAnW2EtekEtWl1bXGkkXVxzKjpccyonIGVuZD0iOyIgY29udGFpbnM9dGFkc0JyYWNlLHRhZHNPYmplY3REZWYKKworIiBIb3cgZmFyIGJhY2sgZG8gd2UgZ28gdG8gZmluZCBtYXRjaGluZyBncm91cHMKK2lmICFleGlzdHMoInRhZHNfbWlubGluZXMiKQorICBsZXQgdGFkc19taW5saW5lcyA9IDE1CitlbmRpZgorZXhlYyAic3luIHN5bmMgY2NvbW1lbnQgdGFkc0NvbW1lbnQgbWlubGluZXM9IiAuIHRhZHNfbWlubGluZXMKK2lmICFleGlzdHMoInRhZHNfc3luY19kaXN0IikKKyAgbGV0IHRhZHNfc3luY19kaXN0ID0gMTAwCitlbmRpZgorZXhlY3V0ZSAic3luIHN5bmMgbWF4bGluZXM9IiAuIHRhZHNfc3luY19kaXN0CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RhZHNfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdGFkc19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKKyAgSGlMaW5rIHRhZHNGdW5jdGlvbkRlZiBGdW5jdGlvbgorICBIaUxpbmsgdGFkc0Z1bmN0aW9uICBTdHJ1Y3R1cmUKKyAgSGlMaW5rIHRhZHNDbGFzcyAgICAgU3RydWN0dXJlCisgIEhpTGluayB0YWRzQ2xhc3NEZWYgIElkZW50aWZpZXIKKyAgSGlMaW5rIHRhZHNPYmplY3REZWYgSWRlbnRpZmllcgorIiBubyBoaWdobGlnaHQgZm9yIHRhZHNFbWJlZGRlZCwgc28gaXQgcHJpbnRzIGFzIG5vcm1hbCB0ZXh0IHcvaW4gdGhlIHN0cmluZworCisgIEhpTGluayB0YWRzT3BlcmF0b3IJT3BlcmF0b3IKKyAgSGlMaW5rIHRhZHNTdHJ1Y3R1cmUJU3RydWN0dXJlCisgIEhpTGluayB0YWRzVG9kbwlUb2RvCisgIEhpTGluayB0YWRzTGFiZWwJTGFiZWwKKyAgSGlMaW5rIHRhZHNDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgdGFkc1JlcGVhdAlSZXBlYXQKKyAgSGlMaW5rIHRhZHNFeGNlcHRpb24JRXhjZXB0aW9uCisgIEhpTGluayB0YWRzU3RhdGVtZW50CVN0YXRlbWVudAorICBIaUxpbmsgdGFkc1N0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIHRhZHNLZXlXb3JkICAgS2V5d29yZAorICBIaUxpbmsgdGFkc1NwZWNpYWwJU3BlY2lhbENoYXIKKyAgSGlMaW5rIHRhZHNOdW1iZXIJTnVtYmVyCisgIEhpTGluayB0YWRzQm9vbGVhbglCb29sZWFuCisgIEhpTGluayB0YWRzRG91YmxlU3RyaW5nCXRhZHNTdHJpbmcKKyAgSGlMaW5rIHRhZHNTaW5nbGVTdHJpbmcJdGFkc1N0cmluZworCisgIEhpTGluayB0YWRzT2N0YWxFcnJvcgl0YWRzRXJyb3IKKyAgSGlMaW5rIHRhZHNDb21tZW50RXJyb3IJdGFkc0Vycm9yCisgIEhpTGluayB0YWRzQnJhY2VFcnJvcgl0YWRzRXJyb3IKKyAgSGlMaW5rIHRhZHNJbkJyYWNlCXRhZHNFcnJvcgorICBIaUxpbmsgdGFkc0Vycm9yCUVycm9yCisKKyAgSGlMaW5rIHRhZHNJbmNsdWRlCUluY2x1ZGUKKyAgSGlMaW5rIHRhZHNQcmVQcm9jCVByZVByb2MKKyAgSGlMaW5rIHRhZHNEZWZpbmUJTWFjcm8KKyAgSGlMaW5rIHRhZHNJbmNsdWRlZAl0YWRzU3RyaW5nCisgIEhpTGluayB0YWRzUHJlQ29uZGl0CVByZUNvbmRpdAorCisgIEhpTGluayB0YWRzU3RyaW5nCVN0cmluZworICBIaUxpbmsgdGFkc0NvbW1lbnQJQ29tbWVudAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRhZHMiCisKKyIgQ2hhbmdlczoKKyIgMTEvMTgvOTkgQWRkZWQgYSBidW5jaCBvZiBUQURTIGZ1bmN0aW9ucywgdGFkc0V4Y2VwdGlvbgorIiAxMC8yMi85OSBNaXNzcGVsbGVkIE1vb2xlbmFhciAoc29ycnkhKSwgY19taW5saW5lcyB0byB0YWRzX21pbmxpbmVzCisiCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdGFncy52aW0gYi9ydW50aW1lL3N5bnRheC90YWdzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDg3YzJiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdGFncy52aW0KQEAgLTAsMCArMSw0NyBAQAorIiBMYW5ndWFnZToJCXRhZ3MKKyIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiAgPE5kck9jaGlwQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KKyIgTGFzdCBDaGFuZ2U6CU5vdiAxOCwgMjAwMgorIiBWZXJzaW9uOgkJMgorIiBVUkw6CWh0dHA6Ly93d3cuZXJvbHMuY29tL2FzdHJvbmF1dC92aW0vaW5kZXguaHRtbCN2aW1saW5rc19zeW50YXgKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gbWF0Y2gJdGFnTmFtZQkiXlteXHRdXCsiCQlza2lwd2hpdGUJbmV4dGdyb3VwPXRhZ1BhdGgKK3N5biBtYXRjaAl0YWdQYXRoCSJbXlx0XVwrIgljb250YWluZWQJc2tpcHdoaXRlCW5leHRncm91cD10YWdBZGRyCWNvbnRhaW5zPXRhZ0Jhc2VGaWxlCitzeW4gbWF0Y2gJdGFnQmFzZUZpbGUJIlthLXpBLVpfXVwrW1wuYS16QS1aXzAtOV0qXHQibWU9ZS0xCQljb250YWluZWQKK3N5biBtYXRjaAl0YWdBZGRyCSJcZCoiCWNvbnRhaW5lZCBza2lwd2hpdGUgbmV4dGdyb3VwPXRhZ0NvbW1lbnQKK3N5biByZWdpb24JdGFnQWRkcgltYXRjaGdyb3VwPXRhZ0RlbGltIHN0YXJ0PSIvIiBza2lwPSJcKFxcXFxcKSpcXC8iIG1hdGNoZ3JvdXA9dGFnRGVsaW0gZW5kPSIkXHwvIiBvbmVsaW5lIGNvbnRhaW5lZCBza2lwd2hpdGUgbmV4dGdyb3VwPXRhZ0NvbW1lbnQKK3N5biBtYXRjaAl0YWdDb21tZW50CSI7LiokIgljb250YWluZWQgY29udGFpbnM9dGFnRmllbGQKK3N5biBtYXRjaAl0YWdDb21tZW50CSJeIV9UQUdfLiokIgorc3luIG1hdGNoCXRhZ0ZpZWxkCWNvbnRhaW5lZCAiW2Etel0qOiIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHJjaGlwX3RhZ3NfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9kcmNoaXBfdGFnc19pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRhZ0Jhc2VGaWxlCVByZVByb2MKKyAgSGlMaW5rIHRhZ0NvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgdGFnRGVsaW0JRGVsaW1pdGVyCisgIEhpTGluayB0YWdGaWVsZAlOdW1iZXIKKyAgSGlMaW5rIHRhZ05hbWUJSWRlbnRpZmllcgorICBIaUxpbmsgdGFnUGF0aAlQcmVQcm9jCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRhZ3MiCisKKyIgdmltOiB0cz0xMgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdGFrLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Rhay52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAxODZkYgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3Rhay52aW0KQEAgLTAsMCArMSwxMzYgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgVEFLMiwgVEFLMywgVEFLMjAwMCB0aGVybWFsIG1vZGVsaW5nIGlucHV0IGZpbGUKKyIgTWFpbnRhaW5lcjogICBBZHJpYW4gTmFnbGUsIGFuYWdsZUBiYWxsLmNvbQorIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIEZpbGVuYW1lczogICAgKi50YWsKKyIgVVJMOgkJaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltL3N5bnRheC90YWsudmltCisiIE1BSU4gVVJMOiAgICAgaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltLworCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisKKworIiBJZ25vcmUgY2FzZQorc3luIGNhc2UgaWdub3JlCisKKworCisiCisiCisiIEJlZ2luIHN5bnRheCBkZWZpbml0aW9ucyBmb3IgdGFrIGlucHV0IGZpbGUuCisiCisKKyIgRm9yY2UgZnJlZS1mb3JtIGZvcnRyYW4gZm9ybWF0CitsZXQgZm9ydHJhbl9mcmVlX3NvdXJjZT0xCisKKyIgTG9hZCBGT1JUUkFOIHN5bnRheCBmaWxlCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9mb3J0cmFuLnZpbQorZWxzZQorICBydW50aW1lISBzeW50YXgvZm9ydHJhbi52aW0KK2VuZGlmCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKKworCisiIERlZmluZSBrZXl3b3JkcyBmb3IgVEFLIGFuZCBUQUtPVVQKK3N5biBrZXl3b3JkIHRha09wdGlvbnMgIEFVVE9EQU1QIENQUklOVCBDU0dEVU1QIEdQUklOVCBIUFJJTlQgTE9EVE1QCitzeW4ga2V5d29yZCB0YWtPcHRpb25zICBMT0dJQyBMUFJJTlQgTkNWUFJJTlQgUExPVFEgUVBSSU5UIFFEVU1QCitzeW4ga2V5d29yZCB0YWtPcHRpb25zICBTVU1NQVJZIFNPTFJUTiBVSUQgRElDVElPTkFSSUVTCisKK3N5biBrZXl3b3JkIHRha1JvdXRpbmUgIFNTSVRFUiBGV0RXUkQgRldEQkNLIEJDS1dSRAorCitzeW4ga2V5d29yZCB0YWtDb250cm9sICBBQlNaUk8gQkFDS1VQIERBTVAgRFRJTUVJIERUSU1FTCBEVElNRUggSUZDCitzeW4ga2V5d29yZCB0YWtDb250cm9sICBNQVhURU1QIE5MT09QUyBOTE9PUFQgTk9ERUxJU1QgT1VUUFVUIFBMT1QKK3N5biBrZXl3b3JkIHRha0NvbnRyb2wgIFNDQUxFIFNJR01BIFNTQ1JJVCBUSU1FTkQgVElNRU4gVElNRU8gVFJDUklUCitzeW4ga2V5d29yZCB0YWtDb250cm9sICBQTE9UCisKK3N5biBrZXl3b3JkIHRha1NvbGlkcyAgIFBMQVRFIENZTAorc3luIGtleXdvcmQgdGFrU29saWRzQXJnICAgSUQgTUFUTkFNIE5UWVBFIFRFTVAgWEwgWUwgWkwgSVNUUk4gSVNUUkcgTk5YCitzeW4ga2V5d29yZCB0YWtTb2xpZHNBcmcgICBOTlkgTk5aIElOQ1ggSU5DWSBJTkNaIElBSyBJQUMgRElGRiBBUklUSCBCT1VOCitzeW4ga2V5d29yZCB0YWtTb2xpZHNBcmcgICBSTUlOIFJNQVggQVhNQVggTk5SIE5OVEhFVEEgSU5DUiBJTkNUSEVUQSBFTkQKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBrZXl3b3JkIHRha01hY3JvICAgIGZhYyBwc3RhcnQgcHN0b3AKK3N5biBrZXl3b3JkIHRha01hY3JvICAgIHRha2NvbW1vbiBmc3RhcnQgZnN0b3AKKworc3luIGtleXdvcmQgdGFrSWRlbnRpZmllciAgZmxxIGZseCBnZW4gbmN2IHBlciBzaW0gc2l2IHN0ZiBzdHYgdHZkIHR2cworc3luIGtleXdvcmQgdGFrSWRlbnRpZmllciAgdHZ0IHBybyB0aG0KKworCisKKyIgRGVmaW5lIG1hdGNoZXMgZm9yIFRBSworc3luIG1hdGNoICB0YWtGb3J0cmFuICAgICAiXkZbMC05IF0ibWU9ZS0xCitzeW4gbWF0Y2ggIHRha01vdHJhbiAgICAgICJeTVswLTkgXSJtZT1lLTEKKworc3luIG1hdGNoICB0YWtDb21tZW50ICAgICAiXkMuKiQiCitzeW4gbWF0Y2ggIHRha0NvbW1lbnQgICAgICJeUi4qJCIKK3N5biBtYXRjaCAgdGFrQ29tbWVudCAgICAgIlwkLiokIgorCitzeW4gbWF0Y2ggIHRha0hlYWRlciAgICAgICJeaGVhZGVyW14sXSoiCisKK3N5biBtYXRjaCAgdGFrSW5jbHVkZUZpbGUgImluY2x1ZGUgXCtbXiBdXCsiaHM9cys4IGNvbnRhaW5zPWZvcnRyYW5JbmNsdWRlCisKK3N5biBtYXRjaCAgdGFrSW50ZWdlciAgICAgIi1cPVw8WzAtOV0qXD4iCitzeW4gbWF0Y2ggIHRha0Zsb2F0ICAgICAgICItXD1cPFswLTldKlwuWzAtOV0qIgorc3luIG1hdGNoICB0YWtTY2llbnRpZmljICAiLVw9XDxbMC05XSpcLlswLTldKkVbLStdXD1bMC05XVwrXD4iCisKK3N5biBtYXRjaCAgdGFrRW5kRGF0YSAgICAgIkVORCBPRiBEQVRBIgorCitpZiBleGlzdHMoInRoZXJtYWxfdG9kbyIpCisgIGV4ZWN1dGUgJ3N5biBtYXRjaCAgdGFrVG9kbyAnIC4gJyJeJy50aGVybWFsX3RvZG8uJy4qJCInCitlbHNlCisgIHN5biBtYXRjaCAgdGFrVG9kbwkgICAgIl4/LiokIgorZW5kaWYKKworCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdGFrX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3Rha19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB0YWtNYWNybwkJTWFjcm8KKyAgSGlMaW5rIHRha09wdGlvbnMJCVNwZWNpYWwKKyAgSGlMaW5rIHRha1JvdXRpbmUJCVR5cGUKKyAgSGlMaW5rIHRha0NvbnRyb2wJCVNwZWNpYWwKKyAgSGlMaW5rIHRha1NvbGlkcwkJU3BlY2lhbAorICBIaUxpbmsgdGFrU29saWRzQXJnCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHRha0lkZW50aWZpZXIJCUlkZW50aWZpZXIKKworICBIaUxpbmsgdGFrRm9ydHJhbgkJUHJlUHJvYworICBIaUxpbmsgdGFrTW90cmFuCQlQcmVQcm9jCisKKyAgSGlMaW5rIHRha0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHRha0hlYWRlcgkJVHlwZWRlZgorICBIaUxpbmsgdGFrSW5jbHVkZUZpbGUJCVR5cGUKKyAgSGlMaW5rIHRha0ludGVnZXIJCU51bWJlcgorICBIaUxpbmsgdGFrRmxvYXQJCUZsb2F0CisgIEhpTGluayB0YWtTY2llbnRpZmljCQlGbG9hdAorCisgIEhpTGluayB0YWtFbmREYXRhCQlNYWNybworCisgIEhpTGluayB0YWtUb2RvCQlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGFrIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90YWtjbXAudmltIGIvcnVudGltZS9zeW50YXgvdGFrY21wLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTQ2MDliCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdGFrY21wLnZpbQpAQCAtMCwwICsxLDgyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIFRBSzIsIFRBSzMsIFRBSzIwMDAgdGhlcm1hbCBtb2RlbGluZyBjb21wYXJlIGZpbGUKKyIgTWFpbnRhaW5lcjogICBBZHJpYW4gTmFnbGUsIGFuYWdsZUBiYWxsLmNvbQorIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIEZpbGVuYW1lczogICAgKi5jbXAKKyIgVVJMOgkJaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltL3N5bnRheC90YWtjbXAudmltCisiIE1BSU4gVVJMOiAgICAgaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltLworCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisKKworIiBJZ25vcmUgY2FzZQorc3luIGNhc2UgaWdub3JlCisKKworCisiCisiCisiIEJlZ2luIHN5bnRheCBkZWZpbml0aW9ucyBmb3IgY29tcGFyZSBmaWxlcy4KKyIKKyIgRGVmaW5lIGtleXdvcmRzIGZvciBUQUsgY29tcGFyZQorICBzeW4ga2V5d29yZCB0YWtjbXBVbml0ICAgICBjZWxzaXVzIGZhaHJlbmhlaXQKKworCisKKyIgRGVmaW5lIG1hdGNoZXMgZm9yIFRBSyBjb21wYXJlCisgIHN5biBtYXRjaCAgdGFrY21wVGl0bGUgICAgICAgIlN0ZWFkeSBTdGF0ZSBUZW1wZXJhdHVyZSBDb21wYXJpc29uIgorCisgIHN5biBtYXRjaCAgdGFrY21wTGFiZWwgICAgICAgIlJ1biBEYXRlOiIKKyAgc3luIG1hdGNoICB0YWtjbXBMYWJlbCAgICAgICAiUnVuIFRpbWU6IgorICBzeW4gbWF0Y2ggIHRha2NtcExhYmVsICAgICAgICJUZW1wLiBGaWxlIFxkIFVuaXRzOiIKKyAgc3luIG1hdGNoICB0YWtjbXBMYWJlbCAgICAgICAiRmlsZW5hbWU6IgorICBzeW4gbWF0Y2ggIHRha2NtcExhYmVsICAgICAgICJPdXRwdXQgVW5pdHM6IgorCisgIHN5biBtYXRjaCAgdGFrY21wSGVhZGVyICAgICAgIl4gKk5vZGVcKCAqRmlsZSAgXGRcKSogKk5vZGUgRGVzY3JpcHRpb24iCisKKyAgc3luIG1hdGNoICB0YWtjbXBEYXRlICAgICAgICAiXGRcZFwvXGRcZFwvXGRcZCIKKyAgc3luIG1hdGNoICB0YWtjbXBUaW1lICAgICAgICAiXGRcZDpcZFxkOlxkXGQiCisgIHN5biBtYXRjaCAgdGFrY21wSW50ZWdlciAgICAgIl4gKi1cPVw8WzAtOV0qXD4iCisgIHN5biBtYXRjaCAgdGFrY21wRmxvYXQgICAgICAgIi1cPVw8WzAtOV0qXC5bMC05XSoiCisKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Rha2NtcF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF90YWtjbXBfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgdGFrY21wVGl0bGUJCSAgIFR5cGUKKyAgSGlMaW5rIHRha2NtcFVuaXQJCSAgIFByZVByb2MKKworICBIaUxpbmsgdGFrY21wTGFiZWwJCSAgIFN0YXRlbWVudAorCisgIEhpTGluayB0YWtjbXBIZWFkZXIJCSAgIHRha0hlYWRlcgorCisgIEhpTGluayB0YWtjbXBEYXRlCQkgICBJZGVudGlmaWVyCisgIEhpTGluayB0YWtjbXBUaW1lCQkgICBJZGVudGlmaWVyCisgIEhpTGluayB0YWtjbXBJbnRlZ2VyCQkgICBOdW1iZXIKKyAgSGlMaW5rIHRha2NtcEZsb2F0CQkgICBTcGVjaWFsCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGFrY21wIgorCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90YWtvdXQudmltIGIvcnVudGltZS9zeW50YXgvdGFrb3V0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzQzNTM5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdGFrb3V0LnZpbQpAQCAtMCwwICsxLDEwMiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBUQUsyLCBUQUszLCBUQUsyMDAwIHRoZXJtYWwgbW9kZWxpbmcgb3V0cHV0IGZpbGUKKyIgTWFpbnRhaW5lcjogICBBZHJpYW4gTmFnbGUsIGFuYWdsZUBiYWxsLmNvbQorIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIEZpbGVuYW1lczogICAgKi5vdXQKKyIgVVJMOgkJaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltL3N5bnRheC90YWtvdXQudmltCisiIE1BSU4gVVJMOiAgICAgaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltLworCisKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisKKworIiBJZ25vcmUgY2FzZQorc3luIGNhc2UgbWF0Y2gKKworCisKKyIgTG9hZCBUQUsgc3ludGF4IGZpbGUKK2lmIHZlcnNpb24gPCA2MDAKKyAgc291cmNlIDxzZmlsZT46cDpoL3Rhay52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L3Rhay52aW0KK2VuZGlmCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKKworCisiCisiCisiIEJlZ2luIHN5bnRheCBkZWZpbml0aW9ucyBmb3IgdGFrIG91dHB1dCBmaWxlcy4KKyIKKworIiBEZWZpbmUga2V5d29yZHMgZm9yIFRBSyBvdXRwdXQKK3N5biBjYXNlIG1hdGNoCisKK3N5biBrZXl3b3JkIHRha291dFBvcyAgICAgICBPTiBTSQorc3luIGtleXdvcmQgdGFrb3V0TmVnICAgICAgIE9GRiBFTkcKKworCisKKyIgRGVmaW5lIG1hdGNoZXMgZm9yIFRBSyBvdXRwdXQKK3N5biBtYXRjaCB0YWtvdXRUaXRsZQkgICAgICJUQUsgSUlJIgorc3luIG1hdGNoIHRha291dFRpdGxlCSAgICAgIlJlbGVhc2UgXGQuXGRcZCIKK3N5biBtYXRjaCB0YWtvdXRUaXRsZQkgICAgICIgSyAmIEsgIEFzc29jaWF0ZXMgKlRoZXJtYWwgQW5hbHlzaXMgS2l0IElJSSAqU2VyaWFsIE51bWJlciBcZFxkLVxkXGRcZCIKKworc3luIG1hdGNoIHRha291dEZpbGUJICAgICAiOiBcdypcLlRBSyJocz1zKzIKKworc3luIG1hdGNoIHRha291dEludGVnZXIgICAgICAiVFw9WzAtOV0qXD4ibXM9cysxCisKK3N5biBtYXRjaCB0YWtvdXRTZWN0aW9uRGVsaW0gIlstPD5dXHs0LH0iIGNvbnRhaW5zPXRha291dFNlY3Rpb25UaXRsZQorc3luIG1hdGNoIHRha291dFNlY3Rpb25EZWxpbSAiOlw9XC5cezQsfTpcPSIgY29udGFpbnM9dGFrb3V0U2VjdGlvblRpdGxlCitzeW4gbWF0Y2ggdGFrb3V0U2VjdGlvblRpdGxlICJbLTw6XSBcd1swLTlBLVphLXpfKCkgXVwrIFstPjpdImhzPXMrMSxtZT1lLTEKKworc3luIG1hdGNoIHRha291dEhlYWRlckRlbGltICAiPVx7NSx9Igorc3luIG1hdGNoIHRha291dEhlYWRlckRlbGltICAifFx7NSx9Igorc3luIG1hdGNoIHRha291dEhlYWRlckRlbGltICAiK1x7NSx9IgorCitzeW4gbWF0Y2ggdGFrb3V0TGFiZWwJICAgICAiSW5wdXQgRmlsZToiIGNvbnRhaW5zPXRha291dEZpbGUKK3N5biBtYXRjaCB0YWtvdXRMYWJlbAkgICAgICJCZWdpbiBTb2x1dGlvbjogUm91dGluZSIKKworc3luIG1hdGNoIHRha291dEVycm9yCSAgICAgIjw8PCBFcnJvciA+Pj4iCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90YWtvdXRfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdGFrb3V0X3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRha291dFBvcwkJICAgU3RhdGVtZW50CisgIEhpTGluayB0YWtvdXROZWcJCSAgIFByZVByb2MKKyAgSGlMaW5rIHRha291dFRpdGxlCQkgICBUeXBlCisgIEhpTGluayB0YWtvdXRGaWxlCQkgICB0YWtJbmNsdWRlRmlsZQorICBIaUxpbmsgdGFrb3V0SW50ZWdlcgkJICAgdGFrSW50ZWdlcgorCisgIEhpTGluayB0YWtvdXRTZWN0aW9uRGVsaW0JICAgIERlbGltaXRlcgorICBIaUxpbmsgdGFrb3V0U2VjdGlvblRpdGxlCSAgIEV4Y2VwdGlvbgorICBIaUxpbmsgdGFrb3V0SGVhZGVyRGVsaW0JICAgU3BlY2lhbENvbW1lbnQKKyAgSGlMaW5rIHRha291dExhYmVsCQkgICBJZGVudGlmaWVyCisKKyAgSGlMaW5rIHRha291dEVycm9yCQkgICBFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRha291dCIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdGFzbS52aW0gYi9ydW50aW1lL3N5bnRheC90YXNtLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2ZjMTIxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdGFzbS52aW0KQEAgLTAsMCArMSwxMjIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiBUQVNNOiB0dXJibyBhc3NlbWJsZXIgYnkgQm9ybGFuZAorIiBNYWludGFuZXI6IEZvb0xtYW4gb2YgVW5pdGVkIEZvcmNlIDxmb29sbWFuQGJpZ2Zvb3QuY29tPgorIiBMYXN0IGNoYW5nZTogMjIgYXVnIDIwMDAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCB0YXNtTGFiZWwgIl5bXCBcdF0qW0BhLXpfJF1bYS16MC05XyRAXSpcICo6Igorc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSBBTElBUyBBTElHTiBBUkcgQVNTVU1FICVCSU4gQ0FUU1JUIENPREVTRUcKK3N5biBtYXRjaCB0YXNtRGlyZWN0aXZlICJcPFwoYnl0ZVx8d29yZFx8ZHdvcmRcfHF3b3JkXClcIHB0clw+IgorIiBDQUxMIGV4dGVuZGVkIHN5bnRheAorc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSBDT01NICVDT05EUyBDT05TVCAlQ1JFRiAlQ1JFRkFMTCAlQ1JFRlJFRgorc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSAlQ1JFRlVSRUYgJUNUTFMgREFUQVNFRyBEQiBERCAlREVQVEggREYgRElTUExBWQorc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSBET1NTRUcgRFAgRFEgRFQgRFcgRUxTRSBFTVVMIEVORCBFTkRJRgorIiBJRiBYWFhYCitzeW4ga2V5d29yZCB0YXNtRGlyZWN0aXZlIEVORE0gRU5EUCBFTkRTIEVOVU0gRVFVIEVSUiBFVkVOIEVWRU5EQVRBIEVYSVRDT0RFCitzeW4ga2V5d29yZCB0YXNtRGlyZWN0aXZlIEVYSVRNIEVYVFJOIEZBUkRBVEEgRkFTVElNVUwgRkxJUEZMQUcgR0VURklFTEQgR0xPQkFMCitzeW4ga2V5d29yZCB0YXNtRGlyZWN0aXZlIEdPVE8gR1JPVVAgSURFQUwgJUlOQ0wgSU5DTFVERSBJTkNMVURFTElCIElOU1RSIElSUAorIkpNUAorc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSBJUlBDIEpVTVBTIExBQkVMIExBUkdFU1RBQ0sgJUxJTlVNICVMSVNUIExPQ0FMCitzeW4ga2V5d29yZCB0YXNtRGlyZWN0aXZlIExPQ0FMUyBNQUNSTyAlTUFDUyBNQVNLRkxBRyBNQVNNIE1BU001MSBNT0RFTAorc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSBNVUxURVJSUyBOQU1FICVORVdQQUdFICVOT0NPTkRTICVOT0NSRUYgJU5PQ1RMUworc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSBOT0VNVUwgJU5PSU5DTCBOT0pVTVBTICVOT0xJU1QgTk9MT0NBTFMgJU5PTUFDUworc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSBOT01BU001MSBOT01VTFRFUlJTIE5PU01BUlQgJU5PU1lNUyAlTk9UUlVOQyBOT1dBUk4KK3N5biBrZXl3b3JkIHRhc21EaXJlY3RpdmUgJVBBR0VTSVpFICVQQ05UIFBOTzg3ICVQT1BMQ1RMIFBPUFNUQVRFIFBST0MgUFJPQ0RFU0MKK3N5biBrZXl3b3JkIHRhc21EaXJlY3RpdmUgUFJPQ1RZUEUgUFVCTElDIFBVQkxJQ0RMTCBQVVJHRSAlUFVTSENUTCBQVVNIU1RBVEUKKyJyZXB0LCByZXQKK3N5biBrZXl3b3JkIHRhc21EaXJlY3RpdmUgUVVJUktTIFJBRElYIFJFQ09SRCBSRVRDT0RFIFNFR01FTlQgU0VURklFTEQKK3N5biBrZXl3b3JkIHRhc21EaXJlY3RpdmUgU0VURkxBRyBTSVpFU1RSIFNNQUxMU1RBQ0sgU01BUlQgU1RBQ0sgU1RBUlRVUENPREUKK3N5biBrZXl3b3JkIHRhc21EaXJlY3RpdmUgU1RSVUMgU1VCU1RSICVTVUJUVEwgJVNZTVMgVEFCTEUgJVRBQlNJWkUgVEJMSU5JVAorc3luIGtleXdvcmQgdGFzbURpcmVjdGl2ZSBUQkxJTlNUIFRCTFBUUiBURVNURkxBRyAlVEVYVCAlVElUTEUgJVRSVU5DIFRZUEVERUYKK3N5biBrZXl3b3JkIHRhc21EaXJlY3RpdmUgVURBVEFTRUcgVUZBUkRBVEEgVU5JT04gVVNFUyBWRVJTSU9OIFdBUiBXSElMRSA/REVCVUcKKworc3luIGtleXdvcmQgdGFzbUluc3RydWN0aW9uIEFBQSBBQUQgQUFNIEFBUyBBREMgQUREIEFORCBBUlBMIEJPVU5EIEJTRiBCU1IKK3N5biBrZXl3b3JkIHRhc21JbnN0cnVjdGlvbiBCU1dBUCBCVCBCVEMgQlRSIEJUUyBDQUxMIENCVyBDTEMgQ0xEIENMSSBDTFRTCitzeW4ga2V5d29yZCB0YXNtSW5zdHJ1Y3Rpb24gQ01DIENNUCBDTVBYQ0hHIENNUFhDSEc4QiBDUFVJRCBDV0QgQ0RRIENXREUKK3N5biBrZXl3b3JkIHRhc21JbnN0cnVjdGlvbiBEQUEgREFTIERFQyBESVYgRU5URVIgUkVUTiBSRVRGIEYyWE0xCitzeW4ga2V5d29yZCB0YXNtQ29wcm9jSW5zdHIgRkFCUyBGQUREIEZBRERQIEZCTEQgRkJTVFAgRkNIRyBGQ09NIEZDT00yIEZDT01JCitzeW4ga2V5d29yZCB0YXNtQ29wcm9jSW5zdHIgRkNPTUlQIEZDT01QIEZDT01QMyBGQ09NUDUgRkNPTVBQIEZDT1MgRkRFQ1NUUAorc3luIGtleXdvcmQgdGFzbUNvcHJvY0luc3RyIEZESVNJIEZESVYgRkRJVlAgRkRJVlIgRkVOSSBGRlJFRSBGRlJFRVAgRklBREQKK3N5biBrZXl3b3JkIHRhc21Db3Byb2NJbnN0ciBGSUNPTSBGSUNPTVAgRklESVYgRklESVZSIEZJTEQgRklNVUwgRklOSVQgRklOQ1NUUAorc3luIGtleXdvcmQgdGFzbUNvcHJvY0luc3RyIEZJU1QgRklTVFAgRklTVUIgRklTVUJSIEZMRCBGTEQxIEZMRENXIEZMREVOVgorc3luIGtleXdvcmQgdGFzbUNvcHJvY0luc3RyIEZMREwyRSBGTERMMlQgRkxETEcyIEZMRExOMiBGTERQSSBGTERaIEZNVUwgRk1VTFAKK3N5biBrZXl3b3JkIHRhc21Db3Byb2NJbnN0ciBGTkNMRVggRk5JTklUIEZOT1AgRk5TQVZFIEZOU1RDVyBGTlNURU5WIEZOU1RTVworc3luIGtleXdvcmQgdGFzbUNvcHJvY0luc3RyIEZQQVRBTiBGUFJFTSBGUFJFTTEgRlBUQU4gRlJORElOVCBGUlNUT1IgRlNDQUxFCitzeW4ga2V5d29yZCB0YXNtQ29wcm9jSW5zdHIgRlNFVFBNIEZTSU4gRlNJTkNPTSBGU1FSVCBGU1QgRlNUUCBGU1RQMSBGU1RQOAorc3luIGtleXdvcmQgdGFzbUNvcHJvY0luc3RyIEZTVFA5IEZTVUIgRlNVQlAgRlNVQlIgRlNVQlJQIEZUU1QgRlVDT00gRlVDT01JCitzeW4ga2V5d29yZCB0YXNtQ29wcm9jSW5zdHIgRlVDT01QUCBGV0FJVCBGWEFNIEZYQ0ggRlhDSDQgRlhDSDcgRlhUUkFDVCBGWUwyWAorc3luIGtleXdvcmQgdGFzbUNvcHJvY0luc3RyIEZZTDJYUDEgRlNUQ1cgRkNIUyBGU0lOQ09TCitzeW4ga2V5d29yZCB0YXNtSW5zdHJ1Y3Rpb24gSURJViBJTVVMIElOIElOQyBJTlQgSU5UTyBJTlZEIElOVkxQRyBJUkVUIEpNUAorc3luIGtleXdvcmQgdGFzbUluc3RydWN0aW9uIExBSEYgTEFSIExEUyBMRUEgTEVBVkUgTEVTIExGUyBMR0RUIExHUyBMSURUIExMRFQKK3N5biBrZXl3b3JkIHRhc21JbnN0cnVjdGlvbiBMTVNXIExPQ0sgTE9EU0IgTFNMIExTUyBMVFIgTU9WIE1PVlNYIE1PVlpYIE1VTAorc3luIGtleXdvcmQgdGFzbUluc3RydWN0aW9uIE5FRyBOT1AgTk9UIE9SIE9VVCBQT1AgUE9QQSBQT1BBRCBQT1BGIFBPUEZEIFBVU0gKK3N5biBrZXl3b3JkIHRhc21JbnN0cnVjdGlvbiBQVVNIQSBQVVNIQUQgUFVTSEYgUFVTSEZEIFJDTCBSQ1IgUkRNU1IgUkRQTUMgUkRUU0MKK3N5biBrZXl3b3JkIHRhc21JbnN0cnVjdGlvbiBSRVAgUkVUIFJPTCBST1IgUlNNIFNBSEYgU0FSIFNCQiBTR0RUIFNITCBTQUwgU0hMRAorc3luIGtleXdvcmQgdGFzbUluc3RydWN0aW9uIFNIUiBTSFJEIFNJRFQgU01TVyBTVEMgU1REIFNUSSBTVFIgU1VCIFRFU1QgVkVSUgorc3luIGtleXdvcmQgdGFzbUluc3RydWN0aW9uIFZFUlcgV0JJTlZEIFdSTVNSIFhBREQgWENIRyBYTEFUIFhPUgorc3luIGtleXdvcmQgdGFzbU1NWGluc3QgICAgIEVNTVMgTU9WRCBNT1ZRIFBBQ0tTU0RXIFBBQ0tTU1dCIFBBQ0tVU1dCIFBBRERCCitzeW4ga2V5d29yZCB0YXNtTU1YaW5zdCAgICAgUEFEREQgUEFERFNCIFBBRERTQiBQQUREU1cgUEFERFVTQiBQQUREVVNXIFBBRERXCitzeW4ga2V5d29yZCB0YXNtTU1YaW5zdCAgICAgUEFORCBQQU5ETiBQQ01QRVFCIFBDTVBFUUQgUENNUEVRVyBQQ01QR1RCIFBDTVBHVEQKK3N5biBrZXl3b3JkIHRhc21NTVhpbnN0ICAgICBQQ01QR1RXIFBNQUREV0QgUE1VTEhXIFBNVUxMVyBQT1IgUFNMTEQgUFNMTFEKK3N5biBrZXl3b3JkIHRhc21NTVhpbnN0ICAgICBQU0xMVyBQU1JBRCBQU1JBVyBQU1JMRCBQU1JMUSBQU1JMVyBQU1VCQiBQU1VCRAorc3luIGtleXdvcmQgdGFzbU1NWGluc3QgICAgIFBTVUJTQiBQU1VCU1cgUFNVQlVTQiBQU1VCVVNXIFBTVUJXIFBVTlBDS0hCVworc3luIGtleXdvcmQgdGFzbU1NWGluc3QgICAgIFBVTlBDS0hCUSBQVU5QQ0tIV0QgUFVOUENLTEJXIFBVTlBDS0xEUSBQVU5QQ0tMV0QKK3N5biBrZXl3b3JkIHRhc21NTVhpbnN0ICAgICBQWE9SCisiRkNNT1YKK3N5biBtYXRjaCB0YXNtSW5zdHJ1Y3Rpb24gIlw8XChDTVBTXHxNT1ZTXHxPVVRTXHxTQ0FTXHxTVE9TXHxMT0RTXHxJTlNcKVtCV0RdIgorc3luIG1hdGNoIHRhc21JbnN0cnVjdGlvbiAiXDxcKENNT1ZcfFNFVFx8SlwpTlw9W0FCQ0dMRVNYWl1cPiIKK3N5biBtYXRjaCB0YXNtSW5zdHJ1Y3Rpb24gIlw8XChDTU9WXHxTRVRcfEpcKU5cPVtBQkdMXUVcPiIKK3N5biBtYXRjaCB0YXNtSW5zdHJ1Y3Rpb24gIlw8XChMT09QXHxSRVBcKU5cPVtFWl1cPVw+Igorc3luIG1hdGNoIHRhc21SZWdpc3RlciAiXDxbQS1EXVtMSF1cPiIKK3N5biBtYXRjaCB0YXNtUmVnaXN0ZXIgIlw8RVw9XChbQS1EXVhcfFtTRF1JXHxbQlNdUFwpXD4iCitzeW4gbWF0Y2ggdGFzbVJlZ2lzdGVyICJcPFtDLUdTXVNcPiIKK3N5biByZWdpb24gdGFzbUNvbW1lbnQgc3RhcnQ9IjsiIGVuZD0iJCIKKyJIQUNLISBjb21tZW50ID8gLi4uIHNlbGVjdGlvbgorc3luIHJlZ2lvbiB0YXNtQ29tbWVudCBzdGFydD0iY29tbWVudCBcK1wkIiBlbmQ9IlwkIgorc3luIHJlZ2lvbiB0YXNtQ29tbWVudCBzdGFydD0iY29tbWVudCBcK1x+IiBlbmQ9Ilx+Igorc3luIHJlZ2lvbiB0YXNtQ29tbWVudCBzdGFydD0iY29tbWVudCBcKyMiIGVuZD0iIyIKK3N5biByZWdpb24gdGFzbVN0cmluZyBzdGFydD0iJyIgZW5kPSInIgorc3luIHJlZ2lvbiB0YXNtU3RyaW5nIHN0YXJ0PSciJyBlbmQ9JyInCisKK3N5biBtYXRjaCB0YXNtRGVjICJcPC1cPVswLTldXCtcLlw9WzAtOV0qXD4iCitzeW4gbWF0Y2ggdGFzbUhleCAiXDxbMC05XVswLTlBLUZdKkhcPiIKK3N5biBtYXRjaCB0YXNtT2N0ICJcPFswLTddXCtPXD4iCitzeW4gbWF0Y2ggdGFzbUJpbiAiXDxbMDFdXCtCXD4iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Rhc21fc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdGFzbV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB0YXNtU3RyaW5nIFN0cmluZworICBIaUxpbmsgdGFzbURlYyBOdW1iZXIKKyAgSGlMaW5rIHRhc21IZXggTnVtYmVyCisgIEhpTGluayB0YXNtT2N0IE51bWJlcgorICBIaUxpbmsgdGFzbUJpbiBOdW1iZXIKKyAgSGlMaW5rIHRhc21JbnN0cnVjdGlvbiBLZXl3b3JkCisgIEhpTGluayB0YXNtQ29wcm9jSW5zdHIgS2V5d29yZAorICBIaUxpbmsgdGFzbU1NWEluc3QJS2V5d29yZAorICBIaUxpbmsgdGFzbURpcmVjdGl2ZSBQcmVQcm9jCisgIEhpTGluayB0YXNtUmVnaXN0ZXIgSWRlbnRpZmllcgorICBIaUxpbmsgdGFzbVByb2N0eXBlIFByZVByb2MKKyAgSGlMaW5rIHRhc21Db21tZW50IENvbW1lbnQKKyAgSGlMaW5rIHRhc21MYWJlbCBMYWJlbAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZXRfc3ludGF4ID0gInRhc20iCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90Y2wudmltIGIvcnVudGltZS9zeW50YXgvdGNsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDVkYTkwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdGNsLnZpbQpAQCAtMCwwICsxLDIzNSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVRDTC9USworIiBNYWludGFpbmVyOglEZWFuIENvcHNleSA8Y29wc2V5QGNzLnVjZGF2aXMuZWR1PgorIgkJKHByZXZpb3VzbHkgTWF0dCBOZXVtYW5uIDxtYXR0bmV1QHB1cnBsZXR1cnRsZS5jb20+KQorIgkJKHByZXZpb3VzbHkgQWxsYW4gS2VsbHkgPGFsbGFuQGZydWl0bG9hZi5jby51az4pCisiIE9yaWdpbmFsOglSb2JpbiBCZWNrZXIgPHJvYmluQGplc3Npa2F0LmRlbW9uLmNvLnVrPgorIiBMYXN0IENoYW5nZToJMjAwNCBNYXkgMTYKKyIKKyIgS2V5d29yZHMgVE9ETzogZm9ybWF0IGNsb2NrIGNsaWNrIGFuY2hvcgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQSBidW5jaCBvZiB1c2VmdWwga2V5d29yZHMKK3N5biBrZXl3b3JkIHRjbFN0YXRlbWVudAlwcm9jIGdsb2JhbCByZXR1cm4gbGluZGV4CitzeW4ga2V5d29yZCB0Y2xTdGF0ZW1lbnQJbGxlbmd0aCBsYXBwZW5kIGxyZXBsYWNlIGxyYW5nZSBsaXN0IGNvbmNhdCBpbmNyCitzeW4ga2V5d29yZCB0Y2xTdGF0ZW1lbnQJdXB2YXIgc2V0CitzeW4ga2V5d29yZCB0Y2xMYWJlbAkJY2FzZSBkZWZhdWx0CitzeW4ga2V5d29yZCB0Y2xDb25kaXRpb25hbAlpZiB0aGVuIGVsc2UgZWxzZWlmIHN3aXRjaAorc3luIGtleXdvcmQgdGNsUmVwZWF0CQl3aGlsZSBmb3IgZm9yZWFjaCBicmVhayBjb250aW51ZQorc3luIGtleXdvcmQgdGNsdGtTd2l0Y2gJY29udGFpbmVkCWluc2VydCBjcmVhdGUgcG9seWdvbiBmaWxsIG91dGxpbmUgdGFnCisKKyIgV0lER0VUUworIiBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggd2lkZ2V0cworc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGJhY2tncm91bmQgaGlnaGxpZ2h0YmFja2dyb3VuZCBpbnNlcnRvbnRpbWUgY2dldAorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIHNlbGVjdGJvcmRlcndpZHRoIGJvcmRlcndpZHRoIGhpZ2hsaWdodGNvbG9yIGluc2VydHdpZHRoCitzeW4ga2V5d29yZCB0Y2x0a1dpZGdldFN3aXRjaCBjb250YWluZWQgc2VsZWN0Zm9yZWdyb3VuZCBjdXJzb3IgaGlnaGxpZ2h0dGhpY2tuZXNzIHBhZHggc2V0Z3JpZAorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGV4cG9ydHNlbGVjdGlvbiBpbnNlcnRiYWNrZ3JvdW5kIHBhZHkgdGFrZWZvY3VzCitzeW4ga2V5d29yZCB0Y2x0a1dpZGdldFN3aXRjaCBjb250YWluZWQgZm9udCBpbnNlcnRib3JkZXJ3aWR0aCByZWxpZWYgeHNjcm9sbGNvbW1hbmQKK3N5biBrZXl3b3JkIHRjbHRrV2lkZ2V0U3dpdGNoIGNvbnRhaW5lZCBmb3JlZ3JvdW5kIGluc2VydG9mZnRpbWUgc2VsZWN0YmFja2dyb3VuZCB5c2Nyb2xsY29tbWFuZAorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGhlaWdodCBzcGFjaW5nMSBzcGFjaW5nMiBzcGFjaW5nMworc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIHN0YXRlIHRhYnMgd2lkdGggd3JhcAorIiBidXR0b24KK3N5biBrZXl3b3JkIHRjbHRrV2lkZ2V0U3dpdGNoIGNvbnRhaW5lZCBjb21tYW5kIGRlZmF1bHQKKyIgY2FudmFzCitzeW4ga2V5d29yZCB0Y2x0a1dpZGdldFN3aXRjaCBjb250YWluZWQgY2xvc2Vlbm91Z2ggY29uZmluZSBzY3JvbGxyZWdpb24geHNjcm9sbGluY3JlbWVudCB5c2Nyb2xsaW5jcmVtZW50IG9yaWVudAorIiBjaGVja2J1dHRvbiwgcmFkaW9idXR0b24KK3N5biBrZXl3b3JkIHRjbHRrV2lkZ2V0U3dpdGNoIGNvbnRhaW5lZCBpbmRpY2F0b3JvbiBvZmZ2YWx1ZSBvbnZhbHVlIHNlbGVjdGNvbG9yIHNlbGVjdGltYWdlIHN0YXRlIHZhcmlhYmxlCisiIGVudHJ5LCBmcmFtZQorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIHNob3cgY2xhc3MgY29sb3JtYXAgY29udGFpbmVyIHZpc3VhbAorIiBsaXN0Ym94LCBtZW51CitzeW4ga2V5d29yZCB0Y2x0a1dpZGdldFN3aXRjaCBjb250YWluZWQgc2VsZWN0bW9kZSBwb3N0Y29tbWFuZCBzZWxlY3Rjb2xvciB0ZWFyb2ZmIHRlYXJvZmZjb21tYW5kIHRpdGxlIHR5cGUKKyIgbWVudWJ1dHRvbiwgbWVzc2FnZQorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGRpcmVjdGlvbiBhc3BlY3QganVzdGlmeQorIiBzY2FsZQorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGJpZ2luY3JlbWVudCBkaWdpdHMgZnJvbSBsZW5ndGggcmVzb2x1dGlvbiBzaG93dmFsdWUgc2xpZGVybGVuZ3RoIHNsaWRlcnJlbGllZiB0aWNraW50ZXJ2YWwgdG8KKyIgc2Nyb2xsYmFyCitzeW4ga2V5d29yZCB0Y2x0a1dpZGdldFN3aXRjaCBjb250YWluZWQgYWN0aXZlcmVsaWVmIGVsZW1lbnRib3JkZXJ3aWR0aAorIiBpbWFnZQorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGRlbGV0ZSBuYW1lcyB0eXBlcyBjcmVhdGUKKyIgdmFyaWFibGUgcmVmZXJlbmNlCisJIiA6Om9wdGlvbmFsOjpuYW1lc3BhY2VzCitzeW4gbWF0Y2ggdGNsVmFyUmVmICIkXChcKDo6XClcP1woW1s6YWxudW06XV8uXSo6OlwpKlwpXGFbYS16QS1aMC05Xy5dKiIKKwkiICR7Li4ufSBtYXkgY29udGFpbiBhbnkgY2hhcmFjdGVyIGV4Y2VwdCAnfScKK3N5biBtYXRjaCB0Y2xWYXJSZWYgIiR7W159XSp9IgorIiBtZW51LCBtYW5lIGFkZAorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGFjdGl2ZSBlbmQgbGFzdCBub25lIGNhc2NhZGUgY2hlY2tidXR0b24gY29tbWFuZCByYWRpb2J1dHRvbiBzZXBhcmF0b3IKK3N5biBrZXl3b3JkIHRjbHRrV2lkZ2V0U3dpdGNoIGNvbnRhaW5lZCBhY3RpdmViYWNrZ3JvdW5kIGFjdHZlZm9yZWdyb3VuZCBhY2NlbGVyYXRvciBiYWNrZ3JvdW5kIGJpdG1hcCBjb2x1bW5icmVhaworc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGZvbnQgZm9yZWdyb3VuZCBoaWRlbWFyZ2luIGltYWdlIGluZGljYXRvcm9uIGxhYmVsIG1lbnUgb2ZmdmFsdWUgb252YWx1ZQorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIHNlbGVjdGNvbG9yIHNlbGVjdGltYWdlIHN0YXRlIHVuZGVybGluZSB2YWx1ZSB2YXJpYWJsZQorc3luIGtleXdvcmQgdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkIGFkZCBjbG9uZSBjb25maWd1cmUgZGVsZXRlIGVudHJ5Y2dldCBlbnRyeWNvbmZpZ3VyZSBpbmRleCBpbnNlcnQgaW52b2tlCitzeW4ga2V5d29yZCB0Y2x0a1dpZGdldFN3aXRjaCBjb250YWluZWQgcG9zdCBwb3N0Y2FzY2FkZSB0eXBlIHVucG9zdCB5cG9zaXRpb24gYWN0aXZhdGUKKyJzeW4ga2V5d29yZCB0Y2x0a1dpZGdldFN3aXRjaCBjb250YWluZWQKKyJzeW4gbWF0Y2ggdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkCitzeW4gcmVnaW9uIHRjbHRrV2lkZ2V0IG1hdGNoZ3JvdXA9dGNsdGtXaWRnZXRDb2xvciBzdGFydD0iXDxidXR0b25cPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQiaGU9ZS0xIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1dpZGdldFN3aXRjaCx0Y2xTdHJpbmcsdGNsdGtTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9Ilw8c2NhbGVcPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQiaGU9ZS0xICBjb250YWlucz10Y2xMaW5lQ29udGludWUsdGNsdGtXaWRnZXRTd2l0Y2gsdGNsU3RyaW5nLHRjbHRrU3dpdGNoLHRjbE51bWJlcix0Y2xWYXJSZWYKKworc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9Ilw8Y2FudmFzXD4iIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrV2lkZ2V0U3dpdGNoLHRjbFN0cmluZyx0Y2x0a1N3aXRjaCx0Y2xOdW1iZXIsdGNsVmFyUmVmCitzeW4gcmVnaW9uIHRjbHRrV2lkZ2V0IG1hdGNoZ3JvdXA9dGNsdGtXaWRnZXRDb2xvciBzdGFydD0iXDxjaGVja2J1dHRvblw+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0iXlxzKiQiIGVuZD0iXVx8W15cXF0qXHMqJCJoZT1lLTEgIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1dpZGdldFN3aXRjaCx0Y2xTdHJpbmcsdGNsdGtTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9Ilw8ZW50cnlcPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQiaGU9ZS0xICBjb250YWlucz10Y2xMaW5lQ29udGludWUsdGNsdGtXaWRnZXRTd2l0Y2gsdGNsU3RyaW5nLHRjbHRrU3dpdGNoLHRjbE51bWJlcix0Y2xWYXJSZWYKK3N5biByZWdpb24gdGNsdGtXaWRnZXQgbWF0Y2hncm91cD10Y2x0a1dpZGdldENvbG9yIHN0YXJ0PSJcPGZyYW1lXD4iIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrV2lkZ2V0U3dpdGNoLHRjbFN0cmluZyx0Y2x0a1N3aXRjaCx0Y2xOdW1iZXIsdGNsVmFyUmVmCitzeW4gcmVnaW9uIHRjbHRrV2lkZ2V0IG1hdGNoZ3JvdXA9dGNsdGtXaWRnZXRDb2xvciBzdGFydD0iXDxpbWFnZVw+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0iXlxzKiQiIGVuZD0iXVx8W15cXF0qXHMqJCJoZT1lLTEgIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1dpZGdldFN3aXRjaCx0Y2xTdHJpbmcsdGNsdGtTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9Ilw8bGlzdGJveFw+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0iXlxzKiQiIGVuZD0iXVx8W15cXF0qXHMqJCJoZT1lLTEgIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1dpZGdldFN3aXRjaCx0Y2xTdHJpbmcsdGNsdGtTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9Ilw8bWVudWJ1dHRvblw+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0iXlxzKiQiIGVuZD0iXVx8W15cXF0qXHMqJCJoZT1lLTEgIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1dpZGdldFN3aXRjaCx0Y2xTdHJpbmcsdGNsdGtTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9Ilw8bWVzc2FnZVw+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0iXlxzKiQiIGVuZD0iXVx8W15cXF0qXHMqJCJoZT1lLTEgIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1dpZGdldFN3aXRjaCx0Y2xTdHJpbmcsdGNsdGtTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9Ilw8cmFkaW9idXR0b25cPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQiaGU9ZS0xIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1dpZGdldFN3aXRjaCx0Y2xTdHJpbmcsdGNsdGtTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9Ilw8c2Nyb2xsYmFyXD4iIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrV2lkZ2V0U3dpdGNoLHRjbFN0cmluZyx0Y2x0a1N3aXRjaCx0Y2xOdW1iZXIsdGNsVmFyUmVmCisiIFRoZXNlIHdvcmRzIGFyZSBkdWFsIHB1cnBvc2UuCisiIG1hdGNoIHN3aXRjaGVzCisic3luIG1hdGNoIHRjbHRrV2lkZ2V0U3dpdGNoIGNvbnRhaW5lZCAiLXRleHQiaHM9cysxCitzeW4gbWF0Y2ggdGNsdGtXaWRnZXRTd2l0Y2ggY29udGFpbmVkICItdGV4dFwodmFyXClcPyJocz1zKzEKK3N5biBtYXRjaCB0Y2x0a1dpZGdldFN3aXRjaCBjb250YWluZWQgIi1tZW51ImhzPXMrMQorc3luIG1hdGNoIHRjbHRrV2lkZ2V0U3dpdGNoIGNvbnRhaW5lZCAiLWxhYmVsImhzPXMrMQorIiBtYXRjaCBjb21tYW5kcyAtIDIgbGluZXMgZm9yIHByZXR0eSBtYXRjaC4KKyJ2YXJpYWJsZQorIiBTcGVjaWFsIGNhc2UgLSBJZiBhIG51bWJlciBmb2xsb3dzIGEgdmFyaWFibGUgcmVnaW9uLCBpdCBtdXN0IGJlIGF0IHRoZSBlbmQgb2YKKyIgdGhlIHBhdHRlcm4sIGJ5IGRlZmluaXRpb24uIFRoZXJlZm9yZSwgKDEpIGVpdGhlciBpbmNsdWRlIGEgbnVtYmVyIGFzIHRoZSByZWdpb24KKyIgZW5kIGFuZCBleGNsdWRlIHRjbE51bWJlciBmcm9tIHRoZSBjb250YWlucyBsaXN0LCBvciAoMikgbWFrZSB2YXJpYWJsZQorIiBrZWVwZW5kLiBBcyAoMSkgd291bGQgcHV0IHZhcmlhYmxlIG91dCBvZiBzdGVwIHdpdGggZXZlcnl0aGluZyBlbHNlLCB1c2UgKDIpLgorc3luIHJlZ2lvbiB0Y2x0a0NvbW1hbmQgbWF0Y2hncm91cD10Y2x0a0NvbW1hbmRDb2xvciBzdGFydD0iXlw8dmFyaWFibGVcPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQiaGU9ZS0xICBjb250YWlucz10Y2xMaW5lQ29udGludWUsdGNsU3RyaW5nLHRjbE51bWJlcix0Y2xWYXJSZWYsdGNsdGtDb21tYW5kCitzeW4gcmVnaW9uIHRjbHRrQ29tbWFuZCBtYXRjaGdyb3VwPXRjbHRrQ29tbWFuZENvbG9yIHN0YXJ0PSJcc1w8dmFyaWFibGVcPlx8XFtcPHZhcmlhYmxlXD4iaHM9cysxIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbFN0cmluZyx0Y2xOdW1iZXIsdGNsVmFyUmVmLHRjbHRrQ29tbWFuZAorIiBtZW51CitzeW4gcmVnaW9uIHRjbHRrV2lkZ2V0IG1hdGNoZ3JvdXA9dGNsdGtXaWRnZXRDb2xvciBzdGFydD0iXlw8bWVudVw+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0iXlxzKiQiIGVuZD0iXVx8W15cXF0qXHMqJCJoZT1lLTEgIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1dpZGdldFN3aXRjaCx0Y2xTdHJpbmcsdGNsdGtTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorc3luIHJlZ2lvbiB0Y2x0a1dpZGdldCBtYXRjaGdyb3VwPXRjbHRrV2lkZ2V0Q29sb3Igc3RhcnQ9IlxzXDxtZW51XD5cfFxbXDxtZW51XD4iaHM9cysxIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrV2lkZ2V0U3dpdGNoLHRjbFN0cmluZyx0Y2x0a1N3aXRjaCx0Y2xOdW1iZXIsdGNsVmFyUmVmCisiIGxhYmVsCitzeW4gcmVnaW9uIHRjbHRrV2lkZ2V0IG1hdGNoZ3JvdXA9dGNsdGtXaWRnZXRDb2xvciBzdGFydD0iXlw8bGFiZWxcPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQiaGU9ZS0xICBjb250YWlucz10Y2xMaW5lQ29udGludWUsdGNsdGtXaWRnZXRTd2l0Y2gsdGNsU3RyaW5nLHRjbHRrU3dpdGNoLHRjbE51bWJlcix0Y2xWYXJSZWYKK3N5biByZWdpb24gdGNsdGtXaWRnZXQgbWF0Y2hncm91cD10Y2x0a1dpZGdldENvbG9yIHN0YXJ0PSJcc1w8bGFiZWxcPlx8XFtcPGxhYmVsXD4iaHM9cysxIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrV2lkZ2V0U3dpdGNoLHRjbFN0cmluZyx0Y2x0a1N3aXRjaCx0Y2xOdW1iZXIsdGNsVmFyUmVmCisiIHRleHQKK3N5biByZWdpb24gdGNsdGtXaWRnZXQgbWF0Y2hncm91cD10Y2x0a1dpZGdldENvbG9yIHN0YXJ0PSJeXDx0ZXh0XD4iIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrV2lkZ2V0LHRjbHRrV2lkZ2V0U3dpdGNoLHRjbHRrU3dpdGNoLHRjbE51bWJlcix0Y2xWYXJSZWYsdGNsU3RyaW5nCitzeW4gcmVnaW9uIHRjbHRrV2lkZ2V0IG1hdGNoZ3JvdXA9dGNsdGtXaWRnZXRDb2xvciBzdGFydD0iXHNcPHRleHRcPlx8XFtcPHRleHRcPiJocz1zKzEgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQiaGU9ZS0xICBjb250YWlucz10Y2xMaW5lQ29udGludWUsdGNsdGtXaWRnZXQsdGNsdGtXaWRnZXRTd2l0Y2gsdGNsU3RyaW5nLHRjbHRrU3dpdGNoLHRjbE51bWJlcix0Y2xWYXJSZWYKKworIiBUaGlzIGlzbid0IGNvbnRhaW5lZCAoSSBkb24ndCB0aGluaykgc28gaXQncyBPSyB0byBqdXN0IGFzc29jaWF0ZSB3aXRoIHRoZSBDb2xvciBncm91cC4KKyIgVE9ETzogVGhpcyBjb3VsZCBiZSB3cm9uZy4KK3N5biBrZXl3b3JkIHRjbHRrV2lkZ2V0Q29sb3IJdG9wbGV2ZWwKKworCitzeW4gcmVnaW9uIHRjbHRrUGFja0NvbmYgbWF0Y2hncm91cD10Y2x0a1BhY2tDb25mQ29sb3Igc3RhcnQ9Ilw8Y29uZmlndXJlXD4iIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrV2lkZ2V0U3dpdGNoLHRjbFN0cmluZyx0Y2x0a1N3aXRjaCx0Y2x0a1BhY2tDb25mU3dpdGNoLHRjbE51bWJlcix0Y2xWYXJSZWYga2VlcGVuZAorc3luIHJlZ2lvbiB0Y2x0a1BhY2tDb25mIG1hdGNoZ3JvdXA9dGNsdGtQYWNrQ29uZkNvbG9yIHN0YXJ0PSJcPGNnZXRcPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQibWU9ZS0xICBjb250YWlucz10Y2xMaW5lQ29udGludWUsdGNsdGtXaWRnZXRTd2l0Y2gsdGNsU3RyaW5nLHRjbHRrU3dpdGNoLHRjbHRrUGFja0NvbmZTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZgorCisKKyIgTkFNRVNQQUNFCisiIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCBuYW1lc3BhY2UKK3N5biBrZXl3b3JkIHRjbHRrTmFtZXNwYWNlU3dpdGNoIGNvbnRhaW5lZCBjaGlsZHJlbiBjb2RlIGN1cnJlbnQgZGVsZXRlIGV2YWwKK3N5biBrZXl3b3JkIHRjbHRrTmFtZXNwYWNlU3dpdGNoIGNvbnRhaW5lZCBleHBvcnQgZm9yZ2V0IGltcG9ydCBpbnNjb3BlIG9yaWdpbgorc3luIGtleXdvcmQgdGNsdGtOYW1lc3BhY2VTd2l0Y2ggY29udGFpbmVkIHBhcmVudCBxdWFsaWZpZXJzIHRhaWwgd2hpY2ggY29tbWFuZCB2YXJpYWJsZQorc3luIHJlZ2lvbiB0Y2x0a0NvbW1hbmQgbWF0Y2hncm91cD10Y2x0a0NvbW1hbmRDb2xvciBzdGFydD0iXDxuYW1lc3BhY2VcPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9IntcfH1cfF1cfFwiXHxbXlxcXSpccyokIm1lPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrTmFtZXNwYWNlU3dpdGNoCisKKyIgRVhQUgorIiBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZXhwcgorc3luIGtleXdvcmQgdGNsdGtNYXRocwljb250YWluZWQJYWNvcwljb3MJaHlwb3QJc2luaAorc3luIGtleXdvcmQgdGNsdGtNYXRocwljb250YWluZWQJYXNpbgljb3NoCWxvZwlzcXJ0CitzeW4ga2V5d29yZCB0Y2x0a01hdGhzCWNvbnRhaW5lZAlhdGFuCWV4cAlsb2cxMAl0YW4KK3N5biBrZXl3b3JkIHRjbHRrTWF0aHMJY29udGFpbmVkCWF0YW4yCWZsb29yCXBvdwl0YW5oCitzeW4ga2V5d29yZCB0Y2x0a01hdGhzCWNvbnRhaW5lZAljZWlsCWZtb2QJc2luCitzeW4gcmVnaW9uIHRjbHRrQ29tbWFuZCBtYXRjaGdyb3VwPXRjbHRrQ29tbWFuZENvbG9yIHN0YXJ0PSJcPGV4cHJcPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQibWU9ZS0xICBjb250YWlucz10Y2xMaW5lQ29udGludWUsdGNsdGtNYXRocyx0Y2xOdW1iZXIsdGNsVmFyUmVmLHRjbFN0cmluZyx0Y2x0bFdpZGdldFN3aXRjaCx0Y2x0a0NvbW1hbmQsdGNsdGtQYWNrQ29uZgorCisiIGZvcm1hdAorc3luIHJlZ2lvbiB0Y2x0a0NvbW1hbmQgbWF0Y2hncm91cD10Y2x0a0NvbW1hbmRDb2xvciBzdGFydD0iXDxmb3JtYXRcPiIgbWF0Y2hncm91cD1OT05FIHNraXA9Il5ccyokIiBlbmQ9Il1cfFteXFxdKlxzKiQibWU9ZS0xICBjb250YWlucz10Y2xMaW5lQ29udGludWUsdGNsdGtNYXRocyx0Y2xOdW1iZXIsdGNsVmFyUmVmLHRjbFN0cmluZyx0Y2x0bFdpZGdldFN3aXRjaCx0Y2x0a0NvbW1hbmQsdGNsdGtQYWNrQ29uZgorCisiIFBBQ0sKKyIgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIHBhY2sKK3N5biBrZXl3b3JkIHRjbHRrUGFja1N3aXRjaAljb250YWluZWQJZm9yZ2V0IGluZm8gcHJvcG9nYXRlIHNsYXZlcworc3luIGtleXdvcmQgdGNsdGtQYWNrQ29uZlN3aXRjaAljb250YWluZWQJYWZ0ZXIgYW5jaG9yIGJlZm9yZSBleHBhbmQgZmlsbCBpbiBpcGFkeCBpcGFkeSBwYWR4IHBhZHkgc2lkZQorc3luIHJlZ2lvbiB0Y2x0a0NvbW1hbmQgbWF0Y2hncm91cD10Y2x0a0NvbW1hbmRDb2xvciBzdGFydD0iXDxwYWNrXD4iIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrUGFja1N3aXRjaCx0Y2x0a1BhY2tDb25mLHRjbHRrUGFja0NvbmZTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZix0Y2xTdHJpbmcsdGNsdGtDb21tYW5kIGtlZXBlbmQKKworIiBTVFJJTkcKKyIgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIHN0cmluZworc3luIGtleXdvcmQgdGNsdGtTdHJpbmdTd2l0Y2gJY29udGFpbmVkCWNvbXBhcmUgZmlyc3QgaW5kZXggbGFzdCBsZW5ndGggbWF0Y2ggcmFuZ2UgdG9sb3dlciB0b3VwcGVyIHRyaW0gdHJpbWxlZnQgdHJpbXJpZ2h0IHdvcmRzdGFydCB3b3JkZW5kCitzeW4gcmVnaW9uIHRjbHRrQ29tbWFuZCBtYXRjaGdyb3VwPXRjbHRrQ29tbWFuZENvbG9yIHN0YXJ0PSJcPHN0cmluZ1w+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0iXlxzKiQiIGVuZD0iXVx8W15cXF0qXHMqJCJoZT1lLTEgIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a1N0cmluZ1N3aXRjaCx0Y2xOdW1iZXIsdGNsVmFyUmVmLHRjbFN0cmluZyx0Y2x0a0NvbW1hbmQKKworIiBBUlJBWQorIiBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggYXJyYXkKK3N5biBrZXl3b3JkIHRjbHRrQXJyYXlTd2l0Y2gJY29udGFpbmVkCWFueW1vcmUgZG9uZXNlYXJjaCBleGlzdHMgZ2V0IG5hbWVzIG5leHRlbGVtZW50IHNpemUgc3RhcnRzZWFyY2ggc2V0CisiIG1hdGNoIGZyb20gY29tbWFuZCBuYW1lIHRvIF0gb3IgRU9MCitzeW4gcmVnaW9uIHRjbHRrQ29tbWFuZCBtYXRjaGdyb3VwPXRjbHRrQ29tbWFuZENvbG9yIHN0YXJ0PSJcPGFycmF5XD4iIG1hdGNoZ3JvdXA9Tk9ORSBza2lwPSJeXHMqJCIgZW5kPSJdXHxbXlxcXSpccyokImhlPWUtMSAgY29udGFpbnM9dGNsTGluZUNvbnRpbnVlLHRjbHRrQXJyYXlTd2l0Y2gsdGNsTnVtYmVyLHRjbFZhclJlZix0Y2xTdHJpbmcsdGNsdGtDb21tYW5kCisKKyIgTFNPUlQKKyIgc3dpdGNoZXMgZm9yIGxzb3J0CitzeW4ga2V5d29yZCB0Y2x0a0xzb3J0U3dpdGNoCWNvbnRhaW5lZAlhc2NpaSBkaWN0aW9uYXJ5IGludGVnZXIgcmVhbCBjb21tYW5kIGluY3JlYXNpbmcgZGVjcmVhc2luZyBpbmRleAorIiBtYXRjaCBmcm9tIGNvbW1hbmQgbmFtZSB0byBdIG9yIEVPTAorc3luIHJlZ2lvbiB0Y2x0a0NvbW1hbmQgbWF0Y2hncm91cD10Y2x0a0NvbW1hbmRDb2xvciBzdGFydD0iXDxsc29ydFw+IiBtYXRjaGdyb3VwPU5PTkUgc2tpcD0iXlxzKiQiIGVuZD0iXVx8W15cXF0qXHMqJCJoZT1lLTEgIGNvbnRhaW5zPXRjbExpbmVDb250aW51ZSx0Y2x0a0xzb3J0U3dpdGNoLHRjbE51bWJlcix0Y2xWYXJSZWYsdGNsU3RyaW5nLHRjbHRrQ29tbWFuZAorCitzeW4ga2V5d29yZCB0Y2xUb2RvIGNvbnRhaW5lZAlUT0RPCisKKworIiBTdHJpbmcgYW5kIENoYXJhY3RlciBjb250c3RhbnRzCisiIEhpZ2hsaWdodCBzcGVjaWFsIGNoYXJhY3RlcnMgKHRob3NlIHdoaWNoIGhhdmUgYSBiYWNrc2xhc2gpIGRpZmZlcmVudGx5CitzeW4gbWF0Y2ggICB0Y2xTcGVjaWFsIGNvbnRhaW5lZCAiXFxcZFxkXGRcPVx8XFwuIgorIiBBIHN0cmluZyBuZWVkcyB0aGUgc2tpcCBhcmd1bWVudCBhcyBpdCBtYXkgbGVnaXRpbWF0ZWx5IGNvbnRhaW4gXCIuCisiIE1hdGNoIGF0IHN0YXJ0IG9mIGxpbmUKK3N5biByZWdpb24gIHRjbFN0cmluZwkJICBzdGFydD0rXiIrIGVuZD0rIisgY29udGFpbnM9dGNsU3BlY2lhbCBza2lwPStcXFxcXHxcXCIrCisiTWF0Y2ggYWxsIG90aGVyIGxlZ2FsIHN0cmluZ3MuCitzeW4gcmVnaW9uICB0Y2xTdHJpbmcJCSAgc3RhcnQ9K1teXFxdIittcz1zKzEgIGVuZD0rIisgY29udGFpbnM9dGNsU3BlY2lhbCBza2lwPStcXFxcXHxcXCIrCisKK3N5biBtYXRjaCAgIHRjbExpbmVDb250aW51ZSAiXFxccyokIgorCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoICB0Y2xOdW1iZXIJCSJcPFxkXCtcKHVcPWxcPVx8bHVcfGZcKVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggIHRjbE51bWJlcgkJIlw8XGRcK1wuXGQqXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggIHRjbE51bWJlcgkJIlwuXGRcK1woZVstK11cPVxkXCtcKVw9W2ZsXVw9XD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGRvdCwgd2l0aCBleHBvbmVudAorc3luIG1hdGNoICB0Y2xOdW1iZXIJCSJcPFxkXCtlWy0rXVw9XGRcK1tmbF1cPVw+IgorImhleCBudW1iZXIKK3N5biBtYXRjaCAgdGNsTnVtYmVyCQkiMHhbMC05YS1mXVwrXCh1XD1sXD1cfGx1XClcPiIKKyJzeW4gbWF0Y2ggIHRjbElkZW50aWZpZXIJIlw8W2Etel9dW2EtejAtOV9dKlw+Igorc3luIGNhc2UgbWF0Y2gKKworc3luIHJlZ2lvbiAgdGNsQ29tbWVudAkJc3RhcnQ9Il5ccypcIyIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRjbFRvZG8KK3N5biByZWdpb24gIHRjbENvbW1lbnQJCXN0YXJ0PS87XHMqXCMvaHM9cysxIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10Y2xUb2RvCisKKyJzeW4gc3luYyBjY29tbWVudCB0Y2xDb21tZW50CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RjbF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF90Y2xfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgdGNsdGtTd2l0Y2gJCVNwZWNpYWwKKyAgSGlMaW5rIHRjbExhYmVsCQlMYWJlbAorICBIaUxpbmsgdGNsQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCisgIEhpTGluayB0Y2xSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgdGNsTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHRjbEVycm9yCQlFcnJvcgorICBIaUxpbmsgdGNsU3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgIkhpTGluayB0Y2xTdGF0ZW1lbnRDb2xvcglTdGF0ZW1lbnQKKyAgSGlMaW5rIHRjbFN0cmluZwkJU3RyaW5nCisgIEhpTGluayB0Y2xDb21tZW50CQlDb21tZW50CisgIEhpTGluayB0Y2xTcGVjaWFsCQlTcGVjaWFsCisgIEhpTGluayB0Y2xUb2RvCQlUb2RvCisgICIgQmVsb3cgaGVyZSBhcmUgdGhlIGNvbW1hbmRzIGFuZCB0aGVpciBvcHRpb25zLgorICBIaUxpbmsgdGNsdGtDb21tYW5kQ29sb3IJU3RhdGVtZW50CisgIEhpTGluayB0Y2x0a1dpZGdldENvbG9yCVN0cnVjdHVyZQorICBIaUxpbmsgdGNsTGluZUNvbnRpbnVlCVdhcm5pbmdNc2cKKyAgSGlMaW5rIHRjbHRrU3RyaW5nU3dpdGNoCVNwZWNpYWwKKyAgSGlMaW5rIHRjbHRrQXJyYXlTd2l0Y2gJU3BlY2lhbAorICBIaUxpbmsgdGNsdGtMc29ydFN3aXRjaAlTcGVjaWFsCisgIEhpTGluayB0Y2x0a1BhY2tTd2l0Y2gJU3BlY2lhbAorICBIaUxpbmsgdGNsdGtQYWNrQ29uZlN3aXRjaAlTcGVjaWFsCisgIEhpTGluayB0Y2x0a01hdGhzCQlTcGVjaWFsCisgIEhpTGluayB0Y2x0a05hbWVzcGFjZVN3aXRjaAlTcGVjaWFsCisgIEhpTGluayB0Y2x0a1dpZGdldFN3aXRjaAlTcGVjaWFsCisgIEhpTGluayB0Y2x0a1BhY2tDb25mQ29sb3IJSWRlbnRpZmllcgorICAiSGlMaW5rIHRjbHRrTHNvcnQJCVN0YXRlbWVudAorICBIaUxpbmsgdGNsVmFyUmVmCQlJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRjbCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Rjc2gudmltIGIvcnVudGltZS9zeW50YXgvdGNzaC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjlmYmIyZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3Rjc2gudmltCkBAIC0wLDAgKzEsMTg4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJCUMtc2hlbGwgKHRjc2gpCisiIE1haW50YWlub3I6CQlHYXV0YW0gSXllciA8Z2F1dGFtQG1hdGgudWNoaWNhZ28uZWR1PgorIiBMYXN0IE1vZGlmaWVkOglNb24gMjMgRmViIDIwMDQgMDI6Mjg6NTEgUE0gQ1NUCisiCisiIERlc2NyaXB0aW9uOiBXZSBicmVhayB1cCBlYWNoIHN0YXRlbWVudCBpbnRvIGEgImNvbW1hbmQiIGFuZCBhbiAiZW5kIiBwYXJ0LgorIiBBbGwgZ3JvdXBzIGFyZSBlaXRoZXIgYSAiY29tbWFuZCIgb3IgcGFydCBvZiB0aGUgImVuZCIgb2YgYSBzdGF0ZW1lbnQgKGllCisiIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlICJjb21tYW5kIikuIFRoaXMgaXMgYmVjYXVzZSBibGluZGx5IGhpZ2hsaWdodGluZyB0Y3NoCisiIHN0YXRlbWVudHMgYXMga2V5d29yZHMgY2F1c2VkIHdheSB0b28gbWFueSBmYWxzZSBwb3NpdGl2ZXMuIEVnOgorIgorIglzZXQgaGlzdG9yeT0yMDAKKyIKKyIgY2F1c2VzIGhpc3RvcnkgdG8gY29tZSB1cCBhcyBhIGtleXdvcmQsIHdoaWNoIHdlIHdhbnQgdG8gYXZvaWQuCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIG1hdGNoCisKKyIgLS0tLS0gQ2x1c3RlcnMgLS0tLS0KK3N5biBjbHVzdGVyIHRjc2hNb2RpZmllcnMJY29udGFpbnM9dGNzaE1vZGlmaWVyLHRjc2hNb2RpZmllckVycm9yCitzeW4gY2x1c3RlciB0Y3NoUXVvdGVMaXN0CWNvbnRhaW5zPXRjc2hEUXVvdGUsdGNzaFNRdW90ZSx0Y3NoQlF1b3RlCitzeW4gY2x1c3RlciB0Y3NoU3RhdGVtZW50RW5kcwljb250YWlucz1AdGNzaFF1b3RlTGlzdCx0Y3NoQ29tbWVudCx0Y3NoVXNyVmFyLFRjc2hBcmd2LHRjc2hTdWJzdCx0Y3NoUmVkaXIsdGNzaE1ldGEsdGNzaEhlcmVEb2MsdGNzaFNwZWNpYWwsdGNzaEFyZ3VlbWVudAorc3luIGNsdXN0ZXIgdGNzaFN0YXRlbWVudHMJY29udGFpbnM9dGNzaEJ1aWx0aW5zLHRjc2hDb21tYW5kcyx0Y3NoU2V0LHRjc2hTZXRFbnYsdGNzaEFsaWFzLHRjc2hJZix0Y3NoV2hpbGUKK3N5biBjbHVzdGVyIHRjc2hWYXJMaXN0CQljb250YWlucz10Y3NoVXNyVmFyLHRjc2hBcmd2LHRjc2hTdWJzdAorCisiIC0tLS0tIFN0YXRlbWVudHMgLS0tLS0KKyIgVGNzaCBjb21tYW5kczogQW55IGZpbGVuYW1lIC8gbW9kaWZpYWJsZSB2YXJpYWJsZSAobXVzdCBiZSBmaXJzdCEpCitzeW4gbWF0Y2ggdGNzaENvbW1hbmRzCSdcdlthLXpBLVowLTlcXC4vXyQ6LV0rJyBjb250YWlucz10Y3NoU3BlY2lhbCx0Y3NoVXNyVmFyLHRjc2hBcmd2LHRjc2hWYXJFcnJvciBuZXh0Z3JvdXA9dGNzaFN0YXRlbWVudEVuZAorCisiIEJ1aWx0aW4gY29tbWFuZHMgZXhjZXB0ICh1bilzZXQoZW52KSwgKHVuKWFsaWFzLCBpZiwgd2hpbGUsIGVsc2UKK3N5biBrZXl3b3JkIHRjc2hCdWlsdGlucyBuZXh0Z3JvdXA9dGNzaFN0YXRlbWVudEVuZCBhbGxvYyBiZyBiaW5ka2V5IGJyZWFrIGJyZWFrc3cgYnVpbHRpbnMgYnllIGNhc2UgY2QgY2hkaXIgY29tcGxldGUgY29udGludWUgZGVmYXVsdCBkaXJzIGVjaG8gZWNob3RjIGVuZCBlbmRpZiBlbmRzdyBldmFsIGV4ZWMgZXhpdCBmZyBmaWxldGVzdCBmb3JlYWNoIGdldHNwYXRoIGdldHh2ZXJzIGdsb2IgZ290byBoYXNoc3RhdCBoaXN0b3J5IGh1cCBpbmxpYiBqb2JzIGtpbGwgbGltaXQgbG9nIGxvZ2luIGxvZ291dCBscyBscy1GIG1pZ3JhdGUgbmV3Z3JwIG5pY2Ugbm9odXAgbm90aWZ5IG9uaW50ciBwb3BkIHByaW50ZW52IHB1c2hkIHJlaGFzaCByZXBlYXQgcm9vdG5vZGUgc2NoZWQgc2V0cGF0aCBzZXRzcGF0aCBzZXR0YyBzZXR0eSBzZXR4dmVycyBzaGlmdCBzb3VyY2Ugc3RvcCBzdXNwZW5kIHN3aXRjaCB0ZWxsdGMgdGltZSB1bWFzayB1bmNvbXBsZXRlIHVuaGFzaCB1bml2ZXJzZSB1bmxpbWl0IHZlciB3YWl0IHdhcnAgd2F0Y2hsb2cgd2hlcmUgd2hpY2gKKworIiBTdGF0ZW1lbnRFbmQgaXMgYW55dGhpbmcgYWZ0ZXIgYSBidWlsdGluIC8gY29tbWFuZCB0aWxsIHRoZSBsZXhpY2FsIGVuZCBvZiBhCisiIHN0YXRlbWVudCAoOywgfCwgfHwsIHwmLCAmJiBvciBlbmQgb2YgbGluZSkKK3N5biByZWdpb24gdGNzaFN0YXRlbWVudEVuZAl0cmFuc3BhcmVudCBjb250YWluZWQgbWF0Y2hncm91cD10Y3NoQnVpbHRpbnMgc3RhcnQ9JycgZW5kPSdcdlxcQDwhKDt8XHxbfCZdP3xcJlwmfCQpJyBjb250YWlucz1AdGNzaFN0YXRlbWVudEVuZHMKKworIiBzZXQgZXhwcmVzc2lvbnMgKENvbnRhaW5zIHNoZWxsIHZhcmlhYmxlcykKK3N5biBrZXl3b3JkIHRjc2hTaGVsbFZhciBjb250YWluZWQgYWZzdXNlciBhbXBtIGFyZ3YgYXV0b2NvcnJlY3QgYXV0b2V4cGFuZCBhdXRvbGlzdCBhdXRvbG9nb3V0IGJhY2tzbGFzaF9xdW90ZSBjYXRhbG9nIGNkcGF0aCBjb2xvciBjb2xvcmNhdCBjb21tYW5kIGNvbXBsZXRlIGNvbnRpbnVlIGNvbnRpbnVlX2FyZ3MgY29ycmVjdCBjd2QgZGV4dHJhY3QgZGlyc2ZpbGUgZGlyc3RhY2sgZHNwbWJ5dGUgZHVuaXF1ZSBlY2hvIGVjaG9fc3R5bGUgZWRpdCBlbGxpcHNpcyBmaWdub3JlIGZpbGVjIGdpZCBncm91cCBoaXN0Y2hhcnMgaGlzdGR1cCBoaXN0ZmlsZSBoaXN0bGl0IGhpc3RvcnkgaG9tZSBpZ25vcmVlb2YgaW1wbGljaXRjZCBpbnB1dG1vZGUga2lsbGR1cCBraWxscmluZyBsaXN0ZmxhZ3MgbGlzdGpvYnMgbGlzdGxpbmtzIGxpc3RtYXggbGlzdG1heHJvd3MgbG9naW5zaCBsb2dvdXQgbWFpbCBtYXRjaGJlZXAgbm9iZWVwIG5vY2xvYmJlciBub2Rpbmcgbm9nbG9iIG5va2Fuamkgbm9ub21hdGNoIG5vc3RhdCBub3RpZnkgb2lkIG93ZCBwYXRoIHByaW50ZXhpdHZhbHVlIHByb21wdCBwcm9tcHQyIHByb21wdDMgcHJvbXB0Y2hhcnMgcHVzaGR0b2hvbWUgcHVzaGRzaWxlbnQgcmVjZXhhY3QgcmVjb2duaXplX29ubHlfZXhlY3V0YWJsZXMgcm1zdGFyIHJwcm9tcHQgc2F2ZWRpcnMgc2F2ZWhpc3Qgc2NoZWQgc2hlbGwgc2hsdmwgc3RhdHVzIHN5bWxpbmtzIHRjc2ggdGVybSB0aW1lIHRwZXJpb2QgdHR5IHVpZCB1c2VyIHZlcmJvc2UgdmVyc2lvbiB2aXNpYmxlYmVsbCB3YXRjaCB3aG8gd29yZGNoYXJzCitzeW4ga2V5d29yZCB0Y3NoU2V0CW5leHRncm91cD10Y3NoU2V0RW5kIHNldCB1bnNldAorc3luIHJlZ2lvbiAgdGNzaFNldEVuZAljb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD10Y3NoQnVpbHRpbnMgc3RhcnQ9Jycgc2tpcD0iXFwkIiBlbmQ9IiRcfDsiIGNvbnRhaW5zPXRjc2hTaGVsbFZhcixAdGNzaFN0YXRlbWVudEVuZHMKKworIiBzZXRlbnYgZXhwcmVzc2lvbnMgKENvbnRhaW5zIGVudmlvcmVubWVudCB2YXJpYWJsZXMpCitzeW4ga2V5d29yZCB0Y3NoRW52VmFyIGNvbnRhaW5lZCBBRlNVU0VSIENPTFVNTlMgRElTUExBWSBFRElUT1IgR1JPVVAgSE9NRSBIT1NUIEhPU1RUWVBFIEhQQVRIIExBTkcgTENfQ1RZUEUgTElORVMgTFNfQ09MT1JTIE1BQ0hUWVBFIE5PUkVCSU5EIE9TVFlQRSBQQVRIIFBXRCBSRU1PVEVIT1NUIFNITFZMIFNZU1RZUEUgVEVSTSBURVJNQ0FQIFVTRVIgVkVORE9SIFZJU1VBTAorc3luIGtleXdvcmQgdGNzaFNldEVudgluZXh0Z3JvdXA9dGNzaEVudkVuZCBzZXRlbnYgdW5zZXRlbnYKK3N5biByZWdpb24gIHRjc2hFbnZFbmQJY29udGFpbmVkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dGNzaEJ1aWx0aW5zIHN0YXJ0PScnIHNraXA9IlxcJCIgZW5kPSIkXHw7IiBjb250YWlucz10Y3NoRW52VmFyLEB0Y3NoU3RhdGVtZW50RW5kcworCisiIGFsaWFzIGFuZCB1bmFsaWFzIChjb250YWlucyBzcGVjaWFsIGFsaWFzZXMpCitzeW4ga2V5d29yZCB0Y3NoQWxpYXNlcyBjb250YWluZWQgYmVlbWNtZCBjd2RjbWQgam9iY21kIGhlbHBjb21tYW5kIHBlcmlvZGljIHByZWNtZCBwb3N0Y21kIHNoZWxsCitzeW4ga2V5d29yZCB0Y3NoQWxpYXMJbmV4dGdyb3VwPXRjc2hBbGlFbmQgYWxpYXMgdW5hbGlhcworc3luIHJlZ2lvbiAgdGNzaEFsaUVuZAljb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD10Y3NoQnVpbHRpbnMgc3RhcnQ9Jycgc2tpcD0iXFwkIiBlbmQ9IiRcfDsiIGNvbnRhaW5zPXRjc2hBbGlhc2VzLEB0Y3NoU3RhdGVtZW50RW5kcworCisiIGlmIHN0YXRlbWVudHMgKGNvbnRhaW5zIGV4cHJlc3Npb25zIC8gb3BlcmF0b3JzKQorc3luIGtleXdvcmQgdGNzaElmCW5leHRncm91cD10Y3NoSWZFbmQgaWYKK3N5biByZWdpb24gIHRjc2hJZkVuZAljb250YWluZWQgbWF0Y2hncm91cD10Y3NoQnVpbHRpbnMgc3RhcnQ9Jycgc2tpcD0iXFwkIiBlbmQ9Ilx2PHRoZW4+fCQiIGNvbnRhaW5zPXRjc2hPcGVyYXRvcix0Y3NoTnVtYmVyLEB0Y3NoU3RhdGVtZW50RW5kcworCisiIGVsc2Ugc3RhdGVtZW50cyAobmV4dGdyb3VwIGlmKQorc3luIGtleXdvcmQgdGNzaEVsc2UJbmV4dGdyb3VwPXRjc2hJZiBza2lwd2hpdGUgZWxzZQorCisiIHdoaWxlIHN0YXRlbWVudHMgKGNvbnRhaW5zIGV4cHJlc3Npb25zIC8gb3BlcmF0b3JzKQorc3luIGtleXdvcmQgdGNzaFdoaWxlCW5leHRncm91cD10Y3NoV2hFbmQgd2hpbGUKK3N5biByZWdpb24gIHRjc2hXaEVuZAljb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD10Y3NoQnVpbHRpbnMgc3RhcnQ9Jycgc2tpcD0iXFwkIiBlbmQ9Ilx2JCIgY29udGFpbnM9dGNzaE9wZXJhdG9yLHRjc2hOdW1iZXIsQHRjc2hTdGF0ZW1lbnRFbmRzCisKKyIgRXhwcmVzc2lvbnMgc3RhcnQgd2l0aCBALgorc3luIG1hdGNoIHRjc2hFeHByU3RhcnQgIlx2XEBccysiIG5leHRncm91cD10Y3NoRXhwclZhcgorc3luIG1hdGNoIHRjc2hFeHByVmFyCWNvbnRhaW5lZCAiXHZcaFx3KiUoXFtcZCtcXSk/IiBjb250YWlucz10Y3NoU2hlbGxWYXIsdGNzaEVudlZhciBuZXh0Z3JvdXA9dGNzaEV4cHJPcAorc3luIG1hdGNoIHRjc2hFeHByT3AJY29udGFpbmVkICIrK1x8LS0iCitzeW4gbWF0Y2ggdGNzaEV4cHJPcAljb250YWluZWQgIlx2XHMqXD0iIG5leHRncm91cD10Y3NoRXhwckVuZAorc3luIG1hdGNoIHRjc2hFeHByRW5kCWNvbnRhaW5lZCAiXHYuKiQiaHM9ZSsxIGNvbnRhaW5zPXRjc2hPcGVyYXRvcix0Y3NoTnVtYmVyLEB0Y3NoVmFyTGlzdAorc3luIG1hdGNoIHRjc2hFeHByRW5kCWNvbnRhaW5lZCAiXHYuey19OyJocz1lCWNvbnRhaW5zPXRjc2hPcGVyYXRvcix0Y3NoTnVtYmVyLEB0Y3NoVmFyTGlzdAorCisiIC0tLS0tIENvbW1lbnRzOiAtLS0tLQorc3luIG1hdGNoIHRjc2hDb21tZW50CSIjLioiIGNvbnRhaW5zPXRjc2hUb2RvLHRjc2hDb21tZW50VGksdGNzaENvbW1lbnRTcCxAU3BlbGwKK3N5biBtYXRjaCB0Y3NoU2hhcnBCYW5nICJeIyEgLiokIgorc3luIG1hdGNoIHRjc2hDb21tZW50VGkgY29udGFpbmVkICdcdiNccypcdVx3KihccytcdVx3KikqOidocz1zKzEgY29udGFpbnM9dGNzaFRvZG8KK3N5biBtYXRjaCB0Y3NoQ29tbWVudFNwIGNvbnRhaW5lZCAnXHY8XHV7Myx9PicgY29udGFpbnM9dGNzaFRvZG8KK3N5biBtYXRjaCB0Y3NoVG9kbwljb250YWluZWQgJ1x2XGM8dG9kbz4nCisKKyIgLS0tLS0gU3RyaW5ncyAtLS0tLQorIiBUY3NoIGRvZXMgbm90IGFsbG93IFwiIGluIHN0cmluZ3MgdW5sZXNzIHRoZSAiYmFja3NsYXNoX3F1b3RlIiBzaGVsbAorIiB2YXJpYWJsZSBpcyBzZXQuIFNldCB0aGUgdmltIHZhcmlhYmxlICJ0Y3NoX2JhY2tzbGFzaF9xdW90ZSIgdG8gMCBpZiB5b3UKKyIgd2FudCBWSU0gdG8gYXNzdW1lIHRoYXQgbm8gYmFja3NsYXNoIHF1b3RlIGNvbnN0cnVjdHMgZXhpc3QuCisKKyIgQmFja3F1b3RlcyBhcmUgdHJlYXRlZCBhcyBjb21tYW5kcywgYW5kIGFyZSBub3QgY29udGFpbmVkIGluIGFueXRoaW5nCitpZihleGlzdHMoInRjc2hfYmFja3NsYXNoX3F1b3RlIikgJiYgdGNzaF9iYWNrc2xhc2hfcXVvdGUgPT0gMCkKKyAgICBzeW4gcmVnaW9uIHRjc2hTUXVvdGUJa2VlcGVuZCBjb250YWluZWQgc3RhcnQ9Ilx2XFxAPCEnIiBlbmQ9IiciIGNvbnRhaW5zPUBTcGVsbAorICAgIHN5biByZWdpb24gdGNzaERRdW90ZQlrZWVwZW5kIGNvbnRhaW5lZCBzdGFydD0nXHZcXEA8ISInIGVuZD0nIicgY29udGFpbnM9QHRjc2hWYXJMaXN0LHRjc2hTcGVjaWFsLEBTcGVsbAorICAgIHN5biByZWdpb24gdGNzaEJRdW90ZQlrZWVwZW5kIHN0YXJ0PSdcdlxcQDwhYCcgZW5kPSdgJyBjb250YWlucz1AdGNzaFN0YXRlbWVudHMKK2Vsc2UKKyAgICBzeW4gcmVnaW9uIHRjc2hTUXVvdGUJY29udGFpbmVkIHN0YXJ0PSJcdlxcQDwhJyIgc2tpcD0iXHZcXFxcfFxcJyIgZW5kPSInIiBjb250YWlucz1AU3BlbGwKKyAgICBzeW4gcmVnaW9uIHRjc2hEUXVvdGUJY29udGFpbmVkIHN0YXJ0PSdcdlxcQDwhIicgZW5kPSciJyBjb250YWlucz1AdGNzaFZhckxpc3QsdGNzaFNwZWNpYWwsQFNwZWxsCisgICAgc3luIHJlZ2lvbiB0Y3NoQlF1b3RlCWtlZXBlbmQgbWF0Y2hncm91cD10Y3NoQlF1b3RlR3JwIHN0YXJ0PSdcdlxcQDwhYCcgc2tpcD0nXHZcXFxcfFxcYCcgZW5kPSdgJyBjb250YWlucz1AdGNzaFN0YXRlbWVudHMKK2VuZGlmCisKKyIgLS0tLS0gVmFyaWFibGVzIC0tLS0tCisiIFZhcmlhYmxlIEVycm9ycy4gTXVzdCBjb21lIGZpcnN0ISBcJCBjb25zdHJ1Y3RzIHdpbGwgYmUgZmxhZ2dlZCBieQorIiB0Y3NoU3BlY2lhbCwgc28gd2UgZG9uJ3QgY29uc2lkZXIgdGhlbSBoZXJlLgorc3luIG1hdGNoIHRjc2hWYXJFcnJvcgknXHZcJFxTKicJY29udGFpbmVkCisKKyIgTW9kaWZpYWJsZSBWYXJpYWJsZXMgd2l0aG91dCB7fS4KK3N5biBtYXRjaCB0Y3NoVXNyVmFyIGNvbnRhaW5lZCAiXHZcJFxoXHcqJShcW1xkKyUoLVxkKyk/XF0pPyIgbmV4dGdyb3VwPUB0Y3NoTW9kaWZpZXJzIGNvbnRhaW5zPXRjc2hTaGVsbFZhcix0Y3NoRW52VmFyCitzeW4gbWF0Y2ggdGNzaEFyZ3YgICBjb250YWluZWQgIlx2XCQlKFxkK3xcKikiIG5leHRncm91cD1AdGNzaE1vZGlmaWVycworCisiIE1vZGlmaWFibGUgVmFyaWFibGVzIHdpdGgge30uCitzeW4gbWF0Y2ggdGNzaFVzclZhciBjb250YWluZWQgIlx2XCRce1xoXHcqJShcW1xkKyUoLVxkKyk/XF0pPyUoOlxTKik/XH0iIGNvbnRhaW5zPUB0Y3NoTW9kaWZpZXJzLHRjc2hTaGVsbFZhcix0Y3NoRW52VmFyCitzeW4gbWF0Y2ggdGNzaEFyZ3YgICBjb250YWluZWQgIlx2XCRceyUoXGQrfFwqKSUoOlxTKik/XH0iIGNvbnRhaW5zPUB0Y3NoTW9kaWZpZXJzCisKKyIgVW5Nb2RpZmlhYmxlIFN1YnN0aXR1dGlvbnMuIE9yZGVyIGlzIGltcG9ydGFudCBoZXJlLgorc3luIG1hdGNoIHRjc2hTdWJzdCBjb250YWluZWQJIlx2XCRbPyMkIV88XSIgbmV4dGdyb3VwPXRjc2hNb2RpZmllckVycm9yCitzeW4gbWF0Y2ggdGNzaFN1YnN0IGNvbnRhaW5lZAkiXHZcJFslIz9dJShcaFx3KnxcZCspIiBuZXh0Z3JvdXA9dGNzaE1vZGlmaWVyRXJyb3IgY29udGFpbnM9dGNzaFNoZWxsVmFyLHRjc2hFbnZWYXIKK3N5biBtYXRjaCB0Y3NoU3Vic3QgY29udGFpbmVkCSJcdlwkXHtbJSM/XSUoXGhcdyp8XGQrKSUoOlxTKik/XH0iIGNvbnRhaW5zPXRjc2hNb2RpZmllckVycm9yIGNvbnRhaW5zPXRjc2hTaGVsbFZhcix0Y3NoRW52VmFyCisKKyIgVmFyaWFibGUgTmFtZSBFeHBhbnNpb24gTW9kaWZpZXJzIChvcmRlciBpbXBvcnRhbnQpCitzeW4gbWF0Y2ggdGNzaE1vZGlmaWVyRXJyb3IJY29udGFpbmVkICdcdjpcUyonCitzeW4gbWF0Y2ggdGNzaE1vZGlmaWVyCQljb250YWluZWQgJ1x2OlthZ10/W2h0cmV1bHMmcXhdJyBuZXh0Z3JvdXA9QHRjc2hNb2RpZmllcnMKKworIiAtLS0tLSBPcGVyYXRvcnMgLyBTcGVjaWFscyAtLS0tLQorIiBTdGFuZGFyZCByZWRpcmVjdHMgKGV4Y2VwdCA8PCkgWzwsID4sID4+LCA+PiYsID4+ISwgPj4mIV0KK3N5biBtYXRjaCB0Y3NoUmVkaXIgY29udGFpbmVkCSJcdlw8fFw+XD4/XCY/IT8iCisKKyIgTWV0YWNoYXJzCitzeW4gbWF0Y2ggdGNzaE1ldGEgIGNvbnRhaW5lZAkiXHZbXXt9Kj9bXSIKKworIiBIZXJlIERvY3VtZW50cyAoPDwpCitzeW4gcmVnaW9uIHRjc2hIZXJlRG9jIGNvbnRhaW5lZCBtYXRjaGdyb3VwPXRjc2hSZWRpciBzdGFydD0iXHZcPFw8XHMqXHooXGhcdyopIiBlbmQ9Il5cejEkIiBjb250YWlucz1AdGNzaFZhckxpc3QsdGNzaFNwZWNpYWwKK3N5biByZWdpb24gdGNzaEhlcmVEb2MgY29udGFpbmVkIG1hdGNoZ3JvdXA9dGNzaFJlZGlyIHN0YXJ0PSJcdlw8XDxccyonXHooXGhcdyopJyIgc3RhcnQ9J1x2XDxcPFxzKiJceihcaFx3KikiJCcgc3RhcnQ9Ilx2XDxcPFxzKlxcXHooXGhcdyopJCIgZW5kPSJeXHoxJCIKKworIiBPcGVyYXRvcnMKK3N5biBtYXRjaCB0Y3NoT3BlcmF0b3IJY29udGFpbmVkICImJlx8IVx+XHwhPVx8PDxcfDw9XHw9PVx8PVx+XHw+PVx8Pj5cfFwqXHxcXlx8XH5cfHx8XHwhXHwlXHwmXHwrXHwtXHwvXHw8XHw+XHx8Igorc3luIG1hdGNoIHRjc2hPcGVyYXRvcgljb250YWluZWQgIlsoKXt9XSIKKworIiBOdW1iZXJzCitzeW4gbWF0Y2ggdGNzaE51bWJlcgljb250YWluZWQgIlx2PC0/XGQrPiIKKworIiBBcmd1ZW1lbnRzCitzeW4gbWF0Y2ggdGNzaEFyZ3VlbWVudAljb250YWluZWQgIlx2XHNAPD0tKFx3fC0pKiIKKworIiBTcGVjaWFsIGNoYXJlY3RvcnMKK3N5biBtYXRjaCB0Y3NoU3BlY2lhbAljb250YWluZWQgIlx2XFxAPCFcXChcZHszfXwuKSIKKworIiAtLS0tLSBTeW5jcm9uaXNpbmcgLS0tLS0KK2lmIGV4aXN0cygidGNzaF9taW5saW5lcyIpCisgICAgZXhlYyAic3luIHN5bmMgbWlubGluZXM9IiAuIHRjc2hfbWlubGluZXMKK2Vsc2UKKyAgICBzeW4gc3luYyBtaW5saW5lcz0xNQkiIEV4Y2VwdCAnaGVyZScgZG9jdW1lbnRzLCBub3RoaW5nIGlzIGxvbmcKK2VuZGlmCisKKyIgRGVmaW5lIGhpZ2hsaWdodGluZyBvZiBzeW50YXggZ3JvdXBzCitoaSBkZWYgbGluayB0Y3NoQnVpbHRpbnMJc3RhdGVtZW50CitoaSBkZWYgbGluayB0Y3NoU2hlbGxWYXIJcHJlcHJvYworaGkgZGVmIGxpbmsgdGNzaEVudlZhcgkJdGNzaFNoZWxsVmFyCitoaSBkZWYgbGluayB0Y3NoQWxpYXNlcwkJdGNzaFNoZWxsVmFyCitoaSBkZWYgbGluayB0Y3NoQ29tbWFuZHMJaWRlbnRpZmllcgoraGkgZGVmIGxpbmsgdGNzaFNldAkJdGNzaEJ1aWx0aW5zCitoaSBkZWYgbGluayB0Y3NoU2V0RW52CQl0Y3NoQnVpbHRpbnMKK2hpIGRlZiBsaW5rIHRjc2hBbGlhcwkJdGNzaEJ1aWx0aW5zCitoaSBkZWYgbGluayB0Y3NoSWYJCXRjc2hCdWlsdGlucworaGkgZGVmIGxpbmsgdGNzaEVsc2UJCXRjc2hCdWlsdGlucworaGkgZGVmIGxpbmsgdGNzaFdoaWxlCQl0Y3NoQnVpbHRpbnMKK2hpIGRlZiBsaW5rIHRjc2hFeHByU3RhcnQJdGNzaEJ1aWx0aW5zCitoaSBkZWYgbGluayB0Y3NoRXhwclZhcgkJdGNzaFVzclZhcgoraGkgZGVmIGxpbmsgdGNzaEV4cHJPcAkJdGNzaE9wZXJhdG9yCitoaSBkZWYgbGluayB0Y3NoRXhwckVuZAkJdGNzaE9wZXJhdG9yCitoaSBkZWYgbGluayB0Y3NoQ29tbWVudAkJY29tbWVudAoraGkgZGVmIGxpbmsgdGNzaENvbW1lbnRUaQlwcmVwcm9jCitoaSBkZWYgbGluayB0Y3NoQ29tbWVudFNwCVdhcm5pbmdNc2cKK2hpIGRlZiBsaW5rIHRjc2hTaGFycEJhbmcJcHJlcHJvYworaGkgZGVmIGxpbmsgdGNzaFRvZG8JCXRvZG8KK2hpIGRlZiBsaW5rIHRjc2hTUXVvdGUJCWNvbnN0YW50CitoaSBkZWYgbGluayB0Y3NoRFF1b3RlCQl0Y3NoU1F1b3RlCitoaSBkZWYgbGluayB0Y3NoQlF1b3RlR3JwCWluY2x1ZGUKK2hpIGRlZiBsaW5rIHRjc2hWYXJFcnJvcgllcnJvcgoraGkgZGVmIGxpbmsgdGNzaFVzclZhcgkJdHlwZQoraGkgZGVmIGxpbmsgdGNzaEFyZ3YJCXRjc2hVc3JWYXIKK2hpIGRlZiBsaW5rIHRjc2hTdWJzdAkJdGNzaFVzclZhcgoraGkgZGVmIGxpbmsgdGNzaE1vZGlmaWVyCXRjc2hBcmd1ZW1lbnQKK2hpIGRlZiBsaW5rIHRjc2hNb2RpZmllckVycm9yCXRjc2hWYXJFcnJvcgoraGkgZGVmIGxpbmsgdGNzaE1ldGEJCXRjc2hTdWJzdAoraGkgZGVmIGxpbmsgdGNzaFJlZGlyCQl0Y3NoT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHRjc2hIZXJlRG9jCQl0Y3NoU1F1b3RlCitoaSBkZWYgbGluayB0Y3NoT3BlcmF0b3IJb3BlcmF0b3IKK2hpIGRlZiBsaW5rIHRjc2hOdW1iZXIJCW51bWJlcgoraGkgZGVmIGxpbmsgdGNzaEFyZ3VlbWVudAlzcGVjaWFsCitoaSBkZWYgbGluayB0Y3NoU3BlY2lhbAkJc3BlY2lhbGNoYXIKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGNzaCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Rlcm1pbmZvLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Rlcm1pbmZvLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWM3ZmZhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdGVybWluZm8udmltCkBAIC0wLDAgKzEsMTE1IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIFRlcm1pbmZvIGRlZmluaXRpb24KKyIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+CisiIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvdGVybWluZm8vCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKKyIgYXJjaC10YWc6CSAgICA4NDY0ZGQ0Ny0wYzVhLTQ3ZDUtODdlZC1hMmFkOTllMTE5NmYKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIga2V5d29yZHMgKGRlZmluZSBmaXJzdCBhcyB0byBub3QgbWVzcyB1cCBjb21tZW50cworc3luIG1hdGNoIHRlcm1pbmZvS2V5d29yZHMJIlssPSN8XSIKKworIiB0b2RvCitzeW4ga2V5d29yZCB0ZXJtaW5mb1RvZG8JY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworIiBjb21tZW50cworc3luIHJlZ2lvbiAgdGVybWluZm9Db21tZW50CW1hdGNoZ3JvdXA9dGVybWluZm9Db21tZW50IHN0YXJ0PSJeIyIgZW5kPSIkIiBjb250YWlucz10ZXJtaW5mb1RvZG8KKworIiBudW1iZXJzCitzeW4gbWF0Y2ggICB0ZXJtaW5mb051bWJlcnMJIlw8WzAtOV1cK1w+IgorCisiIHNwZWNpYWwga2V5cworc3luIG1hdGNoICAgdGVybWluZm9TcGVjaWFsQ2hhcgkiXFxcKFxvXHszfVx8W0VlbmxydGJmc15cLDowXVwpIgorc3luIG1hdGNoICAgdGVybWluZm9TcGVjaWFsQ2hhciAiXF5cYSIKKworIiBkZWxheXMKK3N5biBtYXRjaCAgIHRlcm1pbmZvRGVsYXkJIiQ8WzAtOV1cKz4iCisKKyIgYm9vbGVhbiBjYXBhYmlsaXRpZXMKK3N5biBrZXl3b3JkIHRlcm1pbmZvQm9vbGVhbnMJYncgYW0gYmNlIGNjYyB4aHAgeGhwYSBjcGl4IGNyeHcgeHQgeGVubCBlbyBnbgorc3luIGtleXdvcmQgdGVybWluZm9Cb29sZWFucwloYyBjaHRzIGttIGRhaXN5IGhzIGhscyBpbiBscGl4IGRhIGRiIG1pciBtc2dyCitzeW4ga2V5d29yZCB0ZXJtaW5mb0Jvb2xlYW5zCW54b24geHNiIG5wYyBuZHNjciBucnJtYyBvcyBtYzVpIHhjcGEgc2FtIGVzbG9rCitzeW4ga2V5d29yZCB0ZXJtaW5mb0Jvb2xlYW5zCWh6IHVsIHhvbgorCisiIG51bWVyaWMgY2FwYWJpbGl0aWVzCitzeW4ga2V5d29yZCB0ZXJtaW5mb051bWVyaWNzCWNvbHMgaXQgbGggbHcgbGluZXMgbG0geG1jIG1hIGNvbG9ycyBwYWlycyB3bnVtCitzeW4ga2V5d29yZCB0ZXJtaW5mb051bWVyaWNzCW5jdiBubGFiIHBiIHZ0IHdzbCBiaXR3aW4gYml0eXBlIGJ1ZnN6IGJ0bnMKK3N5biBrZXl3b3JkIHRlcm1pbmZvTnVtZXJpY3MJc3Bpbmggc3BpbnYgbWFkZHIgbWp1bXAgbWNzIG5waW5zIG9yYyBvcmhpIG9ybAorc3luIGtleXdvcmQgdGVybWluZm9OdW1lcmljcwlvcnZpIGNwcyB3aWRjcworCisiIHN0cmluZyBjYXBhYmlsaXRpZXMKK3N5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlhY3NjIGNidCBiZWwgY3IgY3BpIGxwaSBjaHIgY3ZyIGNzciBybXAgdGJjIG1nYworc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWNsZWFyIGVsMSBlbCBlZCBocGEgY21kY2ggY3dpbiBjdXAgY3VkMSBob21lCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJY2l2aXMgY3ViMSBtcmN1cCBjbm9ybSBjdWYxIGxsIGN1dTEgY3Z2aXMgZGVmYworc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWRjaDEgZGwxIGRpYWwgZHNsIGRjbGsgaGQgZW5hY3Mgc21hY3Mgc21hbSBibGluaworc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWJvbGQgc21jdXAgc21kYyBkaW0gc3dpZG0gc2RyZnEgc21pciBzaXRtIHNsbQorc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXNtaWNtIHNubHEgc25ybXEgcHJvdCByZXYgaW52aXMgc3NobSBzbXNvIHNzdWJtCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJc3N1cG0gc211bCBzdW0gc214b24gZWNoIHJtYWNzIHJtYW0gc2dyMCBybWN1cAorc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXJtZGMgcndpZG0gcm1pciByaXRtIHJsbSBybWljbSByc2htIHJtc28gcnN1Ym0KK3N5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlyc3VwbSBybXVsIHJ1bSBybXhvbiBwYXVzZSBob29rIGZsYXNoIGZmIGZzbAorc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXdpbmdvIGh1cCBpczEgaXMyIGlzMyBpZiBpcHJvZyBpbml0YyBpbml0cCBpY2gxCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJaWwxIGlwIGthMSBrYTMga2IyIGticyBrYmVnIGtjYnQga2MxIGtjMyBrY2FuCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa3RiYyBrY2xyIGtjbG8ga2NtZCBrY3B5IGtjcnQga2N0YWIga2RjaDEga2RsMQorc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWtjdWQxIGtybWlyIGtlbmQga2VudCBrZWwga2VkIGtleHQKK3N5biBtYXRjaCAgIHRlcm1pbmZvU3RyaW5ncwkiXDxrZlwoWzAtOV1cfFswLTVdWzAtOV1cfDZbMC0zXVwpXD4iCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa2ZuZCBraGxwIGtob21lIGtpY2gxIGtpbDEga2N1YjEga2xsIGttcmsKK3N5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlrbXNnIGttb3Yga254dCBrbnAga29wbiBrb3B0IGtwcCBrcHJ2IGtwcnQga3Jkbworc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWtyZWYga3JmciBrcnBsIGtyc3Qga3JlcyBrY3VmMSBrc2F2IGtCRUcga0NBTgorc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWtDTUQga0NQWSBrQ1JUIGtEQyBrREwga3NsdCBrRU5EIGtFT0wga0VYVCBraW5kCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa0ZORCBrSExQIGtIT00ga0lDIGtMRlQga01TRyBrTU9WIGtOWFQga09QVCBrUFJWCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa1BSVCBrcmkga1JETyBrUlBMIGtSSVQga1JFUyBrU0FWIGtTUEQga2h0cyBrVU5ECitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa3NwZCBrdW5kIGtjdXUxIHJta3ggc21reCBsZjAgbGYxIGxmMTAgbGYyIGxmMworc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWxmNCBsZjUgbGY2IGxmNyBsZjggbGY5IGZsbiBybWxuIHNtbG4gcm1tIHNtbQorc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCW1ocGEgbWN1ZDEgbWN1YjEgbWN1ZjEgbXZwYSBtY3V1MSBuZWwgcG9yZGVyIG9jCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJb3AgcGFkIGRjaCBkbCBjdWQgbWN1ZCBpY2ggaW5kbiBpbCBjdWIgbWN1YiBjdWYKK3N5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwltY3VmIHJpbiBjdXUgbWNjdSBwZmtleSBwZmxvYyBwZnggcGxuIG1jMCBtYzVwCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJbWM0IG1jNSBwdWxzZSBxZGlhbCBybWNsayByZXAgcmZpIHJzMSByczIgcnMzIHJmCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJcmMgdnBhIHNjIGluZCByaSBzY3Mgc2dyIHNldGJzbWdiIHNtZ2JwIHNjbGsgc2NwCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJc2V0YiBzZXRmIHNtZ2wgc21nbHAgc21nciBzbWdycCBodHMgc21ndCBzbWd0cAorc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXdpbmQgc2JpbSBzY3NkIHJiaW0gcmNzZCBzdWJjcyBzdXBjcyBodCBkb2NyCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJdHNsIHRvbmUgdWMgaHUKK3N5biBtYXRjaCAgIHRlcm1pbmZvU3RyaW5ncwkiXDx1WzAtOV1cPiIKK3N5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwl3YWl0IHhvZmZjIHhvbmMgemVyb20KK3N5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlzY2VzYSBiaWNyIGJpbmVsIGJpcmVwIGNzbm0gY3NpbiBjb2xvcm5tIGRlZmJpCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJZGV2dCBkaXNwYyBlbmRiaSBzbXBjaCBzbXNjIHJtcGNoIHJtc2MgZ2V0bQorc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWttb3VzIG1pbmZvIHBjdHJtIHBmeGwgcmVxbXAgc2Nlc2MgczBkcyBzMWRzCitzeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJczJkcyBzM2RzIHNldGFiIHNldGFmIHNldGNvbG9yIHNtZ2xyIHNsaW5lcworc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXNtZ3RiIGVoaGxtIGVsaGxtIGVyaGxtIGV0aGxtIGV2aGxtIHNncjEKK3N5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlzbGVuZ3Roc0wKKworIiBwYXJhbWV0ZXJpemVkIHN0cmluZ3MKK3N5biBtYXRjaCB0ZXJtaW5mb1BhcmFtZXRlcnMJIiVbJWRjc3BsKyovbUFPJnxePTw+IX5pP3RlOy1dIgorc3luIG1hdGNoIHRlcm1pbmZvUGFyYW1ldGVycwkiJVwoJ1tBLVpdJ1x8e1swLTldXHsxLDJ9fVx8cFsxLTldXHxQW2Etel1cfGdbQS1aXVwpIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90ZXJtaW5mb19zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF90ZXJtaW5mb19zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB0ZXJtaW5mb0NvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgdGVybWluZm9Ub2RvCQlUb2RvCisgIEhpTGluayB0ZXJtaW5mb051bWJlcnMJTnVtYmVyCisgIEhpTGluayB0ZXJtaW5mb1NwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCisgIEhpTGluayB0ZXJtaW5mb0RlbGF5CQlTcGVjaWFsCisgIEhpTGluayB0ZXJtaW5mb0Jvb2xlYW5zCVR5cGUKKyAgSGlMaW5rIHRlcm1pbmZvTnVtZXJpY3MJVHlwZQorICBIaUxpbmsgdGVybWluZm9TdHJpbmdzCVR5cGUKKyAgSGlMaW5rIHRlcm1pbmZvUGFyYW1ldGVycwlLZXl3b3JkCisgIEhpTGluayB0ZXJtaW5mb0tleXdvcmRzCUtleXdvcmQKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRlcm1pbmZvIgorCisiIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90ZXgudmltIGIvcnVudGltZS9zeW50YXgvdGV4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWIxMzRkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdGV4LnZpbQpAQCAtMCwwICsxLDQ4MCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVRlWAorIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgorIiBMYXN0IENoYW5nZToJSnVuIDAxLCAyMDA0CisiIFZlcnNpb246CTI0CisiIFVSTDoJCWh0dHA6Ly93d3cuZXJvbHMuY29tL2FzdHJvbmF1dC92aW0vaW5kZXguaHRtbCN2aW1saW5rc19zeW50YXgKKyIKKyIgTm90ZXM6IHt7ezEKKyIKKyIgMS4gSWYgeW91IGhhdmUgYSBcYmVnaW57dmVyYmF0aW19IHRoYXQgYXBwZWFycyB0byBvdmVycnVuIGl0cyBib3VuZGFyaWVzLAorIiAgICB1c2UgJXN0b3B6b25lLgorIgorIiAyLiBSdW4tb24gZXF1YXRpb25zICgkLi4kIGFuZCAkJC4uJCQsIHBhcnRpY3VsYXJseSkgY2FuIGFsc28gYmUgc3RvcHBlZAorIiAgICBieSBzdWl0YWJsZSB1c2Ugb2YgJXN0b3B6b25lLgorIgorIiAzLiBJZiB5b3UgaGF2ZSBhIHNsb3cgY29tcHV0ZXIsIHlvdSBtYXkgd2lzaCB0byBtb2RpZnkKKyIKKyIJc3luIHN5bmMgbWF4bGluZXM9MjAwCisiCXN5biBzeW5jIG1pbmxpbmVzPTUwCisiCisiICAgIHRvIHZhbHVlcyB0aGF0IGFyZSBtb3JlIHRvIHlvdXIgbGlraW5nLgorIgorIiA0LiBUaGVyZSBpcyBubyBtYXRjaC1zeW5jaW5nIGZvciAkLi4uJCBhbmQgJCQuLi4kJDsgaGVuY2UgbGFyZ2UKKyIgICAgZXF1YXRpb24gYmxvY2tzIGNvbnN0cnVjdGVkIHRoYXQgd2F5IG1heSBleGhpYml0IHN5bmNpbmcgcHJvYmxlbXMuCisiICAgICh0aGVyZSdzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBiZWdpbi9lbmQgcGF0dGVybnMpCisiCisiIDUuIElmIHlvdSBoYXZlIHRoZSB2YXJpYWJsZSAiZzp0ZXhfbm9fZXJyb3IiIGRlZmluZWQgdGhlbiBub25lIG9mIHRoZQorIiAgICBsZXhpY2FsIGVycm9yLWNoZWNraW5nIHdpbGwgYmUgZG9uZS4KKyIKKyIgICAgaWUuIGxldCBnOnRleF9ub19lcnJvcj0xCisKKyIgVmVyc2lvbiBDbGVhcnM6IHt7ezEKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLiB7e3sxCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90ZXhfc3ludGF4X2luaXRzIikKKyBsZXQgZGlkX3RleF9zeW50YXhfaW5pdHMgPSAxCisgaWYgdmVyc2lvbiA8IDUwOAorICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorIGVsc2UKKyAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgZW5kaWYKK2VuZGlmCitpZiBleGlzdHMoImc6dGV4X3RleCIpICYmICFleGlzdHMoImc6dGV4X25vX2Vycm9yIikKKyBsZXQgZzp0ZXhfbm9fZXJyb3I9IDEKK2VuZGlmCisKKyIgRGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRvIHVzZSAiKi5zdHkiIG1vZGUKKyIgVGhlIHVzZXIgbWF5IG92ZXJyaWRlIHRoZSBub3JtYWwgZGV0ZXJtaW5hdGlvbiBieSBzZXR0aW5nCisiICAgZzp0ZXhfc3R5bGlzaCB0byAxICAgICAgKGZvciAgICAiKi5zdHkiIG1vZGUpCisiICAgIG9yIHRvICAgICAgICAgICAwIGVsc2UgKG5vcm1hbCAiKi50ZXgiIG1vZGUpCisiIG9yIG9uIGEgYnVmZmVyLWJ5LWJ1ZmZlciBiYXNpcyB3aXRoIGI6dGV4X3N0eWxpc2gKK2xldCBiOmV4dGZuYW1lPWV4cGFuZCgiJTplIikKK2lmIGV4aXN0cygiZzp0ZXhfc3R5bGlzaCIpCisgbGV0IGI6dGV4X3N0eWxpc2g9IGc6dGV4X3N0eWxpc2gKK2Vsc2VpZiAhZXhpc3RzKCJiOnRleF9zdHlsaXNoIikKKyBpZiBiOmV4dGZuYW1lID09ICJzdHkiIHx8IGI6ZXh0Zm5hbWUgPT0gImNscyIgfHwgYjpleHRmbmFtZSA9PSAiY2xvIiB8fCBiOmV4dGZuYW1lID09ICJkdHgiIHx8IGI6ZXh0Zm5hbWUgPT0gImx0eCIKKyAgbGV0IGI6dGV4X3N0eWxpc2g9IDEKKyBlbHNlCisgIGxldCBiOnRleF9zdHlsaXNoPSAwCisgZW5kaWYKK2VuZGlmCisKKyIgKExhKVRlWCBrZXl3b3Jkczogb25seSB1c2UgdGhlIGxldHRlcnMgYS16QS1aIHt7ezEKKyIgYnV0IF8gaXMgdGhlIG9ubHkgb25lIHRoYXQgY2F1c2VzIHByb2JsZW1zLgoraWYgdmVyc2lvbiA8IDYwMAorICBzZXQgaXNrLT1fCisgIGlmIGI6dGV4X3N0eWxpc2gKKyAgICBzZXQgaXNrKz1ACisgIGVuZGlmCitlbHNlCisgIHNldGxvY2FsIGlzay09XworICBpZiBiOnRleF9zdHlsaXNoCisgICAgc2V0bG9jYWwgaXNrKz1ACisgIGVuZGlmCitlbmRpZgorCisiIENsdXN0ZXJzOiB7e3sxCisiIC0tLS0tLS0tCitzeW4gY2x1c3RlciB0ZXhDbWRHcm91cAkJY29udGFpbnM9dGV4Q21kQm9keSx0ZXhDb21tZW50LHRleERlZlBhcm0sdGV4RGVsaW1pdGVyLHRleERvY1R5cGUsdGV4SW5wdXQsdGV4TGVuZ3RoLHRleExpZ2F0dXJlLHRleE1hdGhEZWxpbSx0ZXhNYXRoT3Blcix0ZXhOZXdDbWQsdGV4TmV3RW52LHRleFJlZlpvbmUsdGV4U2VjdGlvbix0ZXhTZWN0aW9uTWFya2VyLHRleFNlY3Rpb25OYW1lLHRleFNwZWNpYWxDaGFyLHRleFN0YXRlbWVudCx0ZXhTdHJpbmcsdGV4VHlwZVNpemUsdGV4VHlwZVN0eWxlCitpZiAhZXhpc3RzKCJnOnRleF9ub19lcnJvciIpCisgc3luIGNsdXN0ZXIgdGV4Q21kR3JvdXAJYWRkPXRleE1hdGhFcnJvcgorZW5kaWYKK3N5biBjbHVzdGVyIHRleEVudkdyb3VwCQljb250YWlucz10ZXhNYXRjaGVyLHRleE1hdGhEZWxpbSx0ZXhTcGVjaWFsQ2hhcix0ZXhTdGF0ZW1lbnQKK3N5biBjbHVzdGVyIHRleE1hdGNoR3JvdXAJY29udGFpbnM9dGV4QWNjZW50LHRleEJhZE1hdGgsdGV4Q29tbWVudCx0ZXhEZWZDbWQsdGV4RGVsaW1pdGVyLHRleERvY1R5cGUsdGV4SW5wdXQsdGV4TGVuZ3RoLHRleExpZ2F0dXJlLHRleE1hdGNoZXIsdGV4TmV3Q21kLHRleE5ld0Vudix0ZXhPbmx5TWF0aCx0ZXhQYXJlbix0ZXhSZWZab25lLHRleFNlY3Rpb24sdGV4U3BlY2lhbENoYXIsdGV4U3RhdGVtZW50LHRleFN0cmluZyx0ZXhUeXBlU2l6ZSx0ZXhUeXBlU3R5bGUsdGV4Wm9uZSx0ZXhJbnB1dEZpbGUsdGV4T3B0aW9uCitpZiAhZXhpc3RzKCJ0ZXhfbm9fbWF0aCIpCisgc3luIGNsdXN0ZXIgdGV4TWF0aFpvbmVzCWNvbnRhaW5zPXRleE1hdGhab25lVix0ZXhNYXRoWm9uZVcsdGV4TWF0aFpvbmVYLHRleE1hdGhab25lWSx0ZXhNYXRoWm9uZVoKKyBzeW4gY2x1c3RlciB0ZXhNYXRjaEdyb3VwCWFkZD1AdGV4TWF0aFpvbmVzCisgc3luIGNsdXN0ZXIgdGV4TWF0aERlbGltR3JvdXAJY29udGFpbnM9dGV4TWF0aERlbGltQmFkLHRleE1hdGhEZWxpbUtleSx0ZXhNYXRoRGVsaW1TZXQxLHRleE1hdGhEZWxpbVNldDIKKyBzeW4gY2x1c3RlciB0ZXhNYXRoTWF0Y2hHcm91cAljb250YWlucz1AdGV4TWF0aFpvbmVzLHRleENvbW1lbnQsdGV4RGVmQ21kLHRleERlbGltaXRlcix0ZXhEb2NUeXBlLHRleElucHV0LHRleExlbmd0aCx0ZXhMaWdhdHVyZSx0ZXhNYXRoRGVsaW0sdGV4TWF0aE1hdGNoZXIsdGV4TWF0aE9wZXIsdGV4TmV3Q21kLHRleE5ld0Vudix0ZXhSZWZab25lLHRleFNlY3Rpb24sdGV4U3BlY2lhbENoYXIsdGV4U3RhdGVtZW50LHRleFN0cmluZyx0ZXhUeXBlU2l6ZSx0ZXhUeXBlU3R5bGUsdGV4Wm9uZQorIHN5biBjbHVzdGVyIHRleE1hdGhab25lR3JvdXAJY29udGFpbnM9dGV4Q29tbWVudCx0ZXhEZWxpbWl0ZXIsdGV4TGVuZ3RoLHRleE1hdGhEZWxpbSx0ZXhNYXRoTWF0Y2hlcix0ZXhNYXRoT3Blcix0ZXhSZWZab25lLHRleFNwZWNpYWxDaGFyLHRleFN0YXRlbWVudCx0ZXhUeXBlU2l6ZSx0ZXhUeXBlU3R5bGUKKyBpZiAhZXhpc3RzKCJnOnRleF9ub19lcnJvciIpCisgIHN5biBjbHVzdGVyIHRleE1hdGhNYXRjaEdyb3VwCWFkZD10ZXhNYXRoRXJyb3IKKyAgc3luIGNsdXN0ZXIgdGV4TWF0aFpvbmVHcm91cAlhZGQ9dGV4TWF0aEVycm9yCisgZW5kaWYKK2VuZGlmCisKKyIgVHJ5IHRvIGZsYWcge30gYW5kICgpIG1pc21hdGNoZXM6IHt7ezEKK2lmICFleGlzdHMoImc6dGV4X25vX2Vycm9yIikKKyBzeW4gcmVnaW9uIHRleE1hdGNoZXIJCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiBza2lwPSJcXFxcXHxcXFt7fV0iCWVuZD0ifSIJCWNvbnRhaW5zPUB0ZXhNYXRjaEdyb3VwLHRleEVycm9yCisgc3luIHJlZ2lvbiB0ZXhNYXRjaGVyCQltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFsiCQkJCWVuZD0iXSIJCWNvbnRhaW5zPUB0ZXhNYXRjaEdyb3VwLHRleEVycm9yCitlbHNlCisgc3luIHJlZ2lvbiB0ZXhNYXRjaGVyCQltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0ieyIgc2tpcD0iXFxcXFx8XFxbe31dIgllbmQ9In0iCQljb250YWlucz1AdGV4TWF0Y2hHcm91cAorIHN5biByZWdpb24gdGV4TWF0Y2hlcgkJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxbIgkJCQllbmQ9Il0iCQljb250YWlucz1AdGV4TWF0Y2hHcm91cAorZW5kaWYKK3N5biByZWdpb24gdGV4UGFyZW4JCXN0YXJ0PSIoIgkJCQkJCWVuZD0iKSIJCWNvbnRhaW5zPUB0ZXhNYXRjaEdyb3VwCitpZiAhZXhpc3RzKCJnOnRleF9ub19lcnJvciIpCisgc3luIG1hdGNoICB0ZXhFcnJvcgkJIlt9XF0pXSIKK2VuZGlmCitpZiAhZXhpc3RzKCJ0ZXhfbm9fbWF0aCIpCisgaWYgIWV4aXN0cygiZzp0ZXhfbm9fZXJyb3IiKQorICBzeW4gbWF0Y2ggIHRleE1hdGhFcnJvcgkifSIJY29udGFpbmVkCisgZW5kaWYKKyBzeW4gcmVnaW9uIHRleE1hdGhNYXRjaGVyCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiAgc2tpcD0iXFxcXFx8XFx9IiAgZW5kPSJ9IiBlbmQ9IiVzdG9wem9uZVw+IiBjb250YWluZWQgY29udGFpbnM9QHRleE1hdGhNYXRjaEdyb3VwCitlbmRpZgorCisiIFRlWC9MYVRlWCBrZXl3b3Jkczoge3t7MQorIiBJbnN0ZWFkIG9mIHRyeWluZyB0byBiZSBBbGwgS25vd2luZywgSSBqdXN0IG1hdGNoIFwuLmFscGhhbWVyaWMuLgorIiBOb3RlIHRoYXQgKi50ZXggZmlsZXMgbWF5IG5vdCBoYXZlICJAIiBpbiB0aGVpciBcY29tbWFuZHMKK2lmIGV4aXN0cygiZzp0ZXhfdGV4IikgfHwgYjp0ZXhfc3R5bGlzaAorICBzeW4gbWF0Y2ggdGV4U3RhdGVtZW50CSJcXFthLXpBLVpAXVwrIgorZWxzZQorICBzeW4gbWF0Y2ggdGV4U3RhdGVtZW50CSJcXFxhXCsiCisgIGlmICFleGlzdHMoImc6dGV4X25vX2Vycm9yIikKKyAgIHN5biBtYXRjaCB0ZXhFcnJvcgkJIlxcXGEqQFthLXpBLVpAXSoiCisgIGVuZGlmCitlbmRpZgorCisiIFRlWC9MYVRlWCBkZWxpbWl0ZXJzOiB7e3sxCitzeW4gbWF0Y2ggdGV4RGVsaW1pdGVyCQkiJiIKK3N5biBtYXRjaCB0ZXhEZWxpbWl0ZXIJCSJcXFxcIgorCisiIFRleC9MYXRleCBPcHRpb25zOiB7e3sxCitzeW4gbWF0Y2ggdGV4T3B0aW9uCSJbXlxcXVx6cyNcZFwrXHxeI1xkXCsiCisKKyIgdGV4QWNjZW50ICh0bnggdG8gS2FyaW0gQmVsYWJhcykgYXZvaWRzIGFubm95aW5nIGhpZ2hsaWdodGluZyBmb3IgYWNjZW50czoge3t7MQoraWYgYjp0ZXhfc3R5bGlzaAorICBzeW4gbWF0Y2ggdGV4QWNjZW50CQkiXFxbYmNkdnVIXVteYS16QS1aQF0ibWU9ZS0xCisgIHN5biBtYXRjaCB0ZXhMaWdhdHVyZQkJIlxcXChbaWpvbExdXHxhZVx8b2VcfHNzXHxBQVx8QUVcfE9FXClbXmEtekEtWkBdIm1lPWUtMQorZWxzZQorICBzeW4gbWF0Y2ggdGV4QWNjZW50CQkiXFxbYmNkdnVIXVxBIm1lPWUtMQorICBzeW4gbWF0Y2ggdGV4TGlnYXR1cmUJCSJcXFwoW2lqb2xMXVx8YWVcfG9lXHxzc1x8QUFcfEFFXHxPRVwpXEEibWU9ZS0xCitlbmRpZgorc3luIG1hdGNoIHRleEFjY2VudAkJIlxcW2JjZHZ1SF0kIgorc3luIG1hdGNoIHRleEFjY2VudAkJK1xcWz1eLlx+ImAnXSsKK3N5biBtYXRjaCB0ZXhBY2NlbnQJCStcXFsnPXQnLmNedWQidmJ+SHJde1xhfSsKK3N5biBtYXRjaCB0ZXhMaWdhdHVyZQkJIlxcXChbaWpvbExdXHxhZVx8b2VcfHNzXHxBQVx8QUVcfE9FXCkkIgorCisiIFxiZWdpbnt9L1xlbmR7fSBzZWN0aW9uIG1hcmtlcnM6IHt7ezEKK3N5biBtYXRjaCAgdGV4U2VjdGlvbk1hcmtlcgkiXFxiZWdpblw+XHxcXGVuZFw+IiBuZXh0Z3JvdXA9dGV4U2VjdGlvbk5hbWUKK3N5biByZWdpb24gdGV4U2VjdGlvbk5hbWUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9InsiIGVuZD0ifSIgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9dGV4U2VjdGlvbk1vZGlmaWVyCitzeW4gcmVnaW9uIHRleFNlY3Rpb25Nb2RpZmllcgltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFsiIGVuZD0iXSIgY29udGFpbmVkCisKKyIgXGRvY3VtZW50Y2xhc3MsIFxkb2N1bWVudHN0eWxlLCBcdXNlcGFja2FnZToge3t7MQorc3luIG1hdGNoICB0ZXhEb2NUeXBlCQkiXFxkb2N1bWVudGNsYXNzXD5cfFxcZG9jdW1lbnRzdHlsZVw+XHxcXHVzZXBhY2thZ2VcPiIJbmV4dGdyb3VwPXRleFNlY3Rpb25OYW1lLHRleERvY1R5cGVBcmdzCitzeW4gcmVnaW9uIHRleERvY1R5cGVBcmdzCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcWyIgZW5kPSJdIgkJCWNvbnRhaW5lZAluZXh0Z3JvdXA9dGV4U2VjdGlvbk5hbWUKKworIiBUZVggaW5wdXQ6IHt7ezEKK3N5biBtYXRjaCB0ZXhJbnB1dAkJIlxcaW5wdXRcc1wrW2EtekEtWi8uMC05X15dXCsiaHM9cys3CQkJCWNvbnRhaW5zPXRleFN0YXRlbWVudAorc3luIG1hdGNoIHRleElucHV0RmlsZQkJIlxcaW5jbHVkZVwoZ3JhcGhpY3NcfGxpc3RcKVw9XChcWy5cey19XF1cKVw9XHMqey5cey19fSIJY29udGFpbnM9dGV4U3RhdGVtZW50LHRleElucHV0Q3VybGllcworc3luIG1hdGNoIHRleElucHV0RmlsZQkJIlxcXChlcHNmaWdcfGlucHV0XHx1c2VwYWNrYWdlXClccypcKFxbLipcXVwpXD17Llx7LX19IgkJY29udGFpbnM9dGV4U3RhdGVtZW50LHRleElucHV0Q3VybGllcyx0ZXhJbnB1dEZpbGVPcHQKK3N5biBtYXRjaCB0ZXhJbnB1dEN1cmxpZXMJIlt7fV0iCQkJCQkJCQljb250YWluZWQKK3N5biByZWdpb24gdGV4SW5wdXRGaWxlT3B0CW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcWyIgZW5kPSJcXSIJCQljb250YWluZWQKKworIiBUeXBlIFN0eWxlcyAoTGFUZVggMi4wOSk6IHt7ezEKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXHJtXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxlbVw+Igorc3luIG1hdGNoIHRleFR5cGVTdHlsZQkJIlxcYmZcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXGl0XD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxzbFw+Igorc3luIG1hdGNoIHRleFR5cGVTdHlsZQkJIlxcc2ZcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXHNjXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFx0dFw+IgorCisiIFR5cGUgU3R5bGVzOiBhdHRyaWJ1dGVzLCBjb21tYW5kcywgZmFtaWxpZXMsIGV0YyAoTGFUZVgyRSk6IHt7ezEKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXHRleHRiZlw+Igorc3luIG1hdGNoIHRleFR5cGVTdHlsZQkJIlxcdGV4dGl0XD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFx0ZXh0bWRcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXHRleHRybVw+Igorc3luIG1hdGNoIHRleFR5cGVTdHlsZQkJIlxcdGV4dHNjXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFx0ZXh0c2ZcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXHRleHRzbFw+Igorc3luIG1hdGNoIHRleFR5cGVTdHlsZQkJIlxcdGV4dHR0XD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFx0ZXh0dXBcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXGVtcGhcPiIKKworc3luIG1hdGNoIHRleFR5cGVTdHlsZQkJIlxcbWF0aGJiXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxtYXRoYmZcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXG1hdGhjYWxcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXG1hdGhmcmFrXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxtYXRoaXRcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXG1hdGhub3JtYWxcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXG1hdGhybVw+Igorc3luIG1hdGNoIHRleFR5cGVTdHlsZQkJIlxcbWF0aHNmXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxtYXRodHRcPiIKKworc3luIG1hdGNoIHRleFR5cGVTdHlsZQkJIlxccm1mYW1pbHlcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXHNmZmFtaWx5XD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFx0dGZhbWlseVw+IgorCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxpdHNoYXBlXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxzY3NoYXBlXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxzbHNoYXBlXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFx1cHNoYXBlXD4iCisKK3N5biBtYXRjaCB0ZXhUeXBlU3R5bGUJCSJcXGJmc2VyaWVzXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVN0eWxlCQkiXFxtZHNlcmllc1w+IgorCisiIFNvbWUgdHlwZSBzaXplczoge3t7MQorc3luIG1hdGNoIHRleFR5cGVTaXplCQkiXFx0aW55XD4iCitzeW4gbWF0Y2ggdGV4VHlwZVNpemUJCSJcXHNjcmlwdHNpemVcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU2l6ZQkJIlxcZm9vdG5vdGVzaXplXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVNpemUJCSJcXHNtYWxsXD4iCitzeW4gbWF0Y2ggdGV4VHlwZVNpemUJCSJcXG5vcm1hbHNpemVcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU2l6ZQkJIlxcbGFyZ2VcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU2l6ZQkJIlxcTGFyZ2VcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU2l6ZQkJIlxcTEFSR0VcPiIKK3N5biBtYXRjaCB0ZXhUeXBlU2l6ZQkJIlxcaHVnZVw+Igorc3luIG1hdGNoIHRleFR5cGVTaXplCQkiXFxIdWdlXD4iCisKKyIgU3BhY2Vjb2RlcyAoVGVYJ2lzbXMpOiB7e3sxCisiIFxtYXRoY29kZWBcXl5APSIyMjAxICBcZGVsY29kZWBcKD0iMDI4MzAwICBcc2Zjb2RlYFwpPTAgXHVjY29kZWBYPWBYICBcbGNjb2RlYHg9YHgKK3N5biBtYXRjaCB0ZXhTcGFjZUNvZGUJCSJcXFwobWF0aFx8Y2F0XHxkZWxcfGxjXHxzZlx8dWNcKWNvZGVgIm1lPWUtMSBuZXh0Z3JvdXA9dGV4U3BhY2VDb2RlQ2hhcgorc3luIG1hdGNoIHRleFNwYWNlQ29kZUNoYXIgICAgImBcXFw9LlwoXF4uXClcPT1cKFxkXHxcIlx4XHsxLDZ9XHxgLlwpIgljb250YWluZWQKKworIiBTZWN0aW9ucywgc3Vic2VjdGlvbnMsIGV0Yzoge3t7MQorc3luIG1hdGNoIHRleFNlY3Rpb24JCSJcXFwoc3ViXCkqc2VjdGlvblwqXD1cPiIKK3N5biBtYXRjaCB0ZXhTZWN0aW9uCQkiXFxcKHRpdGxlXHxhdXRob3JcfHBhcnRcfGNoYXB0ZXJcfHBhcmFncmFwaFx8c3VicGFyYWdyYXBoXClcPiIKK3N5biBtYXRjaCB0ZXhTZWN0aW9uCQkiXFxiZWdpblxzKntccyphYnN0cmFjdFxzKn1cfFxcZW5kXHMqe1xzKmFic3RyYWN0XHMqfSIKKworIiBCYWQgTWF0aCAobWlzbWF0Y2hlZCk6IHt7ezEKK2lmICFleGlzdHMoInRleF9ub19tYXRoIikKKyBzeW4gbWF0Y2ggdGV4QmFkTWF0aAkJIlxcZW5kXHMqe1xzKlwoYXJyYXlcfGdhdGhlcmVkXHxiQnB2Vl1tYXRyaXhcfHNwbGl0XHxzdWJlcXVhdGlvbnNcfHNtYWxsbWF0cml4XHx4eGFsaWduYXRcKVxzKn0iCisgc3luIG1hdGNoIHRleEJhZE1hdGgJCSJcXGVuZFxzKntccypcKGFsaWduXHxhbGlnbmF0XHxkaXNwbGF5bWF0aFx8ZGlzcGxheW1hdGhcfGVxbmFycmF5XHxlcXVhdGlvblx8ZmxhbGlnblx8Z2F0aGVyXHxtYXRoXHxtdWx0bGluZVx8eGFsaWduYXRcKVwqXD1ccyp9IgorIHN5biBtYXRjaCB0ZXhCYWRNYXRoCQkiXFxbXF0pXSIKK2VuZGlmCisKKyIgTWF0aCBab25lczoge3t7MQoraWYgIWV4aXN0cygidGV4X25vX21hdGgiKQorICIgVGV4TmV3TWF0aFpvbmU6IGNyZWF0ZXMgYSBtYXRoem9uZSB3aXRoIHRoZSBnaXZlbiBzdWZmaXggYW5kIG1hdGh6b25lIG5hbWUuIHt7ezIKKyAiICAgICAgICAgICAgICAgICBTdGFycmVkIGZvcm1zIGFyZSBjcmVhdGVkIGlmIHN0YXJmb3JtIGlzIHRydWUuICBTdGFycmVkCisgIiAgICAgICAgICAgICAgICAgZm9ybXMgaGF2ZSBzeW50YXggZ3JvdXAgYW5kIHN5bmNocm9uaXphdGlvbiBncm91cHMgd2l0aCBhCisgIiAgICAgICAgICAgICAgICAgIlMiIGFwcGVuZGVkLiAgSGFuZGxlczogY2x1c3Rlciwgc3ludGF4LCBzeW5jLCBhbmQgSGlMaW5rLgorIGZ1biEgVGV4TmV3TWF0aFpvbmUoc2Z4LG1hdGh6b25lLHN0YXJmb3JtKQorICAgbGV0IGdycG5hbWUgID0gInRleE1hdGhab25lIi5hOnNmeAorICAgbGV0IHN5bmNuYW1lID0gInRleFN5bmNNYXRoWm9uZSIuYTpzZngKKyAgIGV4ZSAic3luIGNsdXN0ZXIgdGV4TWF0aFpvbmVzIGFkZD0iLmdycG5hbWUKKyAgIGV4ZSAnc3luIHJlZ2lvbiAnLmdycG5hbWUuJyBzdGFydD0nLiInIi4nXFxiZWdpblxzKntccyonLmE6bWF0aHpvbmUuJ1xzKn0nLiInIi4nIGVuZD0nLiInIi4nXFxlbmRccyp7XHMqJy5hOm1hdGh6b25lLidccyp9Jy4iJyIuJyBrZWVwZW5kIGNvbnRhaW5zPUB0ZXhNYXRoWm9uZUdyb3VwJworICAgZXhlICdzeW4gc3luYyBtYXRjaCAnLnN5bmNuYW1lLicgZ3JvdXBoZXJlICcuZ3JwbmFtZS4nICJcXGJlZ2luXHMqe1xzKicuYTptYXRoem9uZS4nXCpccyp9IicKKyAgIGV4ZSAnc3luIHN5bmMgbWF0Y2ggJy5zeW5jbmFtZS4nIGdyb3VwaGVyZSAnLmdycG5hbWUuJyAiXFxiZWdpblxzKntccyonLmE6bWF0aHpvbmUuJ1wqXHMqfSInCisgICBleGUgJ0hpTGluayAnLmdycG5hbWUuJyB0ZXhNYXRoJworICAgaWYgYTpzdGFyZm9ybQorICAgIGxldCBncnBuYW1lICA9ICJ0ZXhNYXRoWm9uZSIuYTpzZnguJ1MnCisgICAgbGV0IHN5bmNuYW1lID0gInRleFN5bmNNYXRoWm9uZSIuYTpzZnguJ1MnCisgICAgZXhlICJzeW4gY2x1c3RlciB0ZXhNYXRoWm9uZXMgYWRkPSIuZ3JwbmFtZQorICAgIGV4ZSAnc3luIHJlZ2lvbiAnLmdycG5hbWUuJyBzdGFydD0nLiInIi4nXFxiZWdpblxzKntccyonLmE6bWF0aHpvbmUuJ1wqXHMqfScuIiciLicgZW5kPScuIiciLidcXGVuZFxzKntccyonLmE6bWF0aHpvbmUuJ1wqXHMqfScuIiciLicga2VlcGVuZCBjb250YWlucz1AdGV4TWF0aFpvbmVHcm91cCcKKyAgICBleGUgJ3N5biBzeW5jIG1hdGNoICcuc3luY25hbWUuJyBncm91cGhlcmUgJy5ncnBuYW1lLicgIlxcYmVnaW5ccyp7XHMqJy5hOm1hdGh6b25lLidcKlxzKn0iJworICAgIGV4ZSAnc3luIHN5bmMgbWF0Y2ggJy5zeW5jbmFtZS4nIGdyb3VwaGVyZSAnLmdycG5hbWUuJyAiXFxiZWdpblxzKntccyonLmE6bWF0aHpvbmUuJ1wqXHMqfSInCisgICAgZXhlICdIaUxpbmsgJy5ncnBuYW1lLicgdGV4TWF0aCcKKyAgIGVuZGlmCisgZW5kZnVuCisKKyAiIFN0YW5kYXJkIE1hdGggWm9uZXM6IHt7ezIKKyBjYWxsIFRleE5ld01hdGhab25lKCJBIiwiYWxpZ24iLDEpCisgY2FsbCBUZXhOZXdNYXRoWm9uZSgiQiIsImFsaWduYXQiLDEpCisgY2FsbCBUZXhOZXdNYXRoWm9uZSgiQyIsImRpc3BsYXltYXRoIiwxKQorIGNhbGwgVGV4TmV3TWF0aFpvbmUoIkQiLCJlcW5hcnJheSIsMSkKKyBjYWxsIFRleE5ld01hdGhab25lKCJFIiwiZXF1YXRpb24iLDEpCisgY2FsbCBUZXhOZXdNYXRoWm9uZSgiRiIsImZsYWxpZ24iLDEpCisgY2FsbCBUZXhOZXdNYXRoWm9uZSgiRyIsImdhdGhlciIsMSkKKyBjYWxsIFRleE5ld01hdGhab25lKCJIIiwibWF0aCIsMSkKKyBjYWxsIFRleE5ld01hdGhab25lKCJJIiwibXVsdGxpbmUiLDEpCisgY2FsbCBUZXhOZXdNYXRoWm9uZSgiSiIsInN1YmVxdWF0aW9ucyIsMCkKKyBjYWxsIFRleE5ld01hdGhab25lKCJLIiwieGFsaWduYXQiLDEpCisgY2FsbCBUZXhOZXdNYXRoWm9uZSgiTCIsInh4YWxpZ25hdCIsMCkKKworICIgSW5saW5lIE1hdGggWm9uZXM6IHt7ezIKKyBzeW4gcmVnaW9uIHRleE1hdGhab25lVgltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFwoIgltYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IlxcKVx8JXN0b3B6b25lXD4iCWtlZXBlbmQgY29udGFpbnM9QHRleE1hdGhab25lR3JvdXAKKyBzeW4gcmVnaW9uIHRleE1hdGhab25lVwltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxcWyIJbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSJcXF1cfCVzdG9wem9uZVw+IglrZWVwZW5kIGNvbnRhaW5zPUB0ZXhNYXRoWm9uZUdyb3VwCisgc3luIHJlZ2lvbiB0ZXhNYXRoWm9uZVgJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlwkIiBza2lwPSJcXFxcXHxcXFwkIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IlwkIiBlbmQ9IiVzdG9wem9uZVw+Igljb250YWlucz1AdGV4TWF0aFpvbmVHcm91cAorIHN5biByZWdpb24gdGV4TWF0aFpvbmVZCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcJFwkIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IlwkXCQiIGVuZD0iJXN0b3B6b25lXD4iCWtlZXBlbmQJCWNvbnRhaW5zPUB0ZXhNYXRoWm9uZUdyb3VwCisgc3luIHJlZ2lvbiB0ZXhNYXRoWm9uZVoJbWF0Y2hncm91cD10ZXhTdGF0ZW1lbnQgc3RhcnQ9IlxcZW5zdXJlbWF0aFxzKnsiIG1hdGNoZ3JvdXA9dGV4U3RhdGVtZW50IGVuZD0ifSIgZW5kPSIlc3RvcHpvbmVcPiIJY29udGFpbnM9QHRleE1hdGhab25lR3JvdXAKKworIHN5biBtYXRjaCB0ZXhNYXRoT3BlcgkJIltfXj1dIiBjb250YWluZWQKKworICIgXGxlZnQuLnNvbWV0aGluZy4uIGFuZCBccmlnaHQuLnNvbWV0aGluZy4uIHN1cHBvcnQ6IHt7ezIKKyBzeW4gbWF0Y2ggICB0ZXhNYXRoRGVsaW1CYWQJY29udGFpbmVkCQkiXFMiCisgc3luIG1hdGNoICAgdGV4TWF0aERlbGltCWNvbnRhaW5lZAkJIlxcXChsZWZ0XHxyaWdodFx8W2JCXWlnZ1w9W2xyXVwpXD4iCXNraXB3aGl0ZSBuZXh0Z3JvdXA9dGV4TWF0aERlbGltU2V0MSx0ZXhNYXRoRGVsaW1TZXQyLHRleE1hdGhEZWxpbUJhZAorIHN5biBtYXRjaCAgIHRleE1hdGhEZWxpbQljb250YWluZWQJCSJcXFwobGVmdFx8cmlnaHRcKWFycm93XD5cfFw8XChbYUFdcnJvd1x8YnJhY2VcKVw9dmVydFw+IgorIHN5biBtYXRjaCAgIHRleE1hdGhEZWxpbQljb250YWluZWQJCSJcXGxlZnRlcW5cPiIKKyBzeW4gbWF0Y2ggICB0ZXhNYXRoRGVsaW1TZXQyCWNvbnRhaW5lZAkiXFwiCQluZXh0Z3JvdXA9dGV4TWF0aERlbGltS2V5LHRleE1hdGhEZWxpbUJhZAorIHN5biBtYXRjaCAgIHRleE1hdGhEZWxpbVNldDEJY29udGFpbmVkCSJbPD4oKVtcXXwvLl1cfFxcW3t9fF0iCisgc3luIGtleXdvcmQgdGV4TWF0aERlbGltS2V5CWNvbnRhaW5lZAliYWNrc2xhc2ggICAgICAgbGNlaWwgICAgICAgICAgIGxWZXJ0ICAgICAgICAgICByZ3JvdXAgICAgICAgICAgdXBhcnJvdworIHN5biBrZXl3b3JkIHRleE1hdGhEZWxpbUtleQljb250YWluZWQJZG93bmFycm93ICAgICAgIGxmbG9vciAgICAgICAgICByYW5nbGUgICAgICAgICAgcm1vdXN0YWNoZSAgICAgIFVwYXJyb3cKKyBzeW4ga2V5d29yZCB0ZXhNYXRoRGVsaW1LZXkJY29udGFpbmVkCURvd25hcnJvdyAgICAgICBsZ3JvdXAgICAgICAgICAgcmJyYWNlICAgICAgICAgIHJ2ZXJ0ICAgICAgICAgICB1cGRvd25hcnJvdworIHN5biBrZXl3b3JkIHRleE1hdGhEZWxpbUtleQljb250YWluZWQJbGFuZ2xlICAgICAgICAgIGxtb3VzdGFjaGUgICAgICByY2VpbCAgICAgICAgICAgclZlcnQgICAgICAgICAgIFVwZG93bmFycm93Cisgc3luIGtleXdvcmQgdGV4TWF0aERlbGltS2V5CWNvbnRhaW5lZAlsYnJhY2UgICAgICAgICAgbHZlcnQgICAgICAgICAgIHJmbG9vcgorZW5kaWYKKworIiBTcGVjaWFsIFRlWCBjaGFyYWN0ZXJzICAoIFwkIFwmIFwlIFwjIFx7IFx9IFxfIFxTIFxQICkgOiB7e3sxCitzeW4gbWF0Y2ggdGV4U3BlY2lhbENoYXIJIlxcWyQmJSN7fV9dIgoraWYgYjp0ZXhfc3R5bGlzaAorICBzeW4gbWF0Y2ggdGV4U3BlY2lhbENoYXIJIlxcW1NQQF1bXmEtekEtWkBdIm1lPWUtMQorZWxzZQorICBzeW4gbWF0Y2ggdGV4U3BlY2lhbENoYXIJIlxcW1NQQF1cQSJtZT1lLTEKK2VuZGlmCitzeW4gbWF0Y2ggdGV4U3BlY2lhbENoYXIJIlxcXFwiCitpZiAhZXhpc3RzKCJ0ZXhfbm9fbWF0aCIpCisgc3luIG1hdGNoIHRleE9ubHlNYXRoCQkiW19eXSIKK2VuZGlmCitzeW4gbWF0Y2ggdGV4U3BlY2lhbENoYXIJIlxeXF5bMC05YS1mXVx7Mn1cfFxeXF5cUyIKKworIiBDb21tZW50czoge3t7MQorIiAgICBOb3JtYWwgVGVYIExhVGVYICAgICA6ICAgJS4uLi4KKyIgICAgRG9jdW1lbnRlZCBUZVggRm9ybWF0OiAgXl5BLi4uCS1hbmQtCWxlYWRpbmcgJXMgKG9ubHkpCitzeW4gY2x1c3RlciB0ZXhDb21tZW50R3JvdXAJY29udGFpbnM9dGV4VG9kbyxAU3BlbGwKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQgdGV4VG9kbwkJY29udGFpbmVkCQljb21iYWsJZml4bWUJdG9kbworc3luIGNhc2UgbWF0Y2gKK2lmIGI6ZXh0Zm5hbWUgPT0gImR0eCIKKyAgc3luIG1hdGNoIHRleENvbW1lbnQJCSJcXlxeQS4qJCIJY29udGFpbnM9QHRleENvbW1lbnRHcm91cAorICBzeW4gbWF0Y2ggdGV4Q29tbWVudAkJIl4lXCsiCQljb250YWlucz1AdGV4Q29tbWVudEdyb3VwCitlbHNlCisgIHN5biBtYXRjaCB0ZXhDb21tZW50CQkiJS4qJCIJCWNvbnRhaW5zPUB0ZXhDb21tZW50R3JvdXAKK2VuZGlmCisKKyIgU2VwYXJhdGUgbGluZXMgdXNlZCBmb3IgdmVyYmAgYW5kIHZlcmIjIHNvIHRoYXQgdGhlIGVuZCBjb25kaXRpb25zIHt7ezEKKyIgd2lsbCBhcHByb3ByaWF0ZWx5IHRlcm1pbmF0ZS4gIElkZWFsbHkgdmltIHdvdWxkIGxldCBtZSBzYXZlIGEKKyIgY2hhcmFjdGVyIGZyb20gdGhlIHN0YXJ0IHBhdHRlcm4gYW5kIHJlLXVzZSBpdCBpbiB0aGUgZW5kLXBhdHRlcm4uCitzeW4gcmVnaW9uIHRleFpvbmUJCXN0YXJ0PSJcXGJlZ2lue3ZlcmJhdGltfSIJCWVuZD0iXFxlbmR7dmVyYmF0aW19XHwlc3RvcHpvbmVcPiIKK2lmIHZlcnNpb24gPCA2MDAKKyBzeW4gcmVnaW9uIHRleFpvbmUJCXN0YXJ0PSJcXHZlcmJcKlw9YCIJCQllbmQ9ImBcfCVzdG9wem9uZVw+IgorIHN5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IlxcdmVyYlwqXD0jIgkJCWVuZD0iI1x8JXN0b3B6b25lXD4iCitlbHNlCisgIGlmIGI6dGV4X3N0eWxpc2gKKyAgICBzeW4gcmVnaW9uIHRleFpvbmUJCXN0YXJ0PSJcXHZlcmJcKlw9XHooW15cdGEtekEtWkBdXCkiCWVuZD0iXHoxXHwlc3RvcHpvbmVcPiIKKyAgZWxzZQorICAgIHN5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IlxcdmVyYlwqXD1ceihbXlx0YS16QS1aXVwpIgllbmQ9Ilx6MVx8JXN0b3B6b25lXD4iCisgIGVuZGlmCitlbmRpZgorCisiIFRleCBSZWZlcmVuY2UgWm9uZXM6IHt7ezEKK3N5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IkBzYW1weyIJCQkJZW5kPSJ9XHwlc3RvcHpvbmVcPiIKK3N5biByZWdpb24gdGV4UmVmWm9uZQkJbWF0Y2hncm91cD10ZXhTdGF0ZW1lbnQgc3RhcnQ9Ilxcbm9jaXRleyIJCWtlZXBlbmQgZW5kPSJ9XHwlc3RvcHpvbmVcPiIgIGNvbnRhaW5zPXRleENvbW1lbnQsdGV4RGVsaW1pdGVyCitzeW4gcmVnaW9uIHRleFJlZlpvbmUJCW1hdGNoZ3JvdXA9dGV4U3RhdGVtZW50IHN0YXJ0PSJcXGJpYmxpb2dyYXBoeXsiCQlrZWVwZW5kIGVuZD0ifVx8JXN0b3B6b25lXD4iICBjb250YWlucz10ZXhDb21tZW50LHRleERlbGltaXRlcgorc3luIHJlZ2lvbiB0ZXhSZWZab25lCQltYXRjaGdyb3VwPXRleFN0YXRlbWVudCBzdGFydD0iXFxjaXRlXChbdHBdXCpcPVwpXD17IglrZWVwZW5kIGVuZD0ifVx8JXN0b3B6b25lXD4iICBjb250YWlucz10ZXhDb21tZW50LHRleERlbGltaXRlcgorc3luIHJlZ2lvbiB0ZXhSZWZab25lCQltYXRjaGdyb3VwPXRleFN0YXRlbWVudCBzdGFydD0iXFxsYWJlbHsiCQlrZWVwZW5kIGVuZD0ifVx8JXN0b3B6b25lXD4iICBjb250YWlucz10ZXhDb21tZW50LHRleERlbGltaXRlcgorc3luIHJlZ2lvbiB0ZXhSZWZab25lCQltYXRjaGdyb3VwPXRleFN0YXRlbWVudCBzdGFydD0iXFxcKHBhZ2VcfGVxXClyZWZ7IglrZWVwZW5kIGVuZD0ifVx8JXN0b3B6b25lXD4iICBjb250YWlucz10ZXhDb21tZW50LHRleERlbGltaXRlcgorc3luIHJlZ2lvbiB0ZXhSZWZab25lCQltYXRjaGdyb3VwPXRleFN0YXRlbWVudCBzdGFydD0iXFx2XD1yZWZ7IgkJa2VlcGVuZCBlbmQ9In1cfCVzdG9wem9uZVw+IiAgY29udGFpbnM9dGV4Q29tbWVudCx0ZXhEZWxpbWl0ZXIKKworIiBIYW5kbGUgbmV3Y29tbWFuZCwgbmV3ZW52aXJvbm1lbnQgOiB7e3sxCitzeW4gbWF0Y2ggIHRleE5ld0NtZAkJCQkiXFxuZXdjb21tYW5kXD4iCQkJbmV4dGdyb3VwPXRleENtZE5hbWUgc2tpcHdoaXRlIHNraXBubAorc3luIHJlZ2lvbiB0ZXhDbWROYW1lIGNvbnRhaW5lZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0ieyJycz1zKzEgIGVuZD0ifSIJCW5leHRncm91cD10ZXhDbWRBcmdzLHRleENtZEJvZHkgc2tpcHdoaXRlIHNraXBubAorc3luIHJlZ2lvbiB0ZXhDbWRBcmdzIGNvbnRhaW5lZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFsicnM9cysxIGVuZD0iXSIJCW5leHRncm91cD10ZXhDbWRCb2R5IHNraXB3aGl0ZSBza2lwbmwKK3N5biByZWdpb24gdGV4Q21kQm9keSBjb250YWluZWQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9InsicnM9cysxIHNraXA9IlxcXFxcfFxcW3t9XSIJbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSJ9IiBjb250YWlucz1AdGV4Q21kR3JvdXAKK3N5biBtYXRjaCAgdGV4TmV3RW52CQkJCSJcXG5ld2Vudmlyb25tZW50XD4iCQkJbmV4dGdyb3VwPXRleEVudk5hbWUgc2tpcHdoaXRlIHNraXBubAorc3luIHJlZ2lvbiB0ZXhFbnZOYW1lIGNvbnRhaW5lZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0ieyJycz1zKzEgIGVuZD0ifSIJCW5leHRncm91cD10ZXhFbnZCZ24gc2tpcHdoaXRlIHNraXBubAorc3luIHJlZ2lvbiB0ZXhFbnZCZ24gIGNvbnRhaW5lZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0ieyJycz1zKzEgIGVuZD0ifSIJCW5leHRncm91cD10ZXhFbnZFbmQgc2tpcHdoaXRlIHNraXBubCBjb250YWlucz1AdGV4RW52R3JvdXAKK3N5biByZWdpb24gdGV4RW52RW5kICBjb250YWluZWQgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9InsicnM9cysxICBlbmQ9In0iCQlza2lwd2hpdGUgc2tpcG5sIGNvbnRhaW5zPUB0ZXhFbnZHcm91cAorCisiIERlZmluaXRpb25zL0NvbW1hbmRzOiB7e3sxCitzeW4gbWF0Y2ggdGV4RGVmQ21kCQkJCSJcXGRlZlw+IgkJCQluZXh0Z3JvdXA9dGV4RGVmTmFtZSBza2lwd2hpdGUgc2tpcG5sCitpZiBiOnRleF9zdHlsaXNoCisgIHN5biBtYXRjaCB0ZXhEZWZOYW1lIGNvbnRhaW5lZAkJIlxcW2EtekEtWkBdXCsiCQkJCW5leHRncm91cD10ZXhEZWZQYXJtcyx0ZXhDbWRCb2R5IHNraXB3aGl0ZSBza2lwbmwKKyAgc3luIG1hdGNoIHRleERlZk5hbWUgY29udGFpbmVkCQkiXFxbXmEtekEtWkBdIgkJCQluZXh0Z3JvdXA9dGV4RGVmUGFybXMsdGV4Q21kQm9keSBza2lwd2hpdGUgc2tpcG5sCitlbHNlCisgIHN5biBtYXRjaCB0ZXhEZWZOYW1lIGNvbnRhaW5lZAkJIlxcXGFcKyIJCQkJbmV4dGdyb3VwPXRleERlZlBhcm1zLHRleENtZEJvZHkgc2tpcHdoaXRlIHNraXBubAorICBzeW4gbWF0Y2ggdGV4RGVmTmFtZSBjb250YWluZWQJCSJcXFxBIgkJCQkJbmV4dGdyb3VwPXRleERlZlBhcm1zLHRleENtZEJvZHkgc2tpcHdoaXRlIHNraXBubAorZW5kaWYKK3N5biBtYXRjaCB0ZXhEZWZQYXJtcyAgY29udGFpbmVkCQkiI1tee10qIgljb250YWlucz10ZXhEZWZQYXJtCW5leHRncm91cD10ZXhDbWRCb2R5IHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgdGV4RGVmUGFybSAgY29udGFpbmVkCQkiI1xkXCsiCisKKyIgVGVYIExlbmd0aHM6IHt7ezEKK3N5biBtYXRjaCAgdGV4TGVuZ3RoCQkiXDxcZFwrXChcLlxkXCtcKVw9XHMqXCh0cnVlXClcPVxzKlwoYnBcfGNjXHxjbVx8ZGRcfGVtXHxleFx8aW5cfG1tXHxwY1x8cHRcfHNwXClcPiIKKworIiBUZVggU3RyaW5nIERlbGltaXRlcnM6IHt7ezEKK3N5biBtYXRjaCB0ZXhTdHJpbmcJCSJcKGBgXHwnJ1x8LCxcKSIKKworIiBMYVRlWCBzeW5jaHJvbml6YXRpb246IHt7ezEKK3N5biBzeW5jIG1heGxpbmVzPTIwMAorc3luIHN5bmMgbWlubGluZXM9NTAKKworc3luICBzeW5jIG1hdGNoIHRleFN5bmNTdG9wCQkJZ3JvdXB0aGVyZSBOT05FCQkiJXN0b3B6b25lXD4iCisKKyIgU3luY2hyb25pemF0aW9uOiB7e3sxCisiIFRoZSAkLi4kIGFuZCAkJC4uJCQgbWFrZSBmb3IgaW1wb3NzaWJsZSBzeW5jIHBhdHRlcm5zCisiIChvbmUgY2FuJ3QgdGVsbCBpZiBhICIkJCIgc3RhcnRzIG9yIHN0b3BzIGEgbWF0aCB6b25lIGJ5IGl0c2VsZikKKyIgVGhlIGZvbGxvd2luZyBncm91cHRoZXJlcyBjb3VwbGVkIHdpdGggbWlubGluZXMgYWJvdmUKKyIgaGVscCBpbXByb3ZlIHRoZSBvZGRzIG9mIGdvb2Qgc3luY2luZy4KK2lmICFleGlzdHMoInRleF9ub19tYXRoIikKKyBzeW4gc3luYyBtYXRjaCB0ZXhTeW5jTWF0aFpvbmVBCQlncm91cHRoZXJlIE5PTkUJCSJcXGVuZHthYnN0cmFjdH0iCisgc3luIHN5bmMgbWF0Y2ggdGV4U3luY01hdGhab25lQQkJZ3JvdXB0aGVyZSBOT05FCQkiXFxlbmR7Y2VudGVyfSIKKyBzeW4gc3luYyBtYXRjaCB0ZXhTeW5jTWF0aFpvbmVBCQlncm91cHRoZXJlIE5PTkUJCSJcXGVuZHtkZXNjcmlwdGlvbn0iCisgc3luIHN5bmMgbWF0Y2ggdGV4U3luY01hdGhab25lQQkJZ3JvdXB0aGVyZSBOT05FCQkiXFxlbmR7ZW51bWVyYXRlfSIKKyBzeW4gc3luYyBtYXRjaCB0ZXhTeW5jTWF0aFpvbmVBCQlncm91cHRoZXJlIE5PTkUJCSJcXGVuZHtpdGVtaXplfSIKKyBzeW4gc3luYyBtYXRjaCB0ZXhTeW5jTWF0aFpvbmVBCQlncm91cHRoZXJlIE5PTkUJCSJcXGVuZHt0YWJsZX0iCisgc3luIHN5bmMgbWF0Y2ggdGV4U3luY01hdGhab25lQQkJZ3JvdXB0aGVyZSBOT05FCQkiXFxlbmR7dGFidWxhcn0iCisgc3luIHN5bmMgbWF0Y2ggdGV4U3luY01hdGhab25lQQkJZ3JvdXB0aGVyZSBOT05FCQkiXFxcKHN1YlwpKnNlY3Rpb25cPiIKK2VuZGlmCisKKyIgSGlnaGxpZ2h0aW5nOiB7e3sxCitpZiBkaWRfdGV4X3N5bnRheF9pbml0cyA9PSAxCisgbGV0IGRpZF90ZXhfc3ludGF4X2luaXRzPSAyCisgICIgVGVYIGhpZ2hsaWdodGluZyBncm91cHMgd2hpY2ggc2hvdWxkIHNoYXJlIHNpbWlsYXIgaGlnaGxpZ2h0aW5nCisgIGlmICFleGlzdHMoImc6dGV4X25vX2Vycm9yIikKKyAgIGlmICFleGlzdHMoInRleF9ub19tYXRoIikKKyAgICBIaUxpbmsgdGV4QmFkTWF0aAkJdGV4RXJyb3IKKyAgICBIaUxpbmsgdGV4TWF0aERlbGltQmFkCXRleEVycm9yCisgICAgSGlMaW5rIHRleE1hdGhFcnJvcgkJdGV4RXJyb3IKKyAgICBpZiAhYjp0ZXhfc3R5bGlzaAorICAgICAgSGlMaW5rIHRleE9ubHlNYXRoCXRleEVycm9yCisgICAgZW5kaWYKKyAgIGVuZGlmCisgICBIaUxpbmsgdGV4RXJyb3IJCUVycm9yCisgIGVuZGlmCisKKyAgSGlMaW5rIHRleERlZkNtZAkJdGV4RGVmCisgIEhpTGluayB0ZXhEZWZOYW1lCQl0ZXhEZWYKKyAgSGlMaW5rIHRleERvY1R5cGUJCXRleENtZE5hbWUKKyAgSGlMaW5rIHRleERvY1R5cGVBcmdzCQl0ZXhDbWRBcmdzCisgIEhpTGluayB0ZXhJbnB1dEZpbGVPcHQJdGV4Q21kQXJncworICBIaUxpbmsgdGV4SW5wdXRDdXJsaWVzCXRleERlbGltaXRlcgorICBIaUxpbmsgdGV4TGlnYXR1cmUJCXRleFNwZWNpYWxDaGFyCisgIGlmICFleGlzdHMoInRleF9ub19tYXRoIikKKyAgIEhpTGluayB0ZXhNYXRoRGVsaW1TZXQxCXRleE1hdGhEZWxpbQorICAgSGlMaW5rIHRleE1hdGhEZWxpbVNldDIJdGV4TWF0aERlbGltCisgICBIaUxpbmsgdGV4TWF0aERlbGltS2V5CXRleE1hdGhEZWxpbQorICAgSGlMaW5rIHRleE1hdGhNYXRjaGVyCXRleE1hdGgKKyAgIEhpTGluayB0ZXhNYXRoWm9uZVcJCXRleE1hdGgKKyAgIEhpTGluayB0ZXhNYXRoWm9uZVgJCXRleE1hdGgKKyAgIEhpTGluayB0ZXhNYXRoWm9uZVkJCXRleE1hdGgKKyAgIEhpTGluayB0ZXhNYXRoWm9uZVoJCXRleE1hdGgKKyAgZW5kaWYKKyAgSGlMaW5rIHRleFNlY3Rpb25NYXJrZXIJdGV4Q21kTmFtZQorICBIaUxpbmsgdGV4U2VjdGlvbk5hbWUJCXRleFNlY3Rpb24KKyAgSGlMaW5rIHRleFNwYWNlQ29kZQkJdGV4U3RhdGVtZW50CisgIEhpTGluayB0ZXhUeXBlU2l6ZQkJdGV4VHlwZQorICBIaUxpbmsgdGV4VHlwZVN0eWxlCQl0ZXhUeXBlCisKKyAgICIgQmFzaWMgVGVYIGhpZ2hsaWdodGluZyBncm91cHMKKyAgSGlMaW5rIHRleENtZEFyZ3MJCU51bWJlcgorICBIaUxpbmsgdGV4Q21kTmFtZQkJU3RhdGVtZW50CisgIEhpTGluayB0ZXhDb21tZW50CQlDb21tZW50CisgIEhpTGluayB0ZXhEZWYJCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHRleERlZlBhcm0JCVNwZWNpYWwKKyAgSGlMaW5rIHRleERlbGltaXRlcgkJRGVsaW1pdGVyCisgIEhpTGluayB0ZXhJbnB1dAkJU3BlY2lhbAorICBIaUxpbmsgdGV4SW5wdXRGaWxlCQlTcGVjaWFsCisgIEhpTGluayB0ZXhMZW5ndGgJCU51bWJlcgorICBIaUxpbmsgdGV4TWF0aAkJU3BlY2lhbAorICBIaUxpbmsgdGV4TWF0aERlbGltCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHRleE1hdGhPcGVyCQlPcGVyYXRvcgorICBIaUxpbmsgdGV4TmV3Q21kCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHRleE5ld0VudgkJU3RhdGVtZW50CisgIEhpTGluayB0ZXhPcHRpb24JCU51bWJlcgorICBIaUxpbmsgdGV4UmVmWm9uZQkJU3BlY2lhbAorICBIaUxpbmsgdGV4U2VjdGlvbgkJUHJlQ29uZGl0CisgIEhpTGluayB0ZXhTcGFjZUNvZGVDaGFyCVNwZWNpYWwKKyAgSGlMaW5rIHRleFNwZWNpYWxDaGFyCQlTcGVjaWFsQ2hhcgorICBIaUxpbmsgdGV4U3RhdGVtZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHRleFN0cmluZwkJU3RyaW5nCisgIEhpTGluayB0ZXhUb2RvCQlUb2RvCisgIEhpTGluayB0ZXhUeXBlCQlUeXBlCisgIEhpTGluayB0ZXhab25lCQlQcmVDb25kaXQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworIiBDdXJyZW50IFN5bnRheDoge3t7MQordW5sZXQgYjpleHRmbmFtZQorbGV0ICAgYjpjdXJyZW50X3N5bnRheCA9ICJ0ZXgiCisiIHZpbTogdHM9OCBmZG09bWFya2VyCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90ZXhpbmZvLnZpbSBiL3J1bnRpbWUvc3ludGF4L3RleGluZm8udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3ZDVkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC90ZXhpbmZvLnZpbQpAQCAtMCwwICsxLDQwOSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVRleGluZm8gKG1hY3JvIHBhY2thZ2UgZm9yIFRlWCkKKyIgTWFpbnRhaW5lcjoJU2FuZG9yIEtvcGFueWkgPHNhbmRvci5rb3BhbnlpQG1haWxib3guaHU+CisiIFVSTDoJCTwtPgorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKKyIKKyIgdGhlIGZpbGUgZm9sbG93cyB0aGUgVGV4aW5mbyBtYW51YWwgc3RydWN0dXJlOyB0aGlzIGZpbGUgaXMgYmFzZWQKKyIgb24gbWFudWFsIGZvciBUZXhpbmZvIHZlcnNpb24gNC4wLCAyOCBTZXB0ZW1iZXIgMTk5OQorIiBzaW5jZSBAIGNhbiBoYXZlIHNwZWNpYWwgbWVhbmluZ3MsIGV2ZXJ5dGhpbmcgaXMgJ21hdGNoJy1lZCBhbmQgJ3JlZ2lvbictZWQKKyIgKGluY2x1ZGluZyBAIGluICdpc2tleXdvcmQnIG9wdGlvbiBoYXMgdW5leHBlY3RlZCBlZmZlY3RzKQorCisiIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZCwgaWYgbmVlZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAndGV4aW5mbycKK2VuZGlmCisKKyJpbiBUZXhpbmZvIGNhbiBiZSByZWFsIGJpZyB0aGluZ3MsIGxpa2UgdGFibGVzOyBzeW5jIGZvciB0aGF0CitzeW4gc3luYyBsaW5lcz0yMDAKKworInNvbWUgZ2VuZXJhbCBzdHVmZgorInN5biBtYXRjaCB0ZXhpbmZvRXJyb3IgICAgICJcUyIgY29udGFpbmVkIFRPRE8KK3N5biBtYXRjaCB0ZXhpbmZvSWRlbnQJICAgICJca1wrIgkJICBjb250YWluZWQgIklERU5UaWZpZXIKK3N5biBtYXRjaCB0ZXhpbmZvQXNzaWdubWVudCAiXGtcK1xzKj1ccypca1wrXHMqJCIgY29udGFpbmVkICJhc3NpZ21lbnQgc3RhdGVtZW50ICggdmFyID0gdmFsICkKK3N5biBtYXRjaCB0ZXhpbmZvU2luZ2xlUGFyICAiXGtcK1xzKiQiCQkgIGNvbnRhaW5lZCAic2luZ2xlIHBhcmFtZXRlciAodXNlZCBmb3Igc2V2ZXJhbCBALWNvbW1hbmRzKQorc3luIG1hdGNoIHRleGluZm9JbmRleFBhciAgICJca1xrXHMqJCIJCSAgY29udGFpbmVkICJwYXJhbS4gdXNlZCBmb3IgZGlmZmVyZW50ICppbmRleCBjb21tYW5kcyAoKyBAZG9jdW1lbnRsYW5ndWFnZSBjb21tYW5kKQorCisKKyJtYXJraW5nIHdvcmRzIGFuZCBwaHJhc2VzIChjaGFwLiA5IGluIFRleGluZm8gbWFudWFsKQorIihhbG1vc3QpIGV2ZXJ5dGhpbmcgYXBwZWFycyBhcyAnY29udGFpbmVkJyB0b287IGlzIGZvciB0YWJsZXMgKEB0YWJsZSkKKworInRoaXMgY2hhcHRlciBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgZmlsZSB0byBhdm9pZCBvdmVyd3JpdGluZ3MKKworc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhcgkJCQkgICAgIkBhY3JvbnltIgkJY29udGFpbmVkCitzeW4gcmVnaW9uIHRleGluZm9CcmNQcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQGFjcm9ueW17IiBlbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIJCQkJICAgICJAYiIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBieyIJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyCQkJCSAgICAiQGNpdGUiCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAY2l0ZXsiCWVuZD0ifSIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZAorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhcgkJCQkgICAgIkBjb2RlIgkJY29udGFpbmVkCitzeW4gcmVnaW9uIHRleGluZm9CcmNQcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQGNvZGV7IgllbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIJCQkJICAgICJAY29tbWFuZCIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBjb21tYW5keyIgZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyCQkJCSAgICAiQGRmbiIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBkZm57IgllbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIJCQkJICAgICJAZW1haWwiCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAZW1haWx7IgllbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIJCQkJICAgICJAZW1waCIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBlbXBoeyIJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyCQkJCSAgICAiQGVudiIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBlbnZ7IgllbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIJCQkJICAgICJAZmlsZSIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBmaWxleyIJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyCQkJCSAgICAiQGkiCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAaXsiCWVuZD0ifSIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZAorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhcgkJCQkgICAgIkBrYmQiCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAa2JkeyIJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyCQkJCSAgICAiQGtleSIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBrZXl7IgllbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcgorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhcgkJCQkgICAgIkBvcHRpb24iCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAb3B0aW9ueyIJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIJCQkJICAgICJAciIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkByeyIJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyCQkJCSAgICAiQHNhbXAiCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAc2FtcHsiCWVuZD0ifSIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZAorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhcgkJCQkgICAgIkBzYyIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBzY3siCWVuZD0ifSIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZAorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhcgkJCQkgICAgIkBzdHJvbmciCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAc3Ryb25neyIJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyCQkJCSAgICAiQHQiCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAdHsiCWVuZD0ifSIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZAorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhcgkJCQkgICAgIkB1cmwiCQljb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAdXJseyIJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyCQkJCSAgICAiQHZhciIJCWNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkB2YXJ7IgllbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5Aa2JkaW5wdXRzdHlsZSIgbmV4dGdyb3VwPXRleGluZm9TaW5nbGVQYXIgc2tpcHdoaXRlCisKKworIm92ZXJ2aWV3IG9mIFRleGluZm8gKGNoYXAuIDEgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gbWF0Y2ggdGV4aW5mb0NvbW1lbnQgICJAYyAuKiIKK3N5biBtYXRjaCB0ZXhpbmZvQ29tbWVudCAgIkBjJCIKK3N5biBtYXRjaCB0ZXhpbmZvQ29tbWVudCAgIkBjb21tZW50IC4qIgorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCBtYXRjaGdyb3VwPXRleGluZm9Db21tZW50IHN0YXJ0PSJeQGlnbm9yZVxzKiQiIGVuZD0iXkBlbmQgaWdub3JlXHMqJCIgY29udGFpbnM9QUxMCisKKworImJlZ2lubmluZyBhIFRleGluZm8gZmlsZSAoY2hhcC4gMyBpbiBUZXhpbmZvIG1hbnVhbCkKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kICAgICBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQGNlbnRlciAiCQkgc2tpcD0iXFwkIiBlbmQ9IiQiCQkgICAgICAgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZCBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbkRNQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AZGV0YWlsbWVudVxzKiQiCQkgICAgZW5kPSJeQGVuZCBkZXRhaWxtZW51XHMqJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZAorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgICAgIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHNldGZpbGVuYW1lICIgICAgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCAgICAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5Ac2V0dGl0bGUgIiAgICAgICBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kICAgICBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBzaG9ydHRpdGxlcGFnZSAiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgICAgIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHRpdGxlICIJCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kICBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQHRpdGxlZm9udHsiCQkgICAgZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbkF0Q21kICAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AdGl0bGVwYWdlXHMqJCIJCSAgICBlbmQ9Il5AZW5kIHRpdGxlcGFnZVxzKiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQsdGV4aW5mb01sdGxuRE1BdENtZCx0ZXhpbmZvQXRDbWQsdGV4aW5mb1BybUF0Q21kLHRleGluZm9NbHRsbkF0Q21kCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCAgICAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AdnNraXAgIgkJIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIG1hdGNoIHRleGluZm9BdENtZCAiXkBleGFtcGxlaW5kZW50IiAgICAgbmV4dGdyb3VwPXRleGluZm9TaW5nbGVQYXIgc2tpcHdoaXRlCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJeQGhlYWRpbmdzIgkgICAgIG5leHRncm91cD10ZXhpbmZvU2luZ2xlUGFyIHNraXB3aGl0ZQorc3luIG1hdGNoIHRleGluZm9BdENtZCAiXlxcaW5wdXQiCSAgICAgbmV4dGdyb3VwPXRleGluZm9TaW5nbGVQYXIgc2tpcHdoaXRlCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJeQHBhcmFncmFwaGluZGVudCIgICBuZXh0Z3JvdXA9dGV4aW5mb1NpbmdsZVBhciBza2lwd2hpdGUKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5Ac2V0Y2hhcHRlcm5ld3BhZ2UiIG5leHRncm91cD10ZXhpbmZvU2luZ2xlUGFyIHNraXB3aGl0ZQorCisKKyJlbmRpbmcgYSBUZXhpbmZvIGZpbGUgKGNoYXAuIDQgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQGF1dGhvciAiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorImFsbCBiZWxvdyBAYnllIHNob3VsZCBiZSBjb21tZW50IFRPRE8KK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5AYnllXHMqJCIKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5AY29udGVudHNccyokIgorc3luIG1hdGNoIHRleGluZm9BdENtZCAiXkBwcmludGluZGV4IiBuZXh0Z3JvdXA9dGV4aW5mb0luZGV4UGFyIHNraXB3aGl0ZQorc3luIG1hdGNoIHRleGluZm9BdENtZCAiXkBzZXRjb250ZW50c2FmdGVydGl0bGVwYWdlXHMqJCIKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5Ac2V0c2hvcnRjb250ZW50c2FmdGVydGl0bGVwYWdlXHMqJCIKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5Ac2hvcnRjb250ZW50c1xzKiQiCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJeQHN1bW1hcnljb250ZW50c1xzKiQiCisKKworImNoYXB0ZXIgc3RydWN0dXJpbmcgKGNoYXAuIDUgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBhcHBlbmRpeCIJCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGFwcGVuZGl4c2VjIgkgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBhcHBlbmRpeHNlY3Rpb24iCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGFwcGVuZGl4c3Vic2VjIgkgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBhcHBlbmRpeHN1YnN1YnNlYyIJIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AY2VudGVyY2hhcCIJCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGNoYXBoZWFkaW5nIgkgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBjaGFwdGVyIgkJIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AaGVhZGluZyIJCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQG1ham9yaGVhZGluZyIJIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5Ac2VjdGlvbiIJCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHN1YmhlYWRpbmcgIgkgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBzdWJzZWN0aW9uIgkJIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5Ac3Vic3ViaGVhZGluZyIJIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5Ac3Vic3Vic2VjdGlvbiIJIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5Ac3VidGl0bGUiCQkgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AdW5udW1iZXJlZCIJCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHVubnVtYmVyZWRzZWMiCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHVubnVtYmVyZWRzdWJzZWMiCSBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHVubnVtYmVyZWRzdWJzdWJzZWMiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIG1hdGNoICB0ZXhpbmZvQXRDbWQgIl5AbG93ZXJzZWN0aW9uc1xzKiQiCitzeW4gbWF0Y2ggIHRleGluZm9BdENtZCAiXkByYWlzZXNlY3Rpb25zXHMqJCIKKworCisibm9kZXMgKGNoYXAuIDYgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gcmVnaW9uIHRleGluZm9CcmNQcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQGFuY2hvcnsiCQkgIGVuZD0ifSIKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kICAgIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHRvcCIgICAgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCAgICBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBub2RlIiAgIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorCisKKyJtZW51cyAoY2hhcC4gNyBpbiBUZXhpbmZvIG1hbnVhbCkKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AbWVudVxzKiQiIGVuZD0iXkBlbmQgbWVudVxzKiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQsdGV4aW5mb01sdGxuRE1BdENtZAorCisKKyJjcm9zcyByZWZlcmVuY2VzIChjaGFwLiA4IGluIFRleGluZm8gbWFudWFsKQorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBpbmZvcmVmeyIgZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gcmVnaW9uIHRleGluZm9CcmNQcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQHB4cmVmeyIgICBlbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAcmVmeyIgICAgIGVuZD0ifSIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZAorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkB1cmVmeyIgICAgZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gcmVnaW9uIHRleGluZm9CcmNQcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQHhyZWZ7IiAgICBlbmQ9In0iIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKKworCisibWFya2luZyB3b3JkcyBhbmQgcGhyYXNlcyAoY2hhcC4gOSBpbiBUZXhpbmZvIG1hbnVhbCkKKyIoYWxtb3N0KSBldmVyeXRoaW5nIGFwcGVhcnMgYXMgJ2NvbnRhaW5lZCcgdG9vOyBpcyBmb3IgdGFibGVzIChAdGFibGUpCisKKyJ0aGlzIGNoYXB0ZXIgaXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGlzIGZpbGUgdG8gYXZvaWQgb3ZlcndyaXRpbmdzCisKKworInF1b3RhdGlvbnMgYW5kIGV4YW1wbGVzIChjaGFwLiAxMCBpbiBUZXhpbmZvIG1hbnVhbCkKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AY2FydG91Y2hlXHMqJCIJICAgIGVuZD0iXkBlbmQgY2FydG91Y2hlXHMqJCIJICAgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBkaXNwbGF5XHMqJCIJICAgIGVuZD0iXkBlbmQgZGlzcGxheVxzKiQiCSAgICBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AZXhhbXBsZVxzKiQiCSAgICBlbmQ9Il5AZW5kIGV4YW1wbGVccyokIgkgICAgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbkF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGZsdXNobGVmdFxzKiQiCSAgICBlbmQ9Il5AZW5kIGZsdXNobGVmdFxzKiQiCSAgICBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AZmx1c2hyaWdodFxzKiQiCSAgICBlbmQ9Il5AZW5kIGZsdXNocmlnaHRccyokIgkgICAgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbkF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGZvcm1hdFxzKiQiCSAgICBlbmQ9Il5AZW5kIGZvcm1hdFxzKiQiCSAgICBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AbGlzcFxzKiQiCQkgICAgZW5kPSJeQGVuZCBsaXNwXHMqJCIJICAgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBxdW90YXRpb25ccyokIgkgICAgZW5kPSJeQGVuZCBxdW90YXRpb25ccyokIgkgICAgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbkF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHNtYWxsZGlzcGxheVxzKiQiICAgICBlbmQ9Il5AZW5kIHNtYWxsZGlzcGxheVxzKiQiICAgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBzbWFsbGV4YW1wbGVccyokIiAgICAgZW5kPSJeQGVuZCBzbWFsbGV4YW1wbGVccyokIiAgICBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5Ac21hbGxmb3JtYXRccyokIgkgICAgZW5kPSJeQGVuZCBzbWFsbGZvcm1hdFxzKiQiICAgICBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5Ac21hbGxsaXNwXHMqJCIJICAgIGVuZD0iXkBlbmQgc21hbGxsaXNwXHMqJCIJICAgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgICBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBleGRlbnQiCSBza2lwPSJcXCQiIGVuZD0iJCIJCQkgICAgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5Abm9pbmRlbnRccyokIgorc3luIG1hdGNoIHRleGluZm9BdENtZCAiXkBzbWFsbGJvb2tccyokIgorCisKKyJsaXN0cyBhbmQgdGFibGVzIChjaGFwLiAxMSBpbiBUZXhpbmZvIG1hbnVhbCkKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIkBhc2lzIgkJICAgY29udGFpbmVkCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJAY29sdW1uZnJhY3Rpb25zIiAgY29udGFpbmVkCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJAaXRlbSIJCSAgIGNvbnRhaW5lZAorc3luIG1hdGNoIHRleGluZm9BdENtZCAiQGl0ZW14IgkJICAgY29udGFpbmVkCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJAdGFiIgkJICAgY29udGFpbmVkCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbkF0Q21kICBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBlbnVtZXJhdGUiICBlbmQ9Il5AZW5kIGVudW1lcmF0ZVxzKiQiICBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGZ0YWJsZSIgICAgIGVuZD0iXkBlbmQgZnRhYmxlXHMqJCIgICAgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5OQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AaXRlbWl6ZSIgICAgZW5kPSJeQGVuZCBpdGVtaXplXHMqJCIgICAgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbk5BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBtdWx0aXRhYmxlIiBlbmQ9Il5AZW5kIG11bHRpdGFibGVccyokIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb01sdGxuTkF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHRhYmxlIiAgICAgIGVuZD0iXkBlbmQgdGFibGVccyokIiAgICAgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AdnRhYmxlIiAgICAgZW5kPSJeQGVuZCB2dGFibGVccyokIiAgICAgY29udGFpbnM9QUxMCisKKworImluZGljZXMgKGNoYXAuIDEyIGluIFRleGluZm8gbWFudWFsKQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AXChjXHxmXHxrXHxwXHx0XHx2XClpbmRleCIgICBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQC4uaW5kZXgiCQkJIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorIkBkZWZjb2RlaW5kZXggYW5kIEBkZWZpbmRleCBpcyBkZWZpbmVkIGFmdGVyIGNoYXAuIDE1J3MgQGRlZiogY29tbWFuZHMgKG90aGVyd2lzZSB0aG9zZSBvbmVzIHdpbGwgb3ZlcndyaXRlIHRoZXNlIG9uZXMpCitzeW4gbWF0Y2ggdGV4aW5mb1NJUGFyICJca1xrXHMqXGtca1xzKiQiIGNvbnRhaW5lZAorc3luIG1hdGNoIHRleGluZm9BdENtZCAiXkBzeW5jb2RlaW5kZXgiIG5leHRncm91cD10ZXhpbmZvU0lQYXIgc2tpcHdoaXRlCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJeQHN5bmluZGV4IiAgICAgbmV4dGdyb3VwPXRleGluZm9TSVBhciBza2lwd2hpdGUKKworInNwZWNpYWwgaW5zZXJ0aW9ucyAoY2hhcC4gMTMgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAXCghXHw/XHxAXHxcc1wpIgorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQHsiCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAfSIKKyJhY2NlbnRzCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAPS4iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAXCgnXHxcIlx8XF5cfGBcKVthZWlvdXlBRUlPVVldIgorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQFx+W2FlaW5vdXlBRUlOT1VZXSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBkb3RhY2NlbnR7Ln0iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJASHsufSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkAse1tjQ119Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQEFBe30iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAYWF7fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBMe30iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAbHt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQE97fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBve30iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAcmluZ2FjY2VudHsufSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkB0aWVhY2NlbnR7Li59Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQHV7Ln0iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAdWJhcmFjY2VudHsufSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkB1ZG90YWNjZW50ey59Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQHZ7Ln0iCisibGlnYXR1cmVzCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAQUV7fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBhZXt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQGNvcHlyaWdodHt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQGJ1bGxldCIgY29udGFpbmVkICJmb3IgdGFibGVzIGFuZCBsaXN0cworc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQGJ1bGxldHt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQGRvdGxlc3N7aX0iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAZG90bGVzc3tqfSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBkb3Rze30iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAZW5kZG90c3t9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQGVxdWl2IiBjb250YWluZWQgImZvciB0YWJsZXMgYW5kIGxpc3RzCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAZXF1aXZ7fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBlcnJvcnt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQGV4Y2xhbWRvd257fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBleHBhbnNpb257fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBtaW51cyIgY29udGFpbmVkICJmb3IgdGFibGVzIGFuZCBsaXN0cworc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQG1pbnVze30iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAT0V7fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBvZXt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQHBvaW50IiBjb250YWluZWQgImZvciB0YWJsZXMgYW5kIGxpc3RzCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAcG9pbnR7fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBwb3VuZHN7fSIKK3N5biBtYXRjaCB0ZXhpbmZvU3BlY2lhbENoYXIgIkBwcmludHt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQHF1ZXN0aW9uZG93bnt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQHJlc3VsdCIgY29udGFpbmVkICJmb3IgdGFibGVzIGFuZCBsaXN0cworc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQHJlc3VsdHt9Igorc3luIG1hdGNoIHRleGluZm9TcGVjaWFsQ2hhciAiQHNze30iCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICJAVGVYe30iCisib3RoZXIKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAZG1ueyIgICAgICBlbmQ9In0iCitzeW4gcmVnaW9uIHRleGluZm9CcmNQcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQGZvb3Rub3RleyIgZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCitzeW4gcmVnaW9uIHRleGluZm9CcmNQcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQGltYWdleyIgICAgZW5kPSJ9Igorc3luIHJlZ2lvbiB0ZXhpbmZvQnJjUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9IkBtYXRoeyIgICAgIGVuZD0ifSIKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIkBmb290bm90ZXN0eWxlIiBuZXh0Z3JvdXA9dGV4aW5mb1NpbmdsZVBhciBza2lwd2hpdGUKKworCisibWFraW5nIGFuZCBwcmV2ZW50aW5nIGJyZWFrcyAoY2hhcC4gMTQgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gbWF0Y2ggdGV4aW5mb1NwZWNpYWxDaGFyICAiQFwoXCpcfC1cfFwuXCkiCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kCSAgICAgICJeQG5lZWQiCSAgIG5leHRncm91cD10ZXhpbmZvU2luZ2xlUGFyIHNraXB3aGl0ZQorc3luIG1hdGNoIHRleGluZm9BdENtZAkgICAgICAiXkBwYWdlXHMqJCIKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQJICAgICAgIl5Ac3AiCSAgIG5leHRncm91cD10ZXhpbmZvU2luZ2xlUGFyIHNraXB3aGl0ZQorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AZ3JvdXBccyokIiAgIGVuZD0iXkBlbmQgZ3JvdXBccyokIiBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAaHlwaGVuYXRpb257IiBlbmQ9In0iCitzeW4gcmVnaW9uIHRleGluZm9CcmNQcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iQHd7IgkgICAgZW5kPSJ9IgkJICBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCisKKworImRlZmluaXRpb24gY29tbWFuZHMgKGNoYXAuIDE1IGluIFRleGluZm8gbWFudWFsKQorc3luIG1hdGNoIHRleGluZm9NbHRsbkF0Q21kRkxpbmUgIl5AZGVmXGtcKyIgY29udGFpbmVkCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbkF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGRlZlxrXCsiIGVuZD0iXkBlbmQgZGVmXGtcKyQiICAgICAgY29udGFpbnM9QUxMCisKKyJuZXh0IDIgY29tbWFuZHMgYXJlIGZyb20gY2hhcC4gMTI7IG11c3QgYmUgZGVmaW5lZCBhZnRlciBAZGVmKiBjb21tYW5kcyBhYm92ZSB0byBvdmVyd3JpdGUgdGhlbQorc3luIG1hdGNoIHRleGluZm9BdENtZCAiQGRlZmNvZGVpbmRleCIgbmV4dGdyb3VwPXRleGluZm9JbmRleFBhciBza2lwd2hpdGUKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIkBkZWZpbmRleCIgbmV4dGdyb3VwPXRleGluZm9JbmRleFBhciBza2lwd2hpdGUKKworCisiY29uZGl0aW9uYWxseSB2aXNpYmxlIHRleHQgKGNoYXAuIDE2IGluIFRleGluZm8gbWFudWFsKQorc3luIG1hdGNoIHRleGluZm9BdENtZCAiXkBjbGVhciIgbmV4dGdyb3VwPXRleGluZm9TaW5nbGVQYXIgc2tpcHdoaXRlCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbjJBdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBodG1sXHMqJCIJZW5kPSJeQGVuZCBodG1sXHMqJCIKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGlmY2xlYXIiCQllbmQ9Il5AZW5kIGlmY2xlYXJccyokIiAgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AaWZodG1sIgkJZW5kPSJeQGVuZCBpZmh0bWxccyokIgkgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AaWZpbmZvIgkJZW5kPSJeQGVuZCBpZmluZm9ccyokIgkgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AaWZub3RodG1sIgllbmQ9Il5AZW5kIGlmbm90aHRtbFxzKiQiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AaWZub3RpbmZvIgllbmQ9Il5AZW5kIGlmbm90aW5mb1xzKiQiIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AaWZub3R0ZXgiCWVuZD0iXkBlbmQgaWZub3R0ZXhccyokIiAgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIHRleGluZm9NbHRsbkF0Q21kICBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBpZnNldCIJCWVuZD0iXkBlbmQgaWZzZXRccyokIgkgIGNvbnRhaW5zPUFMTAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AaWZ0ZXgiCQllbmQ9Il5AZW5kIGlmdGV4XHMqJCIJICBjb250YWlucz1BTEwKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kICAgIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQHNldCAiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvVGV4Q21kCQkJICAgICAgc3RhcnQ9IlwkXCQiCQllbmQ9IlwkXCQiIGNvbnRhaW5lZAorc3luIHJlZ2lvbiB0ZXhpbmZvTWx0bG5BdENtZCAgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AdGV4IgkJZW5kPSJeQGVuZCB0ZXhccyokIgkgIGNvbnRhaW5zPXRleGluZm9UZXhDbWQKK3N5biByZWdpb24gdGV4aW5mb0JyY1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJAdmFsdWV7IgkJZW5kPSJ9IiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kCisKKworImludGVybmF0aW9uYWxpemF0aW9uIChjaGFwLiAxNyBpbiBUZXhpbmZvIG1hbnVhbCkKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIkBkb2N1bWVudGVuY29kaW5nIiBuZXh0Z3JvdXA9dGV4aW5mb1NpbmdsZVBhciBza2lwd2hpdGUKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIkBkb2N1bWVudGxhbmd1YWdlIiBuZXh0Z3JvdXA9dGV4aW5mb0luZGV4UGFyIHNraXB3aGl0ZQorCisKKyJkZWZpbmluZyBuZXcgdGV4aW5mbyBjb21tYW5kcyAoY2hhcC4gMTggaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kCSJAYWxpYXMiCQkgICAgICBuZXh0Z3JvdXA9dGV4aW5mb0Fzc2lnbm1lbnQgc2tpcHdoaXRlCitzeW4gbWF0Y2ggdGV4aW5mb0RJRVBhciAiXFMqXHMqLFxzKlxTKlxzKixccypcUypccyokIiBjb250YWluZWQKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQJIkBkZWZpbmZvZW5jbG9zZSIJICAgICAgbmV4dGdyb3VwPXRleGluZm9ESUVQYXIJICBza2lwd2hpdGUKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AbWFjcm8iIGVuZD0iXkBlbmQgbWFjcm9ccyokIiBjb250YWlucz1BTEwKKworCisiZm9ybWF0dGluZyBoYXJkY29weSAoY2hhcC4gMTkgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJeQGFmb3VybGF0ZXhccyokIgorc3luIG1hdGNoIHRleGluZm9BdENtZCAiXkBhZm91cnBhcGVyXHMqJCIKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5AYWZvdXJ3aWRlXHMqJCIKK3N5biBtYXRjaCB0ZXhpbmZvQXRDbWQgIl5AZmluYWxvdXRccyokIgorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AcGFnZXNpemVzIiBlbmQ9IiQiIG9uZWxpbmUKKworCisiY3JlYXRpbmcgYW5kIGluc3RhbGxpbmcgSW5mbyBGaWxlcyAoY2hhcC4gMjAgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCAgIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGRpcmNhdGVnb3J5IiAgc2tpcD0iXFwkIiBlbmQ9IiQiIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb01sdGxuQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AZGlyZW50cnlccyokIgkgICAgICAgZW5kPSJeQGVuZCBkaXJlbnRyeVxzKiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcgorc3luIG1hdGNoICB0ZXhpbmZvQXRDbWQgIl5Abm92YWxpZGF0ZVxzKiQiCisKKworImluY2x1ZGUgZmlsZXMgKGFwcGVuZGl4IEUgaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gbWF0Y2ggdGV4aW5mb0F0Q21kICJeQGluY2x1ZGUiIG5leHRncm91cD10ZXhpbmZvU2luZ2xlUGFyIHNraXB3aGl0ZQorCisKKyJwYWdlIGhlYWRpbmdzIChhcHBlbmRpeCBGIGluIFRleGluZm8gbWFudWFsKQorc3luIG1hdGNoIHRleGluZm9IRlNwZWNpYWxDaGFyICJAfCIJCSAgY29udGFpbmVkCitzeW4gbWF0Y2ggdGV4aW5mb1RoaXNBdENtZCAgICAgIkB0aGlzY2hhcHRlciIJICBjb250YWluZWQKK3N5biBtYXRjaCB0ZXhpbmZvVGhpc0F0Q21kICAgICAiQHRoaXNjaGFwdGVybmFtZSIgY29udGFpbmVkCitzeW4gbWF0Y2ggdGV4aW5mb1RoaXNBdENtZCAgICAgIkB0aGlzZmlsZSIJICBjb250YWluZWQKK3N5biBtYXRjaCB0ZXhpbmZvVGhpc0F0Q21kICAgICAiQHRoaXNwYWdlIgkgIGNvbnRhaW5lZAorc3luIG1hdGNoIHRleGluZm9UaGlzQXRDbWQgICAgICJAdGhpc3RpdGxlIgkgIGNvbnRhaW5lZAorc3luIG1hdGNoIHRleGluZm9UaGlzQXRDbWQgICAgICJAdG9kYXl7fSIJICBjb250YWluZWQKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGV2ZW5mb290aW5nIiAgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQsdGV4aW5mb1RoaXNBdENtZCx0ZXhpbmZvSEZTcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBldmVuaGVhZGluZyIgIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kLHRleGluZm9UaGlzQXRDbWQsdGV4aW5mb0hGU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5AZXZlcnlmb290aW5nIiBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZCx0ZXhpbmZvVGhpc0F0Q21kLHRleGluZm9IRlNwZWNpYWxDaGFyIG9uZWxpbmUKK3N5biByZWdpb24gdGV4aW5mb1BybUF0Q21kIG1hdGNoZ3JvdXA9dGV4aW5mb0F0Q21kIHN0YXJ0PSJeQGV2ZXJ5aGVhZGluZyIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQsdGV4aW5mb1RoaXNBdENtZCx0ZXhpbmZvSEZTcGVjaWFsQ2hhciBvbmVsaW5lCitzeW4gcmVnaW9uIHRleGluZm9Qcm1BdENtZCBtYXRjaGdyb3VwPXRleGluZm9BdENtZCBzdGFydD0iXkBvZGRmb290aW5nIiAgIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz10ZXhpbmZvU3BlY2lhbENoYXIsdGV4aW5mb0JyY1BybUF0Q21kLHRleGluZm9UaGlzQXRDbWQsdGV4aW5mb0hGU3BlY2lhbENoYXIgb25lbGluZQorc3luIHJlZ2lvbiB0ZXhpbmZvUHJtQXRDbWQgbWF0Y2hncm91cD10ZXhpbmZvQXRDbWQgc3RhcnQ9Il5Ab2RkaGVhZGluZyIgICBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9dGV4aW5mb1NwZWNpYWxDaGFyLHRleGluZm9CcmNQcm1BdENtZCx0ZXhpbmZvVGhpc0F0Q21kLHRleGluZm9IRlNwZWNpYWxDaGFyIG9uZWxpbmUKKworCisicmVmaWxsaW5nIHBhcmFncmFwaHMgKGFwcGVuZGl4IEggaW4gVGV4aW5mbyBtYW51YWwpCitzeW4gbWF0Y2ggIHRleGluZm9BdENtZCAiQHJlZmlsbCIKKworCitzeW4gY2x1c3RlciB0ZXhpbmZvQWxsIGNvbnRhaW5zPUFMTEJVVCx7dGV4aW5mb1RoaXNBdENtZCx0ZXhpbmZvSEZTcGVjaWFsQ2hhcn0KK3N5biBjbHVzdGVyIHRleGluZm9SZWR1Y2VkQWxsIGNvbnRhaW5zPXRleGluZm9TcGVjaWFsQ2hhcix0ZXhpbmZvQnJjUHJtQXRDbWQKKyI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyIgaGlnaGxpZ2h0aW5nCisKKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RleGluZm9fc3luX2luaXRzIikKKworICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF90ZXhpbmZvX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRleGluZm9TcGVjaWFsQ2hhcglTcGVjaWFsCisgIEhpTGluayB0ZXhpbmZvSEZTcGVjaWFsQ2hhcglTcGVjaWFsCisKKyAgSGlMaW5rIHRleGluZm9FcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHRleGluZm9JZGVudAkJSWRlbnRpZmllcgorICBIaUxpbmsgdGV4aW5mb0Fzc2lnbm1lbnQJSWRlbnRpZmllcgorICBIaUxpbmsgdGV4aW5mb1NpbmdsZVBhcglJZGVudGlmaWVyCisgIEhpTGluayB0ZXhpbmZvSW5kZXhQYXIJSWRlbnRpZmllcgorICBIaUxpbmsgdGV4aW5mb1NJUGFyCQlJZGVudGlmaWVyCisgIEhpTGluayB0ZXhpbmZvRElFUGFyCQlJZGVudGlmaWVyCisgIEhpTGluayB0ZXhpbmZvVGV4Q21kCQlQcmVQcm9jCisKKworICBIaUxpbmsgdGV4aW5mb0F0Q21kCQlTdGF0ZW1lbnQJIkAtY29tbWFuZAorICBIaUxpbmsgdGV4aW5mb1BybUF0Q21kCVN0cmluZwkJIkAtY29tbWFuZCBpbiBvbmUgbGluZSB3aXRoIHVua25vd24gbnIuIG9mIHBhcmFtZXRlcnMKKwkJCQkJCSJpcyBTdHJpbmcgYmVjYXVzZSBpcyBmb3VuZCBhcyBhIHJlZ2lvbiBhbmQgaXMgJ21hdGNoZ3JvdXAnLWVkCisJCQkJCQkidG8gdGV4aW5mb0F0Q21kCisgIEhpTGluayB0ZXhpbmZvQnJjUHJtQXRDbWQJU3RyaW5nCQkiQC1jb21tYW5kIHdpdGggcGFyYW1ldGVyKHMpIGluIGJyYWNlcyAoe30pCisJCQkJCQkiaXMgU3RyaW5nIGJlY2F1c2UgaXMgZm91bmQgYXMgYSByZWdpb24gYW5kIGlzICdtYXRjaGdyb3VwJy1lZCB0byB0ZXhpbmZvQXRDbWQKKyAgSGlMaW5rIHRleGluZm9NbHRsbkF0Q21kRkxpbmUgIHRleGluZm9BdENtZAkicmVwZWF0ZWQgZW1iZWRkZWQgRmlyc3QgbGluZXMgaW4gQC1jb21tYW5kcworICBIaUxpbmsgdGV4aW5mb01sdGxuQXRDbWQJU3RyaW5nCQkiQC1jb21tYW5kIGluIG11bHRpcGxlIGxpbmVzCisJCQkJCQkiaXMgU3RyaW5nIGJlY2F1c2UgaXMgZm91bmQgYXMgYSByZWdpb24gYW5kIGlzICdtYXRjaGdyb3VwJy1lZCB0byB0ZXhpbmZvQXRDbWQKKyAgSGlMaW5rIHRleGluZm9NbHRsbjJBdENtZAlQcmVQcm9jCQkiQC1jb21tYW5kIGluIG11bHRpcGxlIGxpbmVzIChzYW1lIGFzIHRleGluZm9NbHRsbkF0Q21kLCBqdXN0IHdpdGggb3RoZXIgY29sb3JzKQorICBIaUxpbmsgdGV4aW5mb01sdGxuRE1BdENtZAlQcmVQcm9jCQkiQC1jb21tYW5kIGluIG11bHRpcGxlIGxpbmVzIChzYW1lIGFzIHRleGluZm9NbHRsbkF0Q21kLCBqdXN0IHdpdGggb3RoZXIgY29sb3JzOyB1c2VkIGZvciBAZGV0YWlsbWVudSwgd2hpY2ggY2FuIGJlIGluY2x1ZGVkIGluIEBtZW51KQorICBIaUxpbmsgdGV4aW5mb01sdGxuTkF0Q21kCU5vcm1hbAkJIkAtY29tbWFuZCBpbiBtdWx0aXBsZSBsaW5lcyAoc2FtZSBhcyB0ZXhpbmZvTWx0bG5BdENtZCwganVzdCB3aXRoIG90aGVyIGNvbG9ycykKKyAgSGlMaW5rIHRleGluZm9UaGlzQXRDbWQJU3RhdGVtZW50CSJALWNvbW1hbmQgdXNlZCBpbiBoZWFkZXJzIGFuZCBmb290ZXJzIChAdGhpcy4uLiBzZXJpZXMpCisKKyAgSGlMaW5rIHRleGluZm9Db21tZW50CUNvbW1lbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0ZXhpbmZvIgorCitpZiBtYWluX3N5bnRheCA9PSAndGV4aW5mbycKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90ZXhtZi52aW0gYi9ydW50aW1lL3N5bnRheC90ZXhtZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I5MTE2OAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3RleG1mLnZpbQpAQCAtMCwwICsxLDg2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBUaGlzIGlzIGEgR0VORVJBVEVEIEZJTEUuIFBsZWFzZSBhbHdheXMgcmVmZXIgdG8gc291cmNlIGZpbGUgYXQgdGhlIFVSSSBiZWxvdy4KKyIgTGFuZ3VhZ2U6IFdlYjJDIFRlWCB0ZXhtZi5jbmYgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6IERhdmlkIE5lXHZ7Y31hcyAoWWV0aSkgPHlldGlAcGh5c2ljcy5tdW5pLmN6PgorIiBMYXN0IENoYW5nZTogMjAwMS0wNS0xMworIiBVUkw6IGh0dHA6Ly9waHlzaWNzLm11bmkuY3ovfnlldGkvZG93bmxvYWQvc3ludGF4L3RleG1mLnZpbQorCisiIFNldHVwCitpZiB2ZXJzaW9uID49IDYwMAorICBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorICBlbmRpZgorZWxzZQorICBzeW50YXggY2xlYXIKK2VuZGlmCisKK3N5biBjYXNlIG1hdGNoCisKKyIgQ29tbWVudHMKK3N5biBtYXRjaCB0ZXhtZkNvbW1lbnQgIiUuLlwrJCIgY29udGFpbnM9dGV4bWZUb2RvCitzeW4gbWF0Y2ggdGV4bWZDb21tZW50ICIlXHMqJCIgY29udGFpbnM9dGV4bWZUb2RvCitzeW4ga2V5d29yZCB0ZXhtZlRvZG8gVE9ETyBGSVhNRSBYWFggTk9UIGNvbnRhaW5lZAorCisiIENvbnN0YW50cyBhbmQgcGFyYW1ldGVycworc3luIG1hdGNoIHRleG1mUGFzc2VkUGFyYW1ldGVyICJbLStdXD0lXHdcVyIKK3N5biBtYXRjaCB0ZXhtZlBhc3NlZFBhcmFtZXRlciAiWy0rXVw9JVx3JCIKK3N5biBtYXRjaCB0ZXhtZk51bWJlciAiXDxcZFwrXD4iCitzeW4gbWF0Y2ggdGV4bWZWYXJpYWJsZSAiXCRcKFx3XGsqXHx7XHdcayp9XCkiCitzeW4gbWF0Y2ggdGV4bWZTcGVjaWFsICtcXCJcfFxcJCsKK3N5biByZWdpb24gdGV4bWZTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisgc2tpcD0rXFwiXFxcXCsgY29udGFpbnM9dGV4bWZWYXJpYWJsZSx0ZXhtZlNwZWNpYWwsdGV4bWZQYXNzZWRQYXJhbWV0ZXIKKworIiBBc3NpZ25tZW50cworc3luIG1hdGNoIHRleG1mTEhTU3RhcnQgIl5ccypcd1xrKiIgbmV4dGdyb3VwPXRleG1mTEhTRG90LHRleG1mRXF1YWxzCitzeW4gbWF0Y2ggdGV4bWZMSFNWYXJpYWJsZSAiXHdcayoiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9dGV4bWZMSFNEb3QsdGV4bWZFcXVhbHMKK3N5biBtYXRjaCB0ZXhtZkxIU0RvdCAiXC4iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9dGV4bWZMSFNWYXJpYWJsZQorc3luIG1hdGNoIHRleG1mRXF1YWxzICJccyo9IiBjb250YWluZWQKKworIiBTcGVjaWFsaXRpZXMKK3N5biBtYXRjaCB0ZXhtZkNvbW1hICIsIiBjb250YWluZWQKK3N5biBtYXRjaCB0ZXhtZkNvbG9ucyAiOlx8OyIKK3N5biBtYXRjaCB0ZXhtZkRvdWJsZUV4Y2xhbSAiISEiIGNvbnRhaW5lZAorCisiIENhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3JvbmcgcGFyZW50aGVzaXphdGlvbgorc3luIHJlZ2lvbiB0ZXhtZkJyYWNlIG1hdGNoZ3JvdXA9dGV4bWZCcmFjZUJyYWNlIHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5zPUFMTEJVVCx0ZXhtZlRvZG8sdGV4bWZCcmFjZUVycm9yLHRleG1mTEhTVmFyaWFibGUsdGV4bWZMSFNEb3QgdHJhbnNwYXJlbnQKK3N5biBtYXRjaCB0ZXhtZkJyYWNlRXJyb3IgIn0iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RleG1mX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3RleG1mX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRleG1mQ29tbWVudCBDb21tZW50CisgIEhpTGluayB0ZXhtZlRvZG8gVG9kbworCisgIEhpTGluayB0ZXhtZlBhc3NlZFBhcmFtZXRlciB0ZXhtZlZhcmlhYmxlCisgIEhpTGluayB0ZXhtZlZhcmlhYmxlIElkZW50aWZpZXIKKworICBIaUxpbmsgdGV4bWZOdW1iZXIgTnVtYmVyCisgIEhpTGluayB0ZXhtZlN0cmluZyBTdHJpbmcKKworICBIaUxpbmsgdGV4bWZMSFNTdGFydCB0ZXhtZkxIUworICBIaUxpbmsgdGV4bWZMSFNWYXJpYWJsZSB0ZXhtZkxIUworICBIaUxpbmsgdGV4bWZMSFNEb3QgdGV4bWZMSFMKKyAgSGlMaW5rIHRleG1mTEhTIFR5cGUKKworICBIaUxpbmsgdGV4bWZFcXVhbHMgTm9ybWFsCisKKyAgSGlMaW5rIHRleG1mQnJhY2VCcmFjZSB0ZXhtZkRlbGltaXRlcgorICBIaUxpbmsgdGV4bWZDb21tYSB0ZXhtZkRlbGltaXRlcgorICBIaUxpbmsgdGV4bWZDb2xvbnMgdGV4bWZEZWxpbWl0ZXIKKyAgSGlMaW5rIHRleG1mRGVsaW1pdGVyIFByZXByb2MKKworICBIaUxpbmsgdGV4bWZEb3VibGVFeGNsYW0gU3RhdGVtZW50CisgIEhpTGluayB0ZXhtZlNwZWNpYWwgU3BlY2lhbAorCisgIEhpTGluayB0ZXhtZkJyYWNlRXJyb3IgdGV4bWZFcnJvcgorICBIaUxpbmsgdGV4bWZFcnJvciBFcnJvcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0ZXhtZiIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RmLnZpbSBiL3J1bnRpbWUvc3ludGF4L3RmLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTlhOTk5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdGYudmltCkBAIC0wLDAgKzEsMjA5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJdGYKKyIgTWFpbnRhaW5lcjoJTHV0eiBFeW1lcnMgPGl4dGFiQHBvbHppbi5jb20+CisiIFVSTDoJCWh0dHA6Ly93d3cuaXNwLmRlL2RhdGEvdGYudmltCisiIEVtYWlsOglzZW5kIHN5bnRheF92aW0udGd6CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAxMAorIgorIiBPcHRpb25zCWxpdGVfbWlubGluZXMgPSB4ICAgICB0byBzeW5jIGF0IGxlYXN0IHggbGluZXMgYmFja3dhcmRzCisKKyIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAndGYnCitlbmRpZgorCisiIFNwZWNpYWwgZ2xvYmFsIHZhcmlhYmxlcworc3luIGtleXdvcmQgdGZWYXIgIEhPTUUgTEFORyBNQUlMIFNIRUxMIFRFUk0gVEZIRUxQIFRGTElCRElSIFRGTElCUkFSWSBUWiAgY29udGFpbmVkCitzeW4ga2V5d29yZCB0ZlZhciAgYmFja2dyb3VuZCBiYWNrc2xhc2ggIGNvbnRhaW5lZAorc3luIGtleXdvcmQgdGZWYXIgIGJhbWYgYmdfb3V0cHV0IGJvcmcgY2xlYXJmdWxsIGNsZWFyZG9uZSBjbG9jayBjb25uZWN0ICBjb250YWluZWQKK3N5biBrZXl3b3JkIHRmVmFyICBlbXVsYXRpb24gZW5kX2NvbG9yIGdhZyBnZXRob3N0YnluYW1lIGdwcmkgaG9vayBoaWxpdGUgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgdGZWYXIgIGhpbGl0ZWF0dHIgaGlzdHNpemUgaHByaSBpbnNlcnQgaXNpemUgaXN0cmlwIGtlY2hvICBjb250YWluZWQKK3N5biBrZXl3b3JkIHRmVmFyICBrcHJlZml4IGxvZ2luIGxwIGxwcXVvdGUgbWFpbGRlbGF5IG1hdGNoaW5nIG1heF9pdGVyICBjb250YWluZWQKK3N5biBrZXl3b3JkIHRmVmFyICBtYXhfcmVjdXIgbWVjaG8gbW9yZSBtcHJlZml4IG9sZHNsYXNoIHByb210X3NlYyAgY29udGFpbmVkCitzeW4ga2V5d29yZCB0ZlZhciAgcHJvbXB0X3VzZWMgcHJveHlfaG9zdCBwcm94eV9wb3J0IHB0aW1lIHFlY2hvIHFwcmVmaXggIGNvbnRhaW5lZAorc3luIGtleXdvcmQgdGZWYXIgIHF1aXRlIHF1aXRkb25lIHJlZGVmIHJlZnJlc2h0aW1lIHNjcm9sbCBzaHBhdXNlIHNuYXJmIHNvY2ttbG9hZCAgY29udGFpbmVkCitzeW4ga2V5d29yZCB0ZlZhciAgc3RhcnRfY29sb3IgdGFic2l6ZSB0ZWxvcHQgc3ViIHRpbWVfZm9ybWF0IHZpc3VhbCAgY29udGFpbmVkCitzeW4ga2V5d29yZCB0ZlZhciAgd2F0Y2hfZG9nIHdhdGNobmFtZSB3b3JkcHVuY3Qgd3JhcCB3cmFwbG9nIHdyYXBzaXplICBjb250YWluZWQKK3N5biBrZXl3b3JkIHRmVmFyICB3cmFwc3BhY2UgIGNvbnRhaW5lZAorCisiIFdvcmxkdmFyCitzeW4ga2V5d29yZCB0ZldvcmxkICB3b3JsZF9uYW1lIHdvcmxkX2NoYXJhY3RlciB3b3JsZF9wYXNzd29yZCB3b3JsZF9ob3N0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgdGZXb3JsZCAgd29ybGRfcG9ydCB3b3JsZF9tZmlsZSB3b3JsZF90eXBlIGNvbnRhaW5lZAorCisiIE51bWJlcgorc3luIG1hdGNoIHRmTnVtYmVyICAiLVw9XDxcZFwrXD4iCisKKyIgRmxvYXQKK3N5biBtYXRjaCB0ZkZsb2F0ICAiXCgtXD1cPFxkK1x8LVw9XClcLlxkXCtcPiIKKworIiBPcGVyYXRvcgorc3luIG1hdGNoIHRmT3BlcmF0b3IgICJbLSs9PzomfCFdIgorc3luIG1hdGNoIHRmT3BlcmF0b3IgICIvW14qfkBdImhlPWUtMQorc3luIG1hdGNoIHRmT3BlcmF0b3IgICI6PSIKK3N5biBtYXRjaCB0Zk9wZXJhdG9yICAiW14vJV1cKiJocz1zKzEKK3N5biBtYXRjaCB0Zk9wZXJhdG9yICAiJFwrWyhbe10iaGU9ZS0xLG1lPWUtMQorc3luIG1hdGNoIHRmT3BlcmF0b3IgICJcXlxbXCsiaGU9cysxIGNvbnRhaW5zPXRmU3BlY2lhbENoYXJFc2MKKworIiBSZWxhdGlvbmFsCitzeW4gbWF0Y2ggdGZSZWxhdGlvbiAgIiYmIgorc3luIG1hdGNoIHRmUmVsYXRpb24gICJ8fCIKK3N5biBtYXRjaCB0ZlJlbGF0aW9uICAiWzw+LyE9XT0iCitzeW4gbWF0Y2ggdGZSZWxhdGlvbiAgIls8Pl0iCitzeW4gbWF0Y2ggdGZSZWxhdGlvbiAgIlshPV1cfiIKK3N5biBtYXRjaCB0ZlJlbGF0aW9uICAiWz0hXS8iCisKKworIiBSZWFkb25seSBWYXIKK3N5biBtYXRjaCB0ZlJlYWRvbmx5ICAiWyMqXSIgY29udGFpbmVkCitzeW4gbWF0Y2ggdGZSZWFkb25seSAgIlw8LVw9TFw9XGRcey19XD4iIGNvbnRhaW5lZAorc3luIG1hdGNoIHRmUmVhZG9ubHkgICJcPFBcKFxkXCtcfFJcfExcKVw+IiBjb250YWluZWQKK3N5biBtYXRjaCB0ZlJlYWRvbmx5ICAiXDxSXD4iIGNvbnRhaW5lZAorCisiIElkZW50aWZpZXIKK3N5biBtYXRjaCB0ZklkZW50aWZpZXIgIiVcK1thLXpBLVpfIyotMC05XVx3KiIgY29udGFpbnM9dGZWYXIsdGZSZWFkb25seQorc3luIG1hdGNoIHRmSWRlbnRpZmllciAiJVwrW3tdImhlPWUtMSxtZT1lLTEKK3N5biBtYXRjaCB0ZklkZW50aWZpZXIgIlwkXCt7W2EtekEtWl8jKi0wLTldXHcqfSIgY29udGFpbnM9dGZXb3JsZAorCisiIEZ1bmN0aW9uIG5hbWVzCitzeW4ga2V5d29yZCB0ZkZ1bmN0aW9ucyAgYXNjaWkgY2hhciBjb2x1bW5zIGVjaG8gZmlsZW5hbWUgZnRpbWUgZndyaXRlIGdldG9wdHMKK3N5biBrZXl3b3JkIHRmRnVuY3Rpb25zICBnZXRwaWQgaWRsZSBrYmRlbCBrYmdvdG8ga2JoZWFkIGtibGVuIGtibWF0Y2gga2Jwb2ludAorc3luIGtleXdvcmQgdGZGdW5jdGlvbnMgIGtidGFpbCBrYndvcmRsZWZ0IGtid29yZHJpZ2h0IGtleWNvZGUgbGluZXMgbW9kCitzeW4ga2V5d29yZCB0ZkZ1bmN0aW9ucyAgbW9yZXNpemUgcGFkIHJhbmQgcmVhZCByZWdtYXRjaCBzZW5kIHN0cmNhdCBzdHJjaHIKK3N5biBrZXl3b3JkIHRmRnVuY3Rpb25zICBzdHJjbXAgc3RybGVuIHN0cm5jbXAgc3RycmNociBzdHJyZXAgc3Ryc3RyIHN1YnN0cgorc3luIGtleXdvcmQgdGZGdW5jdGlvbnMgIHN5c3R5cGUgdGltZSB0b2xvd2VyIHRvdXBwZXIKKworc3luIGtleXdvcmQgdGZTdGF0ZW1lbnQgIGFkZHdvcmxkIGJhbWYgYmVlcCBiaW5kIGJyZWFrIGNhdCBjaGFuZ2VzIGNvbm5lY3QgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgdGZTdGF0ZW1lbnQgIGRjIGRlZiBkb2tleSBlY2hvIGVkaXQgZXNjYXBlIGV2YWwgZXhwb3J0IGV4cHIgZmcgZm9yICBjb250YWluZWQKK3N5biBrZXl3b3JkIHRmU3RhdGVtZW50ICBnYWcgZ2V0ZmlsZSBncmFiIGhlbHAgaGlsaXRlIGhpc3RzaXplIGhvb2sgaWYgaW5wdXQgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgdGZTdGF0ZW1lbnQgIGtpbGwgbGNkIGxldCBsaXN0IGxpc3Rzb2NrZXRzIGxpc3R3b3JsZHMgbG9hZCAgY29udGFpbmVkCitzeW4ga2V5d29yZCB0ZlN0YXRlbWVudCAgbG9jYWxlY2hvIGxvZyBub2hpbGl0ZSBub3QgcGFydGlhbCBwYXN0ZSBwcyBwdXJnZSAgY29udGFpbmVkCitzeW4ga2V5d29yZCB0ZlN0YXRlbWVudCAgcHVyZ2V3b3JsZCBwdXRmaWxlIHF1aXQgcXVvdGUgcmVjYWxsIHJlY29yZGxpbmUgc2F2ZSAgY29udGFpbmVkCitzeW4ga2V5d29yZCB0ZlN0YXRlbWVudCAgc2F2ZXdvcmxkIHNlbmQgc2ggc2hpZnQgc3ViIHN1YnN0aXR1dGUgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgdGZTdGF0ZW1lbnQgIHN1c3BlbmQgdGVsbmV0IHRlc3QgdGltZSB0b2dnbGUgdHJpZyB0cmlnZ2VyIHVuYmluZCAgY29udGFpbmVkCitzeW4ga2V5d29yZCB0ZlN0YXRlbWVudCAgdW5kZWYgdW5kZWZuIHVuZGVmdCB1bmhvb2sgIHVudHJpZyB1bndvcmxkICBjb250YWluZWQKK3N5biBrZXl3b3JkIHRmU3RhdGVtZW50ICB2ZXJzaW9uIHdhdGNoZG9nIHdhdGNobmFtZSB3aGlsZSB3b3JsZCAgY29udGFpbmVkCisKKyIgSG9va3MKK3N5biBrZXl3b3JkIHRmSG9vayAgQUNUSVZJVFkgQkFDS0dST1VORCBCQU1GIENPTkZBSUwgQ09ORkxJQ1QgQ09OTkVDVCBESVNDT05ORUNUCitzeW4ga2V5d29yZCB0Zkhvb2sgIEtJTEwgTE9BRCBMT0FERkFJTCBMT0cgTE9HSU4gTUFJTCBNT1JFIFBFTkRJTkcgUEVORElORworc3luIGtleXdvcmQgdGZIb29rICBQUk9DRVNTIFBST01QVCBQUk9YWSBSRURFRiBSRVNJWkUgUkVTVU1FIFNFTkQgU0hBRE9XIFNIRUxMCitzeW4ga2V5d29yZCB0Zkhvb2sgIFNJR0hVUCBTSUdURVJNIFNJR1VTUjEgU0lHVVNSMiBXT1JMRAorCisiIENvbmRpdGlvbmFsCitzeW4ga2V5d29yZCB0ZkNvbmRpdGlvbmFsICBpZiBlbmRpZiB0aGVuIGVsc2UgZWxzZWlmICBjb250YWluZWQKKworIiBSZXBlYXQKK3N5biBrZXl3b3JkIHRmUmVwZWF0ICB3aGlsZSBkbyBkb25lIHJlcGVhdCBmb3IgIGNvbnRhaW5lZAorCisiIFN0YXRlbWVudAorc3luIGtleXdvcmQgdGZTdGF0ZW1lbnQgIGJyZWFrIHF1aXQgY29udGFpbmVkCisKKyIgSW5jbHVkZQorc3luIGtleXdvcmQgIHRmSW5jbHVkZSByZXF1aXJlIGxvYWQgc2F2ZSBsb2FkZWQgY29udGFpbmVkCisKKyIgRGVmaW5lCitzeW4ga2V5d29yZCAgdGZEZWZpbmUgYmluZCB1bmJpbmQgZGVmIHVuZGVmIHVuZGVmbiB1bmRlZm4gcHVyZ2UgaG9vayB1bmhvb2sgdHJpZyB1bnRyaWcgIGNvbnRhaW5lZAorc3luIGtleXdvcmQgIHRmRGVmaW5lIHNldCB1bnNldCBzZXRlbnYgIGNvbnRhaW5lZAorCisiIFRvZG8KK3N5biBrZXl3b3JkICB0ZlRvZG8gVE9ETyBUb2RvIHRvZG8gIGNvbnRhaW5lZAorCisiIFNwZWNpYWxDaGFyCitzeW4gbWF0Y2ggdGZTcGVjaWFsQ2hhciAiXFxbYWJjZm5ydHl2XFxdIiBjb250YWluZWQKK3N5biBtYXRjaCB0ZlNwZWNpYWxDaGFyICJcXFxkXHszfSIgY29udGFpbmVkIGNvbnRhaW5zPXRmT2N0YWxFcnJvcgorc3luIG1hdGNoIHRmU3BlY2lhbENoYXIgIlxceFswLTlhLWZBLUZdXHsyfSIgY29udGFpbmVkCitzeW4gbWF0Y2ggdGZTcGVjaWFsQ2hhckVzYyAiXFtcKyIgY29udGFpbmVkCisKK3N5biBtYXRjaCB0Zk9jdGFsRXJyb3IgIls4OV0iIGNvbnRhaW5lZAorCisiIENvbW1lbnQKK3N5biByZWdpb24gdGZDb21tZW50CQlzdGFydD0iXjsiIGVuZD0iJCIgIGNvbnRhaW5zPXRmVG9kbworCisiIFN0cmluZworc3luIHJlZ2lvbiB0ZlN0cmluZyAgIG9uZWxpbmUgbWF0Y2hncm91cD1Ob25lIHN0YXJ0PSsnKyAgc2tpcD0rXFxcXFx8XFwnKyAgZW5kPSsnKyBjb250YWlucz10ZklkZW50aWZpZXIsdGZTcGVjaWFsQ2hhcix0ZkVzY2FwZQorc3luIHJlZ2lvbiB0ZlN0cmluZyAgIG1hdGNoZ3JvdXA9Tm9uZSBzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgY29udGFpbnM9dGZJZGVudGlmaWVyLHRmU3BlY2lhbENoYXIsdGZFc2NhcGUKKworc3luIG1hdGNoIHRmUGFyZW50RXJyb3IgIlspfVxdXSIKKworIiBQYXJlbnRzCitzeW4gcmVnaW9uIHRmUGFyZW50IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSIoIiBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCx0ZlJlYWRvbmx5CitzeW4gcmVnaW9uIHRmUGFyZW50IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcWyIgZW5kPSJcXSIgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uIHRmUGFyZW50IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5zPUFMTAorCitzeW4gbWF0Y2ggdGZFbmRDb21tYW5kICIlJVx7LX07Igorc3luIG1hdGNoIHRmSm9pbkxpbmVzICJcXCQiCisKKyIgVHlwZXMKKworc3luIG1hdGNoIHRmVHlwZSAiL1thLXpBLVpffkBdW2EtekEtWjAtOV9dKiIgY29udGFpbnM9dGZDb25kaXRpb25hbCx0ZlJlcGVhdCx0ZlN0YXRlbWVudCx0ZkluY2x1ZGUsdGZEZWZpbmUsdGZTdGF0ZW1lbnQKKworIiBDYXRjaCAvcXVvdGUgLi4gJworc3luIG1hdGNoIHRmUXVvdGVzICIvcXVvdGUgLlx7LX0nIiBjb250YWlucz1BTExCVVQsdGZTdHJpbmcKKyIgQ2F0Y2ggJCgvZXNjYXBlICAgKQorc3luIG1hdGNoIHRmRXNjYXBlICIoL2VzY2FwZSAuKikiCisKKyIgc3luYworaWYgZXhpc3RzKCJ0Zl9taW5saW5lcyIpCisgIGV4ZWMgInN5biBzeW5jIG1pbmxpbmVzPSIgLiB0Zl9taW5saW5lcworZWxzZQorICBzeW4gc3luYyBtaW5saW5lcz0xMDAKK2VuZGlmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RmX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3RmX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRmQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgdGZTdHJpbmcJCVN0cmluZworICBIaUxpbmsgdGZOdW1iZXIJCU51bWJlcgorICBIaUxpbmsgdGZGbG9hdAkJRmxvYXQKKyAgSGlMaW5rIHRmSWRlbnRpZmllcgkJSWRlbnRpZmllcgorICBIaUxpbmsgdGZWYXIJCQlJZGVudGlmaWVyCisgIEhpTGluayB0ZldvcmxkCQlJZGVudGlmaWVyCisgIEhpTGluayB0ZlJlYWRvbmx5CQlJZGVudGlmaWVyCisgIEhpTGluayB0Zkhvb2sJCUlkZW50aWZpZXIKKyAgSGlMaW5rIHRmRnVuY3Rpb25zCQlGdW5jdGlvbgorICBIaUxpbmsgdGZSZXBlYXQJCVJlcGVhdAorICBIaUxpbmsgdGZDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHRmTGFiZWwJCUxhYmVsCisgIEhpTGluayB0ZlN0YXRlbWVudAkJU3RhdGVtZW50CisgIEhpTGluayB0ZlR5cGUJCVR5cGUKKyAgSGlMaW5rIHRmSW5jbHVkZQkJSW5jbHVkZQorICBIaUxpbmsgdGZEZWZpbmUJCURlZmluZQorICBIaUxpbmsgdGZTcGVjaWFsQ2hhcgkJU3BlY2lhbENoYXIKKyAgSGlMaW5rIHRmU3BlY2lhbENoYXJFc2MJU3BlY2lhbENoYXIKKyAgSGlMaW5rIHRmUGFyZW50RXJyb3IJCUVycm9yCisgIEhpTGluayB0ZlRvZG8JCVRvZG8KKyAgSGlMaW5rIHRmRW5kQ29tbWFuZAkJRGVsaW1pdGVyCisgIEhpTGluayB0ZkpvaW5MaW5lcwkJRGVsaW1pdGVyCisgIEhpTGluayB0Zk9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgdGZSZWxhdGlvbgkJT3BlcmF0b3IKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGYiCisKK2lmIG1haW5fc3ludGF4ID09ICd0ZicKKyAgdW5sZXQgbWFpbl9zeW50YXgKK2VuZGlmCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90aWR5LnZpbSBiL3J1bnRpbWUvc3ludGF4L3RpZHkudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NTE4MDMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC90aWR5LnZpbQpAQCAtMCwwICsxLDE1MyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgRmlsZW5hbWU6CXRpZHkudmltCisiIExhbmd1YWdlOglITVRMIFRpZHkgY29uZmlndXJhdGlvbiBmaWxlICggL2V0Yy90aWR5cmMgfi8udGlkeXJjICkKKyIgTWFpbnRhaW5lcjoJRG91ZyBLZWFybnMgPGRqa2VhMkBtdWdjYS5pdHMubW9uYXNoLmVkdS5hdT4KKyIgVVJMOgkJaHR0cDovL211Z2NhLml0cy5tb25hc2guZWR1LmF1L35kamtlYTIvdmltL3N5bnRheC90aWR5LnZpbQorIiBMYXN0IENoYW5nZToJMjAwMiBPY3QgMjQKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNldCBpc2tleXdvcmQ9QCw0OC01NywtCitlbHNlCisgIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LC0KK2VuZGlmCisKK3N5biBtYXRjaAl0aWR5Q29tbWVudAkJIl5ccyovLy4qJCIgY29udGFpbnM9dGlkeVRvZG8KK3N5biBtYXRjaAl0aWR5Q29tbWVudAkJIl5ccyojLiokIiAgY29udGFpbnM9dGlkeVRvZG8KK3N5biBrZXl3b3JkCXRpZHlUb2RvCQlUT0RPIE5PVEUgRklYTUUgWFhYIGNvbnRhaW5lZAorCitzeW4gbWF0Y2gJdGlkeUFzc2lnbm1lbnQJCSJeW2EtejAtOS1dXCs6XHMqLiokIiBjb250YWlucz10aWR5T3B0aW9uLEB0aWR5VmFsdWUsdGlkeURlbGltaXRlcgorc3luIG1hdGNoCXRpZHlEZWxpbWl0ZXIJCSI6IiBjb250YWluZWQKKworc3luIG1hdGNoCXRpZHlOZXdUYWdBc3NpZ25tZW50CSJebmV3LVxsXCstdGFnczpccyouKiQiIGNvbnRhaW5zPXRpZHlOZXdUYWdPcHRpb24sdGlkeU5ld1RhZ0RlbGltaXRlcix0aWR5TmV3VGFnVmFsdWUsdGlkeURlbGltaXRlcgorc3luIG1hdGNoCXRpZHlOZXdUYWdEZWxpbWl0ZXIJIiwiIGNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlOZXdUYWdWYWx1ZQkJIlw8XHdcK1w+IiBjb250YWluZWQKKworc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZAl0aWR5Qm9vbGVhbgkJdFtydWVdIGZbYWxzZV0geVtlc10gbltvXSBjb250YWluZWQKK3N5biBjYXNlIG1hdGNoCitzeW4gbWF0Y2gJdGlkeURvY3R5cGUJCSJcPG9taXRcfGF1dG9cfHN0cmljdFx8bG9vc2VcfHRyYW5zaXRpb25hbFw+IiBjb250YWluZWQKKyIgTk9URTogdXNlIG1hdGNoIHJhdGhlciB0aGFuIGtleXdvcmQgaGVyZSBzbyB0aGF0IHRpZHlFbmNvZGluZyByYXcgZG9lcyBub3QgYWx3YXlzIGhhdmUgcHJlY2VkZW5jZSBvdmVyIHRpZHlPcHRpb24gcmF3CitzeW4gbWF0Y2gJdGlkeUVuY29kaW5nCQkiXDxcKGFzY2lpXHxsYXRpbjFcfHJhd1x8dXRmOFx8aXNvMjAyMlx8bWFjXHx1dGYxNmxlXHx1dGYxNmJlXHx1dGYxNlx8d2luMTI1Mlx8YmlnNVx8c2hpZnRqaXNcKVw+IiBjb250YWluZWQKK3N5biBtYXRjaAl0aWR5TnVtYmVyCQkiXDxcZFwrXD4iIGNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlSZXBlYXQJCSJcPGtlZXAtZmlyc3RcfGtlZXAtbGFzdFw+IiBjb250YWluZWQKK3N5biByZWdpb24JdGlkeVN0cmluZwkJc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWluZWQgb25lbGluZQorc3luIHJlZ2lvbgl0aWR5U3RyaW5nCQlzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrIGNvbnRhaW5lZCBvbmVsaW5lCitzeW4gY2x1c3Rlcgl0aWR5VmFsdWUJCWNvbnRhaW5zPXRpZHlCb29sZWFuLHRpZHlEb2N0eXBlLHRpZHlFbmNvZGluZyx0aWR5TnVtYmVyLHRpZHlSZXBlYXQsdGlkeVN0cmluZworCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5hY2Nlc3NpYmlsaXR5LWNoZWNrIgkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5hZGQteG1sLWRlY2wiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5hZGQteG1sLXBpIgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeYWRkLXhtbC1zcGFjZSIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeYWx0LXRleHQiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5hc2NpaS1jaGFycyIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmFzc3VtZS14bWwtcHJvY2lucyIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeYmFyZSIJCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5icmVhay1iZWZvcmUtYnIiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmNoYXItZW5jb2RpbmciCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmNsZWFuIgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeY3NzLXByZWZpeCIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmRvY3R5cGUiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5kcm9wLWVtcHR5LXBhcmFzIgkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5kcm9wLWZvbnQtdGFncyIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeZHJvcC1wcm9wcmlldGFyeS1hdHRyaWJ1dGVzIgljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmVuY2xvc2UtYmxvY2stdGV4dCIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeZW5jbG9zZS10ZXh0IgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeZXJyb3ItZmlsZSIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmVzY2FwZS1jZGF0YSIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmZpeC1iYWNrc2xhc2giCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmZpeC1iYWQtY29tbWVudHMiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmZpeC11cmkiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5mb3JjZS1vdXRwdXQiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5nbnUtZW1hY3MiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5oaWRlLWNvbW1lbnRzIgkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5oaWRlLWVuZHRhZ3MiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5pbmRlbnQiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5pbmRlbnQtYXR0cmlidXRlcyIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeaW5kZW50LWNkYXRhIgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeaW5kZW50LXNwYWNlcyIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeaW5wdXQtZW5jb2RpbmciCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmlucHV0LXhtbCIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmpvaW4tY2xhc3NlcyIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmpvaW4tc3R5bGVzIgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJea2VlcC10aW1lIgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJebGFuZ3VhZ2UiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5saXRlcmFsLWF0dHJpYnV0ZXMiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmxvZ2ljYWwtZW1waGFzaXMiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXmxvd2VyLWxpdGVyYWxzIgkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5tYXJrdXAiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5uY3IiCQkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJebnVtZXJpYy1lbnRpdGllcyIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeb3V0cHV0LWJvbSIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXm91dHB1dC1lbmNvZGluZyIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJeb3V0cHV0LWh0bWwiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5vdXRwdXQteGh0bWwiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5vdXRwdXQteG1sIgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJecXVpZXQiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5xdW90ZS1hbXBlcnNhbmQiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXnF1b3RlLW1hcmtzIgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJecXVvdGUtbmJzcCIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXnJhdyIJCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5yZXBlYXRlZC1hdHRyaWJ1dGVzIgkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5yZXBsYWNlLWNvbG9yIgkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5zaG93LWJvZHktb25seSIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJec2hvdy1lcnJvcnMiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5zaG93LXdhcm5pbmdzIgkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl5zbGlkZS1zdHlsZSIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXnNwbGl0IgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJedGFiLXNpemUiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl50aWR5LW1hcmsiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl51cHBlcmNhc2UtYXR0cmlidXRlcyIJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJedXBwZXJjYXNlLXRhZ3MiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXndvcmQtMjAwMCIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXndyYXAiCQkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJed3JhcC1hc3AiCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU9wdGlvbgkJIl53cmFwLWF0dHJpYnV0ZXMiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXndyYXAtanN0ZSIJCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXndyYXAtcGhwIgkJCWNvbnRhaW5lZAorc3luIG1hdGNoCXRpZHlPcHRpb24JCSJed3JhcC1zY3JpcHQtbGl0ZXJhbHMiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXndyYXAtc2VjdGlvbnMiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5T3B0aW9uCQkiXndyaXRlLWJhY2siCQkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU5ld1RhZ09wdGlvbgkiXm5ldy1ibG9ja2xldmVsLXRhZ3MiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5TmV3VGFnT3B0aW9uCSJebmV3LWVtcHR5LXRhZ3MiCQljb250YWluZWQKK3N5biBtYXRjaAl0aWR5TmV3VGFnT3B0aW9uCSJebmV3LWlubGluZS10YWdzIgkJY29udGFpbmVkCitzeW4gbWF0Y2gJdGlkeU5ld1RhZ09wdGlvbgkiXm5ldy1wcmUtdGFncyIJCQljb250YWluZWQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdGlkeV9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF90aWR5X3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRpZHlCb29sZWFuCQlCb29sZWFuCisgIEhpTGluayB0aWR5Q29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgdGlkeURlbGltaXRlcgkJU3BlY2lhbAorICBIaUxpbmsgdGlkeURvY3R5cGUJCUNvbnN0YW50CisgIEhpTGluayB0aWR5RW5jb2RpbmcJCUNvbnN0YW50CisgIEhpTGluayB0aWR5TmV3VGFnRGVsaW1pdGVyCVNwZWNpYWwKKyAgSGlMaW5rIHRpZHlOZXdUYWdPcHRpb24JSWRlbnRpZmllcgorICBIaUxpbmsgdGlkeU5ld1RhZ1ZhbHVlCUNvbnN0YW50CisgIEhpTGluayB0aWR5TnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHRpZHlPcHRpb24JCUlkZW50aWZpZXIKKyAgSGlMaW5rIHRpZHlSZXBlYXQJCUNvbnN0YW50CisgIEhpTGluayB0aWR5U3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHRpZHlUb2RvCQlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRpZHkiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90aWxkZS52aW0gYi9ydW50aW1lL3N5bnRheC90aWxkZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY4ODA1MAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3RpbGRlLnZpbQpAQCAtMCwwICsxLDQxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBUaGlzIGZpbGUgd29ya3Mgb25seSBmb3IgVmltNi54CisiIExhbmd1YWdlOglUaWxkZQorIiBNYWludGFpbmVyOglUb2JpYXMgUnVuZHN0cvZtIDx0b2JpQHRpbGRlc29mdHdhcmUubmV0PgorIiBVUkw6CQlodHRwOi8vd3d3LnRpbGRlc29mdHdhcmUubmV0CisiIENWUzoJCSRJZCQKKworaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisidGlsZGUgZG9zZW50IGNhcmUgLi4uCitzeW4gY2FzZSBpZ25vcmUKKworc3luIG1hdGNoCXRpbGRlRnVuY3Rpb24JIlx+W2Etel8wLTldXCsibXM9cysxCitzeW4gcmVnaW9uCXRpbGRlUGFyZW4Jc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9dGlsZGVTdHJpbmcsdGlsZGVOdW1iZXIsdGlsZGVWYXJpYWJsZSx0aWxkZUZpZWxkLHRpbGRlU3ltdGFiLHRpbGRlRnVuY3Rpb24sdGlsZGVQYXJlbix0aWxkZUhleE51bWJlcix0aWxkZU9wZXJhdG9yCitzeW4gcmVnaW9uCXRpbGRlU3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGtlZXBlbmQKK3N5biByZWdpb24JdGlsZGVTdHJpbmcJY29udGFpbmVkIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rJysga2VlcGVuZAorc3luIG1hdGNoCXRpbGRlTnVtYmVyCSJcZCIgY29udGFpbmVkCitzeW4gbWF0Y2gJdGlsZGVPcGVyYXRvcgkib3JcfGFuZCIgY29udGFpbmVkCitzeW4gbWF0Y2gJdGlsZGVIZXhOdW1iZXIgICIweFthLXowLTldXCsiIGNvbnRhaW5lZAorc3luIG1hdGNoCXRpbGRlVmFyaWFibGUJIiRbYS16XzAtOV1cKyIgY29udGFpbmVkCitzeW4gbWF0Y2gJdGlsZGVGaWVsZAkiJVthLXpfMC05XVwrIiBjb250YWluZWQKK3N5biBtYXRjaAl0aWxkZVN5bXRhYgkiQFthLXpfMC05XVwrIiBjb250YWluZWQKK3N5biBtYXRjaAl0aWxkZUNvbW1lbnQJIl4jLioiCitzeW4gcmVnaW9uCXRpbGRlQ3VybHkJc3RhcnQ9K3srIGVuZD0rfSsgY29udGFpbmVkIGNvbnRhaW5zPXRpbGRlTEcsdGlsZGVTdHJpbmcsdGlsZGVOdW1iZXIsdGlsZGVWYXJpYWJsZSx0aWxkZUZpZWxkLHRpbGRlRnVuY3Rpb24sdGlsZGVTeW10YWIsdGlsZGVIZXhOdW1iZXIKK3N5biBtYXRjaAl0aWxkZUxHCQkiPT4iIGNvbnRhaW5lZAorCisKK2hpIGRlZiBsaW5rCXRpbGRlQ29tbWVudAlDb21tZW50CitoaSBkZWYgbGluawl0aWxkZUZ1bmN0aW9uCU9wZXJhdG9yCitoaSBkZWYgbGluawl0aWxkZU9wZXJhdG9yCU9wZXJhdG9yCitoaSBkZWYgbGluawl0aWxkZVN0cmluZwlTdHJpbmcKK2hpIGRlZiBsaW5rCXRpbGRlTnVtYmVyCU51bWJlcgoraGkgZGVmIGxpbmsJdGlsZGVIZXhOdW1iZXIJTnVtYmVyCitoaSBkZWYgbGluawl0aWxkZVZhcmlhYmxlCUlkZW50aWZpZXIKK2hpIGRlZiBsaW5rCXRpbGRlRmllbGQJSWRlbnRpZmllcgoraGkgZGVmIGxpbmsJdGlsZGVTeW10YWIJSWRlbnRpZmllcgoraGkgZGVmIGxpbmsJdGlsZGVFcnJvcglFcnJvcgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0aWxkZSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RsaS52aW0gYi9ydW50aW1lL3N5bnRheC90bGkudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2ODVhNmMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC90bGkudmltCkBAIC0wLDAgKzEsNzEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglUZWFsSW5mbyBzb3VyY2UgZmlsZXMgKCoudGxpKQorIiBNYWludGFpbmVyOglLdXJ0IFcuIEFuZHJld3MgPGthbmRyZXdzQGZhc3RyYW5zLm5ldD4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDEwCisiIFZlcnNpb246ICAgICAgMS4wCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBUZWFsSW5mbyBPYmplY3RzCisKK3N5biBrZXl3b3JkIHRsaU9iamVjdCBMSVNUIFBPUExJU1QgV0lORE9XIFBPUFdJTkRPVyBPVVRMSU5FIENIRUNLTUFSSyBHT1RPCitzeW4ga2V5d29yZCB0bGlPYmplY3QgTEFCRUwgSU1BR0UgUkVDVCBUUkVTIFBBU1NXT1JEIFBPUEVESVQgUE9QSU1BR0UgQ0hFQ0tMSVNUCisKKyIgVGVhbEluZm8gRmllbGRzCisKK3N5biBrZXl3b3JkIHRsaUZpZWxkIFggWSBXIEggQlggQlkgQlcgQkggU1ggU1kgRk9OVCBCRk9OVCBDWUNMRSBERUxBWSBUQUJTCitzeW4ga2V5d29yZCB0bGlGaWVsZCBTVFlMRSBCVEVYVCBSRUNPUkQgREFUQUJBU0UgS0VZIFRBUkdFVCBERUZBVUxUIFRFWFQKK3N5biBrZXl3b3JkIHRsaUZpZWxkIExJTktTIE1BWFZBTAorCisiIFRlYWxJbmZvIFN0eWxlcworCitzeW4ga2V5d29yZCB0bGlTdHlsZSBJTlZFUlRFRCBIT1JJWl9SVUxFIFZFUlRfUlVMRSBOT19TQ1JPTEwgTk9fQk9SREVSIEJPTERfQk9SREVSCitzeW4ga2V5d29yZCB0bGlTdHlsZSBST1VORF9CT1JERVIgQUxJR05fUklHSFQgQUxJR05fQ0VOVEVSIEFMSUdOX0xFRlRfU1RBUlQgQUxJR05fUklHSFRfU1RBUlQKK3N5biBrZXl3b3JkIHRsaVN0eWxlIEFMSUdOX0NFTlRFUl9TVEFSVCBBTElHTl9MRUZUX0VORCBBTElHTl9SSUdIVF9FTkQgQUxJR05fQ0VOVEVSX0VORAorc3luIGtleXdvcmQgdGxpU3R5bGUgTE9DS09VVCBCVVRUT05fU0NST0xMIEJVVFRPTl9TRUxFQ1QgU1RST0tFX0ZJTkQgRklMTEVEIFJFR0lTVEVSCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29uc3RhbnRzCisKK3N5biBtYXRjaCB0bGlTcGVjaWFsCSJAIgorc3luIHJlZ2lvbiB0bGlTdHJpbmcJc3RhcnQ9KyIrIGVuZD0rIisKKworIlRlYWxJbmZvIE51bWJlcnMsIGlkZW50aWZpZXJzIGFuZCBjb21tZW50cworCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCB0bGlOdW1iZXIJIlxkKiIKK3N5biBtYXRjaCB0bGlJZGVudGlmaWVyCSJcPFxoXHcqXD4iCitzeW4gbWF0Y2ggdGxpQ29tbWVudAkiIy4qIgorc3luIGNhc2UgbWF0Y2gKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdGxpX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3RsaV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB0bGlOdW1iZXIJTnVtYmVyCisgIEhpTGluayB0bGlTdHJpbmcJU3RyaW5nCisgIEhpTGluayB0bGlDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIHRsaVNwZWNpYWwJU3BlY2lhbENoYXIKKyAgSGlMaW5rIHRsaUlkZW50aWZpZXIgSWRlbnRpZmllcgorICBIaUxpbmsgdGxpT2JqZWN0ICAgICBTdGF0ZW1lbnQKKyAgSGlMaW5rIHRsaUZpZWxkICAgICAgVHlwZQorICBIaUxpbmsgdGxpU3R5bGUgICAgICBQcmVQcm9jCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRsaSIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RyYXN5cy52aW0gYi9ydW50aW1lL3N5bnRheC90cmFzeXMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmZWNjMWMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC90cmFzeXMudmltCkBAIC0wLDAgKzEsMTc3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIFRSQVNZUyBpbnB1dCBmaWxlCisiIE1haW50YWluZXI6ICAgQWRyaWFuIE5hZ2xlLCBhbmFnbGVAYmFsbC5jb20KKyIgTGFzdCBDaGFuZ2U6ICAyMDAzIE1heSAxMQorIiBGaWxlbmFtZXM6ICAgICouaW5wCisiIFVSTDoJCWh0dHA6Ly93d3cubmFnbGVuZXQub3JnL3ZpbS9zeW50YXgvdHJhc3lzLnZpbQorIiBNQUlOIFVSTDogICAgIGh0dHA6Ly93d3cubmFnbGVuZXQub3JnL3ZpbS8KKworCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworCisiIEZvcmNlIGZyZWUtZm9ybSBmb3J0cmFuIGZvcm1hdAorbGV0IGZvcnRyYW5fZnJlZV9zb3VyY2U9MQorCisiIExvYWQgRk9SVFJBTiBzeW50YXggZmlsZQoraWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvZm9ydHJhbi52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2ZvcnRyYW4udmltCitlbmRpZgordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCisKKyIgSWdub3JlIGNhc2UKK3N5biBjYXNlIGlnbm9yZQorCisKKworIiBEZWZpbmUga2V5d29yZHMgZm9yIFRSQVNZUworc3luIGtleXdvcmQgdHJhc3lzT3B0aW9ucyAgICBtb2RlbCByc3JlYyBpbmZvIG1heGZsIG5vZ28gZG1wZG9jCitzeW4ga2V5d29yZCB0cmFzeXNPcHRpb25zICAgIHJzaSBydGkgcnNvIHJ0byBiY2RvdSBjbWVyZyBlbWVyZworc3luIGtleXdvcmQgdHJhc3lzT3B0aW9ucyAgICB1c2VyMSBubm1pbiBlcnBsb3QKKworc3luIGtleXdvcmQgdHJhc3lzU3VyZmFjZSAgICBpY3NuIHR4IHR5IHR6IHJvdHggcm90eSByb3R6IGluYyBiY3NuCitzeW4ga2V5d29yZCB0cmFzeXNTdXJmYWNlICAgIG5ueCBubnkgbm56IG5uYXggbm5yIG5udGggdW5ueAorc3luIGtleXdvcmQgdHJhc3lzU3VyZmFjZSAgICB1bm55IHVubnogdW5uYXggdW5uciB1bm50aCB0eXBlIGlkdXBzZgorc3luIGtleXdvcmQgdHJhc3lzU3VyZmFjZSAgICBpbWFnc2YgYWN0IGFjdGl2ZSBjb20gc2hhZGUgYnNoYWRlIGF4bWluCitzeW4ga2V5d29yZCB0cmFzeXNTdXJmYWNlICAgIGF4bWF4IHptaW4gem1heCBybWluIHJtYXggdGhtaW4gdGhtaW4KK3N5biBrZXl3b3JkIHRyYXN5c1N1cmZhY2UgICAgdGhtYXggYWxwaGEgZW1pc3MgdHJhbmkgdHJhbnMgc3ByaSBzcHJzCitzeW4ga2V5d29yZCB0cmFzeXNTdXJmYWNlICAgIHJlZm5vIHBvc2l0IGNvbSBkdXBiY3MgZGltZW5zaW9ucworc3luIGtleXdvcmQgdHJhc3lzU3VyZmFjZSAgICBkaW1lbnNpb24gcG9zaXRpb24gcHJvcCBzdXJmbgorCitzeW4ga2V5d29yZCB0cmFzeXNTdXJmYWNlVHlwZSByZWN0IHRyYXAgZGlzayBjeWwgY29uZSBzcGhlcmUgcGFyYWIKK3N5biBrZXl3b3JkIHRyYXN5c1N1cmZhY2VUeXBlIGJveDUgYm94NiBzaHBlcm8gdG9yIG9naXYgZWxlbSB0YXBlIHBvbHkKKworc3luIGtleXdvcmQgdHJhc3lzU3VyZmFjZUFyZ3MgZmYgZGkgdG9wIGJvdHRvbSBpbiBvdXQgYm90aCBubyBvbmx5CisKK3N5biBrZXl3b3JkIHRyYXN5c0FyZ3MgICAgICAgZmlnIHNtbiBub2RlYSB6ZXJvIG9ubHkgaXIgc29sCitzeW4ga2V5d29yZCB0cmFzeXNBcmdzICAgICAgIGJvdGggd2JhbmQgc3RlcG4gaW5pdGwKKworc3luIGtleXdvcmQgdHJhc3lzT3BlcmF0aW9ucyBvcmJnZW4gYnVpbGQKKworInN5biBrZXl3b3JkIHRyYXN5c1N1YlJvdXRpbmUgY2FsbAorc3luIGtleXdvcmQgdHJhc3lzU3ViUm91dGluZSBjaGdibGsgbmRhdGEgbmRhdGFzIG9kYXRhIG9kYXRhcworc3luIGtleXdvcmQgdHJhc3lzU3ViUm91dGluZSBwbGR0YSBmZmRhdGEgY21kYXRhIGFkc3VyZiByYmRhdGEKK3N5biBrZXl3b3JkIHRyYXN5c1N1YlJvdXRpbmUgcnRkYXRhIHBmZnNoZCBvcmJpdDEgb3JiaXQyIG9yaWVudAorc3luIGtleXdvcmQgdHJhc3lzU3ViUm91dGluZSBkaWR0MSBkaWR0MXMgZGlkdDIgZGlkdDJzIHNwaW4KK3N5biBrZXl3b3JkIHRyYXN5c1N1YlJvdXRpbmUgc3BpbmF2IGRpY29tcCBkaXN0YWIgZHJkYXRhIGdiZGF0YQorc3luIGtleXdvcmQgdHJhc3lzU3ViUm91dGluZSBnYmFwcnggcmtkYXRhIHJjZGF0YSBhcWRhdGEgc3RmYXEKK3N5biBrZXl3b3JkIHRyYXN5c1N1YlJvdXRpbmUgcW9kYXRhIHFvaW5pdCBtb2RhciBtb2RwciBtb2R0cgorc3luIGtleXdvcmQgdHJhc3lzU3ViUm91dGluZSBtb2RwcnMgbW9kc2hkIG1vZGRhdCByc3RvZmYgcnN0b24KK3N5biBrZXl3b3JkIHRyYXN5c1N1YlJvdXRpbmUgcnNtZXJnIGZmcmVhZCBkaXJlYWQgZmZ1c3IxIGRpdXNyMQorc3luIGtleXdvcmQgdHJhc3lzU3ViUm91dGluZSBzdXJmcCBkaWR0MyBkaWR0M3Mgcm9tYWluIHN0ZnJjCitzeW4ga2V5d29yZCB0cmFzeXNTdWJSb3V0aW5lIHJvcm50IHJvY3N0ciByb21vdmUgZmx4ZGF0YSB0aXRsZQorCitzeW4ga2V5d29yZCB0cmFzc3lQcmNzclNlZ20gIG5wbG90IG9wbG90IHBsb3QgY21jYWwgZmZjYWwgcmJjYWwKK3N5biBrZXl3b3JkIHRyYXNzeVByY3NyU2VnbSAgcnRjYWwgZGljYWwgZHJjYWwgc2ZjYWwgZ2JjYWwgcmNjYWwKK3N5biBrZXl3b3JkIHRyYXNzeVByY3NyU2VnbSAgcmtjYWwgYXFjYWwgcW9jYWwKKworCisKKyIgRGVmaW5lIG1hdGNoZXMgZm9yIFRSQVNZUworc3luIG1hdGNoICB0cmFzeXNPcHRpb25zICAgICAibGlzdCBzb3VyY2UiCitzeW4gbWF0Y2ggIHRyYXN5c09wdGlvbnMgICAgICJzYXZlIHNvdXJjZSIKK3N5biBtYXRjaCAgdHJhc3lzT3B0aW9ucyAgICAgIm5vIHByaW50IgorCisic3luIG1hdGNoICB0cmFzeXNTdXJmYWNlICAgICAiXksgKi4qIFteJF0iCisic3luIG1hdGNoICB0cmFzeXNTdXJmYWNlICAgICAiXkQgKlswLTldKlwuWzAtOV1cKyIKKyJzeW4gbWF0Y2ggIHRyYXN5c1N1cmZhY2UgICAgICJeSSAqLipbMC05XVwrXC5cPSIKKyJzeW4gbWF0Y2ggIHRyYXN5c1N1cmZhY2UgICAgICJeTiAqWzAtOV1cKyIKKyJzeW4gbWF0Y2ggIHRyYXN5c1N1cmZhY2UgICAgICJeTSAqW2EteltBLVowLTldXCsiCisic3luIG1hdGNoICB0cmFzeXNTdXJmYWNlICAgICAiXkJbQ11bU10gKlthLXpBLVowLTldKiIKKyJzeW4gbWF0Y2ggIHRyYXN5c1N1cmZhY2UgICAgICJeUyAqU1VSRk4uKlswLTldIgorc3luIG1hdGNoICB0cmFzeXNTdXJmYWNlICAgICAiUFswLTldKiAqPSJoZT1lLTEKKworc3luIG1hdGNoICB0cmFzeXNJZGVudGlmaWVyICAiXkwgImhlPWUtMQorc3luIG1hdGNoICB0cmFzeXNJZGVudGlmaWVyICAiXksgImhlPWUtMQorc3luIG1hdGNoICB0cmFzeXNJZGVudGlmaWVyICAiXkQgImhlPWUtMQorc3luIG1hdGNoICB0cmFzeXNJZGVudGlmaWVyICAiXkkgImhlPWUtMQorc3luIG1hdGNoICB0cmFzeXNJZGVudGlmaWVyICAiXk4gImhlPWUtMQorc3luIG1hdGNoICB0cmFzeXNJZGVudGlmaWVyICAiXk0gImhlPWUtMQorc3luIG1hdGNoICB0cmFzeXNJZGVudGlmaWVyICAiXkJbQ11bU10iCitzeW4gbWF0Y2ggIHRyYXN5c0lkZW50aWZpZXIgICJeUyAiaGU9ZS0xCisKK3N5biBtYXRjaCAgdHJhc3lzQ29tbWVudCAgICAgIl5DLiokIgorc3luIG1hdGNoICB0cmFzeXNDb21tZW50ICAgICAiXlIuKiQiCitzeW4gbWF0Y2ggIHRyYXN5c0NvbW1lbnQgICAgICJcJC4qJCIKKworc3luIG1hdGNoICB0cmFzeXNIZWFkZXIgICAgICAiXmhlYWRlclteLF0qIgorCitzeW4gbWF0Y2ggIHRyYXN5c01hY3JvICAgICAgICJeRkFDIgorCitzeW4gbWF0Y2ggIHRyYXN5c0ludGVnZXIgICAgICItXD1cPFswLTldKlw+Igorc3luIG1hdGNoICB0cmFzeXNGbG9hdCAgICAgICAiLVw9XDxbMC05XSpcLlswLTldKiIKK3N5biBtYXRjaCAgdHJhc3lzU2NpZW50aWZpYyAgIi1cPVw8WzAtOV0qXC5bMC05XSpFWy0rXVw9WzAtOV1cK1w+IgorCitzeW4gbWF0Y2ggIHRyYXN5c0JsYW5rICAgICAgICInIFwrJyJocz1zKzEsaGU9ZS0xCisKK3N5biBtYXRjaCAgdHJhc3lzRW5kRGF0YSAgICAgIl5FTkQgT0YgREFUQSIKKworaWYgZXhpc3RzKCJ0aGVybWFsX3RvZG8iKQorICBleGVjdXRlICdzeW4gbWF0Y2ggIHRyYXN5c1RvZG8gJyAuICciXicudGhlcm1hbF90b2RvLicuKiQiJworZWxzZQorICBzeW4gbWF0Y2ggIHRyYXN5c1RvZG8gICJePy4qJCIKK2VuZGlmCisKKworCisiIERlZmluZSByZWdpb25zIGZvciBUUkFTWVMKK3N5biByZWdpb24gdHJhc3lzQ29tbWVudCAgbWF0Y2hncm91cD10cmFzeXNIZWFkZXIgc3RhcnQ9Il5IRUFERVIgRE9DVU1FTlRBVElPTiBEQVRBIiBlbmQ9Il5IRUFERVJbXixdKiIKKworCisKKyIgRGVmaW5lIHN5bmNocm9uaXppbmcgcGF0dGVybnMgZm9yIFRSQVNZUworc3luIHN5bmMgbWF4bGluZXM9NTAwCitzeW4gc3luYyBtYXRjaCB0cmFzeXNTeW5jIGdyb3VwaGVyZSB0cmFzeXNDb21tZW50ICJeSEVBREVSIERPQ1VNRU5UQVRJT04gREFUQSIKKworCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdHJhc3lzX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3RyYXN5c19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB0cmFzeXNPcHRpb25zCQlTcGVjaWFsCisgIEhpTGluayB0cmFzeXNTdXJmYWNlCQlTcGVjaWFsCisgIEhpTGluayB0cmFzeXNTdXJmYWNlVHlwZQlDb25zdGFudAorICBIaUxpbmsgdHJhc3lzU3VyZmFjZUFyZ3MJQ29uc3RhbnQKKyAgSGlMaW5rIHRyYXN5c0FyZ3MJCUNvbnN0YW50CisgIEhpTGluayB0cmFzeXNPcGVyYXRpb25zCVN0YXRlbWVudAorICBIaUxpbmsgdHJhc3lzU3ViUm91dGluZQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHRyYXNzeVByY3NyU2VnbQlQcmVQcm9jCisgIEhpTGluayB0cmFzeXNJZGVudGlmaWVyCUlkZW50aWZpZXIKKyAgSGlMaW5rIHRyYXN5c0NvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHRyYXN5c0hlYWRlcgkJVHlwZWRlZgorICBIaUxpbmsgdHJhc3lzTWFjcm8JCU1hY3JvCisgIEhpTGluayB0cmFzeXNJbnRlZ2VyCQlOdW1iZXIKKyAgSGlMaW5rIHRyYXN5c0Zsb2F0CQlGbG9hdAorICBIaUxpbmsgdHJhc3lzU2NpZW50aWZpYwlGbG9hdAorCisgIEhpTGluayB0cmFzeXNCbGFuawkJU3BlY2lhbENoYXIKKworICBIaUxpbmsgdHJhc3lzRW5kRGF0YQkJTWFjcm8KKworICBIaUxpbmsgdHJhc3lzVG9kbwkJVG9kbworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRyYXN5cyIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdHNhbHQudmltIGIvcnVudGltZS9zeW50YXgvdHNhbHQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2ZjE3NTUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC90c2FsdC52aW0KQEAgLTAsMCArMSwyMTQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglUZWxpeCAoTW9kZW0gQ29tbSBQcm9ncmFtKSBTQUxUIFNjcmlwdAorIiBNYWludGFpbmVyOglTZWFuIE0uIE1jS2VlIDxtY2tlZUBtaXNzbGluay5uZXQ+CisiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQorIiBWZXJzaW9uIEluZm86IEAoIyl0c2FsdC52aW0JMS41CTk3LzEyLzE2IDA4OjExOjE1CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiB0dXJuIGNhc2UgbWF0Y2hpbmcgb2ZmCitzeW4gY2FzZSBpZ25vcmUKKworIkZVTkNUSU9OUworIiBDaGFyYWN0ZXIgSGFuZGxpbmcgRnVuY3Rpb25zCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCUlzQXNjaWkgSXNBbE51bSBJc0FscGhhIElzQ250cmwgSXNEaWdpdAorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglJc0xvd2VyIElzVXBwZXIgVG9Mb3dlciBUb1VwcGVyCisKKyIgQ29ubmVjdCBEZXZpY2UgT3BlcmF0aW9ucworc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglDYXJyaWVyIGNJbnBfQ250IGNHZXRDIGNHZXRDVCBjUHV0QyBjUHV0Tgorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbgljUHV0UyBjUHV0U19UUiBGbHVzaEJ1ZiBHZXRfQmF1ZAorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglHZXRfRGF0YUIgR2V0X1BvcnQgR2V0X1N0b3BCIEhhbmd1cAorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglLaWxsQ29ubmVjdERldmljZSBNYWtlQ29ubmVjdERldmljZQorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglTZW5kX0JyayBTZXRfQ29ubmVjdERldmljZSBTZXRfUG9ydAorCisiIEZpbGUgSW5wdXQvT3V0cHV0IE9wZXJhdGlvbnMKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JZkNsZWFyRXJyIGZDbG9zZSBmRGVsZXRlIGZFcnJvciBmRU9GIGZGbHVzaAorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglmR2V0QyBmR2V0UyBGaWxlQXR0ciBGaWxlRmluZCBGaWxlU2l6ZQorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglGaWxlVGltZSBmblN0cmlwIGZPcGVuIGZQdXRDIGZQdXRTIGZSZWFkCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCWZSZW5hbWUgZlNlZWsgZlRlbGwgZldyaXRlCisKKyIgRmlsZSBUcmFuc2ZlcnMgYW5kIExvZ3MKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JQ2FwdHVyZSBDYXB0dXJlX1N0YXQgUHJpbnRlciBSZWNlaXZlIFNlbmQKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JU2V0X0RlZlByb3QgVXNhZ2VMb2cgVXNhZ2VfU3RhdCBVU3RhbXAKKworIiBJbnB1dCBTdHJpbmcgTWF0Y2hpbmcKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JVHJhY2sgVHJhY2tfQWRkQ2hyIFRyYWNrX0ZyZWUgVHJhY2tfSGl0CitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCVdhaXRGb3IKKworIiBLZXlib2FyZCBPcGVyYXRpb25zCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCUluS2V5IEluS2V5VyBLZXlHZXQgS2V5TG9hZCBLZXlTYXZlIEtleVNldAorCisiIE1pc2NlbGxhbmVvdXMgRnVuY3Rpb25zCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCUNoYXRNb2RlIERvcyBEaWFsIERvc0Z1bmN0aW9uIEV4aXRUZWxpeAorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglHZXRFbnYgR2V0Rm9uIEhlbHBTY3JlZW4gTG9hZEZvbiBOZXdEaXIKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JUmFuZG9uIFJlZGlhbCBSZWRpcmVjdERPUyBSdW4KK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JU2V0X1Rlcm1pbmFsIFNob3dfRGlyZWN0b3J5IFRlbGl4VmVyc2lvbgorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglUZXJtaW5hbCBUcmFuc1RhYiBVcGRhdGVfVGVybQorCisiIFNjcmlwdCBNYW5hZ2VtZW50CitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCUFyZ0NvdW50IENhbGwgQ2FsbEQgQ29tcGlsZVNjcmlwdCBHZXRSdW5QYXRoCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCUlzX0xvYWRlZCBMb2FkX1NjciBTY3JpcHRWZXJzaW9uCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCVRlbGl4Rm9yV2luZG93cyBVbmxvYWRfU2NyCisKKyIgU291bmQgRnVuY3Rpb25zCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCUFsYXJtIFBsYXlXYXZlIFRvbmUKKworIiBTdHJpbmcgSGFuZGxpbmcKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JQ29weUNocnMgQ29weVN0ciBEZWxDaHJzIEdldFMgR2V0U1hZCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCUlucHV0Qm94IEluc0NocnMgSXRvUyBTZXRDaHIgU3RvSSBTdHJDYXQKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JU3RyQ2hyIFN0ckNvbXBJIFN0ckxlbiBTdHJMb3dlciBTdHJNYXhMZW4KK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JU3RyUG9zIFN0clBvc0kgU3RyVXBwZXIgU3ViQ2hyIFN1YkNocnMKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JU3ViU3RyCisKKyIgVGltZSwgRGF0ZSwgYW5kIFRpbWVyIE9wZXJhdGlvbnMKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JQ3VyVGltZSBEYXRlIERlbGF5IERlbGF5X1NjciBHZXRfT25saW5lVGltZQorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbgl0RGF5IHRIb3VyIHRNaW4gdE1vbnRoIHRTZWMgdFllYXIgVGltZQorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglUaW1lX1VwIFRpbWVyX0ZyZWUgVGltZV9SZXN0YXJ0CitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCVRpbWVfU3RhcnQgVGltZV9Ub3RhbAorCisiIFZpZGVvIE9wZXJhdGlvbnMKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JQm94IENOZXdMaW5lIEN1cnNvcl9Pbk9mZiBDbGVhcl9TY3IKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JR2V0VGVybUhlaWdodCBHZXRUZXJtV2lkdGggR2V0WCBHZXRZCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCUdvdG9YWSBNc2dCb3ggTmV3TGluZSBQcmludEMgUHJpbnRDX1RybQorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglQcmludE4gUHJpbnROX1RybSBQcmludFMgUHJpbnRTX1RybQorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglQcmludFNDIFBSaW50U0NfVHJtCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCVBTdHJBIFBTdHJBWFkgU2Nyb2xsIFN0YXR1c19XaW5kIHZHZXRDaHIKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JdkdldENocnMgdkdldENocnNBICB2UHV0Q2hyIHZQdXRDaHJzCitzeW4ga2V5d29yZCB0c2FsdEZ1bmN0aW9uCXZQdXRDaHJzQSB2UnN0ckFyZWEgdlNhdmVBcmVhCisKKyIgRHluYW1pYyBEYXRhIEV4Y2hhbmdlIChEREUpIE9wZXJhdGlvbnMKK3N5biBrZXl3b3JkIHRzYWx0RnVuY3Rpb24JRERFRXhlY3V0ZSBEREVJbml0YXRlIERERVBva2UgRERFUmVxdWVzdAorc3luIGtleXdvcmQgdHNhbHRGdW5jdGlvbglEREVUZXJtaW5hdGUgRERFVGVybWluYXRlQWxsCisiRU5EIEZVTkNUSU9OUworCisiUFJFREVGSU5FRCBWQVJBSUFCTEVTCitzeW4ga2V5d29yZCB0c2FsdFN5c1ZhcglfYWRkX2xmIF9hbGFybV9vbiBfYW5zd2VyYmFja19zdHIgX2FzY19yY3J0cmFucworc3luIGtleXdvcmQgdHNhbHRTeXNWYXIJX2FzY19yZW1hYm9ydCBfYXNjX3JsZnRyYW5zIF9hc2Nfc2NwYWNpbmcKK3N5biBrZXl3b3JkIHRzYWx0U3lzVmFyCV9hc2Nfc2NydHJhbnMgX2FzY19zZWNobyBfYXNjX3NscGFjaW5nCitzeW4ga2V5d29yZCB0c2FsdFN5c1ZhcglfYXNjX3NwYWNlY2hyIF9hc2Nfc3RyaXBoIF9iYWNrX2NvbG9yCitzeW4ga2V5d29yZCB0c2FsdFN5c1ZhcglfY2FwdHVyZV9mbmFtZSBfY29ubmVjdF9zdHIgX2Rlc3RfYnMKK3N5biBrZXl3b3JkIHRzYWx0U3lzVmFyCV9kaWFsX3BhdXNlIF9kaWFsX3RpbWUgX2RpYWxfcG9zdAorc3luIGtleXdvcmQgdHNhbHRTeXNWYXIJX2RpYWxfcHJlZjEgX2RpYWxfcHJlZjIgX2RpYWxfcHJlZjMKK3N5biBrZXl3b3JkIHRzYWx0U3lzVmFyCV9kaWFsX3ByZWY0IF9kaXJfcHJvZyBfZG93bl9kaXIKK3N5biBrZXl3b3JkIHRzYWx0U3lzVmFyCV9lbnRyeV9iYnN0eXBlIF9lbnRyeV9jb21tZW50IF9lbnRyeV9lbnVtCitzeW4ga2V5d29yZCB0c2FsdFN5c1ZhcglfZW50cnlfbmFtZSBfZW50cnlfbnVtIF9lbnRyeV9sb2dvbm5hbWUKK3N5biBrZXl3b3JkIHRzYWx0U3lzVmFyCV9lbnRyeV9wYXNzIF9mb3JlX2NvbG9yIF9pbWFnZV9maWxlCitzeW4ga2V5d29yZCB0c2FsdFN5c1ZhcglfbG9jYWxfZWNobyBfbWRtX2hhbmdfc3RyIF9tZG1faW5pdF9zdHIKK3N5biBrZXl3b3JkIHRzYWx0U3lzVmFyCV9ub19jb25uZWN0MSBfbm9fY29ubmVjdDIgX25vX2Nvbm5lY3QzCitzeW4ga2V5d29yZCB0c2FsdFN5c1Zhcglfbm9fY29ubmVjdDQgX25vX2Nvbm5lY3Q1IF9yZWRpYWxfc3RvcAorc3luIGtleXdvcmQgdHNhbHRTeXNWYXIJX3Njcl9jaGtfa2V5IF9zY3JpcHRfZGlyIF9zb3VuZF9vbgorc3luIGtleXdvcmQgdHNhbHRTeXNWYXIJX3N0cmlwX2hpZ2ggX3N3YXBfYnMgX3RlbGl4X2RpciBfdXBfZGlyCitzeW4ga2V5d29yZCB0c2FsdFN5c1ZhcglfdXNhZ2VfZm5hbWUgX3ptb2RhdXRvIF96bW9kX3JjcmFzaAorc3luIGtleXdvcmQgdHNhbHRTeXNWYXIJX3ptb2Rfc2NyYXNoCisiRU5EIFBSRURFRklORUQgVkFSQUlBQkxFUworCisiVFlQRQorc3luIGtleXdvcmQgdHNhbHRUeXBlCXN0ciBpbnQKKyJFTkQgVFlQRQorCisiS0VZV09SRFMKK3N5biBrZXl3b3JkIHRzYWx0U3RhdGVtZW50CWdvdG8gYnJlYWsgcmV0dXJuIGNvbnRpbnVlCitzeW4ga2V5d29yZCB0c2FsdENvbmRpdGlvbmFsCWlmIHRoZW4gZWxzZQorc3luIGtleXdvcmQgdHNhbHRSZXBlYXQJCXdoaWxlIGZvciBkbworIkVORCBLRVlXT1JEUworCitzeW4ga2V5d29yZCB0c2FsdFRvZG8gY29udGFpbmVkCVRPRE8KKworIiB0aGUgcmVzdCBpcyBwcmV0dHkgY2xvc2UgdG8gQyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnN0YW50cworIiBIaWdobGlnaHQgc3BlY2lhbCBjaGFyYWN0ZXJzICh0aG9zZSB3aGljaCBoYXZlIGEgYmFja3NsYXNoKSBkaWZmZXJlbnRseQorc3luIG1hdGNoIHRzYWx0U3BlY2lhbAkJY29udGFpbmVkICJcXlxkXGRcZFx8XF4uIgorc3luIHJlZ2lvbiB0c2FsdFN0cmluZwkJc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrICBjb250YWlucz10c2FsdFNwZWNpYWwKK3N5biBtYXRjaCB0c2FsdENoYXJhY3RlcgkiJ1teXFxdJyIKK3N5biBtYXRjaCB0c2FsdFNwZWNpYWxDaGFyYWN0ZXIJIidcXC4nIgorCisiY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcworc3luIHJlZ2lvbiB0c2FsdFBhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQsdHNhbHRQYXJlbkVycm9yLHRzYWx0SW5jbHVkZWQsdHNhbHRTcGVjaWFsLHRzYWx0VG9kbworc3luIG1hdGNoIHRzYWx0UGFyZW5FcnJvcgkJIikiCitzeW4gbWF0Y2ggdHNhbHRJblBhcmVuCQljb250YWluZWQgIlt7fV0iCisKK2hpIGxpbmsgdHNhbHRQYXJlbkVycm9yCQl0c2FsdEVycm9yCitoaSBsaW5rIHRzYWx0SW5QYXJlbgkJdHNhbHRFcnJvcgorCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90IGFuZCB3aXRoICJmIi4KK3N5biBtYXRjaCAgdHNhbHROdW1iZXIJCSJcPFxkXCtcKHVcPWxcPVx8bHVcfGZcKVw+IgorImZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CitzeW4gbWF0Y2ggIHRzYWx0RmxvYXQJCSJcPFxkXCtcLlxkKlwoZVstK11cPVxkXCtcKVw9W2ZsXVw9XD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90LCBvcHRpb25hbCBleHBvbmVudAorc3luIG1hdGNoICB0c2FsdEZsb2F0CQkiXC5cZFwrXChlWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4cG9uZW50CitzeW4gbWF0Y2ggIHRzYWx0RmxvYXQJCSJcPFxkXCtlWy0rXVw9XGRcK1tmbF1cPVw+IgorImhleCBudW1iZXIKK3N5biBtYXRjaCAgdHNhbHROdW1iZXIJCSIweFswLTlhLWZdXCtcKHVcPWxcPVx8bHVcKVw+IgorInN5biBtYXRjaCAgY0lkZW50aWZpZXIJIlw8W2Etel9dW2EtejAtOV9dKlw+IgorCitzeW4gcmVnaW9uIHRzYWx0Q29tbWVudAkJc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIiBjb250YWlucz1jVG9kbworc3luIG1hdGNoICB0c2FsdENvbW1lbnQJCSIvLy4qIiBjb250YWlucz1jVG9kbworc3luIG1hdGNoICB0c2FsdENvbW1lbnRFcnJvcgkiXCovIgorCitzeW4gcmVnaW9uIHRzYWx0UHJlQ29uZGl0CXN0YXJ0PSJeWyBcdF0qI1sgXHRdKlwoaWZcPlx8aWZkZWZcPlx8aWZuZGVmXD5cfGVsaWZcPlx8ZWxzZVw+XHxlbmRpZlw+XCkiICBza2lwPSJcXCQiICBlbmQ9IiQiIGNvbnRhaW5zPXRzYWx0Q29tbWVudCx0c2FsdFN0cmluZyx0c2FsdENoYXJhY3Rlcix0c2FsdE51bWJlcix0c2FsdENvbW1lbnRFcnJvcgorc3luIHJlZ2lvbiB0c2FsdEluY2x1ZGVkCWNvbnRhaW5lZCBzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisKK3N5biBtYXRjaCAgdHNhbHRJbmNsdWRlZAljb250YWluZWQgIjxbXj5dKj4iCitzeW4gbWF0Y2ggIHRzYWx0SW5jbHVkZQkJIl5bIFx0XSojWyBcdF0qaW5jbHVkZVw+WyBcdF0qWyI8XSIgY29udGFpbnM9dHNhbHRJbmNsdWRlZAorInN5biBtYXRjaCAgVGVsaXhTYWx5TGluZVNraXAJIlxcJCIKK3N5biByZWdpb24gdHNhbHREZWZpbmUJCXN0YXJ0PSJeWyBcdF0qI1sgXHRdKlwoZGVmaW5lXD5cfHVuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPUFMTEJVVCx0c2FsdFByZUNvbmRpdCx0c2FsdEluY2x1ZGVkLHRzYWx0SW5jbHVkZSx0c2FsdERlZmluZSx0c2FsdEluUGFyZW4KK3N5biByZWdpb24gdHNhbHRQcmVQcm9jCQlzdGFydD0iXlsgXHRdKiNbIFx0XSpcKHByYWdtYVw+XHxsaW5lXD5cfHdhcm5pbmdcPlx8d2Fyblw+XHxlcnJvclw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsdHNhbHRQcmVDb25kaXQsdHNhbHRJbmNsdWRlZCx0c2FsdEluY2x1ZGUsdHNhbHREZWZpbmUsdHNhbHRJblBhcmVuCisKKyIgSGlnaGxpZ2h0IFVzZXIgTGFiZWxzCitzeW4gcmVnaW9uIHRzYWx0TXVsdGkJdHJhbnNwYXJlbnQgc3RhcnQ9Jz8nIGVuZD0nOicgY29udGFpbnM9QUxMQlVULHRzYWx0SW5jbHVkZWQsdHNhbHRTcGVjaWFsLHRzYWx0VG9kbworCitzeW4gc3luYyBjY29tbWVudCB0c2FsdENvbW1lbnQKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90c2FsdF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF90c2FsdF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisJSGlMaW5rIHRzYWx0RnVuY3Rpb24JCVN0YXRlbWVudAorCUhpTGluayB0c2FsdFN5c1ZhcgkJVHlwZQorCSJIaUxpbmsgdHNhbHRMaWJGdW5jCQlVc2VyRGVmRnVuYworCSJIaUxpbmsgdHNhbHRDb25zdGFudHMJCVR5cGUKKwkiSGlMaW5rIHRzYWx0RnVuY0FyZwkJVHlwZQorCSJIaUxpbmsgdHNhbHRPcGVyYXRvcgkJT3BlcmF0b3IKKwkiSGlMaW5rIHRzYWx0TGFiZWwJCUxhYmVsCisJIkhpTGluayB0c2FsdFVzZXJMYWJlbAkJTGFiZWwKKwlIaUxpbmsgdHNhbHRDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKwlIaUxpbmsgdHNhbHRSZXBlYXQJCVJlcGVhdAorCUhpTGluayB0c2FsdENoYXJhY3RlcgkJU3BlY2lhbENoYXIKKwlIaUxpbmsgdHNhbHRTcGVjaWFsQ2hhcmFjdGVyCVNwZWNpYWxDaGFyCisJSGlMaW5rIHRzYWx0TnVtYmVyCQlOdW1iZXIKKwlIaUxpbmsgdHNhbHRGbG9hdAkJRmxvYXQKKwlIaUxpbmsgdHNhbHRDb21tZW50RXJyb3IJdHNhbHRFcnJvcgorCUhpTGluayB0c2FsdEluY2x1ZGUJCUluY2x1ZGUKKwlIaUxpbmsgdHNhbHRQcmVQcm9jCQlQcmVQcm9jCisJSGlMaW5rIHRzYWx0RGVmaW5lCQlNYWNybworCUhpTGluayB0c2FsdEluY2x1ZGVkCQl0c2FsdFN0cmluZworCUhpTGluayB0c2FsdEVycm9yCQlFcnJvcgorCUhpTGluayB0c2FsdFN0YXRlbWVudAkJU3RhdGVtZW50CisJSGlMaW5rIHRzYWx0UHJlQ29uZGl0CQlQcmVDb25kaXQKKwlIaUxpbmsgdHNhbHRUeXBlCQlUeXBlCisJSGlMaW5rIHRzYWx0U3RyaW5nCQlTdHJpbmcKKwlIaUxpbmsgdHNhbHRDb21tZW50CQlDb21tZW50CisJSGlMaW5rIHRzYWx0U3BlY2lhbAkJU3BlY2lhbAorCUhpTGluayB0c2FsdFRvZG8JCVRvZG8KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidHNhbHQiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90c3NjbC52aW0gYi9ydW50aW1lL3N5bnRheC90c3NjbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZjMThjNgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3Rzc2NsLnZpbQpAQCAtMCwwICsxLDIxNyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICBUU1MgKFRoZXJtYWwgU3ludGhlc2l6ZXIgU3lzdGVtKSBDb21tYW5kIExpbmUKKyIgTWFpbnRhaW5lcjogICBBZHJpYW4gTmFnbGUsIGFuYWdsZUBiYWxsLmNvbQorIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIEZpbGVuYW1lczogICAgKi50c3NjbAorIiBVUkw6CQlodHRwOi8vd3d3Lm5hZ2xlbmV0Lm9yZy92aW0vc3ludGF4L3Rzc2NsLnZpbQorIiBNQUlOIFVSTDogICAgIGh0dHA6Ly93d3cubmFnbGVuZXQub3JnL3ZpbS8KKworCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworCisKKyIgSWdub3JlIGNhc2UKK3N5biBjYXNlIGlnbm9yZQorCisKKworIgorIgorIiBCZWdpbiBzeW50YXggZGVmaW5pdGlvbnMgZm9yIHRzcyBnZW9tdGVyeSBmaWxlLgorIgorCisiIExvYWQgVFNTIGdlb21ldHJ5IHN5bnRheCBmaWxlCisic291cmNlICRWSU0vbXl2aW0vdHNzZ20udmltCisic291cmNlICRWSU1SVU5USU1FL3N5bnRheC9jLnZpbQorCisiIERlZmluZSBrZXl3b3JkcyBmb3IgVFNTCitzeW4ga2V5d29yZCB0c3NjbENvbW1hbmQgIGJlZ2luIHJhZGsgbGlzdCBoZWF0cmF0ZXMgYXR0ciBkcmF3CisKK3N5biBrZXl3b3JkIHRzc2NsS2V5d29yZCAgIGNlbGxzIHJheXMgZXJyb3Igbm9kZXMgbGV2ZWxzIG9iamVjdHMgY3B1CitzeW4ga2V5d29yZCB0c3NjbEtleXdvcmQgICB1bml0cyBsZW5ndGggcG9zaXRpb25zIGVuZXJneSB0aW1lIHVuaXQgc29sYXIKK3N5biBrZXl3b3JkIHRzc2NsS2V5d29yZCAgIHNvbGFyX2NvbnN0YW50IGFsYmVkbyBwbGFuZXRfcG93ZXIKKworc3luIGtleXdvcmQgdHNzY2xFbmQgICAgZXhpdAorCitzeW4ga2V5d29yZCB0c3NjbFVuaXRzICBjbSBmZWV0IG1ldGVycyBpbmNoZXMKK3N5biBrZXl3b3JkIHRzc2NsVW5pdHMgIENlbHNpdXMgS2VsdmluIEZhaHJlbmhlaXQgUmFua2luZQorCisKKworIiBEZWZpbmUgbWF0Y2hlcyBmb3IgVFNTCitzeW4gbWF0Y2ggIHRzc2NsU3RyaW5nICAgIC8iW14iXVwrIi8gY29udGFpbnM9QUxMQlVULHRzc0ludGVnZXIsdHNzY2xLZXl3b3JkLHRzc2NsQ29tbWFuZCx0c3NjbEVuZCx0c3NjbFVuaXRzCisKK3N5biBtYXRjaCAgdHNzY2xDb21tZW50ICAgICAiIy4qJCIKKworIiAgcmF0aW9uYWwgYW5kIGxvZ2ljYWwgb3BlcmF0b3JzCisiICA8ICAgICAgIExlc3MgdGhhbgorIiAgPiAgICAgICBHcmVhdGVyIHRoYW4KKyIgIDw9ICAgICAgTGVzcyB0aGFuIG9yIGVxdWFsCisiICA+PSAgICAgIEdyZWF0ZXIgdGhhbiBvciBlcXVhbAorIiAgPT0gb3IgPSBFcXVhbCB0bworIiAgIT0gICAgICBOb3QgZXF1YWwgdG8KKyIgICYmIG9yICYgTG9naWNhbCBBTkQKKyIgIHx8IG9yIHwgTG9naWNhbCBPUgorIiAgISAgICAgICBMb2dpY2FsIE5PVAorIgorIiBhbGdlYnJhaWMgb3BlcmF0b3JzOgorIiAgXiBvciAqKiBFeHBvbmVudGF0aW9uCisiICAqICAgICAgIE11bHRpcGxpY2F0aW9uCisiICAvICAgICAgIERpdmlzaW9uCisiICAlICAgICAgIFJlbWFpbmRlcgorIiAgKyAgICAgICBBZGRpdGlvbgorIiAgLSAgICAgICBTdWJ0cmFjdGlvbgorIgorc3luIG1hdGNoICB0c3NjbE9wZXIgICAgICAifHxcfHxcfCYmXHwmXHwhPVx8IVx8Pj1cfDw9XHw+XHw8XHwrXHwtXHxeXHxcKlwqXHxcKlx8L1x8JVx8PT1cfD1cfFwuIiBza2lwd2hpdGUKKworIiBDTEkgRGlyZWN0aXZlIENvbW1hbmRzLCB3aXRoIGFyZ3VtZW50cworIgorIiBCQVNJQyBDT01NQU5EIExJU1QKKyIgKkFERCBpbnB1dF9zb3VyY2UKKyIgKkFSSVRITUVUSUMgeyBbT05dIHwgT0ZGIH0KKyIgKkNMT1NFIHVuaXRfbnVtYmVyCisiICpDUFUKKyIgKkRFRklORQorIiAqRUNIT1svcXVhbGlmaWVyc10geyBbT05dIHwgT0ZGIH0KKyIgKkVMU0UgW0lGIHsgMCB8IDEgfSBdCisiICpFTkQgeyBJRiB8IFdISUxFIH0KKyIgKkVYSVQKKyIgKklGIHsgMCB8IDEgfQorIiAqTElTVC9uIGxpc3QgdmFyaWFibGUKKyIgKk9QRU5bL3IgfCAvcisgfCAvdyB8IC93KyBdIHVuaXRfbnVtYmVyIGZpbGVfbmFtZQorIiAqUFJPTVBUIHByb21wdF9zdHJpbmcgc3lib2xfbmFtZQorIiAqUkVBRC91bml0PXVuaXRfbnVtYmVyWy9MT0NBTCB8IC9HTE9CQUwgXSBzeW0xIFtzeW0yLCBbc3ltMyAuLi5dXQorIiAqUkVXSU5ECisiICpTVE9QCisiICpTVFJDTVAgc3RyaW5nXzEgc3RyaW5nXzIgZGlmZmVyZW5jZQorIiAqU1lTVEVNIGNvbW1hbmQKKyIgKlVOREVGSU5FWy9MT0NBTF1bL0dMT0JBTF0gc3ltYm9sX25hbWUKKyIgKldISUxFIHsgMCB8IDEgfQorIiAqV1JJVEVbL3VuaXQ9dW5pdF9udW1iZXJdIG91dHB1dCB0ZXh0CisiCitzeW4gbWF0Y2ggIHRzc2NsRGlyZWN0aXZlICJcKkFERCIKK3N5biBtYXRjaCAgdHNzY2xEaXJlY3RpdmUgIlwqQVJJVEhNRVRJQyBcK1woT05cfE9GRlwpIgorc3luIG1hdGNoICB0c3NjbERpcmVjdGl2ZSAiXCpDTE9TRSIKK3N5biBtYXRjaCAgdHNzY2xEaXJlY3RpdmUgIlwqQ1BVIgorc3luIG1hdGNoICB0c3NjbERpcmVjdGl2ZSAiXCpERUZJTkUiCitzeW4gbWF0Y2ggIHRzc2NsRGlyZWN0aXZlICJcKkVDSE8iCitzeW4gbWF0Y2ggIHRzc2NsQ29uZGl0aW9uYWwgIlwqRUxTRSIKK3N5biBtYXRjaCAgdHNzY2xDb25kaXRpb25hbCAiXCpFTkQgXCtcKElGXHxXSElMRVwpIgorc3luIG1hdGNoICB0c3NjbERpcmVjdGl2ZSAiXCpFWElUIgorc3luIG1hdGNoICB0c3NjbENvbmRpdGlvbmFsICJcKklGIgorc3luIG1hdGNoICB0c3NjbERpcmVjdGl2ZSAiXCpMSVNUIgorc3luIG1hdGNoICB0c3NjbERpcmVjdGl2ZSAiXCpPUEVOIgorc3luIG1hdGNoICB0c3NjbERpcmVjdGl2ZSAiXCpQUk9NUFQiCitzeW4gbWF0Y2ggIHRzc2NsRGlyZWN0aXZlICJcKlJFQUQiCitzeW4gbWF0Y2ggIHRzc2NsRGlyZWN0aXZlICJcKlJFV0lORCIKK3N5biBtYXRjaCAgdHNzY2xEaXJlY3RpdmUgIlwqU1RPUCIKK3N5biBtYXRjaCAgdHNzY2xEaXJlY3RpdmUgIlwqU1RSQ01QIgorc3luIG1hdGNoICB0c3NjbERpcmVjdGl2ZSAiXCpTWVNURU0iCitzeW4gbWF0Y2ggIHRzc2NsRGlyZWN0aXZlICJcKlVOREVGSU5FIgorc3luIG1hdGNoICB0c3NjbENvbmRpdGlvbmFsICJcKldISUxFIgorc3luIG1hdGNoICB0c3NjbERpcmVjdGl2ZSAiXCpXUklURSIKKworc3luIG1hdGNoICB0c3NjbENvbnRDaGFyICAiLSQiCisKKyIgQyBsaWJyYXJ5IGZ1bmN0b2lucworIiBCZXNzZWwgZnVuY3Rpb25zIChqbiwgeW4pCisiIEVycm9yIGFuZCBjb21wbGVtZW50YXJ5IGVycm9yIGZ1Y3Rpb25zIChlcmYsIGVyZmMpCisiIEV4cG9uZW50aWFsIGZ1bmN0aW9ucyAoZXhwKQorIiBMb2dyaXRobSAobG9nLCBsb2cxMCkKKyIgUG93ZXIgKHBvdykKKyIgU3F1YXJlIHJvb3QgKHNxcnQpCisiIEZsb29yIChmbG9vcikKKyIgQ2VpbGluZyAoY2VpbCkKKyIgRmxvYXRpbmcgcG9pbnQgcmVtYWluZGVyIChmbW9kKQorIiBGbG9hdGluZyBwb2ludCBhYnNvbHV0ZSB2YWx1ZSAoZmFicykKKyIgR2FtbWEgKGdhbW1hKQorIiBFdWNsaWRlYW4gZGlzdGFuY2UgZnVuY3Rpb24gKGh5cG90KQorIiBIcGVyYm9saWMgZnVuY3Rpb25zIChzaW5oLCBjb3NoLCB0YW5oKQorIiBUcmlnb21ldHJpYyBmdW5jdGlvbnMgaW4gcmFkaWFucyAoc2luLCBjb3MsIHRhbiwgYXNpbiwgYWNvcywgYXRhbiwgYXRhbjIpCisiIFRyaWdvbWV0cmljIGZ1bmN0aW9ucyBpbiBkZWdyZWVzIChzaW5kLCBjb3NkLCB0YW5kLCBhc2luZCwgYWNvc2QsIGF0YW5kLAorIiAgICBhdGFuMmQpCisiCisiIGxvY2FsIHZhcmlhbGJsZXM6IGNsX2FyZzEsIGNsX2FyZzIsIGV0Yy4gKGNsX2FyZyBpcyBhbiBhcnJheSBvZiBhcmd1bWVudHMpCisiIGNsX2FyZ3MgaXMgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyIKKyIKKyIgSS9POiAqUFJPTVBULCAqV1JJVEUsICpSRUFECisiCisiIENvbmRpdGlvbmFsIGJyYW5jaGluZzoKKyIgSUYsIEVMU0UgSUYsIEVORAorIiAqSUYgdmFsdWUgICAgICAgKklGIEk9PTEwCisiICpFTFNFIElGIHZhbHVlICAqRUxTRSBJRiBJPDEwCisiICpFTFNFCQkgICpFTFNFCisiICpFTkRJRgkgICpFTkRJRgorIgorIgorIiBJdGVyYXRpdmUgbG9vcGluZzoKKyIgV0hJTEUKKyIgKldISUxFIHRlc3QKKyIgLi4uLi4KKyIgKkVORCBXSElMRQorIgorIgorIiBFWEFNUExFOgorIiAqREVGSU5FIEkgPSAxCisiICpXSElMRSAoSSA8PSAxMCkKKyIgICAgKldSSVRFIEkgPSAnSScKKyIgICAgKkRFRklORSBJID0gKEkgKyAxKQorIiAqRU5EIFdISUxFCisiCisKK3N5biBtYXRjaCAgdHNzY2xRdWFsaWZpZXIgIi9bXi8gXVwrImhzPXMrMQorc3luIG1hdGNoICB0c3NjbFN5bWJvbCAgICAiJ1xTXCsnIgorInN5biBtYXRjaCAgdHNzY2xTeW1ib2wyICAgIiBcU1wrICIgY29udGFpbmVkCisKK3N5biBtYXRjaCAgdHNzY2xJbnRlZ2VyICAgICAiLVw9XDxbMC05XSpcPiIKK3N5biBtYXRjaCAgdHNzY2xGbG9hdCAgICAgICAiLVw9XDxbMC05XSpcLlswLTldKiIKK3N5biBtYXRjaCAgdHNzY2xTY2llbnRpZmljICAiLVw9XDxbMC05XSpcLlswLTldKkVbLStdXD1bMC05XVwrXD4iCisKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Rzc2NsX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3Rzc2NsX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRzc2NsQ29tbWFuZAkJU3RhdGVtZW50CisgIEhpTGluayB0c3NjbEtleXdvcmQJCVNwZWNpYWwKKyAgSGlMaW5rIHRzc2NsRW5kCQlNYWNybworICBIaUxpbmsgdHNzY2xVbml0cwkJU3BlY2lhbAorCisgIEhpTGluayB0c3NjbENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHRzc2NsRGlyZWN0aXZlCQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHRzc2NsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHRzc2NsQ29udENoYXIJCU1hY3JvCisgIEhpTGluayB0c3NjbFF1YWxpZmllcgkJVHlwZWRlZgorICBIaUxpbmsgdHNzY2xTeW1ib2wJCUlkZW50aWZpZXIKKyAgSGlMaW5rIHRzc2NsU3ltYm9sMgkJU3ltYm9sCisgIEhpTGluayB0c3NjbFN0cmluZwkJU3RyaW5nCisgIEhpTGluayB0c3NjbE9wZXIJCU9wZXJhdG9yCisKKyAgSGlMaW5rIHRzc2NsSW50ZWdlcgkJTnVtYmVyCisgIEhpTGluayB0c3NjbEZsb2F0CQlOdW1iZXIKKyAgSGlMaW5rIHRzc2NsU2NpZW50aWZpYwlOdW1iZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0c3NjbCIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdHNzZ20udmltIGIvcnVudGltZS9zeW50YXgvdHNzZ20udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4MTgyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC90c3NnbS52aW0KQEAgLTAsMCArMSwxMTEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgVFNTIChUaGVybWFsIFN5bnRoZXNpemVyIFN5c3RlbSkgR2VvbWV0cnkKKyIgTWFpbnRhaW5lcjogICBBZHJpYW4gTmFnbGUsIGFuYWdsZUBiYWxsLmNvbQorIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCisiIEZpbGVuYW1lczogICAgKi50c3NnbQorIiBVUkw6CQlodHRwOi8vd3d3Lm5hZ2xlbmV0Lm9yZy92aW0vc3ludGF4L3Rzc2dtLnZpbQorIiBNQUlOIFVSTDogICAgIGh0dHA6Ly93d3cubmFnbGVuZXQub3JnL3ZpbS8KKworCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworCisKKyIgSWdub3JlIGNhc2UKK3N5biBjYXNlIGlnbm9yZQorCisKKworIgorIgorIiBCZWdpbiBzeW50YXggZGVmaW5pdGlvbnMgZm9yIHRzcyBnZW9tdGVyeSBmaWxlLgorIgorCisiIERlZmluZSBrZXl3b3JkcyBmb3IgVFNTCitzeW4ga2V5d29yZCB0c3NnbVBhcmFtICB1bml0cyBtaXJyb3IgcGFyYW0gYWN0aXZlIHNpZGVzIHN1Ym1vZGVsIGluY2x1ZGUKK3N5biBrZXl3b3JkIHRzc2dtUGFyYW0gIGljb25kdWN0b3IgbmJldGEgbmdhbW1hIG9wdGljcyBtYXRlcmlhbCB0aGlja25lc3MgY29sb3IKK3N5biBrZXl3b3JkIHRzc2dtUGFyYW0gIGluaXRpYWxfdGVtcAorc3luIGtleXdvcmQgdHNzZ21QYXJhbSAgaW5pdGlhbF9pZCBub2RlX2lkcyBub2RlX2FkZCBub2RlX3R5cGUKK3N5biBrZXl3b3JkIHRzc2dtUGFyYW0gIGdhbW1hX2JvdW5kYXJpZXMgZ2FtbWFfYWRkIGJldGFfYm91bmRhcmllcworc3luIGtleXdvcmQgdHNzZ21QYXJhbSAgcDEgcDIgcDMgcDQgcDUgcDYgcm90MSByb3QyIHJvdDMgdHggdHkgdHoKKworc3luIGtleXdvcmQgdHNzZ21TdXJmVHlwZSAgcmVjdGFuZ2xlIHRyYXBlem9pZCBkaXNjIGVsbGlwc2UgdHJpYW5nbGUKK3N5biBrZXl3b3JkIHRzc2dtU3VyZlR5cGUgIHBvbHlnb24gY3lsaW5kZXIgY29uZSBzcGhlcmUgZWxsaXBpYy1jb25lCitzeW4ga2V5d29yZCB0c3NnbVN1cmZUeXBlICBvZ2l2ZSB0b3J1cyBib3ggcGFyYWJvbG9pZCBoeXBlcmJvbG9pZCBlbGxpcHNvaWQKK3N5biBrZXl3b3JkIHRzc2dtU3VyZlR5cGUgIHF1YWRyaWxhdGVyYWwgdHJhcGV6aW9kCisKK3N5biBrZXl3b3JkIHRzc2dtQXJncyAgIE9VVCBJTiBET1dOIEJPVEggRE9VQkxFIE5PTkUgU0lOR0xFIFJBREsgQ0MgRkVDQworc3luIGtleXdvcmQgdHNzZ21BcmdzICAgd2hpdGUgcmVkIGJsdWUgZ3JlZW4geWVsbG93IG9yYW5nZSB2aW9sZXQgcGluaworc3luIGtleXdvcmQgdHNzZ21BcmdzICAgdHVycXVvaXNlIGdyZXkgYmxhY2sKK3N5biBrZXl3b3JkIHRzc2dtQXJncyAgIEFyaXRobWV0aWMgQm91bmRhcnkgSGVhdGVyCisKK3N5biBrZXl3b3JkIHRzc2dtRGVsaW0gIGFzc2VtYmx5CisKK3N5biBrZXl3b3JkIHRzc2dtRW5kICAgIGVuZAorCitzeW4ga2V5d29yZCB0c3NnbVVuaXRzICBjbSBmZWV0IG1ldGVycyBpbmNoZXMKK3N5biBrZXl3b3JkIHRzc2dtVW5pdHMgIENlbHNpdXMgS2VsdmluIEZhaHJlbmhlaXQgUmFua2luZQorCisKKworIiBEZWZpbmUgbWF0Y2hlcyBmb3IgVFNTCitzeW4gbWF0Y2ggIHRzc2dtRGVmYXVsdCAgICAgIl5ERUZBVUxUL0xFTkdUSCA9IFwoZnRcfGluXHxjbVx8bVwpIgorc3luIG1hdGNoICB0c3NnbURlZmF1bHQgICAgICJeREVGQVVMVC9URU1QID0gW0NLRlJdIgorCitzeW4gbWF0Y2ggIHRzc2dtQ29tbWVudCAgICAgICAvY29tbWVudCBcKz0gXCsiLioiLyBjb250YWlucz10c3NQYXJhbSx0c3NnbUNvbW1lbnRTdHJpbmcKK3N5biBtYXRjaCAgdHNzZ21Db21tZW50U3RyaW5nIC8iLioiLyBjb250YWluZWQKKworc3luIG1hdGNoICB0c3NnbVN1cmZJZGVudCAgICIgXFNcK1wuXGRcKyBcPSQiCisKK3N5biBtYXRjaCAgdHNzZ21TdHJpbmcgICAgICAvIlteIiBdXCsiL21zPXMrMSxtZT1lLTEgY29udGFpbnM9QUxMQlVULHRzc0ludGVnZXIKKworc3luIG1hdGNoICB0c3NnbUFyZ3MJICAgIC8gPSBbeHl6XSwiL21zPXMrMyxtZT1lLTIKKworc3luIG1hdGNoICB0c3NnbUludGVnZXIgICAgICItXD1cPFswLTldKlw+Igorc3luIG1hdGNoICB0c3NnbUZsb2F0ICAgICAgICItXD1cPFswLTldKlwuWzAtOV0qIgorc3luIG1hdGNoICB0c3NnbVNjaWVudGlmaWMgICItXD1cPFswLTldKlwuWzAtOV0qRVstK11cPVswLTldXCtcPiIKKworCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZworIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdHNzZ21fc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdHNzZ21fc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgdHNzZ21QYXJhbQkJU3RhdGVtZW50CisgIEhpTGluayB0c3NnbVN1cmZUeXBlCQlUeXBlCisgIEhpTGluayB0c3NnbUFyZ3MJCVNwZWNpYWwKKyAgSGlMaW5rIHRzc2dtRGVsaW0JCVR5cGVkZWYKKyAgSGlMaW5rIHRzc2dtRW5kCQlNYWNybworICBIaUxpbmsgdHNzZ21Vbml0cwkJU3BlY2lhbAorCisgIEhpTGluayB0c3NnbURlZmF1bHQJCVNwZWNpYWxDb21tZW50CisgIEhpTGluayB0c3NnbUNvbW1lbnQJCVN0YXRlbWVudAorICBIaUxpbmsgdHNzZ21Db21tZW50U3RyaW5nCUNvbW1lbnQKKyAgSGlMaW5rIHRzc2dtU3VyZklkZW50CQlJZGVudGlmaWVyCisgIEhpTGluayB0c3NnbVN0cmluZwkJRGVsaW1pdGVyCisKKyAgSGlMaW5rIHRzc2dtSW50ZWdlcgkJTnVtYmVyCisgIEhpTGluayB0c3NnbUZsb2F0CQlGbG9hdAorICBIaUxpbmsgdHNzZ21TY2llbnRpZmljCUZsb2F0CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidHNzZ20iCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Rzc29wLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Rzc29wLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDE2ZGYwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdHNzb3AudmltCkBAIC0wLDAgKzEsODcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgVFNTIChUaGVybWFsIFN5bnRoZXNpemVyIFN5c3RlbSkgT3B0aWNzCisiIE1haW50YWluZXI6ICAgQWRyaWFuIE5hZ2xlLCBhbmFnbGVAYmFsbC5jb20KKyIgTGFzdCBDaGFuZ2U6ICAyMDAzIE1heSAxMQorIiBGaWxlbmFtZXM6ICAgICoudHNzb3AKKyIgVVJMOgkJaHR0cDovL3d3dy5uYWdsZW5ldC5vcmcvdmltL3N5bnRheC90c3NvcC52aW0KKyIgTUFJTiBVUkw6ICAgICBodHRwOi8vd3d3Lm5hZ2xlbmV0Lm9yZy92aW0vCisKKworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworCisiIElnbm9yZSBjYXNlCitzeW4gY2FzZSBpZ25vcmUKKworCisKKyIKKyIKKyIgQmVnaW4gc3ludGF4IGRlZmluaXRpb25zIGZvciB0c3Mgb3B0aWNzIGZpbGUuCisiCisKKyIgRGVmaW5lIGtleXdvcmRzIGZvciBUU1MKK3N5biBrZXl3b3JkIHRzc29wUGFyYW0gIGlyX2VwcyBpcl90cmFucyBpcl9zcGVjIGlyX3RzcGVjIGlyX3JlZnJhY3QKK3N5biBrZXl3b3JkIHRzc29wUGFyYW0gIHNvbF9lcHMgc29sX3RyYW5zIHNvbF9zcGVjIHNvbF90c3BlYyBzb2xfcmVmcmFjdAorc3luIGtleXdvcmQgdHNzb3BQYXJhbSAgY29sb3IKKworInN5biBrZXl3b3JkIHRzc29wUHJvcCAgIHByb3BlcnR5CisKK3N5biBrZXl3b3JkIHRzc29wQXJncyAgIHdoaXRlIHJlZCBibHVlIGdyZWVuIHllbGxvdyBvcmFuZ2UgdmlvbGV0IHBpbmsKK3N5biBrZXl3b3JkIHRzc29wQXJncyAgIHR1cnF1b2lzZSBncmV5IGJsYWNrCisKKworCisiIERlZmluZSBtYXRjaGVzIGZvciBUU1MKK3N5biBtYXRjaCAgdHNzb3BDb21tZW50ICAgICAgIC9jb21tZW50IFwrPSBcKyIuKiIvIGNvbnRhaW5zPXRzc29wUGFyYW0sdHNzb3BDb21tZW50U3RyaW5nCitzeW4gbWF0Y2ggIHRzc29wQ29tbWVudFN0cmluZyAvIi4qIi8gY29udGFpbmVkCisKK3N5biBtYXRjaCAgdHNzb3BQcm9wCSAgICAicHJvcGVydHkgIgorc3luIG1hdGNoICB0c3NvcFByb3AJICAgICJlZGl0L29wdGljICIKK3N5biBtYXRjaCAgdHNzb3BQcm9wTmFtZSAgICAiXnByb3BlcnR5IFxTXCsiIGNvbnRhaW5zPXRzc29wUHJvcAorc3luIG1hdGNoICB0c3NvcFByb3BOYW1lICAgICJeZWRpdC9vcHRpYyBcU1wrJCIgY29udGFpbnM9dHNzb3BQcm9wCisKK3N5biBtYXRjaCAgdHNzb3BJbnRlZ2VyICAgICAiLVw9XDxbMC05XSpcPiIKK3N5biBtYXRjaCAgdHNzb3BGbG9hdCAgICAgICAiLVw9XDxbMC05XSpcLlswLTldKiIKK3N5biBtYXRjaCAgdHNzb3BTY2llbnRpZmljICAiLVw9XDxbMC05XSpcLlswLTldKkVbLStdXD1bMC05XVwrXD4iCisKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Rzc29wX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3Rzc29wX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRzc29wUGFyYW0JCVN0YXRlbWVudAorICBIaUxpbmsgdHNzb3BQcm9wCQlJZGVudGlmaWVyCisgIEhpTGluayB0c3NvcEFyZ3MJCVNwZWNpYWwKKworICBIaUxpbmsgdHNzb3BDb21tZW50CQlTdGF0ZW1lbnQKKyAgSGlMaW5rIHRzc29wQ29tbWVudFN0cmluZwlDb21tZW50CisgIEhpTGluayB0c3NvcFByb3BOYW1lCQlUeXBlZGVmCisKKyAgSGlMaW5rIHRzc29wSW50ZWdlcgkJTnVtYmVyCisgIEhpTGluayB0c3NvcEZsb2F0CQlGbG9hdAorICBIaUxpbmsgdHNzb3BTY2llbnRpZmljCUZsb2F0CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidHNzb3AiCisKKyIgdmltOiB0cz04IHN3PTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3VjLnZpbSBiL3J1bnRpbWUvc3ludGF4L3VjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWFiMWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdWMudmltCkBAIC0wLDAgKzEsMTc4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJVW5yZWFsU2NyaXB0CisiIE1haW50YWluZXI6CU1hcmsgRmVycmVsbCA8bWFqb3JAY2hhb3RpY2RyZWFtcy5vcmc+CisiIFVSTDoJCWZ0cDovL2Z0cC5jaGFvdGljZHJlYW1zLm9yZy9wdWIvdXQvdmltL3VjLnZpbQorIiBDcmVkaXRzOglCYXNlZCBvbiB0aGUgamF2YS52aW0gc3ludGF4IGZpbGUgYnkgQ2xhdWRpbyBGbGVpbmVyCisiIExhc3QgY2hhbmdlOgkyMDAzIE1heSAzMQorCisiIFBsZWFzZSBjaGVjayA6aGVscCB1Yy52aW0gZm9yIGNvbW1lbnRzIG9uIHNvbWUgb2YgdGhlIG9wdGlvbnMgYXZhaWxhYmxlLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgc29tZSBjaGFyYWN0ZXJzIHRoYXQgY2Fubm90IGJlIGluIGEgVW5yZWFsU2NyaXB0IHByb2dyYW0gKG91dHNpZGUgYSBzdHJpbmcpCitzeW4gbWF0Y2ggdWNFcnJvciAiW1xcQGBdIgorc3luIG1hdGNoIHVjRXJyb3IgIjw8PFx8XC5cLlx8PT5cfDw+XHx8fD1cfCYmPVx8W14tXS0+XHxcKlwvIgorCisiIHdlIGRlZmluZSBpdCBoZXJlIHNvIHRoYXQgaW5jbHVkZWQgZmlsZXMgY2FuIHRlc3QgZm9yIGl0CitpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCisgIGxldCBtYWluX3N5bnRheD0ndWMnCitlbmRpZgorCitzeW50YXggY2FzZSBpZ25vcmUKKworIiBrZXl3b3JkIGRlZmluaXRpb25zCitzeW4ga2V5d29yZCB1Y0JyYW5jaAkgICAgICBicmVhayBjb250aW51ZQorc3luIGtleXdvcmQgdWNDb25kaXRpb25hbCAgICAgaWYgZWxzZSBzd2l0Y2gKK3N5biBrZXl3b3JkIHVjUmVwZWF0CSAgICAgIHdoaWxlIGZvciBkbyBmb3JlYWNoCitzeW4ga2V5d29yZCB1Y0Jvb2xlYW4JICAgICAgdHJ1ZSBmYWxzZQorc3luIGtleXdvcmQgdWNDb25zdGFudAkgICAgICBudWxsCitzeW4ga2V5d29yZCB1Y09wZXJhdG9yCSAgICAgIG5ldyBpbnN0YW5jZW9mCitzeW4ga2V5d29yZCB1Y1R5cGUJICAgICAgYm9vbGVhbiBjaGFyIGJ5dGUgc2hvcnQgaW50IGxvbmcgZmxvYXQgZG91YmxlCitzeW4ga2V5d29yZCB1Y1R5cGUJICAgICAgdm9pZCBQYXduIHNvdW5kIHN0YXRlIGF1dG8gZXhlYyBmdW5jdGlvbiBpcGFkZHIKK3N5biBrZXl3b3JkIHVjVHlwZQkgICAgICBFTGlnaHRUeXBlIGFjdG9yIGFtbW8gZGVmYXVsdHByb3BlcnRpZXMgYm9vbAorc3luIGtleXdvcmQgdWNUeXBlCSAgICAgIG5hdGl2ZSBub2V4cG9ydCB2YXIgb3V0IHZlY3RvciBuYW1lIGxvY2FsIHN0cmluZworc3luIGtleXdvcmQgdWNUeXBlCSAgICAgIGV2ZW50CitzeW4ga2V5d29yZCB1Y1N0YXRlbWVudCAgICAgICByZXR1cm4KK3N5biBrZXl3b3JkIHVjU3RvcmFnZUNsYXNzICAgIHN0YXRpYyBzeW5jaHJvbml6ZWQgdHJhbnNpZW50IHZvbGF0aWxlIGZpbmFsCitzeW4ga2V5d29yZCB1Y01ldGhvZERlY2wgICAgICBzeW5jaHJvbml6ZWQgdGhyb3dzCisKKyIgVW5yZWFsU2NyaXB0IGRlZmluZXMgY2xhc3NlcyBpbiBzb3J0YSBmc2NrZWQgdXAgZmFzaGlvbgorc3luIG1hdGNoICAgdWNDbGFzc0RlY2wgICAgICAgIl5bQ2NdbGFzc1tccyRdKlxTKltccyRdKmV4cGFuZHNbXHMkXSpcUyo7IiBjb250YWlucz11Y1NwZWNpYWwsdWNTcGVjaWFsQ2hhcix1Y0NsYXNzS2V5cworc3luIGtleXdvcmQgdWNDbGFzc0tleXMJICAgICAgY2xhc3MgZXhwYW5kcyBleHRlbmRzCitzeW4gbWF0Y2ggICB1Y0V4dGVybmFsCSAgICAgICJeXCNleGVjLioiIGNvbnRhaW5zPXVjQ29tbWVudFN0cmluZyx1Y051bWJlcgorc3luIGtleXdvcmQgdWNTY29wZURlY2wgICAgICAgcHVibGljIHByb3RlY3RlZCBwcml2YXRlIGFic3RyYWN0CisKKyIgVW5yZWFsU2NyaXB0IEZ1bmN0aW9ucworc3luIG1hdGNoICAgdWNGdW5jRGVmCSAgICAgICJeLipmdW5jdGlvblxzKltcKF0qIiBjb250YWlucz11Y1R5cGUsdWNTdG9yYWdlQ2xhc3MKK3N5biBtYXRjaCAgIHVjRXZlbnREZWYJICAgICAgIl4uKmV2ZW50XHMqW1woXSoiIGNvbnRhaW5zPXVjVHlwZSx1Y1N0b3JhZ2VDbGFzcworc3luIG1hdGNoICAgdWNDbGFzc0xhYmVsICAgICAgIlthLXpBLVowLTldKlwnW2EtekEtWjAtOV0qXCciIGNvbnRhaW5zPXVjQ2hhcmFjdGVyCisKK3N5biByZWdpb24gIHVjTGFiZWxSZWdpb24gICAgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dWNMYWJlbCBzdGFydD0iXDxjYXNlXD4iIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IjoiIGNvbnRhaW5zPXVjTnVtYmVyCitzeW4gbWF0Y2ggICB1Y1VzZXJMYWJlbCAgICAgICAiXlxzKltfJGEtekEtWl1bXyRhLXpBLVowLTlfXSpccyo6ImhlPWUtMSBjb250YWlucz11Y0xhYmVsCitzeW4ga2V5d29yZCB1Y0xhYmVsCSAgICAgIGRlZmF1bHQKKworIiBUaGUgZm9sbG93aW5nIGNsdXN0ZXIgY29udGFpbnMgYWxsIGphdmEgZ3JvdXBzIGV4Y2VwdCB0aGUgY29udGFpbmVkIG9uZXMKK3N5biBjbHVzdGVyIHVjVG9wIGNvbnRhaW5zPXVjRXh0ZXJuYWwsdWNFcnJvcix1Y0Vycm9yLHVjQnJhbmNoLHVjTGFiZWxSZWdpb24sdWNMYWJlbCx1Y0NvbmRpdGlvbmFsLHVjUmVwZWF0LHVjQm9vbGVhbix1Y0NvbnN0YW50LHVjVHlwZWRlZix1Y09wZXJhdG9yLHVjVHlwZSx1Y1R5cGUsdWNTdGF0ZW1lbnQsdWNTdG9yYWdlQ2xhc3MsdWNNZXRob2REZWNsLHVjQ2xhc3NEZWNsLHVjQ2xhc3NEZWNsLHVjQ2xhc3NEZWNsLHVjU2NvcGVEZWNsLHVjRXJyb3IsdWNFcnJvcjIsdWNVc2VyTGFiZWwsdWNDbGFzc0xhYmVsCisKKyIgQ29tbWVudHMKK3N5biBrZXl3b3JkIHVjVG9kbwkgICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCitzeW4gcmVnaW9uICB1Y0NvbW1lbnRTdHJpbmcgICAgY29udGFpbmVkIHN0YXJ0PSsiKyBlbmQ9KyIrIGVuZD0rXCovK21lPXMtMSxoZT1zLTEgY29udGFpbnM9dWNTcGVjaWFsLHVjQ29tbWVudFN0YXIsdWNTcGVjaWFsQ2hhcgorc3luIHJlZ2lvbiAgdWNDb21tZW50MlN0cmluZyAgIGNvbnRhaW5lZCBzdGFydD0rIisgIGVuZD0rJFx8IisgIGNvbnRhaW5zPXVjU3BlY2lhbCx1Y1NwZWNpYWxDaGFyCitzeW4gbWF0Y2ggICB1Y0NvbW1lbnRDaGFyYWN0ZXIgY29udGFpbmVkICInXFxbXiddXHsxLDZcfSciIGNvbnRhaW5zPXVjU3BlY2lhbENoYXIKK3N5biBtYXRjaCAgIHVjQ29tbWVudENoYXJhY3RlciBjb250YWluZWQgIidcXCcnIiBjb250YWlucz11Y1NwZWNpYWxDaGFyCitzeW4gbWF0Y2ggICB1Y0NvbW1lbnRDaGFyYWN0ZXIgY29udGFpbmVkICInW15cXF0nIgorc3luIHJlZ2lvbiAgdWNDb21tZW50CSAgICAgICBzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPXVjQ29tbWVudFN0cmluZyx1Y0NvbW1lbnRDaGFyYWN0ZXIsdWNOdW1iZXIsdWNUb2RvCitzeW4gbWF0Y2ggICB1Y0NvbW1lbnRTdGFyICAgICAgY29udGFpbmVkICJeXHMqXCpbXi9dIm1lPWUtMQorc3luIG1hdGNoICAgdWNDb21tZW50U3RhciAgICAgIGNvbnRhaW5lZCAiXlxzKlwqJCIKK3N5biBtYXRjaCAgIHVjTGluZUNvbW1lbnQgICAgICAiLy8uKiIgY29udGFpbnM9dWNDb21tZW50MlN0cmluZyx1Y0NvbW1lbnRDaGFyYWN0ZXIsdWNOdW1iZXIsdWNUb2RvCitoaSBsaW5rIHVjQ29tbWVudFN0cmluZyB1Y1N0cmluZworaGkgbGluayB1Y0NvbW1lbnQyU3RyaW5nIHVjU3RyaW5nCitoaSBsaW5rIHVjQ29tbWVudENoYXJhY3RlciB1Y0NoYXJhY3RlcgorCitzeW4gY2x1c3RlciB1Y1RvcCBhZGQ9dWNDb21tZW50LHVjTGluZUNvbW1lbnQKKworIiBtYXRjaCB0aGUgc3BlY2lhbCBjb21tZW50IC8qKi8KK3N5biBtYXRjaCAgIHVjQ29tbWVudAkgICAgICAgIi9cKlwqLyIKKworIiBTdHJpbmdzIGFuZCBjb25zdGFudHMKK3N5biBtYXRjaCAgIHVjU3BlY2lhbEVycm9yICAgICBjb250YWluZWQgIlxcLiIKKyJzeW4gbWF0Y2ggICB1Y1NwZWNpYWxDaGFyRXJyb3IgY29udGFpbmVkICJbXiddIgorc3luIG1hdGNoICAgdWNTcGVjaWFsQ2hhciAgICAgIGNvbnRhaW5lZCAiXFxcKFs0LTldXGRcfFswLTNdXGRcZFx8W1wiXFwnbnRicmZdXHx1XHhcezRcfVwpIgorc3luIHJlZ2lvbiAgdWNTdHJpbmcJICAgICAgIHN0YXJ0PSsiKyBlbmQ9KyIrICBjb250YWlucz11Y1NwZWNpYWxDaGFyLHVjU3BlY2lhbEVycm9yCitzeW4gbWF0Y2ggICB1Y1N0cmluZ0Vycm9yICAgICAgKyJcKFteIlxcXVx8XFwuXCkqJCsKK3N5biBtYXRjaCAgIHVjQ2hhcmFjdGVyICAgICAgICAiJ1teJ10qJyIgY29udGFpbnM9dWNTcGVjaWFsQ2hhcix1Y1NwZWNpYWxDaGFyRXJyb3IKK3N5biBtYXRjaCAgIHVjQ2hhcmFjdGVyICAgICAgICAiJ1xcJyciIGNvbnRhaW5zPXVjU3BlY2lhbENoYXIKK3N5biBtYXRjaCAgIHVjQ2hhcmFjdGVyICAgICAgICAiJ1teXFxdJyIKK3N5biBtYXRjaCAgIHVjTnVtYmVyCSAgICAgICAiXDxcKDBbMC03XSpcfDBbeFhdXHhcK1x8XGRcK1wpW2xMXVw9XD4iCitzeW4gbWF0Y2ggICB1Y051bWJlcgkgICAgICAgIlwoXDxcZFwrXC5cZCpcfFwuXGRcK1wpXChbZUVdWy0rXVw9XGRcK1wpXD1bZkZkRF1cPSIKK3N5biBtYXRjaCAgIHVjTnVtYmVyCSAgICAgICAiXDxcZFwrW2VFXVstK11cPVxkXCtbZkZkRF1cPVw+Igorc3luIG1hdGNoICAgdWNOdW1iZXIJICAgICAgICJcPFxkXCtcKFtlRV1bLStdXD1cZFwrXClcPVtmRmREXVw+IgorCisiIHVuaWNvZGUgY2hhcmFjdGVycworc3luIG1hdGNoICAgdWNTcGVjaWFsICJcXHVcZFx7NFx9IgorCitzeW4gY2x1c3RlciB1Y1RvcCBhZGQ9dWNTdHJpbmcsdWNDaGFyYWN0ZXIsdWNOdW1iZXIsdWNTcGVjaWFsLHVjU3RyaW5nRXJyb3IKKworIiBjYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2lzCitzeW4gcmVnaW9uICB1Y1BhcmVuCSAgICAgICB0cmFuc3BhcmVudCBzdGFydD0iKCIgZW5kPSIpIiBjb250YWlucz1AdWNUb3AsdWNQYXJlbgorc3luIG1hdGNoICAgdWNQYXJlbkVycm9yICAgICAgICIpIgoraGkgbGluayAgICAgdWNQYXJlbkVycm9yICAgICAgIHVjRXJyb3IKKworaWYgIWV4aXN0cygidWNfbWlubGluZXMiKQorICBsZXQgdWNfbWlubGluZXMgPSAxMAorZW5kaWYKK2V4ZWMgInN5biBzeW5jIGNjb21tZW50IHVjQ29tbWVudCBtaW5saW5lcz0iIC4gdWNfbWlubGluZXMKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdWNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdWNfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgdWNGdW5jRGVmCQkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHVjRXZlbnREZWYJCQlDb25kaXRpb25hbAorICBIaUxpbmsgdWNCcmFjZXMJCQlGdW5jdGlvbgorICBIaUxpbmsgdWNCcmFuY2gJCQlDb25kaXRpb25hbAorICBIaUxpbmsgdWNMYWJlbAkJCUxhYmVsCisgIEhpTGluayB1Y1VzZXJMYWJlbAkJCUxhYmVsCisgIEhpTGluayB1Y0NvbmRpdGlvbmFsCQkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIHVjUmVwZWF0CQkJUmVwZWF0CisgIEhpTGluayB1Y1N0b3JhZ2VDbGFzcwkJCVN0b3JhZ2VDbGFzcworICBIaUxpbmsgdWNNZXRob2REZWNsCQkJdWNTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIHVjQ2xhc3NEZWNsCQkJdWNTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIHVjU2NvcGVEZWNsCQkJdWNTdG9yYWdlQ2xhc3MKKyAgSGlMaW5rIHVjQm9vbGVhbgkJCUJvb2xlYW4KKyAgSGlMaW5rIHVjU3BlY2lhbAkJCVNwZWNpYWwKKyAgSGlMaW5rIHVjU3BlY2lhbEVycm9yCQkJRXJyb3IKKyAgSGlMaW5rIHVjU3BlY2lhbENoYXJFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHVjU3RyaW5nCQkJU3RyaW5nCisgIEhpTGluayB1Y0NoYXJhY3RlcgkJCUNoYXJhY3RlcgorICBIaUxpbmsgdWNTcGVjaWFsQ2hhcgkJCVNwZWNpYWxDaGFyCisgIEhpTGluayB1Y051bWJlcgkJCU51bWJlcgorICBIaUxpbmsgdWNFcnJvcgkJCUVycm9yCisgIEhpTGluayB1Y1N0cmluZ0Vycm9yCQkJRXJyb3IKKyAgSGlMaW5rIHVjU3RhdGVtZW50CQkJU3RhdGVtZW50CisgIEhpTGluayB1Y09wZXJhdG9yCQkJT3BlcmF0b3IKKyAgSGlMaW5rIHVjT3ZlckxvYWRlZAkJCU9wZXJhdG9yCisgIEhpTGluayB1Y0NvbW1lbnQJCQlDb21tZW50CisgIEhpTGluayB1Y0RvY0NvbW1lbnQJCQlDb21tZW50CisgIEhpTGluayB1Y0xpbmVDb21tZW50CQkJQ29tbWVudAorICBIaUxpbmsgdWNDb25zdGFudAkJCXVjQm9vbGVhbgorICBIaUxpbmsgdWNUeXBlZGVmCQkJVHlwZWRlZgorICBIaUxpbmsgdWNUb2RvCQkJCVRvZG8KKworICBIaUxpbmsgdWNDb21tZW50VGl0bGUJCQlTcGVjaWFsQ29tbWVudAorICBIaUxpbmsgdWNEb2NUYWdzCQkJU3BlY2lhbAorICBIaUxpbmsgdWNEb2NQYXJhbQkJCUZ1bmN0aW9uCisgIEhpTGluayB1Y0NvbW1lbnRTdGFyCQkJdWNDb21tZW50CisKKyAgSGlMaW5rIHVjVHlwZQkJCQlUeXBlCisgIEhpTGluayB1Y0V4dGVybmFsCQkJSW5jbHVkZQorCisgIEhpTGluayB1Y0NsYXNzS2V5cwkJCUNvbmRpdGlvbmFsCisgIEhpTGluayB1Y0NsYXNzTGFiZWwJCQlDb25kaXRpb25hbAorCisgIEhpTGluayBodG1sQ29tbWVudAkJCVNwZWNpYWwKKyAgSGlMaW5rIGh0bWxDb21tZW50UGFydAkJU3BlY2lhbAorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ1YyIKKworaWYgbWFpbl9zeW50YXggPT0gJ3VjJworICB1bmxldCBtYWluX3N5bnRheAorZW5kaWYKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3VpbC52aW0gYi9ydW50aW1lL3N5bnRheC91aWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYzRlOTUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC91aWwudmltCkBAIC0wLDAgKzEsODUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglNb3RpZiBVSUwgKFVzZXIgSW50ZXJmYWNlIExhbmd1YWdlKQorIiBNYWludGFpbmVyOglUaG9tYXMgS29laGxlciA8amVhbi1sdWNAcGljYXJkLmZyYW5rZW4uZGU+CisiIExhc3QgQ2hhbmdlOgkyMDAyIFNlcCAyMAorIiBVUkw6CQlodHRwOi8vamVhbmx1Yy1waWNhcmQuZGUvdmltL3N5bnRheC91aWwudmltCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQSBidW5jaCBvZiB1c2VmdWwga2V5d29yZHMKK3N5biBrZXl3b3JkIHVpbFR5cGUJYXJndW1lbnRzCWNhbGxiYWNrcwljb2xvcgorc3luIGtleXdvcmQgdWlsVHlwZQljb21wb3VuZF9zdHJpbmcJY29udHJvbHMJZW5kCitzeW4ga2V5d29yZCB1aWxUeXBlCWV4cG9ydGVkCWZpbGUJCWluY2x1ZGUKK3N5biBrZXl3b3JkIHVpbFR5cGUJbW9kdWxlCQlvYmplY3QJCXByb2NlZHVyZQorc3luIGtleXdvcmQgdWlsVHlwZQl1c2VyX2RlZmluZWQJeGJpdG1hcGZpbGUKKworc3luIGtleXdvcmQgdWlsVG9kbyBjb250YWluZWQJVE9ETworCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnRzdGFudHMKKyIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2ggaGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKK3N5biBtYXRjaCAgIHVpbFNwZWNpYWwgY29udGFpbmVkICJcXFxkXGRcZFx8XFwuIgorc3luIHJlZ2lvbiAgdWlsU3RyaW5nCQlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgIGNvbnRhaW5zPXVpbFNwZWNpYWwKK3N5biBtYXRjaCAgIHVpbENoYXJhY3RlcgkiJ1teXFxdJyIKK3N5biByZWdpb24gIHVpbFN0cmluZwkJc3RhcnQ9KycrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KycrICBjb250YWlucz11aWxTcGVjaWFsCitzeW4gbWF0Y2ggICB1aWxTcGVjaWFsQ2hhcmFjdGVyCSInXFwuJyIKK3N5biBtYXRjaCAgIHVpbFNwZWNpYWxTdGF0ZW1lbnQJIlhtW14gPSgpe31dKiIKK3N5biBtYXRjaCAgIHVpbFNwZWNpYWxGdW5jdGlvbgkiTXJtTmNyZWF0ZUNhbGxiYWNrIgorc3luIG1hdGNoICAgdWlsUmVzc291cmNlCSJYbU5bXiA9KCl7fV0qIgorCitzeW4gbWF0Y2ggIHVpbE51bWJlcgkJIi1cPVw8XGQqXC5cPVxkXCtcKGVcPWZcPVx8W3VVXVw9W2xMXVw9XClcPiIKK3N5biBtYXRjaCAgdWlsTnVtYmVyCQkiMFt4WF1bMC05YS1mQS1GXVwrXD4iCisKK3N5biByZWdpb24gdWlsQ29tbWVudAkJc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIiBjb250YWlucz11aWxUb2RvCitzeW4gbWF0Y2ggIHVpbENvbW1lbnQJCSIhLioiIGNvbnRhaW5zPXVpbFRvZG8KK3N5biBtYXRjaCAgdWlsQ29tbWVudEVycm9yCSJcKi8iCisKK3N5biByZWdpb24gdWlsUHJlQ29uZGl0CQlzdGFydD0iXiNccypcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XHxlbGlmXD5cfGVsc2VcPlx8ZW5kaWZcPlwpIiAgc2tpcD0iXFwkIiAgZW5kPSIkIiBjb250YWlucz11aWxDb21tZW50LHVpbFN0cmluZyx1aWxDaGFyYWN0ZXIsdWlsTnVtYmVyLHVpbENvbW1lbnRFcnJvcgorc3luIG1hdGNoICB1aWxJbmNsdWRlZCBjb250YWluZWQgIjxbXj5dKj4iCitzeW4gbWF0Y2ggIHVpbEluY2x1ZGUJCSJeI1xzKmluY2x1ZGVcc1wrLiIgY29udGFpbnM9dWlsU3RyaW5nLHVpbEluY2x1ZGVkCitzeW4gbWF0Y2ggIHVpbExpbmVTa2lwCQkiXFwkIgorc3luIHJlZ2lvbiB1aWxEZWZpbmUJCXN0YXJ0PSJeI1xzKlwoZGVmaW5lXD5cfHVuZGVmXD5cKSIgZW5kPSIkIiBjb250YWlucz11aWxMaW5lU2tpcCx1aWxDb21tZW50LHVpbFN0cmluZyx1aWxDaGFyYWN0ZXIsdWlsTnVtYmVyLHVpbENvbW1lbnRFcnJvcgorCitzeW4gc3luYyBjY29tbWVudCB1aWxDb21tZW50CisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3VpbF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF91aWxfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyAgSGlMaW5rIHVpbENoYXJhY3RlcgkJdWlsU3RyaW5nCisgIEhpTGluayB1aWxTcGVjaWFsQ2hhcmFjdGVyCXVpbFNwZWNpYWwKKyAgSGlMaW5rIHVpbE51bWJlcgkJdWlsU3RyaW5nCisgIEhpTGluayB1aWxDb21tZW50RXJyb3IJdWlsRXJyb3IKKyAgSGlMaW5rIHVpbEluY2x1ZGUJCXVpbFByZUNvbmRpdAorICBIaUxpbmsgdWlsRGVmaW5lCQl1aWxQcmVDb25kaXQKKyAgSGlMaW5rIHVpbEluY2x1ZGVkCQl1aWxTdHJpbmcKKyAgSGlMaW5rIHVpbFNwZWNpYWxGdW5jdGlvbgl1aWxSZXNzb3VyY2UKKyAgSGlMaW5rIHVpbFJlc3NvdXJjZQkJSWRlbnRpZmllcgorICBIaUxpbmsgdWlsU3BlY2lhbFN0YXRlbWVudAlLZXl3b3JkCisgIEhpTGluayB1aWxFcnJvcgkJRXJyb3IKKyAgSGlMaW5rIHVpbFByZUNvbmRpdAkJUHJlQ29uZGl0CisgIEhpTGluayB1aWxUeXBlCQlUeXBlCisgIEhpTGluayB1aWxTdHJpbmcJCVN0cmluZworICBIaUxpbmsgdWlsQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgdWlsU3BlY2lhbAkJU3BlY2lhbAorICBIaUxpbmsgdWlsVG9kbwkJVG9kbworCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInVpbCIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3ZhbGdyaW5kLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZhbGdyaW5kLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjNiNzkyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdmFsZ3JpbmQudmltCkBAIC0wLDAgKzEsOTkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiBWYWxncmluZCBNZW1vcnkgRGVidWdnZXIgT3V0cHV0CisiIE1haW50YWluZXI6IFJvZ2VyIEx1ZXRoaSA8cmxAaGVsbGdhdGUuY2g+CisiIFByb2dyYW0gVVJMOiBodHRwOi8vZGV2ZWwtaG9tZS5rZGUub3JnL35zZXdhcmRqLworIiBMYXN0IENoYW5nZTogMjAwMiBBcHIgMDcKKyIKKyIgTm90ZXM6IG1vc3RseSBiYXNlZCBvbiBzdHJhY2UudmltIGFuZCB4bWwudmltCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgbWF0Y2gKK3N5biBzeW5jIG1pbmxpbmVzPTUwCisKK3N5biBtYXRjaCB2YWxncmluZFNwZWNMaW5lICJeWystXVx7Mn1cZFwrWystXVx7Mn0uKiQiCisKK3N5biByZWdpb24gdmFsZ3JpbmRSZWdpb24KKwlcIHN0YXJ0PStePT1ceihcZFwrXCk9PSBcdy4qJCsKKwlcIHNraXA9K149PVx6MT09XCggXHwgICAgLipcKSQrCisJXCBlbmQ9K14rCisJXCBmb2xkCisJXCBrZWVwZW5kCisJXCBjb250YWlucz12YWxncmluZFBpZENodW5rLHZhbGdyaW5kTGluZQorCitzeW4gcmVnaW9uIHZhbGdyaW5kUGlkQ2h1bmsKKwlcIHN0YXJ0PStcKF49PVwpXEA8PSsKKwlcIGVuZD0rXCg9PVwpXEA9KworCVwgY29udGFpbmVkCisJXCBjb250YWlucz12YWxncmluZFBpZDAsdmFsZ3JpbmRQaWQxLHZhbGdyaW5kUGlkMix2YWxncmluZFBpZDMsdmFsZ3JpbmRQaWQ0LHZhbGdyaW5kUGlkNSx2YWxncmluZFBpZDYsdmFsZ3JpbmRQaWQ3LHZhbGdyaW5kUGlkOCx2YWxncmluZFBpZDkKKwlcIGtlZXBlbmQKKworc3luIG1hdGNoIHZhbGdyaW5kUGlkMCAiXGRcKzA9IiBjb250YWluZWQKK3N5biBtYXRjaCB2YWxncmluZFBpZDEgIlxkXCsxPSIgY29udGFpbmVkCitzeW4gbWF0Y2ggdmFsZ3JpbmRQaWQyICJcZFwrMj0iIGNvbnRhaW5lZAorc3luIG1hdGNoIHZhbGdyaW5kUGlkMyAiXGRcKzM9IiBjb250YWluZWQKK3N5biBtYXRjaCB2YWxncmluZFBpZDQgIlxkXCs0PSIgY29udGFpbmVkCitzeW4gbWF0Y2ggdmFsZ3JpbmRQaWQ1ICJcZFwrNT0iIGNvbnRhaW5lZAorc3luIG1hdGNoIHZhbGdyaW5kUGlkNiAiXGRcKzY9IiBjb250YWluZWQKK3N5biBtYXRjaCB2YWxncmluZFBpZDcgIlxkXCs3PSIgY29udGFpbmVkCitzeW4gbWF0Y2ggdmFsZ3JpbmRQaWQ4ICJcZFwrOD0iIGNvbnRhaW5lZAorc3luIG1hdGNoIHZhbGdyaW5kUGlkOSAiXGRcKzk9IiBjb250YWluZWQKKworc3luIHJlZ2lvbiB2YWxncmluZExpbmUKKwlcIHN0YXJ0PStcKF49PVxkXCs9PSBcKVxAPD0rCisJXCBlbmQ9KyQrCisJXCBrZWVwZW5kCisJXCBjb250YWluZWQKKwlcIGNvbnRhaW5zPXZhbGdyaW5kT3B0aW9ucyx2YWxncmluZE1zZyx2YWxncmluZExvYworCitzeW4gbWF0Y2ggdmFsZ3JpbmRPcHRpb25zICJbIF1cezN9LS4qJCIgY29udGFpbmVkCisKK3N5biBtYXRjaCB2YWxncmluZE1zZyAiXFMuKiQiIGNvbnRhaW5lZAorCVwgY29udGFpbnM9dmFsZ3JpbmRFcnJvcix2YWxncmluZE5vdGUsdmFsZ3JpbmRTdW1tYXJ5CitzeW4gbWF0Y2ggdmFsZ3JpbmRFcnJvciAiXChJbnZhbGlkXHxcZFwrIGVycm9yc1x8LiogZGVmaW5pdGVseSBsb3N0XCkuKiQiIGNvbnRhaW5lZAorc3luIG1hdGNoIHZhbGdyaW5kTm90ZSAiLipzdGlsbCByZWFjaGFibGUuKiIgY29udGFpbmVkCitzeW4gbWF0Y2ggdmFsZ3JpbmRTdW1tYXJ5ICIuKlNVTU1BUlk6IiBjb250YWluZWQKKworc3luIG1hdGNoIHZhbGdyaW5kTG9jICJcc1wrXChieVx8YXRcfEFkZHJlc3NcKS4qJCIgY29udGFpbmVkCisJXCBjb250YWlucz12YWxncmluZEF0LHZhbGdyaW5kQWRkcix2YWxncmluZEZ1bmMsdmFsZ3JpbmRCaW4sdmFsZ3JpbmRTcmMKK3N5biBtYXRjaCB2YWxncmluZEF0ICJhdFxzXEA9IiBjb250YWluZWQKK3N5biBtYXRjaCB2YWxncmluZEFkZHIgIlwoXFdcKVxAPD0weFx4XCsiIGNvbnRhaW5lZAorc3luIG1hdGNoIHZhbGdyaW5kRnVuYyAiXCg6IFwpXEA8PVx3XCsiIGNvbnRhaW5lZAorc3luIG1hdGNoIHZhbGdyaW5kQmluICJcKChcKHdpdGhcfFwpaW4gXClcQDw9XFNcK1woKVwpXEA9IiBjb250YWluZWQKK3N5biBtYXRjaCB2YWxncmluZFNyYyAiXCgoXClcQDw9Lio6XGRcK1woKVwpXEA9IiBjb250YWluZWQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCisKK2hpIGRlZiBsaW5rIHZhbGdyaW5kU3BlY0xpbmUJVHlwZQorImhpIGRlZiBsaW5rIHZhbGdyaW5kUmVnaW9uCVNwZWNpYWwKKworaGkgZGVmIGxpbmsgdmFsZ3JpbmRQaWQwCVNwZWNpYWwKK2hpIGRlZiBsaW5rIHZhbGdyaW5kUGlkMQlDb21tZW50CitoaSBkZWYgbGluayB2YWxncmluZFBpZDIJVHlwZQoraGkgZGVmIGxpbmsgdmFsZ3JpbmRQaWQzCUNvbnN0YW50CitoaSBkZWYgbGluayB2YWxncmluZFBpZDQJTnVtYmVyCitoaSBkZWYgbGluayB2YWxncmluZFBpZDUJSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgdmFsZ3JpbmRQaWQ2CVN0YXRlbWVudAoraGkgZGVmIGxpbmsgdmFsZ3JpbmRQaWQ3CUVycm9yCitoaSBkZWYgbGluayB2YWxncmluZFBpZDgJTGluZU5yCitoaSBkZWYgbGluayB2YWxncmluZFBpZDkJTm9ybWFsCisiaGkgZGVmIGxpbmsgdmFsZ3JpbmRMaW5lCVNwZWNpYWwKKworaGkgZGVmIGxpbmsgdmFsZ3JpbmRPcHRpb25zCVR5cGUKKyJoaSBkZWYgbGluayB2YWxncmluZE1zZwlTcGVjaWFsCisiaGkgZGVmIGxpbmsgdmFsZ3JpbmRMb2MJU3BlY2lhbAorCitoaSBkZWYgbGluayB2YWxncmluZEVycm9yCVNwZWNpYWwKK2hpIGRlZiBsaW5rIHZhbGdyaW5kTm90ZQlDb21tZW50CitoaSBkZWYgbGluayB2YWxncmluZFN1bW1hcnkJVHlwZQorCitoaSBkZWYgbGluayB2YWxncmluZEF0CQlTcGVjaWFsCitoaSBkZWYgbGluayB2YWxncmluZEFkZHIJTnVtYmVyCitoaSBkZWYgbGluayB2YWxncmluZEZ1bmMJVHlwZQoraGkgZGVmIGxpbmsgdmFsZ3JpbmRCaW4JCUNvbW1lbnQKK2hpIGRlZiBsaW5rIHZhbGdyaW5kU3JjCQlTdGF0ZW1lbnQKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidmFsZ3JpbmQiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92Yi52aW0gYi9ydW50aW1lL3N5bnRheC92Yi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEwN2U3ZAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZiLnZpbQpAQCAtMCwwICsxLDI3MyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVZpc3VhbCBCYXNpYworIiBNYWludGFpbmVyOglUaW0gQ2hhc2UgPHZiLnZpbUB0aW0udGhlY2hhc2VzLmNvbT4KKyIgRm9ybWVyIE1haW50YWluZXI6CVJvYmVydCBNLiBDb3J0b3Bhc3NpIDxjb3J0b3BhckBtaW5kc3ByaW5nLmNvbT4KKyIJKHRyaWVkIG11bHRpcGxlIHRpbWVzIHRvIGNvbnRhY3QsIGJ1dCBlbWFpbCBib3VuY2VkKQorIiBMYXN0IENoYW5nZToJMjAwNCBNYXkgMjUKKyIgICAyMDA0IE1heSAzMCAgQWRkZWQgYSBmZXcga2V5d29yZHMKKworIiBUaGlzIHdhcyB0aHJvd24gdG9nZXRoZXIgYWZ0ZXIgc2VlaW5nIG51bWVyb3VzIHJlcXVlc3RzIG9uIHRoZQorIiBWSU0gYW5kIFZJTS1ERVYgbWFpbGluZyBsaXN0cy4gIEl0IGlzIGJ5IG5vIG1lYW5zIGNvbXBsZXRlLgorIiBTZW5kIGNvbW1lbnRzLCBzdWdnZXN0aW9ucyBhbmQgcmVxdWVzdHMgdG8gdGhlIG1haW50YWluZXIuCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisJc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwlmaW5pc2gKK2VuZGlmCisKKyIgVkIgaXMgY2FzZSBpbnNlbnNpdGl2ZQorc3luIGNhc2UgaWdub3JlCisKK3N5biBrZXl3b3JkIHZiU3RhdGVtZW50IEFsaWFzIEFwcEFjdGl2YXRlIEFzIEJhc2UgQmVlcCBDYWxsIENhc2UKK3N5biBrZXl3b3JkIHZiU3RhdGVtZW50IENoRGlyIENoRHJpdmUgQ29uc3QgRGVjbGFyZSBEZWZCb29sIERlZkJ5dGUKK3N5biBrZXl3b3JkIHZiU3RhdGVtZW50IERlZkN1ciBEZWZEYXRlIERlZkRibCBEZWZEZWMgRGVmSW50CitzeW4ga2V5d29yZCB2YlN0YXRlbWVudCBEZWZMbmcgRGVmT2JqIERlZlNuZyBEZWZTdHIgRGVmdHlwZQorc3luIGtleXdvcmQgdmJTdGF0ZW1lbnQgRGVmVmFyIERlbGV0ZVNldHRpbmcgRGltIERvIEVhY2ggRWxzZQorc3luIGtleXdvcmQgdmJTdGF0ZW1lbnQgRWxzZUlmIEVuZCBFbnVtIEVyYXNlIEV2ZW50IEV4aXQgRXhwbGljaXQKK3N5biBrZXl3b3JkIHZiU3RhdGVtZW50IEZpbGVDb3B5IEZvciBGb3JFYWNoIEZ1bmN0aW9uIEdldCBHb1N1Ygorc3luIGtleXdvcmQgdmJTdGF0ZW1lbnQgR29UbyBJZiBJbXBsZW1lbnRzIEtpbGwgTGV0IExpYiBMaW5lSW5wdXQKK3N5biBrZXl3b3JkIHZiU3RhdGVtZW50IExvY2sgTG9vcCBMU2V0IE1rRGlyIE5hbWUgTmV4dCBPbkVycm9yIE9uCitzeW4ga2V5d29yZCB2YlN0YXRlbWVudCBPcHRpb24gUHJlc2VydmUgUHJpdmF0ZSBQcm9wZXJ0eSBQdWJsaWMgUHV0CitzeW4ga2V5d29yZCB2YlN0YXRlbWVudCBSYWlzZUV2ZW50IFJhbmRvbWl6ZSBSZURpbSBSZXNldCBSZXN1bWUKK3N5biBrZXl3b3JkIHZiU3RhdGVtZW50IFJldHVybiBSbURpciBSU2V0IFNhdmVQaWN0dXJlIFNhdmVTZXR0aW5nCitzeW4ga2V5d29yZCB2YlN0YXRlbWVudCBTZW5kS2V5cyBTZWxlY3QgU2V0QXR0ciBTdGF0aWMgU3RlcCBTdWIKK3N5biBrZXl3b3JkIHZiU3RhdGVtZW50IFRoZW4gVHlwZSBVbmxvY2sgVW50aWwgV2VuZCBXaGlsZSBXaWR0aAorc3luIGtleXdvcmQgdmJTdGF0ZW1lbnQgV2l0aCBXcml0ZQorCitzeW4ga2V5d29yZCB2YkZ1bmN0aW9uIEFicyBBcnJheSBBc2MgQXNjQiBBc2NXIEF0biBBdmcgQ0Jvb2wKK3N5biBrZXl3b3JkIHZiRnVuY3Rpb24gQ0J5dGUgQ0N1ciBDRGF0ZSBDRGJsIENkZWMgQ2hvb3NlIENocgorc3luIGtleXdvcmQgdmJGdW5jdGlvbiBDaHJCIENoclcgQ0ludCBDTG5nIENvbW1hbmQgQ29zIENvdW50CitzeW4ga2V5d29yZCB2YkZ1bmN0aW9uIENyZWF0ZU9iamVjdCBDU25nIENTdHIgQ3VyRGlyIENWYXIKK3N5biBrZXl3b3JkIHZiRnVuY3Rpb24gQ1ZEYXRlIENWRXJyIERhdGVBZGQgRGF0ZURpZmYgRGF0ZVBhcnQKK3N5biBrZXl3b3JkIHZiRnVuY3Rpb24gRGF0ZVNlcmlhbCBEYXRlVmFsdWUgRGF5IEREQiBEaXIKK3N5biBrZXl3b3JkIHZiRnVuY3Rpb24gRG9FdmVudHMgRW52aXJvbiBFT0YgRXJyb3IgRXhwIEZpbGVBdHRyCitzeW4ga2V5d29yZCB2YkZ1bmN0aW9uIEZpbGVEYXRlVGltZSBGaWxlTGVuIEZpeCBGb3JtYXQgRnJlZUZpbGUKK3N5biBrZXl3b3JkIHZiRnVuY3Rpb24gRlYgR2V0QWxsU3RyaW5ncyBHZXRBdHRyCitzeW4ga2V5d29yZCB2YkZ1bmN0aW9uIEdldEF1dG9TZXJ2ZXJTZXR0aW5ncyBHZXRPYmplY3QKK3N5biBrZXl3b3JkIHZiRnVuY3Rpb24gR2V0U2V0dGluZyBIZXggSG91ciBJSWYgSU1FU3RhdHVzIElucHV0CitzeW4ga2V5d29yZCB2YkZ1bmN0aW9uIElucHV0QiBJbnB1dEJveCBJblN0ciBJbnN0QiBJbnQgSVBtdAorc3luIGtleXdvcmQgdmJGdW5jdGlvbiBJc0FycmF5IElzRGF0ZSBJc0VtcHR5IElzRXJyb3IgSXNNaXNzaW5nCitzeW4ga2V5d29yZCB2YkZ1bmN0aW9uIElzTnVsbCBJc051bWVyaWMgSXNPYmplY3QgTEJvdW5kIExDYXNlCitzeW4ga2V5d29yZCB2YkZ1bmN0aW9uIExlZnQgTGVmdEIgTGVuIExlbkIgTG9hZFBpY3R1cmUgTG9jIExPRgorc3luIGtleXdvcmQgdmJGdW5jdGlvbiBMb2cgTFRyaW0gTWF4IE1pZCBNaWRCIE1pbiBNaW51dGUgTUlSUgorc3luIGtleXdvcmQgdmJGdW5jdGlvbiBNb250aCBNc2dCb3ggTm93IE5QZXIgTlBWIE9jdCBQYXJ0aXRpb24KK3N5biBrZXl3b3JkIHZiRnVuY3Rpb24gUG10IFBQbXQgUFYgUUJDb2xvciBSYXRlIFJHQiBSaWdodAorc3luIGtleXdvcmQgdmJGdW5jdGlvbiBSaWdodEIgUm5kIFJUcmltIFNlY29uZCBTZWVrIFNnbiBTaGVsbAorc3luIGtleXdvcmQgdmJGdW5jdGlvbiBTaW4gU0xOIFNwYWNlIFNwYyBTcXIgU3REZXYgU3REZXZQIFN0cgorc3luIGtleXdvcmQgdmJGdW5jdGlvbiBTdHJDb21wIFN0ckNvbnYgU3RyaW5nIFN3aXRjaCBTdW0gU1lECitzeW4ga2V5d29yZCB2YkZ1bmN0aW9uIFRhYiBUYW4gVGltZSBUaW1lciBUaW1lU2VyaWFsIFRpbWVWYWx1ZQorc3luIGtleXdvcmQgdmJGdW5jdGlvbiBUcmltIFR5cGVOYW1lIFVCb3VuZCBVQ2FzZSBWYWwgVmFyIFZhclAKK3N5biBrZXl3b3JkIHZiRnVuY3Rpb24gVmFyVHlwZSBXZWVrZGF5IFllYXIKKworc3luIGtleXdvcmQgdmJNZXRob2RzIEFjY2VwdCBBY3RpdmF0ZSBBZGQgQWRkQ3VzdG9tIEFkZEZpbGUKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBBZGRGcm9tRmlsZSBBZGRGcm9tVGVtcGxhdGUgQWRkSXRlbQorc3luIGtleXdvcmQgdmJNZXRob2RzIEFkZE5ldyBBZGRUb0FkZEluVG9vbGJhcgorc3luIGtleXdvcmQgdmJNZXRob2RzIEFkZFRvb2xib3hQcm9nSUQgQXBwZW5kIEFwcGVuZENodW5rCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgQXJyYW5nZSBBc3NlcnQgQXN5bmNSZWFkIEJhdGNoVXBkYXRlCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgQmVnaW5UcmFucyBCaW5kIENhbmNlbCBDYW5jZWxBc3luY1JlYWQKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBDYW5jZWxCYXRjaCBDYW5jZWxVcGRhdGUKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBDYW5Qcm9wZXJ0eUNoYW5nZSBDYXB0dXJlSW1hZ2UgQ2VsbFRleHQKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBDZWxsVmFsdWUgQ2lyY2xlIENsZWFyIENsZWFyRmllbGRzCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgQ2xlYXJTZWwgQ2xlYXJTZWxDb2xzIENsb25lIENsb3NlIENscworc3luIGtleXdvcmQgdmJNZXRob2RzIENvbENvbnRhaW5pbmcgQ29sdW1uU2l6ZSBDb21taXRUcmFucworc3luIGtleXdvcmQgdmJNZXRob2RzIENvbXBhY3REYXRhYmFzZSBDb21wb3NlIENvbm5lY3QgQ29weQorc3luIGtleXdvcmQgdmJNZXRob2RzIENvcHlRdWVyeURlZiBDcmVhdGVEYXRhYmFzZQorc3luIGtleXdvcmQgdmJNZXRob2RzIENyZWF0ZURyYWdJbWFnZSBDcmVhdGVFbWJlZCBDcmVhdGVGaWVsZAorc3luIGtleXdvcmQgdmJNZXRob2RzIENyZWF0ZUdyb3VwIENyZWF0ZUluZGV4IENyZWF0ZUxpbmsKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBDcmVhdGVQcmVwYXJlZFN0YXRlbWVudCBDcmVhdGVQcm9wZXJ5CitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgQ3JlYXRlUXVlcnkgQ3JlYXRlUXVlcnlEZWYKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBDcmVhdGVSZWxhdGlvbiBDcmVhdGVUYWJsZURlZiBDcmVhdGVVc2VyCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgQ3JlYXRlV29ya3NwYWNlIEN1c3RvbWl6ZSBEZWxldGUKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBEZWxldGVDb2x1bW5MYWJlbHMgRGVsZXRlQ29sdW1ucworc3luIGtleXdvcmQgdmJNZXRob2RzIERlbGV0ZVJvd0xhYmVscyBEZWxldGVSb3dzIERvVmVyYiBEcmFnCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgRHJhdyBFZGl0IEVkaXRDb3B5IEVkaXRQYXN0ZSBFbmREb2MKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBFbnN1cmVWaXNpYmxlIEVzdGFibGlzaENvbm5lY3Rpb24KK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBFeGVjdXRlIEV4dHJhY3RJY29uIEZldGNoIEZldGNoVmVyYnMKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBGaWxlcyBGaWxsQ2FjaGUgRmluZCBGaW5kRmlyc3QgRmluZEl0ZW0KK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBGaW5kTGFzdCBGaW5kTmV4dCBGaW5kUHJldmlvdXMgRm9yd2FyZAorc3luIGtleXdvcmQgdmJNZXRob2RzIEdldEJvb2ttYXJrIEdldENodW5rIEdldENsaXBTdHJpbmcKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBHZXREYXRhIEdldEZpcnN0VmlzaWJsZSBHZXRGb3JtYXQKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBHZXRIZWFkZXIgR2V0TGluZUZyb21DaGFyIEdldE51bVRpY2tzCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgR2V0Um93cyBHZXRTZWxlY3RlZFBhcnQgR2V0VGV4dAorc3luIGtleXdvcmQgdmJNZXRob2RzIEdldFZpc2libGVDb3VudCBHb0JhY2sgR29Gb3J3YXJkIEhpZGUKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBIaXRUZXN0IEhvbGRGaWVsZHMgSWRsZSBJbml0aWFsaXplTGFiZWxzCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgSW5zZXJ0Q29sdW1uTGFiZWxzIEluc2VydENvbHVtbnMKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBJbnNlcnRPYmpEbGcgSW5zZXJ0Um93TGFiZWxzIEluc2VydFJvd3MKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBJdGVtIEtpbGxEb2MgTGF5b3V0IExpbmUgTGlua0V4ZWN1dGUKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBMaW5rUG9rZSBMaW5rUmVxdWVzdCBMaW5rU2VuZCBMaXN0ZW4KK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBMb2FkRmlsZSBMb2FkUmVzRGF0YSBMb2FkUmVzUGljdHVyZQorc3luIGtleXdvcmQgdmJNZXRob2RzIExvYWRSZXNTdHJpbmcgTG9nRXZlbnQgTWFrZUNvbXBpbGVGaWxlCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgTWFrZVJlcGxpY2EgTW9yZVJlc3VsdHMgTW92ZSBNb3ZlRGF0YQorc3luIGtleXdvcmQgdmJNZXRob2RzIE1vdmVGaXJzdCBNb3ZlTGFzdCBNb3ZlTmV4dCBNb3ZlUHJldmlvdXMKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBOYXZpZ2F0ZVRvIE5ld1BhZ2UgTmV3UGFzc3dvcmQKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBOZXh0UmVjb3Jkc2V0IE9MRURyYWcgT25BZGRpbnNVcGRhdGUKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBPbkNvbm5lY3Rpb24gT25EaXNjb25uZWN0aW9uCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgT25TdGFydHVwQ29tcGxldGUgT3BlbiBPcGVuQ29ubmVjdGlvbgorc3luIGtleXdvcmQgdmJNZXRob2RzIE9wZW5EYXRhYmFzZSBPcGVuUXVlcnlEZWYgT3BlblJlY29yZHNldAorc3luIGtleXdvcmQgdmJNZXRob2RzIE9wZW5SZXN1bHRzZXQgT3BlblVSTCBPdmVybGF5CitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgUGFpbnRQaWN0dXJlIFBhc3RlIFBhc3RTcGVjaWFsRGxnCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgUGVla0RhdGEgUGxheSBQb2ludCBQb3B1bGF0ZVBhcnRpYWwKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBQb3B1cE1lbnUgUHJpbnQgUHJpbnRGb3JtCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgUHJvcGVydHlDaGFuZ2VkIFBTZXQgUXVpdCBSYWlzZQorc3luIGtleXdvcmQgdmJNZXRob2RzIFJhbmRvbURhdGFGaWxsIFJhbmRvbUZpbGxDb2x1bW5zCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgUmFuZG9tRmlsbFJvd3MgcmRvQ3JlYXRlRW52aXJvbm1lbnQKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyByZG9SZWdpc3RlckRhdGFTb3VyY2UgUmVhZEZyb21GaWxlCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgUmVhZFByb3BlcnR5IFJlYmluZCBSZUZpbGwgUmVmcmVzaAorc3luIGtleXdvcmQgdmJNZXRob2RzIFJlZnJlc2hMaW5rIFJlZ2lzdGVyRGF0YWJhc2UgUmVsb2FkCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgUmVtb3ZlIFJlbW92ZUFkZEluRnJvbVRvb2xiYXIgUmVtb3ZlSXRlbQorc3luIGtleXdvcmQgdmJNZXRob2RzIFJlbmRlciBSZXBhaXJEYXRhYmFzZSBSZXBseSBSZXBseUFsbAorc3luIGtleXdvcmQgdmJNZXRob2RzIFJlcXVlcnkgUmVzZXRDdXN0b20gUmVzZXRDdXN0b21MYWJlbAorc3luIGtleXdvcmQgdmJNZXRob2RzIFJlc29sdmVOYW1lIFJlc3RvcmVUb29sYmFyIFJlc3luYworc3luIGtleXdvcmQgdmJNZXRob2RzIFJvbGxiYWNrIFJvbGxiYWNrVHJhbnMgUm93Qm9va21hcmsKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBSb3dDb250YWluaW5nIFJvd1RvcCBTYXZlIFNhdmVBcworc3luIGtleXdvcmQgdmJNZXRob2RzIFNhdmVGaWxlIFNhdmVUb0ZpbGUgU2F2ZVRvb2xiYXIKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBTYXZlVG9PbGUxRmlsZSBTY2FsZSBTY2FsZVggU2NhbGVZCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgU2Nyb2xsIFNlbGVjdEFsbCBTZWxlY3RQYXJ0IFNlbFByaW50CitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgU2VuZCBTZW5kRGF0YSBTZXQgU2V0QXV0b1NlcnZlclNldHRpbmdzCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgU2V0RGF0YSBTZXRGb2N1cyBTZXRPcHRpb24gU2V0U2l6ZQorc3luIGtleXdvcmQgdmJNZXRob2RzIFNldFRleHQgU2V0Vmlld3BvcnQgU2hvdyBTaG93Q29sb3IKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBTaG93Rm9udCBTaG93SGVscCBTaG93T3BlbiBTaG93UHJpbnRlcgorc3luIGtleXdvcmQgdmJNZXRob2RzIFNob3dTYXZlIFNob3dXaGF0c1RoaXMgU2lnbk9mZiBTaWduT24KK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBTaXplIFNwYW4gU3BsaXRDb250YWluaW5nIFN0YXJ0TGFiZWxFZGl0CitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgU3RhcnRMb2dnaW5nIFN0b3AgU3luY2hyb25pemUgVGV4dEhlaWdodAorc3luIGtleXdvcmQgdmJNZXRob2RzIFRleHRXaWR0aCBUb0RlZmF1bHRzIFR3aXBzVG9DaGFydFBhcnQKK3N5biBrZXl3b3JkIHZiTWV0aG9kcyBUeXBlQnlDaGFydFR5cGUgVXBkYXRlIFVwZGF0ZUNvbnRyb2xzCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgVXBkYXRlUmVjb3JkIFVwZGF0ZVJvdyBVcHRvCitzeW4ga2V5d29yZCB2Yk1ldGhvZHMgV2hhdHNUaGlzTW9kZSBXcml0ZVByb3BlcnR5IFpPcmRlcgorCitzeW4ga2V5d29yZCB2YkV2ZW50cyBBY2Nlc3NLZXlQcmVzcyBBZnRlckFkZEZpbGUKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEFmdGVyQ2hhbmdlRmlsZU5hbWUgQWZ0ZXJDbG9zZUZpbGUKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEFmdGVyQ29sRWRpdCBBZnRlckNvbFVwZGF0ZSBBZnRlckRlbGV0ZQorc3luIGtleXdvcmQgdmJFdmVudHMgQWZ0ZXJJbnNlcnQgQWZ0ZXJMYWJlbEVkaXQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEFmdGVyUmVtb3ZlRmlsZSBBZnRlclVwZGF0ZQorc3luIGtleXdvcmQgdmJFdmVudHMgQWZ0ZXJXcml0ZUZpbGUgQW1iaWVuQ2hhbmdlZAorc3luIGtleXdvcmQgdmJFdmVudHMgQXBwbHlDaGFuZ2VzIEFzc29jaWF0ZSBBc3luY1JlYWRDb21wbGV0ZQorc3luIGtleXdvcmQgdmJFdmVudHMgQXhpc0FjdGl2YXRlZCBBeGlzTGFiZWxBY3RpdmF0ZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEF4aXNMYWJlbFNlbGVjdGVkIEF4aXNMYWJlbFVwZGF0ZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEF4aXNTZWxlY3RlZCBBeGlzVGl0bGVBY3RpdmF0ZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEF4aXNUaXRsZVNlbGVjdGVkIEF4aXNUaXRsZVVwZGF0ZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEF4aXNVcGRhdGVkIEJlZm9yZUNsaWNrIEJlZm9yZUNvbEVkaXQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEJlZm9yZUNvbFVwZGF0ZSBCZWZvcmVDb25uZWN0CitzeW4ga2V5d29yZCB2YkV2ZW50cyBCZWZvcmVEZWxldGUgQmVmb3JlSW5zZXJ0CitzeW4ga2V5d29yZCB2YkV2ZW50cyBCZWZvcmVMYWJlbEVkaXQgQmVmb3JlTG9hZEZpbGUKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEJlZm9yZVVwZGF0ZSBCdXR0b25DbGljayBCdXR0b25Db21wbGV0ZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEJ1dHRvbkdvdEZvY3VzIEJ1dHRvbkxvc3RGb2N1cyBDaGFuZ2UKK3N5biBrZXl3b3JkIHZiRXZlbnRzIENoYXJ0QWN0aXZhdGVkIENoYXJ0U2VsZWN0ZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIENoYXJ0VXBkYXRlZCBDbGljayBDb2xFZGl0IENvbGxhcHNlCitzeW4ga2V5d29yZCB2YkV2ZW50cyBDb2xSZXNpemUgQ29sdW1uQ2xpY2sgQ29tcGFyZQorc3luIGtleXdvcmQgdmJFdmVudHMgQ29uZmlnQ2hhZ2VDYW5jZWxsZWQgQ29uZmlnQ2hhbmdlZAorc3luIGtleXdvcmQgdmJFdmVudHMgQ29ubmVjdGlvblJlcXVlc3QgRGF0YUFycml2YWwKK3N5biBrZXl3b3JkIHZiRXZlbnRzIERhdGFDaGFuZ2VkIERhdGFVcGRhdGVkIERibENsaWNrCitzeW4ga2V5d29yZCB2YkV2ZW50cyBEZWFjdGl2YXRlIERldmljZUFycml2YWwKK3N5biBrZXl3b3JkIHZiRXZlbnRzIERldmljZU90aGVyRXZlbnQgRGV2aWNlUXVlcnlSZW1vdmUKK3N5biBrZXl3b3JkIHZiRXZlbnRzIERldmljZVF1ZXJ5UmVtb3ZlRmFpbGVkCitzeW4ga2V5d29yZCB2YkV2ZW50cyBEZXZpY2VSZW1vdmVDb21wbGV0ZSBEZXZpY2VSZW1vdmVQZW5kaW5nCitzeW4ga2V5d29yZCB2YkV2ZW50cyBEZXZNb2RlQ2hhbmdlIERpc2Nvbm5lY3QgRGlzcGxheUNoYW5nZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIERpc3NvY2lhdGUgRG9HZXROZXdGaWxlTmFtZSBEb25lCitzeW4ga2V5d29yZCB2YkV2ZW50cyBEb25lUGFpbnRpbmcgRG93bkNsaWNrIERyYWdEcm9wIERyYWdPdmVyCitzeW4ga2V5d29yZCB2YkV2ZW50cyBEcm9wRG93biBFZGl0UHJvcGVydHkgRW50ZXJDZWxsCitzeW4ga2V5d29yZCB2YkV2ZW50cyBFbnRlckZvY3VzIEV4aXRGb2N1cyBFeHBhbmQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEZvb3Rub3RlQWN0aXZhdGVkIEZvb3Rub3RlU2VsZWN0ZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEZvb3Rub3RlVXBkYXRlZCBHb3RGb2N1cyBIZWFkQ2xpY2sKK3N5biBrZXl3b3JkIHZiRXZlbnRzIEluZm9NZXNzYWdlIEluaXRpYWxpemUgSW5pUHJvcGVydGllcworc3luIGtleXdvcmQgdmJFdmVudHMgSXRlbUFjdGl2YXRlZCBJdGVtQWRkZWQgSXRlbUNoZWNrCitzeW4ga2V5d29yZCB2YkV2ZW50cyBJdGVtQ2xpY2sgSXRlbVJlbG9hZGVkIEl0ZW1SZW1vdmVkCitzeW4ga2V5d29yZCB2YkV2ZW50cyBJdGVtUmVuYW1lZCBJdGVtU2VsZXRlY3RlZCBLZXlEb3duCitzeW4ga2V5d29yZCB2YkV2ZW50cyBLZXlQcmVzcyBLZXlVcCBMZWF2ZUNlbGwgTGVnZW5kQWN0aXZhdGVkCitzeW4ga2V5d29yZCB2YkV2ZW50cyBMZWdlbmRTZWxlY3RlZCBMZWdlbmRVcGRhdGVkIExpbmtDbG9zZQorc3luIGtleXdvcmQgdmJFdmVudHMgTGlua0Vycm9yIExpbmtOb3RpZnkgTGlua09wZW4gTG9hZAorc3luIGtleXdvcmQgdmJFdmVudHMgTG9zdEZvY3VzIE1vdXNlRG93biBNb3VzZU1vdmUgTW91c2VVcAorc3luIGtleXdvcmQgdmJFdmVudHMgTm9kZUNsaWNrIE9iamVjdE1vdmUgT0xFQ29tcGxldGVEcmFnCitzeW4ga2V5d29yZCB2YkV2ZW50cyBPTEVEcmFnRHJvcCBPTEVEcmFnT3ZlciBPTEVHaXZlRmVlZGJhY2sKK3N5biBrZXl3b3JkIHZiRXZlbnRzIE9MRVNldERhdGEgT0xFU3RhcnREcmFnIE9uQWRkTmV3IE9uQ29tbQorc3luIGtleXdvcmQgdmJFdmVudHMgUGFpbnQgUGFuZWxDbGljayBQYW5lbERibENsaWNrCitzeW4ga2V5d29yZCB2YkV2ZW50cyBQYXRoQ2hhbmdlIFBhdHRlcm5DaGFuZ2UgUGxvdEFjdGl2YXRlZAorc3luIGtleXdvcmQgdmJFdmVudHMgUGxvdFNlbGVjdGVkIFBsb3RVcGRhdGVkIFBvaW50QWN0aXZhdGVkCitzeW4ga2V5d29yZCB2YkV2ZW50cyBQb2ludExhYmVsQWN0aXZhdGVkIFBvaW50TGFiZWxTZWxlY3RlZAorc3luIGtleXdvcmQgdmJFdmVudHMgUG9pbnRMYWJlbFVwZGF0ZWQgUG9pbnRTZWxlY3RlZAorc3luIGtleXdvcmQgdmJFdmVudHMgUG9pbnRVcGRhdGVkIFBvd2VyUXVlcnlTdXNwZW5kCitzeW4ga2V5d29yZCB2YkV2ZW50cyBQb3dlclJlc3VtZSBQb3dlclN0YXR1c0NoYW5nZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIFBvd2VyU3VzcGVuZCBRdWVyeUNoYW5nZUNvbmZpZworc3luIGtleXdvcmQgdmJFdmVudHMgUXVlcnlDb21wbGV0ZSBRdWVyeUNvbXBsZXRlZAorc3luIGtleXdvcmQgdmJFdmVudHMgUXVlcnlUaW1lb3V0IFF1ZXJ5VW5sb2FkIFJlYWRQcm9wZXJ0aWVzCitzeW4ga2V5d29yZCB2YkV2ZW50cyBSZXBvc2l0aW9uIFJlcXVlc3RDaGFuZ2VGaWxlTmFtZQorc3luIGtleXdvcmQgdmJFdmVudHMgUmVxdWVzdFdyaXRlRmlsZSBSZXNpemUgUmVzdWx0c0NoYW5nZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIFJvd0NvbENoYW5nZSBSb3dDdXJyZW5jeUNoYW5nZSBSb3dSZXNpemUKK3N5biBrZXl3b3JkIHZiRXZlbnRzIFJvd1N0YXR1c0NoYW5nZWQgU2VsQ2hhbmdlCitzeW4ga2V5d29yZCB2YkV2ZW50cyBTZWxlY3Rpb25DaGFuZ2VkIFNlbmRDb21wbGV0ZQorc3luIGtleXdvcmQgdmJFdmVudHMgU2VuZFByb2dyZXNzIFNlcmllc0FjdGl2YXRlZAorc3luIGtleXdvcmQgdmJFdmVudHMgU2VyaWVzU2VsZWN0ZWQgU2VyaWVzVXBkYXRlZAorc3luIGtleXdvcmQgdmJFdmVudHMgU2V0dGluZ0NoYW5nZWQgU3BsaXRDaGFuZ2UgU3RhdGVDaGFuZ2VkCitzeW4ga2V5d29yZCB2YkV2ZW50cyBTdGF0dXNVcGRhdGUgU3lzQ29sb3JzQ2hhbmdlZCBUZXJtaW5hdGUKK3N5biBrZXl3b3JkIHZiRXZlbnRzIFRpbWVDaGFuZ2VkIFRpdGxlQWN0aXZhdGVkIFRpdGxlU2VsZWN0ZWQKK3N5biBrZXl3b3JkIHZiRXZlbnRzIFRpdGxlQWN0aXZhdGVkIFVuYm91bmRBZGREYXRhCitzeW4ga2V5d29yZCB2YkV2ZW50cyBVbmJvdW5kRGVsZXRlUm93CitzeW4ga2V5d29yZCB2YkV2ZW50cyBVbmJvdW5kR2V0UmVsYXRpdmVCb29rbWFyaworc3luIGtleXdvcmQgdmJFdmVudHMgVW5ib3VuZFJlYWREYXRhIFVuYm91bmRXcml0ZURhdGEgVW5sb2FkCitzeW4ga2V5d29yZCB2YkV2ZW50cyBVcENsaWNrIFVwZGF0ZWQgVmFsaWRhdGUgVmFsaWRhdGlvbkVycm9yCitzeW4ga2V5d29yZCB2YkV2ZW50cyBXaWxsQXNzb2NpYXRlIFdpbGxDaGFuZ2VEYXRhCitzeW4ga2V5d29yZCB2YkV2ZW50cyBXaWxsRGlzc29jaWF0ZSBXaWxsRXhlY3V0ZQorc3luIGtleXdvcmQgdmJFdmVudHMgV2lsbFVwZGF0ZVJvd3MgV3JpdGVQcm9wZXJ0aWVzCisKK3N5biBrZXl3b3JkIHZiVHlwZXMgQm9vbGVhbiBCeXRlIEN1cnJlbmN5IERhdGUgRGVjaW1hbAorc3luIGtleXdvcmQgdmJUeXBlcyBEb3VibGUgRW1wdHkgSW50ZWdlciBMb25nIFNpbmdsZSBTdHJpbmcKKworc3luIG1hdGNoIHZiT3BlcmF0b3IgIlsoKSsuLFwtLyo9Jl0iCitzeW4gbWF0Y2ggdmJPcGVyYXRvciAiWzw+XT1cPSIKK3N5biBtYXRjaCB2Yk9wZXJhdG9yICI8PiIKK3N5biBtYXRjaCB2Yk9wZXJhdG9yICJcc1wrXyQiCitzeW4ga2V5d29yZCB2Yk9wZXJhdG9yIEFuZCBPciBOb3QgWG9yIE1vZCBJbiBJcyBJbXAgRXF2CitzeW4ga2V5d29yZCB2Yk9wZXJhdG9yIFRvIEJ5VmFsIEJ5UmVmCitzeW4ga2V5d29yZCB2YkNvbnN0IFRydWUgRmFsc2UgTnVsbCBOb3RoaW5nCisKK3N5biBrZXl3b3JkIHZiVG9kbyBjb250YWluZWQgVE9ETworCisiaW50ZWdlciBudW1iZXIsIG9yIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRob3V0IGEgZG90Lgorc3luIG1hdGNoIHZiTnVtYmVyICJcPFxkXCtcPiIKKyJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGggZG90CitzeW4gbWF0Y2ggdmJOdW1iZXIgIlw8XGRcK1wuXGQqXD4iCisiZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZG90CitzeW4gbWF0Y2ggdmJOdW1iZXIgIlwuXGRcK1w+IgorCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnRzdGFudHMKK3N5biByZWdpb24gdmJTdHJpbmcgc3RhcnQ9KyIrIGVuZD0rIisKK3N5biByZWdpb24gdmJDb21tZW50IHN0YXJ0PSJcPFJFTVw+IiBlbmQ9IiQiIGNvbnRhaW5zPXZiVG9kbworc3luIHJlZ2lvbiB2YkNvbW1lbnQgc3RhcnQ9IiciIGVuZD0iJCIgY29udGFpbnM9dmJUb2RvCitzeW4gcmVnaW9uIHZiTGluZU51bWJlcglzdGFydD0iXlxkIiBlbmQ9IlxzIgorc3luIG1hdGNoIHZiVHlwZVNwZWNpZmllciAiW2EtekEtWjAtOV1bXCQlJiEjXSJtcz1zKzEKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdmJfc3ludGF4X2luaXRzIikKKwlpZiB2ZXJzaW9uIDwgNTA4CisJCWxldCBkaWRfdmJfc3ludGF4X2luaXRzID0gMQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorCWVsc2UKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisJZW5kaWYKKworCUhpTGluayB2YkxpbmVOdW1iZXIJQ29tbWVudAorCUhpTGluayB2Yk51bWJlcgkJTnVtYmVyCisJSGlMaW5rIHZiQ29uc3QJCUNvbnN0YW50CisJSGlMaW5rIHZiRXJyb3IJCUVycm9yCisJSGlMaW5rIHZiU3RhdGVtZW50CVN0YXRlbWVudAorCUhpTGluayB2YlN0cmluZwkJU3RyaW5nCisJSGlMaW5rIHZiQ29tbWVudAlDb21tZW50CisJSGlMaW5rIHZiVG9kbwkJVG9kbworCUhpTGluayB2YkZ1bmN0aW9uCUlkZW50aWZpZXIKKwlIaUxpbmsgdmJNZXRob2RzCVByZVByb2MKKwlIaUxpbmsgdmJFdmVudHMJCVNwZWNpYWwKKwlIaUxpbmsgdmJUeXBlU3BlY2lmaWVyCVR5cGUKKwlIaUxpbmsgdmJUeXBlcwkJVHlwZQorCUhpTGluayB2Yk9wZXJhdG9yCU9wZXJhdG9yCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidmIiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92ZXJpbG9nLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Zlcmlsb2cudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlMDE3OTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC92ZXJpbG9nLnZpbQpAQCAtMCwwICsxLDEzNCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVZlcmlsb2cKKyIgTWFpbnRhaW5lcjoJTXVuIEpvaGwgPG11bl9qb2hsQHNpZXJyYWxvZ2ljLmNvbT4KKyIgTGFzdCBVcGRhdGU6ICBUdWUgTm92ICA0IDA5OjM5OjQwIFBTVCAyMDAzCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgZmluaXNoCitlbmRpZgorCisiIFNldCB0aGUgbG9jYWwgdmFsdWUgb2YgdGhlICdpc2tleXdvcmQnIG9wdGlvbgoraWYgdmVyc2lvbiA+PSA2MDAKKyAgIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sMTkyLTI1NQorZWxzZQorICAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sMTkyLTI1NQorZW5kaWYKKworIiBBIGJ1bmNoIG9mIHVzZWZ1bCBWZXJpbG9nIGtleXdvcmRzCisKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICBhbHdheXMgYW5kIGFzc2lnbiBhdXRvbWF0aWMgYnVmCitzeW4ga2V5d29yZCB2ZXJpbG9nU3RhdGVtZW50ICAgYnVmaWYwIGJ1ZmlmMSBjZWxsIGNtb3MKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICBjb25maWcgZGVhc3NpZ24gZGVmcGFyYW0gZGVzaWduCitzeW4ga2V5d29yZCB2ZXJpbG9nU3RhdGVtZW50ICAgZGlzYWJsZSBlZGdlIGVuZGNvbmZpZworc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIGVuZGZ1bmN0aW9uIGVuZGdlbmVyYXRlIGVuZG1vZHVsZQorc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIGVuZHByaW1pdGl2ZSBlbmRzcGVjaWZ5IGVuZHRhYmxlIGVuZHRhc2sKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICBldmVudCBmb3JjZSBmdW5jdGlvbgorc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIGdlbmVyYXRlIGdlbnZhciBoaWdoejAgaGlnaHoxIGlmbm9uZQorc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIGluY2RpciBpbmNsdWRlIGluaXRpYWwgaW5vdXQgaW5wdXQKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICBpbnN0YW5jZSBpbnRlZ2VyIGxhcmdlIGxpYmxpc3QKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICBsaWJyYXJ5IGxvY2FscGFyYW0gbWFjcm9tb2R1bGUgbWVkaXVtCitzeW4ga2V5d29yZCB2ZXJpbG9nU3RhdGVtZW50ICAgbW9kdWxlIG5hbmQgbmVnZWRnZSBubW9zIG5vcgorc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIG5vc2hvd2NhbmNlbGxlZCBub3Qgbm90aWYwIG5vdGlmMSBvcgorc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIG91dHB1dCBwYXJhbWV0ZXIgcG1vcyBwb3NlZGdlIHByaW1pdGl2ZQorc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIHB1bGwwIHB1bGwxIHB1bGxkb3duIHB1bGx1cAorc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIHB1bHNlc3R5bGVfb25ldmVudCBwdWxzZXN0eWxlX29uZGV0ZWN0CitzeW4ga2V5d29yZCB2ZXJpbG9nU3RhdGVtZW50ICAgcmNtb3MgcmVhbCByZWFsdGltZSByZWcgcmVsZWFzZQorc3luIGtleXdvcmQgdmVyaWxvZ1N0YXRlbWVudCAgIHJubW9zIHJwbW9zIHJ0cmFuIHJ0cmFuaWYwIHJ0cmFuaWYxCitzeW4ga2V5d29yZCB2ZXJpbG9nU3RhdGVtZW50ICAgc2NhbGFyZWQgc2hvd2NhbmNlbGxlZCBzaWduZWQgc21hbGwKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICBzcGVjaWZ5IHNwZWNwYXJhbSBzdHJvbmcwIHN0cm9uZzEKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICBzdXBwbHkwIHN1cHBseTEgdGFibGUgdGFzayB0aW1lIHRyYW4KK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICB0cmFuaWYwIHRyYW5pZjEgdHJpIHRyaTAgdHJpMSB0cmlhbmQKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICB0cmlvciB0cmlyZWcgdW5zaWduZWQgdXNlIHZlY3RvcmVkIHdhaXQKK3N5biBrZXl3b3JkIHZlcmlsb2dTdGF0ZW1lbnQgICB3YW5kIHdlYWswIHdlYWsxIHdpcmUgd29yIHhub3IgeG9yCitzeW4ga2V5d29yZCB2ZXJpbG9nTGFiZWwgICAgICAgYmVnaW4gZW5kIGZvcmsgam9pbgorc3luIGtleXdvcmQgdmVyaWxvZ0NvbmRpdGlvbmFsIGlmIGVsc2UgY2FzZSBjYXNleCBjYXNleiBkZWZhdWx0IGVuZGNhc2UKK3N5biBrZXl3b3JkIHZlcmlsb2dSZXBlYXQgICAgICBmb3JldmVyIHJlcGVhdCB3aGlsZSBmb3IKKworc3luIGtleXdvcmQgdmVyaWxvZ1RvZG8gY29udGFpbmVkIFRPRE8KKworc3luIG1hdGNoICAgdmVyaWxvZ09wZXJhdG9yICJbJnx+PjwhKSgqIyVAKy89Pzo7fXssLlxeXC1cW1xdXSIKKworc3luIHJlZ2lvbiAgdmVyaWxvZ0NvbW1lbnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPXZlcmlsb2dUb2RvCitzeW4gbWF0Y2ggICB2ZXJpbG9nQ29tbWVudCAiLy8uKiIgY29udGFpbnM9dmVyaWxvZ1RvZG8KKworInN5biBtYXRjaCAgIHZlcmlsb2dHbG9iYWwgImBbYS16QS1aMC05X11cK1w+Igorc3luIG1hdGNoIHZlcmlsb2dHbG9iYWwgImBjZWxsZGVmaW5lIgorc3luIG1hdGNoIHZlcmlsb2dHbG9iYWwgImBkZWZhdWx0X25ldHR5cGUiCitzeW4gbWF0Y2ggdmVyaWxvZ0dsb2JhbCAiYGRlZmluZSIKK3N5biBtYXRjaCB2ZXJpbG9nR2xvYmFsICJgZWxzZSIKK3N5biBtYXRjaCB2ZXJpbG9nR2xvYmFsICJgZWxzaWYiCitzeW4gbWF0Y2ggdmVyaWxvZ0dsb2JhbCAiYGVuZGNlbGxkZWZpbmUiCitzeW4gbWF0Y2ggdmVyaWxvZ0dsb2JhbCAiYGVuZGlmIgorc3luIG1hdGNoIHZlcmlsb2dHbG9iYWwgImBpZmRlZiIKK3N5biBtYXRjaCB2ZXJpbG9nR2xvYmFsICJgaWZuZGVmIgorc3luIG1hdGNoIHZlcmlsb2dHbG9iYWwgImBpbmNsdWRlIgorc3luIG1hdGNoIHZlcmlsb2dHbG9iYWwgImBsaW5lIgorc3luIG1hdGNoIHZlcmlsb2dHbG9iYWwgImBub3VuY29ubmVjdGVkX2RyaXZlIgorc3luIG1hdGNoIHZlcmlsb2dHbG9iYWwgImByZXNldGFsbCIKK3N5biBtYXRjaCB2ZXJpbG9nR2xvYmFsICJgdGltZXNjYWxlIgorc3luIG1hdGNoIHZlcmlsb2dHbG9iYWwgImB1bmNvbm5lY3RlZF9kcml2ZSIKK3N5biBtYXRjaCB2ZXJpbG9nR2xvYmFsICJgdW5kZWYiCitzeW4gbWF0Y2ggICB2ZXJpbG9nR2xvYmFsICIkW2EtekEtWjAtOV9dXCtcPiIKKworc3luIG1hdGNoICAgdmVyaWxvZ0NvbnN0YW50ICJcPFtBLVpdW0EtWjAtOV9dXCtcPiIKKworc3luIG1hdGNoICAgdmVyaWxvZ051bWJlciAiXChcPFxkXCtcfFwpJ1tiQl1ccypbMC0xX3hYelo/XVwrXD4iCitzeW4gbWF0Y2ggICB2ZXJpbG9nTnVtYmVyICJcKFw8XGRcK1x8XCknW29PXVxzKlswLTdfeFh6Wj9dXCtcPiIKK3N5biBtYXRjaCAgIHZlcmlsb2dOdW1iZXIgIlwoXDxcZFwrXHxcKSdbZERdXHMqWzAtOV94WHpaP11cK1w+Igorc3luIG1hdGNoICAgdmVyaWxvZ051bWJlciAiXChcPFxkXCtcfFwpJ1toSF1ccypbMC05YS1mQS1GX3hYelo/XVwrXD4iCitzeW4gbWF0Y2ggICB2ZXJpbG9nTnVtYmVyICJcPFsrLV1cPVswLTlfXVwrXChcLlswLTlfXSpcfFwpXChlWzAtOV9dKlx8XClcPiIKKworc3luIHJlZ2lvbiAgdmVyaWxvZ1N0cmluZyBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXZlcmlsb2dFc2NhcGUKK3N5biBtYXRjaCAgIHZlcmlsb2dFc2NhcGUgK1xcW250IlxcXSsgY29udGFpbmVkCitzeW4gbWF0Y2ggICB2ZXJpbG9nRXNjYXBlICJcXFxvXG9cPVxvXD0iIGNvbnRhaW5lZAorCisiIERpcmVjdGl2ZXMKK3N5biBtYXRjaCAgIHZlcmlsb2dEaXJlY3RpdmUgICAiLy9ccypzeW5vcHN5c1w+LiokIgorc3luIHJlZ2lvbiAgdmVyaWxvZ0RpcmVjdGl2ZSAgIHN0YXJ0PSIvXCpccypzeW5vcHN5c1w+IiBlbmQ9IlwqLyIKK3N5biByZWdpb24gIHZlcmlsb2dEaXJlY3RpdmUgICBzdGFydD0iLy9ccypzeW5vcHN5cyBkY19zY3JpcHRfYmVnaW5cPiIgZW5kPSIvL1xzKnN5bm9wc3lzIGRjX3NjcmlwdF9lbmRcPiIKKworc3luIG1hdGNoICAgdmVyaWxvZ0RpcmVjdGl2ZSAgICIvL1xzKlwkc1w+LiokIgorc3luIHJlZ2lvbiAgdmVyaWxvZ0RpcmVjdGl2ZSAgIHN0YXJ0PSIvXCpccypcJHNcPiIgZW5kPSJcKi8iCitzeW4gcmVnaW9uICB2ZXJpbG9nRGlyZWN0aXZlICAgc3RhcnQ9Ii8vXHMqXCRzIGRjX3NjcmlwdF9iZWdpblw+IiBlbmQ9Ii8vXHMqXCRzIGRjX3NjcmlwdF9lbmRcPiIKKworIk1vZGlmeSB0aGUgZm9sbG93aW5nIGFzIG5lZWRlZC4gIFRoZSB0cmFkZS1vZmYgaXMgcGVyZm9ybWFuY2UgdmVyc3VzCisiZnVuY3Rpb25hbGl0eS4KK3N5biBzeW5jIGxpbmVzPTUwCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Zlcmlsb2dfc3luX2luaXRzIikKKyAgIGlmIHZlcnNpb24gPCA1MDgKKyAgICAgIGxldCBkaWRfdmVyaWxvZ19zeW5faW5pdHMgPSAxCisgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICAgZWxzZQorICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICBlbmRpZgorCisgICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyAgIEhpTGluayB2ZXJpbG9nQ2hhcmFjdGVyICAgICAgIENoYXJhY3RlcgorICAgSGlMaW5rIHZlcmlsb2dDb25kaXRpb25hbCAgICAgQ29uZGl0aW9uYWwKKyAgIEhpTGluayB2ZXJpbG9nUmVwZWF0CQkgUmVwZWF0CisgICBIaUxpbmsgdmVyaWxvZ1N0cmluZwkJIFN0cmluZworICAgSGlMaW5rIHZlcmlsb2dUb2RvCQkgVG9kbworICAgSGlMaW5rIHZlcmlsb2dDb21tZW50CSBDb21tZW50CisgICBIaUxpbmsgdmVyaWxvZ0NvbnN0YW50CSBDb25zdGFudAorICAgSGlMaW5rIHZlcmlsb2dMYWJlbAkJIExhYmVsCisgICBIaUxpbmsgdmVyaWxvZ051bWJlcgkJIE51bWJlcgorICAgSGlMaW5rIHZlcmlsb2dPcGVyYXRvcgkgU3BlY2lhbAorICAgSGlMaW5rIHZlcmlsb2dTdGF0ZW1lbnQJIFN0YXRlbWVudAorICAgSGlMaW5rIHZlcmlsb2dHbG9iYWwJCSBEZWZpbmUKKyAgIEhpTGluayB2ZXJpbG9nRGlyZWN0aXZlCSBTcGVjaWFsQ29tbWVudAorICAgSGlMaW5rIHZlcmlsb2dFc2NhcGUJCSBTcGVjaWFsCisKKyAgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ2ZXJpbG9nIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdmdyaW5kZWZzLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZncmluZGVmcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRiODFiNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZncmluZGVmcy52aW0KQEAgLTAsMCArMSw2MSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVZncmluZGVmcworIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgorIiBMYXN0IENoYW5nZToJMjAwMSBBcHIgMjUKKworIiBUaGUgVmdyaW5kZWZzIGZpbGUgaXMgdXNlZCB0byBzcGVjaWZ5IGEgbGFuZ3VhZ2UgZm9yIHZncmluZAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQ29tbWVudHMKK3N5biBtYXRjaCB2Z3JpbmRlZnNDb21tZW50ICJeIy4qIgorCisiIFRoZSBmaWVsZHMgdGhhdCB2Z3JpbmQgcmVjb2duaXplcworc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6YWI9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6YWU9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6cGI9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6YmI9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6YmU9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6Y2I9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6Y2U9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6c2I9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6c2U9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6bGI9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6bGU9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6bmM9Igorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6dGwiCitzeW4gbWF0Y2ggdmdyaW5kZWZzRmllbGQgIjpvYyIKK3N5biBtYXRjaCB2Z3JpbmRlZnNGaWVsZCAiOmt3PSIKKworIiBBbHNvIGZpbmQgdGhlICc6JyBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCBzbyBhbGwgJzonIGFyZSBoaWdobGlnaHRlZAorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6XFwkIgorc3luIG1hdGNoIHZncmluZGVmc0ZpZWxkICI6JCIKK3N5biBtYXRjaCB2Z3JpbmRlZnNGaWVsZCAiXFwkIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF92Z3JpbmRlZnNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdmdyaW5kZWZzX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorICBIaUxpbmsgdmdyaW5kZWZzRmllbGQJCVN0YXRlbWVudAorICBIaUxpbmsgdmdyaW5kZWZzQ29tbWVudAlDb21tZW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInZncmluZGVmcyIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3ZoZGwudmltIGIvcnVudGltZS9zeW50YXgvdmhkbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZmYmNkNgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZoZGwudmltCkBAIC0wLDAgKzEsMTg0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJVkhETAorIiBNYWludGFpbmVyOglDem8gPE9saXZpZXIuU2lyb2xAbGlwNi5mcj4KKyIgQ3JlZGl0czoJU3RlcGhhbiBIZWdlbCA8c3RlcGhhbi5oZWdlbEBzbmMuc2llbWVucy5jb20uY24+CisiICRJZCQKKworIiBWSFNJQyBIYXJkd2FyZSBEZXNjcmlwdGlvbiBMYW5ndWFnZQorIiBWZXJ5IEhpZ2ggU2NhbGUgSW50ZWdyYXRlZCBDaXJjdWl0CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBUaGlzIGlzIG5vdCBWSERMLiBJIHVzZSB0aGUgQy1QcmVwcm9jZXNzb3IgY3BwIHRvIGdlbmVyYXRlIGRpZmZlcmVudCBiaW5hcmllcworIiBmcm9tIG9uZSBWSERMIHNvdXJjZSBmaWxlLiBVbmZvcnR1bmF0ZWx5IHRoZXJlIGlzIG5vIHByZXByb2Nlc3NvciBmb3IgVkhETAorIiBhdmFpbGFibGUuIElmIHlvdSBkb24ndCBsaWtlIHRoaXMsIHBsZWFzZSByZW1vdmUgdGhlIGZvbGxvd2luZyBsaW5lcy4KK3N5biBtYXRjaCBjRGVmaW5lICJeI2lmZGVmWyBdXCtbQS1aYS16X11cKyIKK3N5biBtYXRjaCBjRGVmaW5lICJeI2VuZGlmIgorCisiIGNhc2UgaXMgbm90IHNpZ25pZmljYW50CitzeW4gY2FzZSBpZ25vcmUKKworIiBWSERMIGtleXdvcmRzCitzeW4ga2V5d29yZCB2aGRsU3RhdGVtZW50IGFjY2VzcyBhZnRlciBhbGlhcyBhbGwgYXNzZXJ0CitzeW4ga2V5d29yZCB2aGRsU3RhdGVtZW50IGFyY2hpdGVjdHVyZSBhcnJheSBhdHRyaWJ1dGUKK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgYmVnaW4gYmxvY2sgYm9keSBidWZmZXIgYnVzCitzeW4ga2V5d29yZCB2aGRsU3RhdGVtZW50IGNhc2UgY29tcG9uZW50IGNvbmZpZ3VyYXRpb24gY29uc3RhbnQKK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgZGlzY29ubmVjdCBkb3dudG8KK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgZWxzaWYgZW5kIGVudGl0eSBleGl0CitzeW4ga2V5d29yZCB2aGRsU3RhdGVtZW50IGZpbGUgZm9yIGZ1bmN0aW9uCitzeW4ga2V5d29yZCB2aGRsU3RhdGVtZW50IGdlbmVyYXRlIGdlbmVyaWMgZ3JvdXAgZ3VhcmRlZAorc3luIGtleXdvcmQgdmhkbFN0YXRlbWVudCBpbXB1cmUgaW4gaW5lcnRpYWwgaW5vdXQgaXMKK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgbGFiZWwgbGlicmFyeSBsaW5rYWdlIGxpdGVyYWwgbG9vcAorc3luIGtleXdvcmQgdmhkbFN0YXRlbWVudCBtYXAKK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgbmV3IG5leHQgbnVsbAorc3luIGtleXdvcmQgdmhkbFN0YXRlbWVudCBvZiBvbiBvcGVuIG90aGVycyBvdXQKK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgcGFja2FnZSBwb3J0IHBvc3Rwb25lZCBwcm9jZWR1cmUgcHJvY2VzcyBwdXJlCitzeW4ga2V5d29yZCB2aGRsU3RhdGVtZW50IHJhbmdlIHJlY29yZCByZWdpc3RlciByZWplY3QgcmVwb3J0IHJldHVybgorc3luIGtleXdvcmQgdmhkbFN0YXRlbWVudCBzZWxlY3Qgc2V2ZXJpdHkgc2lnbmFsIHNoYXJlZAorc3luIGtleXdvcmQgdmhkbFN0YXRlbWVudCBzdWJ0eXBlCitzeW4ga2V5d29yZCB2aGRsU3RhdGVtZW50IHRoZW4gdG8gdHJhbnNwb3J0IHR5cGUKK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgdW5hZmZlY3RlZCB1bml0cyB1bnRpbCB1c2UKK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgdmFyaWFibGUgd2FpdCB3aGVuIHdoaWxlIHdpdGgKK3N5biBrZXl3b3JkIHZoZGxTdGF0ZW1lbnQgbm90ZSB3YXJuaW5nIGVycm9yIGZhaWx1cmUKKworIiBTcGVjaWFsIG1hdGNoIGZvciAiaWYiIGFuZCAiZWxzZSIgc2luY2UgImVsc2UgaWYiIHNob3VsZG4ndCBiZSBoaWdobGlnaHRlZC4KKyIgVGhlIHJpZ2h0IGtleXdvcmQgaXMgImVsc2lmIgorc3luIG1hdGNoICAgdmhkbFN0YXRlbWVudCAiXDxcKGlmXHxlbHNlXClcPiIKK3N5biBtYXRjaCAgIHZoZGxOb25lICAgICAgIlw8ZWxzZVxzXCtpZlw+JCIKK3N5biBtYXRjaCAgIHZoZGxOb25lICAgICAgIlw8ZWxzZVxzXCtpZlw+XHMiCisKKyIgUHJlZGlmaW5lZCBWSERMIHR5cGVzCitzeW4ga2V5d29yZCB2aGRsVHlwZSBiaXQgYml0X3ZlY3Rvcgorc3luIGtleXdvcmQgdmhkbFR5cGUgY2hhcmFjdGVyIGJvb2xlYW4gaW50ZWdlciByZWFsIHRpbWUKK3N5biBrZXl3b3JkIHZoZGxUeXBlIHN0cmluZyBzZXZlcml0eV9sZXZlbAorIiBQcmVkaWZpbmVkIHN0YW5kYXJkIGllZWUgVkhETCB0eXBlcworc3luIGtleXdvcmQgdmhkbFR5cGUgcG9zaXRpdmUgbmF0dXJhbCBzaWduZWQgdW5zaWduZWQKK3N5biBrZXl3b3JkIHZoZGxUeXBlIGxpbmUgdGV4dAorc3luIGtleXdvcmQgdmhkbFR5cGUgc3RkX2xvZ2ljIHN0ZF9sb2dpY192ZWN0b3IKK3N5biBrZXl3b3JkIHZoZGxUeXBlIHN0ZF91bG9naWMgc3RkX3Vsb2dpY192ZWN0b3IKKyIgUHJlZGVmaW5lZCBub24gc3RhbmRhcmQgVkhETCB0eXBlcyBmb3IgTWVudG9yIEdyYXBoaWNzIFN5czEwNzYvUXVpY2tIREwKK3N5biBrZXl3b3JkIHZoZGxUeXBlIHFzaW1fc3RhdGUgcXNpbV9zdGF0ZV92ZWN0b3IKK3N5biBrZXl3b3JkIHZoZGxUeXBlIHFzaW1fMTJzdGF0ZSBxc2ltXzEyc3RhdGVfdmVjdG9yCitzeW4ga2V5d29yZCB2aGRsVHlwZSBxc2ltX3N0cmVuZ3RoCisiIFByZWRlZmluZWQgbm9uIHN0YW5kYXJkIFZIREwgdHlwZXMgZm9yIEFsbGlhbmNlIFZMU0kgQ0FECitzeW4ga2V5d29yZCB2aGRsVHlwZSBtdXhfYml0IG11eF92ZWN0b3IgcmVnX2JpdCByZWdfdmVjdG9yIHdvcl9iaXQgd29yX3ZlY3RvcgorCisiIGFycmF5IGF0dHJpYnV0ZXMKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2hpZ2giCitzeW4gbWF0Y2ggdmhkbEF0dHJpYnV0ZSAiXCdsZWZ0Igorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnbGVuZ3RoIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnbG93Igorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwncmFuZ2UiCitzeW4gbWF0Y2ggdmhkbEF0dHJpYnV0ZSAiXCdyZXZlcnNlX3JhbmdlIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwncmlnaHQiCitzeW4gbWF0Y2ggdmhkbEF0dHJpYnV0ZSAiXCdhc2NlbmRpbmciCisiIGJsb2NrIGF0dHJpYnV0ZXMKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2JlaGF2aW91ciIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ3N0cnVjdHVyZSIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ3NpbXBsZV9uYW1lIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnaW5zdGFuY2VfbmFtZSIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ3BhdGhfbmFtZSIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2ZvcmVpZ24iCisiIHNpZ25hbCBhdHRyaWJ1dGUKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2FjdGl2ZSIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2RlbGF5ZWQiCitzeW4gbWF0Y2ggdmhkbEF0dHJpYnV0ZSAiXCdldmVudCIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2xhc3RfYWN0aXZlIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnbGFzdF9ldmVudCIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2xhc3RfdmFsdWUiCitzeW4gbWF0Y2ggdmhkbEF0dHJpYnV0ZSAiXCdxdWlldCIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ3N0YWJsZSIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ3RyYW5zYWN0aW9uIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnZHJpdmluZyIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2RyaXZpbmdfdmFsdWUiCisiIHR5cGUgYXR0cmlidXRlcworc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnYmFzZSIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ2hpZ2giCitzeW4gbWF0Y2ggdmhkbEF0dHJpYnV0ZSAiXCdsZWZ0Igorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnbGVmdG9mIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnbG93Igorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwncG9zIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwncHJlZCIKK3N5biBtYXRjaCB2aGRsQXR0cmlidXRlICJcJ3JpZ2h0b2YiCitzeW4gbWF0Y2ggdmhkbEF0dHJpYnV0ZSAiXCdzdWNjIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwndmFsIgorc3luIG1hdGNoIHZoZGxBdHRyaWJ1dGUgIlwnaW1hZ2UiCitzeW4gbWF0Y2ggdmhkbEF0dHJpYnV0ZSAiXCd2YWx1ZSIKKworc3luIGtleXdvcmQgdmhkbEJvb2xlYW4gdHJ1ZSBmYWxzZQorCisiIGZvciB0aGlzIHZlY3RvciB2YWx1ZXMgY2FzZSBpcyBzaWduaWZpY2FudAorc3luIGNhc2UgbWF0Y2gKKyIgVmFsdWVzIGZvciBzdGFuZGFyZCBWSERMIHR5cGVzCitzeW4gbWF0Y2ggdmhkbFZlY3RvciAiXCdbMEwxSFhXWlVcLVw/XVwnIgorIiBWYWx1ZXMgZm9yIG5vbiBzdGFuZGFyZCBWSERMIHR5cGVzIHFzaW1fMTJzdGF0ZSBmb3IgTWVudG9yIEdyYXBoaWNzIFN5czEwNzYvUXVpY2tIREwKK3N5biBrZXl3b3JkIHZoZGxWZWN0b3IgUzBTIFMxUyBTWFMgUzBSIFMxUiBTWFIgUzBaIFMxWiBTWFogUzBJIFMxSSBTWEkKK3N5biBjYXNlIGlnbm9yZQorCitzeW4gbWF0Y2ggIHZoZGxWZWN0b3IgIkJcIlswMV9dXCtcIiIKK3N5biBtYXRjaCAgdmhkbFZlY3RvciAiT1wiWzAtN19dXCtcIiIKK3N5biBtYXRjaCAgdmhkbFZlY3RvciAiWFwiWzAtOWEtZl9dXCtcIiIKK3N5biBtYXRjaCAgdmhkbENoYXJhY3RlciAiJy4nIgorc3luIHJlZ2lvbiB2aGRsU3RyaW5nIHN0YXJ0PSsiKyAgZW5kPSsiKworCisiIGZsb2F0aW5nIG51bWJlcnMKK3N5biBtYXRjaCB2aGRsTnVtYmVyICItXD1cPFxkXCtcLlxkXCtcKEVbK1wtXVw9XGRcK1wpXD4iCitzeW4gbWF0Y2ggdmhkbE51bWJlciAiLVw9XDxcZFwrXC5cZFwrXD4iCitzeW4gbWF0Y2ggdmhkbE51bWJlciAiMCoyI1swMV9dXCtcLlswMV9dXCsjXChFWytcLV1cPVxkXCtcKVw9Igorc3luIG1hdGNoIHZoZGxOdW1iZXIgIjAqMTYjWzAtOWEtZl9dXCtcLlswLTlhLWZfXVwrI1woRVsrXC1dXD1cZFwrXClcPSIKKyIgaW50ZWdlciBudW1iZXJzCitzeW4gbWF0Y2ggdmhkbE51bWJlciAiLVw9XDxcZFwrXChFWytcLV1cPVxkXCtcKVw+Igorc3luIG1hdGNoIHZoZGxOdW1iZXIgIi1cPVw8XGRcK1w+Igorc3luIG1hdGNoIHZoZGxOdW1iZXIgIjAqMiNbMDFfXVwrI1woRVsrXC1dXD1cZFwrXClcPSIKK3N5biBtYXRjaCB2aGRsTnVtYmVyICIwKjE2I1swLTlhLWZfXVwrI1woRVsrXC1dXD1cZFwrXClcPSIKKyIgb3BlcmF0b3JzCitzeW4ga2V5d29yZCB2aGRsT3BlcmF0b3IgYW5kIG5hbmQgb3Igbm9yIHhvciB4bm9yCitzeW4ga2V5d29yZCB2aGRsT3BlcmF0b3Igcm9sIHJvciBzbGEgc2xsIHNyYSBzcmwKK3N5biBrZXl3b3JkIHZoZGxPcGVyYXRvciBtb2QgcmVtIGFicyBub3QKK3N5biBtYXRjaCAgIHZoZGxPcGVyYXRvciAiWyY+PD06K1wtKlwvfF0iCitzeW4gbWF0Y2ggICB2aGRsU3BlY2lhbCAgIlsoKS4sO10iCisiIHRpbWUKK3N5biBtYXRjaCB2aGRsVGltZSAiXDxcZFwrXHNcK1woXChbZnBudW1dc1wpXHxcKHNlY1wpXHxcKG1pblwpXHxcKGhyXClcKVw+Igorc3luIG1hdGNoIHZoZGxUaW1lICJcPFxkXCtcLlxkXCtcc1wrXChcKFtmcG51bV1zXClcfFwoc2VjXClcfFwobWluXClcfFwoaHJcKVwpXD4iCisKK3N5biBtYXRjaCB2aGRsQ29tbWVudCAiLS0uKiQiCisiIHN5biBtYXRjaCB2aGRsR2xvYmFsICJbXCckI34hJUA/XF5cW1xde31cXF0iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3ZoZGxfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdmhkbF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBjRGVmaW5lICAgICAgIFByZVByb2MKKyAgSGlMaW5rIHZoZGxTcGVjaWFsICAgU3BlY2lhbAorICBIaUxpbmsgdmhkbFN0YXRlbWVudCBTdGF0ZW1lbnQKKyAgSGlMaW5rIHZoZGxDaGFyYWN0ZXIgU3RyaW5nCisgIEhpTGluayB2aGRsU3RyaW5nICAgIFN0cmluZworICBIaUxpbmsgdmhkbFZlY3RvciAgICBTdHJpbmcKKyAgSGlMaW5rIHZoZGxCb29sZWFuICAgU3RyaW5nCisgIEhpTGluayB2aGRsQ29tbWVudCAgIENvbW1lbnQKKyAgSGlMaW5rIHZoZGxOdW1iZXIgICAgU3RyaW5nCisgIEhpTGluayB2aGRsVGltZSAgICAgIFN0cmluZworICBIaUxpbmsgdmhkbFR5cGUgICAgICBUeXBlCisgIEhpTGluayB2aGRsT3BlcmF0b3IgIFR5cGUKKyAgSGlMaW5rIHZoZGxHbG9iYWwgICAgRXJyb3IKKyAgSGlMaW5rIHZoZGxBdHRyaWJ1dGUgVHlwZQorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ2aGRsIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdmltLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZpbS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZhZDExMgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZpbS52aW0KQEAgLTAsMCArMSw2NDIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglWaW0gNi4zIHNjcmlwdAorIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgorIiBMYXN0IENoYW5nZToJTWF5IDI1LCAyMDA0CisiIFZlcnNpb246CTYuMy0wNAorIiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBrZXl3b3JkIGxpc3RzOiB7e3sxCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkIHt7ezIKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiB2aW1Ub2RvOiBjb250YWlucyBjb21tb24gc3BlY2lhbC1ub3RpY2VzIGZvciBjb21tZW50cyB7e3syCisiIFVzZSB0aGUgdmltQ29tbWVudEdyb3VwIGNsdXN0ZXIgdG8gYWRkIHlvdXIgb3duLgorc3luIGtleXdvcmQgdmltVG9kbyBjb250YWluZWQJQ09NQkFLCU5PVAlSRUxFQVNFRAlUT0RPCVdJUAorc3luIGNsdXN0ZXIgdmltQ29tbWVudEdyb3VwCWNvbnRhaW5zPXZpbVRvZG8sQFNwZWxsCisKKyIgcmVndWxhciB2aW0gY29tbWFuZHMge3t7Mgorc3luIGtleXdvcmQgdmltQ29tbWFuZCBjb250YWluZWQJYWJbYnJldmlhdGVdIGFiY1tsZWFyXSBhYm9bdmVsZWZ0XSBhbFtsXSBhcmdhW2RkXSBhcmdkW2VsZXRlXSBhcmdkbyBhcmdlW2RpdF0gYXJnZ1tsb2JhbF0gYXJnbFtvY2FsXSBhcltnc10gYXJndVttZW50XSBhc1tjaWldIGJhZFtkXSBiYVtsbF0gYmRbZWxldGVdIGJlIGJlbFtvd3JpZ2h0XSBiZltpcnN0XSBibFthc3RdIGJtW29kaWZpZWRdIGJuW2V4dF0gYk5bZXh0XSBib1t0cmlnaHRdIGJwW3JldmlvdXNdIGJyZWFba10gYnJlYWthW2RkXSBicmVha2RbZWxdIGJyZWFrbFtpc3RdIGJyW2V3aW5kXSBicm9bd3NlXSBidWZkbyBiW3VmZmVyXSBidWZmZXJzIGJ1bltsb2FkXSBid1tpcGVvdXRdIGNhW2JicmV2XSBjYWJjW2xlYXJdIGNhbFtsXSBjYXRbY2hdIGNjIGNjbFtvc2VdIGNkIGNlW250ZXJdIGNmW2lsZV0gY2ZpcltzdF0gY2dbZXRmaWxlXSBjW2hhbmdlXSBjaGFuZ2VzIGNoZFtpcl0gY2hlW2NrcGF0aF0gY2hlY2t0W2ltZV0gY2xhW3N0XSBjbFtpc3RdIGNsb1tzZV0gY21hcGNbbGVhcl0gY25ld1tlcl0gY25bZXh0XSBjTltleHRdIGNuZltpbGVdIGNOZltpbGVdIGNub3JlYVtiYnJldl0gY29sW2Rlcl0gY29sb1tyc2NoZW1lXSBjb21jW2xlYXJdIGNvbXBbaWxlcl0gY29uZltpcm1dIGNvblt0aW51ZV0gY29wZVtuXSBjb1tweV0gY3BmW2lsZV0gY3BbcmV2aW91c10gY3FbdWl0XSBjcltld2luZF0gY3VuYVtiYnJldl0gY3Vbbm1hcF0gY3dbaW5kb3ddIGRlYnVnZ1tyZWVkeV0gZGVsY1tvbW1hbmRdIGRbZWxldGVdIERlbGV0ZUZpcnN0IGRlbGZbdW5jdGlvbl0gZGVsbVthcmtdIGRpZmZnW2V0XSBkaWZmcGF0Y2ggZGlmZnB1W3RdIGRpZmZzcGxpdCBkaWZmdGhpcyBkaWdbcmFwaHNdIGRpW3NwbGF5XSBkalt1bXBdIGRsW2lzdF0gZHJbb3BdIGRzW2VhcmNoXSBkc3BbbGl0XSBlY2hvZVtycl0gZWNob21bc2ddIGVjaG9uIGVbZGl0XSBlbFtzZV0gZWxzZWlbZl0gZW1bZW51XSBlbWVudSogZW5kZlt1bmN0aW9uXSBlbltkaWZdIGVuZHRbcnldIGVuZHdbaGlsZV0gZW5lW3ddIGV4IGV4aVt0XSBmW2lsZV0gZmlsZXMgZmlsZXR5cGUgZmluYVtsbHldIGZpbltkXSBmaW5pW3NoXSBmaXJbc3RdIGZpeFtkZWxdIGZvW2xkXSBmb2xkY1tsb3NlXSBmb2xkZG9jW2xvc2VkXSBmb2xkZFtvb3Blbl0gZm9sZG9bcGVuXSBmdVtuY3Rpb25dIGdbbG9iYWxdIGdvW3RvXSBncltlcF0gZ3JlcGFbZGRdIGhhW3JkY29weV0gaFtlbHBdIGhlbHBmW2luZF0gaGVscGdbcmVwXSBoZWxwdFthZ3NdIGhpZFtlXSBoaXNbdG9yeV0gSSBpYVtiYnJldl0gaWFiY1tsZWFyXSBpZiBpalt1bXBdIGlsW2lzdF0gaW1hcGNbbGVhcl0gaW5vcmVhW2JicmV2XSBpc1tlYXJjaF0gaXNwW2xpdF0gaXVuYVtiYnJldl0gaXVbbm1hcF0galtvaW5dIGp1W21wc10gayBrZWVwalt1bXBzXSBrZWVbcG1hcmtzXSBsYW5bZ3VhZ2VdIGxhW3N0XSBsY1tkXSBsY2hbZGlyXSBsZVtmdF0gbGVmdGFbYm92ZV0gbFtpc3RdIGxtW2FwXSBsbWFwY1tsZWFyXSBsbltvcmVtYXBdIGxvW2Fkdmlld10gbG9jW2ttYXJrc10gbHMgbHVbbm1hcF0gbWFrW2VdIG1hW3JrXSBtYXJrcyBtYXRbY2hdIG1lbnV0W3JhbnNsYXRlXSBta1tleHJjXSBta3NbZXNzaW9uXSBta3ZpZVt3XSBta3ZbaW1yY10gbW9kW2VdIG1bb3ZlXSBuZXcgbltleHRdIE5bZXh0XSBubWFwY1tsZWFyXSBub2hbbHNlYXJjaF0gbm9yZWFbYmJyZXZdIG5vcm1bYWxdIE5yZWFkIG51W21iZXJdIG51blttYXBdIE53IG9tYXBjW2xlYXJdIG9uW2x5XSBvW3Blbl0gb3B0W2lvbnNdIG91W25tYXBdIHBjW2xvc2VdIHBlZFtpdF0gcGVbcmxdIHBlcmxkW29dIHBvW3BdIHBvcHUgcG9wdVtwXSBwcFtvcF0gcHJlW3NlcnZlXSBwcmV2W2lvdXNdIHBbcmludF0gUFtyaW50XSBwcm9tcHQgcHJvbXB0ZltpbmRdIHByb21wdHJbZXBsXSBwc1tlYXJjaF0gcHRhW2ddIHB0ZltpcnN0XSBwdGpbdW1wXSBwdGxbYXN0XSBwdG5bZXh0XSBwdE5bZXh0XSBwdHBbcmV2aW91c10gcHRyW2V3aW5kXSBwdHNbZWxlY3RdIHB1W3RdIHB3W2RdIHB5ZltpbGVdIHB5W3Rob25dIHFhW2xsXSBxW3VpdF0gcXVpdGFbbGxdIHJbZWFkXSByZWNbb3Zlcl0gcmVkaVtyXSByZWRbb10gcmVkclthd10gcmVkcmF3c1t0YXR1c10gcmVnW2lzdGVyc10gcmVzW2l6ZV0gcmV0W2FiXSByZXR1W3JuXSByZXdbaW5kXSByaVtnaHRdIHJpZ2h0YltlbG93XSBydWJbeV0gcnVieWRbb10gcnVieWZbaWxlXSBydVtudGltZV0gcnZbaW1pbmZvXSBzYWxbbF0gc2Fbcmd1bWVudF0gc2F2W2Vhc10gc2JhW2xsXSBzYmZbaXJzdF0gc2JsW2FzdF0gc2JtW29kaWZpZWRdIHNibltleHRdIHNiTltleHRdIHNicFtyZXZpb3VzXSBzYnJbZXdpbmRdIHNiW3VmZmVyXSBzY3JpcHRlW25jb2RpbmddIHNjcmlwW3RuYW1lc10gc2VbdF0gc2V0ZltpbGV0eXBlXSBzZXRnW2xvYmFsXSBzZXRsW29jYWxdIHNmW2luZF0gc2ZpcltzdCBzaFtlbGxdIHNpZ24gc2lsW2VudF0gc2ltW2FsdF0gc2xhW3N0XSBzbFtlZXBdIHNtW2FnaWNdIHNuW2V4dF0gc05bZXh0XSBzbmlbZmZdIHNub1ttYWdpY10gc29bdXJjZV0gc3BbbGl0XSBzcHJbZXZpb3VzXSBzcmVbd2luZF0gc3RhW2ddIHN0YXJbdGluc2VydF0gc3RhcnRyW2VwbGFjZV0gc3RqW3VtcF0gc3Rbb3BdIHN0b3BpW25zZXJ0XSBzdHNbZWxlY3RdIHN1bltoaWRlXSBzdXNbcGVuZF0gc3ZbaWV3XSBzeW5jYmluZCB0IHRhW2ddIHRhZ3MgdGNbbF0gdGNsZFtvXSB0Y2xmW2lsZV0gdGVbYXJvZmZdIHRmW2lyc3RdIHRoZSB0aFtyb3ddIHRqW3VtcF0gdGxbYXN0XSB0bSB0bVtlbnVdIHRuW2V4dF0gdE5bZXh0XSB0b1twbGVmdF0gdHBbcmV2aW91c10gdHJbZXdpbmRdIHRyeSB0c1tlbGVjdF0gdHUgdHVbbm1lbnVdIHVuYVtiYnJldmlhdGVdIHVbbmRvXSB1bmhbaWRlXSB1bm1bYXBdIHVwW2RhdGVdIHZlcmJbb3NlXSB2ZVtyc2lvbl0gdmVydFtpY2FsXSB2W2dsb2JhbF0gdmllW3ddIHZpW3N1YWxdIHZtYXBjW2xlYXJdIHZuZVt3XSB2c1twbGl0XSB2dVtubWFwXSB3YVtsbF0gd2hbaWxlXSB3aW5jW21kXSB3aW5kbyB3aW5wW29zXSB3aW5wb3MqIHdpbltzaXplXSB3bltleHRdIHdOW2V4dF0gd3BbcmV2b3VzXSB3cSB3cWFbbGxdIHdbcml0ZV0gd3NbdmVyYl0gd3ZbaW1pbmZvXSBYIHhhW2xsXSB4W2l0XSB5W2Fua10KK3N5biBtYXRjaCAgIHZpbUNvbW1hbmQgY29udGFpbmVkCSJcPHpbLSteLj1dIgorCisiIHZpbU9wdGlvbnMgYXJlIGNhdWdodCBvbmx5IHdoZW4gY29udGFpbmVkIGluIGEgdmltU2V0IHt7ezIKK3N5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJOiBhY2QgYWkgYWttIGFsIGFsZXBoIGFsbG93cmV2aW5zIGFsdGtleW1hcCBhbWJpd2lkdGggYW1idyBhbnRpIGFudGlhbGlhcyBhciBhcmFiIGFyYWJpYyBhcmFiaWNzaGFwZSBhcmkgYXJzaGFwZSBhdXRvY2hkaXIgYXV0b2luZGVudCBhdXRvcmVhZCBhdXRvd3JpdGUgYXV0b3dyaXRlYWxsIGF3IGF3YSBiYWNrZ3JvdW5kIGJhY2tzcGFjZSBiYWNrdXAgYmFja3VwY29weSBiYWNrdXBkaXIgYmFja3VwZXh0IGJhY2t1cHNraXAgYmFsbG9vbmRlbGF5IGJhbGxvb25ldmFsIGJkaXIgYmRsYXkgYmV2YWwgYmV4IGJnIGJoIGJpbiBiaW5hcnkgYmlvc2sgYmlvc2tleSBiayBia2MgYmwgYm9tYiBicmVha2F0IGJyayBicm93c2VkaXIgYnMgYnNkaXIgYnNrIGJ0IGJ1ZmhpZGRlbiBidWZsaXN0ZWQgYnVmdHlwZSBjYXNlbWFwIGNiIGNjdiBjZCBjZHBhdGggY2VkaXQgY2YgY2ggY2hhcmNvbnZlcnQgY2kgY2luIGNpbmRlbnQgY2luayBjaW5rZXlzIGNpbm8gY2lub3B0aW9ucyBjaW53IGNpbndvcmRzIGNsaXBib2FyZCBjbWRoZWlnaHQgY21kd2luaGVpZ2h0IGNtcCBjbXMgY28gY29sdW1ucyBjb20gY29tbWVudHMgY29tbWVudHN0cmluZyBjb21wYXRpYmxlIGNvbXBsZXRlIGNvbmMgY29uY2VhbGxldmVsIGNvbmZpcm0gY29uc2sgY29uc2tleSBjb3B5aW5kZW50IGNwIGNwbyBjcG9wdGlvbnMgY3B0IGNyYiBjc2NvcGVwYXRoY29tcCBjc2NvcGVwcmcgY3Njb3BlcXVpY2tmaXggY3Njb3BldGFnIGNzY29wZXRhZ29yZGVyIGNzY29wZXZlcmJvc2UgY3NwYyBjc3ByZyBjc3FmIGNzdCBjc3RvIGNzdmVyYiBjdXJzb3JiaW5kIGN3aCBkZWJ1ZyBkZWNvIGRlZiBkZWZpbmUgZGVsY29tYmluZSBkZXggZGcgZGljdCBkaWN0aW9uYXJ5IGRpZmYgZGlmZmV4cHIgZGlmZm9wdCBkaWdyYXBoIGRpcCBkaXIgZGlyZWN0b3J5IGRpc3BsYXkgZHkgZWEgZWFkIGVhZGlyZWN0aW9uIGViIGVkIGVkY29tcGF0aWJsZSBlZiBlZm0gZWkgZWsgZW5jIGVuY29kaW5nIGVuZG9mbGluZSBlb2wgZXAgZXF1YWxhbHdheXMgZXF1YWxwcmcgZXJyb3JiZWxscyBlcnJvcmZpbGUgZXJyb3Jmb3JtYXQgZXNja2V5cyBldCBldmVudGlnbm9yZSBleCBleHBhbmR0YWIgZXhyYyBmY2wgZmNzIGZkYyBmZGUgZmRpIGZkbCBmZGxzIGZkbSBmZG4gZmRvIGZkdCBmZW4gZmVuYyBmZW5jcyBmZiBmZnMgZmlsZWVuY29kaW5nIGZpbGVlbmNvZGluZ3MgZmlsZWZvcm1hdCBmaWxlZm9ybWF0cyBmaWxldHlwZSBmaWxsY2hhcnMgZmsgZmttYXAgZm1sIGZtciBmbyBmb2xkY2xvc2UgZm9sZGNvbHVtbiBmb2xkZW5hYmxlIGZvbGRleHByIGZvbGRpZ25vcmUgZm9sZGxldmVsIGZvbGRsZXZlbHN0YXJ0IGZvbGRtYXJrZXIgZm9sZG1ldGhvZCBmb2xkbWlubGluZXMgZm9sZG5lc3RtYXggZm9sZG9wZW4gZm9sZHRleHQgZm9ybWF0b3B0aW9ucyBmb3JtYXRwcmcgZnAgZnQgZ2NyIGdkIGdkZWZhdWx0IGdmbSBnZm4gZ2ZzIGdmdyBnaHIgZ28gZ3AgZ3JlcGZvcm1hdCBncmVwcHJnIGd1aWN1cnNvciBndWlmb250IGd1aWZvbnRzZXQgZ3VpZm9udHdpZGUgZ3VpaGVhZHJvb20gZ3Vpb3B0aW9ucyBndWlwdHkgaGVscGZpbGUgaGVscGhlaWdodCBoZWxwbGFuZyBoZiBoaCBoaSBoaWQgaGlkZGVuIGhpZ2hsaWdodCBoaXN0b3J5IGhrIGhrbWFwIGhrbWFwcCBoa3AgaGwgaGxnIGhscyBobHNlYXJjaCBpYyBpY29uIGljb25zdHJpbmcgaWdub3JlY2FzZSBpbSBpbWFjdGl2YXRla2V5IGltYWsgaW1jIGltY21kbGluZSBpbWQgaW1kaXNhYmxlIGltaSBpbWluc2VydCBpbXMgaW1zZWFyY2ggaW5jIGluY2x1ZGUgaW5jbHVkZWV4cHIgaW5jc2VhcmNoIGluZGUgaW5kZW50ZXhwciBpbmRlbnRrZXlzIGluZGsgaW5leCBpbmYgaW5mZXJjYXNlIGluc2VydG1vZGUgaXMgaXNmIGlzZm5hbWUgaXNpIGlzaWRlbnQgaXNrIGlza2V5d29yZCBpc3AgaXNwcmludCBqb2luc3BhY2VzIGpzIGtleSBrZXltYXAga2V5bW9kZWwga2V5d29yZHByZyBrbSBrbXAga3AgbGFuZ21hcCBsYW5nbWVudSBsYXN0c3RhdHVzIGxhenlyZWRyYXcgbGJyIGxjcyBsaW5lYnJlYWsgbGluZXMgbGluZXNwYWNlIGxpc3AgbGlzcHdvcmRzIGxpc3QgbGlzdGNoYXJzIGxtIGxtYXAgbG9hZHBsdWdpbnMgbHBsIGxzIGxzcCBsdyBseiBtYSBtYWdpYyBtYWtlZWYgbWFrZXByZyBtYXQgbWF0Y2hwYWlycyBtYXRjaHRpbWUgbWF4ZnVuY2RlcHRoIG1heG1hcGRlcHRoIG1heG1lbSBtYXhtZW10b3QgbWVmIG1lbnVpdGVtcyBtZmQgbWggbWlzIG1sIG1scyBtbSBtbWQgbW10IG1vZCBtb2RlbGluZSBtb2RlbGluZXMgbW9kaWZpYWJsZSBtb2RpZmllZCBtb3JlIG1vdXNlIG1vdXNlZiBtb3VzZWZvY3VzIG1vdXNlaGlkZSBtb3VzZW0gbW91c2Vtb2RlbCBtb3VzZXMgbW91c2VzaGFwZSBtb3VzZXQgbW91c2V0aW1lIG1wIG1wcyBuZiBucmZvcm1hdHMgbnUgbnVtYmVyIG9mdCBvc2ZpbGV0eXBlIHBhIHBhcmEgcGFyYWdyYXBocyBwYXN0ZSBwYXN0ZXRvZ2dsZSBwYXRjaGV4cHIgcGF0Y2htb2RlIHBhdGggcGRldiBwZW5jIHBleCBwZXhwciBwZm4gcGhlYWRlciBwaSBwbSBwb3B0IHByZXNlcnZlaW5kZW50IHByZXZpZXdoZWlnaHQgcHJldmlld3dpbmRvdyBwcmludGRldmljZSBwcmludGVuY29kaW5nIHByaW50ZXhwciBwcmludGZvbnQgcHJpbnRoZWFkZXIgcHJpbnRvcHRpb25zIHB0IHB2aCBwdncgcmVhZG9ubHkgcmVtYXAgcmVwb3J0IHJlc3RvcmVzY3JlZW4gcmV2aW5zIHJpIHJpZ2h0bGVmdCByaWdodGxlZnRjbWQgcmwgcmxjIHJvIHJzIHJ0cCBydSBydWYgcnVsZXIgcnVsZXJmb3JtYXQgcnVudGltZXBhdGggc2Igc2JvIHNiciBzYyBzY2Igc2NyIHNjcm9sbCBzY3JvbGxiaW5kIHNjcm9sbGp1bXAgc2Nyb2xsb2ZmIHNjcm9sbG9wdCBzY3Mgc2VjdCBzZWN0aW9ucyBzZWN1cmUgc2VsIHNlbGVjdGlvbiBzZWxlY3Rtb2RlIHNlc3Npb25vcHRpb25zIHNmdCBzaCBzaGNmIHNoZWxsIHNoZWxsY21kZmxhZyBzaGVsbHBpcGUgc2hlbGxxdW90ZSBzaGVsbHJlZGlyIHNoZWxsc2xhc2ggc2hlbGx0eXBlIHNoZWxseHF1b3RlIHNoaWZ0cm91bmQgc2hpZnR3aWR0aCBzaG0gc2hvcnRtZXNzIHNob3J0bmFtZSBzaG93YnJlYWsgc2hvd2NtZCBzaG93ZnVsbHRhZyBzaG93bWF0Y2ggc2hvd21vZGUgc2hxIHNpIHNpZGVzY3JvbGwgc2lkZXNjcm9sbG9mZiBzaXNvIHNqIHNsbSBzbSBzbWFydGNhc2Ugc21hcnRpbmRlbnQgc21hcnR0YWIgc21kIHNuIHNvIHNvZnR0YWJzdG9wIHNvbCBzcCBzcGxpdGJlbG93IHNwbGl0cmlnaHQgc3ByIHNyIHNyciBzcyBzc2wgc3NvcCBzdCBzdGEgc3RhcnRvZmxpbmUgc3RhdHVzbGluZSBzdGwgc3RzIHN1IHN1YSBzdWZmaXhlcyBzdWZmaXhlc2FkZCBzdyBzd2FwZmlsZSBzd2Fwc3luYyBzd2Igc3dmIHN3aXRjaGJ1ZiBzd3Mgc3hxIHN5biBzeW50YXggdGEgdGFic3RvcCB0YWcgdGFnYnNlYXJjaCB0YWdsZW5ndGggdGFncmVsYXRpdmUgdGFncyB0YWdzdGFjayB0YiB0YmkgdGJpZGkgdGJpcyB0YnMgdGVuYyB0ZXJtIHRlcm1iaWRpIHRlcm1lbmNvZGluZyB0ZXJzZSB0ZXh0YXV0byB0ZXh0bW9kZSB0ZXh0d2lkdGggdGYgdGdzdCB0aGVzYXVydXMgdGlsZGVvcCB0aW1lb3V0IHRpbWVvdXRsZW4gdGl0bGUgdGl0bGVsZW4gdGl0bGVvbGQgdGl0bGVzdHJpbmcgdGwgdG0gdG8gdG9vbGJhciB0b29sYmFyaWNvbnNpemUgdG9wIHRyIHRzIHRzbCB0c3IgdHRpbWVvdXQgdHRpbWVvdXRsZW4gdHRtIHR0eSB0dHlidWlsdGluIHR0eWZhc3QgdHR5bSB0dHltb3VzZSB0dHlzY3JvbGwgdHR5dHlwZSB0dyB0eCB1YyB1bCB1bmRvbGV2ZWxzIHVwZGF0ZWNvdW50IHVwZGF0ZXRpbWUgdXQgdmIgdmJzIHZkaXIgdmUgdmVyYm9zZSB2aSB2aWV3ZGlyIHZpZXdvcHRpb25zIHZpbWluZm8gdmlydHVhbGVkaXQgdmlzdWFsYmVsbCB2b3Agd2Egd2FrIHdhcm4gd2Igd2Mgd2NtIHdkIHdlaXJkaW52ZXJ0IHdmaCB3aCB3aGljaHdyYXAgd2lnIHdpbGRjaGFyIHdpbGRjaGFybSB3aWxkaWdub3JlIHdpbGRtZW51IHdpbGRtb2RlIHdpbSB3aW5hbHRrZXlzIHdpbmZpeGhlaWdodCB3aW5oZWlnaHQgd2lubWluaGVpZ2h0IHdpbm1pbndpZHRoIHdpbndpZHRoIHdpdiB3aXcgd20gd21oIHdtbnUgd213IHdyYXAgd3JhcG1hcmdpbiB3cmFwc2NhbiB3cml0ZSB3cml0ZWFueSB3cml0ZWJhY2t1cCB3cml0ZWRlbGF5IHdzIHd3CisKKyIgdmltT3B0aW9uczogVGhlc2UgYXJlIHRoZSB0dXJuLW9mZiBzZXR0aW5nIHZhcmlhbnRzIHt7ezIKK3N5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJbm9hY2Qgbm9haSBub2FrbSBub2FsbG93cmV2aW5zIG5vYWx0a2V5bWFwIG5vYW50aSBub2FudGlhbGlhcyBub2FyIG5vYXJhYiBub2FyYWJpYyBub2FyYWJpY3NoYXBlIG5vYXJpIG5vYXJzaGFwZSBub2F1dG9jaGRpciBub2F1dG9pbmRlbnQgbm9hdXRvcmVhZCBub2F1dG93cml0ZSBub2F1dG93cml0ZWFsbCBub2F3IG5vYXdhIG5vYmFja3VwIG5vYmFsbG9vbmV2YWwgbm9iZXZhbCBub2JpbiBub2JpbmFyeSBub2Jpb3NrIG5vYmlvc2tleSBub2JrIG5vYmwgbm9ib21iIG5vYnVmbGlzdGVkIG5vY2Ygbm9jaSBub2NpbiBub2NpbmRlbnQgbm9jb21wYXRpYmxlIG5vY29uZmlybSBub2NvbnNrIG5vY29uc2tleSBub2NvcHlpbmRlbnQgbm9jcCBub2NyYiBub2NzY29wZXRhZyBub2NzY29wZXZlcmJvc2Ugbm9jc3Qgbm9jc3ZlcmIgbm9jdXJzb3JiaW5kIG5vZGVjbyBub2RlbGNvbWJpbmUgbm9kZyBub2RpZmYgbm9kaWdyYXBoIG5vZGlzYWJsZSBub2VhIG5vZWIgbm9lZCBub2VkY29tcGF0aWJsZSBub2VrIG5vZW5kb2ZsaW5lIG5vZW9sIG5vZXF1YWxhbHdheXMgbm9lcnJvcmJlbGxzIG5vZXNja2V5cyBub2V0IG5vZXggbm9leHBhbmR0YWIgbm9leHJjIG5vZmVuIG5vZmsgbm9ma21hcCBub2ZvbGRlbmFibGUgbm9nZCBub2dkZWZhdWx0IG5vZ3VpcHR5IG5vaGlkIG5vaGlkZGVuIG5vaGsgbm9oa21hcCBub2hrbWFwcCBub2hrcCBub2hscyBub2hsc2VhcmNoIG5vaWMgbm9pY29uIG5vaWdub3JlY2FzZSBub2ltIG5vaW1jIG5vaW1jbWRsaW5lIG5vaW1kIG5vaW5jc2VhcmNoIG5vaW5mIG5vaW5mZXJjYXNlIG5vaW5zZXJ0bW9kZSBub2lzIG5vam9pbnNwYWNlcyBub2pzIG5vbGF6eXJlZHJhdyBub2xiciBub2xpbmVicmVhayBub2xpc3Agbm9saXN0IG5vbG9hZHBsdWdpbnMgbm9scGwgbm9seiBub21hIG5vbWFnaWMgbm9taCBub21sIG5vbW9kIG5vbW9kZWxpbmUgbm9tb2RpZmlhYmxlIG5vbW9kaWZpZWQgbm9tb3JlIG5vbW91c2VmIG5vbW91c2Vmb2N1cyBub21vdXNlaGlkZSBub251IG5vbnVtYmVyIG5vcGFzdGUgbm9waSBub3ByZXNlcnZlaW5kZW50IG5vcHJldmlld3dpbmRvdyBub3B2dyBub3JlYWRvbmx5IG5vcmVtYXAgbm9yZXN0b3Jlc2NyZWVuIG5vcmV2aW5zIG5vcmkgbm9yaWdodGxlZnQgbm9yaWdodGxlZnRjbWQgbm9ybCBub3JsYyBub3JvIG5vcnMgbm9ydSBub3J1bGVyIG5vc2Igbm9zYyBub3NjYiBub3Njcm9sbGJpbmQgbm9zY3Mgbm9zZWN1cmUgbm9zZnQgbm9zaGVsbHNsYXNoIG5vc2hpZnRyb3VuZCBub3Nob3J0bmFtZSBub3Nob3djbWQgbm9zaG93ZnVsbHRhZyBub3Nob3dtYXRjaCBub3Nob3dtb2RlIG5vc2kgbm9zbSBub3NtYXJ0Y2FzZSBub3NtYXJ0aW5kZW50IG5vc21hcnR0YWIgbm9zbWQgbm9zbiBub3NvbCBub3NwbGl0YmVsb3cgbm9zcGxpdHJpZ2h0IG5vc3ByIG5vc3Igbm9zc2wgbm9zdGEgbm9zdGFydG9mbGluZSBub3N3YXBmaWxlIG5vc3dmIG5vdGEgbm90YWdic2VhcmNoIG5vdGFncmVsYXRpdmUgbm90YWdzdGFjayBub3RiaSBub3RiaWRpIG5vdGJzIG5vdGVybWJpZGkgbm90ZXJzZSBub3RleHRhdXRvIG5vdGV4dG1vZGUgbm90ZiBub3Rnc3Qgbm90aWxkZW9wIG5vdGltZW91dCBub3RpdGxlIG5vdG8gbm90b3Agbm90ciBub3R0aW1lb3V0IG5vdHR5YnVpbHRpbiBub3R0eWZhc3Qgbm90eCBub3ZiIG5vdmlzdWFsYmVsbCBub3dhIG5vd2FybiBub3diIG5vd2VpcmRpbnZlcnQgbm93Zmggbm93aWxkbWVudSBub3dpbmZpeGhlaWdodCBub3dpdiBub3dtbnUgbm93cmFwIG5vd3JhcHNjYW4gbm93cml0ZSBub3dyaXRlYW55IG5vd3JpdGViYWNrdXAgbm93cworCisiIHZpbU9wdGlvbnM6IFRoZXNlIGFyZSB0aGUgaW52ZXJ0aWJsZSB2YXJpYW50cyB7e3syCitzeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCWludmFjZCBpbnZhaSBpbnZha20gaW52YWxsb3dyZXZpbnMgaW52YWx0a2V5bWFwIGludmFudGkgaW52YW50aWFsaWFzIGludmFyIGludmFyYWIgaW52YXJhYmljIGludmFyYWJpY3NoYXBlIGludmFyaSBpbnZhcnNoYXBlIGludmF1dG9jaGRpciBpbnZhdXRvaW5kZW50IGludmF1dG9yZWFkIGludmF1dG93cml0ZSBpbnZhdXRvd3JpdGVhbGwgaW52YXcgaW52YXdhIGludmJhY2t1cCBpbnZiYWxsb29uZXZhbCBpbnZiZXZhbCBpbnZiaW4gaW52YmluYXJ5IGludmJpb3NrIGludmJpb3NrZXkgaW52YmsgaW52YmwgaW52Ym9tYiBpbnZidWZsaXN0ZWQgaW52Y2YgaW52Y2kgaW52Y2luIGludmNpbmRlbnQgaW52Y29tcGF0aWJsZSBpbnZjb25maXJtIGludmNvbnNrIGludmNvbnNrZXkgaW52Y29weWluZGVudCBpbnZjcCBpbnZjcmIgaW52Y3Njb3BldGFnIGludmNzY29wZXZlcmJvc2UgaW52Y3N0IGludmNzdmVyYiBpbnZjdXJzb3JiaW5kIGludmRlY28gaW52ZGVsY29tYmluZSBpbnZkZyBpbnZkaWZmIGludmRpZ3JhcGggaW52ZGlzYWJsZSBpbnZlYSBpbnZlYiBpbnZlZCBpbnZlZGNvbXBhdGlibGUgaW52ZWsgaW52ZW5kb2ZsaW5lIGludmVvbCBpbnZlcXVhbGFsd2F5cyBpbnZlcnJvcmJlbGxzIGludmVzY2tleXMgaW52ZXQgaW52ZXggaW52ZXhwYW5kdGFiIGludmV4cmMgaW52ZmVuIGludmZrIGludmZrbWFwIGludmZvbGRlbmFibGUgaW52Z2QgaW52Z2RlZmF1bHQgaW52Z3VpcHR5IGludmhpZCBpbnZoaWRkZW4gaW52aGsgaW52aGttYXAgaW52aGttYXBwIGludmhrcCBpbnZobHMgaW52aGxzZWFyY2ggaW52aWMgaW52aWNvbiBpbnZpZ25vcmVjYXNlIGludmltIGludmltYyBpbnZpbWNtZGxpbmUgaW52aW1kIGludmluY3NlYXJjaCBpbnZpbmYgaW52aW5mZXJjYXNlIGludmluc2VydG1vZGUgaW52aXMgaW52am9pbnNwYWNlcyBpbnZqcyBpbnZsYXp5cmVkcmF3IGludmxiciBpbnZsaW5lYnJlYWsgaW52bGlzcCBpbnZsaXN0IGludmxvYWRwbHVnaW5zIGludmxwbCBpbnZseiBpbnZtYSBpbnZtYWdpYyBpbnZtaCBpbnZtbCBpbnZtb2QgaW52bW9kZWxpbmUgaW52bW9kaWZpYWJsZSBpbnZtb2RpZmllZCBpbnZtb3JlIGludm1vdXNlZiBpbnZtb3VzZWZvY3VzIGludm1vdXNlaGlkZSBpbnZudSBpbnZudW1iZXIgaW52cGFzdGUgaW52cGkgaW52cHJlc2VydmVpbmRlbnQgaW52cHJldmlld3dpbmRvdyBpbnZwdncgaW52cmVhZG9ubHkgaW52cmVtYXAgaW52cmVzdG9yZXNjcmVlbiBpbnZyZXZpbnMgaW52cmkgaW52cmlnaHRsZWZ0IGludnJpZ2h0bGVmdGNtZCBpbnZybCBpbnZybGMgaW52cm8gaW52cnMgaW52cnUgaW52cnVsZXIgaW52c2IgaW52c2MgaW52c2NiIGludnNjcm9sbGJpbmQgaW52c2NzIGludnNlY3VyZSBpbnZzZnQgaW52c2hlbGxzbGFzaCBpbnZzaGlmdHJvdW5kIGludnNob3J0bmFtZSBpbnZzaG93Y21kIGludnNob3dmdWxsdGFnIGludnNob3dtYXRjaCBpbnZzaG93bW9kZSBpbnZzaSBpbnZzbSBpbnZzbWFydGNhc2UgaW52c21hcnRpbmRlbnQgaW52c21hcnR0YWIgaW52c21kIGludnNuIGludnNvbCBpbnZzcGxpdGJlbG93IGludnNwbGl0cmlnaHQgaW52c3ByIGludnNyIGludnNzbCBpbnZzdGEgaW52c3RhcnRvZmxpbmUgaW52c3dhcGZpbGUgaW52c3dmIGludnRhIGludnRhZ2JzZWFyY2ggaW52dGFncmVsYXRpdmUgaW52dGFnc3RhY2sgaW52dGJpIGludnRiaWRpIGludnRicyBpbnZ0ZXJtYmlkaSBpbnZ0ZXJzZSBpbnZ0ZXh0YXV0byBpbnZ0ZXh0bW9kZSBpbnZ0ZiBpbnZ0Z3N0IGludnRpbGRlb3AgaW52dGltZW91dCBpbnZ0aXRsZSBpbnZ0byBpbnZ0b3AgaW52dHIgaW52dHRpbWVvdXQgaW52dHR5YnVpbHRpbiBpbnZ0dHlmYXN0IGludnR4IGludnZiIGludnZpc3VhbGJlbGwgaW52d2EgaW52d2FybiBpbnZ3YiBpbnZ3ZWlyZGludmVydCBpbnZ3ZmggaW52d2lsZG1lbnUgaW52d2luZml4aGVpZ2h0IGludndpdiBpbnZ3bW51IGludndyYXAgaW52d3JhcHNjYW4gaW52d3JpdGUgaW52d3JpdGVhbnkgaW52d3JpdGViYWNrdXAgaW52d3MKKworIiB0ZXJtY2FwIGNvZGVzICh3aGljaCBjYW4gYWxzbyBiZSBzZXQpIHt7ezIKK3N5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJdF9BQiB0X0FGIHRfYWwgdF9BTCB0X2JjIHRfY2QgdF9jZSB0X2NsIHRfY20gdF9DbyB0X2NzIHRfQ1MgdF9DViB0X2RhIHRfZGIgdF9kbCB0X0RMIHRfRjEgdF9GMiB0X0YzIHRfRjQgdF9GNSB0X0Y2IHRfRjcgdF9GOCB0X0Y5IHRfZnMgdF9JRSB0X0lTIHRfazEgdF9LMSB0X2syIHRfazMgdF9LMyB0X2s0IHRfSzQgdF9rNSB0X0s1IHRfazYgdF9LNiB0X2s3IHRfSzcgdF9rOCB0X0s4IHRfazkgdF9LOSB0X0tBIHRfa2IgdF9rQiB0X0tCIHRfS0MgdF9rZCB0X2tEIHRfS0QgdF9rZSB0X0tFIHRfS0YgdF9LRyB0X2toIHRfS0ggdF9rSSB0X0tJIHRfS0ogdF9LSyB0X2tsIHRfS0wgdF9rTiB0X2tQIHRfa3IgdF9rcyB0X2t1IHRfbGUgdF9tYiB0X21kIHRfbWUgdF9tciB0X21zIHRfbmQgdF9vcCB0X1JJIHRfUlYgdF9TYiB0X3NlIHRfU2YgdF9zbyB0X3NyIHRfdGUgdF90aSB0X3RzIHRfdWUgdF91cyB0X3V0IHRfdmIgdF92ZSB0X3ZpIHRfdnMgdF9XUCB0X1dTIHRfeHMgdF9aSCB0X1pSCitzeW4gbWF0Y2ggICB2aW1PcHRpb24gY29udGFpbmVkCSJ0XyUxIgorc3luIG1hdGNoICAgdmltT3B0aW9uIGNvbnRhaW5lZAkidF8jMiIKK3N5biBtYXRjaCAgIHZpbU9wdGlvbiBjb250YWluZWQJInRfIzQiCitzeW4gbWF0Y2ggICB2aW1PcHRpb24gY29udGFpbmVkCSJ0X0A3Igorc3luIG1hdGNoICAgdmltT3B0aW9uIGNvbnRhaW5lZAkidF8qNyIKK3N5biBtYXRjaCAgIHZpbU9wdGlvbiBjb250YWluZWQJInRfJjgiCitzeW4gbWF0Y2ggICB2aW1PcHRpb24gY29udGFpbmVkCSJ0XyVpIgorc3luIG1hdGNoICAgdmltT3B0aW9uIGNvbnRhaW5lZAkidF9rOyIKKworIiB1bnN1cHBvcnRlZCBzZXR0aW5nczogdGhlc2UgYXJlIHN1cHBvcnRlZCBieSB2aSBidXQgZG9uJ3QgZG8gYW55dGhpbmcgaW4gdmltIHt7ezIKK3N5biBrZXl3b3JkIHZpbUVyclNldHRpbmcgY29udGFpbmVkCWhhcmR0YWJzIGh0IHcxMjAwIHczMDAgdzk2MDAgd2kgd2luZG93CisKKyIgQXV0b0J1ZiBFdmVudHMge3t7Mgorc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZCB2aW1BdXRvRXZlbnQgY29udGFpbmVkCUJ1ZkFkZCBCdWZDcmVhdGUgQnVmRGVsZXRlIEJ1ZkVudGVyIEJ1ZkZpbGVQb3N0IEJ1ZkZpbGVQcmUgQnVmSGlkZGVuIEJ1ZkxlYXZlIEJ1Zk5ldyBCdWZOZXdGaWxlIEJ1ZlJlYWQgQnVmUmVhZENtZCBCdWZSZWFkUG9zdCBCdWZSZWFkUHJlIEJ1ZlVubG9hZCBCdWZXaW5FbnRlciBCdWZXaW5MZWF2ZSBCdWZXaXBlb3V0IEJ1ZldyaXRlIEJ1ZldyaXRlQ21kIEJ1ZldyaXRlUG9zdCBCdWZXcml0ZVByZSBDbWQtZXZlbnQgQ21kd2luRW50ZXIgQ21kd2luTGVhdmUgQ3Vyc29ySG9sZCBFMTM1IEUxNDMgRTIwMCBFMjAxIEUyMDMgRTIwNCBFbmNvZGluZ0NoYW5nZWQgRmlsZUFwcGVuZENtZCBGaWxlQXBwZW5kUG9zdCBGaWxlQXBwZW5kUHJlIEZpbGVDaGFuZ2VkUk8gRmlsZUNoYW5nZWRTaGVsbCBGaWxlRW5jb2RpbmcgRmlsZVJlYWRDbWQgRmlsZVJlYWRQb3N0IEZpbGVSZWFkUHJlIEZpbGVUeXBlIEZpbGVXcml0ZUNtZCBGaWxlV3JpdGVQb3N0IEZpbGVXcml0ZVByZSBGaWx0ZXJSZWFkUG9zdCBGaWx0ZXJSZWFkUHJlIEZpbHRlcldyaXRlUG9zdCBGaWx0ZXJXcml0ZVByZSBGb2N1c0dhaW5lZCBGb2N1c0xvc3QgRnVuY1VuZGVmaW5lZCBHVUlFbnRlciBSZW1vdGVSZXBseSBTdGRpblJlYWRQb3N0IFN0ZGluUmVhZFByZSBTeW50YXggVGVybUNoYW5nZWQgVGVybVJlc3BvbnNlIFVzZXIgVXNlckdldHRpbmdCb3JlZCBWaW1FbnRlciBWaW1MZWF2ZSBWaW1MZWF2ZVByZSBXaW5FbnRlciBXaW5MZWF2ZQorCisiIEhpZ2hsaWdodCBjb21tb25seSB1c2VkIEdyb3VwbmFtZXMge3t7Mgorc3luIGtleXdvcmQgdmltR3JvdXAgY29udGFpbmVkCUNvbW1lbnQgQ29uc3RhbnQgU3RyaW5nIENoYXJhY3RlciBOdW1iZXIgQm9vbGVhbiBGbG9hdCBJZGVudGlmaWVyIEZ1bmN0aW9uIFN0YXRlbWVudCBDb25kaXRpb25hbCBSZXBlYXQgTGFiZWwgT3BlcmF0b3IgS2V5d29yZCBFeGNlcHRpb24gUHJlUHJvYyBJbmNsdWRlIERlZmluZSBNYWNybyBQcmVDb25kaXQgVHlwZSBTdG9yYWdlQ2xhc3MgU3RydWN0dXJlIFR5cGVkZWYgU3BlY2lhbCBTcGVjaWFsQ2hhciBUYWcgRGVsaW1pdGVyIFNwZWNpYWxDb21tZW50IERlYnVnIFVuZGVybGluZWQgSWdub3JlIEVycm9yIFRvZG8KKworIiBEZWZhdWx0IGhpZ2hsaWdodGluZyBncm91cHMge3t7Mgorc3luIGtleXdvcmQgdmltSExHcm91cCBjb250YWluZWQJQ29uY2VhbCBDdXJzb3IgQ3Vyc29ySU0gRGlmZkFkZCBEaWZmQ2hhbmdlIERpZmZEZWxldGUgRGlmZlRleHQgRGlyZWN0b3J5IEVycm9yTXNnIEZvbGRDb2x1bW4gRm9sZGVkIEluY1NlYXJjaCBMaW5lTnIgTWVudSBNb2RlTXNnIE1vcmVNc2cgTm9uVGV4dCBOb3JtYWwgUXVlc3Rpb24gU2Nyb2xsYmFyIFNlYXJjaCBTaWduQ29sdW1uIFNwZWNpYWxLZXkgU3RhdHVzTGluZSBTdGF0dXNMaW5lTkMgVGl0bGUgVG9vbHRpcCBWZXJ0U3BsaXQgVmlzdWFsIFZpc3VhbE5PUyBXYXJuaW5nTXNnIFdpbGRNZW51CitzeW4gY2FzZSBtYXRjaAorCisiIEZ1bmN0aW9uIE5hbWVzIHt7ezIKK3N5biBrZXl3b3JkIHZpbUZ1bmNOYW1lIGNvbnRhaW5lZAlhcHBlbmQgYXJnYyBhcmdpZHggYXJndiBicm93c2UgYnVmZXhpc3RzIGJ1Zmxpc3RlZCBidWZsb2FkZWQgYnVmbmFtZSBidWZuciBidWZ3aW5uciBieXRlMmxpbmUgY2hhcjJuciBjaW5kZW50IGNvbCBjb25maXJtIGNzY29wZV9jb25uZWN0aW9uIGN1cnNvciBkZWxldGUgZGlkX2ZpbGV0eXBlIGVzY2FwZSBldmVudGhhbmRsZXIgZXhlY3V0YWJsZSBleGlzdHMgZXhwYW5kIGZpbGVyZWFkYWJsZSBmaWxld3JpdGFibGUgZm5hbWVtb2RpZnkgZm9sZGNsb3NlZCBmb2xkY2xvc2VkZW5kIGZvbGRsZXZlbCBmb2xkdGV4dCBmb3JlZ3JvdW5kIGZ1bmN0aW9uIGdldGJ1ZnZhciBnZXRjaGFyIGdldGNoYXJtb2QgZ2V0Y21kbGluZSBnZXRjbWRwb3MgZ2V0Y3dkIGdldGZzaXplIGdldGZ0aW1lIGdldGxpbmUgZ2V0cmVnIGdldHJlZ3R5cGUgZ2V0d2lucG9zeCBnZXR3aW5wb3N5IGdldHdpbnZhciBnbG9iIGdsb2JwYXRoIGhhcyBoYXNtYXB0byBoaXN0YWRkIGhpc3RkZWwgaGlzdGdldCBoaXN0bnIgaGxleGlzdHMgaGxJRCBob3N0bmFtZSBpY29udiBpbmRlbnQgaW5wdXQgaW5wdXRkaWFsb2cgaW5wdXRyZXN0b3JlIGlucHV0c2F2ZSBpbnB1dHNlY3JldCBpc2RpcmVjdG9yeSBsaWJjYWxsIGxpYmNhbGxuciBsaW5lIGxpbmUyYnl0ZSBsaXNwaW5kZW50IGxvY2FsdGltZSBtYXBhcmcgbWFwY2hlY2sgbWF0Y2ggbWF0Y2hlbmQgbWF0Y2hzdHIgbW9kZSBuZXh0bm9uYmxhbmsgbnIyY2hhciBwcmV2bm9uYmxhbmsgcmVtb3RlX2V4cHIgcmVtb3RlX2ZvcmVncm91bmQgcmVtb3RlX3BlZWsgcmVtb3RlX3JlYWQgcmVtb3RlX3NlbmQgcmVuYW1lIHJlc29sdmUgc2VhcmNoIHNlYXJjaHBhaXIgc2VydmVyMmNsaWVudCBzZXJ2ZXJsaXN0IHNldGJ1ZnZhciBzZXRjbWRwb3Mgc2V0bGluZSBzZXRyZWcgc2V0d2ludmFyIHNpbXBsaWZ5IHN0cmZ0aW1lIHN0cmlkeCBzdHJsZW4gc3RycGFydCBzdHJyaWR4IHN0cnRyYW5zIHN1Ym1hdGNoIHN1YnN0aXR1dGUgc3luSUQgc3luSURhdHRyIHN5bklEdHJhbnMgc3lzdGVtIHRlbXBuYW1lIHRvbG93ZXIgdG91cHBlciB0eXBlIHZpcnRjb2wgdmlzdWFsbW9kZSB3aW5idWZuciB3aW5jb2wgd2luaGVpZ2h0IHdpbmxpbmUgd2lubnIgd2lucmVzdGNtZCB3aW53aWR0aAorCisiLS0tIHN5bnRheCBhYm92ZSBnZW5lcmF0ZWQgYnkgbWt2aW12aW0gLS0tCisKKyIgU3BlY2lhbCBWaW0gSGlnaGxpZ2h0aW5nIHt7ezEKKworIiBOdW1iZXJzIHt7ezEKKyIgPT09PT09PQorc3luIG1hdGNoIHZpbU51bWJlcgkiXDxcZFwrXChbbExdXHxcLlxkXCtcKVw9Igorc3luIG1hdGNoIHZpbU51bWJlcgkiLVxkXCtcKFtsTF1cfFwuXGRcK1wpXD0iCitzeW4gbWF0Y2ggdmltTnVtYmVyCSJcPDBbeFhdXHhcKyIKK3N5biBtYXRjaCB2aW1OdW1iZXIJIiNceFx7Nn0iCisKKyIgQWxsIHZpbUNvbW1hbmRzIGFyZSBjb250YWluZWQgYnkgdmltSXNDb21tYW5kcy4ge3t7MQorc3luIG1hdGNoIHZpbUNtZFNlcAkiWzp8XVwrIglza2lwd2hpdGUgbmV4dGdyb3VwPXZpbUFkZHJlc3MsdmltQXV0b0NtZCx2aW1Db21tYW5kLHZpbUV4dENtZCx2aW1GaWx0ZXIsdmltTGV0LHZpbU1hcCx2aW1NYXJrLHZpbVNldCx2aW1TeW50YXgsdmltVXNlckNtZAorc3luIG1hdGNoIHZpbUlzQ29tbWFuZAkiXDxcYVwrXD4iCWNvbnRhaW5zPXZpbUNvbW1hbmQKK3N5biBtYXRjaCB2aW1WYXIJCSJcPFtid2dsc2F2XTpcS1xrKlw+Igorc3luIG1hdGNoIHZpbVZhciBjb250YWluZWQJIlw8XEtcaypcPiIKKworIiBJbnNlcnRpb25zIEFuZCBBcHBlbmRzOiBpbnNlcnQgYXBwZW5kIHt7ezEKKyIgPT09PT09PT09PT09PT09PT09PT09PT0KK3N5biByZWdpb24gdmltSW5zZXJ0CW1hdGNoZ3JvdXA9dmltQ29tbWFuZCBzdGFydD0iXls6IFx0XSpcKFxkXCtcKCxcZFwrXClcPVwpXD1hXCVbcHBlbmRdJCIJbWF0Y2hncm91cD12aW1Db21tYW5kIGVuZD0iXlwuJCIiCitzeW4gcmVnaW9uIHZpbUluc2VydAltYXRjaGdyb3VwPXZpbUNvbW1hbmQgc3RhcnQ9Il5bOiBcdF0qXChcZFwrXCgsXGRcK1wpXD1cKVw9Y1wlW2hhbmdlXSQiCW1hdGNoZ3JvdXA9dmltQ29tbWFuZCBlbmQ9Il5cLiQiIgorc3luIHJlZ2lvbiB2aW1JbnNlcnQJbWF0Y2hncm91cD12aW1Db21tYW5kIHN0YXJ0PSJeWzogXHRdKlwoXGRcK1woLFxkXCtcKVw9XClcPWlcJVtuc2VydF0kIgltYXRjaGdyb3VwPXZpbUNvbW1hbmQgZW5kPSJeXC4kIiIKKworIiBCZWhhdmUhIHt7ezEKKyIgPT09PT09PQorc3luIG1hdGNoICAgdmltQmVoYXZlCSJcPGJlXCVbaGF2ZV1cPiIgc2tpcHdoaXRlIG5leHRncm91cD12aW1CZWhhdmVNb2RlbCx2aW1CZWhhdmVFcnJvcgorc3luIGtleXdvcmQgdmltQmVoYXZlTW9kZWwgY29udGFpbmVkCW1zd2luCXh0ZXJtCitzeW4gbWF0Y2ggICB2aW1CZWhhdmVFcnJvciBjb250YWluZWQJIlteIF1cKyIKKworIiBGaWxldHlwZXMge3t7MQorIiA9PT09PT09PT0KK3N5biBtYXRjaCAgIHZpbUZpbGV0eXBlCSJcPGZpbGV0XCVbeXBlXVwoXHNcK1xJXGkqXCkqXCh8XHwkXCkiCXNraXB3aGl0ZSBjb250YWlucz12aW1GVENtZCx2aW1GVE9wdGlvbix2aW1GVEVycm9yCitzeW4gbWF0Y2ggICB2aW1GVEVycm9yICBjb250YWluZWQJIlxJXGkqIgorc3luIGtleXdvcmQgdmltRlRDbWQgICAgY29udGFpbmVkCWZpbGV0W3lwZV0KK3N5biBrZXl3b3JkIHZpbUZUT3B0aW9uIGNvbnRhaW5lZAlkZXRlY3QgaW5kZW50IG9mZiBvbiBwbHVnaW4KKworIiBBdWdyb3VwIDogdmltQXVncm91cEVycm9yIHJlbW92ZWQgYmVjYXVzZSBsb25nIGF1Z3JvdXBzIGNhdXNlZCBzeW5jJ2luZyBwcm9ibGVtcy4ge3t7MQorIiA9PT09PT09IDogVHJhZGUtb2ZmOiBJbmNyZWFzaW5nIHN5bmNsaW5lcyB3aXRoIHNsb3dlciBlZGl0aW5nIHZzIGF1Z3JvdXAgRU5EIGVycm9yIGNoZWNraW5nLgorc3luIGNsdXN0ZXIgdmltQXVncm91cExpc3QJY29udGFpbnM9dmltSXNDb21tYW5kLHZpbUZ1bmN0aW9uLHZpbUZ1bmN0aW9uRXJyb3IsdmltTGluZUNvbW1lbnQsdmltU3BlY0ZpbGUsdmltT3Blcix2aW1OdW1iZXIsdmltQ29tbWVudCx2aW1TdHJpbmcsdmltU3Vic3QsdmltTWFyayx2aW1SZWdpc3Rlcix2aW1BZGRyZXNzLHZpbUZpbHRlcix2aW1DbXBseFJlcGVhdCx2aW1Db21tZW50LHZpbUxldCx2aW1TZXQsdmltQXV0b0NtZCx2aW1SZWdpb24sdmltU3luTGluZSx2aW1Ob3RhdGlvbix2aW1DdHJsQ2hhcix2aW1GdW5jVmFyLHZpbUNvbnRpbnVlCitzeW4gcmVnaW9uICB2aW1BdWdyb3VwCXN0YXJ0PSJcPGF1Z1wlW3JvdXBdXD5cc1wrXEtcayoiIGVuZD0iXDxhdWdcJVtyb3VwXVw+XHNcK1tlRV1bbk5dW2REXVw+Igljb250YWlucz12aW1BdWdyb3VwS2V5LHZpbUF1dG9DbWQsQHZpbUF1Z3JvdXBMaXN0IGtlZXBlbmQKK3N5biBtYXRjaCAgIHZpbUF1Z3JvdXBFcnJvcgkiXDxhdWdcJVtyb3VwXVw+XHNcK1tlRV1bbk5dW2REXVw+Igorc3luIGtleXdvcmQgdmltQXVncm91cEtleSBjb250YWluZWQJYXVnW3JvdXBdCisKKyIgRnVuY3Rpb25zIDogVGFnIGlzIHByb3ZpZGVkIGZvciB0aG9zZSB3aG8gd2lzaCB0byBoaWdobGlnaHQgdGFnZ2VkIGZ1bmN0aW9ucyB7e3sxCisiID09PT09PT09PQorc3luIGNsdXN0ZXIgdmltRnVuY0xpc3QJY29udGFpbnM9dmltRnVuY0tleSxUYWcsdmltRnVuY1NJRAorc3luIGNsdXN0ZXIgdmltRnVuY0JvZHlMaXN0CWNvbnRhaW5zPXZpbUlzQ29tbWFuZCx2aW1GdW5jdGlvbix2aW1GdW5jdGlvbkVycm9yLHZpbUZ1bmNCb2R5LHZpbUxpbmVDb21tZW50LHZpbVNwZWNGaWxlLHZpbU9wZXIsdmltTnVtYmVyLHZpbUNvbW1lbnQsdmltU3RyaW5nLHZpbVN1YnN0LHZpbU1hcmssdmltUmVnaXN0ZXIsdmltQWRkcmVzcyx2aW1GaWx0ZXIsdmltQ21wbHhSZXBlYXQsdmltQ29tbWVudCx2aW1MZXQsdmltU2V0LHZpbUF1dG9DbWQsdmltUmVnaW9uLHZpbVN5bkxpbmUsdmltTm90YXRpb24sdmltQ3RybENoYXIsdmltRnVuY1Zhcix2aW1Db250aW51ZQorc3luIG1hdGNoICAgdmltRnVuY3Rpb25FcnJvcgkiXDxmdVwlW25jdGlvbl0hXD1cc1wrXHpzXFVcaVx7LX1cemVccyooIiAgICAgICAgICAgICAgICAJY29udGFpbnM9dmltRnVuY0tleSx2aW1GdW5jQmxhbmsgbmV4dGdyb3VwPXZpbUZ1bmNCb2R5CitzeW4gbWF0Y2ggICB2aW1GdW5jdGlvbgkiXDxmdVwlW25jdGlvbl0hXD1cc1wrXCg8W3NTXVtpSV1bZERdPlx8W1NzXTpcfFx1XClcaSpcemVccyooIgljb250YWlucz1AdmltRnVuY0xpc3QgbmV4dGdyb3VwPXZpbUZ1bmNCb2R5CitzeW4gcmVnaW9uICB2aW1GdW5jQm9keSAgY29udGFpbmVkCXN0YXJ0PSIpIgllbmQ9Ilw8ZW5kZlwlW3VuY3Rpb25dIgkJY29udGFpbnM9QHZpbUZ1bmNCb2R5TGlzdAorc3luIG1hdGNoICAgdmltRnVuY1ZhciAgIGNvbnRhaW5lZAkiYTpcKFxJXGkqXHxcZFwrXCkiCitzeW4gbWF0Y2ggICB2aW1GdW5jU0lEICAgY29udGFpbmVkCSJcYzxzaWQ+XHxcPHM6Igorc3luIGtleXdvcmQgdmltRnVuY0tleSAgIGNvbnRhaW5lZAlmdVtuY3Rpb25dCitzeW4gbWF0Y2ggICB2aW1GdW5jQmxhbmsgY29udGFpbmVkCSJcc1wrIgorCitzeW4ga2V5d29yZCB2aW1QYXR0ZXJuICBjb250YWluZWQJc3RhcnQJc2tpcAllbmQKKworIiBPcGVyYXRvcnM6IHt7ezEKKyIgPT09PT09PT09CitzeW4gY2x1c3RlciB2aW1PcGVyR3JvdXAJY29udGFpbnM9dmltT3Blcix2aW1PcGVyUGFyZW4sdmltTnVtYmVyLHZpbVN0cmluZworc3luIG1hdGNoICB2aW1PcGVyICAgICAgICAgICAgICAgICAJIlwoPT1cfCE9XHw+PVx8PD1cfD1cflx8IVx+XHw+XHw8XHw9XClbPyNdXHswLDJ9Iglza2lwd2hpdGUgbmV4dGdyb3VwPXZpbVN0cmluZyx2aW1TcGVjRmlsZQorc3luIG1hdGNoICB2aW1PcGVyICAgICAgICAgICAgICAgICAJInx8XHwmJlx8Wy0rLl0iCXNraXB3aGl0ZSBuZXh0Z3JvdXA9dmltU3RyaW5nLHZpbVNwZWNGaWxlCitzeW4gcmVnaW9uIHZpbU9wZXJQYXJlbgltYXRjaGdyb3VwPXZpbU9wZXIgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9QHZpbU9wZXJHcm91cAorc3luIG1hdGNoICB2aW1PcGVyRXJyb3IJIikiCisKKyIgU3BlY2lhbCBGaWxlbmFtZXMsIE1vZGlmaWVycywgRXh0ZW5zaW9uIFJlbW92YWw6IHt7ezEKKyIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK3N5biBtYXRjaCB2aW1TcGVjRmlsZQkiPGNcKHdvcmRcfFdPUkRcKT4iCW5leHRncm91cD12aW1TcGVjRmlsZU1vZCx2aW1TdWJzdAorc3luIG1hdGNoIHZpbVNwZWNGaWxlCSI8XChbYWNzXWZpbGVcfGFtYXRjaFx8YWJ1ZlwpPiIJbmV4dGdyb3VwPXZpbVNwZWNGaWxlTW9kLHZpbVN1YnN0CitzeW4gbWF0Y2ggdmltU3BlY0ZpbGUJIlxzJVsgXHQ6XSJtcz1zKzEsbWU9ZS0xCW5leHRncm91cD12aW1TcGVjRmlsZU1vZCx2aW1TdWJzdAorc3luIG1hdGNoIHZpbVNwZWNGaWxlCSJccyUkIm1zPXMrMQluZXh0Z3JvdXA9dmltU3BlY0ZpbGVNb2QsdmltU3Vic3QKK3N5biBtYXRjaCB2aW1TcGVjRmlsZQkiXHMlPCJtcz1zKzEsbWU9ZS0xCW5leHRncm91cD12aW1TcGVjRmlsZU1vZCx2aW1TdWJzdAorc3luIG1hdGNoIHZpbVNwZWNGaWxlCSIjXGRcK1x8WyMlXTxcPiIJbmV4dGdyb3VwPXZpbVNwZWNGaWxlTW9kLHZpbVN1YnN0CitzeW4gbWF0Y2ggdmltU3BlY0ZpbGVNb2QJIlwoOltwaHRyZV1cKVwrIgljb250YWluZWQKKworIiBVc2VyLVNwZWNpZmllZCBDb21tYW5kczoge3t7MQorIiA9PT09PT09PT09PT09PT09PT09PT09PQorc3luIGNsdXN0ZXIgdmltVXNlckNtZExpc3QJY29udGFpbnM9dmltQWRkcmVzcyx2aW1TeW50YXgsdmltSGlnaGxpZ2h0LHZpbUF1dG9DbWQsdmltQ21wbHhSZXBlYXQsdmltQ29tbWVudCx2aW1DdHJsQ2hhcix2aW1Fc2NhcGVCcmFjZSx2aW1GaWx0ZXIsdmltRnVuYyx2aW1GdW5jdGlvbix2aW1Jc0NvbW1hbmQsdmltTWFyayx2aW1Ob3RhdGlvbix2aW1OdW1iZXIsdmltT3Blcix2aW1SZWdpb24sdmltUmVnaXN0ZXIsdmltTGV0LHZpbVNldCx2aW1TZXRFcXVhbCx2aW1TZXRTdHJpbmcsdmltU3BlY0ZpbGUsdmltU3RyaW5nLHZpbVN1YnN0LHZpbVN1YnN0UmVwLHZpbVN1YnN0UmFuZ2UsdmltU3luTGluZQorc3luIGtleXdvcmQgdmltVXNlckNvbW1hbmQJY29udGFpbmVkCWNvbVttYW5kXQorc3luIG1hdGNoICAgdmltVXNlckNtZAkiXDxjb21cJVttYW5kXSFcPVw+LiokIgljb250YWlucz12aW1Vc2VyQXR0cmIsdmltVXNlckNvbW1hbmQsQHZpbVVzZXJDbWRMaXN0CitzeW4gbWF0Y2ggICB2aW1Vc2VyQXR0cmIJY29udGFpbmVkCSItblwlW2FyZ3NdPVswMSo/K10iCWNvbnRhaW5zPXZpbVVzZXJBdHRyYktleSx2aW1PcGVyCitzeW4gbWF0Y2ggICB2aW1Vc2VyQXR0cmIJY29udGFpbmVkCSItY29tXCVbcGxldGVdPSIJY29udGFpbnM9dmltVXNlckF0dHJiS2V5LHZpbU9wZXIgbmV4dGdyb3VwPXZpbVVzZXJBdHRyYkNtcGx0LHZpbVVzZXJDbWRFcnJvcgorc3luIG1hdGNoICAgdmltVXNlckF0dHJiCWNvbnRhaW5lZAkiLXJhXCVbbmdlXVwoPSVcfD1cZFwrXClcPSIJY29udGFpbnM9dmltTnVtYmVyLHZpbU9wZXIsdmltVXNlckF0dHJiS2V5CitzeW4gbWF0Y2ggICB2aW1Vc2VyQXR0cmIJY29udGFpbmVkCSItY291XCVbbnRdPVxkXCsiCWNvbnRhaW5zPXZpbU51bWJlcix2aW1PcGVyLHZpbVVzZXJBdHRyYktleQorc3luIG1hdGNoICAgdmltVXNlckF0dHJiCWNvbnRhaW5lZAkiLWJhbmdcPVw+Igljb250YWlucz12aW1PcGVyLHZpbVVzZXJBdHRyYktleQorc3luIG1hdGNoICAgdmltVXNlckF0dHJiCWNvbnRhaW5lZAkiLWJhclw+Igljb250YWlucz12aW1PcGVyLHZpbVVzZXJBdHRyYktleQorc3luIG1hdGNoICAgdmltVXNlckF0dHJiCWNvbnRhaW5lZAkiLXJlXCVbZ2lzdGVyXVw+Igljb250YWlucz12aW1PcGVyLHZpbVVzZXJBdHRyYktleQorc3luIG1hdGNoICAgdmltVXNlckNtZEVycm9yCWNvbnRhaW5lZAkiXFNcK1w+Igorc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZCB2aW1Vc2VyQXR0cmJLZXkgICBjb250YWluZWQJYmFyCWJhbltnXQljb3VbbnRdCXJhW25nZV0gY29tW3BsZXRlXQluW2FyZ3NdCXJlW2dpc3Rlcl0KK3N5biBrZXl3b3JkIHZpbVVzZXJBdHRyYkNtcGx0IGNvbnRhaW5lZAlhdWdyb3VwIGJ1ZmZlciBjb21tYW5kIGRpciBlbnZpcm9ubWVudCBldmVudCBleHByZXNzaW9uIGZpbGUgZnVuY3Rpb24gaGVscCBoaWdobGlnaHQgbWFwcGluZyBtZW51IG9wdGlvbiB0YWcgdGFnX2xpc3RmaWxlcyB2YXIKK3N5biBjYXNlIG1hdGNoCitzeW4gbWF0Y2ggICB2aW1Vc2VyQXR0cmJDbXBsdCBjb250YWluZWQJImN1c3RvbSxcdVx3KiIKKworIiBFcnJvcnM6IHt7ezEKKyIgPT09PT09CitzeW4gbWF0Y2ggIHZpbUVsc2VJZkVycgkiXDxlbHNlXHNcK2lmXD4iCisKKyIgTG93ZXIgUHJpb3JpdHkgQ29tbWVudHM6IGFmdGVyIHNvbWUgdmltIGNvbW1hbmRzLi4uIHt7ezEKKyIgPT09PT09PT09PT09PT09PT09PT09PT0KK3N5biBtYXRjaCAgdmltQ29tbWVudAlleGNsdWRlbmwgK1xzIlteXC06LiUjPSpdLiokK2xjPTEJY29udGFpbnM9QHZpbUNvbW1lbnRHcm91cCx2aW1Db21tZW50U3RyaW5nCitzeW4gbWF0Y2ggIHZpbUNvbW1lbnQJK1w8ZW5kaWZcc1wrIi4qJCtsYz01CWNvbnRhaW5zPUB2aW1Db21tZW50R3JvdXAsdmltQ29tbWVudFN0cmluZworc3luIG1hdGNoICB2aW1Db21tZW50CStcPGVsc2Vcc1wrIi4qJCtsYz00CWNvbnRhaW5zPUB2aW1Db21tZW50R3JvdXAsdmltQ29tbWVudFN0cmluZworc3luIHJlZ2lvbiB2aW1Db21tZW50U3RyaW5nCWNvbnRhaW5lZCBvbmVsaW5lIHN0YXJ0PSdcU1xzXCsiJ21zPXMrMQllbmQ9JyInCisKKyIgRW52aXJvbm1lbnQgVmFyaWFibGVzOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PQorc3luIG1hdGNoIHZpbUVudnZhcgkiXCRcSVxpKiIKK3N5biBtYXRjaCB2aW1FbnZ2YXIJIlwke1xJXGkqfSIKKworIiBJbi1TdHJpbmcgU3BlY2lhbHM6IHt7ezEKKyIgVHJ5IHRvIGNhdGNoIHN0cmluZ3MsIGlmIG5vdGhpbmcgZWxzZSBtYXRjaGVzICh0aGVyZWZvcmUgaXQgbXVzdCBwcmVjZWRlIHRoZSBvdGhlcnMhKQorIiAgdmltRXNjYXBlQnJhY2UgaGFuZGxlcyBbIl0gIFtdIl0gKGllLiAicyBkb24ndCB0ZXJtaW5hdGUgc3RyaW5nIGluc2lkZSBbXSkKK3N5biByZWdpb24gdmltRXNjYXBlQnJhY2UJb25lbGluZSBjb250YWluZWQgdHJhbnNwYXJlbnQJc3RhcnQ9IlteXFxdXChcXFxcXCkqXFtcXlw9XF1cPSIgc2tpcD0iXFxcXFx8XFxcXSIgZW5kPSJcXSJtZT1lLTEKK3N5biBtYXRjaCAgdmltUGF0U2VwRXJyCWNvbnRhaW5lZAkiXFwpIgorc3luIG1hdGNoICB2aW1QYXRTZXAJY29udGFpbmVkCSJcXHwiCitzeW4gcmVnaW9uIHZpbVBhdFNlcFpvbmUJb25lbGluZSBjb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD12aW1QYXRTZXAgc3RhcnQ9IlxcJVw9KCIgc2tpcD0iXFxcXCIgZW5kPSJcXCkiCWNvbnRhaW5zPUB2aW1TdHJpbmdHcm91cAorc3luIHJlZ2lvbiB2aW1QYXRTZXBab25lCW9uZWxpbmUgY29udGFpbmVkIG1hdGNoZ3JvdXA9dmltUGF0U2VwIHN0YXJ0PSJcXCVcPSgiIHNraXA9IlxcXFwiIGVuZD0iXFwpIgljb250YWlucz1AdmltU3RyaW5nR3JvdXAKK3N5biByZWdpb24gdmltUGF0UmVnaW9uCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXZpbVBhdFNlcCBzdGFydD0iXFxbeiVdXD0oIiBlbmQ9IlxcKSIJY29udGFpbnM9QHZpbVN1YnN0TGlzdCBvbmVsaW5lCitzeW4gbWF0Y2ggIHZpbU5vdFBhdFNlcAljb250YWluZWQJIlxcXFwiCitzeW4gY2x1c3RlciB2aW1TdHJpbmdHcm91cAljb250YWlucz12aW1Fc2NhcGVCcmFjZSx2aW1QYXRTZXAsdmltTm90UGF0U2VwLHZpbVBhdFNlcEVycix2aW1QYXRTZXBab25lCitzeW4gcmVnaW9uIHZpbVN0cmluZwlvbmVsaW5lIGtlZXBlbmQJc3RhcnQ9K1teOmEtekEtWj4hXFxdIitsYz0xIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKwljb250YWlucz1AdmltU3RyaW5nR3JvdXAKK3N5biByZWdpb24gdmltU3RyaW5nCW9uZWxpbmUga2VlcGVuZAlzdGFydD0rW146YS16QS1aPiFcXF0nK2xjPTEgZW5kPSsnKwljb250YWlucz1AdmltU3RyaW5nR3JvdXAKK3N5biByZWdpb24gdmltU3RyaW5nCW9uZWxpbmUJc3RhcnQ9Kz0hK2xjPTEJc2tpcD0rXFxcXFx8XFwhKyBlbmQ9KyErCWNvbnRhaW5zPUB2aW1TdHJpbmdHcm91cAorc3luIHJlZ2lvbiB2aW1TdHJpbmcJb25lbGluZQlzdGFydD0iPSsibGM9MQlza2lwPSJcXFxcXHxcXCsiIGVuZD0iKyIJY29udGFpbnM9QHZpbVN0cmluZ0dyb3VwCitzeW4gcmVnaW9uIHZpbVN0cmluZwlvbmVsaW5lCXN0YXJ0PSJbXlxcXStccypbXmEtekEtWjAtOS4gXHRdImxjPTEgc2tpcD0iXFxcXFx8XFwrIiBlbmQ9IisiCWNvbnRhaW5zPUB2aW1TdHJpbmdHcm91cAorc3luIHJlZ2lvbiB2aW1TdHJpbmcJb25lbGluZQlzdGFydD0iXHMvXHMqXEEibGM9MSBza2lwPSJcXFxcXHxcXCsiIGVuZD0iLyIJY29udGFpbnM9QHZpbVN0cmluZ0dyb3VwCitzeW4gbWF0Y2ggIHZpbVN0cmluZwljb250YWluZWQJKyJbXiJdKlxcJCsJc2tpcG5sIG5leHRncm91cD12aW1TdHJpbmdDb250CitzeW4gbWF0Y2ggIHZpbVN0cmluZ0NvbnQJY29udGFpbmVkCStcKFxcXFxcfC5cKVx7LX1bXlxcXSIrCisKKyIgU3Vic3RpdHV0aW9uczoge3t7MQorIiA9PT09PT09PT09PT09CitzeW4gY2x1c3RlciB2aW1TdWJzdExpc3QJY29udGFpbnM9dmltUGF0U2VwLHZpbVBhdFJlZ2lvbix2aW1QYXRTZXBFcnIsdmltU3Vic3RUd29CUyx2aW1TdWJzdFJhbmdlLHZpbU5vdGF0aW9uCitzeW4gY2x1c3RlciB2aW1TdWJzdFJlcExpc3QJY29udGFpbnM9dmltU3Vic3RTdWJzdHIsdmltU3Vic3RUd29CUyx2aW1Ob3RhdGlvbgorc3luIGNsdXN0ZXIgdmltU3Vic3RMaXN0CWFkZD12aW1Db2xsZWN0aW9uCitzeW4gbWF0Y2ggICB2aW1TdWJzdAkiXCg6XCtccypcfF5ccypcfHxccypcKVw8c1wlW3Vic3RpdHV0ZV1bOls6YWxwaGE6XV1cQCEiIG5leHRncm91cD12aW1TdWJzdFBhdAorc3luIG1hdGNoICAgdmltU3Vic3QJInNcJVt1YnN0aXR1dGVdWzpbOmFscGhhOl1dXEAhIgluZXh0Z3JvdXA9dmltU3Vic3RQYXQgY29udGFpbmVkCitzeW4gbWF0Y2ggICB2aW1TdWJzdAkiL1x6c3NcJVt1YnN0aXR1dGVdXHplLyIJbmV4dGdyb3VwPXZpbVN1YnN0UGF0CitzeW4gbWF0Y2ggICB2aW1TdWJzdDEgICAgICAgY29udGFpbmVkCSJzXCVbdWJzdGl0dXRlXVw+IgluZXh0Z3JvdXA9dmltU3Vic3RQYXQKK3N5biByZWdpb24gIHZpbVN1YnN0UGF0ICAgICBjb250YWluZWQJbWF0Y2hncm91cD12aW1TdWJzdERlbGltIHN0YXJ0PSJceihbXmEtekEtWiggXHRbXF0mXVwpInJzPXMrMSBza2lwPSJcXFxcXHxcXFx6MSIgZW5kPSJcejEicmU9ZS0xLG1lPWUtMQkgY29udGFpbnM9QHZpbVN1YnN0TGlzdAluZXh0Z3JvdXA9dmltU3Vic3RSZXA0CW9uZWxpbmUKK3N5biByZWdpb24gIHZpbVN1YnN0UmVwNCAgICBjb250YWluZWQJbWF0Y2hncm91cD12aW1TdWJzdERlbGltIHN0YXJ0PSJceiguXCkiIHNraXA9IlxcXFxcfFxcXHoxIiBlbmQ9Ilx6MSIgbWF0Y2hncm91cD12aW1Ob3RhdGlvbiBlbmQ9IjxbY0NdW3JSXT4iIGNvbnRhaW5zPUB2aW1TdWJzdFJlcExpc3QJbmV4dGdyb3VwPXZpbVN1YnN0RmxhZ0VycglvbmVsaW5lCitzeW4gcmVnaW9uICB2aW1Db2xsZWN0aW9uICAgY29udGFpbmVkIHRyYW5zcGFyZW50CXN0YXJ0PSJcXFxAPCFcWyIgc2tpcD0iXFxcWyIgZW5kPSJcXSIJY29udGFpbnM9dmltQ29sbENsYXNzCitzeW4gbWF0Y2ggICB2aW1Db2xsQ2xhc3NFcnIgY29udGFpbmVkCSJcWzouXHstXH06XF0iCitzeW4gbWF0Y2ggICB2aW1Db2xsQ2xhc3MgICAgY29udGFpbmVkIHRyYW5zcGFyZW50CSJcWzpcKGFsbnVtXHxhbHBoYVx8YmxhbmtcfGNudHJsXHxkaWdpdFx8Z3JhcGhcfGxvd2VyXHxwcmludFx8cHVuY3RcfHNwYWNlXHx1cHBlclx8eGRpZ2l0XHxyZXR1cm5cfHRhYlx8ZXNjYXBlXHxiYWNrc3BhY2VcKTpcXSIKK3N5biBtYXRjaCAgIHZpbVN1YnN0U3Vic3RyICBjb250YWluZWQJIlxcelw9XGQiCitzeW4gbWF0Y2ggICB2aW1TdWJzdFR3b0JTICAgY29udGFpbmVkCSJcXFxcIgorc3luIG1hdGNoICAgdmltU3Vic3RGbGFnRXJyIGNvbnRhaW5lZAkiW148IFx0XHJdXCsiIGNvbnRhaW5zPXZpbVN1YnN0RmxhZ3MKK3N5biBtYXRjaCAgIHZpbVN1YnN0RmxhZ3MgICBjb250YWluZWQJIlsmY2VnaUlwcl1cKyIKKworIiAnU3RyaW5nJzoge3t7MQorc3luIG1hdGNoICB2aW1TdHJpbmcJIlteKCxdJ1teJ11cey19JyJsYz0xCWNvbnRhaW5zPUB2aW1TdHJpbmdHcm91cAorCisiIE1hcmtzLCBSZWdpc3RlcnMsIEFkZHJlc3NlcywgRmlsdGVyczoge3t7MQorc3luIG1hdGNoICB2aW1NYXJrCSInW2EtekEtWjAtOV1cemVbLSssIV0iCW5leHRncm91cD12aW1PcGVyLHZpbU1hcmtOdW1iZXIsdmltU3Vic3QKK3N5biBtYXRjaCAgdmltTWFyawkiJ1s8Pl1cemVbLSssIV0iCQluZXh0Z3JvdXA9dmltT3Blcix2aW1NYXJrTnVtYmVyLHZpbVN1YnN0CitzeW4gbWF0Y2ggIHZpbU1hcmsJIixcenMnWzw+XVx6ZSIJCW5leHRncm91cD12aW1PcGVyLHZpbU1hcmtOdW1iZXIsdmltU3Vic3QKK3N5biBtYXRjaCAgdmltTWFyawkiWyEsOl1cenMnW2EtekEtWjAtOV0iCW5leHRncm91cD12aW1PcGVyLHZpbU1hcmtOdW1iZXIsdmltU3Vic3QKK3N5biBtYXRjaCAgdmltTWFyawkiXDxub3JtXCVbYWxdXHNcenMnW2EtekEtWjAtOV0iCW5leHRncm91cD12aW1PcGVyLHZpbU1hcmtOdW1iZXIsdmltU3Vic3QKK3N5biBtYXRjaCAgdmltTWFya051bWJlcgkiWy0rXVxkXCsiCQluZXh0Z3JvdXA9dmltU3Vic3QgY29udGFpbmVkIGNvbnRhaW5zPXZpbU9wZXIKK3N5biBtYXRjaCAgdmltUGxhaW5NYXJrIGNvbnRhaW5lZAkiJ1thLXpBLVowLTldIgorCitzeW4gbWF0Y2ggIHZpbVJlZ2lzdGVyCSdbXigsOy5dIlthLXpBLVowLTkuJSM6X1wtL11bXmEtekEtWl8iXSdsYz0xLG1lPWUtMQorc3luIG1hdGNoICB2aW1SZWdpc3RlcgknXDxub3JtXHNcKyJbYS16QS1aMC05XSdsYz01CitzeW4gbWF0Y2ggIHZpbVJlZ2lzdGVyCSdcPG5vcm1hbFxzXCsiW2EtekEtWjAtOV0nbGM9Nworc3luIG1hdGNoICB2aW1QbGFpblJlZ2lzdGVyIGNvbnRhaW5lZAknIlthLXpBLVowLTlcLTouJSMqKz1dJworCitzeW4gbWF0Y2ggIHZpbUFkZHJlc3MJIixbLiRdImxjPTEJc2tpcHdoaXRlIG5leHRncm91cD12aW1TdWJzdDEKK3N5biBtYXRjaCAgdmltQWRkcmVzcwkiJVxhIm1lPWUtMQlza2lwd2hpdGUgbmV4dGdyb3VwPXZpbVN0cmluZyx2aW1TdWJzdDEKKworc3luIG1hdGNoICB2aW1GaWx0ZXIgY29udGFpbmVkCSJeIS5cey19XCh8XHwkXCkiCQljb250YWlucz12aW1TcGVjRmlsZQorc3luIG1hdGNoICB2aW1GaWx0ZXIgY29udGFpbmVkCSJcQSEuXHstfVwofFx8JFwpIm1zPXMrMQljb250YWlucz12aW1TcGVjRmlsZQorCisiIENvbXBsZXggcmVwZWF0cyAoOmggY29tcGxleC1yZXBlYXQpIHt7ezEKK3N5biBtYXRjaCAgdmltQ21wbHhSZXBlYXQJJ1teYS16QS1aXy9cXF1xWzAtOWEtekEtWiJdJ2xjPTEKK3N5biBtYXRjaCAgdmltQ21wbHhSZXBlYXQJJ0BbMC05YS16Ii49QDpdXHplXCgkXHxbXmEtekEtWl1cKScKKworIiBTZXQgY29tbWFuZCBhbmQgYXNzb2NpYXRlZCBzZXQtb3B0aW9ucyAodmltT3B0aW9ucykgd2l0aCBjb21tZW50IHt7ezEKK3N5biByZWdpb24gdmltU2V0CQltYXRjaGdyb3VwPXZpbUNvbW1hbmQgc3RhcnQ9Ilw8c2V0bG9jYWxcfHNldFw+IiBlbmQ9InwibWU9ZS0xIGVuZD0iJCIgbWF0Y2hncm91cD12aW1Ob3RhdGlvbiBlbmQ9IjxbY0NdW3JSXT4iIGtlZXBlbmQgY29udGFpbnM9dmltU2V0RXF1YWwsdmltT3B0aW9uLHZpbUVyclNldHRpbmcsdmltQ29tbWVudCx2aW1TZXRTdHJpbmcsdmltU2V0TW9kCitzeW4gcmVnaW9uIHZpbVNldEVxdWFsICBjb250YWluZWQJc3RhcnQ9Ij0iCXNraXA9IlxcXFxcfFxcXHMiIGVuZD0iW3wgXHRdXHwkIm1lPWUtMSBjb250YWlucz12aW1DdHJsQ2hhcix2aW1TZXRTZXAsdmltTm90YXRpb24KK3N5biByZWdpb24gdmltU2V0U3RyaW5nIGNvbnRhaW5lZAlzdGFydD0rPSIraHM9cysxCXNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisJY29udGFpbnM9dmltQ3RybENoYXIKK3N5biBtYXRjaCAgdmltU2V0U2VwICAgIGNvbnRhaW5lZAkiWyw6XSIKK3N5biBtYXRjaCAgdmltU2V0TW9kCWNvbnRhaW5lZAkiJnZpbVx8WyEmXVx8YWxsJiIKKworIiBMZXQge3t7MQorIiA9PT0KK3N5biBrZXl3b3JkIHZpbUxldAlsZXQJdW5sW2V0XQlza2lwd2hpdGUgbmV4dGdyb3VwPXZpbVZhcgorCisiIEF1dG9jbWQge3t7MQorIiA9PT09PT09CitzeW4gbWF0Y2ggICB2aW1BdXRvRXZlbnRMaXN0CWNvbnRhaW5lZAkiXCghXHNcK1wpXD1cKFxhXCssXCkqXGFcKyIJY29udGFpbnM9dmltQXV0b0V2ZW50IG5leHRncm91cD12aW1BdXRvQ21kU3BhY2UKK3N5biBtYXRjaCAgIHZpbUF1dG9DbWRTcGFjZQljb250YWluZWQJIlxzXCsiCW5leHRncm91cD12aW1BdXRvQ21kU2Z4TGlzdAorc3luIG1hdGNoICAgdmltQXV0b0NtZFNmeExpc3QJY29udGFpbmVkCSJcUyoiCitzeW4ga2V5d29yZCB2aW1BdXRvQ21kCWF1W3RvY21kXSBkb1thdXRvY21kXSBkb2F1dG9hW2xsXQlza2lwd2hpdGUgbmV4dGdyb3VwPXZpbUF1dG9FdmVudExpc3QKKworIiBFY2hvIGFuZCBFeGVjdXRlIC0tIHByZWZlciBzdHJpbmdzISB7e3sxCisiID09PT09PT09PT09PT09PT0KK3N5biByZWdpb24gIHZpbUVjaG8Jb25lbGluZSBleGNsdWRlbmwgbWF0Y2hncm91cD12aW1Db21tYW5kIHN0YXJ0PSJcPGVjXCVbaG9dXD4iIHNraXA9IlwoXFxcXFwpKlxcfCIgZW5kPSIkXHx8IiBjb250YWlucz12aW1GdW5jLHZpbVN0cmluZyx2YXJWYXIKK3N5biByZWdpb24gIHZpbUV4ZWN1dGUJb25lbGluZSBleGNsdWRlbmwgbWF0Y2hncm91cD12aW1Db21tYW5kIHN0YXJ0PSJcPGV4ZVwlW2N1dGVdXD4iIHNraXA9IlwoXFxcXFwpKlxcfCIgZW5kPSIkXHx8XHw8W2NDXVtyUl0+IiBjb250YWlucz12aW1Jc0NvbW1hbmQsdmltU3RyaW5nLHZpbU9wZXIsdmltVmFyLHZpbU5vdGF0aW9uCitzeW4gbWF0Y2ggICB2aW1FY2hvSEwJImVjaG9obFw9Iglza2lwd2hpdGUgbmV4dGdyb3VwPXZpbUdyb3VwLHZpbUhMR3JvdXAsdmltRWNob0hMTm9uZQorc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZCB2aW1FY2hvSExOb25lCW5vbmUKK3N5biBjYXNlIG1hdGNoCisKKyIgTWFwcyB7e3sxCisiID09PT0KK3N5biBjbHVzdGVyIHZpbU1hcEdyb3VwCWNvbnRhaW5zPXZpbU1hcEJhbmcsdmltTWFwTGhzLHZpbU1hcE1vZAorc3luIGtleXdvcmQgdmltTWFwCWNtW2FwXSBjbm9bcmVtYXBdIGltW2FwXSBpbm9bcmVtYXBdIG1hcCBubVthcF0gbm5bb3JlbWFwXSBub1tyZW1hcF0gb21bYXBdIG9ub1tyZW1hcF0gdm1bYXBdIHZuW29yZW1hcF0gc2tpcHdoaXRlIG5leHRncm91cD1AdmltTWFwR3JvdXAKK3N5biBtYXRjaCAgIHZpbU1hcExocyAgICBjb250YWluZWQJIlxTXCsiCWNvbnRhaW5zPXZpbU5vdGF0aW9uLHZpbUN0cmxDaGFyCitzeW4gbWF0Y2ggICB2aW1NYXBCYW5nICAgY29udGFpbmVkCSIhIglza2lwd2hpdGUgbmV4dGdyb3VwPXZpbU1hcExocworc3luIG1hdGNoICAgdmltTWFwTW9kICAgIGNvbnRhaW5lZAkiXGM8XChidWZmZXJcfFwobG9jYWxcKVw9bGVhZGVyXHxwbHVnXHxzY3JpcHRcfHNpZFx8dW5pcXVlXHxzaWxlbnRcKVwrPiIgc2tpcHdoaXRlIGNvbnRhaW5zPXZpbU1hcE1vZEtleSx2aW1NYXBNb2RFcnIgbmV4dGdyb3VwPUB2aW1NYXBHcm91cAorc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZCB2aW1NYXBNb2RLZXkgY29udGFpbmVkCWJ1ZmZlcglsZWFkZXIJbG9jYWxsZWFkZXIJcGx1ZwlzY3JpcHQJc2lkCXNpbGVudAl1bmlxdWUKK3N5biBjYXNlIG1hdGNoCisKKyIgTWVudXMge3t7MQorIiA9PT09PQorc3luIGNsdXN0ZXIgdmltTWVudUxpc3QgY29udGFpbnM9dmltTWVudUJhbmcsdmltTWVudVByaW9yaXR5LHZpbU1lbnVOYW1lLHZpbU1lbnVNb2QKK3N5biBrZXl3b3JkIHZpbUNvbW1hbmQJYW1bZW51XSBhbltvcmVtZW51XSBhdW5bbWVudV0gY21lW251XSBjbm9yZW1lW251XSBjdW5tZVtudV0gaW1lW251XSBpbm9yZW1lW251XSBpdW5tZVtudV0gbWVbbnVdIG5tZVtudV0gbm5vcmVtZVtudV0gbm9yZW1lW251XSBudW5tZVtudV0gb21lW251XSBvbm9yZW1lW251XSBvdW5tZVtudV0gdW5tZVtudV0gdm1lW251XSB2bm9yZW1lW251XSB2dW5tZVtudV0gc2tpcHdoaXRlIG5leHRncm91cD1AdmltTWVudUxpc3QKK3N5biBtYXRjaCAgIHZpbU1lbnVOYW1lCSJbXiBcdFxcPF1cKyIJY29udGFpbmVkIG5leHRncm91cD12aW1NZW51TmFtZU1vcmUsdmltTWVudU1hcAorc3luIG1hdGNoICAgdmltTWVudVByaW9yaXR5CSJcZFwrXChcLlxkXCtcKSoiCWNvbnRhaW5lZCBza2lwd2hpdGUgbmV4dGdyb3VwPXZpbU1lbnVOYW1lCitzeW4gbWF0Y2ggICB2aW1NZW51TmFtZU1vcmUJIlxjXFxcc1x8PHRhYj5cfFxcXC4iCWNvbnRhaW5lZCBuZXh0Z3JvdXA9dmltTWVudU5hbWUsdmltTWVudU5hbWVNb3JlIGNvbnRhaW5zPXZpbU5vdGF0aW9uCitzeW4gbWF0Y2ggICB2aW1NZW51TW9kICAgIGNvbnRhaW5lZAkiXGM8XChzY3JpcHRcfHNpbGVudFwpXCs+IiAgc2tpcHdoaXRlIGNvbnRhaW5zPXZpbU1hcE1vZEtleSx2aW1NYXBNb2RFcnIgbmV4dGdyb3VwPUB2aW1NZW51TGlzdAorc3luIG1hdGNoICAgdmltTWVudU1hcAkiXHMiCWNvbnRhaW5lZCBza2lwd2hpdGUgbmV4dGdyb3VwPXZpbU1lbnVSaHMKK3N5biBtYXRjaCAgIHZpbU1lbnVSaHMJIi4qJCIJY29udGFpbmVkIGNvbnRhaW5zPXZpbVN0cmluZyx2aW1Db21tZW50LHZpbUlzQ29tbWFuZAorc3luIG1hdGNoICAgdmltTWVudUJhbmcJIiEiCWNvbnRhaW5lZCBza2lwd2hpdGUgbmV4dGdyb3VwPUB2aW1NZW51TGlzdAorCisiIEFuZ2xlLUJyYWNrZXQgTm90YXRpb24gKHRueCB0byBNaWNoYWVsIEdlZGRlcykge3t7MQorIiA9PT09PT09PT09PT09PT09PT09PT09CitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCB2aW1Ob3RhdGlvbgkiXChcXFx8PGx0PlwpXD08XChbc2NhbV0tXClcezAsNH14XD1cKGZcZFx7MSwyfVx8W14gXHQ6XVx8Y3JcfGxmXHxsaW5lZmVlZFx8cmV0dXJuXHxrXD1kZWxcJVtldGVdXHxic1x8YmFja3NwYWNlXHx0YWJcfGVzY1x8cmlnaHRcfGxlZnRcfGhlbHBcfHVuZG9cfGluc2VydFx8aW5zXHxrXD1ob21lXHxrXD1lbmRcfGtwbHVzXHxrbWludXNcfGtkaXZpZGVcfGttdWx0aXBseVx8a2VudGVyXHxzcGFjZVx8a1w9XChwYWdlXClcPVwoXHxkb3duXHx1cFwpXCk+IiBjb250YWlucz12aW1CcmFja2V0CitzeW4gbWF0Y2ggdmltTm90YXRpb24JIlwoXFxcfDxsdD5cKVw9PFwoW3NjYW0yLTRdLVwpXHswLDR9XChyaWdodFx8bGVmdFx8bWlkZGxlXClcKG1vdXNlXClcPVwoZHJhZ1x8cmVsZWFzZVwpXD0+Igljb250YWlucz12aW1CcmFja2V0CitzeW4gbWF0Y2ggdmltTm90YXRpb24JIlwoXFxcfDxsdD5cKVw9PFwoYnNsYXNoXHxwbHVnXHxzaWRcfHNwYWNlXHxiYXJcfG5vcFx8bnVsXHxsdFwpPiIJY29udGFpbnM9dmltQnJhY2tldAorc3luIG1hdGNoIHZpbU5vdGF0aW9uCSdcKFxcXHw8bHQ+XClcPTxDLVI+WzAtOWEteiIlIzouXC09XSdoZT1lLTEJY29udGFpbnM9dmltQnJhY2tldAorc3luIG1hdGNoIHZpbU5vdGF0aW9uCSdcKFxcXHw8bHQ+XClcPTxcKGxpbmVbMTJdXHxjb3VudFx8YmFuZ1x8cmVnXHxhcmdzXHxsdFx8W3FmXS1hcmdzXCk+Jwljb250YWlucz12aW1CcmFja2V0CitzeW4gbWF0Y2ggdmltTm90YXRpb24JIlwoXFxcfDxsdD5cKVw9PFwoW2Nhc11maWxlXHxhYnVmXHxhbWF0Y2hcfGN3b3JkXHxjV09SRFx8Y2xpZW50XCk+Igljb250YWlucz12aW1CcmFja2V0CitzeW4gbWF0Y2ggdmltQnJhY2tldCBjb250YWluZWQJIltcXDw+XSIKK3N5biBjYXNlIG1hdGNoCisKKyIgVXNlciBGdW5jdGlvbiBIaWdobGlnaHRpbmcgKGZvbGxvd2luZyBHYXV0YW0gSXllcidzIHN1Z2dlc3Rpb24pCisiID09PT09PT09PT09PT09PT09PT09PT09PT09CitzeW4gbWF0Y2ggdmltRnVuYwkiXCUoW3NTXTpcfDxbc1NdW2lJXVtkRF0+XClcPVxJXGkqXHplXHMqKCIJCWNvbnRhaW5zPXZpbVVzZXJGdW5jLHZpbUZ1bmNOYW1lCitzeW4gbWF0Y2ggdmltVXNlckZ1bmMgIlwlKFtzU106XHw8W3NTXVtpSV1bZERdPlwpXGlcK1x8XDxcdVxpKlw+XHxcPGlmXD4iCWNvbnRhaW5lZCBjb250YWlucz12aW1Ob3RhdGlvbix2aW1Db21tYW5kCisKKyIgU3ludGF4IHt7ezEKKyI9PT09PT09CitzeW4gbWF0Y2ggICB2aW1Hcm91cExpc3QJY29udGFpbmVkCSJAXD1bXiBcdCxdKiIJY29udGFpbnM9dmltR3JvdXBTcGVjaWFsLHZpbVBhdFNlcAorc3luIG1hdGNoICAgdmltR3JvdXBMaXN0CWNvbnRhaW5lZAkiQFw9W14gXHQsXSosIgluZXh0Z3JvdXA9dmltR3JvdXBMaXN0IGNvbnRhaW5zPXZpbUdyb3VwU3BlY2lhbCx2aW1QYXRTZXAKK3N5biBrZXl3b3JkIHZpbUdyb3VwU3BlY2lhbAljb250YWluZWQJQUxMCUFMTEJVVAorc3luIG1hdGNoICAgdmltU3luRXJyb3IJY29udGFpbmVkCSJcaVwrIgorc3luIG1hdGNoICAgdmltU3luRXJyb3IJY29udGFpbmVkCSJcaVwrPSIJbmV4dGdyb3VwPXZpbUdyb3VwTGlzdAorc3luIG1hdGNoICAgdmltU3luQ29udGFpbnMJY29udGFpbmVkCSJcPGNvbnRhaW5cKHNcfGVkaW5cKT0iCW5leHRncm91cD12aW1Hcm91cExpc3QKK3N5biBtYXRjaCAgIHZpbVN5bktleUNvbnRhaW5lZGluCWNvbnRhaW5lZAkiXDxjb250YWluZWRpbj0iCW5leHRncm91cD12aW1Hcm91cExpc3QKK3N5biBtYXRjaCAgIHZpbVN5bk5leHRncm91cAljb250YWluZWQJIm5leHRncm91cD0iCW5leHRncm91cD12aW1Hcm91cExpc3QKKworc3luIG1hdGNoICAgdmltU3ludGF4CSJcPHN5XCVbbnRheF1cPiIJY29udGFpbnM9dmltQ29tbWFuZCBza2lwd2hpdGUgbmV4dGdyb3VwPXZpbVN5blR5cGUsdmltQ29tbWVudAorc3luIG1hdGNoICAgdmltQXVTeW50YXgJY29udGFpbmVkCSJccytzeVwlW250YXhdIgljb250YWlucz12aW1Db21tYW5kIHNraXB3aGl0ZSBuZXh0Z3JvdXA9dmltU3luVHlwZSx2aW1Db21tZW50CisKKyIgU3ludGF4OiBjYXNlIHt7ezEKK3N5biBrZXl3b3JkIHZpbVN5blR5cGUJY29udGFpbmVkCWNhc2UJc2tpcHdoaXRlIG5leHRncm91cD12aW1TeW5DYXNlLHZpbVN5bkNhc2VFcnJvcgorc3luIG1hdGNoICAgdmltU3luQ2FzZUVycm9yCWNvbnRhaW5lZAkiXGlcKyIKK3N5biBrZXl3b3JkIHZpbVN5bkNhc2UJY29udGFpbmVkCWlnbm9yZQltYXRjaAorCisiIFN5bnRheDogY2xlYXIge3t7MQorc3luIGtleXdvcmQgdmltU3luVHlwZQljb250YWluZWQJY2xlYXIJc2tpcHdoaXRlIG5leHRncm91cD12aW1Hcm91cExpc3QKKworIiBTeW50YXg6IGNsdXN0ZXIge3t7MQorc3luIGtleXdvcmQgdmltU3luVHlwZQljb250YWluZWQJY2x1c3Rlcglza2lwd2hpdGUgbmV4dGdyb3VwPXZpbUNsdXN0ZXJOYW1lCitzeW4gcmVnaW9uICB2aW1DbHVzdGVyTmFtZQljb250YWluZWQJbWF0Y2hncm91cD12aW1Hcm91cE5hbWUgc3RhcnQ9IlxrXCsiIHNraXA9IlxcXFxcfFxcfCIgbWF0Y2hncm91cD12aW1TZXAgZW5kPSIkXHx8IiBjb250YWlucz12aW1Hcm91cEFkZCx2aW1Hcm91cFJlbSx2aW1TeW5Db250YWlucyx2aW1TeW5FcnJvcgorc3luIG1hdGNoICAgdmltR3JvdXBBZGQJY29udGFpbmVkCSJhZGQ9IgluZXh0Z3JvdXA9dmltR3JvdXBMaXN0CitzeW4gbWF0Y2ggICB2aW1Hcm91cFJlbQljb250YWluZWQJInJlbW92ZT0iCW5leHRncm91cD12aW1Hcm91cExpc3QKKworIiBTeW50YXg6IGluY2x1ZGUge3t7MQorc3luIGtleXdvcmQgdmltU3luVHlwZQljb250YWluZWQJaW5jbHVkZQlza2lwd2hpdGUgbmV4dGdyb3VwPXZpbUdyb3VwTGlzdAorCisiIFN5bnRheDoga2V5d29yZCB7e3sxCitzeW4gY2x1c3RlciB2aW1TeW5LZXlHcm91cAljb250YWlucz12aW1TeW5OZXh0Z3JvdXAsdmltU3luS2V5T3B0LHZpbVN5bktleUNvbnRhaW5lZGluCitzeW4ga2V5d29yZCB2aW1TeW5UeXBlCWNvbnRhaW5lZAlrZXl3b3JkCXNraXB3aGl0ZSBuZXh0Z3JvdXA9dmltU3luS2V5UmVnaW9uCitzeW4gcmVnaW9uICB2aW1TeW5LZXlSZWdpb24JY29udGFpbmVkIGtlZXBlbmQJbWF0Y2hncm91cD12aW1Hcm91cE5hbWUgc3RhcnQ9IlxrXCsiIHNraXA9IlxcXFxcfFxcfCIgbWF0Y2hncm91cD12aW1TZXAgZW5kPSJ8XHwkIiBjb250YWlucz1AdmltU3luS2V5R3JvdXAKK3N5biBtYXRjaCAgIHZpbVN5bktleU9wdAljb250YWluZWQJIlw8XChjb25jZWFsXHxjb250YWluZWRcfHRyYW5zcGFyZW50XHxza2lwZW1wdHlcfHNraXB3aGl0ZVx8c2tpcG5sXClcPiIKKworIiBTeW50YXg6IG1hdGNoIHt7ezEKK3N5biBjbHVzdGVyIHZpbVN5bk10Y2hHcm91cAljb250YWlucz12aW1NdGNoQ29tbWVudCx2aW1TeW5Db250YWlucyx2aW1TeW5FcnJvcix2aW1TeW5NdGNoT3B0LHZpbVN5bk5leHRncm91cCx2aW1TeW5SZWdQYXQsdmltTm90YXRpb24KK3N5biBrZXl3b3JkIHZpbVN5blR5cGUJY29udGFpbmVkCW1hdGNoCXNraXB3aGl0ZSBuZXh0Z3JvdXA9dmltU3luTWF0Y2hSZWdpb24KK3N5biByZWdpb24gIHZpbVN5bk1hdGNoUmVnaW9uCWNvbnRhaW5lZCBrZWVwZW5kCW1hdGNoZ3JvdXA9dmltR3JvdXBOYW1lIHN0YXJ0PSJca1wrIiBtYXRjaGdyb3VwPXZpbVNlcCBlbmQ9InxcfCQiIGNvbnRhaW5zPUB2aW1TeW5NdGNoR3JvdXAKK3N5biBtYXRjaCAgIHZpbVN5bk10Y2hPcHQJY29udGFpbmVkCSJcPFwoY29uY2VhbFx8dHJhbnNwYXJlbnRcfGNvbnRhaW5lZFx8ZXhjbHVkZW5sXHxza2lwZW1wdHlcfHNraXB3aGl0ZVx8ZGlzcGxheVx8ZXh0ZW5kXHxza2lwbmxcfGZvbGRcKVw+IgoraWYgaGFzKCJjb25jZWFsIikKKyBzeW4gbWF0Y2ggICB2aW1TeW5NdGNoT3B0CWNvbnRhaW5lZAkiXDxjY2hhcj0iCW5leHRncm91cD1WaW1TeW5NdGNoQ2NoYXIKKyBzeW4gbWF0Y2ggICB2aW1TeW5NdGNoQ2NoYXIJY29udGFpbmVkCSIuIgorZW5kaWYKKworIiBTeW50YXg6IG9mZiBhbmQgb24ge3t7MQorc3luIGtleXdvcmQgdmltU3luVHlwZQljb250YWluZWQJZW5hYmxlCWxpc3QJbWFudWFsCW9mZglvbglyZXNldAorCisiIFN5bnRheDogcmVnaW9uIHt7ezEKK3N5biBjbHVzdGVyIHZpbVN5blJlZ1BhdEdyb3VwCWNvbnRhaW5zPXZpbVBhdFNlcCx2aW1Ob3RQYXRTZXAsdmltU3luUGF0UmFuZ2UsdmltU3luTm90UGF0UmFuZ2UsdmltU3Vic3RTdWJzdHIsdmltUGF0UmVnaW9uLHZpbVBhdFNlcEVycix2aW1Ob3RhdGlvbgorc3luIGNsdXN0ZXIgdmltU3luUmVnR3JvdXAJY29udGFpbnM9dmltU3luQ29udGFpbnMsdmltU3luTmV4dGdyb3VwLHZpbVN5blJlZ09wdCx2aW1TeW5SZWcsdmltU3luTXRjaEdycAorc3luIGtleXdvcmQgdmltU3luVHlwZQljb250YWluZWQJcmVnaW9uCXNraXB3aGl0ZSBuZXh0Z3JvdXA9dmltU3luUmVnaW9uCitzeW4gcmVnaW9uICB2aW1TeW5SZWdpb24JY29udGFpbmVkIGtlZXBlbmQJbWF0Y2hncm91cD12aW1Hcm91cE5hbWUgc3RhcnQ9IlxrXCsiIHNraXA9IlxcXFxcfFxcfCIgZW5kPSJ8XHwkIiBjb250YWlucz1AdmltU3luUmVnR3JvdXAKK3N5biBtYXRjaCAgIHZpbVN5blJlZ09wdAljb250YWluZWQJIlw8XChjb25jZWFsXChlbmRzXClcPVx8dHJhbnNwYXJlbnRcfGNvbnRhaW5lZFx8ZXhjbHVkZW5sXHxza2lwZW1wdHlcfHNraXB3aGl0ZVx8ZGlzcGxheVx8a2VlcGVuZFx8b25lbGluZVx8ZXh0ZW5kXHxza2lwbmxcfGZvbGRcKVw+Igorc3luIG1hdGNoICAgdmltU3luUmVnCWNvbnRhaW5lZAkiXChzdGFydFx8c2tpcFx8ZW5kXCk9ImhlPWUtMQluZXh0Z3JvdXA9dmltU3luUmVnUGF0CitzeW4gbWF0Y2ggICB2aW1TeW5NdGNoR3JwCWNvbnRhaW5lZAkibWF0Y2hncm91cD0iCW5leHRncm91cD12aW1Hcm91cCx2aW1ITEdyb3VwCitzeW4gcmVnaW9uICB2aW1TeW5SZWdQYXQJY29udGFpbmVkIGV4dGVuZAlzdGFydD0iXHooWy1gfiFAIyQlXiYqXz0rOzonIiwuLz9dXCkiICBza2lwPSJcXFxcXHxcXFx6MSIgIGVuZD0iXHoxIiAgY29udGFpbnM9QHZpbVN5blJlZ1BhdEdyb3VwIHNraXB3aGl0ZSBuZXh0Z3JvdXA9dmltU3luUGF0TW9kLHZpbVN5blJlZworc3luIG1hdGNoICAgdmltU3luUGF0TW9kCWNvbnRhaW5lZAkiXChoc1x8bXNcfG1lXHxoc1x8aGVcfHJzXHxyZVwpPVtzZV1cKFstK11cZFwrXClcPSIKK3N5biBtYXRjaCAgIHZpbVN5blBhdE1vZAljb250YWluZWQJIlwoaHNcfG1zXHxtZVx8aHNcfGhlXHxyc1x8cmVcKT1bc2VdXChbLStdXGRcK1wpXD0sIiBuZXh0Z3JvdXA9dmltU3luUGF0TW9kCitzeW4gbWF0Y2ggICB2aW1TeW5QYXRNb2QJY29udGFpbmVkCSJsYz1cZFwrIgorc3luIG1hdGNoICAgdmltU3luUGF0TW9kCWNvbnRhaW5lZAkibGM9XGRcKywiIG5leHRncm91cD12aW1TeW5QYXRNb2QKK3N5biByZWdpb24gIHZpbVN5blBhdFJhbmdlCWNvbnRhaW5lZAlzdGFydD0iXFsiCXNraXA9IlxcXFxcfFxcXSIgICBlbmQ9Il0iCitzeW4gbWF0Y2ggICB2aW1TeW5Ob3RQYXRSYW5nZQljb250YWluZWQJIlxcXFxcfFxcXFsiCitzeW4gbWF0Y2ggICB2aW1NdGNoQ29tbWVudAljb250YWluZWQJJyJbXiJdXCskJworCisiIFN5bnRheDogc3luYyB7e3sxCisiID09PT09PT09PT09PQorc3luIGtleXdvcmQgdmltU3luVHlwZQljb250YWluZWQJc3luYwlza2lwd2hpdGUJbmV4dGdyb3VwPXZpbVN5bmNDLHZpbVN5bmNMaW5lcyx2aW1TeW5jTWF0Y2gsdmltU3luY0Vycm9yLHZpbVN5bmNMaW5lY29udCx2aW1TeW5jUmVnaW9uCitzeW4gbWF0Y2ggICB2aW1TeW5jRXJyb3IJY29udGFpbmVkCSJcaVwrIgorc3luIGtleXdvcmQgdmltU3luY0MJY29udGFpbmVkCWNjb21tZW50CWNsZWFyCWZyb21zdGFydAorc3luIGtleXdvcmQgdmltU3luY01hdGNoCWNvbnRhaW5lZAltYXRjaAlza2lwd2hpdGUJbmV4dGdyb3VwPXZpbVN5bmNHcm91cE5hbWUKK3N5biBrZXl3b3JkIHZpbVN5bmNSZWdpb24JY29udGFpbmVkCXJlZ2lvbglza2lwd2hpdGUJbmV4dGdyb3VwPXZpbVN5blJlZworc3luIGtleXdvcmQgdmltU3luY0xpbmVjb250CWNvbnRhaW5lZAlsaW5lY29udAlza2lwd2hpdGUJbmV4dGdyb3VwPXZpbVN5blJlZ1BhdAorc3luIG1hdGNoICAgdmltU3luY0xpbmVzCWNvbnRhaW5lZAkiXChtaW5cfG1heFwpXD1saW5lcz0iCW5leHRncm91cD12aW1OdW1iZXIKK3N5biBtYXRjaCAgIHZpbVN5bmNHcm91cE5hbWUJY29udGFpbmVkCSJca1wrIglza2lwd2hpdGUJbmV4dGdyb3VwPXZpbVN5bmNLZXkKK3N5biBtYXRjaCAgIHZpbVN5bmNLZXkJY29udGFpbmVkCSJcPGdyb3VwdGhlcmVcfGdyb3VwaGVyZVw+Iglza2lwd2hpdGUgbmV4dGdyb3VwPXZpbVN5bmNHcm91cAorc3luIG1hdGNoICAgdmltU3luY0dyb3VwCWNvbnRhaW5lZAkiXGtcKyIJc2tpcHdoaXRlCW5leHRncm91cD12aW1TeW5SZWdQYXQsdmltU3luY05vbmUKK3N5biBrZXl3b3JkIHZpbVN5bmNOb25lCWNvbnRhaW5lZAlOT05FCisKKyIgQWRkaXRpb25hbCBJc0NvbW1hbmQsIGhlcmUgYnkgcmVhc29ucyBvZiBwcmVjZWRlbmNlIHt7ezEKKyIgPT09PT09PT09PT09PT09PT09PT0KK3N5biBtYXRjaCB2aW1Jc0NvbW1hbmQJIjxCYXI+XHMqXGFcKyIJdHJhbnNwYXJlbnQgY29udGFpbnM9dmltQ29tbWFuZCx2aW1Ob3RhdGlvbgorCisiIEhpZ2hsaWdodGluZyB7e3sxCisiID09PT09PT09PT09PQorc3luIGNsdXN0ZXIgdmltSGlnaGxpZ2h0Q2x1c3Rlcgljb250YWlucz12aW1IaUxpbmssdmltSGlDbGVhcix2aW1IaUtleUxpc3QsdmltQ29tbWVudAorc3luIG1hdGNoICAgdmltSGlnaGxpZ2h0CSJcPGhpXCVbZ2hsaWdodF1cPiIgc2tpcHdoaXRlIG5leHRncm91cD12aW1IaUJhbmcsQHZpbUhpZ2hsaWdodENsdXN0ZXIKK3N5biBtYXRjaCAgIHZpbUhpQmFuZwljb250YWluZWQJIiEiCSAgc2tpcHdoaXRlIG5leHRncm91cD1AdmltSGlnaGxpZ2h0Q2x1c3RlcgorCitzeW4gbWF0Y2ggICB2aW1IaUdyb3VwCWNvbnRhaW5lZAkiXGlcKyIKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQgdmltSGlBdHRyaWIJY29udGFpbmVkCW5vbmUgYm9sZCBpbnZlcnNlIGl0YWxpYyByZXZlcnNlIHN0YW5kb3V0IHVuZGVybGluZQorc3luIGtleXdvcmQgdmltRmdCZ0F0dHJpYgljb250YWluZWQJbm9uZSBiZyBiYWNrZ3JvdW5kIGZnIGZvcmVncm91bmQKK3N5biBjYXNlIG1hdGNoCitzeW4gbWF0Y2ggICB2aW1IaUF0dHJpYkxpc3QJY29udGFpbmVkCSJcaVwrIgljb250YWlucz12aW1IaUF0dHJpYgorc3luIG1hdGNoICAgdmltSGlBdHRyaWJMaXN0CWNvbnRhaW5lZAkiXGlcKywiaGU9ZS0xCWNvbnRhaW5zPXZpbUhpQXR0cmliIG5leHRncm91cD12aW1IaUF0dHJpYkxpc3QKK3N5biBjYXNlIGlnbm9yZQorc3luIGtleXdvcmQgdmltSGlDdGVybUNvbG9yCWNvbnRhaW5lZAlibGFjayBibHVlIGJyb3duIGN5YW4gZGFya0JsdWUgZGFya2N5YW4gZGFya2dyYXkgZGFya2dyZWVuIGRhcmtncmV5IGRhcmttYWdlbnRhIGRhcmtyZWQgZGFya3llbGxvdyBncmF5IGdyZWVuIGdyZXkgbGlnaHRibHVlIGxpZ2h0Y3lhbiBsaWdodGdyYXkgbGlnaHRncmVlbiBsaWdodGdyZXkgbGlnaHRtYWdlbnRhIGxpZ2h0cmVkIG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvdworCitzeW4gY2FzZSBtYXRjaAorc3luIG1hdGNoICAgdmltSGlGb250bmFtZQljb250YWluZWQJIlthLXpBLVpcLSpdXCsiCitzeW4gbWF0Y2ggICB2aW1IaUd1aUZvbnRuYW1lCWNvbnRhaW5lZAkiJ1thLXpBLVpcLSogXVwrJyIKK3N5biBtYXRjaCAgIHZpbUhpR3VpUmdiCWNvbnRhaW5lZAkiI1x4XHs2fSIKK3N5biBtYXRjaCAgIHZpbUhpQ3Rlcm1FcnJvcgljb250YWluZWQJIlteMC05XVxpKiIKKworIiBIaWdobGlnaHRpbmc6IGhpIGdyb3VwIGtleT1hcmcgLi4uIHt7ezEKK3N5biBjbHVzdGVyIHZpbUhpQ2x1c3RlciBjb250YWlucz12aW1IaUdyb3VwLHZpbUhpVGVybSx2aW1IaUNUZXJtLHZpbUhpU3RhcnRTdG9wLHZpbUhpQ3Rlcm1GZ0JnLHZpbUhpR3VpLHZpbUhpR3VpRm9udCx2aW1IaUd1aUZnQmcsdmltSGlLZXlFcnJvcix2aW1Ob3RhdGlvbgorc3luIHJlZ2lvbiB2aW1IaUtleUxpc3QJY29udGFpbmVkIG9uZWxpbmUgc3RhcnQ9IlxpXCsiIHNraXA9IlxcXFxcfFxcfCIgZW5kPSIkXHx8Igljb250YWlucz1AdmltSGlDbHVzdGVyCitzeW4gbWF0Y2ggIHZpbUhpS2V5RXJyb3IJY29udGFpbmVkCSJcaVwrPSJoZT1lLTEKK3N5biBtYXRjaCAgdmltSGlUZXJtCWNvbnRhaW5lZAkiXGN0ZXJtPSJoZT1lLTEJCW5leHRncm91cD12aW1IaUF0dHJpYkxpc3QKK3N5biBtYXRjaCAgdmltSGlTdGFydFN0b3AJY29udGFpbmVkCSJcY1woc3RhcnRcfHN0b3BcKT0iaGU9ZS0xCW5leHRncm91cD12aW1IaVRlcm1jYXAsdmltT3B0aW9uCitzeW4gbWF0Y2ggIHZpbUhpQ1Rlcm0JY29udGFpbmVkCSJcY2N0ZXJtPSJoZT1lLTEJCW5leHRncm91cD12aW1IaUF0dHJpYkxpc3QKK3N5biBtYXRjaCAgdmltSGlDdGVybUZnQmcJY29udGFpbmVkCSJcY2N0ZXJtW2ZiXWc9ImhlPWUtMQluZXh0Z3JvdXA9dmltTnVtYmVyLHZpbUhpQ3Rlcm1Db2xvcix2aW1GZ0JnQXR0cmliLHZpbUhpQ3Rlcm1FcnJvcgorc3luIG1hdGNoICB2aW1IaUd1aQljb250YWluZWQJIlxjZ3VpPSJoZT1lLTEJCW5leHRncm91cD12aW1IaUF0dHJpYkxpc3QKK3N5biBtYXRjaCAgdmltSGlHdWlGb250CWNvbnRhaW5lZAkiXGNmb250PSJoZT1lLTEJCW5leHRncm91cD12aW1IaUZvbnRuYW1lCitzeW4gbWF0Y2ggIHZpbUhpR3VpRmdCZwljb250YWluZWQJIlxjZ3VpW2ZiXWc9ImhlPWUtMQluZXh0Z3JvdXA9dmltSGlHcm91cCx2aW1IaUd1aUZvbnRuYW1lLHZpbUhpR3VpUmdiLHZpbUZnQmdBdHRyaWIKK3N5biBtYXRjaCAgdmltSGlUZXJtY2FwCWNvbnRhaW5lZAkiXFNcKyIJCWNvbnRhaW5zPXZpbU5vdGF0aW9uCisKKyIgSGlnaGxpZ2h0OiBjbGVhciB7e3sxCitzeW4ga2V5d29yZCB2aW1IaUNsZWFyCWNvbnRhaW5lZAljbGVhcgluZXh0Z3JvdXA9dmltSGlHcm91cAorCisiIEhpZ2hsaWdodDogbGluayB7e3sxCitzeW4gcmVnaW9uIHZpbUhpTGluawljb250YWluZWQgb25lbGluZSBtYXRjaGdyb3VwPXZpbUNvbW1hbmQgc3RhcnQ9Ilw8XChkZWZcc1wrXClcPWxpbmtcPlx8XDxkZWZcPiIgZW5kPSIkIgljb250YWlucz12aW1IaUdyb3VwLHZpbUdyb3VwLHZpbUhMR3JvdXAsdmltTm90YXRpb24KKworIiBDb250cm9sIENoYXJhY3RlcnMge3t7MQorIiA9PT09PT09PT09PT09PT09PT0KK3N5biBtYXRjaCB2aW1DdHJsQ2hhcgkiWwEtCAsPLR9dIgorCisiIEJlZ2lubmVycyAtIFBhdHRlcm5zIHRoYXQgaW52b2x2ZSBeIHt7ezEKKyIgPT09PT09PT09CitzeW4gbWF0Y2ggIHZpbUxpbmVDb21tZW50CSteWyBcdDpdKiIuKiQrCWNvbnRhaW5zPUB2aW1Db21tZW50R3JvdXAsdmltQ29tbWVudFN0cmluZyx2aW1Db21tZW50VGl0bGUKK3N5biBtYXRjaCAgdmltQ29tbWVudFRpdGxlCSciXHMqXHVcdypcKFxzXCtcdVx3KlwpKjonaHM9cysxCWNvbnRhaW5lZCBjb250YWlucz12aW1Db21tZW50VGl0bGVMZWFkZXIsdmltVG9kbyxAdmltQ29tbWVudEdyb3VwCitzeW4gbWF0Y2ggIHZpbUNvbnRpbnVlCSJeXHMqXFwiCitzeW4gcmVnaW9uIHZpbVN0cmluZwlzdGFydD0iXlxzKlxcXHooWyciXVwpIiBza2lwPSdcXFxcXHxcXFx6MScgZW5kPSJcejEiIG9uZWxpbmUga2VlcGVuZCBjb250YWlucz1AdmltU3RyaW5nR3JvdXAsdmltQ29udGludWUKK3N5biBtYXRjaCAgdmltQ29tbWVudFRpdGxlTGVhZGVyCSciXHNcKydtcz1zKzEJY29udGFpbmVkCisKKyIgU2NyaXB0cyAgOiBwZXJsLHJ1YnkgOiBCZW5vaXQgQ2VycmluYSB7e3sxCisiID09PT09PT0gICAgcHl0aG9uLHRjbDogSm9oYW5uZXMgWmVsbG5lcgorCisiIGFsbG93IHVzZXJzIHRvIHByZXZlbnQgZW1iZWRkZWQgc2NyaXB0IHN5bnRheCBoaWdobGlnaHRpbmcKKyIgd2hlbiB2aW0gZG9lc24ndCBoYXZlIHBlcmwvcHl0aG9uL3J1YnkvdGNsIHN1cHBvcnQuICBEbworIiBzbyBieSBzZXR0aW5nIGc6dmltZW1iZWRzY3JpcHQ9IDAgaW4gdGhlIHVzZXIncyA8LnZpbXJjPi4KK2lmICFleGlzdHMoImc6dmltZW1iZWRzY3JpcHQiKQorIGxldCBnOnZpbWVtYmVkc2NyaXB0PSAxCitlbmRpZgorCisiIFstLSBwZXJsIC0tXSB7e3syCitpZiAoaGFzKCJwZXJsIikgfHwgZzp2aW1lbWJlZHNjcmlwdCkgJiYgZmlsZXJlYWRhYmxlKGV4cGFuZCgiPHNmaWxlPjpwOmgiKS4iL3BlcmwudmltIikKKyB1bmxldCEgYjpjdXJyZW50X3N5bnRheAorIHN5biBpbmNsdWRlIEB2aW1QZXJsU2NyaXB0IDxzZmlsZT46cDpoL3BlcmwudmltCisgc3luIHJlZ2lvbiB2aW1QZXJsUmVnaW9uIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K3BlXCVbcmxdXHMqPDxccypceiguKlwpJCsgZW5kPSteXHoxJCsgY29udGFpbnM9QHZpbVBlcmxTY3JpcHQKKyBzeW4gcmVnaW9uIHZpbVBlcmxSZWdpb24gbWF0Y2hncm91cD12aW1TY3JpcHREZWxpbSBzdGFydD0rcGVcJVtybF1ccyo8PFxzKiQrIGVuZD0rXC4kKyBjb250YWlucz1AdmltUGVybFNjcmlwdAorZW5kaWYKKworIiBbLS0gcnVieSAtLV0ge3t7MgoraWYgKGhhcygicnVieSIpIHx8IGc6dmltZW1iZWRzY3JpcHQpICYmIGZpbGVyZWFkYWJsZShleHBhbmQoIjxzZmlsZT46cDpoIikuIi9ydWJ5LnZpbSIpCisgdW5sZXQhIGI6Y3VycmVudF9zeW50YXgKKyBzeW4gaW5jbHVkZSBAdmltUnVieVNjcmlwdCA8c2ZpbGU+OnA6aC9ydWJ5LnZpbQorIHN5biByZWdpb24gdmltUnVieVJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PStydWJbeV1ccyo8PFxzKlx6KC4qXCkkKyBlbmQ9K15cejEkKyBjb250YWlucz1AdmltUnVieVNjcmlwdAorIHN5biByZWdpb24gdmltUnVieVJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PStydWJbeV1ccyo8PFxzKiQrIGVuZD0rXC4kKyBjb250YWlucz1AdmltUnVieVNjcmlwdAorZW5kaWYKKworIiBbLS0gcHl0aG9uIC0tXSB7e3syCitpZiAoaGFzKCJweXRob24iKSB8fCBnOnZpbWVtYmVkc2NyaXB0KSAmJiBmaWxlcmVhZGFibGUoZXhwYW5kKCI8c2ZpbGU+OnA6aCIpLiIvcHl0aG9uLnZpbSIpCisgdW5sZXQhIGI6Y3VycmVudF9zeW50YXgKKyBzeW4gaW5jbHVkZSBAdmltUHl0aG9uU2NyaXB0IDxzZmlsZT46cDpoL3B5dGhvbi52aW0KKyBzeW4gcmVnaW9uIHZpbVB5dGhvblJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PStweVwlW3Rob25dXHMqPDxccypceiguKlwpJCsgZW5kPSteXHoxJCsgY29udGFpbnM9QHZpbVB5dGhvblNjcmlwdAorIHN5biByZWdpb24gdmltUHl0aG9uUmVnaW9uIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K3B5XCVbdGhvbl1ccyo8PFxzKiQrIGVuZD0rXC4kKyBjb250YWlucz1AdmltUHl0aG9uU2NyaXB0CitlbmRpZgorCisiIFstLSB0Y2wgLS1dIHt7ezIKK2lmIChoYXMoInRjbCIpIHx8IGc6dmltZW1iZWRzY3JpcHQpICYmIGZpbGVyZWFkYWJsZShleHBhbmQoIjxzZmlsZT46cDpoIikuIi90Y2wudmltIikKKyB1bmxldCEgYjpjdXJyZW50X3N5bnRheAorIHN5biBpbmNsdWRlIEB2aW1UY2xTY3JpcHQgPHNmaWxlPjpwOmgvdGNsLnZpbQorIHN5biByZWdpb24gdmltVGNsUmVnaW9uIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKlx6KC4qXCkkKyBlbmQ9K15cejEkKyBjb250YWlucz1AdmltVGNsU2NyaXB0Cisgc3luIHJlZ2lvbiB2aW1UY2xSZWdpb24gbWF0Y2hncm91cD12aW1TY3JpcHREZWxpbSBzdGFydD0rdGNbbF1cPVxzKjw8XHMqJCsgZW5kPStcLiQrIGNvbnRhaW5zPUB2aW1UY2xTY3JpcHQKK2VuZGlmCisKKyIgU3luY2hyb25pemUgKHNwZWVkKSB7e3sxCisiPT09PT09PT09PT09CitpZiBleGlzdHMoImc6dmltX21pbmxpbmVzIikKKyBleGUgInN5biBzeW5jIG1pbmxpbmVzPSIuZzp2aW1fbWlubGluZXMKK2VuZGlmCitpZiBleGlzdHMoImc6dmltX21heGxpbmVzIikKKyBleGUgInN5biBzeW5jIG1heGxpbmVzPSIuZzp2aW1fbWF4bGluZXMKK2Vsc2UKKyBzeW4gc3luYyBtYXhsaW5lcz02MAorZW5kaWYKK3N5biBzeW5jIGxpbmVjb250CSJeXHNcK1xcIgorc3luIHN5bmMgbWF0Y2ggdmltQXVncm91cFN5bmNBCWdyb3VwdGhlcmUgTk9ORQkiXDxhdWdcJVtyb3VwXVw+XHNcK1tlRV1bbk5dW2REXSIKKworIiBIaWdobGlnaHRpbmcgU2V0dGluZ3Mge3t7MQorIiA9PT09PT09PT09PT09PT09PT09PQorCitoaSBkZWYgbGluayB2aW1BdUhpZ2hsaWdodAl2aW1IaWdobGlnaHQKK2hpIGRlZiBsaW5rIHZpbVN1YnN0MQl2aW1TdWJzdAoraGkgZGVmIGxpbmsgdmltQmVoYXZlTW9kZWwJdmltQmVoYXZlCisKK2hpIGRlZiBsaW5rIHZpbUFkZHJlc3MJdmltTWFyaworIiAgaGkgZGVmIGxpbmsgdmltQXVncm91cEVycm9yCXZpbUVycm9yCitoaSBkZWYgbGluayB2aW1BdWdyb3VwS2V5CXZpbUNvbW1hbmQKK2hpIGRlZiBsaW5rIHZpbUF1dG9DbWRPcHQJdmltT3B0aW9uCitoaSBkZWYgbGluayB2aW1BdXRvQ21kCXZpbUNvbW1hbmQKK2hpIGRlZiBsaW5rIHZpbUF1dG9TZXQJdmltQ29tbWFuZAoraGkgZGVmIGxpbmsgdmltQmVoYXZlRXJyb3IJdmltRXJyb3IKK2hpIGRlZiBsaW5rIHZpbUJlaGF2ZQl2aW1Db21tYW5kCitoaSBkZWYgbGluayB2aW1Db2xsQ2xhc3NFcnIJdmltRXJyb3IKK2hpIGRlZiBsaW5rIHZpbUNvbW1lbnRTdHJpbmcJdmltU3RyaW5nCitoaSBkZWYgbGluayB2aW1Db25kSEwJdmltQ29tbWFuZAoraGkgZGVmIGxpbmsgdmltRWNob0hMTm9uZQl2aW1Hcm91cAoraGkgZGVmIGxpbmsgdmltRWNob0hMCXZpbUNvbW1hbmQKK2hpIGRlZiBsaW5rIHZpbUVsc2VpZgl2aW1Db25kSEwKK2hpIGRlZiBsaW5rIHZpbUVyclNldHRpbmcJdmltRXJyb3IKK2hpIGRlZiBsaW5rIHZpbUZnQmdBdHRyaWIJdmltSGlBdHRyaWIKK2hpIGRlZiBsaW5rIHZpbUZUQ21kCXZpbUNvbW1hbmQKK2hpIGRlZiBsaW5rIHZpbUZURXJyb3IJdmltRXJyb3IKK2hpIGRlZiBsaW5rIHZpbUZUT3B0aW9uCXZpbVN5blR5cGUKK2hpIGRlZiBsaW5rIFZpbUZ1bmMgICAgICAgICAJdmltRXJyb3IKK2hpIGRlZiBsaW5rIHZpbUZ1bmNLZXkJdmltQ29tbWFuZAoraGkgZGVmIGxpbmsgdmltRnVuY3Rpb25FcnJvcgl2aW1FcnJvcgoraGkgZGVmIGxpbmsgdmltR3JvdXBBZGQJdmltU3luT3B0aW9uCitoaSBkZWYgbGluayB2aW1Hcm91cFJlbQl2aW1TeW5PcHRpb24KK2hpIGRlZiBsaW5rIHZpbUhpQXR0cmliTGlzdAl2aW1FcnJvcgoraGkgZGVmIGxpbmsgdmltSGlDdGVybUVycm9yCXZpbUVycm9yCitoaSBkZWYgbGluayB2aW1IaUN0ZXJtRmdCZwl2aW1IaVRlcm0KK2hpIGRlZiBsaW5rIHZpbUhpQ1Rlcm0JdmltSGlUZXJtCitoaSBkZWYgbGluayB2aW1IaWdobGlnaHQJdmltQ29tbWFuZAoraGkgZGVmIGxpbmsgdmltSGlHcm91cAl2aW1Hcm91cE5hbWUKK2hpIGRlZiBsaW5rIHZpbUhpR3VpRmdCZwl2aW1IaVRlcm0KK2hpIGRlZiBsaW5rIHZpbUhpR3VpRm9udAl2aW1IaVRlcm0KK2hpIGRlZiBsaW5rIHZpbUhpR3VpUmdiCXZpbU51bWJlcgoraGkgZGVmIGxpbmsgdmltSGlHdWkJdmltSGlUZXJtCitoaSBkZWYgbGluayB2aW1IaUtleUVycm9yCXZpbUVycm9yCitoaSBkZWYgbGluayB2aW1IaVN0YXJ0U3RvcAl2aW1IaVRlcm0KK2hpIGRlZiBsaW5rIHZpbUhMR3JvdXAJdmltR3JvdXAKK2hpIGRlZiBsaW5rIHZpbUluc2VydAl2aW1TdHJpbmcKK2hpIGRlZiBsaW5rIHZpbUtleUNvZGVFcnJvcgl2aW1FcnJvcgoraGkgZGVmIGxpbmsgdmltS2V5Q29kZQl2aW1TcGVjRmlsZQoraGkgZGVmIGxpbmsgdmltTGV0CXZpbUNvbW1hbmQKK2hpIGRlZiBsaW5rIHZpbUxpbmVDb21tZW50CXZpbUNvbW1lbnQKK2hpIGRlZiBsaW5rIHZpbU1hcEJhbmcJdmltQ29tbWFuZAoraGkgZGVmIGxpbmsgdmltTWFwTW9kRXJyCXZpbUVycm9yCitoaSBkZWYgbGluayB2aW1NYXBNb2RLZXkJdmltRnVuY1NJRAoraGkgZGVmIGxpbmsgdmltTWFwTW9kCXZpbUJyYWNrZXQKK2hpIGRlZiBsaW5rIHZpbU1hcAl2aW1Db21tYW5kCitoaSBkZWYgbGluayB2aW1NYXJrTnVtYmVyCXZpbU51bWJlcgoraGkgZGVmIGxpbmsgdmltTWVudU1vZAl2aW1NYXBNb2QKK2hpIGRlZiBsaW5rIHZpbU1lbnVOYW1lTW9yZQl2aW1NZW51TmFtZQoraGkgZGVmIGxpbmsgdmltTXRjaENvbW1lbnQJdmltQ29tbWVudAoraGkgZGVmIGxpbmsgdmltTm90RnVuYwl2aW1Db21tYW5kCitoaSBkZWYgbGluayB2aW1Ob3RQYXRTZXAJdmltU3RyaW5nCitoaSBkZWYgbGluayB2aW1QYXRTZXBFcnIJdmltUGF0U2VwCitoaSBkZWYgbGluayB2aW1QYXRTZXBab25lCXZpbVN0cmluZworaGkgZGVmIGxpbmsgdmltUGxhaW5NYXJrCXZpbU1hcmsKK2hpIGRlZiBsaW5rIHZpbVBsYWluUmVnaXN0ZXIJdmltUmVnaXN0ZXIKK2hpIGRlZiBsaW5rIHZpbVNldE1vZAl2aW1PcHRpb24KK2hpIGRlZiBsaW5rIHZpbVNldFN0cmluZwl2aW1TdHJpbmcKK2hpIGRlZiBsaW5rIHZpbVNwZWNGaWxlTW9kCXZpbVNwZWNGaWxlCitoaSBkZWYgbGluayB2aW1TdHJpbmdDb250CXZpbVN0cmluZworaGkgZGVmIGxpbmsgdmltU3Vic3RGbGFnRXJyCXZpbUVycm9yCitoaSBkZWYgbGluayB2aW1TdWJzdFR3b0JTCXZpbVN0cmluZworaGkgZGVmIGxpbmsgdmltU3Vic3QJdmltQ29tbWFuZAoraGkgZGVmIGxpbmsgdmltU3luQ2FzZUVycm9yCXZpbUVycm9yCitoaSBkZWYgbGluayB2aW1TeW5jR3JvdXBOYW1lCXZpbUdyb3VwTmFtZQoraGkgZGVmIGxpbmsgdmltU3luY0dyb3VwCXZpbUdyb3VwTmFtZQoraGkgZGVmIGxpbmsgdmltU3luQ29udGFpbnMJdmltU3luT3B0aW9uCitoaSBkZWYgbGluayB2aW1TeW5LZXlDb250YWluZWRpbgl2aW1TeW5Db250YWlucworaGkgZGVmIGxpbmsgdmltU3luS2V5T3B0CXZpbVN5bk9wdGlvbgoraGkgZGVmIGxpbmsgdmltU3luTXRjaEdycAl2aW1TeW5PcHRpb24KK2hpIGRlZiBsaW5rIHZpbVN5bk10Y2hPcHQJdmltU3luT3B0aW9uCitoaSBkZWYgbGluayB2aW1TeW5OZXh0Z3JvdXAJdmltU3luT3B0aW9uCitoaSBkZWYgbGluayB2aW1TeW5Ob3RQYXRSYW5nZQl2aW1TeW5SZWdQYXQKK2hpIGRlZiBsaW5rIHZpbVN5blBhdFJhbmdlCXZpbVN0cmluZworaGkgZGVmIGxpbmsgdmltU3luUmVnT3B0CXZpbVN5bk9wdGlvbgoraGkgZGVmIGxpbmsgdmltU3luUmVnUGF0CXZpbVN0cmluZworaGkgZGVmIGxpbmsgdmltU3ludGF4CXZpbUNvbW1hbmQKK2hpIGRlZiBsaW5rIHZpbVN5blR5cGUJdmltU3BlY2lhbAoraGkgZGVmIGxpbmsgdmltVXNlckF0dHJiQ21wbHQJdmltU3BlY2lhbAoraGkgZGVmIGxpbmsgdmltVXNlckF0dHJiS2V5CXZpbU9wdGlvbgoraGkgZGVmIGxpbmsgdmltVXNlckF0dHJiCXZpbVNwZWNpYWwKK2hpIGRlZiBsaW5rIHZpbVVzZXJDb21tYW5kCXZpbUNvbW1hbmQKK2hpIGRlZiBsaW5rIHZpbVVzZXJGdW5jCU5vcm1hbAorCitoaSBkZWYgbGluayB2aW1BdXRvRXZlbnQJVHlwZQoraGkgZGVmIGxpbmsgdmltQnJhY2tldAlEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHZpbUNtcGx4UmVwZWF0CVNwZWNpYWxDaGFyCitoaSBkZWYgbGluayB2aW1Db21tYW5kCVN0YXRlbWVudAoraGkgZGVmIGxpbmsgdmltQ29tbWVudAlDb21tZW50CitoaSBkZWYgbGluayB2aW1Db21tZW50VGl0bGUJUHJlUHJvYworaGkgZGVmIGxpbmsgdmltQ29udGludWUJU3BlY2lhbAoraGkgZGVmIGxpbmsgdmltQ3RybENoYXIJU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIHZpbUVsc2VJZkVycglFcnJvcgoraGkgZGVmIGxpbmsgdmltRW52dmFyCVByZVByb2MKK2hpIGRlZiBsaW5rIHZpbUVycm9yCUVycm9yCitoaSBkZWYgbGluayB2aW1Gb2xkCUZvbGRlZAoraGkgZGVmIGxpbmsgdmltRnVuY05hbWUJRnVuY3Rpb24KK2hpIGRlZiBsaW5rIHZpbUZ1bmNTSUQJU3BlY2lhbAoraGkgZGVmIGxpbmsgdmltRnVuY1ZhcglJZGVudGlmaWVyCitoaSBkZWYgbGluayB2aW1Hcm91cAlUeXBlCitoaSBkZWYgbGluayB2aW1Hcm91cFNwZWNpYWwJU3BlY2lhbAoraGkgZGVmIGxpbmsgdmltSExNb2QJUHJlUHJvYworaGkgZGVmIGxpbmsgdmltSGlBdHRyaWIJUHJlUHJvYworaGkgZGVmIGxpbmsgdmltSGlUZXJtCVR5cGUKK2hpIGRlZiBsaW5rIHZpbUtleXdvcmQJU3RhdGVtZW50CitoaSBkZWYgbGluayB2aW1NYXJrCU51bWJlcgoraGkgZGVmIGxpbmsgdmltTWVudU5hbWUJUHJlUHJvYworaGkgZGVmIGxpbmsgdmltTm90YXRpb24JU3BlY2lhbAoraGkgZGVmIGxpbmsgdmltTnVtYmVyCU51bWJlcgoraGkgZGVmIGxpbmsgdmltT3BlcglPcGVyYXRvcgoraGkgZGVmIGxpbmsgdmltT3B0aW9uCVByZVByb2MKK2hpIGRlZiBsaW5rIHZpbU9wZXJFcnJvcglFcnJvcgoraGkgZGVmIGxpbmsgdmltUGF0U2VwCVNwZWNpYWxDaGFyCitoaSBkZWYgbGluayB2aW1QYXR0ZXJuCVR5cGUKK2hpIGRlZiBsaW5rIHZpbVJlZ2lzdGVyCVNwZWNpYWxDaGFyCitoaSBkZWYgbGluayB2aW1TY3JpcHREZWxpbQlDb21tZW50CitoaSBkZWYgbGluayB2aW1TZXAJRGVsaW1pdGVyCitoaSBkZWYgbGluayB2aW1TZXRTZXAJU3RhdGVtZW50CitoaSBkZWYgbGluayB2aW1TcGVjRmlsZQlJZGVudGlmaWVyCitoaSBkZWYgbGluayB2aW1TcGVjaWFsCVR5cGUKK2hpIGRlZiBsaW5rIHZpbVN0YXRlbWVudAlTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHZpbVN0cmluZwlTdHJpbmcKK2hpIGRlZiBsaW5rIHZpbVN1YnN0RGVsaW0JRGVsaW1pdGVyCitoaSBkZWYgbGluayB2aW1TdWJzdEZsYWdzCVNwZWNpYWwKK2hpIGRlZiBsaW5rIHZpbVN1YnN0U3Vic3RyCVNwZWNpYWxDaGFyCitoaSBkZWYgbGluayB2aW1TeW5DYXNlCVR5cGUKK2hpIGRlZiBsaW5rIHZpbVN5bkNhc2VFcnJvcglFcnJvcgoraGkgZGVmIGxpbmsgdmltU3luRXJyb3IJRXJyb3IKK2hpIGRlZiBsaW5rIHZpbVN5bk9wdGlvbglTcGVjaWFsCitoaSBkZWYgbGluayB2aW1TeW5SZWcJVHlwZQoraGkgZGVmIGxpbmsgdmltU3luY0MJVHlwZQoraGkgZGVmIGxpbmsgdmltU3luY0Vycm9yCUVycm9yCitoaSBkZWYgbGluayB2aW1TeW5jS2V5CVR5cGUKK2hpIGRlZiBsaW5rIHZpbVN5bmNOb25lCVR5cGUKK2hpIGRlZiBsaW5rIHZpbVRvZG8JVG9kbworaGkgZGVmIGxpbmsgdmltVXNlckNtZEVycm9yCUVycm9yCisKKyIgQ3VycmVudCBTeW50YXggVmFyaWFibGU6IHt7ezEKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInZpbSIKKyIgdmltOnRzPTE4ICBmZG09bWFya2VyCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92aW1pbmZvLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZpbWluZm8udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZDViODkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC92aW1pbmZvLnZpbQpAQCAtMCwwICsxLDUzIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJVmltIC52aW1pbmZvIGZpbGUKKyIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDEgQXByIDI1CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBUaGUgbGluZXMgdGhhdCBhcmUgTk9UIHJlY29nbml6ZWQKK3N5biBtYXRjaCB2aW1pbmZvRXJyb3IgIl5bXlx0XS4qIgorCisiIFRoZSBvbmUtY2hhcmFjdGVyIG9uZS1saW5lcnMgdGhhdCBhcmUgcmVjb2duaXplZAorc3luIG1hdGNoIHZpbWluZm9TdGF0ZW1lbnQgIl5bLyYkQDo/PSUhPF0iCisKKyIgVGhlIHR3by1jaGFyYWN0ZXIgb25lLWxpbmVycyB0aGF0IGFyZSByZWNvZ25pemVkCitzeW4gbWF0Y2ggdmltaW5mb1N0YXRlbWVudCAiXlstJz4iXS4iCitzeW4gbWF0Y2ggdmltaW5mb1N0YXRlbWVudCArXiIiLisKK3N5biBtYXRjaCB2aW1pbmZvU3RhdGVtZW50ICJeXH5bLyZdIgorc3luIG1hdGNoIHZpbWluZm9TdGF0ZW1lbnQgIl5cfltoSF0iCitzeW4gbWF0Y2ggdmltaW5mb1N0YXRlbWVudCAiXlx+W21NXVtzU11bbExdW2VFXVxkXCtcflw9Wy8mXSIKKworc3luIG1hdGNoIHZpbWluZm9PcHRpb24gIl5cKi4qPSIgY29udGFpbnM9dmltaW5mb09wdGlvbk5hbWUKK3N5biBtYXRjaCB2aW1pbmZvT3B0aW9uTmFtZSAiXCpcYSoibXM9cysxIGNvbnRhaW5lZAorCisiIENvbW1lbnRzCitzeW4gbWF0Y2ggdmltaW5mb0NvbW1lbnQgIl4jLioiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3ZpbWluZm9fc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdmltaW5mb19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB2aW1pbmZvQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgdmltaW5mb0Vycm9yCQlFcnJvcgorICBIaUxpbmsgdmltaW5mb1N0YXRlbWVudAlTdGF0ZW1lbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidmltaW5mbyIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdmlyYXRhLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZpcmF0YS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTU5N2I4ZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZpcmF0YS52aW0KQEAgLTAsMCArMSwyMTkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglWaXJhdGEgQUNvbmZpZyBDb25maWd1cmF0aW9uIFNjcmlwdAorIiBNYWludGFpbmVyOglNYW51ZWwgTS5ILiBTdG9sCTxtbWguc3RvbEBnbXgubmV0PgorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKKyIgVmltIFVSTDoJaHR0cDovL3d3dy52aW0ub3JnL2xhbmcuaHRtbAorIiBWaXJhdGEgVVJMOglodHRwOi8vd3d3Lmdsb2Jlc3BhbnZpcmF0YS5jb20vCisKKworIiBWaXJhdGEgQUNvbmZpZyBDb25maWd1cmF0aW9uIFNjcmlwdCBzeW50YXgKKyIgIENhbiBiZSBkZXRlY3RlZCBieTogMSkgRXh0ZW5zaW9uIC5odywgLnN3LCAucGtnIGFuZCAubW9kdWxlCisiCQkgICAgICAgMikgVGhlIGZpbGUgbmFtZSBwYXR0ZXJuICJtay4qXC5jZmciCisiCQkgICAgICAgMykgVGhlIHN0cmluZyAiVmlyYXRhIiBpbiB0aGUgZmlyc3QgNSBsaW5lcworCisKKyIgU2V0dXAgU3ludGF4OgoraWYgdmVyc2lvbiA8IDYwMAorICAiICBDbGVhciBvbGQgc3ludGF4IHNldHRpbmdzCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKyIgIFZpcmF0YSBzeW50YXggaXMgY2FzZSBpbnNlbnNpdGl2ZSAobW9zdGx5KQorc3luIGNhc2UgaWdub3JlCisKKworCisiIENvbW1lbnRzOgorIiBWaXJhdGEgY29tbWVudHMgc3RhcnQgd2l0aCAlLCBidXQgJSBpcyBub3QgYSBrZXl3b3JkIGNoYXJhY3Rlcgorc3luIHJlZ2lvbiAgdmlyYXRhQ29tbWVudAlzdGFydD0iXiUiIHN0YXJ0PSJccyUibGM9MSBrZWVwZW5kIGVuZD0iJCIgY29udGFpbnM9QHZpcmF0YUdycEluQ29tbWVudHMKK3N5biByZWdpb24gIHZpcmF0YVNwY2xDb21tZW50CXN0YXJ0PSJeJSUiIHN0YXJ0PSJccyUlImxjPTEga2VlcGVuZCBlbmQ9IiQiIGNvbnRhaW5zPUB2aXJhdGFHcnBJbkNvbW1lbnRzCitzeW4ga2V5d29yZCB2aXJhdGFJbkNvbW1lbnRUb2RvCWNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWFtYWFhYWF0gUkVWSUVXIFRCRAorc3luIGNsdXN0ZXIgdmlyYXRhR3JwSW5Db21tZW50cwljb250YWlucz12aXJhdGFJbkNvbW1lbnRUb2RvCitzeW4gY2x1c3RlciB2aXJhdGFHcnBDb21tZW50cwljb250YWlucz1AdmlyYXRhR3JwSW5Db21tZW50cyx2aXJhdGFDb21tZW50LHZpcmF0YVNwY2xDb21tZW50CisKKworIiBDb25zdGFudHM6CitzeW4gbWF0Y2ggICB2aXJhdGFTdHJpbmdFcnJvcgkrWyJdKworc3luIHJlZ2lvbiAgdmlyYXRhU3RyaW5nCXN0YXJ0PSsiKyBza2lwPStcKFxcXFxcfFxcIlwpKyBlbmQ9KyIrIG9uZWxpbmUgY29udGFpbnM9dmlyYXRhU3BjbENoYXJFcnJvcix2aXJhdGFTcGNsQ2hhcixAdmlyYXRhR3JwRGVmU3Vic3RzCitzeW4gbWF0Y2ggICB2aXJhdGFDaGFyYWN0ZXIJKydbXiddXHstfScrIGNvbnRhaW5zPXZpcmF0YVNwY2xDaGFyRXJyb3IsdmlyYXRhU3BjbENoYXIKK3N5biBtYXRjaCAgIHZpcmF0YVNwY2xDaGFyCWNvbnRhaW5lZCArXFxcKHhceFwrXHxcb1x7MSwzfVx8WydcIj9cXGFiZWZucnR2XVwpKworc3luIG1hdGNoICAgdmlyYXRhTnVtYmVyRXJyb3IJIlw8XGRcey0xLH1cSVx7LTEsfVw+Igorc3luIG1hdGNoICAgdmlyYXRhTnVtYmVyRXJyb3IJIlw8MHhceCpcWFx4Klw+Igorc3luIG1hdGNoICAgdmlyYXRhTnVtYmVyRXJyb3IJIlw8XGRcK1wuXGQqXChlWystXVw9XGRcK1wpXD1cPiIKK3N5biBtYXRjaCAgIHZpcmF0YURlY051bWJlcgkiXDxcZFwrVVw9TFw9XD4iCitzeW4gbWF0Y2ggICB2aXJhdGFIZXhOdW1iZXIJIlw8MHhceFwrVVw9TFw9XD4iCitzeW4gbWF0Y2ggICB2aXJhdGFTaXplTnVtYmVyCSJcPFxkXCtbQktNXVw+ImhlPWUtMQorc3luIG1hdGNoICAgdmlyYXRhU2l6ZU51bWJlcgkiXDxcZFwrW0tNXUJcPiJoZT1lLTIKK3N5biBjbHVzdGVyIHZpcmF0YUdycE51bWJlcnMJY29udGFpbnM9dmlyYXRhTnVtYmVyRXJyb3IsdmlyYXRhRGVjTnVtYmVyLHZpcmF0YUhleE51bWJlcix2aXJhdGFTaXplTnVtYmVyCitzeW4gY2x1c3RlciB2aXJhdGFHcnBDb25zdGFudHMJY29udGFpbnM9QHZpcmF0YUdycE51bWJlcnMsdmlyYXRhU3RyaW5nRXJyb3IsdmlyYXRhU3RyaW5nLHZpcmF0YUNoYXJhY3Rlcix2aXJhdGFTcGNsQ2hhcgorCisKKyIgSWRlbnRpZmllcnM6CitzeW4gbWF0Y2ggICB2aXJhdGFJZGVudEVycm9yCWNvbnRhaW5lZCAiXDxcRFxTKlw+Igorc3luIG1hdGNoICAgdmlyYXRhSWRlbnRpZmllcgljb250YWluZWQgIlw8XElcaVx7LX1cKFwtXGlcey0xLH1cKSpcPiIgY29udGFpbnM9QHZpcmF0YUdycERlZlN1YnN0cworc3luIG1hdGNoICAgdmlyYXRhRmlsZUlkZW50CWNvbnRhaW5lZCAiXEZcZioiIGNvbnRhaW5zPUB2aXJhdGFHcnBEZWZTdWJzdHMKK3N5biBjbHVzdGVyIHZpcmF0YUdycElkZW50cwljb250YWlucz12aXJhdGFJZGVudGlmaWVyLHZpcmF0YUlkZW50RXJyb3IKK3N5biBjbHVzdGVyIHZpcmF0YUdycEZpbGVJZGVudHMJY29udGFpbnM9dmlyYXRhRmlsZUlkZW50LHZpcmF0YUlkZW50RXJyb3IKKworCisiIFN0YXRlbWVudHM6CitzeW4gbWF0Y2ggICB2aXJhdGFTdGF0ZW1lbnQJIl5ccypDb25maWdcKFwoL0tlcm5lbFwpXD1cLlwoaHNcPVx8c1wpXClcPVw+Igorc3luIG1hdGNoICAgdmlyYXRhU3RhdGVtZW50CSJeXHMqQ29uZmlnXHNcK1xJXGlcey19XChcLVxpXHstMSx9XCkqXC5cKGhzXD1cfHNcKVw+Igorc3luIG1hdGNoICAgdmlyYXRhU3RhdGVtZW50CSJeXHMqTWFrZVwuXElcaVx7LX1cKFwtXGlcey0xfVwpKlw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPUB2aXJhdGFHcnBJZGVudHMKK3N5biBtYXRjaCAgIHZpcmF0YVN0YXRlbWVudAkiXlxzKk1ha2VcLmNcKGF0XClcPSsrXHMibWU9ZS0xIHNraXB3aGl0ZSBuZXh0Z3JvdXA9QHZpcmF0YUdycElkZW50cworc3luIG1hdGNoICAgdmlyYXRhU3RhdGVtZW50CSJeXHMqXChBcmNoaXRlY3R1cmVcfEdldEVudlx8UmVzZXJ2ZWRcfFwoVW5cKVw9RGVmaW5lXHxWZXJzaW9uXClcPiIgc2tpcHdoaXRlIG5leHRncm91cD1AdmlyYXRhR3JwSWRlbnRzCitzeW4gbWF0Y2ggICB2aXJhdGFTdGF0ZW1lbnQJIl5ccypcKEhhcmR3YXJlXHxNb2R1bGVTb3VyY2VcfFwoUmVsZWFzZVwpXD1QYXRoXHxTb2Z0d2FyZVwpXD4iIHNraXB3aGl0ZSBuZXh0Z3JvdXA9QHZpcmF0YUdycEZpbGVJZGVudHMKK3N5biBtYXRjaCAgIHZpcmF0YVN0YXRlbWVudAkiXlxzKlwoRGVmYXVsdFByaVx8SHlkcm9nZW5cKVw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPXZpcmF0YURlY051bWJlcix2aXJhdGFOdW1iZXJFcnJvcgorc3luIG1hdGNoICAgdmlyYXRhU3RhdGVtZW50CSJeXHMqXChOb0luaXRcfFBDSVx8U3lzTGlua1wpXD4iCitzeW4gbWF0Y2ggICB2aXJhdGFTdGF0ZW1lbnQJIl5ccypBbGxvd1xzXCtcKE1vZHVsZUNvbmZpZ1wpXD4iCitzeW4gbWF0Y2ggICB2aXJhdGFTdGF0ZW1lbnQJIl5ccypOb1dhcm5cc1wrXChFeHBvcnRcfFBhcnNlXD1hYmxlXHxSZWxhdGl2ZV1cKVw+Igorc3luIG1hdGNoICAgdmlyYXRhU3RhdGVtZW50CSJeXHMqRGVidWdcc1wrT1woZmZcfG5cKVw+IgorCisiIEltcG9ydCAoUGFja2FnZSA8ZXhlYz58TW9kdWxlIDxuYW1lPiBmcm9tIDxkaXI+KQorc3luIHJlZ2lvbiAgdmlyYXRhSW1wb3J0RGVmCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dmlyYXRhU3RhdGVtZW50IHN0YXJ0PSJeXHMqSW1wb3J0XD4iIGtlZXBlbmQgZW5kPSIkIiBjb250YWlucz12aXJhdGFJbkltcG9ydCx2aXJhdGFNb2R1bGVEZWYsdmlyYXRhTnVtYmVyRXJyb3IsdmlyYXRhU3RyaW5nRXJyb3IsQHZpcmF0YUdycERlZlN1YnN0cworc3luIG1hdGNoICAgdmlyYXRhSW5JbXBvcnQJY29udGFpbmVkICJcPFwoTW9kdWxlXHxQYWNrYWdlXHxmcm9tXClcPiIgc2tpcHdoaXRlIG5leHRncm91cD1AdmlyYXRhR3JwRmlsZUlkZW50cworIiBFeHBvcnQgKEhlYWRlciA8aGVhZGVyIGZpbGU+fFNMaWJyYXJ5IDxvYmogZmlsZT4pCitzeW4gcmVnaW9uICB2aXJhdGFFeHBvcnREZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD12aXJhdGFTdGF0ZW1lbnQgc3RhcnQ9Il5ccypFeHBvcnRcPiIga2VlcGVuZCBlbmQ9IiQiIGNvbnRhaW5zPXZpcmF0YUluRXhwb3J0LHZpcmF0YU51bWJlckVycm9yLHZpcmF0YVN0cmluZ0Vycm9yLEB2aXJhdGFHcnBEZWZTdWJzdHMKK3N5biBtYXRjaCAgIHZpcmF0YUluRXhwb3J0CWNvbnRhaW5lZCAiXDxcKEhlYWRlclx8W1NVXUxpYnJhcnlcKVw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPUB2aXJhdGFHcnBGaWxlSWRlbnRzCisiIFByb2Nlc3MgPG5hbWU+IGlzIDxkaXIvZXhlYz4KK3N5biByZWdpb24gIHZpcmF0YVByb2Nlc3NEZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD12aXJhdGFTdGF0ZW1lbnQgc3RhcnQ9Il5ccypQcm9jZXNzXD4iIGtlZXBlbmQgZW5kPSIkIiBjb250YWlucz12aXJhdGFJblByb2Nlc3MsdmlyYXRhSW5FeGVjLHZpcmF0YU51bWJlckVycm9yLHZpcmF0YVN0cmluZ0Vycm9yLEB2aXJhdGFHcnBEZWZTdWJzdHMsQHZpcmF0YUdycElkZW50cworc3luIG1hdGNoICAgdmlyYXRhSW5Qcm9jZXNzCWNvbnRhaW5lZCAiXDxpc1w+IgorIiBJbnN0YW5jZSA8bmFtZT4gb2YgPG1vZHVsZT4KK3N5biByZWdpb24gIHZpcmF0YUluc3RhbmNlRGVmCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dmlyYXRhU3RhdGVtZW50IHN0YXJ0PSJeXHMqSW5zdGFuY2VcPiIga2VlcGVuZCBlbmQ9IiQiIGNvbnRhaW5zPXZpcmF0YUluSW5zdGFuY2UsdmlyYXRhTnVtYmVyRXJyb3IsdmlyYXRhU3RyaW5nRXJyb3IsQHZpcmF0YUdycERlZlN1YnN0cyxAdmlyYXRhR3JwSWRlbnRzCitzeW4gbWF0Y2ggICB2aXJhdGFJbkluc3RhbmNlCWNvbnRhaW5lZCAiXDxvZlw+IgorIiBNb2R1bGUgPG5hbWU+IGZyb20gPGRpcj4KK3N5biByZWdpb24gIHZpcmF0YU1vZHVsZURlZgl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXZpcmF0YVN0YXRlbWVudCBzdGFydD0iXlxzKlwoUGFja2FnZVx8TW9kdWxlXClcPiIga2VlcGVuZCBlbmQ9IiQiIGNvbnRhaW5zPXZpcmF0YUluTW9kdWxlLHZpcmF0YU51bWJlckVycm9yLHZpcmF0YVN0cmluZ0Vycm9yLEB2aXJhdGFHcnBEZWZTdWJzdHMKK3N5biBtYXRjaCAgIHZpcmF0YUluTW9kdWxlCWNvbnRhaW5lZCAiXlxzKlBhY2thZ2VcPiJocz1lLTcgc2tpcHdoaXRlIG5leHRncm91cD1AdmlyYXRhR3JwSWRlbnRzCitzeW4gbWF0Y2ggICB2aXJhdGFJbk1vZHVsZQljb250YWluZWQgIl5ccypNb2R1bGVcPiJocz1lLTYgc2tpcHdoaXRlIG5leHRncm91cD1AdmlyYXRhR3JwSWRlbnRzCitzeW4gbWF0Y2ggICB2aXJhdGFJbk1vZHVsZQljb250YWluZWQgIlw8ZnJvbVw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPUB2aXJhdGFHcnBGaWxlSWRlbnRzCisiIENvbG91ciA8bmFtZT4gZnJvbSA8ZGlyPgorc3luIHJlZ2lvbiAgdmlyYXRhQ29sb3VyRGVmCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dmlyYXRhU3RhdGVtZW50IHN0YXJ0PSJeXHMqQ29sb3VyXD4iIGtlZXBlbmQgZW5kPSIkIiBjb250YWlucz12aXJhdGFJbkNvbG91cix2aXJhdGFOdW1iZXJFcnJvcix2aXJhdGFTdHJpbmdFcnJvcixAdmlyYXRhR3JwRGVmU3Vic3RzCitzeW4gbWF0Y2ggICB2aXJhdGFJbkNvbG91cgljb250YWluZWQgIl5ccypDb2xvdXJcPiJocz1lLTYgc2tpcHdoaXRlIG5leHRncm91cD1AdmlyYXRhR3JwSWRlbnRzCitzeW4gbWF0Y2ggICB2aXJhdGFJbkNvbG91cgljb250YWluZWQgIlw8ZnJvbVw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPUB2aXJhdGFHcnBGaWxlSWRlbnRzCisiIExpbmsgezxsaW5rIGNtZHM+fQorIiBPYmplY3Qge0V4ZWN1dGFibGUgWzxFeGVjT3B0aW9ucz5dfQorc3luIG1hdGNoICAgdmlyYXRhU3RhdGVtZW50CSJeXHMqXChMaW5rXHxPYmplY3RcKSIKKyIgRXhlY3V0YWJsZSA8bmFtZT4gWzxFeGVjT3B0aW9ucz5dCitzeW4gcmVnaW9uICB2aXJhdGFFeGVjRGVmCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dmlyYXRhU3RhdGVtZW50IHN0YXJ0PSJeXHMqRXhlY3V0YWJsZVw+IiBrZWVwZW5kIGVuZD0iJCIgY29udGFpbnM9dmlyYXRhSW5FeGVjLHZpcmF0YU51bWJlckVycm9yLHZpcmF0YVN0cmluZ0Vycm9yCitzeW4gbWF0Y2ggICB2aXJhdGFJbkV4ZWMJY29udGFpbmVkICJeXHMqRXhlY3V0YWJsZVw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPUB2aXJhdGFHcnBEZWZTdWJzdHMsQHZpcmF0YUdycElkZW50cworc3luIG1hdGNoICAgdmlyYXRhSW5FeGVjCWNvbnRhaW5lZCAiXDxcKGVwaWxvZ3VlXHxwcm9cKGxvZ3VlXHxjZXNzXClcfHFoYW5kbGVyXClcPiIgc2tpcHdoaXRlIG5leHRncm91cD1AdmlyYXRhR3JwRGVmU3Vic3RzLEB2aXJhdGFHcnBJZGVudHMKK3N5biBtYXRjaCAgIHZpcmF0YUluRXhlYwljb250YWluZWQgIlw8XChwcmlvcml0eVx8c3RhY2tcKVw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPUB2aXJhdGFHcnBEZWZTdWJzdHMsQHZpcmF0YUdycE51bWJlcnMKKyIgTWVzc2FnZSA8bmFtZT4gezxtc2cgZm9ybWF0Pn0KKyIgTWVzc2FnZUlkIDxudW1iZXI+CitzeW4gbWF0Y2ggICB2aXJhdGFTdGF0ZW1lbnQJIl5ccypNZXNzYWdlXChJZFwpXD1cPiIgc2tpcHdoaXRlIG5leHRncm91cD1AdmlyYXRhR3JwTnVtYmVycworIiBNYWtlUnVsZSA8bWFrZSBzdWZmaXg9ZmlsZT4gezxtYWtlIGNtZHM+fQorc3luIHJlZ2lvbiAgdmlyYXRhTWFrZURlZgl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXZpcmF0YVN0YXRlbWVudCBzdGFydD0iXlxzKk1ha2VSdWxlXD4iIGtlZXBlbmQgZW5kPSIkIiBjb250YWlucz12aXJhdGFJbk1ha2UsQHZpcmF0YUdycERlZlN1YnN0cworc3luIGNhc2UgbWF0Y2gKK3N5biBtYXRjaCAgIHZpcmF0YUluTWFrZQljb250YWluZWQgIlw8Tlw+Igorc3luIGNhc2UgaWdub3JlCisiIChBcHBlbmR8RWRpdHxDb3B5KVJ1bGUgPG1ha2Ugc3VmZml4PWZpbGU+IDxzdWJzdCBjbWQ+CitzeW4gbWF0Y2ggICB2aXJhdGFTdGF0ZW1lbnQJIl5ccypcKEFwcGVuZFx8Q29weVx8RWRpdFwpUnVsZVw+IgorIiBBbHRlclJ1bGVzIGluIDxmaWxlPiA8c3Vic3QgY21kPgorc3luIHJlZ2lvbiAgdmlyYXRhQWx0ZXJEZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD12aXJhdGFTdGF0ZW1lbnQgc3RhcnQ9Il5ccypBbHRlclJ1bGVzXD4iIGtlZXBlbmQgZW5kPSIkIiBjb250YWlucz12aXJhdGFJbkFsdGVyLEB2aXJhdGFHcnBEZWZTdWJzdHMKK3N5biBtYXRjaCAgIHZpcmF0YUluQWx0ZXIJY29udGFpbmVkICJcPGluXD4iIHNraXB3aGl0ZSBuZXh0Z3JvdXA9QHZpcmF0YUdycElkZW50cworIiBDbHVzdGVyaW5nCitzeW4gY2x1c3RlciB2aXJhdGFHcnBJblN0YXRtbnRzCWNvbnRhaW5zPXZpcmF0YUluSW1wb3J0LHZpcmF0YUluRXhwb3J0LHZpcmF0YUluRXhlYyx2aXJhdGFJblByb2Nlc3MsdmlyYXRhSW5BbHRlcix2aXJhdGFJbkluc3RhbmNlLHZpcmF0YUluTW9kdWxlLHZpcmF0YUluQ29sb3VyCitzeW4gY2x1c3RlciB2aXJhdGFHcnBTdGF0ZW1lbnRzCWNvbnRhaW5zPUB2aXJhdGFHcnBJblN0YXRtbnRzLHZpcmF0YVN0YXRlbWVudCx2aXJhdGFJbXBvcnREZWYsdmlyYXRhRXhwb3J0RGVmLHZpcmF0YUV4ZWNEZWYsdmlyYXRhUHJvY2Vzc0RlZix2aXJhdGFBbHRlckRlZix2aXJhdGFJbnN0YW5jZURlZix2aXJhdGFNb2R1bGVEZWYsdmlyYXRhQ29sb3VyRGVmCisKKworIiBNa0ZsYXNoLkNmZyBGaWxlIFN0YXRlbWVudHM6CitzeW4gcmVnaW9uICB2aXJhdGFDZmdGaWxlRGVmCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dmlyYXRhQ2ZnU3RhdGVtZW50IHN0YXJ0PSJeXHMqRGlyXD4iIHN0YXJ0PSJeXHMqXGFcey19RmlsZVw+IiBzdGFydD0iXlxzKk91dHB1dEZpbGVcZFxkXD1cPiIgc3RhcnQ9Il5ccypcYVx3XHstfVtOUF1QRmlsZVw+IiBrZWVwZW5kIGVuZD0iJCIgY29udGFpbnM9QHZpcmF0YUdycEZpbGVJZGVudHMKK3N5biByZWdpb24gIHZpcmF0YUNmZ1NpemVEZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD12aXJhdGFDZmdTdGF0ZW1lbnQgc3RhcnQ9Il5ccypcYVx7LX1TaXplXD4iIHN0YXJ0PSJeXHMqQ29uZmlnSW5mb1w+IiBrZWVwZW5kIGVuZD0iJCIgY29udGFpbnM9QHZpcmF0YUdycE51bWJlcnMsQHZpcmF0YUdycERlZlN1YnN0cyx2aXJhdGFJZGVudEVycm9yCitzeW4gcmVnaW9uICB2aXJhdGFDZmdOdW1iZXJEZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD12aXJhdGFDZmdTdGF0ZW1lbnQgc3RhcnQ9Il5ccypGbGFzaGNoaXBOdW1cKGJcKGVyXD1cKVw9XClcPVw+IiBzdGFydD0iXlxzKkdyYW51bGFyaXR5XD4iIGtlZXBlbmQgZW5kPSIkIiBjb250YWlucz1AdmlyYXRhR3JwTnVtYmVycyxAdmlyYXRhR3JwRGVmU3Vic3RzCitzeW4gcmVnaW9uICB2aXJhdGFDZmdNYWNBZGRyRGVmCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dmlyYXRhQ2ZnU3RhdGVtZW50IHN0YXJ0PSJeXHMqTWFjQWRkcmVzc1w+IiBrZWVwZW5kIGVuZD0iJCIgY29udGFpbnM9dmlyYXRhTnVtYmVyRXJyb3IsdmlyYXRhU3RyaW5nRXJyb3IsdmlyYXRhSWRlbnRFcnJvcix2aXJhdGFJbk1hY0FkZHIsQHZpcmF0YUdycERlZlN1YnN0cworc3luIG1hdGNoICAgdmlyYXRhSW5NYWNBZGRyCWNvbnRhaW5lZCAiXHhbOl1ceFx7MSwyfVw+ImxjPTIKK3N5biBtYXRjaCAgIHZpcmF0YUluTWFjQWRkcgljb250YWluZWQgIlxzXHhcezEsMn1bOl1ceCJsYz0xLG1lPWUtMSxoZT1lLTIgbmV4dGdyb3VwPXZpcmF0YUluTWFjQWRkcgorc3luIG1hdGNoICAgdmlyYXRhQ2ZnU3RhdGVtZW50CSJeXHMqVGFyZ2V0XD4iIHNraXB3aGl0ZSBuZXh0Z3JvdXA9QHZpcmF0YUdycElkZW50cworc3luIGNsdXN0ZXIgdmlyYXRhR3JwQ2Zncwljb250YWlucz12aXJhdGFDZmdTdGF0ZW1lbnQsdmlyYXRhQ2ZnRmlsZURlZix2aXJhdGFDZmdTaXplRGVmLHZpcmF0YUNmZ051bWJlckRlZix2aXJhdGFDZmdNYWNBZGRyRGVmLHZpcmF0YUluTWFjQWRkcgorCisKKworIiBQcmVQcm9jZXNzb3IgSW5zdHJ1Y3Rpb25zOgorIiAgRGVmaW5lcworc3luIG1hdGNoICAgdmlyYXRhRGVmaW5lCSJeXHMqXChVblwpXD1TZXRcPiIgc2tpcHdoaXRlIG5leHRncm91cD1AdmlyYXRhR3JwSWRlbnRzCitzeW4gbWF0Y2ggICB2aXJhdGFJbmNsdWRlCSJeXHMqSW5jbHVkZVw+IiBza2lwd2hpdGUgbmV4dGdyb3VwPUB2aXJhdGFHcnBGaWxlSWRlbnRzCitzeW4gbWF0Y2ggICB2aXJhdGFEZWZTdWJzdEVycm9yCSJbXiRdXCQibGM9MQorc3luIG1hdGNoICAgdmlyYXRhRGVmU3Vic3RFcnJvcgkiXCRcKFx3XHx7XCguXHstfX1cKVw9XCkiCitzeW4gY2FzZSBtYXRjaAorc3luIG1hdGNoICAgdmlyYXRhRGVmU3Vic3QJIlwkXChcZFx8W0RJTk9SU11cfHtcSVxpXHstfVwoXC1caVx7LTEsfVwpKn1cKSIKK3N5biBjYXNlIGlnbm9yZQorIiAgQ29uZGl0aW9uYWxzCitzeW4gY2x1c3RlciB2aXJhdGFHcnBDbnRuUHJlQ29uCWNvbnRhaW5zPUFMTEJVVCxAdmlyYXRhR3JwSW5Db21tZW50cyxAdmlyYXRhR3JwRmlsZUlkZW50cyxAdmlyYXRhR3JwSW5TdGF0bW50cworc3luIHJlZ2lvbiAgdmlyYXRhUHJlQ29uRGVmCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9dmlyYXRhUHJlQ29uZGl0IHN0YXJ0PSJeXHMqSWZcPiIgZW5kPSJeXHMqRW5kaWZcPiIgY29udGFpbnM9QHZpcmF0YUdycENudG5QcmVDb24KK3N5biBtYXRjaCAgIHZpcmF0YVByZUNvbmRpdAljb250YWluZWQgIl5ccypFbHNlXChcc1wrSWZcKVw9XD4iCitzeW4gcmVnaW9uICB2aXJhdGFQcmVDb25EZWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD12aXJhdGFQcmVDb25kaXQgc3RhcnQ9Il5ccypGb3JFYWNoXD4iIGVuZD0iXlxzKkRvbmVcPiIgY29udGFpbnM9QHZpcmF0YUdycENudG5QcmVDb24KKyIgIFByZS1Qcm9jZXNzb3JzCitzeW4gcmVnaW9uICB2aXJhdGFQcmVQcm9jCXN0YXJ0PSJeXHMqRXJyb3JcPiIgc3RhcnQ9Il5ccypXYXJuaW5nXD4iIG9uZWxpbmUgZW5kPSIkIiBjb250YWlucz1AdmlyYXRhR3JwQ29uc3RhbnRzLEB2aXJhdGFHcnBEZWZTdWJzdHMKK3N5biBjbHVzdGVyIHZpcmF0YUdycERlZlN1YnN0cwljb250YWlucz12aXJhdGFEZWZTdWJzdEVycm9yLHZpcmF0YURlZlN1YnN0CitzeW4gY2x1c3RlciB2aXJhdGFHcnBQcmVQcm9jcwljb250YWlucz1AdmlyYXRhR3JwRGVmU3Vic3RzLHZpcmF0YURlZmluZSx2aXJhdGFJbmNsdWRlLHZpcmF0YVByZUNvbkRlZix2aXJhdGFQcmVDb25kaXQsdmlyYXRhUHJlUHJvYworCisKKyIgU3luY2hyb25pemUgU3ludGF4Ogorc3luIHN5bmMgY2xlYXIKK3N5biBzeW5jIG1pbmxpbmVzPTUwCQkiZm9yIG11bHRpcGxlIHJlZ2lvbiBuZXN0aW5nCisKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlciAgOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3ZpcmF0YV9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF92aXJhdGFfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICAiIFN1YiBMaW5rczoKKyAgSGlMaW5rIHZpcmF0YURlZlN1YnN0RXJyb3IJdmlyYXRhUHJlUHJvY0Vycm9yCisgIEhpTGluayB2aXJhdGFEZWZTdWJzdAkJdmlyYXRhUHJlUHJvYworICBIaUxpbmsgdmlyYXRhSW5BbHRlcgkJdmlyYXRhT3BlcmF0b3IKKyAgSGlMaW5rIHZpcmF0YUluRXhlYwkJdmlyYXRhT3BlcmF0b3IKKyAgSGlMaW5rIHZpcmF0YUluRXhwb3J0CQl2aXJhdGFPcGVyYXRvcgorICBIaUxpbmsgdmlyYXRhSW5JbXBvcnQJCXZpcmF0YU9wZXJhdG9yCisgIEhpTGluayB2aXJhdGFJbkluc3RhbmNlCXZpcmF0YU9wZXJhdG9yCisgIEhpTGluayB2aXJhdGFJbk1ha2UJCXZpcmF0YU9wZXJhdG9yCisgIEhpTGluayB2aXJhdGFJbk1vZHVsZQkJdmlyYXRhT3BlcmF0b3IKKyAgSGlMaW5rIHZpcmF0YUluUHJvY2Vzcwl2aXJhdGFPcGVyYXRvcgorICBIaUxpbmsgdmlyYXRhSW5NYWNBZGRyCXZpcmF0YUhleE51bWJlcgorCisgICIgQ29tbWVudCBHcm91cDoKKyAgSGlMaW5rIHZpcmF0YUNvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHZpcmF0YVNwY2xDb21tZW50CVNwZWNpYWxDb21tZW50CisgIEhpTGluayB2aXJhdGFJbkNvbW1lbnRUb2RvCVRvZG8KKworICAiIENvbnN0YW50IEdyb3VwOgorICBIaUxpbmsgdmlyYXRhU3RyaW5nCQlTdHJpbmcKKyAgSGlMaW5rIHZpcmF0YVN0cmluZ0Vycm9yCUVycm9yCisgIEhpTGluayB2aXJhdGFDaGFyYWN0ZXIJQ2hhcmFjdGVyCisgIEhpTGluayB2aXJhdGFTcGNsQ2hhcgkJU3BlY2lhbAorICBIaUxpbmsgdmlyYXRhRGVjTnVtYmVyCU51bWJlcgorICBIaUxpbmsgdmlyYXRhSGV4TnVtYmVyCU51bWJlcgorICBIaUxpbmsgdmlyYXRhU2l6ZU51bWJlcglOdW1iZXIKKyAgSGlMaW5rIHZpcmF0YU51bWJlckVycm9yCUVycm9yCisKKyAgIiBJZGVudGlmaWVyIEdyb3VwOgorICBIaUxpbmsgdmlyYXRhSWRlbnRFcnJvcglFcnJvcgorCisgICIgUHJlUHJvYyBHcm91cDoKKyAgSGlMaW5rIHZpcmF0YVByZVByb2MJCVByZVByb2MKKyAgSGlMaW5rIHZpcmF0YURlZmluZQkJRGVmaW5lCisgIEhpTGluayB2aXJhdGFJbmNsdWRlCQlJbmNsdWRlCisgIEhpTGluayB2aXJhdGFQcmVDb25kaXQJUHJlQ29uZGl0CisgIEhpTGluayB2aXJhdGFQcmVQcm9jRXJyb3IJRXJyb3IKKyAgSGlMaW5rIHZpcmF0YVByZVByb2NXYXJuCVRvZG8KKworICAiIERpcmVjdGl2ZSBHcm91cDoKKyAgSGlMaW5rIHZpcmF0YVN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIHZpcmF0YUNmZ1N0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIHZpcmF0YU9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgdmlyYXRhRGlyZWN0aXZlCUtleXdvcmQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidmlyYXRhIgorCisiIHZpbTp0cz04OnN3PTI6bm9ldDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3ZtYXNtLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZtYXNtLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWQwNDQxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdm1hc20udmltCkBAIC0wLDAgKzEsMjUxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJKFZBWCkgTWFjcm8gQXNzZW1ibHkKKyIgTWFpbnRhaW5lcjoJVG9tIFVpamxkZXJ0IDx0b20udWlqbGRlcnQgW2F0XSBjbWcubmw+CisiIExhc3QgY2hhbmdlOgkyMDA0IE1heSAxNgorIgorIiBUaGlzIGlzIGluY29tcGxldGUuIEZlZWwgZnJlZSB0byBjb250cmlidXRlLi4uCisiCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKKyIgUGFydGlhbCBsaXN0IG9mIHJlZ2lzdGVyIHN5bWJvbHMKK3N5biBrZXl3b3JkIHZtYXNtUmVnCXIwIHIxIHIyIHIzIHI0IHI1IHI2IHI3IHI4IHI5IHIxMCByMTEgcjEyCitzeW4ga2V5d29yZCB2bWFzbVJlZwlhcCBmcCBzcCBwYyBpdiBkdgorCisiIEFsbCBtYXRjaGVzIC0gb3JkZXIgaXMgaW1wb3J0YW50IQorc3luIGtleXdvcmQgdm1hc21PcGNvZGUgYWRhd2kgYWR3YyBhc2hsIGFzaHEgYml0YiBiaXR3IGJpdGwgZGVjYiBkZWN3IGRlY2wKK3N5biBrZXl3b3JkIHZtYXNtT3Bjb2RlIGVkaXYgZW11bCBpbmNiIGluY3cgaW5jbCBtY29tYiBtY29tdyBtY29tbAorc3luIGtleXdvcmQgdm1hc21PcGNvZGUgbW92emJ3IG1vdnpibCBtb3Z6d2wgcG9wbCBwdXNobCByb3RsIHNid2MKK3N5biBrZXl3b3JkIHZtYXNtT3Bjb2RlIGNtcHYgY21wenYgY21wYzMgY21wYzUgbG9jYyBtYXRjaGMgbW92YzMgbW92YzUKK3N5biBrZXl3b3JkIHZtYXNtT3Bjb2RlIG1vdnRjIG1vdnR1YyBzY2FuYyBza3BjIHNwYW5jIGNyYyBleHR2IGV4dHp2CitzeW4ga2V5d29yZCB2bWFzbU9wY29kZSBmZmMgZmZzIGluc3YgYW9ibGVxIGFvYmxzcyBiYmMgYmJzIGJiY2NpIGJic3NpCitzeW4ga2V5d29yZCB2bWFzbU9wY29kZSBibGJjIGJsYnMgYnJiIGJydyBic2JiIGJzYncgY2FzZWIgY2FzZXcgY2FzZWwKK3N5biBrZXl3b3JkIHZtYXNtT3Bjb2RlIGptcCBqc2IgcnNiIHNvYmdlcSBzb2JndHIgY2FsbGcgY2FsbHMgcmV0CitzeW4ga2V5d29yZCB2bWFzbU9wY29kZSBiaWNwc3cgYmlzcHN3IGJwdCBoYWx0IGluZGV4IG1vdnBzbCBub3AgcG9wciBwdXNociB4ZmMKK3N5biBrZXl3b3JkIHZtYXNtT3Bjb2RlIGluc3FoaSBpbnNxdGkgaW5zcXVlIHJlbXFoaSByZW1xdGkgcmVtcXVlCitzeW4ga2V5d29yZCB2bWFzbU9wY29kZSBhZGRwNCBhZGRwNiBhc2hwIGNtcHAzIGNtcHA0IGN2dHBsIGN2dGxwIGN2dHBzIGN2dHB0CitzeW4ga2V5d29yZCB2bWFzbU9wY29kZSBjdnRzcCBjdnR0cCBkaXZwIG1vdnAgbXVscCBzdWJwNCBzdWJwNiBlZGl0cGMKK3N5biBrZXl3b3JkIHZtYXNtT3Bjb2RlIHByb2JlciBwcm9iZXcgcmVpIGxkcGN0eCBzdnBjdHggbWZwciBtdHByIGJ1Z3cgYnVnbAorc3luIGtleXdvcmQgdm1hc21PcGNvZGUgdmxkbCB2bGRxIHZnYXRobCB2Z2F0aHEgdnN0bCB2c3RxIHZzY2F0bCB2c2NhdHEKK3N5biBrZXl3b3JkIHZtYXNtT3Bjb2RlIHZ2Y3Z0IGlvdGEgbWZ2cCBtdHZwIHZzeW5jCitzeW4ga2V5d29yZCB2bWFzbU9wY29kZSBiZXFsW3VdIGJndHJbdV0gYmxzc1t1XQorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPGFkZFtid2xmZGdoXVsyM11cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDxiaVtjc11bYndsXVsyM11cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDxjbHJbYndscW9mZGdoXVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPGNtcFtid2xmZGdoXVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPGN2dFtid2xmZGdoXVtid2xmZGdoXVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPGN2dHJbZmRnaF1sXD4iCitzeW4gbWF0Y2ggdm1hc21PcGNvZGUgIlw8ZGl2W2J3bGZkZ2hdWzIzXVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPGVtb2RbZmRnaF1cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDxtbmVnW2J3bGZkZ2hdXD4iCitzeW4gbWF0Y2ggdm1hc21PcGNvZGUgIlw8bW92W2J3bHFvZmRnaF1cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDxtdWxbYndsZmRnaF1bMjNdXD4iCitzeW4gbWF0Y2ggdm1hc21PcGNvZGUgIlw8cG9seVtmZGdoXVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPHN1Yltid2xmZGdoXVsyM11cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDx0c3RbYndsZmRnaF1cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDx4b3JbYndsXVsyM11cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDxtb3ZhW2J3bGZxZGdob11cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDxwdXNoW2J3bGZxZGdob11cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDxhY2JbYndsZmdkaF1cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDxiW2xuZ11lcXVcPVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPGJbY3ZdW2NzXVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPGJiW2NzXVtjc11cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDx2W3ZzXWFkZFtsZmRnXVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPHZbdnNdY21wW2xmZGddXD4iCitzeW4gbWF0Y2ggdm1hc21PcGNvZGUgIlw8dlt2c11kaXZbZmRnXVw+Igorc3luIG1hdGNoIHZtYXNtT3Bjb2RlICJcPHZbdnNdbXVsW2xmZGddXD4iCitzeW4gbWF0Y2ggdm1hc21PcGNvZGUgIlw8dlt2c11zdWJbbGZkZ11cPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDx2W3ZzXWJpW2NzXWxcPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDx2W3ZzXXhvcmxcPiIKK3N5biBtYXRjaCB2bWFzbU9wY29kZSAiXDx2W3ZzXW1lcmdlXD4iCitzeW4gbWF0Y2ggdm1hc21PcGNvZGUgIlw8dlt2c11zW3JsXWxsXD4iCisKKyIgVmFyaW91cyBudW1iZXIgZm9ybWF0cworc3luIG1hdGNoIHZtYXNtZGVjTnVtYmVyCSJbKy1dXD1bMC05XVwrXD4iCitzeW4gbWF0Y2ggdm1hc21kZWNOdW1iZXIJIl5kWzAtOV1cK1w+Igorc3luIG1hdGNoIHZtYXNtaGV4TnVtYmVyCSJeeFswLTlhLWZdXCtcPiIKK3N5biBtYXRjaCB2bWFzbW9jdE51bWJlcgkiXm9bMC03XVwrXD4iCitzeW4gbWF0Y2ggdm1hc21iaW5OdW1iZXIJIl5iWzAxXVwrXD4iCitzeW4gbWF0Y2ggdm1hc21mbG9hdE51bWJlcgkiWy0rXVw9WzAtOV1cK0VbLStdXD1bMC05XVwrIgorc3luIG1hdGNoIHZtYXNtZmxvYXROdW1iZXIJIlstK11cPVswLTldXCtcLlswLTldKlwoRVstK11cPVswLTldXCtcKVw9IgorCisiIFZhbGlkIGxhYmVscworc3luIG1hdGNoIHZtYXNtTGFiZWwJCSJeW2Etel8kLl1bYS16MC05XyQuXVx7LDMwfTo6XD0iCitzeW4gbWF0Y2ggdm1hc21MYWJlbAkJIlw8WzAtOV1cezEsNX1cJDpcPSIgICAgICAgICAgIiBMb2NhbCBsYWJlbAorCisiIENoYXJhY3RlciBzdHJpbmcgY29uc3RhbnRzCisiICAgICAgIFRvbyBjb21wbGV4IHJlYWxseS4gQ291bGQgYmUgIjwuLi4+IiBidXQgdGhvc2UgY291bGQgYWxzbyBiZQorIiAgICAgICBleHByZXNzaW9ucy4gRG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlIGNob3NlbiBkZWxpbWl0ZXJzCisiICAgICAgICgiXjxzZXA+Li4uPHNlcD4iKQorIiBzeW4gcmVnaW9uIHZtYXNtU3RyaW5nCQlzdGFydD0iPCIgZW5kPSI+IiBvbmVsaW5lCisKKyIgT3BlcmF0b3JzCitzeW4gbWF0Y2ggdm1hc21PcGVyYXRvcgkiWy0rKi9AJiFcXF0iCitzeW4gbWF0Y2ggdm1hc21PcGVyYXRvcgkiPSIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSI9PSIJCSIgR2xvYmFsIGFzc2lnbm1lbnQKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSIlbGVuZ3RoKC4qKSIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSIlbG9jYXRlKC4qKSIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSIlZXh0cmFjdCguKikiCitzeW4gbWF0Y2ggdm1hc21PcGVyYXRvcgkiXlthbWZjXSIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSJbYndsZ11eIgorCitzeW4gbWF0Y2ggdm1hc21PcGVyYXRvcgkiXDxcKG5vdF9cKVw9ZXF1YWxcPiIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSJcPGxlc3NfZXF1YWxcPiIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSJcPGdyZWF0ZXJcKF9lcXVhbFwpXD1cPiIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSJcPGxlc3NfdGhhblw+Igorc3luIG1hdGNoIHZtYXNtT3BlcmF0b3IJIlw8XChub3RfXClcPWRlZmluZWRcPiIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSJcPFwobm90X1wpXD1ibGFua1w+Igorc3luIG1hdGNoIHZtYXNtT3BlcmF0b3IJIlw8aWRlbnRpY2FsXD4iCitzeW4gbWF0Y2ggdm1hc21PcGVyYXRvcgkiXDxkaWZmZXJlbnRcPiIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSJcPGVxXD4iCitzeW4gbWF0Y2ggdm1hc21PcGVyYXRvcgkiXDxbZ2xddFw+Igorc3luIG1hdGNoIHZtYXNtT3BlcmF0b3IJIlw8blw9ZGZcPiIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSJcPG5cPWJcPiIKK3N5biBtYXRjaCB2bWFzbU9wZXJhdG9yCSJcPGlkblw+Igorc3luIG1hdGNoIHZtYXNtT3BlcmF0b3IJIlw8W25sZ11lXD4iCitzeW4gbWF0Y2ggdm1hc21PcGVyYXRvcgkiXDxkaWZcPiIKKworIiBTcGVjaWFsIGl0ZW1zIGZvciBjb21tZW50cworc3luIGtleXdvcmQgdm1hc21Ub2RvCQljb250YWluZWQgdG9kbworCisiIENvbW1lbnRzCitzeW4gbWF0Y2ggdm1hc21Db21tZW50CQkiOy4qIiBjb250YWlucz12bWFzbVRvZG8KKworIiBJbmNsdWRlCitzeW4gbWF0Y2ggdm1hc21JbmNsdWRlCQkiXC5saWJyYXJ5XD4iCisKKyIgTWFjcm8gZGVmaW5pdGlvbgorc3luIG1hdGNoIHZtYXNtTWFjcm8JCSJcLm1hY3JvXD4iCitzeW4gbWF0Y2ggdm1hc21NYWNybwkJIlwubWV4aXRcPiIKK3N5biBtYXRjaCB2bWFzbU1hY3JvCQkiXC5lbmRtXD4iCitzeW4gbWF0Y2ggdm1hc21NYWNybwkJIlwubWNhbGxcPiIKK3N5biBtYXRjaCB2bWFzbU1hY3JvCQkiXC5tZGVsZXRlXD4iCisKKyIgQ29uZGl0aW9uYWwgYXNzZW1ibHkKK3N5biBtYXRjaCB2bWFzbVByZUNvbmQJCSJcLmlmZlw9XD4iCitzeW4gbWF0Y2ggdm1hc21QcmVDb25kCQkiXC5pZl9mYWxzZVw+Igorc3luIG1hdGNoIHZtYXNtUHJlQ29uZAkJIlwuaWZ0Zlw9XD4iCitzeW4gbWF0Y2ggdm1hc21QcmVDb25kCQkiXC5pZl90cnVlXChfZmFsc2VcKVw9XD4iCitzeW4gbWF0Y2ggdm1hc21QcmVDb25kCQkiXC5paWZcPiIKKworIiBMb29wIGNvbnRyb2wKK3N5biBtYXRjaCB2bWFzbVJlcGVhdAkJIlwuaXJwY1w9XD4iCitzeW4gbWF0Y2ggdm1hc21SZXBlYXQJCSJcLnJlcGVhdFw+Igorc3luIG1hdGNoIHZtYXNtUmVwZWF0CQkiXC5yZXB0XD4iCitzeW4gbWF0Y2ggdm1hc21SZXBlYXQJCSJcLmVuZHJcPiIKKworIiBEaXJlY3RpdmVzCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuYWRkcmVzc1w+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLmFsaWduXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuYXNjaVtjZGl6XVw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLmJsa1thYmRmZ2hsb3F3XVw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLlwoc2lnbmVkX1wpXD1ieXRlXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuXChub1wpXD1jcm9zc1w+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLmRlYnVnXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuZGVmYXVsdCBkaXNwbGFjZW1lbnRcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5bZGZnaF1fZmxvYXRpbmdcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5kaXNhYmxlXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuZG91YmxlXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuZHNhYmxcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5lbmFibGVcPVw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLmVuZGNcPVw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLmVudHJ5XD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuZXJyb3JcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5ldmVuXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuZXh0ZXJuYWxcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5leHRyblw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLmZsb2F0XD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuZ2xvYmFcPWxcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5pZGVudFw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLmxpbmtcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5saXN0XD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwubG9uZ1w+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLm1hc2tcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5uYXJnXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwubmNoclw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLm5saXN0XD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwubnR5cGVcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5vY3RhXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwub2RkXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwub3BkZWZcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5wYWNrZWRcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5wYWdlXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwucHJpbnRcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5wc2VjdFw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLnF1YWRcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5yZWZbMTI0OF1cPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5yZWYxNlw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLnJlc3RvcmVcKF9wc2VjdFwpXD1cPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5zYXZlXChfcHNlY3RcKVw9XD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwuc2J0dGxcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5cKG5vXClcPXNob3dcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5cKHN1YlwpXD10aXRsZVw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLnRyYW5zZmVyXD4iCitzeW4gbWF0Y2ggdm1hc21EaXJlY3RpdmUJIlwud2Fyblw+Igorc3luIG1hdGNoIHZtYXNtRGlyZWN0aXZlCSJcLndlYWtcPiIKK3N5biBtYXRjaCB2bWFzbURpcmVjdGl2ZQkiXC5cKHNpZ25lZF9cKVw9d29yZFw+IgorCitzeW4gY2FzZSBtYXRjaAorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tYWNyb19zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9tYWNyb19zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKKyAgIiBDb21tZW50IENvbnN0YW50IEVycm9yIElkZW50aWZpZXIgUHJlUHJvYyBTcGVjaWFsIFN0YXRlbWVudCBUb2RvIFR5cGUKKyAgIgorICAiIENvbnN0YW50CQlCb29sZWFuIENoYXJhY3RlciBOdW1iZXIgU3RyaW5nCisgICIgSWRlbnRpZmllcgkJRnVuY3Rpb24KKyAgIiBQcmVQcm9jCQlEZWZpbmUgSW5jbHVkZSBNYWNybyBQcmVDb25kaXQKKyAgIiBTcGVjaWFsCQlEZWJ1ZyBEZWxpbWl0ZXIgU3BlY2lhbENoYXIgU3BlY2lhbENvbW1lbnQgVGFnCisgICIgU3RhdGVtZW50CQlDb25kaXRpb25hbCBFeGNlcHRpb24gS2V5d29yZCBMYWJlbCBPcGVyYXRvciBSZXBlYXQKKyAgIiBUeXBlCQlTdG9yYWdlQ2xhc3MgU3RydWN0dXJlIFR5cGVkZWYKKworICBIaUxpbmsgdm1hc21Db21tZW50CQlDb21tZW50CisgIEhpTGluayB2bWFzbVRvZG8JCVRvZG8KKworICBIaUxpbmsgdm1hc21oZXhOdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAorICBIaUxpbmsgdm1hc21vY3ROdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAorICBIaUxpbmsgdm1hc21iaW5OdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAorICBIaUxpbmsgdm1hc21kZWNOdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAorICBIaUxpbmsgdm1hc21mbG9hdE51bWJlcglOdW1iZXIJCSIgQ29uc3RhbnQKKworIiAgSGlMaW5rIHZtYXNtU3RyaW5nCQlTdHJpbmcJCSIgQ29uc3RhbnQKKworICBIaUxpbmsgdm1hc21SZWcJCUlkZW50aWZpZXIKKyAgSGlMaW5rIHZtYXNtT3BlcmF0b3IJCUlkZW50aWZpZXIKKworICBIaUxpbmsgdm1hc21JbmNsdWRlCQlJbmNsdWRlCQkiIFByZVByb2MKKyAgSGlMaW5rIHZtYXNtTWFjcm8JCU1hY3JvCQkiIFByZVByb2MKKyAgIiBIaUxpbmsgdm1hc21NYWNyb1BhcmFtCUtleXdvcmQJCSIgU3RhdGVtZW50CisKKyAgSGlMaW5rIHZtYXNtRGlyZWN0aXZlCQlTcGVjaWFsCisgIEhpTGluayB2bWFzbVByZUNvbmQJCVNwZWNpYWwKKworCisgIEhpTGluayB2bWFzbU9wY29kZQkJU3RhdGVtZW50CisgIEhpTGluayB2bWFzbUNvbmQJCUNvbmRpdGlvbmFsCSIgU3RhdGVtZW50CisgIEhpTGluayB2bWFzbVJlcGVhdAkJUmVwZWF0CQkiIFN0YXRlbWVudAorCisgIEhpTGluayB2bWFzbUxhYmVsCQlUeXBlCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ2bWFzbSIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdnJtbC52aW0gYi9ydW50aW1lL3N5bnRheC92cm1sLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTFhMzliCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdnJtbC52aW0KQEAgLTAsMCArMSwyMzkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkgICBWUk1MOTcKKyIgTW9kaWZpZWQgZnJvbTogICBWUk1MIDEuMEMgYnkgRGF2aWQgQnJvd24gPGRicm93bkBjZ3MuYzQuZ21lZHMuY29tPgorIiBNYWludGFpbmVyOgkgICBHcmVnb3J5IFNlaWRtYW4gPGdzZWlkbWFuQGFjbS5vcmc+CisiIFVSTDoJCSAgIGh0dHA6Ly93d3cuY3MuYnJvd24uZWR1L35nc3MvdmltL3N5bnRheC92cm1sLnZpbQorIiBMYXN0IGNoYW5nZToJICAgMjAwMyBNYXkgMTEKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIGtleXdvcmQgZGVmaW5pdGlvbnMKKworc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgYW1iaWVudEludGVuc2l0eSBhcHBlYXJhbmNlIGF0dGVudWF0aW9uCitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICBhdXRvT2Zmc2V0IGF2YXRhclNpemUgYXhpc09mUm90YXRpb24gYmFja1VybAorc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgYmJveENlbnRlciBiYm94U2l6ZSBiZWFtV2lkdGggYmVnaW5DYXAKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIGJvdHRvbSBib3R0b21SYWRpdXMgYm90dG9tVXJsIGNjdyBjZW50ZXIKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIGNoaWxkcmVuIGNob2ljZSBjb2xsaWRlIGNvbG9yIGNvbG9ySW5kZXgKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIGNvbG9yUGVyVmVydGV4IGNvbnZleCBjb29yZCBjb29yZEluZGV4CitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICBjcmVhc2VBbmdsZSBjcm9zc1NlY3Rpb24gY3V0T2ZmQW5nbGUKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIGN5Y2xlSW50ZXJ2YWwgZGVzY3JpcHRpb24gZGlmZnVzZUNvbG9yCitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICBkaXJlY3RPdXRwdXQgZGlyZWN0aW9uIGRpc2tBbmdsZQorc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgZW1pc3NpdmVDb2xvciBlbmFibGVkIGVuZENhcCBmYW1pbHkKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIGZpZWxkT2ZWaWV3IGZvZ1R5cGUgZm9udFN0eWxlIGZyb250VXJsCitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICBnZW9tZXRyeSBncm91bmRBbmdsZSBncm91bmRDb2xvciBoZWFkbGlnaHQKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIGhlaWdodCBob3Jpem9udGFsIGluZm8gaW50ZW5zaXR5IGp1bXAKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIGp1c3RpZnkga2V5IGtleVZhbHVlIGxhbmd1YWdlIGxlZnRUb1JpZ2h0CitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICBsZWZ0VXJsIGxlbmd0aCBsZXZlbCBsb2NhdGlvbiBsb29wIG1hdGVyaWFsCitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICBtYXhBbmdsZSBtYXhCYWNrIG1heEV4dGVudCBtYXhGcm9udAorc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgbWF4UG9zaXRpb24gbWluQW5nbGUgbWluQmFjayBtaW5Gcm9udAorc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgbWluUG9zaXRpb24gbXVzdEV2YWx1YXRlIG5vcm1hbCBub3JtYWxJbmRleAorc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgbm9ybWFsUGVyVmVydGV4IG9mZnNldCBvbiBvcmllbnRhdGlvbgorc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgcGFyYW1ldGVyIHBpdGNoIHBvaW50IHBvc2l0aW9uIHByaW9yaXR5CitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICBwcm94eSByYWRpdXMgcmFuZ2UgcmVwZWF0UyByZXBlYXRUIHJpZ2h0VXJsCitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICByb3RhdGlvbiBzY2FsZSBzY2FsZU9yaWVudGF0aW9uIHNoaW5pbmVzcworc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgc2lkZSBzaXplIHNreUFuZ2xlIHNreUNvbG9yIHNvbGlkIHNvdXJjZQorc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgc3BhY2luZyBzcGF0aWFsaXplIHNwZWN1bGFyQ29sb3Igc3BlZWQgc3BpbmUKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIHN0YXJ0VGltZSBzdG9wVGltZSBzdHJpbmcgc3R5bGUgdGV4Q29vcmQKK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIHRleENvb3JkSW5kZXggdGV4dHVyZSB0ZXh0dXJlVHJhbnNmb3JtIHRpdGxlCitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICB0b3AgdG9wVG9Cb3R0b20gdG9wVXJsIHRyYW5zbGF0aW9uCitzeW4ga2V5d29yZCBWUk1MRmllbGRzCSAgICAgICB0cmFuc3BhcmVuY3kgdHlwZSB1cmwgdmVjdG9yIHZpc2liaWxpdHlMaW1pdAorc3luIGtleXdvcmQgVlJNTEZpZWxkcwkgICAgICAgdmlzaWJpbGl0eVJhbmdlIHdoaWNoQ2hvaWNlIHhEaW1lbnNpb24KK3N5biBrZXl3b3JkIFZSTUxGaWVsZHMJICAgICAgIHhTcGFjaW5nIHpEaW1lbnNpb24gelNwYWNpbmcKK3N5biBtYXRjaCAgIFZSTUxGaWVsZHMJICAgICAgICJcPFtBLVphLXpfXVtBLVphLXowLTlfXSpcPiIgY29udGFpbnM9VlJNTENvbW1lbnQsVlJNTFByb3RvcyxWUk1MZlR5cGVzCisiIHN5biBtYXRjaCAgIFZSTUxGaWVsZHMJICJcPFtBLVphLXpfXVtBLVphLXowLTlfXSpcPlwoLFx8XHNcKSpcKCMuKiRcKSpcPElTXD5cKCMuKiRcKSpcKCxcfFxzXCkqXDxbQS1aYS16X11bQS1aYS16MC05X10qXD5cKCxcfFxzXCkqXCgjLiokXCkqIiBjb250YWlucz1WUk1MQ29tbWVudCxWUk1MUHJvdG9zCisiIHN5biByZWdpb24gIFZSTUxGaWVsZHMJIHN0YXJ0PSJcPFtBLVphLXpfXVtBLVphLXowLTlfXSpcPiIgZW5kPStcKCxcfCNcfFxzXCkrbWU9ZS0xIGNvbnRhaW5zPVZSTUxDb21tZW50LFZSTUxQcm90b3MKKworc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgYWRkQ2hpbGRyZW4gYW1iaWVudEludGVuc2l0eV9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBhcHBlYXJhbmNlX2NoYW5nZWQgYXR0ZW51YXRpb25fY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgYXV0b09mZnNldF9jaGFuZ2VkIGF2YXRhclNpemVfY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgYXhpc09mUm90YXRpb25fY2hhbmdlZCBiYWNrVXJsX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIGJlYW1XaWR0aF9jaGFuZ2VkIGJpbmRUaW1lIGJvdHRvbVVybF9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBjZW50ZXJfY2hhbmdlZCBjaGlsZHJlbl9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBjaG9pY2VfY2hhbmdlZCBjb2xsaWRlVGltZSBjb2xsaWRlX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIGNvbG9yX2NoYW5nZWQgY29vcmRfY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgY3V0T2ZmQW5nbGVfY2hhbmdlZCBjeWNsZUludGVydmFsX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIGN5Y2xlVGltZSBkZXNjcmlwdGlvbl9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBkaWZmdXNlQ29sb3JfY2hhbmdlZCBkaXJlY3Rpb25fY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgZGlza0FuZ2xlX2NoYW5nZWQgZHVyYXRpb25fY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgZW1pc3NpdmVDb2xvcl9jaGFuZ2VkIGVuYWJsZWRfY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgZW50ZXJUaW1lIGV4aXRUaW1lIGZvZ1R5cGVfY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgZm9udFN0eWxlX2NoYW5nZWQgZnJhY3Rpb25fY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgZnJvbnRVcmxfY2hhbmdlZCBnZW9tZXRyeV9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBncm91bmRBbmdsZV9jaGFuZ2VkIGhlYWRsaWdodF9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBoaXROb3JtYWxfY2hhbmdlZCBoaXRQb2ludF9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBoaXRUZXhDb29yZF9jaGFuZ2VkIGludGVuc2l0eV9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBpc0FjdGl2ZSBpc0JvdW5kIGlzT3ZlciBqdW1wX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIGtleVZhbHVlX2NoYW5nZWQga2V5X2NoYW5nZWQgbGVmdFVybF9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBsZW5ndGhfY2hhbmdlZCBsZXZlbF9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBsb2NhdGlvbl9jaGFuZ2VkIGxvb3BfY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgbWF0ZXJpYWxfY2hhbmdlZCBtYXhBbmdsZV9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBtYXhCYWNrX2NoYW5nZWQgbWF4RXh0ZW50X2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIG1heEZyb250X2NoYW5nZWQgbWF4UG9zaXRpb25fY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgbWluQW5nbGVfY2hhbmdlZCBtaW5CYWNrX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIG1pbkZyb250X2NoYW5nZWQgbWluUG9zaXRpb25fY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgbm9ybWFsX2NoYW5nZWQgb2Zmc2V0X2NoYW5nZWQgb25fY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgb3JpZW50YXRpb25fY2hhbmdlZCBwYXJhbWV0ZXJfY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgcGl0Y2hfY2hhbmdlZCBwb2ludF9jaGFuZ2VkIHBvc2l0aW9uX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHByaW9yaXR5X2NoYW5nZWQgcmFkaXVzX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHJlbW92ZUNoaWxkcmVuIHJpZ2h0VXJsX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHJvdGF0aW9uX2NoYW5nZWQgc2NhbGVPcmllbnRhdGlvbl9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzY2FsZV9jaGFuZ2VkIHNldF9hbWJpZW50SW50ZW5zaXR5CitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfYXBwZWFyYW5jZSBzZXRfYXR0ZW51YXRpb24KK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF9hdXRvT2Zmc2V0IHNldF9hdmF0YXJTaXplCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfYXhpc09mUm90YXRpb24gc2V0X2JhY2tVcmwgc2V0X2JlYW1XaWR0aAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X2JpbmQgc2V0X2JvdHRvbVVybCBzZXRfY2VudGVyCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfY2hpbGRyZW4gc2V0X2Nob2ljZSBzZXRfY29sbGlkZQorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X2NvbG9yIHNldF9jb2xvckluZGV4IHNldF9jb29yZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X2Nvb3JkSW5kZXggc2V0X2Nyb3NzU2VjdGlvbgorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X2N1dE9mZkFuZ2xlIHNldF9jeWNsZUludGVydmFsCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfZGVzY3JpcHRpb24gc2V0X2RpZmZ1c2VDb2xvcgorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X2RpcmVjdGlvbiBzZXRfZGlza0FuZ2xlCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfZW1pc3NpdmVDb2xvciBzZXRfZW5hYmxlZCBzZXRfZm9nVHlwZQorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X2ZvbnRTdHlsZSBzZXRfZnJhY3Rpb24gc2V0X2Zyb250VXJsCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfZ2VvbWV0cnkgc2V0X2dyb3VuZEFuZ2xlIHNldF9oZWFkbGlnaHQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF9oZWlnaHQgc2V0X2ludGVuc2l0eSBzZXRfanVtcCBzZXRfa2V5CitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfa2V5VmFsdWUgc2V0X2xlZnRVcmwgc2V0X2xlbmd0aAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X2xldmVsIHNldF9sb2NhdGlvbiBzZXRfbG9vcCBzZXRfbWF0ZXJpYWwKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF9tYXhBbmdsZSBzZXRfbWF4QmFjayBzZXRfbWF4RXh0ZW50CitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfbWF4RnJvbnQgc2V0X21heFBvc2l0aW9uIHNldF9taW5BbmdsZQorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X21pbkJhY2sgc2V0X21pbkZyb250IHNldF9taW5Qb3NpdGlvbgorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X25vcm1hbCBzZXRfbm9ybWFsSW5kZXggc2V0X29mZnNldCBzZXRfb24KK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF9vcmllbnRhdGlvbiBzZXRfcGFyYW1ldGVyIHNldF9waXRjaAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X3BvaW50IHNldF9wb3NpdGlvbiBzZXRfcHJpb3JpdHkKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF9yYWRpdXMgc2V0X3JpZ2h0VXJsIHNldF9yb3RhdGlvbgorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X3NjYWxlIHNldF9zY2FsZU9yaWVudGF0aW9uIHNldF9zaGluaW5lc3MKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF9zaXplIHNldF9za3lBbmdsZSBzZXRfc2t5Q29sb3IKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF9zb3VyY2Ugc2V0X3NwZWN1bGFyQ29sb3Igc2V0X3NwZWVkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfc3BpbmUgc2V0X3N0YXJ0VGltZSBzZXRfc3RvcFRpbWUKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF9zdHJpbmcgc2V0X3RleENvb3JkIHNldF90ZXhDb29yZEluZGV4CitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfdGV4dHVyZSBzZXRfdGV4dHVyZVRyYW5zZm9ybSBzZXRfdG9wVXJsCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzZXRfdHJhbnNsYXRpb24gc2V0X3RyYW5zcGFyZW5jeSBzZXRfdHlwZQorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc2V0X3VybCBzZXRfdmVjdG9yIHNldF92aXNpYmlsaXR5TGltaXQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNldF92aXNpYmlsaXR5UmFuZ2Ugc2V0X3doaWNoQ2hvaWNlCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzaGluaW5lc3NfY2hhbmdlZCBzaXplX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHNreUFuZ2xlX2NoYW5nZWQgc2t5Q29sb3JfY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgc291cmNlX2NoYW5nZWQgc3BlY3VsYXJDb2xvcl9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzcGVlZF9jaGFuZ2VkIHN0YXJ0VGltZV9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICBzdG9wVGltZV9jaGFuZ2VkIHN0cmluZ19jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICB0ZXhDb29yZF9jaGFuZ2VkIHRleHR1cmVUcmFuc2Zvcm1fY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgdGV4dHVyZV9jaGFuZ2VkIHRpbWUgdG9wVXJsX2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHRvdWNoVGltZSB0cmFja1BvaW50X2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHRyYW5zbGF0aW9uX2NoYW5nZWQgdHJhbnNwYXJlbmN5X2NoYW5nZWQKK3N5biBrZXl3b3JkIFZSTUxFdmVudHMJICAgICAgIHR5cGVfY2hhbmdlZCB1cmxfY2hhbmdlZCB2YWx1ZV9jaGFuZ2VkCitzeW4ga2V5d29yZCBWUk1MRXZlbnRzCSAgICAgICB2ZWN0b3JfY2hhbmdlZCB2aXNpYmlsaXR5TGltaXRfY2hhbmdlZAorc3luIGtleXdvcmQgVlJNTEV2ZW50cwkgICAgICAgdmlzaWJpbGl0eVJhbmdlX2NoYW5nZWQgd2hpY2hDaG9pY2VfY2hhbmdlZAorc3luIHJlZ2lvbiAgVlJNTEV2ZW50cwkgICAgICAgc3RhcnQ9IlxTK1teMC05XStcLltBLVphLXpfXSsibXM9cysxIGVuZD0iXCgsXHwkXHxcc1wpIm1lPWUtMQorCitzeW4ga2V5d29yZCBWUk1MTm9kZXMJICAgICAgIEFuY2hvciBBcHBlYXJhbmNlIEF1ZGlvQ2xpcCBCYWNrZ3JvdW5kCitzeW4ga2V5d29yZCBWUk1MTm9kZXMJICAgICAgIEJpbGxib2FyZCBCb3ggQ29sbGlzaW9uIENvbG9yCitzeW4ga2V5d29yZCBWUk1MTm9kZXMJICAgICAgIENvbG9ySW50ZXJwb2xhdG9yIENvbmUgQ29vcmRpbmF0ZQorc3luIGtleXdvcmQgVlJNTE5vZGVzCSAgICAgICBDb29yZGluYXRlSW50ZXJwb2xhdG9yIEN5bGluZGVyCitzeW4ga2V5d29yZCBWUk1MTm9kZXMJICAgICAgIEN5bGluZGVyU2Vuc29yIERpcmVjdGlvbmFsTGlnaHQKK3N5biBrZXl3b3JkIFZSTUxOb2RlcwkgICAgICAgRWxldmF0aW9uR3JpZCBFeHRydXNpb24gRm9nIEZvbnRTdHlsZQorc3luIGtleXdvcmQgVlJNTE5vZGVzCSAgICAgICBHcm91cCBJbWFnZVRleHR1cmUgSW5kZXhlZEZhY2VTZXQKK3N5biBrZXl3b3JkIFZSTUxOb2RlcwkgICAgICAgSW5kZXhlZExpbmVTZXQgSW5saW5lIExPRCBNYXRlcmlhbAorc3luIGtleXdvcmQgVlJNTE5vZGVzCSAgICAgICBNb3ZpZVRleHR1cmUgTmF2aWdhdGlvbkluZm8gTm9ybWFsCitzeW4ga2V5d29yZCBWUk1MTm9kZXMJICAgICAgIE5vcm1hbEludGVycG9sYXRvciBPcmllbnRhdGlvbkludGVycG9sYXRvcgorc3luIGtleXdvcmQgVlJNTE5vZGVzCSAgICAgICBQaXhlbFRleHR1cmUgUGxhbmVTZW5zb3IgUG9pbnRMaWdodAorc3luIGtleXdvcmQgVlJNTE5vZGVzCSAgICAgICBQb2ludFNldCBQb3NpdGlvbkludGVycG9sYXRvcgorc3luIGtleXdvcmQgVlJNTE5vZGVzCSAgICAgICBQcm94aW1pdHlTZW5zb3IgU2NhbGFySW50ZXJwb2xhdG9yCitzeW4ga2V5d29yZCBWUk1MTm9kZXMJICAgICAgIFNjcmlwdCBTaGFwZSBTb3VuZCBTcGhlcmUgU3BoZXJlU2Vuc29yCitzeW4ga2V5d29yZCBWUk1MTm9kZXMJICAgICAgIFNwb3RMaWdodCBTd2l0Y2ggVGV4dCBUZXh0dXJlQ29vcmRpbmF0ZQorc3luIGtleXdvcmQgVlJNTE5vZGVzCSAgICAgICBUZXh0dXJlVHJhbnNmb3JtIFRpbWVTZW5zb3IgVG91Y2hTZW5zb3IKK3N5biBrZXl3b3JkIFZSTUxOb2RlcwkgICAgICAgVHJhbnNmb3JtIFZpZXdwb2ludCBWaXNpYmlsaXR5U2Vuc29yCitzeW4ga2V5d29yZCBWUk1MTm9kZXMJICAgICAgIFdvcmxkSW5mbworCisiIHRoZSBmb2xsb3dpbmcgbGluZSBkb2Vzbid0IGNhdGNoIDxub2RlPjxuZXdsaW5lPjxvcGVuYnJhY2U+IHNpbmNlIFxuCisiIGRvZXNuJ3QgbWF0Y2ggYXMgYW4gYXRvbSB5ZXQgOi0oCitzeW4gbWF0Y2ggICBWUk1MTm9kZXMJICAgICAgICJbQS1aYS16X11bQS1aYS16MC05X10qXCgsXHxcc1wpKnsibWU9ZS0xCitzeW4gcmVnaW9uICBWUk1MTm9kZXMJICAgICAgIHN0YXJ0PSJcPEVYVEVSTlBST1RPXD5cKCxcfFxzXCkqW0EtWmEtel9dIm1zPWUgc3RhcnQ9Ilw8RVhURVJOUFJPVE9cPlwoLFx8XHNcKSoiIGVuZD0iW1xzXSpcWyJtZT1lLTEgY29udGFpbnM9VlJNTFByb3RvcyxWUk1MQ29tbWVudAorc3luIHJlZ2lvbiAgVlJNTE5vZGVzCSAgICAgICBzdGFydD0iUFJPVE9cPlwoLFx8XHNcKSpbQS1aYS16X10ibXM9ZSBzdGFydD0iUFJPVE9cPlwoLFx8XHNcKSoiIGVuZD0iW1xzXSpcWyJtZT1lLTEgY29udGFpbnM9VlJNTFByb3RvcyxWUk1MQ29tbWVudAorCitzeW4ga2V5d29yZCBWUk1MVHlwZXMJICAgICAgIFNGQm9vbCBTRkNvbG9yIE1GQ29sb3IgU0ZGbG9hdCBNRkZsb2F0CitzeW4ga2V5d29yZCBWUk1MVHlwZXMJICAgICAgIFNGSW1hZ2UgU0ZJbnQzMiBNRkludDMyIFNGTm9kZSBNRk5vZGUKK3N5biBrZXl3b3JkIFZSTUxUeXBlcwkgICAgICAgU0ZSb3RhdGlvbiBNRlJvdGF0aW9uIFNGU3RyaW5nIE1GU3RyaW5nCitzeW4ga2V5d29yZCBWUk1MVHlwZXMJICAgICAgIFNGVGltZSBNRlRpbWUgU0ZWZWMyZiBNRlZlYzJmIFNGVmVjM2YgTUZWZWMzZgorCitzeW4ga2V5d29yZCBWUk1MZlR5cGVzCSAgICAgICBmaWVsZCBleHBvc2VkRmllbGQgZXZlbnRJbiBldmVudE91dAorCitzeW4ga2V5d29yZCBWUk1MVmFsdWVzCSAgICAgICBUUlVFIEZBTFNFIE5VTEwKKworc3luIGtleXdvcmQgVlJNTFByb3RvcwkgICAgICAgY29udGFpbmVkIEVYVEVSTlBST1RPIFBST1RPIElTCisKK3N5biBrZXl3b3JkIFZSTUxSb3V0ZXMJICAgICAgIGNvbnRhaW5lZCBST1VURSBUTworCitpZiB2ZXJzaW9uID49IDUwMgorImNvbnRhaW5tZW50IQorICBzeW4gaW5jbHVkZSBAanNjcmlwdCAkVklNUlVOVElNRS9zeW50YXgvamF2YXNjcmlwdC52aW0KKyAgc3luIHJlZ2lvbiBWUk1MalNjcmlwdFN0cmluZyBjb250YWluZWQgc3RhcnQ9KyJcKFwoamF2YXNjcmlwdFwpXHxcKHZybWxzY3JpcHRcKVx8XChlY21hc2NyaXB0XClcKTorbXM9ZSsxIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiK21lPWUtMSBjb250YWlucz1AanNjcmlwdAorZW5kaWYKKworIiBtYXRjaCBkZWZpbml0aW9ucy4KK3N5biBtYXRjaCAgIFZSTUxTcGVjaWFsCQkgIGNvbnRhaW5lZCAiXFxbMC05XVswLTldWzAtOV1cfFxcLiIKK3N5biByZWdpb24gIFZSTUxTdHJpbmcJCSAgc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrCWNvbnRhaW5zPVZSTUxTcGVjaWFsLFZSTUxqU2NyaXB0U3RyaW5nCitzeW4gbWF0Y2ggICBWUk1MQ2hhcmFjdGVyCSAgIidbXlxcXSciCitzeW4gbWF0Y2ggICBWUk1MU3BlY2lhbENoYXJhY3RlciAgIidcXC4nIgorc3luIG1hdGNoICAgVlJNTE51bWJlcgkJICAiWy0rXVw9XDxbMC05XVwrXChcLlswLTldXCtcKVw9XChbZUVdXHsxfVstK11cPVswLTldXCtcKVw9XD5cfDBbeFhdWzAtOWEtZkEtRl1cK1w+Igorc3luIG1hdGNoICAgVlJNTE51bWJlcgkJICAiMFt4WF1bMC05YS1mQS1GXVwrXD4iCitzeW4gbWF0Y2ggICBWUk1MQ29tbWVudAkJICAiIy4qJCIKKworIiBuZXdsaW5lcyBzaG91bGQgY291bnQgYXMgd2hpdGVzcGFjZSwgYnV0IHRoZXkgY2FuJ3QgYmUgbWF0Y2hlZCB5ZXQgOi0oCitzeW4gcmVnaW9uICBWUk1MUm91dGVOb2RlCSAgc3RhcnQ9IlteT11UT1woLFx8XHNcKSoiIGVuZD0iXC4ibWU9ZS0xIGNvbnRhaW5zPVZSTUxSb3V0ZXMsVlJNTENvbW1lbnQKK3N5biByZWdpb24gIFZSTUxSb3V0ZU5vZGUJICBzdGFydD0iUk9VVEVcKCxcfFxzXCkqIiBlbmQ9IlwuIm1lPWUtMSBjb250YWlucz1WUk1MUm91dGVzLFZSTUxDb21tZW50CitzeW4gcmVnaW9uICBWUk1MSW5zdE5hbWUJICBzdGFydD0iREVGXD4iaHM9ZSsxIHNraXA9IkRFRlwoLFx8XHNcKSoiIGVuZD0iW0EtWmEtejAtOV9dXChcc1x8JFx8LFwpIm1lPWUgY29udGFpbnM9VlJNTEluc3RhbmNlcyxWUk1MQ29tbWVudAorc3luIHJlZ2lvbiAgVlJNTEluc3ROYW1lCSAgc3RhcnQ9IlVTRVw+ImhzPWUrMSBza2lwPSJVU0VcKCxcfFxzXCkqIiBlbmQ9IltBLVphLXowLTlfXVwoXHNcfCRcfCxcKSJtZT1lIGNvbnRhaW5zPVZSTUxJbnN0YW5jZXMsVlJNTENvbW1lbnQKKworc3luIGtleXdvcmQgVlJNTEluc3RhbmNlcyAgICAgIGNvbnRhaW5lZCBERUYgVVNFCitzeW4gc3luYyBtaW5saW5lcz0xCisKK2lmIHZlcnNpb24gPj0gNjAwCisiRk9MRFMhCisgIHN5biBzeW5jIGZyb21zdGFydAorICBzZXRsb2NhbCBmb2xkbWV0aG9kPXN5bnRheAorICBzeW4gcmVnaW9uIGJyYWNlRm9sZCBzdGFydD0ieyIgZW5kPSJ9IiB0cmFuc3BhcmVudCBmb2xkIGNvbnRhaW5zPVRPUAorICBzeW4gcmVnaW9uIGJyYWNrZXRGb2xkIHN0YXJ0PSJcWyIgZW5kPSJdIiB0cmFuc3BhcmVudCBmb2xkIGNvbnRhaW5zPVRPUAorICBzeW4gcmVnaW9uIFZSTUxTdHJpbmcgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBmb2xkIGNvbnRhaW5zPVZSTUxTcGVjaWFsLFZSTUxqU2NyaXB0U3RyaW5nCitlbmRpZgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9WUk1MX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX1ZSTUxfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgVlJNTENoYXJhY3RlciAgVlJNTFN0cmluZworICBIaUxpbmsgVlJNTFNwZWNpYWxDaGFyYWN0ZXIgVlJNTFNwZWNpYWwKKyAgSGlMaW5rIFZSTUxOdW1iZXIgICAgIFZSTUxTdHJpbmcKKyAgSGlMaW5rIFZSTUxWYWx1ZXMgICAgIFZSTUxTdHJpbmcKKyAgSGlMaW5rIFZSTUxTdHJpbmcgICAgIFN0cmluZworICBIaUxpbmsgVlJNTFNwZWNpYWwgICAgU3BlY2lhbAorICBIaUxpbmsgVlJNTENvbW1lbnQgICAgQ29tbWVudAorICBIaUxpbmsgVlJNTE5vZGVzICAgICAgU3RhdGVtZW50CisgIEhpTGluayBWUk1MRmllbGRzICAgICBUeXBlCisgIEhpTGluayBWUk1MRXZlbnRzICAgICBUeXBlCisgIEhpTGluayBWUk1MZlR5cGVzICAgICBMaW5lTnIKKyIgIGhpICAgICBWUk1MZlR5cGVzICAgICBjdGVybWZnPTYgZ3VpZmc9QnJvd24KKyAgSGlMaW5rIFZSTUxJbnN0YW5jZXMgIFByZUNvbmRpdAorICBIaUxpbmsgVlJNTFJvdXRlcyAgICAgUHJlQ29uZGl0CisgIEhpTGluayBWUk1MUHJvdG9zICAgICBQcmVQcm9jCisgIEhpTGluayBWUk1MUm91dGVOb2RlICBJZGVudGlmaWVyCisgIEhpTGluayBWUk1MSW5zdE5hbWUgICBJZGVudGlmaWVyCisgIEhpTGluayBWUk1MVHlwZXMgICAgICBJZGVudGlmaWVyCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInZybWwiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92c2VqY2wudmltIGIvcnVudGltZS9zeW50YXgvdnNlamNsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGYwMGM2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdnNlamNsLnZpbQpAQCAtMCwwICsxLDQ5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgSkNMIGpvYiBjb250cm9sIGxhbmd1YWdlIC0gRE9TL1ZTRQorIiBNYWludGFpbmVyOiAgRGF2eWQgT25kcmVqa28gPGRhdmlkLm9uZHJlamtvQHNhZmVsaXRlLmNvbT4KKyIgVVJMOgorIiBMYXN0IGNoYW5nZTogMjAwMSBNYXkgMTAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIHRhZ3MKK3N5biBrZXl3b3JkIHZzZWpjbEtleXdvcmQgRExCTCBFWEVDIEpPQiBBU1NHTiBFT0oKK3N5biBrZXl3b3JkIHZzZWpjbEZpZWxkIEpOTSBDTEFTUyBESVNQIFVTRVIgU1lTSUQgSlNFUCBTSVpFCitzeW4ga2V5d29yZCB2c2VqY2xGaWVsZCBWU0FNCitzeW4gcmVnaW9uIHZzZWpjbENvbW1lbnQgc3RhcnQ9Il4vXCoiIGVuZD0iJCIKK3N5biByZWdpb24gdnNlamNsQ29tbWVudCBzdGFydD0iXltcKiBdXHt9JCIgZW5kPSIkIgorc3luIHJlZ2lvbiB2c2VqY2xNaXNjIHN0YXJ0PSJeICAiIGVuZD0iJCIgY29udGFpbnM9SnBhcm1zCitzeW4gbWF0Y2ggdnNlamNsU3RyaW5nIC8nLlx7LX0nLworc3luIG1hdGNoIHZzZWpjbFBhcm1zIC8oLlx7LX0pLyBjb250YWluZWQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdnNlamNsX3N5bnRheCIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3ZzZWpjbF9zeW50YXggPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB2c2VqY2xDb21tZW50CQlDb21tZW50CisgIEhpTGluayB2c2VqY2xGaWVsZAkJVHlwZQorICBIaUxpbmsgdnNlamNsS2V5d29yZAkJU3RhdGVtZW50CisgIEhpTGluayB2c2VqY2xPYmplY3QJCUNvbnN0YW50CisgIEhpTGluayB2c2VqY2xTdHJpbmcJCUNvbnN0YW50CisgIEhpTGluayB2c2VqY2xNaXNjCQkJU3BlY2lhbAorICBIaUxpbmsgdnNlamNsUGFybXMJCUNvbnN0YW50CisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInZzZWpjbCIKKworIiB2aW06IHRzPTQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3dkaWZmLnZpbSBiL3J1bnRpbWUvc3ludGF4L3dkaWZmLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2QwNjExCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvd2RpZmYudmltCkBAIC0wLDAgKzEsNDMgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgd0RpZmYgKHdvcmR3aXNlIGRpZmYpCisiIE1haW50YWluZXI6ICAgR2VyZnJpZWQgRnVjaHMgPGFsZmllQGlzdC5vcmc+CisiIExhc3QgQ2hhbmdlOiAgMjUgQXByIDIwMDEKKyIgVVJMOgkJaHR0cDovL2FsZmllLmlzdC5vcmcvdmltL3N5bnRheC93ZGlmZi52aW0KKyIKKyIgQ29tbWVudHMgYXJlIHZlcnkgd2VsY29tZSAtIGJ1dCBwbGVhc2UgbWFrZSBzdXJlIHRoYXQgeW91IGFyZSBjb21tZW50aW5nIG9uCisiIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIGZpbGUuCisiIFNQQU0gaXMgX05PVF8gd2VsY29tZSAtIGJlIHJlYWR5IHRvIGJlIHJlcG9ydGVkIQorCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5biBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworCitzeW4gcmVnaW9uIHdkaWZmT2xkIHN0YXJ0PStcWy0rIGVuZD0rLV0rCitzeW4gcmVnaW9uIHdkaWZmTmV3IHN0YXJ0PSJ7KyIgZW5kPSIrfSIKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF93ZGlmZl9zeW5faW5pdHMiKQorICBsZXQgZGlkX3dkaWZmX3N5bl9pbml0cyA9IDEKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfd2RpZmZfc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgd2RpZmZPbGQgICAgICAgU3BlY2lhbAorICBIaUxpbmsgd2RpZmZOZXcgICAgICAgSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ3ZGlmZiIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3dlYi52aW0gYi9ydW50aW1lL3N5bnRheC93ZWIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3YTdmZGYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC93ZWIudmltCkBAIC0wLDAgKzEsMzkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglXRUIKKyIgTWFpbnRhaW5lcjoJQW5kcmVhcyBTY2hlcmVyIDxhbmRyZWFzLnNjaGVyZXJAcG9ib3guY29tPgorIiBMYXN0IENoYW5nZToJQXByaWwgMzAsIDIwMDEKKworIiBEZXRhaWxzIG9mIHRoZSBXRUIgbGFuZ3VhZ2UgY2FuIGJlIGZvdW5kIGluIHRoZSBhcnRpY2xlIGJ5IERvbmFsZCBFLiBLbnV0aCwKKyIgIlRoZSBXRUIgU3lzdGVtIG9mIFN0cnVjdHVyZWQgRG9jdW1lbnRhdGlvbiIsIGluY2x1ZGVkIGFzICJ3ZWJtYW4udGV4IiBpbgorIiB0aGUgc3RhbmRhcmQgV0VCIGRpc3RyaWJ1dGlvbiwgYXZhaWxhYmxlIGZvciBhbm9ueW1vdXMgZnRwIGF0CisiIGZ0cDovL2xhYnJlYS5zdGFuZm9yZC5lZHUvcHViL3RleC93ZWIvLgorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgQWx0aG91Z2ggV0VCIGlzIHRoZSB1ci1sYW5ndWFnZSBmb3IgdGhlICJMaXRlcmF0ZSBQcm9ncmFtbWluZyIgcGFyYWRpZ20sCisiIHdlIGJhc2UgdGhpcyBzeW50YXggZmlsZSBvbiB0aGUgbW9kZXJuIHN1cGVyc2V0LCBDV0VCLiAgTm90ZTogVGhpcyBzaG9ydGN1dAorIiBtYXkgaW50cm9kdWNlIHNvbWUgaWxsZWdhbCBjb25zdHJ1Y3RzLCBlLmcuLCBDV0VCJ3MgIkBjIiBkb2VzIF9ub3RfIHN0YXJ0IGEKKyIgY29kZSBzZWN0aW9uIGluIFdFQi4gIEFueXdheSwgSSdtIG5vdCBhIFdFQiBwcm9ncmFtbWVyLgoraWYgdmVyc2lvbiA8IDYwMAorICBzb3VyY2UgPHNmaWxlPjpwOmgvY3dlYi52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2N3ZWIudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKK2VuZGlmCisKKyIgUmVwbGFjZSBDL0MrKyBzeW50YXggYnkgUGFzY2FsIHN5bnRheC4KK3N5bnRheCBpbmNsdWRlIEB3ZWJJbmNsdWRlZEMgPHNmaWxlPjpwOmgvcGFzY2FsLnZpbQorCisiIERvdWJsZS1AIG1lYW5zIHNpbmdsZS1ALCBhbnl3aGVyZSBpbiB0aGUgV0VCIHNvdXJjZSAoYXMgaW4gQ1dFQikuCisiIERvbid0IG1pc2ludGVycHJldCAiQCciIGFzIHRoZSBzdGFydCBvZiBhIFBhc2NhbCBzdHJpbmcuCitzeW50YXggbWF0Y2ggd2ViSWdub3JlZFN0dWZmICJAW0AnXSIKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAid2ViIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvd2VibWFjcm8udmltIGIvcnVudGltZS9zeW50YXgvd2VibWFjcm8udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiODYzZjcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC93ZWJtYWNyby52aW0KQEAgLTAsMCArMSw4MiBAQAorIiBXZWJNYWNybyBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIFdlYk1hY3JvCisiIE1haW50YWluZXI6ICAgQ2xhdWRpbyBGbGVpbmVyIDxjbGF1ZGlvQGZsZWluZXIuY29tPgorIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvd2VibWFjcm8udmltCisiIExhc3QgQ2hhbmdlOiAgMjAwMyBNYXkgMTEKKworIiB3ZWJtYWNybyBpcyBhIG5pY2UgbGl0dGxlIGxhbmd1YWdlIHRoYXQgeW91IHNob3VsZAorIiBjaGVjayBvdXQgaWYgeW91IHVzZSBqYXZhIHNlcnZsZXRzLgorIiB3ZWJtYWNybzogaHR0cDovL3d3dy53ZWJtYWNyby5vcmcKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmICFleGlzdHMoIm1haW5fc3ludGF4IikKKyAgaWYgdmVyc2lvbiA8IDYwMAorICAgIHN5bnRheCBjbGVhcgorICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKKyAgZW5kaWYKKyAgbGV0IG1haW5fc3ludGF4ID0gJ3dlYm1hY3JvJworZW5kaWYKKworCitpZiB2ZXJzaW9uIDwgNjAwCisgIHNvdXJjZSA8c2ZpbGU+OnA6aC9odG1sLnZpbQorZWxzZQorICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KKyAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorZW5kaWYKKworc3luIGNsdXN0ZXIgaHRtbFByZVByb2MgYWRkPXdlYm1hY3JvSWYsd2VibWFjcm9Vc2Usd2VibWFjcm9CcmFjZXMsd2VibWFjcm9QYXJzZSx3ZWJtYWNyb0luY2x1ZGUsd2VibWFjcm9TZXQsd2VibWFjcm9Gb3JlYWNoLHdlYm1hY3JvQ29tbWVudAorCitzeW4gbWF0Y2ggd2VibWFjcm9WYXJpYWJsZSAiXCRbYS16QS1aMC05LigpXSo7XD0iCitzeW4gbWF0Y2ggd2VibWFjcm9OdW1iZXIgIlstK11cPVxkXCtbbExdXD0iIGNvbnRhaW5lZAorc3luIGtleXdvcmQgd2VibWFjcm9Cb29sZWFuIHRydWUgZmFsc2UgY29udGFpbmVkCitzeW4gbWF0Y2ggd2VibWFjcm9TcGVjaWFsICJcXC4iIGNvbnRhaW5lZAorc3luIHJlZ2lvbiAgd2VibWFjcm9TdHJpbmcgICBjb250YWluZWQgc3RhcnQ9KyIrIGVuZD0rIisgY29udGFpbnM9d2VibWFjcm9TcGVjaWFsLHdlYm1hY3JvVmFyaWFibGUKK3N5biByZWdpb24gIHdlYm1hY3JvU3RyaW5nICAgY29udGFpbmVkIHN0YXJ0PSsnKyBlbmQ9KycrIGNvbnRhaW5zPXdlYm1hY3JvU3BlY2lhbCx3ZWJtYWNyb1ZhcmlhYmxlCitzeW4gcmVnaW9uIHdlYm1hY3JvTGlzdCBjb250YWluZWQgbWF0Y2hncm91cD1TdHJ1Y3R1cmUgc3RhcnQ9IlxbIiBtYXRjaGdyb3VwPVN0cnVjdHVyZSBlbmQ9IlxdIiBjb250YWlucz13ZWJtYWNyb1N0cmluZyx3ZWJtYWNyb1ZhcmlhYmxlLHdlYm1hY3JvTnVtYmVyLHdlYm1hY3JvQm9vbGVhbix3ZWJtYWNyb0xpc3QKKworc3luIHJlZ2lvbiB3ZWJtYWNyb0lmIHN0YXJ0PSIjaWYiIHN0YXJ0PSIjZWxzZSIgZW5kPSJ7Im1lPWUtMSBjb250YWlucz13ZWJtYWNyb1ZhcmlhYmxlLHdlYm1hY3JvTnVtYmVyLHdlYm1hY3JvU3RyaW5nLHdlYm1hY3JvQm9vbGVhbix3ZWJtYWNyb0xpc3QgbmV4dGdyb3VwPXdlYm1hY3JvQnJhY2VzCitzeW4gcmVnaW9uIHdlYm1hY3JvRm9yZWFjaCBzdGFydD0iI2ZvcmVhY2giIGVuZD0ieyJtZT1lLTEgY29udGFpbnM9d2VibWFjcm9WYXJpYWJsZSx3ZWJtYWNyb051bWJlcix3ZWJtYWNyb1N0cmluZyx3ZWJtYWNyb0Jvb2xlYW4sd2VibWFjcm9MaXN0IG5leHRncm91cD13ZWJtYWNyb0JyYWNlcworc3luIG1hdGNoIHdlYm1hY3JvU2V0ICIjc2V0IC4qJCIgY29udGFpbnM9d2VibWFjcm9WYXJpYWJsZSx3ZWJtYWNyb051bWJlcix3ZWJtYWNyb051bWJlcix3ZWJtYWNyb0Jvb2xlYW4sd2VibWFjcm9TdHJpbmcsd2VibWFjcm9MaXN0CitzeW4gbWF0Y2ggd2VibWFjcm9JbmNsdWRlICIjaW5jbHVkZSAuKiQiIGNvbnRhaW5zPXdlYm1hY3JvVmFyaWFibGUsd2VibWFjcm9OdW1iZXIsd2VibWFjcm9OdW1iZXIsd2VibWFjcm9Cb29sZWFuLHdlYm1hY3JvU3RyaW5nLHdlYm1hY3JvTGlzdAorc3luIG1hdGNoIHdlYm1hY3JvUGFyc2UgIiNwYXJzZSAuKiQiIGNvbnRhaW5zPXdlYm1hY3JvVmFyaWFibGUsd2VibWFjcm9OdW1iZXIsd2VibWFjcm9OdW1iZXIsd2VibWFjcm9Cb29sZWFuLHdlYm1hY3JvU3RyaW5nLHdlYm1hY3JvTGlzdAorc3luIHJlZ2lvbiB3ZWJtYWNyb1VzZSBtYXRjaGdyb3VwPVByZVByb2Mgc3RhcnQ9IiN1c2UgLioiIG1hdGNoZ3JvdXA9UHJlUHJvYyBlbmQ9Il4tLioiIGNvbnRhaW5zPXdlYm1hY3JvSGFzaCxASHRtbFRvcAorc3luIHJlZ2lvbiB3ZWJtYWNyb0JyYWNlcyBtYXRjaGdyb3VwPVN0cnVjdHVyZSBzdGFydD0ieyIgbWF0Y2hncm91cD1TdHJ1Y3R1cmUgZW5kPSJ9IiBjb250YWluZWQgdHJhbnNwYXJlbnQKK3N5biBtYXRjaCB3ZWJtYWNyb0JyYWNlc0Vycm9yICJbe31dIgorc3luIG1hdGNoIHdlYm1hY3JvQ29tbWVudCAiIyMuKiQiCitzeW4gbWF0Y2ggd2VibWFjcm9IYXNoICJbI3t9XCRdIiBjb250YWluZWQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfd2VibWFjcm9fc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfd2VibWFjcm9fc3luX2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgd2VibWFjcm9Db21tZW50IENvbW1lbnRUaXRsZQorICBIaUxpbmsgd2VibWFjcm9WYXJpYWJsZSBQcmVQcm9jCisgIEhpTGluayB3ZWJtYWNyb0lmIHdlYm1hY3JvU3RhdGVtZW50CisgIEhpTGluayB3ZWJtYWNyb0ZvcmVhY2ggd2VibWFjcm9TdGF0ZW1lbnQKKyAgSGlMaW5rIHdlYm1hY3JvU2V0IHdlYm1hY3JvU3RhdGVtZW50CisgIEhpTGluayB3ZWJtYWNyb0luY2x1ZGUgd2VibWFjcm9TdGF0ZW1lbnQKKyAgSGlMaW5rIHdlYm1hY3JvUGFyc2Ugd2VibWFjcm9TdGF0ZW1lbnQKKyAgSGlMaW5rIHdlYm1hY3JvU3RhdGVtZW50IEZ1bmN0aW9uCisgIEhpTGluayB3ZWJtYWNyb051bWJlciBOdW1iZXIKKyAgSGlMaW5rIHdlYm1hY3JvQm9vbGVhbiBCb29sZWFuCisgIEhpTGluayB3ZWJtYWNyb1NwZWNpYWwgU3BlY2lhbAorICBIaUxpbmsgd2VibWFjcm9TdHJpbmcgU3RyaW5nCisgIEhpTGluayB3ZWJtYWNyb0JyYWNlc0Vycm9yIEVycm9yCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ3ZWJtYWNybyIKKworaWYgbWFpbl9zeW50YXggPT0gJ3dlYm1hY3JvJworICB1bmxldCBtYWluX3N5bnRheAorZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3dnZXQudmltIGIvcnVudGltZS9zeW50YXgvd2dldC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODAxZjc2ZAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3dnZXQudmltCkBAIC0wLDAgKzEsMTU5IEBACisiIFdnZXQgc3ludGF4IGZpbGUKKyIgRmlsZW5hbWU6ICAgICB3Z2V0LnZpbQorIiBMYW5ndWFnZTogICAgIFdnZXQgY29uZmlndXJhdGlvbiBmaWxlICggL2V0Yy93Z2V0cmMgfi8ud2dldHJjICkKKyIgTWFpbnRhaW5lcjogICBEb3VnIEtlYXJucyA8ZGprZWEyQG11Z2NhLml0cy5tb25hc2guZWR1LmF1PgorIiBVUkw6CQlodHRwOi8vbXVnY2EuaXRzLm1vbmFzaC5lZHUuYXUvfmRqa2VhMi92aW0vc3ludGF4L3dnZXQudmltCisiIExhc3QgQ2hhbmdlOiAgMjAwMyBNYXkgMTEKKworIiBUT0RPOiBhbGwgY29tbWFuZHMgYXJlIGFjdHVhbGx5IHVuZGVyc2NvcmUgYW5kIGh5cGhlbiBpbnNlbnNpdGl2ZSwgdGhvdWdoCisiICAgICAgIHRoZXkgYXJlIG5vcm1hbGx5IG5hbWVkIGFzIGxpc3RlZCBiZWxvdworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBtYXRjaCAgIHdnZXRDb21tZW50ICAgICJeXHMqIy4qJCIgY29udGFpbnM9d2dldFRvZG8KKworc3luIGtleXdvcmQgd2dldFRvZG8gICAgICAgVE9ETyBOT1RFIEZJWE1FIFhYWCBjb250YWluZWQKKworc3luIG1hdGNoICAgd2dldEFzc2lnbm1lbnQgIl5ccypbQS1aYS16Xy1dXCtccyo9XHMqLiokIiBjb250YWlucz13Z2V0Q29tbWFuZCx3Z2V0QXNzaWdubWVudE9wZXJhdG9yLHdnZXRTdHJpbmcsd2dldEJvb2xlYW4sd2dldE51bWJlcix3Z2V0VmFsdWUsd2dldFF1b3RhCisKK3N5biBtYXRjaCAgIHdnZXRBc3NpZ25tZW50T3BlcmF0b3IgIj0iIGNvbnRhaW5lZAorCitzeW4gcmVnaW9uICB3Z2V0U3RyaW5nICAgICBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5lZCBvbmVsaW5lCitzeW4gcmVnaW9uICB3Z2V0U3RyaW5nICAgICBzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrIGNvbnRhaW5lZCBvbmVsaW5lCisKKyIgTWFrZSB0aGlzIGEgbWF0Y2ggc28gdGhhdCBhbHdheXNfcmVzdCBtYXRjaGVzIHByb3Blcmx5CitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCAgIHdnZXRCb29sZWFuICAgICJcPG9uXHxvZmZcfGFsd2F5c1x8bmV2ZXJcfDFcfDBcPiIgY29udGFpbmVkCitzeW4gY2FzZSBtYXRjaAorCitzeW4gbWF0Y2ggICB3Z2V0TnVtYmVyICAgICAiXDxcZFwrXHxpbmZcPiIgICAgY29udGFpbmVkCisKK3N5biBtYXRjaCAgIHdnZXRRdW90YSAgICAgICJcPFxkXCtba0ttTV1cP1w+IiBjb250YWluZWQKKworc3luIGNhc2UgaWdub3JlCitzeW4ga2V5d29yZCB3Z2V0VmFsdWUgICAgICBkZWZhdWx0IGJpbmFyeSBtZWdhIGdpZ2EgbWljcm8gY29udGFpbmVkCitzeW4gY2FzZSBtYXRjaAorCitzeW4gY2FzZSBpZ25vcmUKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqYWNjZXB0IiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqYWRkWy1fXVw9aG9zdGRpciIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmFsd2F5c1stX11cPXJlc3QiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypiYWNrZ3JvdW5kIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqYmFja3VwWy1fXVw9Y29udmVydGVkIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqYmFja3VwcyIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmJhc2UiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypiaW5kWy1fXVw9YWRkcmVzcyIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmNhY2hlIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqY29udGludWUiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypjb252ZXJ0Wy1fXVw9bGlua3MiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypjb29raWVzIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqY3V0Wy1fXVw9ZGlycyIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmRlYnVnIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqZGVsZXRlWy1fXVw9YWZ0ZXIiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypkaXJbLV9dXD1wcmVmaXgiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypkaXJbLV9dXD1zdHJ1Y3QiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypkb21haW5zIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqZG90Wy1fXVw9Ynl0ZXMiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypkb3RzWy1fXVw9aW5bLV9dXD1saW5lIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqZG90Wy1fXVw9c3BhY2luZyIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmRvdFstX11cPXN0eWxlIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqZWdkWy1fXVw9ZmlsZSIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmV4Y2x1ZGVbLV9dXD1kaXJlY3RvcmllcyIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmV4Y2x1ZGVbLV9dXD1kb21haW5zIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqZm9sbG93Wy1fXVw9ZnRwIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqZm9sbG93Wy1fXVw9dGFncyIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmZvcmNlWy1fXVw9aHRtbCIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmZ0cFstX11cPXByb3h5IiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqZ2xvYiIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmhlYWRlciIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmh0bWxbLV9dXD1leHRlbnNpb24iIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypodG1saWZ5IiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqaHR0cFstX11cPWtlZXBbLV9dXD1hbGl2ZSIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKmh0dHBbLV9dXD1wYXNzd2QiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypodHRwWy1fXVw9cHJveHkiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypodHRwc1stX11cPXByb3h5IiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqaHR0cFstX11cPXVzZXIiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccyppZ25vcmVbLV9dXD1sZW5ndGgiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccyppZ25vcmVbLV9dXD10YWdzIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqaW5jbHVkZVstX11cPWRpcmVjdG9yaWVzIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqaW5wdXQiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypraWxsWy1fXVw9bG9uZ2VyIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqbGltaXRbLV9dXD1yYXRlIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqbG9hZFstX11cPWNvb2tpZXMiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypsb2dmaWxlIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqbG9naW4iIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccyptaXJyb3IiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypuZXRyYyIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKm5vWy1fXVw9Y2xvYmJlciIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKm5vWy1fXVw9cGFyZW50IiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqbm9bLV9dXD1wcm94eSIgY29udGFpbmVkCisiIE5vdGU6IHRoaXMgb3B0aW9uIGlzIGRlcHJlY2F0ZWQsIHVzZSAndHJpZXMnIGluc3RlYWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqbnVtdHJpZXMiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypvdXRwdXRbLV9dXD1kb2N1bWVudCIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnBhZ2VbLV9dXD1yZXF1aXNpdGVzIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqcGFzc2l2ZVstX11cPWZ0cCIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnBhc3N3ZCIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnByb2dyZXNzIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqcHJveHlbLV9dXD1wYXNzd2QiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypwcm94eVstX11cPXVzZXIiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypxdWlldCIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnF1b3RhIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqcmFuZG9tWy1fXVw9d2FpdCIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnJlY2xldmVsIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqcmVjdXJzaXZlIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqcmVmZXJlciIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnJlamVjdCIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnJlbGF0aXZlWy1fXVw9b25seSIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnJlbW92ZVstX11cPWxpc3RpbmciIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypyZXRyWy1fXVw9c3ltbGlua3MiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypyb2JvdHMiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypzYXZlWy1fXVw9Y29va2llcyIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnNhdmVbLV9dXD1oZWFkZXJzIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqc2VydmVyWy1fXVw9cmVzcG9uc2UiIGNvbnRhaW5lZAorIiBOb3RlOiB0aGlzIG9wdGlvbiB3YXMgcmVtb3ZlZCBpbiB3Z2V0IDEuOAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypzaW1wbGVbLV9dXD1ob3N0Wy1fXVw9Y2hlY2siIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypzcGFuWy1fXVw9aG9zdHMiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypzcGlkZXIiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccypzc2xjZXJ0ZmlsZSIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnNzbGNlcnRrZXkiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccyp0aW1lb3V0IiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqdGltZVstX11cPXN0YW1waW5nIiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqdHJpZXMiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccyp1c2VbLV9dXD1wcm94eSIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnVzZXJbLV9dXD1hZ2VudCIgY29udGFpbmVkCitzeW4gbWF0Y2ggd2dldENvbW1hbmQgICAgICAiXlxzKnZlcmJvc2UiIGNvbnRhaW5lZAorc3luIG1hdGNoIHdnZXRDb21tYW5kICAgICAgIl5ccyp3YWl0IiBjb250YWluZWQKK3N5biBtYXRjaCB3Z2V0Q29tbWFuZCAgICAgICJeXHMqd2FpdFstX11cPXJldHJ5IiBjb250YWluZWQKK3N5biBjYXNlIG1hdGNoCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3dnZXRfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfd2dldF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB3Z2V0QXNzaWdubWVudE9wZXJhdG9yIFNwZWNpYWwKKyAgSGlMaW5rIHdnZXRCb29sZWFuCQlCb29sZWFuCisgIEhpTGluayB3Z2V0Q29tbWFuZAkJSWRlbnRpZmllcgorICBIaUxpbmsgd2dldENvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHdnZXROdW1iZXIJCU51bWJlcgorICBIaUxpbmsgd2dldFF1b3RhCQlOdW1iZXIKKyAgSGlMaW5rIHdnZXRTdHJpbmcJCVN0cmluZworICBIaUxpbmsgd2dldFRvZG8JCVRvZG8KKyAgSGlMaW5rIHdnZXRWYWx1ZQkJQ29uc3RhbnQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAid2dldCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3doaXRlc3BhY2UudmltIGIvcnVudGltZS9zeW50YXgvd2hpdGVzcGFjZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQyZTMyZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3doaXRlc3BhY2UudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgU2ltcGxpc3RpYyB3YXkgdG8gbWFrZSBzcGFjZXMgYW5kIFRhYnMgdmlzaWJsZQorCisiIFRoaXMgY2FuIGJlIGFkZGVkIHRvIGFuIGFscmVhZHkgYWN0aXZlIHN5bnRheC4KKworc3luIG1hdGNoIFNwYWNlICIgIgorc3luIG1hdGNoIFRhYiAiXHQiCitpZiAmYmFja2dyb3VuZCA9PSAiZGFyayIKKyAgaGkgZGVmIFNwYWNlIGN0ZXJtYmc9ZGFya3JlZCBndWliZz0jNTAwMDAwCisgIGhpIGRlZiBUYWIgY3Rlcm1iZz1kYXJrZ3JlZW4gZ3VpYmc9IzAwMzAwMAorZWxzZQorICBoaSBkZWYgU3BhY2UgY3Rlcm1iZz1saWdodHJlZCBndWliZz0jZmZkMGQwCisgIGhpIGRlZiBUYWIgY3Rlcm1iZz1saWdodGdyZWVuIGd1aWJnPSNkMGZmZDAKK2VuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC93aW5iYXRjaC52aW0gYi9ydW50aW1lL3N5bnRheC93aW5iYXRjaC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVhMmNkZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3dpbmJhdGNoLnZpbQpAQCAtMCwwICsxLDE4NyBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVdpbkJhdGNoL1dlYmJhdGNoICgqLndidCwgKi53ZWIpCisiIE1haW50YWluZXI6CWRvbWluaXF1ZUBtZ2dlbi5jb20KKyIgVVJMOgkJaHR0cDovL3d3dy5tZ2dlbi5jb20vdmltL3N5bnRheC93aW5iYXRjaC56aXAKKyIgTGFzdCBjaGFuZ2U6CTIwMDEgTWF5IDEwCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGNhc2UgaWdub3JlCisKK3N5biBrZXl3b3JkIHdpbmJhdGNoQ3RsCWlmIHRoZW4gZWxzZSBlbmRpZiBicmVhayBlbmQgcmV0dXJuIGV4aXQgbmV4dAorc3luIGtleXdvcmQgd2luYmF0Y2hDdGwgd2hpbGUgZm9yIGdvc3ViIGdvdG8gc3dpdGNoIHNlbGVjdCB0byBjYXNlCitzeW4ga2V5d29yZCB3aW5iYXRjaEN0bCBlbmRzZWxlY3QgZW5kd2hpbGUgZW5kc2VsZWN0IGVuZHN3aXRjaAorCisiIFN0cmluZworc3luIHJlZ2lvbiAgd2luYmF0Y2hWYXIJCXN0YXJ0PSslKyAgZW5kPSslKworIiAldmFyJSBpbiBzdHJpbmdzCitzeW4gcmVnaW9uICB3aW5iYXRjaFN0cmluZwlzdGFydD0rIisgIGVuZD0rIisgY29udGFpbnM9d2luYmF0Y2hWYXIKKworc3luIG1hdGNoIHdpbmJhdGNoQ29tbWVudAkiOy4qJCIKK3N5biBtYXRjaCB3aW5iYXRjaExhYmVsCQkiXlwgKjpbMC05YS16QS1aX1wtXVwrXD4iCisKKyIgY29uc3RhbnQgKGJlemdpbiBieSBAKQorc3luIG1hdGNoIHdpbmJhdGNoQ29uc3RhbnQJIkBbMF85YS16QS1aX1wtXVwrIgorCisiIG51bWJlcgorc3luIG1hdGNoIHdpbmJhdGNoTnVtYmVyCSJcPFswLTldXCtcKHVcPWxcPVx8bHVcfGZcKVw+IgorCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGFib3ZlaWNvbnMgYWNjX2F0dHJpYiBhY2NfY2huZ19udCBhY2NfY29udHJvbCBhY2NfY3JlYXRlCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGFjY19kZWxldGUgYWNjX2Z1bGxfOTUgYWNjX2Z1bGxfbnQgYWNjX2xpc3QgYWNjX3BmdWxsX250CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGFjY19wbWFuZ19udCBhY2NfcHJpbnRfbnQgYWNjX3JlYWQgYWNjX3JlYWRfOTUgYWNjX3JlYWRfbnQKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgYWNjX3dyaXRlIGFtYyBhcnJhbmdlIGFzY2VuZGluZyBhdHRyX2EgYXR0cl9hIGF0dHJfY2kgYXR0cl9jaQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBhdHRyX2RjIGF0dHJfZGMgYXR0cl9kaSBhdHRyX2RpIGF0dHJfZG0gYXR0cl9kbSBhdHRyX2ggYXR0cl9oCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGF0dHJfaWMgYXR0cl9pYyBhdHRyX3AgYXR0cl9wIGF0dHJfcmkgYXR0cl9yaSBhdHRyX3JvIGF0dHJfcm8KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgYXR0cl9zaCBhdHRyX3NoIGF0dHJfc3kgYXR0cl9zeSBhdHRyX3QgYXR0cl90IGF0dHJfeCBhdHRyX3gKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgYXZvZ2Fkcm8gYmFja3NjYW4gYm9sdHptYW5uIGNhbmNlbCBjYXBzbG9jayBjaGVjayBjb2x1bW5zCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGNvbW1vbmZvcm1hdCBjciBjcmxmIGN0cmwgZGVmYXVsdCBkZWZhdWx0IGRlZzJyYWQgZGVzY2VuZGluZworc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBkaXNhYmxlIGRyaXZlIGVsZWN0cmljIGVuYWJsZSBldWxlcnMgZmFsc2UgZmFyYWRheSBmbG9hdDgKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgZndkc2NhbiBnZnRzZWMgZ2xvYmFsZ3JvdXAgZ210c2VjIGdvbGRlbnJhdGlvIGdyYXZpdGF0aW9uIGhpZGRlbgorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBpY29uIGxidXR0b24gbGNsaWNrIGxkYmxjbGljayBsZiBsaWdodG1wcyBsaWdodG10cHMgbG9jYWxncm91cAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBtYWdmaWVsZCBtYWpvciBtYm9rY2FuY2VsIG1idXR0b24gbWJ5ZXNubyBtY2xpY2sgbWRibGNsaWNrIG1pbm9yCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IG1zZm9ybWF0IG11bHRpcGxlIG5jc2Fmb3JtYXQgbm8gbm9uZSBub25lIG5vcmVzaXplIG5vcm1hbAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBub3RpZnkgbm93YWl0IG51bWxvY2sgb2ZmIG9uIG9wZW4gcGFyc2VjIHBhcnNlb25seSBwaQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBwbGFuY2tlcmdzIHBsYW5ja2pvdWxlcyBwcmludGVyIHJhZDJkZWcgcmJ1dHRvbiByY2xpY2sgcmRibGNsaWNrCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHJlZ2NsYXNzZXMgcmVnY3VycmVudCByZWdtYWNoaW5lIHJlZ3Jvb3QgcmVndXNlcnMgcm93cyBzYXZlCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHNjcm9sbGxvY2sgc2VydmVyIHNoaWZ0IHNpbmdsZSBzb3J0ZWQgc3RhY2sgc3RyaW5nIHRhYiB0aWxlCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHRydWUgdW5jaGVjayB1bnNvcnRlZCB3YWl0IHdob2xlc2VjdGlvbiB3b3JkMSB3b3JkMiB3b3JkNCB5ZXMKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgem9vbWVkIGFib3V0IGFicyBhY29zIGFkZGV4dGVuZGVyIGFwcGV4aXN0IGFwcHdhaXRjbG9zZSBhc2luCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGFza2ZpbGVuYW1lIGFza2ZpbGV0ZXh0IGFza2l0ZW1saXN0IGFza2xpbmUgYXNrcGFzc3dvcmQgYXNreWVzbm8KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgYXRhbiBhdmVyYWdlIGJlZXAgYmluYXJ5YWxsb2MgYmluYXJ5Y29weSBiaW5hcnllb2RnZXQgYmluYXJ5ZW9kc2V0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGJpbmFyeWZyZWUgYmluYXJ5aGFzaHJlYyBiaW5hcnlpbmNyIGJpbmFyeWluY3IyIGJpbmFyeWluY3I0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGJpbmFyeWluY3JmbHQgYmluYXJ5aW5kZXggYmluYXJ5aW5kZXhuYyBiaW5hcnlvbGV0eXBlIGJpbmFyeXBlZWsKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgYmluYXJ5cGVlazIgYmluYXJ5cGVlazQgYmluYXJ5cGVla2ZsdCBiaW5hcnlwZWVrc3RyIGJpbmFyeXBva2UKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgYmluYXJ5cG9rZTIgYmluYXJ5cG9rZTQgYmluYXJ5cG9rZWZsdCBiaW5hcnlwb2tlc3RyIGJpbmFyeXJlYWQKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgYmluYXJ5c29ydCBiaW5hcnlzdHJjbnQgYmluYXJ5d3JpdGUgYm94YnV0dG9uZHJhdyBib3hidXR0b25raWxsCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGJveGJ1dHRvbnN0YXQgYm94YnV0dG9ud2FpdCBib3hjYXB0aW9uIGJveGNvbG9yCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGJveGRhdGFjbGVhciBib3hkYXRhdGFnCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGJveGRlc3Ryb3kgYm94ZHJhd2NpcmNsZSBib3hkcmF3bGluZSBib3hkcmF3cmVjdCBib3hkcmF3dGV4dAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBib3hlc3VwIGJveG1hcG1vZGUgYm94bmV3IGJveG9wZW4gYm94cGVuIGJveHNodXQgYm94dGV4dCBib3h0ZXh0Y29sb3IKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgYm94dGV4dGZvbnQgYm94dGl0bGUgYm94dXBkYXRlcyBicmVhayBidXR0b25uYW1lcyBieSBjYWxsCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGNhbGxleHQgY2VpbGluZyBjaGFyMm51bSBjbGlwYXBwZW5kIGNsaXBnZXQgY2xpcHB1dAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBjb250aW51ZSBjb3MgY29zaCBkYXRldGltZQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBkZGVleGVjdXRlIGRkZWluaXRpYXRlIGRkZXBva2UgZGRlcmVxdWVzdCBkZGV0ZXJtaW5hdGUKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgZGRldGltZW91dCBkZWJ1ZyBkZWJ1Z2RhdGEgZGVjaW1hbHMgZGVsYXkgZGlhbG9nCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGRpYWxvZ2JveCBkaXJhdHRyZ2V0IGRpcmF0dHJzZXQgZGlyY2hhbmdlIGRpcmV4aXN0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGRpcmdldCBkaXJob21lIGRpcml0ZW1pemUgZGlybWFrZSBkaXJyZW1vdmUgZGlycmVuYW1lCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGRpcndpbmRvd3MgZGlza2V4aXN0IGRpc2tmcmVlIGRpc2tpbmZvIGRpc2tzY2FuIGRpc2tzaXplCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGRpc2t2b2xpbmZvIGRpc3BsYXkgZGxsY2FsbCBkbGxmcmVlIGRsbGhpbnN0IGRsbGh3bmQgZGxsbG9hZAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBkb3Nib3hjdXJzb3J4IGRvc2JveGN1cnNvcnkgZG9zYm94Z2V0YWxsIGRvc2JveGdldGRhdGEKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgZG9zYm94aGVpZ2h0IGRvc2JveHNjcm1vZGUgZG9zYm94dmVyc2lvbiBkb3Nib3h3aWR0aCBkb3N2ZXJzaW9uCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGRyb3AgZWRvc2dldGluZm8gZWRvc2dldHZhciBlZG9zbGlzdHZhcnMgZWRvc3BhdGhhZGQgZWRvc3BhdGhjaGsKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgZWRvc3BhdGhkZWwgZWRvc3NldHZhcgorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBlbmRzZXNzaW9uIGVudmdldGluZm8gZW52Z2V0dmFyIGVudmlyb25tZW50CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGVudmlyb25zZXQgZW52aXRlbWl6ZSBlbnZsaXN0dmFycyBlbnZwYXRoYWRkIGVudnBhdGhjaGsKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgZW52cGF0aGRlbCBlbnZzZXR2YXIgZXJyb3Jtb2RlIGV4Y2x1c2l2ZSBleGVjdXRlIGV4ZXR5cGVpbmZvCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGV4cCBmYWJzIGZpbGVhcHBlbmQgZmlsZWF0dHJnZXQgZmlsZWF0dHJzZXQgZmlsZWNsb3NlCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGZpbGVjb21wYXJlIGZpbGVjb3B5IGZpbGVkZWxldGUgZmlsZWV4aXN0IGZpbGVleHRlbnNpb24gZmlsZWZ1bGxuYW1lCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGZpbGVpdGVtaXplIGZpbGVsb2NhdGUgZmlsZW1hcG5hbWUgZmlsZW1vdmUgZmlsZW5hbWVldmFsMQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBmaWxlbmFtZWV2YWwyIGZpbGVuYW1lbG9uZyBmaWxlbmFtZXNob3J0IGZpbGVvcGVuIGZpbGVwYXRoCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGZpbGVyZWFkIGZpbGVyZW5hbWUgZmlsZXJvb3QgZmlsZXNpemUgZmlsZXRpbWVjb2RlIGZpbGV0aW1lZ2V0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGZpbGV0aW1lc2V0IGZpbGV0aW1ldG91Y2ggZmlsZXZlcmluZm8gZmlsZXdyaXRlIGZpbGV5bWRobXMKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgZmluZHdpbmRvdyBmbG9vciBnZXRleGFjdHRpbWUgZ2V0dGlja2NvdW50CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGljb25hcnJhbmdlIGljb25yZXBsYWNlIGlnbm9yZWlucHV0IGluaWRlbGV0ZSBpbmlkZWxldGVwdnQKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgaW5paXRlbWl6ZSBpbmlpdGVtaXplcHZ0IGluaXJlYWQgaW5pcmVhZHB2dCBpbml3cml0ZSBpbml3cml0ZXB2dAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBpbnN0YWxsZmlsZSBpbnQgaW50Y29udHJvbCBpc2RlZmluZWQgaXNmbG9hdCBpc2ludCBpc2tleWRvd24KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgaXNsaWNlbnNlZCBpc251bWJlciBpdGVtY291bnQgaXRlbWV4dHJhY3QgaXRlbWluc2VydCBpdGVtbG9jYXRlCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGl0ZW1yZW1vdmUgaXRlbXNlbGVjdCBpdGVtc29ydCBrZXl0b2dnbGVnZXQga2V5dG9nZ2xlc2V0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IGxhc3RlcnJvciBsb2cxMCBsb2dkaXNrIGxvZ2UgbWF4IG1lc3NhZ2UgbWluIG1vZCBtb3VzZWNsaWNrCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IG1vdXNlY2xpY2tidG4gbW91c2VkcmFnIG1vdXNlaW5mbyBtb3VzZW1vdmUgbXNndGV4dGdldCBuM2F0dGFjaAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBuM2NhcHR1cmVlbmQgbjNjYXB0dXJlcHJ0IG4zY2hncGFzc3dvcmQgbjNkZXRhY2ggbjNkaXJhdHRyZ2V0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IG4zZGlyYXR0cnNldCBuM2RyaXZlcGF0aCBuM2RyaXZlcGF0aDIgbjNkcml2ZXN0YXR1cyBuM2ZpbGVhdHRyZ2V0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IG4zZmlsZWF0dHJzZXQgbjNnZXRsb2dpbmlkIG4zZ2V0bWFwcGVkIG4zZ2V0bmV0YWRkciBuM2dldHVzZXIKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgbjNnZXR1c2VyaWQgbjNsb2dvdXQgbjNtYXAgbjNtYXBkZWxldGUgbjNtYXBkaXIgbjNtYXByb290IG4zbWVtYmVyZGVsCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IG4zbWVtYmVyZ2V0IG4zbWVtYmVyc2V0IG4zbXNnc2VuZCBuM21zZ3NlbmRhbGwgbjNzZXJ2ZXJpbmZvCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IG4zc2VydmVybGlzdCBuM3NldHNyY2hkcnYgbjN1c2VyZ3JvdXBzIG4zdmVyc2lvbiBuNGF0dGFjaAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBuNGNhcHR1cmVlbmQgbjRjYXB0dXJlcHJ0IG40Y2hncGFzc3dvcmQgbjRkZXRhY2ggbjRkaXJhdHRyZ2V0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IG40ZGlyYXR0cnNldCBuNGRyaXZlcGF0aCBuNGRyaXZlc3RhdHVzIG40ZmlsZWF0dHJnZXQgbjRmaWxlYXR0cnNldAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBuNGdldGxvZ2luaWQgbjRnZXRtYXBwZWQgbjRnZXRuZXRhZGRyIG40Z2V0dXNlciBuNGdldHVzZXJpZAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBuNGxvZ2luIG40bG9nb3V0IG40bWFwIG40bWFwZGVsZXRlIG40bWFwZGlyIG40bWFwcm9vdCBuNG1lbWJlcmRlbAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBuNG1lbWJlcmdldCBuNG1lbWJlcnNldCBuNG1zZ3NlbmQgbjRtc2dzZW5kYWxsIG40c2VydmVyaW5mbworc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBuNHNlcnZlcmxpc3QgbjRzZXRzcmNoZHJ2IG40dXNlcmdyb3VwcyBuNHZlcnNpb24gbmV0YWRkZHJpdmUKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgbmV0YWRkcHJpbnRlciBuZXRjYW5jZWxjb24gbmV0ZGlyZGlhbG9nIG5ldGdldGNvbiBuZXRnZXR1c2VyCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IG5ldGluZm8gbmV0cmVzb3VyY2VzIG5ldHZlcnNpb24gbnVtMmNoYXIgb2JqZWN0Y2xvc2UKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgb2JqZWN0b3BlbiBwYXJzZWRhdGEgcGF1c2UgcGxheW1lZGlhIHBsYXltaWRpIHBsYXl3YXZlZm9ybQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBwcmludCByYW5kb20gcmVnYXBwIHJlZ2Nsb3Nla2V5IHJlZ2Nvbm5lY3QgcmVnY3JlYXRla2V5CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHJlZ2RlbGV0ZWtleSByZWdkZWx2YWx1ZSByZWdlbnRyeXR5cGUgcmVnbG9hZGhpdmUgcmVnb3BlbmtleQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCByZWdxdWVyeWJpbiByZWdxdWVyeWR3b3JkIHJlZ3F1ZXJ5ZXggcmVncXVlcnlleHBzeiByZWdxdWVyeWl0ZW0KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgcmVncXVlcnlrZXkgcmVncXVlcnltdWxzeiByZWdxdWVyeXZhbHVlIHJlZ3NldGJpbgorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCByZWdzZXRkd29yZCByZWdzZXRleCByZWdzZXRleHBzeiByZWdzZXRtdWxzeiByZWdzZXR2YWx1ZQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCByZWd1bmxvYWRoaXZlIHJlbG9hZCByZWxvYWQgcnRzdGF0dXMgcnVuIHJ1bmVudmlyb24KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgcnVuZXhpdCBydW5oaWRlIHJ1bmhpZGV3YWl0IHJ1bmljb24gcnVuaWNvbndhaXQgcnVuc2hlbGwgcnVud2FpdAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCBydW56b29tIHJ1bnpvb213YWl0IHNlbmRrZXkgc2VuZGtleXNjaGlsZCBzZW5ka2V5c3RvCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHNlbmRtZW51c3RvIHNoZWxsZXhlY3V0ZSBzaG9ydGN1dGVkaXQgc2hvcnRjdXRleHRyYSBzaG9ydGN1dGluZm8KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgc2hvcnRjdXRtYWtlIHNpbiBzaW5oIHNuYXBzaG90IHNvdW5kcyBzcXJ0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHNyY2hmcmVlIHNyY2hpbml0IHNyY2huZXh0IHN0cmNhdCBzdHJjaGFyY291bnQgc3RyY21wCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHN0cmZpbGwgc3RyZml4IHN0cmZpeGNoYXJzIHN0cmljbXAgc3RyaW5kZXggc3RybGVuCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHN0cmxvd2VyIHN0cnJlcGxhY2Ugc3Ryc2NhbiBzdHJzdWIgc3RydHJpbSBzdHJ1cHBlcgorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB0YW4gdGFuaCB0Y3BhZGRyMmhvc3QgdGNwZnRwY2hkaXIgdGNwZnRwY2xvc2UgdGNwZnRwZ2V0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHRjcGZ0cGxpc3QgdGNwZnRwbW9kZSB0Y3BmdHBvcGVuIHRjcGZ0cHB1dCB0Y3Bob3N0MmFkZHIgdGNwaHR0cGdldAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB0Y3BodHRwcG9zdCB0Y3BwYXJtZ2V0IHRjcHBhcm1zZXQgdGNwcGluZyB0Y3BzbXRwIHRlcm1pbmF0ZQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB0ZXh0Ym94IHRleHRib3hzb3J0IHRleHRvdXRidWZkZWwgdGV4dG91dGJ1ZmZlciB0ZXh0b3V0ZGVidWcKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgdGV4dG91dGZyZWUgdGV4dG91dGluZm8gdGV4dG91dHJlc2V0IHRleHRvdXR0cmFjayB0ZXh0b3V0dHJhY2tiCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHRleHRvdXR0cmFja3AgdGV4dG91dHdhaXQgdGV4dHNlbGVjdCB0aW1lYWRkIHRpbWVkYXRlCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHRpbWVkZWxheSB0aW1lZGlmZmRheXMgdGltZWRpZmZzZWNzIHRpbWVqdWxpYW5kYXkgdGltZWp1bHRveW1kCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHRpbWVzdWJ0cmFjdCB0aW1ld2FpdCB0aW1leW1kaG1zIHZlcnNpb24gdmVyc2lvbmRsbAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3M2FkZGNvbiB3M2NhbmNlbGNvbiB3M2RpcmJyb3dzZSB3M2dldGNhcHMgdzNnZXRjb24gdzNuZXRkaWFsb2cKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgdzNuZXRnZXR1c2VyIHczcHJ0YnJvd3NlIHczdmVyc2lvbiB3OTVhY2Nlc3NhZGQgdzk1YWNjZXNzZGVsCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHc5NWFkZGRyaXZlIHc5NWFkZHByaW50ZXIgdzk1Y2FuY2VsY29uIHc5NWRpcmRpYWxvZyB3OTVnZXRjb24KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgdzk1Z2V0dXNlciB3OTVyZXNvdXJjZXMgdzk1c2hhcmVhZGQgdzk1c2hhcmVkZWwgdzk1c2hhcmVzZXQKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgdzk1dmVyc2lvbiB3YWl0Zm9ya2V5IHdhbGxwYXBlciB3ZWJiYXNlY29udiB3ZWJjbG9zZWxvZworc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3ZWJjbWRkYXRhIHdlYmNvbmRhdGEgd2ViY291bnRlciB3ZWJkYXRkYXRhIHdlYmR1bXBlcnJvciB3ZWJoYXNoY29kZQorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3ZWJpc2xvY2FsIHdlYmxvZ2xpbmUgd2Vib3BlbmxvZyB3ZWJvdXQgd2Vib3V0ZmlsZSB3ZWJwYXJhbWRhdGEKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgd2VicGFyYW1uYW1lcyB3ZWJzZXR0aW1lb3V0IHdlYnZlcmlmeWNhcmQgd2luYWN0aXZhdGUKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgd2luYWN0aXZjaGlsZCB3aW5hcnJhbmdlIHdpbmNsb3NlIHdpbmNsb3Nlbm90IHdpbmNvbmZpZyB3aW5leGVuYW1lCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHdpbmV4aXN0IHdpbnBhcnNldCB3aW5wYXJnZXQgd2luZXhpc3RjaGlsZCB3aW5nZXRhY3RpdmUKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgd2luaGVscCB3aW5oaWRlIHdpbmljb25pemUgd2luaWRnZXQgd2luaXNkb3Mgd2luaXRlbWNoaWxkCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHdpbml0ZW1pemUgd2luaXRlbW5hbWVpZCB3aW5tZXRyaWNzIHdpbm5hbWUgd2lucGFybWdldAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3aW5wYXJtc2V0IHdpbnBsYWNlIHdpbnBsYWNlZ2V0IHdpbnBsYWNlc2V0CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHdpbnBvc2l0aW9uIHdpbnJlc291cmNlcyB3aW5zaG93IHdpbnN0YXRlIHdpbnN5c2luZm8KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgd2ludGl0bGUgd2ludmVyc2lvbiB3aW53YWl0Y2hpbGQgd2lud2FpdGNsb3NlIHdpbndhaXRleGlzdAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3aW56b29tIHduYWRkY29uIHduY2FuY2VsY29uIHduY21wdHJpbmZvIHduZGlhbG9nCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHduZGxnYnJvd3NlIHduZGxnY29uIHduZGxnY29uMiB3bmRsZ2NvbjMKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgd25kbGdjb240IHduZGxnZGlzY29uIHduZGxnbm9zaGFyZSB3bmRsZ3NoYXJlIHduZ2V0Y2Fwcworc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3bmdldGNvbiB3bmdldHVzZXIgd25uZXRuYW1lcyB3bnJlc3RvcmUgd25zZXJ2ZXJzIHduc2hhcmVjbnQKK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgd25zaGFyZW5hbWUgd25zaGFyZXBhdGggd25zaGFyZXMgd250YWNjZXNzYWRkIHdudGFjY2Vzc2RlbAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3bnRhY2Nlc3NnZXQgd250YWRkZHJpdmUgd250YWRkcHJpbnRlciB3bnRjYW5jZWxjb24gd250ZGlyZGlhbG9nCitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHdudGdldGNvbiB3bnRnZXR1c2VyIHdudGxpc3Rncm91cHMgd250bWVtYmVyZGVsIHdudG1lbWJlcmdldAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3bnRtZW1iZXJncnBzIHdudG1lbWJlcmxpc3Qgd250bWVtYmVyc2V0IHdudHJlc291cmNlcyB3bnRzaGFyZWFkZAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB3bnRzaGFyZWRlbCB3bnRzaGFyZXNldCB3bnR2ZXJzaW9uIHdudmVyc2lvbiB3bndya2dyb3VwcyB3d2VudnVubG9hZAorc3luIGtleXdvcmQgd2luYmF0Y2hJbXBsaWNpdCB4YmFzZWNvbnZlcnQgeGN1cnNvcnNldCB4ZGlza2xhYmVsZ2V0IHhkcml2ZXJlYWR5IHhleHRlbmRlcmluZm8KK3N5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgeGdldGNoaWxkaHduZCB4Z2V0ZWxhcHNlZCB4aGV4IHhtZW1jb21wYWN0IHhtZXNzYWdlYm94CitzeW4ga2V5d29yZCB3aW5iYXRjaEltcGxpY2l0IHhzZW5kbWVzc2FnZSB4dmVyaWZ5Y2NhcmQgeWllbGQKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfd2luYmF0Y2hfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfd2luYmF0Y2hfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgd2luYmF0Y2hMYWJlbAkJUHJlUHJvYworICBIaUxpbmsgd2luYmF0Y2hDdGwJCU9wZXJhdG9yCisgIEhpTGluayB3aW5iYXRjaFN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIHdpbmJhdGNoVG9kbwkJVG9kbworICBIaUxpbmsgd2luYmF0Y2hTdHJpbmcJCVN0cmluZworICBIaUxpbmsgd2luYmF0Y2hWYXIJCVR5cGUKKyAgSGlMaW5rIHdpbmJhdGNoQ29tbWVudAlDb21tZW50CisgIEhpTGluayB3aW5iYXRjaEltcGxpY2l0CVNwZWNpYWwKKyAgSGlMaW5rIHdpbmJhdGNoTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHdpbmJhdGNoQ29uc3RhbnQJU3RvcmFnZUNsYXNzCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIndpbmJhdGNoIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvd21sLnZpbSBiL3J1bnRpbWUvc3ludGF4L3dtbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk1NzkzMAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3dtbC52aW0KQEAgLTAsMCArMSwxNzIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgV01MIC0gV2Vic2l0ZSBNZXRhTGFuZ3VhZ2UKKyIgTWFpbnRhaW5lcjogICBHZXJmcmllZCBGdWNocyA8YWxmaWVAaXN0Lm9yZz4KKyIgRmlsZW5hbWVzOiAgICAqLndtbAorIiBMYXN0IENoYW5nZTogIDA3IEZlYiAyMDAyCisiIFVSTDoJCWh0dHA6Ly9hbGZpZS5pc3Qub3JnL3NvZnR3YXJlL3ZpbS9zeW50YXgvd21sLnZpbQorIgorIiBPcmlnaW5hbCBWZXJzaW9uOiBDcmFpZyBTbWFsbCA8Y3NtYWxsQGV5ZS1uZXQuY29tLmF1PgorCisiIENvbW1lbnRzIGFyZSB2ZXJ5IHdlbGNvbWUgLSBidXQgcGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHlvdSBhcmUgY29tbWVudGluZyBvbgorIiB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBmaWxlLgorIiBTUEFNIGlzIF9OT1RfIHdlbGNvbWUgLSBiZSByZWFkeSB0byBiZSByZXBvcnRlZCEKKworIiAgSWYgeW91IGFyZSBsb29raW5nIGZvciB0aGUgIldpcmVsZXNzIE1hcmt1cCBMYW5ndWFnZSIgc3ludGF4IGZpbGUsCisiICBwbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIHdhcC52aW0gZmlsZSBkb25lIGJ5IFJhbGYgU2NoYW5kbCwgc29vbiBpbiBhCisiICB2aW0tcGFja2FnZSBhcm91bmQgeW91ciBjb3JuZXIgOikKKworCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW4gY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworIiBBIGxvdCBvZiB0aGUgd2ViIHN0dWZmIGxvb2tzIGxpa2UgSFRNTCBzbyB3ZSBsb2FkIHRoYXQgZmlyc3QKK2lmIHZlcnNpb24gPCA2MDAKKyAgc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCitlbmRpZgordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCitpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCisgIGxldCBtYWluX3N5bnRheCA9ICd3bWwnCitlbmRpZgorCisiIHNwZWNpYWwgY2hhcmFjdGVyCitzeW4gbWF0Y2ggd21sTmV4dExpbmUJIlxcJCIKKworIiBSZWRmaW5lIGh0bWxUYWcKK3N5biBjbGVhciBodG1sVGFnCitzeW4gcmVnaW9uICBodG1sVGFnICBzdGFydD0rPFteLzxdKyBlbmQ9Kz4rICBjb250YWlucz1odG1sVGFnTixodG1sU3RyaW5nLGh0bWxBcmcsaHRtbFZhbHVlLGh0bWxUYWdFcnJvcixodG1sRXZlbnQsaHRtbENzc0RlZmluaXRpb24KKworIgorIiBBZGQgaW4gZXh0cmEgQXJndW1lbnRzIHVzZWQgYnkgd21sCitzeW4ga2V5d29yZCBodG1sVGFnTmFtZSBjb250YWluZWQgZ2ZvbnQgaW1nYmcgaW1nZG90IGxvd3NyYworc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIG5hdmJhcjpkZWZpbmUgbmF2YmFyOmhlYWRlcgorc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIG5hdmJhcjpmb290ZXIgbmF2YmFyOnByb2xvZworc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIG5hdmJhcjplcGlsb2cgbmF2YmFyOmJ1dHRvbgorc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIG5hdmJhcjpmaWx0ZXIgbmF2YmFyOmRlYnVnCitzeW4ga2V5d29yZCBodG1sVGFnTmFtZSBjb250YWluZWQgbmF2YmFyOnJlbmRlcgorc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIHByZWxvYWQgcm9sbG92ZXIKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBzcGFjZSBoc3BhY2UgdnNwYWNlIG92ZXIKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBwcyBkcyBwaSBlaW4gYmlnIHNjIHNwYWNlZCBoZWFkbGluZQorc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIHVlIHN1YmhlYWRsaW5lIHp3dWUgdmVyYmNvZGUKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBpc29sYXRpbiBwb2Qgc2RmIHRleHQgdXJsIHZlcmJhdGltCitzeW4ga2V5d29yZCBodG1sVGFnTmFtZSBjb250YWluZWQgeHRhYmxlCitzeW4ga2V5d29yZCBodG1sVGFnTmFtZSBjb250YWluZWQgY3NtYXAgZnN2aWV3IGltcG9ydCBib3gKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBjYXNlOnVwcGVyIGNhc2U6bG93ZXIKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBncmlkIGNlbGwgaW5mbyBsYW5nOiBsb2dvIHBhZ2UKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBzZXQtdmFyIHJlc3RvcmUKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCBhcnJheTpwdXNoIGFycmF5OnNob3cgc2V0LXZhciBpZmRlZgorc3luIGtleXdvcmQgaHRtbFRhZ05hbWUgY29udGFpbmVkIHNheSBtNCBzeW1ib2wgZHVtcCBlbnRlciBkaXZlcnQKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCB0b2MKK3N5biBrZXl3b3JkIGh0bWxUYWdOYW1lIGNvbnRhaW5lZCB3bWwgY2FyZCBkbyByZWZyZXNoIG9uZWV2ZW50IGNhdGNoIHNwYXduCisKKyIKKyIgVGhlIHdtbCBhcmd1bWVudHMKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIGFkanVzdCBiYWNrZ3JvdW5kIGJhc2UgYmRjb2xvciBiZHNwYWNlCitzeW4ga2V5d29yZCBodG1sQXJnIGNvbnRhaW5lZCBiZHdpZHRoIGNvbXBsZXRlIGNvcHlyaWdodCBjcmVhdGVkIGNyb3AKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIGRpcmVjdGlvbiBkZXNjcmlwdGlvbiBkb21haW5uYW1lIGVwZXJsZmlsdGVyCitzeW4ga2V5d29yZCBodG1sQXJnIGNvbnRhaW5lZCBmaWxlIGhpbnQgaW1nYmFzZSBpbWdzdGFyIGludGVyY2hhciBpbnRlcmxpbmUKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIGtlZXBociBrZWVwaW5kZXgga2V5d29yZHMgbGF5b3V0IHNwYWNpbmcKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIHBhZGRpbmcgbm9uZXRzY2FwZSBub3NjYWxlIG5vdGFnIG5vdHlwbworc3luIGtleXdvcmQgaHRtbEFyZyBjb250YWluZWQgb25sb2FkIG92ZXJzcmMgcG9zIHNlbGVjdCBzbGljZXMgc3R5bGUKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIHN1YnNlbGVjdGVkIHR4dGNvbF9zZWxlY3QgdHh0Y29sX25vcm1hbAorc3luIGtleXdvcmQgaHRtbEFyZyBjb250YWluZWQgdHh0b25seSB2aWEKK3N5biBrZXl3b3JkIGh0bWxBcmcgY29udGFpbmVkIG1vZGUgY29sdW1ucyBsb2NhbHNyYyBvcmRlcmVkCisKKworIiBMaW5lcyBzdGFydGluZyB3aXRoIGFuICMgYXJlIHVzdWFsbHkgY29tbWVudHMKK3N5biBtYXRjaCAgIHdtbENvbW1lbnQgICAgICJeXHMqIy4qIgorIiBUaGUgZGlmZmVyZW50IGV4Y2VwdGlvbnMgdG8gY29tbWVudHMKK3N5biBtYXRjaCAgIHdtbFNoYXJwQmFuZyAgICJeIyEuKiIKK3N5biBtYXRjaCAgIHdtbFVzZWQJICAgY29udGFpbmVkICJcc1xzKltBLVphLXo6Xy1dKiIKK3N5biBtYXRjaCAgIHdtbFVzZQkgICAiXlxzKiNccyp1c2Vcc1wrIiBjb250YWlucz13bWxVc2VkCitzeW4gbWF0Y2ggICB3bWxJbmNsdWRlCSAgICJeXHMqI1xzKmluY2x1ZGUuKyIKKworc3luIHJlZ2lvbiAgd21sQm9keQkgICBjb250YWluZWQgc3RhcnQ9Kzw8KyBlbmQ9Kz4+KworCitzeW4gbWF0Y2ggICB3bWxMb2NhdGlvbklkICBjb250YWluZWQgIltBLVphLXpdXCsiCitzeW4gcmVnaW9uICB3bWxMb2NhdGlvbiAgICBzdGFydD0rPDwrIGVuZD0rPj4rIGNvbnRhaW5zPXdtbExvY2F0aW9uSWQKKyJzeW4gcmVnaW9uICB3bWxMb2NhdGlvbiAgICBzdGFydD0reyMrIGVuZD0rI30rIGNvbnRhaW5zPXdtbExvY2F0aW9uSWQKKyJzeW4gcmVnaW9uICB3bWxMb2NhdGlvbmVkICBjb250YWluZWQgc3RhcnQ9Kzw8KyBlbmQ9Kz4+KyBjb250YWlucz13bWxMb2NhdGlvbklkCisKK3N5biBtYXRjaCAgIHdtbERpdmVydCAgICAgICJcLlwuW2EtekEtWl9dXCs+PiIKK3N5biBtYXRjaCAgIHdtbERpdmVydEVuZCAgICI8PFwuXC4iCisiIG5ldyB2ZXJzaW9uCisic3luIG1hdGNoICAgd21sRGl2ZXJ0ICAgICAgInsjW2EtekEtWl9dXCsjOiIKKyJzeW4gbWF0Y2ggICB3bWxEaXZlcnRFbmQgICAiOiMjfSIKKworc3luIG1hdGNoICAgd21sRGVmaW5lTmFtZSAgY29udGFpbmVkICJcc1wrW0EtWmEtei1dXCsiCitzeW4gcmVnaW9uICBodG1sVGFnTmFtZSAgICBzdGFydD0iXDxcKGRlZmluZS10YWdcfGRlZmluZS1yZWdpb25cKSIgZW5kPSJcPiIgY29udGFpbnM9d21sRGVmaW5lTmFtZQorCisiIFRoZSBwZXJsIGluY2x1ZGUgc3R1ZmYKK2lmIG1haW5fc3ludGF4ICE9ICdwZXJsJworICAiIFBlcmwgc2NyaXB0CisgIGlmIHZlcnNpb24gPCA2MDAKKyAgICBzeW4gaW5jbHVkZSBAd21sUGVybFNjcmlwdCA8c2ZpbGU+OnA6aC9wZXJsLnZpbQorICBlbHNlCisgICAgc3luIGluY2x1ZGUgQHdtbFBlcmxTY3JpcHQgc3ludGF4L3BlcmwudmltCisgIGVuZGlmCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKKworICBzeW4gcmVnaW9uIHBlcmxTY3JpcHQgICBzdGFydD0rPHBlcmw+KyBrZWVwZW5kIGVuZD0rPC9wZXJsPisgY29udGFpbnM9QHdtbFBlcmxTY3JpcHQsd21sUGVybFRhZworIiBlcGVybCBiZXR3ZWVuICc8OicgYW5kICc6PicgIC0tIEFsZmllIFsxOTk5LTEyLTI2XQorICBzeW4gcmVnaW9uIHBlcmxTY3JpcHQgICBzdGFydD0rPDorIGtlZXBlbmQgZW5kPSs6PisgY29udGFpbnM9QHdtbFBlcmxTY3JpcHQsd21sUGVybFRhZworICBzeW4gbWF0Y2ggICAgd21sUGVybFRhZyAgY29udGFpbmVkICI8LypwZXJsPiIgY29udGFpbnM9d21sUGVybFRhZ04KKyAgc3luIGtleXdvcmQgIHdtbFBlcmxUYWdOIGNvbnRhaW5lZCBwZXJsCisKKyAgaGkgbGluayAgIHdtbFBlcmxUYWcgIGh0bWxUYWcKKyAgaGkgbGluayAgIHdtbFBlcmxUYWdOIGh0bWxTdGF0ZW1lbnQKK2VuZGlmCisKKyIgdmVyYmF0aW0gdGFncyAtLSBkb24ndCBoaWdobGlnaHQgYW55dGhpbmcgaW4gYmV0d2VlbiAgLS0gQWxmaWUgWzIwMDItMDItMDddCitzeW4gcmVnaW9uICB3bWxWZXJiYXRpbVRleHQgc3RhcnQ9Kzx2ZXJiYXRpbT4rIGtlZXBlbmQgZW5kPSs8L3ZlcmJhdGltPisgY29udGFpbnM9d21sVmVyYmF0aW1UYWcKK3N5biBtYXRjaCAgIHdtbFZlcmJhdGltVGFnICBjb250YWluZWQgIjwvKnZlcmJhdGltPiIgY29udGFpbnM9d21sVmVyYmF0aW1UYWdOCitzeW4ga2V5d29yZCB3bWxWZXJiYXRpbVRhZ04gY29udGFpbmVkIHZlcmJhdGltCitoaSBsaW5rICAgICB3bWxWZXJiYXRpbVRhZyAgaHRtbFRhZworaGkgbGluayAgICAgd21sVmVyYmF0aW1UYWdOIGh0bWxTdGF0ZW1lbnQKKworaWYgbWFpbl9zeW50YXggPT0gImh0bWwiCisgIHN5biBzeW5jIG1hdGNoIHdtbEhpZ2hsaWdodCBncm91cHRoZXJlIE5PTkUgIjwvYS16QS1aXSIKKyAgc3luIHN5bmMgbWF0Y2ggd21sSGlnaGxpZ2h0IGdyb3VwdGhlcmUgcGVybFNjcmlwdCAiPHBlcmw+IgorICBzeW4gc3luYyBtYXRjaCB3bWxIaWdobGlnaHRTa2lwICJeLipbJ1wiXS4qJCIKKyAgc3luIHN5bmMgbWlubGluZXM9MTAKK2VuZGlmCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3dtbF9zeW5faW5pdHMiKQorICBsZXQgZGlkX3dtbF9zeW5faW5pdHMgPSAxCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3dtbF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB3bWxOZXh0TGluZQlTcGVjaWFsCisgIEhpTGluayB3bWxVc2UJCUluY2x1ZGUKKyAgSGlMaW5rIHdtbFVzZWQJU3RyaW5nCisgIEhpTGluayB3bWxCb2R5CVNwZWNpYWwKKyAgSGlMaW5rIHdtbERpdmVydGVkCUxhYmVsCisgIEhpTGluayB3bWxEaXZlcnQJRGVsaW1pdGVyCisgIEhpTGluayB3bWxEaXZlcnRFbmQJRGVsaW1pdGVyCisgIEhpTGluayB3bWxMb2NhdGlvbklkCUxhYmVsCisgIEhpTGluayB3bWxMb2NhdGlvbglEZWxpbWl0ZXIKKyIgSGlMaW5rIHdtbExvY2F0aW9uZWQJRGVsaW1pdGVyCisgIEhpTGluayB3bWxEZWZpbmVOYW1lCVN0cmluZworICBIaUxpbmsgd21sQ29tbWVudAlDb21tZW50CisgIEhpTGluayB3bWxJbmNsdWRlCUluY2x1ZGUKKyAgSGlMaW5rIHdtbFNoYXJwQmFuZwlQcmVQcm9jCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIndtbCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3dzaC52aW0gYi9ydW50aW1lL3N5bnRheC93c2gudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4YmExMDUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC93c2gudmltCkBAIC0wLDAgKzEsNDUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglXaW5kb3dzIFNjcmlwdGluZyBIb3N0CisiIE1haW50YWluZXI6CVBhdWwgTW9vcmUgPGd1c3RhdkBtb3JwaGV1cy5kZW1vbi5jby51az4KKyIgTGFzdCBDaGFuZ2U6CUZyZSwgMjQgTm92IDIwMDAgMjE6NTQ6MDkgKzAxMDAKKworIiBUaGlzIHJldXNlcyB0aGUgWE1MLCBWQiBhbmQgSmF2YVNjcmlwdCBzeW50YXggZmlsZXMuIFdoaWxlIFZCIGlzIG5vdAorIiBWQlNjcmlwdCwgaXQncyBjbG9zZSBlbm91Z2ggZm9yIHVzLiBObyBhdHRlbXB0IGlzIG1hZGUgdG8gaGFuZGxlCisiIG90aGVyIGxhbmd1YWdlcy4KKyIgU2VuZCBjb21tZW50cywgc3VnZ2VzdGlvbnMgYW5kIHJlcXVlc3RzIHRvIHRoZSBtYWludGFpbmVyLgorCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitsZXQgczp3c2hfY3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCitydW50aW1lISBzeW50YXgveG1sLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAorCitzeW4gY2FzZSBpZ25vcmUKK3N5biBpbmNsdWRlIEB3c2hWQlNjcmlwdCA8c2ZpbGU+OnA6aC92Yi52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKK3N5biBpbmNsdWRlIEB3c2hKYXZhU2NyaXB0IDxzZmlsZT46cDpoL2phdmFzY3JpcHQudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CitzeW4gcmVnaW9uIHdzaFZCU2NyaXB0CisgICAgXCBtYXRjaGdyb3VwPXhtbFRhZyAgICBzdGFydD0iPHNjcmlwdFtePl0qVkJTY3JpcHRcKD5cfFtePl0qW14vPl0+XCkiCisgICAgXCBtYXRjaGdyb3VwPXhtbEVuZFRhZyBlbmQ9Ijwvc2NyaXB0PiIKKyAgICBcIGZvbGQKKyAgICBcIGNvbnRhaW5zPUB3c2hWQlNjcmlwdAorICAgIFwga2VlcGVuZAorc3luIHJlZ2lvbiB3c2hKYXZhU2NyaXB0CisgICAgXCBtYXRjaGdyb3VwPXhtbFRhZyAgICBzdGFydD0iPHNjcmlwdFtePl0qSlwoYXZhXClcPVNjcmlwdFwoPlx8W14+XSpbXi8+XT5cKSIKKyAgICBcIG1hdGNoZ3JvdXA9eG1sRW5kVGFnIGVuZD0iPC9zY3JpcHQ+IgorICAgIFwgZm9sZAorICAgIFwgY29udGFpbnM9QHdzaEphdmFTY3JpcHQKKyAgICBcIGtlZXBlbmQKKworc3luIGNsdXN0ZXIgeG1sUmVnaW9uSG9vayBhZGQ9d3NoVkJTY3JpcHQsd3NoSmF2YVNjcmlwdAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ3c2giCisKK2xldCAmY3BvID0gczp3c2hfY3BvX3NhdmUKK3VubGV0IHM6d3NoX2Nwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC93dmRpYWwudmltIGIvcnVudGltZS9zeW50YXgvd3ZkaWFsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzUxMzhiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvd3ZkaWFsLnZpbQpAQCAtMCwwICsxLDI4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIENvbmZpZ3VyYXRpb24gZmlsZSBmb3IgV3ZEaWFsCisiIE1haW50YWluZXI6ICAgUHJhaGxhZCBWYWlkeWFuYXRoYW4gPHNsaW1lQHZzbmwubmV0PgorIiBMYXN0IFVwZGF0ZTogIE1vbiwgMTUgT2N0IDIwMDEgMDk6Mzk6MDMgSW5kaWFuIFN0YW5kYXJkIFRpbWUKKworIiBRdWl0IGlmIHN5bnRheCBmaWxlIGlzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworc3luIG1hdGNoICAgd3ZkaWFsQ29tbWVudCAgICJeOy4qJCJsYz0xCitzeW4gbWF0Y2ggICB3dmRpYWxDb21tZW50ICAgIlteXFxdOy4qJCJsYz0xCitzeW4gbWF0Y2ggICB3dmRpYWxTZWN0aW9uICAgIl5ccypcWy4qXF0iCitzeW4gbWF0Y2ggICB3dmRpYWxWYWx1ZSAgICAgIj0uKiQibXM9cysxCitzeW4gbWF0Y2ggICB3dmRpYWxWYWx1ZSAgICAgIlxzKlteIDsiJyBdXCsibGM9MQorc3luIG1hdGNoICAgd3ZkaWFsVmFyICAgICAgICJeXHMqXChJbmhlcml0c1x8TW9kZW1cfEJhdWRcfEluaXQuXHxQaG9uZVx8QXJlYVwgQ29kZVx8RGlhbFwgUHJlZml4XHxEaWFsXCBDb21tYW5kXHxMb2dpblx8TG9naW5cfCBQcm9tcHRcfFBhc3N3b3JkXHxQYXNzd29yZFwgUHJvbXB0XHxQUFBEXCBQYXRoXHxGb3JjZVwgQWRkcmVzc1x8UmVtb3RlXCBOYW1lXHxDYXJyaWVyXCBDaGVja1x8U3R1cGlkXCBbTW1db2RlXHxOZXdcIFBQUERcfERlZmF1bHRcIFJlcGx5XHxBdXRvXCBSZWNvbm5lY3RcfFNldFZvbHVtZVx8VXNlcm5hbWVcKSIKK3N5biBtYXRjaCAgIHd2ZGlhbEVxdWFsICAgICAiPSIKKworIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKK2hpIGRlZiBsaW5rIHd2ZGlhbENvbW1lbnQgICBDb21tZW50CitoaSBkZWYgbGluayB3dmRpYWxTZWN0aW9uICAgUHJlUHJvYworaGkgZGVmIGxpbmsgd3ZkaWFsVmFyICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHd2ZGlhbFZhbHVlICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHd2ZGlhbEVxdWFsICAgICBTdGF0ZW1lbnQKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAid3ZkaWFsIgorCisiRU9GIHZpbTogdHc9Nzg6ZnQ9dmltOnRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3hkZWZhdWx0cy52aW0gYi9ydW50aW1lL3N5bnRheC94ZGVmYXVsdHMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0ZDNiNjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC94ZGVmYXVsdHMudmltCkBAIC0wLDAgKzEsMTQ1IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJWCByZXNvdXJjZXMgZmlsZXMgbGlrZSB+Ly5YZGVmYXVsdHMgKHhyZGIpCisiIE1haW50YWluZXI6CUpvaGFubmVzIFplbGxuZXIgPGpvaGFubmVzQHplbGxuZXIub3JnPgorIgkJQXV0aG9yIGFuZCBwcmV2aW91cyBtYWludGFpbmVyOgorIgkJR2F1dGFtIEguIE11ZHVudXJpIDxnbXVkdW51ckBpbmZvcm1hdGljYS5jb20+CisiIExhc3QgQ2hhbmdlOglUdWUsIDI3IEFwciAyMDA0IDE0OjU0OjU5IENFU1QKKyIgJElkJAorIgorIiBSRUZFUkVOQ0VTOgorIiAgIHhyZGIgbWFudWFsIHBhZ2UKKyIgICB4cmRiIHNvdXJjZTogZnRwOi8vZnRwLngub3JnL3B1Yi9SNi40L3hjL3Byb2dyYW1zL3hyZGIveHJkYi5jCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiB0dXJuIGNhc2Ugb24KK3N5biBjYXNlIG1hdGNoCisKKworaWYgIWV4aXN0cygieGRlZmF1bHRzX25vX2NvbG9uX2Vycm9ycyIpCisgICAgIiBtYXJrIGxpbmVzIHdoaWNoIGRvIG5vdCBjb250YWluIGEgY29sb24gYXMgZXJyb3JzLgorICAgICIgVGhpcyBkb2VzIG5vdCByZWFsbHkgY2F0Y2ggYWxsIGVycm9ycyBidXQgb25seSBsaW5lcworICAgICIgd2hpY2ggY29udGFpbiBhdCBsZWFzdCB0d28gV09SRFMgYW5kIG5vIGNvbG9uLiBUaGlzCisgICAgIiB3YXMgZG9uZSB0aGlzIHdheSBzbyB0aGF0IGEgbGluZSBpcyBub3QgbWFya2VkIGFzCisgICAgIiBlcnJvciB3aGlsZSB0eXBpbmcgKHdoaWNoIHdvdWxkIGJlIGFubm95aW5nKS4KKyAgICBzeW50YXggbWF0Y2ggeGRlZmF1bHRzRXJyb3JMaW5lICJeXHMqW2EtekEtWi4qXVwrXHNcK1teOiAJXVwrIgorZW5kaWYKKworCisiIHN5biByZWdpb24gIHhkZWZhdWx0c0xhYmVsICAgc3RhcnQ9K15bXjpdXHstfToraGU9ZS0xIHNraXA9K1xcKyBlbmQ9IiQiCitzeW4gbWF0Y2ggICB4ZGVmYXVsdHNMYWJlbCAgICtbXjpdXHstfToraGU9ZS0xICAgICAgICAgICAgICAgICAgICAgICBjb250YWlucz14ZGVmYXVsdHNQdW5jdCx4ZGVmYXVsdHNTcGVjaWFsLHhkZWZhdWx0c0xpbmVFbmQKK3N5biByZWdpb24gIHhkZWZhdWx0c1ZhbHVlICAga2VlcGVuZCBzdGFydD0rOitsYz0xIHNraXA9K1xcKyBlbmQ9KyQrIGNvbnRhaW5zPXhkZWZhdWx0c1NwZWNpYWwseGRlZmF1bHRzTGFiZWwseGRlZmF1bHRzTGluZUVuZAorCitzeW4gbWF0Y2ggICB4ZGVmYXVsdHNTcGVjaWFsCWNvbnRhaW5lZCArI292ZXJyaWRlKworc3luIG1hdGNoICAgeGRlZmF1bHRzU3BlY2lhbAljb250YWluZWQgKyNhdWdtZW50Kworc3luIG1hdGNoICAgeGRlZmF1bHRzUHVuY3QJY29udGFpbmVkICtbLio6XSsKK3N5biBtYXRjaCAgIHhkZWZhdWx0c0xpbmVFbmQJY29udGFpbmVkICtcXCQrCitzeW4gbWF0Y2ggICB4ZGVmYXVsdHNMaW5lRW5kCWNvbnRhaW5lZCArXFxuXFwkKworc3luIG1hdGNoICAgeGRlZmF1bHRzTGluZUVuZAljb250YWluZWQgK1xcbiQrCisKKworCisiIENPTU1FTlRTCisKKyIgbm90ZSwgdGhhdCB0aGUgJyEnIG11c3QgYmUgYXQgdGhlIHZlcnkgZmlyc3QgcG9zaXRpb24gb2YgdGhlIGxpbmUKK3N5biBtYXRjaCAgIHhkZWZhdWx0c0NvbW1lbnQgIl4hLiokIiAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zPXhkZWZhdWx0c1RvZG8KKworIiBsaW5lcyBzdGFydGluZyB3aXRoIGEgJyMnIG1hcmsgYW5kIHdoaWNoIGFyZSBub3QgcHJlcHJvY2Vzc29yCisiIGxpbmVzIGFyZSBza2lwcGVkLiAgVGhpcyBpcyBub3QgcGFydCBvZiB0aGUgeHJkYiBkb2N1bWVudGF0aW9uLgorIiBJdCB3YXMgcmVwb3J0ZWQgYnkgQnJhbSBNb29sZW5hYXIgYW5kIGNvdWxkIGJlIGNvbmZpcm1lZCBieQorIiBoYXZpbmcgYSBsb29rIGF0IHhyZGIuYzpHZXRFbnRyaWVzKCkKK3N5biBtYXRjaCAgIHhkZWZhdWx0c0NvbW1lbnRICQkiXiMuKiQiCisic3luIHJlZ2lvbiAgeGRlZmF1bHRzQ29tbWVudCBzdGFydD0iXiMiICBlbmQ9IiQiIGtlZXBlbmQgY29udGFpbnM9QUxMCitzeW4gcmVnaW9uICB4ZGVmYXVsdHNDb21tZW50IHN0YXJ0PSIvXCoiIGVuZD0iXCovIiAgICAgICBjb250YWlucz14ZGVmYXVsdHNUb2RvCisKK3N5bnRheCBtYXRjaCB4ZGVmYXVsdHNDb21tZW50RXJyb3IJIlwqLyIKKworc3luIGtleXdvcmQgeGRlZmF1bHRzVG9kbyBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggZGlzcGxheQorCisKKworIiBQUkVQUk9DRVNTT1IgU1RVRkYKKworc3luIHJlZ2lvbgl4ZGVmYXVsdHNQcmVQcm9jCXN0YXJ0PSJeXHMqI1xzKlwoaWZcfGlmZGVmXHxpZm5kZWZcfGVsaWZcfGVsc2VcfGVuZGlmXClcPiIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPXhkZWZhdWx0c1N5bWJvbAoraWYgIWV4aXN0cygieGRlZmF1bHRzX25vX2lmMCIpCisgIHN5biByZWdpb24JeGRlZmF1bHRzQ3BwT3V0CQlzdGFydD0iXlxzKiNccyppZlxzXCswXD4iIGVuZD0iLlx8JCIgY29udGFpbnM9eGRlZmF1bHRzQ3BwT3V0MgorICBzeW4gcmVnaW9uCXhkZWZhdWx0c0NwcE91dDIJY29udGFpbmVkIHN0YXJ0PSIwIiBlbmQ9Il5ccyojXHMqXChlbmRpZlw+XHxlbHNlXD5cfGVsaWZcPlwpIiBjb250YWlucz14ZGVmYXVsdHNDcHBTa2lwCisgIHN5biByZWdpb24JeGRlZmF1bHRzQ3BwU2tpcAljb250YWluZWQgc3RhcnQ9Il5ccyojXHMqXChpZlw+XHxpZmRlZlw+XHxpZm5kZWZcPlwpIiBza2lwPSJcXCQiIGVuZD0iXlxzKiNccyplbmRpZlw+IiBjb250YWlucz14ZGVmYXVsdHNDcHBTa2lwCitlbmRpZgorc3luIHJlZ2lvbgl4ZGVmYXVsdHNJbmNsdWRlZAljb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworc3luIG1hdGNoCXhkZWZhdWx0c0luY2x1ZGVkCWNvbnRhaW5lZCAiPFtePl0qPiIKK3N5biBtYXRjaAl4ZGVmYXVsdHNJbmNsdWRlCSJeXHMqI1xzKmluY2x1ZGVcPlxzKlsiPF0iIGNvbnRhaW5zPXhkZWZhdWx0c0luY2x1ZGVkCitzeW4gY2x1c3Rlcgl4ZGVmYXVsdHNQcmVQcm9jR3JvdXAJY29udGFpbnM9eGRlZmF1bHRzUHJlUHJvYyx4ZGVmYXVsdHNJbmNsdWRlZCx4ZGVmYXVsdHNJbmNsdWRlLHhkZWZhdWx0c0RlZmluZQorc3luIHJlZ2lvbgl4ZGVmYXVsdHNEZWZpbmUJCXN0YXJ0PSJeXHMqI1xzKlwoZGVmaW5lXHx1bmRlZlwpXD4iIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1BTExCVVQsQHhkZWZhdWx0c1ByZVByb2NHcm91cCx4ZGVmYXVsdHNDb21tZW50SCx4ZGVmYXVsdHNFcnJvckxpbmUKK3N5biByZWdpb24JeGRlZmF1bHRzUHJlUHJvYwlzdGFydD0iXlxzKiNccypcKHByYWdtYVw+XHxsaW5lXD5cfHdhcm5pbmdcPlx8d2Fyblw+XHxlcnJvclw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPUFMTEJVVCxAeGRlZmF1bHRzUHJlUHJvY0dyb3VwLHhkZWZhdWx0c0NvbW1lbnRILHhkZWZhdWx0c0Vycm9yTGluZQorCisKKworIiBzeW1ib2xzIGFzIGRlZmluZWQgYnkgeHJkYgorc3luIGtleXdvcmQgeGRlZmF1bHRzU3ltYm9sIGNvbnRhaW5lZCBTRVJWRVJIT1NUCitzeW4gbWF0Y2ggICB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkICJTUlZSX1thLXpBLVowLTlfXVwrIgorc3luIGtleXdvcmQgeGRlZmF1bHRzU3ltYm9sIGNvbnRhaW5lZCBIT1NUCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIERJU1BMQVlfTlVNCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIENMSUVOVEhPU1QKK3N5biBtYXRjaCAgIHhkZWZhdWx0c1N5bWJvbCBjb250YWluZWQgIkNMTlRfW2EtekEtWjAtOV9dXCsiCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIFJFTEVBU0UKK3N5biBrZXl3b3JkIHhkZWZhdWx0c1N5bWJvbCBjb250YWluZWQgUkVWSVNJT04KK3N5biBrZXl3b3JkIHhkZWZhdWx0c1N5bWJvbCBjb250YWluZWQgVkVSU0lPTgorc3luIGtleXdvcmQgeGRlZmF1bHRzU3ltYm9sIGNvbnRhaW5lZCBWRU5ET1IKK3N5biBtYXRjaCAgIHhkZWZhdWx0c1N5bWJvbCBjb250YWluZWQgIlZORFJfW2EtekEtWjAtOV9dXCsiCitzeW4gbWF0Y2ggICB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkICJFWFRfW2EtekEtWjAtOV9dXCsiCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIE5VTV9TQ1JFRU5TCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIFNDUkVFTl9OVU0KK3N5biBrZXl3b3JkIHhkZWZhdWx0c1N5bWJvbCBjb250YWluZWQgQklUU19QRVJfUkdCCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIENMQVNTCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIFN0YXRpY0dyYXkgR3JheVNjYWxlIFN0YXRpY0NvbG9yIFBzZXVkb0NvbG9yIFRydWVDb2xvciBEaXJlY3RDb2xvcgorc3luIG1hdGNoICAgeGRlZmF1bHRzU3ltYm9sIGNvbnRhaW5lZCAiQ0xBU1NfXChTdGF0aWNHcmF5XHxHcmF5U2NhbGVcfFN0YXRpY0NvbG9yXHxQc2V1ZG9Db2xvclx8VHJ1ZUNvbG9yXHxEaXJlY3RDb2xvclwpIgorc3luIGtleXdvcmQgeGRlZmF1bHRzU3ltYm9sIGNvbnRhaW5lZCBDT0xPUgorc3luIG1hdGNoICAgeGRlZmF1bHRzU3ltYm9sIGNvbnRhaW5lZCAiQ0xBU1NfXChTdGF0aWNHcmF5XHxHcmF5U2NhbGVcfFN0YXRpY0NvbG9yXHxQc2V1ZG9Db2xvclx8VHJ1ZUNvbG9yXHxEaXJlY3RDb2xvclwpX1swLTldXCsiCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIEhFSUdIVAorc3luIGtleXdvcmQgeGRlZmF1bHRzU3ltYm9sIGNvbnRhaW5lZCBXSURUSAorc3luIGtleXdvcmQgeGRlZmF1bHRzU3ltYm9sIGNvbnRhaW5lZCBQTEFORVMKK3N5biBrZXl3b3JkIHhkZWZhdWx0c1N5bWJvbCBjb250YWluZWQgWF9SRVNPTFVUSU9OCitzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIFlfUkVTT0xVVElPTgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF94ZGVmYXVsdHNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfeGRlZmF1bHRzX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisgIEhpTGluayB4ZGVmYXVsdHNMYWJlbAkJVHlwZQorICBIaUxpbmsgeGRlZmF1bHRzVmFsdWUJCUNvbnN0YW50CisgIEhpTGluayB4ZGVmYXVsdHNDb21tZW50CUNvbW1lbnQKKyAgSGlMaW5rIHhkZWZhdWx0c0NvbW1lbnRICXhkZWZhdWx0c0NvbW1lbnQKKyAgSGlMaW5rIHhkZWZhdWx0c1ByZVByb2MJUHJlUHJvYworICBIaUxpbmsgeGRlZmF1bHRzSW5jbHVkZQl4ZGVmYXVsdHNQcmVQcm9jCisgIEhpTGluayB4ZGVmYXVsdHNDcHBTa2lwCXhkZWZhdWx0c0NwcE91dAorICBIaUxpbmsgeGRlZmF1bHRzQ3BwT3V0Mgl4ZGVmYXVsdHNDcHBPdXQKKyAgSGlMaW5rIHhkZWZhdWx0c0NwcE91dAlDb21tZW50CisgIEhpTGluayB4ZGVmYXVsdHNJbmNsdWRlZAlTdHJpbmcKKyAgSGlMaW5rIHhkZWZhdWx0c0RlZmluZQlNYWNybworICBIaUxpbmsgeGRlZmF1bHRzU3ltYm9sCVN0YXRlbWVudAorICBIaUxpbmsgeGRlZmF1bHRzU3BlY2lhbAlTdGF0ZW1lbnQKKyAgSGlMaW5rIHhkZWZhdWx0c0Vycm9yTGluZQlFcnJvcgorICBIaUxpbmsgeGRlZmF1bHRzQ29tbWVudEVycm9yCUVycm9yCisgIEhpTGluayB4ZGVmYXVsdHNQdW5jdAkJTm9ybWFsCisgIEhpTGluayB4ZGVmYXVsdHNMaW5lRW5kCVNwZWNpYWwKKyAgSGlMaW5rIHhkZWZhdWx0c1RvZG8JCVRvZG8KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAieGRlZmF1bHRzIgorCisiIHZpbTp0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94Zjg2Y29uZi52aW0gYi9ydW50aW1lL3N5bnRheC94Zjg2Y29uZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQwZjYwNgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3hmODZjb25mLnZpbQpAQCAtMCwwICsxLDIwOSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgVGhpcyBpcyBhIEdFTkVSQVRFRCBGSUxFLiBQbGVhc2UgYWx3YXlzIHJlZmVyIHRvIHNvdXJjZSBmaWxlIGF0IHRoZSBVUkkgYmVsb3cuCisiIExhbmd1YWdlOiBYRjg2Q29uZmlnIChYRnJlZTg2IGNvbmZpZ3VyYXRpb24gZmlsZSkKKyIgTWFpbnRhaW5lcjogRGF2aWQgTmVcdntjfWFzIChZZXRpKSA8eWV0aUBwaHlzaWNzLm11bmkuY3o+CisiIExhc3QgQ2hhbmdlOiAyMDAzLTA1LTAxCisiIFVSTDogaHR0cDovL3RyaWZpYy5hdGguY3gvRnRwL3ZpbS9zeW50YXgveGY4NmNvbmYudmltCisiIFJlcXVpcmVkIFZpbSBWZXJzaW9uOiA2LjAKKyIKKyIgT3B0aW9uczogbGV0IHhmODZjb25mX3hmcmVlODZfdmVyc2lvbiA9IDMgb3IgNAorIgkJCQkJCQkgdG8gZm9yY2UgWEZyZWU4NiAzLnggb3IgNC54IFhGODZDb25maWcgc3ludGF4CisKKyIgU2V0dXAKK2lmIHZlcnNpb24gPj0gNjAwCisJaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwkJZmluaXNoCisJZW5kaWYKK2Vsc2UKKwllY2hvICJTb3JyeSwgYnV0IHRoaXMgc3ludGF4IGZpbGUgcmVsaWVzIG9uIFZpbSA2IGZlYXR1cmVzLgkgRWl0aGVyIHVwZ3JhZGUgVmltIG9yIHVzZWEgdmVyc2lvbiBvZiAiIC4gZXhwYW5kKCI8c2ZpbGU+OnQ6ciIpIC4gIiBzeW50YXggZmlsZSBhcHByb3ByaWF0ZSBmb3IgVmltICIgLiB2ZXJzaW9uLzEwMCAuICIuIiAuIHZlcnNpb24gJTEwMCAuICIuIgorCWZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygiYjp4Zjg2Y29uZl94ZnJlZTg2X3ZlcnNpb24iKQorCWlmIGV4aXN0cygieGY4NmNvbmZfeGZyZWU4Nl92ZXJzaW9uIikKKwkJbGV0IGI6eGY4NmNvbmZfeGZyZWU4Nl92ZXJzaW9uID0geGY4NmNvbmZfeGZyZWU4Nl92ZXJzaW9uCisJZWxzZQorCQlsZXQgYjp4Zjg2Y29uZl94ZnJlZTg2X3ZlcnNpb24gPSA0CisJZW5kaWYKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCisiIENvbW1lbnRzCitzeW4gbWF0Y2ggeGY4NmNvbmZDb21tZW50ICIjLiokIiBjb250YWlucz14Zjg2Y29uZlRvZG8KK3N5biBjYXNlIG1hdGNoCitzeW4ga2V5d29yZCB4Zjg2Y29uZlRvZG8gRklYTUUgVE9ETyBYWFggTk9UIGNvbnRhaW5lZAorc3luIGNhc2UgaWdub3JlCitzeW4gbWF0Y2ggeGY4NmNvbmZUb2RvICI/Pz8iIGNvbnRhaW5lZAorCisiIFNlY3Rpb25pbmcgZXJyb3JzCitzeW4ga2V5d29yZCB4Zjg2Y29uZlNlY3Rpb25FcnJvciBTZWN0aW9uIGNvbnRhaW5lZAorc3luIGtleXdvcmQgeGY4NmNvbmZTZWN0aW9uRXJyb3IgRW5kU2VjdGlvbgorc3luIGtleXdvcmQgeGY4NmNvbmZTdWJTZWN0aW9uRXJyb3IgU3ViU2VjdGlvbgorc3luIGtleXdvcmQgeGY4NmNvbmZTdWJTZWN0aW9uRXJyb3IgRW5kU3ViU2VjdGlvbgorc3luIGtleXdvcmQgeGY4NmNvbmZNb2RlU3ViU2VjdGlvbkVycm9yIE1vZGUKK3N5biBrZXl3b3JkIHhmODZjb25mTW9kZVN1YlNlY3Rpb25FcnJvciBFbmRNb2RlCitzeW4gY2x1c3RlciB4Zjg2Y29uZlNlY3Rpb25FcnJvcnMgY29udGFpbnM9eGY4NmNvbmZTZWN0aW9uRXJyb3IseGY4NmNvbmZTdWJTZWN0aW9uRXJyb3IseGY4NmNvbmZNb2RlU3ViU2VjdGlvbkVycm9yCisKKyIgVmFsdWVzCitpZiBiOnhmODZjb25mX3hmcmVlODZfdmVyc2lvbiA+PSA0CisJc3luIHJlZ2lvbiB4Zjg2Y29uZlN0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5lZCBjb250YWlucz14Zjg2Y29uZlNwZWNpYWxDaGFyLHhmODZjb25mQ29uc3RhbnQseGY4NmNvbmZPcHRpb25OYW1lIG9uZWxpbmUga2VlcGVuZCBuZXh0Z3JvdXA9eGY4NmNvbmZWYWx1ZSBza2lwd2hpdGUKK2Vsc2UKKwlzeW4gcmVnaW9uIHhmODZjb25mU3RyaW5nIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbmVkIGNvbnRhaW5zPXhmODZjb25mU3BlY2lhbENoYXIseGY4NmNvbmZPcHRpb25OYW1lIG9uZWxpbmUga2VlcGVuZAorZW5kaWYKK3N5biBtYXRjaCB4Zjg2Y29uZlNwZWNpYWxDaGFyICJcXFxkXGRcZFx8XFwuIiBjb250YWluZWQKK3N5biBtYXRjaCB4Zjg2Y29uZkRlY2ltYWxOdW1iZXIgIlwoXHNcfC1cKVx6c1xkKlwuXD1cZFwrXD4iCitzeW4gbWF0Y2ggeGY4NmNvbmZGcmVxdWVuY3kgIlwoXHNcfC1cKVx6c1xkXCtcLlw9XGQqXChIelx8a1x8a0h6XHxNXHxNSHpcKSIKK3N5biBtYXRjaCB4Zjg2Y29uZk9jdGFsTnVtYmVyICJcPDBcb1wrXD4iCitzeW4gbWF0Y2ggeGY4NmNvbmZPY3RhbE51bWJlckVycm9yICJcPDBcb1wrWzg5XVxkKlw+Igorc3luIG1hdGNoIHhmODZjb25mSGV4YWRlY2ltYWxOdW1iZXIgIlw8MHhceFwrXD4iCitzeW4gbWF0Y2ggeGY4NmNvbmZWYWx1ZSAiXHNcKy4qJCIgY29udGFpbmVkIGNvbnRhaW5zPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZlN0cmluZyx4Zjg2Y29uZkZyZXF1ZW5jeSx4Zjg2Y29uZlx3XCtOdW1iZXIseGY4NmNvbmZDb25zdGFudAorc3luIGtleXdvcmQgeGY4NmNvbmZPcHRpb24gT3B0aW9uIG5leHRncm91cD14Zjg2Y29uZlN0cmluZyBza2lwd2hpdGUKK3N5biBtYXRjaCB4Zjg2Y29uZk1vZGVMaW5lVmFsdWUgIlwiW15cIl1cK1wiXChcX3NcK1swLTkuXVwrXClcezl9IiBuZXh0Z3JvdXA9eGY4NmNvbmZTeW5jIHNraXB3aGl0ZSBza2lwbmwKKworIiBTZWN0aW9ucyBhbmQgc3Vic2VjdGlvbnMKK2lmIGI6eGY4NmNvbmZfeGZyZWU4Nl92ZXJzaW9uID49IDQKKwlzeW4gcmVnaW9uIHhmODZjb25mU2VjdGlvbiBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU2VjdGlvblxzXCtcIlwoRmlsZXNcfFNlcnZlcltfIF0qRmxhZ3NcfElucHV0W18gXSpEZXZpY2VcfERldmljZVx8VmlkZW9bXyBdKkFkYXB0b3JcfFNlcnZlcltfIF0qTGF5b3V0XHxEUklcfFZlbmRvclx8S2V5Ym9hcmRcfFBvaW50ZXJcKVwiIiBlbmQ9Il5ccypFbmRTZWN0aW9uXD4iIHNraXA9IiMuKiRcfFwiW15cIl0qXCIiIGNvbnRhaW5zPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZk9wdGlvbix4Zjg2Y29uZktleXdvcmQseGY4NmNvbmZTZWN0aW9uRXJyb3IKKwlzeW4gcmVnaW9uIHhmODZjb25mU2VjdGlvbk1vZHVsZSBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU2VjdGlvblxzXCtcIk1vZHVsZVwiIiBlbmQ9Il5ccypFbmRTZWN0aW9uXD4iIHNraXA9IiMuKiRcfFwiW15cIl0qXCIiIGNvbnRhaW5zPXhmODZjb25mU3Vic2VjdGlvbkFueSx4Zjg2Y29uZkNvbW1lbnQseGY4NmNvbmZPcHRpb24seGY4NmNvbmZLZXl3b3JkCisJc3luIHJlZ2lvbiB4Zjg2Y29uZlNlY3Rpb25Nb25pdG9yIG1hdGNoZ3JvdXA9eGY4NmNvbmZTZWN0aW9uRGVsaW0gc3RhcnQ9Il5ccypTZWN0aW9uXHNcK1wiTW9uaXRvclwiIiBlbmQ9Il5ccypFbmRTZWN0aW9uXD4iIHNraXA9IiMuKiRcfFwiW15cIl0qXCIiIGNvbnRhaW5zPXhmODZjb25mU3Vic2VjdGlvbk1vZGUseGY4NmNvbmZNb2RlTGluZSx4Zjg2Y29uZkNvbW1lbnQseGY4NmNvbmZPcHRpb24seGY4NmNvbmZLZXl3b3JkCisJc3luIHJlZ2lvbiB4Zjg2Y29uZlNlY3Rpb25Nb2RlcyBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU2VjdGlvblxzXCtcIk1vZGVzXCIiIGVuZD0iXlxzKkVuZFNlY3Rpb25cPiIgc2tpcD0iIy4qJFx8XCJbXlwiXSpcIiIgY29udGFpbnM9eGY4NmNvbmZTdWJzZWN0aW9uTW9kZSx4Zjg2Y29uZk1vZGVMaW5lLHhmODZjb25mQ29tbWVudAorCXN5biByZWdpb24geGY4NmNvbmZTZWN0aW9uU2NyZWVuIG1hdGNoZ3JvdXA9eGY4NmNvbmZTZWN0aW9uRGVsaW0gc3RhcnQ9Il5ccypTZWN0aW9uXHNcK1wiU2NyZWVuXCIiIGVuZD0iXlxzKkVuZFNlY3Rpb25cPiIgc2tpcD0iIy4qJFx8XCJbXlwiXSpcIiIgY29udGFpbnM9eGY4NmNvbmZTdWJzZWN0aW9uRGlzcGxheSx4Zjg2Y29uZkNvbW1lbnQseGY4NmNvbmZPcHRpb24seGY4NmNvbmZLZXl3b3JkCisJc3luIHJlZ2lvbiB4Zjg2Y29uZlN1YlNlY3Rpb25BbnkgbWF0Y2hncm91cD14Zjg2Y29uZlNlY3Rpb25EZWxpbSBzdGFydD0iXlxzKlN1YlNlY3Rpb25cc1wrXCJbXlwiXVwrXCIiIGVuZD0iXlxzKkVuZFN1YlNlY3Rpb25cPiIgc2tpcD0iIy4qJFx8XCJbXlwiXSpcIiIgY29udGFpbnM9eGY4NmNvbmZDb21tZW50LHhmODZjb25mT3B0aW9uLHhmODZjb25mS2V5d29yZCxAeGY4NmNvbmZTZWN0aW9uRXJyb3JzCisJc3luIHJlZ2lvbiB4Zjg2Y29uZlN1YlNlY3Rpb25Nb2RlIG1hdGNoZ3JvdXA9eGY4NmNvbmZTZWN0aW9uRGVsaW0gc3RhcnQ9Il5ccypNb2RlXHNcK1wiW15cIl1cK1wiIiBlbmQ9Il5ccypFbmRNb2RlXD4iIHNraXA9IiMuKiRcfFwiW15cIl0qXCIiIGNvbnRhaW5zPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZktleXdvcmQsQHhmODZjb25mU2VjdGlvbkVycm9ycworCXN5biByZWdpb24geGY4NmNvbmZTdWJTZWN0aW9uRGlzcGxheSBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU3ViU2VjdGlvblxzXCtcIkRpc3BsYXlcIiIgZW5kPSJeXHMqRW5kU3ViU2VjdGlvblw+IiBza2lwPSIjLiokXHxcIlteXCJdKlwiIiBjb250YWlucz14Zjg2Y29uZkNvbW1lbnQseGY4NmNvbmZPcHRpb24seGY4NmNvbmZLZXl3b3JkLEB4Zjg2Y29uZlNlY3Rpb25FcnJvcnMKK2Vsc2UKKwlzeW4gcmVnaW9uIHhmODZjb25mU2VjdGlvbiBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU2VjdGlvblxzXCtcIlwoRmlsZXNcfFNlcnZlcltfIF0qRmxhZ3NcfERldmljZVx8S2V5Ym9hcmRcfFBvaW50ZXJcKVwiIiBlbmQ9Il5ccypFbmRTZWN0aW9uXD4iIHNraXA9IiMuKiRcfFwiW15cIl0qXCIiIGNvbnRhaW5zPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZk9wdGlvbk5hbWUseGY4NmNvbmZPcHRpb24seGY4NmNvbmZLZXl3b3JkCisJc3luIHJlZ2lvbiB4Zjg2Y29uZlNlY3Rpb25NWCBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU2VjdGlvblxzXCtcIlwoTW9kdWxlXHxYaW5wdXRcKVwiIiBlbmQ9Il5ccypFbmRTZWN0aW9uXD4iIHNraXA9IiMuKiRcfFwiW15cIl0qXCIiIGNvbnRhaW5zPXhmODZjb25mU3Vic2VjdGlvbkFueSx4Zjg2Y29uZkNvbW1lbnQseGY4NmNvbmZPcHRpb25OYW1lLHhmODZjb25mT3B0aW9uLHhmODZjb25mS2V5d29yZAorCXN5biByZWdpb24geGY4NmNvbmZTZWN0aW9uTW9uaXRvciBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU2VjdGlvblxzXCtcIk1vbml0b3JcIiIgZW5kPSJeXHMqRW5kU2VjdGlvblw+IiBza2lwPSIjLiokXHxcIlteXCJdKlwiIiBjb250YWlucz14Zjg2Y29uZlN1YnNlY3Rpb25Nb2RlLHhmODZjb25mTW9kZUxpbmUseGY4NmNvbmZDb21tZW50LHhmODZjb25mT3B0aW9uTmFtZSx4Zjg2Y29uZk9wdGlvbix4Zjg2Y29uZktleXdvcmQKKwlzeW4gcmVnaW9uIHhmODZjb25mU2VjdGlvblNjcmVlbiBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU2VjdGlvblxzXCtcIlNjcmVlblwiIiBlbmQ9Il5ccypFbmRTZWN0aW9uXD4iIHNraXA9IiMuKiRcfFwiW15cIl0qXCIiIGNvbnRhaW5zPXhmODZjb25mU3Vic2VjdGlvbkRpc3BsYXkseGY4NmNvbmZDb21tZW50LHhmODZjb25mT3B0aW9uTmFtZSx4Zjg2Y29uZk9wdGlvbix4Zjg2Y29uZktleXdvcmQKKwlzeW4gcmVnaW9uIHhmODZjb25mU3ViU2VjdGlvbkFueSBtYXRjaGdyb3VwPXhmODZjb25mU2VjdGlvbkRlbGltIHN0YXJ0PSJeXHMqU3ViU2VjdGlvblxzXCtcIlteXCJdXCtcIiIgZW5kPSJeXHMqRW5kU3ViU2VjdGlvblw+IiBza2lwPSIjLiokXHxcIlteXCJdKlwiIiBjb250YWlucz14Zjg2Y29uZkNvbW1lbnQseGY4NmNvbmZPcHRpb25OYW1lLHhmODZjb25mT3B0aW9uLHhmODZjb25mS2V5d29yZCxAeGY4NmNvbmZTZWN0aW9uRXJyb3JzCisJc3luIHJlZ2lvbiB4Zjg2Y29uZlN1YlNlY3Rpb25Nb2RlIG1hdGNoZ3JvdXA9eGY4NmNvbmZTZWN0aW9uRGVsaW0gc3RhcnQ9Il5ccypNb2RlXHNcK1wiW15cIl1cK1wiIiBlbmQ9Il5ccypFbmRNb2RlXD4iIHNraXA9IiMuKiRcfFwiW15cIl0qXCIiIGNvbnRhaW5zPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZk9wdGlvbk5hbWUseGY4NmNvbmZPcHRpb24seGY4NmNvbmZLZXl3b3JkLEB4Zjg2Y29uZlNlY3Rpb25FcnJvcnMKKwlzeW4gcmVnaW9uIHhmODZjb25mU3ViU2VjdGlvbkRpc3BsYXkgbWF0Y2hncm91cD14Zjg2Y29uZlNlY3Rpb25EZWxpbSBzdGFydD0iXlxzKlN1YlNlY3Rpb25cc1wrXCJEaXNwbGF5XCIiIGVuZD0iXlxzKkVuZFN1YlNlY3Rpb25cPiIgc2tpcD0iIy4qJFx8XCJbXlwiXSpcIiIgY29udGFpbnM9eGY4NmNvbmZDb21tZW50LHhmODZjb25mT3B0aW9uTmFtZSx4Zjg2Y29uZk9wdGlvbix4Zjg2Y29uZktleXdvcmQsQHhmODZjb25mU2VjdGlvbkVycm9ycworZW5kaWYKKworIiBPcHRpb25zCitpZiBiOnhmODZjb25mX3hmcmVlODZfdmVyc2lvbiA+PSA0CisJY29tbWFuZCAtbmFyZ3M9KyBYZjg2Y29uZmRlY2xvcHQgc3luIGtleXdvcmQgeGY4NmNvbmZPcHRpb25OYW1lIDxhcmdzPiBjb250YWluZWQKK2Vsc2UKKwljb21tYW5kIC1uYXJncz0rIFhmODZjb25mZGVjbG9wdCBzeW4ga2V5d29yZCB4Zjg2Y29uZk9wdGlvbk5hbWUgPGFyZ3M+IGNvbnRhaW5lZCBuZXh0Z3JvdXA9eGY4NmNvbmZWYWx1ZSx4Zjg2Y29uZkNvbW1lbnQgc2tpcHdoaXRlCitlbmRpZgorCitYZjg2Y29uZmRlY2xvcHQgMThiaXRCdXMgQUdQRmFzdFdyaXRlIEFHUE1vZGUgQWNjZWwgQWxsb3dDbG9zZWRvd25HcmFicyBBbGxvd0RlYWN0aXZhdGVHcmFicworWGY4NmNvbmZkZWNsb3B0IEFsbG93TW91c2VPcGVuRmFpbCBBbGxvd05vbkxvY2FsTW9kSW5EZXYgQWxsb3dOb25Mb2NhbFh2aWR0dW5lIEFsd2F5c0NvcmUKK1hmODZjb25mZGVjbG9wdCBBbmdsZU9mZnNldCBBdXRvUmVwZWF0IEJhdWRSYXRlIEJlYW1UaW1lb3V0IEJlZXAgQmxhbmtUaW1lIEJsb2NrV3JpdGUgQm90dG9tWAorWGY4NmNvbmZkZWNsb3B0IEJvdHRvbVkgQnV0dG9uTnVtYmVyIEJ1dHRvblRocmVzaG9sZCBCdXR0b25zIEJ5dGVTd2FwIENhY2hlTGluZXMgQ2hvcmRNaWRkbGUKK1hmODZjb25mZGVjbG9wdCBDbGVhckRUUiBDbGVhckRUUyBDbGlja01vZGUgQ2xvbmVEaXNwbGF5IENsb25lSFN5bmMgQ2xvbmVNb2RlIENsb25lVlJlZnJlc2gKK1hmODZjb25mZGVjbG9wdCBDb2xvcktleSBDb21wb3NpdGUgQ29tcG9zaXRlU3luYyBDb3JlS2V5Ym9hcmQgQ29yZVBvaW50ZXIgQ3J0Mk1lbW9yeSBDcnRTY3JlZW4KK1hmODZjb25mZGVjbG9wdCBDcnRjTnVtYmVyIEN5YmVyU2hhZG93IEN5YmVyU3RyZXRjaCBEREMgRERDTW9kZSBETUFGb3JYdiBEUE1TIERhYzZCaXQgRGFjU3BlZWQKK1hmODZjb25mZGVjbG9wdCBEYXRhQml0cyBEZWJ1ZyBEZWJ1Z0xldmVsIERlZmF1bHRTZXJ2ZXJMYXlvdXQgRGVsdGFYIERlbHRhWSBEZXZpY2UgRGV2aWNlTmFtZQorWGY4NmNvbmZkZWNsb3B0IERpc2FibGVNb2RJbkRldiBEaXNhYmxlVmlkTW9kZUV4dGVuc2lvbiBEaXNwbGF5IERpc3BsYXkxNDAwIERvbnRWVFN3aXRjaAorWGY4NmNvbmZkZWNsb3B0IERvbnRaYXAgRG9udFpvb20gRG91YmxlU2NhbiBEb3plTW9kZSBEb3plU2NhbiBEb3plVGltZSBEcmFnTG9ja0J1dHRvbnMKK1hmODZjb25mZGVjbG9wdCBEdWFsQ291bnQgRHVhbFJlZnJlc2ggRWFybHlSYXNQcmVjaGFyZ2UgRW11bGF0ZTNCdXR0b25zIEVtdWxhdGUzVGltZW91dAorWGY4NmNvbmZkZWNsb3B0IEVtdWxhdGVXaGVlbCBFbXVsYXRlV2hlZWxCdXR0b24gRW11bGF0ZVdoZWVsSW5lcnRpYSBFbmFibGVQYWdlRmxpcCBFbnRlckNvdW50CitYZjg2Y29uZmRlY2xvcHQgRXN0aW1hdGVTaXplc0FnZ3Jlc3NpdmVseSBFeHRlcm5EaXNwIEZQQ2xvY2sxNiBGUENsb2NrMjQgRlBDbG9jazMyCitYZjg2Y29uZmRlY2xvcHQgRlBDbG9jazggRlBEaXRoZXIgRmFzdERyYW0gRmlmb0FnZ3Jlc2l2ZSBGaWZvQ29uc2VydmF0aXZlIEZpZm9Nb2RlcmF0ZQorWGY4NmNvbmZkZWNsb3B0IEZpcmVHTDMwMDAgRml4UGFuZWxTaXplIEZsYXRQYW5lbCBGbGlwWFkgRmxvd0NvbnRyb2wgRm9yY2VDUlQxIEZvcmNlQ1JUMlR5cGUKK1hmODZjb25mZGVjbG9wdCBGb3JjZUxlZ2FjeUNSVCBGb3JjZVBDSU1vZGUgRnBtVlJBTSBGcmFtZUJ1ZmZlcldDIEZ1bGxNTUlPIEdhbW1hQnJpZ2h0bmVzcworWGY4NmNvbmZkZWNsb3B0IEhXQ2xvY2tzIEhXQ3Vyc29yIEhhbmRsZVNwZWNpYWxLZXlzIEhpc3RvcnlTaXplIEludGVybGFjZSBJbnRlcmxhY2VkIEludGVybkRpc3AKK1hmODZjb25mZGVjbG9wdCBJbnZYIEludlkgSW52ZXJ0WCBJbnZlcnRZIEtlZXBTaGFwZSBMQ0RDbG9jayBMYXRlUmFzUHJlY2hhcmdlIExjZENlbnRlcgorWGY4NmNvbmZkZWNsb3B0IExlZnRBbHQgTGluZWFyIE1HQVNEUkFNIE1NSU8gTU1JT0NhY2hlIE1UVFIgTWF4WCBNYXhZIE1heGltdW1YUG9zaXRpb24KK1hmODZjb25mZGVjbG9wdCBNYXhpbXVtWVBvc2l0aW9uIE1pblggTWluWSBNaW5pbXVtWFBvc2l0aW9uIE1pbmltdW1ZUG9zaXRpb24gTm9BY2NlbAorWGY4NmNvbmZkZWNsb3B0IE5vQWxsb3dNb3VzZU9wZW5GYWlsIE5vQWxsb3dOb25Mb2NhbE1vZEluRGV2IE5vQWxsb3dOb25Mb2NhbFh2aWR0dW5lCitYZjg2Y29uZmRlY2xvcHQgTm9CbG9ja1dyaXRlIE5vQ29tcG9zaXRlU3luYyBOb0NvbXByZXNzaW9uIE5vQ3J0U2NyZWVuIE5vQ3liZXJTaGFkb3cgTm9EQ0MKK1hmODZjb25mZGVjbG9wdCBOb0REQyBOb0RhYzZCaXQgTm9EZWJ1ZyBOb0Rpc2FibGVNb2RJbkRldiBOb0Rpc2FibGVWaWRNb2RlRXh0ZW5zaW9uIE5vRG9udFphcAorWGY4NmNvbmZkZWNsb3B0IE5vRG9udFpvb20gTm9GaXJlR0wzMDAwIE5vRml4UGFuZWxTaXplIE5vRnBtVlJBTSBOb0ZyYW1lQnVmZmVyV0MgTm9IV0Nsb2NrcworWGY4NmNvbmZkZWNsb3B0IE5vSFdDdXJzb3IgTm9IYWwgTm9MY2RDZW50ZXIgTm9MaW5lYXIgTm9NR0FTRFJBTSBOb01NSU8gTm9NTUlPQ2FjaGUgTm9NVFRSCitYZjg2Y29uZmRlY2xvcHQgTm9PdmVyQ2xvY2tNZW0gTm9PdmVybGF5IE5vUEM5OCBOb1BNIE5vUGNpQnVyc3QgTm9QY2lSZXRyeSBOb1Byb2JlQ2xvY2sKK1hmODZjb25mZGVjbG9wdCBOb1NUTiBOb1NXQ3Vyc29yIE5vU2hhZG93RmIgTm9TaG93Q2FjaGUgTm9TbG93RURPRFJBTSBOb1N0cmV0Y2ggTm9TdXNwZW5kSGFjaworWGY4NmNvbmZkZWNsb3B0IE5vVGV4dHVyZWRWaWRlbyBOb1RyYXBTaWduYWxzIE5vVXNlRkJEZXYgTm9Vc2VNb2RlbGluZSBOb1VzZVZjbGsxIE5vVlRTeXNSZXEKK1hmODZjb25mZGVjbG9wdCBOb1hWaWRlbyBOdkFHUCBPU01JbWFnZUJ1ZmZlcnMgT2ZmVGltZSBPcmlnaW4gT3ZlckNsb2NrTWVtIE92ZXJsYXkKK1hmODZjb25mZGVjbG9wdCBQQzk4IFBDSUJ1cnN0IFBNIFBXTUFjdGl2ZSBQV01TbGVlcCBQYW5lbERlbGF5Q29tcGVuc2F0aW9uIFBhbmVsSGVpZ2h0CitYZjg2Y29uZmRlY2xvcHQgUGFuZWxPZmYgUGFuZWxXaWR0aCBQYXJpdHkgUGNpQnVyc3QgUGNpUmV0cnkgUGl4bWFwIFBvcnQgUHJlc3NEdXIgUHJlc3NQaXRjaAorWGY4NmNvbmZkZWNsb3B0IFByZXNzVm9sIFByb2JlQ2xvY2tzIFByb2dyYW1GUFJlZ3MgUHJvdG9jb2wgUkdCQml0cyBSZWxlYXNlRHVyIFJlbGVhc2VQaXRjaAorWGY4NmNvbmZkZWNsb3B0IFJlcG9ydGluZ01vZGUgUmVzb2x1dGlvbiBSaWdodEFsdCBSaWdodEN0bCBSb3RhdGUgU1ROIFNXQ3Vyc29yIFNhbXBsZVJhdGUKK1hmODZjb25mZGVjbG9wdCBTY3JlZW5OdW1iZXIgU2Nyb2xsTG9jayBTZW5kQ29yZUV2ZW50cyBTZW5kRHJhZ0V2ZW50cyBTZXJpYWwgU2VydmVyTnVtTG9jaworWGY4NmNvbmZkZWNsb3B0IFNldExjZENsayBTZXRNQ2xrIFNldFJlZkNsayBTaGFkb3dGYiBTaGFkb3dTdGF0dXMgU2hvd0NhY2hlIFNsZWVwTW9kZQorWGY4NmNvbmZkZWNsb3B0IFNsZWVwU2NhbiBTbGVlcFRpbWUgU2xvd0RyYW0gU2xvd0VET0RSQU0gU3RhbmRieVRpbWUgU3RvcEJpdHMgU3RyZXRjaAorWGY4NmNvbmZkZWNsb3B0IFN1c3BlbmRIYWNrIFN1c3BlbmRUaW1lIFN3YXBYWSBTeW5jT25HcmVlbiBUViBUVk91dHB1dCBUVk92ZXJzY2FuIFRWU3RhbmRhcmQKK1hmODZjb25mZGVjbG9wdCBUVlhQb3NPZmZzZXQgVFZZUG9zT2Zmc2V0IFRleHR1cmVkVmlkZW8gVGhyZXNob2xkIFRpbHQgVG9wWCBUb3BZIFRvdWNoVGltZQorWGY4NmNvbmZkZWNsb3B0IFRyYXBTaWduYWxzIFR5cGUgVVNCIFVzZUJJT1MgVXNlRkIgVXNlRkJEZXYgVXNlRmxhdFBhbmVsIFVzZU1vZGVsaW5lCitYZjg2Y29uZmRlY2xvcHQgVXNlUk9NRGF0YSBVc2VWY2xrMSBWVEluaXQgVlRTeXNSZXEgVlRpbWUgVmlkZW9LZXkgVm1pbiBYQXhpc01hcHBpbmcKK1hmODZjb25mZGVjbG9wdCBYTGVkcyBYVmlkZW8gWGFhTm9DUFVUb1NjcmVlbkNvbG9yRXhwYW5kRmlsbCBYYWFOb0NvbG9yOHg4UGF0dGVybkZpbGxSZWN0CitYZjg2Y29uZmRlY2xvcHQgWGFhTm9Db2xvcjh4OFBhdHRlcm5GaWxsVHJhcCBYYWFOb0Rhc2hlZEJyZXNlbmhhbUxpbmUgWGFhTm9EYXNoZWRUd29Qb2ludExpbmUKK1hmODZjb25mZGVjbG9wdCBYYWFOb0ltYWdlV3JpdGVSZWN0IFhhYU5vTW9ubzh4OFBhdHRlcm5GaWxsUmVjdCBYYWFOb01vbm84eDhQYXR0ZXJuRmlsbFRyYXAKK1hmODZjb25mZGVjbG9wdCBYYWFOb09mZnNjcmVlblBpeG1hcHMgWGFhTm9QaXhtYXBDYWNoZSBYYWFOb1NjYW5saW5lQ1BVVG9TY3JlZW5Db2xvckV4cGFuZEZpbGwKK1hmODZjb25mZGVjbG9wdCBYYWFOb1NjYW5saW5lSW1hZ2VXcml0ZVJlY3QgWGFhTm9TY3JlZW5Ub1NjcmVlbkNvbG9yRXhwYW5kRmlsbAorWGY4NmNvbmZkZWNsb3B0IFhhYU5vU2NyZWVuVG9TY3JlZW5Db3B5IFhhYU5vU29saWRCcmVzZW5oYW1MaW5lIFhhYU5vU29saWRGaWxsUmVjdAorWGY4NmNvbmZkZWNsb3B0IFhhYU5vU29saWRGaWxsVHJhcCBYYWFOb1NvbGlkSG9yVmVydExpbmUgWGFhTm9Tb2xpZFR3b1BvaW50TGluZSBYaW5lcmFtYQorWGY4NmNvbmZkZWNsb3B0IFhrYkNvbXBhdCBYa2JEaXNhYmxlIFhrYkdlb21ldHJ5IFhrYktleWNvZGVzIFhrYktleW1hcCBYa2JMYXlvdXQgWGtiTW9kZWwKK1hmODZjb25mZGVjbG9wdCBYa2JPcHRpb25zIFhrYlJ1bGVzIFhrYlN5bWJvbHMgWGtiVHlwZXMgWGtiVmFyaWFudCBYdkJza2V3IFh2SHN5bmMgWHZPbkNSVDIKK1hmODZjb25mZGVjbG9wdCBYdlJza2V3IFh2VnN5bmMgWUF4aXNNYXBwaW5nIFpBeGlzTWFwcGluZyBab29tT25MQ0QKKworZGVsY29tbWFuZCBYZjg2Y29uZmRlY2xvcHQKKworIiBLZXl3b3Jkcworc3luIGtleXdvcmQgeGY4NmNvbmZLZXl3b3JkIERldmljZSBEcml2ZXIgRm9udFBhdGggR3JvdXAgSWRlbnRpZmllciBMb2FkIE1vZGVsTmFtZSBNb2R1bGVQYXRoIE1vbml0b3IgUkdCUGF0aCBWZW5kb3JOYW1lIFZpZGVvQWRhcHRvciBWaXN1YWwgbmV4dGdyb3VwPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZlN0cmluZyBza2lwd2hpdGUKK3N5biBrZXl3b3JkIHhmODZjb25mS2V5d29yZCBCaW9zQmFzZSBCbGFjayBCb2FyZE5hbWUgQnVzSUQgQ2hpcElEIENoaXBSZXYgQ2hpcHNldCBuZXh0Z3JvdXA9eGY4NmNvbmZDb21tZW50LHhmODZjb25mVmFsdWUKK3N5biBrZXl3b3JkIHhmODZjb25mS2V5d29yZCBDbG9ja0NoaXAgQ2xvY2tzIERhY1NwZWVkIERlZmF1bHREZXB0aCBEZWZhdWx0RmJCcHAgbmV4dGdyb3VwPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZlZhbHVlCitzeW4ga2V5d29yZCB4Zjg2Y29uZktleXdvcmQgRGVmYXVsdENvbG9yRGVwdGggbmV4dGdyb3VwPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZlZhbHVlCitzeW4ga2V5d29yZCB4Zjg2Y29uZktleXdvcmQgRGVwdGggRGlzcGxheVNpemUgRG90Q2xvY2sgRmJCcHAgRmxhZ3MgR2FtbWEgSG9yaXpTeW5jIG5leHRncm91cD14Zjg2Y29uZkNvbW1lbnQseGY4NmNvbmZWYWx1ZQorc3luIGtleXdvcmQgeGY4NmNvbmZLZXl3b3JkIEhza2V3IEhUaW1pbmdzIElucHV0RGV2aWNlIElPQmFzZSBNZW1CYXNlIE1vZGUgbmV4dGdyb3VwPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZlZhbHVlCitzeW4ga2V5d29yZCB4Zjg2Y29uZktleXdvcmQgTW9kZXMgUmFtZGFjIFNjcmVlbiBUZXh0Q2xvY2tGcmVxIFVzZU1vZGVzIFZlbmRvck5hbWUgbmV4dGdyb3VwPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZlZhbHVlCitzeW4ga2V5d29yZCB4Zjg2Y29uZktleXdvcmQgVmVydFJlZnJlc2ggVmlkZW9SYW0gVmlld1BvcnQgVmlydHVhbCBWU2NhbiBWVGltaW5ncyBuZXh0Z3JvdXA9eGY4NmNvbmZDb21tZW50LHhmODZjb25mVmFsdWUKK3N5biBrZXl3b3JkIHhmODZjb25mS2V5d29yZCBXZWlnaHQgV2hpdGUgbmV4dGdyb3VwPXhmODZjb25mQ29tbWVudCx4Zjg2Y29uZlZhbHVlCitzeW4ga2V5d29yZCB4Zjg2Y29uZk1vZGVMaW5lIE1vZGVMaW5lIG5leHRncm91cD14Zjg2Y29uZkNvbW1lbnQseGY4NmNvbmZNb2RlTGluZVZhbHVlIHNraXB3aGl0ZSBza2lwbmwKKworIiBDb25zdGFudHMKK2lmIGI6eGY4NmNvbmZfeGZyZWU4Nl92ZXJzaW9uID49IDQKKwlzeW4ga2V5d29yZCB4Zjg2Y29uZkNvbnN0YW50IHRydWUgZmFsc2Ugb24gb2ZmIHllcyBubyBvbWl0IGNvbnRhaW5lZAorZWxzZQorCXN5biBrZXl3b3JkIHhmODZjb25mQ29uc3RhbnQgTWV0YSBDb21wb3NlIENvbnRyb2wKK2VuZGlmCitzeW4ga2V5d29yZCB4Zjg2Y29uZkNvbnN0YW50IFN0YXRpY0dyYXkgR3JheVNjYWxlIFN0YXRpY0NvbG9yIFBzZXVkb0NvbG9yIFRydWVDb2xvciBEaXJlY3RDb2xvciBjb250YWluZWQKK3N5biBrZXl3b3JkIHhmODZjb25mQ29uc3RhbnQgQWJzb2x1dGUgUmlnaHRPZiBMZWZ0T2YgQWJvdmUgQmVsb3cgUmVsYXRpdmUgU3RhdGljR3JheSBHcmF5U2NhbGUgU3RhdGljQ29sb3IgUHNldWRvQ29sb3IgVHJ1ZUNvbG9yIERpcmVjdENvbG9yIGNvbnRhaW5lZAorc3luIG1hdGNoIHhmODZjb25mU3luYyAiXChcc1wrWystXVtDSFZdXypTeW5jXClcKyIgY29udGFpbmVkCisKKyIgU3luY2hyb25pemF0aW9uCitpZiBiOnhmODZjb25mX3hmcmVlODZfdmVyc2lvbiA+PSA0CisJc3luIHN5bmMgbWF0Y2ggeGY4NmNvbmZTeW5jU2VjdGlvbiBncm91cGhlcmUgeGY4NmNvbmZTZWN0aW9uICJeXHMqU2VjdGlvblxzXCtcIlwoRmlsZXNcfFNlcnZlcltfIF0qRmxhZ3NcfElucHV0W18gXSpEZXZpY2VcfERldmljZVx8VmlkZW9bXyBdKkFkYXB0b3JcfFNlcnZlcltfIF0qTGF5b3V0XHxEUklcfFZlbmRvclx8S2V5Ym9hcmRcfFBvaW50ZXJcKVwiIgorCXN5biBzeW5jIG1hdGNoIHhmODZjb25mU3luY1NlY3Rpb25Nb2R1bGUgZ3JvdXBoZXJlIHhmODZjb25mU2VjdGlvbk1vZHVsZSAiXlxzKlNlY3Rpb25cc1wrXCJNb2R1bGVcIiIKKwlzeW4gc3luYyBtYXRjaCB4Zjg2Y29uZlN5bmNTZWN0aW9uTW9kZXMgZ3JvdXB0aGVyZSB4Zjg2Y29uZlNlY3Rpb25Nb2RlcyAiXlxzKlNlY3Rpb25cc1wrXCJNb2Rlc1wiIgorZWxzZQorCXN5biBzeW5jIG1hdGNoIHhmODZjb25mU3luY1NlY3Rpb24gZ3JvdXBoZXJlIHhmODZjb25mU2VjdGlvbiAiXlxzKlNlY3Rpb25cc1wrXCJcKEZpbGVzXHxTZXJ2ZXJbXyBdKkZsYWdzXHxEZXZpY2VcfEtleWJvYXJkXHxQb2ludGVyXClcIiIKKwlzeW4gc3luYyBtYXRjaCB4Zjg2Y29uZlN5bmNTZWN0aW9uTVggZ3JvdXBoZXJlIHhmODZjb25mU2VjdGlvbk1YICJeXHMqU2VjdGlvblxzXCtcIlwoTW9kdWxlXHxYaW5wdXRcKVwiIgorZW5kaWYKK3N5biBzeW5jIG1hdGNoIHhmODZjb25mU3luY1NlY3Rpb25Nb25pdG9yIGdyb3VwdGhlcmUgeGY4NmNvbmZTZWN0aW9uTW9uaXRvciAiXlxzKlNlY3Rpb25cc1wrXCJNb25pdG9yXCIiCitzeW4gc3luYyBtYXRjaCB4Zjg2Y29uZlN5bmNTZWN0aW9uU2NyZWVuIGdyb3VwdGhlcmUgeGY4NmNvbmZTZWN0aW9uU2NyZWVuICJeXHMqU2VjdGlvblxzXCtcIlNjcmVlblwiIgorc3luIHN5bmMgbWF0Y2ggeGY4NmNvbmZTeW5jRW5kU2VjdGlvbiBncm91cHRoZXJlIE5PTkUgIl5ccypFbmRfKlNlY3Rpb25ccyokIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKK2hpIGRlZiBsaW5rIHhmODZjb25mQ29tbWVudCBDb21tZW50CitoaSBkZWYgbGluayB4Zjg2Y29uZlRvZG8gVG9kbworaGkgZGVmIGxpbmsgeGY4NmNvbmZTZWN0aW9uRGVsaW0gU3RhdGVtZW50CitoaSBkZWYgbGluayB4Zjg2Y29uZk9wdGlvbk5hbWUgSWRlbnRpZmllcgorCitoaSBkZWYgbGluayB4Zjg2Y29uZlNlY3Rpb25FcnJvciB4Zjg2Y29uZkVycm9yCitoaSBkZWYgbGluayB4Zjg2Y29uZlN1YlNlY3Rpb25FcnJvciB4Zjg2Y29uZkVycm9yCitoaSBkZWYgbGluayB4Zjg2Y29uZk1vZGVTdWJTZWN0aW9uRXJyb3IgeGY4NmNvbmZFcnJvcgoraGkgZGVmIGxpbmsgeGY4NmNvbmZPY3RhbE51bWJlckVycm9yIHhmODZjb25mRXJyb3IKK2hpIGRlZiBsaW5rIHhmODZjb25mRXJyb3IgRXJyb3IKKworaGkgZGVmIGxpbmsgeGY4NmNvbmZPcHRpb24geGY4NmNvbmZLZXl3b3JkCitoaSBkZWYgbGluayB4Zjg2Y29uZk1vZGVMaW5lIHhmODZjb25mS2V5d29yZAoraGkgZGVmIGxpbmsgeGY4NmNvbmZLZXl3b3JkIFR5cGUKKworaGkgZGVmIGxpbmsgeGY4NmNvbmZEZWNpbWFsTnVtYmVyIHhmODZjb25mTnVtYmVyCitoaSBkZWYgbGluayB4Zjg2Y29uZk9jdGFsTnVtYmVyIHhmODZjb25mTnVtYmVyCitoaSBkZWYgbGluayB4Zjg2Y29uZkhleGFkZWNpbWFsTnVtYmVyIHhmODZjb25mTnVtYmVyCitoaSBkZWYgbGluayB4Zjg2Y29uZkZyZXF1ZW5jeSB4Zjg2Y29uZk51bWJlcgoraGkgZGVmIGxpbmsgeGY4NmNvbmZNb2RlTGluZVZhbHVlIENvbnN0YW50CitoaSBkZWYgbGluayB4Zjg2Y29uZk51bWJlciBDb25zdGFudAorCitoaSBkZWYgbGluayB4Zjg2Y29uZlN5bmMgeGY4NmNvbmZDb25zdGFudAoraGkgZGVmIGxpbmsgeGY4NmNvbmZDb25zdGFudCBTcGVjaWFsCitoaSBkZWYgbGluayB4Zjg2Y29uZlNwZWNpYWxDaGFyIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHhmODZjb25mU3RyaW5nIFN0cmluZworCitoaSBkZWYgbGluayB4Zjg2Y29uZlZhbHVlIENvbnN0YW50CisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInhmODZjb25mIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgveGh0bWwudmltIGIvcnVudGltZS9zeW50YXgveGh0bWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjNmVhNzMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC94aHRtbC52aW0KQEAgLTAsMCArMSwxMSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVhIVE1MCisiIE1haW50YWluZXI6CW5vb25lCisiIExhc3QgQ2hhbmdlOgkyMDAzIEZlYiAwNAorCisiIExvYWQgdGhlIEhUTUwgc3ludGF4IGZvciBub3cuCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAieGh0bWwiCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94a2IudmltIGIvcnVudGltZS9zeW50YXgveGtiLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjliZmQwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgveGtiLnZpbQpAQCAtMCwwICsxLDkxIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBUaGlzIGlzIGEgR0VORVJBVEVEIEZJTEUuIFBsZWFzZSBhbHdheXMgcmVmZXIgdG8gc291cmNlIGZpbGUgYXQgdGhlIFVSSSBiZWxvdy4KKyIgTGFuZ3VhZ2U6IFhLQiAoWCBLZXlib2FyZCBFeHRlbnNpb24pIGNvbXBvbmVudHMKKyIgTWFpbnRhaW5lcjogRGF2aWQgTmVcdntjfWFzIChZZXRpKSA8eWV0aUBwaHlzaWNzLm11bmkuY3o+CisiIExhc3QgQ2hhbmdlOiAyMDAzLTA0LTEzCisiIFVSTDogaHR0cDovL3RyaWZpYy5hdGguY3gvRnRwL3ZpbS9zeW50YXgveGtiLnZpbQorCisiIFNldHVwCitpZiB2ZXJzaW9uID49IDYwMAorCWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJCWZpbmlzaAorCWVuZGlmCitlbHNlCisJc3ludGF4IGNsZWFyCitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorc3luIHN5bmMgbWlubGluZXM9MTAwCisKKyIgQ29tbWVudHMKK3N5biByZWdpb24geGtiQ29tbWVudCBzdGFydD0iLy8iIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPXhrYlRvZG8KK3N5biByZWdpb24geGtiQ29tbWVudCBzdGFydD0iL1wqIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJcKi8iIGNvbnRhaW5zPXhrYkNvbW1lbnRTdGFydEVycm9yLHhrYlRvZG8KK3N5biBtYXRjaCB4a2JDb21tZW50RXJyb3IgIlwqLyIKK3N5bnRheCBtYXRjaCB4a2JDb21tZW50U3RhcnRFcnJvciAiL1wqIiBjb250YWluZWQKK3N5biBzeW5jIGNjb21tZW50IHhrYkNvbW1lbnQKK3N5biBrZXl3b3JkIHhrYlRvZG8gVE9ETyBGSVhNRSBjb250YWluZWQKKworIiBMaXRlcmFsIHN0cmluZ3MKK3N5biBtYXRjaCB4a2JTcGVjaWFsQ2hhciAiXFxcZFxkXGRcfFxcLiIgY29udGFpbmVkCitzeW4gcmVnaW9uIHhrYlN0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXhrYlNwZWNpYWxDaGFyIG9uZWxpbmUKKworIiBDYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2l6YXRpb24KK3N5biByZWdpb24geGtiUGFyZW4gc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULHhrYlBhcmVuRXJyb3IseGtiU3BlY2lhbCx4a2JUb2RvIHRyYW5zcGFyZW50CitzeW4gbWF0Y2ggeGtiUGFyZW5FcnJvciAiKSIKK3N5biByZWdpb24geGtiQnJhY2Ugc3RhcnQ9J3snIGVuZD0nfScgY29udGFpbnM9QUxMQlVULHhrYkJyYWNlRXJyb3IseGtiU3BlY2lhbCx4a2JUb2RvIHRyYW5zcGFyZW50CitzeW4gbWF0Y2ggeGtiQnJhY2VFcnJvciAifSIKK3N5biByZWdpb24geGtiQnJhY2tldCBzdGFydD0nXFsnIGVuZD0nXF0nIGNvbnRhaW5zPUFMTEJVVCx4a2JCcmFja2V0RXJyb3IseGtiU3BlY2lhbCx4a2JUb2RvIHRyYW5zcGFyZW50CitzeW4gbWF0Y2ggeGtiQnJhY2tldEVycm9yICJcXSIKKworIiBQaHlzaWNhbCBrZXlzCitzeW4gbWF0Y2ggeGtiUGh5c2ljYWxLZXkgIjxcd1wrPiIKKworIiBLZXl3b3Jkcworc3luIGtleXdvcmQgeGtiUHJlcHJvYyBhdWdtZW50IGluY2x1ZGUgcmVwbGFjZQorc3luIGtleXdvcmQgeGtiQ29uc3RhbnQgRmFsc2UgVHJ1ZQorc3luIGtleXdvcmQgeGtiTW9kaWYgb3ZlcnJpZGUgcmVwbGFjZQorc3luIGtleXdvcmQgeGtiSWRlbnRpZmllciBhY3Rpb24gYWZmZWN0IGFsaWFzIGFsbG93RXhwbGljaXQgYXBwcm94IGJhc2VDb2xvciBidXR0b24gY2xlYXJMb2NrcyBjb2xvciBjb250cm9scyBjb3JuZXJSYWRpdXMgY291bnQgY3RybHMgZGVzY3JpcHRpb24gZHJpdmVza2JkIGZvbnQgZm9udFNpemUgZ2FwIGdyb3VwIGdyb3VwcyBoZWlnaHQgaW5kaWNhdG9yIGluZGljYXRvckRyaXZlc0tleWJvYXJkIGludGVycHJldCBrZXkga2V5cyBsYWJlbENvbG9yIGxhdGNoVG9Mb2NrIGxhdGNoTW9kcyBsZWZ0IGxldmVsX25hbWUgbWFwIG1heGltdW0gbWluaW11bSBtb2RpZmllcl9tYXAgbW9kaWZpZXJzIG5hbWUgb2ZmQ29sb3Igb25Db2xvciBvdXRsaW5lIHByZXNlcnZlIHByaW9yaXR5IHJlcGVhdCByb3cgc2VjdGlvbiBzZWN0aW9uIHNldE1vZHMgc2hhcGUgc2xhbnQgc29saWQgc3ltYm9scyB0ZXh0IHRvcCB0eXBlIHVzZU1vZE1hcE1vZHMgdmlydHVhbE1vZGlmaWVyIHZpcnR1YWxNb2RzIHZpcnR1YWxfbW9kaWZpZXJzIHdlaWdodCB3aGljaE1vZFN0YXRlIHdpZHRoCitzeW4ga2V5d29yZCB4a2JGdW5jdGlvbiBBbnlPZiBJU09Mb2NrIExhdGNoR3JvdXAgTGF0Y2hNb2RzIExvY2tDb250cm9scyBMb2NrR3JvdXAgTG9ja01vZHMgTG9ja1BvaW50ZXJCdXR0b24gTW92ZVB0ciBOb0FjdGlvbiBQb2ludGVyQnV0dG9uIFNldENvbnRyb2xzIFNldEdyb3VwIFNldE1vZHMgU2V0UHRyRGZsdCBUZXJtaW5hdGUKK3N5biBrZXl3b3JkIHhrYlRNb2RpZiBkZWZhdWx0IGhpZGRlbiBwYXJ0aWFsIHZpcnR1YWwKK3N5biBrZXl3b3JkIHhrYlNlY3QgYWxwaGFudW1lcmljX2tleXMgYWx0ZXJuYXRlX2dyb3VwIGZ1bmN0aW9uX2tleXMga2V5cGFkX2tleXMgbW9kaWZpZXJfa2V5cyB4a2JfY29tcGF0aWJpbGl0eSB4a2JfZ2VvbWV0cnkgeGtiX2tleWNvZGVzIHhrYl9rZXltYXAgeGtiX3NlbWFudGljcyB4a2Jfc3ltYm9scyB4a2JfdHlwZXMKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfeGtiX3N5bnRheF9pbml0cyIpCisJaWYgdmVyc2lvbiA8IDUwOAorCQlsZXQgZGlkX3hrYl9zeW50YXhfaW5pdHMgPSAxCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisJZWxzZQorCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKwllbmRpZgorCisJSGlMaW5rIHhrYk1vZGlmIHhrYlByZXByb2MKKwlIaUxpbmsgeGtiVE1vZGlmIHhrYlByZXByb2MKKwlIaUxpbmsgeGtiUHJlcHJvYyBQcmVwcm9jCisKKwlIaUxpbmsgeGtiSWRlbnRpZmllciBLZXl3b3JkCisJSGlMaW5rIHhrYkZ1bmN0aW9uIEZ1bmN0aW9uCisJSGlMaW5rIHhrYlNlY3QgVHlwZQorCUhpTGluayB4a2JQaHlzaWNhbEtleSBJZGVudGlmaWVyCisJSGlMaW5rIHhrYktleXdvcmQgS2V5d29yZAorCisJSGlMaW5rIHhrYkNvbW1lbnQgQ29tbWVudAorCUhpTGluayB4a2JUb2RvIFRvZG8KKworCUhpTGluayB4a2JDb25zdGFudCBDb25zdGFudAorCUhpTGluayB4a2JTdHJpbmcgU3RyaW5nCisKKwlIaUxpbmsgeGtiU3BlY2lhbENoYXIgeGtiU3BlY2lhbAorCUhpTGluayB4a2JTcGVjaWFsIFNwZWNpYWwKKworCUhpTGluayB4a2JQYXJlbkVycm9yIHhrYkJhbGFuY2luZ0Vycm9yCisJSGlMaW5rIHhrYkJyYWNlRXJyb3IgeGtiQmFsYW5jaW5nRXJyb3IKKwlIaUxpbmsgeGtiQnJha2V0RXJyb3IgeGtiQmFsYW5jaW5nRXJyb3IKKwlIaUxpbmsgeGtiQmFsYW5jaW5nRXJyb3IgeGtiRXJyb3IKKwlIaUxpbmsgeGtiQ29tbWVudFN0YXJ0RXJyb3IgeGtiQ29tbWVudEVycm9yCisJSGlMaW5rIHhrYkNvbW1lbnRFcnJvciB4a2JFcnJvcgorCUhpTGluayB4a2JFcnJvciBFcnJvcgorCisJZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInhrYiIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3htYXRoLnZpbSBiL3J1bnRpbWUvc3ludGF4L3htYXRoLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTk2MmZiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgveG1hdGgudmltCkBAIC0wLDAgKzEsMjM1IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJeG1hdGggKGEgc2ltdWxhdGlvbiB0b29sKQorIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgorIiBMYXN0IENoYW5nZToJU2VwIDAyLCAyMDAzCisiIFZlcnNpb246CTMKKyIgVVJMOglodHRwOi8vd3d3LmVyb2xzLmNvbS9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjdmltbGlua3Nfc3ludGF4CisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBwYXJlbnRoZXNpcyBzYW5pdHkgY2hlY2tlcgorc3luIHJlZ2lvbiB4bWF0aFpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iKSIgdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULHhtYXRoRXJyb3IseG1hdGhCcmFjZUVycm9yLHhtYXRoQ3VybHlFcnJvcgorc3luIHJlZ2lvbiB4bWF0aFpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9InsiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0ifSIgdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULHhtYXRoRXJyb3IseG1hdGhCcmFjZUVycm9yLHhtYXRoUGFyZW5FcnJvcgorc3luIHJlZ2lvbiB4bWF0aFpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxbIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9Il0iIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCx4bWF0aEVycm9yLHhtYXRoQ3VybHlFcnJvcix4bWF0aFBhcmVuRXJyb3IKK3N5biBtYXRjaCAgeG1hdGhFcnJvcgkiWylcXX1dIgorc3luIG1hdGNoICB4bWF0aEJyYWNlRXJyb3IJIlspfV0iCWNvbnRhaW5lZAorc3luIG1hdGNoICB4bWF0aEN1cmx5RXJyb3IJIlspXF1dIgljb250YWluZWQKK3N5biBtYXRjaCAgeG1hdGhQYXJlbkVycm9yCSJbXF19XSIJY29udGFpbmVkCitzeW4gbWF0Y2ggIHhtYXRoQ29tbWEJIlssOzpdIgorc3luIG1hdGNoICB4bWF0aENvbW1hCSJcLlwuXC4kIgorCisiIEEgYnVuY2ggb2YgdXNlZnVsIHhtYXRoIGtleXdvcmRzCitzeW4gY2FzZSBpZ25vcmUKK3N5biBrZXl3b3JkIHhtYXRoRnVuY0NtZAlmdW5jdGlvbgllbmRmdW5jdGlvbgljb21tYW5kCWVuZGNvbW1hbmQKK3N5biBrZXl3b3JkIHhtYXRoU3RhdGVtZW50CWFib3J0CWJlZXAJZGVidWcJZGVmYXVsdAlkZWZpbmUKK3N5biBrZXl3b3JkIHhtYXRoU3RhdGVtZW50CWV4ZWN1dGUJZXhpdAlwYXVzZQlyZXR1cm4JdW5kZWZpbmUKK3N5biBrZXl3b3JkIHhtYXRoQ29uZGl0aW9uYWwJaWYJZWxzZQllbHNlaWYJZW5kaWYKK3N5biBrZXl3b3JkIHhtYXRoUmVwZWF0CXdoaWxlCWZvcgllbmR3aGlsZQllbmRmb3IKK3N5biBrZXl3b3JkIHhtYXRoQ21kCWFuaWdyYXBoCWRlbGV0ZWRhdGFzdG9yZQlrZWVwCXJlbmFtZWRhdGFzdG9yZQorc3luIGtleXdvcmQgeG1hdGhDbWQJYXV0b2NvZGUJZGVsZXRlc3RkCWxpbmtoeXBlcglyZW5hbWVzdGQKK3N5biBrZXl3b3JkIHhtYXRoQ21kCWJ1aWxkCWRlbGV0ZXN1cGVyYmxvY2sJbGlua3NpbQlyZW5hbWVzdXBlcmJsb2NrCitzeW4ga2V5d29yZCB4bWF0aENtZAljb21tZW50CWRlbGV0ZXRyYW5zaXRpb24JbGlzdHVzZXJ0eXBlCXNhdmUKK3N5biBrZXl3b3JkIHhtYXRoQ21kCWNvcHlkYXRhc3RvcmUJZGVsZXRldXNlcnR5cGUJbG9hZAlzYmFkaXNwbGF5CitzeW4ga2V5d29yZCB4bWF0aENtZAljb3B5c3RkCWRldGFpbG1vZGVsCWxvY2sJc2V0CitzeW4ga2V5d29yZCB4bWF0aENtZAljb3B5c3VwZXJibG9jawlkaXNwbGF5CW1pbm1heF9kaXNwbGF5CXNldHNiZGVmYXVsdAorc3luIGtleXdvcmQgeG1hdGhDbWQJY3JlYXRlYmxvY2sJZG9jdW1lbnRpdAltb2RpZnlibG9jawlzaG93CitzeW4ga2V5d29yZCB4bWF0aENtZAljcmVhdGVidWJibGUJZWRpdGNhdGFsb2cJbW9kaWZ5YnViYmxlCXNob3dsaWNlbnNlCitzeW4ga2V5d29yZCB4bWF0aENtZAljcmVhdGVjb25uZWN0aW9uCWVyYXNlCW1vZGlmeXN0ZAlzaG93c2JkZWZhdWx0CitzeW4ga2V5d29yZCB4bWF0aENtZAljcmVhdGVydGYJZXhwYW5kc3VwZXJidWJibGUJbW9kaWZ5c3VwZXJibG9jawlzdG9wCitzeW4ga2V5d29yZCB4bWF0aENtZAljcmVhdGVzdGQJZm9yCW1vZGlmeXRyYW5zaXRpb24Jc3RvcGNvc2ltCitzeW4ga2V5d29yZCB4bWF0aENtZAljcmVhdGVzdXBlcmJsb2NrCWdvCW1vZGlmeXVzZXJ0eXBlCXN5bnRheAorc3luIGtleXdvcmQgeG1hdGhDbWQJY3JlYXRlc3VwZXJidWJibGUJZ290bwluZXcJdW5hbGlhcworc3luIGtleXdvcmQgeG1hdGhDbWQJY3JlYXRldHJhbnNpdGlvbgloYXJkY29weQluZXh0CXVubG9jaworc3luIGtleXdvcmQgeG1hdGhDbWQJY3JlYXRldXNlcnR5cGUJaGVscAlwb2xhcmdyYXBoCXVzZXJ0eXBlCitzeW4ga2V5d29yZCB4bWF0aENtZAlkZWxldGUJaHlwZXJidWlsZAlwcmludAl3aGF0aXMKK3N5biBrZXl3b3JkIHhtYXRoQ21kCWRlbGV0ZWJsb2NrCWlmCXByaW50bW9kZWwJd2hpbGUKK3N5biBrZXl3b3JkIHhtYXRoQ21kCWRlbGV0ZWJ1YmJsZQlpZmlsdGVyCXF1aXQJd2hvCitzeW4ga2V5d29yZCB4bWF0aENtZAlkZWxldGVjb25uZWN0aW9uCWlwY3djCXJlbW92ZQl4Z3JhcGgKKworc3luIGtleXdvcmQgeG1hdGhGdW5jCWFiY2QJZXllCWlyZWEJcXVlcnlzdGRvcHRpb25zCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYWJzCWV5ZXBhdHRlcm4JaXMJcXVlcnlzdXBlcmJsb2NrCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYWNvcwlmZWVkYmFjawlJU0lECXF1ZXJ5c3VwZXJibG9ja29wdAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWFjb3NoCWZmdAlJU0lECU1vZGVscwlxdWVyeXRyYW5zaXRpb24KK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlhZGNvbnZlcnNpb24JZmZ0cGRtCWtyb25lY2tlcglxdWVyeXRyYW5zaXRpb25vcHQKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlhZmVlZGJhY2sJZmlsdGVyCWxlbmd0aAlxegorc3luIGtleXdvcmQgeG1hdGhGdW5jCWFsbAlmaW5kCWxpbWl0CXJhbXBpbnZhcgorc3luIGtleXdvcmQgeG1hdGhGdW5jCWFtYmlndWl0eQlmaXJwYXJrcwlsaW4JcmFuZG9tCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYW1kZW1vZAlmaXJyZW1leglsaW4zMAlyYW5kcGRtCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYW5hbHl0aWMJZmlyd2luZAlsaW5lYXJmbQlyYW5kcGVydAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWFuYWx5emUJZm1kZW1vZAlsaW5mbm9ybQlyYW5kc3lzCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYW55CWZvcndkaWZmCWxpbnRvZGIJcmFuaworc3luIGtleXdvcmQgeG1hdGhGdW5jCWFwcGVuZAlmcHJpbnRmCWxpc3QJcmF5bGVpZ2gKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlhcmduCWZyYWMJbG9nCXJjZXBzdHJ1bQorc3luIGtleXdvcmQgeG1hdGhGdW5jCWFyZ3YJZnJhY3JlZAlsb2cxMAlyY29uZAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWFybWEJZnJlcQlsb2dtCXJkaW50ZWdyYXRlCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYXJtYTJzcwlmcmVxY2lyY2xlCWxvZ25vcm1hbAlyZWFkCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYXJtYXgJZnJlcWNvbnQJbG9nc3BhY2UJcmVhbAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWFzY2lpCWZyZXF1ZW5jeWhvcAlsb3dwYXNzCXJlY3RpZnkKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlhc2luCWZzZXN0aQlscG9wdAlyZWRzY2h1cgorc3luIGtleXdvcmQgeG1hdGhGdW5jCWFzaW5oCWZzbHFnY29tcAlscWdjb21wCXJlZmxlY3QKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlhdGFuCWZzcmVndQlscWdsdHIJcmVndWxhdG9yCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYXRhbjIJZndscwlscwlyZXNpZHVlCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYXRhbmgJZ2Fib3IJbHMydW5jCXJpY2NhdGkKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlhdHRhY2hfYWMxMDAJZ2FyYglsczJ2YXIJcmljY2F0aV9laWcKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwliYWNrZGlmZglnYXVzc2lhbglsc2pvaW4JcmljY2F0aV9zY2h1cgorc3luIGtleXdvcmQgeG1hdGhGdW5jCWJhbGFuY2UJZ2NleHAJbHUJcmljZWFuCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYmFsbW9vcmUJZ2NvcwlseWFwdW5vdglyaWZkCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYmFuZHBhc3MJZ2RmaWxlc2VsZWN0aW9uCW1ha2Vjb250aW51b3VzCXJsaW5mbworc3luIGtleXdvcmQgeG1hdGhGdW5jCWJhbmRzdG9wCWdkbWVzc2FnZQltYWtlbWF0cml4CXJsb2N1cworc3luIGtleXdvcmQgeG1hdGhGdW5jCWJqCWdkc2VsZWN0aW9uCW1ha2Vwb2x5CXJtcworc3luIGtleXdvcmQgeG1hdGhGdW5jCWJsa25vcm0JZ2VuY29udgltYXJnaW4Jcm9vdGxvY3VzCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYm9kZQlnZXQJbWFya29mZglyb290cworc3luIGtleXdvcmQgeG1hdGhGdW5jCWJwbQlnZXRfaW5mbzMwCW1hdGNoZWRweglyb3VuZAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWJwbTJpbm4JZ2V0X2lubgltYXgJcnJlZgorc3luIGtleXdvcmQgeG1hdGhGdW5jCWJwbWpvaW4JZ2ZkbQltYXhsaWtlCXJ2ZV9nZXQKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlicG1zcGxpdAlnZnNrCW1lYW4JcnZlX2luZm8KK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlic3QJZ2Zza2VybmVsCW1lcmdlc2VnCXJ2ZV9yZXNldAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWJ1dHRjb25zdHIJZ2Z1bmN0aW9uCW1pbglydmVfdXBkYXRlCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJYnV0dGVyd29ydGgJZ2dhdXNzCW1pbmltYWwJc2FtcGxlaG9sZAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNhbmNlbAlnaXYJbWtwZXJ0CXNjaHVyCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY2FuZm9ybQlnaXYydmFyCW1rcGhhc2UJc2RmCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY2NlcHN0cnVtCWdpdmpvaW4JbW1hCXNkcworc3luIGtleXdvcmQgeG1hdGhGdW5jCWNoYXIJZ3BzawltbWFnZXQJc2R0cnNwCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY2hlYmNvbnN0cglncHVsc2UJbW1hcHV0CXNlYworc3luIGtleXdvcmQgeG1hdGhGdW5jCWNoZWJ5c2hldglncWFtCW1vZAlzZWNoCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY2hlY2sJZ3Fwc2sJbW9kYWwJc2lnaW50ZXJwCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY2hvbGVza3kJZ3JhbXAJbW9kYWxzdGF0ZQlzaWduCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY2hvcAlnc2F3dG9vdGgJbW9kY2FycmllcglzaW0KK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljaXJjb252CWdzaWdtb2lkCW1yZWR1Y2UJc2ltMzAKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljaXJjb3JyCWdzaW4JbXR4cGx0CXNpbWluCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY2xvY2sJZ3NpbmMJbXUJc2ltaW4zMAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNsb2N1cwlnc3Fwc2sJbXVsaGFuawlzaW1vdXQKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljbHN5cwlnc3F1YXJld2F2ZQltdWx0aXBhdGgJc2ltb3V0MzAKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljb2hlcmVuY2UJZ3N0ZXAJbXVzeW5maXQJc2ltdHJhbnNmb3JtCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29sb3JpbmQJR3VpRGlhbG9nQ3JlYXRlCW14c3RyMnhtc3RyCXNpbgorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNvbWJpbmVwZglHdWlEaWFsb2dEZXN0cm95CW14c3RyaW5nMnhtc3RyaW5nCXNpbmdyaWNjYXRpCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29tbWVudG9mCUd1aUZsdXNoCW5hbWVzCXNpbmgKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljb21wYXJlCUd1aUdldFZhbHVlCW5pY2hvbHMJc2lubQorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNvbXBsZW1lbnRhcnllcmYJR3VpTWFuYWdlCW5vaXNlZmlsdAlzaXplCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29tcGxleGVudmVsb3BlCUd1aVBsb3QJbm9uZQlzbWFyZ2luCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29tcGxleGZyZXFzaGlmdAlHdWlQbG90R2V0CW5vcm0Jc25zMnN5cworc3luIGtleXdvcmQgeG1hdGhGdW5jCWNvbmNhdHNlZwlHdWlTZXRWYWx1ZQludW1kZW4Jc29ydAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNvbmRpdGlvbglHdWlTaGVsbENyZWF0ZQlueXF1aXN0CXNwZWN0cmFkCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29uaglHdWlTaGVsbERlaWNvbmlmeQlvYnNjZglzcGVjdHJ1bQorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNvbm1hcAlHdWlTaGVsbERlc3Ryb3kJb2JzZXJ2YWJsZQlzcGxpbmUKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljb25uZWN0CUd1aVNoZWxsSWNvbmlmeQlvZQlzcHJpbnRmCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29ucGRtCUd1aVNoZWxsTG93ZXIJb25lcwlzcXJ0CitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29uc3RlbGxhdGlvbglHdWlTaGVsbFJhaXNlCW9waGFuawlzcXJ0bQorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNvbnN5cwlHdWlTaGVsbFJlYWxpemUJb3B0aW1pemUJc3Jlc2lkdWFsaXplCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29udHJvbGxhYmxlCUd1aVNoZWxsVW5yZWFsaXplCW9wdHNjYWxlCXNzMmFybWEKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljb252b2x2ZQlHdWlUaW1lcglvcmRlcmZpbHQJc3N0CitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY29ycmVsYXRlCUd1aVRvb2xDcmVhdGUJb3JkZXJzdGF0ZQlzc3YKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljb3MJR3VpVG9vbERlc3Ryb3kJb3J0aAlzdGFibGUKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljb3NoCUd1aVRvb2xFeGlzdAlvc2NtZAlzdGFpcgorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNvc20JR3VpVW5tYW5hZ2UJb3Njb3BlCXN0YXJwCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY290CUd1aVdpZGdldEV4aXN0CW9zc2NhbGUJc3RlcAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNvdGgJaDJub3JtCXBhZGNyb3AJc3RlcGludmFyCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY292YXJpYW5jZQloMnN5bglwYXJ0aWFsc3VtCXN0cmluZworc3luIGtleXdvcmQgeG1hdGhGdW5jCWNzYwloYWRhbWFyZAlwZG0Jc3RyaW5nZXgKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwljc2NoCWhhbmtlbHN2CXBkbXNsaWNlCXN1YnN0cgorc3luIGtleXdvcmQgeG1hdGhGdW5jCWNzdW0JaGVzc2VuYmVyZwlwZW0Jc3Vic3lzCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJY3RyY2YJaGlnaHBhc3MJcGVyZnBsb3RzCXN1bQorc3luIGtleXdvcmQgeG1hdGhGdW5jCWN0cmxwbG90CWhpbGJlcnQJcGVyaW9kCXN2ZAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWRhdWcJaGlsYmVydHRyYW5zZm9ybQlwZnNjYWxlCXN2cGxvdAorc3luIGtleXdvcmQgeG1hdGhGdW5jCWRidG9saW4JaGluZmNvbnRyCXBoYXNlc2hpZnQJc3dlZXAKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlkY3QJaGluZm5vcm0JcGludglzeW1ib2xtYXAKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlkZWNpbWF0ZQloaW5mc3luCXBsb3QJc3lzMnNucworc3luIGtleXdvcmQgeG1hdGhGdW5jCWRlZkZyZXFSYW5nZQloaXN0b2dyYW0JcGxvdDMwCXN5c2ljCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZGVmVGltZVJhbmdlCWlkZnJlcQlwbWRlbW9kCVN5c2lkCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZGVsYXkJaWRpbXB1bHNlCXBvaXNzb24Jc3lzdGVtCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZGVsc3Vic3RyCWlkc2ltCXBvaXNzb25pbXB1bHNlCXRhbgorc3luIGtleXdvcmQgeG1hdGhGdW5jCWRldAlpZmZ0CXBvbGVwbGFjZQl0YW5oCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZGV0cmVuZAlpbWFnCXBvbGVzCXRhcGVyCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZGh0CWltcGludmFyCXBvbGV6ZXJvCXRmaWQKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlkaWFnb25hbAlpbXBwbG90CXBvbHRyZW5kCXRvZXBsaXR6CitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZGlmZmVyZW50aWF0ZQlpbXB1bHNlCXBvbHlmaXQJdHJhY2UKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlkaXJlY3RzZXF1ZW5jZQlpbmRleAlwb2x5bm9taWFsCXRyaWwKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlkaXNjcmV0aXplCWluZGV4bGlzdAlwb2x5dmFsCXRyaW0KK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlkaXZpZGUJaW5pdGlhbAlwb2x5dmFsbQl0cmltMzAKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlkb21haW4JaW5pdG1vZGVsCXByYnMJdHJpdQorc3luIGtleXdvcmQgeG1hdGhGdW5jCWRzdAlpbml0eDAJcHJvZHVjdAl0cnNwCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZWlnCWlubjJicG0JcHNkCXRydW5jYXRlCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZWxsaXBjb25zdHIJaW5uMnBlCXB1dF9pbm4JdHVzdGluCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZWxsaXB0aWMJaW5uMnVuYwlxcG9wdAl1bmlmb3JtCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZXJmCWluc2VydHNlZwlxcgl2YWwKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwllcnJvcglpbnQJcXVhbnRpemUJdmFyaWFuY2UKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwllc3RpbWF0b3IJaW50ZWdyYXRlCXF1ZXJ5YmxvY2sJdmlkZW9saW5lcworc3luIGtleXdvcmQgeG1hdGhGdW5jCWV0ZmUJaW50ZWdyYXRlZHVtcAlxdWVyeWJsb2Nrb3B0aW9ucwl3Y2JvZGUKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlleGlzdAlpbnRlcnAJcXVlcnlidWJibGUJd2NnYWluCitzeW4ga2V5d29yZCB4bWF0aEZ1bmMJZXhwCWludGVycG9sYXRlCXF1ZXJ5YnViYmxlb3B0aW9uc3dpbmRvdworc3luIGtleXdvcmQgeG1hdGhGdW5jCWV4cG0JaW52CXF1ZXJ5Y2F0YWxvZwl3dGJhbGFuY2UKK3N5biBrZXl3b3JkIHhtYXRoRnVuYwlleHRyYWN0Y2hhbglpbnZoaWxiZXJ0CXF1ZXJ5Y29ubmVjdGlvbgl6ZXJvcworc3luIGtleXdvcmQgeG1hdGhGdW5jCWV4dHJhY3RzZWcJaXFtaXgJcXVlcnlzdGQKKworc3luIGNhc2UgbWF0Y2gKKworIiBMYWJlbHMgKHN1cHBvcnRzIHhtYXRoJ3MgZ290bykKK3N5biBtYXRjaCAgIHhtYXRoTGFiZWwJICJeXHMqPFthLXpBLVpfXVthLXpBLVowLTldKj4iCisKKyIgU3RyaW5nIGFuZCBDaGFyYWN0ZXIgY29uc3RhbnRzCisiIEhpZ2hsaWdodCBzcGVjaWFsIGNoYXJhY3RlcnMgKHRob3NlIHdoaWNoIGhhdmUgYSBiYWNrc2xhc2gpIGRpZmZlcmVudGx5CitzeW4gbWF0Y2ggICB4bWF0aFNwZWNpYWwJY29udGFpbmVkICJcXFxkXGRcZFx8XFwuIgorc3luIHJlZ2lvbiAgeG1hdGhTdHJpbmcJc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrIGNvbnRhaW5zPXhtYXRoU3BlY2lhbAorc3luIG1hdGNoICAgeG1hdGhDaGFyYWN0ZXIJIidbXlxcXSciCitzeW4gbWF0Y2ggICB4bWF0aFNwZWNpYWxDaGFyCSInXFwuJyIKKworc3luIG1hdGNoICAgeG1hdGhOdW1iZXIJIi1cPVw8XGRcK0xcPVw+XHwwW3hYXVswLTlhLWZBLUZdXCtcPiIKKworIiBDb21tZW50czoKKyIgeG1hdGggc3VwcG9ydHMgIy4uLiAgKGxpa2UgVW5peCBzaGVsbHMpCisiICAgICAgIGFuZCAgICAgICN7IC4uLiB9IyBjb21tZW50IGJsb2Nrcworc3luIGtleXdvcmQgeG1hdGhUb2RvIGNvbnRhaW5lZAlUT0RPIFRvZG8gREVCVUcKK3N5biBtYXRjaCAgIHhtYXRoQ29tbWVudAkiIy4qJCIJCWNvbnRhaW5zPXhtYXRoU3RyaW5nLHhtYXRoVG9kbyxAU3BlbGwKK3N5biByZWdpb24gIHhtYXRoQ29tbWVudEJsb2NrCXN0YXJ0PSIjeyIgZW5kPSJ9IyIJY29udGFpbnM9eG1hdGhTdHJpbmcseG1hdGhUb2RvCisKKyIgc3luY2hyb25pemluZworc3luIHN5bmMgbWF0Y2ggeG1hdGhTeW5jQ29tbWVudAlncm91cGhlcmUgeG1hdGhDb21tZW50QmxvY2sgIiN7Igorc3luIHN5bmMgbWF0Y2ggeG1hdGhTeW5jQ29tbWVudAlncm91cHRoZXJlIE5PTkUgIn0jIgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF94bWF0aF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF94bWF0aF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB4bWF0aEJyYWNlRXJyb3IJeG1hdGhFcnJvcgorICBIaUxpbmsgeG1hdGhDbWQJeG1hdGhTdGF0ZW1lbnQKKyAgSGlMaW5rIHhtYXRoQ29tbWVudEJsb2NrCXhtYXRoQ29tbWVudAorICBIaUxpbmsgeG1hdGhDdXJseUVycm9yCXhtYXRoRXJyb3IKKyAgSGlMaW5rIHhtYXRoRnVuY0NtZAl4bWF0aFN0YXRlbWVudAorICBIaUxpbmsgeG1hdGhQYXJlbkVycm9yCXhtYXRoRXJyb3IKKworICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCisgIEhpTGluayB4bWF0aENoYXJhY3RlcglDaGFyYWN0ZXIKKyAgSGlMaW5rIHhtYXRoQ29tbWEJRGVsaW1pdGVyCisgIEhpTGluayB4bWF0aENvbW1lbnQJQ29tbWVudAorICBIaUxpbmsgeG1hdGhDb21tZW50QmxvY2sJQ29tbWVudAorICBIaUxpbmsgeG1hdGhDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgeG1hdGhFcnJvcglFcnJvcgorICBIaUxpbmsgeG1hdGhGdW5jCUZ1bmN0aW9uCisgIEhpTGluayB4bWF0aExhYmVsCVByZVByb2MKKyAgSGlMaW5rIHhtYXRoTnVtYmVyCU51bWJlcgorICBIaUxpbmsgeG1hdGhSZXBlYXQJUmVwZWF0CisgIEhpTGluayB4bWF0aFNwZWNpYWwJVHlwZQorICBIaUxpbmsgeG1hdGhTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgorICBIaUxpbmsgeG1hdGhTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayB4bWF0aFN0cmluZwlTdHJpbmcKKyAgSGlMaW5rIHhtYXRoVG9kbwlUb2RvCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInhtYXRoIgorCisiIHZpbTogdHM9MTcKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3htbC52aW0gYi9ydW50aW1lL3N5bnRheC94bWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNmM2MjYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC94bWwudmltCkBAIC0wLDAgKzEsMzQ0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJWE1MCisiIE1haW50YWluZXI6CUpvaGFubmVzIFplbGxuZXIgPGpvaGFubmVzQHplbGxuZXIub3JnPgorIgkJQXV0aG9yIGFuZCBwcmV2aW91cyBtYWludGFpbmVyOgorIgkJUGF1bCBTaWVnbWFubiA8cGF1bHNAZXVyb25ldC5ubD4KKyIgTGFzdCBDaGFuZ2U6CUZyaSwgMDQgSnVuIDIwMDQgMTA6NDE6NTQgQ0VTVAorIiBGaWxlbmFtZXM6CSoueG1sCisiICRJZCQKKworIiBDT05GSUdVUkFUSU9OOgorIiAgIHN5bnRheCBmb2xkaW5nIGNhbiBiZSB0dXJuZWQgb24gYnkKKyIKKyIgICAgICBsZXQgZzp4bWxfc3ludGF4X2ZvbGRpbmcgPSAxCisiCisiICAgYmVmb3JlIHRoZSBzeW50YXggZmlsZSBnZXRzIGxvYWRlZCAoZS5nLiBpbiB+Ly52aW1yYykuCisiICAgVGhpcyBtaWdodCBzbG93IGRvd24gc3ludGF4IGhpZ2hsaWdodGluZyBzaWduaWZpY2FudGx5LAorIiAgIGVzcGVjaWFsbHkgZm9yIGxhcmdlIGZpbGVzLgorIgorIiBDUkVESVRTOgorIiAgIFRoZSBvcmlnaW5hbCB2ZXJzaW9uIHdhcyBkZXJpdmVkIGJ5IFBhdWwgU2llZ21hbm4gZnJvbQorIiAgIENsYXVkaW8gRmxlaW5lcidzIGh0bWwudmltLgorIgorIiBSRUZFUkVOQ0VTOgorIiAgIFsxXSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAwL1JFQy14bWwtMjAwMDEwMDYKKyIgICBbMl0gaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvMDYveG1sc3BlYy1yZXBvcnQtMTk5ODA5MTAuaHRtCisiCisiICAgYXMgPGhpcmF1Y2hpQGtpd2kubmUuanA+IHBvaW50ZWQgb3V0IGFjY29yZGluZyB0byByZWZlcmVuY2UgWzFdCisiCisiICAgMi4zIENvbW1vbiBTeW50YWN0aWMgQ29uc3RydWN0cworIiAgIFs0XSAgICBOYW1lQ2hhciAgICA6Oj0gICAgTGV0dGVyIHwgRGlnaXQgfCAnLicgfCAnLScgfCAnXycgfCAnOicgfCBDb21iaW5pbmdDaGFyIHwgRXh0ZW5kZXIKKyIgICBbNV0gICAgTmFtZSAgICAgICAgOjo9ICAgIChMZXR0ZXIgfCAnXycgfCAnOicpIChOYW1lQ2hhcikqCisiCisiIE5PVEU6CisiICAgMSkgZW1wdHkgdGFnIGRlbGltaXRlcnMgIi8+IiBpbnNpZGUgYXR0cmlidXRlIHZhbHVlcyAoc3RyaW5ncykKKyIgICAgICBjb25mdXNlIHN5bnRheCBoaWdobGlnaHRpbmcuCisiICAgMikgZm9yIGxhcmdlIGZpbGVzLCBmb2xkaW5nIGNhbiBiZSBwcmV0dHkgc2xvdywgZXNwZWNpYWxseSB3aGVuCisiICAgICAgbG9hZGluZyBhIGZpbGUgdGhlIGZpcnN0IHRpbWUgYW5kIHZpZXdvcHRpb25zIGNvbnRhaW5zICdmb2xkcycKKyIgICAgICBzbyB0aGF0IGZvbGRzIG9mIHByZXZpb3VzIHNlc3Npb25zIGFyZSBhcHBsaWVkLgorIiAgICAgIERvbid0IHVzZSAnZm9sZG1ldGhvZD1zeW50YXgnIGluIHRoaXMgY2FzZS4KKworCisiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOnhtbF9jcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK3N5biBjYXNlIG1hdGNoCisKKyIgbWFyayBpbGxlZ2FsIGNoYXJhY3RlcnMKK3N5biBtYXRjaCB4bWxFcnJvciAiWzwmXSIKKworIiBzdHJpbmdzIChpbnNpZGUgdGFncykgYWthIFZBTFVFUworIgorIiBFWEFNUExFOgorIgorIiA8dGFnIGZvby5hdHRyaWJ1dGUgPSAidmFsdWUiPgorIiAgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eCitzeW4gcmVnaW9uICB4bWxTdHJpbmcgY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9eG1sRW50aXR5IGRpc3BsYXkKK3N5biByZWdpb24gIHhtbFN0cmluZyBjb250YWluZWQgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKyBjb250YWlucz14bWxFbnRpdHkgZGlzcGxheQorCisKKyIgcHVuY3R1YXRpb24gKHdpdGhpbiBhdHRyaWJ1dGVzKSBlLmcuIDx0YWcgeG1sOmZvby5hdHRyaWJ1dGUgLi4uPgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgXgorIiBzeW4gbWF0Y2ggICB4bWxBdHRyaWJQdW5jdCArWy06Ll9dKyBjb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoICAgeG1sQXR0cmliUHVuY3QgK1s6Ll0rIGNvbnRhaW5lZCBkaXNwbGF5CisKKyIgbm8gaGlnaGxpZ2h0aW5nIGZvciB4bWxFcXVhbCAoeG1sRXF1YWwgaGFzIG5vIGhpZ2hsaWdodGluZyBncm91cCkKK3N5biBtYXRjaCAgIHhtbEVxdWFsICs9KyBkaXNwbGF5CisKKworIiBhdHRyaWJ1dGUsIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSAnPScKKyIKKyIgUFJPVklERVM6IEB4bWxBdHRyaWJIb29rCisiCisiIEVYQU1QTEU6CisiCisiIDx0YWcgZm9vLmF0dHJpYnV0ZSA9ICJ2YWx1ZSI+CisiICAgICAgXl5eXl5eXl5eXl5eXgorIgorc3luIG1hdGNoICAgeG1sQXR0cmliCisgICAgXCArWy0nIjxdXEA8IVw8W2EtekEtWjpfXVstLjAtOWEtekEtWjAtOTpfXSpcPlwoWyciPl1cQCFcfCRcKSsKKyAgICBcIGNvbnRhaW5lZAorICAgIFwgY29udGFpbnM9eG1sQXR0cmliUHVuY3QsQHhtbEF0dHJpYkhvb2sKKyAgICBcIGRpc3BsYXkKKworCisiIG5hbWVzcGFjZSBzcGVjCisiCisiIFBST1ZJREVTOiBAeG1sTmFtZXNwYWNlSG9vaworIgorIiBFWEFNUExFOgorIgorIiA8eHNsOmZvci1lYWNoIHNlbGVjdCA9ICJsb2xhIj4KKyIgIF5eXgorIgoraWYgZXhpc3RzKCJnOnhtbF9uYW1lc3BhY2VfdHJhbnNwYXJlbnQiKQorc3luIG1hdGNoICAgeG1sTmFtZXNwYWNlCisgICAgXCArXCg8XHw8L1wpXEA8PVteIC8hPzw+Iic6XVwrWzpdXEA9KworICAgIFwgY29udGFpbmVkCisgICAgXCBjb250YWlucz1AeG1sTmFtZXNwYWNlSG9vaworICAgIFwgdHJhbnNwYXJlbnQKKyAgICBcIGRpc3BsYXkKK2Vsc2UKK3N5biBtYXRjaCAgIHhtbE5hbWVzcGFjZQorICAgIFwgK1woPFx8PC9cKVxAPD1bXiAvIT88PiInOl1cK1s6XVxAPSsKKyAgICBcIGNvbnRhaW5lZAorICAgIFwgY29udGFpbnM9QHhtbE5hbWVzcGFjZUhvb2sKKyAgICBcIGRpc3BsYXkKK2VuZGlmCisKKworIiB0YWcgbmFtZQorIgorIiBQUk9WSURFUzogQHhtbFRhZ0hvb2sKKyIKKyIgRVhBTVBMRToKKyIKKyIgPHRhZyBmb28uYXR0cmlidXRlID0gInZhbHVlIj4KKyIgIF5eXgorIgorc3luIG1hdGNoICAgeG1sVGFnTmFtZQorICAgIFwgK1s8XVxAPD1bXiAvIT88PiInXVwrKworICAgIFwgY29udGFpbmVkCisgICAgXCBjb250YWlucz14bWxOYW1lc3BhY2UseG1sQXR0cmliUHVuY3QsQHhtbFRhZ0hvb2sKKyAgICBcIGRpc3BsYXkKKworCitpZiBleGlzdHMoJ2c6eG1sX3N5bnRheF9mb2xkaW5nJykKKworICAgICIgc3RhcnQgdGFnCisgICAgIiB1c2UgbWF0Y2hncm91cD14bWxUYWcgdG8gc2tpcCBvdmVyIHRoZSBsZWFkaW5nICc8JworICAgICIKKyAgICAiIFBST1ZJREVTOiBAeG1sU3RhcnRUYWdIb29rCisgICAgIgorICAgICIgRVhBTVBMRToKKyAgICAiCisgICAgIiA8dGFnIGlkPSJ3aG9vcHMiPgorICAgICIgc15eXl5eXl5eXl5eXl5eXmUKKyAgICAiCisgICAgc3luIHJlZ2lvbiAgIHhtbFRhZworCVwgbWF0Y2hncm91cD14bWxUYWcgc3RhcnQ9KzxbXiAvIT88PiInXVxAPSsKKwlcIG1hdGNoZ3JvdXA9eG1sVGFnIGVuZD0rPisKKwlcIGNvbnRhaW5lZAorCVwgY29udGFpbnM9eG1sRXJyb3IseG1sVGFnTmFtZSx4bWxBdHRyaWIseG1sRXF1YWwseG1sU3RyaW5nLEB4bWxTdGFydFRhZ0hvb2sKKworCisgICAgIiBoaWdobGlnaHQgdGhlIGVuZCB0YWcKKyAgICAiCisgICAgIiBQUk9WSURFUzogQHhtbFRhZ0hvb2sKKyAgICAiIChzaG91bGQgd2UgcHJvdmlkZSBhIHNlcGFyYXRlIEB4bWxFbmRUYWdIb29rID8pCisgICAgIgorICAgICIgRVhBTVBMRToKKyAgICAiCisgICAgIiA8L3RhZz4KKyAgICAiIF5eXl5eXgorICAgICIKKyAgICBzeW4gbWF0Y2ggICB4bWxFbmRUYWcKKwlcICs8L1teIC8hPzw+IiddXCs+KworCVwgY29udGFpbmVkCisJXCBjb250YWlucz14bWxOYW1lc3BhY2UseG1sQXR0cmliUHVuY3QsQHhtbFRhZ0hvb2sKKworCisgICAgIiB0YWcgZWxlbWVudHMgd2l0aCBzeW50YXgtZm9sZGluZy4KKyAgICAiIE5PVEU6IE5PIEhJR0hMSUdIVElORyAtLSBoaWdobGlnaHRpbmcgaXMgZG9uZSBieSBjb250YWluZWQgZWxlbWVudHMKKyAgICAiCisgICAgIiBQUk9WSURFUzogQHhtbFJlZ2lvbkhvb2sKKyAgICAiCisgICAgIiBFWEFNUExFOgorICAgICIKKyAgICAiIDx0YWcgaWQ9Indob29wcyI+CisgICAgIiAgIDwhLS0gY29tbWVudCAtLT4KKyAgICAiICAgPGFub3RoZXIudGFnPjwvYW5vdGhlci50YWc+CisgICAgIiAgIDxlbXB0eS50YWcvPgorICAgICIgICBzb21lIGRhdGEKKyAgICAiIDwvdGFnPgorICAgICIKKyAgICBzeW4gcmVnaW9uICAgeG1sUmVnaW9uCisJXCBzdGFydD0rPFx6KFteIC8hPzw+IiddXCtcKSsKKwlcIHNraXA9KzwhLS1cXy5cey19LS0+KworCVwgZW5kPSs8L1x6MVxfXHNcey19PisKKwlcIG1hdGNoZ3JvdXA9eG1sRW5kVGFnIGVuZD0rLz4rCisJXCBmb2xkCisJXCBjb250YWlucz14bWxUYWcseG1sRW5kVGFnLHhtbENkYXRhLHhtbFJlZ2lvbix4bWxDb21tZW50LHhtbEVudGl0eSx4bWxQcm9jZXNzaW5nLEB4bWxSZWdpb25Ib29rCisJXCBrZWVwZW5kCisJXCBleHRlbmQKKworZWxzZQorCisgICAgIiBubyBzeW50YXggZm9sZGluZzoKKyAgICAiIC0gY29udGFpbmVkIGF0dHJpYnV0ZSByZW1vdmVkCisgICAgIiAtIHhtbFJlZ2lvbiBub3QgZGVmaW5lZAorICAgICIKKyAgICBzeW4gcmVnaW9uICAgeG1sVGFnCisJXCBtYXRjaGdyb3VwPXhtbFRhZyBzdGFydD0rPFteIC8hPzw+IiddXEA9KworCVwgbWF0Y2hncm91cD14bWxUYWcgZW5kPSs+KworCVwgY29udGFpbnM9eG1sRXJyb3IseG1sVGFnTmFtZSx4bWxBdHRyaWIseG1sRXF1YWwseG1sU3RyaW5nLEB4bWxTdGFydFRhZ0hvb2sKKworICAgIHN5biBtYXRjaCAgIHhtbEVuZFRhZworCVwgKzwvW14gLyE/PD4iJ11cKz4rCisJXCBjb250YWlucz14bWxOYW1lc3BhY2UseG1sQXR0cmliUHVuY3QsQHhtbFRhZ0hvb2sKKworZW5kaWYKKworCisiICZlbnRpdGllczsgY29tcGFyZSB3aXRoIGR0ZAorc3luIG1hdGNoICAgeG1sRW50aXR5ICAgICAgICAgICAgICAgICAiJlteOyBcdF0qOyIgY29udGFpbnM9eG1sRW50aXR5UHVuY3QKK3N5biBtYXRjaCAgIHhtbEVudGl0eVB1bmN0ICBjb250YWluZWQgIlsmLjtdIgorCitpZiBleGlzdHMoJ2c6eG1sX3N5bnRheF9mb2xkaW5nJykKKworICAgICIgVGhlIHJlYWwgY29tbWVudHMgKHRoaXMgaW1wbGVtZW50cyB0aGUgY29tbWVudHMgYXMgZGVmaW5lZCBieSB4bWwsCisgICAgIiBidXQgbm90IGFsbCB4bWwgcGFnZXMgYWN0dWFsbHkgY29uZm9ybSB0byBpdC4gRXJyb3JzIGFyZSBmbGFnZ2VkLgorICAgIHN5biByZWdpb24gIHhtbENvbW1lbnQKKwlcIHN0YXJ0PSs8ISsKKwlcIGVuZD0rPisKKwlcIGNvbnRhaW5zPXhtbENvbW1lbnRQYXJ0LHhtbENvbW1lbnRFcnJvcgorCVwgZXh0ZW5kCisJXCBmb2xkCisKK2Vsc2UKKworICAgICIgbm8gc3ludGF4IGZvbGRpbmc6CisgICAgIiAtIGZvbGQgYXR0cmlidXRlIHJlbW92ZWQKKyAgICAiCisgICAgc3luIHJlZ2lvbiAgeG1sQ29tbWVudAorCVwgc3RhcnQ9KzwhKworCVwgZW5kPSs+KworCVwgY29udGFpbnM9eG1sQ29tbWVudFBhcnQseG1sQ29tbWVudEVycm9yCisJXCBleHRlbmQKKworZW5kaWYKKworc3luIGtleXdvcmQgeG1sVG9kbyAgICAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBkaXNwbGF5CitzeW4gbWF0Y2ggICB4bWxDb21tZW50RXJyb3IgY29udGFpbmVkICJbXj48IV0iCitzeW4gcmVnaW9uICB4bWxDb21tZW50UGFydAorICAgIFwgc3RhcnQ9Ky0tKworICAgIFwgZW5kPSstLSsKKyAgICBcIGNvbnRhaW5lZAorICAgIFwgY29udGFpbnM9eG1sVG9kbyxAeG1sQ29tbWVudEhvb2sKKworCisiIENEYXRhIHNlY3Rpb25zCisiCisiIFBST1ZJREVTOiBAeG1sQ2RhdGFIb29rCisiCitzeW4gcmVnaW9uICAgIHhtbENkYXRhCisgICAgXCBzdGFydD0rPCFcW0NEQVRBXFsrCisgICAgXCBlbmQ9K11dPisKKyAgICBcIGNvbnRhaW5zPXhtbENkYXRhU3RhcnQseG1sQ2RhdGFFbmQsQHhtbENkYXRhSG9vaworICAgIFwga2VlcGVuZAorICAgIFwgZXh0ZW5kCisKKyIgdXNpbmcgdGhlIGZvbGxvd2luZyBsaW5lIGluc3RlYWQgbGVhZHMgdG8gY29ycnVwdCBmb2xkaW5nIGF0IENEQVRBIHJlZ2lvbnMKKyIgc3luIG1hdGNoICAgIHhtbENkYXRhICAgICAgKzwhXFtDREFUQVxbXF8uXHstfV1dPisgIGNvbnRhaW5zPXhtbENkYXRhU3RhcnQseG1sQ2RhdGFFbmQsQHhtbENkYXRhSG9vaworc3luIG1hdGNoICAgIHhtbENkYXRhU3RhcnQgKzwhXFtDREFUQVxbKyAgY29udGFpbmVkIGNvbnRhaW5zPXhtbENkYXRhQ2RhdGEKK3N5biBrZXl3b3JkICB4bWxDZGF0YUNkYXRhIENEQVRBICAgICAgICAgIGNvbnRhaW5lZAorc3luIG1hdGNoICAgIHhtbENkYXRhRW5kICAgK11dPisgICAgICAgICAgY29udGFpbmVkCisKKworIiBQcm9jZXNzaW5nIGluc3RydWN0aW9ucworIiBUaGlzIGFsbG93cyAiPz4iIGluc2lkZSBzdHJpbmdzIC0tIGdvb2QgaWRlYT8KK3N5biByZWdpb24gIHhtbFByb2Nlc3NpbmcgbWF0Y2hncm91cD14bWxQcm9jZXNzaW5nRGVsaW0gc3RhcnQ9Ijw/IiBlbmQ9Ij8+IiBjb250YWlucz14bWxBdHRyaWIseG1sRXF1YWwseG1sU3RyaW5nCisKKworaWYgZXhpc3RzKCdnOnhtbF9zeW50YXhfZm9sZGluZycpCisKKyAgICAiIERURCAtLSB3ZSB1c2UgZHRkLnZpbSBoZXJlCisgICAgc3luIHJlZ2lvbiAgeG1sRG9jVHlwZSBtYXRjaGdyb3VwPXhtbERvY1R5cGVEZWNsCisJXCBzdGFydD0iPCFET0NUWVBFImhlPXMrMixycz1zKzIgZW5kPSI+IgorCVwgZm9sZAorCVwgY29udGFpbnM9eG1sRG9jVHlwZUtleXdvcmQseG1sSW5saW5lRFRELHhtbFN0cmluZworZWxzZQorCisgICAgIiBubyBzeW50YXggZm9sZGluZzoKKyAgICAiIC0gZm9sZCBhdHRyaWJ1dGUgcmVtb3ZlZAorICAgICIKKyAgICBzeW4gcmVnaW9uICB4bWxEb2NUeXBlIG1hdGNoZ3JvdXA9eG1sRG9jVHlwZURlY2wKKwlcIHN0YXJ0PSI8IURPQ1RZUEUiaGU9cysyLHJzPXMrMiBlbmQ9Ij4iCisJXCBjb250YWlucz14bWxEb2NUeXBlS2V5d29yZCx4bWxJbmxpbmVEVEQseG1sU3RyaW5nCisKK2VuZGlmCisKK3N5biBrZXl3b3JkIHhtbERvY1R5cGVLZXl3b3JkIGNvbnRhaW5lZCBET0NUWVBFIFBVQkxJQyBTWVNURU0KK3N5biByZWdpb24gIHhtbElubGluZURURCBjb250YWluZWQgbWF0Y2hncm91cD14bWxEb2NUeXBlRGVjbCBzdGFydD0iXFsiIGVuZD0iXSIgY29udGFpbnM9QHhtbERURAorc3luIGluY2x1ZGUgQHhtbERURCA8c2ZpbGU+OnA6aC9kdGQudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKKworIiBzeW5jaHJvbml6aW5nCisiIFRPRE8gISEhIHRvIGJlIGltcHJvdmVkICEhIQorCitzeW4gc3luYyBtYXRjaCB4bWxTeW5jRFQgZ3JvdXBoZXJlICB4bWxEb2NUeXBlICtcXy5cKDwhRE9DVFlQRVwpXEA9KworIiBzeW4gc3luYyBtYXRjaCB4bWxTeW5jRFQgZ3JvdXB0aGVyZSAgTk9ORSAgICAgICArXT4rCisKK2lmIGV4aXN0cygnZzp4bWxfc3ludGF4X2ZvbGRpbmcnKQorICAgIHN5biBzeW5jIG1hdGNoIHhtbFN5bmMgZ3JvdXBoZXJlICAgeG1sUmVnaW9uICArXF8uXCg8W14gLyE/PD4iJ11cK1wpXEA9KworICAgICIgc3luIHN5bmMgbWF0Y2ggeG1sU3luYyBncm91cGhlcmUgIHhtbFJlZ2lvbiAiPFteIC8hPzw+IiddKj4iCisgICAgc3luIHN5bmMgbWF0Y2ggeG1sU3luYyBncm91cHRoZXJlICB4bWxSZWdpb24gICs8L1teIC8hPzw+IiddXCs+KworZW5kaWYKKworc3luIHN5bmMgbWlubGluZXM9MTAwCisKKworIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCitoaSBkZWYgbGluayB4bWxUb2RvCQlUb2RvCitoaSBkZWYgbGluayB4bWxUYWcJCUZ1bmN0aW9uCitoaSBkZWYgbGluayB4bWxUYWdOYW1lCQlGdW5jdGlvbgoraGkgZGVmIGxpbmsgeG1sRW5kVGFnCQlJZGVudGlmaWVyCitpZiAhZXhpc3RzKCJnOnhtbF9uYW1lc3BhY2VfdHJhbnNwYXJlbnQiKQorICAgIGhpIGRlZiBsaW5rIHhtbE5hbWVzcGFjZQlUYWcKK2VuZGlmCitoaSBkZWYgbGluayB4bWxFbnRpdHkJCVN0YXRlbWVudAoraGkgZGVmIGxpbmsgeG1sRW50aXR5UHVuY3QJVHlwZQorCitoaSBkZWYgbGluayB4bWxBdHRyaWJQdW5jdAlDb21tZW50CitoaSBkZWYgbGluayB4bWxBdHRyaWIJCVR5cGUKKworaGkgZGVmIGxpbmsgeG1sU3RyaW5nCQlTdHJpbmcKK2hpIGRlZiBsaW5rIHhtbENvbW1lbnQJCUNvbW1lbnQKK2hpIGRlZiBsaW5rIHhtbENvbW1lbnRQYXJ0CUNvbW1lbnQKK2hpIGRlZiBsaW5rIHhtbENvbW1lbnRFcnJvcglFcnJvcgoraGkgZGVmIGxpbmsgeG1sRXJyb3IJCUVycm9yCisKK2hpIGRlZiBsaW5rIHhtbFByb2Nlc3NpbmdEZWxpbQlDb21tZW50CitoaSBkZWYgbGluayB4bWxQcm9jZXNzaW5nCVR5cGUKKworaGkgZGVmIGxpbmsgeG1sQ2RhdGEJCVN0cmluZworaGkgZGVmIGxpbmsgeG1sQ2RhdGFDZGF0YQlTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHhtbENkYXRhU3RhcnQJVHlwZQoraGkgZGVmIGxpbmsgeG1sQ2RhdGFFbmQJCVR5cGUKKworaGkgZGVmIGxpbmsgeG1sRG9jVHlwZURlY2wJRnVuY3Rpb24KK2hpIGRlZiBsaW5rIHhtbERvY1R5cGVLZXl3b3JkCVN0YXRlbWVudAoraGkgZGVmIGxpbmsgeG1sSW5saW5lRFRECUZ1bmN0aW9uCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInhtbCIKKworbGV0ICZjcG8gPSBzOnhtbF9jcG9fc2F2ZQordW5sZXQgczp4bWxfY3BvX3NhdmUKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3htb2RtYXAudmltIGIvcnVudGltZS9zeW50YXgveG1vZG1hcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcyMTg4NAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3htb2RtYXAudmltCkBAIC0wLDAgKzEsMTcyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJICAgIHhtb2RtYXAgZGVmaW5pdGlvbiBmaWxlCisiIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgorIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL3htb2RtYXAvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKKyIgYXJjaC10YWc6CSAgICA4YzM3ZWQ0MS02NTVhLTQ3OWQtODA1MC1lMTVkYzY3NzAzMzgKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKyIgY29tbWVudHMKK3N5biByZWdpb24gIHhtb2RtYXBDb21tZW50CWRpc3BsYXkgb25lbGluZSBtYXRjaGdyb3VwPXhtb2RtYXBDb21tZW50IHN0YXJ0PS9eIS8gZW5kPS8kLyBjb250YWlucz14bW9kbWFwVG9kbworCisiIHRvZG8KK3N5biBrZXl3b3JkIHhtb2RtYXBUb2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIG51bWJlcnMKK3N5biBjYXNlIGlnbm9yZQorc3luIG1hdGNoICAgeG1vZG1hcEludAkJZGlzcGxheSAiXDxcZFwrXD4iCitzeW4gbWF0Y2ggICB4bW9kbWFwSGV4CQlkaXNwbGF5ICJcPDB4XHhcK1w+Igorc3luIG1hdGNoICAgeG1vZG1hcE9jdGFsCWRpc3BsYXkgIlw8MFxvXCtcPiIKK3N5biBtYXRjaCAgIHhtb2RtYXBPY3RhbEVycm9yCWRpc3BsYXkgIlw8MFxvKls4OV1cZCoiCitzeW4gY2FzZSBtYXRjaAorCisiIGtleXN5bXMgKHRha2VuIGZyb20gPFgxMS9rZXlzeW1kZWYuaD4pCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVZvaWRTeW1ib2wgQmFja1NwYWNlIFRhYiBMaW5lZmVlZCBDbGVhciBSZXR1cm4gUGF1c2UgU2Nyb2xsX0xvY2sgU3lzX1JlcSBFc2NhcGUgRGVsZXRlIE11bHRpX2tleSBDb2RlaW5wdXQgU2luZ2xlQ2FuZGlkYXRlIE11bHRpcGxlQ2FuZGlkYXRlCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVByZXZpb3VzQ2FuZGlkYXRlIEthbmppIE11aGVua2FuIEhlbmthbl9Nb2RlIEhlbmthbiBSb21hamkgSGlyYWdhbmEgS2F0YWthbmEgSGlyYWdhbmFfS2F0YWthbmEgWmVua2FrdSBIYW5rYWt1IFplbmtha3VfSGFua2FrdSBUb3Vyb2t1IE1hc3N5byBLYW5hX0xvY2sKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JS2FuYV9TaGlmdCBFaXN1X1NoaWZ0IEVpc3VfdG9nZ2xlIEthbmppX0JhbmdvdSBaZW5fS29obyBNYWVfS29obyBIb21lIExlZnQgVXAgUmlnaHQgRG93biBQcmlvciBQYWdlX1VwIE5leHQgUGFnZV9Eb3duCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUVuZCBCZWdpbiBTZWxlY3QgUHJpbnQgRXhlY3V0ZSBJbnNlcnQgVW5kbyBSZWRvIE1lbnUgRmluZCBDYW5jZWwgSGVscCBCcmVhayBNb2RlX3N3aXRjaCBzY3JpcHRfc3dpdGNoCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCU51bV9Mb2NrIEtQX1NwYWNlIEtQX1RhYiBLUF9FbnRlciBLUF9GMSBLUF9GMiBLUF9GMyBLUF9GNCBLUF9Ib21lIEtQX0xlZnQgS1BfVXAgS1BfUmlnaHQgS1BfRG93biBLUF9QcmlvciBLUF9QYWdlX1VwCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUtQX05leHQgS1BfUGFnZV9Eb3duIEtQX0VuZCBLUF9CZWdpbiBLUF9JbnNlcnQgS1BfRGVsZXRlIEtQX0VxdWFsIEtQX011bHRpcGx5IEtQX0FkZCBLUF9TZXBhcmF0b3IgS1BfU3VidHJhY3QgS1BfRGVjaW1hbCBLUF9EaXZpZGUgS1BfMCBLUF8xCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUtQXzIgS1BfMyBLUF80IEtQXzUgS1BfNiBLUF83IEtQXzggS1BfOSBGMSBGMiBGMyBGNCBGNSBGNiBGNworc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlGOCBGOSBGMTAgRjExIEwxIEYxMiBMMiBGMTMgTDMgRjE0IEw0IEYxNSBMNSBGMTYgTDYKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JRjE3IEw3IEYxOCBMOCBGMTkgTDkgRjIwIEwxMCBGMjEgUjEgRjIyIFIyIEYyMyBSMyBGMjQKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JUjQgRjI1IFI1IEYyNiBSNiBGMjcgUjcgRjI4IFI4IEYyOSBSOSBGMzAgUjEwIEYzMSBSMTEKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JRjMyIFIxMiBGMzMgUjEzIEYzNCBSMTQgRjM1IFIxNSBTaGlmdF9MIFNoaWZ0X1IgQ29udHJvbF9MIENvbnRyb2xfUiBDYXBzX0xvY2sgU2hpZnRfTG9jayBNZXRhX0wKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JTWV0YV9SIEFsdF9MIEFsdF9SIFN1cGVyX0wgU3VwZXJfUiBIeXBlcl9MIEh5cGVyX1IgSVNPX0xvY2sgSVNPX0xldmVsMl9MYXRjaCBJU09fTGV2ZWwzX1NoaWZ0IElTT19MZXZlbDNfTGF0Y2ggSVNPX0xldmVsM19Mb2NrIElTT19Hcm91cF9TaGlmdCBJU09fR3JvdXBfTGF0Y2ggSVNPX0dyb3VwX0xvY2sKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JSVNPX05leHRfR3JvdXAgSVNPX05leHRfR3JvdXBfTG9jayBJU09fUHJldl9Hcm91cCBJU09fUHJldl9Hcm91cF9Mb2NrIElTT19GaXJzdF9Hcm91cCBJU09fRmlyc3RfR3JvdXBfTG9jayBJU09fTGFzdF9Hcm91cCBJU09fTGFzdF9Hcm91cF9Mb2NrIElTT19MZWZ0X1RhYiBJU09fTW92ZV9MaW5lX1VwIElTT19Nb3ZlX0xpbmVfRG93biBJU09fUGFydGlhbF9MaW5lX1VwIElTT19QYXJ0aWFsX0xpbmVfRG93biBJU09fUGFydGlhbF9TcGFjZV9MZWZ0IElTT19QYXJ0aWFsX1NwYWNlX1JpZ2h0CitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUlTT19TZXRfTWFyZ2luX0xlZnQgSVNPX1NldF9NYXJnaW5fUmlnaHQgSVNPX1JlbGVhc2VfTWFyZ2luX0xlZnQgSVNPX1JlbGVhc2VfTWFyZ2luX1JpZ2h0IElTT19SZWxlYXNlX0JvdGhfTWFyZ2lucyBJU09fRmFzdF9DdXJzb3JfTGVmdCBJU09fRmFzdF9DdXJzb3JfUmlnaHQgSVNPX0Zhc3RfQ3Vyc29yX1VwIElTT19GYXN0X0N1cnNvcl9Eb3duIElTT19Db250aW51b3VzX1VuZGVybGluZSBJU09fRGlzY29udGludW91c19VbmRlcmxpbmUgSVNPX0VtcGhhc2l6ZSBJU09fQ2VudGVyX09iamVjdCBJU09fRW50ZXIgZGVhZF9ncmF2ZQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlkZWFkX2FjdXRlIGRlYWRfY2lyY3VtZmxleCBkZWFkX3RpbGRlIGRlYWRfbWFjcm9uIGRlYWRfYnJldmUgZGVhZF9hYm92ZWRvdCBkZWFkX2RpYWVyZXNpcyBkZWFkX2Fib3ZlcmluZyBkZWFkX2RvdWJsZWFjdXRlIGRlYWRfY2Fyb24gZGVhZF9jZWRpbGxhIGRlYWRfb2dvbmVrIGRlYWRfaW90YSBkZWFkX3ZvaWNlZF9zb3VuZCBkZWFkX3NlbWl2b2ljZWRfc291bmQKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JZGVhZF9iZWxvd2RvdCBkZWFkX2hvb2sgZGVhZF9ob3JuIEZpcnN0X1ZpcnR1YWxfU2NyZWVuIFByZXZfVmlydHVhbF9TY3JlZW4gTmV4dF9WaXJ0dWFsX1NjcmVlbiBMYXN0X1ZpcnR1YWxfU2NyZWVuIFRlcm1pbmF0ZV9TZXJ2ZXIgQWNjZXNzWF9FbmFibGUgQWNjZXNzWF9GZWVkYmFja19FbmFibGUgUmVwZWF0S2V5c19FbmFibGUgU2xvd0tleXNfRW5hYmxlIEJvdW5jZUtleXNfRW5hYmxlIFN0aWNreUtleXNfRW5hYmxlIE1vdXNlS2V5c19FbmFibGUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JTW91c2VLZXlzX0FjY2VsX0VuYWJsZSBPdmVybGF5MV9FbmFibGUgT3ZlcmxheTJfRW5hYmxlIEF1ZGlibGVCZWxsX0VuYWJsZSBQb2ludGVyX0xlZnQgUG9pbnRlcl9SaWdodCBQb2ludGVyX1VwIFBvaW50ZXJfRG93biBQb2ludGVyX1VwTGVmdCBQb2ludGVyX1VwUmlnaHQgUG9pbnRlcl9Eb3duTGVmdCBQb2ludGVyX0Rvd25SaWdodCBQb2ludGVyX0J1dHRvbl9EZmx0IFBvaW50ZXJfQnV0dG9uMSBQb2ludGVyX0J1dHRvbjIKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JUG9pbnRlcl9CdXR0b24zIFBvaW50ZXJfQnV0dG9uNCBQb2ludGVyX0J1dHRvbjUgUG9pbnRlcl9EYmxDbGlja19EZmx0IFBvaW50ZXJfRGJsQ2xpY2sxIFBvaW50ZXJfRGJsQ2xpY2syIFBvaW50ZXJfRGJsQ2xpY2szIFBvaW50ZXJfRGJsQ2xpY2s0IFBvaW50ZXJfRGJsQ2xpY2s1IFBvaW50ZXJfRHJhZ19EZmx0IFBvaW50ZXJfRHJhZzEgUG9pbnRlcl9EcmFnMiBQb2ludGVyX0RyYWczIFBvaW50ZXJfRHJhZzQgUG9pbnRlcl9EcmFnNQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlQb2ludGVyX0VuYWJsZUtleXMgUG9pbnRlcl9BY2NlbGVyYXRlIFBvaW50ZXJfRGZsdEJ0bk5leHQgUG9pbnRlcl9EZmx0QnRuUHJldiAzMjcwX0R1cGxpY2F0ZSAzMjcwX0ZpZWxkTWFyayAzMjcwX1JpZ2h0MiAzMjcwX0xlZnQyIDMyNzBfQmFja1RhYiAzMjcwX0VyYXNlRU9GIDMyNzBfRXJhc2VJbnB1dCAzMjcwX1Jlc2V0IDMyNzBfUXVpdCAzMjcwX1BBMSAzMjcwX1BBMgorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQkzMjcwX1BBMyAzMjcwX1Rlc3QgMzI3MF9BdHRuIDMyNzBfQ3Vyc29yQmxpbmsgMzI3MF9BbHRDdXJzb3IgMzI3MF9LZXlDbGljayAzMjcwX0p1bXAgMzI3MF9JZGVudCAzMjcwX1J1bGUgMzI3MF9Db3B5IDMyNzBfUGxheSAzMjcwX1NldHVwIDMyNzBfUmVjb3JkIDMyNzBfQ2hhbmdlU2NyZWVuIDMyNzBfRGVsZXRlV29yZAorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQkzMjcwX0V4U2VsZWN0IDMyNzBfQ3Vyc29yU2VsZWN0IDMyNzBfUHJpbnRTY3JlZW4gMzI3MF9FbnRlciBzcGFjZSBleGNsYW0gcXVvdGVkYmwgbnVtYmVyc2lnbiBkb2xsYXIgcGVyY2VudCBhbXBlcnNhbmQgYXBvc3Ryb3BoZSBxdW90ZXJpZ2h0IHBhcmVubGVmdCBwYXJlbnJpZ2h0CitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWFzdGVyaXNrIHBsdXMgY29tbWEgbWludXMgcGVyaW9kIHNsYXNoIDAgMSAyIDMgNCA1IDYgNyA4CitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCTkgY29sb24gc2VtaWNvbG9uIGxlc3MgZXF1YWwgZ3JlYXRlciBxdWVzdGlvbiBhdCBBIEIgQyBEIEUgRiBHCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUggSSBKIEsgTCBNIE4gTyBQIFEgUiBTIFQgVSBWCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVcgWCBZIFogYnJhY2tldGxlZnQgYmFja3NsYXNoIGJyYWNrZXRyaWdodCBhc2NpaWNpcmN1bSB1bmRlcnNjb3JlIGdyYXZlIHF1b3RlbGVmdCBhIGIgYyBkCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXQgdSB2IHcgeCB5IHogYnJhY2VsZWZ0IGJhciBicmFjZXJpZ2h0IGFzY2lpdGlsZGUgbm9icmVha3NwYWNlIGV4Y2xhbWRvd24gY2VudCBzdGVybGluZworc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQljdXJyZW5jeSB5ZW4gYnJva2VuYmFyIHNlY3Rpb24gZGlhZXJlc2lzIGNvcHlyaWdodCBvcmRmZW1pbmluZSBndWlsbGVtb3RsZWZ0IG5vdHNpZ24gaHlwaGVuIHJlZ2lzdGVyZWQgbWFjcm9uIGRlZ3JlZSBwbHVzbWludXMgdHdvc3VwZXJpb3IKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JdGhyZWVzdXBlcmlvciBhY3V0ZSBtdSBwYXJhZ3JhcGggcGVyaW9kY2VudGVyZWQgY2VkaWxsYSBvbmVzdXBlcmlvciBtYXNjdWxpbmUgZ3VpbGxlbW90cmlnaHQgb25lcXVhcnRlciBvbmVoYWxmIHRocmVlcXVhcnRlcnMgcXVlc3Rpb25kb3duIEFncmF2ZSBBYWN1dGUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JQWNpcmN1bWZsZXggQXRpbGRlIEFkaWFlcmVzaXMgQXJpbmcgQUUgQ2NlZGlsbGEgRWdyYXZlIEVhY3V0ZSBFY2lyY3VtZmxleCBFZGlhZXJlc2lzIElncmF2ZSBJYWN1dGUgSWNpcmN1bWZsZXggSWRpYWVyZXNpcyBFVEgKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JRXRoIE50aWxkZSBPZ3JhdmUgT2FjdXRlIE9jaXJjdW1mbGV4IE90aWxkZSBPZGlhZXJlc2lzIG11bHRpcGx5IE9vYmxpcXVlIE9zbGFzaCBVZ3JhdmUgVWFjdXRlIFVjaXJjdW1mbGV4IFVkaWFlcmVzaXMgWWFjdXRlCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVRIT1JOIFRob3JuIHNzaGFycCBhZ3JhdmUgYWFjdXRlIGFjaXJjdW1mbGV4IGF0aWxkZSBhZGlhZXJlc2lzIGFyaW5nIGFlIGNjZWRpbGxhIGVncmF2ZSBlYWN1dGUgZWNpcmN1bWZsZXggZWRpYWVyZXNpcworc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlpZ3JhdmUgaWFjdXRlIGljaXJjdW1mbGV4IGlkaWFlcmVzaXMgZXRoIG50aWxkZSBvZ3JhdmUgb2FjdXRlIG9jaXJjdW1mbGV4IG90aWxkZSBvZGlhZXJlc2lzIGRpdmlzaW9uIG9zbGFzaCBvb2JsaXF1ZSB1Z3JhdmUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JdWFjdXRlIHVjaXJjdW1mbGV4IHVkaWFlcmVzaXMgeWFjdXRlIHRob3JuIHlkaWFlcmVzaXMgQW9nb25layBicmV2ZSBMc3Ryb2tlIExjYXJvbiBTYWN1dGUgU2Nhcm9uIFNjZWRpbGxhIFRjYXJvbiBaYWN1dGUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JWmNhcm9uIFphYm92ZWRvdCBhb2dvbmVrIG9nb25layBsc3Ryb2tlIGxjYXJvbiBzYWN1dGUgY2Fyb24gc2Nhcm9uIHNjZWRpbGxhIHRjYXJvbiB6YWN1dGUgZG91YmxlYWN1dGUgemNhcm9uIHphYm92ZWRvdAorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlSYWN1dGUgQWJyZXZlIExhY3V0ZSBDYWN1dGUgQ2Nhcm9uIEVvZ29uZWsgRWNhcm9uIERjYXJvbiBEc3Ryb2tlIE5hY3V0ZSBOY2Fyb24gT2RvdWJsZWFjdXRlIFJjYXJvbiBVcmluZyBVZG91YmxlYWN1dGUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JVGNlZGlsbGEgcmFjdXRlIGFicmV2ZSBsYWN1dGUgY2FjdXRlIGNjYXJvbiBlb2dvbmVrIGVjYXJvbiBkY2Fyb24gZHN0cm9rZSBuYWN1dGUgbmNhcm9uIG9kb3VibGVhY3V0ZSB1ZG91YmxlYWN1dGUgcmNhcm9uCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXVyaW5nIHRjZWRpbGxhIGFib3ZlZG90IEhzdHJva2UgSGNpcmN1bWZsZXggSWFib3ZlZG90IEdicmV2ZSBKY2lyY3VtZmxleCBoc3Ryb2tlIGhjaXJjdW1mbGV4IGlkb3RsZXNzIGdicmV2ZSBqY2lyY3VtZmxleCBDYWJvdmVkb3QgQ2NpcmN1bWZsZXgKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JR2Fib3ZlZG90IEdjaXJjdW1mbGV4IFVicmV2ZSBTY2lyY3VtZmxleCBjYWJvdmVkb3QgY2NpcmN1bWZsZXggZ2Fib3ZlZG90IGdjaXJjdW1mbGV4IHVicmV2ZSBzY2lyY3VtZmxleCBrcmEga2FwcGEgUmNlZGlsbGEgSXRpbGRlIExjZWRpbGxhCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUVtYWNyb24gR2NlZGlsbGEgVHNsYXNoIHJjZWRpbGxhIGl0aWxkZSBsY2VkaWxsYSBlbWFjcm9uIGdjZWRpbGxhIHRzbGFzaCBFTkcgZW5nIEFtYWNyb24gSW9nb25layBFYWJvdmVkb3QgSW1hY3Jvbgorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlOY2VkaWxsYSBPbWFjcm9uIEtjZWRpbGxhIFVvZ29uZWsgVXRpbGRlIFVtYWNyb24gYW1hY3JvbiBpb2dvbmVrIGVhYm92ZWRvdCBpbWFjcm9uIG5jZWRpbGxhIG9tYWNyb24ga2NlZGlsbGEgdW9nb25layB1dGlsZGUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JdW1hY3JvbiBCYWJvdmVkb3QgYmFib3ZlZG90IERhYm92ZWRvdCBXZ3JhdmUgV2FjdXRlIGRhYm92ZWRvdCBZZ3JhdmUgRmFib3ZlZG90IGZhYm92ZWRvdCBNYWJvdmVkb3QgbWFib3ZlZG90IFBhYm92ZWRvdCB3Z3JhdmUgcGFib3ZlZG90CitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXdhY3V0ZSBTYWJvdmVkb3QgeWdyYXZlIFdkaWFlcmVzaXMgd2RpYWVyZXNpcyBzYWJvdmVkb3QgV2NpcmN1bWZsZXggVGFib3ZlZG90IFljaXJjdW1mbGV4IHdjaXJjdW1mbGV4IHRhYm92ZWRvdCB5Y2lyY3VtZmxleCBPRSBvZSBZZGlhZXJlc2lzCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCW92ZXJsaW5lIGthbmFfZnVsbHN0b3Aga2FuYV9vcGVuaW5nYnJhY2tldCBrYW5hX2Nsb3NpbmdicmFja2V0IGthbmFfY29tbWEga2FuYV9jb25qdW5jdGl2ZSBrYW5hX21pZGRsZWRvdCBrYW5hX1dPIGthbmFfYSBrYW5hX2kga2FuYV91IGthbmFfZSBrYW5hX28ga2FuYV95YSBrYW5hX3l1CitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWthbmFfeW8ga2FuYV90c3Uga2FuYV90dSBwcm9sb25nZWRzb3VuZCBrYW5hX0Ega2FuYV9JIGthbmFfVSBrYW5hX0Uga2FuYV9PIGthbmFfS0Ega2FuYV9LSSBrYW5hX0tVIGthbmFfS0Uga2FuYV9LTyBrYW5hX1NBCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWthbmFfU0hJIGthbmFfU1Uga2FuYV9TRSBrYW5hX1NPIGthbmFfVEEga2FuYV9DSEkga2FuYV9USSBrYW5hX1RTVSBrYW5hX1RVIGthbmFfVEUga2FuYV9UTyBrYW5hX05BIGthbmFfTkkga2FuYV9OVSBrYW5hX05FCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWthbmFfTk8ga2FuYV9IQSBrYW5hX0hJIGthbmFfRlUga2FuYV9IVSBrYW5hX0hFIGthbmFfSE8ga2FuYV9NQSBrYW5hX01JIGthbmFfTVUga2FuYV9NRSBrYW5hX01PIGthbmFfWUEga2FuYV9ZVSBrYW5hX1lPCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWthbmFfUkEga2FuYV9SSSBrYW5hX1JVIGthbmFfUkUga2FuYV9STyBrYW5hX1dBIGthbmFfTiB2b2ljZWRzb3VuZCBzZW1pdm9pY2Vkc291bmQga2FuYV9zd2l0Y2ggRmFyc2lfMCBGYXJzaV8xIEZhcnNpXzIgRmFyc2lfMyBGYXJzaV80CitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUZhcnNpXzUgRmFyc2lfNiBGYXJzaV83IEZhcnNpXzggRmFyc2lfOSBBcmFiaWNfcGVyY2VudCBBcmFiaWNfc3VwZXJzY3JpcHRfYWxlZiBBcmFiaWNfdHRlaCBBcmFiaWNfcGVoIEFyYWJpY190Y2hlaCBBcmFiaWNfZGRhbCBBcmFiaWNfcnJlaCBBcmFiaWNfY29tbWEgQXJhYmljX2Z1bGxzdG9wIEFyYWJpY18wCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFyYWJpY18xIEFyYWJpY18yIEFyYWJpY18zIEFyYWJpY180IEFyYWJpY181IEFyYWJpY182IEFyYWJpY183IEFyYWJpY184IEFyYWJpY185IEFyYWJpY19zZW1pY29sb24gQXJhYmljX3F1ZXN0aW9uX21hcmsgQXJhYmljX2hhbXphIEFyYWJpY19tYWRkYW9uYWxlZiBBcmFiaWNfaGFtemFvbmFsZWYgQXJhYmljX2hhbXphb253YXcKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JQXJhYmljX2hhbXphdW5kZXJhbGVmIEFyYWJpY19oYW16YW9ueWVoIEFyYWJpY19hbGVmIEFyYWJpY19iZWggQXJhYmljX3RlaG1hcmJ1dGEgQXJhYmljX3RlaCBBcmFiaWNfdGhlaCBBcmFiaWNfamVlbSBBcmFiaWNfaGFoIEFyYWJpY19raGFoIEFyYWJpY19kYWwgQXJhYmljX3RoYWwgQXJhYmljX3JhIEFyYWJpY196YWluIEFyYWJpY19zZWVuCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFyYWJpY19zaGVlbiBBcmFiaWNfc2FkIEFyYWJpY19kYWQgQXJhYmljX3RhaCBBcmFiaWNfemFoIEFyYWJpY19haW4gQXJhYmljX2doYWluIEFyYWJpY190YXR3ZWVsIEFyYWJpY19mZWggQXJhYmljX3FhZiBBcmFiaWNfa2FmIEFyYWJpY19sYW0gQXJhYmljX21lZW0gQXJhYmljX25vb24gQXJhYmljX2hhCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFyYWJpY19oZWggQXJhYmljX3dhdyBBcmFiaWNfYWxlZm1ha3N1cmEgQXJhYmljX3llaCBBcmFiaWNfZmF0aGF0YW4gQXJhYmljX2RhbW1hdGFuIEFyYWJpY19rYXNyYXRhbiBBcmFiaWNfZmF0aGEgQXJhYmljX2RhbW1hIEFyYWJpY19rYXNyYSBBcmFiaWNfc2hhZGRhIEFyYWJpY19zdWt1biBBcmFiaWNfbWFkZGFfYWJvdmUgQXJhYmljX2hhbXphX2Fib3ZlIEFyYWJpY19oYW16YV9iZWxvdworc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBcmFiaWNfamVoIEFyYWJpY192ZWggQXJhYmljX2tlaGVoIEFyYWJpY19nYWYgQXJhYmljX25vb25fZ2h1bm5hIEFyYWJpY19oZWhfZG9hY2hhc2htZWUgRmFyc2lfeWVoIEFyYWJpY19mYXJzaV95ZWggQXJhYmljX3llaF9iYXJlZSBBcmFiaWNfaGVoX2dvYWwgQXJhYmljX3N3aXRjaCBDeXJpbGxpY19HSEVfYmFyIEN5cmlsbGljX2doZV9iYXIgQ3lyaWxsaWNfWkhFX2Rlc2NlbmRlciBDeXJpbGxpY196aGVfZGVzY2VuZGVyCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUN5cmlsbGljX0tBX2Rlc2NlbmRlciBDeXJpbGxpY19rYV9kZXNjZW5kZXIgQ3lyaWxsaWNfS0FfdmVydHN0cm9rZSBDeXJpbGxpY19rYV92ZXJ0c3Ryb2tlIEN5cmlsbGljX0VOX2Rlc2NlbmRlciBDeXJpbGxpY19lbl9kZXNjZW5kZXIgQ3lyaWxsaWNfVV9zdHJhaWdodCBDeXJpbGxpY191X3N0cmFpZ2h0IEN5cmlsbGljX1Vfc3RyYWlnaHRfYmFyIEN5cmlsbGljX3Vfc3RyYWlnaHRfYmFyIEN5cmlsbGljX0hBX2Rlc2NlbmRlciBDeXJpbGxpY19oYV9kZXNjZW5kZXIgQ3lyaWxsaWNfQ0hFX2Rlc2NlbmRlciBDeXJpbGxpY19jaGVfZGVzY2VuZGVyIEN5cmlsbGljX0NIRV92ZXJ0c3Ryb2tlCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUN5cmlsbGljX2NoZV92ZXJ0c3Ryb2tlIEN5cmlsbGljX1NISEEgQ3lyaWxsaWNfc2hoYSBDeXJpbGxpY19TQ0hXQSBDeXJpbGxpY19zY2h3YSBDeXJpbGxpY19JX21hY3JvbiBDeXJpbGxpY19pX21hY3JvbiBDeXJpbGxpY19PX2JhciBDeXJpbGxpY19vX2JhciBDeXJpbGxpY19VX21hY3JvbiBDeXJpbGxpY191X21hY3JvbiBTZXJiaWFuX2RqZSBNYWNlZG9uaWFfZ2plIEN5cmlsbGljX2lvIFVrcmFpbmlhbl9pZQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlVa3Jhbmlhbl9qZSBNYWNlZG9uaWFfZHNlIFVrcmFpbmlhbl9pIFVrcmFuaWFuX2kgVWtyYWluaWFuX3lpIFVrcmFuaWFuX3lpIEN5cmlsbGljX2plIFNlcmJpYW5famUgQ3lyaWxsaWNfbGplIFNlcmJpYW5fbGplIEN5cmlsbGljX25qZSBTZXJiaWFuX25qZSBTZXJiaWFuX3RzaGUgTWFjZWRvbmlhX2tqZSBVa3JhaW5pYW5fZ2hlX3dpdGhfdXB0dXJuCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUJ5ZWxvcnVzc2lhbl9zaG9ydHUgQ3lyaWxsaWNfZHpoZSBTZXJiaWFuX2R6ZSBudW1lcm9zaWduIFNlcmJpYW5fREpFIE1hY2Vkb25pYV9HSkUgQ3lyaWxsaWNfSU8gVWtyYWluaWFuX0lFIFVrcmFuaWFuX0pFIE1hY2Vkb25pYV9EU0UgVWtyYWluaWFuX0kgVWtyYW5pYW5fSSBVa3JhaW5pYW5fWUkgVWtyYW5pYW5fWUkgQ3lyaWxsaWNfSkUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JU2VyYmlhbl9KRSBDeXJpbGxpY19MSkUgU2VyYmlhbl9MSkUgQ3lyaWxsaWNfTkpFIFNlcmJpYW5fTkpFIFNlcmJpYW5fVFNIRSBNYWNlZG9uaWFfS0pFIFVrcmFpbmlhbl9HSEVfV0lUSF9VUFRVUk4gQnllbG9ydXNzaWFuX1NIT1JUVSBDeXJpbGxpY19EWkhFIFNlcmJpYW5fRFpFIEN5cmlsbGljX3l1IEN5cmlsbGljX2EgQ3lyaWxsaWNfYmUgQ3lyaWxsaWNfdHNlCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUN5cmlsbGljX2RlIEN5cmlsbGljX2llIEN5cmlsbGljX2VmIEN5cmlsbGljX2doZSBDeXJpbGxpY19oYSBDeXJpbGxpY19pIEN5cmlsbGljX3Nob3J0aSBDeXJpbGxpY19rYSBDeXJpbGxpY19lbCBDeXJpbGxpY19lbSBDeXJpbGxpY19lbiBDeXJpbGxpY19vIEN5cmlsbGljX3BlIEN5cmlsbGljX3lhIEN5cmlsbGljX2VyCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUN5cmlsbGljX2VzIEN5cmlsbGljX3RlIEN5cmlsbGljX3UgQ3lyaWxsaWNfemhlIEN5cmlsbGljX3ZlIEN5cmlsbGljX3NvZnRzaWduIEN5cmlsbGljX3llcnUgQ3lyaWxsaWNfemUgQ3lyaWxsaWNfc2hhIEN5cmlsbGljX2UgQ3lyaWxsaWNfc2hjaGEgQ3lyaWxsaWNfY2hlIEN5cmlsbGljX2hhcmRzaWduIEN5cmlsbGljX1lVIEN5cmlsbGljX0EKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JQ3lyaWxsaWNfQkUgQ3lyaWxsaWNfVFNFIEN5cmlsbGljX0RFIEN5cmlsbGljX0lFIEN5cmlsbGljX0VGIEN5cmlsbGljX0dIRSBDeXJpbGxpY19IQSBDeXJpbGxpY19JIEN5cmlsbGljX1NIT1JUSSBDeXJpbGxpY19LQSBDeXJpbGxpY19FTCBDeXJpbGxpY19FTSBDeXJpbGxpY19FTiBDeXJpbGxpY19PIEN5cmlsbGljX1BFCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUN5cmlsbGljX1lBIEN5cmlsbGljX0VSIEN5cmlsbGljX0VTIEN5cmlsbGljX1RFIEN5cmlsbGljX1UgQ3lyaWxsaWNfWkhFIEN5cmlsbGljX1ZFIEN5cmlsbGljX1NPRlRTSUdOIEN5cmlsbGljX1lFUlUgQ3lyaWxsaWNfWkUgQ3lyaWxsaWNfU0hBIEN5cmlsbGljX0UgQ3lyaWxsaWNfU0hDSEEgQ3lyaWxsaWNfQ0hFIEN5cmlsbGljX0hBUkRTSUdOCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUdyZWVrX0FMUEhBYWNjZW50IEdyZWVrX0VQU0lMT05hY2NlbnQgR3JlZWtfRVRBYWNjZW50IEdyZWVrX0lPVEFhY2NlbnQgR3JlZWtfSU9UQWRpZXJlc2lzIEdyZWVrX0lPVEFkaWFlcmVzaXMgR3JlZWtfT01JQ1JPTmFjY2VudCBHcmVla19VUFNJTE9OYWNjZW50IEdyZWVrX1VQU0lMT05kaWVyZXNpcyBHcmVla19PTUVHQWFjY2VudCBHcmVla19hY2NlbnRkaWVyZXNpcyBHcmVla19ob3JpemJhciBHcmVla19hbHBoYWFjY2VudCBHcmVla19lcHNpbG9uYWNjZW50IEdyZWVrX2V0YWFjY2VudAorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlHcmVla19pb3RhYWNjZW50IEdyZWVrX2lvdGFkaWVyZXNpcyBHcmVla19pb3RhYWNjZW50ZGllcmVzaXMgR3JlZWtfb21pY3JvbmFjY2VudCBHcmVla191cHNpbG9uYWNjZW50IEdyZWVrX3Vwc2lsb25kaWVyZXNpcyBHcmVla191cHNpbG9uYWNjZW50ZGllcmVzaXMgR3JlZWtfb21lZ2FhY2NlbnQgR3JlZWtfQUxQSEEgR3JlZWtfQkVUQSBHcmVla19HQU1NQSBHcmVla19ERUxUQSBHcmVla19FUFNJTE9OIEdyZWVrX1pFVEEgR3JlZWtfRVRBCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUdyZWVrX1RIRVRBIEdyZWVrX0lPVEEgR3JlZWtfS0FQUEEgR3JlZWtfTEFNREEgR3JlZWtfTEFNQkRBIEdyZWVrX01VIEdyZWVrX05VIEdyZWVrX1hJIEdyZWVrX09NSUNST04gR3JlZWtfUEkgR3JlZWtfUkhPIEdyZWVrX1NJR01BIEdyZWVrX1RBVSBHcmVla19VUFNJTE9OIEdyZWVrX1BISQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlHcmVla19DSEkgR3JlZWtfUFNJIEdyZWVrX09NRUdBIEdyZWVrX2FscGhhIEdyZWVrX2JldGEgR3JlZWtfZ2FtbWEgR3JlZWtfZGVsdGEgR3JlZWtfZXBzaWxvbiBHcmVla196ZXRhIEdyZWVrX2V0YSBHcmVla190aGV0YSBHcmVla19pb3RhIEdyZWVrX2thcHBhIEdyZWVrX2xhbWRhIEdyZWVrX2xhbWJkYQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlHcmVla19tdSBHcmVla19udSBHcmVla194aSBHcmVla19vbWljcm9uIEdyZWVrX3BpIEdyZWVrX3JobyBHcmVla19zaWdtYSBHcmVla19maW5hbHNtYWxsc2lnbWEgR3JlZWtfdGF1IEdyZWVrX3Vwc2lsb24gR3JlZWtfcGhpIEdyZWVrX2NoaSBHcmVla19wc2kgR3JlZWtfb21lZ2EgR3JlZWtfc3dpdGNoCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWxlZnRyYWRpY2FsIHRvcGxlZnRyYWRpY2FsIGhvcml6Y29ubmVjdG9yIHRvcGludGVncmFsIGJvdGludGVncmFsIHZlcnRjb25uZWN0b3IgdG9wbGVmdHNxYnJhY2tldCBib3RsZWZ0c3FicmFja2V0IHRvcHJpZ2h0c3FicmFja2V0IGJvdHJpZ2h0c3FicmFja2V0IHRvcGxlZnRwYXJlbnMgYm90bGVmdHBhcmVucyB0b3ByaWdodHBhcmVucyBib3RyaWdodHBhcmVucyBsZWZ0bWlkZGxlY3VybHlicmFjZQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlyaWdodG1pZGRsZWN1cmx5YnJhY2UgdG9wbGVmdHN1bW1hdGlvbiBib3RsZWZ0c3VtbWF0aW9uIHRvcHZlcnRzdW1tYXRpb25jb25uZWN0b3IgYm90dmVydHN1bW1hdGlvbmNvbm5lY3RvciB0b3ByaWdodHN1bW1hdGlvbiBib3RyaWdodHN1bW1hdGlvbiByaWdodG1pZGRsZXN1bW1hdGlvbiBsZXNzdGhhbmVxdWFsIG5vdGVxdWFsIGdyZWF0ZXJ0aGFuZXF1YWwgaW50ZWdyYWwgdGhlcmVmb3JlIHZhcmlhdGlvbiBpbmZpbml0eQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQluYWJsYSBhcHByb3hpbWF0ZSBzaW1pbGFyZXF1YWwgaWZvbmx5aWYgaW1wbGllcyBpZGVudGljYWwgcmFkaWNhbCBpbmNsdWRlZGluIGluY2x1ZGVzIGludGVyc2VjdGlvbiB1bmlvbiBsb2dpY2FsYW5kIGxvZ2ljYWxvciBwYXJ0aWFsZGVyaXZhdGl2ZSBmdW5jdGlvbgorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlsZWZ0YXJyb3cgdXBhcnJvdyByaWdodGFycm93IGRvd25hcnJvdyBibGFuayBzb2xpZGRpYW1vbmQgY2hlY2tlcmJvYXJkIGh0IGZmIGNyIGxmIG5sIHZ0IGxvd3JpZ2h0Y29ybmVyIHVwcmlnaHRjb3JuZXIKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JdXBsZWZ0Y29ybmVyIGxvd2xlZnRjb3JuZXIgY3Jvc3NpbmdsaW5lcyBob3JpemxpbmVzY2FuMSBob3JpemxpbmVzY2FuMyBob3JpemxpbmVzY2FuNSBob3JpemxpbmVzY2FuNyBob3JpemxpbmVzY2FuOSBsZWZ0dCByaWdodHQgYm90dCB0b3B0IHZlcnRiYXIgZW1zcGFjZSBlbnNwYWNlCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWVtM3NwYWNlIGVtNHNwYWNlIGRpZ2l0c3BhY2UgcHVuY3RzcGFjZSB0aGluc3BhY2UgaGFpcnNwYWNlIGVtZGFzaCBlbmRhc2ggc2lnbmlmYmxhbmsgZWxsaXBzaXMgZG91YmJhc2VsaW5lZG90IG9uZXRoaXJkIHR3b3RoaXJkcyBvbmVmaWZ0aCB0d29maWZ0aHMKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JdGhyZWVmaWZ0aHMgZm91cmZpZnRocyBvbmVzaXh0aCBmaXZlc2l4dGhzIGNhcmVvZiBmaWdkYXNoIGxlZnRhbmdsZWJyYWNrZXQgZGVjaW1hbHBvaW50IHJpZ2h0YW5nbGVicmFja2V0IG1hcmtlciBvbmVlaWdodGggdGhyZWVlaWdodGhzIGZpdmVlaWdodGhzIHNldmVuZWlnaHRocyB0cmFkZW1hcmsKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0Jc2lnbmF0dXJlbWFyayB0cmFkZW1hcmtpbmNpcmNsZSBsZWZ0b3BlbnRyaWFuZ2xlIHJpZ2h0b3BlbnRyaWFuZ2xlIGVtb3BlbmNpcmNsZSBlbW9wZW5yZWN0YW5nbGUgbGVmdHNpbmdsZXF1b3RlbWFyayByaWdodHNpbmdsZXF1b3RlbWFyayBsZWZ0ZG91YmxlcXVvdGVtYXJrIHJpZ2h0ZG91YmxlcXVvdGVtYXJrIHByZXNjcmlwdGlvbiBtaW51dGVzIHNlY29uZHMgbGF0aW5jcm9zcyBoZXhhZ3JhbQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlmaWxsZWRyZWN0YnVsbGV0IGZpbGxlZGxlZnR0cmlidWxsZXQgZmlsbGVkcmlnaHR0cmlidWxsZXQgZW1maWxsZWRjaXJjbGUgZW1maWxsZWRyZWN0IGVub3BlbmNpcmNidWxsZXQgZW5vcGVuc3F1YXJlYnVsbGV0IG9wZW5yZWN0YnVsbGV0IG9wZW50cmlidWxsZXR1cCBvcGVudHJpYnVsbGV0ZG93biBvcGVuc3RhciBlbmZpbGxlZGNpcmNidWxsZXQgZW5maWxsZWRzcWJ1bGxldCBmaWxsZWR0cmlidWxsZXR1cCBmaWxsZWR0cmlidWxsZXRkb3duCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWxlZnRwb2ludGVyIHJpZ2h0cG9pbnRlciBjbHViIGRpYW1vbmQgaGVhcnQgbWFsdGVzZWNyb3NzIGRhZ2dlciBkb3VibGVkYWdnZXIgY2hlY2ttYXJrIGJhbGxvdGNyb3NzIG11c2ljYWxzaGFycCBtdXNpY2FsZmxhdCBtYWxlc3ltYm9sIGZlbWFsZXN5bWJvbCB0ZWxlcGhvbmUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JdGVsZXBob25lcmVjb3JkZXIgcGhvbm9ncmFwaGNvcHlyaWdodCBjYXJldCBzaW5nbGVsb3dxdW90ZW1hcmsgZG91YmxlbG93cXVvdGVtYXJrIGN1cnNvciBsZWZ0Y2FyZXQgcmlnaHRjYXJldCBkb3duY2FyZXQgdXBjYXJldCBvdmVyYmFyIGRvd250YWNrIHVwc2hvZSBkb3duc3RpbGUgdW5kZXJiYXIKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0Jam90IHF1YWQgdXB0YWNrIGNpcmNsZSB1cHN0aWxlIGRvd25zaG9lIHJpZ2h0c2hvZSBsZWZ0c2hvZSBsZWZ0dGFjayByaWdodHRhY2sgaGVicmV3X2RvdWJsZWxvd2xpbmUgaGVicmV3X2FsZXBoIGhlYnJld19iZXQgaGVicmV3X2JldGggaGVicmV3X2dpbWVsCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWhlYnJld19naW1tZWwgaGVicmV3X2RhbGV0IGhlYnJld19kYWxldGggaGVicmV3X2hlIGhlYnJld193YXcgaGVicmV3X3phaW4gaGVicmV3X3pheWluIGhlYnJld19jaGV0IGhlYnJld19oZXQgaGVicmV3X3RldCBoZWJyZXdfdGV0aCBoZWJyZXdfeW9kIGhlYnJld19maW5hbGthcGggaGVicmV3X2thcGggaGVicmV3X2xhbWVkCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWhlYnJld19maW5hbG1lbSBoZWJyZXdfbWVtIGhlYnJld19maW5hbG51biBoZWJyZXdfbnVuIGhlYnJld19zYW1lY2ggaGVicmV3X3NhbWVraCBoZWJyZXdfYXlpbiBoZWJyZXdfZmluYWxwZSBoZWJyZXdfcGUgaGVicmV3X2ZpbmFsemFkZSBoZWJyZXdfZmluYWx6YWRpIGhlYnJld196YWRlIGhlYnJld196YWRpIGhlYnJld19xb3BoIGhlYnJld19rdWYKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JaGVicmV3X3Jlc2ggaGVicmV3X3NoaW4gaGVicmV3X3RhdyBoZWJyZXdfdGFmIEhlYnJld19zd2l0Y2ggVGhhaV9rb2thaSBUaGFpX2tob2toYWkgVGhhaV9raG9raHVhdCBUaGFpX2tob2tod2FpIFRoYWlfa2hva2hvbiBUaGFpX2tob3Jha2hhbmcgVGhhaV9uZ29uZ3UgVGhhaV9jaG9jaGFuIFRoYWlfY2hvY2hpbmcgVGhhaV9jaG9jaGFuZworc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlUaGFpX3Nvc28gVGhhaV9jaG9jaG9lIFRoYWlfeW95aW5nIFRoYWlfZG9jaGFkYSBUaGFpX3RvcGF0YWsgVGhhaV90aG90aGFuIFRoYWlfdGhvbmFuZ21vbnRobyBUaGFpX3Rob3BodXRoYW8gVGhhaV9ub25lbiBUaGFpX2RvZGVrIFRoYWlfdG90YW8gVGhhaV90aG90aHVuZyBUaGFpX3Rob3RoYWhhbiBUaGFpX3Rob3Rob25nIFRoYWlfbm9udQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlUaGFpX2JvYmFpbWFpIFRoYWlfcG9wbGEgVGhhaV9waG9waHVuZyBUaGFpX2ZvZmEgVGhhaV9waG9waGFuIFRoYWlfZm9mYW4gVGhhaV9waG9zYW1waGFvIFRoYWlfbW9tYSBUaGFpX3lveWFrIFRoYWlfcm9ydWEgVGhhaV9ydSBUaGFpX2xvbGluZyBUaGFpX2x1IFRoYWlfd293YWVuIFRoYWlfc29zYWxhCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVRoYWlfc29ydXNpIFRoYWlfc29zdWEgVGhhaV9ob2hpcCBUaGFpX2xvY2h1bGEgVGhhaV9vYW5nIFRoYWlfaG9ub2todWsgVGhhaV9wYWl5YW5ub2kgVGhhaV9zYXJhYSBUaGFpX21haWhhbmFrYXQgVGhhaV9zYXJhYWEgVGhhaV9zYXJhYW0gVGhhaV9zYXJhaSBUaGFpX3NhcmFpaSBUaGFpX3NhcmF1ZSBUaGFpX3NhcmF1ZWUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JVGhhaV9zYXJhdSBUaGFpX3NhcmF1dSBUaGFpX3BoaW50aHUgVGhhaV9tYWloYW5ha2F0X21haXRobyBUaGFpX2JhaHQgVGhhaV9zYXJhZSBUaGFpX3NhcmFhZSBUaGFpX3NhcmFvIFRoYWlfc2FyYWFpbWFpbXVhbiBUaGFpX3NhcmFhaW1haW1hbGFpIFRoYWlfbGFra2hhbmd5YW8gVGhhaV9tYWl5YW1vayBUaGFpX21haXRhaWtodSBUaGFpX21haWVrIFRoYWlfbWFpdGhvCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVRoYWlfbWFpdHJpIFRoYWlfbWFpY2hhdHRhd2EgVGhhaV90aGFudGhha2hhdCBUaGFpX25pa2hhaGl0IFRoYWlfbGVrc3VuIFRoYWlfbGVrbnVuZyBUaGFpX2xla3NvbmcgVGhhaV9sZWtzYW0gVGhhaV9sZWtzaSBUaGFpX2xla2hhIFRoYWlfbGVraG9rIFRoYWlfbGVrY2hldCBUaGFpX2xla3BhZXQgVGhhaV9sZWtrYW8gSGFuZ3VsCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUhhbmd1bF9TdGFydCBIYW5ndWxfRW5kIEhhbmd1bF9IYW5qYSBIYW5ndWxfSmFtbyBIYW5ndWxfUm9tYWphIEhhbmd1bF9Db2RlaW5wdXQgSGFuZ3VsX0plb25qYSBIYW5ndWxfQmFuamEgSGFuZ3VsX1ByZUhhbmphIEhhbmd1bF9Qb3N0SGFuamEgSGFuZ3VsX1NpbmdsZUNhbmRpZGF0ZSBIYW5ndWxfTXVsdGlwbGVDYW5kaWRhdGUgSGFuZ3VsX1ByZXZpb3VzQ2FuZGlkYXRlIEhhbmd1bF9TcGVjaWFsIEhhbmd1bF9zd2l0Y2gKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JSGFuZ3VsX0tpeWVvZyBIYW5ndWxfU3NhbmdLaXllb2cgSGFuZ3VsX0tpeWVvZ1Npb3MgSGFuZ3VsX05pZXVuIEhhbmd1bF9OaWV1bkppZXVqIEhhbmd1bF9OaWV1bkhpZXVoIEhhbmd1bF9EaWtldWQgSGFuZ3VsX1NzYW5nRGlrZXVkIEhhbmd1bF9SaWV1bCBIYW5ndWxfUmlldWxLaXllb2cgSGFuZ3VsX1JpZXVsTWlldW0gSGFuZ3VsX1JpZXVsUGlldWIgSGFuZ3VsX1JpZXVsU2lvcyBIYW5ndWxfUmlldWxUaWV1dCBIYW5ndWxfUmlldWxQaGlldWYKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JSGFuZ3VsX1JpZXVsSGlldWggSGFuZ3VsX01pZXVtIEhhbmd1bF9QaWV1YiBIYW5ndWxfU3NhbmdQaWV1YiBIYW5ndWxfUGlldWJTaW9zIEhhbmd1bF9TaW9zIEhhbmd1bF9Tc2FuZ1Npb3MgSGFuZ3VsX0lldW5nIEhhbmd1bF9KaWV1aiBIYW5ndWxfU3NhbmdKaWV1aiBIYW5ndWxfQ2lldWMgSGFuZ3VsX0toaWV1cSBIYW5ndWxfVGlldXQgSGFuZ3VsX1BoaWV1ZiBIYW5ndWxfSGlldWgKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JSGFuZ3VsX0EgSGFuZ3VsX0FFIEhhbmd1bF9ZQSBIYW5ndWxfWUFFIEhhbmd1bF9FTyBIYW5ndWxfRSBIYW5ndWxfWUVPIEhhbmd1bF9ZRSBIYW5ndWxfTyBIYW5ndWxfV0EgSGFuZ3VsX1dBRSBIYW5ndWxfT0UgSGFuZ3VsX1lPIEhhbmd1bF9VIEhhbmd1bF9XRU8KK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JSGFuZ3VsX1dFIEhhbmd1bF9XSSBIYW5ndWxfWVUgSGFuZ3VsX0VVIEhhbmd1bF9ZSSBIYW5ndWxfSSBIYW5ndWxfSl9LaXllb2cgSGFuZ3VsX0pfU3NhbmdLaXllb2cgSGFuZ3VsX0pfS2l5ZW9nU2lvcyBIYW5ndWxfSl9OaWV1biBIYW5ndWxfSl9OaWV1bkppZXVqIEhhbmd1bF9KX05pZXVuSGlldWggSGFuZ3VsX0pfRGlrZXVkIEhhbmd1bF9KX1JpZXVsIEhhbmd1bF9KX1JpZXVsS2l5ZW9nCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUhhbmd1bF9KX1JpZXVsTWlldW0gSGFuZ3VsX0pfUmlldWxQaWV1YiBIYW5ndWxfSl9SaWV1bFNpb3MgSGFuZ3VsX0pfUmlldWxUaWV1dCBIYW5ndWxfSl9SaWV1bFBoaWV1ZiBIYW5ndWxfSl9SaWV1bEhpZXVoIEhhbmd1bF9KX01pZXVtIEhhbmd1bF9KX1BpZXViIEhhbmd1bF9KX1BpZXViU2lvcyBIYW5ndWxfSl9TaW9zIEhhbmd1bF9KX1NzYW5nU2lvcyBIYW5ndWxfSl9JZXVuZyBIYW5ndWxfSl9KaWV1aiBIYW5ndWxfSl9DaWV1YyBIYW5ndWxfSl9LaGlldXEKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JSGFuZ3VsX0pfVGlldXQgSGFuZ3VsX0pfUGhpZXVmIEhhbmd1bF9KX0hpZXVoIEhhbmd1bF9SaWV1bFllb3JpbkhpZXVoIEhhbmd1bF9TdW5reWVvbmdldW1NaWV1bSBIYW5ndWxfU3Vua3llb25nZXVtUGlldWIgSGFuZ3VsX1BhblNpb3MgSGFuZ3VsX0trb2dqaURhbHJpbklldW5nIEhhbmd1bF9TdW5reWVvbmdldW1QaGlldWYgSGFuZ3VsX1llb3JpbkhpZXVoIEhhbmd1bF9BcmFlQSBIYW5ndWxfQXJhZUFFIEhhbmd1bF9KX1BhblNpb3MgSGFuZ3VsX0pfS2tvZ2ppRGFscmluSWV1bmcgSGFuZ3VsX0pfWWVvcmluSGlldWgKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JS29yZWFuX1dvbiBBcm1lbmlhbl9ldGVybml0eSBBcm1lbmlhbl9saWdhdHVyZV9ldyBBcm1lbmlhbl9mdWxsX3N0b3AgQXJtZW5pYW5fdmVyamFrZXQgQXJtZW5pYW5fcGFyZW5yaWdodCBBcm1lbmlhbl9wYXJlbmxlZnQgQXJtZW5pYW5fZ3VpbGxlbW90cmlnaHQgQXJtZW5pYW5fZ3VpbGxlbW90bGVmdCBBcm1lbmlhbl9lbV9kYXNoIEFybWVuaWFuX2RvdCBBcm1lbmlhbl9taWpha2V0IEFybWVuaWFuX3NlcGFyYXRpb25fbWFyayBBcm1lbmlhbl9idXQgQXJtZW5pYW5fY29tbWEKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JQXJtZW5pYW5fZW5fZGFzaCBBcm1lbmlhbl9oeXBoZW4gQXJtZW5pYW5feWVudGFtbmEgQXJtZW5pYW5fZWxsaXBzaXMgQXJtZW5pYW5fZXhjbGFtIEFybWVuaWFuX2FtYW5hayBBcm1lbmlhbl9hY2NlbnQgQXJtZW5pYW5fc2hlc2h0IEFybWVuaWFuX3F1ZXN0aW9uIEFybWVuaWFuX3BhcnV5ayBBcm1lbmlhbl9BWUIgQXJtZW5pYW5fYXliIEFybWVuaWFuX0JFTiBBcm1lbmlhbl9iZW4gQXJtZW5pYW5fR0lNCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFybWVuaWFuX2dpbSBBcm1lbmlhbl9EQSBBcm1lbmlhbl9kYSBBcm1lbmlhbl9ZRUNIIEFybWVuaWFuX3llY2ggQXJtZW5pYW5fWkEgQXJtZW5pYW5femEgQXJtZW5pYW5fRSBBcm1lbmlhbl9lIEFybWVuaWFuX0FUIEFybWVuaWFuX2F0IEFybWVuaWFuX1RPIEFybWVuaWFuX3RvIEFybWVuaWFuX1pIRSBBcm1lbmlhbl96aGUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JQXJtZW5pYW5fSU5JIEFybWVuaWFuX2luaSBBcm1lbmlhbl9MWVVOIEFybWVuaWFuX2x5dW4gQXJtZW5pYW5fS0hFIEFybWVuaWFuX2toZSBBcm1lbmlhbl9UU0EgQXJtZW5pYW5fdHNhIEFybWVuaWFuX0tFTiBBcm1lbmlhbl9rZW4gQXJtZW5pYW5fSE8gQXJtZW5pYW5faG8gQXJtZW5pYW5fRFpBIEFybWVuaWFuX2R6YSBBcm1lbmlhbl9HSEFUCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFybWVuaWFuX2doYXQgQXJtZW5pYW5fVENIRSBBcm1lbmlhbl90Y2hlIEFybWVuaWFuX01FTiBBcm1lbmlhbl9tZW4gQXJtZW5pYW5fSEkgQXJtZW5pYW5faGkgQXJtZW5pYW5fTlUgQXJtZW5pYW5fbnUgQXJtZW5pYW5fU0hBIEFybWVuaWFuX3NoYSBBcm1lbmlhbl9WTyBBcm1lbmlhbl92byBBcm1lbmlhbl9DSEEgQXJtZW5pYW5fY2hhCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFybWVuaWFuX1BFIEFybWVuaWFuX3BlIEFybWVuaWFuX0pFIEFybWVuaWFuX2plIEFybWVuaWFuX1JBIEFybWVuaWFuX3JhIEFybWVuaWFuX1NFIEFybWVuaWFuX3NlIEFybWVuaWFuX1ZFViBBcm1lbmlhbl92ZXYgQXJtZW5pYW5fVFlVTiBBcm1lbmlhbl90eXVuIEFybWVuaWFuX1JFIEFybWVuaWFuX3JlIEFybWVuaWFuX1RTTworc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBcm1lbmlhbl90c28gQXJtZW5pYW5fVllVTiBBcm1lbmlhbl92eXVuIEFybWVuaWFuX1BZVVIgQXJtZW5pYW5fcHl1ciBBcm1lbmlhbl9LRSBBcm1lbmlhbl9rZSBBcm1lbmlhbl9PIEFybWVuaWFuX28gQXJtZW5pYW5fRkUgQXJtZW5pYW5fZmUgQXJtZW5pYW5fYXBvc3Ryb3BoZSBBcm1lbmlhbl9zZWN0aW9uX3NpZ24gR2VvcmdpYW5fYW4gR2VvcmdpYW5fYmFuCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUdlb3JnaWFuX2dhbiBHZW9yZ2lhbl9kb24gR2VvcmdpYW5fZW4gR2VvcmdpYW5fdmluIEdlb3JnaWFuX3plbiBHZW9yZ2lhbl90YW4gR2VvcmdpYW5faW4gR2VvcmdpYW5fa2FuIEdlb3JnaWFuX2xhcyBHZW9yZ2lhbl9tYW4gR2VvcmdpYW5fbmFyIEdlb3JnaWFuX29uIEdlb3JnaWFuX3BhciBHZW9yZ2lhbl96aGFyIEdlb3JnaWFuX3JhZQorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlHZW9yZ2lhbl9zYW4gR2VvcmdpYW5fdGFyIEdlb3JnaWFuX3VuIEdlb3JnaWFuX3BoYXIgR2VvcmdpYW5fa2hhciBHZW9yZ2lhbl9naGFuIEdlb3JnaWFuX3FhciBHZW9yZ2lhbl9zaGluIEdlb3JnaWFuX2NoaW4gR2VvcmdpYW5fY2FuIEdlb3JnaWFuX2ppbCBHZW9yZ2lhbl9jaWwgR2VvcmdpYW5fY2hhciBHZW9yZ2lhbl94YW4gR2VvcmdpYW5famhhbgorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlHZW9yZ2lhbl9oYWUgR2VvcmdpYW5faGUgR2VvcmdpYW5faGllIEdlb3JnaWFuX3dlIEdlb3JnaWFuX2hhciBHZW9yZ2lhbl9ob2UgR2VvcmdpYW5fZmkgQ2NlZGlsbGFhYm92ZWRvdCBYYWJvdmVkb3QgUWFib3ZlZG90IElicmV2ZSBJRSBVTyBac3Ryb2tlIEdjYXJvbgorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlPYmFycmVkIGNjZWRpbGxhYWJvdmVkb3QgeGFib3ZlZG90IE9jYXJvbiBxYWJvdmVkb3QgaWJyZXZlIGllIHVvIHpzdHJva2UgZ2Nhcm9uIG9jYXJvbiBvYmFycmVkIFNDSFdBIHNjaHdhIExiZWxvd2RvdAorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlMc3Ryb2tlYmVsb3dkb3QgbGJlbG93ZG90IGxzdHJva2ViZWxvd2RvdCBHdGlsZGUgZ3RpbGRlIEFiZWxvd2RvdCBhYmVsb3dkb3QgQWhvb2sgYWhvb2sgQWNpcmN1bWZsZXhhY3V0ZSBhY2lyY3VtZmxleGFjdXRlIEFjaXJjdW1mbGV4Z3JhdmUgYWNpcmN1bWZsZXhncmF2ZSBBY2lyY3VtZmxleGhvb2sgYWNpcmN1bWZsZXhob29rCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFjaXJjdW1mbGV4dGlsZGUgYWNpcmN1bWZsZXh0aWxkZSBBY2lyY3VtZmxleGJlbG93ZG90IGFjaXJjdW1mbGV4YmVsb3dkb3QgQWJyZXZlYWN1dGUgYWJyZXZlYWN1dGUgQWJyZXZlZ3JhdmUgYWJyZXZlZ3JhdmUgQWJyZXZlaG9vayBhYnJldmVob29rIEFicmV2ZXRpbGRlIGFicmV2ZXRpbGRlIEFicmV2ZWJlbG93ZG90IGFicmV2ZWJlbG93ZG90IEViZWxvd2RvdAorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQllYmVsb3dkb3QgRWhvb2sgZWhvb2sgRXRpbGRlIGV0aWxkZSBFY2lyY3VtZmxleGFjdXRlIGVjaXJjdW1mbGV4YWN1dGUgRWNpcmN1bWZsZXhncmF2ZSBlY2lyY3VtZmxleGdyYXZlIEVjaXJjdW1mbGV4aG9vayBlY2lyY3VtZmxleGhvb2sgRWNpcmN1bWZsZXh0aWxkZSBlY2lyY3VtZmxleHRpbGRlIEVjaXJjdW1mbGV4YmVsb3dkb3QgZWNpcmN1bWZsZXhiZWxvd2RvdAorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlJaG9vayBpaG9vayBJYmVsb3dkb3QgaWJlbG93ZG90IE9iZWxvd2RvdCBvYmVsb3dkb3QgT2hvb2sgb2hvb2sgT2NpcmN1bWZsZXhhY3V0ZSBvY2lyY3VtZmxleGFjdXRlIE9jaXJjdW1mbGV4Z3JhdmUgb2NpcmN1bWZsZXhncmF2ZSBPY2lyY3VtZmxleGhvb2sgb2NpcmN1bWZsZXhob29rIE9jaXJjdW1mbGV4dGlsZGUKK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0Jb2NpcmN1bWZsZXh0aWxkZSBPY2lyY3VtZmxleGJlbG93ZG90IG9jaXJjdW1mbGV4YmVsb3dkb3QgT2hvcm5hY3V0ZSBvaG9ybmFjdXRlIE9ob3JuZ3JhdmUgb2hvcm5ncmF2ZSBPaG9ybmhvb2sgb2hvcm5ob29rIE9ob3JudGlsZGUgb2hvcm50aWxkZSBPaG9ybmJlbG93ZG90IG9ob3JuYmVsb3dkb3QgVWJlbG93ZG90IHViZWxvd2RvdAorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlVaG9vayB1aG9vayBVaG9ybmFjdXRlIHVob3JuYWN1dGUgVWhvcm5ncmF2ZSB1aG9ybmdyYXZlIFVob3JuaG9vayB1aG9ybmhvb2sgVWhvcm50aWxkZSB1aG9ybnRpbGRlIFVob3JuYmVsb3dkb3QgdWhvcm5iZWxvd2RvdCBZYmVsb3dkb3QgeWJlbG93ZG90IFlob29rCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXlob29rIFl0aWxkZSB5dGlsZGUgT2hvcm4gb2hvcm4gVWhvcm4gdWhvcm4gY29tYmluaW5nX3RpbGRlIGNvbWJpbmluZ19ncmF2ZSBjb21iaW5pbmdfYWN1dGUgY29tYmluaW5nX2hvb2sgY29tYmluaW5nX2JlbG93ZG90IEVjdVNpZ24gQ29sb25TaWduIENydXplaXJvU2lnbgorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlGRnJhbmNTaWduIExpcmFTaWduIE1pbGxTaWduIE5haXJhU2lnbiBQZXNldGFTaWduIFJ1cGVlU2lnbiBXb25TaWduIE5ld1NoZXFlbFNpZ24gRG9uZ1NpZ24gRXVyb1NpZ24KK3N5biBtYXRjaCAgIHhtb2RtYXBLZXlTeW0JIlw8W0EtWmEtel1cPiIKKworIiBrZXl3b3Jkcworc3luIGtleXdvcmQgeG1vZG1hcEtleXdvcmQJa2V5Y29kZSBrZXlzeW0gY2xlYXIgYWRkIHJlbW92ZSBwb2ludGVyCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3htb2RtYXBfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfeG1vZG1hcF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB4bW9kbWFwQ29tbWVudAkgICAgQ29tbWVudAorICBIaUxpbmsgeG1vZG1hcFRvZG8JICAgIFRvZG8KKyAgSGlMaW5rIHhtb2RtYXBJbnQJICAgIE51bWJlcgorICBIaUxpbmsgeG1vZG1hcEhleAkgICAgTnVtYmVyCisgIEhpTGluayB4bW9kbWFwT2N0YWwJICAgIE51bWJlcgorICBIaUxpbmsgeG1vZG1hcE9jdGFsRXJyb3IgIEVycm9yCisgIEhpTGluayB4bW9kbWFwS2V5U3ltCSAgICBDb25zdGFudAorICBIaUxpbmsgeG1vZG1hcEtleXdvcmQJICAgIEtleXdvcmQKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInhtb2RtYXAiCisKKyIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3hwbS52aW0gYi9ydW50aW1lL3N5bnRheC94cG0udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjYmRhODIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC94cG0udmltCkBAIC0wLDAgKzEsMTQ0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJWCBQaXhtYXAKKyIgTWFpbnRhaW5lcjoJUm9uYWxkIFNjaGlsZCA8cnNAc2N1dHVtLmRlPgorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMDkKKyIgVmVyc2lvbjoJNS40bi4xCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworc3luIGtleXdvcmQgeHBtVHlwZQkJY2hhcgorc3luIGtleXdvcmQgeHBtU3RvcmFnZUNsYXNzCXN0YXRpYworc3luIGtleXdvcmQgeHBtVG9kbwkJVE9ETyBGSVhNRSBYWFggIGNvbnRhaW5lZAorc3luIHJlZ2lvbiAgeHBtQ29tbWVudAkJc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIiAgY29udGFpbnM9eHBtVG9kbworc3luIHJlZ2lvbiAgeHBtUGl4ZWxTdHJpbmcJc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrICBjb250YWlucz1AeHBtQ29sb3JzCisKK2lmIGhhcygiZ3VpX3J1bm5pbmciKQorCitsZXQgY29sb3IgID0gIiIKK2xldCBjaGFycyAgPSAiIgorbGV0IGNvbG9ycyA9IDAKK2xldCBjcHAgICAgPSAwCitsZXQgbiAgICAgID0gMAorbGV0IGkgICAgICA9IDEKKword2hpbGUgaSA8PSBsaW5lKCIkIikJCSIgc2Nhbm5pbmcgYWxsIGxpbmVzCisKKyAgIGxldCBzID0gbWF0Y2hzdHIoZ2V0bGluZShpKSwgJyIuXHstMSx9IicpCisgICBpZiBzICE9ICIiCQkJIiBkb2VzIGxpbmUgY29udGFpbiBhIHN0cmluZz8KKworICAgICAgaWYgbiA9PSAwCQkJIiBmaXJzdCBzdHJpbmcgaXMgdGhlIFZhbHVlcyBzdHJpbmcKKworCSAiIGdldCB0aGUgM3JkIHZhbHVlOiBjb2xvcnMgPSBudW1iZXIgb2YgY29sb3JzCisJIGxldCBjb2xvcnMgPSBzdWJzdGl0dXRlKHMsICciXHMqXGRcK1xzXCtcZFwrXHNcK1woXGRcK1wpLioiJywgJ1wxJywgJycpCisJICIgZ2V0IHRoZSA0dGggdmFsdWU6IGNwcCA9IG51bWJlciBvZiBjaGFyYWN0ZXIgcGVyIHBpeGVsCisJIGxldCBjcHAgPSBzdWJzdGl0dXRlKHMsICciXHMqXGRcK1xzXCtcZFwrXHNcK1xkXCtcc1wrXChcZFwrXCkuKiInLCAnXDEnLCAnJykKKworCSAiIGhpZ2hsaWdodCB0aGUgVmFsdWVzIHN0cmluZyBhcyBub3JtYWwgc3RyaW5nIChubyBwaXhlbCBzdHJpbmcpCisJIGV4ZSAnc3luIG1hdGNoIHhwbVZhbHVlcyAvJy5zLicvJworCSBoaSBsaW5rIHhwbVZhbHVlcyBTdHJpbmcKKworCSBsZXQgbiA9IDEJCSIgbiA9IGNvbG9yIGluZGV4CisKKyAgICAgIGVsc2VpZiBuIDw9IGNvbG9ycwkiIHN0cmluZyBpcyBhIGNvbG9yIHNwZWNpZmljYXRpb24KKworCSAiIGdldCBjaGFycyA9IDxjcHA+IGxlbmd0aCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwaXhlbHMKKwkgIiAoZmlyc3QgaW5jbC4gdGhlIGZvbGxvd2luZyB3aGl0ZXNwYWNlKQorCSBsZXQgY2hhcnMgPSBzdWJzdGl0dXRlKHMsICciXCguXHsnLmNwcC4nfVxzXCkuKiInLCAnXDEnLCAnJykKKworCSAiIG5vdyBnZXQgY29sb3IsIGZpcnN0IHRyeSAnYycga2V5IGlmIGFueSAoY29sb3IgdmlzdWFsKQorCSBsZXQgY29sb3IgPSBzdWJzdGl0dXRlKHMsICciLipcc2Ncc1wrXCguXHstfVwpXHMqXChcKGc0XD1cfFttc11cKVxzLipcKSpccyoiJywgJ1wxJywgJycpCisJIGlmIGNvbG9yID09IHMKKwkgICAgIiBubyAnYycga2V5LCB0cnkgJ2cnIGtleSAoZ3JheXNjYWxlIHdpdGggbW9yZSB0aGFuIDQgbGV2ZWxzKQorCSAgICBsZXQgY29sb3IgPSBzdWJzdGl0dXRlKHMsICciLipcc2dcc1wrXCguXHstfVwpXHMqXChcKGc0XHxbbXNdXClccy4qXCkqXHMqIicsICdcMScsICcnKQorCSAgICBpZiBjb2xvciA9PSBzCisJICAgICAgICIgbmV4dCB0cnk6ICdnNCcga2V5ICg0LWxldmVsIGdyYXlzY2FsZSkKKwkgICAgICAgbGV0IGNvbG9yID0gc3Vic3RpdHV0ZShzLCAnIi4qXHNnNFxzXCtcKC5cey19XClccypcKFttc11ccy4qXCkqXHMqIicsICdcMScsICcnKQorCSAgICAgICBpZiBjb2xvciA9PSBzCisJCSAgIiBmaW5hbGx5IHRyeSAnbScga2V5IChtb25vIHZpc3VhbCkKKwkJICBsZXQgY29sb3IgPSBzdWJzdGl0dXRlKHMsICciLipcc21cc1wrXCguXHstfVwpXHMqXChzXHMuKlwpKlxzKiInLCAnXDEnLCAnJykKKwkJICBpZiBjb2xvciA9PSBzCisJCSAgICAgbGV0IGNvbG9yID0gIiIKKwkJICBlbmRpZgorCSAgICAgICBlbmRpZgorCSAgICBlbmRpZgorCSBlbmRpZgorCisJICIgVmltIGNhbm5vdCBoYW5kbGUgUkdCIGNvZGVzIHdpdGggbW9yZSB0aGFuIDYgaGV4IGRpZ2l0cworCSBpZiBjb2xvciA9fiAnI1x4XHsxMCx9JCcKKwkgICAgbGV0IGNvbG9yID0gc3Vic3RpdHV0ZShjb2xvciwgJ1woXHhceFwpXHhceCcsICdcMScsICdnJykKKwkgZWxzZWlmIGNvbG9yID1+ICcjXHhcezcsfSQnCisJICAgIGxldCBjb2xvciA9IHN1YnN0aXR1dGUoY29sb3IsICdcKFx4XHhcKVx4JywgJ1wxJywgJ2cnKQorCSAiIG5vciB3aXRoIDMgZGlnaXRzCisJIGVsc2VpZiBjb2xvciA9fiAnI1x4XHszfSQnCisJICAgIGxldCBjb2xvciA9IHN1YnN0aXR1dGUoY29sb3IsICdcKFx4XClcKFx4XClcKFx4XCknLCAnMFwxMFwyMFwzJywgJycpCisJIGVuZGlmCisKKwkgIiBlc2NhcGUgbWV0YSBjaGFyYWN0ZXJzIGluIHBhdHRlcm5zCisJIGxldCBzID0gZXNjYXBlKHMsICcvXCpeJC5+W10nKQorCSBsZXQgY2hhcnMgPSBlc2NhcGUoY2hhcnMsICcvXCpeJC5+W10nKQorCisJICIgbm93IGNyZWF0ZSBzeW50YXggaXRlbXMKKwkgIiBoaWdobGlnaHQgdGhlIGNvbG9yIHN0cmluZyBhcyBub3JtYWwgc3RyaW5nIChubyBwaXhlbCBzdHJpbmcpCisJIGV4ZSAnc3luIG1hdGNoIHhwbUNvbCcubi4nRGVmIC8nLnMuJy8gY29udGFpbnM9eHBtQ29sJy5uLidpbkRlZicKKwkgZXhlICdoaSBsaW5rIHhwbUNvbCcubi4nRGVmIFN0cmluZycKKworCSAiIGJ1dCBoaWdobGlnaHQgdGhlIGZpcnN0IHdoaXRlc3BhY2UgYWZ0ZXIgY2hhcnMgaW4gaXRzIGNvbG9yCisJIGV4ZSAnc3luIG1hdGNoIHhwbUNvbCcubi4naW5EZWYgLyInLmNoYXJzLicvaHM9cysnLihjcHArMSkuJyBjb250YWluZWQnCisJIGV4ZSAnaGkgbGluayB4cG1Db2wnLm4uJ2luRGVmIHhwbUNvbG9yJy5uCisKKwkgIiByZW1vdmUgdGhlIGZvbGxvd2luZyB3aGl0ZXNwYWNlIGZyb20gY2hhcnMKKwkgbGV0IGNoYXJzID0gc3Vic3RpdHV0ZShjaGFycywgJy4kJywgJycsICcnKQorCisJICIgYW5kIGNyZWF0ZSB0aGUgc3ludGF4IGl0ZW0gY29udGFpbmVkIGluIHRoZSBwaXhlbCBzdHJpbmdzCisJIGV4ZSAnc3luIG1hdGNoIHhwbUNvbG9yJy5uLicgLycuY2hhcnMuJy8gY29udGFpbmVkJworCSBleGUgJ3N5biBjbHVzdGVyIHhwbUNvbG9ycyBhZGQ9eHBtQ29sb3InLm4KKworCSAiIGlmIG5vIGNvbG9yIG9yIGNvbG9yID0gIk5vbmUiIHNob3cgYmFja2dyb3VuZAorCSBpZiBjb2xvciA9PSAiIiAgfHwgIHN1YnN0aXR1dGUoY29sb3IsICcuKicsICdcTCYnLCAnJykgPT0gJ25vbmUnCisJICAgIGV4ZSAnaGkgeHBtQ29sb3InLm4uJyBndWlmZz1iZycKKwkgICAgZXhlICdoaSB4cG1Db2xvcicubi4nIGd1aWJnPU5PTkUnCisJIGVsc2UKKwkgICAgZXhlICdoaSB4cG1Db2xvcicubi4iIGd1aWZnPSciLmNvbG9yLiInIgorCSAgICBleGUgJ2hpIHhwbUNvbG9yJy5uLiIgZ3VpYmc9JyIuY29sb3IuIiciCisJIGVuZGlmCisJIGxldCBuID0gbiArIDEKKyAgICAgIGVsc2UKKwkgYnJlYWsJCSIgbm8gbW9yZSBjb2xvciBzdHJpbmcKKyAgICAgIGVuZGlmCisgICBlbmRpZgorICAgbGV0IGkgPSBpICsgMQorZW5kd2hpbGUKKwordW5sZXQgY29sb3IgY2hhcnMgY29sb3JzIGNwcCBuIGkgcworCitlbmRpZgkJIiBoYXMoImd1aV9ydW5uaW5nIikKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfeHBtX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3hwbV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB4cG1UeXBlCQlUeXBlCisgIEhpTGluayB4cG1TdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayB4cG1Ub2RvCQlUb2RvCisgIEhpTGluayB4cG1Db21tZW50CQlDb21tZW50CisgIEhpTGluayB4cG1QaXhlbFN0cmluZwlTdHJpbmcKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAieHBtIgorCisiIHZpbTogdHM9ODpzdz0zOm5vZXQ6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94cG0yLnZpbSBiL3J1bnRpbWUvc3ludGF4L3hwbTIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhM2RlNmYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC94cG0yLnZpbQpAQCAtMCwwICsxLDE1NiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVggUGl4bWFwIHYyCisiIE1haW50YWluZXI6CVN0ZXZlIFdhbGwgKGhpdGNoZWQ5N0B2ZWxuZXQuY29tKQorIiBMYXN0IENoYW5nZToJMjAwMSBBcHIgMjUKKyIgVmVyc2lvbjoJNS44CisiCisiIE1hZGUgZnJvbSB4cG0udmltIGJ5IFJvbmFsZCBTY2hpbGQgPHJzQHNjdXR1bS5kZT4KKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gcmVnaW9uICB4cG0yUGl4ZWxTdHJpbmcJc3RhcnQ9Il4iICBlbmQ9IiQiICBjb250YWlucz1AeHBtMkNvbG9ycworc3luIGtleXdvcmQgeHBtMlRvZG8JCVRPRE8gRklYTUUgWFhYICBjb250YWluZWQKK3N5biBtYXRjaCAgIHhwbTJDb21tZW50CQkiXCEuKiQiICBjb250YWlucz14cG0yVG9kbworCisKK2lmIHZlcnNpb24gPCA1MDgKKyAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgY29tbWFuZCAtbmFyZ3M9KyBIaSBoaSA8YXJncz4KK2Vsc2UKKyAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGNvbW1hbmQgLW5hcmdzPSsgSGkgaGkgZGVmIDxhcmdzPgorZW5kaWYKKworaWYgaGFzKCJndWlfcnVubmluZyIpCisKKyAgbGV0IGNvbG9yICA9ICIiCisgIGxldCBjaGFycyAgPSAiIgorICBsZXQgY29sb3JzID0gMAorICBsZXQgY3BwICAgID0gMAorICBsZXQgbiAgICAgID0gMAorICBsZXQgaSAgICAgID0gMQorCisgIHdoaWxlIGkgPD0gbGluZSgiJCIpCQkiIHNjYW5uaW5nIGFsbCBsaW5lcworCisgICAgbGV0IHMgPSBnZXRsaW5lKGkpCisgICAgaWYgbWF0Y2gocywiXCEuKiQiKSAhPSAtMQorICAgICAgbGV0IHMgPSBtYXRjaHN0cihzLCAiXlteXCFdKiIpCisgICAgZW5kaWYKKyAgICBpZiBzICE9ICIiCQkJIiBkb2VzIGxpbmUgY29udGFpbiBhIHN0cmluZz8KKworICAgICAgaWYgbiA9PSAwCQkJIiBmaXJzdCBzdHJpbmcgaXMgdGhlIFZhbHVlcyBzdHJpbmcKKworCSIgZ2V0IHRoZSAzcmQgdmFsdWU6IGNvbG9ycyA9IG51bWJlciBvZiBjb2xvcnMKKwlsZXQgY29sb3JzID0gc3Vic3RpdHV0ZShzLCAnXHMqXGRcK1xzXCtcZFwrXHNcK1woXGRcK1wpLionLCAnXDEnLCAnJykKKwkiIGdldCB0aGUgNHRoIHZhbHVlOiBjcHAgPSBudW1iZXIgb2YgY2hhcmFjdGVyIHBlciBwaXhlbAorCWxldCBjcHAgPSBzdWJzdGl0dXRlKHMsICdccypcZFwrXHNcK1xkXCtcc1wrXGRcK1xzXCtcKFxkXCtcKS4qJywgJ1wxJywgJycpCisKKwkiIGhpZ2hsaWdodCB0aGUgVmFsdWVzIHN0cmluZyBhcyBub3JtYWwgc3RyaW5nIChubyBwaXhlbCBzdHJpbmcpCisJZXhlICdzeW4gbWF0Y2ggeHBtMlZhbHVlcyAvJy5zLicvJworCUhpTGluayB4cG0yVmFsdWVzIFN0YXRlbWVudAorCisJbGV0IG4gPSAxCQkJIiBuID0gY29sb3IgaW5kZXgKKworICAgICAgZWxzZWlmIG4gPD0gY29sb3JzCQkiIHN0cmluZyBpcyBhIGNvbG9yIHNwZWNpZmljYXRpb24KKworCSIgZ2V0IGNoYXJzID0gPGNwcD4gbGVuZ3RoIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBpeGVscworCSIgKGZpcnN0IGluY2wuIHRoZSBmb2xsb3dpbmcgd2hpdGVzcGFjZSkKKwlsZXQgY2hhcnMgPSBzdWJzdGl0dXRlKHMsICdcKC5ceycuY3BwLid9XHNcK1wpLionLCAnXDEnLCAnJykKKworCSIgbm93IGdldCBjb2xvciwgZmlyc3QgdHJ5ICdjJyBrZXkgaWYgYW55IChjb2xvciB2aXN1YWwpCisJbGV0IGNvbG9yID0gc3Vic3RpdHV0ZShzLCAnLipcc2Ncc1wrXCguXHstfVwpXHMqXChcKGc0XD1cfFttc11cKVxzLipcKSpccyonLCAnXDEnLCAnJykKKwlpZiBjb2xvciA9PSBzCisJICAiIG5vICdjJyBrZXksIHRyeSAnZycga2V5IChncmF5c2NhbGUgd2l0aCBtb3JlIHRoYW4gNCBsZXZlbHMpCisJICBsZXQgY29sb3IgPSBzdWJzdGl0dXRlKHMsICcuKlxzZ1xzXCtcKC5cey19XClccypcKFwoZzRcfFttc11cKVxzLipcKSpccyonLCAnXDEnLCAnJykKKwkgIGlmIGNvbG9yID09IHMKKwkgICAgIiBuZXh0IHRyeTogJ2c0JyBrZXkgKDQtbGV2ZWwgZ3JheXNjYWxlKQorCSAgICBsZXQgY29sb3IgPSBzdWJzdGl0dXRlKHMsICcuKlxzZzRcc1wrXCguXHstfVwpXHMqXChbbXNdXHMuKlwpKlxzKicsICdcMScsICcnKQorCSAgICBpZiBjb2xvciA9PSBzCisJICAgICAgIiBmaW5hbGx5IHRyeSAnbScga2V5IChtb25vIHZpc3VhbCkKKwkgICAgICBsZXQgY29sb3IgPSBzdWJzdGl0dXRlKHMsICcuKlxzbVxzXCtcKC5cey19XClccypcKHNccy4qXCkqXHMqJywgJ1wxJywgJycpCisJICAgICAgaWYgY29sb3IgPT0gcworCQlsZXQgY29sb3IgPSAiIgorCSAgICAgIGVuZGlmCisJICAgIGVuZGlmCisJICBlbmRpZgorCWVuZGlmCisKKwkiIFZpbSBjYW5ub3QgaGFuZGxlIFJHQiBjb2RlcyB3aXRoIG1vcmUgdGhhbiA2IGhleCBkaWdpdHMKKwlpZiBjb2xvciA9fiAnI1x4XHsxMCx9JCcKKwkgIGxldCBjb2xvciA9IHN1YnN0aXR1dGUoY29sb3IsICdcKFx4XHhcKVx4XHgnLCAnXDEnLCAnZycpCisJZWxzZWlmIGNvbG9yID1+ICcjXHhcezcsfSQnCisJICBsZXQgY29sb3IgPSBzdWJzdGl0dXRlKGNvbG9yLCAnXChceFx4XClceCcsICdcMScsICdnJykKKwkiIG5vciB3aXRoIDMgZGlnaXRzCisJZWxzZWlmIGNvbG9yID1+ICcjXHhcezN9JCcKKwkgIGxldCBjb2xvciA9IHN1YnN0aXR1dGUoY29sb3IsICdcKFx4XClcKFx4XClcKFx4XCknLCAnMFwxMFwyMFwzJywgJycpCisJZW5kaWYKKworCSIgZXNjYXBlIG1ldGEgY2hhcmFjdGVycyBpbiBwYXR0ZXJucworCWxldCBzID0gZXNjYXBlKHMsICcvXCpeJC5+W10nKQorCWxldCBjaGFycyA9IGVzY2FwZShjaGFycywgJy9cKl4kLn5bXScpCisKKwkiIGNoYW5nZSB3aGl0ZXNwYWNlIHRvICJcc1wrIgorCWxldCBzID0gc3Vic3RpdHV0ZShzLCAiWyBcdF1bIFx0XSoiLCAiXFxcXHNcXFxcKyIsICJnIikKKwlsZXQgY2hhcnMgPSBzdWJzdGl0dXRlKGNoYXJzLCAiWyBcdF1bIFx0XSoiLCAiXFxcXHNcXFxcKyIsICJnIikKKworCSIgbm93IGNyZWF0ZSBzeW50YXggaXRlbXMKKwkiIGhpZ2hsaWdodCB0aGUgY29sb3Igc3RyaW5nIGFzIG5vcm1hbCBzdHJpbmcgKG5vIHBpeGVsIHN0cmluZykKKwlleGUgJ3N5biBtYXRjaCB4cG0yQ29sJy5uLidEZWYgLycucy4nLyBjb250YWlucz14cG0yQ29sJy5uLidpbkRlZicKKwlleGUgJ0hpTGluayB4cG0yQ29sJy5uLidEZWYgQ29uc3RhbnQnCisKKwkiIGJ1dCBoaWdobGlnaHQgdGhlIGZpcnN0IHdoaXRlc3BhY2UgYWZ0ZXIgY2hhcnMgaW4gaXRzIGNvbG9yCisJZXhlICdzeW4gbWF0Y2ggeHBtMkNvbCcubi4naW5EZWYgL14nLmNoYXJzLicvaHM9cysnLihjcHApLicgY29udGFpbmVkJworCWV4ZSAnSGlMaW5rIHhwbTJDb2wnLm4uJ2luRGVmIHhwbTJDb2xvcicubgorCisJIiByZW1vdmUgdGhlIGZvbGxvd2luZyB3aGl0ZXNwYWNlIGZyb20gY2hhcnMKKwlsZXQgY2hhcnMgPSBzdWJzdGl0dXRlKGNoYXJzLCAnXFxzXFwrJCcsICcnLCAnJykKKworCSIgYW5kIGNyZWF0ZSB0aGUgc3ludGF4IGl0ZW0gY29udGFpbmVkIGluIHRoZSBwaXhlbCBzdHJpbmdzCisJZXhlICdzeW4gbWF0Y2ggeHBtMkNvbG9yJy5uLicgLycuY2hhcnMuJy8gY29udGFpbmVkJworCWV4ZSAnc3luIGNsdXN0ZXIgeHBtMkNvbG9ycyBhZGQ9eHBtMkNvbG9yJy5uCisKKwkiIGlmIG5vIGNvbG9yIG9yIGNvbG9yID0gIk5vbmUiIHNob3cgYmFja2dyb3VuZAorCWlmIGNvbG9yID09ICIiICB8fCAgc3Vic3RpdHV0ZShjb2xvciwgJy4qJywgJ1xMJicsICcnKSA9PSAnbm9uZScKKwkgIGV4ZSAnSGkgeHBtMkNvbG9yJy5uLicgZ3VpZmc9YmcgZ3VpYmc9Tk9ORScKKwllbHNlCisJICBleGUgJ0hpIHhwbTJDb2xvcicubi4iIGd1aWZnPSciLmNvbG9yLiInIGd1aWJnPSciLmNvbG9yLiInIgorCWVuZGlmCisJbGV0IG4gPSBuICsgMQorICAgICAgZWxzZQorCWJyZWFrCQkJIiBubyBtb3JlIGNvbG9yIHN0cmluZworICAgICAgZW5kaWYKKyAgICBlbmRpZgorICAgIGxldCBpID0gaSArIDEKKyAgZW5kd2hpbGUKKworICB1bmxldCBjb2xvciBjaGFycyBjb2xvcnMgY3BwIG4gaSBzCisKK2VuZGlmCQkiIGhhcygiZ3VpX3J1bm5pbmciKQorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF94cG0yX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3hwbTJfc3ludGF4X2luaXRzID0gMQorICBlbmRpZgorCisgICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorICBIaUxpbmsgeHBtMlR5cGUJCVR5cGUKKyAgSGlMaW5rIHhwbTJTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayB4cG0yVG9kbwkJVG9kbworICBIaUxpbmsgeHBtMkNvbW1lbnQJCUNvbW1lbnQKKyAgSGlMaW5rIHhwbTJQaXhlbFN0cmluZwlTdHJpbmcKK2VuZGlmCitkZWxjb21tYW5kIEhpTGluaworZGVsY29tbWFuZCBIaQorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ4cG0yIgorCisiIHZpbTogdHM9ODpzdz0yOm5vZXQ6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94cy52aW0gYi9ydW50aW1lL3N5bnRheC94cy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYxMDU0YQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3hzLnZpbQpAQCAtMCwwICsxLDU0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJWFMgKFBlcmwgZXh0ZW5zaW9uIGludGVyZmFjZSBsYW5ndWFnZSkKKyIgTWFpbnRhaW5lcjoJTWljaGFlbCBXLiBEb2RnZSA8c2FyZ2VAcG9ib3guY29tPgorIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMDkKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFJlYWQgdGhlIEMgc3ludGF4IHRvIHN0YXJ0IHdpdGgKK2lmIHZlcnNpb24gPCA2MDAKKyAgc291cmNlIDxzZmlsZT46cDpoL2MudmltCitlbHNlCisgIHJ1bnRpbWUhIHN5bnRheC9jLnZpbQorZW5kaWYKKworIiBYUyBleHRlbnRpb25zCisiIFRPRE86IEZpZ3VyZSBvdXQgaG93IHRvIGxvb2sgZm9yIHRyYWlsaW5nICc9Jy4KK3N5biBrZXl3b3JkIHhzS2V5d29yZAlNT0RVTEUgUEFDS0FHRSBQUkVGSVgKK3N5biBrZXl3b3JkIHhzS2V5d29yZAlPVVRQVVQ6IENPREU6IElOSVQ6IFBSRUlOSVQ6IElOUFVUOgorc3luIGtleXdvcmQgeHNLZXl3b3JkCVBQQ09ERTogUkVRVUlSRTogQ0xFQU5VUDogQk9PVDoKK3N5biBrZXl3b3JkIHhzS2V5d29yZAlWRVJTSU9OQ0hFQ0s6IFBST1RPVFlQRVM6IFBST1RPVFlQRToKK3N5biBrZXl3b3JkIHhzS2V5d29yZAlBTElBUzogSU5DTFVERTogQ0FTRToKKyIgVE9ETzogRmlndXJlIG91dCBob3cgdG8gbG9vayBmb3IgdHJhaWxpbmcgJygnLgorc3luIGtleXdvcmQgeHNNYWNybwlTViBFWFRFTkQgUFVTSHMKK3N5biBrZXl3b3JkIHhzVmFyaWFibGUJUkVUVkFMIE5PX0lOSVQKKyJzeW4gbWF0Y2ggeHNDYXN0CSJcPFwoY29uc3RcfHN0YXRpY1x8ZHluYW1pY1x8cmVpbnRlcnByZXRcKV9jYXN0XHMqPCJtZT1lLTEKKyJzeW4gbWF0Y2ggeHNDYXN0CSJcPFwoY29uc3RcfHN0YXRpY1x8ZHluYW1pY1x8cmVpbnRlcnByZXRcKV9jYXN0XHMqJCIKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfeHNfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfeHNfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworICBIaUxpbmsgeHNLZXl3b3JkCUtleXdvcmQKKyAgSGlMaW5rIHhzTWFjcm8JTWFjcm8KKyAgSGlMaW5rIHhzVmFyaWFibGUJSWRlbnRpZmllcgorCisgIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ4cyIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3hzZC52aW0gYi9ydW50aW1lL3N5bnRheC94c2QudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzNDMxZjQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC94c2QudmltCkBAIC0wLDAgKzEsNjEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglYU0QgKFhNTCBTY2hlbWEpCisiIE1haW50YWluZXI6CUpvaGFubmVzIFplbGxuZXIgPGpvaGFubmVzQHplbGxuZXIub3JnPgorIiBMYXN0IENoYW5nZToJVHVlLCAyNyBBcHIgMjAwNCAxNDo1NDo1OSBDRVNUCisiIEZpbGVuYW1lczoJKi54c2QKKyIgJElkJAorCisiIFJFRkVSRU5DRVM6CisiICAgWzFdIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbHNjaGVtYS0wCisiCisKKyIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorZW5kaWYKKworcnVudGltZSBzeW50YXgveG1sLnZpbQorCitzeW4gY2x1c3RlciB4bWxUYWdIb29rIGFkZD14c2RFbGVtZW50CitzeW4gY2FzZSBtYXRjaAorCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PWFsbCcKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9YW5ub3RhdGlvbicKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9YW55Jworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1hbnlBdHRyaWJ1dGUnCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PWFwcEluZm8nCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PWF0dHJpYnV0ZScKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9YXR0cmlidXRlR3JvdXAnCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PWNob2ljZScKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9Y29tcGxleENvbnRlbnQnCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PWNvbXBsZXhUeXBlJworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1kb2N1bWVudGF0aW9uJworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1lbGVtZW50Jworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1lbnVtZXJhdGlvbicKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9ZXh0ZW5zaW9uJworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1maWVsZCcKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9Z3JvdXAnCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PWltcG9ydCcKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9aW5jbHVkZScKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9a2V5Jworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1rZXlyZWYnCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PWxlbmd0aCcKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9bGlzdCcKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9bWF4SW5jbHVzaXZlJworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1tYXhMZW5ndGgnCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PW1pbkluY2x1c2l2ZScKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9bWluTGVuZ3RoJworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1wYXR0ZXJuJworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1yZWRlZmluZScKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9cmVzdHJpY3Rpb24nCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PXNjaGVtYScKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9c2VsZWN0b3InCitzeW4gbWF0Y2ggeHNkRWxlbWVudCAnXCUoeHNkOlwpXEA8PXNlcXVlbmNlJworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1zaW1wbGVDb250ZW50Jworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD1zaW1wbGVUeXBlJworc3luIG1hdGNoIHhzZEVsZW1lbnQgJ1wlKHhzZDpcKVxAPD11bmlvbicKK3N5biBtYXRjaCB4c2RFbGVtZW50ICdcJSh4c2Q6XClcQDw9dW5pcXVlJworCitoaSBkZWYgbGluayB4c2RFbGVtZW50IFN0YXRlbWVudAorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgveHNsdC52aW0gYi9ydW50aW1lL3N5bnRheC94c2x0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGRkODY5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgveHNsdC52aW0KQEAgLTAsMCArMSw2MiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVhTTFQKKyIgTWFpbnRhaW5lcjoJSm9oYW5uZXMgWmVsbG5lciA8am9oYW5uZXNAemVsbG5lci5vcmc+CisiIExhc3QgQ2hhbmdlOglTdW4sIDI4IE9jdCAyMDAxIDIxOjIyOjI0ICswMTAwCisiIEZpbGVuYW1lczoJKi54c2wKKyIgJElkJAorCisiIFJFRkVSRU5DRVM6CisiICAgWzFdIGh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQKKyIKKworIiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICAgZmluaXNoCitlbmRpZgorCitydW50aW1lIHN5bnRheC94bWwudmltCisKK3N5biBjbHVzdGVyIHhtbFRhZ0hvb2sgYWRkPXhzbEVsZW1lbnQKK3N5biBjYXNlIG1hdGNoCisKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9YXBwbHktaW1wb3J0cycKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9YXBwbHktdGVtcGxhdGVzJworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD1hdHRyaWJ1dGUnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PWF0dHJpYnV0ZS1zZXQnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PWNhbGwtdGVtcGxhdGUnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PWNob29zZScKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9Y29tbWVudCcKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9Y29weScKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9Y29weS1vZicKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9ZGVjaW1hbC1mb3JtYXQnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PWRvY3VtZW50Jworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD1lbGVtZW50Jworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD1mYWxsYmFjaycKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9Zm9yLWVhY2gnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PWlmJworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD1pbmNsdWRlJworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD1pbXBvcnQnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PWtleScKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9bWVzc2FnZScKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9bmFtZXNwYWNlLWFsaWFzJworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD1udW1iZXInCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PW90aGVyd2lzZScKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9b3V0cHV0Jworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD1wYXJhbScKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9cHJvY2Vzc2luZy1pbnN0cnVjdGlvbicKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9cHJlc2VydmUtc3BhY2UnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PXNjcmlwdCcKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9c29ydCcKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9c3RyaXAtc3BhY2UnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PXN0eWxlc2hlZXQnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PXRlbXBsYXRlJworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD10cmFuc2Zvcm0nCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PXRleHQnCitzeW4gbWF0Y2ggeHNsRWxlbWVudCAnXCUoeHNsOlwpXEA8PXZhbHVlLW9mJworc3luIG1hdGNoIHhzbEVsZW1lbnQgJ1wlKHhzbDpcKVxAPD12YXJpYWJsZScKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9d2hlbicKK3N5biBtYXRjaCB4c2xFbGVtZW50ICdcJSh4c2w6XClcQDw9d2l0aC1wYXJhbScKKworaGkgZGVmIGxpbmsgeHNsRWxlbWVudCBTdGF0ZW1lbnQKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3h4ZC52aW0gYi9ydW50aW1lL3N5bnRheC94eGQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlZDU0M2MKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC94eGQudmltCkBAIC0wLDAgKzEsNDIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOgkJYmluIHVzaW5nIHh4ZAorIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgorIiBMYXN0IENoYW5nZToJTm92IDE4LCAyMDAyCisiIFZlcnNpb246CQk2CisiIE5vdGVzOgkJdXNlIDpoZWxwIHh4ZCAgIHRvIHNlZSBob3cgdG8gaW52b2tlIGl0CisiIFVSTDoJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBtYXRjaCB4eGRBZGRyZXNzCQkJIl5bMC05YS1mXVwrOiIJCWNvbnRhaW5zPXh4ZFNlcAorc3luIG1hdGNoIHh4ZFNlcAljb250YWluZWQJIjoiCitzeW4gbWF0Y2ggeHhkQXNjaWkJCQkJIiAgLlx7LDE2XH1cclw9JCJocz1zKzIJY29udGFpbnM9eHhkRG90CitzeW4gbWF0Y2ggeHhkRG90CWNvbnRhaW5lZAkiWy5ccl0iCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3h4ZF9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF94eGRfc3ludGF4X2luaXRzID0gMQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CisgIGVsc2UKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyAgZW5kaWYKKworIEhpTGluayB4eGRBZGRyZXNzCUNvbnN0YW50CisgSGlMaW5rIHh4ZFNlcAkJSWRlbnRpZmllcgorIEhpTGluayB4eGRBc2NpaQlTdGF0ZW1lbnQKKworIGRlbGNvbW1hbmQgSGlMaW5rCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ4eGQiCisKKyIgdmltOiB0cz00CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC95YWNjLnZpbSBiL3J1bnRpbWUvc3ludGF4L3lhY2MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMmEzOWEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC95YWNjLnZpbQpAQCAtMCwwICsxLDk4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZToJWWFjYworIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgorIiBMYXN0IENoYW5nZToJTm92IDE4LCAyMDAyCisiIFZlcnNpb246CTIKKyIgVVJMOglodHRwOi8vd3d3LmVyb2xzLmNvbS9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjdmltbGlua3Nfc3ludGF4CisiCisiIE9wdGlvbjoKKyIgICB5YWNjX3VzZXNfY3BwIDogaWYgdGhpcyB2YXJpYWJsZSBleGlzdHMsIHRoZW4gQysrIGlzIGxvYWRlZCByYXRoZXIgdGhhbiBDCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBSZWFkIHRoZSBDIHN5bnRheCB0byBzdGFydCB3aXRoCitpZiB2ZXJzaW9uID49IDYwMAorICBpZiBleGlzdHMoInlhY2NfdXNlc19jcHAiKQorICAgIHJ1bnRpbWUhIHN5bnRheC9jcHAudmltCisgIGVsc2UKKyAgICBydW50aW1lISBzeW50YXgvYy52aW0KKyAgZW5kaWYKK2Vsc2VpZiBleGlzdHMoInlhY2NfdXNlc19jcHAiKQorICBzbyA8c2ZpbGU+OnA6aC9jcHAudmltCitlbHNlCisgIHNvIDxzZmlsZT46cDpoL2MudmltCitlbmRpZgorCisiIENsdXN0ZXJzCitzeW4gY2x1c3Rlcgl5YWNjQWN0aW9uR3JvdXAJY29udGFpbnM9eWFjY0RlbGltLGNJblBhcmVuLGNUb2RvLGNJbmNsdWRlZCx5YWNjRGVsaW0seWFjY0N1cmx5RXJyb3IseWFjY1VuaW9uQ3VybHkseWFjY1VuaW9uLGNVc2VyTGFiZWwsY09jdGFsWmVybyxjQ3BwT3V0MixjQ3BwU2tpcCxjRXJySW5CcmFja2V0LGNFcnJJblBhcmVuLGNPY3RhbEVycm9yLGNDb21tZW50U3RhcnRFcnJvcixjUGFyZW5FcnJvcgorc3luIGNsdXN0ZXIJeWFjY1VuaW9uR3JvdXAJY29udGFpbnM9eWFjY0tleSxjQ29tbWVudCx5YWNjQ3VybHksY1R5cGUsY1N0cnVjdHVyZSxjU3RvcmFnZUNsYXNzLHlhY2NVbmlvbkN1cmx5CisKKyIgWWFjYyBzdHVmZgorc3luIG1hdGNoCXlhY2NEZWxpbQkiXlxzKls6fDtdIgorc3luIG1hdGNoCXlhY2NPcGVyCSJAXGRcKyIKKworc3luIG1hdGNoCXlhY2NLZXkJIl5ccyolXCh0b2tlblx8dHlwZVx8bGVmdFx8cmlnaHRcfHN0YXJ0XHxpZGVudFx8bm9uYXNzb2NcKVw+Igorc3luIG1hdGNoCXlhY2NLZXkJIlxzJVwocHJlY1x8ZXhwZWN0XClcPiIKK3N5biBtYXRjaAl5YWNjS2V5CSJcJFwoPFthLXpBLVpfXVthLXpBLVpfMC05XSo+XClcPVtcJDAtOV1cKyIKK3N5biBrZXl3b3JkCXlhY2NLZXlBY3RuCXl5ZXJyb2sgeXljbGVhcmluCisKK3N5biBtYXRjaAl5YWNjVW5pb25TdGFydAkiXiV1bmlvbiIJc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9eWFjY1VuaW9uCitzeW4gcmVnaW9uCXlhY2NVbmlvbgljb250YWluZWQgbWF0Y2hncm91cD15YWNjQ3VybHkgc3RhcnQ9InsiIG1hdGNoZ3JvdXA9eWFjY0N1cmx5IGVuZD0ifSIJY29udGFpbnM9QHlhY2NVbmlvbkdyb3VwCitzeW4gcmVnaW9uCXlhY2NVbmlvbkN1cmx5CWNvbnRhaW5lZCBtYXRjaGdyb3VwPXlhY2NDdXJseSBzdGFydD0ieyIgbWF0Y2hncm91cD15YWNjQ3VybHkgZW5kPSJ9IiBjb250YWlucz1AeWFjY1VuaW9uR3JvdXAKK3N5biBtYXRjaAl5YWNjQnJrdAljb250YWluZWQgIls8Pl0iCitzeW4gbWF0Y2gJeWFjY1R5cGUJIjxbYS16QS1aX11bYS16QS1aMC05X10qPiIJY29udGFpbnM9eWFjY0Jya3QKK3N5biBtYXRjaAl5YWNjRGVmaW5pdGlvbgkiXltBLVphLXpdW0EtWmEtejAtOV9dKlsgXHRdKjoiCisKKyIgc3BlY2lhbCBZYWNjIHNlcGFyYXRvcnMKK3N5biBtYXRjaAl5YWNjU2VjdGlvblNlcAkiXlsgXHRdKiUlIgorc3luIG1hdGNoCXlhY2NTZXAJIl5bIFx0XSoleyIKK3N5biBtYXRjaAl5YWNjU2VwCSJeWyBcdF0qJX0iCisKKyIgSSdkIHJlYWxseSBsaWtlIHRvIGhpZ2hsaWdodCBqdXN0IHRoZSBvdXRlciB7fS4gIEFueSBzdWdnZXN0aW9ucz8/Pworc3luIG1hdGNoCXlhY2NDdXJseUVycm9yCSJbe31dIgorc3luIHJlZ2lvbgl5YWNjQWN0aW9uCW1hdGNoZ3JvdXA9eWFjY0N1cmx5IHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5zPUFMTEJVVCxAeWFjY0FjdGlvbkdyb3VwCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfeWFjY19zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF95YWNjaGRsX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgIiBJbnRlcm5hbCB5YWNjIGhpZ2hsaWdodGluZyBsaW5rcworICBIaUxpbmsgeWFjY0Jya3QJeWFjY1N0bXQKKyAgSGlMaW5rIHlhY2NLZXkJeWFjY1N0bXQKKyAgSGlMaW5rIHlhY2NPcGVyCXlhY2NTdG10CisgIEhpTGluayB5YWNjVW5pb25TdGFydAl5YWNjS2V5CisKKyAgIiBFeHRlcm5hbCB5YWNjIGhpZ2hsaWdodGluZyBsaW5rcworICBIaUxpbmsgeWFjY0N1cmx5CURlbGltaXRlcgorICBIaUxpbmsgeWFjY0N1cmx5RXJyb3IJRXJyb3IKKyAgSGlMaW5rIHlhY2NEZWZpbml0aW9uCUZ1bmN0aW9uCisgIEhpTGluayB5YWNjRGVsaW0JRnVuY3Rpb24KKyAgSGlMaW5rIHlhY2NLZXlBY3RuCVNwZWNpYWwKKyAgSGlMaW5rIHlhY2NTZWN0aW9uU2VwCVRvZG8KKyAgSGlMaW5rIHlhY2NTZXAJRGVsaW1pdGVyCisgIEhpTGluayB5YWNjU3RtdAlTdGF0ZW1lbnQKKyAgSGlMaW5rIHlhY2NUeXBlCVR5cGUKKworICAiIHNpbmNlIEJyYW0gZG9lc24ndCBsaWtlIG15IERlbGltaXRlciA6fAorICBIaUxpbmsgRGVsaW1pdGVyCVR5cGUKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAieWFjYyIKKworIiB2aW06IHRzPTE1CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC95YW1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L3lhbWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2ZTU3OGIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC95YW1sLnZpbQpAQCAtMCwwICsxLDEwNSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CSAgICBZQU1MIChZQU1MIEFpbid0IE1hcmt1cCBMYW5ndWFnZSkKKyIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+CisiIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AveWFtbC8KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgorIiBhcmNoLXRhZzoJICAgIDAxYmY4ZWYxLTMzNWYtNDY5Mi1hMjI4LTQ4NDZjYjY0Y2QxNgorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBUb2RvCitzeW4ga2V5d29yZCB5YW1sVG9kbwljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCisiIENvbW1lbnRzICg0LjIuMikKK3N5biByZWdpb24gIHlhbWxDb21tZW50CW1hdGNoZ3JvdXA9eWFtbENvbW1lbnQgc3RhcnQ9J1wlKF5cfFxzXCkjJyBlbmQ9JyQnIGNvbnRhaW5zPXlhbWxUb2RvCisKKyIgTm9kZSBQcm9wZXJ0aWVzICg0LjMuNCkKK3N5biBtYXRjaCAgIHlhbWxOb2RlUHJvcGVydHkJJyFcJSghW15cXF4lCSBdXCtcfFteIV1bXjovCSBdKlwpJworCisiIEFuY2hvcnMgKDQuMy42KQorc3luIG1hdGNoICAgeWFtbEFuY2hvcgknJi5cKycKKworIiBBbGlhc2VzICg0LjMuNykKK3N5biBtYXRjaCAgIHlhbWxBbGlhcwknXCouXCsnCisKKyIgT3BlcmF0b3JzLCBCbG9ja3MsIEtleXMsIGFuZCBEZWxpbWl0ZXJzCitzeW4gbWF0Y2ggICB5YW1sRGVsaW1pdGVyICAgJ1stLDpdJworc3luIG1hdGNoICAgeWFtbEJsb2NrCSAgICAnW1xbXF17fT58XScKK3N5biBtYXRjaCAgIHlhbWxPcGVyYXRvciAgICAnWz8rLV0nCitzeW4gbWF0Y2ggICB5YW1sS2V5CSAgICAnXHdcK1woXHNcK1x3XCtcKSpcemVccyo6JworCisiIFN0cmluZ3MgKDQuNi44LCA0LjYuOSkKK3N5biByZWdpb24gIHlhbWxTdHJpbmcJc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBjb250YWlucz15YW1sRXNjYXBlCitzeW4gcmVnaW9uICB5YW1sU3RyaW5nCXN0YXJ0PSsnKyBza2lwPSsnJysgZW5kPSsnKyBjb250YWlucz15YW1sU2luZ2xlRXNjYXBlCitzeW4gbWF0Y2ggICB5YW1sRXNjYXBlCWNvbnRhaW5lZCArXFxbXFwiYWJlZm5ydHZeMF8gTkxQXSsKK3N5biBtYXRjaCAgIHlhbWxFc2NhcGUJY29udGFpbmVkICdcXHhceFx7Mn0nCitzeW4gbWF0Y2ggICB5YW1sRXNjYXBlCWNvbnRhaW5lZCAnXFx1XHhcezR9Jworc3luIG1hdGNoICAgeWFtbEVzY2FwZQljb250YWluZWQgJ1xcVVx4XHs4fScKKyIgVE9ETzogaG93IGRvIHdlIGdldCAweDg1LCAweDIwMjgsIGFuZCAweDIwMjkgaW50byB0aGlzPworc3luIG1hdGNoICAgeWFtbEVzY2FwZQknXFxcJShcclxuXHxbXHJcbl1cKScKK3N5biBtYXRjaCAgIHlhbWxTaW5nbGVFc2NhcGUgY29udGFpbmVkICsnJysKKworIiBOdW1iZXJzCisiIFRPRE86IHNleGFnZWNpbWFsIGFuZCBmaXhlZCAoMjA6MzAuMTUgYW5kIDEsMjMwLjE1KQorc3luIG1hdGNoICAgeWFtbE51bWJlcgknXDxbKy1dXD1cZFwrXCUoXC5cZFwrXCUoW2VFXVsrLV1cPVxkXCtcKVw9XClcPScKK3N5biBtYXRjaCAgIHlhbWxOdW1iZXIJJzBcb1wrJworc3luIG1hdGNoICAgeWFtbE51bWJlcgknMHhceFwrJworc3luIG1hdGNoICAgeWFtbE51bWJlcgknKFsrLV1cPVtpSV1uZiknCitzeW4gbWF0Y2ggICB5YW1sTnVtYmVyCScoTmFOKScKKworIiBDb25zdGFudHMKK3N5biBtYXRjaCAgIHlhbWxDb25zdGFudCAgICAnXDxbfnluXVw+Jworc3luIGtleXdvcmQgeWFtbENvbnN0YW50ICAgIHRydWUgVHJ1ZSBUUlVFIGZhbHNlIEZhbHNlIEZBTFNFCitzeW4ga2V5d29yZCB5YW1sQ29uc3RhbnQgICAgeWVzIFllcyBvbiBPTiBubyBObyBvZmYgT0ZGCitzeW4ga2V5d29yZCB5YW1sQ29uc3RhbnQgICAgbnVsbCBOdWxsIE5VTEwgbmlsIE5pbCBOSUwKKworIiBUaW1lc3RhbXBzCitzeW4gbWF0Y2ggICB5YW1sVGltZXN0YW1wICAgJ1xkXGRcZFxkLVwlKDFbMC0yXVx8XGRcKS1cJSgzWzAtMl1cfDJcZFx8MVxkXHxcZFwpXCUoIFwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZDpbMC01XVxkLlxkXGQgWystXVwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZFx8dFwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZDpbMC01XVxkLlxkXGRbKy1dXCUoWzAxXVxkXHwyWzAtM11cKTpbMC01XVxkXHxUXCUoWzAxXVxkXHwyWzAtM11cKTpbMC01XVxkOlswLTVdXGQuXGRaXClcPScKKworIiBEb2N1bWVudHMgKDQuMy4xKQorc3luIHJlZ2lvbiAgeWFtbERvY3VtZW50SGVhZGVyCXN0YXJ0PSctLS0nIGVuZD0nJCcgY29udGFpbnM9eWFtbERpcmVjdGl2ZQorc3luIG1hdGNoICAgeWFtbERvY3VtZW50RW5kCSdcLlwuXC4nCisKKyIgRGlyZWN0aXZlcyAoNC4zLjIpCitzeW4gbWF0Y2ggICB5YW1sRGlyZWN0aXZlICAgY29udGFpbmVkICclW146XVwrOi5cKycKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfeWFtbF9zeW5faW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF95YW1sX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHlhbWxUb2RvCSAgICBUb2RvCisgIEhpTGluayB5YW1sQ29tbWVudAkgICAgQ29tbWVudAorICBIaUxpbmsgeWFtbERvY3VtZW50SGVhZGVyIFByZVByb2MKKyAgSGlMaW5rIHlhbWxEb2N1bWVudEVuZCAgICBQcmVQcm9jCisgIEhpTGluayB5YW1sRGlyZWN0aXZlCSAgICBLZXl3b3JkCisgIEhpTGluayB5YW1sTm9kZVByb3BlcnR5ICAgVHlwZQorICBIaUxpbmsgeWFtbEFuY2hvcgkgICAgVHlwZQorICBIaUxpbmsgeWFtbEFsaWFzCSAgICBUeXBlCisgIEhpTGluayB5YW1sRGVsaW1pdGVyCSAgICBEZWxpbWl0ZXIKKyAgSGlMaW5rIHlhbWxCbG9jawkgICAgT3BlcmF0b3IKKyAgSGlMaW5rIHlhbWxPcGVyYXRvcgkgICAgT3BlcmF0b3IKKyAgSGlMaW5rIHlhbWxLZXkJICAgIElkZW50aWZpZXIKKyAgSGlMaW5rIHlhbWxTdHJpbmcJICAgIFN0cmluZworICBIaUxpbmsgeWFtbEVzY2FwZQkgICAgU3BlY2lhbENoYXIKKyAgSGlMaW5rIHlhbWxTaW5nbGVFc2NhcGUgICBTcGVjaWFsQ2hhcgorICBIaUxpbmsgeWFtbE51bWJlcgkgICAgTnVtYmVyCisgIEhpTGluayB5YW1sQ29uc3RhbnQJICAgIENvbnN0YW50CisgIEhpTGluayB5YW1sVGltZXN0YW1wCSAgICBOdW1iZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAieWFtbCIKKworIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvejhhLnZpbSBiL3J1bnRpbWUvc3ludGF4L3o4YS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNhOGEyYgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3o4YS52aW0KQEAgLTAsMCArMSwxMTQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglaODAgYXNzZW1ibGVyIGFzejgwCisiIE1haW50YWluZXI6CU1pbGFuIFBpa3VsYSA8d3d3QGZvcm5heC5lbGYuc3R1YmEuc2s+CisiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxMQorCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcworIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK3N5biBjYXNlIGlnbm9yZQorCisiIENvbW1vbiBaODAgQXNzZW1ibHkgaW5zdHJ1Y3Rpb25zCitzeW4ga2V5d29yZCB6OGFJbnN0cnVjdGlvbiBhZGMgYWRkIGFuZCBiaXQgY2NmIGNwIGNwZCBjcGRyIGNwaSBjcGlyIGNwbAorc3luIGtleXdvcmQgejhhSW5zdHJ1Y3Rpb24gZGFhIGRpIGRqbnogZWkgZXh4IGhhbHQgaW0gaW4KK3N5biBrZXl3b3JkIHo4YUluc3RydWN0aW9uIGluZCBpbmkgaW5kciBpbmlyIGpwIGpyIGxkIGxkZCBsZGRyIGxkaSBsZGlyCitzeW4ga2V5d29yZCB6OGFJbnN0cnVjdGlvbiBuZWcgbm9wIG9yIG90ZHIgb3RpciBvdXQgb3V0ZCBvdXRpCitzeW4ga2V5d29yZCB6OGFJbnN0cnVjdGlvbiByZXMgcmwgcmxhIHJsYyBybGNhIHJsZAorc3luIGtleXdvcmQgejhhSW5zdHJ1Y3Rpb24gcnIgcnJhIHJyYyBycmNhIHJyZCBzYmMgc2NmIHNldCBzbGEgc3JhCitzeW4ga2V5d29yZCB6OGFJbnN0cnVjdGlvbiBzcmwgc3ViIHhvcgorIiBzeW4ga2V5d29yZCB6OGFJbnN0cnVjdGlvbiBwdXNoIHBvcCBjYWxsIHJldCByZXRpIHJldG4gaW5jIGRlYyBleCByc3QKKworIiBBbnkgb3RoZXIgc3R1ZmYKK3N5biBtYXRjaCB6OGFJZGVudGlmaWVyCQkiW2Etel9dW2EtejAtOV9dKiIKKworIiBJbnN0cnVjdGlvbnMgY2hhbmdpbmcgc3RhY2sKK3N5biBrZXl3b3JkIHo4YVNwZWNJbnN0IHB1c2ggcG9wIGNhbGwgcmV0IHJldGkgcmV0biByc3QKK3N5biBtYXRjaCB6OGFJbnN0cnVjdGlvbiAiXDxpbmNcPiIKK3N5biBtYXRjaCB6OGFJbnN0cnVjdGlvbiAiXDxkZWNcPiIKK3N5biBtYXRjaCB6OGFJbnN0cnVjdGlvbiAiXDxleFw+Igorc3luIG1hdGNoIHo4YVNwZWNJbnN0ICJcPGluY1xzXCtzcFw+Im1lPXMrMworc3luIG1hdGNoIHo4YVNwZWNJbnN0ICJcPGRlY1xzXCtzcFw+Im1lPXMrMworc3luIG1hdGNoIHo4YVNwZWNJbnN0ICJcPGV4XHNcKyhccypzcFxzKilccyosXHMqaGxcPiJtZT1zKzIKKworIkxhYmVscworc3luIG1hdGNoIHo4YUxhYmVsCQkiW2Etel9dW2EtejAtOV9dKjoiCitzeW4gbWF0Y2ggejhhU3BlY2lhbExhYmVsCSJbYS16X11bYS16MC05X10qOjoiCisKKyIgUHJlUHJvY2Vzc29yIGNvbW1hbmRzCitzeW4gbWF0Y2ggejhhUHJlUHJvYwkiXC5vcmciCitzeW4gbWF0Y2ggejhhUHJlUHJvYwkiXC5nbG9ibCIKK3N5biBtYXRjaCB6OGFQcmVQcm9jCSJcLmRiIgorc3luIG1hdGNoIHo4YVByZVByb2MJIlwuZHciCitzeW4gbWF0Y2ggejhhUHJlUHJvYwkiXC5kcyIKK3N5biBtYXRjaCB6OGFQcmVQcm9jCSJcLmJ5dGUiCitzeW4gbWF0Y2ggejhhUHJlUHJvYwkiXC53b3JkIgorc3luIG1hdGNoIHo4YVByZVByb2MJIlwuYmxrYiIKK3N5biBtYXRjaCB6OGFQcmVQcm9jCSJcLmJsa3ciCitzeW4gbWF0Y2ggejhhUHJlUHJvYwkiXC5hc2NpaSIKK3N5biBtYXRjaCB6OGFQcmVQcm9jCSJcLmFzY2l6Igorc3luIG1hdGNoIHo4YVByZVByb2MJIlwubW9kdWxlIgorc3luIG1hdGNoIHo4YVByZVByb2MJIlwudGl0bGUiCitzeW4gbWF0Y2ggejhhUHJlUHJvYwkiXC5zYnR0bCIKK3N5biBtYXRjaCB6OGFQcmVQcm9jCSJcLmV2ZW4iCitzeW4gbWF0Y2ggejhhUHJlUHJvYwkiXC5vZGQiCitzeW4gbWF0Y2ggejhhUHJlUHJvYwkiXC5hcmVhIgorc3luIG1hdGNoIHo4YVByZVByb2MJIlwucGFnZSIKK3N5biBtYXRjaCB6OGFQcmVQcm9jCSJcLnNldGRwIgorc3luIG1hdGNoIHo4YVByZVByb2MJIlwucmFkaXgiCitzeW4gbWF0Y2ggejhhSW5jbHVkZQkiXC5pbmNsdWRlIgorc3luIG1hdGNoIHo4YVByZUNvbmRpdAkiXC5pZiIKK3N5biBtYXRjaCB6OGFQcmVDb25kaXQJIlwuZWxzZSIKK3N5biBtYXRjaCB6OGFQcmVDb25kaXQJIlwuZW5kaWYiCisKKyIgQ29tbW9uIHN0cmluZ3MKK3N5biBtYXRjaCB6OGFTdHJpbmcJCSJcIi4qXCIiCitzeW4gbWF0Y2ggejhhU3RyaW5nCQkiXCcuKlwnIgorCisiIE51bWJlcnMKK3N5biBtYXRjaCB6OGFOdW1iZXIJCSJbMC05XVwrIgorc3luIG1hdGNoIHo4YU51bWJlcgkJIjBbeFhoSF1bMC05YS1mQS1GXVwrIgorc3luIG1hdGNoIHo4YU51bWJlcgkJIjBbYkJdWzAtMV0qIgorc3luIG1hdGNoIHo4YU51bWJlcgkJIjBbb09cQHFRXVswLTddXCsiCitzeW4gbWF0Y2ggejhhTnVtYmVyCQkiMFtkRF1bMC05XVwrIgorCisiIENoYXJhY3RlciBjb25zdGFudAorc3luIG1hdGNoIHo4YVN0cmluZwkJIlwjXCcuImhzPXMrMQorCisiIENvbW1lbnRzCitzeW4gbWF0Y2ggejhhQ29tbWVudAkJIjsuKiIKKworc3luIGNhc2UgbWF0Y2gKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfejhhX3N5bnRheF9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3o4YV9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayB6OGFTZWN0aW9uCQlTcGVjaWFsCisgIEhpTGluayB6OGFMYWJlbAkJTGFiZWwKKyAgSGlMaW5rIHo4YVNwZWNpYWxMYWJlbAlMYWJlbAorICBIaUxpbmsgejhhQ29tbWVudAkJQ29tbWVudAorICBIaUxpbmsgejhhSW5zdHJ1Y3Rpb24JU3RhdGVtZW50CisgIEhpTGluayB6OGFTcGVjSW5zdAkJU3RhdGVtZW50CisgIEhpTGluayB6OGFJbmNsdWRlCQlJbmNsdWRlCisgIEhpTGluayB6OGFQcmVDb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgejhhUHJlUHJvYwkJUHJlUHJvYworICBIaUxpbmsgejhhTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHo4YVN0cmluZwkJU3RyaW5nCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gIno4YSIKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC96c2gudmltIGIvcnVudGltZS9zeW50YXgvenNoLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Mzc2M2E2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvenNoLnZpbQpAQCAtMCwwICsxLDExOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CVogc2hlbGwgKHpzaCkKKyIgTWFpbnRhaW5lcjoJRmVsaXggdm9uIExlaXRuZXIgPGxlaXRuZXJAbWF0aC5mdS1iZXJsaW4uZGU+CisiIEhlYXZpbHkgYmFzZWQgb24gc2gudmltIGJ5IExlbm5hcnQgU2NodWx0egorIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnRzdGFudHMKKyIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2ggaGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKK3N5biBtYXRjaCAgIHpzaFNwZWNpYWwJIlxcXGRcZFxkXHxcXFthYmNmbnJ0dlxcJ10iCitzeW4gcmVnaW9uCXpzaFNpbmdsZXF1b3RlCXN0YXJ0PSsnKyBza2lwPStcXCcrIGVuZD0rJysKKyIgQSBidW5jaCBvZiB1c2VmdWwgenNoIGtleXdvcmRzCisiIHN5biBrZXl3b3JkCXpzaEZ1bmN0aW9uCWZ1bmN0aW9uCitzeW4ga2V5d29yZAl6c2hTdGF0ZW1lbnQJYmcgYnJlYWsgY2QgY2hkaXIgY29udGludWUgZWNobyBldmFsIGV4ZWMKK3N5biBrZXl3b3JkCXpzaFN0YXRlbWVudAlleGl0IGV4cG9ydCBmZyBnZXRvcHRzIGhhc2ggam9icyBraWxsCitzeW4ga2V5d29yZAl6c2hTdGF0ZW1lbnQJcHdkIHJlYWQgcmVhZG9ubHkgcmV0dXJuIHNldCB6c2hpZnQgZnVuY3Rpb24KK3N5biBrZXl3b3JkCXpzaFN0YXRlbWVudAlzdG9wIHN1c3BlbmQgdGVzdCB0aW1lcyB0cmFwIHR5cGUgdWxpbWl0CitzeW4ga2V5d29yZAl6c2hTdGF0ZW1lbnQJdW1hc2sgdW5zZXQgd2FpdCBzZXRvcHQgY29tcGN0bCBzb3VyY2UKK3N5biBrZXl3b3JkCXpzaFN0YXRlbWVudAl3aGVuY2UgZGlzb3duIHNoaWZ0IHdoaWNoIHVuaGFzaCB1bmFsaWFzCitzeW4ga2V5d29yZAl6c2hTdGF0ZW1lbnQJYWxpYXMgZnVuY3Rpb25zIHVuZnVuY3Rpb24gZ2V0bG4gZGlzYWJsZQorc3luIGtleXdvcmQJenNoU3RhdGVtZW50CXZhcmVkIGdldG9wdCBlbmFibGUgdW5zZXRvcHQgYXV0b2xvYWQKK3N5biBrZXl3b3JkCXpzaFN0YXRlbWVudAliaW5ka2V5IHB1c2hsbiBjb21tYW5kIGxpbWl0IHVubGltaXQgZmMKK3N5biBrZXl3b3JkCXpzaFN0YXRlbWVudAlwcmludCBidWlsdGluIG5vZ2xvYiBzY2hlZCByIHRpbWUKK3N5biBrZXl3b3JkCXpzaFN0YXRlbWVudAl0eXBlc2V0IGRlY2xhcmUgbG9jYWwgaW50ZWdlcgorCitzeW4ga2V5d29yZAl6c2hDb25kaXRpb25hbAlpZiBlbHNlIGVzYWMgY2FzZSB0aGVuIGVsaWYgZmkgaW4KK3N5biBrZXl3b3JkCXpzaFJlcGVhdAl3aGlsZSBmb3IgZG8gZG9uZQorCisiIEZvbGxvd2luZyBpcyB3b3J0aCB0byBub3RpY2U6IGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBmaWxlIHJlZGlyZWN0aW9uIGFuZCBmdW5jdGlvbnMgKHNvIHRoZXNlIGZlYXR1cmVzIHR1cm5zIHJlZCkKK3N5biBtYXRjaAl6c2hGdW5jdGlvbk5hbWUJIlxoXHcqXHMqKCkiCitzeW4gcmVnaW9uCXpzaENvbW1hbmRTdWIJc3RhcnQ9K2ArIHNraXA9K1xcYCsgZW5kPStgKworIiBjb250YWlucz1BTExCVVQsenNoRnVuY3Rpb24KK3N5biBtYXRjaAl6c2hSZWRpcgkiXGRcPVwoPFx8PDxcfD5cfD4+XClcKHxcfCZcZFwpXD0iCisKK3N5biBrZXl3b3JkCXpzaFRvZG8gY29udGFpbmVkIFRPRE8KKworc3luIGtleXdvcmQJenNoU2hlbGxWYXJpYWJsZXMJVVNFUiBMT0dOQU1FIEhPTUUgUEFUSCBDRFBBVEggU0hFTEwKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCUxDX1RZUEUgTENfTUVTU0FHRSBNQUlMIE1BSUxDSEVDSworc3luIGtleXdvcmQJenNoU2hlbGxWYXJpYWJsZXMJUFMxIFBTMiBJRlMgRUdJRCBFVUlEIEVSUk5PIEdJRCBVSUQKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCUhPU1QgTElORU5PIE1BQ0hUWVBFIE9MRFBXRCBPUFRBUkcKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCU9QVElORCBPU1RZUEUgUFBJRCBQV0QgUkFORE9NIFNFQ09ORFMKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCVNITFZMIFRUWSBzaWduYWxzIFRUWUlETEUgVVNFUk5BTUUKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCVZFTkRPUiBaU0hfTkFNRSBaU0hfVkVSU0lPTiBBUkdWMAorc3luIGtleXdvcmQJenNoU2hlbGxWYXJpYWJsZXMJQkFVRCBDT0xVTU5TIGNkcGF0aCBESVJTVEFDS1NJWkUKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCUZDRURJVCBmaWdub3JlIGZwYXRoIGhpc3RjaGFycyBISVNUQ0hBUlMKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCUhJU1RGSUxFIEhJU1RTSVpFIEtFWVRJTUVPVVQgTEFORworc3luIGtleXdvcmQJenNoU2hlbGxWYXJpYWJsZXMJTENfQUxMIExDX0NPTExBVEUgTENfQ1RZUEUgTENfTUVTU0FHRVMKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCUxDX1RJTUUgTElORVMgTElTVE1BWCBMT0dDSEVDSyBtYWlscGF0aAorc3luIGtleXdvcmQJenNoU2hlbGxWYXJpYWJsZXMJTUFJTFBBVEggTUFOUEFUSCBtYW5wYXRoIG1vZHVsZV9wYXRoCitzeW4ga2V5d29yZAl6c2hTaGVsbFZhcmlhYmxlcwlNT0RVTEVfUEFUSCBOVUxMQ01EIHBhdGggUE9TVEVESVQKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCVBTMyBQUzQgUFJPTVBUIFBST01QVDIgUFJPTVBUMyBQUk9NUFQ0CitzeW4ga2V5d29yZAl6c2hTaGVsbFZhcmlhYmxlcwlwc3ZhciBQU1ZBUiBwcm9tcHQgUkVBRE5VTExDTUQKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCVJFUE9SVFRJTUUgUlBST01QVCBSUFMxIFNBVkVISVNUCitzeW4ga2V5d29yZAl6c2hTaGVsbFZhcmlhYmxlcwlTUFJPTVBUIFNUVFkgVElNRUZNVCBUTU9VVCBUTVBQUkVGSVgKK3N5biBrZXl3b3JkCXpzaFNoZWxsVmFyaWFibGVzCXdhdGNoIFdBVENIIFdBVENIRk1UIFdPUkRDSEFSUyBaRE9URElSCitzeW4gbWF0Y2gJenNoU3BlY2lhbFNoZWxsVmFyCSJcJFstI0AqJD8hMC05XSIKK3N5biBrZXl3b3JkCXpzaFNldFZhcmlhYmxlcwkJaWdub3JlZW9mIG5vY2xvYmJlcgorc3luIHJlZ2lvbgl6c2hEZXJlZk9wcglzdGFydD0iXCR7IiBlbmQ9In0iIGNvbnRhaW5zPXpzaFNoZWxsVmFyaWFibGVzCitzeW4gbWF0Y2gJenNoRGVyZWZJZGVudGlmaWVyCSJcJFthLXpBLVpfXVthLXpBLVowLTlfXSpcPiIKK3N5biBtYXRjaAl6c2hPcGVyYXRvcgkJIltdW317Jjt8KShdIgorCisKKworc3luIG1hdGNoICB6c2hOdW1iZXIJCSItXD1cPFxkXCtcPiIKK3N5biBtYXRjaCAgenNoQ29tbWVudAkiIy4qJCIgY29udGFpbnM9enNoTnVtYmVyLHpzaFRvZG8KKworCitzeW4gbWF0Y2ggenNoVGVzdE9wcgkiLVw8W29lYXpubGddW3RmcWV0XVw9XD5cfCFcPT1cfC1cPFtiLWdrTHByc1N0dXdqeE9HXVw+IgorInN5biByZWdpb24genNoVGVzdAkgICAgICBzdGFydD0iXFsiIHNraXA9IlxcJCIgZW5kPSJcXSIgY29udGFpbnM9enNoU3RyaW5nLHpzaFRlc3RPcHIsenNoRGVyZWZJZGVudGlmaWVyLHpzaERlcmVmT3ByCitzeW4gcmVnaW9uICB6c2hTdHJpbmcJc3RhcnQ9KyIrICBza2lwPStcXCIrICBlbmQ9KyIrICBjb250YWlucz16c2hTcGVjaWFsLHpzaE9wZXJhdG9yLHpzaERlcmVmSWRlbnRpZmllcix6c2hEZXJlZk9wcix6c2hTcGVjaWFsU2hlbGxWYXIsenNoU2luZ2xlcXVvdGUsenNoQ29tbWFuZFN1YgorCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF96c2hfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfenNoX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHpzaFNpbmdsZXF1b3RlCQl6c2hTdHJpbmcKKyAgSGlMaW5rIHpzaENvbmRpdGlvbmFsCQl6c2hTdGF0ZW1lbnQKKyAgSGlMaW5rIHpzaFJlcGVhdAkJenNoU3RhdGVtZW50CisgIEhpTGluayB6c2hGdW5jdGlvbk5hbWUJenNoRnVuY3Rpb24KKyAgSGlMaW5rIHpzaENvbW1hbmRTdWIJCXpzaE9wZXJhdG9yCisgIEhpTGluayB6c2hSZWRpcgkJenNoT3BlcmF0b3IKKyAgSGlMaW5rIHpzaFNldFZhcmlhYmxlcwl6c2hTaGVsbFZhcmlhYmxlcworICBIaUxpbmsgenNoU3BlY2lhbFNoZWxsVmFyCXpzaFNoZWxsVmFyaWFibGVzCisgIEhpTGluayB6c2hUZXN0T3ByCQl6c2hPcGVyYXRvcgorICBIaUxpbmsgenNoRGVyZWZPcHIJCXpzaFNwZWNpYWwKKyAgSGlMaW5rIHpzaERlcmVmSWRlbnRpZmllcgl6c2hTaGVsbFZhcmlhYmxlcworICBIaUxpbmsgenNoT3BlcmF0b3IJCU9wZXJhdG9yCisgIEhpTGluayB6c2hTdGF0ZW1lbnQJCVN0YXRlbWVudAorICBIaUxpbmsgenNoTnVtYmVyCQlOdW1iZXIKKyAgSGlMaW5rIHpzaFN0cmluZwkJU3RyaW5nCisgIEhpTGluayB6c2hDb21tZW50CQlDb21tZW50CisgIEhpTGluayB6c2hTcGVjaWFsCQlTcGVjaWFsCisgIEhpTGluayB6c2hUb2RvCQlUb2RvCisgIEhpTGluayB6c2hTaGVsbFZhcmlhYmxlcwlTcGVjaWFsCisiICBoaSB6c2hPcGVyYXRvcgkJdGVybT11bmRlcmxpbmUgY3Rlcm1mZz02IGd1aWZnPVB1cnBsZSBndWk9Ym9sZAorIiAgaGkgenNoU2hlbGxWYXJpYWJsZXMJdGVybT11bmRlcmxpbmUgY3Rlcm1mZz0yIGd1aWZnPVNlYUdyZWVuIGd1aT1ib2xkCisiICBoaSB6c2hGdW5jdGlvbgkJdGVybT1ib2xkIGN0ZXJtYmc9MSBndWlmZz1SZWQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAienNoIgorCisiIHZpbTogdHM9OAo=