From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbguseast1.qq.com (smtpbguseast1.qq.com [54.204.34.129]) by sourceware.org (Postfix) with ESMTPS id 267BE3858D33 for ; Mon, 13 Feb 2023 09:04:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 267BE3858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp63t1676279053tacb11xa Received: from LAPTOP-EPITNQBU ( [58.60.1.3]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 13 Feb 2023 17:04:12 +0800 (CST) X-QQ-SSF: 01400000000000E0L000000A0000000 X-QQ-FEAT: 7GDGdS/nbMSN70YWtmTCnxw7Oo2FXYb8lHk8lc7MMvnoQJA0d7jZrSs8mFGY1 1B1Ar3FYEr222R7Wb61FJsbMpczAJL7EW6EEBqicbkWcXnvtTJToFfy+GFRHsJdZHOaGJIG tBCBNR7xTmPaFi8av5qnu1xgAcd215cQlWqTl8StXh6IgR3pm18xwSYE1i624mrwWGX2DJR MRhGVCEIcTVR81it9qlAfXDWF3Ef7GS6pYcCcvRw+hEbTjugQLdeu88KSspNIBxVgflpXsb t56WYZUNXBhyczVSwymAi46mHVCtJRV/z439bOkcxYHso7ON2NOI+SIpBqmqNWredytKdso bPsGkeoXv6TL0PcNecBKHZMyL1nOpBYLb4z3HPc6cS2+NKqGHK+d4zUDBjyasjNCoXT+D98 TKHm/4DNKjQS5xrW6tAJo+qY+/F60POY X-QQ-GoodBg: 2 Date: Mon, 13 Feb 2023 17:04:12 +0800 From: "juzhe.zhong@rivai.ai" To: rguenther Cc: incarnation.p.lee , gcc-patches , Kito.cheng , richard.sandiford , ams Subject: Re: Re: [PATCH] RISC-V: Bugfix for mode tieable of the rvv bool types References: , , , <869B9CDC6210FDAD+20230213161951079936108@rivai.ai>, X-Priority: 3 X-GUID: 94A51503-41EB-4EEC-A149-EF09AED44302 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <0BD7CBE07CF99937+20230213170411999604112@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart481486751170_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SCC_10_SHORT_WORD_LINES,SCC_20_SHORT_WORD_LINES,SCC_35_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart481486751170_=---- Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: base64 SSBhbSBub3Qgc3VyZSBjaGFuZ2luZyB0aGUgcHJlY2lzaW9uIGlubmVyIG1v ZGUgb2YgQkltb2RlIGlzIGNvcnJlY3QgZm9yIFJWVi4NClNpbmNlIGJ5IGRl ZmluaXRpb24gLCBlYWNoIHNpbmdsZSAxLWJpdCBtYXNrIGluIFJWViBtYXNr IGxheW91dCBhcmUgY29uc2VjdXRpdmUuDQpNYXliZSB3ZSBjYW4gd2FpdCBm b3IgS2l0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiA/ICANCg0KDQoNCmp1emhl Lnpob25nQHJpdmFpLmFpDQogDQpGcm9tOiBSaWNoYXJkIEJpZW5lcg0KRGF0 ZTogMjAyMy0wMi0xMyAxNjo0Ng0KVG86IGp1emhlLnpob25nQHJpdmFpLmFp DQpDQzogaW5jYXJuYXRpb24ucC5sZWU7IGdjYy1wYXRjaGVzOyBLaXRvLmNo ZW5nOyByaWNoYXJkLnNhbmRpZm9yZDsgYW1zDQpTdWJqZWN0OiBSZTogUmU6 IFtQQVRDSF0gUklTQy1WOiBCdWdmaXggZm9yIG1vZGUgdGllYWJsZSBvZiB0 aGUgcnZ2IGJvb2wgdHlwZXMNCk9uIE1vbiwgMTMgRmViIDIwMjMsIGp1emhl Lnpob25nQHJpdmFpLmFpIHdyb3RlOg0KIA0KPiA+PiBCdXQgdGhlbiBHRVRf TU9ERV9QUkVDSVNJT04gKEdFVF9NT0RFX0lOTkVSICguLikpIHNob3VsZCBh bHdheXMgYmUgMT8NCj4gWWVzLCBJIHRoaW5rIHNvLg0KPiANCj4gTGV0J3Mg ZXhwbGFpbiBSVlYgbW9yZSBjbGVhcmx5Lg0KPiBMZXQncyBzdXBwb3NlIHdl IGhhdmUgdmVjdG9yLWxlbmd0aCA9IDY0Yml0cyBpbiBSVlYgQ1BVLg0KPiBW TngxQkkgaXMgZXhhY3RseSAxIGNvbnNlY3V0aXZlIGJpdHMuDQo+IFZOeDJC SSBpcyBleGFjdGx5IDIgY29uc2VjdXRpdmUgYml0cy4NCj4gVk54NEJJIGlz IGV4YWN0bHkgNCBjb25zZWN1dGl2ZSBiaXRzLg0KPiBWTng4QkkgaXMgZXhh Y3RseSA4IGNvbnNlY3V0aXZlIGJpdHMuDQo+IA0KPiBGb3IgVk54MUJJICh2 Ym9vbDY0X3QgKSwgd2UgbG9hZCBpdCB3aWNoIHRoaXMgYXNtOg0KPiB2c2V0 dmwgZThtZjgNCj4gdmxtLnYNCj4gDQo+IEZvciBWTngyQkkgKHZib29sMzJf dCApLCB3ZSBsb2FkIGl0IHdpY2ggdGhpcyBhc206DQo+IHZzZXR2bCBlOG1m NA0KPiB2bG0udg0KPiANCj4gRm9yIFZOeDRCSSAodmJvb2wxNl90ICksIHdl IGxvYWQgaXQgd2ljaCB0aGlzIGFzbToNCj4gdnNldHZsIGU4bWYyDQo+IHZs bS52DQo+IA0KPiBGb3IgVk54OEJJICh2Ym9vbDhfdCApLCB3ZSBsb2FkIGl0 IHdpY2ggdGhpcyBhc206DQo+IHZzZXR2bCBlOG0xDQo+IHZsbS52DQo+IA0K PiBJbiBjYXNlIG9mIHRoaXMgY29kZSBzZXF1ZW5jZToNCj4gdmJvb2wxNl90 IHY0ID0gKih2Ym9vbDE2X3QgKilpbjsNCj4gdmJvb2w4X3QgdjMgPSAqKHZi b29sOF90KilpbjsNCj4gDQo+IFNpbmNlIFZOeDRCSSAodmJvb2wxNl90ICkg aXMgc21hbGxlciB0aGFuIFZOeDhCSSAodmJvb2w4X3QgKQ0KPiBXZSBjYW4n dCBqdXN0IHVzZSB0aGUgZGF0YSBsb2FkZWQgYnkgVk54NEJJICh2Ym9vbDE2 X3QgKSBpbiAgVk54OEJJICh2Ym9vbDhfdCApLg0KPiBCdXQgd2UgY2FuIHVz ZSB0aGUgZGF0YSBsb2FkZWQgYnkgVk54OEJJICh2Ym9vbDhfdCAgKSBpbiAg Vk54NEJJICh2Ym9vbDE2X3QgKS4NCj4NCj4gSW4gdGhpcyBleGFtcGxlLCBH Q0MgdGhpbmtzIGRhdGEgbG9hZGVkIGZvciB2Ym9vbDhfdCB2MyBjYW4gYmUg cmVwbGFjZWQgYnkgdmJvb2wxNl90IHY0IHdoaWNoIGlzIGFscmVhZHkgbG9h ZGVkDQo+IEl0J3MgaW5jb3JyZWN0IGZvciBSVlYuDQogDQpPSywgc28gdGhl ICd2bG0udicgaW5zdHJ1Y3Rpb24gd2lsbCB6ZXJvIHRoZSBwYWRkaW5nIGJp dHMgKGFjY29yZGluZyB0bw0KdnNldHZsKSwgYnV0IEkgZG91YnQgdGhlIG1l bW9yeSBzdWJzeXN0ZW0gd2lsbCBub3QgbG9hZCBhIHdob2xlIGJ5dGUuDQog DQpUaGVuIEdFVF9NT0RFX1BSRUNJU0lPTiBvZiBWTng0QkkgaGFzIHRvIGJl IHNtYWxsZXIgdGhhbiANCkdFVF9NT0RFX1BSRUNJU0lPTiBvZiBWTng4Qkks IGV2ZW4gaWYgdGhlaXIgc2l6ZSBpcyB0aGUgc2FtZS4NCiANCkkgc3VwcG9z ZSB0aGF0IEFESlVTVF9OVU5JVFMgc2hvdWxkIGJlIGFibGUgdG8gZG8gdGhp cywgYnV0IHRoZW4gd2UNCmhhdmUgaW4gYWFyY2g2NC1tb2Rlcy5kZWYNCiAN ClZFQ1RPUl9CT09MX01PREUgKFZOeDE2QkksIDE2LCBCSSwgMik7DQpWRUNU T1JfQk9PTF9NT0RFIChWTng4QkksIDgsIEJJLCAyKTsNClZFQ1RPUl9CT09M X01PREUgKFZOeDRCSSwgNCwgQkksIDIpOw0KVkVDVE9SX0JPT0xfTU9ERSAo Vk54MkJJLCAyLCBCSSwgMik7DQogDQpBREpVU1RfTlVOSVRTIChWTngxNkJJ LCBhYXJjaDY0X3N2ZV92ZyAqIDgpOw0KQURKVVNUX05VTklUUyAoVk54OEJJ LCBhYXJjaDY0X3N2ZV92ZyAqIDQpOw0KQURKVVNUX05VTklUUyAoVk54NEJJ LCBhYXJjaDY0X3N2ZV92ZyAqIDIpOw0KQURKVVNUX05VTklUUyAoVk54MkJJ LCBhYXJjaDY0X3N2ZV92Zyk7DQogDQpzbyBhbGwgVk54TUJJIG1vZGVzIGFy ZSAyIGJ5dGVzIGluIHNpemUgYnV0IHRoZWlyIGNvbXBvbmVudCBpcyBhbHdh eXMNCkJJbW9kZSBidXQgSUlSQyB0aGUgZWxlbWVudHMgb2YgVk54MkJJbW9k ZSBvY2N1cHkgNCBiaXRzIGVhY2g/DQogDQpGb3IgcmlzY3Ygd2UgaGF2ZQ0K IA0KVkVDVE9SX0JPT0xfTU9ERSAoVk54MUJJLCAxLCBCSSwgMSk7DQpBREpV U1RfTlVOSVRTIChWTngxQkksIHJpc2N2X3ZfYWRqdXN0X251bml0cyAoVk54 MUJJbW9kZSwgMSkpOw0KIA0Kc28gaGVyZSBpdCB3b3VsZCBiZSBuYXR1cmFs IHRvIHNldCB0aGUgbW9kZSBwcmVjaXNpb24gdG8NCmEgcG9seS1pbnQgY29t cHV0ZWQgYnkgdGhlIGNvbXBvbmVudCBwcmVjaXNpb24gdGltZXMgbnVuaXRz PyAgT1RPSA0Kd2UgaGF2ZSB0byBsb29rIGF0IHRoZSBjb21wb25lbnQgcHJl Y2lzaW9uIHZzLiBzaXplIGFzIHdlbGwgYW5kDQogDQovKiBTaW5nbGUgYml0 IG1vZGUgdXNlZCBmb3IgYm9vbGVhbnMuICAqLyANCkJPT0xfTU9ERSAoQkks IDEsIDEpOyANCiANCkJPT0xfTU9ERSBpcyBub3QgZG9jdW1lbnRlZCwgYnV0 IGl0cyBwcmVjaXNpb24gYW5kIHNpemUsIHNvIEJJbW9kZQ0KaGFzIGEgc2l6 ZSBvZiAxLiAgVGhhdCBtYWtlcyBWRUNUT1JfQk9PTF9NT0RFIHZlcnkgc3Bl Y2lhbCBzaW5jZQ0KdGhlIGxheW91dCBpc24ndCBkZXJpdmVkIGZyb20gdGhl IGNvbXBvbmVudCBtb2RlLiAgRGVyaXZpbmcgdGhlDQpsYXlvdXQgZnJvbSB0 aGUgcHJlY2lzaW9uIHdvdWxkIG1ha2UgYWFyY2g2NCBpbmNvcnJlY3QgYW5k DQp3b3VsZCBuZWVkIEJJMiBhbmQgQkk0IG1vZGVzIGF0IGxlYXN0Lg0KIA0K QWRkaW5nIGEgcGFyYW1ldGVyIHRvIEFESlVTVF9OVU5JVFMgbWlnaHQgYmUg dGhlIHdheSB0byBnbyBpbnN0ZWFkLA0Kc3BlY2lmeWluZyB0aGUgbnVtYmVy IG9mIGJpdHMgaW4gYSBjb21wb25lbnQ/DQogDQpSaWNoYXJkLg0KIA0KIA0K PiBNYXliZSBAa2l0byBjYW4gZ2l2ZSB1cyBtb3JlIGluZm9ybWF0aW9uIGFi b3V0IFJWViBJU0EgaWYgSSBkb24ndCBleHBsYWluIGl0IGNsZWFybHkuDQo+ IA0KPiANCj4ganV6aGUuemhvbmdAcml2YWkuYWkNCj4gIA0KPiBGcm9tOiBS aWNoYXJkIEJpZW5lcg0KPiBEYXRlOiAyMDIzLTAyLTEzIDE2OjA3DQo+IFRv OiBqdXpoZS56aG9uZw0KPiBDQzogUGFuIExpOyBnY2MtcGF0Y2hlczsga2l0 by5jaGVuZzsgcmljaGFyZC5zYW5kaWZvcmQ7IGFtcw0KPiBTdWJqZWN0OiBS ZTogW1BBVENIXSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgbW9kZSB0aWVhYmxlIG9m IHRoZSBydnYgYm9vbCB0eXBlcw0KPiBPbiBTYXQsIDExIEZlYiAyMDIzLCBq dXpoZS56aG9uZ0ByaXZhaS5haSB3cm90ZToNCj4gIA0KPiA+IFRoYW5rcyBm b3IgY29udHJpYnV0aW5nIHRoaXMuDQo+ID4gSGksIFJpY2hhcmQuIENhbiB5 b3UgaGVscCB1cyB3aXRoIHRoaXMgaXNzdWU/DQo+ID4gSW4gUlZWLCB3ZSBo YXZlIHZib29sOF90IChWTng4Qkltb2RlKSwgdmJvb2wxNl90IChWTng0Qklt b2RlKSwgdmJvb2wzMl90IChWTngyQkltb2RlKSwgdmJvb2w2NF90IChWTngx Qkltb2RlKQ0KPiA+IFNpbmNlIHdlIGFyZSB1c2luZyAxYml0LW1hc2sgd2hp Y2ggaXMgMS1CT09MIG9jY3VweSAxYml0Lg0KPiA+IEFjY29yZGluZyB0byBS VlYgSVNBLCB3ZSBhZGp1c3QgdGhlc2UgbW9kZXMgYXMgZm9sbG93czoNCj4g PiANCj4gPiBWTng4Qkltb2RlIHBvbHkgKDgsOCkgTlVOVFRTIChlYWNoIG51 bml0cyBpcyAxYml0IG1hc2spDQo+ID4gVk54NEJJbW9kZSBwb2x5KDQsNCkg TlVOVFRTIChlYWNoIG51bml0cyBpcyAxYml0IG1hc2spDQo+ID4gVk54MkJJ bW9kZSBwb2x5KDIsMikgTlVOVFRTIChlYWNoIG51bml0cyBpcyAxYml0IG1h c2spDQo+ID4gVk54MUJJbW9kZSBwb2x5ICgxLDEpIE5VTlRUUyAoZWFjaCBu dW5pdHMgaXMgMWJpdCBtYXNrKQ0KPiAgDQo+IFNvIGhvdydzIFZOeDFCSW1v ZGUgbGFpZCBvdXQgZm9yIE4gPT0gMj8gIElzIHRoYXQgc3RpbGwgYSBzaW5n bGUNCj4gYnl0ZSBhbmQgdHdvIGNvbnNlY3V0aXZlIGJpdHM/ICBJIHN1cHBv c2Ugc28uDQo+ICANCj4gQnV0IHRoZW4gR0VUX01PREVfUFJFQ0lTSU9OIChH RVRfTU9ERV9JTk5FUiAoLi4pKSBzaG91bGQgYWx3YXlzIGJlIDE/DQo+ICAN Cj4gSSdtIG5vdCBzdXJlIHdoYXQgR0VUX01PREVfUFJFQ0lTSU9OIG9mIHRo ZSB2ZWN0b3IgbW9kZSBpdHNlbGYNCj4gc2hvdWxkIGJlIGhlcmUsIGJ1dCB0 aGVuIEkgd29uZGVyIC4uLg0KPiAgDQo+ID4gSWYgd2UgdHJpZWQgR0VUX01P REVfQklUU0laRSBvciBHRVRfTU9ERV9OVU5JVFMgdG8gZ2V0IHZhbHVlLCB0 aGVpciB2YWx1ZSBhcmUgZGlmZmVyZW50Lg0KPiA+IEhvd2V2ZXIsIElmIHdl IHRyaWVkIEdFVF9NT0RFX1NJWkUgb2YgdGhlc2UgbW9kZXMsIHRoZXkgYXJl IHRoZSBzYW1lIChwb2x5ICgxLDEpKS4NCj4gPiBTdWNoIHNjZW5hcmlvIG1h a2UgdGhlc2UgdGllZCB0b2dldGhlciBhbmQgZ2l2ZXMgdGhlIHdyb25nIGNv ZGUgZ2VuIHNpbmNlIHRoZWlyIGJpdHNpemUgYXJlIGRpZmZlcmVudC4NCj4g PiBDb25zaWRlciB0aGUgY2FzZSBhcyB0aGlzOg0KPiA+ICNpbmNsdWRlICJy aXNjdl92ZWN0b3IuaCINCj4gPiB2b2lkIGZvbzVfMyAoaW50MzJfdCAqIHJl c3RyaWN0IGluLCBpbnQzMl90ICogcmVzdHJpY3Qgb3V0LCBzaXplX3Qgbiwg aW50IGNvbmQpDQo+ID4gew0KPiA+ICAgdmludDhtMV90IHYgPSAqKHZpbnQ4 bTFfdCopaW47DQo+ID4gICAqKHZpbnQ4bTFfdCopb3V0ID0gdjsgIHZib29s MTZfdCB2NCA9ICoodmJvb2wxNl90ICopaW47DQo+ID4gICAqKHZib29sMTZf dCAqKShvdXQgKyAzMDApID0gdjQ7DQo+ID4gICB2Ym9vbDhfdCB2MyA9ICoo dmJvb2w4X3QqKWluOw0KPiA+ICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkg PSB2MzsNCj4gPiB9DQo+ID4gVGhlIHNlY29uZCB2Ym9vbDhfdCBsb2FkICh2 bG0udikgaXMgbWlzc2luZy4gU2luY2UgR0NDIGdpdmVzICJ2MyA9IFZJRVdf Q09OVkVSVCAodmJvb2w4X3QpIHY0IiBpbiBnaW1wbGUuDQo+ID4gV2UgZmFp bGVkIHRvIGZpeCBpdCBpbiBSSVNDLVYgYmFja2VuZC4gQ2FuIHlvdSBoZWxw IHVzIHdpdGggdGhpcz8gVGhhbmtzLg0KPiAgDQo+IC4uLiB3aHkgZm9yIHRo ZSBsb2FkcyB0aGUgInBhZGRpbmciIGlzIG5vdCBsb2FkZWQ/ICBUaGUgYWJv dmUgdGVzdGNhc2UNCj4gaXMgcHJvYmFibHkgbW9yZSBjb21wbGljYXRlZCB0 aGFuIG5lY2Vzc2FyeSBhcyB3ZWxsPw0KPiAgDQo+IFRoYW5rcywNCj4gUmlj aGFyZC4NCj4gPg0KPiA+IGp1emhlLnpob25nQHJpdmFpLmFpDQo+ID4gIA0K PiA+IEZyb206IGluY2FybmF0aW9uLnAubGVlDQo+ID4gRGF0ZTogMjAyMy0w Mi0xMSAxNjo0Ng0KPiA+IFRvOiBnY2MtcGF0Y2hlcw0KPiA+IENDOiBqdXpo ZS56aG9uZzsga2l0by5jaGVuZzsgcmd1ZW50aGVyOyBQYW4gTGkNCj4gPiBT dWJqZWN0OiBbUEFUQ0hdIFJJU0MtVjogQnVnZml4IGZvciBtb2RlIHRpZWFi bGUgb2YgdGhlIHJ2diBib29sIHR5cGVzDQo+ID4gRnJvbTogUGFuIExpIDxp bmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbT4NCj4gPiAgDQo+ID4gRml4 IHRoZSBidWcgZm9yIG1vZGUgdGllYWJsZSBvZiB0aGUgcnZ2IGJvb2wgdHlw ZXMuIFRoZSB2Ym9vbCpfdA0KPiA+IGNhbm5vdCBiZSB0aWVkIGFzIHRoZSBh Y3R1YWxseSBsb2FkL3N0b3JlIHNpemUgaXMgZGV0ZXJtaW5hdGVkIGJ5DQo+ ID4gdGhlIHZsLiBUaGUgbW9kZSBzaXplIG9mIHJ2diBib29sIHR5cGVzIGFy ZSBhbHNvIGFkanVzdGVkIGZvciB0aGUNCj4gPiB1bmRlcmx5aW5nIG9wdGlt aXphdGlvbiBwYXNzLiBUaGUgcnZ2IGJvb2wgdHlwZSBpcyB2Ym9vbCpfdCwg YWthDQo+ID4gdmJvb2wxX3QsIHZib29sMl90LCB2Ym9vbDRfdCwgdmJvb2w4 X3QsIHZib29sMTZfdCwgdmJvb2wzMl90LCBhbmQNCj4gPiB2Ym9vbDY0X3Qu DQo+ID4gIA0KPiA+IFBSIDEwODE4NQ0KPiA+IFBSIDEwODY1NA0KPiA+ICAN Cj4gPiBnY2MvQ2hhbmdlTG9nOg0KPiA+ICANCj4gPiAqIGNvbmZpZy9yaXNj di9yaXNjdi1tb2Rlcy5kZWYgKEFESlVTVF9CWVRFU0laRSk6DQo+ID4gKiBj b25maWcvcmlzY3YvcmlzY3YuY2MgKHJpc2N2X3ZfYWRqdXN0X2J5dGVzaXpl KToNCj4gPiAocmlzY3ZfbW9kZXNfdGllYWJsZV9wKToNCj4gPiAqIGNvbmZp Zy9yaXNjdi9yaXNjdi5oIChyaXNjdl92X2FkanVzdF9ieXRlc2l6ZSk6DQo+ ID4gKiBtYWNobW9kZS5oIChWRUNUT1JfQk9PTF9NT0RFX1ApOg0KPiA+ICog dHJlZS1zc2Etc2Njdm4uY2MgKHZpc2l0X3JlZmVyZW5jZV9vcF9sb2FkKToN Cj4gPiAgDQo+ID4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQo+ID4gIA0K PiA+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0xLmM6IE5ldyB0ZXN0 Lg0KPiA+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0yLmM6IE5ldyB0 ZXN0Lg0KPiA+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmM6IE5l dyB0ZXN0Lg0KPiA+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS00LmM6 IE5ldyB0ZXN0Lg0KPiA+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS01 LmM6IE5ldyB0ZXN0Lg0KPiA+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4 NS02LmM6IE5ldyB0ZXN0Lg0KPiA+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS03LmM6IE5ldyB0ZXN0Lg0KPiA+ICogZ2NjLnRhcmdldC9yaXNjdi9w cjEwODE4NS04LmM6IE5ldyB0ZXN0Lg0KPiA+ICANCj4gPiBTaWduZWQtb2Zm LWJ5OiBQYW4gTGkgPGluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPg0K PiA+IC0tLQ0KPiA+IGdjYy9jb25maWcvcmlzY3YvcmlzY3YtbW9kZXMuZGVm ICAgICAgICAgICAgfCAxNCArKy0tDQo+ID4gZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi5jYyAgICAgICAgICAgICAgICAgICB8IDM0ICsrKysrKysrLQ0KPiA+ IGdjYy9jb25maWcvcmlzY3YvcmlzY3YuaCAgICAgICAgICAgICAgICAgICAg fCAgMiArDQo+ID4gZ2NjL21hY2htb2RlLmggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAzICsNCj4gPiBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcHIxMDgxODUtMS5jIHwgNjggKysrKysrKysrKysrKysrKysr DQo+ID4gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTIuYyB8IDY4ICsrKysrKysrKysrKysrKysrKw0KPiA+IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmMgfCA2OCArKysrKysr KysrKysrKysrKysNCj4gPiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcHIxMDgxODUtNC5jIHwgNjggKysrKysrKysrKysrKysrKysrDQo+ID4g Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYyB8 IDY4ICsrKysrKysrKysrKysrKysrKw0KPiA+IGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9wcjEwODE4NS02LmMgfCA2OCArKysrKysrKysrKysr KysrKysNCj4gPiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIx MDgxODUtNy5jIHwgNjggKysrKysrKysrKysrKysrKysrDQo+ID4gZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTguYyB8IDc3ICsr KysrKysrKysrKysrKysrKysrKw0KPiA+IGdjYy90cmVlLXNzYS1zY2N2bi5j YyAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKystDQo+ID4gMTMgZmls ZXMgY2hhbmdlZCwgNjA4IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygt KQ0KPiA+IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcHIxMDgxODUtMS5jDQo+ID4gY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0y LmMNCj4gPiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTMuYw0KPiA+IGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt NC5jDQo+ID4gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9wcjEwODE4NS01LmMNCj4gPiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTYuYw0KPiA+IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNy5jDQo+ID4gY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4 NS04LmMNCj4gPiAgDQo+ID4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtbW9kZXMuZGVmIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1t b2Rlcy5kZWYNCj4gPiBpbmRleCBkNTMwNWVmYThhNi4uY2MyMWQzYzgzYTIg MTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1tb2Rl cy5kZWYNCj4gPiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW1vZGVz LmRlZg0KPiA+IEBAIC02NCwxMyArNjQsMTMgQEAgQURKVVNUX0FMSUdOTUVO VCAoVk54MTZCSSwgMSk7DQo+ID4gQURKVVNUX0FMSUdOTUVOVCAoVk54MzJC SSwgMSk7DQo+ID4gQURKVVNUX0FMSUdOTUVOVCAoVk54NjRCSSwgMSk7DQo+ ID4gLUFESlVTVF9CWVRFU0laRSAoVk54MUJJLCByaXNjdl92ZWN0b3JfY2h1 bmtzICogcmlzY3ZfYnl0ZXNfcGVyX3ZlY3Rvcl9jaHVuayk7DQo+ID4gLUFE SlVTVF9CWVRFU0laRSAoVk54MkJJLCByaXNjdl92ZWN0b3JfY2h1bmtzICog cmlzY3ZfYnl0ZXNfcGVyX3ZlY3Rvcl9jaHVuayk7DQo+ID4gLUFESlVTVF9C WVRFU0laRSAoVk54NEJJLCByaXNjdl92ZWN0b3JfY2h1bmtzICogcmlzY3Zf Ynl0ZXNfcGVyX3ZlY3Rvcl9jaHVuayk7DQo+ID4gLUFESlVTVF9CWVRFU0la RSAoVk54OEJJLCByaXNjdl92ZWN0b3JfY2h1bmtzICogcmlzY3ZfYnl0ZXNf cGVyX3ZlY3Rvcl9jaHVuayk7DQo+ID4gLUFESlVTVF9CWVRFU0laRSAoVk54 MTZCSSwgcmlzY3ZfdmVjdG9yX2NodW5rcyAqIHJpc2N2X2J5dGVzX3Blcl92 ZWN0b3JfY2h1bmspOw0KPiA+IC1BREpVU1RfQllURVNJWkUgKFZOeDMyQkks IHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9ieXRlc19wZXJfdmVjdG9y X2NodW5rKTsNCj4gPiAtQURKVVNUX0JZVEVTSVpFIChWTng2NEJJLCByaXNj dl92X2FkanVzdF9udW5pdHMgKFZOeDY0Qkltb2RlLCA4KSk7DQo+ID4gK0FE SlVTVF9CWVRFU0laRSAoVk54MUJJLCByaXNjdl92X2FkanVzdF9ieXRlc2l6 ZSAoVk54MUJJbW9kZSwgMSkpOw0KPiA+ICtBREpVU1RfQllURVNJWkUgKFZO eDJCSSwgcmlzY3Zfdl9hZGp1c3RfYnl0ZXNpemUgKFZOeDJCSW1vZGUsIDEp KTsNCj4gPiArQURKVVNUX0JZVEVTSVpFIChWTng0QkksIHJpc2N2X3ZfYWRq dXN0X2J5dGVzaXplIChWTng0Qkltb2RlLCAxKSk7DQo+ID4gK0FESlVTVF9C WVRFU0laRSAoVk54OEJJLCByaXNjdl92X2FkanVzdF9ieXRlc2l6ZSAoVk54 OEJJbW9kZSwgMSkpOw0KPiA+ICtBREpVU1RfQllURVNJWkUgKFZOeDE2Qkks IHJpc2N2X3ZfYWRqdXN0X2J5dGVzaXplIChWTngxNkJJbW9kZSwgMikpOw0K PiA+ICtBREpVU1RfQllURVNJWkUgKFZOeDMyQkksIHJpc2N2X3ZfYWRqdXN0 X2J5dGVzaXplIChWTngzMkJJbW9kZSwgNCkpOw0KPiA+ICtBREpVU1RfQllU RVNJWkUgKFZOeDY0QkksIHJpc2N2X3ZfYWRqdXN0X2J5dGVzaXplIChWTng2 NEJJbW9kZSwgOCkpOw0KPiA+IC8qDQo+ID4gICAgIHwgTW9kZSAgICAgICAg fCBNSU5fVkxFTj0zMiB8IE1JTl9WTEVOPTMyIHwgTUlOX1ZMRU49NjQgfCBN SU5fVkxFTj02NCB8DQo+ID4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+ID4g aW5kZXggM2I3ODA0Yjc1MDEuLjEzOGMwNTJlMTNjIDEwMDY0NA0KPiA+IC0t LSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MNCj4gPiArKysgYi9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+ID4gQEAgLTEwMDMsNiArMTAwMywy NyBAQCByaXNjdl92X2FkanVzdF9udW5pdHMgKG1hY2hpbmVfbW9kZSBtb2Rl LCBpbnQgc2NhbGUpDQo+ID4gICAgcmV0dXJuIHNjYWxlOw0KPiA+IH0NCj4g PiArLyogQ2FsbCBmcm9tIEFESlVTVF9CWVRFU0laRSBpbiByaXNjdi1tb2Rl cy5kZWYuICBSZXR1cm4gdGhlIGNvcnJlY3QNCj4gPiArICAgQllURVMgc2l6 ZSBmb3IgY29ycmVzcG9uZGluZyBtYWNoaW5lX21vZGUuICAqLw0KPiA+ICsN Cj4gPiArcG9seV9pbnQ2NA0KPiA+ICtyaXNjdl92X2FkanVzdF9ieXRlc2l6 ZSAobWFjaGluZV9tb2RlIG1vZGUsIGludCBzY2FsZSkNCj4gPiArew0KPiA+ ICsgIGdjY19hc3NlcnQgKEdFVF9NT0RFX0NMQVNTIChtb2RlKSA9PSBNT0RF X1ZFQ1RPUl9CT09MKTsNCj4gPiArDQo+ID4gKyAgaWYgKHJpc2N2X3ZfZXh0 X3ZlY3Rvcl9tb2RlX3AgKG1vZGUpKQ0KPiA+ICsgICAgew0KPiA+ICsgICAg ICBwb2x5X3VpbnQxNiBtb2RlX3NpemUgPSBHRVRfTU9ERV9TSVpFIChtb2Rl KTsNCj4gPiArDQo+ID4gKyAgICAgIGlmIChrbm93bl9sdCAobW9kZV9zaXpl LCBCWVRFU19QRVJfUklTQ1ZfVkVDVE9SKSkNCj4gPiArIHJldHVybiBtb2Rl X3NpemU7DQo+ID4gKyAgICAgIGVsc2UNCj4gPiArIHJldHVybiBCWVRFU19Q RVJfUklTQ1ZfVkVDVE9SOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICBy ZXR1cm4gc2NhbGU7DQo+ID4gK30NCj4gPiArDQo+ID4gLyogUmV0dXJuIHRy dWUgaWYgWCBpcyBhIHZhbGlkIGFkZHJlc3MgZm9yIG1hY2hpbmUgbW9kZSBN T0RFLiAgSWYgaXQgaXMsDQo+ID4gICAgIGZpbGwgaW4gSU5GTyBhcHByb3By aWF0ZWx5LiAgU1RSSUNUX1AgaXMgdHJ1ZSBpZiBSRUdfT0tfU1RSSUNUIGlz IGluDQo+ID4gICAgIGVmZmVjdC4gICovDQo+ID4gQEAgLTU4MDcsMTEgKzU4 MjgsMjIgQEAgcmlzY3ZfaGFyZF9yZWdub19tb2RlX29rICh1bnNpZ25lZCBp bnQgcmVnbm8sIG1hY2hpbmVfbW9kZSBtb2RlKQ0KPiA+IC8qIEltcGxlbWVu dCBUQVJHRVRfTU9ERVNfVElFQUJMRV9QLg0KPiA+ICAgICBEb24ndCBhbGxv dyBmbG9hdGluZy1wb2ludCBtb2RlcyB0byBiZSB0aWVkLCBzaW5jZSB0eXBl IHB1bm5pbmcgb2YNCj4gPiAtICAgc2luZ2xlLXByZWNpc2lvbiBhbmQgZG91 YmxlLXByZWNpc2lvbiBpcyBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkLiAgKi8N Cj4gPiArICAgc2luZ2xlLXByZWNpc2lvbiBhbmQgZG91YmxlLXByZWNpc2lv biBpcyBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkLg0KPiA+ICsNCj4gPiArICAg RG9uJ3QgYWxsb3cgZGlmZmVyZW50IHZib29sKl90IG1vZGVzIHRvIGJlIHRp ZWQsIHNpbmNlIHRoZSB0eXBlDQo+ID4gKyAgIHNpemUgaXMgZGV0ZXJtaW5h dGVkIGJ5IHZsLiAgKi8NCj4gPiBzdGF0aWMgYm9vbA0KPiA+IHJpc2N2X21v ZGVzX3RpZWFibGVfcCAobWFjaGluZV9tb2RlIG1vZGUxLCBtYWNoaW5lX21v ZGUgbW9kZTIpDQo+ID4gew0KPiA+ICsgIGlmIChyaXNjdl92X2V4dF92ZWN0 b3JfbW9kZV9wIChtb2RlMSkgJiYgcmlzY3Zfdl9leHRfdmVjdG9yX21vZGVf cCAobW9kZTIpKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICBpZiAoVkVDVE9S X0JPT0xfTU9ERV9QIChtb2RlMSkgfHwgVkVDVE9SX0JPT0xfTU9ERV9QICht b2RlMikpDQo+ID4gKyByZXR1cm4gZmFsc2U7DQo+ID4gKw0KPiA+ICsgcmV0 dXJuIGtub3duX2VxIChHRVRfTU9ERV9TSVpFIChtb2RlMSksIEdFVF9NT0RF X1NJWkUgKG1vZGUyKSk7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICAgIHJl dHVybiAobW9kZTEgPT0gbW9kZTINCj4gPiAgIHx8ICEoR0VUX01PREVfQ0xB U1MgKG1vZGUxKSA9PSBNT0RFX0ZMT0FUDQo+ID4gICAgICAgICYmIEdFVF9N T0RFX0NMQVNTIChtb2RlMikgPT0gTU9ERV9GTE9BVCkpOw0KPiA+IGRpZmYg LS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmggYi9nY2MvY29uZmln L3Jpc2N2L3Jpc2N2LmgNCj4gPiBpbmRleCBmYWZmZDVhNzdmZS4uZjg1NzIy MzMzOGMgMTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNj di5oDQo+ID4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oDQo+ID4g QEAgLTEwMjgsNiArMTAyOCw4IEBAIGV4dGVybiB1bnNpZ25lZCByaXNjdl9z dGFja19ib3VuZGFyeTsNCj4gPiBleHRlcm4gdW5zaWduZWQgcmlzY3ZfYnl0 ZXNfcGVyX3ZlY3Rvcl9jaHVuazsNCj4gPiBleHRlcm4gcG9seV91aW50MTYg cmlzY3ZfdmVjdG9yX2NodW5rczsNCj4gPiBleHRlcm4gcG9seV9pbnQ2NCBy aXNjdl92X2FkanVzdF9udW5pdHMgKGVudW0gbWFjaGluZV9tb2RlLCBpbnQp Ow0KPiA+ICtleHRlcm4gcG9seV9pbnQ2NCByaXNjdl92X2FkanVzdF9ieXRl c2l6ZSAobWFjaGluZV9tb2RlIG1vZGUsIGludCBzY2FsZSk7DQo+ID4gKw0K PiA+IC8qIFRoZSBudW1iZXIgb2YgYml0cyBhbmQgYnl0ZXMgaW4gYSBSVlYg dmVjdG9yLiAgKi8NCj4gPiAjZGVmaW5lIEJJVFNfUEVSX1JJU0NWX1ZFQ1RP UiAocG9seV91aW50MTYgKHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9i eXRlc19wZXJfdmVjdG9yX2NodW5rICogOCkpDQo+ID4gI2RlZmluZSBCWVRF U19QRVJfUklTQ1ZfVkVDVE9SIChwb2x5X3VpbnQxNiAocmlzY3ZfdmVjdG9y X2NodW5rcyAqIHJpc2N2X2J5dGVzX3Blcl92ZWN0b3JfY2h1bmspKQ0KPiA+ IGRpZmYgLS1naXQgYS9nY2MvbWFjaG1vZGUuaCBiL2djYy9tYWNobW9kZS5o DQo+ID4gaW5kZXggZjE4NjVjMWVmNDIuLjY3MjA0NzJmMmM5IDEwMDY0NA0K PiA+IC0tLSBhL2djYy9tYWNobW9kZS5oDQo+ID4gKysrIGIvZ2NjL21hY2ht b2RlLmgNCj4gPiBAQCAtMjQyLDYgKzI0Miw5IEBAIGV4dGVybiBjb25zdCB1 bnNpZ25lZCBjaGFyIG1vZGVfY2xhc3NbTlVNX01BQ0hJTkVfTU9ERVNdOw0K PiA+ICAgICB8fCBDTEFTUyA9PSBNT0RFX0FDQ1VNICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gPiAgICAgfHwgQ0xBU1MgPT0gTU9ERV9VQUNDVU0pDQo+ ID4gKy8qIE5vbnplcm8gaWYgTU9ERSBpcyBhbiB2ZWN0b3IgYm9vbCBtb2Rl LiAgKi8NCj4gPiArI2RlZmluZSBWRUNUT1JfQk9PTF9NT0RFX1AoTU9ERSkg KEdFVF9NT0RFX0NMQVNTKE1PREUpID09IE1PREVfVkVDVE9SX0JPT0wpDQo+ ID4gKw0KPiA+IC8qIEFuIG9wdGlvbmFsIFQgKGkuZS4gYSBUIG9yIG5vdGhp bmcpLCB3aGVyZSBUIGlzIHNvbWUgZm9ybSBvZiBtb2RlIGNsYXNzLiAgKi8N Cj4gPiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPg0KPiA+IGNsYXNzIG9wdF9tb2Rl DQo+ID4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9wcjEwODE4NS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtMS5jDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gPiBpbmRleCAwMDAwMDAwMDAwMC4uYzNkMGIxMDI3MWENCj4gPiAtLS0g L2Rldi9udWxsDQo+ID4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTEuYw0KPiA+IEBAIC0wLDAgKzEsNjggQEANCj4g PiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gPiArLyogeyBkZy1vcHRp b25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAqLw0KPiA+ ICsNCj4gPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiA+ICsNCj4g PiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sMihpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ID4g KyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0KPiA+ICsgICAg dmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4gPiArDQo+ID4gKyAg ICAqKHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsgICAgKih2 Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ICsNCj4g PiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sNChpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ID4g KyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0KPiA+ICsgICAg dmJvb2w0X3QgdjIgPSAqKHZib29sNF90KilpbjsNCj4gPiArDQo+ID4gKyAg ICAqKHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsgICAgKih2 Ym9vbDRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ICsNCj4g PiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sOChpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ID4g KyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0KPiA+ICsgICAg dmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4gPiArDQo+ID4gKyAg ICAqKHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsgICAgKih2 Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ICsNCj4g PiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sMTYoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiA+ ICsgICAgdmJvb2wxX3QgdjEgPSAqKHZib29sMV90KilpbjsNCj4gPiArICAg IHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4gPiArDQo+ID4g KyAgICAqKHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsgICAg Kih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ID4gK30NCj4gPiAr DQo+ID4gK3ZvaWQNCj4gPiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDMyKGlu dDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsN Cj4gPiArICAgIHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+ID4g KyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47DQo+ID4gKw0K PiA+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gPiAr ICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICt2b2lkDQo+ID4gK3Rlc3RfdmJvb2wxX3RoZW5fdmJvb2w2 NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0 KSB7DQo+ID4gKyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0K PiA+ICsgICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPiA+ ICsNCj4gPiArICAgICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0gdjE7DQo+ ID4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptOCxccyp0YSxccyptYX0gNiB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8N Cj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptMSxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMqdGEsXHMqbWF9 IDEgfSB9ICovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgs XHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0YSxccyptYX0gMSB9IH0g Ki8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0g fSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIg fSB9ICovDQo+ID4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9wcjEwODE4NS0yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcHIxMDgxODUtMi5jDQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMC4uYmQxM2JhOTE2ZGENCj4g PiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTIuYw0KPiA+IEBAIC0wLDAgKzEsNjgg QEANCj4gPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gPiArLyogeyBk Zy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAq Lw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiA+ ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sMShp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+ID4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPiA+ ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4gPiArDQo+ ID4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsg ICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sNChp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+ID4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPiA+ ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZib29sNF90KilpbjsNCj4gPiArDQo+ ID4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsg ICAgKih2Ym9vbDRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sOChp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+ID4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPiA+ ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4gPiArDQo+ ID4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsg ICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sMTYo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPiA+ICsgICAgdmJvb2wyX3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4g PiArICAgIHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4gPiAr DQo+ID4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ID4gK30N Cj4gPiArDQo+ID4gK3ZvaWQNCj4gPiArdGVzdF92Ym9vbDJfdGhlbl92Ym9v bDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4gPiArICAgIHZib29sMl90IHYxID0gKih2Ym9vbDJfdCopaW47 DQo+ID4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47DQo+ ID4gKw0KPiA+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkgPSB2MTsN Cj4gPiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiA+ ICt9DQo+ID4gKw0KPiA+ICt2b2lkDQo+ID4gK3Rlc3RfdmJvb2wyX3RoZW5f dmJvb2w2NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJp Y3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3Qq KWluOw0KPiA+ICsgICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0X3QqKWlu Ow0KPiA+ICsNCj4gPiArICAgICoodmJvb2wyX3QqKShvdXQgKyAxMDApID0g djE7DQo+ID4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptNCxccyp0YSxccyptYX0gNiB9IH0gKi8NCj4gPiArLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2Et eF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0gMSB9 IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccypt MSxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4g PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMqdGEs XHMqbWF9IDEgfSB9ICovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiA+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9 IDEyIH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStc KX0gMTIgfSB9ICovDQo+ID4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmMgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMy5jDQo+ID4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMC4uOTk5MjhmN2Ix Y2MNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTMuYw0KPiA+IEBAIC0wLDAg KzEsNjggQEANCj4gPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gPiAr LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1P MyIgfSAqLw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5o Ig0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sNF90aGVuX3Zi b29sMShpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+ID4gKyAgICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0X3QqKWlu Ow0KPiA+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4g PiArDQo+ID4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0K PiA+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sNF90aGVuX3Zi b29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+ID4gKyAgICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0X3QqKWlu Ow0KPiA+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4g PiArDQo+ID4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0K PiA+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sNF90aGVuX3Zi b29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+ID4gKyAgICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0X3QqKWlu Ow0KPiA+ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4g PiArDQo+ID4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0K PiA+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sNF90aGVuX3Zi b29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0 IG91dCkgew0KPiA+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90Kilp bjsNCj4gPiArICAgIHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsN Cj4gPiArDQo+ID4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYx Ow0KPiA+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQNCj4gPiArdGVzdF92Ym9vbDRfdGhl bl92Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0 cmljdCBvdXQpIHsNCj4gPiArICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRf dCopaW47DQo+ID4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCop aW47DQo+ID4gKw0KPiA+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkg PSB2MTsNCj4gPiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYy Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkDQo+ID4gK3Rlc3RfdmJvb2w0 X3RoZW5fdmJvb2w2NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDRfdCB2MSA9ICoodmJv b2w0X3QqKWluOw0KPiA+ICsgICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0 X3QqKWluOw0KPiA+ICsNCj4gPiArICAgICoodmJvb2w0X3QqKShvdXQgKyAx MDApID0gdjE7DQo+ID4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDIwMCkg PSB2MjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMq emVybyxccyplOCxccyptMixccyp0YSxccyptYX0gNiB9IH0gKi8NCj4gPiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptOCxccyp0YSxccypt YX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxccyptYX0gMSB9IH0g Ki8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIs XHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxz Knplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiA+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0YSxc cyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAt OV0rXCl9IDEyIH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1b MC05XStcKX0gMTIgfSB9ICovDQo+ID4gZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS00LmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNC5jDQo+ID4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMC4uZTcw Mjg0ZmFkYTgNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTQuYw0KPiA+IEBA IC0wLDAgKzEsNjggQEANCj4gPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8N Cj4gPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1s cDY0IC1PMyIgfSAqLw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgInJpc2N2X3Zl Y3Rvci5oIg0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sOF90 aGVuX3Zib29sMShpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVz dHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4 X3QqKWluOw0KPiA+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90Kilp bjsNCj4gPiArDQo+ID4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPiA+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sOF90 aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVz dHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4 X3QqKWluOw0KPiA+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90Kilp bjsNCj4gPiArDQo+ID4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPiA+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sOF90 aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVz dHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4 X3QqKWluOw0KPiA+ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZib29sNF90Kilp bjsNCj4gPiArDQo+ID4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPiA+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sOF90 aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPiA+ICsgICAgdmJvb2w4X3QgdjEgPSAqKHZib29s OF90KilpbjsNCj4gPiArICAgIHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90 KilpbjsNCj4gPiArDQo+ID4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAw KSA9IHYxOw0KPiA+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0g djI7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQNCj4gPiArdGVzdF92Ym9v bDhfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3Qg KiByZXN0cmljdCBvdXQpIHsNCj4gPiArICAgIHZib29sOF90IHYxID0gKih2 Ym9vbDhfdCopaW47DQo+ID4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29s MzJfdCopaW47DQo+ID4gKw0KPiA+ICsgICAgKih2Ym9vbDhfdCopKG91dCAr IDEwMCkgPSB2MTsNCj4gPiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAw KSA9IHYyOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkDQo+ID4gK3Rlc3Rf dmJvb2w4X3RoZW5fdmJvb2w2NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50 OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDhfdCB2MSA9 ICoodmJvb2w4X3QqKWluOw0KPiA+ICsgICAgdmJvb2w2NF90IHYyID0gKih2 Ym9vbDY0X3QqKWluOw0KPiA+ICsNCj4gPiArICAgICoodmJvb2w4X3QqKShv dXQgKyAxMDApID0gdjE7DQo+ID4gKyAgICAqKHZib29sNjRfdCopKG91dCAr IDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxccyptYX0gNiB9IH0gKi8N Cj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptNCxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ID4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxc cyp0YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFth LXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwo W2EteF1bMC05XStcKX0gMTIgfSB9ICovDQo+ID4gZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS01LmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNS5jDQo+ ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAw MC4uNTc1YTc4NDJjZGYNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYw0K PiA+IEBAIC0wLDAgKzEsNjggQEANCj4gPiArLyogeyBkZy1kbyBjb21waWxl IH0gKi8NCj4gPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAt bWFiaT1scDY0IC1PMyIgfSAqLw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgInJp c2N2X3ZlY3Rvci5oIg0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zi b29sMTZfdGhlbl92Ym9vbDEoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhf dCAqIHJlc3RyaWN0IG91dCkgew0KPiA+ICsgICAgdmJvb2wxNl90IHYxID0g Kih2Ym9vbDE2X3QqKWluOw0KPiA+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZi b29sMV90KilpbjsNCj4gPiArDQo+ID4gKyAgICAqKHZib29sMTZfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4gPiArICAgICoodmJvb2wxX3QqKShvdXQgKyAy MDApID0gdjI7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQNCj4gPiArdGVz dF92Ym9vbDE2X3RoZW5fdmJvb2wyKGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gPiArICAgIHZib29sMTZfdCB2 MSA9ICoodmJvb2wxNl90KilpbjsNCj4gPiArICAgIHZib29sMl90IHYyID0g Kih2Ym9vbDJfdCopaW47DQo+ID4gKw0KPiA+ICsgICAgKih2Ym9vbDE2X3Qq KShvdXQgKyAxMDApID0gdjE7DQo+ID4gKyAgICAqKHZib29sMl90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkDQo+ID4g K3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBp biwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDE2 X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+ID4gKyAgICB2Ym9vbDRfdCB2 MiA9ICoodmJvb2w0X3QqKWluOw0KPiA+ICsNCj4gPiArICAgICoodmJvb2wx Nl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsgICAgKih2Ym9vbDRfdCop KG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZA0K PiA+ICt0ZXN0X3Zib29sMTZfdGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiA+ICsgICAgdmJv b2wxNl90IHYxID0gKih2Ym9vbDE2X3QqKWluOw0KPiA+ICsgICAgdmJvb2w4 X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4gPiArDQo+ID4gKyAgICAqKHZi b29sMTZfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gPiArICAgICoodmJvb2w4 X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ID4gK30NCj4gPiArDQo+ID4gK3Zv aWQNCj4gPiArdGVzdF92Ym9vbDE2X3RoZW5fdmJvb2wzMihpbnQ4X3QgKiBy ZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ID4gKyAg ICB2Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+ID4gKyAgICB2 Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47DQo+ID4gKw0KPiA+ICsg ICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ID4gKyAgICAq KHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ICsN Cj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMTZfdGhlbl92Ym9vbDY0KGlu dDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsN Cj4gPiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90KilpbjsNCj4g PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2NF90KilpbjsNCj4gPiAr DQo+ID4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEwMCkgPSB2MTsNCj4g PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiA+ICt9 DQo+ID4gKw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km1mMixccyp0YSxccyptYX0gNiB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0gMSB9IH0gKi8N Cj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptOCxccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ID4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZsbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9 ICovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9 IH0gKi8NCj4gPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3ByMTA4MTg1LTYuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9wcjEwODE4NS02LmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAwLi45NWExMWQzNzAxNg0KPiA+ IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcHIxMDgxODUtNi5jDQo+ID4gQEAgLTAsMCArMSw2OCBA QA0KPiA+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiA+ICsvKiB7IGRn LW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICov DQo+ID4gKw0KPiA+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+ID4g Kw0KPiA+ICt2b2lkDQo+ID4gK3Rlc3RfdmJvb2wzMl90aGVuX3Zib29sMShp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+ID4gKyAgICB2Ym9vbDMyX3QgdjEgPSAqKHZib29sMzJfdCopaW47DQo+ ID4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPiA+ICsN Cj4gPiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0K PiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMzJfdGhlbl92Ym9v bDIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91 dCkgew0KPiA+ICsgICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWlu Ow0KPiA+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4g PiArDQo+ID4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2MTsN Cj4gPiArICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+ID4g K30NCj4gPiArDQo+ID4gK3ZvaWQNCj4gPiArdGVzdF92Ym9vbDMyX3RoZW5f dmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4gPiArICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wzMl90 KilpbjsNCj4gPiArICAgIHZib29sNF90IHYyID0gKih2Ym9vbDRfdCopaW47 DQo+ID4gKw0KPiA+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAxMDApID0g djE7DQo+ID4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0K PiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkDQo+ID4gK3Rlc3RfdmJvb2wzMl90 aGVuX3Zib29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVz dHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDMyX3QgdjEgPSAqKHZib29s MzJfdCopaW47DQo+ID4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3Qq KWluOw0KPiA+ICsNCj4gPiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMTAw KSA9IHYxOw0KPiA+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29s MzJfdGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3Qg KiByZXN0cmljdCBvdXQpIHsNCj4gPiArICAgIHZib29sMzJfdCB2MSA9ICoo dmJvb2wzMl90KilpbjsNCj4gPiArICAgIHZib29sMTZfdCB2MiA9ICoodmJv b2wxNl90KilpbjsNCj4gPiArDQo+ID4gKyAgICAqKHZib29sMzJfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4gPiArICAgICoodmJvb2wxNl90Kikob3V0ICsg MjAwKSA9IHYyOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkDQo+ID4gK3Rl c3RfdmJvb2wzMl90aGVuX3Zib29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4s IGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiA+ICsgICAgdmJvb2wzMl90 IHYxID0gKih2Ym9vbDMyX3QqKWluOw0KPiA+ICsgICAgdmJvb2w2NF90IHYy ID0gKih2Ym9vbDY0X3QqKWluOw0KPiA+ICsNCj4gPiArICAgICoodmJvb2wz Ml90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsgICAgKih2Ym9vbDY0X3Qq KShvdXQgKyAyMDApID0gdjI7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1th LXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSA2 IH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km04LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTld Kyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0K PiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRh LFxzKm1hfSAxIH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJv LFxzKmU4LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiA+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0g MSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ID4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52XHMrdlswLTldKyxc cyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4gPiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c21cLnZccyt2WzAtOV0r LFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPiA+IGRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt Ny5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTcuYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAw MDAwMDAwMDAuLjhmNmYwYjExZjA5DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4 NS03LmMNCj4gPiBAQCAtMCwwICsxLDY4IEBADQo+ID4gKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovDQo+ID4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2 NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4gPiArDQo+ID4gKyNpbmNs dWRlICJyaXNjdl92ZWN0b3IuaCINCj4gPiArDQo+ID4gK3ZvaWQNCj4gPiAr dGVzdF92Ym9vbDY0X3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGlu LCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gPiArICAgIHZib29sNjRf dCB2MSA9ICoodmJvb2w2NF90KilpbjsNCj4gPiArICAgIHZib29sMV90IHYy ID0gKih2Ym9vbDFfdCopaW47DQo+ID4gKw0KPiA+ICsgICAgKih2Ym9vbDY0 X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ID4gKyAgICAqKHZib29sMV90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkDQo+ ID4gK3Rlc3RfdmJvb2w2NF90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9v bDY0X3QgdjEgPSAqKHZib29sNjRfdCopaW47DQo+ID4gKyAgICB2Ym9vbDJf dCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPiA+ICsNCj4gPiArICAgICoodmJv b2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ICsgICAgKih2Ym9vbDJf dCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9p ZA0KPiA+ICt0ZXN0X3Zib29sNjRfdGhlbl92Ym9vbDQoaW50OF90ICogcmVz dHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiA+ICsgICAg dmJvb2w2NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0KPiA+ICsgICAgdmJv b2w0X3QgdjIgPSAqKHZib29sNF90KilpbjsNCj4gPiArDQo+ID4gKyAgICAq KHZib29sNjRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gPiArICAgICoodmJv b2w0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ID4gK30NCj4gPiArDQo+ID4g K3ZvaWQNCj4gPiArdGVzdF92Ym9vbDY0X3RoZW5fdmJvb2w4KGludDhfdCAq IHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gPiAr ICAgIHZib29sNjRfdCB2MSA9ICoodmJvb2w2NF90KilpbjsNCj4gPiArICAg IHZib29sOF90IHYyID0gKih2Ym9vbDhfdCopaW47DQo+ID4gKw0KPiA+ICsg ICAgKih2Ym9vbDY0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ID4gKyAgICAq KHZib29sOF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiA+ICt9DQo+ID4gKw0K PiA+ICt2b2lkDQo+ID4gK3Rlc3RfdmJvb2w2NF90aGVuX3Zib29sMTYoaW50 OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0K PiA+ICsgICAgdmJvb2w2NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0KPiA+ ICsgICAgdmJvb2wxNl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0KPiA+ICsN Cj4gPiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiA+ ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ID4gK30N Cj4gPiArDQo+ID4gK3ZvaWQNCj4gPiArdGVzdF92Ym9vbDY0X3RoZW5fdmJv b2wzMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+ID4gKyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCop aW47DQo+ID4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47 DQo+ID4gKw0KPiA+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAxMDApID0g djE7DQo+ID4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQo+ID4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1th LXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDEg fSB9ICovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMq bTQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ID4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTEsXHMqdGEs XHMqbWF9IDEgfSB9ICovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiA+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9 IDEyIH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStc KX0gMTIgfSB9ICovDQo+ID4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS04LmMgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtOC5jDQo+ID4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMC4uZDk2OTU5ZGQw NjQNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTguYw0KPiA+IEBAIC0wLDAg KzEsNzcgQEANCj4gPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gPiAr LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1P MyIgfSAqLw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5o Ig0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMV90aGVuX3Zi b29sMShpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+ID4gKyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWlu Ow0KPiA+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4g PiArDQo+ID4gKyAgICAqKHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0K PiA+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMl90aGVuX3Zi b29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+ID4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWlu Ow0KPiA+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4g PiArDQo+ID4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0K PiA+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sNF90aGVuX3Zi b29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+ID4gKyAgICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0X3QqKWlu Ow0KPiA+ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZib29sNF90KilpbjsNCj4g PiArDQo+ID4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0K PiA+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sOF90aGVuX3Zi b29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+ID4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4X3QqKWlu Ow0KPiA+ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4g PiArDQo+ID4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0K PiA+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICt0ZXN0X3Zib29sMTZfdGhlbl92 Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4gPiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90 KilpbjsNCj4gPiArICAgIHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90Kilp bjsNCj4gPiArDQo+ID4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEwMCkg PSB2MTsNCj4gPiArICAgICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYy Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkDQo+ID4gK3Rlc3RfdmJvb2wz Ml90aGVuX3Zib29sMzIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAq IHJlc3RyaWN0IG91dCkgew0KPiA+ICsgICAgdmJvb2wzMl90IHYxID0gKih2 Ym9vbDMyX3QqKWluOw0KPiA+ICsgICAgdmJvb2wzMl90IHYyID0gKih2Ym9v bDMyX3QqKWluOw0KPiA+ICsNCj4gPiArICAgICoodmJvb2wzMl90Kikob3V0 ICsgMTAwKSA9IHYxOw0KPiA+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAy MDApID0gdjI7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQNCj4gPiArdGVz dF92Ym9vbDY0X3RoZW5fdmJvb2w2NChpbnQ4X3QgKiByZXN0cmljdCBpbiwg aW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ID4gKyAgICB2Ym9vbDY0X3Qg djEgPSAqKHZib29sNjRfdCopaW47DQo+ID4gKyAgICB2Ym9vbDY0X3QgdjIg PSAqKHZib29sNjRfdCopaW47DQo+ID4gKw0KPiA+ICsgICAgKih2Ym9vbDY0 X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ID4gKyAgICAqKHZib29sNjRfdCop KG91dCArIDIwMCkgPSB2MjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2Et eF1bMC05XSssXHMqemVybyxccyplOCxccyptOCxccyp0YSxccyptYX0gMSB9 IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccypt NCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4g PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxc cyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ID4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1th LXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAx IH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km1mOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxz KjBcKFthLXhdWzAtOV0rXCl9IDcgfSB9ICovDQo+ID4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxc cyowXChbYS14XVswLTldK1wpfSAxNCB9IH0gKi8NCj4gPiBkaWZmIC0tZ2l0 IGEvZ2NjL3RyZWUtc3NhLXNjY3ZuLmNjIGIvZ2NjL3RyZWUtc3NhLXNjY3Zu LmNjDQo+ID4gaW5kZXggMDI4YmVkYmM5YTAuLjE5ZmRiYThjZmEyIDEwMDY0 NA0KPiA+IC0tLSBhL2djYy90cmVlLXNzYS1zY2N2bi5jYw0KPiA+ICsrKyBi L2djYy90cmVlLXNzYS1zY2N2bi5jYw0KPiA+IEBAIC00Myw2ICs0Myw3IEBA IGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBu b3Qgc2VlDQo+ID4gI2luY2x1ZGUgImdpbXBsZS1mb2xkLmgiDQo+ID4gI2lu Y2x1ZGUgInRyZWUtZWguaCINCj4gPiAjaW5jbHVkZSAiZ2ltcGxpZnkuaCIN Cj4gPiArI2luY2x1ZGUgInRhcmdldC5oIg0KPiA+ICNpbmNsdWRlICJmbGFn cy5oIg0KPiA+ICNpbmNsdWRlICJkb2p1bXAuaCINCj4gPiAjaW5jbHVkZSAi ZXhwbG93LmgiDQo+ID4gQEAgLTU2NTcsMTAgKzU2NTgsMTYgQEAgdmlzaXRf cmVmZXJlbmNlX29wX2xvYWQgKHRyZWUgbGhzLCB0cmVlIG9wLCBnaW1wbGUg KnN0bXQpDQo+ID4gICAgaWYgKHJlc3VsdA0KPiA+ICAgICAgICAmJiAhdXNl bGVzc190eXBlX2NvbnZlcnNpb25fcCAoVFJFRV9UWVBFIChyZXN1bHQpLCBU UkVFX1RZUEUgKG9wKSkpDQo+ID4gICAgICB7DQo+ID4gKyAgICAgIG1hY2hp bmVfbW9kZSByZXN1bHRfbW9kZSA9IFRZUEVfTU9ERSAoVFJFRV9UWVBFIChy ZXN1bHQpKTsNCj4gPiArICAgICAgbWFjaGluZV9tb2RlIG9wX21vZGUgPSBU WVBFX01PREUgKFRSRUVfVFlQRSAob3ApKTsNCj4gPiArICAgICAgcG9seV91 aW50MTYgcmVzdWx0X21vZGVfcHJlY2lzaW9uID0gR0VUX01PREVfUFJFQ0lT SU9OIChyZXN1bHRfbW9kZSk7DQo+ID4gKyAgICAgIHBvbHlfdWludDE2IG9w X21vZGVfcHJlY2lzaW9uID0gR0VUX01PREVfUFJFQ0lTSU9OIChvcF9tb2Rl KTsNCj4gPiArDQo+ID4gICAgICAgIC8qIEF2b2lkIHRoZSB0eXBlIHB1bm5p bmcgaW4gY2FzZSB0aGUgcmVzdWx0IG1vZGUgaGFzIHBhZGRpbmcgd2hlcmUN Cj4gPiAtIHRoZSBvcCB3ZSBsb29rdXAgaGFzIG5vdC4gICovDQo+ID4gLSAg ICAgIGlmIChtYXliZV9sdCAoR0VUX01PREVfUFJFQ0lTSU9OIChUWVBFX01P REUgKFRSRUVfVFlQRSAocmVzdWx0KSkpLA0KPiA+IC0gICAgIEdFVF9NT0RF X1BSRUNJU0lPTiAoVFlQRV9NT0RFIChUUkVFX1RZUEUgKG9wKSkpKSkNCj4g PiArIHRoZSBvcCB3ZSBsb29rdXAgaGFzIG5vdC4NCj4gPiArIEF2b2lkIHRo ZSB0eXBlIHB1bm5pbmcgaW4gY2FzZSB0aGUgdGFyZ2V0IG1vZGUgY2Fubm90 IGJlIHRpZWQuICAqLw0KPiA+ICsgICAgICBpZiAobWF5YmVfbHQgKHJlc3Vs dF9tb2RlX3ByZWNpc2lvbiwgb3BfbW9kZV9wcmVjaXNpb24pDQo+ID4gKyAg ICAgfHwgIXRhcmdldG0ubW9kZXNfdGllYWJsZV9wIChyZXN1bHRfbW9kZSwg b3BfbW9kZSkpDQo+ID4gcmVzdWx0ID0gTlVMTF9UUkVFOw0KPiA+ICAgICAg ICBlbHNlDQo+ID4gew0KPiA+IA0KPiAgDQo+IA0KIA0KLS0gDQpSaWNoYXJk IEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+DQpTVVNFIFNvZnR3YXJlIFNv bHV0aW9ucyBHZXJtYW55IEdtYkgsIEZyYW5rZW5zdHJhc3NlIDE0NiwgOTA0 NjEgTnVlcm5iZXJnLA0KR2VybWFueTsgR0Y6IEl2byBUb3RldiwgQW5kcmV3 IE15ZXJzLCBBbmRyZXcgTWNEb25hbGQsIEJvdWRpZW4gTW9lcm1hbjsNCkhS QiAzNjgwOSAoQUcgTnVlcm5iZXJnKQ0KIA0K ------=_001_NextPart481486751170_=------