ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggYjhmODZiMi4uMzNjMWY4ZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI4CisqdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgQXByIDE1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMwLDYgKzMwLDM2IEBACiAJCQkJCQkJKmtub3duLWJ1Z3MqCiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBLbm93biBidWdzIGFuZCBjdXJyZW50IHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorRnJhbWUgc2l6ZSB3cm9uZyBhZnRlciAiOnNwIiB3aXRoIHRoaXMgaW4gdmltcmMgKE1pY2hhZWwgU2NoYWFwKToKKwlzZXQgY21kaGVpZ2h0PTIKKwlzZXQgbGluZXM9NDMKKworVHJpY2sgdG8gZ2V0IC4uLk1PVVNFX05NIG5vdCB1c2VkIHdoZW4gdGhlcmUgYXJlIHZlcnRpY2FsIHNwbGl0cy4gIENhbiB3ZSBwYXNzCistY29sIGluc3RlYWQgb2YgY29sPyAoWWVnYXBwYW4gTGFrc2htYW5hbikKKworSGFuZyBpbiBzZWFyY2hwYWlyKCkuICgyMDA1IEFwcmlsIDEyLCBKb2huIFdlbGxlc3opCisKK1dpdGggdGhpcyBtYXBwaW5nIGEgY2xpY2sgb24gYSBzdGF0dXMgbGluZSBlY2hvZXMgdGhlIHdyb25nIGJ1ZmZlciBuYW1lOgorICAgIDpub3JlbWFwIDxMZWZ0bW91c2U+IDxMZWZ0bW91c2U+OmVjaG8gYnVmbmFtZSgnJScpPENSPgorCitXaGVuIGluIGRpZmYgbW9kZSBhbmQgbWFraW5nIGEgY2hhbmdlIHRoYXQgY2F1c2VzIHRoZSAiY2hhbmdlZCIgaGlnaGxpZ2h0aW5nCit0byBkaXNhcHBlYXIsIGl0J3Mgc3RpbGwgaGlnaGxpZ2h0ZWQgaW4gYW5vdGhlciB3aW5kb3cuCisKK3JlZ21hdGNoKCk6ICJyZWdzdGFjayIgY291bGQgc3RhcnQgd2l0aCBhIGZpeGVkIGJsb2NrIG9mIGRhdGEgZm9yIHNwZWVkLgorImJhY2twb3MiIGlzIG5ldmVyIGZyZWVkLiAoQWxleGVpIEFsZXhhbmRyb3YpCisKK1N0YXJ0aW5nIHdpdGhvdXQgYW55IGJ1ZmZlcnMsIHNldCBub2NwLCAiOmIgPFRhYj4iIGdpdmVzIGVycm9yIG1lc3NhZ2UuCisoQ2lhcmFuIE1jQ3Jlc3NoIGZvciBBcm9uIEdyaWZmaXMpCisKK1Byb2JsZW0gd2l0aCAnaW5zZXJ0bW9kZScuIChHZW9yZyBEYWhuLCAyMDA1IEFwcmlsIDksIGV4cGwuIEFwcmlsIDE0KQorUHJvYmxlbSB3aXRoIENUUkwtViBwYXN0aW5nIG1vcmUgdGhhbiBvbmUgbGluZS4gKEdlb3JnIERhaG4sIDIwMDUgQXByaWwgMTEpCisKK1BhdGNoIGZvciBzZXRxZmxpc3QoKSAoWWVnYXBwYW4gTGFrc2htYW5hbiwgMjAwNSBBcHJpbCAxMSkKKworSW4gYW4gZXJyb3JmaWxlIGV4cGFuZCAifi8iIHRvIGhvbWUgZGlyZWN0b3J5LiAoQXJub3V0IEVuZ2VsZW4pCisKK1BhdGNoIGZvciAyaHRtbC52aW0gdG8gZGlzYWJsZSBmb2xkaW5nIChNaWNoYWVsIFNjaGFhcCwgMjAwNSBBcHJpbCAxMikKKwogTWFjIHVuaWNvZGUgcGF0Y2ggKERhIFdvb24gSnVuZyk6CiAtIHNlbGVjdGluZyBwcm9wb3J0aW9uYWwgZm9udCBicmVha3MgZGlzcGxheQogLSBVVEYtOCB0ZXh0IGNhdXNlcyBkaXNwbGF5IHByb2JsZW1zLiAgRm9udCByZXBsYWNlbWVudCBjYXVzZXMgdGhpcy4KQEAgLTQ3LDIzICs3Nyw1OSBAQAogCiBXaW4zMjogQmFsbG9vbiB0ZXh0IGNhbid0IGNvbnRhaW4gbGluZSBicmVhay4KICAgICBIaW50cyBmb3IgbXVsdGlsaW5lIHRvb2x0aXBzIGZyb20gQWxleGVpIEFsZXhhbmRyb3YgKDIwMDUgTWFyIDI2KQotICAgIFBhdGNoIGZyb20gU2VyZ2V5IEtob3JldiwgMjAwNSBNYXIgMjgKKyAgICBQYXRjaCBmcm9tIFNlcmdleSBLaG9yZXYsIDIwMDUgQXByIDExCiAgICAgQWRkIGhhcygiYmFsbG9vbl9tdWx0aWxpbmUiKQogCitzZXRsaW5lKCkgc2hvdWxkIGFjY2VwdCBhIExpc3QuCitBZGQgIjpbcmFuZ2Vdc29ydCIgY29tbWFuZC4gIFNvcnQgb24gc3BlY2lmaWVkIGZpZWxkLCB1c2luZyBhIHJlZ2V4cD8gIFJlbW92ZQorZHVwbGljYXRlcz8KKwogQXdhaXRpbmcgcmVzcG9uc2U6CiAtICAgUGF0Y2ggZm9yIG1jaF9GdWxsTmFtZSgpIGFsc28gaW4gVmltIDYuMz8gIG9zX21zd2luLmMKIC0gICBXaW4zMjogdGVhcm9mZiBtZW51IHdpbmRvdyBzaG91bGQgaGF2ZSBhIHNjcm9sbGJhciB3aGVuIGl0J3MgdGFsbGVyIHRoYW4KICAgICB0aGUgc2NyZWVuLgogCitNYWtlIG9wdGlvbiBsaWtlICd2ZXJib3NlJyB0aGF0IHdyaXRlcyBvdXRwdXQgaW50byBhIGZpbGU/ICBTaG91bGQgbWFrZSBpdAorcG9zc2libGUgdG8gc2VlIHdoYXQncyBoYXBwZW5pbmcgd2l0aG91dCBtZXNzaW5nIHVwIHRoZSBkaXNwbGF5LgorCiAKIFBMQU5ORUQgRk9SIFZFUlNJT04gNy4wOgogCiAtICAgQWRkIFNQRUxMQ0hFQ0tFUiwgd2l0aCBzdXBwb3J0IGZvciBtYW55IGxhbmd1YWdlcy4KICAgICAtIFVzZSAiZW5nc3BjaGsiIGZyb20gQ2hhcmxlcyBDYW1wYmVsbCBmb3IgaWRlYXMuCi0gICAgLSBBbHRlcm5hdGl2ZTogdXNlIE15U3BlbGwgbGlicmFyeSAoaW4gT3Blbk9mZmljZS5vcmcpLgorICAgIC0gU3BlbGwgY2hlY2tpbmcgY29kZSB0b2RvJ3M6CisJLSBCV0ZfQUREUyBhbmQgQldGX0FERFNNIGZvciBtb3JlIHRoYW4gMjU2LCBvbmx5IG9uZSBieXRlIGZvciBjb3VudC4KKwktIENhc2UgZm9sZGluZyBvbmx5IHdvcmtzIHdoZW4gbG9jYWxlIGlzIHNldCBwcm9wZXJseS4KKwkgIEUuZy4sIHdoZW4gQyBsb2NhbGUgaXMgYWN0aXZlIHRoZW4gJ2VuYycgaXMgImxhdGluMSIgYnV0IMVuZ3N0cvZtCisJICBpc24ndCBzZWVuIGFzIGEgT05FQ0FQLgorCSAgVXNlIG91ciBvd24gY2hhcmFjdGVyIHRhYmxlcyBmb3IgZW5jb2RpbmdzIHVzZWQgaW4gc3BlbGwgZmlsZXM/CisJICBVc2UgaXN3dXBwZXIoKSBpZiBwb3NzaWJsZT8KKwkgIFB1dCB0aGUgY2hhcmFjdGVyIHRhYmxlcyBpbiB0aGUgLmFmZiBmaWxlPworCS0gSW1wbGVtZW50ID0gZmxhZyBpbiAuZGljOiBLRUVQQ0FTRSBmb3IgbG93ZXIgY2FzZSB3b3JkLgorCSAgICAncyBtb3JnZW5zLz0gIGRvZXMgbm90IG1hdGNoICdTIG1vcmdlbnMKKwktIE1lcmdlIGVuX1VTLCBlbl9DQSwgZW5fQVUsIGV0Yy4KKwktIEltcGxlbWVudCBjb21wb3VuZCB3b3Jkcz8KKwktIE1ha2UgbWF0Y2hpbmcgYWRkaXRpb25zIGZhc3RlciBzb21laG93PworCS0gTW9yZSBlZmZpY2llbnQgd2F5IHRvIHN0b3JlIGFkZGl0aW9ucz8KKwktIHJlbW92ZSBmd19wcmVmaXggYW5kIGZ3X3N1ZmZpeCwgdXNlIGZ3X2xlbiAod29yZCBsZW5ndGgpIGFuZCBwdXQKKwkgIHByZWZpeGVzIGFuZCBzdWZmaXhlcyByaWdodCBhZnRlciBpdC4KKwktIE1ha2UgImVuLXJhcmUiIHNwZWxsIGZpbGUuCisJICBDb252ZW50aW9uOiB1c2UgZW5fVVMgKGxhbmd1YWdlX3JlZ2lvbikgYW5kIGVuLXJhcmUgKGxhbmd1YWdlLWZpZWxkKQorCS0gTmVlZCB0byBjaGVjayBmb3IgYWZmaXhlcyBvZiB6ZXJvIGxlbmd0aD8KKwktIHNwZWNpZnkgd29yZCBjaGFyYWN0ZXJzIGluIC5hZmYgZmlsZT8KKwktIFBvbGlzaDogQW5pbyBhbmQgSGFuaW8gYXJlIHdyb25nIHdvcmRzLCBldmVuIHRob3VnaCBNeXNwZWxsIGFsbG93cworCSAgdGhlbS4gIFByb2JsZW0gd2l0aCBub3QgaWdub3JpbmcgY2FzZSBpbiBjb25kaXRpb25zLgorCS0gUHV0IGFkZGl0aW9uIHVwIHRvIGVuZCBvZiB3b3JkIGFsc28gaW4gaGFzaHRhYiwgc28gdGhhdCAicydhYWEiCisJICBpcyBmb3VuZCBieSAiJ2FhYSIsIHMtYmJiIGJ5ICItYmJiIiwgZXRjLiAgUHV0IHJlc3QgaW4gdGFibGUgKHNlYXJjaAorCSAgbG9uZ2VzdCBtYXRjaCkuCisgICAgICAgIC0gUmFyZSB3b3JkczogdXNlIGFub3RoZXIgZGljdGlvbmFyeS4gIEFkZCBobCBncm91cHMgdG8gJ3NwZWxsbGFuZyc/CisJICAgIDpzZXQgc3BlbGxsYW5nPWVuX3VzLGVuLnJhcmUvU3BlbGxSYXJlLGVuLm1hdGgvU3BlbGxNYXRoCisgICAgLSBSZWZlcmVuY2VzIE15U3BlbGwgbGlicmFyeSAoaW4gT3Blbk9mZmljZS5vcmcpLgogCWh0dHA6Ly9zcGVsbGNoZWNrZXIubW96ZGV2Lm9yZy9zb3VyY2UuaHRtbAorCWh0dHA6Ly93aGl0ZWJvYXJkLm9wZW5vZmZpY2Uub3JnL3NvdXJjZS9icm93c2Uvd2hpdGVib2FyZC9saW5ndWNvbXBvbmVudC9zb3VyY2Uvc3BlbGxjaGVjay9teXNwZWxsLworICAgICAgYXV0aG9yOiBLZXZpbiBIZW5kcmlja3MgPGtldmluLmhlbmRyaWNrc0BzeW1wYXRpY28uY2E+CiAgICAgLSBBbHRlcm5hdGl2ZTogdXNlIGFzcGVsbCBsaWJyYXJ5LgotICAgIC0gRHVtcCBwcmUtcGFyc2VkIHNwZWxsIHN0cnVjdHMgaW4gYSBmaWxlPworICAgICAgaXNwZWxsIGlzIHJlcGxhY2VkIGJ5IGFzcGVsbCwgdGh1cyBmb3JnZXQgYWJvdXQgaXQuCiAgICAgLSBNb3JlIGNvbXBsaWNhdGVkOiBSZWdpb25zIHdpdGggZGlmZmVyZW50IGxhbmd1YWdlcz8gIEUuZy4gY29tbWVudHMgaW4KICAgICAgIEVuZ2xpc2gsIHN0cmluZ3MgaW4gR2VybWFuIChwbyBmaWxlKS4KICAgICAtIENvbW1hbmRzIHJlcXVpcmVkOgpAQCAtNzIsMTIgKzEzOCwxMyBAQAogCSAgICA6c3BlbGwgd3JvbmcgPHdvcmQ+CSAgICB6dwogCVtzICBtb3ZlIHRvIHByZXZpb3VzIHNwZWxsIGVycm9yICBbUyBhbHNvIHJhcmUgd29yZAogCV1zICBtb3ZlIHRvIG5leHQgc3BlbGwgZXJyb3IgICAgICBdUyBhbHNvIHJhcmUgd29yZAorCSAgICAob25seSAiXXMiIGlzIGN1cnJlbnRseSBpbXBsZW1lbnRlZCkKICAgICAtIFVwZGF0ZSBvcHRpb24gd2luZG93IGZvciAnc3BlbGwnIGFuZCAnc3BlbGxsYW5nJy4KLSAgICAtIFVzZSBhbiBleHRlcm5hbCBwcm9ncmFtIGxpa2UgaXNwZWxsIG9yIGFzcGVsbCBmb3Igc3VnZ2VzdGlvbnMgdG8gY29ycmVjdAotICAgICAgdGhlIHNwZWxsaW5nLgotICAgIC0gTmVlZCB3b3JkbGlzdHMgZm9yIG1hbnkgbGFuZ3VhZ2VzOyAibGFuZ3VhZ2UgcGFjayIKLSAgICAtIFVzZSB3b3JkbGlzdHMgZnJvbSBvcGVub2ZmaWNlIChteXNwZWxsKS4gIFdvcmsgdG9nZXRoZXIgd2l0aCB0aGVtIHRvCi0gICAgICB1cGRhdGUgdGhlIHdvcmRsaXN0LiAgKEFkcmkgVmVyaG9lZiwgQWFkIE5hbGVzKQorICAgIC0gVXNlIGFuIGV4dGVybmFsIHByb2dyYW0gbGlrZSBhc3BlbGwgZm9yIHN1Z2dlc3Rpb25zIHRvIGNvcnJlY3QgdGhlCisgICAgICBzcGVsbGluZz8gIE9yIGluY2x1ZGUgdGhlIG15c3BlbGwvc3BlbGwgY29kZSBpbiBWaW0/CisgICAgLSBEaXN0cmlidXRpb246IE5lZWQgd29yZGxpc3RzIGZvciBtYW55IGxhbmd1YWdlczsgImxhbmd1YWdlIHBhY2siCisgICAgLSBXb3JrIHRvZ2V0aGVyIHdpdGggT3Blbk9mZmljLm9yZyB0byB1cGRhdGUgdGhlIHdvcmRsaXN0cy4gIChBZHJpCisgICAgICBWZXJob2VmLCBBYWQgTmFsZXMpCiAgICAgLSBTdXBwb3J0IGZvciBhcHByb3hpbWF0ZS1yZWdleHBzIHdpbGwgaGVscCB3aXRoIGZpbmRpbmcgc2ltaWxhciB3b3JkcwogICAgICAgKGFncmVwIGh0dHA6Ly93d3cudGdyaWVzLmRlL2FncmVwLykuCiAgICAgLSBDaGFybGVzIENhbXBiZWxsIGFza3MgZm9yIG1ldGhvZCB0byBhZGQgImNvbnRhaW5lZCIgZ3JvdXBzIHRvCkBAIC05Miw2ICsxNTksNyBAQAogCWlzcGVsbCBpbnNpZGUgVmltKS4gIEdhdXRhbSBJeWVyIGhhcyBhbiBleGFtcGxlIHdpdGggImFzcGVsbCIuCiAgICAgUGF0Y2ggZnJvbSBNYXJjaW4gRGFsZWNraSwgdXNlcyBwaXBlIHRvIGFzcGVsbC4KIAorCiAtICAgUkVGQUNUT1JJTkc6IFRoZSBtYWluKCkgZnVuY3Rpb24gaXMgdmVyeSBsb25nLiAgTW92ZSBwYXJ0cyB0byBzZXBhcmF0ZQogICAgIGZ1bmN0aW9ucywgZXNwZWNpYWxseSBsb29wcy4gIElkZWFzIGZyb20gV2FsdGVyIEJyaXNjb2UgKDIwMDMgQXByIDMsIDIwMDQKICAgICBGZWIgOSkuCkBAIC0xMTAsNiArMTc4LDggQEAKIAkgICAgb2YgaHR0cDovL2luc2VudmltLnNvdXJjZWZvcmdlLm5ldAogCWh0dHA6Ly9jZWRldC5zb3VyY2Vmb3JnZS5uZXQvaW50ZWxsaXNlbnNlLnNodG1sIChmb3IgRW1hY3MpCiAJSXZhbiBWaWxsYW51ZXZhIGhhcyBzb21ldGhpbmcgZm9yIEphdmEuCisJSWRlYXMgZnJvbSBFbWFkczoKKwkgICAgaHR0cDovL3d3dy54cmVmLXRlY2guY29tL3hyZWZhY3RvcnkvbW9yZV9jX2NvbXBsZXRpb24uaHRtbAogICAgIENhbid0IGNhbGwgaXQgSW50ZWxsaXNlbnNlLCBpdCBpcyBhIHRyYWRlbWFyayBieSBNaWNyb3NvZnQuCiAgICAgSWRlYXMgZnJvbSB0aGUgVmltIDcgQk9GIGF0IFNBTkU6CiAgICAgLSBJdCdzIG5vdCBwb3NzaWJsZSB0byBoYXZlIG9uZSBzb2x1dGlvbiBmb3IgYWxsIGxhbmd1YWdlcy4gIERlc2lnbiBhbgpAQCAtMjE4LDYgKzI4OCwxNCBAQAogCiBBZGp1c3Qgc3JjL21haW4uYWFwIGZvciBpbnN0YWxsaW5nIG1hbnBhZ2VzIGxpa2UgaW4gTWFrZWZpbGUuCiAKK0FkZCBzdHJ0b2woKSB0byBhdm9pZCB0aGUgcHJvYmxlbXMgd2l0aCBsZWFkaW5nIHplcm8gY2F1c2luZyBvY3RhbCBjb252ZXJzaW9uLgorCitUcnkgbmV3IFBPU0lYIHRlc3RzLCBtYWRlIGFmdGVyIG15IGNvbW1lbnRzLiAoR2VvZmYgQ2xhcmUsIDIwMDUgQXByaWwgNykKK0JlZm9yZSBBcHJpbCAyMyBpZiBwb3NzaWJsZS4KKworQWRkIGEgJ3Rvb2wnIHdpbmRvdzogYmVoYXZlcyBsaWtlIGEgcHJldmlldyB3aW5kb3cgYnV0IHRoZXJlIGNhbiBiZSBzZXZlcmFsLgorRG9uJ3QgY291bnQgaXQgaW4gb25seV9vbmVfd2luZG93KCkuIChBbGV4ZWkgQWxleGFuZHJvdikKKwogV2luMzI6IFBhdGNoIGZvciBLb3JlYW4gSU1FLiAoWXVzdW5nLCAyMDA1IE1hcmNoIDIxKQogCiBTdXBwb3J0ICI6c2V0IHN5bnRheD1jcHAuZG94eWdlbiI/ICBTdWdnZXN0ZWQgcGF0Y2ggYnkgTWljaGFlbCBHZWRkZXMgKDkgQXVnCkBAIC0zNjEsNyArNDM5LDcgQEAKICAgICBBbHNvOiBBIG1hcmsgaXMgbG9zdCBhZnRlcjogbWFrZSBjaGFuZ2UsIHVuZG8sIHJlZG8gYW5kIHVuZG8uCiAgICAgRXhhbXBsZTogIntkJyciIHRoZW4gInUiIHRoZW4gImQnJyI6IGRlbGV0ZXMgYW4gZXh0cmEgbGluZSwgYmVjYXVzZSB0aGUgJycKICAgICBwb3NpdGlvbiBpcyBvbmUgbGluZSBkb3duLiAoVmVzZWxpbm92aWMpCi04ICAgIjpjaGFuZ2UiIGluIGEgc2luZ2xlLWxpbmUgZmlsZSBhZGRzIGFuIGVtcHR5IGxpbmUuIFdoZW4gdGhlIGZpbGUgdXNlZCB0bworOCAgICI6Y2hhbmdlIiBpbiBhIHNpbmdsZS1saW5lIGZpbGUgYWRkcyBhbiBlbXB0eSBsaW5lLiAgV2hlbiB0aGUgZmlsZSB1c2VkIHRvCiAgICAgYmUgbG9uZ2VyIGEgIn4iIGxpbmUgaXMgZGlzcGxheWVkLCBidXQgdGhlcmUgcmVhbGx5IGlzIGFuIGVtcHR5IGxpbmUuCiAgICAgKEhhYWtvbiBSaWlzZXIsIDIwMDMgRGVjIDMgYW5kIERlYyAxNikKIDggICAiOmFwcGVuZCIgYW5kICI6aW5zZXJ0IiBpbiBhbiBlbXB0eSBmaWxlIGFkZCBhbiBleHRyYSBlbXB0eSBsaW5lLiAoSGFha29uCkBAIC01NDksNyArNjI3LDcgQEAKICAgICB3cm9uZy4KIDkgICBYSU0gaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3IgU0dJL0lSSVguICBGaXggWElNIHNvIHRoYXQgJ2ltZGlzYWJsZScgY2FuCiAgICAgYmUgb2ZmIGJ5IGRlZmF1bHQuCi05ICAgWElNIGRvZXNuJ3Qgd29yayBwcm9wZXJseSBmb3IgQXRoZW5hL01vdGlmLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKSBGb3Igbm93LAorOSAgIFhJTSBkb2Vzbid0IHdvcmsgcHJvcGVybHkgZm9yIEF0aGVuYS9Nb3RpZi4gKFlhc3VoaXJvIE1hdHN1bW90bykgIEZvciBub3csCiAgICAga2VlcCBYSU0gYWN0aXZlIGF0IGFsbCB0aW1lcyB3aGVuIHRoZSBpbnB1dCBtZXRob2QgaGFzIHRoZSBwcmVlZGl0aW5nCiAgICAgZmxhZy4KIDggICBYMTE6IEEgbWVudSB0aGF0IGNvbnRhaW5zIGFuIHVtbGF1dCBpcyB0cnVuY2F0ZWQgYXQgdGhhdCBjaGFyYWN0ZXIuCkBAIC04NzMsNyArOTUxLDcgQEAKIDcgICBUaGUgQ3lnd2luIGFuZCBNaW5nVyBtYWtlZmlsZXMgZGVmaW5lICJQQyIsIGJ1dCBpdCdzIG5vdCB1c2VkIGFueXdoZXJlLgogICAgIFJlbW92ZT8gKERhbiBTaGFycCkKIDkgICBUaGUgYXJndW1lbnQgPGYtYXJncz4gb2YgYSB1c2VyIGNvbW1hbmQgZG9lc24ndCBoYW5kbGUgYmFja3NsYXNoZXMKLSAgICBwcm9wZXJseS4gIkNtZCBcIGUiIGlzIG9uZSBhcmd1bWVudCwgIkNtZCBcXCBlIiBzdGlsbCBpcyBvbmUgYXJndW1lbnQuCisgICAgcHJvcGVybHkuICAiQ21kIFwgZSIgaXMgb25lIGFyZ3VtZW50LCAiQ21kIFxcIGUiIHN0aWxsIGlzIG9uZSBhcmd1bWVudC4KICAgICAiQ21kIFwgIGUiIGlzIHR3byBhcmd1bWVudHMsIGZpcnN0IG9uZSBlbmRpbmcgaW4gc3BhY2UuIChLb250cmEgR2VyZ2VseSkKIDkgICBVc2VyIGNvbW1hbmRzIHVzZSB0aGUgY29udGV4dCBvZiB0aGUgc2NyaXB0IHRoZXkgd2VyZSBkZWZpbmVkIGluLiAgVGhpcwogICAgIGNhdXNlcyBhICJzOnZhciIgYXJndW1lbnQgdG8gdW5leHBlY3RlZGx5IHVzZSBhIHZhcmlhYmxlIGluIHRoZSBkZWZpbmluZwpAQCAtODk1LDcgKzk3Myw3IEBACiAgICAgd29uJ3Qgd29yayBmb3IgR1RLIGFueXdheS4KIDggICBXaGVuIHRoZSBjbGlwYm9hcmQgaXNuJ3Qgc3VwcG9ydGVkOiAiOnlhbmsqIiBnaXZlcyBhIGNvbmZ1c2luZyBlcnJvcgogICAgIG1lc3NhZ2UuICBTcGVjaWZpY2FsbHkgbWVudGlvbiB0aGF0IHRoZSByZWdpc3RlciBuYW1lIGlzIGludmFsaWQuCi04ICAgImdmIiBhbHdheXMgZXhjbHVkZXMgdHJhaWxpbmcgcHVuY3R1YXRpb24gY2hhcmFjdGVycy4gZmlsZV9uYW1lX2luX2xpbmUoKQorOCAgICJnZiIgYWx3YXlzIGV4Y2x1ZGVzIHRyYWlsaW5nIHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMuICBmaWxlX25hbWVfaW5fbGluZSgpCiAgICAgaXMgY3VycmVudGx5IGZpeGVkIHRvIHVzZSAiLiw6OyEiLiAgQWRkIGFuIG9wdGlvbiB0byBtYWtlIHRoaXMKICAgICBjb25maWd1cmFibGU/CiA4ICAgJ2hrbWFwJyBzaG91bGQgcHJvYmFibHkgYmUgZ2xvYmFsLWxvY2FsLgpAQCAtMTExOCw3ICsxMTk2LDcgQEAKIC0gICBBbWlnYTogV2hlbiB1c2luZyBxdWlja2ZpeCB3aXRoIHRoZSBNYW54IGNvbXBpbGVyIHdlIG9ubHkgZ2V0IHRoZSBmaXJzdCAyNQogICAgIGVycm9ycy4gIEhvdyBkbyB3ZSBnZXQgdGhlIHJlc3Q/CiAtICAgQW1pZ2E6IFRoZSAiOmNxIiBjb21tYW5kIGRvZXMgbm90IGFsd2F5cyBhYm9ydCB0aGUgTWFueCBjb21waWxlci4gIFdoeT8KLS0gICBMaW51eDogQSBmaWxlIHdpdGggcHJvdGVjdGlvbiByLS1ydy1ydy0gaXMgc2VlbiByZWFkb25seSBmb3Igb3RoZXJzLiBUaGUKKy0gICBMaW51eDogQSBmaWxlIHdpdGggcHJvdGVjdGlvbiByLS1ydy1ydy0gaXMgc2VlbiByZWFkb25seSBmb3Igb3RoZXJzLiAgVGhlCiAgICAgYWNjZXNzKCkgZnVuY3Rpb24gaW4gR05VIGxpYmMgaXMgcHJvYmFibHkgd3JvbmcuCiAtICAgTVNET1M6IFdoZW4gdXNpbmcgc21hcnRkcml2ZSB3aXRoIHdyaXRlLWJhY2sgYnVmZmVyaW5nLCB3cml0aW5nIHRvIGEKICAgICByZWFkb25seSBmbG9wcHkgd2lsbCBjYXVzZSBwcm9ibGVtcy4gIEhvdyB0byB0ZXN0IGZvciBhIHdyaXRhYmxlIGZsb3BweQpAQCAtMTI2OSw2ICsxMzQ3LDcgQEAKIDggICBBZGQgInovIiBhbmQgIno/IiBmb3Igc2VhcmNoaW5nIGluIG5vdCBmb2xkZWQgdGV4dCBvbmx5LgogOCAgIEFkZCBkaWZmZXJlbnQgaGlnaGxpZ2h0aW5nIGZvciBhIGZvbGQgbGluZSBkZXBlbmRpbmcgb24gdGhlIGZvbGQgbGV2ZWwuCiAgICAgKE5vZWwgSGVuc29uKQorNyAgIFVzZSAiKystLSIsICIrKystLSIgZm9yIGRpZmZlcmVudCBsZXZlbHMgaW5zdGVhZCBvZiAiKy0tLSIgIistLS0tIi4KIDggICBXaGVuIGEgY2xvc2VkIGZvbGQgaXMgZGlzcGxheWVkIG9wZW4gYmVjYXVzZSBvZiAnZm9sZG1pbmxpbmVzJywgdGhlCiAgICAgYmVoYXZpb3Igb2YgY29tbWFuZHMgaXMgc3RpbGwgbGlrZSB0aGUgZm9sZCBpcyBjbG9zZWQuICBIb3cgdG8gbWFrZSB0aGUKICAgICB1c2VyIGF3YXJlIG9mIHRoaXM/CkBAIC0xMzExLDcgKzEzOTAsOCBAQAogICAgIE1hdGNoIHdpdGggIi1cKi1ccypjb2RpbmdbOj1dXHMqXChbOjp3b3JkOjotXy5dXCtcKVxzKi1cKi0iIGFuZCB1c2UgZmlyc3QKICAgICBpdGVtLgogOCAgIEFkZCBhbiBpdGVtIGluICdmaWxlZW5jb2RpbmdzJyB0byBjaGVjayB0aGUgZmlyc3QgbGluZSBvZiBhbiBYTUwgZmlsZSBmb3IKLSAgICB0aGUgZW5jb2RpbmcuIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+ICBPciAiY2hhcnNldD1VVEYtOCI/CisgICAgdGhlIGVuY29kaW5nLiAgPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4gIE9yICJjaGFyc2V0PVVURi04Ij8KKyAgICBGb3IgSFRNTCBsb29rIGZvciAiY2hhcnNldD11dGYtOCIuCiA4ICAgVGhlIHF1aWNrZml4IGZpbGUgaXMgcmVhZCB3aXRob3V0IGNvbnZlcnNpb24sIHRodXMgaW4gJ2VuY29kaW5nJy4gIEFkZCBhbgogICAgIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBlbmNvZGluZyBvZiB0aGUgZXJyb3JmaWxlIGFuZCBjb252ZXJ0IGl0LiAgQWxzbyBmb3IKICAgICAiOmdyZXAiIGFuZCAiOmhlbHBncmVwIi4KQEAgLTE0NDQsNyArMTUyNCw3IEBACiA3ICAgVXNlIHBhcnNpbmcgbGlrZSBhd2ssIHNvIHRoYXQgZS5nLiwgYSAoIHdpdGhvdXQgYSBtYXRjaGluZyApIGNhbiBiZQogICAgIGRldGVjdGVkLgogOCAgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlICJpbnZlcnRlZCIgaGlnaGxpZ2h0aW5nLCBpbnZlcnQgdGhlIG9yaWdpbmFsCi0gICAgY2hhcmFjdGVyLiAgRm9yIFZpc3VhbCBtb2RlLiAoeHRlcm0tc2VsZWN0aW9uIGFscmVhZHkgZG9lcyB0aGlzKS4KKyAgICBjaGFyYWN0ZXIuICBGb3IgVmlzdWFsIG1vZGUuICAoeHRlcm0tc2VsZWN0aW9uIGFscmVhZHkgZG9lcyB0aGlzKS4KIDggICBIaWdobGlnaHQgbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzIHdpdGggIlNwZWNpYWxDaGFyIiwgbGlua2VkIHRvCiAgICAgIlNwZWNpYWwiLiAgRGlzcGxheSB0aGVtIHdpdGggdGhlIGRpZ3JhcGggY2hhcmFjdGVycywgaWYgcG9zc2libGUuCiA4ICAgSGlnaGxpZ2h0IHRoZSBjbGlwYm9hcmQtc2VsZWN0aW9uIHdpdGggYSBoaWdobGlnaHQgZ3JvdXAuCkBAIC0xNzkwLDcgKzE4NzAsNyBAQAogICAgIENhcmVmdWw6IEZvciBhIHNldmVyZSBlcnJvciAob3V0IG9mIG1lbW9yeSksIGFuZCB3aGVuIHRoZSB1c2VyIHN0YXJ0cwogICAgIHR5cGluZywgZXJyb3IgbWVzc2FnZXMgbXVzdCBiZSBzd2l0Y2hlZCBiYWNrIG9uLgogICAgIEFsc28gYSBmbGFnIHRvIGlnbm9yZSBlcnJvciBtZXNzYWdlcyBmb3Igc2hlbGwgY29tbWFuZHMgKGZvciBtYXBwaW5ncykuCi0tICAgT3B0aW9uIHRvIHNldCB0aW1lIGZvciBlbXNnKCkgc2xlZXAuIEludGVycnVwdCBzbGVlcCB3aGVuIGtleSBpcyB0eXBlZD8KKy0gICBPcHRpb24gdG8gc2V0IHRpbWUgZm9yIGVtc2coKSBzbGVlcC4gIEludGVycnVwdCBzbGVlcCB3aGVuIGtleSBpcyB0eXBlZD8KICAgICBzbGVlcCBiZWZvcmUgc2Vjb25kIG1lc3NhZ2U/CiA4ICAgSW4gRXggc2lsZW50IG1vZGUgb3Igd2hlbiByZWFkaW5nIGNvbW1hbmRzIGZyb20gYSBmaWxlLCB3aGF0IGV4YWN0bHkgaXMKICAgICBub3QgcHJpbnRlZCBhbmQgd2hhdCBpcz8gIENoZWNrICI6cHJpbnQiLCAiOnNldCBhbGwiLCAiOmFyZ3MiLCAiOnZlcnMiLApAQCAtMjAyOCw3ICsyMTA4LDcgQEAKIDcgICBNb3RpZjogRm9yIGEgY29uZmlybSgpIGRpYWxvZyA8RW50ZXI+IHNob3VsZCBiZSBpZ25vcmVkIHdoZW4gbm8gZGVmYXVsdAogICAgIGJ1dHRvbiBzZWxlY3RlZCwgPEVzYz4gc2hvdWxkIGNsb3NlIHRoZSBkaWFsb2cuCiA3ICAgV2hlbiB1c2luZyBhIHBzZXVkby10dHkgVmltIHNob3VsZCBiZWhhdmUgbGlrZSBzb21lIHRlcm1pbmFsICh2dDUyIGxvb2tzCi0gICAgc2ltcGxlIGVub3VnaCkuIFRlcm1pbmFsIGNvZGVzIHRvL2Zyb20gc2hlbGwgc2hvdWxkIGJlIHRyYW5zbGF0ZWQuCisgICAgc2ltcGxlIGVub3VnaCkuICBUZXJtaW5hbCBjb2RlcyB0by9mcm9tIHNoZWxsIHNob3VsZCBiZSB0cmFuc2xhdGVkLgogLSAgIFdvdWxkIGl0IGJlIHVzZWZ1bCB0byBiZSBhYmxlIHRvIHF1aXQgdGhlIEdVSSBhbmQgZ28gYmFjayB0byB0aGUgdGVybWluYWwKICAgICB3aGVyZSBpdCB3YXMgc3RhcnRlZCBmcm9tPwogNyAgIFN1cHBvcnQgIi12aXN1YWwgPHR5cGU+IiBjb21tYW5kIGxpbmUgYXJndW1lbnQuCkBAIC0yMzUzLDcgKzI0MzMsNyBAQAogOSAgIFdyb25nIGluZGVudCBmb3IgY2lubz0oNCwgcmVtb3ZpbmcgdGhlICh2b2lkKSBmaXhlcyBpdDogKFplbGxuZXIpCiAJKHZvaWQpIE15RmFuY3lGdW5jdGlvbigKIAkJCSAgICAgICBhcmd1bWVudCk7Ci0tICAgTWFrZSBzbWFydGluZGVudGluZyBjb25maWd1cmFibGUuIEFkZCAnc2lvcHRpb25zJywgZS5nLiAnIycgc2V0dGluZyB0aGUKKy0gICBNYWtlIHNtYXJ0aW5kZW50aW5nIGNvbmZpZ3VyYWJsZS4gIEFkZCAnc2lvcHRpb25zJywgZS5nLiAnIycgc2V0dGluZyB0aGUKICAgICBpbmRlbnQgdG8gMCBzaG91bGQgYmUgc3dpdGNoZWQgb24vb2ZmLgogNyAgIFN1cHBvcnQgQU5TSSBzdHlsZSBmdW5jdGlvbiBoZWFkZXIsIHdpdGggZWFjaCBhcmd1bWVudCBvbiBpdHMgb3duIGxpbmUuCiAtICAgIltwIiBhbmQgIl1wIiBzaG91bGQgdXNlICdjaW5kZW50JyBjb2RlIGlmIGl0J3Mgb24gKG9ubHkgZm9yIHRoZSBmaXJzdApAQCAtMjUwOSwxNiArMjU4OSwxNiBAQAogNiAgIEluIG5vbi1CbG9jayBtb2RlLCAiQSIgc2hvdWxkIGFwcGVuZCB0aGUgc2FtZSB0ZXh0IGFmdGVyIGVhY2ggbGluZS4KIDYgICAiOic8LCc+c291cmNlIiBzaG91bGQgcmVhZCB0aGUgc2VsZWN0ZWQgbGluZXMgYW5kICI6c291cmNlIiB0aGVtLgogNiAgIFdoZW4gaW4gYmxvY2t3aXNlIHZpc3VhbCBzZWxlY3Rpb24gKENUUkwtViksIGFsbG93IGN1cnNvciB0byBiZSBwbGFjZWQKLSAgICByaWdodCBvZiB0aGUgbGluZS4gQ291bGQgYWxzbyBhbGxvdyBjdXJzb3IgdG8gYmUgcGxhY2VkIGFueXdoZXJlIG9uIGEgVEFCCisgICAgcmlnaHQgb2YgdGhlIGxpbmUuICBDb3VsZCBhbHNvIGFsbG93IGN1cnNvciB0byBiZSBwbGFjZWQgYW55d2hlcmUgb24gYSBUQUIKICAgICBvciBvdGhlciBzcGVjaWFsIGNoYXJhY3Rlci4KIDYgICBBZGQgY29tbWFuZHMgdG8gbW92ZSBzZWxlY3RlZCB0ZXh0LCB3aXRob3V0IGRlc2VsZWN0aW5nLgogCiAKIE1vcmUgYWR2YW5jZWQgcmVwZWF0aW5nIGNvbW1hbmRzOgogLSAgIEFkZCAiLiIgY29tbWFuZCBmb3IgdmlzdWFsIG1vZGU6IHJlZG8gbGFzdCB2aXN1YWwgY29tbWFuZCAoZS5nLiAiOmZtdCIpLgotNyAgIFJlcGVhdGluZyAiZDp7Y21kfSIgd2l0aCAiLiIgZG9lc24ndCB3b3JrLiAoQmVuamkgRmlzaGVyKSBTb21laG93IHJlbWVtYmVyCis3ICAgUmVwZWF0aW5nICJkOntjbWR9IiB3aXRoICIuIiBkb2Vzbid0IHdvcmsuIChCZW5qaSBGaXNoZXIpICBTb21laG93IHJlbWVtYmVyCiAgICAgdGhlIGNvbW1hbmQgbGluZSBzbyB0aGF0IGl0IGNhbiBiZSByZXBlYXRlZD8KLS0gICBBZGQgIi4iIGNvbW1hbmQgYWZ0ZXIgb3BlcmF0b3I6IHJlcGVhdCBsYXN0IGNvbW1hbmQgb2Ygc2FtZSBvcGVyYXRvci4gRS5nLgorLSAgIEFkZCAiLiIgY29tbWFuZCBhZnRlciBvcGVyYXRvcjogcmVwZWF0IGxhc3QgY29tbWFuZCBvZiBzYW1lIG9wZXJhdG9yLiAgRS5nLgogICAgICJjLiIgd2lsbCByZXBlYXQgbGFzdCBjaGFuZ2UsIGFsc28gd2hlbiAieCIgdXNlZCBzaW5jZSB0aGVuIChXZWJiKS4KICAgICAieS4iIHdpbGwgcmVwZWF0IGxhc3QgeWFuay4KICAgICAiYzIuIiB3aWxsIHJlcGVhdCB0aGUgbGFzdCBidXQgb25lIGNoYW5nZT8KQEAgLTI1NTYsNyArMjYzNiw3IEBACiAgICAgbm90IGZvb2wgcHJvb2YuICBIb3cgdG8gaGFuZGxlIGFtYmlndW91cyBtYXBwaW5ncz8KIDcgICBBZGQgPDB4OGY+IChoZXgpLCA8MDMzPiAob2N0YWwpIGFuZCA8MTIzPiAoZGVjaW1hbCkgdG8gPD4gbm90YXRpb24/CiA3ICAgQWxsb3cgbWFwcGluZyAiUSIgYW5kICJRfSIgYXQgdGhlIHNhbWUgdGltZS4gIE5lZWQgdG8gcHV0IGEgZmxhZyB3aXRoICJRIiwKLSAgICB0aGF0IGl0IG5lZWRzIGFuIGV4dHJhIGNoYXJhY3RlciBiZWZvcmUgaXQgY2FuIG1hdGNoLiBTZWUgVmlsZSAnbWFwbG9uZ2VyJworICAgIHRoYXQgaXQgbmVlZHMgYW4gZXh0cmEgY2hhcmFjdGVyIGJlZm9yZSBpdCBjYW4gbWF0Y2guICBTZWUgVmlsZSAnbWFwbG9uZ2VyJwogICAgIG9wdGlvbi4KIDcgICBXaGVuIHNvbWVvbmUgdHJpZXMgdG8gdW5tYXAgd2l0aCBhIHRyYWlsaW5nIHNwYWNlLCBhbmQgaXQgZmFpbHMsIHRyeQogICAgIHVubWFwcGluZyB3aXRob3V0IHRoZSB0cmFpbGluZyBzcGFjZS4gIEhlbHBzIGZvciAiOnVubWFwIHh4IHwgdW5tYXAgeXkiLgpAQCAtMjU5OCw3ICsyNjc4LDcgQEAKIC0gICBMaXN0IG1hcHBpbmdzIHRoYXQgaGF2ZSBhIHJhdyBlc2NhcGUgc2VxdWVuY2UgYm90aCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBrZXkKICAgICBmb3IgdGhhdCBlc2NhcGUgc2VxdWVuY2UgKGlmIHRoZXJlIGlzIG9uZSkgYW5kIHRoZSBzZXF1ZW5jZSBpdHNlbGYuCiAtICAgTGlzdCBtYXBwaW5nczogT25jZSB3aXRoIHNwZWNpYWwga2V5cyBsaXN0ZWQgYXMgPD4sIG9uY2Ugd2l0aCBtZXRhIGNoYXJzIGFzCi0gICAgPE0tYT4sIG9uY2Ugd2l0aCB0aGUgYnl0ZSB2YWx1ZXMgKG9jdGFsPykuIFNvcnQgb2YgInNwZWxsIG1hcHBpbmciIGNvbW1hbmQ/CisgICAgPE0tYT4sIG9uY2Ugd2l0aCB0aGUgYnl0ZSB2YWx1ZXMgKG9jdGFsPykuICBTb3J0IG9mICJzcGVsbCBtYXBwaW5nIiBjb21tYW5kPwogLSAgIFdoZW4gZW50ZXJpbmcgbWFwcGluZ3M6IEFkZCB0aGUgcG9zc2liaWxpdHkgdG8gZW50ZXIgbWV0YSBrZXlzIGxpa2UgdGhleQogICAgIGFyZSBkaXNwbGF5ZWQsIHdpdGhpbiA8PjogPE0tYT4sIDx+QD4gb3IgPHxhPi4KIC0gICBBbGxvdyBtdWx0aXBsZSBhcmd1bWVudHMgdG8gOnVubWFwLgpAQCAtMjcwOSwxNyArMjc4OSwxNyBAQAogICAgIGFzIFZpc3VhbCBhcmVhLiAodmFyaWF0aW9uIG9uIGlkZWEgZnJvbSBCZXJ0aW4pCiAtICAgU2VhcmNoaW5nOiAiL3RoaXMvL3RoYXQvIiBzaG91bGQgZmluZCAidGhhdCIgYWZ0ZXIgInRoaXMiLgogLSAgIEFkZCBnbG9iYWwgc2VhcmNoIGNvbW1hbmRzOiBJbnN0ZWFkIG9mIHdyYXBwaW5nIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciwKLSAgICB0aGV5IGNvbnRpbnVlIGluIGFub3RoZXIgYnVmZmVyLiBVc2UgZmxhZyBhZnRlciBzZWFyY2ggcGF0dGVybjoKKyAgICB0aGV5IGNvbnRpbnVlIGluIGFub3RoZXIgYnVmZmVyLiAgVXNlIGZsYWcgYWZ0ZXIgc2VhcmNoIHBhdHRlcm46CiAgICAgYQlmb3IgdGhlIG5leHQgZmlsZSBpbiB0aGUgYXJndW1lbnQgbGlzdAogICAgIGYJZm9yIGZpbGUgaW4gdGhlIGJ1ZmZlciBsaXN0CiAgICAgdwlmb3IgZmlsZSBlZGl0ZWQgaW4gYSB3aW5kb3cuCi0gICAgZS5nLiAiL3BhdC9mIi4gVGhlbiAibiIgYW5kICJOIiB3b3JrIHRocm91Z2ggZmlsZXMgdG9vLiAiZiIgZmxhZyBhbHNvIGZvcgotICAgICI6cy9wYXQvZm9vL2YiPz8/IFRoZW4gd2hlbiAnYXV0b3dyaXRlJyBhbmQgJ2hpZGRlbicgYXJlIGJvdGggbm90IHNldCwgYXNrCisgICAgZS5nLiAiL3BhdC9mIi4gIFRoZW4gIm4iIGFuZCAiTiIgd29yayB0aHJvdWdoIGZpbGVzIHRvby4gICJmIiBmbGFnIGFsc28gZm9yCisgICAgIjpzL3BhdC9mb28vZiI/Pz8gIFRoZW4gd2hlbiAnYXV0b3dyaXRlJyBhbmQgJ2hpZGRlbicgYXJlIGJvdGggbm90IHNldCwgYXNrCiAgICAgYmVmb3JlIHNhdmluZyBmaWxlczogIlNhdmUgbW9kaWZpZWQgYnVmZmVyICIvcGF0aC9maWxlIj8gKFllcy9IaWRlL05vCiAgICAgU2F2ZS1hbGwvaGlkZS1BbGwvUXVpdCkgIi4KIC0gICAiOnMvcGF0L2Zvby8zIjogZmluZCAzcmQgbWF0Y2ggb2YgInBhdCIsIGxpa2Ugc2VkLiAoVGhvbWFzIEtvZWhsZXIpCiA3ICAgV2hlbiBzZWFyY2hpbmcgd2l0aCAnbicgZ2l2ZSBtZXNzYWdlIHdoZW4gZ2V0dGluZyBiYWNrIHdoZXJlIHRoZSBzZWFyY2gKLSAgICBmaXJzdCBzdGFydGVkLiBSZW1lbWJlciBzdGFydCBvZiBzZWFyY2ggaW4gJy8gbWFyay4KKyAgICBmaXJzdCBzdGFydGVkLiAgUmVtZW1iZXIgc3RhcnQgb2Ygc2VhcmNoIGluICcvIG1hcmsuCiA3ICAgQWRkIG9wdGlvbiB0aGF0IHNjcm9sbHMgc2NyZWVuIHRvIHB1dCBjdXJzb3IgaW4gbWlkZGxlIG9mIHNjcmVlbiBhZnRlcgogICAgIHNlYXJjaCBhbHdheXMvd2hlbiBvZmYtc2NyZWVuL25ldmVyLiAgQW5kIGFmdGVyIGEgIjp0YWciIGNvbW1hbmQuICBNYXliZQogICAgIHNwZWNpZnkgaG93IG1hbnkgbGluZXMgYmVsb3cgdGhlIHNjcmVlbiBjYXVzZXMgYSByZWRyYXcgd2l0aCB0aGUgY3Vyc29yIGluCkBAIC0yNzc1LDggKzI4NTUsOCBAQAogOCAgIFVuaXg6IENoZWNrIGFsbCB1c2VzIG9mIGZuYW1lY21wKCkgYW5kIGZuYW1lbmNtcCgpIGlmIHRoZXkgc2hvdWxkIGNoZWNrCiAgICAgaW5vZGUgdG9vLgogNyAgIEFkZCBhbm90aGVyIG51bWJlciBmb3IgYSBidWZmZXIsIHdoaWNoIGlzIHZpc2libGUgZm9yIHRoZSB1c2VyLiAgV2hlbgotICAgIGNyZWF0aW5nIGEgbmV3IGJ1ZmZlciwgdXNlIHRoZSBsb3dlc3QgbnVtYmVyIG5vdCBpbiB1c2UuIChvciB0aGUgaGlnaGVzdAotICAgIG51bWJlciBpbiB1c2UgcGx1cyBvbmU/KQorICAgIGNyZWF0aW5nIGEgbmV3IGJ1ZmZlciwgdXNlIHRoZSBsb3dlc3QgbnVtYmVyIG5vdCBpbiB1c2UgKG9yIHRoZSBoaWdoZXN0CisgICAgbnVtYmVyIGluIHVzZSBwbHVzIG9uZT8pLgogNyAgIE9mZmVyIHNvbWUgYnVmZmVyIHNlbGVjdGlvbiBmcm9tIHRoZSBjb21tYW5kIGxpbmU/ICBMaWtlIHVzaW5nICI6bHMiIGFuZAogICAgIGFza2luZyBmb3IgYSBidWZmZXIgbnVtYmVyLiAoWmFjaG1hbm4pCiAtICAgV2hlbiBzdGFydGluZyB0byBlZGl0IGEgZmlsZSB0aGF0IGlzIGFscmVhZHkgaW4gdGhlIGJ1ZmZlciBsaXN0LCB1c2UgdGhlCkBAIC0yNzg4LDcgKzI4NjgsNyBAQAogNyAgIEFkZCBleHBhbnNpb24gb2YgYnVmZmVyIG5hbWVzLCBzbyB0aGF0ICIqLmMiIGlzIGV4cGFuZGVkIHRvIGFsbCBidWZmZXIKICAgICBuYW1lcy4gIE5lZWRlZCBmb3IgIjpiZGVsICouYyIsICI6YnVubG9hZCAqLmMiLCBldGMuCiA4ICAgU3VwcG9ydCBmb3IgPGFmaWxlPiB3aGVyZSBhIGJ1ZmZlciBuYW1lIGlzIGV4cGVjdGVkLgotOCAgIFNvbWUgY29tbWFuZHMgZG9uJ3QgdXNlIGxpbmUgbnVtYmVycywgYnV0IGJ1ZmZlciBudW1iZXJzLiAnJCcKKzggICBTb21lIGNvbW1hbmRzIGRvbid0IHVzZSBsaW5lIG51bWJlcnMsIGJ1dCBidWZmZXIgbnVtYmVycy4gICckJwogICAgIHNob3VsZCB0aGVuIG1lYW4gdGhlIG51bWJlciBvZiB0aGUgbGFzdCBidWZmZXIuICBFLmcuOiAiNCwkYmRlbCIuCiA3ICAgQWRkIGFuIG9wdGlvbiB0byBtb3N0bHkgdXNlIHNsYXNoZXMgaW4gZmlsZSBuYW1lcy4gIFNlcGFyYXRlbHkgZm9yCiAgICAgaW50ZXJuYWwgdXNlIGFuZCBmb3Igd2hlbiBleGVjdXRpbmcgYW4gZXh0ZXJuYWwgcHJvZ3JhbT8KQEAgLTI4MDIsMTQgKzI4ODIsMTQgQEAKICAgICBmaWxlIGZvciB0aGUgV2luMzIgYW5kIERvcyAzMiBiaXQgdmVyc2lvbnMuCiA4ICAgV2hlbiBhIGZpbGUgaXMgZWRpdGVkIGJ5IHJvb3QsIGFkZCAkTE9HTkFNRSB0byBrbm93IHdobyBkaWQgc3UuCiA4ICAgV2hlbiB0aGUgZWRpdGVkIGZpbGUgaXMgYSBzeW1saW5rLCB0cnkgdG8gcHV0IHRoZSBzd2FwIGZpbGUgaW4gdGhlIHNhbWUKLSAgICBkaXIgYXMgdGhlIGFjdHVhbCBmaWxlLiBBZGp1c3QgRnVsbE5hbWUoKS4JQXZvaWRzIGVkaXRpbmcgdGhlIHNhbWUgZmlsZQorICAgIGRpciBhcyB0aGUgYWN0dWFsIGZpbGUuICBBZGp1c3QgRnVsbE5hbWUoKS4gIEF2b2lkcyBlZGl0aW5nIHRoZSBzYW1lIGZpbGUKICAgICB0d2ljZSAoZS5nLiB3aGVuIHVzaW5nIHF1aWNrZml4KS4gIEFsc28gdHJ5IHRvIG1ha2UgdGhlIG5hbWUgb2YgdGhlIGJhY2t1cAogICAgIGZpbGUgdGhlIHNhbWUgYXMgdGhlIGFjdHVhbCBmaWxlPwogICAgIFVzZSB0aGUgY29kZSBmb3IgcmVzb2x2ZSgpPwogNyAgIFdoZW4gdXNpbmcgNjQgYml0IGlub2RlIG51bWJlcnMsIGFsc28gc3RvcmUgdGhlIHRvcCAzMiBiaXRzLiAgQWRkIGFub3RoZXIKICAgICBmaWVsZCBmb3IgdGhpcywgdXNpbmcgcGFydCBvZiBib19mbmFtZVtdLCB0byBrZWVwIGl0IGNvbXBhdGlibGUuCiA3ICAgV2hlbiBlZGl0aW5nIGEgZmlsZSBvbiByZW1vdmFibGUgbWVkaWEsIHNob3VsZCBwdXQgc3dhcCBmaWxlIHNvbWV3aGVyZQotICAgIGVsc2UuICBVc2Ugc29tZXRoaW5nIGxpa2UgJ3InIGZsYWcgaW4gJ3ZpbWluZm8nLiAnZGlyYXZvaWQnPworICAgIGVsc2UuICBVc2Ugc29tZXRoaW5nIGxpa2UgJ3InIGZsYWcgaW4gJ3ZpbWluZm8nLiAgJ2RpcmF2b2lkJz8KICAgICBBbHNvOiBCZSBhYmxlIHRvIHNwZWNpZnkgbWluaW11bSBkaXNrIHNwYWNlLCBza2lwIGRpcmVjdG9yeSB3aGVuIG5vdAogICAgIGVub3VnaCByb29tLgogNyAgIEFkZCBhIGNvbmZpZ3VyZSBjaGVjayBmb3Igd2hpY2ggZGlyZWN0b3J5IHNob3VsZCBiZSB1c2VkOiAvdG1wLCAvdmFyL3RtcApAQCAtMjkxNCw3ICsyOTk0LDcgQEAKIDcgICBBZGQgYSAnd2luZml4d2lkdGgnIG9wdGlvbiwgc2ltaWxhciB0byAnd2luZml4aGVpZ2h0Jy4KIDYgICBBZGQgYW4gb3B0aW9uIHRvIHJlc2l6ZSB0aGUgc2hlbGwgd2hlbiBzcGxpdHRpbmcgYW5kL29yIGNsb3NpbmcgYSB3aW5kb3cuCiAgICAgIjp2c3AiIHdvdWxkIG1ha2UgdGhlIHNoZWxsIHdpZGVyIGJ5IGFzIG1hbnkgY29sdW1ucyBhcyBuZWVkZWQgZm9yIHRoZSBuZXcKLSAgICB3aW5kb3cuICBTcGVjaWZ5IGEgbWF4aW11bSBzaXplIChvciB1c2UgdGhlIHNjcmVlbiBzaXplKS4gIjpjbG9zZSIgd291bGQKKyAgICB3aW5kb3cuICBTcGVjaWZ5IGEgbWF4aW11bSBzaXplIChvciB1c2UgdGhlIHNjcmVlbiBzaXplKS4gICI6Y2xvc2UiIHdvdWxkCiAgICAgc2hyaW5rIHRoZSBzaGVsbCBieSBhcyBtYW55IGNvbHVtbnMgYXMgY29tZSBhdmFpbGFibGUuIChEZW1pcmVsKQogNyAgIFdoZW4gc3RhcnRpbmcgVmltIHNldmVyYWwgdGltZXMsIGluc3RhbnRpYXRlIGEgVmltIHNlcnZlciwgdGhhdCBhbGxvd3MKICAgICBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIGRpZmZlcmVudCBWaW1zLiAgRmVlbHMgbGlrZSBvbmUgVmltIHJ1bm5pbmcgd2l0aApAQCAtMjkyOSw3ICszMDA5LDcgQEAKIE1hcmtzOgogOCAgIFdoZW4gY3Vyc29yIGlzIGZpcnN0IG1vdmVkIGJlY2F1c2Ugb2Ygc2Nyb2xsaW5nLCBzZXQgYSBtYXJrIGF0IHRoaXMKICAgICBwb3NpdGlvbi4gIChSaW1vbiBCYXJyKSAgVXNlICctLgotOCAgIEFkZCBhIGNvbW1hbmQgdG8ganVtcCB0byBhIG1hcmsgYW5kIG1ha2UgdGhlIG1vdGlvbiBpbmNsdXNpdmUuIGcnbSBhbmQgZ2BtPworOCAgIEFkZCBhIGNvbW1hbmQgdG8ganVtcCB0byBhIG1hcmsgYW5kIG1ha2UgdGhlIG1vdGlvbiBpbmNsdXNpdmUuICBnJ20gYW5kIGdgbT8KIDggICBUaGUgJyIgbWFyayBpcyBzZXQgdG8gdGhlIGZpcnN0IGxpbmUsIGV2ZW4gd2hlbiBkb2luZyAiOm5leHQiIGEgZmV3IHRpbWVzLgogICAgIE9ubHkgc2V0IHRoZSAnIiBtYXJrIHdoZW4gdGhlIGN1cnNvciB3YXMgcmVhbGx5IG1vdmVkIGluIGEgZmlsZS4KIDggICBNYWtlIGBgIGFuZCAnJywgd2hpY2ggd291bGQgcG9zaXRpb24gdGhlIG5ldyBjdXJzb3IgcG9zaXRpb24gaW4gdGhlIG1pZGRsZQpAQCAtMjk4Nyw3ICszMDY3LDcgQEAKICAgICBFLmcuLCAiOnNldCBwYXRjaG1vZGU9fi9iYWNrdXBzLyoub3JpZyIuIChUaG9tYXMpCiA2ICAgQWRkIGFuIG9wdGlvbiB0byBwcmVwZW5kIHNvbWV0aGluZyB0byB0aGUgYmFja3VwIGZpbGUgbmFtZS4gIEUuZy4sICIjIi4KICAgICBPciBtYXliZSBhbGxvdyBhIGZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgYmFja3VwIGZpbGUgbmFtZT8KLTggICBPbmx5IG1ha2UgYSBiYWNrdXAgd2hlbiBvdmVyd3JpdGluZyBhIGZpbGUgZm9yIHRoZSBmaXJzdCB0aW1lLiBBdm9pZHMKKzggICBPbmx5IG1ha2UgYSBiYWNrdXAgd2hlbiBvdmVyd3JpdGluZyBhIGZpbGUgZm9yIHRoZSBmaXJzdCB0aW1lLiAgQXZvaWRzCiAgICAgbG9zaW5nIHRoZSBvcmlnaW5hbCB3aGVuIHdyaXRpbmcgdHdpY2UuIChTbG9vdG1hbikKIDcgICBPbiBub24tVW5peCBtYWNoaW5lcywgYWxzbyBvdmVyd3JpdGUgdGhlIG9yaWdpbmFsIGZpbGUgaW4gc29tZSBzaXR1YXRpb25zCiAgICAgKGZpbGUgc3lzdGVtIGZ1bGwsIGl0J3MgYSBsaW5rIG9uIGFuIE5GUyBwYXJ0aXRpb24pLgpAQCAtMzAwMiwxMyArMzA4MiwxMyBAQAogCiAKIFN1YnN0aXR1dGU6Ci04ICAgTWFrZSBpdCBlYXNpZXIgdG8gcmVwbGFjZSBpbiBhbGwgZmlsZXMgaW4gdGhlIGFyZ3VtZW50IGxpc3QuIEUuZy46Cis4ICAgTWFrZSBpdCBlYXNpZXIgdG8gcmVwbGFjZSBpbiBhbGwgZmlsZXMgaW4gdGhlIGFyZ3VtZW50IGxpc3QuICBFLmcuOgogICAgICI6YXJnc3ViL29sZHdvcmQvbmV3d29yZC8iLiAgV29ya3MgbGlrZSAiOmFyZ2RvICVzL29sZHdvcmQvbmV3d29yZC9nfHciLgogLSAgIDpzLy8vcCBwcmludHMgdGhlIGxpbmUgYWZ0ZXIgYSBzdWJzdGl0dXRpb24uCiAtICAgV2l0aCA6cy8vL2MgcmVwbGFjZSBcJiwgfiwgZXRjLiB3aGVuIHNob3dpbmcgdGhlIHJlcGxhY2VtZW50IHBhdHRlcm4uCiA4ICAgV2l0aCA6cy8vL2MgYWxsb3cgc2Nyb2xsaW5nIGhvcml6b250YWxseSB3aGVuICdub3dyYXAnIGlzIGVmZmVjdGl2ZS4KICAgICBBbHNvIGFsbG93IGEgY291bnQgYmVmb3JlIHRoZSBzY3JvbGxpbmcga2V5cy4KLS0gICBBZGQgbnVtYmVyIG9wdGlvbiB0byAiOnMvLzIiOiByZXBsYWNlIHNlY29uZCBvY2N1cnJlbmNlIG9mIHN0cmluZz8gT3I6CistICAgQWRkIG51bWJlciBvcHRpb24gdG8gIjpzLy8yIjogcmVwbGFjZSBzZWNvbmQgb2NjdXJyZW5jZSBvZiBzdHJpbmc/ICBPcjoKICAgICA6cy8vL04gc3Vic3RpdHV0ZXMgTiB0aW1lcy4KIC0gICBBZGQgYW5zd2VycyB0byAiOnN1YnN0aXR1dGUiIHdpdGggJ2MnIGZsYWcsIHVzZWQgaW4gYSAiOmdsb2JhbCIsIGUuZy46CiAgICAgIjpnL3BhdDEvcy9wYXQyL3BhdDMvY2ciOiAnQScgZG8gYWxsIHJlbWFpbmluZyByZXBsYWNlbWVudHMsICdRJyBkb24ndCBkbwpAQCAtMzEwNyw3ICszMTg3LDcgQEAKICAgICBPdmVycnVsZXMgdGhlIGRlZmF1bHQgb2YgIi0tcmVtb3RlLXNlbmQiIHRvIGZhaWwgYW5kICItLXJlbW90ZSIgdG8gZG8gaXQKICAgICBpbiB0aGlzIFZpbS4KIDggICBXaGVuIFZpbSB3YXMgc3RhcnRlZCB3aXRob3V0IGEgc2VydmVyLCBtYWtlIGl0IHBvc3NpYmxlIHRvIHN0YXJ0IG9uZSwgYXMKLSAgICBpZiB0aGUgIi0tc2VydmVybmFtZSIgYXJndW1lbnQgd2FzIGdpdmVuLiAiOnN0YXJ0c2VydmVyIDxuYW1lPiI/CisgICAgaWYgdGhlICItLXNlcnZlcm5hbWUiIGFyZ3VtZW50IHdhcyBnaXZlbi4gICI6c3RhcnRzZXJ2ZXIgPG5hbWU+Ij8KIDggICBObyBhZGRyZXNzIHJhbmdlIGNhbiBiZSB1c2VkIGJlZm9yZSB0aGUgY29tbWFuZCBtb2RpZmllcnMuICBUaGlzIG1ha2VzCiAgICAgdGhlbSBkaWZmaWN1bHQgdG8gdXNlIGluIGEgbWVudSBmb3IgVmlzdWFsIG1vZGUuICBBY2NlcHQgdGhlIHJhbmdlIGFuZAogICAgIGhhdmUgaXQgYXBwbHkgdG8gdGhlIGZvbGxvd2luZyBjb21tYW5kLgpAQCAtMzE3OCw3ICszMjU4LDcgQEAKICAgICBidWZmZXIuICBNYWtlIGp1bXBsaXN0IHJlbWVtYmVyIHRoZSBsYXN0IHRlbiBhY2Nlc3NlZCBidWZmZXJzPwogLSAgIEtlZXAgYSBsaXN0IG9mIG1vc3QgcmVjZW50bHkgdXNlZCBmaWxlcyBmb3IgZWFjaCB3aW5kb3csIHVzZSAiW28iIHRvIGdvCiAgICAgYmFjayAob2xkZXIgZmlsZSkgYW5kICJdbiIgdG8gZ28gZm9yd2FyZCAobmV3ZXIgZmlsZSkgKGxpa2UgXk8gYW5kIF5JIGZvcgotICAgIGp1bXBzKSAoV2ViYikuIFVzZSAiOmZpbGVzIiBhbmQgIjpscyIgdG8gbGlzdCB0aGUgZmlsZXMgaW4gaGlzdG9yeSBvcmRlci4KKyAgICBqdW1wcykuIChXZWJiKSAgVXNlICI6ZmlsZXMiIGFuZCAiOmxzIiB0byBsaXN0IHRoZSBmaWxlcyBpbiBoaXN0b3J5IG9yZGVyLgogNyAgIEFkZCBhIGhpc3Rvcnkgb2YgcmVjZW50bHkgYWNjZXNzZWQgYnVmZmVyLglNYXliZSBtYWtlICIyIENUUkwtXiIganVtcCB0bwogICAgIHRoZSAybmQgcHJldmlvdXNseSB2aXNpdGVkIGJ1ZmZlciwgIjMgQ1RSTC1eIiB0byB0aGUgdGhpcmQsIGV0Yy4gIE9yIHVzZQogICAgICIzIGcgQ1RSTC1eIiBmb3IgdGhpcz8KQEAgLTMyOTUsNyArMzM3NSw3IEBACiAgICAgQWRkIHNldHRpbmcgb2YgJ25yZm9ybWF0cycgdG8gc3ludGF4IGZpbGVzLgogLSAgICdwYXRoJyBjYW4gYmVjb21lIHZlcnkgbG9uZywgZG9uJ3QgdXNlIE5hbWVCdWZmIGZvciBleHBhbnNpb24uCiAtICAgV2hlbiB1bmhpZGluZyBhIGhpZGRlbiBidWZmZXIsIHB1dCB0aGUgc2FtZSBsaW5lIGF0IHRvcCBvZiB0aGUgd2luZG93IGFzCi0gICAgdGhlIG9uZSBiZWZvcmUgaGlkaW5nIGl0LiBPcjoga2VlcCB0aGUgc2FtZSByZWxhdGl2ZSBjdXJzb3IgcG9zaXRpb24gKHNvCisgICAgdGhlIG9uZSBiZWZvcmUgaGlkaW5nIGl0LiAgT3I6IGtlZXAgdGhlIHNhbWUgcmVsYXRpdmUgY3Vyc29yIHBvc2l0aW9uIChzbwogICAgIG1hbnkgcGVyY2VudCBkb3duIHRoZSB3aW5kb3dzKS4KIC0gICBNYWtlIGl0IHBvc3NpYmxlIGZvciB0aGUgJ3Nob3dicmVhaycgdG8gYmUgZGlzcGxheWVkIGF0IHRoZSBlbmQgb2YgdGhlCiAgICAgbGluZS4gIFVzZSBhIGNvbW1hIHRvIHNlcGFyYXRlIHRoZSBwYXJ0IGF0IHRoZSBlbmQgYW5kIHRoZSBzdGFydCBvZiB0aGUKQEAgLTMzMTYsMTIgKzMzOTYsMTIgQEAKIC0gICBDaGFuZ2UgIjpmaXhkZWwiIGludG8gb3B0aW9uICdmaXhkZWwnLCB0X2RlbCB3aWxsIGJlIGFkanVzdGVkIGVhY2ggdGltZQogICAgIHRfYnMgaXMgc2V0PyAoV2ViYikKIC0gICAiZ2MiOiBnb3RvIGNoYXJhY3RlciwgbW92ZSBhYnNvbHV0ZSBjaGFyYWN0ZXIgcG9zaXRpb25zIGZvcndhcmQsIGFsc28KLSAgICBjb3VudGluZyBuZXdsaW5lcy4gImdDIiBnb2VzIGJhY2t3YXJkcyAoV2VpZ2VydCkuCi0tICAgV2hlbiBkb2luZyBDVFJMLV4sIHJlZHJhdyBidWZmZXIgd2l0aCB0aGUgc2FtZSB0b3BsaW5lIChEZW1pcmVsKS4gU3RvcmUKKyAgICBjb3VudGluZyBuZXdsaW5lcy4gICJnQyIgZ29lcyBiYWNrd2FyZHMgKFdlaWdlcnQpLgorLSAgIFdoZW4gZG9pbmcgQ1RSTC1eLCByZWRyYXcgYnVmZmVyIHdpdGggdGhlIHNhbWUgdG9wbGluZS4gKERlbWlyZWwpICBTdG9yZQogICAgIGN1cnNvciByb3cgYW5kIHdpbmRvdyBoZWlnaHQgdG8gcmVkcmF3IGN1cnNvciBhdCBzYW1lIHBlcmNlbnRhZ2Ugb2Ygd2luZG93CiAgICAgKFdlYmIpLgogLSAgIEJlc2lkZXMgcmVtZW1iZXJpbmcgdGhlIGxhc3QgdXNlZCBsaW5lIG51bWJlciBvZiBhIGZpbGUsIGFsc28gcmVtZW1iZXIgdGhlCi0gICAgY29sdW1uLiBVc2UgaXQgd2l0aCBDVFJMLV4gZXQuIGFsLgorICAgIGNvbHVtbi4gIFVzZSBpdCB3aXRoIENUUkwtXiBldC4gYWwuCiAtICAgQ2hlY2sgZm9yIG5vbi1kaWdpdHMgd2hlbiBzZXR0aW5nIGEgbnVtYmVyIG9wdGlvbiAoY2FyZWZ1bCB3aGVuIGVudGVyaW5nCiAgICAgaGV4IGNvZGVzIGxpa2UgMHhmZikuCiAtICAgQWRkIG9wdGlvbiB0byBtYWtlICIuIiByZWRvIHRoZSAiQHIiIGNvbW1hbmQsIGluc3RlYWQgb2YgdGhlIGxhc3QgY29tbWFuZApAQCAtMzM0NiwxMSArMzQyNiwxMSBAQAogLSAgIENyZWF0ZSBhIHByb2dyYW0gdGhhdCBjYW4gdHJhbnNsYXRlIGEgLnN3cCBmaWxlIGZyb20gYW55IG1hY2hpbmUgaW50byBhCiAgICAgZm9ybSB1c2FibGUgYnkgVmltIG9uIHRoZSBjdXJyZW50IG1hY2hpbmUuCiAtICAgQWRkICI6bm9ybyIgY29tbWFuZDogUmVzZXQgJ3JvJyBmbGFnIGZvciBhbGwgYnVmZmVycywgZXhjZXB0IG9uZXMgdGhhdCBoYXZlCi0gICAgYSByZWFkb25seSBmaWxlLiAiOm5vcm8hIiB3aWxsIHJlc2V0IGFsbCAncm8nIGZsYWdzLgorICAgIGEgcmVhZG9ubHkgZmlsZS4gICI6bm9ybyEiIHdpbGwgcmVzZXQgYWxsICdybycgZmxhZ3MuCiAtICAgQWRkIGEgdmFyaWFudCBvZiBDVFJMLVYgdGhhdCBzdG9wcyBpbnRlcnByZXRhdGlvbiBvZiBtb3JlIHRoYW4gb25lCiAgICAgY2hhcmFjdGVyLglGb3IgZW50ZXJpbmcgbWFwcGluZ3Mgb24gdGhlIGNvbW1hbmQgbGluZSB3aGVyZSBhIGtleSBjb250YWlucwogICAgIHNldmVyYWwgc3BlY2lhbCBjaGFyYWN0ZXJzLCBlLmcuIGEgdHJhaWxpbmcgbmV3bGluZS4KLS0gICBBZGQgcmVnZXggZm9yICdwYXJhZ3JhcGhzJyBhbmQgJ3NlY3Rpb25zJzogJ3BhcmFyZScgYW5kICdzZWN0cmUnLiBDb21iaW5lCistICAgQWRkIHJlZ2V4IGZvciAncGFyYWdyYXBocycgYW5kICdzZWN0aW9ucyc6ICdwYXJhcmUnIGFuZCAnc2VjdHJlJy4gIENvbWJpbmUKICAgICB0aGUgdHdvIGludG8gYSByZWdleCBmb3Igc2VhcmNoaW5nLiAoTmVkIEtvbnopCiAtICAgTWFrZSAnMicgb3B0aW9uIGluICdmb3JtYXRvcHRpb25zJyBhbHNvIHdvcmsgaW5zaWRlIGNvbW1lbnRzLgogLSAgIEFkZCAncycgZmxhZyB0byAnZm9ybWF0b3B0aW9ucyc6IERvIG5vdCBicmVhayB3aGVuIGluc2lkZSBhIHN0cmluZy4gKERvZHQpCkBAIC0zMzY4LDcgKzM0NDgsNyBAQAogICAgIGVudGVyZWQpPwogLSAgIENoZWNrIG91dCBob3cgc2NyZWVuIGRvZXMgb3V0cHV0IG9wdGltaXppbmcuICBBcHBhcmVudGx5IHRoaXMgaXMgcG9zc2libGUKICAgICBhcyBhbiBvdXRwdXQgZmlsdGVyLgotLSAgIEluIGRvc3ViKCkgcmVnZXhlYyBpcyBjYWxsZWQgdHdpY2UgZm9yIHRoZSBzYW1lIGxpbmUuIFRyeSB0byBhdm9pZCB0aGlzLgorLSAgIEluIGRvc3ViKCkgcmVnZXhlYyBpcyBjYWxsZWQgdHdpY2UgZm9yIHRoZSBzYW1lIGxpbmUuICBUcnkgdG8gYXZvaWQgdGhpcy4KIC0gICBXaW5kb3cgdXBkYXRpbmcgZnJvbSBtZW1saW5lLmM6IGluc2VydC9kZWxldGUvcmVwbGFjZSBsaW5lLgogLSAgIE9wdGltaXplIG1sX2FwcGVuZCgpIGZvciBzcGVlZCwgZXNwLiBmb3IgcmVhZGluZyBhIGZpbGUuCiAtICAgVi4uYyBzaG91bGQga2VlcCBpbmRlbnQgd2hlbiAnYWknIGlzIHNldCwganVzdCBsaWtlIFtjb3VudF1jYy4KQEAgLTMzODIsNyArMzQ2Miw3IEBACiAgICAgb3IgaW4gb2N0YWwuCiA3ICAgVGlnaHRlciBpbnRlZ3JhdGlvbiB3aXRoIHh4ZCB0byBlZGl0IGJpbmFyeSBmaWxlcy4gIE1ha2UgaXQgbW9yZQogICAgIGVhc3kvb2J2aW91cyB0byB1c2UuICBDb21tYW5kIGxpbmUgYXJndW1lbnQ/Ci0tICAgSG93IGRvZXMgdmkgZGV0ZWN0IHdoZXRoZXIgYSBmaWx0ZXIgaGFzIG1lc3NlZCB1cCB0aGUgc2NyZWVuPyBDaGVjayBzb3VyY2UuCistICAgSG93IGRvZXMgdmkgZGV0ZWN0IHdoZXRoZXIgYSBmaWx0ZXIgaGFzIG1lc3NlZCB1cCB0aGUgc2NyZWVuPyAgQ2hlY2sgc291cmNlLgogICAgIEFmdGVyICI6dyAhY29tbWFuZCIgYSB3YWl0X3JldHVybj8KIC0gICBJbXByb3ZlIHNjcmVlbiB1cGRhdGluZyBjb2RlIGZvciBkb3B1dCgpICh1c2Ugc19pbnMoKSkuCiAtICAgV2l0aCAncCcgY29tbWFuZCBvbiBsYXN0IGxpbmU6IHNjcm9sbCBzY3JlZW4gdXAgKGFsc28gZm9yIHRlcm1pbmFscyB3aXRob3V0CkBAIC0zMzkzLDcgKzM0NzMsNyBAQAogLSAgIEFkZCAiLWQgbnVsbCIgZm9yIGVkaXRpbmcgZnJvbSBhIHNjcmlwdCBmaWxlIHdpdGhvdXQgZGlzcGxheWluZy4KIC0gICBJbiBJbnNlcnQgbW9kZTogUmVtZW1iZXIgdGhlIGNoYXJhY3RlcnMgdGhhdCB3ZXJlIHJlbW92ZWQgd2l0aCBiYWNrc3BhY2UKICAgICBhbmQgcmUtaW5zZXJ0IHRoZW0gb25lIGF0IGEgdGltZSB3aXRoIDxrZXkxPiwgYWxsIHRvZ2V0aGVyIHdpdGggPGtleTI+LgotLSAgIEFtaWdhOiBBZGQgcG9zc2liaWxpdHkgdG8gc2V0IGEga2V5bWFwLiBUaGUgY29kZSBpbiBhbWlnYS5jIGRvZXMgbm90IHdvcmsKKy0gICBBbWlnYTogQWRkIHBvc3NpYmlsaXR5IHRvIHNldCBhIGtleW1hcC4gIFRoZSBjb2RlIGluIGFtaWdhLmMgZG9lcyBub3Qgd29yawogICAgIHlldC4KIC0gICBJbXBsZW1lbnQgJ3JlZHJhdycgb3B0aW9uLgogLSAgIEFkZCBzcGVjaWFsIGNvZGUgdG8gJ3NlY3Rpb25zJyBvcHRpb24gdG8gZGVmaW5lIHNvbWV0aGluZyBlbHNlIGJ1dCAneycgb3IKQEAgLTM0MTQsNyArMzQ5NCw3IEBACiAtICAgQ2hlY2sgaGFuZGxpbmcgb2YgQ1RSTC1WIGFuZCAnXCcgZm9yICI6IiBjb21tYW5kcyB0aGF0IGRvIG5vdCBoYXZlIFRSTEJBUi4KIC0gICBXaGVuIGEgZmlsZSBjYW5ub3QgYmUgb3BlbmVkIGJ1dCBkb2VzIGV4aXN0LCBnaXZlIGVycm9yIG1lc3NhZ2UuCiAtICAgQW1pZ2E6IFdoZW4gJ3InIHByb3RlY3Rpb24gYml0IGlzIG5vdCBzZXQsIGZpbGUgY2FuIHN0aWxsIGJlIG9wZW5lZCBidXQKLSAgICBnaXZlcyByZWFkIGVycm9ycy4gQ2hlY2sgcHJvdGVjdGlvbiBiZWZvcmUgb3BlbmluZy4KKyAgICBnaXZlcyByZWFkIGVycm9ycy4gIENoZWNrIHByb3RlY3Rpb24gYmVmb3JlIG9wZW5pbmcuCiAtICAgV2hlbiB3cml0aW5nIGNoZWNrIGZvciBmaWxlIGV4aXN0cyBidXQgbm8gcGVybWlzc2lvbiwgIlBlcm1pc3Npb24gZGVuaWVkIi4KIC0gICBJZiBmaWxlIGRvZXMgbm90IGV4aXN0cywgY2hlY2sgaWYgZGlyZWN0b3J5IGV4aXN0cy4KIC0gICBNU0RPUzogYWx0aG91Z2ggdF9jdiBhbmQgdF9jaSBhcmUgbm90IHNldCwgZG8gaW52ZXJ0IGNoYXIgdW5kZXIgY3Vyc29yLgpAQCAtMzQzNiwyMyArMzUxNiwyMyBAQAogLSAgIEFkZCBjb21tYW5kcyBmb3Igc2F2aW5nIGFuZCByZXN0b3Jpbmcgb3B0aW9ucyAiOnNldCBzYXZlIiAic2V0IHJlc3RvcmUiLAogICAgIGZvciB1c2UgaW4gbWFjcm8ncyBhbmQgdGhlIGxpa2UuCiAtICAgS2VlcCBvdXRwdXQgZnJvbSBsaXN0aW5ncyBpbiBhIHdpbmRvdywgc28geW91IGNhbiBoYXZlIGEgbG9vayBhdCBpdCB3aGlsZQotICAgIHdvcmtpbmcgaW4gYW5vdGhlciB3aW5kb3cuIFB1dCBjbWRsaW5lIGluIGEgc2VwYXJhdGUgd2luZG93PworICAgIHdvcmtpbmcgaW4gYW5vdGhlciB3aW5kb3cuICBQdXQgY21kbGluZSBpbiBhIHNlcGFyYXRlIHdpbmRvdz8KIC0gICBBZGQgcG9zc2liaWxpdHkgdG8gcHV0IG91dHB1dCBvZiBleCBjb21tYW5kcyBpbiBhIGJ1ZmZlciBvciBmaWxlLCBlLmcuIGZvcgogICAgICI6c2V0IGFsbCIuICAiOnIgOnNldCBhbGwiPwogLSAgICdlZGl0JyBvcHRpb246IFdoZW4gb2ZmIGNoYW5naW5nIHRoZSBidWZmZXIgaXMgbm90IHBvc3NpYmxlIChSZWFsbHkKICAgICByZWFkLW9ubHkgbW9kZSkuCiAtICAgV2hlbiB0aGUgJ2VxdWFsYWx3YXlzJyBvcHRpb24gaXMgc2V0LCBjcmVhdGluZyBhIG5ldyB3aW5kb3cgc2hvdWxkIG5vdAotICAgIHJlc3VsdCBpbiB3aW5kb3dzIHRvIGJlY29tZSBiaWdnZXIuIERlbGV0aW5nIGEgd2luZG93IHNob3VsZCBub3QgcmVzdWx0IGluCisgICAgcmVzdWx0IGluIHdpbmRvd3MgdG8gYmVjb21lIGJpZ2dlci4gIERlbGV0aW5nIGEgd2luZG93IHNob3VsZCBub3QgcmVzdWx0IGluCiAgICAgYSB3aW5kb3cgdG8gYmVjb21lIHNtYWxsZXIgKFdlYmIpLgogLSAgIFdoZW4gcmVzaXppbmcgdGhlIHdob2xlIFZpbSB3aW5kb3csIHRoZSB3aW5kb3dzIGluc2lkZSBzaG91bGQgYmUgcmVzaXplZAogICAgIHByb3BvcnRpb25hbGx5IChXZWJiKS4KLS0gICBJbmNsdWRlIG9wdGlvbnMgZGlyZWN0bHkgaW4gb3B0aW9uIHRhYmxlLCBubyBpbmRpcmVjdCBwb2ludGVycy4gVXNlCistICAgSW5jbHVkZSBvcHRpb25zIGRpcmVjdGx5IGluIG9wdGlvbiB0YWJsZSwgbm8gaW5kaXJlY3QgcG9pbnRlcnMuICBVc2UKICAgICBta29wdHRhYiB0byBtYWtlIG9wdGlvbiB0YWJsZT8KIC0gICBXaGVuIGRvaW5nICI6dyBkaXIiLCB3aGVyZSAiZGlyIiBpcyBhIGRpcmVjdG9yeSBuYW1lLCB3cml0ZSB0aGUgY3VycmVudAogICAgIGZpbGUgaW50byB0aGF0IGRpcmVjdG9yeSwgd2l0aCB0aGUgY3VycmVudCBmaWxlIG5hbWUgKHdpdGhvdXQgdGhlIHBhdGgpPwogLSAgIFN1cHBvcnQgZm9yICdkaWN0aW9uYXJ5J3MgdGhhdCBhcmUgc29ydGVkLCBtYWtlcyBhY2Nlc3MgYSBsb3QgZmFzdGVyCiAgICAgKEhhcml0c2lzKS4KLS0gICBBZGQgIl5WcngiIG9uIHRoZSBjb21tYW5kIGxpbmUsIHJlcGxhY2Ugd2l0aCBjb250ZW50cyBvZiByZWdpc3RlciB4LiBVc2VkCistICAgQWRkICJeVnJ4IiBvbiB0aGUgY29tbWFuZCBsaW5lLCByZXBsYWNlIHdpdGggY29udGVudHMgb2YgcmVnaXN0ZXIgeC4gIFVzZWQKICAgICBpbnN0ZWFkIG9mIENUUkwtUiB0byBtYWtlIHJlcGVhdGluZyBwb3NzaWJsZS4gKE1hcmluaWNoZXYpCiAtICAgQWRkICJeVmIiIG9uIHRoZSBjb21tYW5kIGxpbmUsIHJlcGxhY2Ugd2l0aCB3b3JkIGJlZm9yZSBvciB1bmRlciB0aGUKICAgICBjdXJzb3I/CkBAIC0zNTU0LDcgKzM2MzQsNyBAQAogICAgIDpnL1JFLyNsIHNoYWxsIHByaW50IGxpbmVzIHdpdGggbGluZSBudW1iZXJzIGFuZCBpbiBsaXN0IGZvcm1hdC4KICAgICA6Zy9SRS9kcCBzaGFsbCBwcmludCBsaW5lcyB0aGF0IGFyZSBkZWxldGVkLgogICAgIFBPU0lYOiBDb21tYW5kcyB3aGVyZSBmbGFncyBzaGFsbCBhcHBseSB0byBhbGwgbGluZXMgd3JpdHRlbjogbGlzdCwKLSAgICBudW1iZXIsIG9wZW4sIHByaW50LCBzdWJzdGl0dXRlLCB2aXN1YWwsICYsIHouIEZvciBvdGhlciBjb21tYW5kcywgZmxhZ3MKKyAgICBudW1iZXIsIG9wZW4sIHByaW50LCBzdWJzdGl0dXRlLCB2aXN1YWwsICYsIHouICBGb3Igb3RoZXIgY29tbWFuZHMsIGZsYWdzCiAgICAgc2hhbGwgYXBwbHkgdG8gdGhlIGN1cnJlbnQgbGluZSBhZnRlciB0aGUgY29tbWFuZCBjb21wbGV0ZXMuICBFeGFtcGxlczoKICAgICA6NywxMGogI2wgSm9pbiB0aGUgbGluZXMgNy0xMCBhbmQgcHJpbnQgdGhlIHJlc3VsdCBpbiBsaXN0CiAtICAgQWxsb3cgdHdvIG9yIG1vcmUgdXNlcnMgdG8gZWRpdCB0aGUgc2FtZSBmaWxlIGF0IHRoZSBzYW1lIHRpbWUuICBDaGFuZ2VzCg==