ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xvdXQudmltIGIvcnVudGltZS9zeW50YXgvbG91dC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE0Y2IwMAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2xvdXQudmltCkBAIC0wLDAgKzEsMTM5IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgTG91dAorIiBNYWludGFpbmVyOiAgQ2hyaXN0aWFuIFYuIEouIEJy/HNzb3cgPGN2amJAY3ZqYi5kZT4KKyIgTGFzdCBDaGFuZ2U6IFNvbiAyMiBKdW4gMjAwMyAyMDo0MzoyNiBDRVNUCisiIEZpbGVuYW1lczogICAqLmxvdXQsKi5sdAorIiBVUkw6CQkJaHR0cDovL3d3dy5jdmpiLmRlL2NvbXAvdmltL2xvdXQudmltCisiICRJZCQKKyIKKyIgTG91dDogQmFzc2VyIExvdXQgZG9jdW1lbnQgZm9ybWF0dGluZyBzeXN0ZW0uCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisJc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwlmaW5pc2gKK2VuZGlmCisKKyIgTG91dCBpcyBjYXNlIHNlbnNpdGl2ZQorc3luIGNhc2UgbWF0Y2gKKworIiBTeW5jaHJvbml6YXRpb24sIEkga25vdyBpdCBpcyBhIGh1Z2UgbnVtYmVyLCBidXQgbm9ybWFsIHRleHRzIGNhbiBiZQorIiBfdmVyeV8gbG9uZyA7LSkKK3N5biBzeW5jIGxpbmVzPTEwMDAKKworIiBDaGFyYWN0ZXJzIGFsbG93ZWQgaW4ga2V5d29yZHMKKyIgSSBkb24ndCBrbm93IGlmIDEyOC0yNTUgYXJlIGFsbG93ZWQgaW4gQU5TLUZPUkhUCitpZiB2ZXJzaW9uID49IDYwMAorCXNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LC4sQC1ALF8sMTkyLTI1NQorZWxzZQorCXNldCBpc2tleXdvcmQ9QCw0OC01NywuLEAtQCxfLDE5Mi0yNTUKK2VuZGlmCisKKyIgU29tZSBzcGVjaWFsIGtleXdvcmRzCitzeW4ga2V5d29yZCBsb3V0VG9kbyBjb250YWluZWQgVE9ETyBsb3V0IExvdXQgTE9VVAorc3luIGtleXdvcmQgbG91dERlZmluZSBkZWYgbWFjcm8KKworIiBTb21lIGJpZyBzdHJ1Y3R1cmVzCitzeW4ga2V5d29yZCBsb3V0S2V5d29yZCBAQmVnaW4gQEVuZCBARmlndXJlIEBUYWIKK3N5biBrZXl3b3JkIGxvdXRLZXl3b3JkIEBCb29rIEBEb2MgQERvY3VtZW50IEBSZXBvcnQKK3N5biBrZXl3b3JkIGxvdXRLZXl3b3JkIEBJbnRyb2R1Y3Rpb24gQEFic3RyYWN0IEBBcHBlbmRpeAorc3luIGtleXdvcmQgbG91dEtleXdvcmQgQENoYXB0ZXIgQFNlY3Rpb24gQEJlZ2luU2VjdGlvbnMgQEVuZFNlY3Rpb25zCisKKyIgQWxsIGtpbmQgb2YgTG91dCBrZXl3b3Jkcworc3luIG1hdGNoIGxvdXRGdW5jdGlvbiAnXDxAW14gXHR7fV1cK1w+JworCisiIEJyYWNlcyAtLSBEb25gdCBlZGl0IHRoZXNlIGxpbmVzIQorc3luIG1hdGNoIGxvdXRNQnJhY2VzICdbe31dJworc3luIG1hdGNoIGxvdXRJQnJhY2VzICdbe31dJworc3luIG1hdGNoIGxvdXRCQnJhY2UgJ1t7fV0nCitzeW4gbWF0Y2ggbG91dEJJQnJhY2VzICdbe31dJworc3luIG1hdGNoIGxvdXRIZWFkcyAnW3t9XScKKworIiBVbm1hdGNoZWQgYnJhY2VzLgorc3luIG1hdGNoIGxvdXRCcmFjZUVycm9yICd9JworCisiIEVuZCBvZiBtdWx0aS1saW5lIGRlZmluaXRpb25zLCBsaWtlIEBEb2N1bWVudCwgQFJlcG9ydCBhbmQgQEJvb2suCitzeW4gbWF0Y2ggbG91dEVPbWxEZWYgJ14vLyQnCisKKyIgR3JvdXBpbmcgb2YgcGFyYW1ldGVycyBhbmQgb2JqZWN0cy4KK3N5biByZWdpb24gbG91dE9iamVjdCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0neycgbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKKworIiBUaGUgTlVMTCBvYmplY3QgaGFzIGEgc3BlY2lhbCBtZWFuaW5nCitzeW4ga2V5d29yZCBsb3V0TlVMTCB7fQorCisiIENvbW1lbnRzCitzeW4gcmVnaW9uIGxvdXRDb21tZW50IHN0YXJ0PSdcIycgZW5kPSckJyBjb250YWlucz1sb3V0VG9kbworCisiIERvdWJsZSBxdW90ZXMKK3N5biByZWdpb24gbG91dFNwZWNpYWwgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworCisiIElTTy1MQVRJTi0xIGNoYXJhY3RlcnMgY3JlYXRlZCB3aXRoIEBDaGFyLCBvciBBZG9iZSBzeW1ib2xzCisiIGNyZWF0ZWQgd2l0aCBAU3ltCitzeW4gbWF0Y2ggbG91dFN5bWJvbHMgJ0BcKFwoQ2hhclwpXHxcKFN5bVwpXClcc1wrW0EtWmEtel1cKycKKworIiBJbmNsdWRlIGZpbGVzCitzeW4gbWF0Y2ggbG91dEluY2x1ZGUgJ0BJbmNsdWRlR3JhcGhpY1xzXCtca1wrJworc3luIHJlZ2lvbiBsb3V0SW5jbHVkZSBzdGFydD0nQFwoXChTeXNJbmNsdWRlXClcfFwoSW5jbHVkZUdyYXBoaWNcKVx8XChJbmNsdWRlXClcKVxzKnsnIGVuZD0nfScKKworIiBUYWdzCitzeW4gbWF0Y2ggbG91dFRhZyAnQFwoXChUYWdcKVx8XChQYWdlTWFya1wpXHxcKFBhZ2VPZlwpXHxcKE51bWJlck9mXClcKVxzXCtca1wrJworc3luIHJlZ2lvbiBsb3V0VGFnIHN0YXJ0PSdAVGFnXHMqeycgZW5kPSd9JworCisiIEVxdWF0aW9ucworc3luIG1hdGNoIGxvdXRNYXRoICdARXFcc1wrXGtcKycKK3N5biByZWdpb24gbG91dE1hdGggbWF0Y2hncm91cD1sb3V0TUJyYWNlcyBzdGFydD0nQEVxXHMqeycgbWF0Y2hncm91cD1sb3V0TUJyYWNlcyBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCxsb3V0QnJhY2VFcnJvcgorIgorIiBGb250cworc3luIG1hdGNoIGxvdXRJdGFsaWMgJ0BJXHNcK1xrXCsnCitzeW4gcmVnaW9uIGxvdXRJdGFsaWMgbWF0Y2hncm91cD1sb3V0SUJyYWNlcyBzdGFydD0nQElccyp7JyBtYXRjaGdyb3VwPWxvdXRJQnJhY2VzIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCitzeW4gbWF0Y2ggbG91dEJvbGQgJ0BCXHNcK1xrXCsnCitzeW4gcmVnaW9uIGxvdXRCb2xkIG1hdGNoZ3JvdXA9bG91dEJCcmFjZXMgc3RhcnQ9J0BCXHMqeycgbWF0Y2hncm91cD1sb3V0QkJyYWNlcyBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCxsb3V0QnJhY2VFcnJvcgorc3luIG1hdGNoIGxvdXRCb2xkSXRhbGljICdAQklcc1wrXGtcKycKK3N5biByZWdpb24gbG91dEJvbGRJdGFsaWMgbWF0Y2hncm91cD1sb3V0QklCcmFjZXMgc3RhcnQ9J0BCSVxzKnsnIG1hdGNoZ3JvdXA9bG91dEJJQnJhY2VzIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCitzeW4gcmVnaW9uIGxvdXRIZWFkaW5ncyBtYXRjaGdyb3VwPWxvdXRIZWFkcyBzdGFydD0nQFwoXChUaXRsZVwpXHxcKENhcHRpb25cKVwpXHMqeycgbWF0Y2hncm91cD1sb3V0SGVhZHMgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbG91dF9zeW5faW5pdHMiKQorCWlmIHZlcnNpb24gPCA1MDgKKwkJbGV0IGRpZF9sb3V0X3N5bl9pbml0cyA9IDEKKwkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKwllbHNlCisJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCWVuZGlmCisKKwkiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJycmlkZW4gbGF0ZXIuCisJSGlMaW5rIGxvdXRUb2RvIFRvZG8KKwlIaUxpbmsgbG91dERlZmluZSBEZWZpbmUKKwlIaUxpbmsgbG91dEVPbWxEZWYgRGVmaW5lCisJSGlMaW5rIGxvdXRGdW5jdGlvbiBGdW5jdGlvbgorCUhpTGluayBsb3V0QnJhY2VFcnJvciBFcnJvcgorCUhpTGluayBsb3V0TlVMTCBTcGVjaWFsCisJSGlMaW5rIGxvdXRDb21tZW50IENvbW1lbnQKKwlIaUxpbmsgbG91dFNwZWNpYWwgU3BlY2lhbAorCUhpTGluayBsb3V0U3ltYm9scyBDaGFyYWN0ZXIKKwlIaUxpbmsgbG91dEluY2x1ZGUgSW5jbHVkZQorCUhpTGluayBsb3V0S2V5d29yZCBLZXl3b3JkCisJSGlMaW5rIGxvdXRUYWcgVGFnCisJSGlMaW5rIGxvdXRNYXRoIE51bWJlcgorCisJIiBIaUxpbmsgTm90IHJlYWxseSBuZWVkZWQgaGVyZSwgYnV0IEkgdGhpbmsgaXQgaXMgbW9yZSBjb25zaXN0ZW50LgorCUhpTGluayBsb3V0TUJyYWNlcyBsb3V0TWF0aAorCWhpIGxvdXRJdGFsaWMgdGVybT1pdGFsaWMgY3Rlcm09aXRhbGljIGd1aT1pdGFsaWMKKwlIaUxpbmsgbG91dElCcmFjZXMgbG91dEl0YWxpYworCWhpIGxvdXRCb2xkIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCisJSGlMaW5rIGxvdXRCQnJhY2VzIGxvdXRCb2xkCisJaGkgbG91dEJvbGRJdGFsaWMgdGVybT1ib2xkLGl0YWxpYyBjdGVybT1ib2xkLGl0YWxpYyBndWk9Ym9sZCxpdGFsaWMKKwlIaUxpbmsgbG91dEJJQnJhY2VzIGxvdXRCb2xkSXRhbGljCisJaGkgbG91dEhlYWRpbmdzIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aWZnPWluZGlhbnJlZAorCUhpTGluayBsb3V0SGVhZHMgbG91dEhlYWRpbmdzCisKKwlkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibG91dCIKKworIiB2aW06dHM9ODpzdz00Om5vY2luZGVudDpzbWFydGluZGVudDoK