From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Omair Majid To: git-commits@fedoraproject.org Subject: [rpms/dotnet9.0] rawhide: Upstream EOL is Nov 11, 2026. Date: Mon, 10 Aug 2026 21:02:12 GMT Message-ID: <178639573229.1.15522087970047547205.rpms-dotnet9.0-0410130f02bf@fedoraproject.org> List-ID: X-Git-Repo: rpms/dotnet9.0 X-Git-Branch: rawhide X-Git-Rev: 0410130f02bf83aa1b0223e641c64fb9ccd32643 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZG90bmV0OS4wCkJy YW5jaCA6IHJhd2hpZGUKQ29tbWl0IDogMDQxMDEzMGYwMmJmODNhYTFiMDIyM2U2NDFjNjRmYjlj Y2QzMjY0MwpBdXRob3IgOiBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+CkRhdGUgICA6 IDIwMjYtMDgtMTBUMTc6MDI6MDctMDQ6MDAKU3RhdHMgIDogKzEvLTI3OTUgaW4gMjMgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2RvdG5ldDkuMC9j LzA0MTAxMzBmMDJiZjgzYWExYjAyMjNlNjQxYzY0ZmI5Y2NkMzI2NDM/YnJhbmNoPXJhd2hpZGUK CkxvZzoKVXBzdHJlYW0gRU9MIGlzIE5vdiAxMSwgMjAyNi4KCi0tLQpkaWZmIC0tZ2l0IGEvLmZt Zi92ZXJzaW9uIGIvLmZtZi92ZXJzaW9uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk MDA0OTFmLi4wMDAwMDAwCi0tLSBhLy5mbWYvdmVyc2lvbgorKysgL2Rldi9udWxsCkBAIC0xICsw LDAgQEAKLTEKCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYzkwZmZkYi4uMDAwMDAwMAotLS0gYS8uZ2l0aWdub3JlCisr KyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotL2RvdG5ldC12My4xLjEwMS1TREsudGFyLmd6 Ci0vZG90bmV0LXYzLjEuMTAyLVNESy50YXIuZ3oKLS9kb3RuZXQtdjMuMS4xMDMuMi1TREsudGFy Lmd6Ci0vZG90bmV0LXY1LjAuMTAyLVNESy1hcm02NC1ib290c3RyYXAudGFyLmd6Ci0vZG90bmV0 LXY1LjAuMTAyLVNESy14NjQtYm9vdHN0cmFwLnRhci5negotL2RvdG5ldC12NS4wLjEwMi1TREsu dGFyLmd6Ci0vZG90bmV0LXY1LjAuMTAzLVNESy50YXIuZ3oKLS9kb3RuZXQtdjUuMC4xMDQtU0RL LnRhci5negotL2RvdG5ldC12NS4wLjIwMi1TREsudGFyLmd6Ci0vZG90bmV0LXY1LjAuMjAzLVNE Sy50YXIuZ3oKLS9kb3RuZXQtdjUuMC4yMDQtU0RLLnRhci5negotL2RvdG5ldC05ZThiMDRiYmZm ODIwYzkzYzE0MmY5OWE1MDdhNDZiOTc2ZjVjMTRjLXg2NC1ib290c3RyYXAudGFyLnh6Ci0vZG90 bmV0LWFybTY0LXByZWJ1aWx0cy0yMDIxLTEwLTI5LnRhci5negotL2RvdG5ldC1zMzkweC1wcmVi dWlsdHMtMjAyMS0xMC0yOS50YXIuZ3oKLS9kb3RuZXQtOWU4YjA0YmJmZjgyMGM5M2MxNDJmOTlh NTA3YTQ2Yjk3NmY1YzE0Yy50YXIuZ3oKLS9kb3RuZXQtdjYuMC4xMDEudGFyLmd6Ci0vZG90bmV0 LXY2LjAuMTAyLnRhci5negotL2RvdG5ldC12Ni4wLjEwMy50YXIuZ3oKLS9kb3RuZXQtdjYuMC4x MDQudGFyLmd6Ci0vZG90bmV0LXY2LjAuMTA1LnRhci5negotL2RvdG5ldC12Ny4wLjEwMC1yYy4y LjIyNDc3LjIzLXg2NC1ib290c3RyYXAudGFyLnh6Ci0vZG90bmV0LWFybTY0LXByZWJ1aWx0cy0y MDIyLTEwLTEyLnRhci5negotL2RvdG5ldC1wcGM2NGxlLXByZWJ1aWx0cy0yMDIyLTEwLTIxLnRh ci5negotL2RvdG5ldC1zMzkweC1wcmVidWlsdHMtMjAyMi0xMC0xMi50YXIuZ3oKLS9kb3RuZXQt djcuMC4xMDAudGFyLmd6Ci0vZG90bmV0LXY3LjAuMTAxLnRhci5negotL2RvdG5ldC12Ny4wLjEw Mi50YXIuZ3oKLS9kb3RuZXQtdjguMC4wLXJjLjEuMjM0MTkuNC14NjQtYm9vdHN0cmFwLnRhci54 egotL2RvdG5ldC1wcmVidWlsdHMtOC4wLjEwMC1yYy4xLjIzNDEwLjEyLWFybTY0LnRhci5negot L2RvdG5ldC1wcmVidWlsdHMtOC4wLjEwMC1yYy4xLjIzNDEwLjEyLXBwYzY0bGUudGFyLmd6Ci0v ZG90bmV0LXByZWJ1aWx0cy04LjAuMTAwLXJjLjEuMjM0MTAuMTItczM5MHgudGFyLmd6Ci0vZG90 bmV0LXY4LjAuMC1yYy4yLjIzNDc5LjYudGFyLmd6Ci0vZG90bmV0LTguMC4wLnRhci5negotL2Rv dG5ldC04LjAuMC50YXIuZ3ouc2lnCi0vZG90bmV0LTguMC4xLnRhci5negotL2RvdG5ldC04LjAu MS50YXIuZ3ouc2lnCi0vZG90bmV0LTguMC4yLnRhci5negotLzguMC4yLnRhci5nei5zaWcKLS9k b3RuZXQtdjkuMC4wLXJjLjEuMjQ0MzEuNy14NjQtYm9vdHN0cmFwLnRhci5negotL2RvdG5ldC1z ZGstOS4wLjEwMC1wcmV2aWV3LjcuMjQ0MDcuMTItbGludXgtYXJtNjQudGFyLmd6Ci0vZG90bmV0 LXByZWJ1aWx0cy05LjAuMTAwLXByZXZpZXcuNy4yNDQwNy4xLXBwYzY0bGUudGFyLmd6Ci0vZG90 bmV0LXByZWJ1aWx0cy05LjAuMTAwLXByZXZpZXcuNy4yNDQwNy4xLXMzOTB4LnRhci5negotL2Rv dG5ldC05LjAuMC1yYy4xLjI0NDMxLjcudGFyLmd6Ci0vZG90bmV0LTkuMC4wLXJjLjEuMjQ0MzEu Ny50YXIuZ3ouc2lnCi0vZG90bmV0LXY5LjAuMC1yYy4yLjI0NDczLjUteDY0LWJvb3RzdHJhcC50 YXIuZ3oKLS9kb3RuZXQtc2RrLTkuMC4xMDAtcmMuMS4yNDQ1Mi4xMi1saW51eC1hcm02NC50YXIu Z3oKLS9kb3RuZXQtcHJlYnVpbHRzLTkuMC4xMDAtcmMuMS4yNDQ1Mi4xLXBwYzY0bGUudGFyLmd6 Ci0vZG90bmV0LXByZWJ1aWx0cy05LjAuMTAwLXJjLjEuMjQ0NTIuMS1zMzkweC50YXIuZ3oKLS9k b3RuZXQtOS4wLjAtcmMuMi4yNDQ3My41LnRhci5negotL2RvdG5ldC05LjAuMC1yYy4yLjI0NDcz LjUudGFyLmd6LnNpZwotL2RvdG5ldC05LjAuMC50YXIuZ3oKLS9kb3RuZXQtOS4wLjAudGFyLmd6 LnNpZwotL2RvdG5ldC05LjAuMTAxLnRhci5negotL2RvdG5ldC05LjAuMTAxLnRhci5nei5zaWcK LS9kb3RuZXQtOS4wLjEudGFyLmd6Ci0vZG90bmV0LTkuMC4xLnRhci5nei5zaWcKLS9kb3RuZXQt OS4wLjIudGFyLmd6Ci0vZG90bmV0LTkuMC4yLnRhci5nei5zaWcKLS9kb3RuZXQtOS4wLjMudGFy Lmd6Ci0vZG90bmV0LTkuMC4zLnRhci5nei5zaWcKLS9kb3RuZXQtOS4wLjQudGFyLmd6Ci0vZG90 bmV0LTkuMC40LnRhci5nei5zaWcKLS9kb3RuZXQtOS4wLjUudGFyLmd6Ci0vZG90bmV0LTkuMC41 LnRhci5nei5zaWcKLS9kb3RuZXQtOS4wLjYudGFyLmd6Ci0vZG90bmV0LTkuMC42LnRhci5nei5z aWcKLS9kb3RuZXQtOS4wLjcudGFyLmd6Ci0vZG90bmV0LTkuMC43LnRhci5nei5zaWcKLS9kb3Ru ZXQtOS4wLjEwOS50YXIuZ3oKLS9kb3RuZXQtOS4wLjEwOS50YXIuZ3ouc2lnCi0vZG90bmV0LTku MC4xMTAudGFyLmd6Ci0vZG90bmV0LTkuMC4xMTAudGFyLmd6LnNpZwotL2RvdG5ldC05LjAuMTEx LnRhci5negotL2RvdG5ldC05LjAuMTExLnRhci5nei5zaWcKLS9kb3RuZXQtOS4wLjExMi50YXIu Z3oKLS9kb3RuZXQtOS4wLjExMi50YXIuZ3ouc2lnCi0vZG90bmV0LTkuMC4xMTMudGFyLmd6Ci0v ZG90bmV0LTkuMC4xMTMudGFyLmd6LnNpZwotL2RvdG5ldC05LjAuMTE0LnRhci5negotL2RvdG5l dC05LjAuMTE0LnRhci5nei5zaWcKLS9kb3RuZXQtOS4wLjExNS50YXIuZ3oKLS9kb3RuZXQtOS4w LjExNS50YXIuZ3ouc2lnCi0vZG90bmV0LTkuMC4xMTYudGFyLmd6Ci0vZG90bmV0LTkuMC4xMTYu dGFyLmd6LnNpZwotL2RvdG5ldC05LjAuMTE3LnRhci5negotL2RvdG5ldC05LjAuMTE3LnRhci5n ei5zaWcKLS9kb3RuZXQtOS4wLjExOC50YXIuZ3oKLS9kb3RuZXQtOS4wLjExOC50YXIuZ3ouc2ln Ci0vZG90bmV0LTkuMC4xMTkudGFyLmd6Ci0vZG90bmV0LTkuMC4xMTkudGFyLmd6LnNpZwoKZGlm ZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggYmRlZjM0YS4uMDAwMDAwMAotLS0gYS9SRUFETUUubWQKKysrIC9kZXYvbnVsbApAQCAt MSwxNDAgKzAsMCBAQAotIyBkb3RuZXQ5LjAKLQotVGhlIGRvdG5ldDkuMCBwYWNrYWdlCi0KLVRo aXMgaXMgdGhlIC5ORVQgOS4wIHBhY2thZ2UgZm9yIEZlZG9yYS4KLQotVGhpcyBwYWNrYWdlIGlz IG1haW50YWluZWQgYnkgdGhlIEZlZG9yYSBEb3ROZXQgU0lHIChTcGVjaWFsIEludGVyZXN0Ci1H cm91cCkuIFlvdSBjYW4gZmluZCBvdXQgbW9yZSBhYm91dCB0aGUgRG90TmV0IFNJRyBhdDoKLQot LSBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvU0lHcy9Eb3ROZXQKLS0gaHR0cHM6Ly9m ZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0RvdE5ldAotLSBodHRwczovL2xpc3RzLmZlZG9yYXByb2pl Y3Qub3JnL2FyY2hpdmVzL2xpc3QvZG90bmV0LXNpZ0BsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZy8K LQotUGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIFt1c2luZwotYnVnemlsbGFdKGh0dHBzOi8vYnVn emlsbGEucmVkaGF0LmNvbS9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9RmVkb3JhJmNvbXBvbmVudD1k b3RuZXQ5LjApLgotCi0jIFNwZWNpZmljYXRpb24KLQotVGhpcyBwYWNrYWdlIGZvbGxvd3MgW3Bh Y2thZ2UgbmFtaW5nIGFuZCBjb250ZW50cyBzdWdnZXN0ZWQgYnkKLXVwc3RyZWFtXShodHRwczov L2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9kb3RuZXQvY29yZS9idWlsZC9kaXN0cmlidXRpb24t cGFja2FnaW5nKSwKLXdpdGggb25lIGV4Y2VwdGlvbi4gSXQgaW5zdGFsbHMgZG90bmV0IHRvIGAv dXNyL2xpYjY0L2RvdG5ldGAgKGFrYQotYCV7X2xpYmRpcn1gKS4KLQotIyBDb250cmlidXRpbmcK LQotVGhlIHN0ZXBzIGJlbG93IGFyZSBmb3IgdGhlIGZpbmFsIHBhY2thZ2UuIFBsZWFzZSBvbmx5 IGNvbnRyaWJ1dGUgdG8gdGhpcwotcHJlLXJlbGVhc2UgdmVyc2lvbiB0aGlzIGlmIHlvdSBrbm93 IHdoYXQgeW91IGFyZSBkb2luZy4gT3JpZ2luYWwgaW5zdHJ1Y3Rpb25zCi1mb2xsb3cuCi0KLSMj IEdlbmVyYWwgQ2hhbmdlcwotCi0xLiBGb3JrIHRoZSByZXBvLgotCi0yLiBDaGVja291dCB0aGUg Zm9ya2VkIHJlcG9zaXRvcnkuCi0KLSAgICAtIGBnaXQgY2xvbmUgc3NoOi8vJFVTRVJAcGtncy5m ZWRvcmFwcm9qZWN0Lm9yZy9mb3Jrcy8kVVNFUi9ycG1zL2RvdG5ldDkuMC5naXRgCi0gICAgLSBg Y2QgZG90bmV0OS4wYAotCi0zLiBNYWtlIHlvdXIgY2hhbmdlcy4gRG9uJ3QgZm9yZ2V0IHRvIGFk ZCBhIGNoYW5nZWxvZy4KLQotNC4gRG8gbG9jYWwgYnVpbGRzLgotCi0gICAgLSBgZmVkcGtnIGxv Y2FsYAotCi01LiBGaXggYW55IGVycm9ycyB0aGF0IGNvbWUgdXAgYW5kIHJlYnVpbGQgdW50aWwg aXQgd29ya3MgbG9jYWxseS4KLQotNi4gRG8gYnVpbGRzIGluIGtvamkuCi0KLSAgICAtIGBmZWRw a2cgc2NyYXRjaC1idWlsZCAtLXNycG1gCi0KLTguIENvbW1pdCB0aGUgY2hhbmdlcyB0byB0aGUg Z2l0IHJlcG8uCi0KLSAgICAtIGBnaXQgYWRkYCBhbnkgbmV3IHBhdGNoZXMKLSAgICAtIGBnaXQg cmVtb3ZlYCBhbnkgbm93LXVubmVjZXNzYXJ5IHBhdGNoZXMKLSAgICAtIGBnaXQgY29tbWl0IC1h YAotICAgIC0gYGdpdCBwdXNoYAotCi05LiBDcmVhdGUgYSBwdWxsIHJlcXVlc3Qgd2l0aCB5b3Vy IGNoYW5nZXMuCi0KLTEwLiBPbmNlIHRoZSB0ZXN0cyBpbiB0aGUgcHVsbC1yZXF1ZXN0IHBhc3Ms IGFuZCByZXZpZXdlcnMgYXJlIGhhcHB5LCBkbyBhIHJlYWwKLSAgICBidWlsZC4KLQotICAgIC0g YGZlZHBrZyBidWlsZGAKLQotMTEuIEZvciBub24tcmF3aGlkZSByZWxlYXNlcywgZmlsZSB1cGRh dGVzIHVzaW5nIGJvZGhpIHRvIHNoaXAgdGhlIGp1c3QtYnVpbHQKLSAgICBwYWNrYWdlIG91dCB0 byB1c2Vycy4KLQotICAgIC0gaHR0cHM6Ly9ib2RoaS5mZWRvcmFwcm9qZWN0Lm9yZy91cGRhdGVz L25ldwotCi0gICAgT1IKLQotICAgIC0gYGZlZHBrZyB1cGRhdGVgCi0KLSMjIFVwZGF0aW5nIHRv IGFuIG5ldyB1cHN0cmVhbSByZWxlYXNlCi0KLTEuIEZvcmsgdGhlIHJlcG8uCi0KLTIuIENoZWNr b3V0IHRoZSBmb3JrZWQgcmVwb3NpdG9yeS4KLQotICAgIC0gYGdpdCBjbG9uZSBzc2g6Ly8kVVNF UkBwa2dzLmZlZG9yYXByb2plY3Qub3JnL2ZvcmtzLyRVU0VSL3JwbXMvZG90bmV0OS4wLmdpdGAK LSAgICAtIGBjZCBkb3RuZXQ5LjBgCi0KLTMuIEJ1aWxkIHRoZSBuZXcgdXBzdHJlYW0gc291cmNl IHRhcmJhbGwuIFVwZGF0ZSB0aGUgdmVyc2lvbnMgaW4gdGhlCi0gICBzcGVjIGZpbGUuIEFkZCBh IGNoYW5nZWxvZy4gVGhpcyBpcyBnZW5lcmFsbHkgYXV0b21hdGVkIGJ5IHRoZQotICAgZm9sbG93 aW5nLgotCi0gICAgLSBgLi91cGRhdGUtcmVsZWFzZSA8c2RrLXZlcnNpb24+IDxydW50aW1lLXZl cnNpb24+YAotCi0gICAgSWYgdGhpcyBmYWlscyBiZWNhdXNlIG9mIGNvbXBpbGVyIGVycm9ycywg eW91IG1pZ2h0IGhhdmUgdG8gZmlndXJlCi0gICAgb3V0IGEgZml4LCB0aGVuIGFkZCB0aGUgcGF0 Y2ggaW4gYGJ1aWxkLWRvdG5ldC10YXJiYWxsYCBzY3JpcHQKLSAgICByYXRoZXIgdGhhbiB0aGUg c3BlYyBmaWxlLgotCi00LiBEbyBsb2NhbCBidWlsZHMuCi0KLSAgICAtIGBmZWRwa2cgbG9jYWxg Ci0KLTUuIEZpeCBhbnkgZXJyb3JzIHRoYXQgY29tZSB1cCBhbmQgcmVidWlsZCB1bnRpbCBpdCB3 b3JrcyBsb2NhbGx5LiBBbnkKLSAgIHBhdGNoZXMgdGhhdCBhcmUgbmVlZGVkIGF0IHRoaXMgcG9p bnQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBzcGVjIGZpbGUuCi0KLTYuIERvIGJ1aWxkcyBpbiBr b2ppLgotCi0gICAgLSBgZmVkcGtnIHNjcmF0Y2gtYnVpbGQgLS1zcnBtYAotCi03LiBVcGxvYWQg dGhlIHNvdXJjZSBhcmNoaXZlIHRvIHRoZSBGZWRvcmEgbG9vay1hc2lkZSBjYWNoZS4KLQotICAg IC0gYGZlZHBrZyBuZXctc291cmNlcyBwYXRoLXRvLWdlbmVyYXRlZC1kb3RuZXQtc291cmNlLXRh cmJhbGwudGFyLmd6YAotCi04LiBDb21taXQgdGhlIGNoYW5nZXMgdG8gdGhlIGdpdCByZXBvLgot Ci0gICAgLSBgZ2l0IGFkZGAgYW55IG5ldyBwYXRjaGVzCi0gICAgLSBgZ2l0IHJlbW92ZWAgYW55 IG5vdy11bm5lY2Vzc2FyeSBwYXRjaGVzCi0gICAgLSBgZ2l0IGNvbW1pdCAtYWAKLSAgICAtIGBn aXQgcHVzaGAKLQotOS4gQ3JlYXRlIGEgcHVsbCByZXF1ZXN0IHdpdGggeW91ciBjaGFuZ2VzLgot Ci0xMC4gT25jZSB0aGUgdGVzdHMgaW4gdGhlIHB1bGwtcmVxdWVzdCBwYXNzLCBhbmQgcmV2aWV3 ZXJzIGFyZSBoYXBweSwgZG8gYSByZWFsCi0gICAgYnVpbGQuCi0KLSAgICAtIGBmZWRwa2cgYnVp bGRgCi0KLTExLiBGb3Igbm9uLXJhd2hpZGUgcmVsZWFzZXMsIGZpbGUgdXBkYXRlcyB1c2luZyBi b2RoaSB0byBzaGlwIHRoZSBqdXN0LWJ1aWx0Ci0gICAgcGFja2FnZSBvdXQgdG8gdXNlcnMuCi0K LSAgICAtIGh0dHBzOi8vYm9kaGkuZmVkb3JhcHJvamVjdC5vcmcvdXBkYXRlcy9uZXcKLQotICAg IE9SCi0KLSAgICAtIGBmZWRwa2cgdXBkYXRlYAotCi0jIFRlc3RpbmcKLQotVGhpcyBwYWNrYWdl IHVzZXMgQ0kgdGVzdHMgYXMgZGVmaW5lZCBpbiBgdGVzdHMvY2kueW1sYC4gWW91IGNhbiBydW4g dGhlbSB1c2luZwotW3RtdF0oaHR0cHM6Ly90bXQucmVhZHRoZWRvY3MuaW8vZW4vc3RhYmxlL292 ZXJ2aWV3Lmh0bWwpLiBDcmVhdGluZyBhCi1wdWxsLXJlcXVlc3Qgb3IgcnVubmluZyBhbiBvZmZp Y2lhbCBidWlsZCB3aWxsIGZpcmUgb2ZmIHRlc3RzIGFuZCBmbGFnIGFueQotaXNzdWVzLiBXZSBo YXZlIGVuYWJsZWQgZ2F0aW5nICh2aWEgYGdhdGluZy55YW1sYCkgb24gdGhlIHRlc3RzLiBUaGF0 IHByZXZlbnRzCi1hIGJ1aWxkIHRoYXQgZmFpbHMgYW55IHRlc3QgZnJvbSBiZWluZyByZWxlYXNl ZCB1bnRpbCB0aGUgZmFpbHVyZXMgYXJlIHdhaXZlZC4KLQotVGhlIHRlc3RzIHRoZW1zZWx2ZXMg YXJlIGNvbnRhaW5lZCBpbiB0aGlzIGV4dGVybmFsIHJlcG9zaXRvcnk6Ci1odHRwczovL2dpdGh1 Yi5jb20vcmVkaGF0LWRldmVsb3Blci9kb3RuZXQtcmVndWxhci10ZXN0cy8KCmRpZmYgLS1naXQg YS9idWlsZC1kb3RuZXQtYm9vdHN0cmFwLXRhcmJhbGwgYi9idWlsZC1kb3RuZXQtYm9vdHN0cmFw LXRhcmJhbGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDFlY2MzOTAuLjAwMDAwMDAK LS0tIGEvYnVpbGQtZG90bmV0LWJvb3RzdHJhcC10YXJiYWxsCisrKyAvZGV2L251bGwKQEAgLTEs MTcxICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0KLSMgVXNhZ2U6Ci0jICAgYnVpbGQtZG90bmV0LWJv b3RzdHJhcC10YXJiYWxsIDx0YWctb3ItY29tbWl0LWZyb20tZG90bmV0PgotIwotIyBDcmVhdGVz IGEgc291cmNlIGFyY2hpdmUgc3VpdGFibGUgZm9yIGJvb3RzdHJhcHBpbmcgZnJvbSBhIHRhZyAo b3IgY29tbWl0KSBhdAotIyBodHRwczovL2dpdGh1Yi5jb20vZG90bmV0L2RvdG5ldAotIwotIyBD bG9uZSBkb3RuZXQvZG90bmV0LCBjaGVjayBvdXQgdGhlIHRhZywgYW5kIGJ1aWxkIGEgc291cmNl LXRhcmJhbGwuCi0jIENhbiBhbHNvIHVzZSBhIGZ1bGwgZ2l0IGNvbW1pdCBpZGVudGlmaWVyIGlu c3RlYWQgb2YgdGFnIChub3QgYW4KLSMgYWJicmV2aWF0ZWQgOCBjaGFyYWN0ZXIgY29tbWl0IGlk ZW50aWZpZXIgdGhvdWdoKS4KLQotc2V0IC1ldW8gcGlwZWZhaWwKLUlGUz0kJ1xuXHQnCi0KLWZ1 bmN0aW9uIHByaW50X3VzYWdlIHsKLSAgICBlY2hvICJVc2FnZToiCi0gICAgZWNobyAiJDAgPHRh Zy1mcm9tLWRvdG5ldD4iCi0gICAgZWNobwotICAgIGVjaG8gIkNyZWF0ZXMgYSAkYXJjaCBib290 c3RyYXAgc291cmNlIGFyY2hpdmUgZnJvbSBhIHRhZyBhdCBodHRwczovL2dpdGh1Yi5jb20vZG90 bmV0L2RvdG5ldCIKLX0KLQotZnVuY3Rpb24gY2xlYW5fZG90bmV0X2NhY2hlIHsKLSAgICBybSAt cmYgfi8uYXNwbmV0IH4vLmRvdG5ldC8gfi8ubnVnZXQvIH4vLmxvY2FsL3NoYXJlL051R2V0IH4v LnRlbXBsYXRlZW5naW5lCi0gICAgcm0gLXJmIC90bXAvTnVHZXQgL3RtcC9OdUdldFNjcmF0Y2gg L3RtcC8uTkVUQ29yZSogL3RtcC8uTkVUU3RhbmRhcmQqIC90bXAvLmRvdG5ldCAvdG1wL2RvdG5l dC4qIC90bXAvY2xyLWRlYnVnLXBpcGUqIC90bXAvUmF6b3ItU2VydmVyIC90bXAvQ29yZUZ4UGlw ZSogL3RtcC9WQkNTQ29tcGlsZXIgL3RtcC8uTkVURnJhbWV3b3JrKgotICAgIHJtIC1yZiB+Ly5u cG0vCi19Ci0KLWZ1bmN0aW9uIGNoZWNrX2Jvb3RzdHJhcF9lbnZpcm9ubWVudCB7Ci0gICAgaWYg cnBtIC1xYSB8IGdyZXAgZG90bmV0IDsgdGhlbgotICAgICAgICBlY2hvICJlcnJvcjogZG90bmV0 IGlzIGluc3RhbGxlZC4gTm90IGEgZ29vZCBpZGVhIGZvciBib290c3RyYXBwaW5nLiIKLSAgICAg ICAgZXhpdCAxCi0gICAgZmkKLSAgICBpZiBbIC1kIC91c3IvbGliL2RvdG5ldCBdIHx8IFsgLWQg L3Vzci9saWI2NC9kb3RuZXQgXSB8fCBbIC1kIC91c3Ivc2hhcmUvZG90bmV0IF0gOyB0aGVuCi0g ICAgICAgIGVjaG8gImVycm9yOiBvbmUgb2YgL3Vzci9saWIvZG90bmV0IC91c3IvbGliNjQvZG90 bmV0IG9yIC91c3Ivc2hhcmUvZG90bmV0LyBleGlzdHMuIE5vdCBhIGdvb2QgaWRlYSBmb3IgYm9v dHN0cmFwcGluZy4iCi0gICAgICAgIGV4aXQgMQotICAgIGZpCi0gICAgaWYgY29tbWFuZCAtdiBk b3RuZXQgOyB0aGVuCi0gICAgICAgIGVjaG8gImVycm9yOiBkb3RuZXQgaXMgaW4gJFBBVEguIE5v dCBhIGdvb2QgaWRlYSBmb3IgYm9vdHN0cmFwcGluZy4iCi0gICAgICAgIGV4aXQgMQotICAgIGZp Ci19Ci0KLWZ1bmN0aW9uIHJ1bnRpbWVfaWQgewotCi0gICAgc291cmNlIC9ldGMvb3MtcmVsZWFz ZQotICAgIGNhc2UgIiR7SUR9IiBpbgotICAgICAgICAjIFJlbW92ZSB0aGUgUkhFTCBtaW5vciB2 ZXJzaW9uCi0gICAgICAgIHJoZWwpIHJpZF92ZXJzaW9uPSR7VkVSU0lPTl9JRCUuKn0gOzsKLQot ICAgICAgICAqKSByaWRfdmVyc2lvbj0ke1ZFUlNJT05fSUR9IDs7Ci0gICAgZXNhYwotCi0gICAg ZWNobyAiJHtJRH0uJHtyaWRfdmVyc2lvbn0tJHthcmNofSIKLX0KLQotYnVpbGRfYm9vdHN0cmFw PWZhbHNlCi0KLWRlY2xhcmUgLUEgYXJjaG1hcAotYXJjaG1hcD0oCi0gICAgWyJhYXJjaDY0Il09 ImFybTY0IgotICAgIFsiYW1kNjQiXT0ieDY0IgotICAgIFsiYXJtdjhsIl09ImFybSIKLSAgICBb ImkzODYiXT0ieDg2IgotICAgIFsiaTY4NiJdPSJ4ODYiCi0gICAgWyJwcGM2NGxlIl09InBwYzY0 bGUiCi0gICAgWyJzMzkweCJdPSJzMzkweCIKLSAgICBbIng4Nl82NCJdPSJ4NjQiCi0pCi0KLWFy Y2g9JHthcmNobWFwWyIkKHVuYW1lIC1tKSJdfQotCi0KLXBvc2l0aW9uYWxfYXJncz0oKQotd2hp bGUgW1sgIiQjIiAtZ3QgMCBdXTsgZG8KLSAgICBhcmc9IiR7MX0iCi0gICAgY2FzZSAiJHthcmd9 IiBpbgotICAgICAgICAtaHwtLWhlbHApCi0gICAgICAgICAgICBwcmludF91c2FnZQotICAgICAg ICAgICAgZXhpdCAwCi0gICAgICAgICAgICA7OwotICAgICAgICAqKQotICAgICAgICAgICAgcG9z aXRpb25hbF9hcmdzKz0oIiQxIikKLSAgICAgICAgICAgIHNoaWZ0Ci0gICAgICAgICAgICA7Owot ICAgIGVzYWMKLWRvbmUKLQotY2hlY2tfYm9vdHN0cmFwX2Vudmlyb25tZW50Ci0KLXRhZz0ke3Bv c2l0aW9uYWxfYXJnc1swXTotfQotaWYgW1sgLXogJHt0YWd9IF1dOyB0aGVuCi0gICAgZWNobyAi ZXJyb3I6IG1pc3NpbmcgdGFnIHRvIGJ1aWxkIgotICAgIGV4aXQgMQotZmkKLQotc2V0IC14Ci0K LWRpcl9uYW1lPSJkb3RuZXQtJHt0YWd9IgotdW5tb2RpZmllZF90YXJiYWxsX25hbWU9IiR7ZGly X25hbWV9LW9yaWdpbmFsIgotdGFyYmFsbF9uYW1lPSIke2Rpcl9uYW1lfSIKLQotdW5tb2RpZmll ZF90YXJiYWxsX25hbWU9IiR7dW5tb2RpZmllZF90YXJiYWxsX25hbWV9LSR7YXJjaH0tYm9vdHN0 cmFwIgotdGFyYmFsbF9uYW1lPSIke3RhcmJhbGxfbmFtZX0tJHthcmNofS1ib290c3RyYXAiCi0K LXRhcmJhbGxfc3VmZml4PS50YXIuZ3oKLQotaWYgWyAtZiAiJHt0YXJiYWxsX25hbWV9JHt0YXJi YWxsX3N1ZmZpeH0iIF07IHRoZW4KLSAgICBlY2hvICJlcnJvcjogJHt0YXJiYWxsX25hbWV9JHt0 YXJiYWxsX3N1ZmZpeH0gYWxyZWFkeSBleGlzdHMiCi0gICAgZXhpdCAxCi1maQotCi0KLWlmIFsg ISAtZiAiJHt1bm1vZGlmaWVkX3RhcmJhbGxfbmFtZX0udGFyLmd6IiBdOyB0aGVuCi0gICAgaWYg W1sgJHRhZyA9fiBeWzAtOWEtZkEtRl0rJCBdXTsgdGhlbgotICAgICAgICBpZiBbICEgLWYgJHRh Zy56aXAgXTsgdGhlbgotICAgICAgICAgICAgd2dldCBodHRwczovL2dpdGh1Yi5jb20vZG90bmV0 L2RvdG5ldC9hcmNoaXZlLyR0YWcuemlwCi0gICAgICAgIGZpCi0gICAgICAgIGRpcj0kKG1rdGVt cCAtZCAtcCAkKHB3ZCkpCi0gICAgICAgIHB1c2hkICRkaXIKLSAgICAgICAgdW56aXAgLXEgLi4v JHRhZy56aXAKLSAgICAgICAgaWYgW1sgJChscyAtMXEgfCB3YyAtbCkgLWd0IDMgXV07IHRoZW4K LSAgICAgICAgICAgIGVjaG8gImVycm9yOiB0YXJiYWxsIGRvZXNuJ3QgaGF2ZSBhIHNpbmdsZSBt YWluIGRpcmVjdG9yeSIKLSAgICAgICAgICAgIGV4aXQgMQotICAgICAgICBmaQotICAgICAgICB0 YXIgY3pmIC4uLyR7dW5tb2RpZmllZF90YXJiYWxsX25hbWV9LnRhci5neiBkb3RuZXQtJHRhZwot ICAgICAgICBwb3BkCi0gICAgZWxzZQotICAgICAgICB3Z2V0IGh0dHBzOi8vZ2l0aHViLmNvbS9k b3RuZXQvZG90bmV0L2FyY2hpdmUvcmVmcy90YWdzLyR7dGFnfS50YXIuZ3oKLSAgICAgICAgbXYg IiR7dGFnfS50YXIuZ3oiICIke3VubW9kaWZpZWRfdGFyYmFsbF9uYW1lfS50YXIuZ3oiCi0gICAg ZmkKLWZpCi0KLXRhciB0ZiAiJHt1bm1vZGlmaWVkX3RhcmJhbGxfbmFtZX0iLnRhci5neiA+IC50 YXJiYWxsX2ZpbGVfbGlzdAotZXh0cmFjdGVkX3RhcmJhbGxfcm9vdD0kKGhlYWQgLTEgLnRhcmJh bGxfZmlsZV9saXN0IHwgY3V0IC1kLyAtZiAxKQotaWYgW1sgIiRleHRyYWN0ZWRfdGFyYmFsbF9y b290IiA9PSAiLiIqIF1dOyB0aGVuCi0gICAgZWNobyAiZXJyb3I6IGNhbid0IGZpbmQgbWFpbiBk aXJlY3RvcnkgaW4gdGhlIGRvdG5ldCB0YXJiYWxsIgotICAgIGV4aXQgMQotZmkKLWlmIFtbICQo Z3JlcCAtY3YgIl4ke2V4dHJhY3RlZF90YXJiYWxsX3Jvb3R9LyIgLnRhcmJhbGxfZmlsZV9saXN0 KSAtZ3QgMCBdXTsgdGhlbgotICAgIGVjaG8gImVycm9yOiB0YXJiYWxsIGRvZXNuJ3QgaGF2ZSBh IHNpbmdsZSBtYWluIGRpcmVjdG9yeSIKLSAgICBleGl0IDEKLWZpCi1ybSAudGFyYmFsbF9maWxl X2xpc3QKLQotcm0gLXJmICIke3RhcmJhbGxfbmFtZX0iCi1ybSAtcmYgIiR7ZXh0cmFjdGVkX3Rh cmJhbGxfcm9vdH0iCi10YXIgeGYgIiR7dW5tb2RpZmllZF90YXJiYWxsX25hbWV9LnRhci5neiIK LW12ICIke2V4dHJhY3RlZF90YXJiYWxsX3Jvb3R9IiAiJHt0YXJiYWxsX25hbWV9IgotCi1wdXNo ZCAiJHt0YXJiYWxsX25hbWV9IgotCi0uL3ByZXAtc291cmNlLWJ1aWxkLnNoIC0tYm9vdHN0cmFw Ci0KLSMgUmVtb3ZlIGZpbGVzIHdpdGggZnVubnkgbGljZW5zZXMgYW5kIGNyeXB0byBpbXBsZW1l bnRhdGlvbnMgYW5kCi0jIG90aGVyIG5vdC12ZXJ5LXVzZWZ1bCBhcnRpZmFjdHMuIFdlIE1VU1Qg Tk9UIHNoaXAgYW55IGZpbGVzIHRoYXQKLSMgaGF2ZSB1bmFwcHJvdmVkIGxpY2Vuc2VzIGFuZCB1 bmV4cGVjdGVkIGNyeXB0b2dyYXBoaWMKLSMgaW1wbGVtZW50YXRpb25zLgotIwotIyBXZSB1c2Ug cm0gLXIgKG5vIC1mKSB0byBtYWtlIHN1cmUgdGhlIG9wZXJhdGlvbiBmYWlscyBpZiB0aGUgZmls ZXMKLSMgYXJlIG5vdCBhdCB0aGUgZXhwZWN0ZWQgbG9jYXRpb25zLiBJZiB0aGUgZmlsZXMgYXJl IG5vdCBhdCB0aGUKLSMgZXhwZWN0ZWQgbG9jYXRpb24sIHdlIG5lZWQgdG8gZmluZCB0aGUgbmV3 IGxvY2F0aW9uIG9mIHRoZSBmaWxlcyBhbmQKLSMgZGVsZXRlIHRoZW0sIG9yIHZlcmlmeSB0aGF0 IHVwc3RyZWFtIGhhcyBhbHJlYWR5IHJlbW92ZWQgdGhlIGZpbGVzLgotCi0jIHJtIC1yICRGSUxF X1RPX1JFTU9WRQotCi1wb3BkCi0KLWVjaG8gIkJvb3RzdHJhcCAuTkVUIFNESzogJChqcSAudG9v bHMuZG90bmV0ICIke3RhcmJhbGxfbmFtZX0iL2dsb2JhbC5qc29uKSIKLQotdGltZSB0YXIgLWN6 ZiAiJHt0YXJiYWxsX25hbWV9JHt0YXJiYWxsX3N1ZmZpeH0iICIke3RhcmJhbGxfbmFtZX0iCgpk aWZmIC0tZ2l0IGEvYnVpbGQtcHJlYnVpbHQtYXJjaGl2ZSBiL2J1aWxkLXByZWJ1aWx0LWFyY2hp dmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDdlMTRiMGYuLjAwMDAwMDAKLS0tIGEv YnVpbGQtcHJlYnVpbHQtYXJjaGl2ZQorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLSMh L2Jpbi9iYXNoCi0KLSMgVXNhZ2U6Ci0jICAgYnVpbGQtcHJlYnVpbHQtYXJjaGl2ZSBhcmNoaXRl Y3R1cmUgdm1yLWRpcmVjdG9yeQotIwotIyBDcmVhdGVzIGFuIGFyY2hpdmUgY29udGFpbmluZyBu ZWNlc3NhcnkgYm9vdHN0cmFwcGluZyBiaW5hcmllcyBmb3IgcHBjNjRsZSBvcgotIyBzMzkweCBh cmNoaXRlY3R1cmVzIGZyb20gYSBWTVIgYnVpbGQuCi0jCi0jIFlvdSBuZWVkIHRvIGhhdmUgY2xv bmVkIHRoZSBWTVIgKGh0dHBzOi8vZ2l0aHViLmNvbS9kb3RuZXQvZG90bmV0KSBhbmQKLSMgY3Jv c3MtY29tcGlsZWQgaXQgZm9yIHRoZSB0YXJnZXQgYXJjaGl0ZWN0dXJlIGFscmVhZHkuCi0KLXNl dCAtZXVvIHBpcGVmYWlsCi1JRlM9JCdcblx0Jwotc2V0IC14Ci0KLWZ1bmN0aW9uIHByaW50X3Vz YWdlIHsKLSAgICBlY2hvICJVc2FnZToiCi0gICAgZWNobyAiJDAgPGFyY2hpdGVjdHVyZT4gPHZt ciBkaXJlY3Rvcnk+IgotICAgIGVjaG8KLSAgICBlY2hvICJDcmVhdGVzIGEgcHBjNjRsZSBvciBz MzkweCBib290c3RyYXAgYXJjaGl2ZSBmcm9tIGEgVk1SIGJ1aWxkLiIKLSAgICBlY2hvCi0gICAg ZWNobyAiWW91IG5lZWQgdG8gaGF2ZSBjbG9uZWQgdGhlIFZNUiAoaHR0cHM6Ly9naXRodWIuY29t L2RvdG5ldC9kb3RuZXQpIGFuZCIKLSAgICBlY2hvICJjcm9zcy1jb21waWxlZCBpdCBmb3IgdGhl IHRhcmdldCBhcmNoaXRlY3R1cmUgYWxyZWFkeS4iCi0KLX0KLQotcG9zaXRpb25hbF9hcmdzPSgp Ci13aGlsZSBbWyAiJCMiIC1ndCAwIF1dOyBkbwotICAgIGFyZz0iJHsxfSIKLSAgICBjYXNlICIk e2FyZ30iIGluCi0gICAgICAgIC1ofC0taGVscCkKLSAgICAgICAgICAgIHByaW50X3VzYWdlCi0g ICAgICAgICAgICBleGl0IDAKLSAgICAgICAgICAgIDs7Ci0gICAgICAgICopCi0gICAgICAgICAg ICBwb3NpdGlvbmFsX2FyZ3MrPSgiJDEiKQotICAgICAgICAgICAgc2hpZnQKLSAgICAgICAgICAg IDs7Ci0gICAgZXNhYwotZG9uZQotCi1hcmNoPSR7cG9zaXRpb25hbF9hcmdzWzBdfSAgIyBOYW1l IG9mIHRoZSBhcmNoaXRlY3R1cmUuIEVnLCBzMzkweCBvciBwcGM2NGxlCi1kaXI9JHtwb3NpdGlv bmFsX2FyZ3NbMV19ICMgQ2hlY2tvdXQgb2YgdGhlIFZNUiB3aXRoIHRoZSBjcm9zcy1idWlsZCBm b3IgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUKLWRpcj0kKHJlYWRsaW5rIC1mICIkZGlyIikKLQot c2RrX3RhcmJhbGw9JChyZWFkbGluayAtZiAkKGZpbmQgIiRkaXIiIC1pbmFtZSAnZG90bmV0LXNk ayonIiRhcmNoIicqdGFyLmd6JyB8IGhlYWQgLTEpKQotCi0jIFNESyBpcyBhdCBWTVIvYXJ0aWZh Y3RzL2Fzc2V0cy9SZWxlYXNlL2RvdG5ldC1zZGstOS4wLjEwMC1wcmV2aWV3LjMuMjQxNjUuMS1s aW51eC0kYXJjaC50YXIuZ3ouIEV4dHJhY3QgdGhlIFNESyB2ZXJzaW9uIGZyb20gdGhlIG5hbWUu Ci1zZGtfdmVyc2lvbj0kKGVjaG8gIiQoYmFzZW5hbWUgIiR7c2RrX3RhcmJhbGx9IikiIHwgc2Vk IC1FIC1lICdzL2RvdG5ldC1zZGstLy8nIC1lICJzLy1saW51eC0kYXJjaC50YXIuZ3ovLyIpCi1l Y2hvICRzZGtfdmVyc2lvbgotCi1hcmNoaXZlX25hbWU9ZG90bmV0LXByZWJ1aWx0cy0ke3Nka192 ZXJzaW9ufS0ke2FyY2h9Ci0KLW1rZGlyIC1wICRhcmNoaXZlX25hbWUKLXB1c2hkICRhcmNoaXZl X25hbWUKLQotY3AgLWF2ICRzZGtfdGFyYmFsbCAuCi0jIEdldCBhbGwgYXJjaGl0ZWN0dXJlLXNw ZWNpZmljIG51Z2V0IHBhY2thZ2VzCi1maW5kICRkaXIvYXJ0aWZhY3RzL3BhY2thZ2VzL1JlbGVh c2UvU2hpcHBpbmcvIC1pbmFtZSAiKmxpbnV4LSRhcmNoKm51cGtnIiAtZXhlYyBjcCAtYXZMIHt9 IC4gXDsKLQotcG9wZAotCi10YXIgY3Z6ZiAkYXJjaGl2ZV9uYW1lLnRhci5neiAkYXJjaGl2ZV9u YW1lCgpkaWZmIC0tZ2l0IGEvY2hlY2stZGVidWctc3ltYm9scy5weSBiL2NoZWNrLWRlYnVnLXN5 bWJvbHMucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGE0Y2FhNTcuLjAwMDAwMDAK LS0tIGEvY2hlY2stZGVidWctc3ltYm9scy5weQorKysgL2Rldi9udWxsCkBAIC0xLDE0MCArMCww IEBACi0jIS91c3IvYmluL3B5dGhvbjMKLQotIiIiCi1DaGVjayBkZWJ1ZyBzeW1ib2xzIGFyZSBw cmVzZW50IGluIHNoYXJlZCBvYmplY3QgYW5kIGNhbiBpZGVudGlmeQotY29kZS4KLQotSXQgc3Rh cnRzIHNjYW5uaW5nIGZyb20gYSBkaXJlY3RvcnkgYW5kIHJlY3Vyc2l2ZWx5IHNjYW5zIGFsbCBF TEYKLWZpbGVzIGZvdW5kIGluIGl0IGZvciB2YXJpb3VzIHN5bWJvbHMgdG8gZW5zdXJlIGFsbCBk ZWJ1Z2luZm8gaXMKLXByZXNlbnQgYW5kIG5vdGhpbmcgaGFzIGJlZW4gc3RyaXBwZWQuCi0KLVVz YWdlOgotCi0uL2NoZWNrLWRlYnVnLXN5bWJvbHMgL3BhdGgvb2YvZGlyL3RvL3NjYW4vCi0KLQot RXhhbXBsZToKLQotLi9jaGVjay1kZWJ1Zy1zeW1ib2xzIC91c3IvbGliNjQKLSIiIgotCi0jIFRo aXMgdGVjaG5pcXVlIHdhcyBleHBsYWluZWQgdG8gbWUgYnkgTWFyayBXaWVsYWFyZCAobWp3KS4K LQotaW1wb3J0IGNvbGxlY3Rpb25zCi1pbXBvcnQgb3MKLWltcG9ydCByZQotaW1wb3J0IHN1YnBy b2Nlc3MKLWltcG9ydCBzeXMKLQotU2NhblJlc3VsdCA9IGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUo J1NjYW5SZXN1bHQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbGVf bmFtZSBkZWJ1Z19pbmZvIGRlYnVnX2FiYnJldiBmaWxlX3N5bWJvbHMgZ251X2RlYnVnbGluaycp Ci0KLWZpbGVfc3ltYm9sX2V4Y2x1ZGVfbGlzdCA9IFsKLSAgICAnaWxjJywKLV0KLQotZGVmIHNj YW5fZmlsZShmaWxlKToKLSAgICAiU2NhbiB0aGUgcHJvdmlkZWQgZmlsZSBhbmQgcmV0dXJuIGEg U2NhblJlc3VsdCBjb250YWluaW5nIHJlc3VsdHMgb2YgdGhlIHNjYW4uIgotCi0gICAgIyBUZXN0 IGZvciAuZGVidWdfKiBzZWN0aW9ucyBpbiB0aGUgc2hhcmVkIG9iamVjdC4gVGhpcyBpcyB0aGUg IG1haW4gdGVzdC4KLSAgICAjIFN0cmlwcGVkIG9iamVjdHMgd2lsbCBub3QgY29udGFpbiB0aGVz ZS4KLSAgICByZWFkZWxmX1NfcmVzdWx0ID0gc3VicHJvY2Vzcy5ydW4oWydldS1yZWFkZWxmJywg Jy1TJywgZmlsZV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91 dD1zdWJwcm9jZXNzLlBJUEUsIGVuY29kaW5nPSd1dGYtOCcsIGNoZWNrPVRydWUpCi0gICAgaGFz X2RlYnVnX2luZm8gPSBhbnkobGluZSBmb3IgbGluZSBpbiByZWFkZWxmX1NfcmVzdWx0LnN0ZG91 dC5zcGxpdCgnXG4nKSBpZiAnXSAuZGVidWdfaW5mbycgaW4gbGluZSkKLQotICAgIGhhc19kZWJ1 Z19hYmJyZXYgPSBhbnkobGluZSBmb3IgbGluZSBpbiByZWFkZWxmX1NfcmVzdWx0LnN0ZG91dC5z cGxpdCgnXG4nKSBpZiAnXSAuZGVidWdfYWJicmV2JyBpbiBsaW5lKQotCi0gICAgIyBUZXN0IEZJ TEUgc3ltYm9scy4gVGhlc2Ugd2lsbCBtb3N0IGxpa2VseSBiZSByZW1vdmVkIGJ5IGFueXRpbmcg dGhhdAotICAgICMgbWFuaXB1bGF0ZXMgc3ltYm9sIHRhYmxlcyBiZWNhdXNlIGl0J3MgZ2VuZXJh bGx5IHVzZWxlc3MuIFNvIGEgbmljZSB0ZXN0Ci0gICAgIyB0aGF0IG5vdGhpbmcgaGFzIG1lc3Nl ZCB3aXRoIHN5bWJvbHMuCi0gICAgZGVmIGNvbnRhaW5zX2ZpbGVfc3ltYm9scyhsaW5lKToKLSAg ICAgICAgcGFydHMgPSBsaW5lLnNwbGl0KCkKLSAgICAgICAgaWYgbGVuKHBhcnRzKSA8IDg6Ci0g ICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIFwKLSAgICAgICAgICAgIHBh cnRzWzJdID09ICcwJyBhbmQgcGFydHNbM10gPT0gJ0ZJTEUnIGFuZCBwYXJ0c1s0XSA9PSAnTE9D QUwnIGFuZCBwYXJ0c1s1XSA9PSAnREVGQVVMVCcgYW5kIFwKLSAgICAgICAgICAgIHBhcnRzWzZd ID09ICdBQlMnIGFuZCByZS5tYXRjaChyJygoLiovKT9bLV9hLXpBLVowLTldK1wuKGN8Y2N8Y3Bw fGN4eCkpPycsIHBhcnRzWzddKQotCi0gICAgcmVhZGVsZl9zX3Jlc3VsdCA9IHN1YnByb2Nlc3Mu cnVuKFsiZXUtcmVhZGVsZiIsICctcycsIGZpbGVdLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBlbmNvZGluZz0ndXRmLTgnLCBj aGVjaz1UcnVlKQotICAgIGhhc19maWxlX3N5bWJvbHMgPSBUcnVlCi0gICAgaWYgbm90IG9zLnBh dGguYmFzZW5hbWUoZmlsZSkgaW4gZmlsZV9zeW1ib2xfZXhjbHVkZV9saXN0OgotICAgICAgICBo YXNfZmlsZV9zeW1ib2xzID0gYW55KGxpbmUgZm9yIGxpbmUgaW4gcmVhZGVsZl9zX3Jlc3VsdC5z dGRvdXQuc3BsaXQoJ1xuJykgaWYgY29udGFpbnNfZmlsZV9zeW1ib2xzKGxpbmUpKQotCi0gICAg IyBUZXN0IHRoYXQgdGhlcmUgYXJlIG5vIC5nbnVfZGVidWdsaW5rIHNlY3Rpb25zIHBvaW50aW5n IHRvIGFub3RoZXIKLSAgICAjIGRlYnVnaW5mbyBmaWxlLiBUaGVyZSBzaG91bGRuJ3QgYmUgYW55 IGRlYnVnaW5mbyBmaWxlcywgc28gdGhlIGxpbmsgbWFrZXMKLSAgICAjIG5vIHNlbnNlIGVpdGhl ci4KLSAgICBoYXNfZ251X2RlYnVnbGluayA9IGFueShsaW5lIGZvciBsaW5lIGluIHJlYWRlbGZf c19yZXN1bHQuc3Rkb3V0LnNwbGl0KCdcbicpIGlmICddIC5nbnVfZGVidWdsaW5rJyBpbiBsaW5l KQotCi0gICAgcmV0dXJuIFNjYW5SZXN1bHQoZmlsZSwgaGFzX2RlYnVnX2luZm8sIGhhc19kZWJ1 Z19hYmJyZXYsIGhhc19maWxlX3N5bWJvbHMsIGhhc19nbnVfZGVidWdsaW5rKQotCi1kZWYgaXNf ZWxmKGZpbGUpOgotICAgIHJlc3VsdCA9IHN1YnByb2Nlc3MucnVuKFsnZmlsZScsIGZpbGVdLCBz dGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBlbmNvZGluZz0ndXRmLTgnLCBjaGVjaz1UcnVlKQotICAg IHJldHVybiByZS5zZWFyY2gocidFTEYgNjQtYml0IFtMTV1TQiAoPzpwaWUgKT8oPzpleGVjdXRh YmxlfHNoYXJlZCBvYmplY3QpJywgcmVzdWx0LnN0ZG91dCkKLQotZGVmIHNjYW5fZmlsZV9pZl9z ZW5zaWJsZShmaWxlKToKLSAgICBpZiBpc19lbGYoZmlsZSk6Ci0gICAgICAgIHJldHVybiBzY2Fu X2ZpbGUoZmlsZSkKLSAgICByZXR1cm4gTm9uZQotCi1kZWYgc2Nhbl9kaXIoZGlyKToKLSAgICBy ZXN1bHRzID0gW10KLSAgICBmb3Igcm9vdCwgXywgZmlsZXMgaW4gb3Mud2FsayhkaXIpOgotICAg ICAgICBmb3IgbmFtZSBpbiBmaWxlczoKLSAgICAgICAgICAgIHJlc3VsdCA9IHNjYW5fZmlsZV9p Zl9zZW5zaWJsZShvcy5wYXRoLmpvaW4ocm9vdCwgbmFtZSkpCi0gICAgICAgICAgICBpZiByZXN1 bHQ6Ci0gICAgICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQocmVzdWx0KQotICAgIHJldHVybiBy ZXN1bHRzCi0KLWRlZiBzY2FuKGZpbGUpOgotICAgIGZpbGUgPSBvcy5wYXRoLmFic3BhdGgoZmls ZSkKLSAgICBpZiBvcy5wYXRoLmlzZGlyKGZpbGUpOgotICAgICAgICByZXR1cm4gc2Nhbl9kaXIo ZmlsZSkKLSAgICBlbGlmIG9zLnBhdGguaXNmaWxlKGZpbGUpOgotICAgICAgICByZXR1cm4gW3Nj YW5fZmlsZV9pZl9zZW5zaWJsZShmaWxlKV0KLQotZGVmIGlzX2JhZF9yZXN1bHQocmVzdWx0KToK LSAgICByZXR1cm4gbm90IHJlc3VsdC5kZWJ1Z19pbmZvIG9yIG5vdCByZXN1bHQuZGVidWdfYWJi cmV2IG9yIG5vdCByZXN1bHQuZmlsZV9zeW1ib2xzIG9yIHJlc3VsdC5nbnVfZGVidWdsaW5rCi0K LWRlZiBwcmludF9zY2FuX3Jlc3VsdHMocmVzdWx0cywgdmVyYm9zZSk6Ci0gICAgIyBwcmludChy ZXN1bHRzKQotICAgIGZvciByZXN1bHQgaW4gcmVzdWx0czoKLSAgICAgICAgZmlsZV9uYW1lID0g cmVzdWx0LmZpbGVfbmFtZQotICAgICAgICBmb3VuZF9pc3N1ZSA9IEZhbHNlCi0gICAgICAgIGlm IG5vdCByZXN1bHQuZGVidWdfaW5mbzoKLSAgICAgICAgICAgIGZvdW5kX2lzc3VlID0gVHJ1ZQot ICAgICAgICAgICAgcHJpbnQoJ2Vycm9yOiBtaXNzaW5nIC5kZWJ1Z19pbmZvIHNlY3Rpb24gaW4n LCBmaWxlX25hbWUpCi0gICAgICAgIGlmIG5vdCByZXN1bHQuZGVidWdfYWJicmV2OgotICAgICAg ICAgICAgZm91bmRfaXNzdWUgPSBUcnVlCi0gICAgICAgICAgICBwcmludCgnZXJyb3I6IG1pc3Np bmcgLmRlYnVnX2FiYnJldiBzZWN0aW9uIGluJywgZmlsZV9uYW1lKQotICAgICAgICBpZiBub3Qg cmVzdWx0LmZpbGVfc3ltYm9sczoKLSAgICAgICAgICAgIGZvdW5kX2lzc3VlID0gVHJ1ZQotICAg ICAgICAgICAgcHJpbnQoJ2Vycm9yOiBtaXNzaW5nIEZJTEUgc3ltYm9scyBpbicsIGZpbGVfbmFt ZSkKLSAgICAgICAgaWYgcmVzdWx0LmdudV9kZWJ1Z2xpbms6Ci0gICAgICAgICAgICBmb3VuZF9p c3N1ZSA9IFRydWUKLSAgICAgICAgICAgIHByaW50KCdlcnJvcjogdW5leHBlY3RlZCAuZ251X2Rl YnVnbGluayBzZWN0aW9uIGluJywgZmlsZV9uYW1lKQotICAgICAgICBpZiB2ZXJib3NlIGFuZCBu b3QgZm91bmRfaXNzdWU6Ci0gICAgICAgICAgICBwcmludCgnT0s6ICcsIGZpbGVfbmFtZSkKLQot ZGVmIG1haW4oYXJncyk6Ci0gICAgdmVyYm9zZSA9IEZhbHNlCi0gICAgZmlsZXMgPSBbXQotICAg IGZvciBhcmcgaW4gYXJnczoKLSAgICAgICAgaWYgYXJnID09ICctLXZlcmJvc2UnIG9yIGFyZyA9 PSAnLXYnOgotICAgICAgICAgICAgdmVyYm9zZSA9IFRydWUKLSAgICAgICAgZWxzZToKLSAgICAg ICAgICAgIGZpbGVzLmFwcGVuZChhcmcpCi0KLSAgICByZXN1bHRzID0gW10KLSAgICBmb3IgZmls ZSBpbiBmaWxlczoKLSAgICAgICAgcmVzdWx0cy5leHRlbmQoc2NhbihmaWxlKSkKLQotICAgIHBy aW50X3NjYW5fcmVzdWx0cyhyZXN1bHRzLCB2ZXJib3NlKQotCi0gICAgaWYgYW55KGlzX2JhZF9y ZXN1bHQocmVzdWx0KSBmb3IgcmVzdWx0IGluIHJlc3VsdHMpOgotICAgICAgICByZXR1cm4gMQot ICAgIHJldHVybiAwCi0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBzeXMuZXhp dChtYWluKHN5cy5hcmd2WzE6XSkpCgpkaWZmIC0tZ2l0IGEvY29wci1idWlsZCBiL2NvcHItYnVp bGQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGYzY2Q2ZmUuLjAwMDAwMDAKLS0tIGEv Y29wci1idWlsZAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0K LXNldCAtZXVvIHBpcGVmYWlsCi0KLXNldCAteAotCi1mZWRwa2cgLS1yZWxlYXNlIGY0MCBzcnBt IDI+JjEgfCB0ZWUgZmVkcGtnLm91dHB1dAotCi1zcnBtX25hbWU9JChncmVwICdXcm90ZTogJyBm ZWRwa2cub3V0cHV0IHwgY3V0IC1kJyAnIC1mIDIpCi0KLWxzIC1hbGggIiR7c3JwbV9uYW1lfSIK LQotY29wci1jbGkgLS1kZWJ1ZyBidWlsZCBAZG90bmV0LXNpZy9kb3RuZXQtcHJldmlldyAiJHtz cnBtX25hbWV9IiAtLXRpbWVvdXQgMzYwMDAKCmRpZmYgLS1naXQgYS9kZWFkLnBhY2thZ2UgYi9k ZWFkLnBhY2thZ2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkxMjQ1ZAot LS0gL2Rldi9udWxsCisrKyBiL2RlYWQucGFja2FnZQpAQCAtMCwwICsxIEBACitVcHN0cmVhbSBF T0wgaXMgTm92IDExLCAyMDI2LgoKZGlmZiAtLWdpdCBhL2RvdG5ldC5zaC5pbiBiL2RvdG5ldC5z aC5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjViOTJhMC4uMDAwMDAwMAotLS0g YS9kb3RuZXQuc2guaW4KKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0KLSMgU2V0IGxv Y2F0aW9uIGZvciBBcHBIb3N0IGxvb2t1cAotWyAteiAiJERPVE5FVF9ST09UIiBdICYmIGV4cG9y dCBET1RORVRfUk9PVD1ATElCRElSQC9kb3RuZXQKLQotIyBBZGQgZG90bmV0IHRvb2xzIGRpcmVj dG9yeSB0byBQQVRICi1ET1RORVRfVE9PTFNfUEFUSD0iJEhPTUUvLmRvdG5ldC90b29scyIKLWNh c2UgIiRQQVRIIiBpbgotICAgICoiJERPVE5FVF9UT09MU19QQVRIIiogKSB0cnVlIDs7Ci0gICAg KiApIFBBVEg9IiRQQVRIOiRET1RORVRfVE9PTFNfUEFUSCIgOzsKLWVzYWMKLQotIyBFeHRyYWN0 IHNlbGYtY29udGFpbmVkIGV4ZWN1dGFibGVzIHVuZGVyIEhPTUUKLSMgdG8gYXZvaWQgbXVsdGkt dXNlciBpc3N1ZXMgZnJvbSB1c2luZyB0aGUgZGVmYXVsdCAnL3Zhci90bXAnLgotWyAteiAiJERP VE5FVF9CVU5ETEVfRVhUUkFDVF9CQVNFX0RJUiIgXSAmJiBleHBvcnQgRE9UTkVUX0JVTkRMRV9F WFRSQUNUX0JBU0VfRElSPSIke1hER19DQUNIRV9IT01FOi0iJEhPTUUiLy5jYWNoZX0vZG90bmV0 X2J1bmRsZV9leHRyYWN0IgoKZGlmZiAtLWdpdCBhL2RvdG5ldDkuMC5zcGVjIGIvZG90bmV0OS4w LnNwZWMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjM2U3YTcuLjAwMDAwMDAKLS0t IGEvZG90bmV0OS4wLnNwZWMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDY0ICswLDAgQEAKLSViY29u ZF93aXRoIGJvb3RzdHJhcAotCi0jIExUTyB0cmlnZ2VycyBhIGNvbXBpbGF0aW9uIGVycm9yIGZv ciBhIHNvdXJjZSBsZXZlbCBpc3N1ZS4gIEdpdmVuIHRoYXQgTFRPIHNob3VsZCBub3QKLSMgY2hh bmdlIHRoZSB2YWxpZGl0eSBvZiBhbnkgZ2l2ZW4gc291cmNlIGFuZCB0aGUgbmF0dXJlIG9mIHRo ZSBlcnJvciAodW5kZWZpbmVkIGVudW0pLCBJCi0jIHN1c3BlY3QgYSBnZW5lcmF0b3IgcHJvZ3Jh bSBpcyBtaXMtYmVoYXZpbmcgaW4gc29tZSB3YXkuICBUaGlzIG5lZWRzIGZ1cnRoZXIgZGVidWdn aW5nLAotIyB1bnRpbCB0aGF0J3MgZG9uZSwgZGlzYWJsZSBMVE8uICBUaGlzIGhhcyB0byBoYXBw ZW4gYmVmb3JlIHNldHRpbmcgdGhlIGZsYWdzIGJlbG93LgotJWRlZmluZSBfbHRvX2NmbGFncyAl e25pbH0KLQotJWdsb2JhbCBkb3RuZXR2ZXIgOS4wCi0KLSMgT25seSB0aGUgcGFja2FnZSBmb3Ig dGhlIGxhdGVzdCBkb3RuZXQgdmVyc2lvbiBzaG91bGQgcHJvdmlkZSBSUE1zIGxpa2UKLSMgZG90 bmV0LWhvc3QgYW5kIG5ldHN0YW5kYXJkLXRhcmdldGluZy1wYWNrLTIuMQotJWdsb2JhbCBpc19s YXRlc3RfZG90bmV0IDAKLQotIyB1cHN0cmVhbSBjYW4gcHJvZHVjZSByZWxlYXNlcyB3aXRoIGEg ZGlmZmVyZW50IHRhZyB0aGFuIHRoZSBTREsgdmVyc2lvbgotIyUlZ2xvYmFsIHVwc3RyZWFtX3Rh ZyB2JSV7cnVudGltZV92ZXJzaW9ufQotJWdsb2JhbCB1cHN0cmVhbV90YWcgdjkuMC4xMTkKLSVn bG9iYWwgdXBzdHJlYW1fdGFnX3dpdGhvdXRfdiAlKGVjaG8gJXt1cHN0cmVhbV90YWd9IHwgc2Vk IC1lICdzfF52fHwnKQotCi0lZ2xvYmFsIGhvc3RmeHJfdmVyc2lvbiAle3J1bnRpbWVfdmVyc2lv bn0KLSVnbG9iYWwgcnVudGltZV92ZXJzaW9uIDkuMC4xOAotJWdsb2JhbCBhc3BuZXRjb3JlX3J1 bnRpbWVfdmVyc2lvbiA5LjAuMTgKLSVnbG9iYWwgc2RrX3ZlcnNpb24gOS4wLjExOQotJWdsb2Jh bCBzZGtfZmVhdHVyZV9iYW5kX3ZlcnNpb24gJShlY2hvICV7c2RrX3ZlcnNpb259IHwgY3V0IC1k ICctJyAtZiAxIHwgc2VkIC1lICdzfFtbOmRpZ2l0Ol1dW1s6ZGlnaXQ6XV0kfDAwfCcpCi0lZ2xv YmFsIHRlbXBsYXRlc192ZXJzaW9uICV7YXNwbmV0Y29yZV9ydW50aW1lX3ZlcnNpb259Ci0jJSVn bG9iYWwgdGVtcGxhdGVzX3ZlcnNpb24gJSUoZWNobyAlJXtydW50aW1lX3ZlcnNpb259IHwgYXdr ICdCRUdJTiB7IEZTPSIuIjsgT0ZTPSIuIiB9IHtwcmludCAkMSwgJDIsICQzKzEgfScpCi0KLSVn bG9iYWwgcnVudGltZV9ycG1fdmVyc2lvbiAle3J1bnRpbWVfdmVyc2lvbn0KLSVnbG9iYWwgYXNw bmV0Y29yZV9ydW50aW1lX3JwbV92ZXJzaW9uICV7YXNwbmV0Y29yZV9ydW50aW1lX3ZlcnNpb259 Ci0lZ2xvYmFsIHNka19ycG1fdmVyc2lvbiAle3Nka192ZXJzaW9ufQotCi0lZ2xvYmFsIHVzZV9i dW5kbGVkX2Jyb3RsaSAwCi0lZ2xvYmFsIHVzZV9idW5kbGVkX2xpYnVud2luZCAxCi0lZ2xvYmFs IHVzZV9idW5kbGVkX2xsdm1fbGlidW53aW5kIDEKLSVnbG9iYWwgdXNlX2J1bmRsZWRfcmFwaWRq c29uIDAKLSVnbG9iYWwgdXNlX2J1bmRsZWRfemxpYiAwCi0KLSVpZiAwJXs/cmhlbH0gPiAwCi0l Z2xvYmFsIHVzZV9idW5kbGVkX3JhcGlkanNvbiAxCi0lZW5kaWYKLQotJWlmYXJjaCBhYXJjaDY0 Ci0lZ2xvYmFsIHJ1bnRpbWVfYXJjaCBhcm02NAotJWVuZGlmCi0laWZhcmNoIHBwYzY0bGUKLSVn bG9iYWwgcnVudGltZV9hcmNoIHBwYzY0bGUKLSVlbmRpZgotJWlmYXJjaCBzMzkweAotJWdsb2Jh bCBydW50aW1lX2FyY2ggczM5MHgKLSVlbmRpZgotJWlmYXJjaCB4ODZfNjQKLSVnbG9iYWwgcnVu dGltZV9hcmNoIHg2NAotJWVuZGlmCi0KLSVnbG9iYWwgbW9ub19hcmNocyBwcGM2NGxlIHMzOTB4 Ci0KLSMgT24gRmVkb3JhIGFuZCBSSEVMID4gOSwgc2hpcCBSUE0gbWFjcm9zCi0laWYgMCV7P2Zl ZG9yYX0gfHwgMCV7P3JoZWx9ID4gOQotJWdsb2JhbCBpbmNsdWRlX21hY3JvcyAxCi0lZWxzZQot JWdsb2JhbCBpbmNsdWRlX21hY3JvcyAwCi0lZW5kaWYKLQotJXshP3J1bnRpbWVfaWQ6JWdsb2Jh bCBydW50aW1lX2lkICUoLiAvZXRjL29zLXJlbGVhc2UgOyBlY2hvICIke0lEfS4ke1ZFUlNJT05f SUQlJS4qfSIpLSV7cnVudGltZV9hcmNofX0KLQotIyBEZWZpbmUgbWFjcm9zIGZvciBPUyBiYWNr d2FyZHMgY29tcGF0Ci0laWYgJXt1bmRlZmluZWQgYmFzaF9jb21wbGV0aW9uc19kaXJ9Ci0lZ2xv YmFsIGJhc2hfY29tcGxldGlvbnNfZGlyICV7X2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbi9jb21w bGV0aW9ucwotJWVuZGlmCi0laWYgJXt1bmRlZmluZWQgenNoX2NvbXBsZXRpb25zX2Rpcn0KLSVn bG9iYWwgenNoX2NvbXBsZXRpb25zX2RpciAle19kYXRhZGlyfS96c2gvc2l0ZS1mdW5jdGlvbnMK LSVlbmRpZgotCi1OYW1lOiAgICAgICAgICAgZG90bmV0JXtkb3RuZXR2ZXJ9Ci1WZXJzaW9uOiAg ICAgICAgJXtzZGtfcnBtX3ZlcnNpb259Ci1SZWxlYXNlOiAgICAgICAgMiV7P2Rpc3R9Ci1TdW1t YXJ5OiAgICAgICAgLk5FVCBSdW50aW1lIGFuZCBTREsKLUxpY2Vuc2U6ICAgICAgICAwQlNEIEFO RCBBcGFjaGUtMi4wIEFORCAoQXBhY2hlLTIuMCBXSVRIIExMVk0tZXhjZXB0aW9uKSBBTkQgQVBT TC0yLjAgQU5EIEJTRC0yLUNsYXVzZSBBTkQgQlNELTMtQ2xhdXNlIEFORCBCU0QtNC1DbGF1c2Ug QU5EIEJTTC0xLjAgQU5EIGJ6aXAyLTEuMC42IEFORCBDQzAtMS4wIEFORCBDQy1CWS0zLjAgQU5E IENDLUJZLTQuMCBBTkQgQ0MtUEREQyBBTkQgQ05SSS1QeXRob24gQU5EIEVQTC0xLjAgQU5EIEdQ TC0yLjAtb25seSBBTkQgKEdQTC0yLjAtb25seSBXSVRIIEdDQy1leGNlcHRpb24tMi4wKSBBTkQg R1BMLTIuMC1vci1sYXRlciBBTkQgR1BMLTMuMC1vbmx5IEFORCBJQ1UgQU5EIElTQyBBTkQgTEdQ TC0yLjEtb25seSBBTkQgTEdQTC0yLjEtb3ItbGF0ZXIgQU5EIExpY2Vuc2VSZWYtRmVkb3JhLVB1 YmxpYy1Eb21haW4gQU5EIExpY2Vuc2VSZWYtSVNPLTg4NzkgQU5EIE1JVCBBTkQgTUlULVd1IEFO RCBNUy1QTCBBTkQgTVMtUkwgQU5EIE5DU0EgQU5EIE9GTC0xLjEgQU5EIE9wZW5TU0wgQU5EIFVu aWNvZGUtREZTLTIwMTUgQU5EIFVuaWNvZGUtREZTLTIwMTYgQU5EIFczQy0xOTk4MDcyMCBBTkQg WDExIEFORCBabGliCi0KLVVSTDogICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vZG90bmV0 LwotCi0laWYgJXt3aXRoIGJvb3RzdHJhcH0KLSMgVGhlIHNvdXJjZSBpcyBnZW5lcmF0ZWQgb24g YSBGZWRvcmEgYm94IHZpYToKLSMgLi9idWlsZC1kb3RuZXQtYm9vdHN0cmFwLXRhcmJhbGwgJSV7 dXBzdHJlYW1fdGFnfQotU291cmNlMDogICAgICAgIGRvdG5ldC0le3Vwc3RyZWFtX3RhZ30teDY0 LWJvb3RzdHJhcC50YXIuZ3oKLSMgVGhlIGJvb3RzdHJhcCBTREsgdmVyc2lvbiBpcyBvbmUgbGlz dGVkIGluIHRoZSBnbG9iYWwuanNvbiBmaWxlIG9mIHRoZSBtYWluIHNvdXJjZSBhcmNoaXZlCi0l Z2xvYmFsIGJvb3RzdHJhcF9zZGtfdmVyc2lvbiA5LjAuMTAwLXJjLjEuMjQ0NTIuMTIKLSMgQmlu YXJpZXMgY2FuIGJlIGF0IG9uZSBvZiBzZXZlcmFsIGRpZmZlcmVudCBVUkxzOgotIyBHQSByZWxl YXNlczoKLSMgU291cmNlMTogICAgICAgIGh0dHBzOi8vZG90bmV0Y2xpLmF6dXJlZWRnZS5uZXQv ZG90bmV0L1Nkay8lJXtib290c3RyYXBfc2RrX3ZlcnNpb259L2RvdG5ldC1zZGstJSV7Ym9vdHN0 cmFwX3Nka192ZXJzaW9ufS1saW51eC1hcm02NC50YXIuZ3oKLSMgUHJldmlldyByZWxlYXNlczoK LVNvdXJjZTE6ICAgICAgICBodHRwczovL2RvdG5ldGJ1aWxkcy5henVyZWVkZ2UubmV0L3B1Ymxp Yy9TZGsvJXtib290c3RyYXBfc2RrX3ZlcnNpb259L2RvdG5ldC1zZGstJXtib290c3RyYXBfc2Rr X3ZlcnNpb259LWxpbnV4LWFybTY0LnRhci5negotIyBUbyBnZW5lcmF0ZSBwcGM2NGxlIGFuZCBz MzkweCBhcmNoaXZlczoKLSMgMS4gRmluZCB0aGUgc291cmNlIGNvbW1pdHMgYW5kIHZlcnNpb25z IG9mIHJlcG9zLCB1c2Ugb25lIG9mOgotIyAgIC0gaHR0cHM6Ly9kb3RuZXRidWlsZHMuYXp1cmVl ZGdlLm5ldC9wdWJsaWMvU2RrLyUle2Jvb3RzdHJhcF9zZGtfdmVyc2lvbn0vcHJvZHVjdENvbW1p dC1saW51eC14NjQudHh0Ci0jICAgLSBodHRwczovL2RvdG5ldGNsaS5henVyZWVkZ2UubmV0L2Rv dG5ldC9TZGsvJSV7Ym9vdHN0cmFwX3Nka192ZXJzaW9ufS9wcm9kdWN0Q29tbWl0LWxpbnV4LXg2 NC50eHQKLSMgMi4gRmluZCB0aGUgVk1SIHN5bmMgY29tbWl0IHVzaW5nIGBnaXQgbG9nIC0tZ3Jl cCAkY29tbWl0YAotIyAzLiBCdWlsZCB0aGUgVk1SIGNvbW1pdCBpbiBjcm9zcy1idWlsZCBtb2Rl IGZvciB0aGUgYXJjaGl0ZWN0dXJlCi0jIDQuIFVzZSBgYnVpbGQtcHJlYnVpbHQtYXJjaGl2ZWAg dG8gY3JlYXRlIHRoZSBhcmNoaXZlIGZyb20gdGhlIFZNUgotIyA1LiBVcGRhdGUgdGhlIHZlcnNp b24gYmVsb3cgdG8gbWF0Y2ggdGhlIFNESyB0aGF0IHdhcyBidWlsdCBmcm9tIHRoZSBWTVIKLSMg VGhlIHBwYzY0bGUvczM5MHggU0RLIHZlcnNpb24gaXMgb25lIHByb2R1Y2VkCi0lZ2xvYmFsIGJv b3RzdHJhcF9zZGtfdmVyc2lvbl9wcGM2NGxlX3MzOTB4IDkuMC4xMDAtcmMuMS4yNDQ1Mi4xCi1T b3VyY2UyOiAgICAgICAgZG90bmV0LXByZWJ1aWx0cy0le2Jvb3RzdHJhcF9zZGtfdmVyc2lvbl9w cGM2NGxlX3MzOTB4fS1wcGM2NGxlLnRhci5negotU291cmNlMzogICAgICAgIGRvdG5ldC1wcmVi dWlsdHMtJXtib290c3RyYXBfc2RrX3ZlcnNpb25fcHBjNjRsZV9zMzkweH0tczM5MHgudGFyLmd6 Ci0lZWxzZQotU291cmNlMDogICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9kb3RuZXQvZG90bmV0 L2FyY2hpdmUvcmVmcy90YWdzLyV7dXBzdHJlYW1fdGFnfS50YXIuZ3ojL2RvdG5ldC0le3Vwc3Ry ZWFtX3RhZ193aXRob3V0X3Z9LnRhci5negotU291cmNlMTogICAgICAgIGh0dHBzOi8vZ2l0aHVi LmNvbS9kb3RuZXQvZG90bmV0L3JlbGVhc2VzL2Rvd25sb2FkLyV7dXBzdHJlYW1fdGFnfS9kb3Ru ZXQtJXt1cHN0cmVhbV90YWdfd2l0aG91dF92fS50YXIuZ3ouc2lnCi1Tb3VyY2UyOiAgICAgICAg aHR0cHM6Ly9kb3RuZXQubWljcm9zb2Z0LmNvbS9kb3dubG9hZC9kb3RuZXQvcmVsZWFzZS1rZXkt MjAyMy5hc2MKLSVlbmRpZgotCi1Tb3VyY2U1OiAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2Rv dG5ldC9kb3RuZXQvcmVsZWFzZXMvZG93bmxvYWQvJXt1cHN0cmVhbV90YWd9L3JlbGVhc2UuanNv bgotCi1Tb3VyY2UxMDogICAgICAgbWFjcm9zLmRvdG5ldAotCi1Tb3VyY2UyMDogICAgICAgY2hl Y2stZGVidWctc3ltYm9scy5weQotU291cmNlMjE6ICAgICAgIGRvdG5ldC5zaC5pbgotCi0jIGh0 dHBzOi8vZ2l0aHViLmNvbS9kb3RuZXQvcnVudGltZS9wdWxsLzk1MjE2I2lzc3VlY29tbWVudC0x ODQyNzk5MzE0Ci1QYXRjaDA6ICAgICAgICAgcnVudGltZS1yZS1lbmFibGUtaW1wbGljaXQtcmVq ZWN0aW9uLnBhdGNoCi0jIFdlIGRpc2FibGUgY2hlY2tpbmcgdGhlIHNpZ25hdHVyZSBvZiB0aGUg bGFzdCBjZXJ0aWZpY2F0ZSBpbiBhIGNoYWluIGlmIHRoZSBjZXJ0aWZpY2F0ZSBpcyBzdXBwb3Nl ZGx5IHNlbGYtc2lnbmVkLgotIyBBIHNpZGUgZWZmZWN0IG9mIG5vdCBjaGVja2luZyB0aGUgc2Vs Zi1zaWduYXR1cmUgb2Ygc3VjaCBhIGNlcnRpZmljYXRlIGlzIHRoYXQgZGlzYWJsZWQgb3IgdW5z dXBwb3J0ZWQgbWVzc2FnZQotIyBkaWdlc3RzIHVzZWQgZm9yIHRoZSBzaWduYXR1cmUgYXJlIG5v dCB0cmVhdGVkIGFzIGZhdGFsIGVycm9ycy4KLSMgaHR0cHM6Ly9pc3N1ZXMucmVkaGF0LmNvbS9i cm93c2UvUkhFTC0yNTI1NAotUGF0Y2gxOiAgICAgICAgIHJ1bnRpbWUtb3BlbnNzbC1zaGExLnBh dGNoCi0jIGZpeCBhbiBlcnJvciBjYXVzZWQgYnkgY29tYmluaW5nIEZlZG9yYSdzIENGTEFHUyB3 aXRoIGhvdyAuTkVUIGJ1aWxkcyBzb21lIGFzc2VtYmx5IGZpbGVzCi1QYXRjaDI6ICAgICAgICAg cnVudGltZS1kaXNhYmxlLWZvcnRpZnktb24taWxhc20tcGFyc2VyLnBhdGNoCi0jIEZpeCBwYXJz aW5nIGEgdGVzdCBwcm9qZWN0IG9uIHBwYzY0bGUKLVBhdGNoMzogICAgICAgICByb3NseW4tYW5h bHl6ZXJzLXBwYzY0bGUtYXBwaG9zdC5wYXRjaAotIyBodHRwczovL2dpdGh1Yi5jb20vZG90bmV0 L3J1bnRpbWUvaXNzdWVzLzExOTcwNgotUGF0Y2g0OiAgICAgICAgIHJ1bnRpbWUtMTE5NzA2LWNs YW5nLTIxLnBhdGNoCi0KLQotRXhjbHVzaXZlQXJjaDogIGFhcmNoNjQgcHBjNjRsZSBzMzkweCB4 ODZfNjQKLQotCi0laWYgISAle3VzZV9idW5kbGVkX2Jyb3RsaX0KLUJ1aWxkUmVxdWlyZXM6ICBi cm90bGktZGV2ZWwKLSVlbmRpZgotJWlmIDAlez9mZWRvcmF9ID49IDQzCi1CdWlsZFJlcXVpcmVz OiAgY2xhbmcyMAotJWVsc2UKLUJ1aWxkUmVxdWlyZXM6ICBjbGFuZwotJWVuZGlmCi1CdWlsZFJl cXVpcmVzOiAgY21ha2UKLUJ1aWxkUmVxdWlyZXM6ICBjb3JldXRpbHMKLSVpZiAle3dpdGhvdXQg Ym9vdHN0cmFwfQotQnVpbGRSZXF1aXJlczogIGRvdG5ldC1zZGstJXtkb3RuZXR2ZXJ9Ci1CdWls ZFJlcXVpcmVzOiAgZG90bmV0LXNkay0le2RvdG5ldHZlcn0tc291cmNlLWJ1aWx0LWFydGlmYWN0 cwotJWVuZGlmCi1CdWlsZFJlcXVpcmVzOiAgZmluZHV0aWxzCi1CdWlsZFJlcXVpcmVzOiAgZ2l0 Ci1CdWlsZFJlcXVpcmVzOiAgZ2xpYmMtbGFuZ3BhY2stZW4KLUJ1aWxkUmVxdWlyZXM6ICBnbnVw ZzIKLUJ1aWxkUmVxdWlyZXM6ICBob3N0bmFtZQotQnVpbGRSZXF1aXJlczogIGtyYjUtZGV2ZWwK LUJ1aWxkUmVxdWlyZXM6ICBsaWJpY3UtZGV2ZWwKLSVpZiAhICV7dXNlX2J1bmRsZWRfbGlidW53 aW5kfQotQnVpbGRSZXF1aXJlczogIGxpYnVud2luZC1kZXZlbAotJWVuZGlmCi0laWZuYXJjaCBz MzkweAotQnVpbGRSZXF1aXJlczogIGxsZAotJWVsc2UKLSMgbGxkIGlzIG5vdCBzdXBwb3J0ZWQv YXZhaWxhYmxlL3VzYWJsZSBvbiBzMzkweAotQnVpbGRSZXF1aXJlczogIGJpbnV0aWxzCi0lZW5k aWYKLSMgSWYgdGhlIGJ1aWxkIGV2ZXIgY3Jhc2hlcywgdGhlbiBoYXZpbmcgbGxkYiBpbnN0YWxs ZWQgbWlnaHQgaGVscCB0aGUKLSMgcnVudGltZSBnZW5lcmF0ZSBhIGJhY2t0cmFjZSBmb3IgdGhl IGNyYXNoCi1CdWlsZFJlcXVpcmVzOiAgbGxkYgotQnVpbGRSZXF1aXJlczogIGxsdm0KLSVpZiAh ICV7dXNlX2J1bmRsZWRfbGx2bV9saWJ1bndpbmR9Ci1CdWlsZFJlcXVpcmVzOiAgbGx2bS1saWJ1 bndpbmQtZGV2ZWwKLSVlbmRpZgotQnVpbGRSZXF1aXJlczogIGx0dG5nLXVzdC1kZXZlbAotQnVp bGRSZXF1aXJlczogIG1ha2UKLSVpZiAwJXs/ZmVkb3JhfSA+PSA0NQotQnVpbGRSZXF1aXJlczog IG9wZW5zc2wzLWRldmVsCi0lZWxzZQotQnVpbGRSZXF1aXJlczogIG9wZW5zc2wtZGV2ZWwKLSVl bmRpZgotQnVpbGRSZXF1aXJlczogIHB5dGhvbjMKLSVpZiAhICV7dXNlX2J1bmRsZWRfcmFwaWRq c29ufQotQnVpbGRSZXF1aXJlczogIHJhcGlkanNvbi1kZXZlbAotJWVuZGlmCi1CdWlsZFJlcXVp cmVzOiAgdGFyCi1CdWlsZFJlcXVpcmVzOiAgdXRpbC1saW51eAotJWlmICEgJXt1c2VfYnVuZGxl ZF96bGlifQotQnVpbGRSZXF1aXJlczogIHpsaWItZGV2ZWwKLSVlbmRpZgotCi0KLSMgVGhlIHRy YWNpbmcgc3VwcG9ydCBpbiBDb3JlQ0xSIGlzIG9wdGlvbmFsLiBJdCBoYXMgYSBydW4tdGltZQot IyBkZXBlbmRlbmN5IG9uIHNvbWUgYWRkaXRpb25hbCBsaWJyYXJpZXMgbGlrZSBsdHRuZy11c3Qu IFRoZSBydW50aW1lCi0jIGdyYWNlZnVsbHkgZGlzYWJsZXMgdHJhY2luZyBpZiB0aGUgZGVwZW5k ZW5jaWVzIGFyZSBtaXNzaW5nLgotJWdsb2JhbCBfX3JlcXVpcmVzX2V4Y2x1ZGVfZnJvbSBeKCV7 X2xpYmRpcn0vZG90bmV0Ly4qL2xpYmNvcmVjbHJ0cmFjZXB0cHJvdmlkZXJcXC5zbykkCi0KLSMg QXZvaWQgZ2VuZXJhdGluZyBwcm92aWRlcyBhbmQgcmVxdWlyZXMgZm9yIHByaXZhdGUgbGlicmFy aWVzCi0lZ2xvYmFsIHByaXZsaWJzICAgICAgICAgICAgIGxpYmhvc3RmeHIKLSVnbG9iYWwgcHJp dmxpYnMgJXtwcml2bGlic318bGliY2xyZ2MKLSVnbG9iYWwgcHJpdmxpYnMgJXtwcml2bGlic318 bGliY2xyaml0Ci0lZ2xvYmFsIHByaXZsaWJzICV7cHJpdmxpYnN9fGxpYmNvcmVjbHIKLSVnbG9i YWwgcHJpdmxpYnMgJXtwcml2bGlic318bGliY29yZWNscnRyYWNlcHRwcm92aWRlcgotJWdsb2Jh bCBwcml2bGlicyAle3ByaXZsaWJzfXxsaWJob3N0cG9saWN5Ci0lZ2xvYmFsIHByaXZsaWJzICV7 cHJpdmxpYnN9fGxpYm1zY29yZGFjY29yZQotJWdsb2JhbCBwcml2bGlicyAle3ByaXZsaWJzfXxs aWJtc2NvcmRiaQotJWdsb2JhbCBwcml2bGlicyAle3ByaXZsaWJzfXxsaWJuZXRob3N0Ci0lZ2xv YmFsIHByaXZsaWJzICV7cHJpdmxpYnN9fGxpYlN5c3RlbS5HbG9iYWxpemF0aW9uLk5hdGl2ZQot JWdsb2JhbCBwcml2bGlicyAle3ByaXZsaWJzfXxsaWJTeXN0ZW0uSU8uQ29tcHJlc3Npb24uTmF0 aXZlCi0lZ2xvYmFsIHByaXZsaWJzICV7cHJpdmxpYnN9fGxpYlN5c3RlbS5OYXRpdmUKLSVnbG9i YWwgcHJpdmxpYnMgJXtwcml2bGlic318bGliU3lzdGVtLk5ldC5TZWN1cml0eS5OYXRpdmUKLSVn bG9iYWwgcHJpdmxpYnMgJXtwcml2bGlic318bGliU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBo eS5OYXRpdmUuT3BlblNzbAotJWdsb2JhbCBfX3Byb3ZpZGVzX2V4Y2x1ZGUgXigle3ByaXZsaWJz fSlcXC5zbwotJWdsb2JhbCBfX3JlcXVpcmVzX2V4Y2x1ZGUgXigle3ByaXZsaWJzfSlcXC5zbwot Ci0KLSVkZXNjcmlwdGlvbgotLk5FVCBpcyBhIGZhc3QsIGxpZ2h0d2VpZ2h0IGFuZCBtb2R1bGFy IHBsYXRmb3JtIGZvciBjcmVhdGluZwotY3Jvc3MgcGxhdGZvcm0gYXBwbGljYXRpb25zIHRoYXQg d29yayBvbiBMaW51eCwgbWFjT1MgYW5kIFdpbmRvd3MuCi0KLUl0IHBhcnRpY3VsYXJseSBmb2N1 c2VzIG9uIGNyZWF0aW5nIGNvbnNvbGUgYXBwbGljYXRpb25zLCB3ZWIKLWFwcGxpY2F0aW9ucyBh bmQgbWljcm8tc2VydmljZXMuCi0KLS5ORVQgY29udGFpbnMgYSBydW50aW1lIGNvbmZvcm1pbmcg dG8gLk5FVCBTdGFuZGFyZHMgYSBzZXQgb2YKLWZyYW1ld29yayBsaWJyYXJpZXMsIGFuIFNESyBj b250YWluaW5nIGNvbXBpbGVycyBhbmQgYSAnZG90bmV0JwotYXBwbGljYXRpb24gdG8gZHJpdmUg ZXZlcnl0aGluZy4KLQotIyBUaGUgYGRvdG5ldGAgcGFja2FnZSB3YXMgYSBiaXQgb2YgaGlzdG9y aWNhbCBtaXN0YWtlLiBVc2VycwotIyBzaG91bGRuJ3QgYmUgYXNrZWQgdG8gaW5zdGFsbCAuTkVU IHdpdGhvdXQgYSB2ZXJzaW9uIGJlY2F1c2UgLk5FVAotIyBjb2RlIChzb3VyY2Ugb3IgYnVpbGQp IGlzIGdlbmVyYWxseSB2ZXJzaW9uIHNwZWNpZmljLiBXZSBoYXZlIGtlcHQKLSMgaXQgYXJvdW5k IGluIG9sZGVyIHZlcnNpb25zIG9mIFJIRUwgYW5kIEZlZG9yYS4gQnV0IG5vIHJlYXNvbiB0bwot IyBjb250aW51ZSB0aGlzIG1pc3Rha2UuCi0laWYgKCAwJXs/ZmVkb3JhfSAmJiAwJXs/ZmVkb3Jh fSA8IDM4ICkgfHwgKCAwJXs/cmhlbH0gJiYgMCV7P3JoZWx9IDwgOSApCi0KLSVwYWNrYWdlIC1u IGRvdG5ldAotCi1WZXJzaW9uOiAgICAgICAgJXtzZGtfcnBtX3ZlcnNpb259Ci1TdW1tYXJ5OiAg ICAgICAgLk5FVCBDTEkgdG9vbHMgYW5kIHJ1bnRpbWUKLQotUmVxdWlyZXM6ICAgICAgIGRvdG5l dC1zZGstJXtkb3RuZXR2ZXJ9JXs/X2lzYX0gPj0gJXtzZGtfcnBtX3ZlcnNpb259LSV7cmVsZWFz ZX0KLQotJWRlc2NyaXB0aW9uIC1uIGRvdG5ldAotLk5FVCBpcyBhIGZhc3QsIGxpZ2h0d2VpZ2h0 IGFuZCBtb2R1bGFyIHBsYXRmb3JtIGZvciBjcmVhdGluZwotY3Jvc3MgcGxhdGZvcm0gYXBwbGlj YXRpb25zIHRoYXQgd29yayBvbiBMaW51eCwgbWFjT1MgYW5kIFdpbmRvd3MuCi0KLUl0IHBhcnRp Y3VsYXJseSBmb2N1c2VzIG9uIGNyZWF0aW5nIGNvbnNvbGUgYXBwbGljYXRpb25zLCB3ZWIKLWFw cGxpY2F0aW9ucyBhbmQgbWljcm8tc2VydmljZXMuCi0KLS5ORVQgY29udGFpbnMgYSBydW50aW1l IGNvbmZvcm1pbmcgdG8gLk5FVCBTdGFuZGFyZHMgYSBzZXQgb2YKLWZyYW1ld29yayBsaWJyYXJp ZXMsIGFuIFNESyBjb250YWluaW5nIGNvbXBpbGVycyBhbmQgYSAnZG90bmV0JwotYXBwbGljYXRp b24gdG8gZHJpdmUgZXZlcnl0aGluZy4KLQotJWVuZGlmCi0KLSVwYWNrYWdlIC1uIGRvdG5ldC1o b3N0Ci0KLVZlcnNpb246ICAgICAgICAle3J1bnRpbWVfcnBtX3ZlcnNpb259Ci1TdW1tYXJ5OiAg ICAgICAgLk5FVCBjb21tYW5kIGxpbmUgbGF1bmNoZXIKLQotJWRlc2NyaXB0aW9uIC1uIGRvdG5l dC1ob3N0Ci1UaGUgLk5FVCBob3N0IGlzIGEgY29tbWFuZCBsaW5lIHByb2dyYW0gdGhhdCBydW5z IGEgc3RhbmRhbG9uZQotLk5FVCBhcHBsaWNhdGlvbiBvciBsYXVuY2hlcyB0aGUgU0RLLgotCi0u TkVUIGlzIGEgZmFzdCwgbGlnaHR3ZWlnaHQgYW5kIG1vZHVsYXIgcGxhdGZvcm0gZm9yIGNyZWF0 aW5nCi1jcm9zcyBwbGF0Zm9ybSBhcHBsaWNhdGlvbnMgdGhhdCB3b3JrIG9uIExpbnV4LCBNYWMg YW5kIFdpbmRvd3MuCi0KLUl0IHBhcnRpY3VsYXJseSBmb2N1c2VzIG9uIGNyZWF0aW5nIGNvbnNv bGUgYXBwbGljYXRpb25zLCB3ZWIKLWFwcGxpY2F0aW9ucyBhbmQgbWljcm8tc2VydmljZXMuCi0K LQotJXBhY2thZ2UgLW4gZG90bmV0LWhvc3RmeHItJXtkb3RuZXR2ZXJ9Ci0KLVZlcnNpb246ICAg ICAgICAle3J1bnRpbWVfcnBtX3ZlcnNpb259Ci1TdW1tYXJ5OiAgICAgICAgLk5FVCBjb21tYW5k IGxpbmUgaG9zdCByZXNvbHZlcgotCi0jIFRoZW9yZXRpY2FsbHkgYW55IHZlcnNpb24gb2YgdGhl IGhvc3Qgc2hvdWxkIHdvcmsuIEJ1dCBsZXRzIGFpbSBmb3IgdGhlIG9uZQotIyBwcm92aWRlZCBi eSB0aGlzIHBhY2thZ2UsIG9yIGZyb20gYSBuZXdlciB2ZXJzaW9uIG9mIC5ORVQKLVJlcXVpcmVz OiAgICAgICBkb3RuZXQtaG9zdCV7P19pc2F9ID49ICV7cnVudGltZV9ycG1fdmVyc2lvbn0tJXty ZWxlYXNlfQotCi0lZGVzY3JpcHRpb24gLW4gZG90bmV0LWhvc3RmeHItJXtkb3RuZXR2ZXJ9Ci1U aGUgLk5FVCBob3N0IHJlc29sdmVyIGNvbnRhaW5zIHRoZSBsb2dpYyB0byByZXNvbHZlIGFuZCBz ZWxlY3QKLXRoZSByaWdodCB2ZXJzaW9uIG9mIHRoZSAuTkVUIFNESyBvciBydW50aW1lIHRvIHVz ZS4KLQotLk5FVCBpcyBhIGZhc3QsIGxpZ2h0d2VpZ2h0IGFuZCBtb2R1bGFyIHBsYXRmb3JtIGZv ciBjcmVhdGluZwotY3Jvc3MgcGxhdGZvcm0gYXBwbGljYXRpb25zIHRoYXQgd29yayBvbiBMaW51 eCwgTWFjIGFuZCBXaW5kb3dzLgotCi1JdCBwYXJ0aWN1bGFybHkgZm9jdXNlcyBvbiBjcmVhdGlu ZyBjb25zb2xlIGFwcGxpY2F0aW9ucywgd2ViCi1hcHBsaWNhdGlvbnMgYW5kIG1pY3JvLXNlcnZp Y2VzLgotCi0KLSVwYWNrYWdlIC1uIGRvdG5ldC1ydW50aW1lLSV7ZG90bmV0dmVyfQotCi1WZXJz aW9uOiAgICAgICAgJXtydW50aW1lX3JwbV92ZXJzaW9ufQotU3VtbWFyeTogICAgICAgIE5FVCAl e2RvdG5ldHZlcn0gcnVudGltZQotCi1SZXF1aXJlczogICAgICAgZG90bmV0LWhvc3RmeHItJXtk b3RuZXR2ZXJ9JXs/X2lzYX0gPj0gJXtydW50aW1lX3JwbV92ZXJzaW9ufS0le3JlbGVhc2V9Ci0K LSMgbGliaWN1IGlzIGRsb3BlbigpZWQKLVJlcXVpcmVzOiAgICAgICBsaWJpY3Ulez9faXNhfQot Ci0jIFNlZSBzcmMvcnVudGltZS9zcmMvbGlicmFyaWVzL05hdGl2ZS9BbnlPUy9icm90bGktdmVy c2lvbi50eHQKLVByb3ZpZGVzOiBidW5kbGVkKGxpYmJyb3RsaSkgPSAxLjAuOQotJWlmICV7dXNl X2J1bmRsZWRfbGlidW53aW5kfQotIyBTZWUgc3JjL3J1bnRpbWUvc3JjL2NvcmVjbHIvcGFsL3Ny Yy9saWJ1bndpbmQvbGlidW53aW5kLXZlcnNpb24udHh0Ci1Qcm92aWRlczogYnVuZGxlZChsaWJ1 bndpbmQpID0gMS41LnJjMS4yOC5nOTE2NWQyYTEKLSVlbmRpZgotCi0lZGVzY3JpcHRpb24gLW4g ZG90bmV0LXJ1bnRpbWUtJXtkb3RuZXR2ZXJ9Ci1UaGUgLk5FVCBydW50aW1lIGNvbnRhaW5zIGV2 ZXJ5dGhpbmcgbmVlZGVkIHRvIHJ1biAuTkVUIGFwcGxpY2F0aW9ucy4KLUl0IGluY2x1ZGVzIGEg aGlnaCBwZXJmb3JtYW5jZSBWaXJ0dWFsIE1hY2hpbmUgYXMgd2VsbCBhcyB0aGUgZnJhbWV3b3Jr Ci1saWJyYXJpZXMgdXNlZCBieSAuTkVUIGFwcGxpY2F0aW9ucy4KLQotLk5FVCBpcyBhIGZhc3Qs IGxpZ2h0d2VpZ2h0IGFuZCBtb2R1bGFyIHBsYXRmb3JtIGZvciBjcmVhdGluZwotY3Jvc3MgcGxh dGZvcm0gYXBwbGljYXRpb25zIHRoYXQgd29yayBvbiBMaW51eCwgTWFjIGFuZCBXaW5kb3dzLgot Ci1JdCBwYXJ0aWN1bGFybHkgZm9jdXNlcyBvbiBjcmVhdGluZyBjb25zb2xlIGFwcGxpY2F0aW9u cywgd2ViCi1hcHBsaWNhdGlvbnMgYW5kIG1pY3JvLXNlcnZpY2VzLgotCi0KLSVwYWNrYWdlIC1u IGRvdG5ldC1ydW50aW1lLWRiZy0le2RvdG5ldHZlcn0KLQotVmVyc2lvbjogICAgICAgICV7cnVu dGltZV9ycG1fdmVyc2lvbn0KLVN1bW1hcnk6ICAgICAgICBNYW5hZ2VkIGRlYnVnIHN5bWJvbHMg TkVUICV7ZG90bmV0dmVyfSBydW50aW1lCi0KLVJlcXVpcmVzOiAgICAgICBkb3RuZXQtcnVudGlt ZS0le2RvdG5ldHZlcn0lez9faXNhfSA9ICV7cnVudGltZV9ycG1fdmVyc2lvbn0tJXtyZWxlYXNl fQotCi0lZGVzY3JpcHRpb24gLW4gZG90bmV0LXJ1bnRpbWUtZGJnLSV7ZG90bmV0dmVyfQotVGhp cyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBtYW5hZ2VkIHN5bWJvbCAocGRiKSBmaWxlcyB1c2VmdWwg dG8gZGVidWcgdGhlCi1tYW5hZ2VkIHBhcnRzIG9mIHRoZSAuTkVUIHJ1bnRpbWUgaXRzZWxmLgot Ci0KLSVwYWNrYWdlIC1uIGFzcG5ldGNvcmUtcnVudGltZS0le2RvdG5ldHZlcn0KLQotVmVyc2lv bjogICAgICAgICV7YXNwbmV0Y29yZV9ydW50aW1lX3JwbV92ZXJzaW9ufQotU3VtbWFyeTogICAg ICAgIEFTUC5ORVQgQ29yZSAle2RvdG5ldHZlcn0gcnVudGltZQotCi1SZXF1aXJlczogICAgICAg ZG90bmV0LXJ1bnRpbWUtJXtkb3RuZXR2ZXJ9JXs/X2lzYX0gPSAle3J1bnRpbWVfcnBtX3ZlcnNp b259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9uIC1uIGFzcG5ldGNvcmUtcnVudGltZS0le2Rv dG5ldHZlcn0KLVRoZSBBU1AuTkVUIENvcmUgcnVudGltZSBjb250YWlucyBldmVyeXRoaW5nIG5l ZWRlZCB0byBydW4gLk5FVAotd2ViIGFwcGxpY2F0aW9ucy4gSXQgaW5jbHVkZXMgYSBoaWdoIHBl cmZvcm1hbmNlIFZpcnR1YWwgTWFjaGluZSBhcwotd2VsbCBhcyB0aGUgZnJhbWV3b3JrIGxpYnJh cmllcyB1c2VkIGJ5IC5ORVQgYXBwbGljYXRpb25zLgotCi1BU1AuTkVUIENvcmUgaXMgYSBmYXN0 LCBsaWdodHdlaWdodCBhbmQgbW9kdWxhciBwbGF0Zm9ybSBmb3IgY3JlYXRpbmcKLWNyb3NzIHBs YXRmb3JtIHdlYiBhcHBsaWNhdGlvbnMgdGhhdCB3b3JrIG9uIExpbnV4LCBNYWMgYW5kIFdpbmRv d3MuCi0KLUl0IHBhcnRpY3VsYXJseSBmb2N1c2VzIG9uIGNyZWF0aW5nIGNvbnNvbGUgYXBwbGlj YXRpb25zLCB3ZWIKLWFwcGxpY2F0aW9ucyBhbmQgbWljcm8tc2VydmljZXMuCi0KLQotJXBhY2th Z2UgLW4gYXNwbmV0Y29yZS1ydW50aW1lLWRiZy0le2RvdG5ldHZlcn0KLQotVmVyc2lvbjogICAg ICAgICV7YXNwbmV0Y29yZV9ydW50aW1lX3JwbV92ZXJzaW9ufQotU3VtbWFyeTogICAgICAgIE1h bmFnZWQgZGVidWcgc3ltYm9scyBmb3IgdGhlIEFTUC5ORVQgQ29yZSAle2RvdG5ldHZlcn0gcnVu dGltZQotCi1SZXF1aXJlczogICAgICAgYXNwbmV0Y29yZS1ydW50aW1lLSV7ZG90bmV0dmVyfSV7 P19pc2F9ID0gJXthc3BuZXRjb3JlX3J1bnRpbWVfcnBtX3ZlcnNpb259LSV7cmVsZWFzZX0KLQot JWRlc2NyaXB0aW9uIC1uIGFzcG5ldGNvcmUtcnVudGltZS1kYmctJXtkb3RuZXR2ZXJ9Ci1UaGlz IHBhY2thZ2UgY29udGFpbnMgdGhlIG1hbmFnZWQgc3ltYm9sIChwZGIpIGZpbGVzIHVzZWZ1bCB0 byBkZWJ1ZyB0aGUKLW1hbmFnZWQgcGFydHMgb2YgdGhlIEFTUC5ORVQgQ29yZSBydW50aW1lIGl0 c2VsZi4KLQotCi0lcGFja2FnZSAtbiBkb3RuZXQtdGVtcGxhdGVzLSV7ZG90bmV0dmVyfQotCi1W ZXJzaW9uOiAgICAgICAgJXtzZGtfcnBtX3ZlcnNpb259Ci1TdW1tYXJ5OiAgICAgICAgLk5FVCAl e2RvdG5ldHZlcn0gdGVtcGxhdGVzCi0KLSMgVGhlb3JldGljYWxseSBhbnkgdmVyc2lvbiBvZiB0 aGUgaG9zdCBzaG91bGQgd29yay4gQnV0IGxldHMgYWltIGZvciB0aGUgb25lCi0jIHByb3ZpZGVk IGJ5IHRoaXMgcGFja2FnZSwgb3IgZnJvbSBhIG5ld2VyIHZlcnNpb24gb2YgLk5FVAotUmVxdWly ZXM6ICAgICAgIGRvdG5ldC1ob3N0JXs/X2lzYX0gPj0gJXtydW50aW1lX3JwbV92ZXJzaW9ufS0l e3JlbGVhc2V9Ci0KLSVkZXNjcmlwdGlvbiAtbiBkb3RuZXQtdGVtcGxhdGVzLSV7ZG90bmV0dmVy fQotVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRlbXBsYXRlcyB1c2VkIGJ5IHRoZSAuTkVUIFNESy4K LQotLk5FVCBpcyBhIGZhc3QsIGxpZ2h0d2VpZ2h0IGFuZCBtb2R1bGFyIHBsYXRmb3JtIGZvciBj cmVhdGluZwotY3Jvc3MgcGxhdGZvcm0gYXBwbGljYXRpb25zIHRoYXQgd29yayBvbiBMaW51eCwg TWFjIGFuZCBXaW5kb3dzLgotCi1JdCBwYXJ0aWN1bGFybHkgZm9jdXNlcyBvbiBjcmVhdGluZyBj b25zb2xlIGFwcGxpY2F0aW9ucywgd2ViCi1hcHBsaWNhdGlvbnMgYW5kIG1pY3JvLXNlcnZpY2Vz LgotCi0KLSVwYWNrYWdlIC1uIGRvdG5ldC1zZGstJXtkb3RuZXR2ZXJ9Ci0KLVZlcnNpb246ICAg ICAgICAle3Nka19ycG1fdmVyc2lvbn0KLVN1bW1hcnk6ICAgICAgICAuTkVUICV7ZG90bmV0dmVy fSBTb2Z0d2FyZSBEZXZlbG9wbWVudCBLaXQKLQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoanMt anF1ZXJ5KQotCi1SZXF1aXJlczogICAgICAgZG90bmV0LXJ1bnRpbWUtJXtkb3RuZXR2ZXJ9JXs/ X2lzYX0gPj0gJXtydW50aW1lX3JwbV92ZXJzaW9ufS0le3JlbGVhc2V9Ci1SZXF1aXJlczogICAg ICAgYXNwbmV0Y29yZS1ydW50aW1lLSV7ZG90bmV0dmVyfSV7P19pc2F9ID49ICV7YXNwbmV0Y29y ZV9ydW50aW1lX3JwbV92ZXJzaW9ufS0le3JlbGVhc2V9Ci0KLVJlcXVpcmVzOiAgICAgICBkb3Ru ZXQtYXBwaG9zdC1wYWNrLSV7ZG90bmV0dmVyfSV7P19pc2F9ID49ICV7cnVudGltZV9ycG1fdmVy c2lvbn0tJXtyZWxlYXNlfQotUmVxdWlyZXM6ICAgICAgIGRvdG5ldC10YXJnZXRpbmctcGFjay0l e2RvdG5ldHZlcn0lez9faXNhfSA+PSAle3J1bnRpbWVfcnBtX3ZlcnNpb259LSV7cmVsZWFzZX0K LVJlcXVpcmVzOiAgICAgICBhc3BuZXRjb3JlLXRhcmdldGluZy1wYWNrLSV7ZG90bmV0dmVyfSV7 P19pc2F9ID49ICV7YXNwbmV0Y29yZV9ydW50aW1lX3JwbV92ZXJzaW9ufS0le3JlbGVhc2V9Ci1S ZXF1aXJlczogICAgICAgbmV0c3RhbmRhcmQtdGFyZ2V0aW5nLXBhY2stMi4xJXs/X2lzYX0gPj0g JXtzZGtfcnBtX3ZlcnNpb259LSV7cmVsZWFzZX0KLQotUmVxdWlyZXM6ICAgICAgIGRvdG5ldC10 ZW1wbGF0ZXMtJXtkb3RuZXR2ZXJ9JXs/X2lzYX0gPj0gJXtzZGtfcnBtX3ZlcnNpb259LSV7cmVs ZWFzZX0KLQotJWRlc2NyaXB0aW9uIC1uIGRvdG5ldC1zZGstJXtkb3RuZXR2ZXJ9Ci1UaGUgLk5F VCBTREsgaXMgYSBjb2xsZWN0aW9uIG9mIGNvbW1hbmQgbGluZSBhcHBsaWNhdGlvbnMgdG8KLWNy ZWF0ZSwgYnVpbGQsIHB1Ymxpc2ggYW5kIHJ1biAuTkVUIGFwcGxpY2F0aW9ucy4KLQotLk5FVCBp cyBhIGZhc3QsIGxpZ2h0d2VpZ2h0IGFuZCBtb2R1bGFyIHBsYXRmb3JtIGZvciBjcmVhdGluZwot Y3Jvc3MgcGxhdGZvcm0gYXBwbGljYXRpb25zIHRoYXQgd29yayBvbiBMaW51eCwgTWFjIGFuZCBX aW5kb3dzLgotCi1JdCBwYXJ0aWN1bGFybHkgZm9jdXNlcyBvbiBjcmVhdGluZyBjb25zb2xlIGFw cGxpY2F0aW9ucywgd2ViCi1hcHBsaWNhdGlvbnMgYW5kIG1pY3JvLXNlcnZpY2VzLgotCi0KLSVw YWNrYWdlIC1uIGRvdG5ldC1zZGstZGJnLSV7ZG90bmV0dmVyfQotCi1WZXJzaW9uOiAgICAgICAg JXtzZGtfcnBtX3ZlcnNpb259Ci1TdW1tYXJ5OiAgICAgICAgTWFuYWdlZCBkZWJ1ZyBzeW1ib2xz IGZvciB0aGUgLk5FVCAle2RvdG5ldHZlcn0gU29mdHdhcmUgRGV2ZWxvcG1lbnQgS2l0Ci0KLVJl cXVpcmVzOiAgICAgICBkb3RuZXQtc2RrLSV7ZG90bmV0dmVyfSV7P19pc2F9ID0gJXtzZGtfcnBt X3ZlcnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9uIC1uIGRvdG5ldC1zZGstZGJnLSV7 ZG90bmV0dmVyfQotVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBtYW5hZ2VkIHN5bWJvbCAocGRi KSBmaWxlcyB1c2VmdWwgdG8gZGVidWcgdGhlIC5ORVQKLVNvZnR3YXJlIERldmVsb3BtZW50IEtp dCAoU0RLKSBpdHNlbGYuCi0KLQotJXBhY2thZ2UgLW4gZG90bmV0LXNkay1hb3QtJXtkb3RuZXR2 ZXJ9Ci0KLVZlcnNpb246ICAgICAgICAle3Nka19ycG1fdmVyc2lvbn0KLVN1bW1hcnk6ICAgICAg ICBBaGVhZC1vZi1UaW1lIChBT1QpIHN1cHBvcnQgZm9yIHRoZSAuTkVUICV7ZG90bmV0dmVyfSBT b2Z0d2FyZSBEZXZlbG9wbWVudCBLaXQKLQotUmVxdWlyZXM6ICAgICAgIGRvdG5ldC1zZGstJXtk b3RuZXR2ZXJ9JXs/X2lzYX0gPj0gJXtzZGtfcnBtX3ZlcnNpb259LSV7cmVsZWFzZX0KLQotIyBX aGVuIGluc3RhbGxpbmcgQU9UIHN1cHBvcnQsIGFsc28gaW5zdGFsbCBhbGwgZGVwZW5kZW5jaWVz IG5lZWRlZCB0byBidWlsZAotIyBOYXRpdmVBT1QgYXBwbGljYXRpb25zLiBBT1QgaW52b2tlcyBg Y2xhbmcgLi4uIC1sc3NsIC1sY3J5cHRvIC1sYnJvdGxpZW5jCi0jIC1sYnJvdGxpZGVjIC1seiAu Li5gLgotUmVxdWlyZXM6ICAgICAgIGJyb3RsaS1kZXZlbCV7P19pc2F9Ci1SZXF1aXJlczogICAg ICAgY2xhbmclez9faXNhfQotJWlmIDAlez9mZWRvcmF9ID49IDQ1Ci1SZXF1aXJlczogICAgICAg b3BlbnNzbDMtZGV2ZWwlez9faXNhfQotJWVsc2UKLVJlcXVpcmVzOiAgICAgICBvcGVuc3NsLWRl dmVsJXs/X2lzYX0KLSVlbmRpZgotUmVxdWlyZXM6ICAgICAgIHpsaWItZGV2ZWwlez9faXNhfQot Ci0lZGVzY3JpcHRpb24gLW4gZG90bmV0LXNkay1hb3QtJXtkb3RuZXR2ZXJ9Ci1UaGlzIHBhY2th Z2UgcHJvdmlkZXMgQWhlYWQtb2YtdGltZSAoQU9UKSBjb21waWxhdGlvbiBzdXBwb3J0IGZvciB0 aGUgLk5FVCBTREsuCi0KLQotJWdsb2JhbCBkb3RuZXRfdGFyZ2V0aW5nX3BhY2soKSAle2V4cGFu ZDoKLSVwYWNrYWdlIC1uICV7MX0KLQotVmVyc2lvbjogICAgICAgICV7Mn0KLVN1bW1hcnk6ICAg ICAgICBUYXJnZXRpbmcgUGFjayBmb3IgJXszfSAlezR9Ci0KLVJlcXVpcmVzOiAgICAgICBkb3Ru ZXQtaG9zdCV7P19pc2F9Ci0KLSVkZXNjcmlwdGlvbiAtbiAlezF9Ci1UaGlzIHBhY2thZ2UgcHJv dmlkZXMgYSB0YXJnZXRpbmcgcGFjayBmb3IgJXszfSAlezR9Ci10aGF0IGFsbG93cyBkZXZlbG9w ZXJzIHRvIGNvbXBpbGUgYWdhaW5zdCBhbmQgdGFyZ2V0ICV7M30gJXs0fQotYXBwbGljYXRpb25z IHVzaW5nIHRoZSAuTkVUIFNESy4KLQotJWZpbGVzIC1uICV7MX0KLSVkaXIgJXtfbGliZGlyfS9k b3RuZXQvcGFja3MKLSV7X2xpYmRpcn0vZG90bmV0L3BhY2tzLyV7NX0KLX0KLQotJWRvdG5ldF90 YXJnZXRpbmdfcGFjayBkb3RuZXQtYXBwaG9zdC1wYWNrLSV7ZG90bmV0dmVyfSAle3J1bnRpbWVf cnBtX3ZlcnNpb259IE1pY3Jvc29mdC5ORVRDb3JlLkFwcCAle2RvdG5ldHZlcn0gTWljcm9zb2Z0 Lk5FVENvcmUuQXBwLkhvc3QuJXtydW50aW1lX2lkfQotJWRvdG5ldF90YXJnZXRpbmdfcGFjayBk b3RuZXQtdGFyZ2V0aW5nLXBhY2stJXtkb3RuZXR2ZXJ9ICV7cnVudGltZV9ycG1fdmVyc2lvbn0g TWljcm9zb2Z0Lk5FVENvcmUuQXBwICV7ZG90bmV0dmVyfSBNaWNyb3NvZnQuTkVUQ29yZS5BcHAu UmVmCi0lZG90bmV0X3RhcmdldGluZ19wYWNrIGFzcG5ldGNvcmUtdGFyZ2V0aW5nLXBhY2stJXtk b3RuZXR2ZXJ9ICV7YXNwbmV0Y29yZV9ydW50aW1lX3JwbV92ZXJzaW9ufSBNaWNyb3NvZnQuQXNw TmV0Q29yZS5BcHAgJXtkb3RuZXR2ZXJ9IE1pY3Jvc29mdC5Bc3BOZXRDb3JlLkFwcC5SZWYKLSVk b3RuZXRfdGFyZ2V0aW5nX3BhY2sgbmV0c3RhbmRhcmQtdGFyZ2V0aW5nLXBhY2stMi4xICV7c2Rr X3JwbV92ZXJzaW9ufSBORVRTdGFuZGFyZC5MaWJyYXJ5IDIuMSBORVRTdGFuZGFyZC5MaWJyYXJ5 LlJlZgotCi0KLSVwYWNrYWdlIC1uIGRvdG5ldC1zZGstJXtkb3RuZXR2ZXJ9LXNvdXJjZS1idWls dC1hcnRpZmFjdHMKLQotVmVyc2lvbjogICAgICAgICV7c2RrX3JwbV92ZXJzaW9ufQotU3VtbWFy eTogICAgICAgIEludGVybmFsIHBhY2thZ2UgZm9yIGJ1aWxkaW5nIC5ORVQgJXtkb3RuZXR2ZXJ9 IFNvZnR3YXJlIERldmVsb3BtZW50IEtpdAotCi0lZGVzY3JpcHRpb24gLW4gZG90bmV0LXNkay0l e2RvdG5ldHZlcn0tc291cmNlLWJ1aWx0LWFydGlmYWN0cwotVGhlIC5ORVQgc291cmNlLWJ1aWx0 IGFyY2hpdmUgaXMgYSBjb2xsZWN0aW9uIG9mIHBhY2thZ2VzIG5lZWRlZAotdG8gYnVpbGQgdGhl IC5ORVQgU0RLIGl0c2VsZi4KLQotVGhlc2UgYXJlIG5vdCBtZWFudCBmb3IgZ2VuZXJhbCB1c2Uu Ci0KLQotCi0lcHJlcAotJWlmICV7d2l0aG91dCBib290c3RyYXB9Ci0jIGNoZWNrIGdwZyBzaWdu YXR1cmVzIG9ubHkgZm9yIG5vbi1ib290c3RyYXAgYnVpbGRzOyBib290c3RyYXAgInNvdXJjZXMi IGFyZSBoYW5kLWNyYWZ0ZWQKLSV7Z3BndmVyaWZ5fSAtLWtleXJpbmc9JyV7U09VUkNFMn0nIC0t c2lnbmF0dXJlPScle1NPVVJDRTF9JyAtLWRhdGE9JyV7U09VUkNFMH0nCi0lZW5kaWYKLQotcmVs ZWFzZV9qc29uX3RhZz0kKGdyZXAgdGFnICV7U09VUkNFNX0gfCBjdXQgLWQ6IC1mMiB8IHNlZCAt RSAncy9bLCIgXSovL2cnKQotaWYgW1sgJHtyZWxlYXNlX2pzb25fdGFnfSAhPSAle3Vwc3RyZWFt X3RhZ30gXV07IHRoZW4KLSAgIGVjaG8gImVycm9yOiB0YWcgaW4gcmVsZWFzZS5qc29uIGRvZXNu J3QgbWF0Y2ggdGFnIGluIHNwZWMgZmlsZSIKLSAgIGV4aXQgMQotZmkKLQotJWlmICV7d2l0aG91 dCBib290c3RyYXB9Ci0lc2V0dXAgLXEgLW4gZG90bmV0LSV7dXBzdHJlYW1fdGFnX3dpdGhvdXRf dn0KLQotIyBSZW1vdmUgYWxsIHByZWJ1aWx0cyBhbmQgYmluYXJpZXMKLXJtIC1yZiAuZG90bmV0 Lwotcm0gLXJmIHBhY2thZ2VzL3NvdXJjZS1idWlsdAotcm0gLXJmIHNyYy9hc3BuZXRjb3JlL3Ny Yy9zdWJtb2R1bGVzL05vZGUtRXh0ZXJuYWxzLwotZmluZCAtdHlwZSBmIFwoIFwKLSAgICAtaW5h bWUgJyouYmluJyAtb3IgXAotICAgIC1pbmFtZSAnKi5iaW5sb2cnIC1vciBcCi0gICAgLWluYW1l ICcqLmRhdCcgLW9yIFwKLSAgICAtaW5hbWUgJyouZGInIC1vciBcCi0gICAgLWluYW1lICcqLmRs bCcgLW9yIFwKLSAgICAtaW5hbWUgJyouZG9jJyAtb3IgXAotICAgIC1pbmFtZSAnKi5kb2N4JyAt b3IgXAotICAgIC1pbmFtZSAnKi5leGUnIC1vciBcCi0gICAgLWluYW1lICcqLm1kYicgLW9yIFwK LSAgICAtaW5hbWUgJyoubW9kJyAtb3IgXAotICAgIC1pbmFtZSAnKi5tc2knIC1vciBcCi0gICAg LWluYW1lICcqLm5ldG1vZHVsZScgLW9yIFwKLSAgICAtaW5hbWUgJyoubnVwa2cnIC1vciBcCi0g ICAgLWluYW1lICcqLm8nIC1vciBcCi0gICAgLWluYW1lICcqLm9iaicgLW9yIFwKLSAgICAtaW5h bWUgJyoub3V0JyAtb3IgXAotICAgIC1pbmFtZSAnKi5wN2InIC1vciBcCi0gICAgLWluYW1lICcq LnA3cycgLW9yIFwKLSAgICAtaW5hbWUgJyoucGRiJyAtb3IgXAotICAgIC1pbmFtZSAnKi5wZngn IC1vciBcCi0gICAgLWluYW1lICcqLnNvJyAtb3IgXAotICAgIC1pbmFtZSAnKi50YXIuZ3onIC1v ciBcCi0gICAgLWluYW1lICcqLnRneicgLW9yIFwKLSAgICAtaW5hbWUgJyoudGxiJyAtb3IgXAot ICAgIC1pbmFtZSAnKi53aW5tZCcgLW9yIFwKLSAgICAtaW5hbWUgJyoudnNpeCcgLW9yIFwKLSAg ICAtaW5hbWUgJyouemlwJyBcCi0gICAgXCkgXAotICAgIC1kZWxldGUKLQotIyAgICBcKCAtaW5h bWUgJyouc25rJyAtbm90IFwKLSMgICAgICBcKCAtaXBhdGggJy4vcHJlcmVxcy8qJyAtb3IgLWlw YXRoICcuL3NyYy9hcmNhZGUvKicgLW9yIC1pcGF0aCAnLi9zcmMvc291cmNlLWJ1aWxkLWV4dGVy bmFscy8qJyAtb3IgLWlwYXRoICcuL3NyYy9kZXBsb3ltZW50LXRvb2xzLyonIFwpIFwKLSMgICAg XCkgLW9yIFwKLQotbWtkaXIgLXAgcHJlcmVxcy9wYWNrYWdlcy9hcmNoaXZlCi1sbiAtcyAle19s aWJkaXJ9L2RvdG5ldC9zb3VyY2UtYnVpbHQtYXJ0aWZhY3RzL1ByaXZhdGUuU291cmNlQnVpbHQu QXJ0aWZhY3RzLioudGFyLmd6IHByZXJlcXMvcGFja2FnZXMvYXJjaGl2ZS8KLQotJWVsc2UKLQot JXNldHVwIC1xIC1UIC1iIDAgLW4gZG90bmV0LSV7dXBzdHJlYW1fdGFnfS14NjQtYm9vdHN0cmFw Ci0KLSVpZmFyY2ggYWFyY2g2NCBwcGM2NGxlIHMzOTB4Ci1ybSAtcmYgLmRvdG5ldAotbWtkaXIg LXAgLmRvdG5ldC8KLSVlbmRpZgotCi0laWZhcmNoIGFhcmNoNjQKLXRhciAteCAtZiAle1NPVVJD RTF9IC1DIC5kb3RuZXQvCi0lZW5kaWYKLSVpZmFyY2ggcHBjNjRsZQotdGFyIC14IC0tc3RyaXAt Y29tcG9uZW50cz0xIC1mICV7U09VUkNFMn0gLUMgcHJlcmVxcy9wYWNrYWdlcy9wcmVidWlsdC8K LSVlbmRpZgotJWlmYXJjaCBzMzkweAotdGFyIC14IC0tc3RyaXAtY29tcG9uZW50cz0xIC1mICV7 U09VUkNFM30gLUMgcHJlcmVxcy9wYWNrYWdlcy9wcmVidWlsdC8KLSVlbmRpZgotCi0laWZhcmNo IHBwYzY0bGUgczM5MHgKLXRhciB4ZiBwcmVyZXFzL3BhY2thZ2VzL3ByZWJ1aWx0L2RvdG5ldC1z ZGsqLnRhci5neiAtQyAuZG90bmV0Lwotcm0gcHJlcmVxcy9wYWNrYWdlcy9wcmVidWlsdC9kb3Ru ZXQtc2RrKi50YXIuZ3oKLWJvb3Rfc2RrX3ZlcnNpb249JChscyAtMSAuZG90bmV0L3Nkay8pCi1z ZWQgLWkgLUUgJ3N8ImRvdG5ldCI6ICJbXiJdKyJ8ImRvdG5ldCIgOiAiJyRib290X3Nka192ZXJz aW9uJyJ8JyBnbG9iYWwuanNvbgotJWVuZGlmCi0KLSVlbmRpZgotCi0lYXV0b3BhdGNoIC1wMSAt TSA5OTkKLQotJWlmICEgJXt1c2VfYnVuZGxlZF9icm90bGl9Ci1ybSAtcmYgc3JjL3J1bnRpbWUv c3JjL25hdGl2ZS9leHRlcm5hbC9icm90bGkvCi0lZW5kaWYKLQotJWlmICEgJXt1c2VfYnVuZGxl ZF9saWJ1bndpbmR9Ci1ybSAtcmYgc3JjL3J1bnRpbWUvc3JjL25hdGl2ZS9leHRlcm5hbC9saWJ1 bndpbmQvCi0lZW5kaWYKLQotJWlmICEgJXt1c2VfYnVuZGxlZF9sbHZtX2xpYnVud2luZH0KLXJt IC1yZiBzcmMvcnVudGltZS9zcmMvbmF0aXZlL2V4dGVybmFsL2xsdm0tbGlidW53aW5kCi0lZW5k aWYKLQotJWlmICEgJXt1c2VfYnVuZGxlZF9yYXBpZGpzb259Ci1ybSAtcmYgc3JjL3J1bnRpbWUv c3JjL25hdGl2ZS9leHRlcm5hbC9yYXBpZGpzb24KLSVlbmRpZgotCi0laWYgISAle3VzZV9idW5k bGVkX3psaWJ9Ci1ybSAtcmYgc3JjL3J1bnRpbWUvc3JjL25hdGl2ZS9leHRlcm5hbC96bGliCi1y bSAtcmYgc3JjL3J1bnRpbWUvc3JjL25hdGl2ZS9leHRlcm5hbC96bGliLWludGVsCi1ybSAtcmYg c3JjL3J1bnRpbWUvc3JjL25hdGl2ZS9leHRlcm5hbC96bGliLW5nCi0lZW5kaWYKLQotCi0KLSVi dWlsZAotY2F0IC9ldGMvb3MtcmVsZWFzZQotCi0laWYgJXt3aXRob3V0IGJvb3RzdHJhcH0KLSMg V2UgbmVlZCB0byBjcmVhdGUgYSBjb3B5IGJlY2F1c2UgYnVpbGQgc2NyaXB0cyB3aWxsIG11dGF0 ZSB0aGlzCi1jcCAtYSAle19saWJkaXJ9L2RvdG5ldCBwcmV2aW91c2x5LWJ1aWx0LWRvdG5ldAot ZmluZCBwcmV2aW91c2x5LWJ1aWx0LWRvdG5ldAotJWVuZGlmCi0KLSVpZiAwJXs/ZmVkb3JhfSB8 fCAwJXs/cmhlbH0gPj0gOQotIyBTZXR0aW5nIHRoaXMgbWFjcm8gZW5zdXJlcyB0aGF0IG9ubHkg Y2xhbmcgc3VwcG9ydGVkIG9wdGlvbnMgd2lsbCBiZQotIyBhZGRlZCB0byBsZGZsYWdzIGFuZCBj ZmxhZ3MuCi0lZ2xvYmFsIHRvb2xjaGFpbiBjbGFuZwotJXNldF9idWlsZF9mbGFncwotJWVsc2UK LSMgRmlsdGVyIGZsYWdzIG5vdCBzdXBwb3J0ZWQgYnkgY2xhbmcKLSVnbG9iYWwgZG90bmV0X2Nm bGFncyAlKGVjaG8gJW9wdGZsYWdzIHwgc2VkIC1yZSAncy8tc3BlY3M9W14gXSovL2cnKQotJWds b2JhbCBkb3RuZXRfbGRmbGFncyAlKGVjaG8gJXtfX2dsb2JhbF9sZGZsYWdzfSB8IHNlZCAtcmUg J3MvLXNwZWNzPVteIF0qLy9nJykKLWV4cG9ydCBDRkxBR1M9IiV7ZG90bmV0X2NmbGFnc30iCi1l eHBvcnQgQ1hYRkxBR1M9IiV7ZG90bmV0X2NmbGFnc30iCi1leHBvcnQgTERGTEFHUz0iJXtkb3Ru ZXRfbGRmbGFnc30iCi0lZW5kaWYKLQotIyAtZnN0YWNrLWNsYXNoLXByb3RlY3Rpb24gYnJlYWtz IENvcmVDTFIKLUNGTEFHUz0kKGVjaG8gJENGTEFHUyAgfCBzZWQgLWUgJ3MvLWZzdGFjay1jbGFz aC1wcm90ZWN0aW9uLy8nICkKLUNYWEZMQUdTPSQoZWNobyAkQ1hYRkxBR1MgIHwgc2VkIC1lICdz Ly1mc3RhY2stY2xhc2gtcHJvdGVjdGlvbi8vJyApCi0KLSVpZmFyY2ggYWFyY2g2NAotIyAtbWJy YW5jaC1wcm90ZWN0aW9uPXN0YW5kYXJkIGJyZWFrcyB1bndpbmRpbmcgaW4gQ29yZUNMUiB0aHJv dWdoIGxpYnVud2luZAotQ0ZMQUdTPSQoZWNobyAkQ0ZMQUdTIHwgc2VkIC1lICdzLy1tYnJhbmNo LXByb3RlY3Rpb249c3RhbmRhcmQgLy8nKQotQ1hYRkxBR1M9JChlY2hvICRDWFhGTEFHUyB8IHNl ZCAtZSAncy8tbWJyYW5jaC1wcm90ZWN0aW9uPXN0YW5kYXJkIC8vJykKLSVlbmRpZgotCi0laWZh cmNoIHMzOTB4Ci0jIC1tYXJjaD16MTMgLW10dW5lPXoxNCBtYWtlcyBjbGFuZyBjcmFzaCB3aGls ZSBjb21waWxpbmcgLk5FVAotQ0ZMQUdTPSQoZWNobyAkQ0ZMQUdTIHwgc2VkIC1lICdzLyAtbWFy Y2g9ejEzLy8nKQotQ0ZMQUdTPSQoZWNobyAkQ0ZMQUdTIHwgc2VkIC1lICdzLyAtbXR1bmU9ejE0 Ly8nKQotQ1hYRkxBR1M9JChlY2hvICRDWFhGTEFHUyB8IHNlZCAtZSAncy8gLW1hcmNoPXoxMy8v JykKLUNYWEZMQUdTPSQoZWNobyAkQ1hYRkxBR1MgfCBzZWQgLWUgJ3MvIC1tdHVuZT16MTQvLycp Ci0lZW5kaWYKLQotIyBFbmFibGluZyBmb3J0aWZ5LXNvdXJjZSBhbmQgIi1XYWxsIC1XZXZlcnl0 aGluZyIgcHJvZHVjZXMgbmV3IHdhcm5pbmdzIGZyb20gbGliYy4gVHVybiB0aGVtIG9mZi4KLUNG TEFHUz0iJENGTEFHUyAtV25vLXVzZWQtYnV0LW1hcmtlZC11bnVzZWQiCi1DWFhGTEFHUz0iJENY WEZMQUdTIC1Xbm8tdXNlZC1idXQtbWFya2VkLXVudXNlZCIKLQotZXhwb3J0IEVYVFJBX0NGTEFH Uz0iJENGTEFHUyIKLWV4cG9ydCBFWFRSQV9DWFhGTEFHUz0iJENYWEZMQUdTIgotZXhwb3J0IEVY VFJBX0xERkxBR1M9IiRMREZMQUdTIgotCi0jIERpc2FibGUgdHJhY2luZywgd2hpY2ggaXMgaW5j b21wYXRpYmxlIHdpdGggY2VydGFpbiB2ZXJzaW9ucyBvZgotIyBsdHRuZyBTZWUgaHR0cHM6Ly9n aXRodWIuY29tL2RvdG5ldC9ydW50aW1lL2lzc3Vlcy81Nzc4NC4gVGhlCi0jIHN1Z2dlc3RlZCBj b21waWxlLXRpbWUgY2hhbmdlIGRvZXNuJ3Qgd29yaywgdW5mb3J0dW5hdGVseS4KLWV4cG9ydCBD T01QbHVzX0xUVG5nPTAKLQotIyBFc2NhcGUgY29tbWFzIGluIHRoZSB2ZW5kb3IgbmFtZQotdmVu ZG9yPSQoZWNobyAiJXs/ZGlzdF92ZW5kb3J9JXshP2Rpc3RfdmVuZG9yOiVfaG9zdF92ZW5kb3J9 IiB8IHNlZCAtRSAncy8sLyUyYy8nKQotCi1zeXN0ZW1fbGlicz0KLSVpZiAhICV7dXNlX2J1bmRs ZWRfYnJvdGxpfQotICAgIHN5c3RlbV9saWJzPSRzeXN0ZW1fbGlicyticm90bGkrCi0lZW5kaWYK LSVpZiAhICV7dXNlX2J1bmRsZWRfbGlidW53aW5kfQotICAgIHN5c3RlbV9saWJzPSRzeXN0ZW1f bGlicytsaWJ1bndpbmQrCi0lZW5kaWYKLSVpZiAhICV7dXNlX2J1bmRsZWRfbGx2bV9saWJ1bndp bmR9Ci0gICAgc3lzdGVtX2xpYnM9JHN5c3RlbV9saWJzK2xsdm1saWJ1bndpbmQrCi0lZW5kaWYK LSVpZiAhICV7dXNlX2J1bmRsZWRfcmFwaWRqc29ufQotICAgIHN5c3RlbV9saWJzPSRzeXN0ZW1f bGlicytyYXBpZGpzb24rCi0lZW5kaWYKLSVpZiAhICV7dXNlX2J1bmRsZWRfemxpYn0KLSAgICBz eXN0ZW1fbGlicz0kc3lzdGVtX2xpYnMremxpYisKLSVlbmRpZgotCi0laWZhcmNoIHBwYzY0bGUg czM5MHgKLW1heF9hdHRlbXB0cz0zCi0lZWxzZQotbWF4X2F0dGVtcHRzPTEKLSVlbmRpZgotCi1m dW5jdGlvbiByZXRyeV91bnRpbF9zdWNjZXNzIHsKLSAgICBsb2NhbCBleGl0X2NvZGU9MQotICAg IGxvY2FsIHRyaWVzPSQxCi0gICAgc2hpZnQKLSAgICBzZXQgK2UKLSAgICB3aGlsZSBbWyAkZXhp dF9jb2RlICE9IDAgXV0gJiYgW1sgJHRyaWVzICE9IDAgXV07IGRvCi0gICAgICAgICgoIHRyaWVz ID0gdHJpZXMgLSAxICkpCi0gICAgICAgICMgQ2xlYW4gc3RhbGUgYnVpbGQgc3RhdGUgc28gcmV0 cmllcyBzdGFydCBmcmVzaC4KLSAgICAgICAgcm0gLXJmIC5wYWNrYWdlcyAkKGZpbmQgLiAtbmFt ZSBhcnRpZmFjdHMgLXR5cGUgZCkKLSAgICAgICAgIiRAIgotICAgICAgICBleGl0X2NvZGU9JD8K LSAgICBkb25lCi0gICAgc2V0IC1lCi0gICAgcmV0dXJuICRleGl0X2NvZGUKLX0KLQotIyBSdW5z IGEgY29tbWFuZCBhbmQga2lsbHMgaXQgaWYgaXQgcHJvZHVjZXMgbm8gb3V0cHV0LgotIyBVc2Ug YSBsb25nZXIgdGltZW91dCBvbiBtYWNoaW5lcyB3aXRoIGZld2VyIGNvcmVzIHNpbmNlIGJ1aWxk cyBhcmUgc2xvd2VyLgotZnVuY3Rpb24gb3V0cHV0X3RpbWVvdXQgewotICAgICMgMzBtIG9uIG1h Y2hpbmVzIHdpdGggbW9yZSB0aGFuIDQgY29yZXMsIDYwbSBvbiBzbWFsbGVyIG1hY2hpbmVzIHdo ZXJlIGJ1aWxkcyBhcmUgc2xvd2VyLgotICAgICMgVGhlIGFhcmNoNjQgTmVvdmVyc2UgTjEgQ0kg bWFjaGluZXMgaGF2ZSA0IGNvcmVzIGFuZCBuZWVkIHRoZSBsb25nZXIgdGltZW91dC4KLSAgICBs b2NhbCBucHJvY3M9JChucHJvYykKLSAgICBsb2NhbCBpZGxlX3RpbWVvdXQ9MTgwMAotICAgIGlm ICgoIG5wcm9jcyA8PSA0ICkpOyB0aGVuCi0gICAgICAgIGlkbGVfdGltZW91dD0zNjAwCi0gICAg ZmkKLQotICAgICMgQ3JlYXRlIGEgcGlwZSB3ZSdsbCByZWFkIHRoZSBvdXRwdXQgZnJvbSBmb3Ig dGltZW91dCBkZXRlY3Rpb24uCi0gICAgbG9jYWwgZmlmbz0kKG1rdGVtcCAtdSkKLSAgICBta2Zp Zm8gIiRmaWZvIgotCi0gICAgIyBDcmVhdGUgYSBwcm9jZXNzIGdyb3VwIHNvIHdlIGNhbiBraWxs IGV2ZXJ5IHByb2Nlc3MgaW5jbHVkaW5nIGNoaWxkcmVuLgotICAgICMgQW5kIHVzZSBhIGxvbmcg dGltZW91dCAoNWgpIGluICh0aGUgdW5saWtlbHkpIGNhc2Ugb3V0cHV0IHRpbWVvdXQgZGV0ZWN0 aW9uIGNvbnRpbnVlcyB0byBiZSB0cmlnZ2VyZWQuCi0gICAgc2V0c2lkIHRpbWVvdXQgLS1mb3Jl Z3JvdW5kIDVoICIkQCIgJj4gIiRmaWZvIiAmCi0gICAgbG9jYWwgY21kX3BpZD0kIQotCi0gICAg IyBSZWFkIGxpbmVzIGZyb20gdGhlIG91dHB1dCB3aXRoIGEgdGltZW91dC4KLSAgICAjIERpc2Fi bGUgdHJhY2luZyB0byBhdm9pZCAnc2V0IC14JyBub2lzZSBmcm9tIHRoZSByZWFkIGxvb3AgYXBw ZWFyaW5nIGluIHRoZSBvdXRwdXQuCi0gICAgbG9jYWwgdGltZWRfb3V0PWZhbHNlCi0gICAgbG9j YWwgdHJhY2VmbGFncz0kLQotICAgIHNldCAreAotICAgIHdoaWxlIHRydWU7IGRvCi0gICAgICAg IGxvY2FsIHJjPTAKLSAgICAgICAgSUZTPSByZWFkIC10ICRpZGxlX3RpbWVvdXQgLXIgbGluZSB8 fCByYz0kPwotICAgICAgICBpZiAoKCByYyA9PSAwICkpOyB0aGVuCi0gICAgICAgICAgICBwcmlu dGYgJyVzXG4nICIkbGluZSIKLSAgICAgICAgZWxpZiAoKCByYyA+IDEyOCApKTsgdGhlbgotICAg ICAgICAgICAgZWNobyAib3V0cHV0X3RpbWVvdXQ6IG5vIG91dHB1dCBmb3IgJHtpZGxlX3RpbWVv dXR9cyIgPiYyCi0gICAgICAgICAgICB0aW1lZF9vdXQ9dHJ1ZQotICAgICAgICAgICAgYnJlYWsK LSAgICAgICAgZWxzZQotICAgICAgICAgICAgW1sgLXogJGxpbmUgXV0gfHwgcHJpbnRmICclc1xu JyAiJGxpbmUiCi0gICAgICAgICAgICBicmVhawotICAgICAgICBmaQotICAgIGRvbmUgPCAiJGZp Zm8iCi0gICAgW1sgJHRyYWNlZmxhZ3MgIT0gKngqIF1dIHx8IHNldCAteAotCi0gICAgaWYgJHRp bWVkX291dDsgdGhlbgotICAgICAgICAjIEhhbmcgZGV0ZWN0ZWQ6IGtpbGwgdGhlIHByb2Nlc3Mg Z3JvdXAsIHRoZW4gY29sbGVjdCB0aGUgZXhpdCBjb2RlLgotICAgICAgICBraWxsIC05IC0tIC0k Y21kX3BpZCAyPi9kZXYvbnVsbCB8fCB0cnVlCi0gICAgICAgIHdhaXQgJGNtZF9waWQgMj4vZGV2 L251bGwKLSAgICAgICAgbG9jYWwgZXhpdF9jb2RlPSQ/Ci0gICAgZWxzZQotICAgICAgICAjIE5v cm1hbCBleGl0OiBjb2xsZWN0IHRoZSByZWFsIGV4aXQgY29kZSwgdGhlbiBjbGVhbiB1cCBhbnkg b3JwaGFuZWQgcHJvY2Vzc2VzLgotICAgICAgICB3YWl0ICRjbWRfcGlkIDI+L2Rldi9udWxsCi0g ICAgICAgIGxvY2FsIGV4aXRfY29kZT0kPwotICAgICAgICBraWxsIC05IC0tIC0kY21kX3BpZCAy Pi9kZXYvbnVsbCB8fCB0cnVlCi0gICAgZmkKLQotICAgICMgQ2xlYW51cC4KLSAgICBybSAtZiAi JGZpZm8iCi0KLSAgICByZXR1cm4gJGV4aXRfY29kZQotfQotCi1WRVJCT1NFPTEgcmV0cnlfdW50 aWxfc3VjY2VzcyAkbWF4X2F0dGVtcHRzIFwKLSAgICBvdXRwdXRfdGltZW91dCBcCi0gICAgLi9i dWlsZC5zaCBcCi0gICAgLS1zb3VyY2Utb25seSBcCi0gICAgLS1yZWxlYXNlLW1hbmlmZXN0ICV7 U09VUkNFNX0gXAotJWlmICV7d2l0aG91dCBib290c3RyYXB9Ci0gICAgLS13aXRoLXNkayBwcmV2 aW91c2x5LWJ1aWx0LWRvdG5ldCBcCi0lZW5kaWYKLSVpZmFyY2ggJXttb25vX2FyY2hzfQotICAg IC0tdXNlLW1vbm8tcnVudGltZSBcCi0lZW5kaWYKLSAgICAtLWNsZWFuLXdoaWxlLWJ1aWxkaW5n IFwKLSAgICAtLSBcCi0gICAgL3A6VXNlU3lzdGVtTGlicz0ke3N5c3RlbV9saWJzfSBcCi0gICAg L3A6VGFyZ2V0UmlkPSV7cnVudGltZV9pZH0gXAotICAgIC9wOk9mZmljaWFsQnVpbGRlcj0iJHZl bmRvciIgXAotICAgIC9wOk1pbmltYWxDb25zb2xlTG9nT3V0cHV0PWZhbHNlIFwKLSAgICAvcDpD b250aW51ZU9uUHJlYnVpbHRCYXNlbGluZUVycm9yPXRydWUgXAotICAgIC92Om4gXAotICAgIC9w OkxvZ1ZlcmJvc2l0eT1uCi0KLQotc2VkIC1lICdzfFtAXUxJQkRJUltAXXwle19saWJkaXJ9fGcn ICV7U09VUkNFMjF9ID4gZG90bmV0LnNoCi0KLQotCi0laW5zdGFsbAotaW5zdGFsbCAtZG0gMDc1 NSAle2J1aWxkcm9vdH0le19saWJkaXJ9L2RvdG5ldAotbHMgYXJ0aWZhY3RzL2Fzc2V0cy9SZWxl YXNlLwotbWtkaXIgLXAgYnVpbHQtc2RrCi10YXIgeGYgYXJ0aWZhY3RzL2Fzc2V0cy9SZWxlYXNl L2RvdG5ldC1zZGstJXtzZGtfdmVyc2lvbn0tJXtydW50aW1lX2lkfS50YXIuZ3ogLUMgJXtidWls ZHJvb3R9JXtfbGliZGlyfS9kb3RuZXQvCi0KLSMgRGVsZXRlIGJ1bmRsZWQgY2VydGlmaWNhdGVz OiB3ZSB3YW50IHRvIHVzZSB0aGUgc3lzdGVtIHN0b3JlIG9ubHksCi0jIGV4Y2VwdCBmb3Igd2hl biB3ZSBoYXZlIG5vIG90aGVyIGNob2ljZSBhbmQgY2EtY2VydGlmaWNhdGVzIGRvZXNuJ3QKLSMg cHJvdmlkZSBpdC4gQ3VycmVudGx5IGNhLWNlcml0aWZpY2F0ZXMgaGFzIG5vIHN1cHBvcnQgZm9y Ci0jIHRpbWVzdGFtcGluZyBjZXJ0aWZpY2F0ZXMgKHRpbWVzdGFtcC5jdGwpLgotZmluZCAle2J1 aWxkcm9vdH0le19saWJkaXJ9L2RvdG5ldCAtbmFtZSAnY29kZXNpZ25jdGwucGVtJyAtZGVsZXRl Ci1pZiBbWyAkKGZpbmQgJXtidWlsZHJvb3R9JXtfbGliZGlyfS9kb3RuZXQgLW5hbWUgJyoucGVt JyAtcHJpbnQgfCB3YyAtbCkgIT0gMSBdXTsgdGhlbgotICAgIGZpbmQgJXtidWlsZHJvb3R9JXtf bGliZGlyfS9kb3RuZXQgLW5hbWUgJyoucGVtJyAtcHJpbnQKLSAgICBlY2hvICJ0b28gbWFueSBj ZXJ0aWZpY2F0ZSBidW5kbGVzIgotICAgIGV4aXQgMgotZmkKLQotIyBJbnN0YWxsIG1hbmFnZWQg c3ltYm9scwotdGFyIHhmIGFydGlmYWN0cy9hc3NldHMvUmVsZWFzZS9kb3RuZXQtc3ltYm9scy1z ZGstJXtzZGtfdmVyc2lvbn0qLSV7cnVudGltZV9pZH0udGFyLmd6IFwKLSAgIC1DICV7YnVpbGRy b290fSV7X2xpYmRpcn0vZG90bmV0LwotZmluZCAle2J1aWxkcm9vdH0le19saWJkaXJ9L2RvdG5l dC9wYWNrcyAtaW5hbWUgJyoucGRiJyAtZGVsZXRlCi0KLSMgRml4IGV4ZWN1dGFibGUgcGVybWlz c2lvbnMgb24gZmlsZXMKLWZpbmQgJXtidWlsZHJvb3R9JXtfbGliZGlyfS9kb3RuZXQvIC10eXBl IGYgLW5hbWUgJ2FwcGhvc3QnIC1leGVjIGNobW9kICt4IHt9IFw7Ci1maW5kICV7YnVpbGRyb290 fSV7X2xpYmRpcn0vZG90bmV0LyAtdHlwZSBmIC1uYW1lICdpbGMnIC1leGVjIGNobW9kICt4IHt9 IFw7Ci1maW5kICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0LyAtdHlwZSBmIC1uYW1lICdz aW5nbGVmaWxlaG9zdCcgLWV4ZWMgY2htb2QgK3gge30gXDsKLWZpbmQgJXtidWlsZHJvb3R9JXtf bGliZGlyfS9kb3RuZXQvIC10eXBlIGYgLW5hbWUgJyouc2gnIC1leGVjIGNobW9kICt4IHt9IFw7 Ci1maW5kICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0LyAtdHlwZSBmIC1uYW1lICdsaWIq c28nIC1leGVjIGNobW9kICt4IHt9IFw7Ci1maW5kICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90 bmV0LyAtdHlwZSBmIC1uYW1lICcqLmEnIC1leGVjIGNobW9kIC14IHt9IFw7Ci1maW5kICV7YnVp bGRyb290fSV7X2xpYmRpcn0vZG90bmV0LyAtdHlwZSBmIC1uYW1lICcqLmRsbCcgLWV4ZWMgY2ht b2QgLXgge30gXDsKLWZpbmQgJXtidWlsZHJvb3R9JXtfbGliZGlyfS9kb3RuZXQvIC10eXBlIGYg LW5hbWUgJyouaCcgLWV4ZWMgY2htb2QgMDY0NCB7fSBcOwotZmluZCAle2J1aWxkcm9vdH0le19s aWJkaXJ9L2RvdG5ldC8gLXR5cGUgZiAtbmFtZSAnKi5qc29uJyAtZXhlYyBjaG1vZCAteCB7fSBc OwotZmluZCAle2J1aWxkcm9vdH0le19saWJkaXJ9L2RvdG5ldC8gLXR5cGUgZiAtbmFtZSAnKi5v JyAtZXhlYyBjaG1vZCAteCB7fSBcOwotZmluZCAle2J1aWxkcm9vdH0le19saWJkaXJ9L2RvdG5l dC8gLXR5cGUgZiAtbmFtZSAnKi5wZGInIC1leGVjIGNobW9kIC14IHt9IFw7Ci1maW5kICV7YnVp bGRyb290fSV7X2xpYmRpcn0vZG90bmV0LyAtdHlwZSBmIC1uYW1lICcqLnByb3BzJyAtZXhlYyBj aG1vZCAteCB7fSBcOwotZmluZCAle2J1aWxkcm9vdH0le19saWJkaXJ9L2RvdG5ldC8gLXR5cGUg ZiAtbmFtZSAnKi5wdWJ4bWwnIC1leGVjIGNobW9kIC14IHt9IFw7Ci1maW5kICV7YnVpbGRyb290 fSV7X2xpYmRpcn0vZG90bmV0LyAtdHlwZSBmIC1uYW1lICcqLnRhcmdldHMnIC1leGVjIGNobW9k IC14IHt9IFw7Ci1maW5kICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0LyAtdHlwZSBmIC1u YW1lICcqLnR4dCcgLWV4ZWMgY2htb2QgLXgge30gXDsKLWZpbmQgJXtidWlsZHJvb3R9JXtfbGli ZGlyfS9kb3RuZXQvIC10eXBlIGYgLW5hbWUgJyoueG1sJyAtZXhlYyBjaG1vZCAteCB7fSBcOwot Ci0laWYgJXtpc19sYXRlc3RfZG90bmV0fQotaW5zdGFsbCAtZG0gMDc1NSAle2J1aWxkcm9vdH0l e19zeXNjb25mZGlyfS9wcm9maWxlLmQvCi1pbnN0YWxsIGRvdG5ldC5zaCAle2J1aWxkcm9vdH0l e19zeXNjb25mZGlyfS9wcm9maWxlLmQvCi0KLSMgSW5zdGFsbCBkeW5hbWljIGNvbXBsZXRpb25z Ci1pbnN0YWxsIC1kbSAwNzU1ICV7YnVpbGRyb290fS8le2Jhc2hfY29tcGxldGlvbnNfZGlyfQot aW5zdGFsbCBzcmMvc2RrL3NjcmlwdHMvcmVnaXN0ZXItY29tcGxldGlvbnMuYmFzaCAle2J1aWxk cm9vdH0vJXtiYXNoX2NvbXBsZXRpb25zX2Rpcn0vZG90bmV0Ci1pbnN0YWxsIC1kbSA3NTUgJXti dWlsZHJvb3R9LyV7enNoX2NvbXBsZXRpb25zX2Rpcn0KLWluc3RhbGwgc3JjL3Nkay9zY3JpcHRz L3JlZ2lzdGVyLWNvbXBsZXRpb25zLnpzaCAle2J1aWxkcm9vdH0vJXt6c2hfY29tcGxldGlvbnNf ZGlyfS9fZG90bmV0Ci0KLWluc3RhbGwgLWRtIDA3NTUgJXtidWlsZHJvb3R9JXtfYmluZGlyfQot bG4gLXMgLi4vLi4vJXtfbGliZGlyfS9kb3RuZXQvZG90bmV0ICV7YnVpbGRyb290fSV7X2JpbmRp cn0vCi0KLWZvciBzZWN0aW9uIGluIDEgNzsgZG8KLSAgICBpbnN0YWxsIC1kbSAwNzU1ICV7YnVp bGRyb290fSV7X21hbmRpcn0vbWFuJHtzZWN0aW9ufS8KLSAgICBmaW5kIC1pbmFtZSAnZG90bmV0 KicuJHtzZWN0aW9ufSAtdHlwZSBmIC1leGVjIGNwIHt9ICV7YnVpbGRyb290fSV7X21hbmRpcn0v bWFuJHtzZWN0aW9ufS8gXDsKLWRvbmUKLQotaW5zdGFsbCAtZG0gMDc1NSAle2J1aWxkcm9vdH0l e19zeXNjb25mZGlyfS9kb3RuZXQKLWVjaG8gIiV7X2xpYmRpcn0vZG90bmV0IiA+PiBpbnN0YWxs X2xvY2F0aW9uCi1pbnN0YWxsIGluc3RhbGxfbG9jYXRpb24gJXtidWlsZHJvb3R9JXtfc3lzY29u ZmRpcn0vZG90bmV0LwotZWNobyAiJXtfbGliZGlyfS9kb3RuZXQiID4+IGluc3RhbGxfbG9jYXRp b25fJXtydW50aW1lX2FyY2h9Ci1pbnN0YWxsIGluc3RhbGxfbG9jYXRpb25fJXtydW50aW1lX2Fy Y2h9ICV7YnVpbGRyb290fSV7X3N5c2NvbmZkaXJ9L2RvdG5ldC8KLSVlbmRpZgotCi1pbnN0YWxs IC1kbSAwNzU1ICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0L3NvdXJjZS1idWlsdC1hcnRp ZmFjdHMKLWluc3RhbGwgLW0gMDY0NCBhcnRpZmFjdHMvYXNzZXRzL1JlbGVhc2UvUHJpdmF0ZS5T b3VyY2VCdWlsdC5BcnRpZmFjdHMuKi50YXIuZ3ogJXtidWlsZHJvb3R9LyV7X2xpYmRpcn0vZG90 bmV0L3NvdXJjZS1idWlsdC1hcnRpZmFjdHMvCi0KLQotIyBRdWljayBhbmQgZGlydHkgY2hlY2sg Zm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9kb3RuZXQvc291cmNlLWJ1aWxkL2lzc3Vlcy8yNzMxCi10 ZXN0IC1mICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0L3Nkay8le3Nka192ZXJzaW9ufS9T ZGtzL01pY3Jvc29mdC5ORVQuU2RrL1Nkay9TZGsucHJvcHMKLQotIyBDaGVjayBkZWJ1ZyBzeW1i b2xzIGluIGFsbCBlbGYgb2JqZWN0cy4gVGhpcyBpcyBub3QgaW4gJSVjaGVjawotIyBiZWNhdXNl IG5hdGl2ZSBiaW5hcmllcyBhcmUgc3RyaXBwZWQgYnkgcnBtLWJ1aWxkIGFmdGVyICUlaW5zdGFs bC4KLSMgU28gd2UgbmVlZCB0byBkbyB0aGlzIGNoZWNrIGVhcmxpZXIuCi1lY2hvICJUZXN0aW5n IGJ1aWxkIHJlc3VsdHMgZm9yIGRlYnVnIHN5bWJvbHMuLi4iCi0le1NPVVJDRTIwfSAtdiAle2J1 aWxkcm9vdH0le19saWJkaXJ9L2RvdG5ldC8KLQotJWlmICV7aXNfbGF0ZXN0X2RvdG5ldH0gJiYg JXtpbmNsdWRlX21hY3Jvc30KLWluc3RhbGwgLWRtIDA3NTUgJXtidWlsZHJvb3R9JXtfcnBtbWFj cm9kaXJ9LwotaW5zdGFsbCAtbSAwNjQ0ICV7U09VUkNFMTB9ICV7YnVpbGRyb290fSV7X3JwbW1h Y3JvZGlyfS8KLSVlbmRpZgotCi1maW5kICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0L3No YXJlZC9NaWNyb3NvZnQuTkVUQ29yZS5BcHAgLXR5cGUgZiAtYW5kIC1ub3QgLW5hbWUgJyoucGRi JyB8IHNlZCAtRSAnc3wle2J1aWxkcm9vdH18fCcgPiBkb3RuZXQtcnVudGltZS1ub24tZGJnLWZp bGVzCi1maW5kICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0L3NoYXJlZC9NaWNyb3NvZnQu TkVUQ29yZS5BcHAgLXR5cGUgZiAtbmFtZSAnKi5wZGInICB8IHNlZCAtRSAnc3wle2J1aWxkcm9v dH18fCcgPiBkb3RuZXQtcnVudGltZS1kYmctZmlsZXMKLWZpbmQgJXtidWlsZHJvb3R9JXtfbGli ZGlyfS9kb3RuZXQvc2hhcmVkL01pY3Jvc29mdC5Bc3BOZXRDb3JlLkFwcCAtdHlwZSBmIC1hbmQg LW5vdCAtbmFtZSAnKi5wZGInICB8IHNlZCAtRSAnc3wle2J1aWxkcm9vdH18fCcgPiBhc3BuZXRj b3JlLXJ1bnRpbWUtbm9uLWRiZy1maWxlcwotZmluZCAle2J1aWxkcm9vdH0le19saWJkaXJ9L2Rv dG5ldC9zaGFyZWQvTWljcm9zb2Z0LkFzcE5ldENvcmUuQXBwIC10eXBlIGYgLW5hbWUgJyoucGRi JyB8IHNlZCAtRSAnc3wle2J1aWxkcm9vdH18fCcgPiBhc3BuZXRjb3JlLXJ1bnRpbWUtZGJnLWZp bGVzCi1maW5kICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0L3NkayAtdHlwZSBkIHwgdGFp bCAtbiArMiB8IHNlZCAtRSAnc3wle2J1aWxkcm9vdH18fCcgfCBzZWQgLUUgJ3N8XnwlZGlyIHwn ID4gZG90bmV0LXNkay1ub24tZGJnLWZpbGVzCi1maW5kICV7YnVpbGRyb290fSV7X2xpYmRpcn0v ZG90bmV0L3NkayAtdHlwZSBmIC1hbmQgLW5vdCAtbmFtZSAnKi5wZGInIHwgc2VkIC1FICdzfCV7 YnVpbGRyb290fXx8JyA+PiBkb3RuZXQtc2RrLW5vbi1kYmctZmlsZXMKLWZpbmQgJXtidWlsZHJv b3R9JXtfbGliZGlyfS9kb3RuZXQvc2RrIC10eXBlIGYgLW5hbWUgJyoucGRiJyAgfCBzZWQgLUUg J3N8JXtidWlsZHJvb3R9fHwnID4gZG90bmV0LXNkay1kYmctZmlsZXMKLQotJWlmICV7aXNfbGF0 ZXN0X2RvdG5ldH0gPT0gMAotIyBJZiB0aGlzIGlzIGFuIG9sZGVyIHZlcnNpb24sIHNlbGYtdGVz dCBub3csIGJlZm9yZSB3ZSBkZWxldGUgZmlsZXMuIEFmdGVyIHdlCi0jIGRlbGV0ZSBmaWxlcywg d2Ugd2lsbCBub3QgaGF2ZSBldmVyeXRoaW5nIHdlIG5lZWQgdG8gc2VsZi10ZXN0IGluICUlY2hl Y2suCi0le2J1aWxkcm9vdH0le19saWJkaXJ9L2RvdG5ldC9kb3RuZXQgLS1pbmZvCi0le2J1aWxk cm9vdH0le19saWJkaXJ9L2RvdG5ldC9kb3RuZXQgLS12ZXJzaW9uCi0KLSMgUHJvdmlkZWQgYnkg ZG90bmV0LWhvc3QgZnJvbSBhbm90aGVyIFNSUE0KLXJtICV7YnVpbGRyb290fSV7X2xpYmRpcn0v ZG90bmV0L0xJQ0VOU0UudHh0Ci1ybSAle2J1aWxkcm9vdH0le19saWJkaXJ9L2RvdG5ldC9UaGly ZFBhcnR5Tm90aWNlcy50eHQKLXJtICV7YnVpbGRyb290fSV7X2xpYmRpcn0vZG90bmV0L2RvdG5l dAotJWVuZGlmCi0KLQotCi0lY2hlY2sKLSVpZiAwJXs/ZmVkb3JhfSA+IDM1Ci0jIGx0dG5nIGlu IEZlZG9yYSA+IDM1IGlzIGluY29tcGF0aWJsZSB3aXRoIC5ORVQKLWV4cG9ydCBDT01QbHVzX0xU VG5nPTAKLSVlbmRpZgotCi0laWYgJXtpc19sYXRlc3RfZG90bmV0fQotJXtidWlsZHJvb3R9JXtf bGliZGlyfS9kb3RuZXQvZG90bmV0IC0taW5mbwotJXtidWlsZHJvb3R9JXtfbGliZGlyfS9kb3Ru ZXQvZG90bmV0IC0tdmVyc2lvbgotJWVuZGlmCi0KLQotCi0laWYgKCAwJXs/ZmVkb3JhfSAmJiAw JXs/ZmVkb3JhfSA8IDM4ICkgfHwgKCAwJXs/cmhlbH0gJiYgMCV7P3JoZWx9IDwgOSApCi0lZmls ZXMgLW4gZG90bmV0Ci0jIGVtcHR5IHBhY2thZ2UgdXNlZnVsIGZvciBkZXBlbmRlbmNpZXMKLSVl bmRpZgotCi0laWYgJXtpc19sYXRlc3RfZG90bmV0fQotJWZpbGVzIC1uIGRvdG5ldC1ob3N0Ci0l ZGlyICV7X2xpYmRpcn0vZG90bmV0Ci0le19saWJkaXJ9L2RvdG5ldC9kb3RuZXQKLSVkaXIgJXtf bGliZGlyfS9kb3RuZXQvaG9zdAotJWRpciAle19saWJkaXJ9L2RvdG5ldC9ob3N0L2Z4cgotJXtf YmluZGlyfS9kb3RuZXQKLSVsaWNlbnNlICV7X2xpYmRpcn0vZG90bmV0L0xJQ0VOU0UudHh0Ci0l bGljZW5zZSAle19saWJkaXJ9L2RvdG5ldC9UaGlyZFBhcnR5Tm90aWNlcy50eHQKLSVkb2MgJXtf bWFuZGlyfS9tYW4xL2RvdG5ldCouMS4qCi0lZG9jICV7X21hbmRpcn0vbWFuNy9kb3RuZXQqLjcu KgotJWNvbmZpZyhub3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9L3Byb2ZpbGUuZC9kb3RuZXQuc2gK LSVjb25maWcobm9yZXBsYWNlKSAle19zeXNjb25mZGlyfS9kb3RuZXQKLSVkaXIgJXtfZGF0YWRp cn0vYmFzaC1jb21wbGV0aW9uCi0lZGlyICV7YmFzaF9jb21wbGV0aW9uc19kaXJ9Ci0le19kYXRh ZGlyfS9iYXNoLWNvbXBsZXRpb24vY29tcGxldGlvbnMvZG90bmV0Ci0lZGlyICV7X2RhdGFkaXJ9 L3pzaAotJWRpciAle3pzaF9jb21wbGV0aW9uc19kaXJ9Ci0le19kYXRhZGlyfS96c2gvc2l0ZS1m dW5jdGlvbnMvX2RvdG5ldAotJWlmICV7aW5jbHVkZV9tYWNyb3N9Ci0le19ycG1tYWNyb2Rpcn0v bWFjcm9zLmRvdG5ldAotJWVuZGlmCi0lZW5kaWYKLQotJWZpbGVzIC1uIGRvdG5ldC1ob3N0Znhy LSV7ZG90bmV0dmVyfQotJWRpciAle19saWJkaXJ9L2RvdG5ldC9ob3N0L2Z4cgotJXtfbGliZGly fS9kb3RuZXQvaG9zdC9meHIvJXtob3N0ZnhyX3ZlcnNpb259Ci0KLSVmaWxlcyAtbiBkb3RuZXQt cnVudGltZS0le2RvdG5ldHZlcn0gLWYgZG90bmV0LXJ1bnRpbWUtbm9uLWRiZy1maWxlcwotJWRp ciAle19saWJkaXJ9L2RvdG5ldC9zaGFyZWQKLSVkaXIgJXtfbGliZGlyfS9kb3RuZXQvc2hhcmVk L01pY3Jvc29mdC5ORVRDb3JlLkFwcAotJWRpciAle19saWJkaXJ9L2RvdG5ldC9zaGFyZWQvTWlj cm9zb2Z0Lk5FVENvcmUuQXBwLyV7cnVudGltZV92ZXJzaW9ufQotCi0lZmlsZXMgLW4gZG90bmV0 LXJ1bnRpbWUtZGJnLSV7ZG90bmV0dmVyfSAtZiBkb3RuZXQtcnVudGltZS1kYmctZmlsZXMKLQot JWZpbGVzIC1uIGFzcG5ldGNvcmUtcnVudGltZS0le2RvdG5ldHZlcn0gLWYgYXNwbmV0Y29yZS1y dW50aW1lLW5vbi1kYmctZmlsZXMKLSVkaXIgJXtfbGliZGlyfS9kb3RuZXQvc2hhcmVkCi0lZGly ICV7X2xpYmRpcn0vZG90bmV0L3NoYXJlZC9NaWNyb3NvZnQuQXNwTmV0Q29yZS5BcHAKLSVkaXIg JXtfbGliZGlyfS9kb3RuZXQvc2hhcmVkL01pY3Jvc29mdC5Bc3BOZXRDb3JlLkFwcC8le2FzcG5l dGNvcmVfcnVudGltZV92ZXJzaW9ufQotCi0lZmlsZXMgLW4gYXNwbmV0Y29yZS1ydW50aW1lLWRi Zy0le2RvdG5ldHZlcn0gLWYgYXNwbmV0Y29yZS1ydW50aW1lLWRiZy1maWxlcwotCi0lZmlsZXMg LW4gZG90bmV0LXRlbXBsYXRlcy0le2RvdG5ldHZlcn0KLSVkaXIgJXtfbGliZGlyfS9kb3RuZXQv dGVtcGxhdGVzCi0le19saWJkaXJ9L2RvdG5ldC90ZW1wbGF0ZXMvJXt0ZW1wbGF0ZXNfdmVyc2lv bn0KLQotJWZpbGVzIC1uIGRvdG5ldC1zZGstJXtkb3RuZXR2ZXJ9IC1mIGRvdG5ldC1zZGstbm9u LWRiZy1maWxlcwotJWRpciAle19saWJkaXJ9L2RvdG5ldC9zZGsKLSVkaXIgJXtfbGliZGlyfS9k b3RuZXQvc2RrLW1hbmlmZXN0cwotJXtfbGliZGlyfS9kb3RuZXQvc2RrLW1hbmlmZXN0cy8le3Nk a19mZWF0dXJlX2JhbmRfdmVyc2lvbn0qCi0jIEZJWE1FIGlzIHVzaW5nIGEgOC4wLjEwMCB2ZXJz aW9uIGEgYnVnIGluIHRoZSBTREs/Ci0le19saWJkaXJ9L2RvdG5ldC9zZGstbWFuaWZlc3RzLzgu MC4xMDAvCi0le19saWJkaXJ9L2RvdG5ldC9tZXRhZGF0YQotJWlmbmFyY2ggJXttb25vX2FyY2hz fQotJXtfbGliZGlyfS9kb3RuZXQvbGlicmFyeS1wYWNrcwotJWVuZGlmCi0lZGlyICV7X2xpYmRp cn0vZG90bmV0L3BhY2tzCi0lZGlyICV7X2xpYmRpcn0vZG90bmV0L3BhY2tzL01pY3Jvc29mdC5B c3BOZXRDb3JlLkFwcC5SdW50aW1lLiV7cnVudGltZV9pZH0KLSV7X2xpYmRpcn0vZG90bmV0L3Bh Y2tzL01pY3Jvc29mdC5Bc3BOZXRDb3JlLkFwcC5SdW50aW1lLiV7cnVudGltZV9pZH0vJXthc3Bu ZXRjb3JlX3J1bnRpbWVfdmVyc2lvbn0KLSVkaXIgJXtfbGliZGlyfS9kb3RuZXQvcGFja3MvTWlj cm9zb2Z0Lk5FVENvcmUuQXBwLlJ1bnRpbWUuJXtydW50aW1lX2lkfQotJXtfbGliZGlyfS9kb3Ru ZXQvcGFja3MvTWljcm9zb2Z0Lk5FVENvcmUuQXBwLlJ1bnRpbWUuJXtydW50aW1lX2lkfS8le3J1 bnRpbWVfdmVyc2lvbn0KLQotJWZpbGVzIC1uIGRvdG5ldC1zZGstZGJnLSV7ZG90bmV0dmVyfSAt ZiBkb3RuZXQtc2RrLWRiZy1maWxlcwotCi0laWZuYXJjaCAle21vbm9fYXJjaHN9Ci0lZmlsZXMg LW4gZG90bmV0LXNkay1hb3QtJXtkb3RuZXR2ZXJ9Ci0lZGlyICV7X2xpYmRpcn0vZG90bmV0L3Bh Y2tzCi0lZGlyICV7X2xpYmRpcn0vZG90bmV0L3BhY2tzL3J1bnRpbWUuJXtydW50aW1lX2lkfS5N aWNyb3NvZnQuRG90TmV0LklMQ29tcGlsZXIvCi0le19saWJkaXJ9L2RvdG5ldC9wYWNrcy9ydW50 aW1lLiV7cnVudGltZV9pZH0uTWljcm9zb2Z0LkRvdE5ldC5JTENvbXBpbGVyLyV7cnVudGltZV92 ZXJzaW9ufQotJWVuZGlmCi0KLSVmaWxlcyAtbiBkb3RuZXQtc2RrLSV7ZG90bmV0dmVyfS1zb3Vy Y2UtYnVpbHQtYXJ0aWZhY3RzCi0lZGlyICV7X2xpYmRpcn0vZG90bmV0Ci0le19saWJkaXJ9L2Rv dG5ldC9zb3VyY2UtYnVpbHQtYXJ0aWZhY3RzCi0KLQotJWNoYW5nZWxvZwotKiBXZWQgSnVsIDE1 IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9y Zz4gLSA5LjAuMTE5LTIKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93 aWtpL0ZlZG9yYV80NV9NYXNzX1JlYnVpbGQKLQotKiBUdWUgSnVsIDE0IDIwMjYgT21haXIgTWFq aWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4xMTktMQotLSBVcGRhdGUgdG8gLk5FVCBTREsg OS4wLjExOSBhbmQgUnVudGltZSA5LjAuMTgKLQotKiBXZWQgSnVuIDE3IDIwMjYgT21haXIgTWFq aWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4xMTgtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsg OS4wLjExOCBhbmQgUnVudGltZSA5LjAuMTcKLQotKiBXZWQgTWF5IDEzIDIwMjYgT21haXIgTWFq aWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4xMTctMQotLSBVcGRhdGUgdG8gLk5FVCBTREsg OS4wLjExNyBhbmQgUnVudGltZSA5LjAuMTYKLQotKiBGcmkgQXByIDE3IDIwMjYgT21haXIgTWFq aWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4xMTYtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsg OS4wLjExNiBhbmQgUnVudGltZSA5LjAuMTUKLQotKiBXZWQgTWFyIDExIDIwMjYgT21haXIgTWFq aWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4xMTUtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsg OS4wLjExNSBhbmQgUnVudGltZSA5LjAuMTQKLQotKiBXZWQgRmViIDExIDIwMjYgT21haXIgTWFq aWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4xMTQtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsg OS4wLjExNCBhbmQgUnVudGltZSA5LjAuMTMKLQotKiBGcmkgSmFuIDE2IDIwMjYgRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA5LjAuMTEzLTMK LS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80NF9N YXNzX1JlYnVpbGQKLQotKiBGcmkgSmFuIDE2IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJp bmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA5LjAuMTEzLTIKLS0gUmVidWlsdCBmb3Ig aHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80NF9NYXNzX1JlYnVpbGQKLQot KiBUdWUgSmFuIDEzIDIwMjYgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4x MTMtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOS4wLjExMyBhbmQgUnVudGltZSA5LjAuMTIKLQot KiBNb24gTm92IDE3IDIwMjUgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4x MTItMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOS4wLjExMiBhbmQgUnVudGltZSA5LjAuMTEKLQot KiBXZWQgT2N0IDI5IDIwMjUgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4x MTEtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOS4wLjExMSBhbmQgUnVudGltZSA5LjAuMTAKLQot KiBUdWUgT2N0IDI4IDIwMjUgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4x MTAtMgotLSBBdm9pZCB1c2luZyBjbGFuZyAyMQotCi0qIFdlZCBTZXAgMTAgMjAyNSBPbWFpciBN YWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gOS4wLjExMC0xCi0tIFVwZGF0ZSB0byAuTkVUIFNE SyA5LjAuMTEwIGFuZCBSdW50aW1lIDkuMC45Ci0KLSogV2VkIEF1ZyAwNiAyMDI1IE9tYWlyIE1h amlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA5LjAuMTA5LTEKLS0gVXBkYXRlIHRvIC5ORVQgU0RL IDkuMC4xMDkgYW5kIFJ1bnRpbWUgOS4wLjgKLQotKiBXZWQgSnVsIDIzIDIwMjUgRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA5LjAuMTA4LTIK LS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80M19N YXNzX1JlYnVpbGQKLQotKiBUdWUgSnVsIDA4IDIwMjUgT21haXIgTWFqaWQgPG9tYWppZEByZWRo YXQuY29tPiAtIDkuMC4xMDgtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOS4wLjEwOCBhbmQgUnVu dGltZSA5LjAuNwotCi0qIFR1ZSBKdW4gMTAgMjAyNSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhh dC5jb20+IC0gOS4wLjEwNy0xCi0tIFVwZGF0ZSB0byAuTkVUIFNESyA5LjAuMTA3IGFuZCBSdW50 aW1lIDkuMC42Ci0KLSogVHVlIE1heSAxMyAyMDI1IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0 LmNvbT4gLSA5LjAuMTA2LTEKLS0gVXBkYXRlIHRvIC5ORVQgU0RLIDkuMC4xMDYgYW5kIFJ1bnRp bWUgOS4wLjUKLQotKiBXZWQgQXByIDA5IDIwMjUgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQu Y29tPiAtIDkuMC4xMDUtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOS4wLjEwNSBhbmQgUnVudGlt ZSA5LjAuNAotCi0qIFR1ZSBNYXIgMTEgMjAyNSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5j b20+IC0gOS4wLjEwNC0xCi0tIFVwZGF0ZSB0byAuTkVUIFNESyA5LjAuMTA0IGFuZCBSdW50aW1l IDkuMC4zCi0KLSogTW9uIEZlYiAxNyAyMDI1IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNv bT4gLSA5LjAuMTAzLTEKLS0gVXBkYXRlIHRvIC5ORVQgU0RLIDkuMC4xMDMgYW5kIFJ1bnRpbWUg OS4wLjIKLQotKiBUaHUgSmFuIDE2IDIwMjUgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29t PiAtIDkuMC4xMDItMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOS4wLjEwMiBhbmQgUnVudGltZSA5 LjAuMQotCi0qIFRodSBKYW4gMTYgMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVs ZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDkuMC4xMDEtMwotLSBSZWJ1aWx0IGZvciBodHRwczov L2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQyX01hc3NfUmVidWlsZAotCi0qIFR1ZSBE ZWMgMDMgMjAyNCBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gOS4wLjEwMS0yCi0t IFVwZGF0ZSB0byAuTkVUIFNESyA5LjAuMTAxIGFuZCBSdW50aW1lIDkuMC4wCi0KLSogVHVlIE5v diAxMiAyMDI0IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA5LjAuMTAwLTEKLS0g VXBkYXRlIHRvIC5ORVQgU0RLIDkuMC4xMDAgYW5kIFJ1bnRpbWUgOS4wLjAKLQotKiBNb24gT2N0 IDIxIDIwMjQgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4xMDB+cmMuMi4y NDQ3NC4xLTAuMTMKLS0gRGlzYWJsZSBib290c3RyYXAKLQotKiBNb24gT2N0IDIxIDIwMjQgT21h aXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDkuMC4xMDB+cmMuMi4yNDQ3NC4xLTAuMTIK LS0gVXBkYXRlIHRvIC5ORVQgU0RLIDkuMC4xMDAtcmMuMi4yNDQ3NC4xIGFuZCBSdW50aW1lIDku MC4wLXJjLjIuMjQ0NzMuNQotLSBSZWJvb3RzdHJhcAotCi0qIE1vbiBTZXAgMjMgMjAyNCBPbWFp ciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gOS4wLjEwMH5yYy4xLjI0NDUyLjEyLTAuMTEK LS0gRGlzYWJsZSBib290c3RyYXAKLQotKiBXZWQgU2VwIDExIDIwMjQgT21haXIgTWFqaWQgPG9t YWppZEByZWRoYXQuY29tPiAtIDkuMC4xMDB+cmMuMS4yNDQ1Mi4xMi0wLjEwCi0tIFVwZGF0ZSB0 byAuTkVUIFNESyA5LjAuMTAwLXJjLjEuMjQ0NTIuMSBhbmQgUnVudGltZSA5LjAuMC1yYy4xLjI0 NDMxLjcKLQotKiBUaHUgSnVuIDEzIDIwMjQgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29t PiAtIDkuMC4xMDB+cHJldmlldy41LjI0MzA3LjMtMC45Ci0tIFVwZGF0ZSB0byAuTkVUIFNESyA5 LjAuMTAwLXByZXZpZXcuNS4yNDMwNy4zIGFuZCBSdW50aW1lCi0gIDkuMC4wLXByZXZpZXcuNS4y NDMwNi43Ci0KLSogVHVlIE1heSAyMSAyMDI0IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNv bT4gLSA5LjAuMTAwfnByZXZpZXcuNC4yNDI2Ny4xLTAuOAotLSBVcGRhdGUgdG8gLk5FVCBTREsg OS4wLjEwMC1wcmV2aWV3LjQuMjQyNjcuMSBhbmQgUnVudGltZQotICA5LjAuMC1wcmV2aWV3LjQu MjQyNjYuMTkKLQotKiBUaHUgQXByIDExIDIwMjQgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQu Y29tPiAtIDkuMC4xMDB+cHJldmlldy4zLjI0MjA0LjEzLTAuNgotLSBVcGRhdGUgdG8gLk5FVCBT REsgOS4wLjEwMC1wcmV2aWV3LjMuMjQyMDQuMTMgYW5kIFJ1bnRpbWUKLSAgOS4wLjAtcHJldmll dy4zLjI0MTcyLjkKLQotKiBUaHUgTWFyIDE0IDIwMjQgT21haXIgTWFqaWQgPG9tYWppZEByZWRo YXQuY29tPiAtIDkuMC4xMDB+cHJldmlldy4yLjI0MTU3LjE0LTAuNAotLSBVcGRhdGUgdG8gLk5F VCBTREsgOS4wLjEwMH5wcmV2aWV3LjIuMjQxNTguMSBhbmQgUnVudGltZQotICA5LjAuMC1wcmV2 aWV3LjIuMjQxMjguNQotCi0qIE1vbiBGZWIgMjYgMjAyNCBPbWFpciBNYWppZCA8b21hamlkQHJl ZGhhdC5jb20+IC0gOS4wLjEwMH5wcmV2aWV3LjEuMjQxMDEuMS0wLjMKLS0gVXBkYXRlIHRvIC5O RVQgU0RLIDkuMC4xMDAtcHJldmlldy4xLjI0MTAxLjEgYW5kIFJ1bnRpbWUKLSAgOS4wLjAtcHJl dmlldy4xLjI0MDgwLjkKLQotKiBXZWQgRmViIDE0IDIwMjQgT21haXIgTWFqaWQgPG9tYWppZEBy ZWRoYXQuY29tPiAtIDguMC4xMDItMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOC4wLjEwMiBhbmQg UnVudGltZSA4LjAuMgotCi0qIEZyaSBKYW4gMjYgMjAyNCBPbWFpciBNYWppZCA8b21hamlkQHJl ZGhhdC5jb20+IC0gOC4wLjEwMS00Ci0tIFJlYnVpbGQgdG8gYWRkIG5ldyAtZGJnIHN1YnBhY2th Z2VzCi0KLSogV2VkIEphbiAyNCAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxl bmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gOC4wLjEwMS0zCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEph biAxOSAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVj dC5vcmc+IC0gOC4wLjEwMS0yCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5v cmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEphbiAwOSAyMDI0IE9tYWly IE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA4LjAuMTAxLTEKLS0gVXBkYXRlIHRvIC5ORVQg U0RLIDguMC4xMDEgYW5kIFJ1bnRpbWUgOC4wLjEKLQotKiBUdWUgRGVjIDEyIDIwMjMgT21haXIg TWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDguMC4xMDAtMgotLSBFbmFibGUgZ3BnIHNpZ25h dHVyZSB2ZXJpZmljYXRpb24KLQotKiBTYXQgRGVjIDA5IDIwMjMgT21haXIgTWFqaWQgPG9tYWpp ZEByZWRoYXQuY29tPiAtIDguMC4xMDAtMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOC4wLjEwMCBh bmQgUnVudGltZSA4LjAuMAotCi0qIEZyaSBEZWMgMDggMjAyMyBPbWFpciBNYWppZCA8b21hamlk QHJlZGhhdC5jb20+IC0gOC4wLjEwMH5yYy4yLTAuMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgOC4w LjEwMCBSQyAyIGFuZCBSdW50aW1lIDguMC4wIFJDIDIKLQotKiBGcmkgRGVjIDA4IDIwMjMgT21h aXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDguMC4xMDB+cmMuMS0wLjIKLS0gQWRkIHZh cmlvdXMgZml4ZXMgZnJvbSBDZW50T1MgU3RyZWFtIDkKLQotKiBGcmkgU2VwIDE1IDIwMjMgT21h aXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDguMC4xMDB+cmMuMS0wLjEKLS0gVXBkYXRl IHRvIC5ORVQgU0RLIDguMC4xMDAgUkMgMSBhbmQgUnVudGltZSA4LjAuMCBSQyAxCi0KLSogRnJp IEF1ZyAxMSAyMDIzIE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA4LjAuMTAwfnBy ZXZpZXcuNy0wLjEKLS0gVXBkYXRlIHRvIC5ORVQgU0RLIDguMC4xMDAgUHJldmlldyA3IGFuZCBS dW50aW1lIDguMC4wIFByZXZpZXcgNwotCi0qIFR1ZSBKdWwgMTggMjAyMyBPbWFpciBNYWppZCA8 b21hamlkQHJlZGhhdC5jb20+IC0gOC4wLjEwMH5wcmV2aWV3LjYtMC4yCi0tIFJlbW92ZSBsdHRu ZyBhbmQgb3RoZXIgdHJhY2luZy1zcGVjaWZpYyBkZXBlbmRlbmNpZXMgZnJvbSB0aGUgcnVudGlt ZSBwYWNrYWdlCi0KLSogTW9uIEp1bCAxNyAyMDIzIE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0 LmNvbT4gLSA4LjAuMTAwfnByZXZpZXcuNi0wLjEKLS0gVXBkYXRlIHRvIC5ORVQgU0RLIDguMC4x MDAgUHJldmlldyA2IGFuZCBSdW50aW1lIDguMC4wIFByZXZpZXcgNgotCi0qIEZyaSBKdW4gMjMg MjAyMyBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gOC4wLjEwMH5wcmV2aWV3LjUt MC4yCi0tIEZpeCByZWxlYXNlLmpzb24gYW5kIHNvdXJjZWxpbmsgcmVmZXJlbmNlcwotCi0qIE1v biBKdW4gMTkgMjAyMyBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gOC4wLjEwMH5w cmV2aWV3LjUtMC4xCi0tIFVwZGF0ZSB0byAuTkVUIFNESyA4LjAuMTAwIFByZXZpZXcgNSBhbmQg UnVudGltZSA4LjAuMCBQcmV2aWV3IDUKLQotKiBXZWQgQXByIDEyIDIwMjMgT21haXIgTWFqaWQg PG9tYWppZEByZWRoYXQuY29tPiAtIDguMC4xMDB+cHJldmlldy4zLTAuMQotLSBVcGRhdGUgdG8g Lk5FVCBTREsgOC4wLjEwMCBQcmV2aWV3IDMgYW5kIFJ1bnRpbWUgOC4wLjAgUHJldmlldyAzCi0K LSogV2VkIE1hciAxNSAyMDIzIE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA4LjAu MTAwfnByZXZpZXcuMi0wLjEKLS0gVXBkYXRlIHRvIC5ORVQgU0RLIDguMC4xMDAgUHJldmlldyAy IGFuZCBSdW50aW1lIDguMC4wIFByZXZpZXcgMgotCi0qIFdlZCBGZWIgMjIgMjAyMyBPbWFpciBN YWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gOC4wLjEwMH5wcmV2aWV3LjEtMC4xCi0tIFVwZGF0 ZSB0byAuTkVUIFNESyA4LjAuMTAwIFByZXZpZXcgMSBhbmQgUnVudGltZSA4LjAuMCBQcmV2aWV3 IDEKLQotKiBUaHUgSmFuIDEyIDIwMjMgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAt IDcuMC4xMDItMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgNy4wLjEwMiBhbmQgUnVudGltZSA3LjAu MgotCi0qIFdlZCBKYW4gMTEgMjAyMyBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0g Ny4wLjEwMS0xCi0tIFVwZGF0ZSB0byAuTkVUIFNESyA3LjAuMTAxIGFuZCBSdW50aW1lIDcuMC4x Ci0KLSogVHVlIEphbiAxMCAyMDIzIE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA3 LjAuMTAwLTEKLS0gVXBkYXRlIHRvIC5ORVQgU0RLIDcuMC4xMDAgYW5kIFJ1bnRpbWUgNy4wLjAK LQotKiBUaHUgTm92IDEwIDIwMjIgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDcu MC4xMDAtMC4xCi0tIFVwZGF0ZSB0byAuTkVUIDcgUkMgMgotCi0qIFdlZCBNYXkgMTEgMjAyMiBP bWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gNi4wLjEwNS0xCi0tIFVwZGF0ZSB0byAu TkVUIFNESyA2LjAuMTA1IGFuZCBSdW50aW1lIDYuMC41Ci0KLSogVHVlIEFwciAxMiAyMDIyIE9t YWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA2LjAuMTA0LTEKLS0gVXBkYXRlIHRvIC5O RVQgU0RLIDYuMC4xMDQgYW5kIFJ1bnRpbWUgNi4wLjQKLQotKiBUaHUgTWFyIDEwIDIwMjIgT21h aXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDYuMC4xMDMtMQotLSBVcGRhdGUgdG8gLk5F VCBTREsgNi4wLjEwMyBhbmQgUnVudGltZSA2LjAuMwotCi0qIE1vbiBGZWIgMTQgMjAyMiBPbWFp ciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gNi4wLjEwMi0xCi0tIFVwZGF0ZSB0byAuTkVU IFNESyA2LjAuMTAyIGFuZCBSdW50aW1lIDYuMC4yCi0KLSogRnJpIEphbiAyOCAyMDIyIE9tYWly IE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA2LjAuMTAxLTMKLS0gVXBkYXRlIHRvIC5ORVQg U0RLIDYuMC4xMDEgYW5kIFJ1bnRpbWUgNi4wLjEKLQotKiBUaHUgSmFuIDIwIDIwMjIgRmVkb3Jh IFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA2LjAuMTAw LTMKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8z Nl9NYXNzX1JlYnVpbGQKLQotKiBNb24gRGVjIDIwIDIwMjEgT21haXIgTWFqaWQgPG9tYWppZEBy ZWRoYXQuY29tPiAtIDYuMC4xMDAtMgotLSBEaXNhYmxlIGJvb3RzdHJhcAotCi0qIFN1biBEZWMg MTkgMjAyMSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gNi4wLjEwMC0xCi0tIFVw ZGF0ZSB0byAuTkVUIDYKLQotKiBGcmkgT2N0IDIyIDIwMjEgT21haXIgTWFqaWQgPG9tYWppZEBy ZWRoYXQuY29tPiAtIDYuMC4wLTAuNy5yYzIKLS0gVXBkYXRlIHRvIC5ORVQgNiBSQzIKLQotKiBG cmkgT2N0IDA4IDIwMjEgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDYuMC4wLTAu Ni4yOGJlM2U5YTAwNmQ5MGQ4YzZlODdkNDM1M2I3Nzg4MjgyOWRmNzE4Ci0tIEVuYWJsZSBidWls ZGluZyBvbiBhcm02NAotLSBSZWxhdGVkOiBSSEJaIzE5ODYwMTcKLQotKiBTdW4gT2N0IDAzIDIw MjEgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDYuMC4wLTAuNS4yOGJlM2U5YTAw NmQ5MGQ4YzZlODdkNDM1M2I3Nzg4MjgyOWRmNzE4Ci0tIEVuYWJsZSBidWlsZGluZyBvbiBzMzkw eAotLSBSZWxhdGVkOiBSSEJaIzE5ODYwMTcKLQotKiBTdW4gT2N0IDAzIDIwMjEgT21haXIgTWFq aWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDYuMC4wLTAuNC4yOGJlM2U5YTAwNmQ5MGQ4YzZlODdk NDM1M2I3Nzg4MjgyOWRmNzE4Ci0tIENsZWFuIHVwIHRhcmJhbGwgYW5kIGFkZCBpbml0aWFsIHN1 cHBvcnQgZm9yIHMzOTB4Ci0tIFJlbGF0ZWQ6IFJIQlojMTk4NjAxNwotCi0qIFN1biBTZXAgMjYg MjAyMSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gNi4wLjAtMC4zLjI4YmUzZTlh MDA2ZDkwZDhjNmU4N2Q0MzUzYjc3ODgyODI5ZGY3MTgKLS0gVXBkYXRlIHRvIHdvcmstaW4tcHJv Z3Jlc3MgUkMyIHJlbGVhc2UKLQotKiBXZWQgQXVnIDI1IDIwMjEgT21haXIgTWFqaWQgPG9tYWpp ZEByZWRoYXQuY29tPiAtIDYuMC4wLTAuMi5wcmV2aWV3NgotLSBVcGRhdGVkIHRvIGJ1aWxkIHRo ZSBsYXRlc3Qgc291cmNlLWJ1aWxkIHByZXZpZXcKLQotKiBGcmkgSnVsIDIzIDIwMjEgT21haXIg TWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDYuMC4wLTAuMS5wcmV2aWV3NgotLSBJbml0aWFs IHBhY2thZ2UgZm9yIC5ORVQgNgotCi0qIFRodSBKdW4gMTAgMjAyMSBPbWFpciBNYWppZCA8b21h amlkQHJlZGhhdC5jb20+IC0gNS4wLjIwNC0xCi0tIFVwZGF0ZSB0byAuTkVUIFNESyA1LjAuMjA0 IGFuZCBSdW50aW1lIDUuMC43Ci0KLSogV2VkIE1heSAxMiAyMDIxIE9tYWlyIE1hamlkIDxvbWFq aWRAcmVkaGF0LmNvbT4gLSA1LjAuMjAzLTEKLS0gVXBkYXRlIHRvIC5ORVQgU0RLIDUuMC4yMDMg YW5kIFJ1bnRpbWUgNS4wLjYKLQotKiBXZWQgQXByIDE0IDIwMjEgT21haXIgTWFqaWQgPG9tYWpp ZEByZWRoYXQuY29tPiAtIDUuMC4yMDItMQotLSBVcGRhdGUgdG8gLk5FVCBTREsgNS4wLjIwMiBh bmQgUnVudGltZSA1LjAuNQotCi0qIFR1ZSBBcHIgMDYgMjAyMSBPbWFpciBNYWppZCA8b21hamlk QHJlZGhhdC5jb20+IC0gNS4wLjEwNC0yCi0tIE1hcmsgZmlsZXMgdW5kZXIgL2V0Yy8gYXMgY29u ZmlnKG5vcmVwbGFjZSkKLS0gQWRkIGFuIHJwbS1pbnNwZWN0IGNvbmZpZ3VyYXRpb24gZmlsZQot LSBBZGQgYW4gcnBtbGludHJjIGZpbGUKLS0gRW5hYmxlIGdhdGluZyBmb3IgcmVsZWFzZSBicmFu Y2hlcyBhbmQgRUxOIHRvbwotCi0qIFR1ZSBNYXIgMTYgMjAyMSBPbWFpciBNYWppZCA8b21hamlk QHJlZGhhdC5jb20+IC0gNS4wLjEwNC0xCi0tIFVwZGF0ZSB0byAuTkVUIFNESyA1LjAuMTA0IGFu ZCBSdW50aW1lIDUuMC40Ci0tIERyb3AgdW5uZWVkZWQvdXBzdHJlYW1lZCBwYXRjaGVzCi0KLSog V2VkIEZlYiAxNyAyMDIxIE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA1LjAuMTAz LTIKLS0gQWRkIEZlZG9yYSAzNSBSSURzCi0KLSogVGh1IEZlYiAxMSAyMDIxIE9tYWlyIE1hamlk IDxvbWFqaWRAcmVkaGF0LmNvbT4gLSA1LjAuMTAzLTEKLS0gVXBkYXRlIHRvIC5ORVQgU0RLIDUu MC4xMDMgYW5kIFJ1bnRpbWUgNS4wLjMKLQotKiBGcmkgSmFuIDI5IDIwMjEgT21haXIgTWFqaWQg PG9tYWppZEByZWRoYXQuY29tPiAtIDUuMC4xMDItMgotLSBEaXNhYmxlIGJvb3RzdHJhcAotCi0q IEZyaSBEZWMgMTggMjAyMCBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gNS4wLjEw MC0yCi0tIFVwZGF0ZSB0byAuTkVUIENvcmUgUnVudGltZSA1LjAuMCBhbmQgU0RLIDUuMC4xMDAg Y29tbWl0IDljNGU1ZGUKLQotKiBGcmkgRGVjIDA0IDIwMjAgT21haXIgTWFqaWQgPG9tYWppZEBy ZWRoYXQuY29tPiAtIDUuMC4xMDAtMQotLSBVcGRhdGUgdG8gLk5FVCBDb3JlIFJ1bnRpbWUgNS4w LjAgYW5kIFNESyA1LjAuMTAwCi0KLSogVGh1IERlYyAwMyAyMDIwIE9tYWlyIE1hamlkIDxvbWFq aWRAcmVkaGF0LmNvbT4gLSA1LjAuMTAwLTAuNC4yMDIwMTIwMmdpdDMzNzQxM2IKLS0gVXBkYXRl IHRvIGxhdGVzdCA1LjAgcHJlLUdBIGNvbW1pdAotCi0qIFR1ZSBOb3YgMjQgMjAyMCBPbWFpciBN YWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gNS4wLjEwMC0wLjQuMjAyMDExMjNnaXRkZWU4OTlj Ci0tIFVwZGF0ZSB0byA1LjAgcHJlLUdBIGNvbW1pdAotCi0qIE1vbiBTZXAgMTQgMjAyMCBPbWFp ciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gNS4wLjEwMC0wLjMucHJldmlldzgKLS0gVXBk YXRlIHRvIFByZXZpZXcgOAotCi0qIEZyaSBKdWwgMTAgMjAyMCBPbWFpciBNYWppZCA8b21hamlk QHJlZGhhdC5jb20+IC0gNS4wLjEwMC0wLjIucHJldmlldzQKLS0gRml4IGJ1aWxkaW5nIHdpdGgg Y3VzdG9tIENGTEFHUy9DWFhGTEFHUy9MREZMQUdTCi0tIENsZWFuIHVwIHBhdGNoZXMKLQotKiBN b24gSnVsIDA2IDIwMjAgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDUuMC4xMDAt MC4xLnByZXZpZXc0Ci0tIEluaXRpYWwgYnVpbGQKLQotKiBTYXQgSnVuIDI3IDIwMjAgT21haXIg TWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDMuMS4xMDUtNAotLSBEaXNhYmxlIGJvb3RzdHJh cAotCi0qIEZyaSBKdW4gMjYgMjAyMCBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0g My4xLjEwNS0zCi0tIFJlLWJvb3RzdHJhcCBhYXJjaDY0Ci0KLSogRnJpIEp1biAxOSAyMDIwIE9t YWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAzLjEuMTA1LTMKLS0gRGlzYWJsZSBib290 c3RyYXAKLQotKiBUaHUgSnVuIDE4IDIwMjAgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29t PiAtIDMuMS4xMDUtMQotLSBCb290c3RyYXAgYWFyY2g2NAotCi0qIFR1ZSBKdW4gMTYgMjAyMCBD aHJpcyBSdW1tZWwgPGNydW1tZWxAbWljcm9zb2Z0LmNvbT4gLSAzLjEuMTA1LTEKLS0gVXBkYXRl IHRvIC5ORVQgQ29yZSBSdW50aW1lIDMuMS41IGFuZCBTREsgMy4xLjEwNQotCi0qIEZyaSBKdW4g MDUgMjAyMCBDaHJpcyBSdW1tZWwgPGNydW1tZWxAbWljcm9zb2Z0LmNvbT4gLSAzLjEuMTA0LTEK LS0gVXBkYXRlIHRvIC5ORVQgQ29yZSBSdW50aW1lIDMuMS40IGFuZCBTREsgMy4xLjEwNAotCi0q IFRodSBBcHIgMDkgMjAyMCBDaHJpcyBSdW1tZWwgPGNydW1tZWxAbWljcm9zb2Z0LmNvbT4gLSAz LjEuMTAzLTEKLS0gVXBkYXRlIHRvIC5ORVQgQ29yZSBSdW50aW1lIDMuMS4zIGFuZCBTREsgMy4x LjEwMwotCi0qIE1vbiBNYXIgMTYgMjAyMCBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+ IC0gMy4xLjEwMi0xCi0tIFVwZGF0ZSB0byAuTkVUIENvcmUgUnVudGltZSAzLjEuMiBhbmQgU0RL IDMuMS4xMDIKLQotKiBGcmkgRmViIDI4IDIwMjAgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQu Y29tPiAtIDMuMS4xMDEtNAotLSBEaXNhYmxlIGJvb3RzdHJhcAotCi0qIEZyaSBGZWIgMjggMjAy MCBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4xLjEwMS0zCi0tIEVuYWJsZSBi b290c3RyYXAKLS0gQWRkIEZlZG9yYSAzMyBydW50aW1lIGlkcwotCi0qIFRodSBGZWIgMjcgMjAy MCBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4xLjEwMS0yCi0tIERpc2FibGUg Ym9vdHN0cmFwCi0KLSogVHVlIEphbiAyMSAyMDIwIE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0 LmNvbT4gLSAzLjEuMTAxLTEKLS0gVXBkYXRlIHRvIC5ORVQgQ29yZSBSdW50aW1lIDMuMS4xIGFu ZCBTREsgMy4xLjEwMQotCi0qIFRodSBEZWMgMDUgMjAxOSBPbWFpciBNYWppZCA8b21hamlkQHJl ZGhhdC5jb20+IC0gMy4xLjEwMC0xCi0tIFVwZGF0ZSB0byAuTkVUIENvcmUgUnVudGltZSAzLjEu MCBhbmQgU0RLIDMuMS4xMDAKLQotKiBNb24gTm92IDE4IDIwMTkgT21haXIgTWFqaWQgPG9tYWpp ZEByZWRoYXQuY29tPiAtIDMuMS4xMDAtMC40LnByZXZpZXczCi0tIEZpeCBhcHBob3N0IHBlcm1p c3Npb25zCi0KLSogRnJpIE5vdiAxNSAyMDE5IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNv bT4gLSAzLjEuMTAwLTAuMy5wcmV2aWV3MwotLSBVcGRhdGUgdG8gLk5FVCBDb3JlIFJ1bnRpbWUg My4xLjAtcHJldmlldzMuMTk1NTMuMiBhbmQgU0RLCi0gIDMuMS4xMDAtcHJldmlldzMtMDE0NjQ1 Ci0KLSogV2VkIE5vdiAwNiAyMDE5IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAz LjEuMTAwLTAuMgotLSBVcGRhdGUgdG8gLk5FVCBDb3JlIDMuMSBQcmV2aWV3IDIKLQotKiBXZWQg T2N0IDMwIDIwMTkgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDMuMS4xMDAtMC4x Ci0tIFVwZGF0ZSB0byAuTkVUIENvcmUgMy4xIFByZXZpZXcgMQotCi0qIFRodSBPY3QgMjQgMjAx OSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4wLjEwMC01Ci0tIEFkZCBjZ3Jv dXB2MiBzdXBwb3J0IHRvIC5ORVQgQ29yZQotCi0qIFdlZCBPY3QgMTYgMjAxOSBPbWFpciBNYWpp ZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4wLjEwMC00Ci0tIEluY2x1ZGUgZml4IGZyb20gY29y ZWNsciBmb3IgYnVpbGRpbmcgb24gRmVkb3JhIDMyCi0KLSogV2VkIE9jdCAxNiAyMDE5IE9tYWly IE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAzLjAuMTAwLTMKLS0gSGFyZGVuIGJ1aWx0IGJp bmFyaWVzIHRvIHBhc3MgYW5ub2NoZWNrCi0KLSogRnJpIE9jdCAxMSAyMDE5IE9tYWlyIE1hamlk IDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAzLjAuMTAwLTIKLS0gRXhwb3J0IERPVE5FVF9ST09UIGlu IHByb2ZpbGUgdG8gbWFrZSBhcHBob3N0IGxvb2t1cCB3b3JrCi0KLSogRnJpIFNlcCAyNyAyMDE5 IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAzLjAuMTAwLTEKLS0gVXBkYXRlIHRv IC5ORVQgQ29yZSBSdW50aW1lIDMuMC4wIGFuZCBTREsgMy4wLjEwMAotCi0qIFdlZCBTZXAgMjUg MjAxOSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4wLjEwMC0wLjE4LnJjMQot LSBVcGRhdGUgdG8gLk5FVCBDb3JlIFJ1bnRpbWUgMy4wLjAtcmMxLTE5NDU2LTIwIGFuZCBTREsg My4wLjEwMC1yYzEtMDE0MTkwCi0KLSogVHVlIFNlcCAxNyAyMDE5IE9tYWlyIE1hamlkIDxvbWFq aWRAcmVkaGF0LmNvbT4gLSAzLjAuMTAwLTAuMTYucHJldmlldzkKLS0gRml4IGZpbGVzIGR1cGxp Y2F0ZWQgYmV0d2VlbiBkb3RuZXQtYXBwaG9zdC1wYWNrLTMuMCBhbmQgZG90bmV0LXRhcmdldGlu Zy1wYWNrLTMuMAotLSBGaXggZGVwZW5kZW5jaWVzIGJldHdlZW4gLk5FVCBTREsgYW5kIHRoZSB0 YXJnZXRpbmcgcGFja3MKLQotKiBNb24gU2VwIDE2IDIwMTkgT21haXIgTWFqaWQgPG9tYWppZEBy ZWRoYXQuY29tPiAtIDMuMC4xMDAtMC4xNS5wcmV2aWV3OQotLSBVcGRhdGUgdG8gLk5FVCBDb3Jl IFJ1bnRpbWUgMy4wLjAtcHJldmlldyA5IGFuZCBTREsgMy4wLjEwMC1wcmV2aWV3OQotCi0qIE1v biBBdWcgMTkgMjAxOSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4wLjEwMC0w LjExLnByZXZpZXc4Ci0tIFVwZGF0ZSB0byAuTkVUIENvcmUgUnVudGltZSAzLjAuMC1wcmV2aWV3 OC0yODQwNS0wNyBhbmQgU0RLCi0gIDMuMC4xMDAtcHJldmlldzgtMDEzNjU2Ci0KLSogVHVlIEp1 bCAzMCAyMDE5IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAzLjAuMTAwLTAuOS5w cmV2aWV3NwotLSBVcGRhdGUgdG8gLk5FVCBDb3JlIFJ1bnRpbWUgMy4wLjAtcHJldmlldzctMjc5 MTItMTQgYW5kIFNESwotICAzLjAuMTAwLXByZXZpZXc3LTAxMjgyMQotCi0qIEZyaSBKdWwgMjYg MjAxOSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4wLjEwMC0wLjgucHJldmll dzcKLS0gVXBkYXRlIHRvIC5ORVQgQ29yZSBSdW50aW1lIDMuMC4wLXByZXZpZXc3LTI3OTAyLTE5 IGFuZCBTREsKLSAgMy4wLjEwMC1wcmV2aWV3Ny0wMTI4MDIKLQotKiBXZWQgSnVuIDI2IDIwMTkg T21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDMuMC4wLTAuNy5wcmV2aWV3NgotLSBP YnNvbGV0ZSBkb3RuZXQtc2RrLTMuMC4xeHgKLS0gQWRkIHN1cGFja2FnZXMgZm9yIHRhcmdldGlu ZyBwYWNrcwotLSBBZGQgLWZjZi1wcm90ZWN0aW9uIHRvIENGTEFHUwotCi0qIFdlZCBKdW4gMjYg MjAxOSBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4wLjAtMC42LnByZXZpZXc2 Ci0tIFVwZGF0ZSB0byAuTkVUIENvcmUgUnVudGltZSAzLjAuMC1wcmV2aWV3Ni0yNzgwNC0wMSBh bmQgU0RLIDMuMC4xMDAtcHJldmlldzYtMDEyMjY0Ci0tIFNldCBkb3RuZXQgaW5zdGFsbGF0aW9u IGxvY2F0aW9uIGluIC9ldGMvZG90bmV0L2luc3RhbGxfbG9jYXRpb24KLS0gVXBkYXRlIHRhcmdl dGluZyBwYWNrcwotLSBJbnN0YWxsIG1hbmFnZWQgc3ltYm9scwotLSBDb21wbGV0ZWx5IGNvbmRp dGlvbmFsaXplIGxpYnVud2luZCBidW5kbGluZwotCi0qIFR1ZSBNYXkgMDcgMjAxOSBPbWFpciBN YWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4wLjAtMC4zLnByZXZpZXc0Ci0tIFVwZGF0ZSB0 byAuTkVUIENvcmUgMy4wIHByZXZpZXcgNAotCi0qIFR1ZSBEZWMgMTggMjAxOCBPbWFpciBNYWpp ZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMy4wLjAtMC4xLnByZXZpZXcxCi0tIFVwZGF0ZSB0byAu TkVUIENvcmUgMy4wIHByZXZpZXcgMQotCi0qIEZyaSBEZWMgMDcgMjAxOCBPbWFpciBNYWppZCA8 b21hamlkQHJlZGhhdC5jb20+IC0gMi4yLjEwMAotLSBVcGRhdGUgdG8gLk5FVCBDb3JlIDIuMi4w Ci0KLSogV2VkIE5vdiAwNyAyMDE4IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAy LjIuMTAwLTAuMi5wcmV2aWV3MwotLSBVcGRhdGUgdG8gLk5FVCBDb3JlIDIuMi4wLXByZXZpZXcz Ci0KLSogRnJpIE5vdiAwMiAyMDE4IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAy LjEuNDAzLTMKLS0gQWRkIGhvc3QtZnhyLTIuMSBzdWJwYWNrYWdlCi0KLSogTW9uIE9jdCAxNSAy MDE4IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjEuNDAzLTIKLS0gRGlzYWJs ZSB0ZWxlbWV0cnkgYnkgZGVmYXVsdAotLSBVc2VycyBoYXZlIHRvIG1hbnVhbGx5IGV4cG9ydCBE T1RORVRfQ0xJX1RFTEVNRVRSWV9PUFRPVVQ9MCB0byBlbmFibGUKLQotKiBUdWUgT2N0IDAyIDIw MTggT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDIuMS40MDMtMQotLSBVcGRhdGUg dG8gLk5FVCBDb3JlIFJ1bnRpbWUgMi4xLjUgYW5kIFNESyAyLjEuNDAzCi0KLSogV2VkIFNlcCAy NiAyMDE4IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjEuNDAyLTIKLS0gQWRk IH4vLmRvdG5ldC90b29scyB0byAkUEFUSCB0byBtYWtlIGl0IGVhc2llciB0byB1c2UgZG90bmV0 IHRvb2xzCi0KLSogVGh1IFNlcCAxMyAyMDE4IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNv bT4gLSAyLjEuNDAyLTEKLS0gVXBkYXRlIHRvIC5ORVQgQ29yZSBSdW50aW1lIDIuMS40IGFuZCBT REsgMi4xLjQwMgotCi0qIFdlZCBTZXAgMDUgMjAxOCBPbWFpciBNYWppZCA8b21hamlkQHJlZGhh dC5jb20+IC0gMi4xLjQwMS0yCi0tIFVzZSBkaXN0cm8tc3RhbmRhcmQgZmxhZ3Mgd2hlbiBidWls ZGluZyAuTkVUIENvcmUKLQotKiBUdWUgQXVnIDIxIDIwMTggT21haXIgTWFqaWQgPG9tYWppZEBy ZWRoYXQuY29tPiAtIDIuMS40MDEtMQotLSBVcGRhdGUgdG8gLk5FVCBDb3JlIFJ1bnRpbWUgMi4x LjMgYW5kIFNESyAyLjEuNDAxCi0KLSogTW9uIEF1ZyAyMCAyMDE4IE9tYWlyIE1hamlkIDxvbWFq aWRAcmVkaGF0LmNvbT4gLSAyLjEuMzAyLTEKLS0gVXBkYXRlIHRvIC5ORVQgQ29yZSBSdW50aW1l IDIuMS4yIGFuZCBTREsgMi4xLjMwMgotCi0qIEZyaSBKdWwgMjAgMjAxOCBPbWFpciBNYWppZCA8 b21hamlkQHJlZGhhdC5jb20+IC0gMi4xLjMwMS0xCi0tIFVwZGF0ZSB0byAuTkVUIENvcmUgMi4x Ci0KLSogVGh1IE1heSAwMyAyMDE4IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAy LjAuNy0xCi0tIFVwZGF0ZSB0byAuTkVUIENvcmUgMi4wLjcKLQotKiBXZWQgTWFyIDI4IDIwMTgg T21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDIuMC42LTIKLS0gRW5hYmxlIGJhc2gg Y29tcGxldGlvbiBmb3IgZG90bmV0Ci0tIFJlbW92ZSByZWR1bmRhbnQgYnVpbGRyZXF1aXJlcyBh bmQgcmVxdWlyZXMKLQotKiBXZWQgTWFyIDE0IDIwMTggT21haXIgTWFqaWQgPG9tYWppZEByZWRo YXQuY29tPiAtIDIuMC42LTEKLS0gVXBkYXRlIHRvIC5ORVQgQ29yZSAyLjAuNgotCi0qIEZyaSBG ZWIgMjMgMjAxOCBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMi4wLjUtMQotLSBV cGRhdGUgdG8gLk5FVCBDb3JlIDIuMC41Ci0KLSogV2VkIEphbiAyNCAyMDE4IE9tYWlyIE1hamlk IDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjAuMy01Ci0tIERvbid0IGFwcGx5IGNvcmVmeCBjbGFu ZyB3YXJuaW5ncyBmaXggb24gY2xhbmcgPCA1Ci0KLSogRnJpIEphbiAxOSAyMDE4IE9tYWlyIE1h amlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjAuMy00Ci0tIEFkZCBhIHRlc3Qgc2NyaXB0IHRv IHNhbml0eSBjaGVjayBkZWJ1ZyBhbmQgc3ltYm9sIGluZm8uCi0tIEJ1aWxkIHdpdGggY2xhbmcg NS4wCi0tIE1ha2UgbWFpbiBwYWNrYWdlIHJlYWwgaW5zdGVhZCBvZiB1c2luZyBhIHZpcnR1YWwg cHJvdmlkZXMgKHNlZSBSSEJaIDE1MTkzMjUpCi0KLSogV2VkIE5vdiAyOSAyMDE3IE9tYWlyIE1h amlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjAuMy0zCi0tIEFkZCBhIFByb3ZpZGVzIGZvciAn ZG90bmV0JwotLSBGaXggY29uZGl0aW9uYWwgbWFjcm8KLQotKiBUdWUgTm92IDI4IDIwMTcgT21h aXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDIuMC4zLTIKLS0gRml4IGJ1aWxkIG9uIEZl ZG9yYSAyNwotCi0qIEZyaSBOb3YgMTcgMjAxNyBPbWFpciBNYWppZCA8b21hamlkQHJlZGhhdC5j b20+IC0gMi4wLjMtMQotLSBVcGRhdGUgdG8gLk5FVCBDb3JlIDIuMC4zCi0KLSogVGh1IE9jdCAx OSAyMDE3IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjAuMC00Ci0tIEFkZCBh IGhhY2sgdG8gbGV0IG9tbmlzaGFycCB3b3JrCi0KLSogV2VkIEF1ZyAzMCAyMDE3IE9tYWlyIE1h amlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjAuMC0zCi0tIEFkZCBhIHBhdGNoIGZvciBidWls ZGluZyBjb3JlY2xyIGFuZCBjb3JlLXNldHVwIGNvcnJlY3RseSBvbiBGZWRvcmEgPj0gMjcKLQot KiBGcmkgQXVnIDI1IDIwMTcgT21haXIgTWFqaWQgPG9tYWppZEByZWRoYXQuY29tPiAtIDIuMC4w LTIKLS0gTW92ZSBsaWJpY3UvbGliY3VybC9saWJ1bndpbmQgcmVxdWlyZXMgdG8gcnVudGltZSBw YWNrYWdlCi0tIE1ha2Ugc2RrIGRlcGVuZCBvbiB0aGUgZXhhY3QgdmVyc2lvbiBvZiB0aGUgcnVu dGltZSBwYWNrYWdlCi0KLSogVGh1IEF1ZyAyNCAyMDE3IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVk aGF0LmNvbT4gLSAyLjAuMC0xCi0tIFVwZGF0ZSB0byAyLjAuMCBmaW5hbCByZWxlYXNlCi0KLSog V2VkIEp1bCAyNiAyMDE3IE9tYWlyIE1hamlkIDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjAuMC0w LjMucHJldmlldzIKLS0gQWRkIG1hbiBwYWdlcwotCi0qIFR1ZSBKdWwgMjUgMjAxNyBPbWFpciBN YWppZCA8b21hamlkQHJlZGhhdC5jb20+IC0gMi4wLjAtMC4yLnByZXZpZXcyCi0tIEFkZCBSZXF1 aXJlcyBvbiBsaWJpY3UKLS0gU3BsaXQgaW50byBtdWx0aXBsZSBwYWNrYWdlcwotLSBEbyBub3Qg cmVwZWF0IGZpcnN0LXJ1biBtZXNzYWdlCi0KLSogRnJpIEp1bCAyMSAyMDE3IE9tYWlyIE1hamlk IDxvbWFqaWRAcmVkaGF0LmNvbT4gLSAyLjAuMC0wLjEucHJldmlldzIKLS0gVXBkYXRlIHRvIC5O RVQgQ29yZSAyLjAgUHJldmlldyAyCi0KLSogVGh1IE1hciAxNiAyMDE3IE5lbWFuamEgTWlsb8Wh ZXZpxIcgPG5taWxvc2V2bm1AZ21haWwuY29tPiAtIDEuMS4wLTcKLS0gcmVidWlsdCB3aXRoIGxh dGVzdCBsaWJsZGIKLSogV2VkIEZlYiAyMiAyMDE3IE5lbWFuamEgTWlsb3NldmljIDxubWlsb3Nl dkBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjEuMC02Ci0tIGNvbXBhdC1vcGVuc3NsIDEuMCBmb3Ig RjI2IGZvciBub3cKLSogU3VuIEZlYiAxOSAyMDE3IE5lbWFuamEgTWlsb3NldmljIDxubWlsb3Nl dkBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjEuMC01Ci0tIEZpeCB3cm9uZyBjb21taXQgaWQncwot KiBTYXQgRmViIDE4IDIwMTcgTmVtYW5qYSBNaWxvc2V2aWMgPG5taWxvc2V2QGZlZG9yYXByb2pl Y3Qub3JnPiAtIDEuMS4wLTQKLS0gVXNlIGNvbW1pdCBpZCdzIGluc3RlYWQgb2YgYnJhbmNoIG5h bWVzCi0qIFNhdCBGZWIgMTggMjAxNyBOZW1hbmphIE1pbG9zZXZpYyA8bm1pbG9zZXZAZmVkb3Jh cHJvamVjdC5vcmc+IC0gMS4xLjAtMwotLSBJbXByb3BlciBwYXRjaDUgZml4Ci0qIFNhdCBGZWIg MTggMjAxNyBOZW1hbmphIE1pbG9zZXZpYyA8bm1pbG9zZXZAZmVkb3JhcHJvamVjdC5vcmc+IC0g MS4xLjAtMgotLSBTUEVDIGNsZWFudXAKLS0gZ2l0IHJlbW92YWwgKHVzaW5nIGFsbCB0YXJiYWxs cyBmb3IgcmVwcm9kdWNpYmxlIGJ1aWxkcykKLS0gbW9yZSByZWFzb25hYmxlIHZlcnNpb25pbmcK LSogVGh1IEZlYiAwOSAyMDE3IE5lbWFuamEgTWlsb3NldmljIDxubWlsb3NldkBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAxLjEuMC0xCi0tIEZpeGVkIGRlYnVnaW5mbyBnb2luZyB0byBzZXBhcmF0ZSBw YWNrYWdlIChQYXRjaDEpCi0tIEFkZGVkIEYyNS9GMjYgUklMIGFuZCBmaXhlZCB0aGUgdmVyc2lv biBpbmZvIChQYXRjaDIpCi0tIEFkZGVkIEYyNS9GMjYgUklMIGluIE1pY3Jvc29mdC5ORVRDb3Jl LkFwcCBzdXBvcnRlZCBydW50aW1lIGdyYXBoIChQYXRjaDMpCi0tIFNQRUMgZmlsZSBjbGVhbnVw Ci0qIFdlZCBKYW4gMTEgMjAxNyBOZW1hbmphIE1pbG9zZXZpYyA8bm1pbG9zZXZAZmVkb3JhcHJv amVjdC5vcmc+IC0gMS4xLjAtMAotLSBJbml0aWFsIFJQTSBmb3IgRmVkb3JhIDI1LzI2LgoKZGlm ZiAtLWdpdCBhL2dhdGluZy55YW1sIGIvZ2F0aW5nLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDZiNmE4YTkuLjAwMDAwMDAKLS0tIGEvZ2F0aW5nLnlhbWwKKysrIC9kZXYvbnVs bApAQCAtMSwyMiArMCwwIEBACi0tLS0gIVBvbGljeQotcHJvZHVjdF92ZXJzaW9uczoKLSAgLSBm ZWRvcmEtKgotZGVjaXNpb25fY29udGV4dDogYm9kaGlfdXBkYXRlX3B1c2hfdGVzdGluZwotc3Vi amVjdF90eXBlOiBrb2ppX2J1aWxkCi1ydWxlczoKLSAgLSAhUGFzc2luZ1Rlc3RDYXNlUnVsZSB7 dGVzdF9jYXNlX25hbWU6IGZlZG9yYS1jaS5rb2ppLWJ1aWxkLnRpZXIwLmZ1bmN0aW9uYWx9Ci0g IC0gIVBhc3NpbmdUZXN0Q2FzZVJ1bGUge3Rlc3RfY2FzZV9uYW1lOiBmZWRvcmEtY2kua29qaS1i dWlsZC5ycG1pbnNwZWN0LnN0YXRpYy1hbmFseXNpc30KLS0tLSAhUG9saWN5Ci1wcm9kdWN0X3Zl cnNpb25zOgotICAtIGZlZG9yYS0qCi1kZWNpc2lvbl9jb250ZXh0OiBib2RoaV91cGRhdGVfcHVz aF9zdGFibGUKLXN1YmplY3RfdHlwZToga29qaV9idWlsZAotcnVsZXM6Ci0gIC0gIVBhc3NpbmdU ZXN0Q2FzZVJ1bGUge3Rlc3RfY2FzZV9uYW1lOiBmZWRvcmEtY2kua29qaS1idWlsZC50aWVyMC5m dW5jdGlvbmFsfQotICAtICFQYXNzaW5nVGVzdENhc2VSdWxlIHt0ZXN0X2Nhc2VfbmFtZTogZmVk b3JhLWNpLmtvamktYnVpbGQucnBtaW5zcGVjdC5zdGF0aWMtYW5hbHlzaXN9Ci0tLS0gIVBvbGlj eQotcHJvZHVjdF92ZXJzaW9uczoKLSAgLSByaGVsLSoKLWRlY2lzaW9uX2NvbnRleHQ6IG9zY2lf Y29tcG9zZV9nYXRlCi1ydWxlczoKLSAgLSAhUGFzc2luZ1Rlc3RDYXNlUnVsZSB7dGVzdF9jYXNl X25hbWU6IG9zY2kuYnJldy1idWlsZC50aWVyMC5mdW5jdGlvbmFsfQoKZGlmZiAtLWdpdCBhL21h Y3Jvcy5kb3RuZXQgYi9tYWNyb3MuZG90bmV0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAzMDcwNzhlLi4wMDAwMDAwCi0tLSBhL21hY3Jvcy5kb3RuZXQKKysrIC9kZXYvbnVsbApAQCAt MSwxOCArMCwwIEBACi0jIC5ORVQncyBuYW1lIGZvciB0aGUgYXJjaGl0ZWN0dXJlCi0lZG90bmV0 X3J1bnRpbWVfYXJjaCAle2x1YToKLWxvY2FsIHRhcmdldCA9IHJwbS5leHBhbmQoIiV7X3Rhcmdl dF9jcHV9IikKLWxvY2FsIGFyY2ggPSAieDY0IgotaWYgdGFyZ2V0ID09ICJhYXJjaDY0IiB0aGVu Ci0gIGFyY2ggPSAiYXJtNjQiCi1lbHNlaWYgdGFyZ2V0ID09ICJwcGM2NGxlIiB0aGVuCi0gIGFy Y2ggPSAicHBjNjRsZSIKLWVsc2VpZiB0YXJnZXQgPT0gInMzOTB4IiB0aGVuCi0gIGFyY2ggPSAi czM5MHgiCi1lbHNlaWYgdGFyZ2V0ID09ICJ4ODZfNjQiIHRoZW4KLSAgYXJjaCA9ICJ4NjQiCi1l bmQKLXByaW50KGFyY2gpCi19Ci0KLSMgLk5FVCdzIGlkZW50aWZpZXIgZm9yIHRoZSBPUythcmNo aXRlY3R1cmUgY29tYmluYXRpb24KLSVkb3RuZXRfcnVudGltZV9pZCAlKC4gL2V0Yy9vcy1yZWxl YXNlIDsgZWNobyAiJHtJRH0uJHtWRVJTSU9OX0lEJSUuKn0iKS0le2RvdG5ldF9ydW50aW1lX2Fy Y2h9CgpkaWZmIC0tZ2l0IGEvcmVsZWFzZS1rZXktMjAyMy5hc2MgYi9yZWxlYXNlLWtleS0yMDIz LmFzYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTY4NDRiNi4uMDAwMDAwMAotLS0g YS9yZWxlYXNlLWtleS0yMDIzLmFzYworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLS0t LS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQ0KLVZlcnNpb246IEJTTiBQZ3AgdjEu MS4wLjANCi0NCi1tUUlOQkdVS3NVWUJFQURWQ0ptNEVoWEFMcjFsZDQya1dlaC92TTBYTVoyb3JO VDZOUkxEUllqcEU0bW00VXFBDQotdnBqZkdDd3Q1ZkxjclQ0eVpuZzhBQmtCM1F3VHNaem14ZXNB TUQ1QVpSL2dkVTFHOTZEdURHc2pwNnpKdlR1WA0KLXp2ejNQWFVZZmNsOW41WDMyYWNBNk45SjVY ZnAxMHhxWDNvaXRVT0RCZFl5L3ZLVy92L3k4N1p4Z2FSNmEzd3ANCi1wUEpCSklWS3dGSngxM3Y0 QkhSc0dwMWZlcGxpUWNYUHZtTktGTkkyMGxlNStGYkxxNkM5aFk1d2N3R0hHZlFyDQotRW9rSDc5 R3NtcWdTSW1xeERPSWgwNko1VmZXQStKd1YrM3ZmOTVwRDhJVXJSZkdRK0dLN2IxL2J5U3h0TTVR YQ0KLWIvSURndmwvUXEzQXpFcEdhck1CYXFHYnFNejFDN2pkOFk2bnlLTVAvVitPQ2piRWRZTk04 R1J6NmtCUDNVbisNCi1GcmF0NUxjMm80REYrekIzUEtJSlMzaGt1NWd3bEp1NklVMUYyM3ZtWUZ0 alVjcFJHbXlRWkRvV3lCYk9XbEI1DQotNFNYcVZ1MTZhbVVzUkZZbU9LOEJKTWpkb3RjVmJyaVZJ djZXUm11Z2ZoSU1vUkp6Vkd4WWtkYnVpdU1BWDY5Vg0KLXhEb0dweFg1QThTNUE3OXkwVVNVVnRh ZFFmRmF2TVR5Yi9nVXVVZThvRHNxSzlnZEkzRVR4TFlHNGdZd2F1VlgNCi1mQ0dmb0xPS3NxNWRQ ekV1RUE3R0NSck1hdStySEtGYU03QmlnU2RuSEZXN3hOWjR2MFluWEFhZ29xTTJHNW81DQotOXNh azBsNTd2eHhUVmsyVjNpWnprb1UySjJabHl4eWg3Mm41dmpSbWI3YU53bVFoNEVhdjZhOHNzUUFS QVFBQg0KLXRCbHZibTU0WTI5eVpXUmxka0J0YVdOeWIzTnZablF1WTI5dGlRSTRCQk1CQ0FBaUJR SmxDckZHQWhzREJnc0oNCi1DQWNEQWdZVkNBSUpDZ3NFRmdJREFRSWVBUUlYZ0FBS0NSRDl2MVBD VGJTSEx0ZnpFQURJS3ExNVhEZVF4TFNvDQotQkcxYUZhOW44MksxWUFEVmN1MUxlZGRmaERtUVdM blpOZ3lIdFFsS04ybjU5MjgyQ1h0Z3ltemFlM3VjMDVzMg0KLWZlSUphcUY0TTRObkNYOEN0M0s3 SHExakk3Wmt0bHF1UENDeTlYSHE5YVFZOFhUeG1kdFJldnRjbEtnWVR3RGgNCi13K0QvS2JFOHZU WjZvN0pvdWJBM01LZjRrM1M4cUwvMHJJeWFDNmgwRXBpV29NeTFUZE5NTUs3QlQ0a2w2Vno0DQot VzZLbU5nT3V4MVB6a3U1VUxNNFd1T3ptd1crTkF6cE9MSm93ZkRzMVpDMlJNMytnOWkxL0Rtd1d0 Q0huZ3ZHRA0KLStjbEEwSTBhZ1h4bzA1dG9PQlRmd3hkMmdXWWN6dW8vT2xlMTZmWVR6cVQ2bjBE SHFPampjYzlBN0VtQzcyZlENCi1KK2hIQXFNKzQrQ2JFR3VNcE5uVE1wQ1pzOThiY0szUnF4L2JE Sll0YmNsWnptNU8vVjRuVmJEckpaS3pwZ0ExDQotS3V6Tk1Ma3I2MlA2L3QxNVVzU3RnbXJsVElM bUU1TkcwQ1IxbWovNDYrbU5ic01aQ2VsM2Rjdm5UMVpmNHJUcQ0KLVF4TUM3RGQvREVDS1FWQzMz OUcvQlJmTnloT2syUzFtWlIvZzF1UzRiem5MK3Rpd3VkRGgvVEFpNUMzWkJETWgNCi0wbXV3RDlj YVhTL1FGSUJXdGIyYWkzSWNwVTM1N1IvRVJQS0xjV1l0b1lKODBSdUtpNlhZcjFXeFNQQm1kNVFt DQotd3VuY3llK3dSMmR2ZW8yam5JWFpHVVNnejUwWk5nQnhzL2NZV0FROEo2S01nSUJhK0pZMnFh bHp2SUdickM1eA0KLVNyK0NraFM4dnJrdGZuUmdjOHlCc3NKbnZOZnFYQT09DQotPXBLZ1MNCi0t LS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tDQoKZGlmZiAtLWdpdCBhL3JlbGVhc2Uu anNvbiBiL3JlbGVhc2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWY0Y2Fl MC4uMDAwMDAwMAotLS0gYS9yZWxlYXNlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCww IEBACi17Ci0gICJyZWxlYXNlIjogIjkuMC4xOCIsCi0gICJjaGFubmVsIjogIjkuMCIsCi0gICJ0 YWciOiAidjkuMC4xMTkiLAotICAic2RrVmVyc2lvbiI6ICI5LjAuMTE5IiwKLSAgInJ1bnRpbWVW ZXJzaW9uIjogIjkuMC4xOCIsCi0gICJhc3BOZXRDb3JlVmVyc2lvbiI6ICI5LjAuMTgiLAotICAi c291cmNlUmVwb3NpdG9yeSI6ICJodHRwczovL2dpdGh1Yi5jb20vZG90bmV0L2RvdG5ldCIsCi0g ICJzb3VyY2VWZXJzaW9uIjogImQwODhmYzgzNDk2YTk5YTU3ODVlY2RmNzRjMDEyZjYxYTMzNWMz MzgiCi19CgpkaWZmIC0tZ2l0IGEvcm9zbHluLWFuYWx5emVycy1wcGM2NGxlLWFwcGhvc3QucGF0 Y2ggYi9yb3NseW4tYW5hbHl6ZXJzLXBwYzY0bGUtYXBwaG9zdC5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMTMwM2Y0Zi4uMDAwMDAwMAotLS0gYS9yb3NseW4tYW5hbHl6ZXJz LXBwYzY0bGUtYXBwaG9zdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLWRp ZmYgLS1naXQgYS9zcmMvcm9zbHluLWFuYWx5emVycy9zcmMvUGVyZm9ybWFuY2VUZXN0cy9UZXN0 cy9QZXJmb3JtYW5jZVRlc3RzLmNzcHJvaiBiL3NyYy9yb3NseW4tYW5hbHl6ZXJzL3NyYy9QZXJm b3JtYW5jZVRlc3RzL1Rlc3RzL1BlcmZvcm1hbmNlVGVzdHMuY3Nwcm9qCi1pbmRleCAwNDRhMmFi YTQuLmIzZjhmMjYxMSAxMDA2NDQKLS0tLSBhL3NyYy9yb3NseW4tYW5hbHl6ZXJzL3NyYy9QZXJm b3JtYW5jZVRlc3RzL1Rlc3RzL1BlcmZvcm1hbmNlVGVzdHMuY3Nwcm9qCi0rKysgYi9zcmMvcm9z bHluLWFuYWx5emVycy9zcmMvUGVyZm9ybWFuY2VUZXN0cy9UZXN0cy9QZXJmb3JtYW5jZVRlc3Rz LmNzcHJvagotQEAgLTQsNiArNCw3IEBACi0gICAgIDxOdWxsYWJsZT5kaXNhYmxlPC9OdWxsYWJs ZT4KLSAgICAgPE91dHB1dFR5cGU+RXhlPC9PdXRwdXRUeXBlPgotICAgICA8Tm9XYXJuPiQoTm9X YXJuKTtORVRTREsxMTM4PC9Ob1dhcm4+Ci0rICAgIDxVc2VBcHBIb3N0PmZhbHNlPC9Vc2VBcHBI b3N0PgotICAgPC9Qcm9wZXJ0eUdyb3VwPgotICAgPFByb3BlcnR5R3JvdXA+Ci0gICAgIDxOb25T aGlwcGluZz50cnVlPC9Ob25TaGlwcGluZz4KCmRpZmYgLS1naXQgYS9ycG1pbnNwZWN0LnlhbWwg Yi9ycG1pbnNwZWN0LnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyOTMyNDku LjAwMDAwMDAKLS0tIGEvcnBtaW5zcGVjdC55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAs MCBAQAotLS0tCi1pbnNwZWN0aW9uczoKLSAgICAjIFdlIHBhdGNoIHVwc3RyZWFtIGEgbG90LCBu byBuZWVkIHRvIHJlamVjdCBwYXRjaGVzCi0gICAgcGF0Y2hlczogb2ZmCi1iYWRmdW5jczoKLSAg ICBhbGxvd2VkOgotICAgICAgICAjIFRoZSBNb25vIHJ1bnRpbWUgKHVzZWQgb24gczM5MHgsIGZv ciBleGFtcGxlKSwgdXNlcyBpbmV0X2FkZHIgZm9yCi0gICAgICAgICMgZGVidWdnaW5nIChzdWNo IGFzIHNlbmRpbmcgdGhlIGNvbnRyb2wgZmxvdyBncmFwaCB0byBhIHJlbW90ZSBwcm9jZXNzKS4K LSAgICAgICAgIyBTZWUgcnVudGltZS9zcmMvbW9uby9tb25vL21pbmkvY2ZnZHVtcC5jLiBUaGlz IGlzbid0IHBhcnQgb2YgYW55Ci0gICAgICAgICMgc3RhbmRhcmQgbmV0d29ya2luZyBmYWNpbGl0 eTsgbmV0d29ya2luZyBBUElzIGFyZSBpbXBsZW1lbnRlZC91c2VkIGluCi0gICAgICAgICMgbGli U3lzdGVtKnNvLgotICAgICAgICAvdXNyL2xpYjY0L2RvdG5ldC9zaGFyZWQvTWljcm9zb2Z0Lk5F VENvcmUuQXBwLyovbGliY29yZWNsci5zbzoKLSAgICAgICAgICAgIC0gaW5ldF9hZGRyCi0gICAg ICAgIC91c3IvbGliNjQvZG90bmV0L3BhY2tzL01pY3Jvc29mdC5ORVRDb3JlLkFwcC5SdW50aW1l LiovKi9ydW50aW1lcy8qL25hdGl2ZS9saWJjb3JlY2xyLnNvOgotICAgICAgICAgICAgLSBpbmV0 X2FkZHIKLXJ1bnBhdGg6Ci0gICAgIyBVcHN0cmVhbSBleHBsaWNpdGx5IHNldHMgJE9SSUdJTi9u ZXRjb3JlZGVwcyBhcyBhbiBSUEFUSAotICAgICMgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9kb3Ru ZXQvY29yZS9ibG9iL21haW4vRG9jdW1lbnRhdGlvbi9zZWxmLWNvbnRhaW5lZC1saW51eC1hcHBz Lm1kCi0gICAgYWxsb3dlZF9vcmlnaW5fcGF0aHM6Ci0gICAgICAgIC0gL25ldGNvcmVkZXBzCgpk aWZmIC0tZ2l0IGEvcnVudGltZS0xMTk3MDYtY2xhbmctMjEucGF0Y2ggYi9ydW50aW1lLTExOTcw Ni1jbGFuZy0yMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTg5NzFkMS4u MDAwMDAwMAotLS0gYS9ydW50aW1lLTExOTcwNi1jbGFuZy0yMS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDI0ICswLDAgQEAKLWRpZmYgLS1naXQgZG90bmV0L3NyYy9ydW50aW1lL2VuZy9uYXRp dmUvY29uZmlndXJlY29tcGlsZXIuY21ha2UgZG90bmV0L3NyYy9ydW50aW1lL2VuZy9uYXRpdmUv Y29uZmlndXJlY29tcGlsZXIuY21ha2UKLWluZGV4IGQ1NGQ5YjY4MDNiLi45NDM4Y2I1YWY3ZSAx MDA2NDQKLS0tLSBkb3RuZXQvc3JjL3J1bnRpbWUvZW5nL25hdGl2ZS9jb25maWd1cmVjb21waWxl ci5jbWFrZQotKysrIGRvdG5ldC9zcmMvcnVudGltZS9lbmcvbmF0aXZlL2NvbmZpZ3VyZWNvbXBp bGVyLmNtYWtlCi1AQCAtNTc0LDYgKzU3NCw3IEBAIGlmIChDTFJfQ01BS0VfSE9TVF9VTklYIE9S IENMUl9DTUFLRV9IT1NUX1dBU0kpCi0gICBhZGRfY29tcGlsZV9vcHRpb25zKC1Xbm8tdW51c2Vk LWZ1bmN0aW9uKQotICAgYWRkX2NvbXBpbGVfb3B0aW9ucygtV25vLXRhdXRvbG9naWNhbC1jb21w YXJlKQotICAgYWRkX2NvbXBpbGVfb3B0aW9ucygtV25vLXVua25vd24tcHJhZ21hcykKLSsgIGFk ZF9jb21waWxlX29wdGlvbnMoLVduby1jKystY29tcGF0KQotIAotICAgIyBFeHBsaWNpdGx5IGVu YWJsZWQgd2FybmluZ3MKLSAgIGNoZWNrX2NfY29tcGlsZXJfZmxhZygtV2ltcGxpY2l0LWZhbGx0 aHJvdWdoIENPTVBJTEVSX1NVUFBPUlRTX1dfSU1QTElDSVRfRkFMTFRIUk9VR0gpCi1kaWZmIC0t Z2l0IGRvdG5ldC9zcmMvcnVudGltZS9zcmMvY29yZWNsci9wYWwvcHJlYnVpbHQvaW5jL2NvcmRl YnVnLmggZG90bmV0L3NyYy9ydW50aW1lL3NyYy9jb3JlY2xyL3BhbC9wcmVidWlsdC9pbmMvY29y ZGVidWcuaAotaW5kZXggNzhiODZjNjllZTkuLjE2NzJkNjAyZDk5IDEwMDY0NAotLS0tIGRvdG5l dC9zcmMvcnVudGltZS9zcmMvY29yZWNsci9wYWwvcHJlYnVpbHQvaW5jL2NvcmRlYnVnLmgKLSsr KyBkb3RuZXQvc3JjL3J1bnRpbWUvc3JjL2NvcmVjbHIvcGFsL3ByZWJ1aWx0L2luYy9jb3JkZWJ1 Zy5oCi1AQCAtMTAwNDIsNiArMTAwNDIsNyBAQCBFWFRFUk5fQyBjb25zdCBJSUQgSUlEX0lDb3JE ZWJ1Z1JlZ2lzdGVyU2V0MjsKLSB0eXBlZGVmCi0gZW51bSBDb3JEZWJ1Z1VzZXJTdGF0ZQotICAg ICB7Ci0rICAgICAgICBDT1JERUJVR19JTlZBTElEID0gLTEsCi0gICAgICAgICBVU0VSX1NUT1Bf UkVRVUVTVEVEID0gMHgxLAotICAgICAgICAgVVNFUl9TVVNQRU5EX1JFUVVFU1RFRCAgPSAweDIs Ci0gICAgICAgICBVU0VSX0JBQ0tHUk9VTkQgPSAweDQsCgpkaWZmIC0tZ2l0IGEvcnVudGltZS1k aXNhYmxlLWZvcnRpZnktb24taWxhc20tcGFyc2VyLnBhdGNoIGIvcnVudGltZS1kaXNhYmxlLWZv cnRpZnktb24taWxhc20tcGFyc2VyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBhMTI4MjIyLi4wMDAwMDAwCi0tLSBhL3J1bnRpbWUtZGlzYWJsZS1mb3J0aWZ5LW9uLWlsYXNt LXBhcnNlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLWRpZmYgLS1naXQg ZG90bmV0L3NyYy9ydW50aW1lL3NyYy9jb3JlY2xyL2lsYXNtL0NNYWtlTGlzdHMudHh0IGRvdG5l dC9zcmMvcnVudGltZS9zcmMvY29yZWNsci9pbGFzbS9DTWFrZUxpc3RzLnR4dAotaW5kZXggY2Nh MmM2ZGExODUuLmQzMWU2Y2IyMDcwIDEwMDY0NAotLS0tIGRvdG5ldC9zcmMvcnVudGltZS9zcmMv Y29yZWNsci9pbGFzbS9DTWFrZUxpc3RzLnR4dAotKysrIGRvdG5ldC9zcmMvcnVudGltZS9zcmMv Y29yZWNsci9pbGFzbS9DTWFrZUxpc3RzLnR4dAotQEAgLTUyLDYgKzUyLDcgQEAgaWYoQ0xSX0NN QUtFX0hPU1RfVU5JWCkKLSAgIGFkZF9jb21waWxlX29wdGlvbnMoLVduby1hcnJheS1ib3VuZHMp Ci0gICBhZGRfY29tcGlsZV9vcHRpb25zKC1Xbm8tdW51c2VkLWxhYmVsKQotICAgc2V0X3NvdXJj ZV9maWxlc19wcm9wZXJ0aWVzKCBwcmVidWlsdC9hc21wYXJzZS5jcHAgUFJPUEVSVElFUyBDT01Q SUxFX0ZMQUdTICItTzAiICkKLSsgIHNldF9zb3VyY2VfZmlsZXNfcHJvcGVydGllcyggcHJlYnVp bHQvYXNtcGFyc2UuY3BwIFBST1BFUlRJRVMgQ09NUElMRV9GTEFHUyAiLVdwLC1VX0ZPUlRJRllf U09VUkNFLC1EX0ZPUlRJRllfU09VUkNFPTAiICkKLSBlbmRpZihDTFJfQ01BS0VfSE9TVF9VTklY KQotIAotIGlmKENMUl9DTUFLRV9IT1NUX0xJTlVYIE9SIENMUl9DTUFLRV9IT1NUX0ZSRUVCU0Qg T1IgQ0xSX0NNQUtFX0hPU1RfTkVUQlNEIE9SIENMUl9DTUFLRV9IT1NUX1NVTk9TIE9SIENMUl9D TUFLRV9IT1NUX0hBSUtVKQoKZGlmZiAtLWdpdCBhL3J1bnRpbWUtb3BlbnNzbC1zaGExLnBhdGNo IGIvcnVudGltZS1vcGVuc3NsLXNoYTEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDZlMzA3ZWYuLjAwMDAwMDAKLS0tIGEvcnVudGltZS1vcGVuc3NsLXNoYTEucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9tIGQ3ODA1MjI5ZmZlNjkwNmNkMDgzMmMw NDgyYjk2M2NhZjRiNGZkODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUb20gRGVz ZXluIDx0b20uZGVzZXluQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMjggRmViIDIwMjQgMTQ6MDg6 MTUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWxsb3cgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiB3 aXRoIFNIQS0xIHNpZ25hdHVyZXMuCi0KLVJIRUwgT3BlblNTTCBidWlsZHMgZGlzYWJsZSBTSEEt MSBzaWduYXR1cmVzLiBUaGlzIGNhdXNlcyBjZXJ0aWZpY2F0ZQotdmFsaWRhdGlvbiB0byBmYWls IHdoZW4gdXNpbmcgdGhlIFg1MDlfVl9GTEFHX0NIRUNLX1NTX1NJR05BVFVSRSBmbGFnCi13aXRo IGEgY2hhaW4gd2hlcmUgdGhlIGxhc3QgY2VydGlmaWNhdGUgdXNlcyBhIFNIQS0xIHNpZ25hdHVy ZS4KLQotVGhpcyByZW1vdmVzIFg1MDlfVl9GTEFHX0NIRUNLX1NTX1NJR05BVFVSRSBmbGFnIHRv IGhhdmUgdGhlIGRlZmF1bHQKLU9wZW5TU0wgYmVoYXZpb3IgZm9yIGNlcnRpZmljYXRlIHZhbGlk YXRpb24uCi0tLS0KLSAuLi4vbGlicy9TeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5Lk5hdGl2 ZS9wYWxfeDUwOS5jICAgICAgfCA1IC0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25z KC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcnVudGltZS9zcmMvbmF0aXZlL2xpYnMvU3lzdGVtLlNl Y3VyaXR5LkNyeXB0b2dyYXBoeS5OYXRpdmUvcGFsX3g1MDkuYyBiL3NyYy9ydW50aW1lL3NyYy9u YXRpdmUvbGlicy9TeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5Lk5hdGl2ZS9wYWxfeDUwOS5j Ci1pbmRleCAwNGM2YmEwNmNkLi4yY2QzNDEzZGFlIDEwMDY0NAotLS0tIGEvc3JjL3J1bnRpbWUv c3JjL25hdGl2ZS9saWJzL1N5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkuTmF0aXZlL3BhbF94 NTA5LmMKLSsrKyBiL3NyYy9ydW50aW1lL3NyYy9uYXRpdmUvbGlicy9TeXN0ZW0uU2VjdXJpdHku Q3J5cHRvZ3JhcGh5Lk5hdGl2ZS9wYWxfeDUwOS5jCi1AQCAtMjcyLDExICsyNzIsNiBAQCBpbnQz Ml90IENyeXB0b05hdGl2ZV9YNTA5U3RvcmVDdHhJbml0KFg1MDlfU1RPUkVfQ1RYKiBjdHgsIFg1 MDlfU1RPUkUqIHN0b3JlLCBYNQotIAotICAgICBpbnQzMl90IHZhbCA9IFg1MDlfU1RPUkVfQ1RY X2luaXQoY3R4LCBzdG9yZSwgeDUwOSwgZXh0cmFTdG9yZSk7Ci0gCi0tICAgIGlmICh2YWwgIT0g MCkKLS0gICAgewotLSAgICAgICAgWDUwOV9TVE9SRV9DVFhfc2V0X2ZsYWdzKGN0eCwgWDUwOV9W X0ZMQUdfQ0hFQ0tfU1NfU0lHTkFUVVJFKTsKLS0gICAgfQotLQotICAgICByZXR1cm4gdmFsOwot IH0KLSAKLS0tIAotMi40My4yCi0KCmRpZmYgLS1naXQgYS9ydW50aW1lLXJlLWVuYWJsZS1pbXBs aWNpdC1yZWplY3Rpb24ucGF0Y2ggYi9ydW50aW1lLXJlLWVuYWJsZS1pbXBsaWNpdC1yZWplY3Rp b24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyZTU2MTQuLjAwMDAwMDAK LS0tIGEvcnVudGltZS1yZS1lbmFibGUtaW1wbGljaXQtcmVqZWN0aW9uLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMTQyICswLDAgQEAKLUZyb20gNWZkYzI4OTkwM2JkM2E3N2Q0NTU1ODM2NTBi MDAyOTdkYTBjYWU4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE9tYWlyIE1hamlk IDxvbWFqaWRAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMiBGZWIgMjAyNCAxNTo1MToyMyAtMDUw MAotU3ViamVjdDogW1BBVENIXSBSZXZlcnQgIkRpc2FibGUgaW1wbGljaXQgcmVqZWN0aW9uIGZv ciBSU0EgUEtDUyMxICgjOTUyMTYpIgotCi1UaGlzIHJldmVydHMgY29tbWl0IGE1ZmM4ZmY5YjAz ZmZiMmZkYjgxZGFkNTI0YWQxYTIwYTA3MTQ5OTUuCi0KLVRvIHF1b3RlIENsZW1lbnMgTGFuZzoK LQotPiBbRGlzYWJsaW5nIGltcGxjaXQgcmVqZWN0aW9uXSByZS1lbmFibGVzIGEgQmxlaWNoZW5i YWNoZXIgdGltaW5nIG9yYWNsZQotPiBhdHRhY2sgYWdhaW5zdCBQS0NTIzF2MS41IGRlY3J5cHRp b24uIFNlZQotPiBodHRwczovL3Blb3BsZS5yZWRoYXQuY29tL35oa2FyaW8vbWFydmluLyBmb3Ig ZGV0YWlscyBhbmQKLT4gaHR0cHM6Ly9naXRodWIuY29tL2RvdG5ldC9ydW50aW1lL3B1bGwvOTUx NTcjaXNzdWVjb21tZW50LTE4NDI3ODQzOTkgZm9yIGEKLT4gY29tbWVudCBieSB0aGUgcmVzZWFy Y2hlciB3aG8gcHVibGlzaGVkIHRoZSB2dWxuZXJhYmlsaXR5IGFuZCBwcm9wb3NlZCB0aGUKLT4g Y2hhbmdlIGluIE9wZW5TU0wuCi0KLUZvciBtb3JlIGRldGFpbHMsIHNlZToKLWh0dHBzOi8vZ2l0 aHViLmNvbS9kb3RuZXQvcnVudGltZS9wdWxsLzk1MjE2I2lzc3VlY29tbWVudC0xODQyNzk5MzE0 Ci0tLS0KLSAuLi4vUlNBL0VuY3J5cHREZWNyeXB0LmNzICAgICAgICAgICAgICAgICAgICAgfCA0 OSArKysrLS0tLS0tLS0tLS0tLS0tCi0gLi4uL29wZW5zc2xzaGltLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDYgLS0tCi0gLi4uL3BhbF9ldnBfcGtleV9yc2EuYyAgICAgICAgICAg ICAgICAgICAgICAgIHwgMTMgLS0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMo KyksIDU4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3J1bnRpbWUvc3JjL2xpYnJh cmllcy9Db21tb24vdGVzdHMvU3lzdGVtL1NlY3VyaXR5L0NyeXB0b2dyYXBoeS9BbGdvcml0aG1J bXBsZW1lbnRhdGlvbnMvUlNBL0VuY3J5cHREZWNyeXB0LmNzIGIvc3JjL3J1bnRpbWUvc3JjL2xp YnJhcmllcy9Db21tb24vdGVzdHMvU3lzdGVtL1NlY3VyaXR5L0NyeXB0b2dyYXBoeS9BbGdvcml0 aG1JbXBsZW1lbnRhdGlvbnMvUlNBL0VuY3J5cHREZWNyeXB0LmNzCi1pbmRleCAzOWYzZWJjODJl Yy4uNWI5N2Y0NjhhNDIgMTAwNjQ0Ci0tLS0gYS9zcmMvcnVudGltZS9zcmMvbGlicmFyaWVzL0Nv bW1vbi90ZXN0cy9TeXN0ZW0vU2VjdXJpdHkvQ3J5cHRvZ3JhcGh5L0FsZ29yaXRobUltcGxlbWVu dGF0aW9ucy9SU0EvRW5jcnlwdERlY3J5cHQuY3MKLSsrKyBiL3NyYy9ydW50aW1lL3NyYy9saWJy YXJpZXMvQ29tbW9uL3Rlc3RzL1N5c3RlbS9TZWN1cml0eS9DcnlwdG9ncmFwaHkvQWxnb3JpdGht SW1wbGVtZW50YXRpb25zL1JTQS9FbmNyeXB0RGVjcnlwdC5jcwotQEAgLTM1MywxMCArMzUzLDE5 IEBAIHByaXZhdGUgdm9pZCBSc2FDcnlwdFJvdW5kdHJpcChSU0FFbmNyeXB0aW9uUGFkZGluZyBw YWRkaW5nTW9kZSwgYm9vbCBleHBlY3RTdWNjCi0gICAgICAgICAgICAgQXNzZXJ0LkVxdWFsKFRl c3REYXRhLkhlbGxvQnl0ZXMsIG91dHB1dCk7Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBbQ29u ZGl0aW9uYWxGYWN0KG5hbWVvZihQbGF0Zm9ybVN1cHBvcnRzRW1wdHlSU0FFbmNyeXB0aW9uKSld Ci0rICAgICAgICBbQ29uZGl0aW9uYWxGYWN0XQotICAgICAgICAgW1NraXBPblRhcmdldEZyYW1l d29yayhUYXJnZXRGcmFtZXdvcmtNb25pa2Vycy5OZXRGcmFtZXdvcmspXQotICAgICAgICAgcHVi bGljIHZvaWQgUm91bmR0cmlwRW1wdHlBcnJheSgpCi0gICAgICAgICB7Ci0rICAgICAgICAgICAg aWYgKE9wZXJhdGluZ1N5c3RlbS5Jc0lPUygpICYmICFPcGVyYXRpbmdTeXN0ZW0uSXNJT1NWZXJz aW9uQXRMZWFzdCgxMywgNikpCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICB0aHJv dyBuZXcgU2tpcFRlc3RFeGNlcHRpb24oImlPUyBwcmlvciB0byAxMy42IGRvZXMgbm90IHJlbGlh Ymx5IHN1cHBvcnQgUlNBIGVuY3J5cHRpb24gb2YgZW1wdHkgZGF0YS4iKTsKLSsgICAgICAgICAg ICB9Ci0rICAgICAgICAgICAgaWYgKE9wZXJhdGluZ1N5c3RlbS5Jc1R2T1MoKSAmJiAhT3BlcmF0 aW5nU3lzdGVtLklzVHZPU1ZlcnNpb25BdExlYXN0KDE0LCAwKSkKLSsgICAgICAgICAgICB7Ci0r ICAgICAgICAgICAgICAgIHRocm93IG5ldyBTa2lwVGVzdEV4Y2VwdGlvbigidHZPUyBwcmlvciB0 byAxNC4wIGRvZXMgbm90IHJlbGlhYmx5IHN1cHBvcnQgUlNBIGVuY3J5cHRpb24gb2YgZW1wdHkg ZGF0YS4iKTsKLSsgICAgICAgICAgICB9Ci0rCi0gICAgICAgICAgICAgdXNpbmcgKFJTQSByc2Eg PSBSU0FGYWN0b3J5LkNyZWF0ZShUZXN0RGF0YS5SU0EyMDQ4UGFyYW1zKSkKLSAgICAgICAgICAg ICB7Ci0gICAgICAgICAgICAgICAgIHZvaWQgUm91bmR0cmlwRW1wdHkoUlNBRW5jcnlwdGlvblBh ZGRpbmcgcGFkZGluZ01vZGUpCi1AQCAtNzU3LDIzICs3NDYsNSBAQCBwdWJsaWMgc3RhdGljIElF bnVtZXJhYmxlPG9iamVjdFtdPiBPYWVwUGFkZGluZ01vZGVzCi0gICAgICAgICAgICAgICAgIH0K LSAgICAgICAgICAgICB9Ci0gICAgICAgICB9Ci0tCi0tICAgICAgICBwdWJsaWMgc3RhdGljIGJv b2wgUGxhdGZvcm1TdXBwb3J0c0VtcHR5UlNBRW5jcnlwdGlvbgotLSAgICAgICAgewotLSAgICAg ICAgICAgIGdldAotLSAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgaWYgKE9wZXJhdGlu Z1N5c3RlbS5Jc0lPUygpICYmICFPcGVyYXRpbmdTeXN0ZW0uSXNJT1NWZXJzaW9uQXRMZWFzdCgx MywgNikpCi0tICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgICAgIHJldHVybiBm YWxzZTsKLS0gICAgICAgICAgICAgICAgfQotLQotLSAgICAgICAgICAgICAgICBpZiAoT3BlcmF0 aW5nU3lzdGVtLklzVHZPUygpICYmICFPcGVyYXRpbmdTeXN0ZW0uSXNUdk9TVmVyc2lvbkF0TGVh c3QoMTQsIDApKQotLSAgICAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgICAgICByZXR1 cm4gZmFsc2U7Ci0tICAgICAgICAgICAgICAgIH0KLS0KLS0gICAgICAgICAgICAgICAgcmV0dXJu IHRydWU7Ci0tICAgICAgICAgICAgfQotLSAgICAgICAgfQotICAgICB9Ci0gfQotZGlmZiAtLWdp dCBhL3NyYy9ydW50aW1lL3NyYy9uYXRpdmUvbGlicy9TeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3Jh cGh5Lk5hdGl2ZS9vcGVuc3Nsc2hpbS5oIGIvc3JjL3J1bnRpbWUvc3JjL25hdGl2ZS9saWJzL1N5 c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkuTmF0aXZlL29wZW5zc2xzaGltLmgKLWluZGV4IDA3 NDhlMzA1ZDVjLi5jZjEwZDJmNzk0OSAxMDA2NDQKLS0tLSBhL3NyYy9ydW50aW1lL3NyYy9uYXRp dmUvbGlicy9TeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5Lk5hdGl2ZS9vcGVuc3Nsc2hpbS5o Ci0rKysgYi9zcmMvcnVudGltZS9zcmMvbmF0aXZlL2xpYnMvU3lzdGVtLlNlY3VyaXR5LkNyeXB0 b2dyYXBoeS5OYXRpdmUvb3BlbnNzbHNoaW0uaAotQEAgLTI5NiwxMCArMjk2LDggQEAgaW50IEVW UF9EaWdlc3RGaW5hbFhPRihFVlBfTURfQ1RYICpjdHgsIHVuc2lnbmVkIGNoYXIgKm1kLCBzaXpl X3QgbGVuKTsKLSAgICAgUkVRVUlSRURfRlVOQ1RJT04oRVJSX3BlZWtfZXJyb3IpIFwKLSAgICAg UkVRVUlSRURfRlVOQ1RJT04oRVJSX3BlZWtfZXJyb3JfbGluZSkgXAotICAgICBSRVFVSVJFRF9G VU5DVElPTihFUlJfcGVla19sYXN0X2Vycm9yKSBcCi0tICAgIFJFUVVJUkVEX0ZVTkNUSU9OKEVS Ul9wb3BfdG9fbWFyaykgXAotICAgICBGQUxMQkFDS19GVU5DVElPTihFUlJfcHV0X2Vycm9yKSBc Ci0gICAgIFJFUVVJUkVEX0ZVTkNUSU9OKEVSUl9yZWFzb25fZXJyb3Jfc3RyaW5nKSBcCi0tICAg IFJFUVVJUkVEX0ZVTkNUSU9OKEVSUl9zZXRfbWFyaykgXAotICAgICBMSUdIVFVQX0ZVTkNUSU9O KEVSUl9zZXRfZGVidWcpIFwKLSAgICAgTElHSFRVUF9GVU5DVElPTihFUlJfc2V0X2Vycm9yKSBc Ci0gICAgIFJFUVVJUkVEX0ZVTkNUSU9OKEVWUF9hZXNfMTI4X2NiYykgXAotQEAgLTM1NSw3ICsz NTMsNiBAQCBpbnQgRVZQX0RpZ2VzdEZpbmFsWE9GKEVWUF9NRF9DVFggKmN0eCwgdW5zaWduZWQg Y2hhciAqbWQsIHNpemVfdCBsZW4pOwotICAgICBSRVFVSVJFRF9GVU5DVElPTihFVlBfUEtDUzgy UEtFWSkgXAotICAgICBSRVFVSVJFRF9GVU5DVElPTihFVlBfUEtFWTJQS0NTOCkgXAotICAgICBS RVFVSVJFRF9GVU5DVElPTihFVlBfUEtFWV9DVFhfY3RybCkgXAotLSAgICBSRVFVSVJFRF9GVU5D VElPTihFVlBfUEtFWV9DVFhfY3RybF9zdHIpIFwKLSAgICAgUkVRVUlSRURfRlVOQ1RJT04oRVZQ X1BLRVlfQ1RYX2ZyZWUpIFwKLSAgICAgUkVRVUlSRURfRlVOQ1RJT04oRVZQX1BLRVlfQ1RYX2dl dDBfcGtleSkgXAotICAgICBSRVFVSVJFRF9GVU5DVElPTihFVlBfUEtFWV9DVFhfbmV3KSBcCi1A QCAtNzk3LDEwICs3OTQsOCBAQCBGT1JfQUxMX09QRU5TU0xfRlVOQ1RJT05TCi0gI2RlZmluZSBF UlJfcGVla19lcnJvcl9saW5lIEVSUl9wZWVrX2Vycm9yX2xpbmVfcHRyCi0gI2RlZmluZSBFUlJf cGVla19sYXN0X2Vycm9yIEVSUl9wZWVrX2xhc3RfZXJyb3JfcHRyCi0gI2RlZmluZSBFUlJfcHV0 X2Vycm9yIEVSUl9wdXRfZXJyb3JfcHRyCi0tI2RlZmluZSBFUlJfcG9wX3RvX21hcmsgRVJSX3Bv cF90b19tYXJrX3B0cgotICNkZWZpbmUgRVJSX3JlYXNvbl9lcnJvcl9zdHJpbmcgRVJSX3JlYXNv bl9lcnJvcl9zdHJpbmdfcHRyCi0gI2RlZmluZSBFUlJfc2V0X2RlYnVnIEVSUl9zZXRfZGVidWdf cHRyCi0tI2RlZmluZSBFUlJfc2V0X21hcmsgRVJSX3NldF9tYXJrX3B0cgotICNkZWZpbmUgRVJS X3NldF9lcnJvciBFUlJfc2V0X2Vycm9yX3B0cgotICNkZWZpbmUgRVZQX2Flc18xMjhfY2JjIEVW UF9hZXNfMTI4X2NiY19wdHIKLSAjZGVmaW5lIEVWUF9hZXNfMTI4X2NmYjggRVZQX2Flc18xMjhf Y2ZiOF9wdHIKLUBAIC04NTUsNyArODUwLDYgQEAgRk9SX0FMTF9PUEVOU1NMX0ZVTkNUSU9OUwot ICNkZWZpbmUgRVZQX1BLQ1M4MlBLRVkgRVZQX1BLQ1M4MlBLRVlfcHRyCi0gI2RlZmluZSBFVlBf UEtFWTJQS0NTOCBFVlBfUEtFWTJQS0NTOF9wdHIKLSAjZGVmaW5lIEVWUF9QS0VZX0NUWF9jdHJs IEVWUF9QS0VZX0NUWF9jdHJsX3B0cgotLSNkZWZpbmUgRVZQX1BLRVlfQ1RYX2N0cmxfc3RyIEVW UF9QS0VZX0NUWF9jdHJsX3N0cl9wdHIKLSAjZGVmaW5lIEVWUF9QS0VZX0NUWF9mcmVlIEVWUF9Q S0VZX0NUWF9mcmVlX3B0cgotICNkZWZpbmUgRVZQX1BLRVlfQ1RYX2dldDBfcGtleSBFVlBfUEtF WV9DVFhfZ2V0MF9wa2V5X3B0cgotICNkZWZpbmUgRVZQX1BLRVlfQ1RYX25ldyBFVlBfUEtFWV9D VFhfbmV3X3B0cgotZGlmZiAtLWdpdCBhL3NyYy9ydW50aW1lL3NyYy9uYXRpdmUvbGlicy9TeXN0 ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5Lk5hdGl2ZS9wYWxfZXZwX3BrZXlfcnNhLmMgYi9zcmMv cnVudGltZS9zcmMvbmF0aXZlL2xpYnMvU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5OYXRp dmUvcGFsX2V2cF9wa2V5X3JzYS5jCi1pbmRleCAwNDNiZjlmOWQxZS4uYzljY2RmMzNlM2EgMTAw NjQ0Ci0tLS0gYS9zcmMvcnVudGltZS9zcmMvbmF0aXZlL2xpYnMvU3lzdGVtLlNlY3VyaXR5LkNy eXB0b2dyYXBoeS5OYXRpdmUvcGFsX2V2cF9wa2V5X3JzYS5jCi0rKysgYi9zcmMvcnVudGltZS9z cmMvbmF0aXZlL2xpYnMvU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5OYXRpdmUvcGFsX2V2 cF9wa2V5X3JzYS5jCi1AQCAtNjcsMTkgKzY3LDYgQEAgc3RhdGljIGJvb2wgQ29uZmlndXJlRW5j cnlwdGlvbihFVlBfUEtFWV9DVFgqIGN0eCwgUnNhUGFkZGluZ01vZGUgcGFkZGluZywgY29uc3QK LSAgICAgICAgIHsKLSAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICB9Ci0tCi0t ICAgICAgICAvLyBPcGVuU1NMIDMuMiBpbnRyb2R1Y2VkIGEgY2hhbmdlIHdoZXJlIFBLQ1MjMSBS U0EgZGVjcnlwdGlvbiBkb2VzIG5vdCBmYWlsIGZvciBpbnZhbGlkIHBhZGRpbmcuCi0tICAgICAg ICAvLyBJZiB0aGUgcGFkZGluZyBpcyBpbnZhbGlkLCB0aGUgZGVjcnlwdGlvbiBvcGVyYXRpb24g cmV0dXJucyByYW5kb20gZGF0YS4KLS0gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20v b3BlbnNzbC9vcGVuc3NsL3B1bGwvMTM4MTcgZm9yIGJhY2tncm91bmQuCi0tICAgICAgICAvLyBT b21lIExpbnV4IGRpc3RyaWJ1dGlvbnMgYmFja3BvcnRlZCB0aGlzIGNoYW5nZSB0byBwcmV2aW91 cyB2ZXJzaW9ucyBvZiBPcGVuU1NMLgotLSAgICAgICAgLy8gSGVyZSB3ZSBkbyBhIGJlc3QtZWZm b3J0IHRvIHNldCBhIGZsYWcgdG8gcmV2ZXJ0IHRoZSBiZWhhdmlvciB0byBmYWlsaW5nIGlmIHRo ZSBwYWRkaW5nIGlzIGludmFsaWQuCi0tICAgICAgICBFUlJfc2V0X21hcmsoKTsKLS0KLS0gICAg ICAgIEVWUF9QS0VZX0NUWF9jdHJsX3N0cihjdHgsICJyc2FfcGtjczFfaW1wbGljaXRfcmVqZWN0 aW9uIiwgIjAiKTsKLS0KLS0gICAgICAgIC8vIFVuZG8gYW55IGNoYW5nZXMgdG8gdGhlIGVycm9y IHF1ZXVlIHRoYXQgbWF5IGhhdmUgb2NjdXJlZCB3aGlsZSBjb25maWd1cmluZyBpbXBsaWNpdCBy ZWplY3Rpb24gaWYgdGhlCi0tICAgICAgICAvLyBjdXJyZW50IHZlcnNpb24gZG9lcyBub3Qgc3Vw cG9ydCBpbXBsaWNpdCByZWplY3Rpb24uCi0tICAgICAgICBFUlJfcG9wX3RvX21hcmsoKTsKLSAg ICAgfQotICAgICBlbHNlCi0gICAgIHsKLS0tIAotMi40My4wCi0KCmRpZmYgLS1naXQgYS9zb3Vy Y2VzIGIvc291cmNlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU1NWEwNC4uMDAw MDAwMAotLS0gYS9zb3VyY2VzCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1TSEE1MTIg KGRvdG5ldC05LjAuMTE5LnRhci5neikgPSBiZGI1ZTBiZDczYjdlZGYwY2M3YmY3MmQ5ZWYwN2Ez MTY5MWM0NDJiZjQzNmUxZTI1YzdkM2FjNWVlMDI3NjhiZjQwNWEyOGMwMDRkZjYyZGIxYmIzZjA1 NTNjYjQ3ZDZkYmQ4OTQxMDY2NjcxODZjNzE4N2ExMzEzOGUyM2EwOQotU0hBNTEyIChkb3RuZXQt OS4wLjExOS50YXIuZ3ouc2lnKSA9IDhjODM0YzZkNjRlODE0MzM5NzA3MTYyMGYzNWQ3ZjJmMjQ2 ZGEyOWRmMDVmMzNhNmJiNTAyZDJlM2I4YzMyNDkxMzRlYTY0ZmRmMGJjM2JjNDA3ZGY1MWEzMDA5 YjJiZTg3NzhjMWRlNzIyZjU0OTA2YmY2ZTk3MTM3NjNkOWIxCgpkaWZmIC0tZ2l0IGEvdGVzdHMv Y2kuZm1mIGIvdGVzdHMvY2kuZm1mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOGNk ZmIxLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2NpLmZtZgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICsw LDAgQEAKLXN1bW1hcnk6IEJhc2ljIHNtb2tlIHRlc3QKLXByb3Zpc2lvbjoKLSAgICBoYXJkd2Fy ZToKLSAgICAgICAgZGlzazoKLSAgICAgICAgICAgIC0gc2l6ZTogIj49IDIwIEdpQiIKLSAgICAg ICAgbWVtb3J5OiAiPj0gNTEyMCBNaUIiCi1wcmVwYXJlOgotICAgIGhvdzogaW5zdGFsbAotICAg IHBhY2thZ2U6Ci0gICAgICAgIC0gYXNwbmV0Y29yZS1ydW50aW1lLTkuMAotICAgICAgICAtIGJh YmVsdHJhY2UKLSAgICAgICAgLSBiYXNoLWNvbXBsZXRpb24KLSAgICAgICAgLSBiYwotICAgICAg ICAtIGJpbnV0aWxzCi0gICAgICAgIC0gZG90bmV0LXJ1bnRpbWUtOS4wCi0gICAgICAgIC0gZG90 bmV0LXNkay05LjAKLSAgICAgICAgLSBleHBlY3QKLSAgICAgICAgLSBmaWxlCi0gICAgICAgIC0g ZmluZHV0aWxzCi0gICAgICAgIC0gZ2NjLWMrKwotICAgICAgICAtIGdpdAotICAgICAgICAtIGpx Ci0gICAgICAgIC0gbGlic3RkYysrLWRldmVsCi0gICAgICAgIC0gbGxkYgotICAgICAgICAtIGx0 dG5nLXRvb2xzCi0gICAgICAgIC0gbnBtCi0gICAgICAgIC0gcG9zdGdyZXNxbC1vZGJjCi0gICAg ICAgIC0gcG9zdGdyZXNxbC1zZXJ2ZXIKLSAgICAgICAgLSBwcm9jcHMtbmcKLSAgICAgICAgLSBw eXRob24zCi0gICAgICAgIC0gc3RyYWNlCi0gICAgICAgIC0gdXRpbC1saW51eAotICAgICAgICAt IHdnZXQKLSAgICAgICAgLSB3aGljaAotICAgICAgICAtIHpsaWItZGV2ZWwKLWV4ZWN1dGU6Ci0g ICAgc2NyaXB0OgotICAgICAgICAtIGRvdG5ldCAtLWluZm8KLSAgICAgICAgLSB3Z2V0IC0tbm8t dmVyYm9zZSBodHRwczovL2dpdGh1Yi5jb20vcmVkaGF0LWRldmVsb3Blci9kb3RuZXQtYnVubnkv cmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL3R1cmtleS50YXIuZ3oKLSAgICAgICAgLSB0YXIgeGYg dHVya2V5LnRhci5negotICAgICAgICAtIGRvdG5ldCB0dXJrZXkvVHVya2V5LmRsbCAtLXZlcnNp b24KLSAgICAgICAgLSBnaXQgY2xvbmUgImh0dHBzOi8vZ2l0aHViLmNvbS9yZWRoYXQtZGV2ZWxv cGVyL2RvdG5ldC1yZWd1bGFyLXRlc3RzLmdpdCIKLSAgICAgICAgLSBkb3RuZXQgdHVya2V5L1R1 cmtleS5kbGwgLWw9IiRUTVRfVEVTVF9EQVRBIiBkb3RuZXQtcmVndWxhci10ZXN0cyAtLXRpbWVv dXQ9MTIwMAotICAgICAgICAtIGRuZiByZW1vdmUgLXlxICdkb3RuZXQqJwotICAgICAgICAtIHNl dCAteDsgaWYgY29tbWFuZCAtdiBkb3RuZXQgOyB0aGVuIGV4aXQgMTsgZmkKLSAgICAgICAgLSBz ZXQgLXg7IGlmIFsgLWQgL3Vzci9saWI2NC9kb3RuZXQgXTsgdGhlbiBleGl0IDE7IGZpCi0gICAg ICAgIC0gc2V0IC14OyBpZiBtYW4gZG90bmV0OyB0aGVuIGV4aXQgMTsgZmkKCmRpZmYgLS1naXQg YS91cGRhdGUtcmVsZWFzZSBiL3VwZGF0ZS1yZWxlYXNlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1 NQppbmRleCA2YWViNmNkLi4wMDAwMDAwCi0tLSBhL3VwZGF0ZS1yZWxlYXNlCisrKyAvZGV2L251 bGwKQEAgLTEsMzI3ICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0KLXNldCAtZXVvIHBpcGVmYWlsCi1J RlM9JCdcblx0JwotCi0jIE5vdGVzOiB0aGlzIG9ubHkgd29ya3Mgd2l0aCAxeHggc2RrcywgdGhl IHZlcnNpb25zIHNoaXBwZWQgaW4gRmVkb3JhL1JIRUwvQ2VudE9TIFN0cmVhbS4KLQotcHJpbnRf dXNhZ2UoKSB7Ci0gICAgZWNobyAiIFVzYWdlOiIKLSAgICBlY2hvICIgICAgIC4vdXBkYXRlLXJl bGVhc2UgW1ZFUlNJT05dIFstLWJvb3RzdHJhcF0gWy0tYnVnIGJ1Zy1pZF0gWy0tdGFyYmFsbCB0 YXJiYWxsLW5hbWVdIFstLXJlbGVhc2UtanNvbiByZWxlYXNlLWpzb25dIFstLWxhcmdlci1ycG0t cmVsZWFzZV0iCi0gICAgZWNobyAiIgotICAgIGVjaG8gIlZFUlNJT04gY2FuIGJlOiIKLSAgICBl Y2hvICIgLSBsYXRlc3QtcmVsZWFzZTogbGF0ZXN0IHJlbGVhc2UgZm9yIHRoaXMgbWFqb3IubWlu b3IgdmVyc2lvbiBvZiAuTkVUIChkZWZhdWx0IHVubGVzcyAtLXJlbGVhc2UtanNvbiBhbmQgLS10 YXJiYWxsIGFyZSB1c2VkKSIKLSAgICBlY2hvICIgLSBleGFjdCB2ZXJzaW9uIChTREsgb3IgcnVu dGltZSwgZWcsIDkuMC41IG9yIDEwLjAuMTI0KSIKLSAgICBlY2hvICIgLSBvbWl0dGVkIGlmIC0t cmVsZWFzZS1qc29uIGFuZCAtLXRhcmJhbGwgYXJlIHVzZWQgKHVzZXMgbG9jYWwgbW9kZSkiCi0g ICAgZWNobyAiIC0gbGF0ZXN0LWNvbW1pdDogdGhlIGxhdGVzdCBjb21taXQgZm9yIHRoaXMgbWFq b3IubWlub3IgdmVyc2lvbiBvZiAuTkVUIgotICAgIGVjaG8gIiIKLSAgICBlY2hvICJJZiBub3Qg c3BlY2lmaWVkLCAnbGF0ZXN0LXJlbGVhc2UnIGlzIHRoZSBkZWZhdWx0LiIKLSAgICBlY2hvICIi Ci0gICAgZWNobyAiV2hlbiBkb25lLCBpdCBjcmVhdGVzIHRoZSBmb2xsb3dpbmcgZmlsZXM6Igot ICAgIGVjaG8gIiAtIHJlbGVhc2UuanNvbiIKLSAgICBlY2hvICIgLSBnaXQtY29tbWl0LW1lc3Nh Z2U6IGNvbW1pdCBtZXNzYWdlIHRvIHVzZSB3aXRoIHRoZSBnaXQgY29tbWl0IGZvciB0aGUgdXBk YXRlIgotICAgIGVjaG8gIiIKLSAgICBlY2hvICIiCi0gICAgZWNobyAiT3B0aW9uczoiCi0gICAg ZWNobyAiICAgLS1ib290c3RyYXAgICAgICAgICAgICAgICAgICAgQnVpbGQgYmluYXJ5IGJvb3Rz dHJhcCBhcnRpZmFjdHMgZm9yIHRoaXMgcmVsZWFzZS4iCi0gICAgZWNobyAiICAgLS1idWcgYnVn LWlkICAgICAgICAgICAgICAgICAgQWRkIHRoZSBuYW1lZCBidWcvaXNzdWUgaWRlbnRpZmllciB0 byB0aGUgY2hhbmdlbG9nIGFuZCBjb21taXQgbWVzc2FnZS4iCi0gICAgZWNobyAiICAgLS10YXJi YWxsIHRhcmJhbGwtbmFtZSAgICAgICAgVXNlIHRoZSBzdXBwbGllZCB0YXJiYWxsLiBVc2Ugd2l0 aCAtLXJlbGVhc2UtanNvbi4iCi0gICAgZWNobyAiICAgLS1yZWxlYXNlLWpzb24gcmVsZWFzZS1q c29uICAgVXNlIHRoZSBzdXBwbGllZCByZWxlYXNlLmpzb24uIFVzZSB3aXRoIC0tdGFyYmFsbC4i Ci0gICAgZWNobyAiICAgLS1sYXJnZXItcnBtLXJlbGVhc2UgICAgICAgICAgU2V0IHRoZSByZWxl YXNlIHRvIDIuIgotICAgIGVjaG8gIiIKLX0KLQotZG93bmxvYWRfcmVsZWFzZV9qc29uKCkgewot ICAgIHZlcnNpb249JDEKLSAgICBpZiBbWyAiJHZlcnNpb24iID1+IF5bMC05XStcLlswLTldKyQg XV07IHRoZW4KLSAgICAgICAgIyBtYWpvci5taW5vciBmb3JtYXQuIGludGVudGlvbmFsbHkgZmls dGVyIHRvIG1ham9yLm1pbm9yLjF4eC4KLSAgICAgICAgY2F0ID4gcXVlcnkgPDwnRU9GJwotICAg ICAgICBbIC5bXSB8IHNlbGVjdCgubmFtZSB8IHRlc3QoIlxcLk5FVCAuKlwoJHYpKFxcLjFcXGR7 Mn18IChQcmV2aWV3fFJDKSBcXGQrKSIpKSBdCi0gICAgICAgIHwgZmlyc3QKLSAgICAgICAgfCB7 IHRhZ19uYW1lOiAudGFnX25hbWUsCi0gICAgICAgICAgICB0YXJiYWxsOiAudGFyYmFsbF91cmws Ci0gICAgICAgICAgICBzaWduYXR1cmU6IC5hc3NldHNbXS5icm93c2VyX2Rvd25sb2FkX3VybCB8 IHNlbGVjdCguIHwgZW5kc3dpdGgoInRhci5nei5zaWciKSksCi0gICAgICAgICAgICByZWxlYXNl X21hbmlmZXN0OiAuYXNzZXRzW10gfCBzZWxlY3QoLm5hbWUgPT0gInJlbGVhc2UuanNvbiIpIHwg LmJyb3dzZXJfZG93bmxvYWRfdXJsIH0KLUVPRgotICAgIGVsaWYgW1sgIiR2ZXJzaW9uIiA9fiBe WzAtOV0rXC5bMC05XStcLlswLTldKyQgXV07IHRoZW4KLSAgICAgICAgIyBtYWpvci5taW5vci5w YXRjaC4gTWlnaHQgYmUgdGhlIFNESyB2ZXJzaW9uIG9yIFJ1bnRpbWUgdmVyc2lvbgotICAgICAg ICBjYXQgPiBxdWVyeSA8PCdFT0YnCi0gICAgICAgIFsgLltdIHwgc2VsZWN0KC5uYW1lIHwgdGVz dCgiXFwuTkVUIC4qXCgkdikiKSkgXQotICAgICAgICB8IGZpcnN0Ci0gICAgICAgIHwgeyB0YWdf bmFtZTogLnRhZ19uYW1lLAotICAgICAgICAgICAgdGFyYmFsbDogLnRhcmJhbGxfdXJsLAotICAg ICAgICAgICAgc2lnbmF0dXJlOiAuYXNzZXRzW10uYnJvd3Nlcl9kb3dubG9hZF91cmwgfCBzZWxl Y3QoLiB8IGVuZHN3aXRoKCJ0YXIuZ3ouc2lnIikpLAotICAgICAgICAgICAgcmVsZWFzZV9tYW5p ZmVzdDogLmFzc2V0c1tdIHwgc2VsZWN0KC5uYW1lID09ICJyZWxlYXNlLmpzb24iKSB8IC5icm93 c2VyX2Rvd25sb2FkX3VybCB9Ci1FT0YKLSAgICBlbHNlCi0gICAgICAgIGVjaG8gImVycm9yOiB1 bmFibGUgdG8gcGFyc2UgJHZlcnNpb24iCi0gICAgICAgIGV4aXQgMQotICAgIGZpCi0gICAgY3Vy bCBodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RvdG5ldC9kb3RuZXQvcmVsZWFzZXMgXAot ICAgICAgICB8IGpxIC0tYXJnIHYgIiR2ZXJzaW9uIiAtLWZyb20tZmlsZSBxdWVyeSA+IHJlbGVh c2UubWV0YWRhdGEuZ2l0aHViCi0gICAgY3VybCAtTCAiJChqcSAtciAucmVsZWFzZV9tYW5pZmVz dCByZWxlYXNlLm1ldGFkYXRhLmdpdGh1YikiIC1vIHJlbGVhc2UuanNvbgotfQotCi1hc3NlcnRf ZmlsZV9leGlzdHMoKSB7Ci0gICAgZmlsZT0kMQotICAgIGlmIFtbICEgLWYgIiR7ZmlsZX0iIF1d OyB0aGVuCi0gICAgICAgIGVjaG8gImVycm9yOiAke2ZpbGV9IG5vdCBmb3VuZCIKLSAgICAgICAg ZXhpdCAxCi0gICAgZmkKLX0KLQotCi11c2VyX3Byb3ZpZGVkX3RhcmJhbGxfbmFtZT0iIgotCi1y cG1fcmVsZWFzZT0xCi1wb3NpdGlvbmFsX2FyZ3M9KCkKLWJ1Z19pZHM9KCkKLWJvb3RzdHJhcD0w Ci13aGlsZSBbWyAiJCMiIC1ndCAwIF1dOyBkbwotICAgIGFyZz0iJDEiCi0gICAgY2FzZSAiJHth cmd9IiBpbgotICAgICAgICAtLWJvb3RzdHJhcCkKLSAgICAgICAgICAgIGJvb3RzdHJhcD0xCi0g ICAgICAgICAgICBzaGlmdDsKLSAgICAgICAgICAgIDs7Ci0gICAgICAgIC0tYnVnKQotICAgICAg ICAgICAgYnVnX2lkcys9KCIkMiIpCi0gICAgICAgICAgICBzaGlmdDsKLSAgICAgICAgICAgIHNo aWZ0OwotICAgICAgICAgICAgOzsKLSAgICAgICAgLWh8LS1oZWxwKQotICAgICAgICAgICAgcHJp bnRfdXNhZ2UKLSAgICAgICAgICAgIGV4aXQgMAotICAgICAgICAgICAgOzsKLSAgICAgICAgLS1y ZWxlYXNlLWpzb24pCi0gICAgICAgICAgICByZWxlYXNlX2pzb249IiQyIgotICAgICAgICAgICAg YXNzZXJ0X2ZpbGVfZXhpc3RzICIke3JlbGVhc2VfanNvbn0iCi0gICAgICAgICAgICBzaGlmdDsK LSAgICAgICAgICAgIHNoaWZ0OwotICAgICAgICAgICAgOzsKLSAgICAgICAgLS10YXJiYWxsKQot ICAgICAgICAgICAgdXNlcl9wcm92aWRlZF90YXJiYWxsX25hbWU9IiQyIgotICAgICAgICAgICAg YXNzZXJ0X2ZpbGVfZXhpc3RzICIke3VzZXJfcHJvdmlkZWRfdGFyYmFsbF9uYW1lfSIKLSAgICAg ICAgICAgIHNoaWZ0OwotICAgICAgICAgICAgc2hpZnQ7Ci0gICAgICAgICAgICA7OwotICAgICAg ICAtLWxhcmdlci1ycG0tcmVsZWFzZSkKLSAgICAgICAgICAgIHJwbV9yZWxlYXNlPSIyIgotICAg ICAgICAgICAgc2hpZnQ7Ci0gICAgICAgICAgICA7OwotICAgICAgICAqKQotICAgICAgICAgICAg cG9zaXRpb25hbF9hcmdzKz0oIiQxIikKLSAgICAgICAgICAgIHNoaWZ0Ci0gICAgICAgICAgICA7 OwotICAgIGVzYWMKLWRvbmUKLQotc2V0IC14Ci0KLXNwZWNfZmlsZXM9KCAuLyouc3BlYyApCi1z cGVjX2ZpbGU9IiR7c3BlY19maWxlc1swXX0iCi1hc3NlcnRfZmlsZV9leGlzdHMgIiRzcGVjX2Zp bGUiCi0KLWRvdG5ldF9tYWpvcl9taW5vcl92ZXJzaW9uPSRzcGVjX2ZpbGUKLWRvdG5ldF9tYWpv cl9taW5vcl92ZXJzaW9uPSR7ZG90bmV0X21ham9yX21pbm9yX3ZlcnNpb24jLi9kb3RuZXR9Ci1k b3RuZXRfbWFqb3JfbWlub3JfdmVyc2lvbj0ke2RvdG5ldF9tYWpvcl9taW5vcl92ZXJzaW9uJS5z cGVjfQotaWYgISBbWyAiJGRvdG5ldF9tYWpvcl9taW5vcl92ZXJzaW9uIiA9fiBeWzAtOV0rXC5b MC05XSskIF1dOyB0aGVuCi0gICAgZWNobyAiZXJyb3I6IFVuYWJsZSB0byBndWVzcyB0aGUgY3Vy cmVudCAuTkVUIG1ham9yLm1pbm9yIHZlcnNpb24uIEV4cGVjdGVkIHRvIGdldCBhIHR3by1kaWdp dCAuTkVUIHZlcnNpb24sIGJ1dCBnb3QgJGRvdG5ldF9tYWpvcl9taW5vcl92ZXJzaW9uIjsKLSAg ICBleGl0IDEKLWZpCi0KLWVjaG8gIlVwZGF0aW5nIC5ORVQgJGRvdG5ldF9tYWpvcl9taW5vcl92 ZXJzaW9uIgotCi12ZXJzaW9uPSR7cG9zaXRpb25hbF9hcmdzWzBdOi19Ci1zZGtfdmVyc2lvbj0i IgotY3JlYXRlZF9yZWxlYXNlX2pzb249MAotCi1pZiBbWyAke3ZlcnNpb259ID09ICIiIF1dOyB0 aGVuCi0gICAgaWYgW1sgLW4gIiR7cmVsZWFzZV9qc29uOi19IiBdXSB8fCBbWyAtbiAiJHt1c2Vy X3Byb3ZpZGVkX3RhcmJhbGxfbmFtZTotfSIgXV07IHRoZW4KLSAgICAgICAgaWYgW1sgLW4gIiR7 cmVsZWFzZV9qc29uOi19IiBdXSAmJiBbWyAtbiAiJHt1c2VyX3Byb3ZpZGVkX3RhcmJhbGxfbmFt ZTotfSIgXV07IHRoZW4KLSAgICAgICAgICAgIHZlcnNpb249bG9jYWwKLSAgICAgICAgZWxzZQot ICAgICAgICAgICAgZWNobyAiZXJyb3I6IHBsZWFzZSBwcm92aWRlIGJvdGggLS1yZWxlYXNlLWpz b24gYW5kIC0tdGFyYmFsbCBmb3IgbG9jYWwtb25seSBtb2RlIgotICAgICAgICAgICAgZXhpdCAx Ci0gICAgICAgIGZpCi0gICAgZWxzZQotICAgICAgICB2ZXJzaW9uPWxhdGVzdC1yZWxlYXNlCi0g ICAgZmkKLWZpCi0KLWlmIFtbICR7dmVyc2lvbn0gPT0gbGF0ZXN0LXJlbGVhc2UgXV07IHRoZW4K LSAgICBpZiBbWyAtbiAiJHtyZWxlYXNlX2pzb246LX0iIF1dOyB0aGVuCi0gICAgICAgIGVjaG8g ImVycm9yOiBkb24ndCBrbm93IGhvdyB0byBjb21iaW5lIHVwc3RyZWFtIGxhdGVzdCByZWxlYXNl J3MgcmVsZWFzZS5qc29uIHdpdGggdGhlIGxvY2FsbHkgc3VwcGxpZWQgb25lIgotICAgICAgICBl eGl0IDEKLSAgICBmaQotICAgIGRvd25sb2FkX3JlbGVhc2VfanNvbiAiJHtkb3RuZXRfbWFqb3Jf bWlub3JfdmVyc2lvbn0iCi1lbGlmIFtbICIkdmVyc2lvbiIgPX4gXlswLTldK1wuWzAtOV0rXC5b MC05XSsgXV07IHRoZW4gICMgbWF0Y2hlcyB4LnkueiAoYW5kIHgueS56LXByZXZpZXcuTiwgZXRj LikKLSAgICBpZiBbWyAtbiAiJHtyZWxlYXNlX2pzb246LX0iIF1dICYmIFtbIC1uICIke3VzZXJf cHJvdmlkZWRfdGFyYmFsbF9uYW1lOi19IiBdXSA7IHRoZW4KLSAgICAgICAgZWNobyAiZXJyb3I6 IGRvbid0IGtub3cgaG93IHRvIGNvbWJpbmUgZXhwbGljaXQgdXBzdHJlYW0gdmVyc2lvbiB3aXRo IHJlbGVhc2UuanNvbiBhbmQgdGFyYmFsbCIKLSAgICAgICAgZXhpdCAxCi0gICAgZmkKLSAgICBk b3dubG9hZF9yZWxlYXNlX2pzb24gIiR7dmVyc2lvbn0iCi1lbGlmIFtbICR7dmVyc2lvbn0gPT0g bGF0ZXN0LWNvbW1pdCBdXTsgdGhlbgotICAgIGJyYW5jaD1yZWxlYXNlLyR7ZG90bmV0X21ham9y X21pbm9yX3ZlcnNpb259LjF4eAotICAgIGlmIFtbICR7ZG90bmV0X21ham9yX21pbm9yX3ZlcnNp b259ID09IDExLjAgXV07IHRoZW4KLSAgICAgICAgYnJhbmNoPW1haW4KLSAgICBmaQotCi0gICAg Y2F0ID4gcXVlcnkgPDxFT0YKLSAgICBbIC5bXSB8IHNlbGVjdCgubmFtZSA9PSAiJGJyYW5jaCIp IF0KLSAgICB8IGZpcnN0Ci1FT0YKLSAgICBjdXJsIGh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw b3MvZG90bmV0L2RvdG5ldC9icmFuY2hlcyBcCi0gICAgICAgIHwganEgLS1mcm9tLWZpbGUgcXVl cnkgPiByZWxlYXNlLm1ldGFkYXRhLmdpdGh1YgotICAgIGNvbW1pdD0kKGpxIC1yIC5jb21taXQu c2hhIHJlbGVhc2UubWV0YWRhdGEuZ2l0aHViKQotICAgIGpxID5yZWxlYXNlLmpzb24gPDxFT0YK LXsKLSAgICAgICJyZWxlYXNlIjogIiRkb3RuZXRfbWFqb3JfbWlub3JfdmVyc2lvbiIsCi0gICAg ICAiY2hhbm5lbCI6ICIkZG90bmV0X21ham9yX21pbm9yX3ZlcnNpb24iLAotICAgICAgInRhZyI6 ICIkY29tbWl0IiwKLSAgICAgICJzZGtWZXJzaW9uIjogIiRkb3RuZXRfbWFqb3JfbWlub3JfdmVy c2lvbiIsCi0gICAgICAicnVudGltZVZlcnNpb24iOiAiJGRvdG5ldF9tYWpvcl9taW5vcl92ZXJz aW9uIiwKLSAgICAgICJhc3BOZXRDb3JlVmVyc2lvbiI6ICIkZG90bmV0X21ham9yX21pbm9yX3Zl cnNpb24iLAotICAgICAgInNvdXJjZVJlcG9zaXRvcnkiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Rv dG5ldC9kb3RuZXQiLAotICAgICAgInNvdXJjZVZlcnNpb24iOiAiJGNvbW1pdCIKLX0KLUVPRgot ICAgIGNhdCByZWxlYXNlLmpzb24KLSAgICBjcmVhdGVkX3JlbGVhc2VfanNvbj0xCi1lbGlmIFtb ICIke3ZlcnNpb259IiA9PSBsb2NhbCBdXTsgdGhlbgotICAgIGNwIC1hICIke3JlbGVhc2VfanNv bn0iIHJlbGVhc2UuanNvbgotZWxzZQotICAgIGVjaG8gImVycm9yOiBkb24ndCBrbm93IHdoYXQg dG8gZG8iCi0gICAgZWNobyAiIgotICAgIHByaW50X3VzYWdlCi0gICAgZXhpdCAxCi1maQotCi1j YXQgcmVsZWFzZS5qc29uCi0KLWFzcG5ldGNvcmVfcnVudGltZV92ZXJzaW9uPSQoanEgLXIgLmFz cE5ldENvcmVWZXJzaW9uIHJlbGVhc2UuanNvbikKLXJ1bnRpbWVfdmVyc2lvbj0kKGpxIC1yIC5y dW50aW1lVmVyc2lvbiByZWxlYXNlLmpzb24pCi1zZGtfdmVyc2lvbj0kKGpxIC1yIC5zZGtWZXJz aW9uIHJlbGVhc2UuanNvbikKLXRhZz0kKGpxIC1yIC50YWcgcmVsZWFzZS5qc29uKQotdGFnX3dp dGhvdXRfdj0ke3RhZyN2fQotCi1lY2hvICJVcGRhdGluZyAuTkVUICRkb3RuZXRfbWFqb3JfbWlu b3JfdmVyc2lvbiB0byBTREsgJHtzZGtfdmVyc2lvbn0gYW5kIFJ1bnRpbWUgJHtydW50aW1lX3Zl cnNpb259IgotCi1pZiBbWyAkYm9vdHN0cmFwID09IDAgXV07IHRoZW4KLSAgICBzZWQgLWkgLUUg InN8XiViY29uZF93aXRoLipib290c3RyYXAkfCViY29uZF93aXRoIGJvb3RzdHJhcHwiICIkc3Bl Y19maWxlIgotZWxzZQotICAgIHNlZCAtaSAtRSAic3xeJWJjb25kX3dpdGguKmJvb3RzdHJhcCR8 JWJjb25kX3dpdGhvdXQgYm9vdHN0cmFwfCIgIiRzcGVjX2ZpbGUiCi1maQotCi1zZWQgLWkgLUUg InN8XiVnbG9iYWwgdXBzdHJlYW1fdGFnIC4qJHwlZ2xvYmFsIHVwc3RyZWFtX3RhZyAke3RhZ318 IiAiJHNwZWNfZmlsZSIKLQotaWYgW1sgIiRkb3RuZXRfbWFqb3JfbWlub3JfdmVyc2lvbiIgPT0g IjguMCIgXV07IHRoZW4KLSAgICBzZWQgLWkgLUUgInN8XiVnbG9iYWwgaG9zdF92ZXJzaW9uIC4q JHwlZ2xvYmFsIGhvc3RfdmVyc2lvbiAke3J1bnRpbWVfdmVyc2lvbn18IiAiJHNwZWNfZmlsZSIK LSAgICAjIG90aGVyIG1ham9yIHZlcnNpb25zIHNldC9kZWZpbmUgaG9zdF92ZXJzaW9uIGFzIGEg dmFyaWFibGUgYmFzZWQgb24gcnVudGltZV92ZXJzaW9uLgotZmkKLXNlZCAtaSAtRSAic3xeJWds b2JhbCBydW50aW1lX3ZlcnNpb24gLiokfCVnbG9iYWwgcnVudGltZV92ZXJzaW9uICR7cnVudGlt ZV92ZXJzaW9ufXwiICIkc3BlY19maWxlIgotc2VkIC1pIC1FICJzfF4lZ2xvYmFsIGFzcG5ldGNv cmVfcnVudGltZV92ZXJzaW9uIC4qJHwlZ2xvYmFsIGFzcG5ldGNvcmVfcnVudGltZV92ZXJzaW9u ICR7YXNwbmV0Y29yZV9ydW50aW1lX3ZlcnNpb259fCIgIiRzcGVjX2ZpbGUiCi1zZWQgLWkgLUUg InN8XiVnbG9iYWwgc2RrX3ZlcnNpb24gLiokfCVnbG9iYWwgc2RrX3ZlcnNpb24gJHtzZGtfdmVy c2lvbn18IiAiJHNwZWNfZmlsZSIKLQotaWYgW1sgJHJ1bnRpbWVfdmVyc2lvbiA9ICpwcmV2aWV3 KiBdXSB8fCBbWyAkcnVudGltZV92ZXJzaW9uID0gKnJjKiBdXTsgdGhlbgotICAgICMgRm9yIFBy ZXZpZXcvUkMgcmVsZWFzZXMsIGNvbnZlcnQgeC55LnotcHJldmlldy5hLmIgdG8geC55Lnp+cHJl dmlldy5hLmIgKHJlcGxhY2UgLSB3aXRoIH4pCi0gICAgIyBodHRwczovL2RvY3MuZmVkb3JhcHJv amVjdC5vcmcvZW4tVVMvcGFja2FnaW5nLWd1aWRlbGluZXMvVmVyc2lvbmluZy8jX2hhbmRsaW5n X25vbl9zb3J0aW5nX3ZlcnNpb25zX3dpdGhfdGlsZGVfZG90X2FuZF9jYXJldAotICAgIHJ1bnRp bWVfcnBtX3ZlcnNpb249JHtydW50aW1lX3ZlcnNpb24vLS9cfn0KLSAgICBhc3BuZXRjb3JlX3J1 bnRpbWVfcnBtX3ZlcnNpb249JHthc3BuZXRjb3JlX3J1bnRpbWVfdmVyc2lvbi8tL1x+fQotICAg IHNka19ycG1fdmVyc2lvbj0ke3Nka192ZXJzaW9uLy0vXH59Ci0gICAgc2VkIC1pIC1FICJzfF4o JWdsb2JhbCBydW50aW1lX3JwbV92ZXJzaW9uKSAuKiR8XDEgJHtydW50aW1lX3JwbV92ZXJzaW9u fXwiICIkc3BlY19maWxlIgotICAgIHNlZCAtaSAtRSAic3xeKCVnbG9iYWwgYXNwbmV0Y29yZV9y dW50aW1lX3JwbV92ZXJzaW9uKSAuKiR8XDEgJHthc3BuZXRjb3JlX3J1bnRpbWVfcnBtX3ZlcnNp b259fCIgIiRzcGVjX2ZpbGUiCi0gICAgc2VkIC1pIC1FICJzfF4oJWdsb2JhbCBzZGtfcnBtX3Zl cnNpb24pIC4qJHxcMSAke3Nka19ycG1fdmVyc2lvbn18IiAiJHNwZWNfZmlsZSIKLWVsc2UKLSAg ICAjIEZvciBHQSByZWxlYXNlcyByZXBsYWNlIHJwbSB2ZXJzaW9ucyB3aXRoIHJwbSBtYWNyb3Mg Zm9yIHRoZSBhY3R1YWwgdmVyc2lvbgotICAgIHNlZCAtaSAtRSAic3xeKCVnbG9iYWwgcnVudGlt ZV9ycG1fdmVyc2lvbikgLiokfFwxICV7cnVudGltZV92ZXJzaW9ufXwiICIkc3BlY19maWxlIgot ICAgIHNlZCAtaSAtRSAic3xeKCVnbG9iYWwgYXNwbmV0Y29yZV9ydW50aW1lX3JwbV92ZXJzaW9u KSAuKiR8XDEgJXthc3BuZXRjb3JlX3J1bnRpbWVfdmVyc2lvbn18IiAiJHNwZWNfZmlsZSIKLSAg ICBzZWQgLWkgLUUgInN8XiglZ2xvYmFsIHNka19ycG1fdmVyc2lvbikgLiokfFwxICV7c2RrX3Zl cnNpb259fCIgIiRzcGVjX2ZpbGUiCi1maQotCi1pZiBbWyAtZiAiZG90bmV0LSR7dGFnX3dpdGhv dXRfdn0udGFyLmd6IiBdXTsgdGhlbgotICAgIGVjaG8gImRvdG5ldC0ke3RhZ193aXRob3V0X3Z9 LnRhci5neiBhbHJlYWR5IGV4aXN0cywgbm90IHJlYnVpbGRpbmcgdGFyYmFsbCIKLWVsaWYgW1sg LW4gJHt1c2VyX3Byb3ZpZGVkX3RhcmJhbGxfbmFtZX0gXV07IHRoZW4KLSAgICBjcCAtYSAiJHt1 c2VyX3Byb3ZpZGVkX3RhcmJhbGxfbmFtZX0iICJkb3RuZXQtJHt0YWdfd2l0aG91dF92fS50YXIu Z3oiCi0gICAgIyBzaWduYXR1cmUgZmlsZSBjYW4gYmUgbG9jYXRlZCBhbnl3aGVyZSB1bmRlciB0 aGUgZGlyZWN0b3J5IHRyZWUsIHNvIGZpbmQgaXQuCi0gICAgc2lnbmF0dXJlX25hbWU9JChiYXNl bmFtZSAiJHt1c2VyX3Byb3ZpZGVkX3RhcmJhbGxfbmFtZX0uc2lnIikKLSAgICB1c2VyX3RhcmJh bGxfZGlyPSQoZGlybmFtZSAiJHt1c2VyX3Byb3ZpZGVkX3RhcmJhbGxfbmFtZX0iICkKLSAgICAj IGludGVudGlvbmFsbHkgdW5xdW90ZWQsIHNpbmNlIGl0IGNhbiBiZSBibGFuawotICAgICMgc2hl bGxjaGVjayBkaXNhYmxlPVNDMjExNixTQzIwODYKLSAgICBzaWduYXR1cmVfcGF0aD0kKGZpbmQg JHVzZXJfdGFyYmFsbF9kaXIgLWluYW1lICIke3NpZ25hdHVyZV9uYW1lfSIpCi0gICAgaWYgW1sg IiR7c2lnbmF0dXJlX3BhdGh9IiA9PSAiIiBdXTsgdGhlbgotICAgICAgICBlY2hvICJlcnJvcjog dW5hYmxlIHRvIGZpbmQgc2lnbmF0dXJlIGZpbGUgZm9yICR7dXNlcl9wcm92aWRlZF90YXJiYWxs X25hbWV9IgotICAgICAgICBleGl0IDEKLSAgICBmaQotICAgIGNwIC1hICIke3NpZ25hdHVyZV9w YXRofSIgImRvdG5ldC0ke3RhZ193aXRob3V0X3Z9LnRhci5nei5zaWciCi1lbHNlICMgRG93bmxv YWQgdGhlIG9yaWdpbmFsL3ByaXN0aW5lIGJpdHMgZnJvbSB1cHN0cmVhbQotICAgIGlmIFtbICRj cmVhdGVkX3JlbGVhc2VfanNvbiA9PSAwIF1dOyB0aGVuCi0gICAgICAgICMgSWYgd2UgZGlkbid0 IGNyZWF0ZSB0aGUgcmVsZWFzZS5qc29uLCB0aGVuIGRlbGV0ZSBpdCBzbyBzcGVjdG9vbCAtZyBj YW4gZG93bmxvYWQgYSBmcmVzaCBjb3B5Ci0gICAgICAgIHJtIC1mIHJlbGVhc2UuanNvbgotICAg IGZpCi0gICAgc3BlY3Rvb2wgLWcgIiRzcGVjX2ZpbGUiCi1maQotCi0jIFRPRE8gYWRkIG9wdGlv bmFsIGdwZyBzaWduYXR1cmUgdmVyaWZpY2F0aW9uCi0KLWlmIFtbICRib290c3RyYXAgPT0gMSBd XTsgdGhlbgotICAgIGlmIFtbICRkb3RuZXRfbWFqb3JfbWlub3JfdmVyc2lvbiA9PSA4LjAgXV07 IHRoZW4KLSAgICAgICAgIyBUT0RPOiBjcmVhdGUgZ2VuZXJpYyBib290c3RyYXAgc3VwcG9ydCBm b3IgOC4wCi0gICAgICAgIGVjaG8gIi0tYm9vdHN0cmFwIG5vdCBpbXBsZW1lbnRlZCBmb3IgLk5F VCA4LjAiCi0gICAgICAgIGV4aXQgMQotICAgIGVsaWYgW1sgJGRvdG5ldF9tYWpvcl9taW5vcl92 ZXJzaW9uID09IDkuMCBdXTsgdGhlbgotICAgICAgICAjIEZvciAuTkVUIDksIHdlIGJvb3RzdHJh cCB4NjQgYW5kIGFhcmNoNjQgdXNpbmcgTWljcm9zb2Z0IGJpbmFyaWVzLCBhbmQgcHBjNjRsZSBh bmQgczM5MHggdXNpbmcgY3VzdG9tIGJpbmFyaWVzCi0gICAgICAgIC4vYnVpbGQtZG90bmV0LWJv b3RzdHJhcC10YXJiYWxsICIkdGFnIgotICAgICAgICB0YXIgeGYgImRvdG5ldC0kdGFnLXg2NC1i b290c3RyYXAudGFyLmd6IiAiZG90bmV0LSR0YWcteDY0LWJvb3RzdHJhcC9nbG9iYWwuanNvbiIK LSAgICAgICAgYm9vdHN0cmFwX3Nka192ZXJzaW9uPSQoanEgLXIgLnRvb2xzLmRvdG5ldCAiZG90 bmV0LSR0YWcteDY0LWJvb3RzdHJhcC9nbG9iYWwuanNvbiIpCi0gICAgICAgIHNlZCAtaSAtRSAi c3xeKCVnbG9iYWwgYm9vdHN0cmFwX3Nka192ZXJzaW9uKSAuKiR8XDEgJHtib290c3RyYXBfc2Rr X3ZlcnNpb259fCIgIiRzcGVjX2ZpbGUiCi0gICAgICAgIHNwZWN0b29sIC1nICIkc3BlY19maWxl IgotCi0gICAgICAgIGlmIFsgLWYgcmUtYnVpbGQtYWxsLWJvb3RzdHJhcCBdOyB0aGVuCi0gICAg ICAgICAgICAuL3JlLWJ1aWxkLWFsbC1ib290c3RyYXAgIiR7dGFnfSIKLSAgICAgICAgZmkKLSAg ICBlbHNlCi0gICAgICAgICMgRm9yIC5ORVQgMTAgYW5kIGxhdGVyLCBkZWZlciBhbGwgYm9vdHN0 cmFwcGluZyB0byBidWlsZC1kb3RuZXQtYm9vdHN0cmFwLXRhcmJhbGwgc2NyaXB0Ci0gICAgICAg IHRhciB4ZiAiZG90bmV0LSR7dGFnX3dpdGhvdXRfdn0udGFyLmd6IiAiZG90bmV0LSR7dGFnX3dp dGhvdXRfdn0vZ2xvYmFsLmpzb24iCi0gICAgICAgIGJvb3RzdHJhcF9zZGtfdmVyc2lvbj0kKGpx IC1yIC50b29scy5kb3RuZXQgImRvdG5ldC0ke3RhZ193aXRob3V0X3Z9L2dsb2JhbC5qc29uIikK LSAgICAgICAgc2VkIC1pIC1FICJzfF4oJWdsb2JhbCBib290c3RyYXBfc2RrX3ZlcnNpb24pIC4q JHxcMSAke2Jvb3RzdHJhcF9zZGtfdmVyc2lvbn18IiAiJHNwZWNfZmlsZSIKLQotICAgICAgICAu L2J1aWxkLWRvdG5ldC1ib290c3RyYXAtdGFyYmFsbCAiJHt0YWdfd2l0aG91dF92fSIKLQotICAg ICAgICBpZiBbIC1mIGRvdG5ldC1wcmVidWlsdHMqcHBjNjRsZSp0YXIuZ3ogXTsgdGhlbgotICAg ICAgICAgICAgZmlsZV9uYW1lPSQobHMgLTEgLXQgZG90bmV0LXByZWJ1aWx0cy0qLXBwYzY0bGUu dGFyLmd6IHwgaGVhZCAtMSkKLSAgICAgICAgICAgIGJvb3RzdHJhcF9zZGtfdmVyc2lvbl9wcGM2 NGxlX3MzOTB4PSQoYmFzZW5hbWUgIiRmaWxlX25hbWUiIHwgc2VkIC1FIC1lICdzL2RvdG5ldC1w cmVidWlsdHMtLy8nIC1lICdzLy1wcGM2NGxlLnRhci5nei8vJykKLQotICAgICAgICAgICAgc2Vk IC1FIC1pICJzfF4lZ2xvYmFsIGJvb3RzdHJhcF9zZGtfdmVyc2lvbl9wcGM2NGxlX3MzOTB4IC4q JHwlZ2xvYmFsIGJvb3RzdHJhcF9zZGtfdmVyc2lvbl9wcGM2NGxlX3MzOTB4ICRib290c3RyYXBf c2RrX3ZlcnNpb25fcHBjNjRsZV9zMzkweHwiICIkc3BlY19maWxlIgotICAgICAgICBmaQotICAg IGZpCi1maQotCi1jb21tZW50PSJVcGRhdGUgdG8gLk5FVCBTREsgJHtzZGtfdmVyc2lvbn0gYW5k IFJ1bnRpbWUgJHtydW50aW1lX3ZlcnNpb259IgotY29tbWl0X21lc3NhZ2U9IiRjb21tZW50Ci0i Ci1mb3IgYnVnX2lkIGluICIke2J1Z19pZHNbQF19IjsgZG8KLSAgICBpZiBbWyAiJGJ1Z19pZCIg PX4gXltbOmRpZ2l0Ol1dKyQgXV07IHRoZW4KLSAgICAgICAgY29tbWVudD0iJGNvbW1lbnQKLS0g UmVzb2x2ZXM6IFJIQlojJGJ1Z19pZCIKLSAgICAgICAgY29tbWl0X21lc3NhZ2U9IiRjb21taXRf bWVzc2FnZQotUmVzb2x2ZXM6IFJIQlojJGJ1Z19pZCIKLSAgICBlbHNlCi0gICAgICAgIGNvbW1l bnQ9IiRjb21tZW50Ci0tIFJlc29sdmVzOiAkYnVnX2lkIgotICAgICAgICBjb21taXRfbWVzc2Fn ZT0iJGNvbW1pdF9tZXNzYWdlCi1SZXNvbHZlczogJGJ1Z19pZCIKLSAgICBmaQotZG9uZQotCi1l Y2hvICIkY29tbWl0X21lc3NhZ2UiID4gZ2l0LWNvbW1pdC1tZXNzYWdlCi0KLXJwbWRldi1idW1w c3BlYyAtLWNvbW1lbnQ9IiRjb21tZW50IiAiJHNwZWNfZmlsZSIKLQotIyBSZXNldCByZWxlYXNl IGluICdSZWxlYXNlJyB0YWcKLXNlZCAtaSAtRSAnc3xeUmVsZWFzZTogICAgICAgIFtbOmRpZ2l0 Ol1dKyV8UmVsZWFzZTogICAgICAgICciJHJwbV9yZWxlYXNlIiclfCcgIiRzcGVjX2ZpbGUiCi0j IFJlc2V0IFJlbGVhc2UgaW4gY2hhbmdlbG9nIGNvbW1lbnQKLSMgU2VlIGh0dHBzOi8vc3RhY2tv dmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NjIwMTUzL2ZpbmQtbWF0Y2hpbmctdGV4dC1hbmQtcmVw bGFjZS1uZXh0LWxpbmUKLXNlZCAtaSAtRSAnL14lY2hhbmdlbG9nJC8hYjtuO3MvLVtbOmRpZ2l0 Ol1dKyQvLSciJHJwbV9yZWxlYXNlIicvJyAiJHNwZWNfZmlsZSIKLQotZWNobyAiRG9uZSB1cGRh dGluZyBzb3VyY2VzLiBDb21taXQgbWVzc2FnZSBpbiAuL2dpdC1jb21taXQtbWVzc2FnZSIK