From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Date: Thu, 24 Sep 2020 15:42:18 +0200 From: Michael Olbrich Message-ID: <20200924134218.GK11021@pengutronix.de> References: <20200921221728.3229-1-rhi@pengutronix.de> <20200921221728.3229-7-rhi@pengutronix.de> <20200922094622.GG11021@pengutronix.de> <20200923122259.4ikbjceje6zhvzsc@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200923122259.4ikbjceje6zhvzsc@pengutronix.de> Subject: Re: [ptxdist] [PATCH 7/7] ptxdist: add 'init' commands to create new configs List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de Cc: Roland Hieber T24gV2VkLCBTZXAgMjMsIDIwMjAgYXQgMDI6MjI6NTlQTSArMDIwMCwgUm9sYW5kIEhpZWJlciB3 cm90ZToKPiBPbiBUdWUsIFNlcCAyMiwgMjAyMCBhdCAxMTo0NjoyMkFNICswMjAwLCBNaWNoYWVs IE9sYnJpY2ggd3JvdGU6Cj4gPiBPbiBUdWUsIFNlcCAyMiwgMjAyMCBhdCAxMjoxNzoyOEFNICsw MjAwLCBSb2xhbmQgSGllYmVyIHdyb3RlOgo+ID4gPiBUaGUgZ29hbCBoZXJlIGlzIHRvIGdpdmUg dXNlcnMgYSB3YXkgdG8gY3JlYXRlIGEgd29ya2luZyBCU1Agb3IgcGxhdGZvcm0KPiA+ID4gZnJv bSBzY3JhdGNoIGJ5IGFza2luZyBvbmx5IGEgbWluaW1hbCBzZXQgb2YgcmVsZXZhbnQgcXVlc3Rp b25zIGFuZAo+ID4gPiBsZXR0aW5nIHRoZSB1c2VyIHByZXNzIEVudGVyIGFib3V0IDE1IHRpbWVz LCBpbnN0ZWFkIG9mIGFza2luZyBldmVyeQo+ID4gPiBxdWVzdGlvbiBpbiB0aGUgd2hvbGUgcGxh dGZvcm0gYW5kIHB0eGNvbmZpZyBtZW51LCB3aGljaCB3b3VsZCByZXF1aXJlCj4gPiA+IHByZXNz aW5nIEVudGVyIGFib3V0IDQyOCB0aW1lcy4KPiA+ID4gCj4gPiA+IEZvciB0aGF0LCB3ZSBjcmVh dGUgdHdvIHNlcGFyYXRlIEtjb25maWcgbWVudXMsIHJ1bGVzL0tjb25maWctaW5pdCBmb3IKPiA+ ID4gdGhlIHB0eGNvbmZpZywgYW5kIHBsYXRmb3Jtcy9LY29uZmlnLWluaXQgZm9yIHRoZSBwbGF0 Zm9ybWNvbmZpZywgd2hpY2gKPiA+ID4gaW5jbHVkZSBvbmx5IHRoZSByZWxldmFudCAuaW4gZmls ZXMgZnJvbSB0aGUgZnVsbCBtZW51cy4gU3RpbGwsIHNvbWUKPiA+ID4gb3B0aW9ucyBmcm9tIHRo ZXNlIC5pbiBmaWxlcyBjYW4gYmUgc2V0IHRvIHJlYXNvbmFibGUgZGVmYXVsdHMgZm9yIG5ldwo+ ID4gPiBCU1BzIG9yIHBsYXRmb3Jtcywgd2hpY2ggaXMgZG9uZSB3aXRoIHR3byBuZXcgZGVmY29u ZmlnIGZpbGVzIGluc3RlYWQgb2YKPiA+ID4gZnVydGhlciBvdXRzb3VyY2luZyB0aGUgcmVsZXZh bnQgY29uZmlnIG9wdGlvbnMgaW50byBzaW5nbGUgLmluIGZpbGVzLgo+ID4gPiAKPiA+ID4gV2l0 aCB0aGUgJ2luaXQnIHN1YmNvbW1hbmQsIFBUWGRpc3QgZmlyc3QgY3JlYXRlcyBhIHN0YW5kYXJk IGRpcmVjdG9yeQo+ID4gPiBzdHJ1Y3R1cmUgdW5kZXIgY29uZmlncy8gaWYgbmVjZXNzYXJ5LCB0 aGVuIGNyZWF0ZXMgYSBtaW5pbWFsIGNvbmZpZwo+ID4gPiBmaWxlIGZyb20gdGhlIHJlc3BlY3Rp dmUgZGVmY29uZmlnLCBhbmQgZmluYWxseSBjYWxscyBrY29uZmlnIG9uIHRoZQo+ID4gPiByZXNw ZWN0aXZlIEtjb25maWctaW5pdCBtZW51LCBhc2tpbmcgdGhlIHVzZXIgZm9yIHRoZSByZW1haW5p bmcgY29uZmlnCj4gPiA+IG9wdGlvbnMuIEEgc2lsZW5jZWQgb2xkY29uZmlnIHJ1biBvbiB0aGUg ZnVsbCBtZW51IGZpbGUgdGhlbiB0YWtlcyBjYXJlCj4gPiA+IHRvIHNldCBhbGwgb3RoZXIgY29u ZmlnIG9wdGlvbnMgdG8gdGhlaXIgZGVmYXVsdHMuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBSb2xhbmQgSGllYmVyIDxyaGlAcGVuZ3V0cm9uaXguZGU+Cj4gPiA+IC0tLQo+ID4gPiAgYmlu L3B0eGRpc3QgICAgICAgICAgICAgICAgICAgICB8IDQ2ICsrKysrKysrKysrKysrKysKPiA+ID4g IGRvYy9yZWZfcGFyYW1ldGVyLnJzdCAgICAgICAgICAgfCAgNSArKwo+ID4gPiAgcGxhdGZvcm1z L0tjb25maWctaW5pdCAgICAgICAgICB8IDEzICsrKysrCj4gPiA+ICBwbGF0Zm9ybXMvaW5pdF9k ZWZjb25maWcgICAgICAgIHwgMTggKysrKysrKwo+ID4gPiAgcnVsZXMvS2NvbmZpZy1pbml0ICAg ICAgICAgICAgICB8IDYyICsrKysrKysrKysrKysrKysrKysrKwo+ID4gPiAgcnVsZXMvaW5pdF9k ZWZjb25maWcgICAgICAgICAgICB8IDIxICsrKysrKysrCj4gPiA+ICBydWxlcy9pbml0bWV0aG9k LmluICAgICAgICAgICAgIHwgIDMgKysKPiA+ID4gIHNjcmlwdHMvbGliL3B0eGRfbGliX2luaXQu c2ggICAgfCA5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ID4gIHNjcmlw dHMvbGliL3B0eGRfbGliX2tjb25maWcuc2ggfCAxMCArKysrCj4gPiA+ICA5IGZpbGVzIGNoYW5n ZWQsIDI3NCBpbnNlcnRpb25zKCspCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdGZvcm1z L0tjb25maWctaW5pdAo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXRmb3Jtcy9pbml0X2Rl ZmNvbmZpZwo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bGVzL0tjb25maWctaW5pdAo+ID4g PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bGVzL2luaXRfZGVmY29uZmlnCj4gPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgc2NyaXB0cy9saWIvcHR4ZF9saWJfaW5pdC5zaAo+ID4gCj4gPiBIbW1tLCB0 aGlzIG5hbWUgc2VlbXMgYSBiaXQgdG9vIGdlbmVyaWMuIE1heWJlIHB0eGRfbGliX2JzcF9pbml0 LnNoCj4gCj4gWWVhaCwgc2VlbXMgcmVhc29uYWJsZSB0byBtZS4KPiAKPiA+ID4gZGlmZiAtLWdp dCBhL2Jpbi9wdHhkaXN0IGIvYmluL3B0eGRpc3QKPiA+ID4gaW5kZXggYzJjZjc0NGY3MGE4Li5h M2QyZjBkZWVmNTYgMTAwNzU1Cj4gPiA+IC0tLSBhL2Jpbi9wdHhkaXN0Cj4gPiA+ICsrKyBiL2Jp bi9wdHhkaXN0Cj4gPiA+IEBAIC02ODcsNiArNjg3LDkgQEAgUFRYZGlzdCAkKHByaW50ZiAiJS0y NHMiICR7UFRYRElTVF9WRVJTSU9OX0ZVTEx9KSBCdWlsZCBTeXN0ZW0gZm9yIEVtYmVkZGVkIExp bnUKPiA+ID4gIAo+ID4gPiAgU2V0dXAgYW5kIFByb2plY3QgQWN0aW9uczoKPiA+ID4gIAo+ID4g PiArICBpbml0IFs8cGxhdGZvcm1uYW1lPl0JCWluaXRpYWxpc2UgYSBuZXcgQlNQIGluIHRoZSBj dXJyZW50IGRpcmVjdG9yeQo+ID4gPiArICBpbml0IHBsYXRmb3JtIFs8bmFtZT5dCWluaXRpYWxp c2UgYSBuZXcgcGxhdGZvcm0gaW4gdGhlIGN1cnJlbnQgQlNQCj4gPiA+ICsKPiA+ID4gICAgbWVu dQkJCQllbnRlciBtYWluIGNvbnRyb2wgbWVudQo+ID4gPiAgCj4gPiA+ICAgIHNldHVwCQkJCXNl dHVwIHBlci11c2VyIHByZWZlcmVuY2VzCj4gPiA+IEBAIC0xODAzLDYgKzE4MDYsNDkgQEAgRU9G Cj4gPiA+ICAJCQlkb18ke2NtZH0KPiA+ID4gIAkJCWV4aXQKPiA+ID4gIAkJCTs7Cj4gPiA+ICsJ CWluaXQpCj4gPiA+ICsJCQlsb2NhbCBkb19wdHhjb25maWc9MQo+ID4gPiArCQkJaWYgWyAiJDEi ID0gInBsYXRmb3JtIiBdOyB0aGVuCj4gPiA+ICsJCQkJc2hpZnQKPiA+ID4gKwkJCQlkb19wdHhj b25maWc9Cj4gPiA+ICsJCQlmaQo+ID4gPiArCj4gPiA+ICsJCQlsb2NhbCBwbGF0Zm9ybT0iJDEi Cj4gPiA+ICsJCQlpZiBbIC16ICIkcGxhdGZvcm0iIF07IHRoZW4KPiA+ID4gKwkJCQllY2hvCj4g PiA+ICsJCQkJZWNobyAiJHtQVFhESVNUX0xPR19QUk9NUFR9ZXJyb3I6IFBsZWFzZSBzcGVjaWZ5 IGEgcGxhdGZvcm0gbmFtZS4iCj4gPiA+ICsJCQkJZWNobwo+ID4gPiArCQkJCWV4aXQgMQo+ID4g PiArCQkJZmkKPiA+ID4gKwo+ID4gPiArCQkJUFRYRElTVF9QTEFURk9STUNPTkZJRz0iY29uZmln cy9wbGF0Zm9ybS0ke3BsYXRmb3JtfS9wbGF0Zm9ybWNvbmZpZyIKPiA+ID4gKwkJCVBUWERJU1Rf UFRYQ09ORklHPSJjb25maWdzL3B0eGNvbmZpZyIKPiA+ID4gKwo+ID4gPiArCQkJIyBhYm9ydCBl YXJseQo+ID4gPiArCQkJcHR4ZF9saWJfaW5pdF9wbGF0Zm9ybV9jaGVjayAmJgo+ID4gPiArCQkJ aWYgWyAtbiAiJGRvX3B0eGNvbmZpZyIgXTsgdGhlbgo+ID4gPiArCQkJCXB0eGRfbGliX2luaXRf Y2hlY2sKPiA+ID4gKwkJCWZpICYmCj4gPiA+ICsKPiA+ID4gKwkJCXB0eGRfbGliX2luaXRfcGxh dGZvcm0gIiR7cGxhdGZvcm19IiAmJgo+ID4gPiArCQkJaWYgWyAtbiAiJGRvX3B0eGNvbmZpZyIg XTsgdGhlbgo+ID4gPiArCQkJCXB0eGRfbGliX2luaXQKPiA+ID4gKwkJCWZpICYmCj4gPiA+ICsK PiA+ID4gKwkJCWlmIFsgLW4gIiRkb19wdHhjb25maWciIF07IHRoZW4KPiA+ID4gKwkJCQlwdHhk X2RpYWxvZ19tc2dib3ggXAo+ID4gPiArCQkJCQkiQWRhcHQgdGhlIG5ldyBCU1AgdG8geW91ciBu ZWVkcyBieSBydW5uaW5nOlxuXG4iIFwKPiA+ID4gKwkJCQkJIiAgICBwdHhkaXN0IG1lbnVjb25m aWdcbiIgXAo+ID4gPiArCQkJCQkiICAgIHB0eGRpc3QgbWVudWNvbmZpZyBwbGF0Zm9ybVxuIiBc Cj4gPiA+ICsJCQkJCSIgICAgcHR4ZGlzdCBtZW51Y29uZmlnIGtlcm5lbCIKPiA+ID4gKwkJCWVs c2UKPiA+ID4gKwkJCQlwdHhkX2RpYWxvZ19tc2dib3ggXAo+ID4gPiArCQkJCQkiQWRhcHQgdGhl IG5ldyBwbGF0Zm9ybSB0byB5b3VyIG5lZWRzIGJ5IHJ1bm5pbmc6XG5cbiIgXAo+ID4gPiArCQkJ CQkiICAgIHB0eGRpc3QgbWVudWNvbmZpZyBwbGF0Zm9ybVxuIiBcCj4gPiA+ICsJCQkJCSIgICAg cHR4ZGlzdCBtZW51Y29uZmlnIGtlcm5lbCIKPiA+ID4gKwkJCWZpCj4gPiAKPiA+IFB1dCB0aGlz IHN0dWZmIGluIGEgZnVuY3Rpb24gdG9vLiBBbmQgaW4gc2NyaXB0cy9saWIvIGFzIHdlbGwuIEkg dHJ5IHRvCj4gPiBhdm9pZCBhZGRpbmcgbmV3IHN0dWZmIGluIHRoZSBwdHhkaXN0IHNjcmlwdCBi ZWNhdXNlIHRoYXQgcGFydCBjYW5ub3QgYmUKPiA+IG92ZXJ3cml0dGVuIGluIGEgQlNQLgo+IAo+ IEFoLCBnb29kIGlkZWEsIEkgZm9yZ290IHRoYXQgcmF0aW9uYWxlLgo+IAo+ID4gPiArCQkJZXhp dAo+ID4gPiArCQkJOzsKPiA+ID4gIAkJaW1hZ2UpCj4gPiA+ICAJCQlQVFhESVNUX09QVElNSVpF X0lPPXRydWUKPiA+ID4gIAkJCWlmIFsgJHsjfSAtZXEgMCBdOyB0aGVuCj4gPiA+IGRpZmYgLS1n aXQgYS9kb2MvcmVmX3BhcmFtZXRlci5yc3QgYi9kb2MvcmVmX3BhcmFtZXRlci5yc3QKPiA+ID4g aW5kZXggYWMxZTA2YzUzMzVlLi5lZGQ0ODlhZjgzMWYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RvYy9y ZWZfcGFyYW1ldGVyLnJzdAo+ID4gPiArKysgYi9kb2MvcmVmX3BhcmFtZXRlci5yc3QKPiA+ID4g QEAgLTEyLDYgKzEyLDExIEBAIFBUWGRpc3QgaXMgYSBjb21tYW5kIGxpbmUgdG9vbCwgd2hpY2gg aXMgYmFzaWNhbGx5IGNhbGxlZCBhczoKPiA+ID4gIFNldHVwIGFuZCBQcm9qZWN0IEFjdGlvbnMK PiA+ID4gIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPiA+ID4gIAo+ID4gPiArYGBpbml0IDxw bGF0Zm9ybW5hbWU+YGAsIGBgaW5pdCBwbGF0Zm9ybSA8cGxhdGZvcm1uYW1lPmBgCj4gPiA+ICsg IGluaXRpYWxpc2UgYSBuZXcgQlNQIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgb3IgYWRkIGEg bmV3IHBsYXRmb3JtIHRvIHRoZQo+ID4gPiArICBjdXJyZW50IEJTUC4gVGhpcyBhY3Rpb24gY3Jl YXRlcyBhbGwgcmVxdWlyZWQgY29uZmlnIGZpbGVzLCBhbmQgdGhlbiBjYWxscwo+ID4gPiArICAq bWVudWNvbmZpZyogb24gdGhlbSwgYW5kIGNhbiBiZSB1c2VkIHRvIHN0YXJ0IGEgbmV3IEJTUCBm cm9tIHNjcmF0Y2guCj4gPiA+ICsKPiA+ID4gIGBgbWVudWBgCj4gPiA+ICAgIHRoaXMgc3RhcnRz IGEgZGlhbG9nIGJhc2VkIGZyb250ZW5kIGZvciB0aG9zZSB3aG8gZG8gbm90IGxpa2UgdHlwaW5n Cj4gPiA+ICAgIGNvbW1hbmRzLiBJdCB3aWxsIGdhaW4gdXMgYWNjZXNzIHRvIHRoZSBtb3N0IGNv bW1vbiBwYXJhbWV0ZXJzIHRvCj4gPiA+IGRpZmYgLS1naXQgYS9wbGF0Zm9ybXMvS2NvbmZpZy1p bml0IGIvcGxhdGZvcm1zL0tjb25maWctaW5pdAo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ ID4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjllNDI1NTZkNzdkMwo+ID4gPiAtLS0gL2Rldi9udWxs Cj4gPiA+ICsrKyBiL3BsYXRmb3Jtcy9LY29uZmlnLWluaXQKPiA+IAo+ID4gSSB0aGluayB0aGlz IChhbmQgdGhlIGRlZmNvbmZpZykgc2hvdWxkIGJlIHNvbWV3aGVyZSBpbiBjb25maWcvLgo+IAo+ IE5vdCBzdXJlLiBJIHB1dCBpdCBuZXh0IHRvIHRoZSBhbHJlYWR5IGV4aXN0aW5nIHBsYXRmb3Jt L0tjb25maWcsIHdoaWNoCj4gaXMgdXNlZCBhcyB0aGUgZmlsZV9rY29uZmlnIGluIHB0eGRfa2Nv bmZpZygpLCBzbyBJIHRoaW5rIGl0IGZpdHMgd2VsbAo+IGhlcmXigKYKCk1heWJlLCBidXQgdGhl IGRlZmF1bHQgY29uZmlnIHJlYWxseSBkb2Vzbid0IGZpdCBoZXJlLiBBbmQgSSdkIGxpa2UgdG8g a2VlcAp0aGVtIHRvZ2V0aGVyLgpBbHNvLCB0aGlzIGlzIGEgcmF0aGVyIHNwZWNpYWwgdXNlLWNh c2UgYW5kIEknZCBsaWtlIHRvIGtlZXAgcnVsZXMvIGFuZApwbGF0Zm9ybXMvIGNsZWFuLiBUaGVy ZSBhcmUgZW5vdWdoIGZpbGVzIHRoZXJlIGFscmVhZHkuCgoKPiA+ID4gQEAgLTAsMCArMSwxMyBA QAo+ID4gPiArIwo+ID4gPiArIyBhIGtjb25maWcgbWVudSBzdHJ1Y3R1cmUgdGhhdCBhc2tzIG9u bHkgYSBtaW5pbWFsIGFtb3VudCBvZiBxdWVzdGlvbnMgdG8KPiA+ID4gKyMgcXVpY2tseSBnZXQg c3RhcnRlZCB3aXRoIGEgbmV3IHBsYXRmb3JtCj4gPiA+ICsjCj4gPiA+ICtzb3VyY2UgImdlbmVy YXRlZC9wbGF0Zm9ybV92ZXJzaW9uLmluIgo+ID4gPiArc291cmNlICJwbGF0Zm9ybXMvYXJjaGl0 ZWN0dXJlLmluIgo+ID4gPiArc291cmNlICJwbGF0Zm9ybXMvdG9vbGNoYWluLmluIgo+ID4gPiAr Cj4gPiA+ICsjIGRlcGVuZGVuY2llcyBmb3Iga2VybmVsIHJ1bGU6Cj4gPiA+ICtzb3VyY2UgImdl bmVyYXRlZC9ob3N0dG9vbHNfbm9wcm9tcHQuaW4iCj4gPiA+ICtzb3VyY2UgImdlbmVyYXRlZC9o b3N0dG9vbHNfcGxhdGZvcm0uaW4iCj4gPiA+ICsKPiA+ID4gK3NvdXJjZSAicGxhdGZvcm1zL2tl cm5lbC5pbiIKPiA+ID4gZGlmZiAtLWdpdCBhL3BsYXRmb3Jtcy9pbml0X2RlZmNvbmZpZyBiL3Bs YXRmb3Jtcy9pbml0X2RlZmNvbmZpZwo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gPiBp bmRleCAwMDAwMDAwMDAwMDAuLjVlNDRjNTM2ZjMxNAo+ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ ICsrKyBiL3BsYXRmb3Jtcy9pbml0X2RlZmNvbmZpZwo+ID4gPiBAQCAtMCwwICsxLDE4IEBACj4g PiA+ICtQVFhDT05GX1BMQVRGT1JNX1ZFUlNJT049Ii0ke1BUWERJU1RfQlNQX0FVVE9WRVJTSU9O fSIKPiA+ID4gK1BUWENPTkZfQ09NUElMRVJfUFJFRklYX0tFUk5FTD0iJHtQVFhDT05GX0NPTVBJ TEVSX1BSRUZJWH0iCj4gPiA+ICtQVFhDT05GX0NPTVBJTEVSX1BSRUZJWF9CT09UTE9BREVSPSIk e1BUWENPTkZfQ09NUElMRVJfUFJFRklYfSIKPiA+ID4gK1BUWENPTkZfTElCQ19HTElCQz15Cj4g PiA+ICsjIFBUWENPTkZfTElCQ19VQ0xJQkMgaXMgbm90IHNldAo+ID4gPiArUFRYQ09ORl9LRVJO RUw9eQo+ID4gPiArIyBQVFhDT05GX0tFUk5FTF9NT0RVTEVTIGlzIG5vdCBzZXQKPiA+IAo+ID4g Tm8gbW9kdWxlcyBieSBkZWZhdWx0PyBUaGlzIHNlZW1zIHdyb25nLgo+IAo+IE1vZHVsZXMgZG9u J3Qgc2VlbSB0byBiZSBmcmVxdWVudGx5IHVzZWQgaW4gdGhlIGVtYmVkZGVkIHdvcmxkLiBCdXQg SQo+IGd1ZXNzIHdlIGNhbiBsZWF2ZSBpdCBvdXQgb2YgdGhlIGRlZmNvbmZpZyBhbmQgYXNrIGZv ciBpdCBpbnN0ZWFkLgoKSW4gbXkgZXhwZXJpZW5jZSwgZXZlbiBpbiB0aGUgZW1iZWRkZWQgd29y bGQgbW9zdCBkZXZpY2VzIHVzZSBtb2R1bGVzLiBBbmQKYW55IGtlcm5lbCBkZWZjb25maWcgZW5h YmxlcyBtb2R1bGVzIGFzIHdlbGwuCgo+ID4gPiArIyBQVFhDT05GX0tFUk5FTF9aU1REIGlzIG5v dCBzZXQKPiA+ID4gKyMgUFRYQ09ORl9LRVJORUxfWFogaXMgbm90IHNldAo+ID4gPiArIyBQVFhD T05GX0tFUk5FTF9MWk9QIGlzIG5vdCBzZXQKPiA+ID4gKyMgUFRYQ09ORl9LRVJORUxfTFo0IGlz IG5vdCBzZXQKPiA+ID4gKyMgUFRYQ09ORl9LRVJORUxfT1BFTlNTTCBpcyBub3Qgc2V0Cj4gPiA+ ICsjIFBUWENPTkZfS0VSTkVMX0xJQkVMRiBpcyBub3Qgc2V0Cj4gPiAKPiA+IEtlZXBpbmcgYWxs IG9mIHRob3NlIG9mZiBpcyBqdXN0IGFza2luZyBmb3IgdHJvdWJsZS4KPiA+IGUuZy4gUFRYQ09O Rl9LRVJORUxfTElCRUxGIGlzIG5lZWRlZCBieSBkZWZhdWx0IG9uIHg4Ngo+IAo+IE9LLCBJJ2xs IGhhdmUgdG8gbG9vayBpbnRvIHRoaXMuIFNpbmNlIHRoZSBwbGF0Zm9ybWNvbmZpZyBpcyBhZGRl ZAo+IGJlZm9yZSB0aGUga2VybmVsIGlzIGNvbmZpZ3VyZWQsIEknbSBub3QgcmVhbGx5IHN1cmUg d2hhdCB0byBkbyBoZXJlIGlmCj4gdXNlcnMgY29uZmlndXJlIHRoZWlyIGtlcm5lbCBlLmcuIHRv IHByb2R1Y2Ugc2lnbmVkIGltYWdlcywgYnV0Cj4gS0VSTkVMX09QRU5TU0wgaXMgZGlzYWJsZWQg aW4gcGxhdGZvcm1jb25maWcuIFRoZXkgd291bGQgbmVlZCB0byBlbmFibGUKPiB0aGF0IGFmdGVy d2FyZHMgYW55d2F5cy4gVW5sZXNzIHdlIGp1c3QgZW5hYmxlIGFsbCB0aG9zZSBLRVJORUxfKiBo b3N0Cj4gdG9vbHMgb3B0aW9ucyB1bmNvbmRpdGlvbmFsbHksIHdoaWNoIHdpbGwgYWx3YXlzIGRv IHRoZSByaWdodCB0aGluZywKPiBhbHRob3VnaCBsZWFkIHRvIGEgbG9uZ2VyIGJ1aWxkIHRpbWUu CgpKdXN0IGFzayB0aGUgdXNlci4gVGhpcyByZWFsbHkgbXVzdCBiZSBjb25maWd1cmVkIGNvcnJl Y3RseS4gVGhlc2Ugb3B0aW9ucwpleGlzdCBmb3IgYSByZWFzb24uCgo+ID4gPiArIyBQVFhDT05G X0tFUk5FTF9HQ0NfUExVR0lOUyBpcyBub3Qgc2V0Cj4gPiAKPiA+IFRoaXMgc2VlbXMgd3Jvbmcu IElmIHlvdSBkb24ndCBjYXJlIGFib3V0IHBsdWdpbnMsIHRoZW4gdGhleSBzaG91bGQgYmUKPiA+ IGRpc2FibGVkLiBPdGhlcndpc2UgdGhlIHF1ZXN0aW9uIHNob3VsZCBiZSBleHBsaWNpdC4KPiAK PiBPSy4KPiAKPiA+ID4gKyMgUFRYQ09ORl9LRVJORUxfQ09ORklHX0JBU0VfVkVSU0lPTiBpcyBu b3Qgc2V0Cj4gPiA+ICtQVFhDT05GX0tFUk5FTF9TRVJJRVM9InNlcmllcyIKPiA+ID4gK1BUWENP TkZfS0VSTkVMX0NPTkZJRz0ia2VybmVsY29uZmlnLSR7UFRYQ09ORl9LRVJORUxfVkVSU0lPTn0i Cj4gPiAKPiA+IEkgdGhvdWdodCBJIGNoYW5nZWQgdGhhdCBkZWZhdWx0LiBQbGVhc2UgY2hhbmdl IHRoaXMgYW5kIHRoZSBkZWZhdWx0IHZhbHVlCj4gPiB0byBqdXN0ICJrZXJuZWxjb25maWciLiBU aGUgdmVyc2lvbiBqdXN0IGNhdXNlcyBwcm9ibGVtcyBpbiBtb3N0IGNhc2VzLgo+IAo+IE9oLCBy aWdodC4gSSByZW1lbWJlciBhIGRpc2N1c3Npb24gYWJvdXQgaXQuCj4gCj4gPiA+ICtQVFhDT05G X0tFUk5FTF9FWFRSQV9NQUtFVkFSUz0iIgo+ID4gPiBkaWZmIC0tZ2l0IGEvcnVsZXMvS2NvbmZp Zy1pbml0IGIvcnVsZXMvS2NvbmZpZy1pbml0Cj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g PiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uMjM1NWQwNzBkZTliCj4gPiA+IC0tLSAvZGV2L251bGwK PiA+ID4gKysrIGIvcnVsZXMvS2NvbmZpZy1pbml0Cj4gPiAKPiA+IEFsc28gaW4gY29uZmlnLy4u Lgo+IAo+IFJpZ2h0LCBhZnRlciBoYXZpbmcgYSBsb29rIGF0IHB0eGRfa2NvbmZpZygpIGFnYWlu LCB0aGlzIG1ha2VzIHNlbnNlIHRvCj4gbWUgbm93Lgo+IAo+ID4gPiBAQCAtMCwwICsxLDYyIEBA Cj4gPiA+ICsjCj4gPiA+ICsjIGEga2NvbmZpZyBtZW51IHN0cnVjdHVyZSB0aGF0IGFza3Mgb25s eSBhIG1pbmltYWwgYW1vdW50IG9mIHF1ZXN0aW9ucyB0bwo+ID4gPiArIyBxdWlja2x5IGdldCBz dGFydGVkIHdpdGggYSBuZXcgQlNQCj4gPiA+ICsjCj4gPiA+ICtzb3VyY2UgInJ1bGVzL3B0eGRp c3QtZGdlbi5pbiIKPiA+ID4gK3NvdXJjZSAicnVsZXMvcHR4ZGlzdC12ZXJzaW9uLmluIgo+ID4g PiArc291cmNlICJnZW5lcmF0ZWQvcHR4ZGlzdF9vcHRpb25zLmluIgo+ID4gPiArCj4gPiA+ICtz b3VyY2UgInJ1bGVzL3Byb2plY3QtbmFtZS5pbiIKPiA+ID4gKwo+ID4gPiArIwo+ID4gPiArIyBz dHVicyBmb3Igb3B0aW9ucyB0aGF0IHdlIHdhbnQgdG8gYXNrIGZvciBvciBlbmFibGUgYnkgZGVm YXVsdCwgYnV0IG5vdCBhc2sKPiA+ID4gKyMgZm9yIGFsbCB0aGVpciBzdWJvcHRpb25zCj4gPiA+ ICsjCj4gPiA+ICsKPiA+ID4gK2NvbmZpZyBCVVNZQk9YCj4gPiA+ICsJZGVmYXVsdCB5Cj4gPiA+ ICsJYm9vbAo+ID4gPiArCj4gPiA+ICsjIGJ1c3lib3ggaW5zdGFsbHMgaW5pdCwgcG93ZXJvZmYs IGhhbHQgZXRjLiBieSBkZWZhdWx0LiBUaGlzIGNvbmZsaWN0cyB3aXRoCj4gPiA+ICsjIHN5c3Rl bWQsIGJ1dCBzaW5jZSBidXN5Ym94IGJyaW5ncyBpdHMgb3duIGtjb25maWcgbWVudSBpbi10cmVl LCB3ZSBjYW5ub3QKPiA+ID4gKyMgZWFzaWx5IGluZmx1ZW5jZSBpdHMgZGVmYXVsdHMuIFRoZXJl Zm9yZSB3ZSBmaXJzdCBkaXNhYmxlIHRob3NlIG9wdGlvbnMgaW4KPiA+ID4gKyMgaW5pdF9kZWZj b25maWcsIGFuZCBleHBsaWNpdGVseSBzZWxlY3QgdGhlbSB3aGVuIG5lZWRlZC4KPiA+ID4gKyMg Tm90ZTogdGhlc2Ugb3B0aW9uIG5lZWQgdG8gaGF2ZSBhIHByb21wdCwgb3RoZXJ3aXNlIGtjb25m aWcgZG9lc24ndCB3cml0ZSB0aGVtCj4gPiA+ICsjIHRvIHRoZSBjb25maWcgZmlsZSBpZiB0aGV5 IGFyZSBkaXNhYmxlZCwgYW5kIGJ1c3lib3gncyBkZWZhdWx0IHdpbGwga2ljayBpbi4KPiA+ID4g K2NvbmZpZyBCVVNZQk9YX0hBTFQKPiA+ID4gKwlib29sICJidXN5Ym94IC91c3Ivc2Jpbi9oYWx0 Igo+ID4gPiArY29uZmlnIEJVU1lCT1hfSU5JVAo+ID4gPiArCWJvb2wgImJ1c3lib3ggL3Vzci9z YmluL2luaXQiCj4gPiA+ICtjb25maWcgQlVTWUJPWF9QT1dFUk9GRgo+ID4gPiArCWJvb2wgImJ1 c3lib3ggL3Vzci9zYmluL3Bvd2Vyb2ZmIgo+ID4gPiArY29uZmlnIEJVU1lCT1hfUkVCT09UCj4g PiA+ICsJYm9vbCAiYnVzeWJveCAvdXNyL3NiaW4vcmVib290Igo+ID4gPiArY29uZmlnIEJVU1lC T1hfUlVOTEVWRUwKPiA+ID4gKwlib29sICJidXN5Ym94IC91c3Ivc2Jpbi9ydW5sZXZlbCIKPiA+ IAo+ID4gSSB0aGluayB3ZSBzaG91bGQgbG9vayBhdCBteSBleHBlcmltZW50cyB0byBwYXRjaCB0 aGUgYnVzeWJveCBLY29uZmlnIGZpbGVzCj4gPiBkdXJpbmcgaW1wb3J0LiBXZSBjYW5ub3QgY2hh bmdlIHRoZSBkZXBlbmRlbmNpZXMsIGJ1dCBjaGFuZ2luZyB0aGUgZGVmYXVsdHMKPiA+IGlzIG9r Lgo+ID4gQnV0IEknbSBub3Qgc3VyZSBpZiBteSBzZWQgc2NyaXB0aW5nIGlzIGVub3VnaCBmb3Ig dGhpcy4KPiAKPiBBcmUgdGhlcmUgcGF0Y2hlcyBhbnl3aGVyZSBJIGNhbiBsb29rIGF0IGl0PyA6 LSkKCkhtbW0sIGl0J3MgYmVlbiBhIHdoaWxlLiBJIG5lZWQgdG8gZmluZCB0aGF0IGJyYW5jaCBh Z2Fpbi4uLgoKPiA+ID4gK2Nob2ljZQo+ID4gPiArCXByb21wdCAiaW5pdCBtZXRob2QiCj4gPiA+ ICsJZGVmYXVsdCBJTklUTUVUSE9EX1NZU1RFTUQKPiA+ID4gKwo+ID4gPiArCWNvbmZpZyBJTklU TUVUSE9EX0JCSU5JVAo+ID4gPiArCQlib29sCj4gPiA+ICsJCXByb21wdCAiYnVzeWJveCBpbml0 ICAgICIKPiA+ID4gKwkJc2VsZWN0IEJVU1lCT1hfSEFMVAo+ID4gPiArCQlzZWxlY3QgQlVTWUJP WF9JTklUCj4gPiA+ICsJCXNlbGVjdCBCVVNZQk9YX1BPV0VST0ZGCj4gPiA+ICsJCXNlbGVjdCBC VVNZQk9YX1JFQk9PVAo+ID4gPiArCQlzZWxlY3QgQlVTWUJPWF9SVU5MRVZFTAo+ID4gPiArCj4g PiA+ICsJY29uZmlnIElOSVRNRVRIT0RfU1lTVEVNRAo+ID4gPiArCQlib29sCj4gPiA+ICsJCXBy b21wdCAic3lzdGVtZCAgICAgICAgICIKPiA+ID4gKwo+ID4gPiArCWNvbmZpZyBJTklUTUVUSE9E X0lOSVRSQU1GUwo+ID4gPiArCQlib29sCj4gPiA+ICsJCXByb21wdCAiaW5pdHJhbWZzIGluaXQg ICIKPiA+ID4gKwkJc2VsZWN0IEJVU1lCT1hfSEFMVAo+ID4gPiArCQlzZWxlY3QgQlVTWUJPWF9J TklUCj4gPiA+ICsJCXNlbGVjdCBCVVNZQk9YX1BPV0VST0ZGCj4gPiA+ICsJCXNlbGVjdCBCVVNZ Qk9YX1JFQk9PVAo+ID4gPiArCQlzZWxlY3QgQlVTWUJPWF9SVU5MRVZFTAo+ID4gCj4gPiBJIGRv bid0IHRoaW5rIHRoZSBkZXBlbmRlbmNpZXMgbWFrZSBzZW5zZSBoZXJlLgo+IAo+IEkgaGF2ZSBu byBleHBlcmllbmNlIHdpdGggaW5pdHJhbWZzLXRvb2xzIHRvIGJlIGhvbmVzdCwgYnV0IHdobyB3 aWxsCj4gc3VwcGx5IC9zYmluL2hhbHQsIC9zYmluL3Bvd2Vyb2ZmIGV0Yy4gaW4gdGhpcyBjYXNl IGlmIG5vdCBidXN5Ym94PwoKaW5pdHJhbWZzLXRvb2xzIHByb3ZpZGUgL2luaXQgYW5kIHRoYXQg aXMgdXNlZCBhbnl3YXlzIHdoZW4gc3RhcnRpbmcgd2l0aAphbiBpbml0cmFtZnMuCgo+ID4gPiAr ZW5kY2hvaWNlCj4gPiA+IGRpZmYgLS1naXQgYS9ydWxlcy9pbml0X2RlZmNvbmZpZyBiL3J1bGVz L2luaXRfZGVmY29uZmlnCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAw MDAwMDAwMDAwMC4uOWZhOWFiMDBhNjBiCj4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gKysrIGIv cnVsZXMvaW5pdF9kZWZjb25maWcKPiA+ID4gQEAgLTAsMCArMSwyMSBAQAo+ID4gPiArIyBQVFhD T05GX0FMTFlFUyBpcyBub3Qgc2V0Cj4gPiA+ICsjIFBUWENPTkZfQlJPS0VOIGlzIG5vdCBzZXQK PiA+ID4gK1BUWENPTkZfRklYX1BFUk1JU1NJT05TPXkKPiA+ID4gK1BUWENPTkZfUFJPSkVDVF9W RVJTSU9OPSItJHtQVFhESVNUX0JTUF9BVVRPVkVSU0lPTn0iCj4gPiA+ICsjIFBUWENPTkZfUFJP SkVDVF9DUkVBVEVfREVWUEtHUyBpcyBub3Qgc2V0Cj4gPiA+ICsjIFBUWENPTkZfUFJPSkVDVF9V U0VfREVWUEtHUyBpcyBub3Qgc2V0Cj4gPiA+ICtQVFhDT05GX1BST0pFQ1RfREVWUEtHRElSPSIi Cj4gPiA+ICtQVFhDT05GX1BST0pFQ1RfREVWTUlSUk9SPSIiCj4gPiA+ICsjIFBUWENPTkZfUFJP SkVDVF9DSEVDS19MSUNFTlNFUyBpcyBub3Qgc2V0Cj4gPiA+ICtQVFhDT05GX1JFUFJPRFVDSUJM RV9USU1FU1RBTVBfUFRYRElTVD15Cj4gPiA+ICsjIFBUWENPTkZfUkVQUk9EVUNJQkxFX1RJTUVT VEFNUF9UT09MQ0hBSU4gaXMgbm90IHNldAo+ID4gPiArIyBQVFhDT05GX1JFUFJPRFVDSUJMRV9U SU1FU1RBTVBfQ1VTVE9NIGlzIG5vdCBzZXQKPiA+ID4gKyMgUFRYQ09ORl9SRVBST0RVQ0lCTEVf VElNRVNUQU1QX1NUUklORyBpcyBub3Qgc2V0Cj4gPiA+ICtQVFhDT05GX0RFQlVHX1BBQ0tBR0VT PXkKPiA+ID4gKyMgaW5pdG1ldGhvZCB3aWxsIGVuYWJsZSB0aGUgZm9sbG93aW5nIGJ1c3lib3gg dG9vbHMgaWYgbmVlZGVkOgo+ID4gPiArIyBQVFhDT05GX0JVU1lCT1hfSEFMVCBpcyBub3Qgc2V0 Cj4gPiA+ICsjIFBUWENPTkZfQlVTWUJPWF9JTklUIGlzIG5vdCBzZXQKPiA+ID4gKyMgUFRYQ09O Rl9CVVNZQk9YX1BPV0VST0ZGIGlzIG5vdCBzZXQKPiA+ID4gKyMgUFRYQ09ORl9CVVNZQk9YX1JF Qk9PVCBpcyBub3Qgc2V0Cj4gPiA+ICsjIFBUWENPTkZfQlVTWUJPWF9SVU5MRVZFTCBpcyBub3Qg c2V0Cj4gPiA+ICsjIFBUWENPTkZfU1RBR0lORyBpcyBub3Qgc2V0Cj4gPiAKPiA+IEhvdyBjYW4g d2Uga2VlcCB0aGVzZSBmaWxlcyB1cC10by1kYXRlPwo+IAo+IEkgZ3Vlc3MgbGlrZSBmb3IgZXZl cnl0aGluZyBlbHNlOiBwYXRjaGVzIG9yIGJ1ZyByZXBvcnRzIGlmIHNvbWVvbmUKPiBub3RpY2Vz IHRoYXQgaXQncyBicm9rZW4uIEFuZCB0aGUgb25seSB3YXkgaXQgY2FuIGJyZWFrIHdpbGwganVz dCBsZWFkCj4gdG8gbW9yZSB1bm5lY2Vzc2FyeSBxdWVzdGlvbnMgYmVpbmcgYXNrZWQsIHdoaWNo IGlzIGEgYml0IGFubm95aW5nIGJ1dAo+IG5vdCBhIHRyYWdlZHksIG9yIGRlZmF1bHRzIGZyb20g dGhlIEtjb25maWcgb3B0aW9ucyBiZWluZyB1c2VkLCB3aGljaAo+IHNob3VsZCBiZSBmaW5lLgoK VGhpcyBqdXN0IGhlbHBzIGZvciBuZXcgb3B0aW9ucywgbm90IG9sZCBvbmVzLiBUaG9zZSBqdXN0 IHBpbGUgdXAuCgo+IEFsdGVybmF0aXZlbHkgSSB0aGluayBrY29uZmlnIGhhcyBhICJzYXZlX2Rl ZmNvbmZpZyIgZnVuY3Rpb24gd2hpY2gKPiBjb3VsZCBoZWxwIHVzLgoKVGhlIHByb2JsZW0gaXMg dGhhdCB3ZSB3YW50IHRvIHByb3ZpZGUgZGVmYXVsdHMgb25seSBmb3Igc29tZSBvZiB0aGUKb3B0 aW9ucy4KCj4gPiA+IGRpZmYgLS1naXQgYS9ydWxlcy9pbml0bWV0aG9kLmluIGIvcnVsZXMvaW5p dG1ldGhvZC5pbgo+ID4gPiBpbmRleCBiOGMwYjlmOTdiMzAuLjYwNGZhZTNiNGY3YiAxMDA2NDQK PiA+ID4gLS0tIGEvcnVsZXMvaW5pdG1ldGhvZC5pbgo+ID4gPiArKysgYi9ydWxlcy9pbml0bWV0 aG9kLmluCj4gPiA+IEBAIC0xMCw2ICsxMCw5IEBAIG1lbnVjb25maWcgSU5JVE1FVEhPRAo+ID4g PiAgaWYgSU5JVE1FVEhPRAo+ID4gPiAgCj4gPiA+ICBjaG9pY2UKPiA+ID4gKwkjCj4gPiA+ICsJ IyBOT1RFOiBpZiB5b3UgYWRkIG9wdGlvbnMgaGVyZSwgYWxzbyBhZGQgdGhlbSB0byBydWxlcy9p bml0X2RlZmNvbmZpZwo+ID4gPiArCSMKPiAKPiBPciBzaG91bGQgSSBhZGQgbW9yZSBjb21tZW50 cyBsaWtlIHRoaXPigKY/CgpJIGRvbid0IHRoaW5rIHRoYXQgd2lsbCBoZWxwLgoKPiA+ID4gIAlw cm9tcHQgImluaXQgbWV0aG9kIgo+ID4gPiAgCWRlZmF1bHQgSU5JVE1FVEhPRF9TWVNURU1ECj4g PiA+ICAKPiA+ID4gZGlmZiAtLWdpdCBhL3NjcmlwdHMvbGliL3B0eGRfbGliX2luaXQuc2ggYi9z Y3JpcHRzL2xpYi9wdHhkX2xpYl9pbml0LnNoCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g PiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uNTRmY2I0ZDI3ZWVlCj4gPiA+IC0tLSAvZGV2L251bGwK PiA+ID4gKysrIGIvc2NyaXB0cy9saWIvcHR4ZF9saWJfaW5pdC5zaAo+ID4gPiBAQCAtMCwwICsx LDk2IEBACj4gPiA+ICsjIS9iaW4vYmFzaAo+ID4gPiArCj4gPiA+ICtwdHhkX2xpYl9pbml0X2No ZWNrKCkgewo+ID4gPiArCWlmIFsgLXogIiR7UFRYRElTVF9QVFhDT05GSUd9IiBdOyB0aGVuCj4g PiA+ICsJCWVjaG8KPiA+ID4gKwkJZWNobyAiJHtQVFhESVNUX0xPR19QUk9NUFR9ZXJyb3I6IGNh bm5vdCBjcmVhdGUgZW1wdHkgcHR4Y29uZmlnIGZpbGUuIgo+ID4gPiArCQllY2hvCj4gPiA+ICsJ CXJldHVybiAxCj4gPiA+ICsJZmkKPiA+ID4gKwo+ID4gPiArCWlmIFsgLXogIiR7UFRYRElTVF9G T1JDRX0iIF0gJiYgWyAtZSAiJHtQVFhESVNUX1BUWENPTkZJR30iIF07IHRoZW4KPiA+ID4gKwkJ ZWNobwo+ID4gPiArCQllY2hvICIke1BUWERJU1RfTE9HX1BST01QVH1lcnJvcjogdGhlIGZpbGUg JyR7UFRYRElTVF9QVFhDT05GSUd9JyBhbHJlYWR5IGV4aXN0cywiCj4gPiA+ICsJCWVjaG8gIiR7 UFRYRElTVF9MT0dfUFJPTVBUfSAgICAgICB1c2UgJy0tZm9yY2UnIHRvIG92ZXJ3cml0ZSBpdC4i Cj4gPiA+ICsJCWVjaG8KPiA+ID4gKwkJcmV0dXJuIDEKPiA+ID4gKwlmaQo+ID4gPiArCj4gPiA+ ICsJaWYgWyAteiAiJHtQVFhESVNUX0ZPUkNFfSIgXSAmJiBbIC1lICIke1BUWERJU1RfUFRYQ09O RklHX0RFRkFVTFR9IiBdOyB0aGVuCj4gPiA+ICsJCWVjaG8KPiA+ID4gKwkJZWNobyAiJHtQVFhE SVNUX0xPR19QUk9NUFR9ZXJyb3I6IHRoZSBmaWxlICcke1BUWERJU1RfUFRYQ09ORklHX0RFRkFV TFR9JyBhbHJlYWR5IGV4aXN0cywiCj4gPiA+ICsJCWVjaG8gIiR7UFRYRElTVF9MT0dfUFJPTVBU fSAgICAgICB1c2UgJy0tZm9yY2UnIHRvIG92ZXJ3cml0ZSBpdC4iCj4gPiA+ICsJCWVjaG8KPiA+ ID4gKwkJcmV0dXJuIDEKPiA+ID4gKwlmaQo+ID4gPiArfQo+ID4gPiArZXhwb3J0IC1mIHB0eGRf bGliX2luaXRfY2hlY2sKPiA+ID4gKwo+ID4gPiArcHR4ZF9saWJfaW5pdCgpIHsKPiA+ID4gKwlw dHhkX2xpYl9pbml0X2NoZWNrICYmCj4gPiA+ICsKPiA+ID4gKwlta2RpciAtcCAiJChkaXJuYW1l ICIke1BUWERJU1RfUFRYQ09ORklHfSIpIiAmJgo+ID4gPiArCWNhdCAiJHtQVFhESVNUX1RPUERJ Un0vcnVsZXMvaW5pdF9kZWZjb25maWciID4gIiR7UFRYRElTVF9QVFhDT05GSUd9IiAmJgo+ID4g PiArCj4gPiA+ICsJUFRYRElTVF9GT1JDRT10cnVlIGRvX3NlbGVjdCBwdHhjb25maWcgIiR7UFRY RElTVF9QVFhDT05GSUd9IiAmJgo+ID4gPiArCj4gPiA+ICsJIyBvbmx5IGFzayB0aGUgaW1wb3J0 YW50IHF1ZXN0aW9ucyBmaXJzdCwgdGhlbiBkbyBzaWxlbnRkZWZjb25maWcgZm9yCj4gPiA+ICsJ IyBhbGwgb3RoZXIgb3B0aW9ucwo+ID4gPiArCVBUWERJU1RfREVQX1RBUkdFVD0iYWxsIiBwdHhk X2tjb25maWcgb2xkY29uZmlnICJpbml0LXB0eCIgJiYKPiA+ID4gKwo+ID4gPiArCSMgLi4uIHRo ZW4gZG8gYSBzaWxlbnQgZGVmY29uZmlnIGZvciBhbGwgb3RoZXIgZGVmYXVsdHMKPiA+ID4gKwlQ VFhESVNUX0RFUF9UQVJHRVQ9ImFsbCIgUFRYRElTVF9GT1JDRT10cnVlIFwKPiA+ID4gKwkJeWVz ICcnIHwgcHR4ZF9rY29uZmlnIG9sZGNvbmZpZyBwdHggPiAvZGV2L251bGwKPiA+IAo+ID4gSSB0 aGluayB3ZSBjYW4gdXNlIGFsbGRlZmNvbmZpZyBoZXJlLgo+IAo+IEkgaGFkIHRoaXMgaW4gbXkg Zmlyc3QgZHJhZnQsIGJ1dCBhbGxkZWZjb25maWcgd2lsbCByZXNldCBhbGwgcHJldmlvdXNseQo+ IHByZS1wcmltZWQgb3B0aW9ucyBmcm9tIHRoZSBpbml0X2RlZmNvbmZpZyB0byB0aGVpciByZXNw ZWN0aXZlIGRlZmF1bHRzCj4gYXMgZGVmaW5lZCBpbiBLY29uZmlnLCBhbmQgd2UgZG9uJ3Qgd2Fu dCB0aGF0IGhlcmUuCgpZb3UgbmVlZCB0byBzZXQ6CgpLQ09ORklHX0FMTENPTkZJRz0vZnVsbC9w YXRoL3RvL2luaXRpYWwvY29uZmlnCgpNaWNoYWVsCgotLSAKUGVuZ3V0cm9uaXggZS5LLiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKU3Rl dWVyd2FsZGVyIFN0ci4gMjEgICAgICAgICAgICAgICAgICAgICAgIHwgaHR0cDovL3d3dy5wZW5n dXRyb25peC5kZS8gIHwKMzExMzcgSGlsZGVzaGVpbSwgR2VybWFueSAgICAgICAgICAgICAgICAg IHwgUGhvbmU6ICs0OS01MTIxLTIwNjkxNy0wICAgIHwKQW10c2dlcmljaHQgSGlsZGVzaGVpbSwg SFJBIDI2ODYgICAgICAgICAgIHwgRmF4OiAgICs0OS01MTIxLTIwNjkxNy01NTU1IHwKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnB0eGRpc3QgbWFpbGlu ZyBsaXN0CnB0eGRpc3RAcGVuZ3V0cm9uaXguZGUKVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtYWls IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiIHRvIHB0eGRpc3QtcmVxdWVzdEBwZW5ndXRyb25p eC5kZQo=