Re: [PATCH] Drop some reference specific code from typeset
Philippe Altherr <[email protected]> Tue, 28 Jul 2026 02:37:09 +0200
| Newsgroups | gmane.comp.shells.zsh.devel |
|---|---|
| Message-ID | <CAGdYchuOUBY0hK5tiAycOkattm-qbEk6GfYkBK1Avem-aWeHrQ@mail.gmail.com> |
--000000000000b4cd450657a10a84 Content-Type: multipart/alternative; boundary="000000000000b4cd440657a10a82" --000000000000b4cd440657a10a82 Content-Type: text/plain; charset="UTF-8" Synced and updated patch: - Drop some reference specific code from typeset <https://github.com/zsh-users/zsh/compare/master...paltherr:zsh:less-reference-specific-typeset-code> Philippe --000000000000b4cd440657a10a82 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Synced and updated patch:</div><div dir=3D"ltr"><br><= div>-=C2=A0<a href=3D"https://github.com/zsh-users/zsh/compare/master...pal= therr:zsh:less-reference-specific-typeset-code" target=3D"_blank">Drop some= reference specific code from typeset</a></div><div><br></div><div>Philippe= </div><div><br></div></div></div> --000000000000b4cd440657a10a82-- --000000000000b4cd450657a10a84 Content-Type: text/plain; charset="US-ASCII"; name="less-reference-specific-typeset-code.txt" Content-Disposition: attachment; filename="less-reference-specific-typeset-code.txt" Content-Transfer-Encoding: base64 Content-ID: <f_ms3xemvw0> X-Attachment-Id: f_ms3xemvw0 ZGlmZiAtLWdpdCBhL1NyYy9idWlsdGluLmMgYi9TcmMvYnVpbHRpbi5jCmluZGV4IGUzNWQ3ZmUy Yy4uMTRhZTkzNjRjIDEwMDY0NAotLS0gYS9TcmMvYnVpbHRpbi5jCisrKyBiL1NyYy9idWlsdGlu LmMKQEAgLTIxMDQsMjIgKzIxMDQsMjIgQEAgdHlwZXNldF9zaW5nbGUoY2hhciAqY25hbWUsIGNo YXIgKnBuYW1lLCBQYXJhbSBwbSwgaW50IGZ1bmMsCiAJfQogCXRjID0gMTsKIAlpZiAoT1BUX01J TlVTKG9wcywncCcpKQotCSAgICB1c2VwbSA9IChvbiAmIHBtLT5ub2RlLmZsYWdzKTsKKwkgICAg dXNlcG0gPSAhIShvbiAmIHBtLT5ub2RlLmZsYWdzKTsKIAllbHNlIGlmIChPUFRfUExVUyhvcHMs J3AnKSkKLQkgICAgdXNlcG0gPSAob2ZmICYgcG0tPm5vZGUuZmxhZ3MpOworCSAgICB1c2VwbSA9 ICEhKG9mZiAmIHBtLT5ub2RlLmZsYWdzKTsKIAllbHNlCiAJICAgIHVzZXBtID0gMDsKICAgICB9 CiAgICAgZWxzZSBpZiAodXNlcG0gfHwgbmV3c3BlY2lhbCAhPSBOU19OT05FKSB7CiAJaW50IGNo ZmxhZ3MgPSAoKG9mZiAmIHBtLT5ub2RlLmZsYWdzKSB8IChvbiAmIH5wbS0+bm9kZS5mbGFncykp ICYKIAkgICAgKFBNX0lOVEVHRVJ8UE1fRUZMT0FUfFBNX0ZGTE9BVHxQTV9IQVNIRUR8Ci0JICAg ICBQTV9BUlJBWXxQTV9USUVEfFBNX0FVVE9MT0FEKTsKKwkgICAgIFBNX0FSUkFZfFBNX05BTUVS RUZ8UE1fVElFRHxQTV9BVVRPTE9BRCk7CiAJLyoga2VlcCB0aGUgcGFyYW1ldGVyIGlmIGp1c3Qg c3dpdGNoaW5nIGJldHdlZW4gZmxvYXRpbmcgdHlwZXMgKi8KIAlpZiAoKHRjID0gY2hmbGFncyAm JiBjaGZsYWdzICE9IChQTV9FRkxPQVR8UE1fRkZMT0FUKSkpIHsKIAkgICAgaWYgKE9QVF9NSU5V UyhvcHMsJ3AnKSkKLQkJdXNlcG0gPSAob24gJiBwbS0+bm9kZS5mbGFncyk7CisJCXVzZXBtID0g ISEob24gJiBwbS0+bm9kZS5mbGFncyk7CiAJICAgIGVsc2UgaWYgKE9QVF9QTFVTKG9wcywncCcp KQotCQl1c2VwbSA9IChvZmYgJiBwbS0+bm9kZS5mbGFncyk7CisJCXVzZXBtID0gISEob2ZmICYg cG0tPm5vZGUuZmxhZ3MpOwogCSAgICBlbHNlCiAJCXVzZXBtID0gMDsKIAl9CkBAIC0yMjMxLDYg KzIyMzEsNyBAQCB0eXBlc2V0X3NpbmdsZShjaGFyICpjbmFtZSwgY2hhciAqcG5hbWUsIFBhcmFt IHBtLCBpbnQgZnVuYywKICAgICAgKiAgIGlpLiB3ZSBhcmUgY3JlYXRpbmcgYSBuZXcgbG9jYWwg cGFyYW1ldGVyCiAgICAgICovCiAgICAgaWYgKHVzZXBtKSB7CisJaW50IGZsYWdzID0gKG9uICYg UE1fTkFNRVJFRikgPyBBU1NQTV9OT05BTUVSRUYgOiAwOwogCWlmIChPUFRfTUlOVVMob3BzLCdw JykgJiYgb24gJiYKIAkgICAgISgob24gJiBwbS0+bm9kZS5mbGFncykgfHwgKChvbiAmIFBNX0xP Q0FMKSAmJiBwbS0+bGV2ZWwpKSkKIAkgICAgcmV0dXJuIE5VTEw7CkBAIC0yMzI0LDEwICsyMzI1 LDEwIEBAIHR5cGVzZXRfc2luZ2xlKGNoYXIgKmNuYW1lLCBjaGFyICpwbmFtZSwgUGFyYW0gcG0s IGludCBmdW5jLAogCQkgICAgRFBVVFMoIXRkcCwgIkJVRzogbm8gam9pbiBjaGFyYWN0ZXIgdG8g dXBkYXRlIik7CiAJICAgIH0KIAkgICAgaWYgKGFzZy0+dmFsdWUuc2NhbGFyICYmCi0JCSEocG0g PSBhc3NpZ25zcGFyYW0ocG5hbWUsIHp0cmR1cChhc2ctPnZhbHVlLnNjYWxhciksIDApKSkKKwkJ IShwbSA9IGFzc2lnbnNwYXJhbShwbmFtZSwgenRyZHVwKGFzZy0+dmFsdWUuc2NhbGFyKSwgZmxh Z3MpKSkKIAkJcmV0dXJuIE5VTEw7CiAJfSBlbHNlIGlmIChhc2ctPmZsYWdzICYgQVNHX0FSUkFZ KSB7Ci0JICAgIGludCBmbGFncyA9IChhc2ctPmZsYWdzICYgQVNHX0tFWV9WQUxVRSkgPyBBU1NQ TV9LRVlfVkFMVUUgOiAwOworCSAgICBmbGFncyB8PSAoYXNnLT5mbGFncyAmIEFTR19LRVlfVkFM VUUpID8gQVNTUE1fS0VZX1ZBTFVFIDogMDsKIAkgICAgaWYgKCEocG0gPSBhc3NpZ25hcGFyYW0o cG5hbWUsIGFzZy0+dmFsdWUuYXJyYXkgPwogCQkJCSB6bGlua2xpc3QyYXJyYXkoYXNnLT52YWx1 ZS5hcnJheSwgMSkgOgogCQkJCSBta2FycmF5KE5VTEwpLCBmbGFncykpKQpAQCAtMjM1OCw2ICsy MzU5LDkgQEAgdHlwZXNldF9zaW5nbGUoY2hhciAqY25hbWUsIGNoYXIgKnBuYW1lLCBQYXJhbSBw bSwgaW50IGZ1bmMsCiAJb24gfD0gfm9mZiAmIChQTV9SRUFET05MWXxQTV9FWFBPUlRFRCkgJiBw bS0+bm9kZS5mbGFnczsKIAkvKiAuLi5idXQgdHVybiBvZmYgZXhpc3RpbmcgcmVhZG9ubHkgc28g d2UgY2FuIGRlbGV0ZSBpdCAqLwogCXBtLT5ub2RlLmZsYWdzICY9IH5QTV9SRUFET05MWTsKKwkv KiBIYWNrIHRvIGZvcmNlIGdldHNwYXJhbSBiZWxvdyB0byB1c2UgdGhlIHJlZmVyZW5jZSdzIG93 biB2YWx1ZSAqLworCWlmIChvZmYgJiBQTV9OQU1FUkVGKQorCSAgICBwbS0+bm9kZS5mbGFncyAm PSB+UE1fTkFNRVJFRjsKIAkvKgogCSAqIElmIHdlJ3JlIGp1c3QgY2hhbmdpbmcgdGhlIHR5cGUs IHdlIHNob3VsZCBrZWVwIHRoZQogCSAqIHZhcmlhYmxlIGF0IHRoZSBjdXJyZW50IGxldmVsIG9m IGxvY2FsbmVzcy4KQEAgLTIzNzEsNiArMjM3NSwxMiBAQCB0eXBlc2V0X3NpbmdsZShjaGFyICpj bmFtZSwgY2hhciAqcG5hbWUsIFBhcmFtIHBtLCBpbnQgZnVuYywKIAkgKiBpbXBsaWNhdGlvbnMu KQogCSAqLwogCWlmICghQVNHX1ZBTFVFUChhc2cpICYmICEoKHBtLT5ub2RlLmZsYWdzfG9uKSAm IChQTV9BUlJBWXxQTV9IQVNIRUQpKSkgeworCSAgICAvKgorCSAgICAgKiBSZWx5aW5nIG9uIHBu YW1lIGlzIGZ1bmRhbWVudGFsbHkgd3JvbmcuIElmIHRoZSBvcmlnaW5hbCBwbSB3YXMKKwkgICAg ICogYSByZWZlcmVuY2UsIHRoZSByZXNvbHZlZCBwbmFtZSBtYXkgcmVmZXIgdG8gYSBoaWRkZW4g cGFyYW1ldGVyLgorCSAgICAgKiBJbiB0aGF0IGNhc2UsIGdldHNwYXJhbSB3cm9uZ2x5IHJldHVy bnMgdGhlIHZhbHVlIG9mIHRoZSBoaWRpbmcKKwkgICAgICogcGFyYW1ldGVyLgorCSAgICAgKi8K IAkgICAgYXNnLT52YWx1ZS5zY2FsYXIgPSBkdXBzdHJpbmcoZ2V0c3BhcmFtKHBuYW1lKSk7CiAJ ICAgIGFzZy0+ZmxhZ3MgPSAwOwogCX0KQEAgLTMxMTUsNDIgKzMxMjUsNiBAQCBiaW5fdHlwZXNl dChjaGFyICpuYW1lLCBjaGFyICoqYXJndiwgTGlua0xpc3QgYXNzaWducywgT3B0aW9ucyBvcHMs IGludCBmdW5jKQogCSAgICBjb250aW51ZTsKIAl9CiAKLQlpZiAob24gJiBQTV9OQU1FUkVGKSB7 Ci0JICAgIGlmIChhc2ctPnZhbHVlLnNjYWxhciAmJgotCQkoKHBtID0gKFBhcmFtKXBhcmFtdGFi LT5nZXRub2RlKHBhcmFtdGFiLCBhc2ctPnZhbHVlLnNjYWxhcikpICYmCi0JCSAocG0tPm5vZGUu ZmxhZ3MgJiBQTV9OQU1FUkVGKSkpIHsKLQkJaWYgKHBtLT5ub2RlLmZsYWdzICYgUE1fU1BFQ0lB TCkgewotCQkgICAgendhcm5uYW0obmFtZSwgIiVzOiBpbnZhbGlkIHJlZmVyZW5jZSIsIHBtLT5u b2RlLm5hbSk7Ci0JCSAgICByZXR1cm52YWwgPSAxOwotCQkgICAgY29udGludWU7Ci0JCX0KLQkg ICAgfQotCSAgICBpZiAoaG4pIHsKLQkJLyogbmFtZXJlZnMgYWx3YXlzIHN0YXJ0IG92ZXIgZnJl c2ggKi8KLQkJaWYgKCgoUGFyYW0paG4pLT5sZXZlbCA+PSBsb2NhbGxldmVsIHx8Ci0JCSAgICAo IShvbiAmIFBNX0xPQ0FMKSAmJiAoKFBhcmFtKWhuKS0+bGV2ZWwgPCBsb2NhbGxldmVsKSkgewot CQkgICAgUGFyYW0gb2xkcG0gPSAoUGFyYW0paG47Ci0JCSAgICBpZiAoIWFzZy0+dmFsdWUuc2Nh bGFyICYmCi0JCQlQTV9UWVBFKG9sZHBtLT5ub2RlLmZsYWdzKSA9PSBQTV9TQ0FMQVIgJiYKLQkJ CW9sZHBtLT51LnN0cikKLQkJCWFzZy0+dmFsdWUuc2NhbGFyID0gZHVwc3RyaW5nKG9sZHBtLT51 LnN0cik7Ci0JCSAgICAvKiBEZWZlciByZWFkLW9ubHkgZXJyb3IgdG8gdHlwZXNldF9zaW5nbGUo KSAqLwotCQkgICAgaWYgKCEoaG4tPmZsYWdzICYgUE1fUkVBRE9OTFkpKSB7Ci0JCQl1bnNldHBh cmFtX3BtKG9sZHBtLCAwLCAxKTsKLQkJCWhuID0gTlVMTDsKLQkJICAgIH0KLQkJfQotCQkvKiBQ YXNzaW5nIGEgTlVMTCBwbSB0byB0eXBlc2V0X3NpbmdsZSgpIG1ha2VzIHRoZQotCQkgKiBuYW1l cmVmIHJlYWQtb25seSBiZWZvcmUgYXNzaWdubWVudCwgd2hpY2ggYnJlYWtzCi0JCSAqICAgdHlw ZXNldCAtcm4gcmVmPXZhcgotCQkgKiBzbyB0aGlzIGlzIHNwZWNpYWwtY2FzZWQgdG8gcGVybWl0 IHRoYXQgYWN0aW9uCi0JCSAqIGxpa2UgYXNzaWduLWF0LWNyZWF0ZSBmb3Igb3RoZXIgcGFyYW1l dGVyIHR5cGVzLgotCQkgKi8KLQkJaWYgKGhuICYmICEoaG4tPmZsYWdzICYgUE1fUkVBRE9OTFkp KQotCQkgICAgaG4gPSBOVUxMOwotCSAgICB9Ci0JfQotCiAJaWYgKCF0eXBlc2V0X3NpbmdsZShu YW1lLCBhc2ctPm5hbWUsIChQYXJhbSlobiwKIAkJCSAgICBmdW5jLCBvbiwgb2ZmLCByb2ZmLCBh c2csIE5VTEwsCiAJCQkgICAgb3BzLCAwKSkKZGlmZiAtLWdpdCBhL1NyYy9wYXJhbXMuYyBiL1Ny Yy9wYXJhbXMuYwppbmRleCA3MTZkZDY2YzMuLjFhNDYzOGI2OSAxMDA2NDQKLS0tIGEvU3JjL3Bh cmFtcy5jCisrKyBiL1NyYy9wYXJhbXMuYwpAQCAtMzE0Myw2ICszMTQzLDcgQEAgYXNzaWduc3Bh cmFtKGNoYXIgKnMsIGNoYXIgKnZhbCwgaW50IGZsYWdzKQogICAgIHNpemVfdCBsdmFyOwogICAg IG1udW1iZXIgbGhzLCByaHM7CiAgICAgaW50IHNzdGFydCwgY3JlYXRlZCA9IDA7CisgICAgaW50 IHNjYW5mbGFncyA9IGZsYWdzICYgQVNTUE1fTk9OQU1FUkVGID8gU0NBTlBNX05PTkFNRVJFRiA6 IDA7CiAKICAgICBpZiAoIWlzaWRlbnQocykpIHsKIAl6ZXJyKCJub3QgYW4gaWRlbnRpZmllcjog JXMiLCBzKTsKQEAgLTMxNTMsNyArMzE1NCw3IEBAIGFzc2lnbnNwYXJhbShjaGFyICpzLCBjaGFy ICp2YWwsIGludCBmbGFncykKICAgICBxdWV1ZV9zaWduYWxzKCk7CiAgICAgaWYgKChzcyA9IHN0 cmNocihzLCAnWycpKSkgewogCSpzcyA9ICdcMCc7Ci0JaWYgKCEodiA9IGdldHZhbHVlKCZ2YnVm LCAmcywgMSkpKSB7CisJaWYgKCEodiA9IGZldGNodmFsdWUoJnZidWYsICZzLCAxLCBzY2FuZmxh Z3MpKSkgewogCSAgICBjcmVhdGVwYXJhbSh0LCBQTV9BUlJBWSk7CiAJICAgIGNyZWF0ZWQgPSAx OwogCX0gZWxzZSB7CkBAIC0zMTc0LDcgKzMxNzUsNyBAQCBhc3NpZ25zcGFyYW0oY2hhciAqcywg Y2hhciAqdmFsLCBpbnQgZmxhZ3MpCiAJKnNzID0gJ1snOwogCXYgPSBOVUxMOwogICAgIH0gZWxz ZSB7Ci0JaWYgKCEodiA9IGdldHZhbHVlKCZ2YnVmLCAmcywgMSkpKSB7CisJaWYgKCEodiA9IGZl dGNodmFsdWUoJnZidWYsICZzLCAxLCBzY2FuZmxhZ3MpKSkgewogCSAgICBjcmVhdGVwYXJhbSh0 LCBQTV9TQ0FMQVIpOwogCSAgICBjcmVhdGVkID0gMTsKIAl9IGVsc2UgaWYgKCgoKHYtPnBtLT5u b2RlLmZsYWdzICYgUE1fQVJSQVkpICYmCkBAIC0zMTkyLDcgKzMxOTMsNyBAQCBhc3NpZ25zcGFy YW0oY2hhciAqcywgY2hhciAqdmFsLCBpbnQgZmxhZ3MpCiAJICAgIHYgPSBOVUxMOwogCX0KICAg ICB9Ci0gICAgaWYgKCF2ICYmICEodiA9IGdldHZhbHVlKCZ2YnVmLCAmdCwgMSkpKSB7CisgICAg aWYgKCF2ICYmICEodiA9IGZldGNodmFsdWUoJnZidWYsICZ0LCAxLCBzY2FuZmxhZ3MpKSkgewog CXpzZnJlZSh2YWwpOwogCXVucXVldWVfc2lnbmFscygpOwogCS8qIGVycmZsYWcgfD0gRVJSRkxB R19FUlJPUjsgKi8KQEAgLTMzMDUsNiArMzMwNiw3IEBAIGFzc2lnbmFwYXJhbShjaGFyICpzLCBj aGFyICoqdmFsLCBpbnQgZmxhZ3MpCiAgICAgY2hhciAqc3M7CiAgICAgaW50IGNyZWF0ZWQgPSAw OwogICAgIGludCBtYXlfd2Fybl9hYm91dF9uZXN0ZWRfdmFycyA9IDE7CisgICAgaW50IHNjYW5m bGFncyA9IGZsYWdzICYgQVNTUE1fTk9OQU1FUkVGID8gU0NBTlBNX05PTkFNRVJFRiA6IDA7CiAK ICAgICBpZiAoIWlzaWRlbnQocykpIHsKIAl6ZXJyKCJub3QgYW4gaWRlbnRpZmllcjogJXMiLCBz KTsKQEAgLTMzMTUsNyArMzMxNyw3IEBAIGFzc2lnbmFwYXJhbShjaGFyICpzLCBjaGFyICoqdmFs LCBpbnQgZmxhZ3MpCiAgICAgcXVldWVfc2lnbmFscygpOwogICAgIGlmICgoc3MgPSBzdHJjaHIo cywgJ1snKSkpIHsKIAkqc3MgPSAnXDAnOwotCWlmICghKHYgPSBnZXR2YWx1ZSgmdmJ1ZiwgJnMs IDEpKSkgeworCWlmICghKHYgPSBmZXRjaHZhbHVlKCZ2YnVmLCAmcywgMSwgc2NhbmZsYWdzKSkp IHsKIAkgICAgY3JlYXRlcGFyYW0odCwgUE1fQVJSQVkpOwogCSAgICBjcmVhdGVkID0gMTsKIAl9 IGVsc2UgewpAQCAtMzMzMiw3ICszMzM0LDcgQEAgYXNzaWduYXBhcmFtKGNoYXIgKnMsIGNoYXIg Kip2YWwsIGludCBmbGFncykKIAl9CiAJdiA9IE5VTEw7CiAgICAgfSBlbHNlIHsKLQlpZiAoISh2 ID0gZmV0Y2h2YWx1ZSgmdmJ1ZiwgJnMsIDEsIFNDQU5QTV9BU1NJR05JTkcpKSkgeworCWlmICgh KHYgPSBmZXRjaHZhbHVlKCZ2YnVmLCAmcywgMSwgc2NhbmZsYWdzIHwgU0NBTlBNX0FTU0lHTklO RykpKSB7CiAJICAgIGNyZWF0ZXBhcmFtKHQsIFBNX0FSUkFZKTsKIAkgICAgY3JlYXRlZCA9IDE7 CiAJfSBlbHNlIGlmICh2LT5wbS0+bm9kZS5mbGFncyAmIFBNX05BTUVSRUYpIHsKQEAgLTMzNjMs NyArMzM2NSw3IEBAIGFzc2lnbmFwYXJhbShjaGFyICpzLCBjaGFyICoqdmFsLCBpbnQgZmxhZ3Mp CiAJfQogICAgIH0KICAgICBpZiAoIXYpCi0JaWYgKCEodiA9IGZldGNodmFsdWUoJnZidWYsICZ0 LCAxLCBTQ0FOUE1fQVNTSUdOSU5HKSkpIHsKKwlpZiAoISh2ID0gZmV0Y2h2YWx1ZSgmdmJ1Ziwg JnQsIDEsIHNjYW5mbGFncyB8IFNDQU5QTV9BU1NJR05JTkcpKSkgewogCSAgICB1bnF1ZXVlX3Np Z25hbHMoKTsKIAkgICAgZnJlZWFycmF5KHZhbCk7CiAJICAgIC8qIGVycmZsYWcgfD0gRVJSRkxB R19FUlJPUjsgKi8KZGlmZiAtLWdpdCBhL1NyYy96c2guaCBiL1NyYy96c2guaAppbmRleCA1YTk4 OWZmNDcuLmQ0NTQwM2UwYiAxMDA2NDQKLS0tIGEvU3JjL3pzaC5oCisrKyBiL1NyYy96c2guaApA QCAtMjE0MSw3ICsyMTQxLDkgQEAgZW51bSB7CiAgICAgICogVGhpcyBpcyBub3JtYWwgZm9yIGFz c29jaWF0aXZlIGFycmF5cyBidXQgdmFyaWFudCBiZWhhdmlvdXIgZm9yCiAgICAgICogbm9ybWFs IGFycmF5cy4KICAgICAgKi8KLSAgICBBU1NQTV9LRVlfVkFMVUUgPSAxIDw8IDQKKyAgICBBU1NQ TV9LRVlfVkFMVUUgPSAxIDw8IDQsCisgICAgLyogTmFtZWQgcmVmZXJlbmNlcyBhcmUgbm90IGZv bGxvd2VkICovCisgICAgQVNTUE1fTk9OQU1FUkVGID0gMSA8PCA1CiB9OwogCiAvKiBub2RlIGZv ciBuYW1lZCBkaXJlY3RvcnkgaGFzaCB0YWJsZSAobmFtZWRkaXJ0YWIpICovCmRpZmYgLS1naXQg YS9UZXN0L0IwMnR5cGVzZXQuenRzdCBiL1Rlc3QvQjAydHlwZXNldC56dHN0CmluZGV4IDhiNjZj MTg0Zi4uZDZlOWM5ZDc1IDEwMDY0NAotLS0gYS9UZXN0L0IwMnR5cGVzZXQuenRzdAorKysgYi9U ZXN0L0IwMnR5cGVzZXQuenRzdApAQCAtMTIxMiw2ICsxMjEyLDk3IEBAIEY6VGhpcyBpcyBhIGJ1 ZywgdGhlIG5vbiAtaCB2YXJpYWJsZSBzaG91bGQgbm90IGhpZGUgdGhlIGF1dG9sb2FkIHZhcmlh YmxlCiA+ej0KID52PQogCisgem1vZGxvYWQgLXUgenNoL3JhbmRvbQorICgpIHsgeyB0eXBlc2V0 IC1nIC1pIFNSQU5ET00gMj4mMSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorICgp IHsgeyB0eXBlc2V0IC1nIC1hIFNSQU5ET00gMj4mMSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJP Uj0wIH0gfQorICgpIHsgeyB0eXBlc2V0IC1nIC1uIFNSQU5ET00gMj4mMSB9IGFsd2F5cyB7IFRS WV9CTE9DS19FUlJPUj0wIH0gfQorIGVjaG8gej0keyhNKSR7KGYpJHsgem1vZGxvYWQgLWFwfX06 IypTUkFORE9NKn0KKzA6R2xvYmFsIHBhcmFtZXRlciBjYW4ndCBjaGFuZ2UgdHlwZSBvZiBhdXRv bG9hZGVkIHBhcmFtZXRlcgorPihhbm9uKTp0eXBlc2V0OiBTUkFORE9NOiBjYW4ndCBjaGFuZ2Ug dHlwZSBvZiBhdXRvbG9hZGVkIHBhcmFtZXRlcgorPihhbm9uKTp0eXBlc2V0OiBTUkFORE9NOiBj YW4ndCBjaGFuZ2UgdHlwZSBvZiBhdXRvbG9hZGVkIHBhcmFtZXRlcgorPihhbm9uKTp0eXBlc2V0 OiBTUkFORE9NOiBjYW4ndCBjaGFuZ2UgdHlwZSBvZiBhdXRvbG9hZGVkIHBhcmFtZXRlcgorPno9 U1JBTkRPTSAoenNoL3JhbmRvbSkKKworIHptb2Rsb2FkIC11IHpzaC9yYW5kb20KKyAoKSB7IHsg dHlwZXNldCAgICBTUkFORE9NIDI+JjEgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJST1I9MCB9IH0K KyAoKSB7IHsgdHlwZXNldCAtaSBTUkFORE9NIDI+JjEgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJS T1I9MCB9IH0KKyAoKSB7IHsgdHlwZXNldCAtYSBTUkFORE9NIDI+JjEgfSBhbHdheXMgeyBUUllf QkxPQ0tfRVJST1I9MCB9IH0KKyAoKSB7IHsgdHlwZXNldCAtbiBTUkFORE9NIDI+JjEgfSBhbHdh eXMgeyBUUllfQkxPQ0tfRVJST1I9MCB9IH0KKyBlY2hvIHo9JHsoTSkkeyhmKSR7IHptb2Rsb2Fk IC1hcH19OiMqU1JBTkRPTSp9CiswOkxvY2FsIG5vbiAtaCBwYXJhbWV0ZXIgY2FuIGhpZGUgYXV0 b2xvYWRlZCBwYXJhbWV0ZXIKKz56PVNSQU5ET00gKHpzaC9yYW5kb20pCisKKyAoKSB7IHsgdHlw ZXNldCAtZyAraSBFVUlEIDI+JjEgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJST1I9MCB9IH0KKyAo KSB7IHsgdHlwZXNldCAtZyAtaSBIT01FIDI+JjEgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJST1I9 MCB9IH0KKyAoKSB7IHsgdHlwZXNldCAtZyAtYSBIT01FIDI+JjEgfSBhbHdheXMgeyBUUllfQkxP Q0tfRVJST1I9MCB9IH0KKyAoICgpIHsgeyB0eXBlc2V0IC1nIC1uIEhPTUUgMj4mMSB9IGFsd2F5 cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfSApCisgdHlwZXNldCAtcCBFVUlEIEhPTUUKKzBxOkds b2JhbCBwYXJhbWV0ZXIgY2FuJ3QgY2hhbmdlIHR5cGUgb2Ygc3BlY2lhbCBwYXJhbWV0ZXIKKz4o YW5vbik6dHlwZXNldDogRVVJRDogY2FuJ3QgY2hhbmdlIHR5cGUgb2YgYSBzcGVjaWFsIHBhcmFt ZXRlcgorPihhbm9uKTp0eXBlc2V0OiBIT01FOiBjYW4ndCBjaGFuZ2UgdHlwZSBvZiBhIHNwZWNp YWwgcGFyYW1ldGVyCis+KGFub24pOnR5cGVzZXQ6IEhPTUU6IGNhbid0IGNoYW5nZSB0eXBlIG9m IGEgc3BlY2lhbCBwYXJhbWV0ZXIKKz4oYW5vbik6dHlwZXNldDogSE9NRTogY2FuJ3QgY2hhbmdl IHR5cGUgb2YgYSBzcGVjaWFsIHBhcmFtZXRlcgorPnR5cGVzZXQgLWcgLWkxMCBFVUlEPSRFVUlE Cis+ZXhwb3J0IEhPTUU9JEhPTUUKKworICgpIHsgeyB0eXBlc2V0ICtpIEVVSUQgMj4mMSB9IGFs d2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorICgpIHsgeyB0eXBlc2V0IC1pIEhPTUUgMj4m MSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorICgpIHsgeyB0eXBlc2V0IC1hIEhP TUUgMj4mMSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorICgpIHsgeyB0eXBlc2V0 IC1uIEhPTUUgMj4mMSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorIHR5cGVzZXQg LXAgRVVJRCBIT01FCiswcTpMb2NhbCBub24gLWggcGFyYW1ldGVyIGNhbid0IGhpZGUgc3BlY2lh bCBwYXJhbWV0ZXIKKz4oYW5vbik6dHlwZXNldDogRVVJRDogY2FuJ3QgY2hhbmdlIHR5cGUgb2Yg YSBzcGVjaWFsIHBhcmFtZXRlcgorPihhbm9uKTp0eXBlc2V0OiBIT01FOiBjYW4ndCBjaGFuZ2Ug dHlwZSBvZiBhIHNwZWNpYWwgcGFyYW1ldGVyCis+KGFub24pOnR5cGVzZXQ6IEhPTUU6IGNhbid0 IGNoYW5nZSB0eXBlIG9mIGEgc3BlY2lhbCBwYXJhbWV0ZXIKKz4oYW5vbik6dHlwZXNldDogSE9N RTogY2FuJ3QgY2hhbmdlIHR5cGUgb2YgYSBzcGVjaWFsIHBhcmFtZXRlcgorPnR5cGVzZXQgLWcg LWkxMCBFVUlEPSRFVUlECis+ZXhwb3J0IEhPTUU9JEhPTUUKKworICgpIHsgdHlwZXNldCAtaCAr aSBFVUlEIDI+JjE7IHR5cGVzZXQgLXAgRVVJRCB9CisgKCkgeyB0eXBlc2V0IC1oIC1pIEhPTUUg Mj4mMTsgdHlwZXNldCAtcCBIT01FIH0KKyAoKSB7IHR5cGVzZXQgLWggLWEgSE9NRSAyPiYxOyB0 eXBlc2V0IC1wIEhPTUUgfQorICgpIHsgdHlwZXNldCAtaCAtbiBIT01FIDI+JjE7IHR5cGVzZXQg LXAgSE9NRSB9CisgdHlwZXNldCAtcCBFVUlEIEhPTUUKKzBxOkxvY2FsIC1oIHBhcmFtZXRlciBj YW4gaGlkZSBzcGVjaWFsIHBhcmFtZXRlcgorPnR5cGVzZXQgLWggRVVJRD0nJworPnR5cGVzZXQg LWloIEhPTUU9MAorPnR5cGVzZXQgLWFoIEhPTUU9KCAgKQorPnR5cGVzZXQgLWhuIEhPTUU9JycK Kz50eXBlc2V0IC1nIC1pMTAgRVVJRD0kRVVJRAorPmV4cG9ydCBIT01FPSRIT01FCisKKyBjaGVj aygpIHsKKyAgIGVjaG8gIlRlc3RpbmcgXCJsb2NhbCAkMSAkMj0kezN9PE4+XCIiCisgICB7IGxv Y2FsICQxIC1yICQyPSR7M30xIDI+JjEgJiYgdHlwZXNldCAtcCAkMiB9IGFsd2F5cyB7IFRSWV9C TE9DS19FUlJPUj0wIH0KKyAgIHsgbG9jYWwgICAgLXIgJDI9JHszfTIgMj4mMSAmJiB0eXBlc2V0 IC1wICQyIH0gYWx3YXlzIHsgVFJZX0JMT0NLX0VSUk9SPTAgfQorICAgeyBsb2NhbCAkMSAgICAk Mj0kezN9MyAyPiYxICYmIHR5cGVzZXQgLXAgJDIgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJST1I9 MCB9CisgICB7IGxvY2FsICQxIC1yICQyPSR7M300IDI+JjEgJiYgdHlwZXNldCAtcCAkMiB9IGFs d2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0KKyAgIHsgbG9jYWwgJDEgK3IgJDI9JHszfTUgMj4m MSAmJiB0eXBlc2V0IC1wICQyIH0gYWx3YXlzIHsgVFJZX0JMT0NLX0VSUk9SPTAgfQorIH0KKyBj aGVjayAiIiBzdHIgcworIGNoZWNrIC1pIGludCAxCisgY2hlY2sgLW4gcmVmIHYKKzA6Tm9uICty IHBhcmFtZXRlciBkZWZpbml0aW9uIGNhbid0IGNoYW5nZS9yZXBsYWNlIHJlYWRvbmx5IHBhcmFt ZXRlcgorPlRlc3RpbmcgImxvY2FsICBzdHI9czxOPiIKKz50eXBlc2V0IC1yIHN0cj1zMQorPmNo ZWNrOjM6IHJlYWQtb25seSB2YXJpYWJsZTogc3RyCis+Y2hlY2s6NDogcmVhZC1vbmx5IHZhcmlh YmxlOiBzdHIKKz5jaGVjazo1OiByZWFkLW9ubHkgdmFyaWFibGU6IHN0cgorPnR5cGVzZXQgc3Ry PXM1Cis+VGVzdGluZyAibG9jYWwgLWkgaW50PTE8Tj4iCis+dHlwZXNldCAtaXIgaW50PTExCis+ Y2hlY2s6MzogcmVhZC1vbmx5IHZhcmlhYmxlOiBpbnQKKz5jaGVjazo0OiByZWFkLW9ubHkgdmFy aWFibGU6IGludAorPmNoZWNrOjU6IHJlYWQtb25seSB2YXJpYWJsZTogaW50Cis+dHlwZXNldCAt aSBpbnQ9MTUKKz5UZXN0aW5nICJsb2NhbCAtbiByZWY9djxOPiIKKz50eXBlc2V0IC1ybiByZWY9 djEKKz50eXBlc2V0IC1ybiByZWY9djEKK0Y6InR5cGVzZXQgLXIgcmVmPXYyIiBzdWNjZWVkcyBi ZWNhdXNlIGl0IGRlcmVmZXJlbmNlcyAicmVmIiBhbmQgYXNzaWducyAidjEiIHdpdGggInYyIgor PmNoZWNrOmxvY2FsOjQ6IHJlZjogcmVhZC1vbmx5IHJlZmVyZW5jZQorPmNoZWNrOmxvY2FsOjU6 IHJlZjogcmVhZC1vbmx5IHJlZmVyZW5jZQorPnR5cGVzZXQgLW4gcmVmPXY1CisKICAoKSB7CiAg ICB0eXBlc2V0IC1GIGYxPW5hbiBmMj1pbmYgZjM9LWluZgogICAgdHlwZXNldCAtcCBmMSBmMiBm MwpkaWZmIC0tZ2l0IGEvVGVzdC9LMDFuYW1lcmVmLnp0c3QgYi9UZXN0L0swMW5hbWVyZWYuenRz dAppbmRleCAwZTFjYzllNGUuLmU4NTY0MGU2ZSAxMDA2NDQKLS0tIGEvVGVzdC9LMDFuYW1lcmVm Lnp0c3QKKysrIGIvVGVzdC9LMDFuYW1lcmVmLnp0c3QKQEAgLTExMDcsMzIgKzExMDcsMzAgQEAg RjpDaGVja2luZyBmb3IgYSBidWcgaW4gem1vZGxvYWQgdGhhdCBhZmZlY3RzIGxhdGVyIHRlc3Rz CiAgdW5zZXQgLW4gcmVmCiAgdHlwZXNldCAtcm4gcmVmPVJPCiAgdHlwZXNldCAtcCByZWYKLSAo dHlwZXNldCAtbiByZWY9UlcpCisgKHR5cGVzZXQgLW4gcmVmPVJXIDI+JjEgJiYgdHlwZXNldCAt cCByZWYpCiAgcHJpbnQgc3RhdHVzOiAkPyBleHBlY3RlZDogMQogIHR5cGVzZXQgK3IgLW4gcmVm CiAgdHlwZXNldCAtcCByZWYKICB0eXBlc2V0IC1yICtuIHJlZgogIHR5cGVzZXQgLXAgcmVmCi0g KHR5cGVzZXQgLXJuIHJlZikKLSBwcmludCBzdGF0dXM6ICQ/IGV4cGVjdGVkOiAxCi0gdHlwZXNl dCArciAtbiByZWY9UlcJIyBBc3NpZ25tZW50IG9jY3VycyBhZnRlciB0eXBlIGNoYW5nZSwKLSB0 eXBlc2V0IC1wIHJlZiBSTwkjIHNvIFJPPVJXIGhlcmUuICBQb3RlbnRpYWxseSBjb25mdXNpbmcu Ci0gdHlwZXNldCAtciAtbiByZWY9UlgJIyBObyB0eXBlIGNoYW5nZSwgc28gcmVmZXJlbnQgY2hh bmdlcyAuLi4KLSB0eXBlc2V0IC1wIHJlZiBSTwkjIC4uLiBhbmQgcHJldmlvdXMgcmVmZXJlcmVu dCBkb2VzIG5vdC4KLSB0eXBlc2V0ICtybiByZWY9UlcJIyBIZXJlIHJlZj1SVywgYWdhaW4gdHlw ZSBjaGFuZ2VkIGZpcnN0LgorICh0eXBlc2V0IC1ybiByZWYgMj4mMSAmJiB0eXBlc2V0IC1wIHJl ZikKKyBwcmludCBzdGF0dXM6ICQ/IGV4cGVjdGVkOiAwCisgdHlwZXNldCArciAtbiByZWY9UlcK KyB0eXBlc2V0IC1wIHJlZgorIHR5cGVzZXQgLXIgLW4gcmVmPVJYCisgdHlwZXNldCAtcCByZWYK KyB0eXBlc2V0ICtybiByZWY9UlcKICB0eXBlc2V0IC1wIHJlZgogMDphZGQgYW5kIHJlbW92ZSBy ZWFkb25seSBhdHRyaWJ1dGUgd2l0aCByZWZlcmVuY2VzCiA+dHlwZXNldCAtcm4gcmVmPVJPCi0q Pyo6IHJlZjogcmVhZC1vbmx5IHJlZmVyZW5jZQorPihldmFsKTp0eXBlc2V0OjQ6IHJlZjogcmVh ZC1vbmx5IHJlZmVyZW5jZQogPnN0YXR1czogMSBleHBlY3RlZDogMQogPnR5cGVzZXQgLW4gcmVm PVJPCiA+dHlwZXNldCAtciByZWY9Uk8KLSo/KjogcmVmOiByZWFkLW9ubHkgdmFyaWFibGUKLT5z dGF0dXM6IDEgZXhwZWN0ZWQ6IDEKLT50eXBlc2V0IC1uIHJlZj1STwotPnR5cGVzZXQgLWcgUk89 UlcKKz50eXBlc2V0IC1ybiByZWY9Uk8KKz5zdGF0dXM6IDAgZXhwZWN0ZWQ6IDAKKz50eXBlc2V0 IC1uIHJlZj1SVwogPnR5cGVzZXQgLXJuIHJlZj1SWAotPnR5cGVzZXQgLWcgUk89UlcKID50eXBl c2V0IHJlZj1SVwogCiAgKCkgewpkaWZmIC0tZ2l0IGEvVGVzdC9WMTBwcml2YXRlLnp0c3QgYi9U ZXN0L1YxMHByaXZhdGUuenRzdAppbmRleCAyNTY4NDRiZTEuLmYzYWQ3YjZiOSAxMDA2NDQKLS0t IGEvVGVzdC9WMTBwcml2YXRlLnp0c3QKKysrIGIvVGVzdC9WMTBwcml2YXRlLnp0c3QKQEAgLTMw NCwzOSArMzA0LDQ0IEBAIEY6ZnV0dXJlIHJldmlzaW9uIHdpbGwgY3JlYXRlIGEgZ2xvYmFsIHdp dGggdGhpcyBhc3NpZ25tZW50CiAgdHlwZXNldCB0b3A9VE9QCiAgKCkgewogICBsb2NhbCAtUCAt biB0ZXN0PXRvcAotICBwcmludCAkdG9wCisgIHByaW50ICR0ZXN0CisgIHRlc3Q9dG9wCisgIHBy aW50ICR0ZXN0CiAgICgpIHsgcHJpbnQgVVA6ICR0ZXN0IH0KICB9CisgcHJpbnQgJHRvcAogMDpu YW1lcmVmIGNhbiBiZSBkZWNsYXJlZCBwcml2YXRlCiA+VE9QCis+dG9wCiA+VVA6Cis+dG9wCiAK ICAoKSB7CiAgICB0eXBlc2V0IC1hIGFyeQogICAgbG9jYWwgLVAgLW4gcmVmPWFyeQogICAgewot ICAgICgpewotICAgICByZWY9WFgJIyBTaG91bGQgYmUgYW4gZXJyb3IKLSAgICAgdHlwZXNldCAt cCBhcnkgcmVmCisgICAgKCkgeworICAgICByZWY9WFggMj4mMQkjIFNob3VsZCBiZSBhbiBlcnJv cgorICAgICBlY2hvIE5PVCBSRUFDSEVECiAgICAgfQogICAgfSBhbHdheXMgewogICAgIFRSWV9C TE9DS19FUlJPUj0wCiAgICAgdHlwZXNldCAtcCBhcnkgcmVmCiAgICB9CiAgfQotIHR5cGVzZXQg LXAgYXJ5CisgdHlwZXNldCAtcCBhcnkgMj4mMQogMTphc3NpZ25tZW50IHRvIHByaXZhdGUgbmFt ZXJlZiBpbiB3cm9uZyBzY29wZSwgcGFydCAxCis+KGFub24pOjE6IHJlZjogY2FuJ3QgbW9kaWZ5 IHJlYWQtb25seSBwYXJhbWV0ZXIKID50eXBlc2V0IC1hIGFyeQogPnR5cGVzZXQgLWhuIHJlZj1h cnkKLSo/KnJlZjogY2FuJ3QgbW9kaWZ5IHJlYWQtb25seSBwYXJhbWV0ZXIKLSo/Km5vIHN1Y2gg dmFyaWFibGU6IGFyeQorPihldmFsKTp0eXBlc2V0OjE0OiBubyBzdWNoIHZhcmlhYmxlOiBhcnkK IAogICgpIHsKICAgIHR5cGVzZXQgLWEgYXJ5CiAgICBsb2NhbCAtUCAtbiByZWY9YXJ5CiAgICB7 CiAgICAgKCl7Ci0gICAgIHR5cGVzZXQgcmVmPVhYCSMgU2hvdWxkIGNyZWF0ZSBhIGxvY2FsCisg ICAgIHR5cGVzZXQgcmVmPVhYIDI+JjEJIyBTaG91bGQgY3JlYXRlIGEgbG9jYWwKICAgICAgdHlw ZXNldCAtcCBhcnkgcmVmCiAgICAgfQogICAgfSBhbHdheXMgewpAQCAtMzQ0LDUzICszNDksODkg QEAgRjpmdXR1cmUgcmV2aXNpb24gd2lsbCBjcmVhdGUgYSBnbG9iYWwgd2l0aCB0aGlzIGFzc2ln bm1lbnQKICAgICB0eXBlc2V0IC1wIGFyeSByZWYKICAgIH0KICB9Ci0gdHlwZXNldCAtcCBhcnkK KyB0eXBlc2V0IC1wIGFyeSAyPiYxCiAxOmFzc2lnbm1lbnQgdG8gcHJpdmF0ZSBuYW1lcmVmIGlu IHdyb25nIHNjb3BlLCBwYXJ0IDIKID50eXBlc2V0IC1nIC1hIGFyeQogPnR5cGVzZXQgcmVmPVhY CiA+dHlwZXNldCAtYSBhcnkKID50eXBlc2V0IC1obiByZWY9YXJ5Ci0qPypubyBzdWNoIHZhcmlh YmxlOiBhcnkKKz4oZXZhbCk6dHlwZXNldDoxNDogbm8gc3VjaCB2YXJpYWJsZTogYXJ5CiAKICAo KSB7CisgICB0eXBlc2V0IHZhbD1MT0NBTAogICAgdHlwZXNldCAtbiBwdHIxPXB0cjIKICAgIHBy aXZhdGUgLW4gcHRyMgkjIFRZUEVTRVRfVE9fVU5TRVQgbWFrZXMgdGhpcyBub3QgYSAicGxhY2Vo b2xkZXIiCiAgICB0eXBlc2V0IC1wIHB0cjEgcHRyMgotICAgdHlwZXNldCB2YWw9TE9DQUwKICAg ICgpIHsKLSAgICAgcHRyMT12YWwJCSMgVGVzdCBkaWVzIGhlcmUgYXMgcHRyMiBpcyBwcml2YXRl IGFuZCB1bnNldAotICAgICB0eXBlc2V0IC1uCi0gICAgIHByaW50ZiAiJXM9JXNcbiIgcHRyMSAi JHB0cjEiIHB0cjIgIiRwdHIyIgorICAgICBwdHIxPXZhbCAyPiYxCQkjIFRlc3QgZGllcyBoZXJl IGFzIHB0cjIgaXMgcHJpdmF0ZQorICAgICBlY2hvIE5PVCBSRUFDSEVECiAgICB9Ci0gICB0eXBl c2V0IC1wIHB0cjEgcHRyMgorICAgZWNobyBOT1QgUkVBQ0hFRAogIH0KLSB0eXBlc2V0IC1wIHB0 cjIKKyBlY2hvIE5PVCBSRUFDSEVECiAxOnVwLXJlZmVyZW5jZSBmb3IgcHJpdmF0ZSBuYW1lcmVm cywgZW5kIHVuc2V0IGFuZCBub3QgaW4gc2NvcGUKIEY6U2VlIEswMW5hbWVyZWYuenRzdCB1cC1y ZWZlcmVuY2UgcGFydCA1CiBGOkhlcmUgcHRyMSBmaW5kcyBwcml2YXRlIHB0cjIgYnkgc2NvcGUg bWlzbWF0Y2gKID50eXBlc2V0IC1uIHB0cjE9cHRyMgogPnR5cGVzZXQgLWhuIHB0cjIKLT8oYW5v bik6MTogcmVhZC1vbmx5IHZhcmlhYmxlOiBwdHIyCis+KGFub24pOjE6IHJlYWQtb25seSB2YXJp YWJsZTogcHRyMgogCiAgKCkgeworICAgdHlwZXNldCB2YWw9TE9DQUwKICAgIHR5cGVzZXQgLW4g cHRyMT1wdHIyCiAgICBwcml2YXRlIC1uIHB0cjI9CSMgQXNzaWdubWVudCBtYWtlcyB0aGlzIGEg cGxhY2Vob2xkZXIsIG5vdCB1bnNldAogICAgdHlwZXNldCAtcCBwdHIxIHB0cjIKKyAgICgpIHsK KyAgICAgcHRyMT12YWwgMj4mMQkJIyBUZXN0IGRpZXMgaGVyZSBhcyBwdHIyIGlzIHByaXZhdGUK KyAgICAgZWNobyBOT1QgUkVBQ0hFRAorICAgfQorICAgZWNobyBOT1QgUkVBQ0hFRAorIH0KKyBl Y2hvIE5PVCBSRUFDSEVECisxOnVwLXJlZmVyZW5jZSBmb3IgcHJpdmF0ZSBuYW1lcmVmcywgZW5k IGlzIHBsYWNlaG9sZGVyIGFuZCBub3QgaW4gc2NvcGUKK0Y6U2VlIEswMW5hbWVyZWYuenRzdCB1 cC1yZWZlcmVuY2UgcGFydCA1CitGOkhlcmUgcHRyMSBmaW5kcyBwcml2YXRlIHB0cjIgYnkgc2Nv cGUgbWlzbWF0Y2gKKz50eXBlc2V0IC1uIHB0cjE9cHRyMgorPnR5cGVzZXQgLWhuIHB0cjI9JycK Kz4oYW5vbik6MTogcHRyMTogY2FuJ3QgbW9kaWZ5IHJlYWQtb25seSBwYXJhbWV0ZXIKKworICgp IHsKICAgIHR5cGVzZXQgdmFsPUxPQ0FMCisgICB0eXBlc2V0IC1uIHB0cjE9cHRyMgorICAgcHJp dmF0ZSAtbiBwdHIyPXZhbAkjIEFzc2lnbm1lbnQgbWFrZXMgdGhpcyBhIHJlZmVyZW5jZSB0byBl eGlzdGluZyB2YWwKKyAgIHR5cGVzZXQgLXAgcHRyMSBwdHIyCiAgICAoKSB7Ci0gICAgIHB0cjE9 dmFsCQkjIFRlc3QgZGllcyBoZXJlIGFzIHB0cjIgaXMgcHJpdmF0ZSBhbmQgdW5pbml0aWFsaXpl ZAotICAgICB0eXBlc2V0IC1uCi0gICAgIHByaW50ZiAiJXM9JXNcbiIgcHRyMSAiJHB0cjEiIHB0 cjIgIiRwdHIyIgorICAgICBwdHIxPXZhbCAyPiYxCQkjIFRlc3QgZGllcyBoZXJlIGFzIHB0cjIg aXMgcHJpdmF0ZQorICAgICBlY2hvIE5PVCBSRUFDSEVECiAgICB9CisgICBlY2hvIE5PVCBSRUFD SEVECisgfQorIGVjaG8gTk9UIFJFQUNIRUQKKzE6dXAtcmVmZXJlbmNlIGZvciBwcml2YXRlIG5h bWVyZWZzLCBlbmQgcmVmZXJzIGV4aXN0aW5nIHZhcmlhYmxlIGFuZCBub3QgaW4gc2NvcGUKK0Y6 U2VlIEswMW5hbWVyZWYuenRzdCB1cC1yZWZlcmVuY2UgcGFydCA1CitGOkhlcmUgcHRyMSBmaW5k cyBwcml2YXRlIHB0cjIgYnkgc2NvcGUgbWlzbWF0Y2gKKz50eXBlc2V0IC1uIHB0cjE9cHRyMgor PnR5cGVzZXQgLWhuIHB0cjI9dmFsCis+KGFub24pOjE6IHB0cjE6IGNhbid0IG1vZGlmeSByZWFk LW9ubHkgcGFyYW1ldGVyCisKKyAoKSB7CisgICB0eXBlc2V0IHZhbD1MT0NBTAorICAgdHlwZXNl dCAtbiBwdHIxPXB0cjIKKyAgIHByaXZhdGUgLW4gcHRyMj1mb28JIyBBc3NpZ25tZW50IG1ha2Vz IHRoaXMgYSByZWZlcmVuY2UgdG8gbm90LXlldC1kZWZpbmVkIGZvbwogICAgdHlwZXNldCAtcCBw dHIxIHB0cjIKKyAgICgpIHsKKyAgICAgcHRyMT12YWwgMj4mMQkJIyBUZXN0IGRpZXMgaGVyZSBh cyBwdHIyIGlzIHByaXZhdGUKKyAgICAgZWNobyBOT1QgUkVBQ0hFRAorICAgfQorICAgZWNobyBO T1QgUkVBQ0hFRAogIH0KLSB0eXBlc2V0IC1wIHB0cjIKLTE6dXAtcmVmZXJlbmNlIGZvciBwcml2 YXRlIG5hbWVyZWZzLCBlbmQgbm90IGluIHNjb3BlCisgZWNobyBOT1QgUkVBQ0hFRAorMTp1cC1y ZWZlcmVuY2UgZm9yIHByaXZhdGUgbmFtZXJlZnMsIGVuZCByZWZlcnMgbm90LXlldC1kZWZpbmVk IHZhcmlhYmxlIGFuZCBub3QgaW4gc2NvcGUKIEY6U2VlIEswMW5hbWVyZWYuenRzdCB1cC1yZWZl cmVuY2UgcGFydCA1CiBGOkhlcmUgcHRyMSBmaW5kcyBwcml2YXRlIHB0cjIgYnkgc2NvcGUgbWlz bWF0Y2gKID50eXBlc2V0IC1uIHB0cjE9cHRyMgotPnR5cGVzZXQgLWhuIHB0cjI9JycKLT8oYW5v bik6MTogcHRyMTogY2FuJ3QgbW9kaWZ5IHJlYWQtb25seSBwYXJhbWV0ZXIKKz50eXBlc2V0IC1o biBwdHIyPWZvbworPihhbm9uKToxOiBwdHIxOiBjYW4ndCBtb2RpZnkgcmVhZC1vbmx5IHBhcmFt ZXRlcgogCiAgdHlwZXNldCBwdHIyCiAgKCkgewpAQCAtNDAxLDcgKzQ0Miw3IEBAIEY6SGVyZSBw dHIxIGZpbmRzIHByaXZhdGUgcHRyMiBieSBzY29wZSBtaXNtYXRjaAogICAgKCkgewogICAgICBw dHIxPXZhbAogICAgICB0eXBlc2V0IC1uCi0gICAgIHByaW50ZiAiJXM9JXNcbiIgcHRyMSAiJHB0 cjEiIHB0cjIgIiRwdHIyIgorICAgICBwcmludGYgInByaW50OiVzPSVzXG4iIHB0cjEgIiRwdHIx IiBwdHIyICIkcHRyMiIKICAgIH0KICAgIHR5cGVzZXQgLXAgcHRyMSBwdHIyCiAgfQpAQCAtNDEz LDI0ICs0NTQsMzggQEAgRjpIZXJlIHB0cjEgcG9pbnRzIHRvIGdsb2JhbCBwdHIyIHNvIGFzc2ln bm1lbnQgc3VjY2VlZHMKID50eXBlc2V0IC1obiBwdHIyCiA+cHRyMT1wdHIyCiA+cHRyMj12YWwK LT5wdHIxPXZhbAotPnB0cjI9dmFsCis+cHJpbnQ6cHRyMT12YWwKKz5wcmludDpwdHIyPXZhbAog PnR5cGVzZXQgLW4gcHRyMT1wdHIyCiA+dHlwZXNldCAtaG4gcHRyMgogPnR5cGVzZXQgcHRyMj12 YWwKIAorICgpIHsKKyAgIHNldG9wdCBsb2NhbG9wdGlvbnMgZXJycmV0dXJuCisgICBwcml2YXRl IC1uIHB0cjI9dmFsCisgICB0eXBlc2V0IC1uIHB0cjE9cHRyMiAyPiYxCisgICBwdHIxPWZvbwor ICAgdHlwZXNldCAtcCBwdHIxIHB0cjIgdmFsCisgfQorIHVuc2V0IHZhbAorMDp1cC1yZWZlcmVu Y2UgZm9yIHByaXZhdGUgbmFtZXJlZnMsIGVuZCBpcyBzZXQgYW5kIGluIHNjb3BlIGJ1dCBwcml2 YXRlCis+dHlwZXNldCAtbiBwdHIxPXB0cjIKKz50eXBlc2V0IC1obiBwdHIyPXZhbAorPnR5cGVz ZXQgLWcgdmFsPWZvbworCiAgKCkgewogICAgc2V0b3B0IGxvY2Fsb3B0aW9ucyBlcnJyZXR1cm4K ICAgIHByaXZhdGUgLW4gcHRyMgotICAgdHlwZXNldCAtbiBwdHIxPXB0cjIKLSAgIGVjaG8gTk9U IFJFQUNIRUQKKyAgIHR5cGVzZXQgLW4gcHRyMT1wdHIyIDI+JjEKKyAgIHB0cjE9dmFsCisgICBw dHIxPWZvbworICAgdHlwZXNldCAtcCBwdHIxIHB0cjIgdmFsCiAgfQotIHR5cGVzZXQgLXAgcHRy MSBwdHIyCi0xOnVwLXJlZmVyZW5jZSBmb3IgcHJpdmF0ZSBuYW1lcmVmcywgZW5kIGlzIGluIHNj b3BlIGJ1dCBwcml2YXRlCi1GOlNob3VsZCB3ZSBhbGxvdyAicHVibGljIiBuYW1lcmVmcyB0byBw cml2YXRlIHBhcmFtZXRlcnM/Ci0qPypwdHIyOiBpbnZhbGlkIHJlZmVyZW5jZQotKj8qbm8gc3Vj aCB2YXJpYWJsZTogcHRyMQotKj8qbm8gc3VjaCB2YXJpYWJsZTogcHRyMgorIHVuc2V0IHZhbAor MDp1cC1yZWZlcmVuY2UgZm9yIHByaXZhdGUgbmFtZXJlZnMsIGVuZCBpcyB1bnNldCBhbmQgaW4g c2NvcGUgYnV0IHByaXZhdGUKKz50eXBlc2V0IC1uIHB0cjE9cHRyMgorPnR5cGVzZXQgLWhuIHB0 cjI9dmFsCis+dHlwZXNldCAtZyB2YWw9Zm9vCiAKICAoKSB7CiAgICB0eXBlc2V0IHB0cjI9Zm9v CkBAIC00MzgsMTMgKzQ5MywxMyBAQCBGOlNob3VsZCB3ZSBhbGxvdyAicHVibGljIiBuYW1lcmVm cyB0byBwcml2YXRlIHBhcmFtZXRlcnM/CiAgICAoKSB7CiAgICAgIHNldG9wdCBsb2NhbG9wdGlv bnMgZXJycmV0dXJuCiAgICAgIHByaXZhdGUgLW4gcHRyMgotICAgICB0eXBlc2V0IC1uIHB0cjE9 cHRyMgotICAgICBlY2hvIE5PVCBSRUFDSEVECisgICAgIHR5cGVzZXQgLW4gcHRyMT1wdHIyIDI+ JjEKKyAgICAgdHlwZXNldCAtcCBwdHIxIHB0cjIKICAgIH0KICB9Ci0xOnJlZ3Jlc3Npb24gdGVz dCBmb3IgaW52YWxpZCByZWZlcmVuY2UgZGV0ZWN0aW9uCi1GOlNob3VsZCB3ZSBhbGxvdyAicHVi bGljIiBuYW1lcmVmcyB0byBwcml2YXRlIHBhcmFtZXRlcnM/Ci0qPypwdHIyOiBpbnZhbGlkIHJl ZmVyZW5jZQorMDpyZWdyZXNzaW9uIHRlc3QgZm9yIGludmFsaWQgcmVmZXJlbmNlIGRldGVjdGlv bgorPnR5cGVzZXQgLW4gcHRyMT1wdHIyCis+dHlwZXNldCAtaG4gcHRyMgogCiAgKCkgewogICAg cHJpdmF0ZSB4PTEK --000000000000b4cd450657a10a84--