ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvbXMvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL21zL21haW4uYWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MTZiM2IKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL21zL21haW4uYWFwCkBAIC0wLDAgKzEsODEgQEAKKyMgQWFwIHJlY2lwZSBmb3IgTWFsYXkgVmltIHNwZWxsIGZpbGVzLgorCisjIFVzZSBhIGZyZXNobHkgY29tcGlsZWQgVmltIGlmIGl0IGV4aXN0cy4KK0BpZiBvcy5wYXRoLmV4aXN0cygnLi4vLi4vLi4vc3JjL3ZpbScpOgorICAgIFZJTSA9IC4uLy4uLy4uL3NyYy92aW0KK0BlbHNlOgorICAgIDpwcm9nc2VhcmNoIFZJTSB2aW0KKworU1BFTExESVIgPSAuLgorRklMRVMgICAgPSBtc19NWS5hZmYgbXNfTVkuZGljCisKKyMgSSBkbyBub3QgaGF2ZSBhIE1hbGF5IGxvY2FsZSwgdXNlIHRoZSBEdXRjaCBvbmUgaW5zdGVhZC4KK2FsbDogJFNQRUxMRElSL21zLmxhdGluMS5zcGwgJFNQRUxMRElSL21zLnV0Zi04LnNwbCAuLi9SRUFETUVfbXMudHh0CisKKyRTUEVMTERJUi9tcy5sYXRpbjEuc3BsIDogJEZJTEVTCisgICAgICAgIDpzeXMgZW52IExBTkc9bmxfTkwuSVNPODg1OS0xCisJCSRWSU0gLXUgTk9ORSAtZSAtYyAibWtzcGVsbCEgJFNQRUxMRElSL21zIG1zX01ZIiAtYyBxCisKKyRTUEVMTERJUi9tcy51dGYtOC5zcGwgOiAkRklMRVMKKyAgICAgICAgOnN5cyBlbnYgTEFORz1ubF9OTC5VVEYtOAorCQkkVklNIC11IE5PTkUgLWUgLWMgIm1rc3BlbGwhICRTUEVMTERJUi9tcyBtc19NWSIgLWMgcQorCisuLi9SRUFETUVfbXMudHh0IDogUkVBRE1FX21zX01ZLnR4dAorICAgICAgICA6Y29weSAkc291cmNlICR0YXJnZXQKKworIworIyBGZXRjaGluZyB0aGUgZmlsZXMgZnJvbSBPcGVuT2ZmaWNlLm9yZy4KKyMKK09PRElSID0gaHR0cDovL2Z0cC5zZXJ2aWNlcy5vcGVub2ZmaWNlLm9yZy9wdWIvT3Blbk9mZmljZS5vcmcvY29udHJpYi9kaWN0aW9uYXJpZXMKKzphdHRyIHtmZXRjaCA9ICRPT0RJUi8lZmlsZSV9IG1zX01ZLnppcAorCisjIFRoZSBmaWxlcyBkb24ndCBkZXBlbmQgb24gdGhlIC56aXAgZmlsZSBzbyB0aGF0IHdlIGNhbiBkZWxldGUgaXQuCisjIE9ubHkgZG93bmxvYWQgdGhlIHppcCBmaWxlIGlmIHRoZSB0YXJnZXRzIGRvbid0IGV4aXN0LgorbXNfTVkuYWZmIG1zX01ZLmRpYzoge2J1aWxkY2hlY2s9fQorICAgICAgICA6YXNzZXJ0cGtnIHVuemlwIHBhdGNoCisgICAgICAgIDpmZXRjaCBtc19NWS56aXAKKyAgICAgICAgOnN5cyAkVU5aSVAgbXNfTVkuemlwCisgICAgICAgIDpkZWxldGUgbXNfTVkuemlwCisgICAgICAgIDpzeXMgJFZJTSBtc19NWS5hZmYgLWUgLWMgInNldCBmZj11bml4IiAtYyB1cGRhdGUgLWMgcQorICAgICAgICA6c3lzICRWSU0gbXNfTVkuZGljIC1lIC1jICJzZXQgZmY9dW5peCIgLWMgdXBkYXRlIC1jIHEKKyAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygnbXNfTVkub3JpZy5hZmYnKToKKyAgICAgICAgICAgIDpjb3B5IG1zX01ZLmFmZiBtc19NWS5vcmlnLmFmZgorICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdtc19NWS5vcmlnLmRpYycpOgorICAgICAgICAgICAgOmNvcHkgbXNfTVkuZGljIG1zX01ZLm9yaWcuZGljCisgICAgICAgIEBpZiBvcy5wYXRoLmV4aXN0cygnbXNfTVkuZGlmZicpOgorICAgICAgICAgICAgOnN5cyBwYXRjaCA8bXNfTVkuZGlmZgorCisKKyMgR2VuZXJhdGUgZGlmZiBmaWxlcywgc28gdGhhdCBvdGhlcnMgY2FuIGdldCB0aGUgT3Blbk9mZmljZSBmaWxlcyBhbmQgYXBwbHkKKyMgdGhlIGRpZmZzIHRvIGdldCB0aGUgVmltIHZlcnNpb25zLgorCitkaWZmOgorICAgICAgICA6YXNzZXJ0cGtnIGRpZmYKKyAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSBtc19NWS5vcmlnLmFmZiBtc19NWS5hZmYgPm1zX01ZLmRpZmYKKyAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSBtc19NWS5vcmlnLmRpYyBtc19NWS5kaWMgPj5tc19NWS5kaWZmCisKKworIyBDaGVjayBmb3IgdXBkYXRlZCBPcGVuT2ZmaWNlIHNwZWxsIGZpbGVzLiAgV2hlbiB0aGVyZSBhcmUgY2hhbmdlcyB0aGUKKyMgIi5uZXcuYWZmIiBhbmQgIi5uZXcuZGljIiBmaWxlcyBhcmUgbGVmdCBiZWhpbmQgZm9yIG1hbnVhbCBpbnNwZWN0aW9uLgorCitjaGVjazoKKyAgICAgICAgOmFzc2VydHBrZyB1bnppcCBkaWZmCisgICAgICAgIDpmZXRjaCBtc19NWS56aXAKKyAgICAgICAgOm1rZGlyIHRtcAorICAgICAgICA6Y2QgdG1wCisgICAgICAgIEB0cnk6CisgICAgICAgICAgICBAaW1wb3J0IHN0YXQKKyAgICAgICAgICAgIDpzeXMgJFVOWklQIC4uL21zX01ZLnppcAorICAgICAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLi4vbXNfTVkub3JpZy5hZmYgbXNfTVkuYWZmID5kCisgICAgICAgICAgICBAaWYgb3Muc3RhdCgnZCcpW3N0YXQuU1RfU0laRV0gPiAwOgorICAgICAgICAgICAgICAgIDpjb3B5IG1zX01ZLmFmZiAuLi9tc19NWS5uZXcuYWZmCisgICAgICAgICAgICA6c3lzIHtmb3JjZX0gZGlmZiAuLi9tc19NWS5vcmlnLmRpYyBtc19NWS5kaWMgPmQKKyAgICAgICAgICAgIEBpZiBvcy5zdGF0KCdkJylbc3RhdC5TVF9TSVpFXSA+IDA6CisgICAgICAgICAgICAgICAgOmNvcHkgbXNfTVkuZGljIC4uL21zX01ZLm5ldy5kaWMKKyAgICAgICAgQGZpbmFsbHk6CisgICAgICAgICAgICA6Y2QgLi4KKyAgICAgICAgICAgIDpkZWxldGUge3J9e2Z9e3F9IHRtcAorICAgICAgICAgICAgOmRlbGV0ZSBtc19NWS56aXAKKworCisjIHZpbTogc2V0IHN0cz00IHN3PTQgOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9tcy9tc19NWS5kaWZmIGIvcnVudGltZS9zcGVsbC9tcy9tc19NWS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZGU1OTUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL21zL21zX01ZLmRpZmYKQEAgLTAsMCArMSwyNCBAQAorKioqIG1zX01ZLm9yaWcuYWZmCVdlZCBBdWcgMzEgMTg6MDk6NTggMjAwNQorLS0tIG1zX01ZLmFmZglXZWQgQXVnIDMxIDE4OjEyOjUxIDIwMDUKKyoqKioqKioqKioqKioqKgorKioqIDI1LDI2ICoqKioKKy0tLSAyNSwzNSAtLS0tCisgIAorKyBGT0wgIN/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7/CisrIExPVyAg3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/v8KKysgVVBQICDfwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e/worKyAKKysgU09GT0ZST00gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWuDh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3evworKyBTT0ZPVE8gICBlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2ViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwc2VlZWVlZWVlY2VlZWVlZWVlZG5lZWVlZWVlZWVlZXA/CisrIAorKyBNSURXT1JEIC0KKysgCisgIFBGWCBCIFkgMiAKKyoqKiBtc19NWS5vcmlnLmRpYwlXZWQgQXVnIDMxIDE4OjA5OjU4IDIwMDUKKy0tLSBtc19NWS5kaWMJV2VkIEF1ZyAzMSAxODoxMjo0OCAyMDA1CisqKioqKioqKioqKioqKioKKyoqKiA0OTM5LDQ5NDEgKioqKgorICBkYXRpbgorLSBEYXRv4oCZCisgIGRhdHVrL2IKKy0tLSA0OTM5LDQ5NDAgLS0tLQo=