From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id BEE985A026F for ; Tue, 27 Jun 2023 04:54:42 +0200 (CEST) Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4Qqq7J5gQJz4wqV; Tue, 27 Jun 2023 12:54:36 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=201602; t=1687834476; bh=llAn90rhUYk+2/hj6UmWHgoxEyJ+YkvydgEZWb0MDeA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bUjqszVf8TuxheLZvh2hRmBQ4Dgr6VMscd+GyaM+IMYFfK9D7Q2BNxgmstpNBBOt1 3781SziJ3+ZfP8KsWaxGuaSnNthajJmWZ7KBgkBPj8Ec+GawHP2jbd1UvU6JM3Y6N/ xdQ2H8vsUeIakjYOvp2CNMGfjJ/Gjgx1AhzEGXGc= From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH 01/27] avocado: Make a duplicate copy of testsuite for comparison purposes Date: Tue, 27 Jun 2023 12:54:02 +1000 Message-ID: <20230627025429.2209702-2-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230627025429.2209702-1-david@gibson.dropbear.id.au> References: <20230627025429.2209702-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Hits: max-size X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; news-moderation; no-subject; digests; suspicious-header Message-ID-Hash: R3MZNQ4DRVL3YCRKUIWRIGNAZX2EXSTM X-Message-ID-Hash: R3MZNQ4DRVL3YCRKUIWRIGNAZX2EXSTM X-Mailman-Approved-At: Tue, 27 Jun 2023 10:50:39 +0200 CC: crosa@redhat.com, jarichte@redhat.com, David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: U3Vic2VxdWVudCBwYXRjaGVzIHdpbGwgc3RhcnQgY29udmVydGluZyB2YXJpb3VzIHBhcnRzIG9m IHRoZSB0ZXN0c3VpdGUgdG8NCnVzZSBBdm9jYWRvLCByYXRoZXIgdGhhbiBvdXIgaGFuZC1yb2xs ZWQgdGVzdHN1aXRlLiAgV2hpbGUgd2UncmUgaW4NCnRyYW5zaXRpb24sIGl0IHdpbGwgYmUgdXNl ZnVsIHRvIHJ1biB0aGUgZXF1aXZhbGVudCB0ZXN0cyBzaWRlIGJ5IHNpZGUNCmluIEF2b2NhZG8g YW5kIHRoZSBvbGQgc3VpdGUuDQoNClRvIHRoYXQgZW5kLCB0YWtlIGEgc25hcHNob3Qgb2YgdGhl IG9sZCB0ZXN0c3VpdGUgaW4gdGhlIG5ldyBkaXJlY3RvcnkNCm9sZHRlc3QvLiAgQXBhcnQgZnJv bSByZWZlcmVuY2luZyBmaWxlcyBpbiB0aGUgbmV3IGRpcmVjdG9yeSwgdGhlIG9ubHkNCmRpZmZl cmVuY2UgaXMgdGhhdCBmb3Igbm93IGFsbCB0ZXN0cyBhcmUgc2tpcHBlZC4gIEFzIHdlIGNvbnZl cnQgdGVzdHMsIHRoZQ0Kb2xkIHZlcnNpb25zIHdpbGwgYmUgYWRkZWQgdG8gb2xkdGVzdC9ydW4g c28gdGhhdCBhIHJlYXNvbmFibHkgZXF1aXZhbGVudA0Kc2lkZSBieSBzaWRlIGNvbXBhcmlzb24g b2YgdGhlIHR3byBmcmFtZXdvcmtzIGNhbiBiZSBtYWRlLg0KDQpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBHaWJzb24gPGRhdmlkQGdpYnNvbi5kcm9wYmVhci5pZC5hdT4NCi0tLQ0KIG9sZHRlc3QvLmdp dGlnbm9yZSAgICAgICAgICAgICAgICB8ICAxMSArDQogb2xkdGVzdC9NYWtlZmlsZSAgICAgICAg ICAgICAgICAgIHwgMjAzICsrKysrKysrDQogb2xkdGVzdC9SRUFETUUubWQgICAgICAgICAgICAg ICAgIHwgMTM3ICsrKysrDQogb2xkdGVzdC9idWlsZC9hbGwgICAgICAgICAgICAgICAgIHwgIDYx ICsrKw0KIG9sZHRlc3QvYnVpbGQvY2xhbmdfdGlkeSAgICAgICAgICB8ICAxNyArDQogb2xkdGVz dC9idWlsZC9jcHBjaGVjayAgICAgICAgICAgIHwgIDE3ICsNCiBvbGR0ZXN0L2NpICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDEgKw0KIG9sZHRlc3QvZGVtby9wYXNzdCAgICAgICAgICAgICAg ICB8IDI0NSArKysrKysrKysNCiBvbGR0ZXN0L2RlbW8vcGFzdGEgICAgICAgICAgICAgICAgfCAy NzQgKysrKysrKysrKw0KIG9sZHRlc3QvZGVtby9wb2RtYW4gICAgICAgICAgICAgICB8IDgxOSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBvbGR0ZXN0L2Rpc3Ryby9kZWJpYW4gICAg ICAgICAgICAgfCAyNTIgKysrKysrKysrDQogb2xkdGVzdC9kaXN0cm8vZmVkb3JhICAgICAgICAg ICAgIHwgMzk2ICsrKysrKysrKysrKysrKw0KIG9sZHRlc3QvZGlzdHJvL29wZW5zdXNlICAgICAg ICAgICB8IDIwOCArKysrKysrKw0KIG9sZHRlc3QvZGlzdHJvL3VidW50dSAgICAgICAgICAgICB8 IDIxNiArKysrKysrKw0KIG9sZHRlc3QvZW52L21hdGUtdGVybWluYWwucHJvZmlsZSB8ICA0MiAr Kw0KIG9sZHRlc3QvZmluZC1hcm02NC1maXJtd2FyZS5zaCAgICB8ICAxMyArDQogb2xkdGVzdC9s aWIvY29udGV4dCAgICAgICAgICAgICAgIHwgMTMwICsrKysrDQogb2xkdGVzdC9saWIvbGF5b3V0 ICAgICAgICAgICAgICAgIHwgMjU5ICsrKysrKysrKysNCiBvbGR0ZXN0L2xpYi9sYXlvdXRfdWds eSAgICAgICAgICAgfCAxMTMgKysrKysNCiBvbGR0ZXN0L2xpYi9wZXJmX3JlcG9ydCAgICAgICAg ICAgfCAyNzIgKysrKysrKysrKw0KIG9sZHRlc3QvbGliL3NldHVwICAgICAgICAgICAgICAgICB8 IDM4NSArKysrKysrKysrKysrKw0KIG9sZHRlc3QvbGliL3NldHVwX3VnbHkgICAgICAgICAgICB8 ICA1OCArKysNCiBvbGR0ZXN0L2xpYi90ZXJtICAgICAgICAgICAgICAgICAgfCA3NTAgKysrKysr KysrKysrKysrKysrKysrKysrKysrDQogb2xkdGVzdC9saWIvdGVzdCAgICAgICAgICAgICAgICAg IHwgMzk4ICsrKysrKysrKysrKysrKw0KIG9sZHRlc3QvbGliL3V0aWwgICAgICAgICAgICAgICAg ICB8IDEzMyArKysrKw0KIG9sZHRlc3QvbGliL3ZpZGVvICAgICAgICAgICAgICAgICB8IDE1MiAr KysrKysNCiBvbGR0ZXN0L21lbW9yeS9wYXNzdCAgICAgICAgICAgICAgfCAxODcgKysrKysrKw0K IG9sZHRlc3QvbnN0b29sLmMgICAgICAgICAgICAgICAgICB8IDU2NSArKysrKysrKysrKysrKysr KysrKysNCiBvbGR0ZXN0L3Bhc3N0Lm1idXRvICAgICAgICAgICAgICAgfCAgODMgKysrDQogb2xk dGVzdC9wYXNzdC5tZW0ubWJ1dG8gICAgICAgICAgIHwgIDQ0ICsrDQogb2xkdGVzdC9wYXNzdC9k aGNwICAgICAgICAgICAgICAgIHwgIDcwICsrKw0KIG9sZHRlc3QvcGFzc3QvbmRwICAgICAgICAg ICAgICAgICB8ICAzMyArKw0KIG9sZHRlc3QvcGFzc3Qvc2h1dGRvd24gICAgICAgICAgICB8ICAx OSArDQogb2xkdGVzdC9wYXNzdC90Y3AgICAgICAgICAgICAgICAgIHwgIDc2ICsrKw0KIG9sZHRl c3QvcGFzc3QvdWRwICAgICAgICAgICAgICAgICB8ICA0NiArKw0KIG9sZHRlc3QvcGFzc3RfaW5f bnMvaWNtcCAgICAgICAgICB8ICAzMiArKw0KIG9sZHRlc3QvcGFzc3RfaW5fbnMvc2h1dGRvd24g ICAgICB8ICAxOSArDQogb2xkdGVzdC9wYXNzdF9pbl9ucy90Y3AgICAgICAgICAgIHwgMjU2ICsr KysrKysrKysNCiBvbGR0ZXN0L3Bhc3N0X2luX25zL3VkcCAgICAgICAgICAgfCAxMzggKysrKysN CiBvbGR0ZXN0L3Bhc3RhL2RoY3AgICAgICAgICAgICAgICAgfCAgNDYgKysNCiBvbGR0ZXN0L3Bh c3RhL25kcCAgICAgICAgICAgICAgICAgfCAgMzMgKysNCiBvbGR0ZXN0L3Bhc3RhL3RjcCAgICAg ICAgICAgICAgICAgfCAgOTYgKysrKw0KIG9sZHRlc3QvcGFzdGEvdWRwICAgICAgICAgICAgICAg ICB8ICA1OSArKysNCiBvbGR0ZXN0L3Bhc3RhX29wdGlvbnMvbG9nX3RvX2ZpbGUgfCAgOTMgKysr Kw0KIG9sZHRlc3QvcGVyZi9wYXNzdF90Y3AgICAgICAgICAgICB8IDIxNSArKysrKysrKw0KIG9s ZHRlc3QvcGVyZi9wYXNzdF91ZHAgICAgICAgICAgICB8IDE2NSArKysrKysNCiBvbGR0ZXN0L3Bl cmYvcGFzdGFfdGNwICAgICAgICAgICAgfCAzMDAgKysrKysrKysrKysNCiBvbGR0ZXN0L3BlcmYv cGFzdGFfdWRwICAgICAgICAgICAgfCAyMTkgKysrKysrKysNCiBvbGR0ZXN0L3ByZXBhcmUtZGlz dHJvLWltZy5zaCAgICAgfCAgMTggKw0KIG9sZHRlc3QvcnVuICAgICAgICAgICAgICAgICAgICAg ICB8IDIzOCArKysrKysrKysNCiBvbGR0ZXN0L3J1bl9kZW1vICAgICAgICAgICAgICAgICAgfCAg IDEgKw0KIG9sZHRlc3QvdHdvX2d1ZXN0cy9iYXNpYyAgICAgICAgICB8ICA4MCArKysNCiBvbGR0 ZXN0L3ZhbGdyaW5kLnN1cHAgICAgICAgICAgICAgfCAgIDkgKw0KIDUzIGZpbGVzIGNoYW5nZWQs IDg3MDIgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0Ly5naXRpZ25v cmUNCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9NYWtlZmlsZQ0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBvbGR0ZXN0L1JFQURNRS5tZA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2J1aWxk L2FsbA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2J1aWxkL2NsYW5nX3RpZHkNCiBjcmVh dGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9idWlsZC9jcHBjaGVjaw0KIGNyZWF0ZSBtb2RlIDEyMDAw MCBvbGR0ZXN0L2NpDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvZGVtby9wYXNzdA0KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2RlbW8vcGFzdGENCiBjcmVhdGUgbW9kZSAxMDA2NDQg b2xkdGVzdC9kZW1vL3BvZG1hbg0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2Rpc3Ryby9k ZWJpYW4NCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9kaXN0cm8vZmVkb3JhDQogY3JlYXRl IG1vZGUgMTAwNjQ0IG9sZHRlc3QvZGlzdHJvL29wZW5zdXNlDQogY3JlYXRlIG1vZGUgMTAwNjQ0 IG9sZHRlc3QvZGlzdHJvL3VidW50dQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2Vudi9t YXRlLXRlcm1pbmFsLnByb2ZpbGUNCiBjcmVhdGUgbW9kZSAxMDA3NTUgb2xkdGVzdC9maW5kLWFy bTY0LWZpcm13YXJlLnNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvbGliL2NvbnRleHQN CiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9saWIvbGF5b3V0DQogY3JlYXRlIG1vZGUgMTAw NjQ0IG9sZHRlc3QvbGliL2xheW91dF91Z2x5DQogY3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRlc3Qv bGliL3BlcmZfcmVwb3J0DQogY3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRlc3QvbGliL3NldHVwDQog Y3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRlc3QvbGliL3NldHVwX3VnbHkNCiBjcmVhdGUgbW9kZSAx MDA3NTUgb2xkdGVzdC9saWIvdGVybQ0KIGNyZWF0ZSBtb2RlIDEwMDc1NSBvbGR0ZXN0L2xpYi90 ZXN0DQogY3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRlc3QvbGliL3V0aWwNCiBjcmVhdGUgbW9kZSAx MDA3NTUgb2xkdGVzdC9saWIvdmlkZW8NCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9tZW1v cnkvcGFzc3QNCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9uc3Rvb2wuYw0KIGNyZWF0ZSBt b2RlIDEwMDc1NSBvbGR0ZXN0L3Bhc3N0Lm1idXRvDQogY3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRl c3QvcGFzc3QubWVtLm1idXRvDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzc3QvZGhj cA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L3Bhc3N0L25kcA0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBvbGR0ZXN0L3Bhc3N0L3NodXRkb3duDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3Qv cGFzc3QvdGNwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzc3QvdWRwDQogY3JlYXRl IG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzc3RfaW5fbnMvaWNtcA0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBvbGR0ZXN0L3Bhc3N0X2luX25zL3NodXRkb3duDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRl c3QvcGFzc3RfaW5fbnMvdGNwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzc3RfaW5f bnMvdWRwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzdGEvZGhjcA0KIGNyZWF0ZSBt b2RlIDEwMDY0NCBvbGR0ZXN0L3Bhc3RhL25kcA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0 L3Bhc3RhL3RjcA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L3Bhc3RhL3VkcA0KIGNyZWF0 ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L3Bhc3RhX29wdGlvbnMvbG9nX3RvX2ZpbGUNCiBjcmVhdGUg bW9kZSAxMDA2NDQgb2xkdGVzdC9wZXJmL3Bhc3N0X3RjcA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBv bGR0ZXN0L3BlcmYvcGFzc3RfdWRwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGVyZi9w YXN0YV90Y3ANCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9wZXJmL3Bhc3RhX3VkcA0KIGNy ZWF0ZSBtb2RlIDEwMDc1NSBvbGR0ZXN0L3ByZXBhcmUtZGlzdHJvLWltZy5zaA0KIGNyZWF0ZSBt b2RlIDEwMDc1NSBvbGR0ZXN0L3J1bg0KIGNyZWF0ZSBtb2RlIDEyMDAwMCBvbGR0ZXN0L3J1bl9k ZW1vDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvdHdvX2d1ZXN0cy9iYXNpYw0KIGNyZWF0 ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L3ZhbGdyaW5kLnN1cHANCg0KZGlmZiAtLWdpdCBhL29sZHRl c3QvLmdpdGlnbm9yZSBiL29sZHRlc3QvLmdpdGlnbm9yZQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwLi40ODM3NDAyOA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC8u Z2l0aWdub3JlDQpAQCAtMCwwICsxLDExIEBADQordGVzdF9sb2dzLw0KK21idXRvLw0KKyouaW1n DQorUUVNVV9FRkkuZmQNCisqLnFjb3cyDQorKi5yYXcNCisqLnJhdy54eg0KKyouYmluDQorbnN0 b29sDQorZ3Vlc3Qta2V5DQorZ3Vlc3Qta2V5LnB1Yg0KZGlmZiAtLWdpdCBhL29sZHRlc3QvTWFr ZWZpbGUgYi9vbGR0ZXN0L01ha2VmaWxlDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAw MDAwMDAuLjdiMDBiZWY0DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L01ha2VmaWxlDQpA QCAtMCwwICsxLDIwMyBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXINCisjDQorIyBUZXN0cyBtYWtlZmlsZQ0KKyMNCisjIENvcHlyaWdodCBSZWQgSGF0DQor IyBBdXRob3I6IERhdmlkIEdpYnNvbiA8ZGF2aWRAZ2lic29uLmRyb3BiZWFyLmlkLmF1Pg0KKw0K K1dHRVQgPSB3Z2V0IC1jDQorDQorREVCSUFOX0lNR1MgPSBkZWJpYW4tOC4xMS4wLW9wZW5zdGFj ay1hbWQ2NC5xY293MiBcDQorCWRlYmlhbi05LW5vY2xvdWQtYW1kNjQtZGFpbHktMjAyMDAyMTAt MTY2LnFjb3cyIFwNCisJZGViaWFuLTEwLW5vY2xvdWQtYW1kNjQucWNvdzIgXA0KKwlkZWJpYW4t MTAtZ2VuZXJpYy1hcm02NC5xY293MiBcDQorCWRlYmlhbi0xMC1nZW5lcmljLXBwYzY0ZWwtMjAy MjA5MTEtMTEzNS5xY293MiBcDQorCWRlYmlhbi0xMS1ub2Nsb3VkLWFtZDY0LnFjb3cyIFwNCisJ ZGViaWFuLTExLWdlbmVyaWMtYXJtNjQucWNvdzIgXA0KKwlkZWJpYW4tMTEtZ2VuZXJpYy1wcGM2 NGVsLnFjb3cyIFwNCisJZGViaWFuLXNpZC1ub2Nsb3VkLWFtZDY0LWRhaWx5LnFjb3cyIFwNCisJ ZGViaWFuLXNpZC1ub2Nsb3VkLWFybTY0LWRhaWx5LnFjb3cyIFwNCisJZGViaWFuLXNpZC1ub2Ns b3VkLXBwYzY0ZWwtZGFpbHkucWNvdzINCisNCitGRURPUkFfSU1HUyA9IEZlZG9yYS1DbG91ZC1C YXNlLTI2LTEuNS54ODZfNjQucWNvdzIgXA0KKwlGZWRvcmEtQ2xvdWQtQmFzZS0yNy0xLjYueDg2 XzY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMjgtMS4xLng4Nl82NC5xY293MiBcDQor CUZlZG9yYS1DbG91ZC1CYXNlLTI4LTEuMS5hYXJjaDY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3Vk LUJhc2UtMjktMS4yLng4Nl82NC5xY293MiBcDQorCUZlZG9yYS1DbG91ZC1CYXNlLTI5LTEuMi5h YXJjaDY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMzAtMS4yLng4Nl82NC5xY293MiBc DQorCUZlZG9yYS1DbG91ZC1CYXNlLTMwLTEuMi5hYXJjaDY0LnFjb3cyIFwNCisJRmVkb3JhLUNs b3VkLUJhc2UtMzEtMS45Lng4Nl82NC5xY293MiBcDQorCUZlZG9yYS1DbG91ZC1CYXNlLTMxLTEu OS5hYXJjaDY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMzItMS42Lng4Nl82NC5xY293 MiBcDQorCUZlZG9yYS1DbG91ZC1CYXNlLTMyLTEuNi5hYXJjaDY0LnFjb3cyIFwNCisJRmVkb3Jh LUNsb3VkLUJhc2UtMzMtMS4yLng4Nl82NC5xY293MiBcDQorCUZlZG9yYS1DbG91ZC1CYXNlLTMz LTEuMi5hYXJjaDY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMzQtMS4yLng4Nl82NC5x Y293MiBcDQorCUZlZG9yYS1DbG91ZC1CYXNlLTM0LTEuMi5hYXJjaDY0LnFjb3cyIFwNCisJRmVk b3JhLUNsb3VkLUJhc2UtMzUtMS4yLng4Nl82NC5xY293MiBcDQorCUZlZG9yYS1DbG91ZC1CYXNl LTM1LTEuMi5hYXJjaDY0LnFjb3cyDQorDQorT1BFTlNVU0VfSU1HUyA9IG9wZW5TVVNFLUxlYXAt MTUuMS1KZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293MiBcDQorCW9wZW5TVVNFLUxlYXAtMTUu Mi1KZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293MiBcDQorCW9wZW5TVVNFLUxlYXAtMTUuMy1K ZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293MiBcDQorCW9wZW5TVVNFLVR1bWJsZXdlZWQtQVJN LUplT1MtZWZpLmFhcmNoNjQucmF3Lnh6IFwNCisJb3BlblNVU0UtVHVtYmxld2VlZC1BUk0tSmVP Uy1lZmkuYXJtdjdsLnJhdy54eiBcDQorCW9wZW5TVVNFLVR1bWJsZXdlZWQtSmVPUy54ODZfNjQt a3ZtLWFuZC14ZW4ucWNvdzINCisNCitVQlVOVFVfT0xEX0lNR1MgPSB0cnVzdHktc2VydmVyLWNs b3VkaW1nLWFtZDY0LWRpc2sxLmltZyBcDQorCXRydXN0eS1zZXJ2ZXItY2xvdWRpbWctaTM4Ni1k aXNrMS5pbWcgXA0KKwl0cnVzdHktc2VydmVyLWNsb3VkaW1nLXBwYzY0ZWwtZGlzazEuaW1nDQor VUJVTlRVX05FV19JTUdTID0geGVuaWFsLXNlcnZlci1jbG91ZGltZy1wb3dlcnBjLWRpc2sxLmlt ZyBcDQorCWphbW15LXNlcnZlci1jbG91ZGltZy1zMzkweC5pbWcNCitVQlVOVFVfSU1HUyA9ICQo VUJVTlRVX09MRF9JTUdTKSAkKFVCVU5UVV9ORVdfSU1HUykNCisNCitET1dOTE9BRF9BU1NFVFMg PSBtYnV0byBcDQorCSQoREVCSUFOX0lNR1MpICQoRkVET1JBX0lNR1MpICQoT1BFTlNVU0VfSU1H UykgJChVQlVOVFVfSU1HUykNCitURVNUREFUQV9BU1NFVFMgPSBzbWFsbC5iaW4gYmlnLmJpbiBt ZWRpdW0uYmluDQorTE9DQUxfQVNTRVRTID0gbWJ1dG8uaW1nIG1idXRvLm1lbS5pbWcgUUVNVV9F RkkuZmQgXA0KKwkkKERFQklBTl9JTUdTOiU9cHJlcGFyZWQtJSkgJChGRURPUkFfSU1HUzolPXBy ZXBhcmVkLSUpIFwNCisJJChVQlVOVFVfTkVXX0lNR1M6JT1wcmVwYXJlZC0lKSBcDQorCW5zdG9v bCBndWVzdC1rZXkgZ3Vlc3Qta2V5LnB1YiBcDQorCSQoVEVTVERBVEFfQVNTRVRTKQ0KKw0KK0FT U0VUUyA9ICQoRE9XTkxPQURfQVNTRVRTKSAkKExPQ0FMX0FTU0VUUykNCisNCitDRkxBR1MgPSAt V2FsbCAtV2Vycm9yIC1XZXh0cmEgLXBlZGFudGljIC1zdGQ9Yzk5DQorDQorYXNzZXRzOiAkKEFT U0VUUykNCisNCittYnV0bzoNCisJZ2l0IGNsb25lIGdpdDovL21idXRvLnNoL21idXRvDQorDQor Z3Vlc3Qta2V5IGd1ZXN0LWtleS5wdWI6DQorCXNzaC1rZXlnZW4gLWYgZ3Vlc3Qta2V5IC1OICcn DQorDQorbWJ1dG8uaW1nOiBwYXNzdC5tYnV0byBtYnV0byBndWVzdC1rZXkucHViICQoVEVTVERB VEFfQVNTRVRTKQ0KKwkuL21idXRvL21idXRvIC1wIC4vJDwgLWMgbHo0IC1mICRADQorDQorbWJ1 dG8ubWVtLmltZzogcGFzc3QubWVtLm1idXRvIG1idXRvIC4uL3Bhc3N0LmF2eDINCisJLi9tYnV0 by9tYnV0byAtcCAuLyQ8IC1jIGx6NCAtZiAkQA0KKw0KK25zdG9vbDogbnN0b29sLmMNCisJJChD QykgJChDRkxBR1MpIC1vICRAICReDQorDQorUUVNVV9FRkkuZmQ6DQorCS4vZmluZC1hcm02NC1m aXJtd2FyZS5zaCAkQA0KKw0KK3ByZXBhcmVkLSUucWNvdzI6ICUucWNvdzIgLi9wcmVwYXJlLWRp c3Ryby1pbWcuc2gNCisJcWVtdS1pbWcgY3JlYXRlIC1mIHFjb3cyIC1GIHFjb3cyIC1iICQ8ICRA DQorCS4vcHJlcGFyZS1kaXN0cm8taW1nLnNoICRADQorDQorcHJlcGFyZWQtJS5pbWc6ICUuaW1n IC4vcHJlcGFyZS1kaXN0cm8taW1nLnNoDQorCXFlbXUtaW1nIGNyZWF0ZSAtZiBxY293MiAtRiBx Y293MiAtYiAkPCAkQA0KKwkuL3ByZXBhcmUtZGlzdHJvLWltZy5zaCAkKElNR1RZUEUpICRADQor DQorc21hbGwuYmluOg0KKwlkZCBpZj0vZGV2L3VyYW5kb20gYnM9MmsgY291bnQ9MSBvZj0kQA0K Kw0KK21lZGl1bS5iaW46DQorCWRkIGlmPS9kZXYvdXJhbmRvbSBicz0xayBjb3VudD01IG9mPSRA DQorDQorYmlnLmJpbjoNCisJZGQgaWY9L2Rldi91cmFuZG9tIGJzPTFNIGNvdW50PTEwIG9mPSRA DQorDQorY2hlY2s6IGFzc2V0cw0KKwkuL3J1bg0KKw0KK2RlYnVnOiBhc3NldHMNCisJREVCVUc9 MSAuL3J1bg0KKw0KK2NsZWFuOg0KKwlybSAtZiBwZXJmLmpzICp+DQorCXJtIC1mICQoTE9DQUxf QVNTRVRTKQ0KKwlybSAtcmYgdGVzdF9sb2dzDQorCXJtIC1mIHByZXBhcmVkLSoucWNvdzIgcHJl cGFyZWQtKi5pbWcNCisNCityZWFsY2xlYW46IGNsZWFuDQorCXJtIC1yZiAkKERPV05MT0FEX0FT U0VUUykNCisNCisjIERlYmlhbiBkb3dubG9hZHMNCitkZWJpYW4tOC4xMS4wLW9wZW5zdGFjay0l LnFjb3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHBzOi8vY2xvdWQuZGViaWFuLm9yZy9pbWFnZXMv Y2xvdWQvT3BlblN0YWNrL2FyY2hpdmUvOC4xMS4wL2RlYmlhbi04LjExLjAtb3BlbnN0YWNrLSQq LnFjb3cyDQorDQorZGViaWFuLTktbm9jbG91ZC0lLWRhaWx5LTIwMjAwMjEwLTE2Ni5xY293MjoN CisJJChXR0VUKSAtTyAkQCBodHRwczovL2Nsb3VkLmRlYmlhbi5vcmcvaW1hZ2VzL2Nsb3VkL3N0 cmV0Y2gvZGFpbHkvMjAyMDAyMTAtMTY2L2RlYmlhbi05LW5vY2xvdWQtJCotZGFpbHktMjAyMDAy MTAtMTY2LnFjb3cyDQorDQorZGViaWFuLTEwLW5vY2xvdWQtJS5xY293MjoNCisJJChXR0VUKSAt TyAkQCBodHRwczovL2Nsb3VkLmRlYmlhbi5vcmcvaW1hZ2VzL2Nsb3VkL2J1c3Rlci9sYXRlc3Qv ZGViaWFuLTEwLW5vY2xvdWQtJCoucWNvdzINCisNCitkZWJpYW4tMTAtZ2VuZXJpYy1wcGM2NGVs LTIwMjIwOTExLTExMzUucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9jbG91ZC5kZWJp YW4ub3JnL2ltYWdlcy9jbG91ZC9idXN0ZXIvMjAyMjA5MTEtMTEzNS9kZWJpYW4tMTAtZ2VuZXJp Yy1wcGM2NGVsLTIwMjIwOTExLTExMzUucWNvdzINCisNCitkZWJpYW4tMTAtZ2VuZXJpYy0lLnFj b3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHBzOi8vY2xvdWQuZGViaWFuLm9yZy9pbWFnZXMvY2xv dWQvYnVzdGVyL2xhdGVzdC9kZWJpYW4tMTAtZ2VuZXJpYy0kKi5xY293Mg0KKw0KK2RlYmlhbi0x MS1ub2Nsb3VkLSUucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9jbG91ZC5kZWJpYW4u b3JnL2ltYWdlcy9jbG91ZC9idWxsc2V5ZS9sYXRlc3QvZGViaWFuLTExLW5vY2xvdWQtJCoucWNv dzINCisNCitkZWJpYW4tMTEtZ2VuZXJpYy0lLnFjb3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHBz Oi8vY2xvdWQuZGViaWFuLm9yZy9pbWFnZXMvY2xvdWQvYnVsbHNleWUvbGF0ZXN0L2RlYmlhbi0x MS1nZW5lcmljLSQqLnFjb3cyDQorDQorZGViaWFuLXNpZC1ub2Nsb3VkLSUtZGFpbHkucWNvdzI6 DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9jbG91ZC5kZWJpYW4ub3JnL2ltYWdlcy9jbG91ZC9z aWQvZGFpbHkvbGF0ZXN0L2RlYmlhbi1zaWQtbm9jbG91ZC0kKi1kYWlseS5xY293Mg0KKw0KKyMg RmVkb3JhIGRvd25sb2Fkcw0KK0ZlZG9yYS1DbG91ZC1CYXNlLTI2LTEuNS4lLnFjb3cyOg0KKwkk KFdHRVQpIC1PICRAIGh0dHA6Ly9hcmNoaXZlcy5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIvYXJjaGl2 ZS9mZWRvcmEvbGludXgvcmVsZWFzZXMvMjYvQ2xvdWRJbWFnZXMvJCovaW1hZ2VzL0ZlZG9yYS1D bG91ZC1CYXNlLTI2LTEuNS4kKi5xY293Mg0KKw0KK0ZlZG9yYS1DbG91ZC1CYXNlLTI3LTEuNi4l LnFjb3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHA6Ly9hcmNoaXZlcy5mZWRvcmFwcm9qZWN0Lm9y Zy9wdWIvYXJjaGl2ZS9mZWRvcmEvbGludXgvcmVsZWFzZXMvMjcvQ2xvdWRJbWFnZXMvJCovaW1h Z2VzL0ZlZG9yYS1DbG91ZC1CYXNlLTI3LTEuNi4kKi5xY293Mg0KKw0KK0ZlZG9yYS1DbG91ZC1C YXNlLTI4LTEuMS4lLnFjb3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHA6Ly9hcmNoaXZlcy5mZWRv cmFwcm9qZWN0Lm9yZy9wdWIvYXJjaGl2ZS9mZWRvcmEvbGludXgvcmVsZWFzZXMvMjgvQ2xvdWQv JCovaW1hZ2VzL0ZlZG9yYS1DbG91ZC1CYXNlLTI4LTEuMS4kKi5xY293Mg0KKw0KK0ZlZG9yYS1D bG91ZC1CYXNlLTI5LTEuMi4lLnFjb3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHA6Ly9hcmNoaXZl cy5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIvYXJjaGl2ZS9mZWRvcmEvbGludXgvcmVsZWFzZXMvMjkv Q2xvdWQvJCovaW1hZ2VzL0ZlZG9yYS1DbG91ZC1CYXNlLTI5LTEuMi4kKi5xY293Mg0KKw0KK0Zl ZG9yYS1DbG91ZC1CYXNlLTMwLTEuMi4lLnFjb3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHA6Ly9h cmNoaXZlcy5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIvYXJjaGl2ZS9mZWRvcmEvbGludXgvcmVsZWFz ZXMvMzAvQ2xvdWQvJCovaW1hZ2VzL0ZlZG9yYS1DbG91ZC1CYXNlLTMwLTEuMi4kKi5xY293Mg0K Kw0KK0ZlZG9yYS1DbG91ZC1CYXNlLTMxLTEuOS4lLnFjb3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0 dHA6Ly9hcmNoaXZlcy5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIvYXJjaGl2ZS9mZWRvcmEvbGludXgv cmVsZWFzZXMvMzEvQ2xvdWQvJCovaW1hZ2VzL0ZlZG9yYS1DbG91ZC1CYXNlLTMxLTEuOS4kKi5x Y293Mg0KKw0KK0ZlZG9yYS1DbG91ZC1CYXNlLTMyLTEuNi4lLnFjb3cyOg0KKwkkKFdHRVQpIC1P ICRAIGh0dHBzOi8vYXJjaGl2ZXMuZmVkb3JhcHJvamVjdC5vcmcvcHViL2FyY2hpdmUvZmVkb3Jh L2xpbnV4L3JlbGVhc2VzLzMyL0Nsb3VkLyQqL2ltYWdlcy9GZWRvcmEtQ2xvdWQtQmFzZS0zMi0x LjYuJCoucWNvdzINCisNCitGZWRvcmEtQ2xvdWQtQmFzZS0zMy0xLjIuJS5xY293MjoNCisJJChX R0VUKSAtTyAkQCBodHRwczovL2FyY2hpdmVzLmZlZG9yYXByb2plY3Qub3JnL3B1Yi9hcmNoaXZl L2ZlZG9yYS9saW51eC9yZWxlYXNlcy8zMy9DbG91ZC8kKi9pbWFnZXMvRmVkb3JhLUNsb3VkLUJh c2UtMzMtMS4yLiQqLnFjb3cyDQorDQorRmVkb3JhLUNsb3VkLUJhc2UtMzQtMS4yLiUucWNvdzI6 DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9hcmNoaXZlcy5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIv YXJjaGl2ZS9mZWRvcmEvbGludXgvcmVsZWFzZXMvMzQvQ2xvdWQvJCovaW1hZ2VzL0ZlZG9yYS1D bG91ZC1CYXNlLTM0LTEuMi4kKi5xY293Mg0KKw0KK0ZlZG9yYS1DbG91ZC1CYXNlLTM1LTEuMi4l LnFjb3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHBzOi8vYXJjaGl2ZXMuZmVkb3JhcHJvamVjdC5v cmcvcHViL2FyY2hpdmUvZmVkb3JhL2xpbnV4L3JlbGVhc2VzLzM1L0Nsb3VkLyQqL2ltYWdlcy9G ZWRvcmEtQ2xvdWQtQmFzZS0zNS0xLjIuJCoucWNvdzINCisNCisjIE9wZW5TdVNFIGRvd25sb2Fk cw0KK29wZW5TVVNFLUxlYXAtMTUuMS1KZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293MjoNCisJ JChXR0VUKSAtTyAkQCBodHRwczovL2Rvd25sb2FkLm9wZW5zdXNlLm9yZy9kaXN0cmlidXRpb24v bGVhcC8xNS4xL2plb3Mvb3BlblNVU0UtTGVhcC0xNS4xLUplT1MueDg2XzY0LWt2bS1hbmQteGVu LnFjb3cyDQorDQorb3BlblNVU0UtTGVhcC0xNS4yLUplT1MueDg2XzY0LWt2bS1hbmQteGVuLnFj b3cyOg0KKwkkKFdHRVQpIC1PICRAIGh0dHBzOi8vZG93bmxvYWQub3BlbnN1c2Uub3JnL2Rpc3Ry aWJ1dGlvbi9sZWFwLzE1LjIvYXBwbGlhbmNlcy9vcGVuU1VTRS1MZWFwLTE1LjItSmVPUy54ODZf NjQta3ZtLWFuZC14ZW4ucWNvdzINCisNCitvcGVuU1VTRS1MZWFwLTE1LjMtSmVPUy54ODZfNjQt a3ZtLWFuZC14ZW4ucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9kb3dubG9hZC5vcGVu c3VzZS5vcmcvZGlzdHJpYnV0aW9uL2xlYXAvMTUuMy9hcHBsaWFuY2VzL29wZW5TVVNFLUxlYXAt MTUuMy1KZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293Mg0KKw0KK29wZW5TVVNFLVR1bWJsZXdl ZWQtQVJNLUplT1MtZWZpLmFhcmNoNjQucmF3Lnh6Og0KKwkkKFdHRVQpIC1PICRAIGh0dHA6Ly9k b3dubG9hZC5vcGVuc3VzZS5vcmcvcG9ydHMvYWFyY2g2NC90dW1ibGV3ZWVkL2FwcGxpYW5jZXMv b3BlblNVU0UtVHVtYmxld2VlZC1BUk0tSmVPUy1lZmkuYWFyY2g2NC5yYXcueHoNCisNCitvcGVu U1VTRS1UdW1ibGV3ZWVkLUFSTS1KZU9TLWVmaS5hcm12N2wucmF3Lnh6Og0KKwkkKFdHRVQpIC1P ICRAIGh0dHA6Ly9kb3dubG9hZC5vcGVuc3VzZS5vcmcvcG9ydHMvYXJtdjdobC90dW1ibGV3ZWVk L2FwcGxpYW5jZXMvb3BlblNVU0UtVHVtYmxld2VlZC1BUk0tSmVPUy1lZmkuYXJtdjdsLnJhdy54 eg0KKw0KK29wZW5TVVNFLVR1bWJsZXdlZWQtSmVPUy54ODZfNjQta3ZtLWFuZC14ZW4ucWNvdzI6 DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9kb3dubG9hZC5vcGVuc3VzZS5vcmcvdHVtYmxld2Vl ZC9hcHBsaWFuY2VzL29wZW5TVVNFLVR1bWJsZXdlZWQtSmVPUy54ODZfNjQta3ZtLWFuZC14ZW4u cWNvdzINCisNCisjIFVidW50dSBkb3dubG9hZHMNCit0cnVzdHktc2VydmVyLWNsb3VkaW1nLSUt ZGlzazEuaW1nOg0KKwkkKFdHRVQpIC1PICRAIGh0dHBzOi8vY2xvdWQtaW1hZ2VzLnVidW50dS5j b20vdHJ1c3R5L2N1cnJlbnQvdHJ1c3R5LXNlcnZlci1jbG91ZGltZy0kKi1kaXNrMS5pbWcNCisN Cit4ZW5pYWwtc2VydmVyLWNsb3VkaW1nLXBvd2VycGMtZGlzazEuaW1nOg0KKwkkKFdHRVQpIC1P ICRAIGh0dHBzOi8vY2xvdWQtaW1hZ2VzLnVidW50dS5jb20veGVuaWFsL2N1cnJlbnQveGVuaWFs LXNlcnZlci1jbG91ZGltZy1wb3dlcnBjLWRpc2sxLmltZw0KKw0KK2phbW15LXNlcnZlci1jbG91 ZGltZy1zMzkweC5pbWc6DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9jbG91ZC1pbWFnZXMudWJ1 bnR1LmNvbS9qYW1teS9jdXJyZW50L2phbW15LXNlcnZlci1jbG91ZGltZy1zMzkweC5pbWcNCmRp ZmYgLS1naXQgYS9vbGR0ZXN0L1JFQURNRS5tZCBiL29sZHRlc3QvUkVBRE1FLm1kDQpuZXcgZmls ZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAuLjAzYzdmNTc5DQotLS0gL2Rldi9udWxsDQor KysgYi9vbGR0ZXN0L1JFQURNRS5tZA0KQEAgLTAsMCArMSwxMzcgQEANCis8IS0tLQ0KK1NQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorQ29weXJpZ2h0IChjKSAyMDIx LTIwMjIgUmVkIEhhdCBHbWJIDQorQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRo YXQuY29tPg0KKy0tPg0KKw0KKyMgU2NvcGUNCisNCitUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0 ZXN0IGNhc2VzIGZvciBfcGFzc3RfIGFuZCBfcGFzdGFfIGFuZCBhIHNpbXBsZQ0KK1BPU0lYIHNo ZWxsLWJhc2VkIGZyYW1ld29yayB0byBkZWZpbmUgdGhlbSwgYW5kIHJ1biB0aGVtIGFzIGEgc3Vp dGUuDQorDQorVGhlc2UgdGVzdHMgY2FuIGJlIHJ1biBhcyBwYXJ0IG9mIGEgY29udGludW91cyBp bnRlZ3JhdGlvbiB3b3JrZmxvdywgYW5kIGFyZQ0KK2Fsc28gdXNlZCB0byBwcm92aWRlIHNob3J0 IHVzYWdlIGRlbW9zLCB3aXRoIHZpZGVvIHJlY29yZGluZywgZm9yIF9wYXNzdF8gYW5kDQorX3Bh c3RhXyBiYXNpYyB1c2UgY2FzZXMuDQorDQorIyBSdW4NCisNCisjIyBEZXBlbmRlbmNpZXMNCisN CisjIyMgUGFja2FnZXMNCisNCitUaGUgdGVzdHMgcmVxdWlyZSBzb21lIHBhY2thZ2UgZGVwZW5k ZW5jaWVzIGNvbW1vbmx5IGF2YWlsYWJsZSBpbiBMaW51eA0KK2Rpc3RyaWJ1dGlvbnMuIElmIHNv bWUgcGFja2FnZXMgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSB0ZXN0IGdyb3VwcyB0aGF0IG5lZWQN Cit0aGVtIHdpbGwgYmUgc2VsZWN0aXZlbHkgc2tpcHBlZC4NCisNCitUaGlzIGlzIGEgbm9uLWV4 aGF1c3RpdmUgbGlzdCBvZiBwYWNrYWdlcyB0aGF0IG1pZ2h0IG5vdCBjb21tb25seSBiZSBpbnN0 YWxsZWQNCitvbiBhIHN5c3RlbSwgaS5lLiBjb21tb24gdXRpbGl0aWVzIHN1Y2ggYXMgYSBzaGVs bCBhcmUgbm90IGluY2x1ZGVkIGhlcmUuDQorDQorRXhhbXBsZSBmb3IgRGViaWFuLCBhbmQgcG9z c2libHkgbW9zdCBEZWJpYW4tYmFzZWQgZGlzdHJpYnV0aW9uczoNCisNCisgICAgYnVpbGQtZXNz ZW50aWFsIGdpdCBqcSBzdHJhY2UgaXBlcmYzIHFlbXUtc3lzdGVtLXg4NiB0bXV4IHNpcGNhbGMg YmMNCisgICAgY2xhbmctdGlkeSBjcHBjaGVjayBpc2MtZGhjcC1jb21tb24gcHNtaXNjIGxpbnV4 LWNwdXBvd2VyIHNvY2F0DQorICAgIG5ldGNhdC1vcGVuYnNkIGZha2Vyb290IGx6NCBsbS1zZW5z b3JzIHFlbXUtc3lzdGVtLWFybSBxZW11LXN5c3RlbS1wcGMNCisgICAgcWVtdS1zeXN0ZW0tbWlz YyBxZW11LXN5c3RlbS14ODYgdmFsZ3JpbmQNCisNCitOT1RFOiB0aGUgdGVzdHMgbmVlZCBhIHFl bXUgdmVyc2lvbiA+PSA3LjIsIG9yIG9uZSB0aGF0IGNvbnRhaW5zIGNvbW1pdA0KKzEzYzZiZTk2 NjE4YyAoIm5ldDogc3RyZWFtOiBhZGQgdW5peCBzb2NrZXQiKTogdGhpcyBjaGFuZ2UgaW50cm9k dWNlcyBzdXBwb3J0DQorZm9yIFVOSVggZG9tYWluIHNvY2tldHMgYXMgbmV0d29yayBkZXZpY2Ug YmFjay1lbmQsIHdoaWNoIHFlbXUgdXNlcyB0byBjb25uZWN0DQordG8gcGFzc3QuDQorDQorIyMj IE90aGVyIHRvb2xzDQorDQorVGVzdCBtZWFzdXJpbmcgcmVxdWVzdC1yZXNwb25zZSBhbmQgY29u bmVjdC1yZXF1ZXN0LXJlc3BvbnNlIGxhdGVuY2llcyB1c2UNCitgbmVwZXJgLCB3aGljaCBpcyBu b3QgY29tbW9ubHkgcGFja2FnZWQgYnkgZGlzdHJpYnV0aW9ucyBhbmQgbmVlZHMgdG8gYmUgYnVp bHQNCithbmQgaW5zdGFsbGVkIG1hbnVhbGx5Og0KKw0KKyAgICBnaXQgY2xvbmUgaHR0cHM6Ly9n aXRodWIuY29tL2dvb2dsZS9uZXBlcg0KKyAgICBjZCBuZXBlcjsgbWFrZQ0KKyAgICBjcCB0Y3Bf Y3JyIHRjcF9yciB1ZHBfcnIgL3Vzci9sb2NhbC9iaW4NCisNCitWaXJ0dWFsIG1hY2hpbmUgaW1h Z2VzIGFyZSBidWlsdCBkdXJpbmcgdGVzdCBleGVjdXRpb25zIHVzaW5nDQorW21idXRvXShodHRw czovL21idXRvLmxhbWVleGN1LnNlLyksIHRoZSBzaGVsbCBzY3JpcHQgaXMgc291cmNlZCB2aWEg X2dpdF8NCithcyBuZWVkZWQsIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBhY3R1YWxseSBpbnN0YWxs IGl0Lg0KKw0KKyMjIyBLZXJuZWwgcGFyYW1ldGVycw0KKw0KK1BlcmZvcm1hbmNlIHRlc3RzIHVz ZSBpcGVyZjMgd2l0aCByYXRoZXIgbGFyZ2UgVENQIHJlY2VpdmluZyBhbmQgc2VuZGluZw0KK3dp bmRvd3MsIHRvIGRlY3JlYXNlIHRoZSBsaWtlbGlob29kIG9mIGlwZXJmMyBpdHNlbGYgYmVjb21p bmcgdGhlIGJvdHRsZW5lY2suDQorVGhlc2UgdmFsdWVzIG5lZWQgdG8gYmUgYWxsb3dlZCBieSB0 aGUga2VybmVsIG9mIHRoZSBob3N0IHJ1bm5pbmcgdGhlIHRlc3RzLg0KK0V4YW1wbGUgZm9yIC9l dGMvc3lzY3RsLmNvbmY6DQorDQorICBuZXQuY29yZS5ybWVtX21heCA9IDEzNDIxNzcyOA0KKyAg bmV0LmNvcmUud21lbV9tYXggPSAxMzQyMTc3MjgNCisNCitGdXJ0aGVyLCB0aGUgcGFzc3QgZGVt byB1c2VzIHBlcmYoMSksIHJlbHlpbmcgb24gaGFyZHdhcmUgZXZlbnRzIGZvciBwZXJmb3JtYW5j ZQ0KK2NvdW50ZXJzLCB0byBkaXNwbGF5IHN5c2NhbGwgb3ZlcmhlYWQuIFRoZSBrZXJuZWwgbmVl ZHMgdG8gYWxsb3cgdW5wcml2aWxlZ2VkDQordXNlcnMgdG8gYWNjZXNzIHRoZXNlIGV2ZW50cy4g U3VnZ2VzdGVkIGVudHJ5IGZvciAvZXRjL3N5c2N0bC5jb25mOg0KKw0KKyAga2VybmVsLnBlcmZf ZXZlbnRfcGFyYW5vaWQgPSAtMQ0KKw0KKyMjIyBTcGVjaWFsIHJlcXVpcmVtZW50cyBmb3IgY29u dGludW91cyBpbnRlZ3JhdGlvbiBhbmQgZGVtbyBtb2Rlcw0KKw0KK1J1bm5pbmcgdGhlIHRlc3Qg c3VpdGUgYXMgY29udGludW91cyBpbnRlZ3JhdGlvbiBvciBkZW1vIG1vZGVzIHdpbGwgcmVjb3Jk IHRoZQ0KK3Rlcm1pbmFsIHdpdGggdGhlIHN0ZXBzIGJlaW5nIGV4ZWN1dGVkLCB1c2luZyBhc2Np aW5lbWEoMSksIGFuZCBjcmVhdGUgYmluYXJ5DQorcGFja2FnZXMuDQorDQorVGhlIGZvbGxvd2lu ZyBhZGRpdGlvbmFsIHBhY2thZ2VzIGFyZSBjb21tb25seSBuZWVkZWQ6DQorDQorICAgIGFsaWVu IGFzY2lpbmVtYSBsaW51eC1wZXJmIHRzaGFyaw0KKw0KKyMjIFJlZ3VsYXIgdGVzdA0KKw0KK0p1 c3QgaXNzdWU6DQorDQorICAgIC4vcnVuDQorDQorZnJvbSB0aGUgYHRlc3RgIGRpcmVjdG9yeS4g RWxldmF0ZWQgcHJpdmlsZWdlcyBhcmUgbm90IG5lZWRlZC4gRW52aXJvbm1lbnQNCit2YXJpYWJs ZSBzZXR0aW5nczogREVCVUc9MSBlbmFibGVzIGRlYnVnZ2luZyBtZXNzYWdlcywgVFJBQ0U9MSBl bmFibGVzIHRyYWNpbmcNCisoZnVydGhlciBkZWJ1Z2dpbmcgbWVzc2FnZXMpLCBQQ0FQPTEgZW5h YmxlcyBwYWNrZXQgY2FwdHVyZXMuIEV4YW1wbGU6DQorDQorICAgIFBDQVA9MSBUUkFDRT0xIC4v cnVuDQorDQorIyMgUnVubmluZyBzZWxlY3RlZCB0ZXN0cw0KKw0KK1J1ZGltZW50YXJ5IHN1cHBv cnQgdG8gcnVuIGEgbGlzdCBvZiBzZWxlY3RlZCB0ZXN0cywgd2l0aG91dCBzdXBwb3J0IGZvcg0K K2RlcGVuZGVuY2llcywgaXMgYXZhaWxhYmxlLiBUZXN0cyBuZWVkIHRvIGhhdmUgYSBzZXR1cCBm dW5jdGlvbiBjb3JyZXNwb25kaW5nIHRvDQordGhlaXIgcGF0aC4gRm9yIGV4YW1wbGU6DQorDQor ICAgIC4vcnVuIHBhc3N0L25kcCBwYXNzdC9kaGNwIHBhc3RhL25kcA0KKw0KK3dpbGwgY2FsbCB0 aGUgJ3Bhc3N0JyBzZXR1cCBmdW5jdGlvbiAoZnJvbSBsaWIvc2V0dXApLCBydW4gdGhlIHR3byBj b3JyZXNwb25kaW5nDQordGVzdHMsIGNhbGwgdGhlICdwYXNzdCcgdGVhcmRvd24gZnVuY3Rpb24s IHRoZSAncGFzdGEnIHNldHVwLCBydW4gdGhlIHBhc3RhL25kcA0KK3Rlc3QsIGFuZCBmaW5hbGx5 IHRlYXIgZG93biB0aGUgJ3Bhc3RhJyBzZXR1cC4NCisNCitOb3RlIHRoYXQgcmVxdWlyZW1lbnRz IG9uIHN0ZXBzIGltcGxlbWVudGVkIGJ5IHJlbGF0ZWQgdGVzdHMgYXJlIG5vdCBoYW5kbGVkLg0K K0ZvciBleGFtcGxlLCBpZiB0aGUgJ3Bhc3N0L3RjcCcgbmVlZHMgZ3Vlc3QgY29ubmVjdGl2aXR5 IHNldCB1cCBieSB0aGUNCisncGFzc3QvbmRwJyBhbmQgJ3Bhc3N0L2RoY3AnIHRlc3RzLCB0aG9z ZSBuZWVkIHRvIGJlIGxpc3RlZCBleHBsaWNpdGx5Lg0KKw0KKyMjIENvbnRpbnVvdXMgaW50ZWdy YXRpb24NCisNCitJc3N1aW5nOg0KKw0KKyAgICAuL2NpDQorDQord2lsbCBydW4gdGhlIHdob2xl IHRlc3Qgc3VpdGUgd2hpbGUgcmVjb3JkaW5nIHRoZSBleGVjdXRpb24sIGFuZCBpdCB3aWxsIGFs c28NCitidWlsZCBKYXZhU2NyaXB0IGZyYWdtZW50cyB1c2VkIG9uIGh0dHA6Ly9wYXNzdC50b3Av IGZvciBwZXJmb3JtYW5jZSBkYXRhIHRhYmxlcw0KK2FuZCBsaW5rcyB0byBzcGVjaWZpYyBvZmZz ZXRzIGluIHRoZSBjYXB0dXJlcy4NCisNCisjIyBEZW1vIG1vZGUNCisNCitJc3N1aW5nOg0KKw0K KyAgICAuL2RlbW8NCisNCit3aWxsIHJ1biB0aGUgZGVtbyBjYXNlcyB1bmRlciBgZGVtb2AsIHdp dGggdGVybWluYWwgY2FwdHVyZXMgYXMgd2VsbC4NCisNCisjIEZyYW1ld29yaw0KKw0KK1RoZSBp bXBsZW1lbnRhdGlvbiBvZiB0aGUgdGVzdGluZyBmcmFtZXdvcmsgaXMgdW5kZXIgYGxpYmAsIGFu ZCBpdCBwcm92aWRlcw0KK2ZhY2lsaXRpZXMgZm9yIHRlcm1pbmFsIGFuZCBfdG11eF8gc2Vzc2lv biBtYW5hZ2VtZW50LCBpbnRlcnByZXRhdGlvbiBvZiB0ZXN0DQorZGlyZWN0aXZlcywgdmlkZW8g cmVjb3JkaW5nLCBhbmQgc3VjaGxpa2UuIFRlc3QgY2FzZXMgYXJlIG9yZ2FuaXNlZCBpbiB0aGUN CityZW1haW5pbmcgZGlyZWN0b3JpZXMuDQorDQorVGVzdCBjYXNlcyBjYW4gYmUgaW1wbGVtZW50 ZWQgYXMgUE9TSVggc2hlbGwgc2NyaXB0cywgb3IgYXMgYSBzZXQgb2YgZGlyZWN0aXZlcywNCit3 aGljaCBhcmUgbm90IGZvcm1hbGx5IGRvY3VtZW50ZWQgaGVyZSwgYnV0IHNob3VsZCBiZSBjbGVh ciBlbm91Z2ggZnJvbSB0aGUNCitleGlzdGluZyBjYXNlcy4gVGhlIGVudHJ5IHBvaW50IGZvciBp bnRlcnByZXRhdGlvbiBvZiB0ZXN0IGRpcmVjdGl2ZXMgaXMNCitpbXBsZW1lbnRlZCBpbiBgbGli L3Rlc3RgLg0KZGlmZiAtLWdpdCBhL29sZHRlc3QvYnVpbGQvYWxsIGIvb2xkdGVzdC9idWlsZC9h bGwNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uMWY3OWUwZDgNCi0tLSAv ZGV2L251bGwNCisrKyBiL29sZHRlc3QvYnVpbGQvYWxsDQpAQCAtMCwwICsxLDYxIEBADQorIyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0g UGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4g c29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9u DQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3Qv YnVpbGQvYWxsIC0gQnVpbGQgdGFyZ2V0cywgb25lIGJ5IG9uZSwgdGhlbiBhbGwgdG9nZXRoZXIs IGNoZWNrIG91dHB1dA0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisj IEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitodG9vbHMJ bWFrZSBjYyBybSB1bmFtZSBnZXRjb25mIG1rZGlyIGNwIHJtIG1hbg0KKw0KK3Rlc3QJQnVpbGQg cGFzc3QNCitob3N0CW1ha2UgY2xlYW4NCitjaGVjawkhIFsgLWUgcGFzc3QgXQ0KK2hvc3QJQ0ZM QUdTPSItV2Vycm9yIiBtYWtlIHBhc3N0DQorY2hlY2sJWyAtZiBwYXNzdCBdDQorDQordGVzdAlC dWlsZCBwYXN0YQ0KK2hvc3QJbWFrZSBjbGVhbg0KK2NoZWNrCSEgWyAtZSBwYXN0YSBdDQoraG9z dAlDRkxBR1M9Ii1XZXJyb3IiIG1ha2UgcGFzdGENCitjaGVjawlbIC1oIHBhc3RhIF0NCisNCit0 ZXN0CUJ1aWxkIHFyYXANCitob3N0CW1ha2UgY2xlYW4NCitjaGVjawkhIFsgLWUgcXJhcCBdDQor aG9zdAlDRkxBR1M9Ii1XZXJyb3IiIG1ha2UgcXJhcA0KK2NoZWNrCVsgLWYgcXJhcCBdDQorDQor dGVzdAlCdWlsZCBhbGwNCitob3N0CW1ha2UgY2xlYW4NCitjaGVjawkhIFsgLWUgcGFzc3QgXQ0K K2NoZWNrCSEgWyAtZSBwYXN0YSBdDQorY2hlY2sJISBbIC1lIHFyYXAgXQ0KK2hvc3QJQ0ZMQUdT PSItV2Vycm9yIiBtYWtlDQorY2hlY2sJWyAtZiBwYXNzdCBdDQorY2hlY2sJWyAtaCBwYXN0YSBd DQorY2hlY2sJWyAtZiBxcmFwIF0NCisNCit0ZXN0CUluc3RhbGwNCitob3N0CW1rZGlyIF9fU1RB VEVESVJfXy9wcmVmaXgNCitob3N0CXByZWZpeD1fX1NUQVRFRElSX18vcHJlZml4IG1ha2UgaW5z dGFsbA0KK2NoZWNrCVsgLWYgX19TVEFURURJUl9fL3ByZWZpeC9iaW4vcGFzc3QgXQ0KK2NoZWNr CVsgLWggX19TVEFURURJUl9fL3ByZWZpeC9iaW4vcGFzdGEgXQ0KK2NoZWNrCVsgLWYgX19TVEFU RURJUl9fL3ByZWZpeC9iaW4vcXJhcCBdDQorY2hlY2sJbWFuIC1NIF9fU1RBVEVESVJfXy9wcmVm aXgvc2hhcmUvbWFuIC1XIHBhc3N0DQorY2hlY2sJbWFuIC1NIF9fU1RBVEVESVJfXy9wcmVmaXgv c2hhcmUvbWFuIC1XIHBhc3RhDQorY2hlY2sJbWFuIC1NIF9fU1RBVEVESVJfXy9wcmVmaXgvc2hh cmUvbWFuIC1XIHFyYXANCisNCit0ZXN0CVVuaW5zdGFsbA0KK2hvc3QJcHJlZml4PV9fU1RBVEVE SVJfXy9wcmVmaXggbWFrZSB1bmluc3RhbGwNCitjaGVjawkhIFsgLWYgX19TVEFURURJUl9fL3By ZWZpeC9iaW4vcGFzc3QgXQ0KK2NoZWNrCSEgWyAtaCBfX1NUQVRFRElSX18vcHJlZml4L2Jpbi9w YXN0YSBdDQorY2hlY2sJISBbIC1mIF9fU1RBVEVESVJfXy9wcmVmaXgvYmluL3FyYXAgXQ0KK2No ZWNrCSEgbWFuIC1NIF9fU1RBVEVESVJfXy9wcmVmaXgvc2hhcmUvbWFuIC1XIHBhc3N0IDI+L2Rl di9udWxsDQorY2hlY2sJISBtYW4gLU0gX19TVEFURURJUl9fL3ByZWZpeC9zaGFyZS9tYW4gLVcg cGFzdGEgMj4vZGV2L251bGwNCitjaGVjawkhIG1hbiAtTSBfX1NUQVRFRElSX18vcHJlZml4L3No YXJlL21hbiAtVyBxcmFwIDI+L2Rldi9udWxsDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9idWlsZC9j bGFuZ190aWR5IGIvb2xkdGVzdC9idWlsZC9jbGFuZ190aWR5DQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMDAuLjQwNTczYmZkDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0 L2J1aWxkL2NsYW5nX3RpZHkNCkBAIC0wLDAgKzEsMTcgQEANCisjIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNv Y2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMN CisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29y ayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9idWlsZC9jbGFuZ190aWR5 IC0gUnVuIHNvdXJjZSB0aHJvdWdoIGNsYW5nLXRpZHkoMSkgbGludGVyDQorIw0KKyMgQ29weXJp Z2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2Jy aXZpb0ByZWRoYXQuY29tPg0KKw0KK2h0b29scwljbGFuZy10aWR5DQorDQordGVzdAlSdW4gY2xh bmctdGlkeQ0KK2hvc3QJbWFrZSBjbGFuZy10aWR5DQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9idWls ZC9jcHBjaGVjayBiL29sZHRlc3QvYnVpbGQvY3BwY2hlY2sNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwMC4uMGUxZGJjZWQNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3Qv YnVpbGQvY3BwY2hlY2sNCkBAIC0wLDAgKzEsMTcgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tl dCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisj IFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBu YW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9idWlsZC9jcHBjaGVjayAtIFJ1 biBzb3VyY2UgdGhyb3VnaCBjcHBjaGVjaygxKSBsaW50ZXINCisjDQorIyBDb3B5cmlnaHQgKGMp IDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJl ZGhhdC5jb20+DQorDQoraHRvb2xzCWNwcGNoZWNrDQorDQordGVzdAlSdW4gY3BwY2hlY2sNCito b3N0CW1ha2UgY3BwY2hlY2sNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2NpIGIvb2xkdGVzdC9jaQ0K bmV3IGZpbGUgbW9kZSAxMjAwMDANCmluZGV4IDAwMDAwMDAwLi5lNTIyNGQ1Mw0KLS0tIC9kZXYv bnVsbA0KKysrIGIvb2xkdGVzdC9jaQ0KQEAgLTAsMCArMSBAQA0KK3J1bg0KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9kZW1vL3Bhc3N0IGIvb2xkdGVz dC9kZW1vL3Bhc3N0DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAuLmEzYzE4 Yjg2DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2RlbW8vcGFzc3QNCkBAIC0wLDAgKzEs MjQ1IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMN CisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUv VU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFw IEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0K KyMNCisjIHRlc3QvZGVtby9wYXNzdCAtIFF1aWNrIGludHJvZHVjdGlvbiB0byBwYXNzdA0KKyMN CisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBC cml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitzYXkJVGhpcyBpcyBhIHNob3J0IGludHJv ZHVjdGlvbiB0byANCitlbQlwYXNzdA0KK3NheQkuDQorbmwNCitubA0KK3NsZWVwCTMNCisNCitz YXkJTGV0J3MgZmV0Y2ggdGhlIHNvdXJjZQ0KK3NsZWVwCTENCitob3N0CWNkIF9fU1RBVEVESVJf Xw0KK2hvc3QJZ2l0IGNsb25lIGdpdDovL3Bhc3N0LnRvcC9wYXNzdA0KK3NsZWVwCTENCisNCitz YXkJIGFuZCBidWlsZCBpdC4NCitzbGVlcAkxDQoraG9zdAljZCBwYXNzdA0KK2hvc3QJbWFrZQ0K K3NsZWVwCTENCisNCitubA0KK25sDQorc2F5CUEgcXVpY2sgbG9vayBhdCB0aGUgbWFuIHBhZ2Uu Li4NCitzbGVlcAkxDQoraG9zdGIJbWFuIC4vcGFzc3QuMQ0KK3NsZWVwCTUNCitob3N0YgkvcG9y dHMNCitzbGVlcAkyDQoraG9zdGIJbg0KK3NsZWVwCTINCitob3N0YgluDQorc2xlZXAJMTANCisN CitubA0KK3NheQkgICctdCcgdG8gZm9yd2FyZCBUQ1AgcG9ydHMuDQorc2xlZXAJMw0KK2hvc3QJ cQ0KKw0KK25sDQorbmwNCitzYXkJTGV0J3MgY3JlYXRlIGEgc21hbGwgaW5pdHJhbWZzIGltYWdl IGZvciB0aGUgZ3Vlc3QuDQorZ3Vlc3QJY2QgX19TVEFURURJUl9fDQorZ3Vlc3QJZ2l0IGNsb25l IGdpdDovL21idXRvLnNoL21idXRvDQorZ3Vlc3QJLi9tYnV0by9tYnV0byAtZiBwYXNzdC5pbWcg LXAgcGFzc3QvdGVzdC9wYXNzdC5tYnV0byAtYyBsejQNCitzbGVlcAkyDQorDQorbmwNCitubA0K K3NheQlXZSB3YW50IHRvIGlzb2xhdGUgcGFzc3QgYW5kIGd1ZXN0IGluIGENCitubA0KK3NheQkg IG5ldHdvcmsgbmFtZXNwYWNlLiBGb3IgY29udmVuaWVuY2UsIHdlJ2xsDQorbmwNCitzYXkJICBj cmVhdGUgaXQgd2l0aCAncGFzdGEnLCBzZWUgYWxzbyB0aGUNCitubA0KK3NheQkgICdwYXN0YScg ZGVtbyBhYm92ZS4NCitzbGVlcAkzDQorDQorcGFzc3QJY2QgX19TVEFURURJUl9fL3Bhc3N0DQor cGFzc3RiCS4vcGFzdGEgLVAgcGFzdGEucGlkDQorc2xlZXAJMw0KK3Bhc3N0CS9zYmluL2RoY2xp ZW50IC00IC0tbm8tcGlkDQorc2xlZXAJMg0KK3Bhc3N0CS9zYmluL2RoY2xpZW50IC02IC0tbm8t cGlkDQorc2xlZXAJMg0KKw0KK25sDQorbmwNCitzYXkJTm93IGxldCdzIHJ1biAncGFzc3QnIGlu IHRoZSBuZXcgbmFtZXNwYWNlLCBhbmQNCitubA0KK3NheQkgIGVudGVyIHRoaXMgbmFtZXNwYWNl IGZyb20gdGhlIGd1ZXN0IHRlcm1pbmFsIHRvby4NCitzbGVlcAkzDQorZ3Vlc3QJY2QgcGFzc3QN Citnb3V0CVRBUkdFVF9QSUQgcGdyZXAgLVAgJChjYXQgcGFzdGEucGlkKQ0KK3NsZWVwCTENCisN CitwYXNzdGIJLi9wYXNzdCAtZiAtdCAxMDAwMSwxMDAwMyAtcyBfX1NUQVRFRElSX18vcGFzc3Qu c29ja2V0DQorc2xlZXAJMg0KKw0KK2d1ZXN0CW5zZW50ZXIgLXQgX19UQVJHRVRfUElEX18gLVUg LW4gLS1wcmVzZXJ2ZS1jcmVkZW50aWFscw0KK3NsZWVwCTUNCisNCitubA0KK25sDQorc2F5CVdl J3JlIHJlYWR5IHRvIHN0YXJ0IHFlbXUNCitubA0KK3NsZWVwCTINCitob3V0CVZNTElOVVogZWNo byAiL2Jvb3Qvdm1saW51ei0kKHVuYW1lIC1yKSINCitndWVzdAlxZW11LXN5c3RlbS14ODZfNjQg LWVuYWJsZS1rdm0gLW0gNDA5NiAtY3B1IGhvc3QgLXNtcCA0IC1rZXJuZWwgX19WTUxJTlVaX18g LWluaXRyZCAuLi9wYXNzdC5pbWcgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRz IC1hcHBlbmQgImNvbnNvbGU9dHR5UzAiIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMw IC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRo PV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQNCitzbGVlcAkxMA0KKw0KK25sDQorbmwNCitndWVz dAlpcCBsaW5rIHNob3cNCitzbGVlcAkzDQorc2F5CUd1ZXN0IGlzIHVwLiBMZXQncyBjb25maWd1 cmUgSVB2NCBmaXJzdC4uLg0KK3NsZWVwCTINCitndWVzdAlpcCBsaW5rIHNldCBkZXYgZXRoMCB1 cA0KK3NsZWVwCTINCitndWVzdAlkaGNsaWVudCAtNA0KK3NsZWVwCTINCitndWVzdAlpcCBhZGRy IHNob3cNCitzbGVlcAk1DQorDQorbmwNCitzYXkJICBTTEFBQyBpcyBhbHJlYWR5IGRvbmUsIGJ1 dCB3ZSBjYW4gYWxzbw0KK25sDQorc2F5CSAgZ2V0IGFub3RoZXIgYWRkcmVzcyB2aWEgREhDUHY2 Lg0KK3NsZWVwCTMNCitndWVzdAlkaGNsaWVudCAtNg0KK3NsZWVwCTMNCisNCitubA0KK25sDQor c2F5CUxldCdzIHRyeSB0byBjb21tdW5pY2F0ZSBiZXR3ZWVuIGhvc3QgYW5kIGd1ZXN0Lg0KK3Ns ZWVwCTINCitndWVzdGIJc29jYXQgVENQNi1MSVNURU46MTAwMDEgU1RESU8NCitzbGVlcAkyDQor aG9zdAllY2hvICJIZWxsbyBmcm9tIHRoZSBob3N0IiB8IHNvY2F0IC11IFNURElOIFRDUDY6Wzo6 MV06MTAwMDENCitzbGVlcAk1DQorDQorbmwNCitubA0KK3NheQlOb3cgdGhlIG90aGVyIHdheSBh cm91bmQuLi4gdXNpbmcNCitubA0KK3NheQkgICB0aGUgYWRkcmVzcyBvZiB0aGUgZGVmYXVsdCBn YXRld2F5Lg0KK3NsZWVwCTINCitnb3V0CUdXIGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcu W10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorc2xlZXAJNQ0KK2hvc3Ri CXNvY2F0IFRDUDQtTElTVEVOOjMxMzM3IFNURElPDQorc2xlZXAJMg0KK2d1ZXN0CWVjaG8gIkhl bGxvIGZyb20gdGhlIGd1ZXN0IiB8IHNvY2F0IC11IFNURElOIFRDUDQ6X19HV19fOjMxMzM3DQor c2xlZXAJMw0KKw0KK25sDQorbmwNCitzYXkJTGV0J3MgaGF2ZSBhIChxdWljayEpIGxvb2sgYXQg cGVyZm9ybWFuY2UNCitubA0KK3NheQkgIG1vcmUgaW4gdGhlICJQZXJmb3JtYW5jZSIgc2VjdGlv biBiZWxvdy4NCitzbGVlcAkzDQorDQoraG9zdAluc2VudGVyIC10IF9fVEFSR0VUX1BJRF9fIC1V IC1uIC0tcHJlc2VydmUtY3JlZGVudGlhbHMNCisNCitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0 LmNvcmUucm1lbV9tYXg9NTM2ODcwOTEyDQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13IG5ldC5jb3Jl LndtZW1fbWF4PTUzNjg3MDkxMg0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuY29yZS5ybWVt X2RlZmF1bHQ9MzM1NTQ0MzINCitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0LmNvcmUud21lbV9k ZWZhdWx0PTMzNTU0NDMyDQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13IG5ldC5pcHY0LnRjcF9ybWVt PSI0MDk2IDEzMTA3MiAyNjg0MzU0NTYiDQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13IG5ldC5pcHY0 LnRjcF93bWVtPSI0MDk2IDEzMTA3MiAyNjg0MzU0NTYiDQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13 IG5ldC5pcHY0LnRjcF90aW1lc3RhbXBzPTANCisNCitob3N0CXN5c2N0bCAtdyBuZXQuaXB2NC50 Y3Bfcm1lbT0iNDA5NiA1MjQyODggMTM0MjE3NzI4Ig0KK2hvc3QJc3lzY3RsIC13IG5ldC5pcHY0 LnRjcF93bWVtPSI0MDk2IDUyNDI4OCAxMzQyMTc3MjgiDQoraG9zdAlzeXNjdGwgLXcgbmV0Lmlw djQudGNwX3RpbWVzdGFtcHM9MA0KKw0KK2dvdXQJR1c2IGlwIC1qIC02IHJvdXRlIHNob3d8anEg LXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorZ291dAlJRk5B TUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAi ZXRoZXIiKS5pZm5hbWUnDQorbmwNCitubA0KK2luZm8JVGhyb3VnaHB1dCBpbiBHYnBzLCBsYXRl bmN5IGluIMK1cw0KK3RoCWZsb3cgaG9zdD5ndWVzdCBndWVzdD5ob3N0DQorDQorc2V0CU9QVFMg LVA0IC13IDY0TSAtbCAxTSAtaTEgLS1wYWNpbmctdGltZXIgMTAwMDAwDQorDQordHIJVENQL0lQ djYgdGhyb3VnaHB1dA0KK2hvc3RiCXNsZWVwIDEwOyBpcGVyZjMgLWMgOjoxIC1wIDEwMDAxIF9f T1BUU19fDQorZ291dAlCVyBpcGVyZjMgLXMxSiAtcCAxMDAwMSB8IGpxIC1yTSAiLmVuZC5zdW1f cmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIg0KK2J3CV9fQldfXyAyLjAgMy4wDQorc2xlZXAJNQ0K K2d1ZXN0YglzbGVlcCAxMDsgaXBlcmYzIC1jIF9fR1c2X18lX19JRk5BTUVfXyAtcCAxMDAwMiBf X09QVFNfXyAtTzMNCitob3V0CUJXIGlwZXJmMyAtczFKIC1wIDEwMDAyIHwganEgLXJNICIuZW5k LnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiDQorYncJX19CV19fIDIuMCAzLjANCisNCit0 bAlUQ1AvSVB2NiBSUiBsYXRlbmN5DQorZ3Vlc3RiCXRjcF9yciAtQyAxMDAwMSAtUCAxMDAwMyAt NiAtLW5vbG9nDQorc2xlZXAJMg0KK2hvdXQJTEFUIHRjcF9yciAtQyAxMDAwMSAtUCAxMDAwMyAt LW5vbG9nIC1jIC1IIDo6MSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCits YXQJX19MQVRfXyAxMDAwIDgwMA0KK3NsZWVwCTINCitob3N0Ygl0Y3BfcnIgLTYgLS1ub2xvZw0K K3NsZWVwCTINCitnb3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCBfX0dXNl9fJV9fSUZOQU1F X18gfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAw MCA4MDANCitzbGVlcAkyDQorDQordGwJVENQL0lQdjYgQ1JSIGxhdGVuY3kNCitndWVzdGIJdGNw X2NyciAtQyAxMDAwMSAtUCAxMDAwMyAtNiAtLW5vbG9nDQorc2xlZXAJMg0KK2hvdXQJTEFUIHRj cF9jcnIgLUMgMTAwMDEgLVAgMTAwMDMgLS1ub2xvZyAtYyAtSCA6OjEgfCBzZWQgLW4gJ3MvXnRo cm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA4MDANCitzbGVlcAkyDQor aG9zdGIJdGNwX2NyciAtNiAtLW5vbG9nDQorc2xlZXAJMg0KK2dvdXQJTEFUIHRjcF9jcnIgLS1u b2xvZyAtYyAtSCBfX0dXNl9fJV9fSUZOQU1FX18gfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCgu KlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA4MDANCitzbGVlcAkyDQorDQordHIJVENQL0lQ djQgdGhyb3VnaHB1dA0KK2hvc3RiCXNsZWVwIDEwOyBpcGVyZjMgLWMgMTI3LjAuMC4xIC1wIDEw MDAxIF9fT1BUU19fDQorZ291dAlCVyBpcGVyZjMgLXAgMTAwMDEgLXMxSiB8IGpxIC1yTSAiLmVu ZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIg0KK2J3CV9fQldfXyAyLjAgMy4wDQorc2xl ZXAJNQ0KK2d1ZXN0YglzbGVlcCAxMDsgaXBlcmYzIC1jIF9fR1dfXyAtcCAxMDAwMiBfX09QVFNf XyAtTzMNCitob3V0CUJXIGlwZXJmMyAtczFKIC1wIDEwMDAyIHwganEgLXJNICIuZW5kLnN1bV9y ZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiDQorYncJX19CV19fIDIuMCAzLjANCisNCit0bAlUQ1Av SVB2NCBSUiBsYXRlbmN5DQorZ3Vlc3RiCXRjcF9yciAtQyAxMDAwMSAtUCAxMDAwMyAtNCAtLW5v bG9nDQorc2xlZXAJMg0KK2hvdXQJTEFUIHRjcF9yciAtQyAxMDAwMSAtUCAxMDAwMyAtLW5vbG9n IC1jIC1IIDEyNy4wLjAuMSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCits YXQJX19MQVRfXyAxMDAwIDgwMA0KK3NsZWVwCTINCitob3N0Ygl0Y3BfcnIgLTQgLS1ub2xvZw0K K3NsZWVwCTINCitnb3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCBfX0dXX18gfCBzZWQgLW4g J3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA4MDANCitzbGVl cAkyDQorDQordGwJVENQL0lQdjQgQ1JSIGxhdGVuY3kNCitndWVzdGIJdGNwX2NyciAtQyAxMDAw MSAtUCAxMDAwMyAtNCAtLW5vbG9nDQorc2xlZXAJMg0KK2hvdXQJTEFUIHRjcF9jcnIgLUMgMTAw MDEgLVAgMTAwMDMgLS1ub2xvZyAtYyAtSCAxMjcuMC4wLjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hw dXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA4MDANCitzbGVlcAkyDQoraG9zdGIJ dGNwX2NyciAtNCAtLW5vbG9nDQorc2xlZXAJMg0KK2dvdXQJTEFUIHRjcF9jcnIgLS1ub2xvZyAt YyAtSCBfX0dXX18gfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9f TEFUX18gMTAwMCA4MDANCitzbGVlcAkyDQorDQorbmwNCitubA0KK3NheQlUaGFua3MgZm9yIHdh dGNoaW5nIQ0KK3NsZWVwCTUNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2RlbW8vcGFzdGEgYi9vbGR0 ZXN0L2RlbW8vcGFzdGENCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uZjQ4 NTg1ZGENCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvZGVtby9wYXN0YQ0KQEAgLTAsMCAr MSwyNzQgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQor Iw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVt dS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBU YXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2Rl DQorIw0KKyMgdGVzdC9kZW1vL3Bhc3RhIC0gUXVpY2sgaW50cm9kdWN0aW9uIHRvIHBhc3RhDQor Iw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5v IEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK3NheQlUaGlzIGlzIGEgc2hvcnQgaW50 cm9kdWN0aW9uIHRvIA0KK2VtCXBhc3RhDQorc2F5CS4NCitubA0KK25sDQorc2xlZXAJMw0KKw0K K3NheQlMZXQncyBmZXRjaCB0aGUgc291cmNlDQorc2xlZXAJMQ0KK2hvc3QJY2QgX19TVEFURURJ Ul9fDQoraG9zdAlnaXQgY2xvbmUgZ2l0Oi8vcGFzc3QudG9wL3Bhc3N0DQorc2xlZXAJMQ0KKw0K K3NheQkgYW5kIGJ1aWxkIGl0Lg0KK3NsZWVwCTENCitob3N0CWNkIHBhc3N0DQoraG9zdAltYWtl DQorc2xlZXAJMQ0KKw0KK25sDQorbmwNCitzYXkJQSBxdWljayBsb29rIGF0IHRoZSBtYW4gcGFn ZS4uLg0KK3NsZWVwCTENCitob3N0YgltYW4gLi9wYXN0YS4xDQorc2xlZXAJNQ0KK2hvc3RiCS9w YXN0YQ0KK3NsZWVwCTINCitob3N0YgluDQorc2xlZXAJMg0KK2hvc3RiCW4NCitzbGVlcAkxMA0K Kw0KK25sDQorc2F5CSAgd2l0aG91dCBQSUQsIGl0IHdpbGwgY3JlYXRlIGEgbmFtZXNwYWNlLg0K K3NsZWVwCTMNCitwYXNzdAljZCBfX1NUQVRFRElSX18vcGFzc3QNCitwYXNzdGIJLi9wYXN0YSAt UCBwYXN0YS5waWQNCitzbGVlcAkzDQorDQorbmwNCitubA0KK3NheQlGb3IgY29udmVuaWVuY2Us IGxldCdzIGVudGVyIHRoaXMgbmFtZXNwYWNlDQorbmwNCitzYXkJICBmcm9tIGFub3RoZXIgdGVy bWluYWwuDQorc2xlZXAJMw0KK25zCWNkIF9fU1RBVEVESVJfXy9wYXNzdA0KK25zb3V0CVRBUkdF VF9QSUQgcGdyZXAgLVAgJChjYXQgcGFzdGEucGlkKQ0KK3NsZWVwCTENCisNCitucwluc2VudGVy IC10IF9fVEFSR0VUX1BJRF9fIC1VIC1uIC0tcHJlc2VydmUtY3JlZGVudGlhbHMNCitzbGVlcAk1 DQorDQorbmwNCitubA0KK3NheQlOb3csIHdlJ3JlIHJlYWR5IHRvIGNvbmZpZ3VyZSBuZXR3b3Jr aW5nLg0KK3NsZWVwCTINCitob3N0CXENCisNCitubA0KK25sDQorbnMJaXAgbGluayBzaG93DQor c2xlZXAJMw0KK3NheQlMZXQncyBjb25maWd1cmUgSVB2NCBmaXJzdC4uLg0KK3NsZWVwCTINCitu cwkvc2Jpbi9kaGNsaWVudCAtNCAtLW5vLXBpZA0KK3NsZWVwCTINCitucwlpcCBhZGRyIHNob3cN CitzbGVlcAk1DQorDQorbmwNCitzYXkJICBTTEFBQyBpcyBhbHJlYWR5IGRvbmUsIGJ1dCB3ZSBj YW4gYWxzbw0KK25sDQorc2F5CSAgZ2V0IGFub3RoZXIgYWRkcmVzcyB2aWEgREhDUHY2Lg0KK3Ns ZWVwCTMNCitucwkvc2Jpbi9kaGNsaWVudCAtNiAtLW5vLXBpZA0KK3NsZWVwCTMNCisNCitubA0K K25sDQorc2F5CUxldCdzIHRyeSB0byBjb21tdW5pY2F0ZSBiZXR3ZWVuIGhvc3QgYW5kIG5hbWVz cGFjZQ0KK3NsZWVwCTINCitubA0KK3NheQkgIC4uLnRoZXJlJ3Mgbm8gbmVlZCB0byBjb25maWd1 cmUgcG9ydCBmb3J3YXJkaW5nLA0KK25sDQorc2F5CSAgcGFzdGEgZGV0ZWN0cyBib3VuZCBwb3J0 cyBhbmQgZm9yd2FyZHMgdGhlbS4NCitzbGVlcAkzDQorDQorbnNiCXNvY2F0IFRDUDYtTElTVEVO OjMxMzM3LGJpbmQ9Wzo6MV0gU1RET1VUDQorc2xlZXAJMg0KK2hvc3QJZWNobyAiSGVsbG8gZnJv bSB0aGUgaG9zdCIgfCBzb2NhdCAtdSBTVERJTiBUQ1A2Ols6OjFdOjMxMzM3DQorc2xlZXAJNQ0K Kw0KK25sDQorbmwNCitzYXkJTm93IHRoZSBvdGhlciB3YXkgYXJvdW5kLi4uDQorbmwNCitzYXkJ ICB3ZSBjYW4gdXNlIGEgbG9vcGJhY2sgYWRkcmVzcw0KK3NsZWVwCTINCitob3N0Yglzb2NhdCBU Q1A2LUxJU1RFTjozMTMzNyxiaW5kPVs6OjFdIFNURElPDQorc2xlZXAJMg0KK25zCWVjaG8gIkhl bGxvIGZyb20gdGhlIG5hbWVzcGFjZSIgfCBzb2NhdCAtdSBTVERJTiBUQ1A2Ols6OjFdOjMxMzM3 DQorc2xlZXAJNQ0KKw0KK25sDQorc2F5CSAgb3IgdGhlIGFkZHJlc3Mgb2YgdGhlIGRlZmF1bHQg Z2F0ZXdheS4NCitzbGVlcAkyDQorbnNvdXQJR1cgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0g Jy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitzbGVlcAk1DQoraG9z dGIJc29jYXQgVENQNC1MSVNURU46MzEzMzcgU1RESU8NCitzbGVlcAkyDQorbnMJZWNobyAiSGVs bG8gZnJvbSB0aGUgbmFtZXNwYWNlIiB8IHNvY2F0IC11IFNURElOIFRDUDQ6X19HV19fOjMxMzM3 DQorc2xlZXAJMw0KKw0KK25sDQorbmwNCitzYXkJVURQLi4uDQorc2xlZXAJMg0KK25zCWhvc3Qg LXQgQSBwYXNzdC50b3ANCitzbGVlcAkzDQorc2F5CSBzZWVtcyB0byB3b3JrIHRvby4NCitzbGVl cAkzDQorDQorbmwNCitubA0KK2VtCXBhc3RhDQorc2F5CSBjYW4gYWxzbyB0YWtlIHBhY2tldCBj YXB0dXJlcy4NCitzbGVlcAkzDQorcGFzc3QJZXhpdA0KK3NsZWVwCTINCitwYXNzdGIJLi9wYXN0 YSAtcCAuLi9kZW1vX3Bhc3RhLnBjYXANCitzbGVlcAkyDQorcGFzc3QJDQorcGFzc3QJL3NiaW4v ZGhjbGllbnQgLTQgLS1uby1waWQNCitzbGVlcAkyDQoraG9zdGIJdHNoYXJrIC1yIC4uL2RlbW9f cGFzdGEucGNhcA0KK3NsZWVwCTUNCisNCitubA0KK25sDQorc2F5CUFuZCB0aGVyZSBhcmUgdG9u cyBvZiB0b3RhbGx5IHVzZWxlc3MNCitzbGVlcAkxDQorYnNwCTE0DQorc2F5CWFic29sdXRlbHkg dXNlZnVsIGZlYXR1cmVzDQorbmwNCitzYXkJICB5b3UgY2FuIGZpbmQgZGVzY3JpYmVkIGluIHRo ZSBtYW4gcGFnZS4NCitzbGVlcAk1DQorDQorbmwNCitubA0KK3NheQlMZXQncyBoYXZlIGEgKHF1 aWNrISkgbG9vayBhdCBwZXJmb3JtYW5jZQ0KK25sDQorc2F5CSAgbW9yZSBpbiB0aGUgIlBlcmZv cm1hbmNlIiBzZWN0aW9uIGJlbG93Lg0KK3NsZWVwCTMNCitucwlleGl0DQorcGFzc3QJZXhpdA0K K3Bhc3N0CW1ha2UgY2xlYW4NCitwYXNzdAlDRkxBR1M9Ii1nIiBtYWtlDQorc2xlZXAJMg0KK3Bh c3N0YglwZXJmIHJlY29yZCAtZyAuL3Bhc3RhIC1QIHBhc3RhLnBpZA0KK3NsZWVwCTINCisNCitu c291dAlUQVJHRVRfUElEIHBncmVwIC1QICQoY2F0IHBhc3RhLnBpZCkNCitzbGVlcAkxDQorbnMJ bnNlbnRlciAtdCBfX1RBUkdFVF9QSURfXyAtVSAtbiAtLXByZXNlcnZlLWNyZWRlbnRpYWxzDQor c2xlZXAJNQ0KKw0KK25sDQorbmwNCitpbmZvCVRocm91Z2hwdXQgaW4gR2JwcywgbGF0ZW5jeSBp biDCtXMNCit0aAlmbG93IGluaXQ+bnMgbnM+aW5pdA0KKw0KK3NldAlPUFRTIC1QNCAtbCAxTSAt dyAzMk0gLWkxIC0tcGFjaW5nLXRpbWVyIDEwMDAwMA0KKw0KK3RyCVRDUC9JUHY2IHRocm91Z2hw dXQNCitob3N0YglzbGVlcCAxMDsgaXBlcmYzIC1jIDo6MSAtcCAxMDAwMSBfX09QVFNfXw0KK25z b3V0CUJXIGlwZXJmMyAtczFKIC1wIDEwMDAxIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5i aXRzX3Blcl9zZWNvbmQiDQorYncJX19CV19fIDEwLjAgMjAuMA0KK3NsZWVwCTUNCituc2IJc2xl ZXAgMTA7IGlwZXJmMyAtYyA6OjEgLXAgMTAwMDEgX19PUFRTX18NCitob3V0CUJXIGlwZXJmMyAt czFKIC1wIDEwMDAxIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQi DQorYncJX19CV19fIDEwLjAgMjAuMA0KKw0KK3RsCVRDUC9JUHY2IFJSIGxhdGVuY3kNCituc2IJ dGNwX3JyIC02IC0tbm9sb2cNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX3JyIC0tbm9sb2cgLWMg LUggOjoxIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9f IDEwMDAgNTAwDQorc2xlZXAJMg0KK2hvc3RiCXRjcF9yciAtNiAtLW5vbG9nDQorc2xlZXAJMg0K K25zb3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCA6OjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hw dXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA1MDANCitzbGVlcAkyDQorDQordGwJ VENQL0lQdjYgQ1JSIGxhdGVuY3kNCituc2IJdGNwX2NyciAtNiAtLW5vbG9nDQorc2xlZXAJMg0K K2hvdXQJTEFUIHRjcF9jcnIgLS1ub2xvZyAtYyAtSCA6OjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hw dXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA1MDANCitzbGVlcAkyDQoraG9zdGIJ dGNwX2NyciAtNiAtLW5vbG9nDQorc2xlZXAJMg0KK25zb3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cg LWMgLUggOjoxIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xB VF9fIDEwMDAgNTAwDQorc2xlZXAJMg0KKw0KK3RyCVRDUC9JUHY0IHRocm91Z2hwdXQNCitob3N0 YglzbGVlcCAxMDsgaXBlcmYzIC1jIDEyNy4wLjAuMSAtcCAxMDAwMSBfX09QVFNfXw0KK25zb3V0 CUJXIGlwZXJmMyAtczFKIC1wIDEwMDAxIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRz X3Blcl9zZWNvbmQiDQorYncJX19CV19fIDEwLjAgMjAuMA0KK3NsZWVwCTUNCituc2IJc2xlZXAg MTA7IGlwZXJmMyAtYyAxMjcuMC4wLjEgLXAgMTAwMDEgX19PUFRTX18NCitob3V0CUJXIGlwZXJm MyAtczFKIC1wIDEwMDAxIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNv bmQiDQorYncJX19CV19fIDEwLjAgMjAuMA0KKw0KK3RsCVRDUC9JUHY0IFJSIGxhdGVuY3kNCitu c2IJdGNwX3JyIC00IC0tbm9sb2cNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX3JyIC0tbm9sb2cg LWMgLUggMTI3LjAuMC4xIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xh dAlfX0xBVF9fIDEwMDAgNTAwDQorc2xlZXAJMg0KK2hvc3RiCXRjcF9yciAtNCAtLW5vbG9nDQor c2xlZXAJMg0KK25zb3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCAxMjcuMC4wLjEgfCBzZWQg LW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA1MDANCitz bGVlcAkyDQorDQordGwJVENQL0lQdjQgQ1JSIGxhdGVuY3kNCituc2IJdGNwX2NyciAtNCAtLW5v bG9nDQorc2xlZXAJMg0KK2hvdXQJTEFUIHRjcF9jcnIgLS1ub2xvZyAtYyAtSCAxMjcuMC4wLjEg fCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA1 MDANCitzbGVlcAkyDQoraG9zdGIJdGNwX2NyciAtNCAtLW5vbG9nDQorc2xlZXAJMg0KK25zb3V0 CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLWMgLUggMTI3LjAuMC4xIHwgc2VkIC1uICdzL150aHJvdWdo cHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAgNTAwDQorc2xlZXAJMg0KKw0KK3Ns ZWVwCTUNCitwYXNzdAlleGl0DQorc2xlZXAJMg0KK2tpbGxwCVBBU1NUDQora2lsbHAJSE9TVA0K K3NsZWVwCTINCituc2IJcGVyZiByZXBvcnQgLWcgLS1tYXgtc3RhY2sgMw0KK3NsZWVwCTEwDQor DQorbmwNCitubA0KK3NheQlJIA0KK2VtCWtuZXcNCitzYXkJIGl0LiANCitlbQlzeXNjYWxscw0K K3NheQkuDQorc2xlZXAJNQ0KKw0KK25sDQorbmwNCitzYXkJVGhhbmtzIGZvciB3YXRjaGluZyEN CitzbGVlcAk1DQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9kZW1vL3BvZG1hbiBiL29sZHRlc3QvZGVt by9wb2RtYW4NCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uZWRkNDAzYTEN Ci0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvZGVtby9wb2RtYW4NCkBAIC0wLDAgKzEsODE5 IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisj IFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5J WCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFi c3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMN CisjIHRlc3QvZGVtby9wb2RtYW4gLSBTaG93IHBhc3RhIG9wZXJhdGlvbiB3aXRoIFBvZG1hbg0K KyMNCisjIENvcHlyaWdodCAoYykgMjAyMiBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFu byBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitzZXQJT1BUUyAtWiAtdyA0TSAtbCAx TSAtUCAyIC10MTAgLS1wYWNpbmctdGltZXIgMTAwMDANCisNCitzYXkJVGhpcyBpcyBhbiBvdmVy dmlldyBvZiANCitlbQlQb2RtYW4NCitzYXkJIHVzaW5nIA0KK2VtCXBhc3RhDQorc2F5CS4NCitu bA0KK25sDQorc2xlZXAJMw0KKw0KK3NheQlMZXQncyBmZXRjaCBQb2RtYW4NCitzbGVlcAkxDQor aG9zdAlnaXQgLUMgX19TVEFURURJUl9fIGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS9jb250YWlu ZXJzL3BvZG1hbi5naXQNCitzbGVlcAkxDQorDQorc2F5CSwgcGF0Y2ggaXQNCitzbGVlcAkxDQor aG9zdAljcCAuLi9jb250cmliL3BvZG1hbi8wMDAxLWxpYnBvZC1BZGQtcGFzdGEtbmV0d29ya2lu Zy1tb2RlLnBhdGNoIF9fU1RBVEVESVJfXy9wb2RtYW4NCitob3N0CWNkIF9fU1RBVEVESVJfXy9w b2RtYW4NCitob3N0CWdpdCBhbSAtMyAwMDAxLWxpYnBvZC1BZGQtcGFzdGEtbmV0d29ya2luZy1t b2RlLnBhdGNoDQorc2xlZXAJMQ0KKw0KK3NheQksIGFuZCBidWlsZCBpdC4NCitob3N0CWdvIGdl dCBnaXRodWIuY29tL3BrZy9lcnJvcnNAdjAuOS4xDQoraG9zdAlnbyBtb2QgdmVuZG9yDQoraG9z dAltYWtlDQorc2xlZXAJMQ0KKw0KK25sDQorbmwNCitzYXkJQnkgZGVmYXVsdCwgZm9yIA0KK2Vt CXJvb3RsZXNzDQorc2F5CSBtb2RlLCBQb2RtYW4gd2lsbCBwaWNrDQorbmwNCitlbQlzbGlycDRu ZXRucw0KK3NheQkgdG8gb3BlcmF0ZSB0aGUgbmV0d29yay4NCitubA0KK25sDQorc2F5CUxldCdz IHN0YXJ0IGEgY29udGFpbmVyIHdpdGggaXQNCitzbGVlcAkxDQorDQorbnMxCWNkIF9fU1RBVEVE SVJfXy9wb2RtYW4NCituczFiCS4vYmluL3BvZG1hbiBydW4gLS1ybSAtdGkgYWxwaW5lIHNoDQor c2xlZXAJMg0KKw0KK3NheQksDQorbmwNCitzYXkJYW5kIG9uZSB3aXRoIA0KK2VtCXBhc3RhDQor c2F5CSBpbnN0ZWFkLg0KKw0KK25zMgljZCBfX1NUQVRFRElSX18vcG9kbWFuDQorbnMyYgkuL2Jp bi9wb2RtYW4gcnVuIC0tbmV0PXBhc3RhIC0tcm0gLXRpIGFscGluZSBzaA0KK3NsZWVwCTINCisN CitubA0KK25sDQorc2F5CVdlIGNhbiBvYnNlcnZlIHNvbWUgcHJhY3RpY2FsIGRpZmZlcmVuY2Vz Og0KK25sDQorDQorbnMxYglpcCBhZGRyIHNob3cNCitzbGVlcAkzDQorc2F5CS0gc2xpcnA0bmV0 bnMgdXNlcyBhIHByZWRlZmluZWQgSVB2NCBhZGRyZXNzDQoraGwJTlMxDQorc2xlZXAJMg0KKw0K K25zMmIJaXAgYWRkciBzaG93DQorc2xlZXAJMw0KK3NheQksDQorbmwNCitzYXkJICBwYXN0YSBj b3BpZXMgYWRkcmVzc2VzIGZyb20gdGhlIGhvc3QNCitobAlOUzINCitzbGVlcAkyDQorDQorbmwN CitzYXkJLSBzbGlycDRuZXRucyB1c2VzIA0KK2VtCXRhcDANCitzYXkJIGFzIGludGVyZmFjZSBu YW1lDQoraGwJTlMxDQorc2xlZXAJMg0KKw0KK3NheQksIHBhc3RhDQorbmwNCitzYXkJICB0YWtl cyBhbiBpbnRlcmZhY2UgbmFtZSBmcm9tIHRoZSBob3N0DQoraGwJTlMyDQorc2xlZXAJMg0KKw0K K25sDQorc2F5CS0gc2FtZSBmb3Igcm91dGVzOg0KKw0KK25zMWIJaXAgcm91dGUgc2hvdw0KK3Ns ZWVwCTMNCitzYXkJIHNsaXJwNG5ldG5zIGRlZmluZXMgaXRzIG93bg0KK25sDQorc2F5CSAgZ2F0 ZXdheSBhZGRyZXNzDQoraGwJTlMxDQorc2xlZXAJMg0KKw0KK3NheQksIHBhc3RhIGNvcGllcyBp dCBmcm9tIHRoZSBob3N0DQorbnMyYglpcCByb3V0ZSBzaG93DQorbnMyYglpcCAtNiByb3V0ZSBz aG93DQorc2xlZXAJNQ0KKw0KK25sDQorbmwNCitzYXkJTGV0J3MgY2hlY2sgY29ubmVjdGl2aXR5 Li4uDQorc2xlZXAJMg0KK25zMWIJd2dldCByaXNvdHRvLm1pbGFuZS5zZQ0KK25zMmIJd2dldCBt eWZpbmdlLnJzDQorc2xlZXAJMg0KK3NheQkgZmluZS4NCitzbGVlcAk1DQorbmwNCitubA0KKw0K K3NheQlMZXQncyBydW4gYSBzZXJ2aWNlIGluIHRoZSBjb250YWluZXIsDQorbmwNCitzYXkJY29u ZmlndXJpbmcgcG9ydCBmb3J3YXJkaW5nIGZpcnN0DQorc2xlZXAJNQ0KKw0KK25zMWIJZXhpdA0K K3NsZWVwCTINCituczFiCXBvZG1hbiBydW4gLS1ybSAtcCA4MDgwOjgwODAvdGNwIC10aSBhbHBp bmUgc2gNCitzbGVlcAk1DQorDQorbnMyYglleGl0DQorc2xlZXAJMg0KK25zMmIJLi9iaW4vcG9k bWFuIHJ1biAtLW5ldD1wYXN0YSAtLXJtIC1wIDgwODE6ODA4MS90Y3AgLXRpIGFscGluZSBzaA0K K3NsZWVwCTUNCisNCitubA0KK25sDQorc2F5CS4uLmFuZCBub3cgYWN0dWFsbHkgc3RhcnQgdGhl IHNlcnZpY2UNCituczFiCWFwayBhZGQgdGh0dHBkDQorbnMyYglhcGsgYWRkIHRodHRwZA0KK25z MWIJPmluZGV4Lmh0bWwgY2F0IDw8IEVPRg0KK25zMWIJPCFkb2N0eXBlIGh0bWw+PGJvZHk+SGVs bG8gdmlhIHNsaXJwNG5ldG5zPC9ib2R5Pg0KK25zMWIJRU9GDQorbnMyYgk+aW5kZXguaHRtbCBj YXQgPDwgRU9GDQorbnMyYgk8IWRvY3R5cGUgaHRtbD48Ym9keT5IZWxsbyB2aWEgcGFzdGE8L2Jv ZHk+DQorbnMyYglFT0YNCituczFiCXRodHRwZCAtcCA4MDgwDQorbnMyYgl0aHR0cGQgLXAgODA4 MQ0KKw0KK3NsZWVwCTMNCitzYXkJLCB0aGVuIGNoZWNrDQorbmwNCitzYXkJdGhhdCBpdCdzIGFj Y2Vzc2libGUuDQorc2xlZXAJMw0KKw0KK2hvc3RiCWx5bnggaHR0cDovLzEyNy4wLjAuMTo4MDgw Lw0KK3NsZWVwCTUNCitob3N0YglxDQoraG9zdGIJbHlueCBodHRwOi8vWzo6MV06ODA4MS8NCitz bGVlcAk1DQoraG9zdGIJcQ0KK3NsZWVwCTINCisNCitubA0KK25sDQorc2F5CVdoYXQgYWJvdXQg cGVyZm9ybWFuY2UsIHlvdSBtaWdodCBhc2suDQorbmwNCitzYXkJRm9yIHNpbXBsaWNpdHksIHdl J2xsIG1lYXN1cmUgYmV0d2VlbiBpbml0DQorbmwNCitzYXkJbmFtZXNwYWNlICh0aGUgImhvc3Qi KSBhbmQgY29udGFpbmVyLiBUbyBkbw0KK25sDQorc2F5CXRoYXQsIHdlIG5lZWQgdG8gYWxsb3cg dGhlIGNvbnRhaW5lciBkaXJlY3QNCitubA0KK3NheQlhY2Nlc3MgdG8gdGhlIGhvc3QsIHdoaWNo IG5lZWRzIGFuIGV4dHJhIG9wdGlvbg0KK25sDQorc2F5CWluIHNsaXJwNG5ldG5zLiBMZXQncyBy ZXN0YXJ0IHRoYXQgY29udGFpbmVyLA0KK25sDQorc2F5CXdoaWxlIGFsc28gbWFwcGluZyBwb3J0 cyBmb3IgaXBlcmYzIGFuZCBuZXBlci4NCitubA0KK3NsZWVwCTMNCisNCituczEJZXhpdA0KKw0K K25zMWIJcG9kbWFuIHJ1biAtLXJtIC0tbmV0PXNsaXJwNG5ldG5zOmFsbG93X2hvc3RfbG9vcGJh Y2s9dHJ1ZSxlbmFibGVfaXB2Nj10cnVlIC1wIDUyMjEtNTIyMjo1MjIxLTUyMjIvdGNwIC1wIDUy MjEtNTIyMjo1MjIxLTUyMjIvdWRwIC10aSBhbHBpbmUgc2gNCitzbGVlcAk1DQorbmwNCitubA0K K3NheQlwYXN0YSBhbGxvd3MgdGhhdCBieSBkZWZhdWx0LCBzbyB3ZSB3b3VsZG4ndCBuZWVkDQor bmwNCitzYXkJdG8gdG91Y2ggdGhlIGNvbnRhaW5lciB1c2luZyBwYXN0YSwgYnV0IGxldCdzDQor bmwNCitzYXkJdGFrZSB0aGUgY2hhbmNlIHRvIGxvb2sgYXQgcGFzc2luZyBleHRyYSBvcHRpb25z DQorbmwNCitzYXkJdGhlcmUgYXMgd2VsbC4NCitubA0KK25sDQorbnMyCWV4aXQNCisNCitzYXkJ T3B0aW9ucyBhZnRlciAnLS1uZXQ9cGFzdGE6JyBhcmUgdGhlIHNhbWUgYXMNCitubA0KK3NheQlk b2N1bWVudGVkIGZvciB0aGUgY29tbWFuZCBsaW5lIG9mIHBhc3RhKDEpLg0KK25sDQorc2F5CUZv ciBleGFtcGxlLCB3ZSBjYW4gZW5hYmxlIHBhY2tldCBjYXB0dXJlcw0KK3NsZWVwCTMNCituczJi CS4vYmluL3BvZG1hbiBydW4gLS1uZXQ9cGFzdGE6LS1wY2FwLGRlbW8ucGNhcCAtLXJtIC10aSBh bHBpbmUgc2gNCitzbGVlcAk1DQorDQorc2F5CSwNCitubA0KK3NheQlhbmQgZ2VuZXJhdGUgc29t ZSB0cmFmZmljIHdlIGNhbiBsb29rIGF0Lg0KK25sDQorc2xlZXAJMg0KK25zMmIJd2dldCAtTyAt IGxhbWVleGN1LnNlDQorc2xlZXAJMg0KK2hvc3RiCXRzaGFyayAtciBkZW1vLnBjYXAgdGNwDQor c2xlZXAJNQ0KKw0KK25sDQorc2F5CUJ1dCBiYWNrIHRvIHBlcmZvcm1hbmNlIG5vdy4gQnkgdGhl IHdheSwNCitubA0KK3NheQlwYXN0YSBjYW4gYWxzbyBmb3J3YXJkIHBvcnRzIHRocm91Z2ggdGhl DQorbmwNCitzYXkJbG9vcGJhY2sgaW50ZXJmYWNlIGZvciBpbXByb3ZlZCB0aHJvdWdocHV0Lg0K K25sDQorc2F5CUxldCdzIGNvbmZpZ3VyZSB0aGF0Lg0KK25sDQorc2xlZXAJMg0KK25zMmIJZXhp dA0KK3NsZWVwCTENCituczJiCS4vYmluL3BvZG1hbiBydW4gLS1uZXQ9cGFzdGE6LVQsNTIxMy01 MjE0LC1VLDUyMTMtNTIxNCAtcCA1MjIzLTUyMjQ6NTIyMy01MjI0L3RjcCAtcCA1MjIzLTUyMjQ6 NTIyMy01MjI0L3VkcCAtLXJtIC10aSBhbHBpbmUgc2gNCitzbGVlcAk1DQorDQorbmwNCitzYXkJ SW4gc2xpcnA0bmV0bnMgbW9kZSwgUG9kbWFuIGVuYWJsZXMgYnkNCitubA0KK3NheQlkZWZhdWx0 IHRoZSBwb3J0IGZvcndhcmRlciBmcm9tICdyb290bGVzc2tpdCcNCitubA0KK3NheQlmb3IgYmV0 dGVyIHBlcmZvcm1hbmNlLg0KK25sDQorc2F5CUhvd2V2ZXIsIGl0IGNhbid0IGJlIHVzZWQgZm9y IG5vbi1sb2NhbA0KK25sDQorc2F5CW1hcHBpbmdzICh0cmFmZmljIHdpdGhvdXQgbG9vcGJhY2sg c291cmNlIA0KK25sDQorZW0JYW5kDQorc2F5CSBkZXN0aW5hdGlvbikgYmVjYXVzZSBpdCBkb2Vz bid0IHByZXNlcnZlDQorbmwNCitzYXkJdGhlIGNvcnJlY3Qgc291cmNlIGFkZHJlc3MgYXMgaXQg Zm9yd2FyZHMNCitubA0KK3NheQlwYWNrZXRzIHRvIHRoZSBjb250YWluZXIuDQorc2xlZXAJMw0K K25sDQorbmwNCitzYXkJV2UnbGwgY2hlY2sgbm9uLWxvb3BiYWNrIG1hcHBpbmdzIGZpcnN0IGZv cg0KK25sDQorc2F5CWJvdGggcGFzdGEgYW5kIHNsaXJwNG5ldG5zLCB0aGVuIHJlc3RhcnQgdGhl DQorbmwNCitzYXkJc2xpcnA0bmV0bnMgY29udGFpbmVyIHdpdGggcm9vdGxlc3NraXQgYW5kDQor bmwNCitzYXkJc3dpdGNoIHRvIGxvb3BiYWNrIG1hcHBpbmdzLiBwYXN0YSBkb2Vzbid0DQorbmwN CitzYXkJaGF2ZSB0aGlzIGxpbWl0YXRpb24uDQorbmwNCitubA0KK3NheQlPbmUgbGFzdCBub3Rl OiBzbGlycDRuZXRucyBkb2Vzbid0IHN1cHBvcnQNCitubA0KK3NheQlmb3J3YXJkaW5nIG9mIElQ djYgcG9ydHMgKHRvIHRoZSBjb250YWluZXIpOg0KK25sDQorc2F5CWdpdGh1Yi5jb20vcm9vdGxl c3MtY29udGFpbmVycy9zbGlycDRuZXRucy9pc3N1ZXMvMjUzDQorbmwNCitzYXkJc28gd2UnbGwg c2tpcCBJUHY2IHRlc3RzIGZvciBzbGlycDRuZXRucyBhcw0KK25sDQorc2F5CXBvcnQgZm9yd2Fy ZGVyIChvbiB0aGUgcGF0aCB0byB0aGUgY29udGFpbmVyKS4NCisNCitzbGVlcAk1DQorbnMxCWV4 aXQNCituczFiCXBvZG1hbiBydW4gLS1ybSAtLW5ldD1zbGlycDRuZXRuczphbGxvd19ob3N0X2xv b3BiYWNrPXRydWUsZW5hYmxlX2lwdjY9dHJ1ZSxwb3J0X2hhbmRsZXI9c2xpcnA0bmV0bnMgLXAg NTIyMS01MjIyOjUyMjEtNTIyMi90Y3AgLXAgNTIyMS01MjIyOjUyMjEtNTIyMi91ZHAgLXRpIGFs cGluZSBzaA0KK3NsZWVwCTMNCisNCitubA0KK25sDQorc2F5CVdlJ2xsIHVzZSBpcGVyZjMoMSkg Zm9yIHRocm91Z2hwdXQNCitzbGVlcAkyDQorbnMxYglhcGsgYWRkIGlwZXJmMyBqcSBiYw0KK25z MmIJYXBrIGFkZCBpcGVyZjMganEgYmMNCitzbGVlcAkyDQorc2F5CSBhbmQgc3RhdGljDQorbmwN CitzYXkJYnVpbGRzIG9mIG5lcGVyIChnaXRodWIuY29tL2dvb2dsZS9uZXBlcikgZm9yDQorbmwN CitzYXkJbGF0ZW5jeS4NCituczEJd2dldCBsYW1lZXhjdS5zZS90Y3BfcnI7IGNobW9kIDc1NSB0 Y3BfcnINCituczIJd2dldCBsYW1lZXhjdS5zZS90Y3BfcnI7IGNobW9kIDc1NSB0Y3BfcnINCitu czEJd2dldCBsYW1lZXhjdS5zZS90Y3BfY3JyOyBjaG1vZCA3NTUgdGNwX2Nycg0KK25zMgl3Z2V0 IGxhbWVleGN1LnNlL3RjcF9jcnI7IGNobW9kIDc1NSB0Y3BfY3JyDQorbnMxCXdnZXQgbGFtZWV4 Y3Uuc2UvdWRwX3JyOyBjaG1vZCA3NTUgdWRwX3JyDQorbnMyCXdnZXQgbGFtZWV4Y3Uuc2UvdWRw X3JyOyBjaG1vZCA3NTUgdWRwX3JyDQorc2xlZXAJNQ0KKw0KK25sDQorbmwNCitzYXkJRXZlcnl0 aGluZyBpcyBzZXQgbm93LCBsZXQncyBzdGFydA0KK3NsZWVwCTINCitob3V0CUlGTkFNRSBpcCAt aiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIp LmlmbmFtZScNCitob3V0CUFERFI0IGlwIC1qIC00IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNl bGVjdCguaWZuYW1lID09ICJfX0lGTkFNRV9fIikuYWRkcl9pbmZvW10gfCBzZWxlY3QoLnNjb3Bl ID09ICJnbG9iYWwiKS5sb2NhbCcNCitob3V0CUFERFI2IGlwIC1qIC02IGFkZHIgc2hvd3xqcSAt ck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFNRV9fIikuYWRkcl9pbmZvW10gfCBz ZWxlY3QoLnNjb3BlID09ICJnbG9iYWwiKS5sb2NhbCcNCitob3V0CUdXNCBpcCAtaiAtNCByb3V0 ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0K K2hvdXQJR1c2IGlwIC1qIC02IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9 PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorDQorbmwNCitubA0KK3Jlc2l6ZQlJTkZPIEQgMTUNCitp bmZvCVRocm91Z2hwdXQgaW4gR2JwcywgbGF0ZW5jeSBpbiDCtXMNCitpbmZvCSAgbm9uLWxvb3Bi YWNrICh0YXApIGNvbm5lY3Rpb25zDQordGgJbW9kZSBzbGlycDRuZXRucyBwYXN0YQ0KKw0KK3Ry CVRDUC9JUHY2IHRvIG5zDQorI25zMWIJaXBlcmYzIC1zMUogLXAgNTIyMSB8IGpxIC1yTSAiLmVu ZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+dDENCisjaG9zdGIJaXBlcmYzIC1jIF9f QUREUjZfXyAtcCA1MjIxIF9fT1BUU19fDQorI25zMW91dAlCVyBjYXQgdDENCisjYncJX19CV19f IDAuMCAwLjANCitidwktDQorbnMyYglpcGVyZjMgLXMxSiAtcCA1MjIzIHwganEgLXJNICIuZW5k LnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK2hvc3RiCWlwZXJmMyAtYyBfX0FE RFI2X18gLXAgNTIyMyBfX09QVFNfXw0KK3NsZWVwCTEyDQorbnMyYgkNCituczJvdXQJQlcgY2F0 IHQxDQorYncJX19CV19fIDAuMCAwLjANCitob3N0YgkNCisNCit0bAkgIFJSIGxhdGVuY3kNCisj bnMxYgkuL3RjcF9yciAtNiAtLW5vbG9nIC1DIDUyMjEgLVAgNTIyMg0KKyNzbGVlcAkyDQorI2hv dXQJTEFUIHRjcF9yciAtLW5vbG9nIC1jIC1IIF9fQUREUjZfXyAtQyA1MjIxIC1QIDUyMjIgLWwg NSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCisjbGF0CV9fTEFUX18gMTAw MDAwIDEwMDAwMA0KK2xhdAktDQorbnMyYgkuL3RjcF9yciAtNiAtLW5vbG9nIC1DIDUyMjMgLVAg NTIyNA0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCBfX0FERFI2X18g LUMgNTIyMyAtUCA1MjI0IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3An DQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0KK3RsCSAgQ1JSIGxhdGVuY3kNCisjbnMx YgkuL3RjcF9jcnIgLTYgLS1ub2xvZyAtQyA1MjIxIC1QIDUyMjINCisjc2xlZXAJMg0KKyNob3V0 CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLWMgLUggX19BRERSNl9fIC1DIDUyMjEgLVAgNTIyMiAtbCA1 IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KKyNsYXQJX19MQVRfXyAxMDAw MDAgMTAwMDAwDQorbGF0CS0NCituczJiCS4vdGNwX2NyciAtNiAtLW5vbG9nIC1DIDUyMjMgLVAg NTIyNA0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLWMgLUggX19BRERSNl9f IC1DIDUyMjMgLVAgNTIyNCAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9w Jw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0bAlUQ1AvSVB2NCB0byBucw0KK25z MWIJaXBlcmYzIC1zMUogLXAgNTIyMSB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19w ZXJfc2Vjb25kIiA+dDENCitob3N0YglpcGVyZjMgLWMgX19BRERSNF9fIC1wIDUyMjEgX19PUFRT X18NCitzbGVlcAkxMg0KK25zMWIJDQorbnMxb3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAg MC4wDQorbnMyYglpcGVyZjMgLXMxSiAtcCA1MjIzIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZl ZC5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK2hvc3RiCWlwZXJmMyAtYyBfX0FERFI0X18gLXAgNTIy MyBfX09QVFNfXw0KK3NsZWVwCTEyDQorbnMyYgkNCituczJvdXQJQlcgY2F0IHQxDQorYncJX19C V19fIDAuMCAwLjANCitob3N0YgkNCisNCit0bAkgIFJSIGxhdGVuY3kNCituczFiCS4vdGNwX3Jy IC00IC0tbm9sb2cgLUMgNTIyMSAtUCA1MjIyDQorc2xlZXAJMg0KK2hvdXQJTEFUIHRjcF9yciAt LW5vbG9nIC1jIC1IIF9fQUREUjRfXyAtQyA1MjIxIC1QIDUyMjIgLWwgNSB8IHNlZCAtbiAncy9e dGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorbnMy YgkuL3RjcF9yciAtNCAtLW5vbG9nIC1DIDUyMjMgLVAgNTIyNA0KK3NsZWVwCTINCitob3V0CUxB VCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCBfX0FERFI0X18gLUMgNTIyMyAtUCA1MjI0IC1sIDUgfCBz ZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEw MDAwMA0KKw0KK3RsCSAgQ1JSIGxhdGVuY3kNCituczFiCS4vdGNwX2NyciAtNCAtLW5vbG9nIC1D IDUyMjEgLVAgNTIyMg0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLWMgLUgg X19BRERSNF9fIC1DIDUyMjEgLVAgNTIyMiAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwo LipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCituczJiCS4vdGNwX2NyciAt NCAtLW5vbG9nIC1DIDUyMjMgLVAgNTIyNA0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfY3JyIC0t bm9sb2cgLWMgLUggX19BRERSNF9fIC1DIDUyMjMgLVAgNTIyNCAtbCA1IHwgc2VkIC1uICdzL150 aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0 cglUQ1AvSVB2NiB0byBob3N0DQoraG9zdGIJaXBlcmYzIC1zMUogLXAgNTIxMSB8IGpxIC1yTSAi LmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+dDENCituczFiCWlwZXJmMyAtYyBm ZDAwOjoyIC1wIDUyMTEgX19PUFRTX18NCitzbGVlcAkxMg0KK2hvc3RiCQ0KK2hvdXQJQlcgY2F0 IHQxDQorYncJX19CV19fIDAuMCAwLjANCitob3N0YglpcGVyZjMgLXMxSiAtcCA1MjEzIHwganEg LXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK25zMmIJaXBlcmYz IC1jIF9fR1c2X18lX19JRk5BTUVfXyAtcCA1MjEzIF9fT1BUU19fDQorc2xlZXAJMTINCitob3N0 YgkNCitob3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQorbnMxYgkNCituczJiCQ0K Kw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK2hvc3RiCXRjcF9yciAtNiAtLW5vbG9nIC1DIDUyMTEgLVAg NTIxMg0KK3NsZWVwCTINCituczFvdXQJTEFUIC4vdGNwX3JyIC0tbm9sb2cgLWMgLUggZmQwMDo6 MiAtQyA1MjExIC1QIDUyMTIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEv cCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQoraG9zdGIJdGNwX3JyIC02IC0tbm9sb2cg LUMgNTIxMyAtUCA1MjE0DQorc2xlZXAJMg0KK25zMm91dAlMQVQgLi90Y3BfcnIgLS1ub2xvZyAt YyAtSCBfX0dXNl9fJV9fSUZOQU1FX18gLUMgNTIxMyAtUCA1MjE0IC1sIDUgfCBzZWQgLW4gJ3Mv XnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0K K3RsCSAgQ1JSIGxhdGVuY3kNCitob3N0Ygl0Y3BfY3JyIC02IC0tbm9sb2cgLUMgNTIxMSAtUCA1 MjEyDQorc2xlZXAJMg0KK25zMW91dAlMQVQgLi90Y3BfY3JyIC0tbm9sb2cgLWMgLUggZmQwMDo6 MiAtQyA1MjExIC1QIDUyMTIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEv cCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQoraG9zdGIJdGNwX2NyciAtNiAtLW5vbG9n IC1DIDUyMTMgLVAgNTIxNA0KK3NsZWVwCTINCituczJvdXQJTEFUIC4vdGNwX2NyciAtLW5vbG9n IC1jIC1IIF9fR1c2X18lX19JRk5BTUVfXyAtQyA1MjEzIC1QIDUyMTQgLWwgNSB8IHNlZCAtbiAn cy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQor DQordGwJVENQL0lQdjQgdG8gaG9zdA0KK2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTEgfCBqcSAt ck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQxDQorbnMxYglpcGVyZjMg LWMgMTAuMC4yLjIgLXAgNTIxMSBfX09QVFNfXw0KK3NsZWVwCTEyDQoraG9zdGIJDQoraG91dAlC VyBjYXQgdDENCitidwlfX0JXX18gMC4wIDAuMA0KK2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTMg fCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQxDQorbnMyYglp cGVyZjMgLWMgX19HVzRfXyAtcCA1MjEzIF9fT1BUU19fDQorc2xlZXAJMTANCitob3N0YgkNCito b3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQorbnMxYgkNCituczJiCQ0KKw0KK3Rs CSAgUlIgbGF0ZW5jeQ0KK2hvc3RiCXRjcF9yciAtNCAtLW5vbG9nIC1DIDUyMTEgLVAgNTIxMg0K K3NsZWVwCTINCituczFvdXQJTEFUIC4vdGNwX3JyIC0tbm9sb2cgLWMgLUggMTAuMC4yLjIgLUMg NTIxMSAtUCA1MjEyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQor bGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK2hvc3RiCXRjcF9yciAtNCAtLW5vbG9nIC1DIDUy MTMgLVAgNTIxNA0KK3NsZWVwCTINCituczJvdXQJTEFUIC4vdGNwX3JyIC0tbm9sb2cgLWMgLUgg X19HVzRfXyAtQyA1MjEzIC1QIDUyMTQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4q XCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQordGwJICBDUlIgbGF0ZW5j eQ0KK2hvc3RiCXRjcF9jcnIgLTQgLS1ub2xvZyAtQyA1MjExIC1QIDUyMTINCitzbGVlcAkyDQor bnMxb3V0CUxBVCAuL3RjcF9jcnIgLS1ub2xvZyAtYyAtSCAxMC4wLjIuMiAtQyA1MjExIC1QIDUy MTIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRf XyAxMDAwMDAgMTAwMDAwDQoraG9zdGIJdGNwX2NyciAtNCAtLW5vbG9nIC1DIDUyMTMgLVAgNTIx NA0KK3NsZWVwCTINCituczJvdXQJTEFUIC4vdGNwX2NyciAtLW5vbG9nIC1jIC1IIF9fR1c0X18g LUMgNTIxMyAtUCA1MjE0IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3An DQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0KK3NsZWVwCTUNCisNCisNCit0cglVRFAv SVB2NiB0byBucw0KKyNuczFiCWlwZXJmMyAtczFKIC1wIDUyMjEgfCBqcSAtck0gIi5pbnRlcnZh bHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCIgPnQxDQorI2hvc3RiCWlwZXJmMyAtdSAtYyBfX0FE RFI2X18gLXAgNTIyMSAtdDUgLWIgMzVHDQorI3NsZWVwCTEwDQorI25zMW91dAlCVyBjYXQgdDEN CisjYncJX19CV19fIDAuMCAwLjANCitidwktDQorbnMyYglpcGVyZjMgLXMxSiAtcCA1MjI0IHwg anEgLXJNICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK2hvc3RiCWlw ZXJmMyAtdSAtYyBfX0FERFI2X18gLXAgNTIyNCAtdDUgLWIgMzVHDQorc2xlZXAJMTANCituczJv dXQJQlcgY2F0IHQxDQorYncJX19CV19fIDAuMCAwLjANCisNCit0bAkgIFJSIGxhdGVuY3kNCisj bnMxYgkuL3VkcF9yciAtNiAtLW5vbG9nIC1DIDUyMjEgLVAgNTIyMg0KKyNzbGVlcAkyDQorI2hv dXQJTEFUIHVkcF9yciAtLW5vbG9nIC1jIC1IIF9fQUREUjZfXyAtQyA1MjIxIC1QIDUyMjIgLWwg NSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCisjbGF0CV9fTEFUX18gMTAw MDAwIDEwMDAwMA0KK2xhdAktDQorbnMyYgkuL3VkcF9yciAtNiAtLW5vbG9nIC1DIDUyMjMgLVAg NTIyNA0KK3NsZWVwCTINCitob3V0CUxBVCB1ZHBfcnIgLS1ub2xvZyAtYyAtSCBfX0FERFI2X18g LUMgNTIyMyAtUCA1MjI0IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3An DQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0KK3RsCVVEUC9JUHY0IHRvIG5zDQorbnMx YglpcGVyZjMgLXMxSiAtcCA1MjIxIHwganEgLXJNICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Bl cl9zZWNvbmQiID50MQ0KK2hvc3RiCWlwZXJmMyAtdSAtYyBfX0FERFI0X18gLXAgNTIyMSAtdDUg LWIgMzVHDQorc2xlZXAJMTANCituczFvdXQJQlcgY2F0IHQxDQorYncJX19CV19fIDAuMCAwLjAN CituczJiCWlwZXJmMyAtczFKIC1wIDUyMjQgfCBqcSAtck0gIi5pbnRlcnZhbHNbMF0uc3VtLmJp dHNfcGVyX3NlY29uZCIgPnQxDQoraG9zdGIJaXBlcmYzIC11IC1jIF9fQUREUjRfXyAtcCA1MjI0 IC10NSAtYiAzNUcNCitzbGVlcAkxMA0KK25zMm91dAlCVyBjYXQgdDENCitidwlfX0JXX18gMC4w IDAuMA0KKw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK25zMWIJLi91ZHBfcnIgLTYgLS1ub2xvZyAtQyA1 MjIxIC1QIDUyMjINCitzbGVlcAkyDQoraG91dAlMQVQgdWRwX3JyIC0tbm9sb2cgLWMgLUggX19B RERSNF9fIC1DIDUyMjEgLVAgNTIyMiAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipc KS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCituczJiCS4vdWRwX3JyIC02IC0t bm9sb2cgLUMgNTIyMyAtUCA1MjI0DQorc2xlZXAJMg0KK2hvdXQJTEFUIHVkcF9yciAtLW5vbG9n IC1jIC1IIF9fQUREUjRfXyAtQyA1MjIzIC1QIDUyMjQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3Vn aHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQordHIJVURQ L0lQdjYgdG8gaG9zdA0KK2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTEgfCBqcSAtck0gIi5pbnRl cnZhbHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCIgPnQxDQorbnMxYglpcGVyZjMgLXUgLWMgZmQw MDo6MiAtcCA1MjExIC10NSAtYiAzNUcNCitzbGVlcAkxMA0KK2hvdXQJQlcgY2F0IHQxDQorYncJ X19CV19fIDAuMCAwLjANCitob3N0YglpcGVyZjMgLXMxSiAtcCA1MjE0IHwganEgLXJNICIuaW50 ZXJ2YWxzWzBdLnN1bS5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK25zMmIJaXBlcmYzIC11IC1jIF9f R1c2X18lX19JRk5BTUVfXyAtcCA1MjE0IC10NSAtYiAzNUcNCitzbGVlcAkxMA0KK2hvdXQJQlcg Y2F0IHQxDQorYncJX19CV19fIDAuMCAwLjANCisNCit0bAkgIFJSIGxhdGVuY3kNCitob3N0Ygl1 ZHBfcnIgLTYgLS1ub2xvZyAtQyA1MjExIC1QIDUyMTINCitzbGVlcAkyDQorbnMxb3V0CUxBVCAu L3VkcF9yciAtLW5vbG9nIC1jIC1IIGZkMDA6OjIgLUMgNTIxMSAtUCA1MjEyIC1sIDUgfCBzZWQg LW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAw MA0KK2hvc3RiCXVkcF9yciAtNiAtLW5vbG9nIC1DIDUyMTMgLVAgNTIxNA0KK3NsZWVwCTINCitu czJvdXQJTEFUIC4vdWRwX3JyIC0tbm9sb2cgLWMgLUggX19HVzZfXyVfX0lGTkFNRV9fIC1DIDUy MTMgLVAgNTIxNCAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xh dAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0bAlVRFAvSVB2NCB0byBob3N0DQoraG9zdGIJ aXBlcmYzIC1zMUogLXAgNTIxMSB8IGpxIC1yTSAiLmludGVydmFsc1swXS5zdW0uYml0c19wZXJf c2Vjb25kIiA+dDENCituczFiCWlwZXJmMyAtdSAtYyAxMC4wLjIuMiAtcCA1MjExIC10NSAtYiAz NUcNCitzbGVlcAkxMA0KK2hvdXQJQlcgY2F0IHQxDQorYncJX19CV19fIDAuMCAwLjANCitob3N0 YglpcGVyZjMgLXMxSiAtcCA1MjE0IHwganEgLXJNICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Bl cl9zZWNvbmQiID50MQ0KK25zMmIJaXBlcmYzIC11IC1jIF9fR1c0X18gLXAgNTIxNCAtdDUgLWIg MzVHDQorc2xlZXAJMTANCitob3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQorDQor dGwJICBSUiBsYXRlbmN5DQoraG9zdGIJdWRwX3JyIC02IC0tbm9sb2cgLUMgNTIxMSAtUCA1MjEy DQorc2xlZXAJMg0KK25zMW91dAlMQVQgLi91ZHBfcnIgLS1ub2xvZyAtYyAtSCAxMC4wLjIuMiAt QyA1MjExIC1QIDUyMTIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcN CitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQoraG9zdGIJdWRwX3JyIC02IC0tbm9sb2cgLUMg NTIxMyAtUCA1MjE0DQorc2xlZXAJMg0KK25zMm91dAlMQVQgLi91ZHBfcnIgLS1ub2xvZyAtYyAt SCBfX0dXNF9fIC1DIDUyMTMgLVAgNTIxNCAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwo LipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCisNCituczEJZXhpdA0K K25zMQlwb2RtYW4gcnVuIC0tcm0gLS1uZXQ9c2xpcnA0bmV0bnM6YWxsb3dfaG9zdF9sb29wYmFj az10cnVlLGVuYWJsZV9pcHY2PXRydWUgLXAgNTIyMS01MjIyOjUyMjEtNTIyMi90Y3AgLXAgNTIy MS01MjIyOjUyMjEtNTIyMi91ZHAgLXRpIGFscGluZSBzaA0KK25zMQlhcGsgYWRkIGlwZXJmMyBq cSBiYw0KK25zMQl3Z2V0IGxhbWVleGN1LnNlL3RjcF9ycjsgY2htb2QgNzU1IHRjcF9ycg0KK25z MQl3Z2V0IGxhbWVleGN1LnNlL3RjcF9jcnI7IGNobW9kIDc1NSB0Y3BfY3JyDQorbnMxCXdnZXQg bGFtZWV4Y3Uuc2UvdWRwX3JyOyBjaG1vZCA3NTUgdWRwX3JyDQoraW5mbwkNCitpbmZvCQ0KK2lu Zm8JICBsb29wYmFjayAobG8pIGNvbm5lY3Rpb25zDQordGgJbW9kZSByb290bGVzc2tpdCBwYXN0 YQ0KKw0KKw0KK3RyCVRDUC9JUHY2IHRvIG5zDQorbnMxYgkoaXBlcmYzIC1zMUogLXAgNTIyMSB8 IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+dDEpICYNCituczFi CWlwZXJmMyAtczFKIC1wIDUyMjIgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVy X3NlY29uZCIgPnQyDQoraG9zdGIJaXBlcmYzIC1jIDo6MSAtcCA1MjIxIF9fT1BUU19fICYgaXBl cmYzIC1jIDo6MSAtcCA1MjIyIF9fT1BUU19fDQorc2xlZXAJMTINCituczFiCQ0KK25zMW91dAlC VyBlY2hvICIkKGNhdCB0MSkgKyAkKGNhdCB0MikiIHwgYmMgLWwNCitidwlfX0JXX18gMC4wIDAu MA0KK25zMmIJKGlwZXJmMyAtczFKIC1wIDUyMjMgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVk LmJpdHNfcGVyX3NlY29uZCIgPnQxKSAmDQorbnMyYglpcGVyZjMgLXMxSiAtcCA1MjI0IHwganEg LXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50Mg0KK2hvc3RiCWlwZXJm MyAtYyA6OjEgLXAgNTIyMyBfX09QVFNfXyAmIGlwZXJmMyAtYyA6OjEgLXAgNTIyNCBfX09QVFNf Xw0KK3NsZWVwCTEyDQorbnMyYgkNCituczJvdXQJQlcgZWNobyAiJChjYXQgdDEpICsgJChjYXQg dDIpIiB8IGJjIC1sDQorYncJX19CV19fIDAuMCAwLjANCitob3N0YgkNCisNCit0bAkgIFJSIGxh dGVuY3kNCituczFiCS4vdGNwX3JyIC02IC0tbm9sb2cgLUMgNTIyMSAtUCA1MjIyDQorc2xlZXAJ Mg0KK2hvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC1jIC1IIDo6MSAtQyA1MjIxIC1QIDUyMjIgLWwg NSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAw MDAgMTAwMDAwDQorbnMyYgkuL3RjcF9yciAtNiAtLW5vbG9nIC1DIDUyMjMgLVAgNTIyNA0KK3Ns ZWVwCTINCitob3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCA6OjEgLUMgNTIyMyAtUCA1MjI0 IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18g MTAwMDAwIDEwMDAwMA0KKw0KK3RsCSAgQ1JSIGxhdGVuY3kNCituczFiCS4vdGNwX2NyciAtNiAt LW5vbG9nIC1DIDUyMjEgLVAgNTIyMg0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfY3JyIC0tbm9s b2cgLWMgLUggOjoxIC1DIDUyMjEgLVAgNTIyMiAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0 PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCituczJiCS4vdGNwX2Ny ciAtNiAtLW5vbG9nIC1DIDUyMjMgLVAgNTIyNA0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfY3Jy IC0tbm9sb2cgLWMgLUggOjoxIC1DIDUyMjMgLVAgNTIyNCAtbCA1IHwgc2VkIC1uICdzL150aHJv dWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0bAlU Q1AvSVB2NCB0byBucw0KK25zMWIJKGlwZXJmMyAtczFKIC1wIDUyMjEgfCBqcSAtck0gIi5lbmQu c3VtX3JlY2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQxKSAmDQorbnMxYglpcGVyZjMgLXMxSiAt cCA1MjIyIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50Mg0K K2hvc3RiCWlwZXJmMyAtYyAxMjcuMC4wLjEgLXAgNTIyMSBfX09QVFNfXyAmIGlwZXJmMyAtYyAx MjcuMC4wLjEgLXAgNTIyMiBfX09QVFNfXw0KK3NsZWVwCTEyDQorbnMxYgkNCituczFvdXQJQlcg ZWNobyAiJChjYXQgdDEpICsgJChjYXQgdDIpIiB8IGJjIC1sDQorYncJX19CV19fIDAuMCAwLjAN CituczJiCShpcGVyZjMgLXMxSiAtcCA1MjIzIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5i aXRzX3Blcl9zZWNvbmQiID50MSkgJg0KK25zMmIJaXBlcmYzIC1zMUogLXAgNTIyNCB8IGpxIC1y TSAiLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+dDINCitob3N0YglpcGVyZjMg LWMgMTI3LjAuMC4xIC1wIDUyMjMgX19PUFRTX18gJiBpcGVyZjMgLWMgMTI3LjAuMC4xIC1wIDUy MjQgX19PUFRTX18NCitzbGVlcAkxMg0KK25zMmIJDQorbnMyb3V0CUJXIGVjaG8gIiQoY2F0IHQx KSArICQoY2F0IHQyKSIgfCBiYyAtbA0KK2J3CV9fQldfXyAwLjAgMC4wDQoraG9zdGIJDQorDQor dGwJICBSUiBsYXRlbmN5DQorbnMxYgkuL3RjcF9yciAtNCAtLW5vbG9nIC1DIDUyMjEgLVAgNTIy Mg0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCAxMjcuMC4wLjEgLUMg NTIyMSAtUCA1MjIyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQor bGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK25zMmIJLi90Y3BfcnIgLTQgLS1ub2xvZyAtQyA1 MjIzIC1QIDUyMjQNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX3JyIC0tbm9sb2cgLWMgLUggMTI3 LjAuMC4xIC1DIDUyMjMgLVAgNTIyNCAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipc KS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0bAkgIENSUiBsYXRlbmN5 DQorbnMxYgkuL3RjcF9jcnIgLTQgLS1ub2xvZyAtQyA1MjIxIC1QIDUyMjINCitzbGVlcAkyDQor aG91dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIDEyNy4wLjAuMSAtQyA1MjIxIC1QIDUyMjIg LWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAx MDAwMDAgMTAwMDAwDQorbnMyYgkuL3RjcF9jcnIgLTQgLS1ub2xvZyAtQyA1MjIzIC1QIDUyMjQN CitzbGVlcAkyDQoraG91dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIDEyNy4wLjAuMSAtQyA1 MjIzIC1QIDUyMjQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCits YXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQordHIJVENQL0lQdjYgdG8gaG9zdA0KK2hvc3Ri CShpcGVyZjMgLXMxSiAtcCA1MjExIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Bl cl9zZWNvbmQiID50MSkgJg0KK2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTIgfCBqcSAtck0gIi5l bmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQyDQorbnMxYglpcGVyZjMgLWMgZmQw MDo6MiAtcCA1MjExIF9fT1BUU19fICYgaXBlcmYzIC1jIGZkMDA6OjIgLXAgNTIxMiBfX09QVFNf Xw0KK3NsZWVwCTEyDQoraG9zdGIJDQoraG91dAlCVyBlY2hvICIkKGNhdCB0MSkgKyAkKGNhdCB0 MikiIHwgYmMgLWwNCitidwlfX0JXX18gMC4wIDAuMA0KK2hvc3RiCShpcGVyZjMgLXMxSiAtcCA1 MjEzIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50MSkgJg0K K2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTQgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJp dHNfcGVyX3NlY29uZCIgPnQyDQorbnMyYglpcGVyZjMgLWMgOjoxIC1wIDUyMTMgX19PUFRTX18g JiBpcGVyZjMgLWMgOjoxIC1wIDUyMTQgX19PUFRTX18NCitzbGVlcAkxMg0KK2hvc3RiCQ0KK2hv dXQJQlcgZWNobyAiJChjYXQgdDEpICsgJChjYXQgdDIpIiB8IGJjIC1sDQorYncJX19CV19fIDAu MCAwLjANCituczFiCQ0KK25zMmIJDQorDQordGwJICBSUiBsYXRlbmN5DQoraG9zdGIJdGNwX3Jy IC02IC0tbm9sb2cgLUMgNTIxMSAtUCA1MjEyDQorc2xlZXAJMg0KK25zMW91dAlMQVQgLi90Y3Bf cnIgLS1ub2xvZyAtYyAtSCBmZDAwOjoyIC1DIDUyMTEgLVAgNTIxMiAtbCA1IHwgc2VkIC1uICdz L150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCito b3N0Ygl0Y3BfcnIgLTYgLS1ub2xvZyAtQyA1MjEzIC1QIDUyMTQNCitzbGVlcAkyDQorbnMyb3V0 CUxBVCAuL3RjcF9yciAtLW5vbG9nIC1jIC1IIDo6MSAtQyA1MjEzIC1QIDUyMTQgLWwgNSB8IHNl ZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAw MDAwDQorDQordGwJICBDUlIgbGF0ZW5jeQ0KK2hvc3RiCXRjcF9jcnIgLTYgLS1ub2xvZyAtQyA1 MjExIC1QIDUyMTINCitzbGVlcAkyDQorbnMxb3V0CUxBVCAuL3RjcF9jcnIgLS1ub2xvZyAtYyAt SCBmZDAwOjoyIC1DIDUyMTEgLVAgNTIxMiAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwo LipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCitob3N0Ygl0Y3BfY3JyIC02 IC0tbm9sb2cgLUMgNTIxMyAtUCA1MjE0DQorc2xlZXAJMg0KK25zMm91dAlMQVQgLi90Y3BfY3Jy IC0tbm9sb2cgLWMgLUggOjoxIC1DIDUyMTMgLVAgNTIxNCAtbCA1IHwgc2VkIC1uICdzL150aHJv dWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0bAlU Q1AvSVB2NCB0byBob3N0DQoraG9zdGIJKGlwZXJmMyAtczFKIC1wIDUyMTEgfCBqcSAtck0gIi5l bmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQxKSAmDQoraG9zdGIJaXBlcmYzIC1z MUogLXAgNTIxMiB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+ dDINCituczFiCWlwZXJmMyAtYyAxMC4wLjIuMiAtcCA1MjExIF9fT1BUU19fICYgaXBlcmYzIC1j IDEwLjAuMi4yIC1wIDUyMTIgX19PUFRTX18NCitzbGVlcAkxMg0KK2hvc3RiCQ0KK2hvdXQJQlcg ZWNobyAiJChjYXQgdDEpICsgJChjYXQgdDIpIiB8IGJjIC1sDQorYncJX19CV19fIDAuMCAwLjAN Citob3N0YgkoaXBlcmYzIC1zMUogLXAgNTIxMyB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2ZWQu Yml0c19wZXJfc2Vjb25kIiA+dDEpICYNCitob3N0YglpcGVyZjMgLXMxSiAtcCA1MjE0IHwganEg LXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50Mg0KK25zMmIJaXBlcmYz IC1jIDEyNy4wLjAuMSAtcCA1MjEzIF9fT1BUU19fICYgaXBlcmYzIC1jIDEyNy4wLjAuMSAtcCA1 MjE0IF9fT1BUU19fDQorc2xlZXAJMTINCitob3N0YgkNCitob3V0CUJXIGVjaG8gIiQoY2F0IHQx KSArICQoY2F0IHQyKSIgfCBiYyAtbA0KK2J3CV9fQldfXyAwLjAgMC4wDQorbnMxYgkNCituczJi CQ0KKw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK2hvc3RiCXRjcF9yciAtNCAtLW5vbG9nIC1DIDUyMTEg LVAgNTIxMg0KK3NsZWVwCTINCituczFvdXQJTEFUIC4vdGNwX3JyIC0tbm9sb2cgLWMgLUggMTAu MC4yLjIgLUMgNTIxMSAtUCA1MjEyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwp L1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK2hvc3RiCXRjcF9yciAtNCAtLW5v bG9nIC1DIDUyMTMgLVAgNTIxNA0KK3NsZWVwCTINCituczJvdXQJTEFUIC4vdGNwX3JyIC0tbm9s b2cgLWMgLUggMTI3LjAuMC4xIC1DIDUyMTMgLVAgNTIxNCAtbCA1IHwgc2VkIC1uICdzL150aHJv dWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0bAkg IENSUiBsYXRlbmN5DQoraG9zdGIJdGNwX2NyciAtNCAtLW5vbG9nIC1DIDUyMTEgLVAgNTIxMg0K K3NsZWVwCTINCituczFvdXQJTEFUIC4vdGNwX2NyciAtLW5vbG9nIC1jIC1IIDEwLjAuMi4yIC1D IDUyMTEgLVAgNTIxMiAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0K K2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCitob3N0Ygl0Y3BfY3JyIC00IC0tbm9sb2cgLUMg NTIxMyAtUCA1MjE0DQorc2xlZXAJMg0KK25zMm91dAlMQVQgLi90Y3BfY3JyIC0tbm9sb2cgLWMg LUggMTI3LjAuMC4xIC1DIDUyMTMgLVAgNTIxNCAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0 PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCitzbGVlcAk1DQor DQorDQordHIJVURQL0lQdjYgdG8gbnMNCituczFiCWlwZXJmMyAtczFKIC1wIDUyMjEgfCBqcSAt ck0gIi5pbnRlcnZhbHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCIgPnQxDQoraG9zdGIJaXBlcmYz IC11IC1jIDo6MSAtcCA1MjIxIC10NSAtYiAzNUcNCitzbGVlcAkxMA0KK25zMW91dAlCVyBjYXQg dDENCitidwlfX0JXX18gMC4wIDAuMA0KK25zMmIJaXBlcmYzIC1zMUogLXAgNTIyNCB8IGpxIC1y TSAiLmludGVydmFsc1swXS5zdW0uYml0c19wZXJfc2Vjb25kIiA+dDENCitob3N0YglpcGVyZjMg LXUgLWMgOjoxIC1wIDUyMjQgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQorbnMyb3V0CUJXIGNhdCB0 MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQorDQordGwJICBSUiBsYXRlbmN5DQorbnMxYgkuL3VkcF9y ciAtNiAtLW5vbG9nIC1DIDUyMjEgLVAgNTIyMg0KK3NsZWVwCTINCitob3V0CUxBVCB1ZHBfcnIg LS1ub2xvZyAtYyAtSCA6OjEgLUMgNTIyMSAtUCA1MjIyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91 Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK25zMmIJLi91 ZHBfcnIgLTYgLS1ub2xvZyAtQyA1MjIzIC1QIDUyMjQNCitzbGVlcAkyDQoraG91dAlMQVQgdWRw X3JyIC0tbm9sb2cgLWMgLUggOjoxIC1DIDUyMjMgLVAgNTIyNCAtbCA1IHwgc2VkIC1uICdzL150 aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0 bAlVRFAvSVB2NCB0byBucw0KK25zMWIJaXBlcmYzIC1zMUogLXAgNTIyMSB8IGpxIC1yTSAiLmlu dGVydmFsc1swXS5zdW0uYml0c19wZXJfc2Vjb25kIiA+dDENCitob3N0YglpcGVyZjMgLXUgLWMg MTI3LjAuMC4xIC1wIDUyMjEgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQorbnMxb3V0CUJXIGNhdCB0 MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQorbnMyYglpcGVyZjMgLXMxSiAtcCA1MjI0IHwganEgLXJN ICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK2hvc3RiCWlwZXJmMyAt dSAtYyAxMjcuMC4wLjEgLXAgNTIyNCAtdDUgLWIgMzVHDQorc2xlZXAJMTANCituczJvdXQJQlcg Y2F0IHQxDQorYncJX19CV19fIDAuMCAwLjANCisNCit0bAkgIFJSIGxhdGVuY3kNCituczFiCS4v dWRwX3JyIC02IC0tbm9sb2cgLUMgNTIyMSAtUCA1MjIyDQorc2xlZXAJMg0KK2hvdXQJTEFUIHVk cF9yciAtLW5vbG9nIC1jIC1IIDEyNy4wLjAuMSAtQyA1MjIxIC1QIDUyMjIgLWwgNSB8IHNlZCAt biAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAw DQorbnMyYgkuL3VkcF9yciAtNiAtLW5vbG9nIC1DIDUyMjMgLVAgNTIyNA0KK3NsZWVwCTINCito b3V0CUxBVCB1ZHBfcnIgLS1ub2xvZyAtYyAtSCAxMjcuMC4wLjEgLUMgNTIyMyAtUCA1MjI0IC1s IDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAw MDAwIDEwMDAwMA0KKw0KK3RyCVVEUC9JUHY2IHRvIGhvc3QNCitob3N0YglpcGVyZjMgLXMxSiAt cCA1MjExIHwganEgLXJNICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Blcl9zZWNvbmQiID50MQ0K K25zMWIJaXBlcmYzIC11IC1jIGZkMDA6OjIgLXAgNTIxMSAtdDUgLWIgMzVHDQorc2xlZXAJMTAN Citob3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQoraG9zdGIJaXBlcmYzIC1zMUog LXAgNTIxNCB8IGpxIC1yTSAiLmludGVydmFsc1swXS5zdW0uYml0c19wZXJfc2Vjb25kIiA+dDEN CituczJiCWlwZXJmMyAtdSAtYyA6OjEgLXAgNTIxNCAtdDUgLWIgMzVHDQorc2xlZXAJMTANCito b3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQorDQordGwJICBSUiBsYXRlbmN5DQor aG9zdGIJdWRwX3JyIC02IC0tbm9sb2cgLUMgNTIxMSAtUCA1MjEyDQorc2xlZXAJMg0KK25zMW91 dAlMQVQgLi91ZHBfcnIgLS1ub2xvZyAtYyAtSCBmZDAwOjoyIC1DIDUyMTEgLVAgNTIxMiAtbCA1 IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAw MCAxMDAwMDANCitob3N0Ygl1ZHBfcnIgLTYgLS1ub2xvZyAtQyA1MjEzIC1QIDUyMTQNCitzbGVl cAkyDQorbnMyb3V0CUxBVCAuL3VkcF9yciAtLW5vbG9nIC1jIC1IIDo6MSAtQyA1MjEzIC1QIDUy MTQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRf XyAxMDAwMDAgMTAwMDAwDQorDQordGwJVURQL0lQdjQgdG8gaG9zdA0KK2hvc3RiCWlwZXJmMyAt czFKIC1wIDUyMTEgfCBqcSAtck0gIi5pbnRlcnZhbHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCIg PnQxDQorbnMxYglpcGVyZjMgLXUgLWMgMTAuMC4yLjIgLXAgNTIxMSAtdDUgLWIgMzVHDQorc2xl ZXAJMTANCitob3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQoraG9zdGIJaXBlcmYz IC1zMUogLXAgNTIxNCB8IGpxIC1yTSAiLmludGVydmFsc1swXS5zdW0uYml0c19wZXJfc2Vjb25k IiA+dDENCituczJiCWlwZXJmMyAtdSAtYyAxMjcuMC4wLjEgLXAgNTIxNCAtdDUgLWIgMzVHDQor c2xlZXAJMTANCitob3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQorDQordGwJICBS UiBsYXRlbmN5DQoraG9zdGIJdWRwX3JyIC02IC0tbm9sb2cgLUMgNTIxMSAtUCA1MjEyDQorc2xl ZXAJMg0KK25zMW91dAlMQVQgLi91ZHBfcnIgLS1ub2xvZyAtYyAtSCAxMC4wLjIuMiAtQyA1MjEx IC1QIDUyMTIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJ X19MQVRfXyAxMDAwMDAgMTAwMDAwDQoraG9zdGIJdWRwX3JyIC02IC0tbm9sb2cgLUMgNTIxMyAt UCA1MjE0DQorc2xlZXAJMg0KK25zMm91dAlMQVQgLi91ZHBfcnIgLS1ub2xvZyAtYyAtSCAxMjcu MC4wLjEgLUMgNTIxMyAtUCA1MjE0IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwp L1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0KKw0KK25sDQorbmwNCitzYXkJ VGhhbmtzIGZvciB3YXRjaGluZyENCitzbGVlcAkxNQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvZGlz dHJvL2RlYmlhbiBiL29sZHRlc3QvZGlzdHJvL2RlYmlhbg0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwLi40MjkxNGY4YQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9k aXN0cm8vZGViaWFuDQpAQCAtMCwwICsxLDI1MiBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0 IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMg UEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5h bWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2Rpc3Ryby9kZWJpYW4gLSBEZWJp YW4gYnVpbGRzLCBnZXQgcGFja2FnZXMgdmlhIHBhc3N0LCB0ZXN0IHBhc3RhDQorIw0KKyMgQ29w eXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8 c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK3NldAlQSURGSUxFIF9fU1RBVEVESVJfXy9wYXNzdC5w aWQNCitodG9vbHMJY2F0IGtpbGwgcWVtdS1zeXN0ZW0teDg2XzY0IHFlbXUtc3lzdGVtLWFhcmNo NjQgcWVtdS1zeXN0ZW0tcHBjNjQNCisNCisjIFF1aWNrIHBhc3RhIHRlc3Q6IHNlbmQgbWVzc2Fn ZSBmcm9tIGluaXQgdG8gbnMsIGFuZCBmcm9tIG5zIHRvIGluaXQNCitkZWYJZGlzdHJvX3F1aWNr X3Bhc3RhX3Rlc3QNCitob3N0CWV4cG9ydCBTSEVMTD0iL2Jpbi9kYXNoIg0KK2hvc3QJZGFzaA0K K2hvc3QJKHNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAwIE9QRU46L3RtcC9pbml0X21zZyxjcmVh dGUsdHJ1bmM7IGVjaG8gImZyb21faW5pdCIgfCBzb2NhdCAtdSBTVERJTiBUQ1A2Ols6OjFdOjk5 OTkpICYNCitob3N0YgkuL3Bhc3RhDQorc2xlZXAJMQ0KK2hvc3QJc29jYXQgLXUgVENQNi1MSVNU RU46OTk5OSBPUEVOOi90bXAvbnNfbXNnLGNyZWF0ZSx0cnVuYyAmDQorc2xlZXAJMg0KK2hvc3QJ ZWNobyAiZnJvbV9ucyIgfCBzb2NhdCAtdSBTVERJTiBUQ1A2Ols6OjFdOjEwMDAwDQorc2xlZXAJ Mg0KK2hvc3QJZWNobw0KK3NsZWVwCTENCitob3V0CU5TX01TRyBjYXQgL3RtcC9uc19tc2cNCitj aGVjawlbIF9fTlNfTVNHX18gPSAiZnJvbV9pbml0IiBdDQoraG9zdGIJZXhpdA0KK2hvc3QJZWNo bw0KK2hvdXQJSU5JVF9NU0cgY2F0IC90bXAvaW5pdF9tc2cNCitjaGVjawlbIF9fSU5JVF9NU0df XyA9ICJmcm9tX25zIiBdDQorZW5kZWYNCisNCisjIFN0YXJ0IHBhc3N0LCBzZXQgY29tbW9uIHZh cmlhYmxlcw0KK2hvc3RiCS4vcGFzc3QgLXMgX19TVEFURURJUl9fL3Bhc3N0LnNvY2tldCAtUCBf X1BJREZJTEVfXyAmDQorc2xlZXAJMQ0KK2hvc3QJZWNobw0KKw0KKw0KK3Rlc3QJRGViaWFuIEdO VS9MaW51eCA4IChqZXNzaWUpLCBhbWQ2NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1N IHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVm YXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSAtZHJpdmUgZmlsZT1fX0JBU0VQ QVRIX18vcHJlcGFyZWQtZGViaWFuLTguMTEuMC1vcGVuc3RhY2stYW1kNjQucWNvdzIsaWY9dmly dGlvIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMw LHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5z b2NrZXQgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CWFwdC1nZXQg dXBkYXRlDQoraG9zdAlhcHQtZ2V0IC15IGluc3RhbGwgbWFrZSBnY2Mgc29jYXQNCisNCitob3N0 CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVy cyAtV25vLW1pc3NpbmctYnJhY2VzIC1Xbm8tdHlwZS1saW1pdHMiIG1ha2UNCisNCisjIFRPRE86 IHBhc3RhIHRlc3Qgc2tpcHBlZCBmb3IgdGhlIG1vbWVudDogY2xvbmUoKSBhcyBjYWxsZWQgYnkg TlNfQ0FMTCBoYW5ncw0KKyMgd2l0aCB3cmFwcGVyIHByb3ZpZGVkIGJ5IGdsaWJjIDIuMTksIHBy b2JhYmx5IHdyb25nIGFyZ3VtZW50IG9yZGVyLg0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorIyBQ SURGSUxFIGlzIGNsZWFuZWQgdXAgd2hlbiB0aGUgbmV4dCB0ZXN0IHN0YXJ0cywgcmVhZCBpdCBu b3cNCitob3V0CVBJRCBjYXQgX19QSURGSUxFX18NCisNCisNCit0ZXN0CURlYmlhbiBHTlUvTGlu dXggOSAoc3RyZXRjaCwgb2xkb2xkc3RhYmxlKSwgYW1kNjQNCisNCitob3N0CXFlbXUtc3lzdGVt LXg4Nl82NCAtTSBwYyxhY2NlbD1rdm06dGNnIC1tIDEwMjQgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0 ZGlvIC1ub2RlZmF1bHRzIC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUgX19CQVNFUEFU SF9fL3ByZXBhcmVkLWRlYmlhbi05LW5vY2xvdWQtYW1kNjQtZGFpbHktMjAyMDAyMTAtMTY2LnFj b3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMw LHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5z b2NrZXQgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CWFwdC1nZXQg dXBkYXRlDQoraG9zdAlhcHQtZ2V0IC15IGluc3RhbGwgbWFrZSBnY2Mgc29jYXQNCisNCitob3N0 CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdlcnJvciIgbWFrZQ0KKw0KK2hvc3QJc3lzY3Rs IC13IGtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPTENCitkaXN0cm9fcXVpY2tfcGFz dGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorDQordGVzdAlEZWJpYW4gR05VL0xpbnV4 IDEwIChidXN0ZXIsIG9sZHN0YWJsZSksIGFtZDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS14ODZf NjQgLU0gcGMsYWNjZWw9a3ZtOnRjZyAtbSAxMDI0IC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAt bm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9fQkFTRVBBVEhfXy9w cmVwYXJlZC1kZWJpYW4tMTAtbm9jbG91ZC1hbWQ2NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQt cGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11 bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJ UFMxPSckICcNCitzbGVlcAkyDQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hvc3QJYXB0LWdldCAt eSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxB R1M9Ii1XZXJyb3IiIG1ha2UNCisNCitob3N0CXN5c2N0bCAtdyBrZXJuZWwudW5wcml2aWxlZ2Vk X3VzZXJuc19jbG9uZT0xDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xl ZXAJMQ0KKw0KKw0KK3Rlc3QJRGViaWFuIEdOVS9MaW51eCAxMCAoYnVzdGVyLCBvbGRzdGFibGUp LCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0 ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9n cmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12 Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtZGViaWFuLTEwLWdlbmVyaWMtYXJtNjQucWNv dzIgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxuZXRkZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAs c2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRyLnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNv Y2tldCAtc25hcHNob3QNCitob3N0CVBTMT0nJCAnDQorc2xlZXAJMg0KK2hvc3QJYXB0LWdldCB1 cGRhdGUNCitob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJ bWFrZSBjbGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQoraG9zdAlzeXNjdGwg LXcga2VybmVsLnVucHJpdmlsZWdlZF91c2VybnNfY2xvbmU9MQ0KK2Rpc3Ryb19xdWlja19wYXN0 YV90ZXN0DQorDQoraGludA0KK3NsZWVwCTENCisNCisNCit0ZXN0CURlYmlhbiBHTlUvTGludXgg MTAgKGJ1c3Rlciwgb2xkc3RhYmxlKSwgcHBjNjRsZQ0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0tcHBj NjQgLW0gMjA0OCAtc21wIDIgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRzIC1u by1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUgX19CQVNFUEFUSF9fL3ByZXBhcmVkLWRlYmlh bi0xMC1nZW5lcmljLXBwYzY0ZWwtMjAyMjA5MTEtMTEzNS5xY293MiAtZGV2aWNlIHZpcnRpby1u ZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlw ZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hv c3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hvc3QJYXB0LWdl dCAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlD RkxBR1M9Ii1XZXJyb3IiIG1ha2UNCisNCitob3N0CXN5c2N0bCAtdyBrZXJuZWwudW5wcml2aWxl Z2VkX3VzZXJuc19jbG9uZT0xDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQor c2xlZXAJMQ0KK2hvc3RiCXJlc2V0DQorDQorDQordGVzdAlEZWJpYW4gR05VL0xpbnV4IDExIChi dWxsc2V5ZSwgc3RhYmxlKSwgYW1kNjQNCisNCitob3N0CXFlbXUtc3lzdGVtLXg4Nl82NCAtTSBw YyxhY2NlbD1rdm06dGNnIC1tIDEwMjQgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1 bHRzIC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUgX19CQVNFUEFUSF9fL3ByZXBhcmVk LWRlYmlhbi0xMS1ub2Nsb3VkLWFtZDY0LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0 ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRk ci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQorc2xlZXAJMg0KK2hv c3QJYXB0LWdldCB1cGRhdGUNCitob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2Nh dA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQor ZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJ RGViaWFuIEdOVS9MaW51eCAxMSAoYnVsbHNleWUsIHN0YWJsZSksIGFhcmNoNjQNCisNCitob3N0 CXFlbXUtc3lzdGVtLWFhcmNoNjQgLW0gMjA0OCAtY3B1IGNvcnRleC1hNTcgLXNtcCAyIC1NIHZp cnQgLWJpb3MgX19CQVNFUEFUSF9fL1FFTVVfRUZJLmZkIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRp byAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9fQkFTRVBBVEhf Xy9wcmVwYXJlZC1kZWJpYW4tMTEtZ2VuZXJpYy1hcm02NC5xY293MiAtZGV2aWNlIHZpcnRpby1u ZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlw ZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK3Ns ZWVwCTINCitob3N0CWFwdC1nZXQgdXBkYXRlDQoraG9zdAlhcHQtZ2V0IC15IGluc3RhbGwgbWFr ZSBnY2Mgc29jYXQNCisNCitob3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdlcnJvciIg bWFrZQ0KKw0KK2Rpc3Ryb19xdWlja19wYXN0YV90ZXN0DQorDQoraGludA0KK3NsZWVwCTENCisN CisNCit0ZXN0CURlYmlhbiBHTlUvTGludXggMTEgKGJ1bGxzZXllLCBzdGFibGUpLCBwcGM2NGxl DQorDQoraG9zdAlxZW11LXN5c3RlbS1wcGM2NCAtbSAyMDQ4IC1zbXAgMiAtbm9ncmFwaGljIC1z ZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBf X0JBU0VQQVRIX18vcHJlcGFyZWQtZGViaWFuLTExLWdlbmVyaWMtcHBjNjRlbC5xY293MiAtZGV2 aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9 b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1z bmFwc2hvdA0KK3NsZWVwCTINCitob3N0CWFwdC1nZXQgdXBkYXRlDQoraG9zdAlhcHQtZ2V0IC15 IGluc3RhbGwgbWFrZSBnY2Mgc29jYXQNCisNCitob3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFH Uz0iLVdlcnJvciIgbWFrZQ0KKw0KK2Rpc3Ryb19xdWlja19wYXN0YV90ZXN0DQorDQoraGludA0K K3NsZWVwCTENCitob3N0YglyZXNldA0KKw0KKw0KKyMgSEFDSzogV2UgbmVlZCBzb21lIGFkZGl0 aW9uYWwgc3BhY2UgdG8gaW5zdGFsbCBnY2MtMTIgb24gJ3NpZCcgaW1hZ2VzIGZvcg0KKyMgYW1k NjQgYW5kIGFhcmNoNjQsIGJ1dCBpZiB3ZSB1c2UgdmlydC1yZXNpemUgdG8gY2FsbCByZXNpemUy ZnMgaW4gdGhlDQorIyBwcmVwYXJhdGlvbiBzdGVwLCBwYXJ0aXRpb25zIHdpbGwgYmUgcmVhcnJh bmdlZCBhbmQgd2Ugd291bGQgYWxzbyBuZWVkIHRvDQorIyBhZGp1c3QgYm9vdCBwYXJhbWV0ZXJz LiBJbnN0ZWFkLCByZXNpemUgdGhlIGltYWdlcyBvZmZsaW5lIGZpcnN0LCBhbmQgZXhwYW5kDQor IyBwYXJ0aXRpb25zIGFuZCBmaWxlc3lzdGVtcyBvbmxpbmUsIGxhdGVyLg0KKw0KK3Rlc3QJRGVi aWFuIEdOVS9MaW51eCBzaWQgKGV4cGVyaW1lbnRhbCksIGFtZDY0DQorDQoraG9zdAlxZW11LWlt ZyByZXNpemUgX19CQVNFUEFUSF9fL3ByZXBhcmVkLWRlYmlhbi1zaWQtbm9jbG91ZC1hbWQ2NC1k YWlseS5xY293MiA0Rw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0 Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9v dCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtZGViaWFuLXNpZC1u b2Nsb3VkLWFtZDY0LWRhaWx5LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMw IC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRo PV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQorc2xlZXAJMg0KK2hvc3QJZ3Jv d3BhcnQgL2Rldi9zZGEgMQ0KK2hvc3QJcmVzaXplMmZzIC1wIC9kZXYvc2RhMQ0KK2hvc3QJZXhw b3J0IERFQklBTl9GUk9OVEVORD1ub25pbnRlcmFjdGl2ZQ0KK2hvc3QJYXB0LWdldCB1cGRhdGUN Citob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBj bGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQorZGlzdHJvX3F1aWNrX3Bhc3Rh X3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRGViaWFuIEdOVS9MaW51eCBz aWQgKGV4cGVyaW1lbnRhbCksIGFhcmNoNjQNCisNCitob3N0CXFlbXUtaW1nIHJlc2l6ZSBfX0JB U0VQQVRIX18vcHJlcGFyZWQtZGViaWFuLXNpZC1ub2Nsb3VkLWFybTY0LWRhaWx5LnFjb3cyIDRH DQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAg MiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9ncmFwaGljIC1zZXJp YWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JB U0VQQVRIX18vcHJlcGFyZWQtZGViaWFuLXNpZC1ub2Nsb3VkLWFybTY0LWRhaWx5LnFjb3cyIC1k ZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZl cj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQg LXNuYXBzaG90DQorc2xlZXAJMg0KK2hvc3QJZ3Jvd3BhcnQgL2Rldi92ZGEgMQ0KK2hvc3QJcmVz aXplMmZzIC1wIC9kZXYvdmRhMQ0KK2hvc3QJZXhwb3J0IERFQklBTl9GUk9OVEVORD1ub25pbnRl cmFjdGl2ZQ0KK2hvc3QJYXB0LWdldCB1cGRhdGUNCitob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBt YWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9y IiBtYWtlDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0K Kw0KKw0KK3Rlc3QJRGViaWFuIEdOVS9MaW51eCBzaWQgKGV4cGVyaW1lbnRhbCksIHBwYzY0bGUN CisNCitob3N0CXFlbXUtc3lzdGVtLXBwYzY0IC1tIDIwNDggLXNtcCAyIC1ub2dyYXBoaWMgLXNl cmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9f QkFTRVBBVEhfXy9wcmVwYXJlZC1kZWJpYW4tc2lkLW5vY2xvdWQtcHBjNjRlbC1kYWlseS5xY293 MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxz ZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29j a2V0IC1zbmFwc2hvdA0KK3NsZWVwCTINCitob3N0CWV4cG9ydCBERUJJQU5fRlJPTlRFTkQ9bm9u aW50ZXJhY3RpdmUNCitob3N0CWFwdC1nZXQgdXBkYXRlDQoraG9zdAlhcHQtZ2V0IC15IGluc3Rh bGwgbWFrZSBnY2Mgc29jYXQNCisNCitob3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdl cnJvciIgbWFrZQ0KKw0KK2Rpc3Ryb19xdWlja19wYXN0YV90ZXN0DQorDQoraGludA0KK3NsZWVw CTENCitob3N0YglyZXNldA0KKw0KKw0KK3NsZWVwCTENCitob3N0CWtpbGwgX19QSURfXw0KZGlm ZiAtLWdpdCBhL29sZHRlc3QvZGlzdHJvL2ZlZG9yYSBiL29sZHRlc3QvZGlzdHJvL2ZlZG9yYQ0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwLi4zMzFmOTBiNw0KLS0tIC9kZXYv bnVsbA0KKysrIGIvb2xkdGVzdC9kaXN0cm8vZmVkb3JhDQpAQCAtMCwwICsxLDM5NiBAQA0KKyMg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAt IFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWlu IHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlv bg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0 L2Rpc3Ryby9mZWRvcmEgLSBGZWRvcmEgYnVpbGRzLCBnZXQgcGFja2FnZXMgdmlhIHBhc3N0LCB0 ZXN0IHBhc3RhDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0 aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK3NldAlQSURGSUxF IF9fU1RBVEVESVJfXy9wYXNzdC5waWQNCitodG9vbHMJY2F0IGtpbGwgcWVtdS1zeXN0ZW0teDg2 XzY0DQorDQorIyBRdWljayBwYXN0YSB0ZXN0OiBzZW5kIG1lc3NhZ2UgZnJvbSBpbml0IHRvIG5z LCBhbmQgZnJvbSBucyB0byBpbml0DQorZGVmCWRpc3Ryb19xdWlja19wYXN0YV90ZXN0DQoraG9z dAkoc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDAsYmluZD1bOjoxXSBPUEVOOi90bXAvaW5pdF9t c2csY3JlYXRlLHRydW5jOyBlY2hvICJmcm9tX2luaXQiIHwgc29jYXQgLXUgU1RESU4gVENQNjpb OjoxXTo5OTk5KSAmDQoraG9zdGIJLi9wYXN0YQ0KK3NsZWVwCTENCitob3N0CVBTMT0nJCAnDQor aG9zdAlzb2NhdCAtdSBUQ1A2LUxJU1RFTjo5OTk5LGJpbmQ9Wzo6MV0gT1BFTjovdG1wL25zX21z ZyxjcmVhdGUsdHJ1bmMgJg0KK3NsZWVwCTINCitob3N0CWVjaG8gImZyb21fbnMiIHwgc29jYXQg LXUgU1RESU4gVENQNjpbOjoxXToxMDAwMA0KK3NsZWVwCTINCitob3N0CWVjaG8NCitzbGVlcAkx DQoraG91dAlOU19NU0cgY2F0IC90bXAvbnNfbXNnDQorY2hlY2sJWyBfX05TX01TR19fID0gImZy b21faW5pdCIgXQ0KK2hvc3RiCWV4aXQNCitob3N0CWVjaG8NCitob3V0CUlOSVRfTVNHIGNhdCAv dG1wL2luaXRfbXNnDQorY2hlY2sJWyBfX0lOSVRfTVNHX18gPSAiZnJvbV9ucyIgXQ0KK2VuZGVm DQorDQorIyBCcmFja2V0ZWQgcGFzdGUgbW9kZSBvZmYsIG5lZWRlZCBmcm9tIEZlZG9yYSAzNA0K K2RlZglkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdF9mZWRvcmEzNA0KK2hvc3QJYmluZCAnc2V0IGVu YWJsZS1icmFja2V0ZWQtcGFzdGUgb2ZmJw0KK2hvc3QJKHNvY2F0IC11IFRDUDYtTElTVEVOOjEw MDAwLGJpbmQ9Wzo6MV0gT1BFTjovdG1wL2luaXRfbXNnLGNyZWF0ZSx0cnVuYzsgZWNobyAiZnJv bV9pbml0IiB8IHNvY2F0IC11IFNURElOIFRDUDY6Wzo6MV06OTk5OSkgJg0KK2hvc3RiCS4vcGFz dGENCitzbGVlcAkxDQoraG9zdAlQUzE9JyQgJw0KK2hvc3QJYmluZCAnc2V0IGVuYWJsZS1icmFj a2V0ZWQtcGFzdGUgb2ZmJw0KK2hvc3QJc29jYXQgLXUgVENQNi1MSVNURU46OTk5OSxiaW5kPVs6 OjFdIE9QRU46L3RtcC9uc19tc2csY3JlYXRlLHRydW5jICYNCitzbGVlcAkyDQoraG9zdAllY2hv ICJmcm9tX25zIiB8IHNvY2F0IC11IFNURElOIFRDUDY6Wzo6MV06MTAwMDANCitzbGVlcAkyDQor aG9zdAllY2hvDQoraG91dAlOU19NU0cgY2F0IC90bXAvbnNfbXNnDQorY2hlY2sJWyBfX05TX01T R19fID0gImZyb21faW5pdCIgXQ0KK2hvc3RiCWV4aXQNCitob3N0CWVjaG8NCitob3V0CUlOSVRf TVNHIGNhdCAvdG1wL2luaXRfbXNnDQorY2hlY2sJWyBfX0lOSVRfTVNHX18gPSAiZnJvbV9ucyIg XQ0KK2VuZGVmDQorDQorIyBTdGFydCBwYXNzdCwgc2V0IGNvbW1vbiB2YXJpYWJsZXMNCitob3N0 YgkuL3Bhc3N0IC1zIF9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLVAgX19QSURGSUxFX18gJg0K K3NsZWVwCTENCitob3N0CWVjaG8NCisNCit0ZXN0CUZlZG9yYSAyNiwgeDg2XzY0DQorDQoraG9z dAlxZW11LXN5c3RlbS14ODZfNjQgLU0gcGMsYWNjZWw9a3ZtOnRjZyAtbSAxMDI0IC1ub2dyYXBo aWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBu b25lIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0yNi0xLjUueDg2XzY0 LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlk PXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNz dC5zb2NrZXQgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAt eSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQg Q0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0N CisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorIyBQ SURGSUxFIGlzIGNsZWFuZWQgdXAgd2hlbiB0aGUgbmV4dCB0ZXN0IHN0YXJ0cywgcmVhZCBpdCBu b3cNCitob3V0CVBJRCBjYXQgX19QSURGSUxFX18NCisNCisNCit0ZXN0CUZlZG9yYSAyNywgeDg2 XzY0DQorDQoraG9zdAlxZW11LXN5c3RlbS14ODZfNjQgLU0gcGMsYWNjZWw9a3ZtOnRjZyAtbSAx MDI0IC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dy YXBoaWMgLXZnYSBub25lIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0y Ny0xLjYueDg2XzY0LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRk ZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RB VEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTIN Citob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFu DQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JF VF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVl cAkxDQorDQorDQordGVzdAlGZWRvcmEgMjgsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0t eDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3Rk aW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRI X18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJhc2UtMjgtMS4xLng4Nl82NC5xY293MiAtZGV2aWNl IHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2Zm LGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFw c2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtl IGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJv ciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1 aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDI4 LCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0 ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9k ZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9w cmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0yOC0xLjEuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZp cnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFk ZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2Ug dmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0 CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91 dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1l cSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQor aG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQorDQordGVzdAlGZWRvcmEgMjks IHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cg LW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAt bm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJh c2UtMjktMS4yLng4Nl82NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAt bmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1f X1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVl cAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBj bGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsg X19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQor c2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDI5LCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5 c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9z IF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9u ZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0y OS0xLjIuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0 ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NU QVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQor aG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNv Y2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtl OyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFz dGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9z dAllY2hvDQorDQorDQordGVzdAlGZWRvcmEgMzAsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0 ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwg c3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQ QVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJhc2UtMzAtMS4yLng4Nl82NC5xY293MiAtZGV2 aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9 b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1z bmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBt YWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdl cnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJv X3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3Jh IDMwLCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBj b3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAt bm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhf Xy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0zMC0xLjIuYWFyY2g2NC5xY293MiAtZGV2aWNl IHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2Zm LGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZp Y2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCito b3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQor aG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9f IC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkx DQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQorDQordGVzdAlGZWRvcmEg MzEsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0 Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9v dCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3Vk LUJhc2UtMzEtMS45Lng4Nl82NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1z MCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0 aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitz bGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFr ZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNr CVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50 DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDMxLCBhYXJjaDY0DQorDQoraG9zdAlxZW11 LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1i aW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Eg bm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFz ZS0zMS0xLjkuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAt bmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1f X1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90 DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2Nj IHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBt YWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tf cGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQor aG9zdAllY2hvDQorDQorDQordGVzdAlGZWRvcmEgMzIsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1z eXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJp YWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JB U0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJhc2UtMzItMS42Lng4Nl82NC5xY293MiAt ZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2 ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0 IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFs bCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0i LVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlz dHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVk b3JhIDMyLCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNw dSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5m ZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBB VEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0zMi0xLjYuYWFyY2g2NC5xY293MiAtZGV2 aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9 b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1k ZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTIN Citob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFu DQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JF VF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVl cAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQorDQordGVzdAlGZWRv cmEgMzMsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2 bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJl Ym9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNs b3VkLUJhc2UtMzMtMS4yLng4Nl82NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRl dj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIu cGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcN CitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJ bWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2No ZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCito aW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDMzLCBhYXJjaDY0DQorDQoraG9zdAlx ZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0 IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12 Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQt QmFzZS0zMy0xLjIuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1z MCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0 aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBz aG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2Ug Z2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9y IiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVp Y2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkx DQoraG9zdAllY2hvDQorDQorDQordGVzdAlGZWRvcmEgMzQsIHg4Nl82NA0KKw0KK2hvc3QJcWVt dS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1z ZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBf X0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJhc2UtMzQtMS4yLng4Nl82NC5xY293 MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxz ZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29j a2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5z dGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFH Uz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQor ZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3RfZmVkb3JhMzQNCisNCitoaW50DQorc2xlZXAJMQ0KKw0K Kw0KK3Rlc3QJRmVkb3JhIDM0LCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0 IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhf Xy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0 ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0zNC0xLjIuYWFyY2g2 NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxp ZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFz c3Quc29ja2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQg Jw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9z dAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQor Y2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdF9mZWRv cmEzNA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAll Y2hvDQorDQorDQordGVzdAlGZWRvcmEgMzUsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0t eDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3Rk aW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRI X18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJhc2UtMzUtMS4yLng4Nl82NC5xY293MiAtZGV2aWNl IHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2Zm LGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFw c2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtl IGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJv ciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1 aWNrX3Bhc3RhX3Rlc3RfZmVkb3JhMzQNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJ RmVkb3JhIDM1LCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDgg LWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VG SS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFT RVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0zNS0xLjIuYWFyY2g2NC5xY293MiAt ZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2 ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0 IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVw CTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNs ZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBf X1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdF9mZWRvcmEzNA0KKw0K K2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQor DQoraG9zdAlraWxsIF9fUElEX18NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2Rpc3Ryby9vcGVuc3Vz ZSBiL29sZHRlc3QvZGlzdHJvL29wZW5zdXNlDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXgg MDAwMDAwMDAuLmVhYjcyMmI0DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2Rpc3Ryby9v cGVuc3VzZQ0KQEAgLTAsMCArMSwyMDggQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFu c3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RB IC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3Bh Y2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9kaXN0cm8vb3BlbnN1c2UgLSBPcGVuU1VT RSBidWlsZHMsIGdldCBwYWNrYWdlcyB2aWEgcGFzc3QsIHRlc3QgcGFzdGENCisjDQorIyBDb3B5 cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxz YnJpdmlvQHJlZGhhdC5jb20+DQorDQorc2V0CVBJREZJTEUgX19TVEFURURJUl9fL3Bhc3N0LnBp ZA0KK2h0b29scwlxZW11LWltZyB2aXJ0LWVkaXQgZ3Vlc3RmaXNoIGhlYWQgc2VkIGNhdCBraWxs IHFlbXUtc3lzdGVtLXg4Nl82NCBxZW11LXN5c3RlbS1hYXJjaDY0IHh6Y2F0IHRyDQorDQorIyBR dWljayBwYXN0YSB0ZXN0OiBzZW5kIG1lc3NhZ2UgZnJvbSBpbml0IHRvIG5zLCBhbmQgZnJvbSBu cyB0byBpbml0DQorZGVmCWRpc3Ryb19xdWlja19wYXN0YV90ZXN0DQoraG9zdAkoc29jYXQgLXUg VENQNi1MSVNURU46MTAwMDAgT1BFTjovdG1wL2luaXRfbXNnLGNyZWF0ZSx0cnVuYzsgZWNobyAi ZnJvbV9pbml0IiB8IHNvY2F0IC11IFNURElOIFRDUDY6Wzo6MV06OTk5OSkgJg0KK2hvc3RiCS4v cGFzdGENCitzbGVlcAkxDQoraG9zdAlQUzE9JyQgJw0KK2hvc3QJc29jYXQgLXUgVENQNi1MSVNU RU46OTk5OSBPUEVOOi90bXAvbnNfbXNnLGNyZWF0ZSx0cnVuYyAmDQorc2xlZXAJMg0KK2hvc3QJ ZWNobyAiZnJvbV9ucyIgfCBzb2NhdCAtdSBTVERJTiBUQ1A2Ols6OjFdOjEwMDAwDQorc2xlZXAJ Mg0KK2hvc3QJZWNobw0KK3NsZWVwCTENCitob3V0CU5TX01TRyBjYXQgL3RtcC9uc19tc2cNCitj aGVjawlbIF9fTlNfTVNHX18gPSAiZnJvbV9pbml0IiBdDQoraG9zdGIJZXhpdA0KK2hvc3QJZWNo bw0KK2hvdXQJSU5JVF9NU0cgY2F0IC90bXAvaW5pdF9tc2cNCitjaGVjawlbIF9fSU5JVF9NU0df XyA9ICJmcm9tX25zIiBdDQorZW5kZWYNCisNCisjIFN0YXJ0IHBhc3N0LCBzZXQgY29tbW9uIHZh cmlhYmxlcw0KK2hvc3RiCS4vcGFzc3QgLXMgX19TVEFURURJUl9fL3Bhc3N0LnNvY2tldCAtUCBf X1BJREZJTEVfXyAmDQorc2xlZXAJMQ0KK2hvc3QJZWNobw0KK2hvdXQJRE5TNiBzZWQgLW4gJ3Mv Xm5hbWVzZXJ2ZXIgXChbXjpdKjpcKVwoW14lXSpcKS4qL1wxXDIvcCcgL2V0Yy9yZXNvbHYuY29u ZiB8IGhlYWQgLTENCitob3V0CUdVRVNUX0ZJTEVTIGxzIC0xICouYyAqLmggKi5zaCBwYXNzdC4x IHFyYXAuMSBNYWtlZmlsZSBSRUFETUUubWQgfCB0ciAnXG4nICcgJzsgZWNobw0KKw0KKw0KK3Rl c3QJT3BlblNVU0UgTGVhcCAxNS4xDQorDQorc2V0CUlNRyBfX1NUQVRFRElSX18vb3BlbnN1c2Ut MTUuMS14ODZfNjQuaW1nDQoraG9zdAlxZW11LWltZyBjcmVhdGUgLWYgcWNvdzIgLUYgcWNvdzIg LWIgX19CQVNFUEFUSF9fL29wZW5TVVNFLUxlYXAtMTUuMS1KZU9TLng4Nl82NC1rdm0tYW5kLXhl bi5xY293MiBfX0lNR19fDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtICcv dXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9zeXN0ZW1kLWpvdXJuYWxkLnNlcnZpY2UnDQoraG9zdAln dWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvc3lzdGVtZC9zeXN0ZW0vZGVmYXVs dC50YXJnZXQud2FudHMvamVvcy1maXJzdGJvb3Quc2VydmljZQ0KK2hvc3QJdmlydC1lZGl0IC1h IF9fSU1HX18gL2V0Yy9zeXN0ZW1kL3N5c3RlbS9nZXR0eS50YXJnZXQud2FudHMvZ2V0dHlAdHR5 MS5zZXJ2aWNlIC1lICdzL0V4ZWNTdGFydD0uKi9FeGVjU3RhcnQ9XC9zYmluXC9hZ2V0dHkgLS10 aW1lb3V0IDUwMDAgLS1hdXRvbG9naW4gcm9vdCAtaSAtOCAtLWtlZXAtYmF1ZCAxMTUyMDAsMzg0 MDAsOTYwMCB0dHlTMCAkVEVSTS9nJw0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAt aSBjb3B5LWluIF9fR1VFU1RfRklMRVNfXyAvcm9vdC8NCisNCitob3N0CXFlbXUtc3lzdGVtLXg4 Nl82NCAtTSBwYyxhY2NlbD1rdm06dGNnIC1tIDEwMjQgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlv IC1ub2RlZmF1bHRzIC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUgX19JTUdfXyAtZGV2 aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9 b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0DQor aG9zdAlQUzE9JyQgJw0KK2hvc3QJaXAgbGluayBzZXQgZXRoMCB1cA0KK3NsZWVwCTINCitob3N0 CWVjaG8gIkROU1NFUlZFUlM9J19fRE5TNl9fJyIgfCBuZXRjb25maWcgbW9kaWZ5IC1zIGRuc19y ZXNvbHZlciAtaSBldGgwDQorIyB6eXBwZXIgc29tZXRpbWVzIHNlZ2ZhdWx0cywgaGVuY2UgdGhl IHJldHJpZXMNCitob3N0CWZvciBpIGluICQoc2VxIDEgMTApOyBkbyB6eXBwZXIgaW5zdGFsbCAt eSBnY2MgbWFrZSBzb2NhdCAmJiBicmVhazsgZG9uZTsgZWNobw0KKw0KK2hvc3QJbWFrZSBjbGVh bg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rl c3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKyMgUElERklMRSBpcyBjbGVhbmVkIHVwIHdoZW4g dGhlIG5leHQgdGVzdCBzdGFydHMsIHJlYWQgaXQgbm93DQoraG91dAlQSUQgY2F0IF9fUElERklM RV9fDQorDQorDQordGVzdAlPcGVuU1VTRSBMZWFwIDE1LjINCisNCitzZXQJSU1HIF9fU1RBVEVE SVJfXy9vcGVuc3VzZS0xNS4yLXg4Nl82NC5pbWcNCitob3N0CXFlbXUtaW1nIGNyZWF0ZSAtZiBx Y293MiAtRiBxY293MiAtYiBfX0JBU0VQQVRIX18vb3BlblNVU0UtTGVhcC0xNS4yLUplT1MueDg2 XzY0LWt2bS1hbmQteGVuLnFjb3cyIF9fSU1HX18NCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9f SU1HX18gLWkgcm0gJy91c3IvbGliL3N5c3RlbWQvc3lzdGVtL3N5c3RlbWQtam91cm5hbGQuc2Vy dmljZScNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9zeXN0ZW1k L3N5c3RlbS9kZWZhdWx0LnRhcmdldC53YW50cy9qZW9zLWZpcnN0Ym9vdC5zZXJ2aWNlDQoraG9z dAl2aXJ0LWVkaXQgLWEgX19JTUdfXyAvZXRjL3N5c3RlbWQvc3lzdGVtL2dldHR5LnRhcmdldC53 YW50cy9nZXR0eUB0dHkxLnNlcnZpY2UgLWUgJ3MvRXhlY1N0YXJ0PS4qL0V4ZWNTdGFydD1cL3Ni aW5cL2FnZXR0eSAtLXRpbWVvdXQgNTAwMCAtLWF1dG9sb2dpbiByb290IC1pIC04IC0ta2VlcC1i YXVkIDExNTIwMCwzODQwMCw5NjAwIHR0eVMwICRURVJNL2cnDQoraG9zdAlndWVzdGZpc2ggLS1y dyAtYSBfX0lNR19fIC1pIGNvcHktaW4gX19HVUVTVF9GSUxFU19fIC9yb290Lw0KKw0KK2hvc3QJ cWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGlj IC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9u ZSBfX0lNR19fIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFt LGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9w YXNzdC5zb2NrZXQNCitob3N0CVBTMT0nJCAnDQoraG9zdAlpcCBsaW5rIHNldCBldGgwIHVwDQor c2xlZXAJMg0KK2hvc3QJZWNobyAiRE5TU0VSVkVSUz0nX19ETlM2X18nIiB8IG5ldGNvbmZpZyBt b2RpZnkgLXMgZG5zX3Jlc29sdmVyIC1pIGV0aDANCisjIHp5cHBlciBzb21ldGltZXMgc2VnZmF1 bHRzLCBoZW5jZSB0aGUgcmV0cmllcw0KK2hvc3QJZm9yIGkgaW4gJChzZXEgMSAxMCk7IGRvIHp5 cHBlciBpbnN0YWxsIC15IGdjYyBtYWtlIHNvY2F0ICYmIGJyZWFrOyBkb25lOyBlY2hvDQorDQor aG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxBR1M9Ii1XZXJyb3IiIG1ha2UNCisNCitkaXN0cm9f cXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorDQordGVzdAlPcGVuU1VT RSBMZWFwIDE1LjMNCisNCitzZXQJSU1HIF9fU1RBVEVESVJfXy9vcGVuc3VzZS0xNS4zLXg4Nl82 NC5pbWcNCitob3N0CXFlbXUtaW1nIGNyZWF0ZSAtZiBxY293MiAtRiBxY293MiAtYiBfX0JBU0VQ QVRIX18vb3BlblNVU0UtTGVhcC0xNS4zLUplT1MueDg2XzY0LWt2bS1hbmQteGVuLnFjb3cyIF9f SU1HX18NCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gJy91c3IvbGliL3N5 c3RlbWQvc3lzdGVtL3N5c3RlbWQtam91cm5hbGQuc2VydmljZScNCitob3N0CWd1ZXN0ZmlzaCAt LXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9zeXN0ZW1kL3N5c3RlbS9kZWZhdWx0LnRhcmdldC53 YW50cy9qZW9zLWZpcnN0Ym9vdC5zZXJ2aWNlDQoraG9zdAl2aXJ0LWVkaXQgLWEgX19JTUdfXyAv ZXRjL3N5c3RlbWQvc3lzdGVtL2dldHR5LnRhcmdldC53YW50cy9nZXR0eUB0dHkxLnNlcnZpY2Ug LWUgJ3MvRXhlY1N0YXJ0PS4qL0V4ZWNTdGFydD1cL3NiaW5cL2FnZXR0eSAtLXRpbWVvdXQgNTAw MCAtLWF1dG9sb2dpbiByb290IC1pIC04IC0ta2VlcC1iYXVkIDExNTIwMCwzODQwMCw5NjAwIHR0 eVMwICRURVJNL2cnDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIGNvcHktaW4g X19HVUVTVF9GSUxFU19fIC9yb290Lw0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBj LGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVs dHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0lNR19fIC1kZXZpY2UgdmlydGlv LW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50 eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQNCisjIE11bHRpcGxl IHByb21wdCBsb2dpbnMgbWlnaHQgY29tZSB1cCBoZXJlDQorc2xlZXAJMTANCitob3N0CVBTMT0n JCAnDQoraG9zdAlpcCBsaW5rIHNldCBldGgwIHVwDQorc2xlZXAJMg0KK2hvc3QJZWNobyAiRE5T U0VSVkVSUz0nX19ETlM2X18nIiB8IG5ldGNvbmZpZyBtb2RpZnkgLXMgZG5zX3Jlc29sdmVyIC1p IGV0aDANCisjIHp5cHBlciBzb21ldGltZXMgc2VnZmF1bHRzLCBoZW5jZSB0aGUgcmV0cmllcw0K K2hvc3QJZm9yIGkgaW4gJChzZXEgMSAxMCk7IGRvIHp5cHBlciBpbnN0YWxsIC15IGdjYyBtYWtl IHNvY2F0ICYmIGJyZWFrOyBkb25lOyBlY2hvDQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlD RkxBR1M9Ii1XZXJyb3IiIG1ha2UNCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hp bnQNCitzbGVlcAkxDQorDQorDQordGVzdAlPcGVuU1VTRSBUdW1ibGV3ZWVkIGFhcmNoNjQNCisN CitzZXQJSU1HIF9fU1RBVEVESVJfXy9vcGVuc3VzZS10dW1ibGV3ZWVkLWFhcmNoNjQuaW1nDQor aG9zdAl4emNhdCBfX0JBU0VQQVRIX18vb3BlblNVU0UtVHVtYmxld2VlZC1BUk0tSmVPUy1lZmku YWFyY2g2NC5yYXcueHogPiBfX0lNR19fDQoraG9zdAl2aXJ0LWVkaXQgLWEgX19JTUdfXyAtbSAv ZGV2L3NkYTMgL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vc2VyaWFsLWdldHR5QC5zZXJ2aWNlIC1l ICdzL0V4ZWNTdGFydD0uKi9FeGVjU3RhcnQ9XC9zYmluXC9hZ2V0dHkgLS10aW1lb3V0IDUwMDAg LS1hdXRvbG9naW4gcm9vdCAtaSAtOCAtLWtlZXAtYmF1ZCAxMTUyMDAsMzg0MDAsOTYwMCAlSSAk VEVSTS9nJw0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBjb3B5LWluIF9fR1VF U1RfRklMRVNfXyAvcm9vdC8NCisNCitob3N0CXFlbXUtc3lzdGVtLWFhcmNoNjQgLW0gMjA0OCAt Y3B1IGNvcnRleC1hNTcgLXNtcCAyIC1NIHZpcnQgLWJpb3MgX19CQVNFUEFUSF9fL1FFTVVfRUZJ LmZkIC1ub2RlZmF1bHRzIC1ub2dyYXBoaWMgLXZnYSBub25lIC1zZXJpYWwgc3RkaW8gX19JTUdf XyAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxz ZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29j a2V0DQoraG9zdAlQUzE9JyQgJw0KK2hvc3QJaXAgbGluayBzZXQgZW5wMHMxIHVwDQorc2xlZXAJ MTANCitob3N0CWVjaG8gIkROU1NFUlZFUlM9J19fRE5TNl9fJyIgfCBuZXRjb25maWcgbW9kaWZ5 IC1zIGRuc19yZXNvbHZlciAtaSBlbnAwczENCitzbGVlcAkxMA0KKyMgTm8gc2VnZmF1bHRzIGV2 ZXIgc2VlbiB3aXRoIHRoaXMNCitob3N0CXp5cHBlciBpbnN0YWxsIC15IGdjYyBtYWtlIHNvY2F0 OyBlY2hvDQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxBR1M9Ii1XZXJyb3IiIG1ha2UN CisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorDQor dGVzdAlPcGVuU1VTRSBUdW1ibGV3ZWVkIGFybXY3bA0KKw0KK3NldAlJTUcgX19TVEFURURJUl9f L29wZW5zdXNlLXR1bWJsZXdlZWQtYXJtdjdsLmltZw0KK3NldAlaSU1BR0UgX19TVEFURURJUl9f L29wZW5zdXNlLXR1bWJsZXdlZWQtYXJtdjdsLnppbWFnZQ0KK3NldAlJTklUUkQgX19TVEFURURJ Ul9fL29wZW5zdXNlLXR1bWJsZXdlZWQtYXJtdjdsLmluaXRyZA0KK2hvc3QJeHpjYXQgX19CQVNF UEFUSF9fL29wZW5TVVNFLVR1bWJsZXdlZWQtQVJNLUplT1MtZWZpLmFybXY3bC5yYXcueHogPiBf X0lNR19fDQoraG9zdAlndWVzdGZpc2ggLWEgX19JTUdfXyAtaSBkb3dubG9hZCAvYm9vdC96SW1h Z2UgX19aSU1BR0VfXw0KK2hvc3QJZ3Vlc3RmaXNoIC1hIF9fSU1HX18gLWkgZG93bmxvYWQgL2Jv b3QvaW5pdHJkIF9fSU5JVFJEX18NCitob3N0CXZpcnQtZWRpdCAtYSBfX0lNR19fIC1tIC9kZXYv c2RhMyAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9zZXJpYWwtZ2V0dHlALnNlcnZpY2UgLWUgJ3Mv RXhlY1N0YXJ0PS4qL0V4ZWNTdGFydD1cL3NiaW5cL2FnZXR0eSAtLXRpbWVvdXQgNTAwMCAtLWF1 dG9sb2dpbiByb290IC1pIC04IC0ta2VlcC1iYXVkIDExNTIwMCwzODQwMCw5NjAwICVJICRURVJN L2cnDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIGNvcHktaW4gX19HVUVTVF9G SUxFU19fIC9yb290Lw0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0tYXJtIC1NIHZpcnQgLW0gMTAyNCAt bm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGlj IC12Z2Egbm9uZSAta2VybmVsIF9fWklNQUdFX18gLWluaXRyZCBfX0lOSVRSRF9fIC1hcHBlbmQg J3Jvb3Q9L2Rldi9zZGEzJyAtZHJpdmUgaWY9bm9uZSxmaWxlPV9fSU1HX18sZm9ybWF0PXJhdyxp ZD1oZCxtZWRpYT1kaXNrIC1kZXZpY2UgdmlydGlvLXNjc2ktZGV2aWNlIC1kZXZpY2Ugc2NzaS1o ZCxkcml2ZT1oZCAtbmV0ZGV2IHNvY2tldCxmZD01LGlkPXBhc3N0IC1kZXZpY2UgdmlydGlvLW5l dC1kZXZpY2UsbmV0ZGV2PXBhc3N0DQoraG9zdAlQUzE9JyQgJw0KK2hvc3QJaXAgbGluayBzZXQg ZXRoMCB1cA0KK3NsZWVwCTEwDQoraG9zdAllY2hvICJETlNTRVJWRVJTPSdfX0ROUzZfXyciIHwg bmV0Y29uZmlnIG1vZGlmeSAtcyBkbnNfcmVzb2x2ZXIgLWkgZXRoMA0KK3NsZWVwCTEwDQoraG9z dAl6eXBwZXIgaW5zdGFsbCAteSBnY2MgbWFrZSBzb2NhdDsgZWNobw0KKw0KK2hvc3QJbWFrZSBj bGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQorZGlzdHJvX3F1aWNrX3Bhc3Rh X3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJT3BlblNVU0UgVHVtYmxld2Vl ZA0KKw0KK3NldAlJTUcgX19TVEFURURJUl9fL29wZW5zdXNlLXR1bWJsZXdlZWQteDg2XzY0Lmlt Zw0KK2hvc3QJcWVtdS1pbWcgY3JlYXRlIC1mIHFjb3cyIC1GIHFjb3cyIC1iIF9fQkFTRVBBVEhf Xy9vcGVuU1VTRS1UdW1ibGV3ZWVkLUplT1MueDg2XzY0LWt2bS1hbmQteGVuLnFjb3cyIF9fSU1H X18NCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL3Vzci9saWIvc3lzdGVt ZC9zeXN0ZW0vc3lzdGVtZC1qb3VybmFsZC5zZXJ2aWNlDQoraG9zdAlndWVzdGZpc2ggLS1ydyAt YSBfX0lNR19fIC1pIHJtIC9ldGMvc3lzdGVtZC9zeXN0ZW0vZGVmYXVsdC50YXJnZXQud2FudHMv amVvcy1maXJzdGJvb3Quc2VydmljZQ0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAt aSBybSAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9zZXJpYWwtZ2V0dHlALnNlcnZpY2UNCitob3N0 CXZpcnQtZWRpdCAtYSBfX0lNR19fIC9ldGMvc3lzdGVtZC9zeXN0ZW0vZ2V0dHkudGFyZ2V0Lndh bnRzL2dldHR5QHR0eTEuc2VydmljZSAtZSAncy9FeGVjU3RhcnQ9LiovRXhlY1N0YXJ0PVwvc2Jp blwvYWdldHR5IC0tdGltZW91dCA1MDAwIC0tYXV0b2xvZ2luIHJvb3QgLWkgLTggLS1rZWVwLWJh dWQgMTE1MjAwLDM4NDAwLDk2MDAgdHR5UzAgJFRFUk0vZycNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3 IC1hIF9fSU1HX18gLWkgY29weS1pbiBfX0dVRVNUX0ZJTEVTX18gL3Jvb3QvDQorDQoraG9zdAlx ZW11LXN5c3RlbS14ODZfNjQgLU0gcGMsYWNjZWw9a3ZtOnRjZyAtbSAxMDI0IC1ub2dyYXBoaWMg LXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25l IF9fSU1HX18gLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxuZXRkZXY9czAgLW5ldGRldiBzdHJlYW0s aWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRyLnBhdGg9X19TVEFURURJUl9fL3Bh c3N0LnNvY2tldA0KK2hvc3QJUFMxPSckICcNCitob3N0CWlwIGxpbmsgc2V0IGVuczIgdXANCitz bGVlcAkyDQoraG9zdAllY2hvICJETlNTRVJWRVJTPSdfX0ROUzZfXyciIHwgbmV0Y29uZmlnIG1v ZGlmeSAtcyBkbnNfcmVzb2x2ZXIgLWkgZW5zMg0KKyMgenlwcGVyIHNvbWV0aW1lcyBzZWdmYXVs dHMsIGhlbmNlIHRoZSByZXRyaWVzDQoraG9zdAlmb3IgaSBpbiAkKHNlcSAxIDEwKTsgZG8genlw cGVyIGluc3RhbGwgLXkgZ2NjIG1ha2Ugc29jYXQgJiYgYnJlYWs7IGRvbmU7IGVjaG8NCisNCito b3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdlcnJvciIgbWFrZQ0KKw0KK2Rpc3Ryb19x dWlja19wYXN0YV90ZXN0DQorDQoraGludA0KK3NsZWVwCTENCisNCisNCitob3N0CWtpbGwgX19Q SURfXw0KZGlmZiAtLWdpdCBhL29sZHRlc3QvZGlzdHJvL3VidW50dSBiL29sZHRlc3QvZGlzdHJv L3VidW50dQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwLi44NzUwNDU1Mg0K LS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9kaXN0cm8vdWJ1bnR1DQpAQCAtMCwwICsxLDIx NiBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQor IyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VO SVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBB YnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisj DQorIyB0ZXN0L2Rpc3Ryby91YnVudHUgLSBVYnVudHUgYnVpbGRzLCBnZXQgcGFja2FnZXMgdmlh IHBhc3N0LCB0ZXN0IHBhc3RhDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21i SA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK3Nl dAlQSURGSUxFIF9fU1RBVEVESVJfXy9wYXNzdC5waWQNCitodG9vbHMJcWVtdS1pbWcgdmlydC1l ZGl0IGd1ZXN0ZmlzaCBjYXQga2lsbCBxZW11LXN5c3RlbS14ODZfNjQgcWVtdS1zeXN0ZW0tcHBj NjQgcWVtdS1zeXN0ZW0tczM5MHgNCisNCisjIFF1aWNrIHBhc3RhIHRlc3Q6IHNlbmQgbWVzc2Fn ZSBmcm9tIGluaXQgdG8gbnMsIGFuZCBmcm9tIG5zIHRvIGluaXQNCitkZWYJZGlzdHJvX3F1aWNr X3Bhc3RhX3Rlc3QNCitob3N0CShzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMCBPUEVOOi90bXAv aW5pdF9tc2csY3JlYXRlLHRydW5jOyBlY2hvICJmcm9tX2luaXQiIHwgc29jYXQgLXUgU1RESU4g VENQNjpbOjoxXTo5OTk5KSAmDQoraG9zdGIJLi9wYXN0YQ0KK3NsZWVwCTENCitob3N0CVBTMT0n JCAnDQoraG9zdAlzb2NhdCAtdSBUQ1A2LUxJU1RFTjo5OTk5IE9QRU46L3RtcC9uc19tc2csY3Jl YXRlLHRydW5jICYNCitzbGVlcAkyDQoraG9zdAllY2hvICJmcm9tX25zIiB8IHNvY2F0IC11IFNU RElOIFRDUDY6Wzo6MV06MTAwMDANCitzbGVlcAkyDQoraG9zdAllY2hvDQorc2xlZXAJMQ0KK2hv dXQJTlNfTVNHIGNhdCAvdG1wL25zX21zZw0KK2NoZWNrCVsgX19OU19NU0dfXyA9ICJmcm9tX2lu aXQiIF0NCitob3N0YglleGl0DQoraG9zdAllY2hvDQoraG91dAlJTklUX01TRyBjYXQgL3RtcC9p bml0X21zZw0KK2NoZWNrCVsgX19JTklUX01TR19fID0gImZyb21fbnMiIF0NCitlbmRlZg0KKw0K KyMgUXVpY2sgcGFzdGEgdGVzdDogbmV0Y2F0LW9wZW5ic2QgdmVyc2lvbiBmb3IgVWJ1bnR1IDE2 LjA0IHBwYzY0DQorZGVmCWRpc3Ryb19xdWlja19wYXN0YV90ZXN0X25ldGNhdA0KK2hvc3QJKG5j IC13MSAtNiAtbCAtcCAxMDAwMCA+IC90bXAvaW5pdF9tc2c7IGVjaG8gImZyb21faW5pdCIgfCBu YyAtcTAgOjoxIDk5OTkpICYNCitob3N0YgkuL3Bhc3RhDQorc2xlZXAJMQ0KK2hvc3QJUFMxPSck ICcNCitob3N0CW5jIC13MSAtNiAtbCAtcCA5OTk5ID4gL3RtcC9uc19tc2cgJg0KK3NsZWVwCTIN Citob3N0CWVjaG8gImZyb21fbnMiIHwgbmMgLXEwIDo6MSAxMDAwMA0KK3NsZWVwCTINCitob3N0 CWVjaG8NCitzbGVlcAkxDQoraG91dAlOU19NU0cgY2F0IC90bXAvbnNfbXNnDQorY2hlY2sJWyBf X05TX01TR19fID0gImZyb21faW5pdCIgXQ0KK2hvc3RiCWV4aXQNCitob3N0CWVjaG8NCitob3V0 CUlOSVRfTVNHIGNhdCAvdG1wL2luaXRfbXNnDQorY2hlY2sJWyBfX0lOSVRfTVNHX18gPSAiZnJv bV9ucyIgXQ0KK2VuZGVmDQorDQorIyBXaXRoIHN5c3RlbWQtcmVzb2x2ZWQgYW5kIFRDRywgRE5T IG1pZ2h0IHRha2UgYSB3aGlsZSB0byB3b3JrDQorZGVmCWRuc19yZWFkeV93YWl0DQoraG9zdAly PTEwOyB3aGlsZSBbIFwke3J9IC1ndCAwIF07IGRvIGhvc3QgdWJ1bnR1LmNvbSAmJiBicmVhazsg c2xlZXAgNTsgcj1cJCgociAtIDEpKTsgZG9uZQ0KK2VuZGVmDQorDQorIyBTdGFydCBwYXNzdCwg c2V0IGNvbW1vbiB2YXJpYWJsZXMNCitob3N0YgkuL3Bhc3N0IC1zIF9fU1RBVEVESVJfXy9wYXNz dC5zb2NrZXQgLVAgX19QSURGSUxFX18gJg0KK3NsZWVwCTENCitob3N0CWVjaG8NCitob3V0CUdV RVNUX0ZJTEVTIGxzIC0xICouYyAqLmggKi5zaCBwYXNzdC4xIHFyYXAuMSBNYWtlZmlsZSBSRUFE TUUubWQgfCB0ciAnXG4nICcgJzsgZWNobw0KKw0KKw0KK3Rlc3QJVWJ1bnR1IDE0LjA0LjUgTFRT IChUcnVzdHkgVGFociksIGFtZDY0DQorDQorc2V0CUlNRyBfX1NUQVRFRElSX18vdWJ1bnR1LTE0 LjA0LWFtZDY0LmltZw0KK2hvc3QJcWVtdS1pbWcgY3JlYXRlIC1mIHFjb3cyIC1GIHFjb3cyIC1i IF9fQkFTRVBBVEhfXy90cnVzdHktc2VydmVyLWNsb3VkaW1nLWFtZDY0LWRpc2sxLmltZyBfX0lN R19fDQoraG9zdAl2aXJ0LWVkaXQgLWEgX19JTUdfXyAvZXRjL2luaXQvdHR5UzAuY29uZiAtZSAn cy9cL2dldHR5L1wvZ2V0dHkgLS1hdXRvbG9naW4gcm9vdC8nDQoraG9zdAlndWVzdGZpc2ggLS1y dyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1jb25maWcuY29uZg0KK2hvc3QJZ3Vl c3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtZmluYWwuY29uZg0K K2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtaW5p dC1jb250YWluZXIuY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAv ZXRjL2luaXQvY2xvdWQtaW5pdC1sb2NhbC5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBf X0lNR19fIC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1pbml0LW5vbmV0LmNvbmYNCitob3N0CWd1ZXN0 ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9pbml0L2Nsb3VkLWluaXQuY29uZg0KK2hv c3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtbG9nLXNo dXRkb3duLmNvbmYNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgY29weS1pbiBf X0dVRVNUX0ZJTEVTX18gL3Jvb3QvDQorDQoraG9zdAlxZW11LXN5c3RlbS14ODZfNjQgLU0gcGMs YWNjZWw9a3ZtOnRjZyAtbSAxMDI0IC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0 cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIC1kcml2ZSBmaWxlPV9fSU1HX18saWY9 dmlydGlvIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlk PXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNz dC5zb2NrZXQNCitob3N0CVBTMT0nJCAnDQorc2xlZXAJMg0KK2hvc3QJYXB0LWdldCB1cGRhdGUN Citob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBj bGVhbg0KK2hvc3QJQ0ZMQUdTPSItV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8t bWlzc2luZy1icmFjZXMgLVduby10eXBlLWxpbWl0cyIgbWFrZQ0KKw0KKyMgVE9ETzogcGFzdGEg dGVzdCBza2lwcGVkIGZvciB0aGUgbW9tZW50OiBjbG9uZSgpIGFzIGNhbGxlZCBieSBOU19DQUxM IGhhbmdzDQorIyB3aXRoIHdyYXBwZXIgcHJvdmlkZWQgYnkgZ2xpYmMgMi4xOSwgcHJvYmFibHkg d3JvbmcgYXJndW1lbnQgb3JkZXIuDQorDQoraGludA0KK3NsZWVwCTENCisNCisjIFBJREZJTEUg aXMgY2xlYW5lZCB1cCB3aGVuIHRoZSBuZXh0IHRlc3Qgc3RhcnRzLCByZWFkIGl0IG5vdw0KK2hv dXQJUElEIGNhdCBfX1BJREZJTEVfXw0KKw0KKw0KK3Rlc3QJVWJ1bnR1IDE0LjA0LjUgTFRTIChU cnVzdHkgVGFociksIGkzODYNCisNCitzZXQJSU1HIF9fU1RBVEVESVJfXy91YnVudHUtMTQuMDQt aTM4Ni5pbWcNCitob3N0CXFlbXUtaW1nIGNyZWF0ZSAtZiBxY293MiAtRiBxY293MiAtYiBfX0JB U0VQQVRIX18vdHJ1c3R5LXNlcnZlci1jbG91ZGltZy1pMzg2LWRpc2sxLmltZyBfX0lNR19fDQor aG9zdAl2aXJ0LWVkaXQgLWEgX19JTUdfXyAvZXRjL2luaXQvdHR5UzAuY29uZiAtZSAncy9cL2dl dHR5L1wvZ2V0dHkgLS1hdXRvbG9naW4gcm9vdC8nDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBf X0lNR19fIC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1jb25maWcuY29uZg0KK2hvc3QJZ3Vlc3RmaXNo IC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtZmluYWwuY29uZg0KK2hvc3QJ Z3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtaW5pdC1jb250 YWluZXIuY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2lu aXQvY2xvdWQtaW5pdC1sb2NhbC5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19f IC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1pbml0LW5vbmV0LmNvbmYNCitob3N0CWd1ZXN0ZmlzaCAt LXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9pbml0L2Nsb3VkLWluaXQuY29uZg0KK2hvc3QJZ3Vl c3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtbG9nLXNodXRkb3du LmNvbmYNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgY29weS1pbiBfX0dVRVNU X0ZJTEVTX18gL3Jvb3QvDQorDQoraG9zdAlxZW11LXN5c3RlbS14ODZfNjQgLU0gcGMsYWNjZWw9 a3ZtOnRjZyAtbSAxMDI0IC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8t cmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIC1kcml2ZSBmaWxlPV9fSU1HX18saWY9dmlydGlv IC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNl cnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2Nr ZXQNCitob3N0CVBTMT0nJCAnDQorc2xlZXAJMg0KK2hvc3QJYXB0LWdldCB1cGRhdGUNCitob3N0 CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0K K2hvc3QJQ0ZMQUdTPSItV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8tbWlzc2lu Zy1icmFjZXMgLVduby10eXBlLWxpbWl0cyAtV25vLXNpZ24tY29tcGFyZSIgbWFrZQ0KKw0KKyMg VE9ETzogcGFzdGEgdGVzdCBza2lwcGVkIGZvciB0aGUgbW9tZW50OiBjbG9uZSgpIGFzIGNhbGxl ZCBieSBOU19DQUxMIGhhbmdzDQorIyB3aXRoIHdyYXBwZXIgcHJvdmlkZWQgYnkgZ2xpYmMgMi4x OSwgcHJvYmFibHkgd3JvbmcgYXJndW1lbnQgb3JkZXIuDQorDQoraGludA0KK3NsZWVwCTENCisN CisNCit0ZXN0CVVidW50dSAxNC4wNC41IExUUyAoVHJ1c3R5IFRhaHIpLCBwcGM2NGxlDQorDQor c2V0CUlNRyBfX1NUQVRFRElSX18vdWJ1bnR1LTE0LjA0LXBwYzY0bGUuaW1nDQoraG9zdAlxZW11 LWltZyBjcmVhdGUgLWYgcWNvdzIgLUYgcWNvdzIgLWIgX19CQVNFUEFUSF9fL3RydXN0eS1zZXJ2 ZXItY2xvdWRpbWctcHBjNjRlbC1kaXNrMS5pbWcgX19JTUdfXw0KK2hvc3QJdmlydC1lZGl0IC1h IF9fSU1HX18gL2V0Yy9pbml0L2h2YzAuY29uZiAtZSAncy9cL2dldHR5L1wvZ2V0dHkgLS1hdXRv bG9naW4gcm9vdC8nDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMv aW5pdC9jbG91ZC1jb25maWcuY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAt aSBybSAvZXRjL2luaXQvY2xvdWQtZmluYWwuY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEg X19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtaW5pdC1jb250YWluZXIuY29uZg0KK2hvc3QJ Z3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtaW5pdC1sb2Nh bC5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvaW5pdC9j bG91ZC1pbml0LW5vbmV0LmNvbmYNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkg cm0gL2V0Yy9pbml0L2Nsb3VkLWluaXQuY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19J TUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtbG9nLXNodXRkb3duLmNvbmYNCitob3N0CWd1ZXN0 ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgY29weS1pbiBfX0dVRVNUX0ZJTEVTX18gL3Jvb3QvDQor DQoraG9zdAlxZW11LXN5c3RlbS1wcGM2NCAtbSAyMDQ4IC1zbXAgMiAtbm9ncmFwaGljIC1zZXJp YWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0lN R19fIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMw LHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5z b2NrZXQNCitob3N0CVBTMT0nJCAnDQorc2xlZXAJMg0KK2hvc3QJYXB0LWdldCB1cGRhdGUNCito b3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVh bg0KK2hvc3QJQ0ZMQUdTPSItV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8tbWlz c2luZy1icmFjZXMgLVduby10eXBlLWxpbWl0cyAtV25vLXNpZ24tY29tcGFyZSIgbWFrZQ0KKw0K KyMgVE9ETzogcGFzdGEgdGVzdCBza2lwcGVkIGZvciB0aGUgbW9tZW50OiBjbG9uZSgpIGFzIGNh bGxlZCBieSBOU19DQUxMIGhhbmdzDQorIyB3aXRoIHdyYXBwZXIgcHJvdmlkZWQgYnkgZ2xpYmMg Mi4xOSwgcHJvYmFibHkgd3JvbmcgYXJndW1lbnQgb3JkZXIuDQorDQoraGludA0KK3NsZWVwCTEN Citob3N0YglyZXNldA0KK3NsZWVwCTENCitob3N0CWVjaG8NCisNCisNCit0ZXN0CVVidW50dSAx Ni4wNCBMVFMgKFhlbmlhbCBYZXJ1cyksIHBwYzY0IChiZSkNCisNCitob3N0CXFlbXUtc3lzdGVt LXBwYzY0IC1tIDEwMjQgLU0gcHNlcmllcyAtbm9ncmFwaGljIC1ub2RlZmF1bHRzIC1zZXJpYWwg c3RkaW8gLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSAtaGRhIF9fQkFTRVBBVEhfXy9w cmVwYXJlZC14ZW5pYWwtc2VydmVyLWNsb3VkaW1nLXBvd2VycGMtZGlzazEuaW1nIC1kZXZpY2Ug dmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYs YWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBz aG90DQoraG9zdAlQUzE9JyQgJw0KK2hvc3QJZGhjbGllbnQgLTQNCisjIFNraXAgYXB0LWdldCB1 cGRhdGUgaGVyZTogc29tZSB1cGRhdGVzIHRvIHhlbmlhbC11cGRhdGVzIGFyb3VuZCAyMDIyLTAx LTMwDQorIyBicm9rZSBkZXBlbmRlbmNpZXMgZm9yIGxpYmM2IGFuZCBnY2MtNSAtLSBub3RlIHRo YXQgcG93ZXJwYyBpcyBub3Qgb2ZmaWNpYWxseQ0KKyMgc3VwcG9ydGVkIG9uIHRoaXMgdmVyc2lv bg0KKw0KKyMgc29jYXQgbm90IGF2YWlsYWJsZTogaW5zdGFsbCBuZXRjYXQtb3BlbmJzZCBhbmQg cnVuIHRoZSB0ZXN0IHdpdGggaXQNCitob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBu ZXRjYXQtb3BlbmJzZA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9y IiBtYWtlDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3RfbmV0Y2F0DQorDQoraGludA0KK3Ns ZWVwCTENCitob3N0YglyZXNldA0KK3NsZWVwCTENCitob3N0CWVjaG8NCisNCisNCit0ZXN0CVVi dW50dSAyMi4wNCAoSmFtbXkgSmVsbHlmaXNoKSwgczM5MHgNCisNCitob3N0CXFlbXUtc3lzdGVt LXMzOTB4IC1tIDIwNDggLXNtcCAyIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vZ3JhcGhp YyBfX0JBU0VQQVRIX18vcHJlcGFyZWQtamFtbXktc2VydmVyLWNsb3VkaW1nLXMzOTB4LmltZyAt ZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2 ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0 IC1kZXZpY2UgdmlydGlvLXJuZy1jY3cgLXNuYXBzaG90DQorDQoraG9zdAlleHBvcnQgREVCSUFO X0ZST05URU5EPW5vbmludGVyYWN0aXZlDQoraG9zdAlzZXJ2aWNlIHN5c3RlbWQtbmV0d29ya2Qg c3RvcA0KK2hvc3QJc2VydmljZSBzeXN0ZW1kLXJlc29sdmVkIHN0b3ANCitob3N0CXJtIC9ldGMv ZGhjcC9kaGNsaWVudC1lbnRlci1ob29rcy5kL3Jlc29sdmVkLWVudGVyDQoraG9zdAlkaGNsaWVu dCAtNA0KK2Ruc19yZWFkeV93YWl0DQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hvc3QJYXB0LWdl dCAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlD RkxBR1M9Ii1XZXJyb3IiIG1ha2UNCisNCitob3N0CWV4cG9ydCBTSEVMTD0iL2Jpbi9kYXNoIg0K K2hvc3QJZGFzaA0KK2Rpc3Ryb19xdWlja19wYXN0YV90ZXN0DQorDQoraGludA0KK3NsZWVwCTEN Citob3N0YglyZXNldA0KK3NsZWVwCTENCitob3N0CWVjaG8NCisNCisNCitob3N0CWtpbGwgX19Q SURfXw0KZGlmZiAtLWdpdCBhL29sZHRlc3QvZW52L21hdGUtdGVybWluYWwucHJvZmlsZSBiL29s ZHRlc3QvZW52L21hdGUtdGVybWluYWwucHJvZmlsZQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAwLi5hNGNlODk5NA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9lbnYv bWF0ZS10ZXJtaW5hbC5wcm9maWxlDQpAQCAtMCwwICsxLDQyIEBADQorIyBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiAyMDIxIFJlZCBIYXQgR21iSCA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKyMgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisNCitbL10NCithbGxvdy1i b2xkPXRydWUNCitiYWNrZ3JvdW5kLWNvbG9yPScjMTIxMjEyMTIxMjEyJw0KK2JhY2tncm91bmQt ZGFya25lc3M9MC41DQorYmFja2dyb3VuZC1pbWFnZT0nJw0KK2JhY2tncm91bmQtdHlwZT0nc29s aWQnDQorYmFja3NwYWNlLWJpbmRpbmc9J2FzY2lpLWRlbCcNCitib2xkLWNvbG9yPScjMDAwMDAw MDAwMDAwJw0KK2JvbGQtY29sb3Itc2FtZS1hcy1mZz10cnVlDQorY29weS1zZWxlY3Rpb249ZmFs c2UNCitjdXJzb3ItYmxpbmstbW9kZT0nb24nDQorY3Vyc29yLXNoYXBlPSdibG9jaycNCitjdXN0 b20tY29tbWFuZD0nJw0KK2RlZmF1bHQtc2hvdy1tZW51YmFyPXRydWUNCitkZWZhdWx0LXNpemUt Y29sdW1ucz0xODANCitkZWZhdWx0LXNpemUtcm93cz00MA0KK2RlbGV0ZS1iaW5kaW5nPSdlc2Nh cGUtc2VxdWVuY2UnDQorZXhpdC1hY3Rpb249J2Nsb3NlJw0KK2ZvbnQ9J0JpdHN0cmVhbSBWZXJh IFNhbnMgTW9ubyA5Jw0KK2ZvcmVncm91bmQtY29sb3I9JyM1MDRGQTJBMjYxNjAnDQorbG9naW4t c2hlbGw9ZmFsc2UNCitwYWxldHRlPScjMDAwMDAwMDAwMDAwOiNGRkZGOEY4RjhGOEY6IzUwNEZB MkEyNjE2MDojQ0JDQjZDNkMwNTA1OiM4RThFQTNBMkZGRkY6I0M0QzQ1OTU5QzRDNDojMDAwMEFB QUFBQUFBOiNBQUFBQUFBQUFBQUE6IzU1NTQ1NTU0NTU1NDojRkZGRjhGOEY4RjhGOiM1MDRGQTJB MjYxNjA6I0NCQ0I2QzZDMDUwNTojOEU4RUEzQTJGRkZGOiNDNEM0NTk1OUM0QzQ6IzU1NTRGRkZG RkZGRjojRkZGRkZGRkZGRkZGJw0KK3Njcm9sbC1iYWNrZ3JvdW5kPXRydWUNCitzY3JvbGwtb24t a2V5c3Ryb2tlPXRydWUNCitzY3JvbGwtb24tb3V0cHV0PWZhbHNlDQorc2Nyb2xsYmFjay1saW5l cz01MTINCitzY3JvbGxiYWNrLXVubGltaXRlZD10cnVlDQorc2Nyb2xsYmFyLXBvc2l0aW9uPSdo aWRkZW4nDQorc2lsZW50LWJlbGw9ZmFsc2UNCit0aXRsZT0nVGVybWluYWwnDQordGl0bGUtbW9k ZT0ncmVwbGFjZScNCit1c2UtY3VzdG9tLWNvbW1hbmQ9ZmFsc2UNCit1c2UtY3VzdG9tLWRlZmF1 bHQtc2l6ZT10cnVlDQordXNlLXNrZXk9dHJ1ZQ0KK3VzZS1zeXN0ZW0tZm9udD1mYWxzZQ0KK3Vz ZS10aGVtZS1jb2xvcnM9ZmFsc2UNCit1c2UtdXJscz10cnVlDQordmlzaWJsZS1uYW1lPSdwYXNz dF9jaScNCit3b3JkLWNoYXJzPSctQS1aYS16MC05LC4vPyUmIzpfPStAficNCmRpZmYgLS1naXQg YS9vbGR0ZXN0L2ZpbmQtYXJtNjQtZmlybXdhcmUuc2ggYi9vbGR0ZXN0L2ZpbmQtYXJtNjQtZmly bXdhcmUuc2gNCm5ldyBmaWxlIG1vZGUgMTAwNzU1DQppbmRleCAwMDAwMDAwMC4uMzE4MjYyMDAN Ci0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvZmluZC1hcm02NC1maXJtd2FyZS5zaA0KQEAg LTAsMCArMSwxMyBAQA0KKyMhIC9iaW4vc2gNCisNCitMT0NBVElPTlM9Ii91c3Ivc2hhcmUvcWVt dS1lZmktYWFyY2g2NCAvdXNyL3NoYXJlL2VkazIvYWFyY2g2NCINCisNCitmb3IgbCBpbiAkTE9D QVRJT05TOyBkbw0KKyAgICBpZiBbIC1mICIkbC9RRU1VX0VGSS5mZCIgXTsgdGhlbg0KKwlsbiAt cyAiJGwvUUVNVV9FRkkuZmQiICIkMSINCisJZXhpdCAwDQorICAgIGZpDQorZG9uZQ0KKw0KK2Vj aG8gIkNvdWxkbid0IGZpbmQgUUVNVV9FRkkuZmQiID4mMg0KK2V4aXQgMQ0KZGlmZiAtLWdpdCBh L29sZHRlc3QvbGliL2NvbnRleHQgYi9vbGR0ZXN0L2xpYi9jb250ZXh0DQpuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAuLjQ3NDFhNTU2DQotLS0gL2Rldi9udWxsDQorKysgYi9v bGR0ZXN0L2xpYi9jb250ZXh0DQpAQCAtMCwwICsxLDEzMCBAQA0KKyMhIC9iaW4vc2gNCisjDQor IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NU IC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21h aW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0 aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRl c3QvbGliL2NvbnRleHQgLSBSdW4gY29tbWFuZHMgaW4gZGlmZmVyZW50IGNvbnRleHRzIChob3N0 LCBndWVzdCwgbmFtZXNwYWNlIGV0Yy4pDQorIw0KKyMgQ29weXJpZ2h0IFJlZCBIYXQNCisjIEF1 dGhvcjogRGF2aWQgR2lic29uIDxkYXZpZEBnaWJzb24uZHJvcGJlYXIuaWQuYXU+DQorDQorTlNU T09MPSIke0JBU0VQQVRIfS9uc3Rvb2wiDQorDQorIyBjb250ZXh0X3NldHVwX2NvbW1vbigpIC0g Q3JlYXRlIG91dGxpbmUgb2YgYSBuZXcgY29udGV4dA0KKyMgJDE6CUNvbnRleHQgbmFtZQ0KK2Nv bnRleHRfc2V0dXBfY29tbW9uKCkgew0KKwlfX25hbWU9IiQxIg0KKwlfX2xvZz0iJHtMT0dESVJ9 L2NvbnRleHRfJHtfX25hbWV9LmxvZyINCisJZWNobyAtbiAiJHtfX25hbWV9JCAiID4gIiR7X19s b2d9Ig0KK30NCisNCisjIGNvbnRleHRfc2V0dXBfaG9zdCgpIC0gQ3JlYXRlIGEgbmV3IGNvbnRl eHQgZm9yIHJ1bm5pbmcgY29tbWFuZHMgb24gdGhlIGhvc3QNCisjICQxOglDb250ZXh0IG5hbWUN Citjb250ZXh0X3NldHVwX2hvc3QoKSB7DQorCV9fbmFtZT0iJDEiDQorCV9fZW50ZXI9IiR7U1RB VEVTRVRVUH0vY29udGV4dF8ke19fbmFtZX0uZW50ZXIiDQorCWNvbnRleHRfc2V0dXBfY29tbW9u ICIke19fbmFtZX0iDQorCWVjaG8gc2ggLWMgPiAiJHtfX2VudGVyfSINCit9DQorDQorIyBjb250 ZXh0X3NldHVwX25zdG9vbCgpIC0gQ3JlYXRlIGEgbmV3IGNvbnRleHQgZm9yIHJ1bm5pbmcgY29t bWFuZHMgd2l0aCBuc3Rvb2wgZXhlYw0KKyMgJDE6CUNvbnRleHQgbmFtZQ0KKyMgJDI6CW5zdG9v bCBjb250cm9sIHNvY2tldA0KK2NvbnRleHRfc2V0dXBfbnN0b29sKCkgew0KKwlfX25hbWU9IiQx Ig0KKwlfX3NvY2s9IiQyIg0KKwlfX2VudGVyPSIke1NUQVRFU0VUVVB9L2NvbnRleHRfJHtfX25h bWV9LmVudGVyIg0KKwkjIFdhaXQgZm9yIHRoZSBucyB0byBiZSByZWFkeQ0KKwkke05TVE9PTH0g aW5mbyAtdyAiJHtfX3NvY2t9IiA+IC9kZXYvbnVsbA0KKwljb250ZXh0X3NldHVwX2NvbW1vbiAi JHtfX25hbWV9Ig0KKwllY2hvICIke05TVE9PTH0gZXhlYyAke19fc29ja30gLS0gc2ggLWMiID4g IiR7X19lbnRlcn0iDQorfQ0KKw0KKyMgY29udGV4dF9zZXR1cF9ndWVzdCgpIC0gQ3JlYXRlIGEg bmV3IGNvbnRleHQgZm9yIHJ1bm5pbmcgY29tbWFuZHMgaW4gYSBndWVzdA0KKyMgJDE6ICAgICAg ICBDb250ZXh0IG5hbWUNCisjICQyOiAgICAgICAgQ0lEIHRvIHVzZSBmb3IgdnNvY2sNCitjb250 ZXh0X3NldHVwX2d1ZXN0KCkgew0KKwlfX25hbWU9IiQxIg0KKwlfX2NpZD0iJDIiDQorCV9fZW50 ZXI9IiR7U1RBVEVTRVRVUH0vY29udGV4dF8ke19fbmFtZX0uZW50ZXIiDQorCV9fc3NoPSIke1NU QVRFU0VUVVB9L2NvbnRleHRfJHtfX25hbWV9LnNzaCINCisJY29udGV4dF9zZXR1cF9jb21tb24g IiR7X19uYW1lfSINCisNCisJY2F0ID4gIiR7X19zc2h9IiA8PEVPRg0KK0hvc3QgJHtfX25hbWV9 DQorCVVzZXIgcm9vdA0KKwlVc2VyS25vd25Ib3N0c0ZpbGUgJHtTVEFURVNFVFVQfS9jb250ZXh0 XyR7X19uYW1lfS5ob3N0cw0KKwlTdHJpY3RIb3N0S2V5Q2hlY2tpbmcgbm8NCisJSWRlbnRpdHlG aWxlICR7QkFTRVBBVEh9L2d1ZXN0LWtleQ0KKwlJZGVudGl0eUFnZW50IG5vbmUNCisJUHJveHlD b21tYW5kIHNvY2F0IC0gVlNPQ0stQ09OTkVDVDoke19fY2lkfToyMg0KK0VPRg0KKwllY2hvICJz c2ggLUYgJHtfX3NzaH0gJHtfX25hbWV9IiA+ICIke19fZW50ZXJ9Ig0KKw0KKwkjIFdhaXQgZm9y IHRoZSBndWVzdCB0byBiZSBib290ZWQgYW5kIGFjY2VwdGluZyBjb25uZWN0aW9ucw0KKwl3YWl0 X2ZvciBzc2ggLUYgIiR7X19zc2h9IiAiJHtfX25hbWV9IiA6DQorfQ0KKw0KKyMgY29udGV4dF90 ZWFyZG93bigpIC0gUmVtb3ZlIGEgY29udGV4dCAobGVhdmUgbG9nIGZpbGVzIGludGFjdCkNCisj ICQxOglDb250ZXh0IG5hbWUNCitjb250ZXh0X3RlYXJkb3duKCkgew0KKwlfX25hbWU9IiQxIg0K KwlfX3ByZWZpeD0iJHtTVEFURVNFVFVQfS9jb250ZXh0XyR7X19uYW1lfSINCisJcm0gLWYgIiR7 X19wcmVmaXh9LmVudGVyIiAiJHtfX3ByZWZpeH0uc3NoIiAiJHtfX3ByZWZpeH0uaG9zdHMiDQor fQ0KKw0KKyMgY29udGV4dF9leGlzdHMoKSAtIFRlc3QgaWYgYSBjb250ZXh0IGN1cnJlbnRseSBl eGlzdHMNCisjICQxOglDb250ZXh0IG5hbWUNCitjb250ZXh0X2V4aXN0cygpIHsNCisJX19uYW1l PSIkMSINCisJX19lbnRlcj0iJHtTVEFURVNFVFVQfS9jb250ZXh0XyR7X19uYW1lfS5lbnRlciIN CisJWyAtZiAiJHtfX2VudGVyfSIgXQ0KK30NCisNCisjIGNvbnRleHRfcnVuKCkgLSBSdW4gYSBz aGVsbCBjb21tYW5kIGluIGEgY29udGV4dCwgYW5kIHdhaXQgZm9yIGl0IHRvIGZpbmlzaA0KKyMg JDE6CUNvbnRleHQgbmFtZQ0KKyMgJCo6CUNvbW1hbmQgdG8gc3RhcnQNCitjb250ZXh0X3J1bigp IHsNCisJX19uYW1lPSIkMSINCisJX19sb2c9IiR7TE9HRElSfS9jb250ZXh0XyR7X19uYW1lfS5s b2ciDQorCV9fZW50ZXI9IiR7U1RBVEVTRVRVUH0vY29udGV4dF8ke19fbmFtZX0uZW50ZXIiDQor CV9fc3Rkb3V0PSIkKG1rdGVtcCAtdSAiJHtTVEFURVNFVFVQfS9jb250ZXh0XyR7X19uYW1lfS5z dGRvdXQuWFhYWFhYWFgiKSINCisJX19zdGRlcnI9IiQobWt0ZW1wIC11ICIke1NUQVRFU0VUVVB9 L2NvbnRleHRfJHtfX25hbWV9LnN0ZGVyci5YWFhYWFhYWCIpIg0KKwlzaGlmdA0KKwllY2hvICIk KiIgPj4gIiR7X19sb2d9Ig0KKwlta2ZpZm8gIiR7X19zdGRvdXR9IiAiJHtfX3N0ZGVycn0iDQor CXRlZSAtYSAiJHtfX2xvZ30iIDwgIiR7X19zdGRvdXR9IiAmDQorCXRlZSAtYSAiJHtfX2xvZ30i IDwgIiR7X19zdGRlcnJ9IiA+JjIgJg0KKwkkKGNhdCAke19fZW50ZXJ9KSAiJCoiID4+ICIke19f c3Rkb3V0fSIgMj4+ICIke19fc3RkZXJyfSINCisJcmM9JD8NCisJcm0gIiR7X19zdGRvdXR9IiAi JHtfX3N0ZGVycn0iDQorCVsgJHtERUJVR30gLWVxIDEgXSAmJiBlY2hvICJbRXhpdCBjb2RlOiAk cmNdIiA+PiAiJHtfX2xvZ30iDQorCWVjaG8gLW4gIiR7X19uYW1lfSQgIiA+PiAiJHtfX2xvZ30i DQorCXJldHVybiAkcmMNCit9DQorDQorIyBjb250ZXh0X3J1bl9iZygpIC0gU3RhcnQgYSBzaGVs bCBjb21tYW5kIGluIGEgY29udGV4dA0KKyMgJDE6CUNvbnRleHQgbmFtZQ0KKyMgJCo6CUNvbW1h bmQgdG8gc3RhcnQNCitjb250ZXh0X3J1bl9iZygpIHsNCisJX19uYW1lPSIkMSINCisJX19waWRm aWxlPSIke1NUQVRFU0VUVVB9L2NvbnRleHRfJHtfX25hbWV9LnBpZCINCisJY29udGV4dF9ydW4g IiRAIiAmDQorCWVjaG8gJCEgPiAiJHtfX3BpZGZpbGV9Ig0KK30NCisNCisjIGNvbnRleHRfd2Fp dCgpIC0gV2FpdCBmb3IgYmFja2dyb3VuZCBjb21tYW5kIGluIGEgY29udGV4dCB0byBjb21wbGV0 ZQ0KKyMgJDE6CUNvbnRleHQgbmFtZQ0KKyMgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBjb21w bGV0ZWQgY29tbWFuZA0KK2NvbnRleHRfd2FpdCgpIHsNCisJX19uYW1lPSIkMSINCisJX19waWRm aWxlPSIke1NUQVRFU0VUVVB9L2NvbnRleHRfJHtfX25hbWV9LnBpZCINCisJX19waWQ9JChjYXQg IiR7X19waWRmaWxlfSIpDQorCXJtICIke19fcGlkZmlsZX0iDQorCXdhaXQgJHtfX3BpZH0NCit9 DQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9saWIvbGF5b3V0IGIvb2xkdGVzdC9saWIvbGF5b3V0DQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAuLmY5YTFjZjFiDQotLS0gL2Rldi9u dWxsDQorKysgYi9vbGR0ZXN0L2xpYi9sYXlvdXQNCkBAIC0wLDAgKzEsMjU5IEBADQorIyEvYmlu L3NoDQorIw0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisj DQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11 L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRh cCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUN CisjDQorIyB0ZXN0L2xpYi9sYXlvdXQgLSB0bXV4IHBhbmUgbGF5b3V0cw0KKyMNCisjIENvcHly aWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNi cml2aW9AcmVkaGF0LmNvbT4NCisNCisjIGxheW91dF9wYXN0YSgpIC0gUGFuZXMgZm9yIGhvc3Qs IHBhc3RhLCBhbmQgc2VwYXJhdGUgb25lIGZvciBuYW1lc3BhY2UNCitsYXlvdXRfcGFzdGEoKSB7 DQorCXNsZWVwIDMNCisNCisJdG11eCBraWxsLXBhbmUgLWEgLXQgMA0KKwljbWRfd3JpdGUgMCBj bGVhcg0KKw0KKwl0bXV4IHNwbGl0LXdpbmRvdyAtdiAtdCBwYXNzdF90ZXN0DQorCXRtdXggc3Bs aXQtd2luZG93IC1oIC10IHBhc3N0X3Rlc3QNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzQy JScgLXQgcGFzc3RfdGVzdDoxLjANCisNCisJUEFORV9OUz0wDQorCVBBTkVfSU5GTz0xDQorCVBB TkVfSE9TVD0yDQorCVBBTkVfUEFTU1Q9Mw0KKw0KKwlnZXRfaW5mb19jb2xzDQorDQorCXRtdXgg c2VuZC1rZXlzIC1sIC10ICR7UEFORV9JTkZPfSAnd2hpbGUgY2F0ICciJFNUQVRFQkFTRS9sb2df cGlwZSInOyBkbyA6OyBkb25lJw0KKwl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gLU4g MTAwIEMtbQ0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZPfSAtVCAidGVzdCBsb2ci DQorDQorCXBhbmVfd2F0Y2hfY29udGV4dHMgJHtQQU5FX0hPU1R9IGhvc3QgaG9zdA0KKwlwYW5l X3dhdGNoX2NvbnRleHRzICR7UEFORV9QQVNTVH0gcGFzdGEgcGFzc3QNCisJcGFuZV93YXRjaF9j b250ZXh0cyAke1BBTkVfTlN9ICJuYW1lc3BhY2UiIHVuc2hhcmUgbnMNCisNCisJaW5mb19sYXlv dXQgInNpbmdsZSBwYXN0YSBpbnN0YW5jZSB3aXRoIG5hbWVzcGFjZSINCisNCisJc2xlZXAgMQ0K K30NCisNCisjIGxheW91dF9wYXNzdCgpIC0gUGFuZXMgZm9yIGhvc3QsIHBhc3N0LCBhbmQgZ3Vl c3QNCitsYXlvdXRfcGFzc3QoKSB7DQorCXNsZWVwIDMNCisNCisJdG11eCBraWxsLXBhbmUgLWEg LXQgMA0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0bXV4IHNwbGl0LXdpbmRvdyAtdiAtdCBw YXNzdF90ZXN0DQorCXRtdXggc3BsaXQtd2luZG93IC1oIC10IHBhc3N0X3Rlc3QNCisJdG11eCBz cGxpdC13aW5kb3cgLWggLWwgJzQyJScgLXQgcGFzc3RfdGVzdDoxLjANCisNCisJUEFORV9HVUVT VD0wDQorCVBBTkVfSU5GTz0xDQorCVBBTkVfSE9TVD0yDQorCVBBTkVfUEFTU1Q9Mw0KKw0KKwln ZXRfaW5mb19jb2xzDQorDQorCXRtdXggc2VuZC1rZXlzIC1sIC10ICR7UEFORV9JTkZPfSAnd2hp bGUgY2F0ICciJFNUQVRFQkFTRS9sb2dfcGlwZSInOyBkbyA6OyBkb25lJw0KKwl0bXV4IHNlbmQt a2V5cyAtdCAke1BBTkVfSU5GT30gLU4gMTAwIEMtbQ0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7 UEFORV9JTkZPfSAtVCAidGVzdCBsb2ciDQorDQorCXBhbmVfd2F0Y2hfY29udGV4dHMgJHtQQU5F X0hPU1R9IGhvc3QgaG9zdA0KKwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9QQVNTVH0gcGFz c3QgcGFzc3QNCisJcGFuZV93YXRjaF9jb250ZXh0cyAke1BBTkVfR1VFU1R9IGd1ZXN0IHFlbXUg Z3Vlc3QNCisNCisJaW5mb19sYXlvdXQgInNpbmdsZSBwYXNzdCBpbnN0YW5jZSB3aXRoIGd1ZXN0 Ig0KKw0KKwlzbGVlcCAxDQorfQ0KKw0KKyMgbGF5b3V0X3Bhc3N0X2luX3Bhc3RhKCkgLSBIb3N0 LCBwYXNzdCB3aXRoaW4gcGFzdGEsIG5hbWVzcGFjZSBhbmQgZ3Vlc3QNCitsYXlvdXRfcGFzc3Rf aW5fcGFzdGEoKSB7DQorCXNsZWVwIDMNCisNCisJdG11eCBraWxsLXBhbmUgLWEgLXQgMA0KKwlj bWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0bXV4IHNwbGl0LXdpbmRvdyAtdiAtbCAnNDUlJyAtdCBw YXNzdF90ZXN0DQorCXRtdXggc3BsaXQtd2luZG93IC1oIC10IHBhc3N0X3Rlc3QNCisJdG11eCBz cGxpdC13aW5kb3cgLWggLWwgJzQyJScgLXQgcGFzc3RfdGVzdDoxLjANCisJdG11eCBzcGxpdC13 aW5kb3cgLXYgLXQgcGFzc3RfdGVzdDoxLjANCisNCisJUEFORV9HVUVTVD0wDQorCVBBTkVfTlM9 MQ0KKwlQQU5FX0lORk89Mg0KKwlQQU5FX0hPU1Q9Mw0KKwlQQU5FX1BBU1NUPTQNCisNCisJZ2V0 X2luZm9fY29scw0KKw0KKwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9HVUVTVH0gImd1ZXN0 IiBxZW11IGd1ZXN0DQorCXBhbmVfd2F0Y2hfY29udGV4dHMgJHtQQU5FX05TfSAibmFtZXNwYWNl IiBucw0KKw0KKwl0bXV4IHNlbmQta2V5cyAtbCAtdCAke1BBTkVfSU5GT30gJ3doaWxlIGNhdCAn IiRTVEFURUJBU0UvbG9nX3BpcGUiJzsgZG8gOjsgZG9uZScNCisJdG11eCBzZW5kLWtleXMgLXQg JHtQQU5FX0lORk99IC1OIDEwMCBDLW0NCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5G T30gLVQgInRlc3QgbG9nIg0KKw0KKwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9IT1NUfSBo b3N0IGhvc3QNCisNCisJcGFuZV93YXRjaF9jb250ZXh0cyAke1BBTkVfUEFTU1R9ICJwYXNzdCBp biBwYXN0YSAobmFtZXNwYWNlKSIgcGFzdGEgcGFzc3QNCisNCisJaW5mb19sYXlvdXQgInBhc3N0 IGFuZCBndWVzdCBpbiBuYW1lc3BhY2UsIGNvbm5lY3RlZCBieSBwYXN0YSINCisNCisJc2xlZXAg MQ0KK30NCisNCisjIGxheW91dF90d29fZ3Vlc3RzKCkgLSBUd28gZ3Vlc3QgcGFuZXMsIHR3byBw YXNzdCBwYW5lcywgcGx1cyBob3N0IGFuZCBsb2cNCitsYXlvdXRfdHdvX2d1ZXN0cygpIHsNCisJ c2xlZXAgMw0KKw0KKwl0bXV4IGtpbGwtcGFuZSAtYSAtdCAwDQorCWNtZF93cml0ZSAwIGNsZWFy DQorDQorCXRtdXggc3BsaXQtd2luZG93IC12IC10IHBhc3N0X3Rlc3QNCisJdG11eCBzcGxpdC13 aW5kb3cgLWggLWwgJzMzJScNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLXQgcGFzc3RfdGVzdDox LjENCisNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzM1JScgLXQgcGFzc3RfdGVzdDoxLjAN CisJdG11eCBzcGxpdC13aW5kb3cgLXYgLXQgcGFzc3RfdGVzdDoxLjANCisNCisJUEFORV9HVUVT VF8xPTANCisJUEFORV9HVUVTVF8yPTENCisJUEFORV9JTkZPPTINCisJUEFORV9IT1NUPTMNCisJ UEFORV9QQVNTVF8xPTQNCisJUEFORV9QQVNTVF8yPTUNCisNCisJZ2V0X2luZm9fY29scw0KKw0K KwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9HVUVTVF8xfSAiZ3Vlc3QgIzEgaW4gbmFtZXNw YWNlICMxIiBxZW11XzEgZ3Vlc3RfMQ0KKwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9HVUVT VF8yfSAiZ3Vlc3QgIzIgaW4gbmFtZXNwYWNlICMyIiBxZW11XzIgZ3Vlc3RfMg0KKw0KKwl0bXV4 IHNlbmQta2V5cyAtbCAtdCAke1BBTkVfSU5GT30gJ3doaWxlIGNhdCAnIiRTVEFURUJBU0UvbG9n X3BpcGUiJzsgZG8gOjsgZG9uZScNCisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0lORk99IC1O IDEwMCBDLW0NCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5GT30gLVQgInRlc3QgbG9n Ig0KKw0KKwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9IT1NUfSBob3N0IGhvc3QNCisJcGFu ZV93YXRjaF9jb250ZXh0cyAke1BBTkVfUEFTU1RfMX0gInBhc3N0ICMxIGluIG5hbWVzcGFjZSAj MSIgcGFzdGFfMSBwYXNzdF8xDQorCXBhbmVfd2F0Y2hfY29udGV4dHMgJHtQQU5FX1BBU1NUXzJ9 ICJwYXNzdCAjMiBpbiBuYW1lc3BhY2UgIzIiIHBhc3RhXzIgcGFzc3RfMg0KKw0KKwlpbmZvX2xh eW91dCAidHdvIGd1ZXN0cywgdHdvIHBhc3N0IGluc3RhbmNlcywgaW4gbmFtZXNwYWNlcyINCisN CisJc2xlZXAgMQ0KK30NCisNCisjIGxheW91dF9kZW1vX3Bhc3RhKCkgLSBGb3VyIHBhbmVzIGZv ciBwYXN0YSBkZW1vDQorbGF5b3V0X2RlbW9fcGFzdGEoKSB7DQorCXNsZWVwIDMNCisNCisJY21k X3dyaXRlIDAgY2QgJHtCQVNFUEFUSH0NCisJY21kX3dyaXRlIDAgY2xlYXINCisJc2xlZXAgMQ0K KwljbWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0bXV4IHNwbGl0LXdpbmRvdyAtdiAtdCBwYXNzdF90 ZXN0DQorCXRtdXggc3BsaXQtd2luZG93IC1oIC10IHBhc3N0X3Rlc3QNCisJdG11eCBzcGxpdC13 aW5kb3cgLWggLWwgJzQyJScgLXQgcGFzc3RfdGVzdDoxLjANCisNCisJUEFORV9OUz0wDQorCVBB TkVfSU5GTz0xDQorCVBBTkVfSE9TVD0yDQorCVBBTkVfUEFTU1Q9Mw0KKw0KKwlnZXRfaW5mb19j b2xzDQorDQorCXRtdXggcGlwZS1wYW5lIC1PIC10ICR7UEFORV9OU30gImNhdCA+PiAke0xPR0RJ Un0vcGFuZV9ucy5sb2ciDQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX05TfSAtVCAibmFt ZXNwYWNlIg0KKw0KKwl0bXV4IHNlbmQta2V5cyAtbCAtdCAke1BBTkVfSU5GT30gJ3doaWxlIGNh dCAnIiRTVEFURUJBU0UvbG9nX3BpcGUiJzsgZG8gOjsgZG9uZScNCisJdG11eCBzZW5kLWtleXMg LXQgJHtQQU5FX0lORk99IC1OIDEwMCBDLW0NCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVf SU5GT30gLVQgIiINCisNCisJdG11eCBwaXBlLXBhbmUgLU8gLXQgJHtQQU5FX0hPU1R9ICJjYXQg Pj4gJHtMT0dESVJ9L3BhbmVfaG9zdC5sb2ciDQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5F X0hPU1R9IC1UICJob3N0Ig0KKw0KKwl0bXV4IHBpcGUtcGFuZSAtTyAtdCAke1BBTkVfUEFTU1R9 ICJjYXQgPj4gJHtMT0dESVJ9L3BhbmVfcGFzc3QubG9nIg0KKwl0bXV4IHNlbGVjdC1wYW5lIC10 ICR7UEFORV9QQVNTVH0gLVQgInBhc3RhIg0KKw0KKwlzbGVlcCAxDQorfQ0KKw0KKyMgbGF5b3V0 X2RlbW9fcGFzc3QoKSAtIEZvdXIgcGFuZXMgZm9yIHBhc3N0IGRlbW8NCitsYXlvdXRfZGVtb19w YXNzdCgpIHsNCisJc2xlZXAgMw0KKw0KKwljbWRfd3JpdGUgMCBjZCAke0JBU0VQQVRIfQ0KKwlj bWRfd3JpdGUgMCBjbGVhcg0KKwlzbGVlcCAxDQorCWNtZF93cml0ZSAwIGNsZWFyDQorDQorCXRt dXggc3BsaXQtd2luZG93IC12IC10IHBhc3N0X3Rlc3QNCisJdG11eCBzcGxpdC13aW5kb3cgLWgg LXQgcGFzc3RfdGVzdA0KKwl0bXV4IHNwbGl0LXdpbmRvdyAtaCAtbCAnNDIlJyAtdCBwYXNzdF90 ZXN0OjEuMA0KKw0KKwlQQU5FX0dVRVNUPTANCisJUEFORV9JTkZPPTENCisJUEFORV9IT1NUPTIN CisJUEFORV9QQVNTVD0zDQorDQorCWdldF9pbmZvX2NvbHMNCisNCisJdG11eCBwaXBlLXBhbmUg LU8gLXQgJHtQQU5FX0dVRVNUfSAiY2F0ID4+ICR7TE9HRElSfS9wYW5lX2d1ZXN0LmxvZyINCisJ dG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfR1VFU1R9IC1UICJndWVzdCINCisNCisJdG11eCBz ZW5kLWtleXMgLWwgLXQgJHtQQU5FX0lORk99ICd3aGlsZSBjYXQgJyIkU1RBVEVCQVNFL2xvZ19w aXBlIic7IGRvIDo7IGRvbmUnDQorCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9JTkZPfSAtTiAx MDAgQy1tDQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX0lORk99IC1UICIiDQorDQorCXRt dXggcGlwZS1wYW5lIC1PIC10ICR7UEFORV9IT1NUfSAiY2F0ID4+ICR7TE9HRElSfS9wYW5lX2hv c3QubG9nIg0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9IT1NUfSAtVCAiaG9zdCINCisN CisJdG11eCBwaXBlLXBhbmUgLU8gLXQgJHtQQU5FX1BBU1NUfSAiY2F0ID4+ICR7TE9HRElSfS9w YW5lX3Bhc3N0LmxvZyINCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfUEFTU1R9IC1UICJw YXNzdCBpbiBwYXN0YSAobmFtZXNwYWNlKSINCisNCisJc2xlZXAgMQ0KK30NCisNCisjIGxheW91 dF9kZW1vX3BvZG1hbigpIC0gRm91ciBwYW5lcyBmb3IgcGFzdGEgZGVtbyB3aXRoIFBvZG1hbg0K K2xheW91dF9kZW1vX3BvZG1hbigpIHsNCisJc2xlZXAgMw0KKw0KKwljbWRfd3JpdGUgMCBjZCAk e0JBU0VQQVRIfQ0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKwlzbGVlcCAxDQorCWNtZF93cml0ZSAw IGNsZWFyDQorDQorCXRtdXggc3BsaXQtd2luZG93IC12IC1sICc2NSUnIC10IHBhc3N0X3Rlc3QN CisJdG11eCBzcGxpdC13aW5kb3cgLWggLXQgcGFzc3RfdGVzdA0KKwl0bXV4IHNwbGl0LXdpbmRv dyAtaCAtbCAnNDIlJyAtdCBwYXNzdF90ZXN0OjEuMA0KKw0KKwlQQU5FX0hPU1Q9MA0KKwlQQU5F X0lORk89MQ0KKwlQQU5FX05TMT0yDQorCVBBTkVfTlMyPTMNCisNCisJZ2V0X2luZm9fY29scw0K Kw0KKwl0bXV4IHBpcGUtcGFuZSAtTyAtdCAke1BBTkVfTlMxfSAiY2F0ID4+ICR7TE9HRElSfS9w YW5lX25zMS5sb2ciDQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX05TMX0gLVQgIlBvZG1h biB3aXRoIHNsaXJwNG5ldG5zIg0KKw0KKwl0bXV4IHBpcGUtcGFuZSAtTyAtdCAke1BBTkVfTlMy fSAiY2F0ID4+ICR7TE9HRElSfS9wYW5lX25zMi5sb2ciDQorCXRtdXggc2VsZWN0LXBhbmUgLXQg JHtQQU5FX05TMn0gLVQgIlBvZG1hbiB3aXRoIHBhc3RhIg0KKw0KKwl0bXV4IHNlbmQta2V5cyAt bCAtdCAke1BBTkVfSU5GT30gJ3doaWxlIGNhdCAnIiRTVEFURUJBU0UvbG9nX3BpcGUiJzsgZG8g OjsgZG9uZScNCisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0lORk99IC1OIDEwMCBDLW0NCisJ dG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5GT30gLVQgIiINCisNCisJdG11eCBwaXBlLXBh bmUgLU8gLXQgJHtQQU5FX0hPU1R9ICJjYXQgPj4gJHtMT0dESVJ9L3BhbmVfaG9zdC5sb2ciDQor CXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX0hPU1R9IC1UICJob3N0Ig0KKw0KKwlzbGVlcCAx DQorfQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvbGliL2xheW91dF91Z2x5IGIvb2xkdGVzdC9saWIv bGF5b3V0X3VnbHkNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uMmFhZjFl YzMNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvbGliL2xheW91dF91Z2x5DQpAQCAtMCww ICsxLDExMyBAQA0KKyMhL2Jpbi9zaA0KKyMNCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFu c3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RB IC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3Bh Y2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9saWIvbGF5b3V0X3VnbHkgLSBzY3JlZW4t c2NyYXBlZCB0bXV4IHBhbmUgbGF5b3V0cw0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMiBSZWQg SGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4N CisNCisjIGxheW91dF9ob3N0KCkgLSBTaW1wbGUgaG9zdCBjb21tYW5kcyBsYXlvdXQgd2l0aCBp bmZvIGFuZCBob3N0IHBhbmVzDQorbGF5b3V0X2hvc3QoKSB7DQorCXNsZWVwIDMNCisNCisJdG11 eCBraWxsLXBhbmUgLWEgLXQgMA0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0bXV4IHNwbGl0 LXdpbmRvdyAtaCAtbCAnMzUlJyAtdCBwYXNzdF90ZXN0OjEuMA0KKw0KKwlQQU5FX0hPU1Q9MA0K KwlQQU5FX0lORk89MQ0KKw0KKwlnZXRfaW5mb19jb2xzDQorDQorCXRtdXggc2VuZC1rZXlzIC1s IC10ICR7UEFORV9JTkZPfSAnd2hpbGUgY2F0ICciJFNUQVRFQkFTRS9sb2dfcGlwZSInOyBkbyA6 OyBkb25lJw0KKwl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gLU4gMTAwIEMtbQ0KKwl0 bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZPfSAtVCAidGVzdCBsb2ciDQorDQorCWlmIGNv bnRleHRfZXhpc3RzIGhvc3Q7IHRoZW4NCisJCXBhbmVfd2F0Y2hfY29udGV4dHMgMCBob3N0IGhv c3QNCisJZWxzZQ0KKwkJdG11eCBwaXBlLXBhbmUgLU8gLXQgJHtQQU5FX0hPU1R9ICJjYXQgPj4g JHtMT0dESVJ9L3BhbmVfaG9zdC5sb2ciDQorCQl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9I T1NUfSAtVCAiaG9zdCINCisJZmkNCisNCisJaW5mb19sYXlvdXQgImhvc3QgY29tbWFuZHMgb25s eSINCisNCisJc2xlZXAgMQ0KK30NCisNCisjIGxheW91dF9wYXN0YV9zaW1wbGUoKSAtIFBhbmVz IGZvciBob3N0IGFuZCBwYXN0YQ0KK2xheW91dF9wYXN0YV9zaW1wbGUoKSB7DQorCXNsZWVwIDMN CisNCisJdG11eCBraWxsLXBhbmUgLWEgLXQgMA0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0 bXV4IHNwbGl0LXdpbmRvdyAtdiAtdCBwYXNzdF90ZXN0DQorCXRtdXggc3BsaXQtd2luZG93IC1o IC10IHBhc3N0X3Rlc3QNCisNCisJUEFORV9QQVNTVD0wDQorCVBBTkVfSE9TVD0xDQorCVBBTkVf SU5GTz0yDQorDQorCWdldF9pbmZvX2NvbHMNCisNCisJdG11eCBzZW5kLWtleXMgLWwgLXQgJHtQ QU5FX0lORk99ICd3aGlsZSBjYXQgJyIkU1RBVEVCQVNFL2xvZ19waXBlIic7IGRvIDo7IGRvbmUn DQorCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9JTkZPfSAtTiAxMDAgQy1tDQorCXRtdXggc2Vs ZWN0LXBhbmUgLXQgJHtQQU5FX0lORk99IC1UICJ0ZXN0IGxvZyINCisNCisJaWYgY29udGV4dF9l eGlzdHMgaG9zdDsgdGhlbg0KKwkJcGFuZV93YXRjaF9jb250ZXh0cyAke1BBTkVfSE9TVH0gaG9z dCBob3N0DQorCWVsc2UNCisJCXRtdXggcGlwZS1wYW5lIC1PIC10ICR7UEFORV9IT1NUfSAiY2F0 ID4+ICR7TE9HRElSfS9wYW5lX2hvc3QubG9nIg0KKwkJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BB TkVfSE9TVH0gLVQgImhvc3QiDQorCWZpDQorDQorCWlmIGNvbnRleHRfZXhpc3RzIHBhc3N0OyB0 aGVuDQorCQlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9QQVNTVH0gaG9zdCBob3N0DQorCWVs c2UNCisJCXRtdXggcGlwZS1wYW5lIC1PIC10ICR7UEFORV9QQVNTVH0gImNhdCA+PiAke0xPR0RJ Un0vcGFuZV9wYXNzdC5sb2ciDQorCQl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9QQVNTVH0g LVQgInBhc3RhIg0KKwlmaQ0KKw0KKwlpbmZvX2xheW91dCAic2luZ2xlIHBhc3RhIGluc3RhbmNl Ig0KKw0KKwlzbGVlcCAxDQorfQ0KKw0KKyMgbGF5b3V0X21lbW9yeSgpIC0gU2NyZWVuLXNjcmFw ZWQgcGFuZXMgZm9yIG1lbW9yeSB1c2FnZSB0ZXN0cywgYmlnIGd1ZXN0IHBhbmUNCitsYXlvdXRf bWVtb3J5KCkgew0KKwlzbGVlcCAzDQorDQorCXRtdXgga2lsbC1wYW5lIC1hIC10IDANCisJY21k X3dyaXRlIDAgY2xlYXINCisNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzM1JScgLXQgcGFz c3RfdGVzdA0KKw0KKwlQQU5FX0dVRVNUPTANCisJUEFORV9JTkZPPTENCisNCisJZ2V0X2luZm9f Y29scw0KKw0KKwl0bXV4IHNlbmQta2V5cyAtbCAtdCAke1BBTkVfSU5GT30gJ3doaWxlIGNhdCAn IiRTVEFURUJBU0UvbG9nX3BpcGUiJzsgZG8gOjsgZG9uZScNCisJdG11eCBzZW5kLWtleXMgLXQg JHtQQU5FX0lORk99IC1OIDEwMCBDLW0NCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5G T30gLVQgInRlc3QgbG9nIg0KKw0KKwlpZiBjb250ZXh0X2V4aXN0cyBndWVzdDsgdGhlbg0KKwkJ cGFuZV93YXRjaF9jb250ZXh0cyAke1BBTkVfR1VFU1R9IGd1ZXN0IGd1ZXN0DQorCWVsc2UNCisJ CXRtdXggcGlwZS1wYW5lIC1PIC10ICR7UEFORV9HVUVTVH0gImNhdCA+PiAke0xPR0RJUn0vcGFu ZV9ndWVzdC5sb2ciDQorCQl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9HVUVTVH0gLVQgImd1 ZXN0Ig0KKwlmaQ0KKw0KKwlpbmZvX2xheW91dCAibWVtb3J5IHVzYWdlIg0KKw0KKwlzbGVlcCAx DQorfQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvbGliL3BlcmZfcmVwb3J0IGIvb2xkdGVzdC9saWIv cGVyZl9yZXBvcnQNCm5ldyBmaWxlIG1vZGUgMTAwNzU1DQppbmRleCAwMDAwMDAwMC4uZDUxYTJi NGUNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvbGliL3BlcmZfcmVwb3J0DQpAQCAtMCww ICsxLDI3MiBAQA0KKyMhL2Jpbi9zaA0KKyMNCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFu c3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RB IC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3Bh Y2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9saWIvcGVyZl9yZXBvcnQgLSBQcmVwYXJl IEphdmFTY3JpcHQgcmVwb3J0IGZvciBwZXJmb3JtYW5jZSB0ZXN0cw0KKyMNCisjIENvcHlyaWdo dCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2 aW9AcmVkaGF0LmNvbT4NCisNCitQRVJGX0lOSVQ9MA0KK1BFUkZfTElOS19DT1VOVD0wDQorUEVS Rl9KUz0iJHtMT0dESVJ9L3dlYi9wZXJmLmpzIg0KKw0KK1BFUkZfVEVNUExBVEVfSFRNTD0iZG9j dW1lbnQud3JpdGUoJyInDQorVGhyb3VnaHB1dCBpbiBHYnBzLCBsYXRlbmN5IGluIMK1cy4gVGhy ZWFkcyBhcmUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Ij5pcGVyZjM8L3Nw YW4+IHByb2Nlc3NlcywgPGk+cGFzc3Q8L2k+IGFuZCA8aT5wYXN0YTwvaT4gYXJlIGN1cnJlbnRs eSBzaW5nbGUtdGhyZWFkZWQuPGJyLz4NCitDbGljayBvbiBudW1iZXJzIHRvIHNob3cgdGVzdCBl eGVjdXRpb24uIE1lYXN1cmVkIGF0IGhlYWQsIGNvbW1pdCA8c3BhbiBzdHlsZT0iZm9udC1mYW1p bHk6IG1vbm9zcGFjZTsiPl9fY29tbWl0X188L3NwYW4+Lg0KKw0KKzxzdHlsZSB0eXBlPSJ0ZXh0 L0NTUyI+DQordGFibGUucGFzc3QgdGQgeyBib3JkZXI6IDBweCBzb2xpZDsgcGFkZGluZzogNnB4 OyBsaW5lLWhlaWdodDogMTsgfQ0KK3RhYmxlLnBhc3N0IHRkIHsgdGV4dC1hbGlnbjogcmlnaHQ7 IH0NCit0YWJsZS5wYXNzdCB0aCB7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IGJv bGQ7IH0NCit0YWJsZS5wYXNzdCB0cjpub3QoOmZpcnN0LW9mLXR5cGUpIHRkOm5vdCg6Zmlyc3Qt b2YtdHlwZSkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZGVyOyB9 DQordGFibGUucGFzc3QgdHI6bnRoLWNoaWxkKDNuKzApIHsgYmFja2dyb3VuZC1jb2xvcjogIzEx MjMxNTsgfQ0KK3RhYmxlLnBhc3N0IHRyOm5vdCg6bnRoLWNoaWxkKDNuKzApKSB0ZCB7IGJhY2tn cm91bmQtY29sb3I6ICMxMDEwMTA7IH0NCit0YWJsZS5wYXNzdCB0ZDpudGgtY2hpbGQoNm4rNykg eyBiYWNrZ3JvdW5kLWNvbG9yOiAjNjAzMzAyOyB9DQordGFibGUucGFzc3QgdHI6bnRoLWNoaWxk KDEpIHsgYmFja2dyb3VuZC1jb2xvcjogIzM2M2U2MTsgfQ0KK3RkOmVtcHR5IHsgdmlzaWJpbGl0 eTogaGlkZGVuOyB9DQorPC9zdHlsZT4NCisNCis8dWw+DQorPGxpPjxwPnBhc3N0PC9wPg0KKzx0 YWJsZSBjbGFzcz0icGFzc3QiIHdpZHRoPSI3MCUiPg0KKwk8dHI+DQorCQk8dGgvPg0KKwkJPHRo IGlkPSJwZXJmX3Bhc3N0X3RjcCIgY29sc3Bhbj0iX19wYXNzdF90Y3BfY29sc19fIj5UQ1AsIF9f cGFzc3RfdGNwX3RocmVhZHNfXyBhdCBfX3Bhc3N0X3RjcF9mcmVxX18gR0h6PC90aD4NCisJCTx0 aCBpZD0icGVyZl9wYXNzdF91ZHAiIGNvbHNwYW49Il9fcGFzc3RfdWRwX2NvbHNfXyI+VURQLCBf X3Bhc3N0X3VkcF90aHJlYWRzX18gYXQgX19wYXNzdF91ZHBfZnJlcV9fIEdIejwvdGg+DQorCTwv dHI+DQorCTx0cj4NCisJCTx0ZCBhbGlnbj0icmlnaHQiPk1UVTo8L3RkPg0KKwkJX19wYXNzdF90 Y3BfaGVhZGVyX18NCisJCV9fcGFzc3RfdWRwX2hlYWRlcl9fDQorCTwvdHI+DQorCV9fcGFzc3Rf dGNwX0xJTkVfXyBfX3Bhc3N0X3VkcF9MSU5FX18NCis8L3RhYmxlPg0KKw0KKzxzdHlsZSB0eXBl PSJ0ZXh0L0NTUyI+DQordGFibGUucGFzdGEgdGQgeyBib3JkZXI6IDBweCBzb2xpZDsgcGFkZGlu ZzogNnB4OyBsaW5lLWhlaWdodDogMTsgfQ0KK3RhYmxlLnBhc3RhIHRkIHsgdGV4dC1hbGlnbjog cmlnaHQ7IH0NCit0YWJsZS5wYXN0YSB0aCB7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWln aHQ6IGJvbGQ7IH0NCit0YWJsZS5wYXN0YSB0cjpub3QoOmZpcnN0LW9mLXR5cGUpIHRkOm5vdCg6 Zmlyc3Qtb2YtdHlwZSkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9s ZGVyOyB9DQordGFibGUucGFzdGEgdHI6bnRoLWNoaWxkKDNuKzApIHsgYmFja2dyb3VuZC1jb2xv cjogIzExMjMxNTsgfQ0KK3RhYmxlLnBhc3RhIHRyOm5vdCg6bnRoLWNoaWxkKDNuKzApKSB0ZCB7 IGJhY2tncm91bmQtY29sb3I6ICMxMDEwMTA7IH0NCit0YWJsZS5wYXN0YSB0ZDpudGgtY2hpbGQo NG4rNSkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNjAzMzAyOyB9DQordGFibGUucGFzdGEgdHI6bnRo LWNoaWxkKDEpIHsgYmFja2dyb3VuZC1jb2xvcjogIzM2M2U2MTsgfQ0KK3RkOmVtcHR5IHsgdmlz aWJpbGl0eTogaGlkZGVuOyB9DQorPC9zdHlsZT4NCisNCis8L2xpPjxsaT48cD5wYXN0YTogbG9j YWwgY29ubmVjdGlvbnMvdHJhZmZpYzwvcD4NCis8dGFibGUgY2xhc3M9InBhc3RhIiB3aWR0aD0i NzAlIj4NCisJPHRyPg0KKwkJPHRoLz4NCisJCTx0aCBpZD0icGVyZl9wYXN0YV9sb190Y3AiIGNv bHNwYW49Il9fcGFzdGFfbG9fdGNwX2NvbHNfXyI+VENQLCBfX3Bhc3RhX2xvX3RjcF90aHJlYWRz X18gYXQgX19wYXN0YV9sb190Y3BfZnJlcV9fIEdIejwvdGg+DQorCQk8dGggaWQ9InBlcmZfcGFz dGFfbG9fdWRwIiBjb2xzcGFuPSJfX3Bhc3RhX2xvX3VkcF9jb2xzX18iPlVEUCwgX19wYXN0YV9s b191ZHBfdGhyZWFkc19fIGF0IF9fcGFzdGFfbG9fdWRwX2ZyZXFfXyBHSHo8L3RoPg0KKwk8L3Ro Pg0KKwk8dHI+DQorCQk8dGQgYWxpZ249InJpZ2h0Ij5NVFU6PC90ZD4NCisJCV9fcGFzdGFfbG9f dGNwX2hlYWRlcl9fDQorCQlfX3Bhc3RhX2xvX3VkcF9oZWFkZXJfXw0KKwk8L3RyPg0KKwlfX3Bh c3RhX2xvX3RjcF9MSU5FX18gX19wYXN0YV9sb191ZHBfTElORV9fDQorPC90YWJsZT4NCisNCis8 L2xpPjxsaT48cD5wYXN0YTogY29ubmVjdGlvbnMvdHJhZmZpYyB2aWEgdGFwPC9wPg0KKzx0YWJs ZSBjbGFzcz0icGFzdGEiIHdpZHRoPSI3MCUiPg0KKwk8dHI+DQorCQk8dGgvPg0KKwkJPHRoIGlk PSJwZXJmX3Bhc3RhX3RhcF90Y3AiIGNvbHNwYW49Il9fcGFzdGFfdGFwX3RjcF9jb2xzX18iPlRD UCwgX19wYXN0YV90YXBfdGNwX3RocmVhZHNfXyBhdCBfX3Bhc3RhX3RhcF90Y3BfZnJlcV9fIEdI ejwvdGg+DQorCQk8dGggaWQ9InBlcmZfcGFzdGFfdGFwX3VkcCIgY29sc3Bhbj0iX19wYXN0YV90 YXBfdWRwX2NvbHNfXyI+VURQLCBfX3Bhc3RhX3RhcF91ZHBfdGhyZWFkc19fIGF0IF9fcGFzdGFf dGFwX3VkcF9mcmVxX18gR0h6PC90aD4NCisJPC90cj4NCisJPHRyPg0KKwkJPHRkIGFsaWduPSJy aWdodCI+TVRVOjwvdGQ+DQorCQlfX3Bhc3RhX3RhcF90Y3BfaGVhZGVyX18NCisJCV9fcGFzdGFf dGFwX3VkcF9oZWFkZXJfXw0KKwk8L3RyPg0KKwlfX3Bhc3RhX3RhcF90Y3BfTElORV9fIF9fcGFz dGFfdGFwX3VkcF9MSU5FX18NCis8L3RhYmxlPg0KKw0KKzwvbGk+PC91bD4nDQorDQorUEVSRl9U RU1QTEFURV9KUz0iJyk7DQorDQordmFyIHBlcmZfbGlua3MgPSBbDQorIg0KKw0KK1BFUkZfVEVN UExBVEVfUE9TVD0nXTsNCisNCitmb3IgKHZhciBpID0gMDsgaSA8IHBlcmZfbGlua3MubGVuZ3Ro OyBpKyspIHsNCisJdmFyIG9iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHBlcmZfbGlua3Nb aV1bMF0pOw0KKw0KKwlvYmouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbihldmVu dCkgew0KKwkJdmFyIGNpX3ZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNpIik7DQor CQl2YXIgdG9wID0gY2lfdmlkZW8ub2Zmc2V0VG9wIC0gNTsNCisJCXZhciBzZWVrOw0KKw0KKwkJ Zm9yICh2YXIgaSA9IDA7IGkgPCBwZXJmX2xpbmtzLmxlbmd0aDsgaSsrKSB7DQorCQkJaWYgKHRo aXMuaWQgPT0gcGVyZl9saW5rc1tpXVswXSkgew0KKwkJCQlzZWVrID0gcGVyZl9saW5rc1tpXVsx XTsNCisJCQl9DQorCQl9DQorDQorCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KKwkJY2lfcGxh eWVyLmRpc3Bvc2UoKTsNCisJCWNpX3BsYXllciA9IEFzY2lpbmVtYVBsYXllci5jcmVhdGUoIi9i dWlsZHMvbGF0ZXN0L3dlYi9jaS5jYXN0IiwNCisJCQkJCQkgICBjaV92aWRlbywNCisJCQkJCQkg ICB7IGNvbHM6IDI0MCwgcm93czogNTEsIHBvc3RlcjogIm5wdDo5OTk6MCIsIHN0YXJ0QXQ6IHNl ZWssIGF1dG9wbGF5OiB0cnVlIH0pOw0KKw0KKwkJd2luZG93LnNjcm9sbFRvKHsgdG9wOiB0b3As IGJlaGF2aW9yOiAic21vb3RoIiB9KQ0KKwl9LCBmYWxzZSk7DQorfQ0KKycNCisNCisjIHBlcmZf aW5pdCgpIC0gUHJvY2VzcyBmaXJzdCBwYXJ0IG9mIHRlbXBsYXRlDQorcGVyZl9pbml0KCkgew0K KyAgICAgICAgbWtkaXIgLXAgIiQoZGlybmFtZSAiJHtQRVJGX0pTfSIpIg0KKwllY2hvICIke1BF UkZfVEVNUExBVEVfSFRNTH0iID4gIiR7UEVSRl9KU30iDQorCXBlcmZfcmVwb3J0X3N1YiBjb21t aXQgIiQoZWNobyAke0NPTU1JVH0gfCBzZWQgInMvJy9cXFwnL2ciKSINCisJUEVSRl9JTklUPTEN Cit9DQorDQorIyBwZXJmX2ZpbGxfbGluZXMoKSAtIEZpbGwgbXVsdGlwbGUgIkxJTkUiIGRpcmVj dGl2ZXMgaW4gdGVtcGxhdGUsIG1hdGNoaW5nIHJvd3MNCitwZXJmX2ZpbGxfbGluZXMoKSB7DQor CXdoaWxlIHRydWU7IGRvDQorCQlfX2ZpbGVfbGluZT0iJChzZWQgLW4gJy9fXy4qX0xJTkVfXy97 PTtxfScgIiR7UEVSRl9KU30iKSINCisJCVsgLXogIiR7X19maWxlX2xpbmV9IiBdICYmIGJyZWFr DQorDQorCQlfX2xpbmVfbm89MA0KKwkJX19kb25lPTANCisJCV9fbGluZV9idWY9Ijx0cj4iDQor CQl3aGlsZSB0cnVlOyBkbw0KKwkJCV9fbWF0Y2hfZmlyc3RfdGQ9MA0KKwkJCWZvciBfX3QgaW4g JChzZWQgLW4gJy9fXy4qX0xJTkVfXy97cDtxfScgIiR7UEVSRl9KU30iKTsgZG8NCisJCQkJaWYg WyAke19fbWF0Y2hfZmlyc3RfdGR9IC1lcSAxIF07IHRoZW4NCisJCQkJCV9fbWF0Y2hpbmdfbGlu ZV9ubz0wDQorCQkJCQl3aGlsZSB0cnVlOyBkbw0KKwkJCQkJCV9fbGluZV9wYXJ0PQ0KKwkJCQkJ CV9fdmFyX25hbWU9IiQoZWNobyAkX190IHwgc2VkIC1uICdzL19fXCguKlwpX18vXDFfJyIke19f bWF0Y2hpbmdfbGluZV9ub30iJy9wJykiDQorCQkJCQkJWyAteiAiJChldmFsIGVjaG8gXCQke19f dmFyX25hbWV9KSIgXSAmJiBicmVhaw0KKwkJCQkJCV9fbGluZV9wYXJ0PSIkKGV2YWwgZWNobyBc JCR7X192YXJfbmFtZX0pIg0KKwkJCQkJCV9fdGRfY2hlY2s9IiQoZWNobyAiJHtfX2xpbmVfcGFy dH0iIHwgc2VkIC1uICdzL148dGQ+XChbXj5dKlwpPFwvdGQ+LiokL1wxL3AnKSINCisJCQkJCQlp ZiBbICIke19fdGRfY2hlY2t9IiA9ICIke19fdGRfbWF0Y2h9IiBdOyB0aGVuDQorCQkJCQkJCV9f bGluZV9wYXJ0PSIkKGVjaG8gIiR7X19saW5lX3BhcnR9IiB8IHNlZCAtbiAncy9ePHRkPltePl0q PFwvdGQ+XCguKlwpJC9cMS9wJykiDQorCQkJCQkJCWJyZWFrDQorCQkJCQkJZmkNCisJCQkJCQlf X21hdGNoaW5nX2xpbmVfbm89JCgoX19tYXRjaGluZ19saW5lX25vICsgMSkpDQorCQkJCQlkb25l DQorCQkJCWVsc2UNCisJCQkJCV9fdmFyX25hbWU9IiQoZWNobyAkX190IHwgc2VkIC1uICdzL19f XCguKlwpX18vXDFfJyIke19fbGluZV9ub30iJy9wJykiDQorCQkJCQlbIC16ICIkKGV2YWwgZWNo byBcJCR7X192YXJfbmFtZX0pIiBdICYmIF9fZG9uZT0xICYmIGJyZWFrDQorCQkJCQlfX2xpbmVf cGFydD0iJChldmFsIGVjaG8gXCQke19fdmFyX25hbWV9KSINCisJCQkJCV9fdGRfbWF0Y2g9IiQo ZWNobyAiJHtfX2xpbmVfcGFydH0iIHwgc2VkIC1uICdzL148dGQ+XChbXj5dKlwpPFwvdGQ+Liok L1wxL3AnKSINCisJCQkJZmkNCisJCQkJX19saW5lX2J1Zj0iJHtfX2xpbmVfYnVmfSR7X19saW5l X3BhcnR9Ig0KKwkJCQlfX21hdGNoX2ZpcnN0X3RkPTENCisJCQlkb25lDQorCQkJWyAke19fZG9u ZX0gLWVxIDEgXSAmJiBicmVhaw0KKwkJCV9fbGluZV9ubz0kKChfX2xpbmVfbm8gKyAxKSkNCisJ CQlfX2xpbmVfYnVmPSIke19fbGluZV9idWZ9PC90cj48dHI+Ig0KKwkJZG9uZQ0KKwkJX19saW5l X2J1Zj0iJHtfX2xpbmVfYnVmfTwvdHI+Ig0KKwkJX19saW5lX2J1Zj0iJChwcmludGYgJyVzXG4n ICIke19fbGluZV9idWZ9IiB8IHNlZCAtZSAncy9bXVwvJCouXltdL1xcJi9nJykiDQorCQlzZWQg LWkgIiR7X19maWxlX2xpbmV9cy8uKi8ke19fbGluZV9idWZ9LyIgIiR7UEVSRl9KU30iDQorCWRv bmUNCit9DQorDQorIyBwZXJmX2ZpbmlzaCgpIC0gQWRkIHRyYWlsaW5nIGJhY2tzbGFzaGVzIGFu ZCBwcm9jZXNzIGVuZGluZyB0ZW1wbGF0ZXMNCitwZXJmX2ZpbmlzaCgpIHsNCisJUEVSRl9JTklU PTANCisJcGVyZl9maWxsX2xpbmVzDQorCXNlZCAtaSAncy9eLiokLyZcXC9nJyAiJHtQRVJGX0pT fSINCisJZWNobyAiJHtQRVJGX1RFTVBMQVRFX0pTfSIgPj4gIiR7UEVSRl9KU30iDQorCWVjaG8g IiR7UEVSRl9URU1QTEFURV9QT1NUfSIgPj4gIiR7UEVSRl9KU30iDQorfQ0KKw0KKyMgcGVyZl9y ZXBvcnRfc3ViKCkgLSBBcHBseSBzaW1wbGUgc3Vic3RpdHV0aW9ucyBpbiB0ZW1wbGF0ZQ0KK3Bl cmZfcmVwb3J0X3N1YigpIHsNCisJX19ldD0iJChwcmludGYgJyVzXG4nICIkezF9IiB8IHNlZCAt ZSAncy9bXC8mXS9cXCYvZycpIg0KKwlfX2VzPSIkKHByaW50ZiAnJXNcbicgIiR7Mn0iIHwgc2Vk IC1lICdzL1tdXC8kKi5eW10vXFwmL2cnKSINCisNCisJc2VkIC1pICdzL19fJyIke19fZXR9Iidf Xy8nIiR7X19lc30iJy9nJyAiJHtQRVJGX0pTfSINCit9DQorDQorIyBwZXJmX3JlcG9ydF9hcHBl bmRfanMoKSAtIEFwcGVuZCBnZW5lcmljIHN0cmluZyB0byBjdXJyZW50IHRlbXBsYXRlIGJ1ZmZl cg0KK3BlcmZfcmVwb3J0X2FwcGVuZF9qcygpIHsNCisJUEVSRl9URU1QTEFURV9KUz0iJHtQRVJG X1RFTVBMQVRFX0pTfSR7QH0iDQorfQ0KKw0KKyMgcGVyZl9yZXBvcnQoKSAtIFN0YXJ0IG9mIHNp bmdsZSB0ZXN0IHJlcG9ydA0KK3BlcmZfcmVwb3J0KCkgew0KKwlfX21vZGU9IiR7MX0iDQorCV9f cHJvdG89IiR7Mn0iDQorCV9fdGhyZWFkcz0iJHszfSINCisJX19mcmVxPSIkezR9Ig0KKw0KKwlS RVBPUlRfSU49IiR7X19tb2RlfV8ke19fcHJvdG99Ig0KKw0KKwlbICR7X190aHJlYWRzfSAtZXEg MSBdICYmIF9fdGhyZWFkcz0ib25lIHRocmVhZCIgfHwgX190aHJlYWRzPSIke19fdGhyZWFkc30g dGhyZWFkcyINCisJcGVyZl9yZXBvcnRfc3ViICIke19fbW9kZX1fJHtfX3Byb3RvfV90aHJlYWRz IiAiJHtfX3RocmVhZHN9Ig0KKwlwZXJmX3JlcG9ydF9zdWIgIiR7X19tb2RlfV8ke19fcHJvdG99 X2ZyZXEiICIke19fZnJlcX0iDQorDQorCXBlcmZfcmVwb3J0X2FwcGVuZF9qcyAiWyAncGVyZl8k e19fbW9kZX1fJHtfX3Byb3RvfScsICQodmlkZW9fdGltZV9ub3cpIF0sIg0KK30NCisNCisjIHBl cmZfdGgoKSAtIFRhYmxlIGhlYWRlciBmb3IgYSBzZXQgb2YgdGVzdHMNCitwZXJmX3RoKCkgew0K KwlbICR7UEVSRl9JTklUfSAtZXEgMCBdICYmIHJldHVybg0KKw0KKwlzaGlmdA0KKw0KKwlfX3Ro X2J1Zj0NCisJX19jb2xzX2NvdW50PTANCisJZm9yIF9fYXJnOyBkbw0KKwkJX190aF9idWY9IiR7 X190aF9idWZ9PHRkPiR7X19hcmd9PC90ZD4iDQorCQlfX2NvbHNfY291bnQ9JCgoX19jb2xzX2Nv dW50ICsgMSkpDQorCWRvbmUNCisJcGVyZl9yZXBvcnRfc3ViICIke1JFUE9SVF9JTn1faGVhZGVy IiAiJHtfX3RoX2J1Zn0iDQorCXBlcmZfcmVwb3J0X3N1YiAiJHtSRVBPUlRfSU59X2NvbHMiICR7 X19jb2xzX2NvdW50fQ0KK30NCisNCisjIHBlcmZfdHIoKSAtIE1haW4gdGFibGUgcm93DQorcGVy Zl90cigpIHsNCisJWyAke1BFUkZfSU5JVH0gLWVxIDAgXSAmJiByZXR1cm4NCisNCisJX19saW5l X25vPTANCisJc2hpZnQNCisJd2hpbGUgdHJ1ZTsgZG8NCisJCVsgLXogIiQoZXZhbCBlY2hvIFwk JHtSRVBPUlRfSU59X0xJTkVfJHtfX2xpbmVfbm99KSIgXSAmJiBicmVhaw0KKwkJX19saW5lX25v PSQoKF9fbGluZV9ubyArIDEpKQ0KKwlkb25lDQorCWV2YWwgJHtSRVBPUlRfSU59X0xJTkVfJHtf X2xpbmVfbm99PSJcIjx0ZD4ke0B9PC90ZD5cIiINCit9DQorDQorIyBwZXJmX3RkKCkgLSBTaW5n bGUgY2VsbCB3aXRoIHRlc3QgcmVzdWx0DQorcGVyZl90ZCgpIHsNCisJWyAke1BFUkZfSU5JVH0g LWVxIDAgXSAmJiByZXR1cm4NCisNCisJX19yZXdpbmQ9IiR7MX0iDQorCXNoaWZ0DQorDQorCV9f bGluZV9ubz0wDQorCXdoaWxlIHRydWU7IGRvDQorCQlbIC16ICIkKGV2YWwgZWNobyBcJCR7UkVQ T1JUX0lOfV9MSU5FXyR7X19saW5lX25vfSkiIF0gJiYgYnJlYWsNCisJCV9fbGluZV9ubz0kKChf X2xpbmVfbm8gKyAxKSkNCisJZG9uZQ0KKwlfX2xpbmVfbm89JCgoX19saW5lX25vIC0gMSkpDQor CVsgLXogIiR7MX0iIF0gJiYgX19pZD0wIHx8IF9faWQ9InBlcmZfJHtQRVJGX0xJTktfQ09VTlR9 Ig0KKwlldmFsICR7UkVQT1JUX0lOfV9MSU5FXyR7X19saW5lX25vfT1cIiJcJHske1JFUE9SVF9J Tn1fTElORV8ke19fbGluZV9ub319PHRkIGlkPVwiJHtfX2lkfVwiPiR7MX08L3RkPiJcIg0KKwlb IC16ICIkezF9IiBdICYmIHJldHVybg0KKw0KKwlwZXJmX3JlcG9ydF9hcHBlbmRfanMgIlsgJyR7 X19pZH0nLCAkKCgkKHZpZGVvX3RpbWVfbm93KSAtICR7X19yZXdpbmR9KSkgXSwiDQorCVBFUkZf TElOS19DT1VOVD0kKChQRVJGX0xJTktfQ09VTlQgKyAxKSkNCit9DQorDQorIyBwZXJmX3RlKCkg LSBFbmQgb2YgYSB0YWJsZSwgY3VycmVudGx5IHVudXNlZA0KK3BlcnRfdGUoKSB7DQorCToNCit9 DQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9saWIvc2V0dXAgYi9vbGR0ZXN0L2xpYi9zZXR1cA0KbmV3 IGZpbGUgbW9kZSAxMDA3NTUNCmluZGV4IDAwMDAwMDAwLi45YjM5YjlmZQ0KLS0tIC9kZXYvbnVs bA0KKysrIGIvb2xkdGVzdC9saWIvc2V0dXANCkBAIC0wLDAgKzEsMzg1IEBADQorIyEvYmluL3No DQorIw0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQor IyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VO SVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBB YnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisj DQorIyB0ZXN0L2xpYi9zZXR1cCAtIFNldCB1cCBhbmQgdGVhciBkb3duIHBhc3N0IGFuZCBwYXN0 YSBlbnZpcm9ubWVudHMNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQor IyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorSU5JVFJB TUZTPSIke0JBU0VQQVRIfS9tYnV0by5pbWciDQorVkNQVVM9IiQoIFsgJChucHJvYykgLWdlIDgg XSAmJiBlY2hvIDYgfHwgZWNobyAkKCggJChucHJvYykgLyAyICsgMSApKSApIg0KK19fbWVtX2tp Yj0iJChzZWQgLW4gJ3MvTWVtVG90YWw6WyBdKlwoWzAtOV0qXCkga0IvXDEvcCcgL3Byb2MvbWVt aW5mbykiDQorVk1FTT0iJCgoJHtfX21lbV9raWJ9IC8gMTAyNCAvIDQpKSINCisNCisjIHNldHVw X2J1aWxkKCkgLSBTZXQgdXAgcGFuZSBsYXlvdXQgZm9yIGJ1aWxkIHRlc3RzDQorc2V0dXBfYnVp bGQoKSB7DQorCWNvbnRleHRfc2V0dXBfaG9zdCBob3N0DQorDQorCWxheW91dF9ob3N0DQorfQ0K Kw0KKyMgc2V0dXBfcGFzc3QoKSAtIFN0YXJ0IHFlbXUgYW5kIHBhc3N0DQorc2V0dXBfcGFzc3Qo KSB7DQorCWNvbnRleHRfc2V0dXBfaG9zdCBob3N0DQorCWNvbnRleHRfc2V0dXBfaG9zdCBwYXNz dA0KKwljb250ZXh0X3NldHVwX2hvc3QgcWVtdQ0KKw0KKwlsYXlvdXRfcGFzc3QNCisNCisJIyBQ b3J0czoNCisJIw0KKwkjICAgICAgICAgICAgICBndWVzdCAgICB8ICAgICAgICBob3N0DQorCSMg ICAgICAgICAtLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisJIyAgMTAwMDEg ICAgIGFzIHNlcnZlciAgfCAgZm9yd2FyZGVkIHRvIGd1ZXN0DQorCSMgIDEwMDAzICAgICAgICAg ICAgICAgIHwgICAgICBhcyBzZXJ2ZXINCisNCisJX19vcHRzPQ0KKwlbICR7UENBUH0gLWVxIDEg XSAmJiBfX29wdHM9IiR7X19vcHRzfSAtcCAke0xPR0RJUn0vcGFzc3QucGNhcCINCisJWyAke0RF QlVHfSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29wdHN9IC1kIg0KKwlbICR7VFJBQ0V9IC1lcSAx IF0gJiYgX19vcHRzPSIke19fb3B0c30gLS10cmFjZSINCisNCisJY29udGV4dF9ydW4gcGFzc3Qg Im1ha2UgY2xlYW4iDQorCWNvbnRleHRfcnVuIHBhc3N0ICJtYWtlIHZhbGdyaW5kIg0KKwljb250 ZXh0X3J1bl9iZyBwYXNzdCAidmFsZ3JpbmQgLS1tYXgtc3RhY2tmcmFtZT0kKCg0ICogMTAyNCAq IDEwMjQpKSAtLXRyYWNlLWNoaWxkcmVuPXllcyAtLXZnZGI9bm8gLS1lcnJvci1leGl0Y29kZT0x IC0tc3VwcHJlc3Npb25zPXRlc3QvdmFsZ3JpbmQuc3VwcCAuL3Bhc3N0ICR7X19vcHRzfSAtcyAk e1NUQVRFU0VUVVB9L3Bhc3N0LnNvY2tldCAtZiAtdCAxMDAwMSAtdSAxMDAwMSAtUCAke1NUQVRF U0VUVVB9L3Bhc3N0LnBpZCINCisNCisJIyBwaWRmaWxlIGlzbid0IGNyZWF0ZWQgdW50aWwgcGFz c3QgaXMgbGlzdGVuaW5nDQorCXdhaXRfZm9yIFsgLWYgIiR7U1RBVEVTRVRVUH0vcGFzc3QucGlk IiBdDQorDQorCUdVRVNUX0NJRD05NDU1Nw0KKwljb250ZXh0X3J1bl9iZyBxZW11ICdxZW11LXN5 c3RlbS0kKHVuYW1lIC1tKScJCQkgICBcDQorCQknIC1tYWNoaW5lIGFjY2VsPWt2bScgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCisJCScgLW0gJyR7Vk1FTX0nIC1jcHUg aG9zdCAtc21wICcke1ZDUFVTfSAgICAgICAgICAgICAgICAgICAgXA0KKwkJJyAta2VybmVsICcg Ii9ib290L3ZtbGludXotJCh1bmFtZSAtcikiCQkJICAgXA0KKwkJJyAtaW5pdHJkICcke0lOSVRS QU1GU30nIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbycJICAgXA0KKwkJJyAtbm9kZWZhdWx0cycJ CQkJCQkgICBcDQorCQknIC1hcHBlbmQgImNvbnNvbGU9dHR5UzAgbWl0aWdhdGlvbnM9b2ZmIGFw cGFybW9yPTAiICcJICAgXA0KKwkJJyAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAn CQkJICAgXA0KKwkJIiAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11 bml4LGFkZHIucGF0aD0ke1NUQVRFU0VUVVB9L3Bhc3N0LnNvY2tldCAiIFwNCisJCSIgLXBpZGZp bGUgJHtTVEFURVNFVFVQfS9xZW11LnBpZCIJCQkgICBcDQorCQkiIC1kZXZpY2Ugdmhvc3QtdnNv Y2stcGNpLGd1ZXN0LWNpZD0kR1VFU1RfQ0lEIg0KKw0KKwljb250ZXh0X3NldHVwX2d1ZXN0IGd1 ZXN0ICRHVUVTVF9DSUQNCit9DQorDQorIyBzZXR1cF9wYXN0YSgpIC0gQ3JlYXRlIGEgbmV0d29y ayBhbmQgdXNlciBuYW1lc3BhY2UsIGNvbm5lY3QgcGFzdGEgdG8gaXQNCitzZXR1cF9wYXN0YSgp IHsNCisJY29udGV4dF9zZXR1cF9ob3N0IGhvc3QNCisJY29udGV4dF9zZXR1cF9ob3N0IHBhc3N0 DQorCWNvbnRleHRfc2V0dXBfaG9zdCB1bnNoYXJlDQorDQorCWxheW91dF9wYXN0YQ0KKw0KKwlj b250ZXh0X3J1bl9iZyB1bnNoYXJlICJ1bnNoYXJlIC1yVW5wZiAke05TVE9PTH0gaG9sZCAke1NU QVRFU0VUVVB9L25zLmhvbGQiDQorDQorCWNvbnRleHRfc2V0dXBfbnN0b29sIG5zICR7U1RBVEVT RVRVUH0vbnMuaG9sZA0KKw0KKwkjIFBvcnRzOg0KKwkjDQorCSMgICAgICAgICAgICAgICAgIG5z ICAgICAgICB8ICAgICAgICAgaG9zdA0KKwkjICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tfC0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKwkjICAxMDAwMiAgICAgIGFzIHNlcnZlciAgICAgfCAgICBz cGxpY2VkIHRvIG5zDQorCSMgIDEwMDAzICAgc3BsaWNlZCB0byBpbml0ICB8ICAgICAgYXMgc2Vy dmVyDQorDQorCV9fb3B0cz0NCisJWyAke1BDQVB9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0 c30gLXAgJHtMT0dESVJ9L3Bhc3RhLnBjYXAiDQorCVsgJHtERUJVR30gLWVxIDEgXSAmJiBfX29w dHM9IiR7X19vcHRzfSAtZCINCisJWyAke1RSQUNFfSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29w dHN9IC0tdHJhY2UiDQorDQorCWNvbnRleHRfcnVuX2JnIHBhc3N0ICIuL3Bhc3RhICR7X19vcHRz fSAtZiAtdCAxMDAwMiAtVCAxMDAwMyAtdSAxMDAwMiAtVSAxMDAwMyAtUCAke1NUQVRFU0VUVVB9 L3Bhc3N0LnBpZCAkKCR7TlNUT09MfSBpbmZvIC1wdyAke1NUQVRFU0VUVVB9L25zLmhvbGQpIg0K Kw0KKwkjIHBpZGZpbGUgaXNuJ3QgY3JlYXRlZCB1bnRpbCBwYXN0YSBpcyByZWFkeQ0KKwl3YWl0 X2ZvciBbIC1mICIke1NUQVRFU0VUVVB9L3Bhc3N0LnBpZCIgXQ0KK30NCisNCisjIHNldHVwX3Bh c3N0X2luX25zKCkgLSBTZXQgdXAgbmFtZXNwYWNlICh3aXRoIHBhc3RhKSwgcnVuIHFlbXUgYW5k IHBhc3N0IGludG8gaXQNCitzZXR1cF9wYXNzdF9pbl9ucygpIHsNCisJY29udGV4dF9zZXR1cF9o b3N0IGhvc3QNCisJY29udGV4dF9zZXR1cF9ob3N0IHBhc3RhDQorDQorCWxheW91dF9wYXNzdF9p bl9wYXN0YQ0KKw0KKwkjIFBvcnRzOg0KKwkjDQorCSMgICAgICAgICAgICAgZ3Vlc3QgICAgfCAg ICAgICAgIG5zICAgICAgICAgfCAgICAgICBob3N0DQorCSMgICAgICAgICAtLS0tLS0tLS0tLS0t fC0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tDQorCSMgIDEwMDAxICAgIGFz IHNlcnZlciAgfCBmb3J3YXJkZWQgdG8gZ3Vlc3QgfCAgc3BsaWNlZCB0byBucw0KKwkjICAxMDAw MiAgICAgICAgICAgICAgIHwgICAgIGFzIHNlcnZlciAgICAgIHwgIHNwbGljZWQgdG8gbnMNCisJ IyAgMTAwMDMgICAgICAgICAgICAgICB8ICAgc3BsaWNlZCB0byBpbml0ICB8ICAgIGFzIHNlcnZl cg0KKwkjICAxMDAxMSAgICBhcyBzZXJ2ZXIgIHwgZm9yd2FyZGVkIHRvIGd1ZXN0IHwgIHNwbGlj ZWQgdG8gbnMNCisJIyAgMTAwMTIgICAgICAgICAgICAgICB8ICAgICBhcyBzZXJ2ZXIgICAgICB8 ICBzcGxpY2VkIHRvIG5zDQorCSMgIDEwMDEzICAgICAgICAgICAgICAgfCAgIHNwbGljZWQgdG8g aW5pdCAgfCAgICBhcyBzZXJ2ZXINCisJIw0KKwkjICAxMDAyMSAgICBhcyBzZXJ2ZXIgIHwgZm9y d2FyZGVkIHRvIGd1ZXN0IHwNCisJIyAgMTAwMzEgICAgYXMgc2VydmVyICB8IGZvcndhcmRlZCB0 byBndWVzdCB8DQorDQorCV9fb3B0cz0NCisJWyAke1BDQVB9IC1lcSAxIF0gJiYgX19vcHRzPSIk e19fb3B0c30gLXAgJHtMT0dESVJ9L3Bhc3RhX3dpdGhfcGFzc3QucGNhcCINCisJWyAke0RFQlVH fSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29wdHN9IC1kIg0KKwlbICR7VFJBQ0V9IC1lcSAxIF0g JiYgX19vcHRzPSIke19fb3B0c30gLS10cmFjZSINCisNCisJY29udGV4dF9ydW5fYmcgcGFzdGEg Ii4vcGFzdGEgJHtfX29wdHN9IC10IDEwMDAxLDEwMDAyLDEwMDExLDEwMDEyIC1UIDEwMDAzLDEw MDEzIC11IDEwMDAxLDEwMDAyLDEwMDExLDEwMDEyIC1VIDEwMDAzLDEwMDEzIC1QICR7U1RBVEVT RVRVUH0vcGFzdGEucGlkIC0tY29uZmlnLW5ldCAke05TVE9PTH0gaG9sZCAke1NUQVRFU0VUVVB9 L25zLmhvbGQiDQorCXdhaXRfZm9yIFsgLWYgIiR7U1RBVEVTRVRVUH0vcGFzdGEucGlkIiBdDQor DQorCWNvbnRleHRfc2V0dXBfbnN0b29sIHFlbXUgJHtTVEFURVNFVFVQfS9ucy5ob2xkDQorCWNv bnRleHRfc2V0dXBfbnN0b29sIG5zICR7U1RBVEVTRVRVUH0vbnMuaG9sZA0KKwljb250ZXh0X3Nl dHVwX25zdG9vbCBwYXNzdCAke1NUQVRFU0VUVVB9L25zLmhvbGQNCisNCisJX19vcHRzPQ0KKwlb ICR7UENBUH0gLWVxIDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtcCAke0xPR0RJUn0vcGFzc3Rf aW5fcGFzdGEucGNhcCINCisJWyAke0RFQlVHfSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29wdHN9 IC1kIg0KKwlbICR7VFJBQ0V9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLS10cmFjZSIN CisNCisJaWYgWyAke1ZBTEdSSU5EfSAtZXEgMSBdOyB0aGVuDQorCQljb250ZXh0X3J1biBwYXNz dCAibWFrZSBjbGVhbiINCisJCWNvbnRleHRfcnVuIHBhc3N0ICJtYWtlIHZhbGdyaW5kIg0KKwkJ Y29udGV4dF9ydW5fYmcgcGFzc3QgInZhbGdyaW5kIC0tbWF4LXN0YWNrZnJhbWU9JCgoNCAqIDEw MjQgKiAxMDI0KSkgLS10cmFjZS1jaGlsZHJlbj15ZXMgLS12Z2RiPW5vIC0tZXJyb3ItZXhpdGNv ZGU9MSAtLXN1cHByZXNzaW9ucz10ZXN0L3ZhbGdyaW5kLnN1cHAgLi9wYXNzdCAtZiAke19fb3B0 c30gLXMgJHtTVEFURVNFVFVQfS9wYXNzdC5zb2NrZXQgLXQgMTAwMDEsMTAwMTEsMTAwMjEsMTAw MzEgLXUgMTAwMDEsMTAwMTEsMTAwMjEsMTAwMzEgLVAgJHtTVEFURVNFVFVQfS9wYXNzdC5waWQi DQorCWVsc2UNCisJCWNvbnRleHRfcnVuIHBhc3N0ICJtYWtlIGNsZWFuIg0KKwkJY29udGV4dF9y dW4gcGFzc3QgIm1ha2UiDQorCQljb250ZXh0X3J1bl9iZyBwYXNzdCAiLi9wYXNzdCAtZiAke19f b3B0c30gLXMgJHtTVEFURVNFVFVQfS9wYXNzdC5zb2NrZXQgLXQgMTAwMDEsMTAwMTEsMTAwMjEs MTAwMzEgLXUgMTAwMDEsMTAwMTEsMTAwMjEsMTAwMzEgLVAgJHtTVEFURVNFVFVQfS9wYXNzdC5w aWQiDQorCWZpDQorCXdhaXRfZm9yIFsgLWYgIiR7U1RBVEVTRVRVUH0vcGFzc3QucGlkIiBdDQor DQorCUdVRVNUX0NJRD05NDU1Nw0KKwljb250ZXh0X3J1bl9iZyBxZW11ICdxZW11LXN5c3RlbS0k KHVuYW1lIC1tKScJCQkgICBcDQorCQknIC1tYWNoaW5lIGFjY2VsPWt2bScgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwNCisJCScgLU0gYWNjZWw9a3ZtOnRjZycgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKwkJJyAtbSAnJHtWTUVNfScgLWNw dSBob3N0IC1zbXAgJyR7VkNQVVN9ICAgICAgICAgICAgICAgICAgICBcDQorCQknIC1rZXJuZWwg JyAiL2Jvb3Qvdm1saW51ei0kKHVuYW1lIC1yKSIJCQkgICBcDQorCQknIC1pbml0cmQgJyR7SU5J VFJBTUZTfScgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvJwkgICBcDQorCQknIC1ub2RlZmF1bHRz JwkJCQkJCSAgIFwNCisJCScgLWFwcGVuZCAiY29uc29sZT10dHlTMCBtaXRpZ2F0aW9ucz1vZmYg YXBwYXJtb3I9MCIgJwkgICBcDQorCQknIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMw ICcJCQkgICBcDQorCQkiIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBl PXVuaXgsYWRkci5wYXRoPSR7U1RBVEVTRVRVUH0vcGFzc3Quc29ja2V0ICIgXA0KKwkJIiAtcGlk ZmlsZSAke1NUQVRFU0VUVVB9L3FlbXUucGlkIgkJCSAgIFwNCisJCSIgLWRldmljZSB2aG9zdC12 c29jay1wY2ksZ3Vlc3QtY2lkPSRHVUVTVF9DSUQiDQorDQorCWNvbnRleHRfc2V0dXBfZ3Vlc3Qg Z3Vlc3QgJEdVRVNUX0NJRA0KK30NCisNCisjIHNldHVwX3R3b19ndWVzdHMoKSAtIFNldCB1cCB0 d28gbmFtZXNwYWNlLCBydW4gcWVtdSBhbmQgcGFzc3QgaW4gYm90aCBvZiB0aGVtDQorc2V0dXBf dHdvX2d1ZXN0cygpIHsNCisJY29udGV4dF9zZXR1cF9ob3N0IGhvc3QNCisJY29udGV4dF9zZXR1 cF9ob3N0IHBhc3RhXzENCisJY29udGV4dF9zZXR1cF9ob3N0IHBhc3RhXzINCisNCisJbGF5b3V0 X3R3b19ndWVzdHMNCisNCisJIyBQb3J0czoNCisJIw0KKwkjICAgICAgICAgZ3Vlc3QgIzEgIHwg IGd1ZXN0ICMyIHwgICBucyAjMSAgIHwgICAgbnMgIzIgICB8ICAgIGhvc3QNCisJIyAgICAgICAg IC0tLS0tLS0tLSB8LS0tLS0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tfC0tLS0tLS0t LS0tLQ0KKwkjICAxMDAwMSAgYXMgc2VydmVyIHwgICAgICAgICAgIHwgdG8gZ3Vlc3QgIHwgIHRv IGluaXQgICB8ICB0byBucyAjMQ0KKwkjICAxMDAwMiAgICAgICAgICAgIHwgICAgICAgICAgIHwg YXMgc2VydmVyIHwgICAgICAgICAgICB8ICB0byBucyAjMQ0KKwkjICAxMDAwMyAgICAgICAgICAg IHwgICAgICAgICAgIHwgIHRvIGluaXQgIHwgIHRvIGluaXQgICB8ICBhcyBzZXJ2ZXINCisJIyAg MTAwMDQgICAgICAgICAgICB8IGFzIHNlcnZlciB8ICB0byBpbml0ICB8ICB0byBndWVzdCAgfCAg dG8gbnMgIzINCisJIyAgMTAwMDUgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8 ICBhcyBzZXJ2ZXIgfCAgdG8gbnMgIzINCisNCisJX19vcHRzPQ0KKwlbICR7UENBUH0gLWVxIDEg XSAmJiBfX29wdHM9IiR7X19vcHRzfSAtcCAke0xPR0RJUn0vcGFzdGFfMS5wY2FwIg0KKwlbICR7 REVCVUd9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLWQiDQorCVsgJHtUUkFDRX0gLWVx IDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtLXRyYWNlIg0KKwljb250ZXh0X3J1bl9iZyBwYXN0 YV8xICIuL3Bhc3RhICR7X19vcHRzfSAtLXRyYWNlIC1sIC90bXAvcGFzdGExLmxvZyAtUCAke1NU QVRFU0VUVVB9L3Bhc3RhXzEucGlkIC10IDEwMDAxLDEwMDAyIC1UIDEwMDAzLDEwMDA0IC11IDEw MDAxLDEwMDAyIC1VIDEwMDAzLDEwMDA0IC0tY29uZmlnLW5ldCAke05TVE9PTH0gaG9sZCAke1NU QVRFU0VUVVB9L25zMS5ob2xkIg0KKwljb250ZXh0X3NldHVwX25zdG9vbCBwYXNzdF8xICR7U1RB VEVTRVRVUH0vbnMxLmhvbGQNCisNCisJX19vcHRzPQ0KKwlbICR7UENBUH0gLWVxIDEgXSAmJiBf X29wdHM9IiR7X19vcHRzfSAtcCAke0xPR0RJUn0vcGFzdGFfMi5wY2FwIg0KKwlbICR7REVCVUd9 IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLWQiDQorCVsgJHtUUkFDRX0gLWVxIDEgXSAm JiBfX29wdHM9IiR7X19vcHRzfSAtLXRyYWNlIg0KKwljb250ZXh0X3J1bl9iZyBwYXN0YV8yICIu L3Bhc3RhICR7X19vcHRzfSAtLXRyYWNlIC1sIC90bXAvcGFzdGEyLmxvZyAtUCAke1NUQVRFU0VU VVB9L3Bhc3RhXzIucGlkIC10IDEwMDA0LDEwMDA1IC1UIDEwMDAzLDEwMDAxIC11IDEwMDA0LDEw MDA1IC1VIDEwMDAzLDEwMDAxIC0tY29uZmlnLW5ldCAke05TVE9PTH0gaG9sZCAke1NUQVRFU0VU VVB9L25zMi5ob2xkIg0KKwljb250ZXh0X3NldHVwX25zdG9vbCBwYXNzdF8yICR7U1RBVEVTRVRV UH0vbnMyLmhvbGQNCisNCisJY29udGV4dF9zZXR1cF9uc3Rvb2wgcWVtdV8xICR7U1RBVEVTRVRV UH0vbnMxLmhvbGQNCisJY29udGV4dF9zZXR1cF9uc3Rvb2wgcWVtdV8yICR7U1RBVEVTRVRVUH0v bnMyLmhvbGQNCisNCisJX19pZm5hbWU9IiQoY29udGV4dF9ydW4gcWVtdV8xICJpcCAtaiBsaW5r IHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09IFwiZXRoZXJcIikuaWZu YW1lJyIpIg0KKw0KKwlzbGVlcCAxDQorDQorCV9fb3B0cz0NCisJWyAke1BDQVB9IC1lcSAxIF0g JiYgX19vcHRzPSIke19fb3B0c30gLXAgJHtMT0dESVJ9L3Bhc3N0XzEucGNhcCINCisJWyAke0RF QlVHfSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29wdHN9IC1kIg0KKwlbICR7VFJBQ0V9IC1lcSAx IF0gJiYgX19vcHRzPSIke19fb3B0c30gLS10cmFjZSINCisNCisJY29udGV4dF9ydW5fYmcgcGFz c3RfMSAiLi9wYXNzdCAtcyAke1NUQVRFU0VUVVB9L3Bhc3N0XzEuc29ja2V0IC1QICR7U1RBVEVT RVRVUH0vcGFzc3RfMS5waWQgLWYgJHtfX29wdHN9IC10IDEwMDAxIC11IDEwMDAxIg0KKwl3YWl0 X2ZvciBbIC1mICIke1NUQVRFU0VUVVB9L3Bhc3N0XzEucGlkIiBdDQorDQorCV9fb3B0cz0NCisJ WyAke1BDQVB9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLXAgJHtMT0dESVJ9L3Bhc3N0 XzIucGNhcCINCisJWyAke0RFQlVHfSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29wdHN9IC1kIg0K KwlbICR7VFJBQ0V9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLS10cmFjZSINCisNCisJ Y29udGV4dF9ydW5fYmcgcGFzc3RfMiAiLi9wYXNzdCAtcyAke1NUQVRFU0VUVVB9L3Bhc3N0XzIu c29ja2V0IC1QICR7U1RBVEVTRVRVUH0vcGFzc3RfMi5waWQgLWYgJHtfX29wdHN9IC10IDEwMDA0 IC11IDEwMDA0Ig0KKwl3YWl0X2ZvciBbIC1mICIke1NUQVRFU0VUVVB9L3Bhc3N0XzIucGlkIiBd DQorDQorCUdVRVNUXzFfQ0lEPTk0NTU3DQorCWNvbnRleHRfcnVuX2JnIHFlbXVfMSAncWVtdS1z eXN0ZW0tJCh1bmFtZSAtbSknCQkJICAgICBcDQorCQknIC1NIGFjY2VsPWt2bTp0Y2cnICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKwkJJyAtbSAnJHtWTUVNfScg LWNwdSBob3N0IC1zbXAgJyR7VkNQVVN9ICAgICAgICAgICAgICAgICAgICAgIFwNCisJCScgLWtl cm5lbCAnICIvYm9vdC92bWxpbnV6LSQodW5hbWUgLXIpIgkJCSAgICAgXA0KKwkJJyAtaW5pdHJk ICcke0lOSVRSQU1GU30nIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbycJICAgICBcDQorCQknIC1u b2RlZmF1bHRzJwkJCQkJCSAgICAgXA0KKwkJJyAtYXBwZW5kICJjb25zb2xlPXR0eVMwIG1pdGln YXRpb25zPW9mZiBhcHBhcm1vcj0wIiAnCSAgICAgXA0KKwkJJyAtZGV2aWNlIHZpcnRpby1uZXQt cGNpLG5ldGRldj1zMCAnCQkJICAgICBcDQorCQkiIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZl cj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPSR7U1RBVEVTRVRVUH0vcGFzc3RfMS5zb2Nr ZXQgIiBcDQorCQkiIC1waWRmaWxlICR7U1RBVEVTRVRVUH0vcWVtdV8xLnBpZCIJCQkgICAgIFwN CisJCSIgLWRldmljZSB2aG9zdC12c29jay1wY2ksZ3Vlc3QtY2lkPSRHVUVTVF8xX0NJRCINCisN CisJR1VFU1RfMl9DSUQ9OTQ1NTgNCisJY29udGV4dF9ydW5fYmcgcWVtdV8yICdxZW11LXN5c3Rl bS0kKHVuYW1lIC1tKScJCQkgICAgIFwNCisJCScgLU0gYWNjZWw9a3ZtOnRjZycgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorCQknIC1tICcke1ZNRU19JyAtY3B1 IGhvc3QgLXNtcCAnJHtWQ1BVU30gICAgICAgICAgICAgICAgICAgICAgXA0KKwkJJyAta2VybmVs ICcgIi9ib290L3ZtbGludXotJCh1bmFtZSAtcikiCQkJICAgICBcDQorCQknIC1pbml0cmQgJyR7 SU5JVFJBTUZTfScgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvJwkgICAgIFwNCisJCScgLW5vZGVm YXVsdHMnCQkJCQkJICAgICBcDQorCQknIC1hcHBlbmQgImNvbnNvbGU9dHR5UzAgbWl0aWdhdGlv bnM9b2ZmIGFwcGFybW9yPTAiICcJICAgICBcDQorCQknIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ks bmV0ZGV2PXMwICcJCQkgICAgIFwNCisJCSIgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9m ZixhZGRyLnR5cGU9dW5peCxhZGRyLnBhdGg9JHtTVEFURVNFVFVQfS9wYXNzdF8yLnNvY2tldCAi IFwNCisJCSIgLXBpZGZpbGUgJHtTVEFURVNFVFVQfS9xZW11XzIucGlkIgkJCSAgICAgXA0KKwkJ IiAtZGV2aWNlIHZob3N0LXZzb2NrLXBjaSxndWVzdC1jaWQ9JEdVRVNUXzJfQ0lEIg0KKw0KKwlj b250ZXh0X3NldHVwX2d1ZXN0IGd1ZXN0XzEgJHtHVUVTVF8xX0NJRH0NCisJY29udGV4dF9zZXR1 cF9ndWVzdCBndWVzdF8yICR7R1VFU1RfMl9DSUR9DQorfQ0KKw0KKyMgdGVhcmRvd25fY29udGV4 dF93YXRjaCgpIC0gUmVtb3ZlIGNvbnRleHRzIGFuZCBzdG9wIHBhbmVzIHdhdGNoaW5nIHRoZW0N CisjICQxOglQYW5lIG51bWJlciB3YXRjaGluZw0KKyMgJEA6CUNvbnRleHQgbmFtZXMNCit0ZWFy ZG93bl9jb250ZXh0X3dhdGNoKCkgew0KKwlfX3BhbmU9IiQxIg0KKwlzaGlmdA0KKwlmb3IgX19j OyBkbw0KKwkJY29udGV4dF90ZWFyZG93biAiJHtfX2N9Ig0KKwlkb25lDQorCXRtdXggc2VuZC1r ZXlzIC10ICR7X19wYW5lfSAiQy1jIg0KK30NCisNCisjIHRlYXJkb3duX2J1aWxkKCkgLSBOb3Ro aW5nIHRvIGRvLCB5ZXQNCit0ZWFyZG93bl9idWlsZCgpIHsNCisJdGVhcmRvd25fY29udGV4dF93 YXRjaCAke1BBTkVfSE9TVH0gaG9zdA0KK30NCisNCisjIHRlYXJkb3duX3Bhc3N0KCkgLSBLaWxs IHFlbXUsIHJlbW92ZSBwYXNzdCBQSUQgZmlsZQ0KK3RlYXJkb3duX3Bhc3N0KCkgew0KKwlraWxs ICQoY2F0ICIke1NUQVRFU0VUVVB9L3FlbXUucGlkIikNCisNCisJcm0gIiR7U1RBVEVTRVRVUH0v cGFzc3QucGlkIg0KKw0KKwl0ZWFyZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9IT1NUfSBob3N0 DQorCXRlYXJkb3duX2NvbnRleHRfd2F0Y2ggJHtQQU5FX1BBU1NUfSBwYXNzdA0KKwl0ZWFyZG93 bl9jb250ZXh0X3dhdGNoICR7UEFORV9HVUVTVH0gcWVtdSBndWVzdA0KK30NCisNCisjIHRlYXJk b3duX3Bhc3RhKCkgLSBFeGl0IG5hbWVzcGFjZSwga2lsbCBwYXN0YSBwcm9jZXNzDQordGVhcmRv d25fcGFzdGEoKSB7DQorCSR7TlNUT09MfSBzdG9wICIke1NUQVRFU0VUVVB9L25zLmhvbGQiDQor CWNvbnRleHRfd2FpdCB1bnNoYXJlDQorDQorCXRlYXJkb3duX2NvbnRleHRfd2F0Y2ggJHtQQU5F X0hPU1R9IGhvc3QNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfUEFTU1R9IHBhc3N0 DQorCXRlYXJkb3duX2NvbnRleHRfd2F0Y2ggJHtQQU5FX05TfSB1bnNoYXJlIG5zDQorfQ0KKw0K KyMgdGVhcmRvd25fcGFzc3RfaW5fbnMoKSAtIEV4aXQgbmFtZXNwYWNlLCBraWxsIHFlbXUgYW5k IHBhc3RhLCByZW1vdmUgcGlkIGZpbGUNCit0ZWFyZG93bl9wYXNzdF9pbl9ucygpIHsNCisJY29u dGV4dF9ydW4gbnMga2lsbCAkKGNhdCAiJHtTVEFURVNFVFVQfS9xZW11LnBpZCIpDQorCWNvbnRl eHRfd2FpdCBxZW11DQorDQorCSR7TlNUT09MfSBzdG9wICIke1NUQVRFU0VUVVB9L25zLmhvbGQi DQorCWNvbnRleHRfd2FpdCBwYXN0YQ0KKw0KKwlybSAiJHtTVEFURVNFVFVQfS9wYXNzdC5waWQi ICIke1NUQVRFU0VUVVB9L3Bhc3RhLnBpZCINCisNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAk e1BBTkVfSE9TVH0gaG9zdA0KKwl0ZWFyZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9QQVNTVH0g cGFzdGEgcGFzc3QNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfTlN9IG5zDQorCXRl YXJkb3duX2NvbnRleHRfd2F0Y2ggJHtQQU5FX0dVRVNUfSBxZW11IGd1ZXN0DQorfQ0KKw0KKyMg dGVhcmRvd25fdHdvX2d1ZXN0cygpIC0gRXhpdCBuYW1lc3BhY2VzLCBraWxsIHFlbXUgcHJvY2Vz c2VzLCBwYXNzdCBhbmQgcGFzdGENCit0ZWFyZG93bl90d29fZ3Vlc3RzKCkgew0KKwkke05TVE9P TH0gZXhlYyAke1NUQVRFU0VUVVB9L25zMS5ob2xkIC0tIGtpbGwgJChjYXQgIiR7U1RBVEVTRVRV UH0vcWVtdV8xLnBpZCIpDQorCSR7TlNUT09MfSBleGVjICR7U1RBVEVTRVRVUH0vbnMyLmhvbGQg LS0ga2lsbCAkKGNhdCAiJHtTVEFURVNFVFVQfS9xZW11XzIucGlkIikNCisJY29udGV4dF93YWl0 IHFlbXVfMQ0KKwljb250ZXh0X3dhaXQgcWVtdV8yDQorDQorCSR7TlNUT09MfSBleGVjICR7U1RB VEVTRVRVUH0vbnMxLmhvbGQgLS0ga2lsbCAkKGNhdCAiJHtTVEFURVNFVFVQfS9wYXNzdF8xLnBp ZCIpDQorCSR7TlNUT09MfSBleGVjICR7U1RBVEVTRVRVUH0vbnMyLmhvbGQgLS0ga2lsbCAkKGNh dCAiJHtTVEFURVNFVFVQfS9wYXNzdF8yLnBpZCIpDQorCWNvbnRleHRfd2FpdCBwYXNzdF8xDQor CWNvbnRleHRfd2FpdCBwYXNzdF8yDQorCSR7TlNUT09MfSBzdG9wICIke1NUQVRFU0VUVVB9L25z MS5ob2xkIg0KKwkke05TVE9PTH0gc3RvcCAiJHtTVEFURVNFVFVQfS9uczIuaG9sZCINCisJY29u dGV4dF93YWl0IHBhc3RhXzENCisJY29udGV4dF93YWl0IHBhc3RhXzINCisNCisJcm0gLWYgIiR7 U1RBVEVTRVRVUH0vcGFzc3RfX1sxMl0ucGlkIiAiJHtTVEFURVNFVFVQfS9wYXN0YV9bMTJdLnBp ZCINCisNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfSE9TVH0gaG9zdA0KKwl0ZWFy ZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9HVUVTVF8xfSBxZW11XzEgZ3Vlc3RfMQ0KKwl0ZWFy ZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9HVUVTVF8yfSBxZW11XzIgZ3Vlc3RfMg0KKwl0ZWFy ZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9QQVNTVF8xfSBwYXN0YV8xIHBhc3N0XzENCisJdGVh cmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfUEFTU1RfMn0gcGFzdGFfMiBwYXNzdF8yDQorfQ0K Kw0KKyMgdGVhcmRvd25fZGVtb19wYXNzdCgpIC0gRXhpdCBuYW1lc3BhY2UsIGtpbGwgcWVtdSwg cGFzc3QgYW5kIHBhc3RhDQordGVhcmRvd25fZGVtb19wYXNzdCgpIHsNCisJdG11eCBzZW5kLWtl eXMgLXQgJHtQQU5FX0dVRVNUfSAiQy1jIg0KKwlwYW5lX3dhaXQgR1VFU1QNCisNCisJdG11eCBz ZW5kLWtleXMgLXQgJHtQQU5FX0dVRVNUfSAiQy1kIg0KKwl0bXV4IHNlbmQta2V5cyAtdCAke1BB TkVfUEFTU1R9ICJDLWMiDQorDQorCXBhbmVfd2FpdCBHVUVTVA0KKwlwYW5lX3dhaXQgSE9TVA0K KwlwYW5lX3dhaXQgUEFTU1QNCisNCisJdG11eCBraWxsLXBhbmUgLWEgLXQgMA0KKwl0bXV4IHNl bmQta2V5cyAtdCAwICJDLWMiDQorfQ0KKw0KKyMgdGVhcmRvd25fZGVtb19wYXN0YSgpIC0gRXhp dCBwZXJmIGFuZCBuYW1lc3BhY2UgZnJvbSByZW1haW5pbmcgcGFuZQ0KK3RlYXJkb3duX2RlbW9f cGFzdGEoKSB7DQorCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9OU30gInEiDQorCXBhbmVfd2Fp dCBOUw0KKwl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfTlN9ICJDLWQiDQorCXBhbmVfd2FpdCBO Uw0KKw0KKwl0bXV4IGtpbGwtcGFuZSAtYSAtdCAwDQorCXRtdXggc2VuZC1rZXlzIC10IDAgIkMt YyINCit9DQorDQorIyB0ZWFyZG93bl9kZW1vX3BvZG1hbigpIC0gRXhpdCBuYW1lc3BhY2VzDQor dGVhcmRvd25fZGVtb19wb2RtYW4oKSB7DQorCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9OUzF9 ICJDLWQiDQorCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9OUzJ9ICJDLWQiDQorCXBhbmVfd2Fp dCBOUzENCisJcGFuZV93YWl0IE5TMg0KKw0KKwl0bXV4IGtpbGwtcGFuZSAtYSAtdCAwDQorCXRt dXggc2VuZC1rZXlzIC10IDAgIkMtYyINCit9DQorDQorIyBzZXR1cCgpIC0gUnVuIHNldHVwXyoo KSBmdW5jdGlvbnMNCisjICQqOglTdWZmaXggbGlzdCBvZiBzZXR1cF8qKCkgZnVuY3Rpb25zIHRv IGJlIGNhbGxlZA0KK3NldHVwKCkgew0KKwlmb3IgYXJnIGRvDQorCQlTVEFURVNFVFVQPSIke1NU QVRFQkFTRX0vJHthcmd9Ig0KKwkJbWtkaXIgLXAgIiR7U1RBVEVTRVRVUH0iDQorCQlldmFsIHNl dHVwXyR7YXJnfQ0KKwlkb25lDQorfQ0KKw0KKyMgdGVhcmRvd24oKSAtIFJ1biB0ZWFyZG93bl8q KCkgZnVuY3Rpb25zDQorIyAkKjoJU3VmZml4IGxpc3Qgb2YgdGVhcmRvd25fKigpIGZ1bmN0aW9u cyB0byBiZSBjYWxsZWQNCit0ZWFyZG93bigpIHsNCisJZm9yIGFyZyBkbw0KKwkJZXZhbCB0ZWFy ZG93bl8ke2FyZ30NCisJZG9uZQ0KK30NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2xpYi9zZXR1cF91 Z2x5IGIvb2xkdGVzdC9saWIvc2V0dXBfdWdseQ0KbmV3IGZpbGUgbW9kZSAxMDA3NTUNCmluZGV4 IDAwMDAwMDAwLi40YjJhMDc3NA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9saWIvc2V0 dXBfdWdseQ0KQEAgLTAsMCArMSw1OCBAQA0KKyMhL2Jpbi9zaA0KKyMNCisjIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2lt cGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9k ZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3Ig bmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9saWIvc2V0dXBf dWdseSAtIFNldHVwIGZ1bmN0aW9ucyB1c2luZyBzY3JlZW4tc2NyYXBpbmcgaW5zdGVhZCBvZiBj b250ZXh0DQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIyIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9y OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK0lOSVRSQU1GU19NRU09 IiR7QkFTRVBBVEh9L21idXRvLm1lbS5pbWciDQorDQorIyBzZXR1cF9kaXN0cm8oKSAtIFNldCB1 cCBwYW5lIGxheW91dCBmb3IgZGlzdHJvIHRlc3RzDQorc2V0dXBfZGlzdHJvKCkgew0KKwlsYXlv dXRfaG9zdA0KK30NCisNCisjIHNldHVwX3Bhc3RhX29wdGlvbnMoKSAtIFNldCB1cCBsYXlvdXQg YW5kIGhvc3QgY29udGV4dCB3aXRob3V0IHN0YXJ0aW5nIHBhc3RhDQorc2V0dXBfcGFzdGFfb3B0 aW9ucygpIHsNCisJY29udGV4dF9zZXR1cF9ob3N0IGhvc3QNCisNCisJbGF5b3V0X3Bhc3RhX3Np bXBsZQ0KK30NCisNCisjIHNldHVwX21lbW9yeSgpIC0gU3RhcnQgcWVtdSBpbiBndWVzdCBwYW5l LCBhbmQgcGFzc3QgaW4gcGFzc3QgY29udGV4dA0KK3NldHVwX21lbW9yeSgpIHsNCisJbGF5b3V0 X21lbW9yeQ0KKw0KKwlwYW5lX29yX2NvbnRleHRfcnVuIGd1ZXN0ICdxZW11LXN5c3RlbS0kKHVu YW1lIC1tKScJCSAgIFwNCisJCScgLW1hY2hpbmUgYWNjZWw9a3ZtJyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXA0KKwkJJyAtbSAnJHtWTUVNfScgLWNwdSBob3N0IC1zbXAg JyR7VkNQVVN9ICAgICAgICAgICAgICAgICAgICBcDQorCQknIC1rZXJuZWwgJyAiL2Jvb3Qvdm1s aW51ei0kKHVuYW1lIC1yKSIJCQkgICBcDQorCQknIC1pbml0cmQgJyR7SU5JVFJBTUZTX01FTX0n IC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbycJICAgXA0KKwkJJyAtbm9kZWZhdWx0cycJCQkJCQkg ICBcDQorCQknIC1hcHBlbmQgImNvbnNvbGU9dHR5UzAgbWl0aWdhdGlvbnM9b2ZmIGFwcGFybW9y PTAiJwkgICBcDQorCQkiIC1waWRmaWxlICR7U1RBVEVTRVRVUH0vcWVtdS5waWQiDQorfQ0KKw0K KyMgdGVhcmRvd25fZGlzdHJvKCkgLSBOb3RoaW5nIHRvIGRvLCB5ZXQNCit0ZWFyZG93bl9kaXN0 cm8oKSB7DQorCToNCit9DQorDQorIyB0ZWFyZG93bl9wYXN0YV9vcHRpb25zKCkgLSBUZWFyIGRv d24gcGFzdGEgYW5kIGhvc3QgY29udGV4dCwgbm8gbmFtZXNwYWNlDQordGVhcmRvd25fcGFzdGFf b3B0aW9ucygpIHsNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfSE9TVH0gaG9zdA0K Kwl0ZWFyZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9QQVNTVH0gcGFzc3QNCit9DQorDQorIyB0 ZWFyZG93bl9wYXNzdCgpIC0gS2lsbCBxZW11IHdpdGggXkMsIHJlbW92ZSBwYXNzdCBQSUQgZmls ZQ0KK3RlYXJkb3duX21lbW9yeSgpIHsNCisJa2lsbCAkKGNhdCAiJHtTVEFURVNFVFVQfS9xZW11 LnBpZCIpDQorfQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvbGliL3Rlcm0gYi9vbGR0ZXN0L2xpYi90 ZXJtDQpuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KaW5kZXggMDAwMDAwMDAuLmFhMDViZjFlDQotLS0g L2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2xpYi90ZXJtDQpAQCAtMCwwICsxLDc1MCBAQA0KKyMh L2Jpbi9zaA0KKyMNCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVy DQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3Ig cWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRs ZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBt b2RlDQorIw0KKyMgdGVzdC9saWIvdGVybSAtIFNldCB1cCB0bXV4IHNlc3Npb25zIGFuZCBwYW5l cywgaGFuZGxlIHRlcm1pbmFscyBhbmQgbG9ncw0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBS ZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNv bT4NCisNCitTVEFUVVNfRklMRT0NCitTVEFUVVNfRklMRV9OVEVTVFM9DQorU1RBVFVTX0ZJTEVf SU5ERVg9MA0KK1NUQVRVU19DT0xTPQ0KK1NUQVRVU19QQVNTPTANCitTVEFUVVNfRkFJTD0wDQor DQorUFJfUkVEPSdcMDMzWzE7MzFtJw0KK1BSX0dSRUVOPSdcMDMzWzE7MzJtJw0KK1BSX1lFTExP Vz0nXDAzM1sxOzMzbScNCitQUl9CTFVFPSdcMDMzWzE7MzRtJw0KK1BSX05DPSdcMDMzWzBtJw0K K1BSX0RFTEFZX0lOSVQ9MTAwICMgbXMNCisNCisjIGluZm8oKSAtIEhpZ2hsaWdodCB0ZXN0IGxv ZyBwYW5lLCBwcmludCBtZXNzYWdlIHRvIGl0IGFuZCB0byBsb2cgZmlsZQ0KKyMgJEA6CU1lc3Nh Z2UgdG8gcHJpbnQNCitpbmZvKCkgew0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZP fQ0KKwllY2hvICIke0B9IiA+PiAkU1RBVEVCQVNFL2xvZ19waXBlDQorCWVjaG8gIiR7QH0iID4+ ICIke0xPR0ZJTEV9Ig0KK30NCisNCisjIGluZm9fbigpIC0gSGlnaGxpZ2h0LCBwcmludCBtZXNz YWdlIHRvIHBhbmUgYW5kIHRvIGxvZyBmaWxlIHdpdGhvdXQgbmV3bGluZQ0KKyMgJEA6CU1lc3Nh Z2UgdG8gcHJpbnQNCitpbmZvX24oKSB7DQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX0lO Rk99DQorCXByaW50ZiAiJHtAfSIgPj4gJFNUQVRFQkFTRS9sb2dfcGlwZQ0KKwlwcmludGYgIiR7 QH0iID4+ICIke0xPR0ZJTEV9Ig0KK30NCisNCisjIGluZm9fbm9sb2coKSAtIEhpZ2hsaWdodCB0 ZXN0IGxvZyBwYW5lLCBwcmludCBtZXNzYWdlIHRvIGl0DQorIyAkQDoJTWVzc2FnZSB0byBwcmlu dA0KK2luZm9fbm9sb2coKSB7DQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX0lORk99DQor CWVjaG8gIiR7QH0iID4+ICRTVEFURUJBU0UvbG9nX3BpcGUNCit9DQorDQorIyBpbmZvX25vbG9n KCkgLSBQcmludCBtZXNzYWdlIHRvIGxvZyBmaWxlDQorIyAkQDoJTWVzc2FnZSB0byBwcmludA0K K2xvZygpIHsNCisJZWNobyAiJHtAfSIgPj4gIiR7TE9HRklMRX0iDQorfQ0KKw0KKyMgaW5mb19u b2xvZ19uKCkgLSBTZW5kIG1lc3NhZ2UgdG8gcGFuZSB3aXRob3V0IGhpZ2hsaWdodGluZyBpdCwg d2l0aG91dCBuZXdsaW5lDQorIyAkQDoJTWVzc2FnZSB0byBwcmludA0KK2luZm9fbm9sb2dfbigp IHsNCisJdG11eCBzZW5kLWtleXMgLWwgLXQgJHtQQU5FX0lORk99ICIke0B9Ig0KK30NCisNCisj IGluZm9fc2VwKCkgLSBQcmludCBnaXZlbiBzZXBhcmF0b3IsIGhvcml6b250YWxseSBmaWxsaW5n IHRlc3QgbG9nIHBhbmUNCisjICQxOglTZXBhcmF0b3IgY2hhcmFjdGVyDQoraW5mb19zZXAoKSB7 DQorCXRtdXggc2VuZC1rZXlzIC1sIC1OICR7U1RBVFVTX0NPTFN9IC10ICR7UEFORV9JTkZPfSAi JHsxfSINCisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0lORk99IEMtbQ0KK30NCisNCisjIHNs ZWVwX2NoYXIoKSAtIFNsZWVwIGZvciB0eXBlZCBjaGFyYWN0ZWQgcmVzZW1ibGluZyBpbnRlcmFj dGl2ZSBpbnB1dA0KKyMgJDE6CUNoYXJhY3RlciB0eXBlZCB0byBwYW5lDQorc2xlZXBfY2hhcigp IHsNCisJWyAke0ZBU1R9IC1lcSAxIF0gJiYgcmV0dXJuDQorDQorCWlmIFsgIiR7MX0iID0gIiAi IF07IHRoZW4NCisJCVBSX0RFTEFZPSQoKFBSX0RFTEFZICsgNDApKQ0KKwllbGlmIFsgLW4gIiQo cHJpbnRmICclcycgIiR7MX0iIHwgdHIgLWQgWzphbG51bTpdKSIgXTsgdGhlbg0KKwkJUFJfREVM QVk9JCgoUFJfREVMQVkgKyAzMCkpDQorCWVsaWYgWyAke1BSX0RFTEFZfSAtZ2UgMzAgXTsgdGhl bg0KKwkJUFJfREVMQVk9JCgoUFJfREVMQVkgLyAzICogMikpDQorCWZpDQorDQorCXNsZWVwICIk KHByaW50ZiAwLiUwM2kgJHtQUl9ERUxBWX0pIiB8fCBzbGVlcCAxDQorfQ0KKw0KKyMgZGlzcGxh eV9kZWxheSgpIC0gU2ltcGxlIGRlbGF5LCBvbWl0dGVkIGlmICRGQVNUIGlzIHNldA0KK2Rpc3Bs YXlfZGVsYXkoKSB7DQorCVsgJHtGQVNUfSAtZXEgMSBdICYmIHJldHVybg0KKw0KKwlzbGVlcCAi JHsxfSIgfHwgc2xlZXAgMQ0KK30NCisNCisjIHN3aXRjaF9wYW5lKCkgLSBIaWdobGlnaHQgZ2l2 ZW4gcGFuZSBhbmQgcmVzZXQgY2hhcmFjdGVyIGRlbGF5DQorIyAkMToJUGFuZSBudW1iZXINCitz d2l0Y2hfcGFuZSgpIHsNCisJdG11eCBzZWxlY3QtcGFuZSAtdCAkezF9DQorCVBSX0RFTEFZPSR7 UFJfREVMQVlfSU5JVH0NCisJZGlzcGxheV9kZWxheSAiMC4yIg0KK30NCisNCisjIGNtZF93cml0 ZSgpIC0gV3JpdGUgYSBjb21tYW5kIHRvIGEgcGFuZSwgbGV0dGVyIGJ5IGxldHRlciwgYW5kIGV4 ZWN1dGUgaXQNCisjICQxOglQYW5lIG51bWJlcg0KKyMgJEA6CUNvbW1hbmQgdG8gaXNzdWUNCitj bWRfd3JpdGUoKSB7DQorCV9fcGFuZV9ubz0kezF9DQorCXNoaWZ0DQorDQorCXN3aXRjaF9wYW5l ICR7X19wYW5lX25vfQ0KKw0KKwlfX3N0cj0iJHtAfSINCisJd2hpbGUgWyAtbiAiJHtfX3N0cn0i IF07IGRvDQorCQlfX3JlbT0iJHtfX3N0ciM/fSINCisJCV9fZmlyc3Q9IiR7X19zdHIlIiRfX3Jl bSJ9Ig0KKwkJaWYgWyAiJHtfX2ZpcnN0fSIgPSAiOyIgXTsgdGhlbg0KKwkJCXRtdXggc2VuZC1r ZXlzIC10ICR7X19wYW5lX25vfSAtbCAnXDsnDQorCQllbHNlDQorCQkJdG11eCBzZW5kLWtleXMg LXQgJHtfX3BhbmVfbm99IC1sICIke19fZmlyc3R9Ig0KKwkJZmkNCisJCXNsZWVwX2NoYXIgIiR7 X19maXJzdH0iDQorCQlfX3N0cj0iJHtfX3JlbX0iDQorCWRvbmUNCisJdG11eCBzZW5kLWtleXMg LXQgJHtfX3BhbmVfbm99ICJDLW0iDQorfQ0KKw0KKyMgdGV4dF93cml0ZSgpIC0gV3JpdGUgdGV4 dCB0byBpbmZvIHBhbmUsIGxldHRlciBieSBsZXR0ZXINCisjICQxOglQYW5lIG51bWJlcg0KKyMg JEA6CUNvbW1hbmQgdG8gaXNzdWUNCit0ZXh0X3dyaXRlKCkgew0KKwlfX3N0cj0iJHtAfSINCisJ d2hpbGUgWyAtbiAiJHtfX3N0cn0iIF07IGRvDQorCQlfX3JlbT0iJHtfX3N0ciM/fSINCisJCV9f Zmlyc3Q9IiR7X19zdHIlIiRfX3JlbSJ9Ig0KKwkJaWYgWyAiJHtfX2ZpcnN0fSIgPSAiOyIgXTsg dGhlbg0KKwkJCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9JTkZPfSAtbCAnXDsnDQorCQllbHNl DQorCQkJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0lORk99IC1sICIke19fZmlyc3R9Ig0KKwkJ ZmkNCisJCXNsZWVwX2NoYXIgIiR7X19maXJzdH0iDQorCQlfX3N0cj0iJHtfX3JlbX0iDQorCWRv bmUNCit9DQorDQorIyB0ZXh0X2JhY2tzcGFjZSgpIC0gU2xvdyBiYWNrc3BhY2UgbW90aW9uIGZv ciBkZW1vDQorIyAkMToJTnVtYmVyIG9mIGJhY2tzcGFjZSBjaGFyYWN0ZXJzDQordGV4dF9iYWNr c3BhY2UoKSB7DQorCWZvciBfX2NvdW50IGluICQoc2VxIDAgJHsxfSk7IGRvDQorCQl0bXV4IHNl bmQta2V5cyAtdCAke1BBTkVfSU5GT30gQnNwYWNlDQorCQlzbGVlcCAwLjENCisJZG9uZQ0KK30N CisNCisjIGVtX3dyaXRlKCkgLSBXcml0ZSB0byBsb2cgcGFuZSBpbiByZWQsIGZvciBkZW1vDQor IyAkQDoJVGV4dA0KK2VtX3dyaXRlKCkgew0KKwlpbmZvX24gIiR7UFJfUkVEfSR7QH0ke1BSX05D fSINCit9DQorDQorIyBwYW5lX2tpbGwoKSAtIEtpbGwgYSBzaW5nbGUgcGFuZSBnaXZlbiBpdHMg bmFtZQ0KKyMgJDE6CVBhbmUgbmFtZQ0KK3BhbmVfa2lsbCgpIHsNCisJX19wYW5lX251bWJlcj0k KGV2YWwgZWNobyBcJFBBTkVfJHsxfSkNCisJdG11eCBraWxsLXBhbmUgLXQgJHtfX3BhbmVfbnVt YmVyfQ0KK30NCisNCisjIHBhbmVfaGlnaGxpZ2h0KCkgLSBIaWdobGlnaHQgYSBzaW5nbGUgcGFu ZSBnaXZlbiBpdHMgbmFtZQ0KKyMgJDE6CVBhbmUgbmFtZQ0KK3BhbmVfaGlnaGxpZ2h0KCkgew0K KwlfX3BhbmVfbnVtYmVyPSQoZXZhbCBlY2hvIFwkUEFORV8kezF9KQ0KKwlzd2l0Y2hfcGFuZSAk e19fcGFuZV9udW1iZXJ9DQorCXNsZWVwIDMNCit9DQorDQorIyBwYW5lX3Jlc2l6ZSgpIC0gUmVz aXplIGEgcGFuZSBnaXZlbiBpdHMgbmFtZQ0KKyMgJDE6CVBhbmUgbmFtZQ0KKyMgJDI6CURpcmVj dGlvbjogVSwgRCwgTCwgb3IgUg0KKyMgJDM6CUFkanVzdG1lbnQgaW4gbGluZXMgb3IgY29sdW1u cw0KK3BhbmVfcmVzaXplKCkgew0KKwlfX3BhbmVfbnVtYmVyPSQoZXZhbCBlY2hvIFwkUEFORV8k ezF9KQ0KKwl0bXV4IHJlc2l6ZS1wYW5lIC0kezJ9IC10ICR7X19wYW5lX251bWJlcn0gJHszfQ0K K30NCisNCisjIHBhbmVfcnVuKCkgLSBJc3N1ZSBhIGNvbW1hbmQgaW4gZ2l2ZW4gcGFuZSBuYW1l DQorIyAkMToJUGFuZSBuYW1lDQorIyAkQDoJQ29tbWFuZCB0byBpc3N1ZQ0KK3BhbmVfcnVuKCkg ew0KKwlfX3BhbmVfbmFtZT0iJHsxfSINCisJc2hpZnQNCisNCisJX19wYW5lX251bWJlcj0kKGV2 YWwgZWNobyBcJFBBTkVfJHtfX3BhbmVfbmFtZX0pDQorDQorCWV2YWwgJHtfX3BhbmVfbmFtZX1f TEFTVF9DTUQ9XCJcJHtAfVwiDQorDQorCWNtZF93cml0ZSAke19fcGFuZV9udW1iZXJ9ICIke0B9 Ig0KK30NCisNCisjIHBhbmVfd2FpdCgpIC0gV2FpdCBmb3IgY29tbWFuZCB0byBiZSBkb25lIGlu IGdpdmVuIHBhbmUgbmFtZQ0KKyMgJDE6CVBhbmUgbmFtZQ0KK3BhbmVfd2FpdCgpIHsNCisJX19s Yz0iJChlY2hvICIkezF9IiB8IHRyIFtBLVpdIFthLXpdKSINCisJc2xlZXAgMC4xIHx8IHNsZWVw IDENCisNCisJX19kb25lPTANCisJd2hpbGUNCisJCV9fbD0iJCh0YWlsIC0xICR7TE9HRElSfS9w YW5lXyR7X19sY30ubG9nIHwgdHIgLWQgWzpjbnRybDpdKSINCisJCWNhc2UgJHtfX2x9IGluDQor CQknJCAnIHwgJyMgJyB8ICcjICMgJyB8ICoiJCAiIHwgKiIjICIpIHJldHVybiA7Ow0KKwkJKiIg I1ttICIgfCAqIiAjW20gW0siIHwgKiJdIyBbIiopIHJldHVybiA7Ow0KKwkJKicgJCBbNm4nIHwg KicgIyBbNm4nICkgcmV0dXJuIDs7DQorCQllc2FjDQorCWRvIHNsZWVwIDAuMSB8fCBzbGVlcCAx OyBkb25lDQorfQ0KKw0KKyMgcGFuZV9wYXJzZSgpIC0gUHJpbnQgbGFzdCBsaW5lLCBARU1QVFlA IGlmIGNvbW1hbmQgaGFkIG5vIG91dHB1dA0KKyMgJDE6CVBhbmUgbmFtZQ0KK3BhbmVfcGFyc2Uo KSB7DQorCV9fcGFuZV9sYz0iJChlY2hvICIkezF9IiB8IHRyIFtBLVpdIFthLXpdKSINCisNCisJ X19idWY9IiQodGFpbCAtbjIgJHtMT0dESVJ9L3BhbmVfJHtfX3BhbmVfbGN9LmxvZyB8IGhlYWQg LW4xIHwgc2VkICdzL15bXlxyXSpcclwoW15ccl1cKS9cMS8nIHwgdHIgLWQgJ1xyXG4nKSINCisN CisJWyAiIyAkKGV2YWwgcHJpbnRmICclcycgXCJcJCR7MX1fTEFTVF9DTURcIikiICE9ICIke19f YnVmfSIgXSAmJiBcDQorCVsgIiQgJChldmFsIHByaW50ZiAnJXMnIFwiXCQkezF9X0xBU1RfQ01E XCIpIiAhPSAiJHtfX2J1Zn0iIF0gJiYNCisJCXByaW50ZiAnJXMnICIke19fYnVmfSIgfHwgcHJp bnRmICdARU1QVFlAJw0KK30NCisNCisjIHBhbmVfc3RhdHVzKCkgLSBXYWl0IGZvciBjb21tYW5k IHRvIGNvbXBsZXRlIGFuZCByZXR1cm4gaXRzIGV4aXQgc3RhdHVzDQorIyAkMToJUGFuZSBuYW1l DQorcGFuZV9zdGF0dXMoKSB7DQorCXBhbmVfd2FpdCAiJHsxfSINCisNCisJWyAke0RFTU99IC1l cSAxIF0gJiYgcmV0dXJuIDANCisNCisJX19zdGF0dXM9IiQocGFuZV9wYXJzZSAiJHsxfSIpIg0K Kwl3aGlsZSAhIFsgIiR7X19zdGF0dXN9IiAtZXEgIiR7X19zdGF0dXN9IiBdIDI+L2Rldi9udWxs OyBkbw0KKwkJc2xlZXAgMQ0KKwkJcGFuZV9ydW4gIiR7MX0iICdlY2hvICQ/Jw0KKwkJcGFuZV93 YWl0ICIkezF9Ig0KKwkJX19zdGF0dXM9IiQocGFuZV9wYXJzZSAiJHsxfSIpIg0KKwlkb25lDQor CXJldHVybiAke19fc3RhdHVzfQ0KK30NCisNCisjIHBhbmVfd2F0Y2hfY29udGV4dCgpIC0gU2V0 IHVwIHBhbmUgdG8gd2F0Y2ggY29tbWFuZHMgZXhlY3V0aW5nIGluIGNvbnRleHQocykNCisjICQx OglQYW5lIG51bWJlcg0KKyMgJDI6CURlc2NyaXB0aW9uIChmb3IgcGFuZSBsYWJlbCkNCisjICRA OglDb250ZXh0IG5hbWUgb3IgbmFtZXMNCitwYW5lX3dhdGNoX2NvbnRleHRzKCkgew0KKwlfX3Bh bmVfbnVtYmVyPSIkezF9Ig0KKwlfX2Rlc2M9IiR7Mn0iDQorCXNoaWZ0IDINCisJX19uYW1lPSIk ezJ9Ig0KKw0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7X19wYW5lX251bWJlcn0gLVQgIiR7X19k ZXNjfSINCisJX19jbWQ9InRhaWwgLWYgLS1yZXRyeSINCisJZm9yIGM7IGRvDQorCQlfX2NtZD0i JHtfX2NtZH0gJHtMT0dESVJ9L2NvbnRleHRfJHtjfS5sb2ciDQorCWRvbmUNCisJY21kX3dyaXRl ICR7X19wYW5lX251bWJlcn0gIiR7X19jbWR9Ig0KK30NCisNCisjIHBhbmVfb3JfY29udGV4dF9y dW4oKSAtIElzc3VlIGEgY29tbWFuZCBpbiBnaXZlbiBjb250ZXh0IG9yIHBhbmUNCisjICQxOglD b250ZXh0IG9yIGxvd2VyLWNhc2UgcGFuZSBuYW1lDQorIyAkQDoJQ29tbWFuZCB0byBpc3N1ZQ0K K3BhbmVfb3JfY29udGV4dF9ydW4oKSB7DQorCV9fbmFtZT0iJHsxfSINCisJc2hpZnQNCisJaWYg Y29udGV4dF9leGlzdHMgIiR7X19uYW1lfSI7IHRoZW4NCisJCSMgUmVkaXJlY3Qgc3RkaW4gdG8g c3RvcCBzc2ggZnJvbSBlYXRpbmcgdGhlIHRlc3QgaW5zdHJ1Y3Rpb25zIGZpbGUgd2UgaGF2ZSBv biBzdGRpbg0KKwkJY29udGV4dF9ydW4gIiR7X19uYW1lfSIgIiRAIiA+L2Rldi9udWxsIDI+JjEg PCAvZGV2L251bGwNCisJZWxzZQ0KKwkJX191Yz0iJChlY2hvICIke19fbmFtZX0iIHwgdHIgW2Et el0gW0EtWl0pIg0KKwkJcGFuZV9ydW4gIiR7X191Y30iICIkQCINCisJCXBhbmVfc3RhdHVzICIk e19fdWN9Ig0KKwlmaQ0KK30NCisNCisjIHBhbmVfb3JfY29udGV4dF9ydW5fYmcoKSAtIElzc3Vl IGEgYmFja2dyb3VuZCBjb21tYW5kIGluIGdpdmVuIGNvbnRleHQgb3IgcGFuZQ0KKyMgJDE6CUNv bnRleHQgb3IgbG93ZXItY2FzZSBwYW5lIG5hbWUNCisjICRAOglDb21tYW5kIHRvIGlzc3VlDQor cGFuZV9vcl9jb250ZXh0X3J1bl9iZygpIHsNCisJX19uYW1lPSIkezF9Ig0KKwlzaGlmdA0KKwlp ZiBjb250ZXh0X2V4aXN0cyAiJHtfX25hbWV9IjsgdGhlbg0KKwkJIyBSZWRpcmVjdCBzdGRpbiB0 byBzdG9wIHNzaCBmcm9tIGVhdGluZyB0aGUgdGVzdCBpbnN0cnVjdGlvbnMgZmlsZSB3ZSBoYXZl IG9uIHN0ZGluDQorCQljb250ZXh0X3J1bl9iZyAiJHtfX25hbWV9IiAiJEAiID4vZGV2L251bGwg Mj4mMSA8IC9kZXYvbnVsbA0KKwllbHNlDQorCQlfX3VjPSIkKGVjaG8gIiR7X19uYW1lfSIgfCB0 ciBbYS16XSBbQS1aXSkiDQorCQlwYW5lX3J1biAiJHtfX3VjfSIgIiRAIg0KKwlmaQ0KK30NCisN CisjIHBhbmVfb3JfY29udGV4dF9vdXRwdXQoKSAtIEdldCBvdXRwdXQgZnJvbSBhIGNvbW1hbmQg aW4gYSBjb250ZXh0IG9yIHBhbmUNCisjICQxOglDb250ZXh0IG9yIGxvd2VyLWNhc2UgcGFuZSBu YW1lDQorIyAkQDoJQ29tbWFuZCB0byBpc3N1ZQ0KK3BhbmVfb3JfY29udGV4dF9vdXRwdXQoKSB7 DQorCV9fbmFtZT0iJHsxfSINCisJc2hpZnQNCisJaWYgY29udGV4dF9leGlzdHMgIiR7X19uYW1l fSI7IHRoZW4NCisJCSMgUmVkaXJlY3Qgc3RkaW4gdG8gc3RvcCBzc2ggZnJvbSBlYXRpbmcgdGhl IHRlc3QgaW5zdHJ1Y3Rpb25zIGZpbGUgd2UgaGF2ZSBvbiBzdGRpbg0KKwkJX19vdXRwdXQ9JChj b250ZXh0X3J1biAiJHtfX25hbWV9IiAiJEAiIDI+L2Rldi9udWxsIDwvZGV2L251bGwpDQorCQlp ZiBbIC16ICIke19fb3V0cHV0fSIgXTsgdGhlbg0KKwkJCWVjaG8gIkBFTVBUWUAiDQorCQllbHNl DQorCQkJZWNobyAiJHtfX291dHB1dH0iDQorCQlmaQ0KKwllbHNlDQorCQlfX3VjPSIkKGVjaG8g IiR7X19uYW1lfSIgfCB0ciBbYS16XSBbQS1aXSkiDQorCQlwYW5lX3J1biAiJHtfX3VjfSIgIiRA Ig0KKwkJcGFuZV93YWl0ICIke19fdWN9Ig0KKwkJcGFuZV9wYXJzZSAiJHtfX3VjfSINCisJZmkN Cit9DQorDQorIyBwYW5lX29yX2NvbnRleHRfd2FpdCgpIC0gV2FpdCBmb3IgYSBjb21tYW5kIHRv IGJlIGRvbmUgaW4gYSBjb250ZXh0IG9yIHBhbmUNCisjICQxOglDb250ZXh0IG9yIGxvd2VyLWNh c2UgcGFuZSBuYW1lDQorcGFuZV9vcl9jb250ZXh0X3dhaXQoKSB7DQorCV9fbmFtZT0iJHsxfSIN CisJc2hpZnQNCisJaWYgY29udGV4dF9leGlzdHMgIiR7X19uYW1lfSI7IHRoZW4NCisJCWNvbnRl eHRfd2FpdCAiJHtfX25hbWV9Ig0KKwllbHNlDQorCQlfX3VjPSIkKGVjaG8gIiR7X19uYW1lfSIg fCB0ciBbYS16XSBbQS1aXSkiDQorCQlwYW5lX3dhaXQgIiR7X191Y30iDQorCWZpDQorfQ0KKw0K KyMgc3RhdHVzX2ZpbGVfZW5kKCkgLSBEaXNwbGF5IGFuZCBsb2cgbWVzc2FnZXMgd2hlbiB0ZXN0 cyBmcm9tIG9uZSBmaWxlIGFyZSBkb25lDQorc3RhdHVzX2ZpbGVfZW5kKCkgew0KKwlbIC16ICIk e1NUQVRVU19GSUxFfSIgXSAmJiByZXR1cm4NCisNCisJaW5mb19zZXAgIj0iDQorCWxvZw0KKwl0 bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZPfSAtVCAiIg0KKwlTVEFUVVNfRklMRT0NCit9 DQorDQorIyBzdGF0dXNfZmlsZV9zdGFydCgpIC0gRGlzcGxheSBhbmQgbG9nIG1lc3NhZ2VzIHdo ZW4gdGVzdHMgZnJvbSBvbmUgZmlsZSBzdGFydA0KK3N0YXR1c19maWxlX3N0YXJ0KCkgew0KKwlz d2l0Y2hfcGFuZSAke1BBTkVfSU5GT30NCisNCisJc3RhdHVzX2ZpbGVfZW5kDQorDQorCWluZm9f bm9sb2cgIlN0YXJ0aW5nIHRlc3RzIGluIGZpbGU6ICR7MX1cbiINCisJbG9nICI9PT0gJHsxfSIN CisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5GT30gLVQgIiR7MX0iDQorDQorCVNUQVRV U19GSUxFPSIkezF9Ig0KKwlTVEFUVVNfRklMRV9OVEVTVFM9IiR7Mn0iDQorCVNUQVRVU19GSUxF X0lOREVYPTANCit9DQorDQorIyBzdGF0dXNfZmlsZV9zdGFydCgpIC0gRGlzcGxheSBhbmQgbG9n IG1lc3NhZ2VzIHdoZW4gYSBzaW5nbGUgdGVzdCBzdGFydHMNCitzdGF0dXNfdGVzdF9zdGFydCgp IHsNCisJc3dpdGNoX3BhbmUgJHtQQU5FX0lORk99DQorDQorCWluZm9fbm9sb2cgIlN0YXJ0aW5n IHRlc3Q6ICR7MX0iDQorCWxvZyAiPiAkezF9Ig0KKw0KKwlTVEFUVVNfRklMRV9JTkRFWD0kKChT VEFUVVNfRklMRV9JTkRFWCArIDEpKQ0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZP fSAtVCAiJHtTVEFUVVNfRklMRX0gWyR7U1RBVFVTX0ZJTEVfSU5ERVh9LyR7U1RBVFVTX0ZJTEVf TlRFU1RTfV0gLSAkezF9Ig0KK30NCisNCisjIGluZm9fY2hlY2soKSAtIERpc3BsYXkgYW5kIGxv ZyBtZXNzYWdlcyBmb3IgYSBzaW5nbGUgdGVzdCBjb25kaXRpb24gY2hlY2sNCitpbmZvX2NoZWNr KCkgew0KKwlzd2l0Y2hfcGFuZSAke1BBTkVfSU5GT30NCisNCisJcHJpbnRmICIke1BSX1lFTExP V30/JHtQUl9OQ30gJHtAfSIgPj4gJFNUQVRFQkFTRS9sb2dfcGlwZQ0KKwlwcmludGYgIj8gJHtA fSIgPj4gIiR7TE9HRklMRX0iDQorfQ0KKw0KKyMgaW5mb19jaGVja19wYXNzZWQoKSAtIERpc3Bs YXkgYW5kIGxvZyBhIG5ldyBsaW5lIHdoZW4gYSBjaGVjayBwYXNzZXMNCitpbmZvX2NoZWNrX3Bh c3NlZCgpIHsNCisJc3dpdGNoX3BhbmUgJHtQQU5FX0lORk99DQorDQorCXByaW50ZiAiXG4iID4+ ICRTVEFURUJBU0UvbG9nX3BpcGUNCisJcHJpbnRmICJcbiIgPj4gJHtMT0dGSUxFfQ0KK30NCisN CisjIGluZm9fY2hlY2tfZmFpbGVkKCkgLSBEaXNwbGF5IGFuZCBsb2cgbWVzc2FnZXMgd2hlbiBh IGNoZWNrIGZhaWxzDQoraW5mb19jaGVja19mYWlsZWQoKSB7DQorCXN3aXRjaF9wYW5lICR7UEFO RV9JTkZPfQ0KKw0KKwlwcmludGYgIiAke1BSX1JFRH0hJHtQUl9OQ31cbiIgPj4gJFNUQVRFQkFT RS9sb2dfcGlwZQ0KKwlwcmludGYgIiA8IGZhaWxlZC5cbiIgPj4gIiR7TE9HRklMRX0iDQorfQ0K Kw0KKyMgaW5mb19wYXNzZWQoKSAtIERpc3BsYXksIGxvZywgYW5kIG1ha2Ugc3RhdHVzIGJhciBi bGluayB3aGVuIGEgdGVzdCBwYXNzZXMNCitpbmZvX3Bhc3NlZCgpIHsNCisJc3dpdGNoX3BhbmUg JHtQQU5FX0lORk99DQorDQorCWluZm9fbm9sb2cgIi4uLiR7UFJfR1JFRU59cGFzc2VkJHtQUl9O Q30uXG4iDQorCWxvZyAiLi4ucGFzc2VkLiINCisJbG9nDQorDQorCWZvciBpIGluIGBzZXEgMSAz YDsgZG8NCisJCXRtdXggc2V0IHN0YXR1cy1yaWdodC1zdHlsZSAnYmc9Y29sb3VyMSBmZz1jb2xv dXIyIGJvbGQnDQorCQlzbGVlcCAiMC4xIg0KKwkJdG11eCBzZXQgc3RhdHVzLXJpZ2h0LXN0eWxl ICdiZz1jb2xvdXIxIGZnPWNvbG91cjIzMyBib2xkJw0KKwkJc2xlZXAgIjAuMSINCisJZG9uZQ0K K30NCisNCisjIGluZm9fZmFpbGVkKCkgLSBEaXNwbGF5LCBsb2csIGFuZCBtYWtlIHN0YXR1cyBi YXIgYmxpbmsgd2hlbiBhIHRlc3QgcGFzc2VzDQoraW5mb19mYWlsZWQoKSB7DQorCXN3aXRjaF9w YW5lICR7UEFORV9JTkZPfQ0KKw0KKwlpbmZvX25vbG9nICIuLi4ke1BSX1JFRH1mYWlsZWQke1BS X05DfS5cbiINCisJbG9nICIuLi5mYWlsZWQuIg0KKwlsb2cNCisNCisJZm9yIGkgaW4gYHNlcSAx IDNgOyBkbw0KKwkJdG11eCBzZXQgc3RhdHVzLXJpZ2h0LXN0eWxlICdiZz1jb2xvdXIxIGZnPWNv bG91cjE5NiBib2xkJw0KKwkJc2xlZXAgIjAuMSINCisJCXRtdXggc2V0IHN0YXR1cy1yaWdodC1z dHlsZSAnYmc9Y29sb3VyMSBmZz1jb2xvdXIyMzMgYm9sZCcNCisJCXNsZWVwICIwLjEiDQorCWRv bmUNCisNCisJcGF1c2VfY29udGludWUgXA0KKwkJIlByZXNzIGFueSBrZXkgdG8gcGF1c2UgdGVz dCBzZXNzaW9uIgkJXA0KKwkJIlJlc3VtaW5nIGluICIJCQkJCVwNCisJCSJQYXVzZWQsIHByZXNz IGFueSBrZXkgdG8gY29udGludWUiCQlcDQorCQk1DQorfQ0KKw0KKyMgaW5mb19za2lwcGVkKCkg LSBEaXNwbGF5IGFuZCBsb2cgc2tpcHBlZCB0ZXN0DQoraW5mb19za2lwcGVkKCkgew0KKwlzd2l0 Y2hfcGFuZSAke1BBTkVfSU5GT30NCisNCisJaW5mb19ub2xvZyAiLi4uJHtQUl9ZRUxMT1d9c2tp cHBlZCR7UFJfTkN9LlxuIg0KKwlsb2cgIi4uLnNraXBwZWQuIg0KKwlsb2cNCit9DQorDQorIyBp bmZvX2xheW91dCgpIC0gRGlzcGxheSBzdHJpbmcgZm9yIG5ldyB0ZXN0IGxheW91dA0KK2luZm9f bGF5b3V0KCkgew0KKwlzd2l0Y2hfcGFuZSAke1BBTkVfSU5GT30NCisNCisJaW5mb19ub2xvZyAi VGVzdCBsYXlvdXQ6ICR7UFJfQkxVRX0ke0B9JHtQUl9OQ30uXG4iDQorfQ0KKw0KKyMgc3RhdHVz X3Rlc3Rfb2soKSAtIFVwZGF0ZSBjb3VudGVyIG9mIHBhc3NlZCB0ZXN0cywgbG9nIGFuZCBkaXNw bGF5IG1lc3NhZ2UNCitzdGF0dXNfdGVzdF9vaygpIHsNCisJU1RBVFVTX1BBU1M9JCgoU1RBVFVT X1BBU1MgKyAxKSkNCisJdG11eCBzZXQgc3RhdHVzLXJpZ2h0ICJQQVNTOiAke1NUQVRVU19QQVNT fSB8IEZBSUw6ICR7U1RBVFVTX0ZBSUx9IHwgIyhUWj0iVVRDIiBkYXRlIC1Jc2Vjb25kcykiDQor CWluZm9fcGFzc2VkDQorfQ0KKw0KKyMgc3RhdHVzX3Rlc3RfZmFpbCgpIC0gVXBkYXRlIGNvdW50 ZXIgb2YgZmFpbGVkIHRlc3RzLCBsb2cgYW5kIGRpc3BsYXkgbWVzc2FnZQ0KK3N0YXR1c190ZXN0 X2ZhaWwoKSB7DQorCVNUQVRVU19GQUlMPSQoKFNUQVRVU19GQUlMICsgMSkpDQorCXRtdXggc2V0 IHN0YXR1cy1yaWdodCAiUEFTUzogJHtTVEFUVVNfUEFTU30gfCBGQUlMOiAke1NUQVRVU19GQUlM fSB8ICMoVFo9IlVUQyIgZGF0ZSAtSXNlY29uZHMpIg0KKwlpbmZvX2ZhaWxlZA0KK30NCisNCisj IHN0YXR1c190ZXN0X2ZhaWwoKSAtIFVwZGF0ZSBjb3VudGVyIG9mIGZhaWxlZCB0ZXN0cywgbG9n IGFuZCBkaXNwbGF5IG1lc3NhZ2UNCitzdGF0dXNfdGVzdF9za2lwKCkgew0KKwlpbmZvX3NraXBw ZWQNCit9DQorDQorIyB0YWJsZV9oZWFkZXIoKSAtIFByaW50IHRhYmxlIGhlYWRlciB0byBsb2cg cGFuZQ0KKyMgJDE6CUhlYWRlciBkZXNjcmlwdGlvbg0KKyMgJEA6CUNvbHVtbiBoZWFkZXJzDQor dGFibGVfaGVhZGVyKCkgew0KKwlwZXJmX3RoICR7QH0NCisNCisJX19pZnM9IiR7SUZTfSINCisJ SUZTPSIgIg0KKw0KKwlfX2Rlc2M9IiR7MX0iDQorCXNoaWZ0DQorDQorCV9fbWF4X2xlbj00DQor CV9fY291bnQ9MA0KKwlmb3IgX19oIGluICR7QH07IGRvDQorCQlbICR7I19faH0gLWd0ICR7X19t YXhfbGVufSBdICYmIF9fbWF4X2xlbj0keyNfX2h9DQorCQlfX2NvdW50PSQoKF9fY291bnQgKyAx KSkNCisJZG9uZQ0KKw0KKwkjID4geHh4eCB8PA0KKwlfX291dGVyX2xlbj0kKChfX21heF9sZW4g KyAzKSkNCisJX193aWR0aF9maWVsZHM9JCgoX19vdXRlcl9sZW4gKiBfX2NvdW50ICsgMSkpDQor DQorCVRBQkxFX0hFQURFUl9MRUZUPSQoKFNUQVRVU19DT0xTIC0gX193aWR0aF9maWVsZHMpKQ0K KwlUQUJMRV9DRUxMX1NJWkU9JCgoX19tYXhfbGVuICsgMikpDQorCVRBQkxFX0NPTFM9JHtfX2Nv dW50fQ0KKw0KKwlfX3BhZF9sZWZ0PSQoKFRBQkxFX0hFQURFUl9MRUZUIC0gJHsjX19kZXNjfSAt IDIpKQ0KKwlfX2J1Zj0iJChwcmludGYgJS0ke19fcGFkX2xlZnR9cyVzICIiICIke19fZGVzY306 ICIpIg0KKwlmb3IgX19oIGluICR7QH07IGRvDQorCQlfX3BhZF9sZWZ0PSQoKCAoVEFCTEVfQ0VM TF9TSVpFIC0gJHsjX19ofSArIDEpIC8gMikpDQorCQlfX3BhZF9yaWdodD0kKCggKFRBQkxFX0NF TExfU0laRSAtICR7I19faH0pIC8gMikpDQorCQlfX2J1Zj0iJHtfX2J1Zn0kKHByaW50ZiAifCUt JHtfX3BhZF9sZWZ0fXMlcyUtJHtfX3BhZF9yaWdodH1zIiAiIiAke19faH0gIiIpIg0KKwlkb25l DQorDQorCWluZm9fbiAiJHtfX2J1Zn18Ig0KKw0KKwlJRlM9IiR7X19pZnN9Ig0KK30NCisNCisj IHRhYmxlX3JvdygpIC0gUHJpbnQgbWFpbiB0YWJsZSByb3cgdG8gbG9nIHBhbmUNCisjICRAOglD b2x1bW4gaGVhZGVycw0KK3RhYmxlX3JvdygpIHsNCisJcGVyZl90ciAke0B9DQorDQorCV9fbGlu ZT0iJHtAfSINCisJX19idWY9IiQocHJpbnRmICUtJHtUQUJMRV9IRUFERVJfTEVGVH1zICIiKSIN CisJZm9yIF9faSBpbiAkKHNlcSAxICR7VEFCTEVfQ09MU30pOyBkbw0KKwkJX19idWY9IiR7X19i dWZ9fCINCisJCWZvciBfX2ogaW4gJChzZXEgMSAke1RBQkxFX0NFTExfU0laRX0pOyBkbw0KKwkJ CV9fYnVmPSIke19fYnVmfS0iDQorCQlkb25lDQorCWRvbmUNCisJaW5mb19uICJcbiR7X19idWZ9 fFxuIg0KKw0KKwlfX3BhZF9sZWZ0PSQoKCAoVEFCTEVfSEVBREVSX0xFRlQgLSAkeyNfX2xpbmV9 ICsgMSkgLyAyKSkNCisJX19wYWRfcmlnaHQ9JCgoIChUQUJMRV9IRUFERVJfTEVGVCAtICR7I19f bGluZX0pIC8gMikpDQorCWluZm9fbiAiJChwcmludGYgIiUtJHtfX3BhZF9sZWZ0fXMlcyUtJHtf X3BhZF9yaWdodH1zfCIgIiIgIiR7X19saW5lfSIgIiIpIg0KK30NCisNCisjIHRhYmxlX2xpbmUo KSAtIFByaW50IHNpbXBsZSBsaW5lIHRvIGxvZyBwYW5lDQorIyAkQDoJQ29sdW1uIGhlYWRlcnMN Cit0YWJsZV9saW5lKCkgew0KKwlwZXJmX3RyICR7QH0NCisNCisJX19saW5lPSIke0B9Ig0KKwlp bmZvX24gIlxuIg0KKw0KKwlfX3BhZF9sZWZ0PSQoKCAoVEFCTEVfSEVBREVSX0xFRlQgLSAkeyNf X2xpbmV9ICsgMSkgLyAyKSkNCisJX19wYWRfcmlnaHQ9JCgoIChUQUJMRV9IRUFERVJfTEVGVCAt ICR7I19fbGluZX0pIC8gMikpDQorCWluZm9fbiAiJChwcmludGYgIiUtJHtfX3BhZF9sZWZ0fXMl cyUtJHtfX3BhZF9yaWdodH1zfCIgIiIgIiR7X19saW5lfSIgIiIpIg0KK30NCisNCit0YWJsZV9j ZWxsKCkgew0KKwlfX2xlbj0iJHsxfSINCisJc2hpZnQNCisNCisJX19jb250ZW50PSIke0B9Ig0K Kw0KKwlfX3BhZF9sZWZ0PSQoKFRBQkxFX0NFTExfU0laRSAtIF9fbGVuIC0gMSkpDQorCWluZm9f biAiJChwcmludGYgIiUtJHtfX3BhZF9sZWZ0fXMlcyB8IiAiIiAiJHtfX2NvbnRlbnR9IikiDQor fQ0KKw0KK3RhYmxlX2VuZCgpIHsNCisJX19idWY9IiQocHJpbnRmICUtJHtUQUJMRV9IRUFERVJf TEVGVH1zICIiKSINCisJZm9yIF9faSBpbiAkKHNlcSAxICR7VEFCTEVfQ09MU30pOyBkbw0KKwkJ X19idWY9IiR7X19idWZ9JyINCisJCWZvciBfX2ogaW4gJChzZXEgMSAke1RBQkxFX0NFTExfU0la RX0pOyBkbw0KKwkJCV9fYnVmPSIke19fYnVmfS0iDQorCQlkb25lDQorCWRvbmUNCisJaW5mb19u ICJcbiR7X19idWZ9J1xuIg0KK30NCisNCisjIHRhYmxlX3ZhbHVlKCkgLSBQcmludCBnZW5lcmlj IHRhYmxlIHZhbHVlIGluIGl0cyBvd24gY2VsbA0KKyMgJDE6CVZhbHVlLCBjYW4gYmUgJy0nIHRv IGluZGljYXRlIGEgZmlsbGVyDQorIyAkMjoJU2NhbGUsIGV4cG9uZW50IG9mIDEwDQorIyAkMzoJ RXJyb3IgdmFsdWUsIHNjYWxlZDogaWYgdmFsdWUgaXMgbGVzcyB0aGFuIHRoaXMsIHByaW50IGlu IHJlZA0KKyMgJDQ6CVdhcm5pbmcgdmFsdWUsIHNjYWxlZDogaWYgdmFsdWUgaXMgbGVzcyB0aGFu IHRoaXMsIHByaW50IGluIHllbGxvdw0KK3RhYmxlX3ZhbHVlKCkgew0KKwlbICIkezF9IiA9ICIt IiBdICYmIHRhYmxlX2NlbGwgMSAiLSIgJiYgcGVyZl90ZCAwICIiICYmIHJldHVybiAwDQorCWlm IFsgIiR7Mn0iICE9ICIwIiBdOyB0aGVuDQorCQlfX3Y9IiQoZWNobyAic2NhbGU9MTsgeD0oICR7 MX0gKyAxMF4kKCgkezJ9IC0gMSkpIC8gMiApIC8gMTBeJHsyfTsgaWYgKCB4IDwgMSAmJiB4ID4g MCApIHByaW50IDA7IHgiIHwgYmMgLWwpIg0KKwllbHNlDQorCQlfX3Y9IiR7MX0iDQorCWZpDQor CXBlcmZfdGQgMCAiJHtfX3Z9Ig0KKw0KKwlfX3JlZD0iJHszfSINCisJX195ZWxsb3c9IiR7NH0i DQorCWlmIFsgIiQoZWNobyAiJHtfX3Z9IDwgJHtfX3JlZH0iIHwgYmMgLWwpIiA9ICIxIiBdOyB0 aGVuDQorCQl0YWJsZV9jZWxsICR7I19fdn0gIiR7UFJfUkVEfSR7X192fSR7UFJfTkN9Ig0KKwkJ cmV0dXJuIDENCisJZWxpZiBbICIkKGVjaG8gIiR7X192fSA8ICR7X195ZWxsb3d9IiB8IGJjIC1s KSIgPSAiMSIgXTsgdGhlbg0KKwkJdGFibGVfY2VsbCAkeyNfX3Z9ICIke1BSX1lFTExPV30ke19f dn0ke1BSX05DfSINCisJCXJldHVybiAxDQorCWVsc2UNCisJCXRhYmxlX2NlbGwgJHsjX192fSAi JHtQUl9HUkVFTn0ke19fdn0ke1BSX05DfSINCisJCXJldHVybiAwDQorCWZpDQorfQ0KKw0KK3Rh YmxlX3ZhbHVlX3Rocm91Z2hwdXQoKSB7DQorCVsgIiR7MX0iID0gIi0iIF0gJiYgdGFibGVfY2Vs bCAxICItIiAmJiBwZXJmX3RkIDAgIiIgJiYgcmV0dXJuIDANCisJX192PSIkKGVjaG8gInNjYWxl PTE7IHg9KCAkezF9ICsgMTBeOCAvIDIgKSAvIDEwXjk7IGlmICggeCA8IDEgJiYgeCA+IDAgKSBw cmludCAwOyB4IiB8IGJjIC1sKSINCisJcGVyZl90ZCAzMSAiJHtfX3Z9Ig0KKw0KKwlfX3JlZD0i JHsyfSINCisJX195ZWxsb3c9IiR7M30iDQorCWlmIFsgIiQoZWNobyAiJHtfX3Z9IDwgJHtfX3Jl ZH0iIHwgYmMgLWwpIiA9ICIxIiBdOyB0aGVuDQorCQl0YWJsZV9jZWxsICR7I19fdn0gIiR7UFJf UkVEfSR7X192fSR7UFJfTkN9Ig0KKwkJcmV0dXJuIDENCisJZWxpZiBbICIkKGVjaG8gIiR7X192 fSA8ICR7X195ZWxsb3d9IiB8IGJjIC1sKSIgPSAiMSIgXTsgdGhlbg0KKwkJdGFibGVfY2VsbCAk eyNfX3Z9ICIke1BSX1lFTExPV30ke19fdn0ke1BSX05DfSINCisJCXJldHVybiAxDQorCWVsc2UN CisJCXRhYmxlX2NlbGwgJHsjX192fSAiJHtQUl9HUkVFTn0ke19fdn0ke1BSX05DfSINCisJCXJl dHVybiAwDQorCWZpDQorfQ0KKw0KK3RhYmxlX3ZhbHVlX2xhdGVuY3koKSB7DQorCVsgIiR7MX0i ID0gIi0iIF0gJiYgdGFibGVfY2VsbCAxICItIiAmJiBwZXJmX3RkIDAgIiIgJiYgcmV0dXJuIDAN CisNCisJX192PSIkKGVjaG8gInNjYWxlPTY7IDEgLyAkezF9ICogMTBeNiIgfCBiYyAtbCkiDQor CV9fdj0iJHtfX3YlLip9Ig0KKw0KKwlwZXJmX3RkIDExICIke19fdn0iDQorDQorCV9fcmVkPSIk ezJ9Ig0KKwlfX3llbGxvdz0iJHszfSINCisJaWYgWyAiJChlY2hvICIke19fdn0gPiAke19fcmVk fSIgfCBiYyAtbCkiID0gIjEiIF07IHRoZW4NCisJCXRhYmxlX2NlbGwgJHsjX192fSAiJHtQUl9S RUR9JHtfX3Z9JHtQUl9OQ30iDQorCQlyZXR1cm4gMQ0KKwllbGlmIFsgIiQoZWNobyAiJHtfX3Z9 ID4gJHtfX3llbGxvd30iIHwgYmMgLWwpIiA9ICIxIiBdOyB0aGVuDQorCQl0YWJsZV9jZWxsICR7 I19fdn0gIiR7UFJfWUVMTE9XfSR7X192fSR7UFJfTkN9Ig0KKwkJcmV0dXJuIDENCisJZWxzZQ0K KwkJdGFibGVfY2VsbCAkeyNfX3Z9ICIke1BSX0dSRUVOfSR7X192fSR7UFJfTkN9Ig0KKwkJcmV0 dXJuIDANCisJZmkNCit9DQorDQorIyBwYXVzZV9jb250aW51ZSgpIC0gUGF1c2UgZm9yIGEgd2hp bGUsIHdhaXQgZm9yIGtleXN0cm9rZSwgcmVzdW1lIG9uIHNlY29uZCBvbmUNCitwYXVzZV9jb250 aW51ZSgpIHsNCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5GT30NCisJaW5mb19ub2xv ZyAiJHsxfSINCisJaW5mb19ub2xvZ19uICIkezJ9Ig0KKw0KKwlfX3BhdXNlX3RtcD0iJHtTVEFU RUJBU0V9L3BhdXNlLnRtcCINCisJZWNobyA+ICIke19fcGF1c2VfdG1wfSINCisJdG11eCBwaXBl LXBhbmUgLU8gLXQgJHtQQU5FX0lORk99ICJjYXQgPj4gJHtfX3BhdXNlX3RtcH0iDQorCV9fcGFu ZV9idWY9DQorCV9fd2FpdD0wDQorCXNsZWVwIDENCisJZm9yIF9faSBpbiAkKHNlcSAkezR9IC0x IDApOyBkbw0KKwkJaWYgWyAiJCh0YWlsIC1uMSAke19fcGF1c2VfdG1wfSB8IHRyIC1kIC1jIFs6 cHJpbnQ6XSkiICE9ICIke19fcGFuZV9idWZ9IiBdOyB0aGVuDQorCQkJX193YWl0PTENCisJCQli cmVhaw0KKwkJZmkNCisNCisJCWlmIFsgJHtfX2l9IC1uZSAkezR9IF07IHRoZW4NCisJCQl0bXV4 IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gQnNwYWNlDQorCQkJdG11eCBzZW5kLWtleXMgLXQg JHtQQU5FX0lORk99IEJzcGFjZQ0KKwkJCV9fcGFuZV9idWY9IiR7X19wYW5lX2J1Zn0gICINCisJ CWZpDQorCQlpbmZvX25vbG9nX24gIiR7X19pfSAiDQorCQlfX3BhbmVfYnVmPSIke19fcGFuZV9i dWZ9JHtfX2l9ICINCisJCXNsZWVwIDENCisJZG9uZQ0KKw0KKwlpZiBbICR7X193YWl0fSAtZXEg MSBdOyB0aGVuDQorCQl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gQnNwYWNlDQorCQl0 bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gQnNwYWNlDQorCQlpbmZvX25vbG9nICIiDQor CQlpbmZvX25vbG9nICIkezN9Ig0KKwkJX19wYW5lX2J1Zj0iJCh0YWlsIC1uMSAke19fcGF1c2Vf dG1wfSkiDQorCQl3aGlsZSB0cnVlOyBkbw0KKwkJCVsgIiQodGFpbCAtbjEgJHtfX3BhdXNlX3Rt cH0pIiAhPSAiJHtfX3BhbmVfYnVmfSIgXSAmJiBicmVhaw0KKwkJCXNsZWVwIDENCisJCWRvbmUN CisJZmkNCisJdG11eCBwaXBlLXBhbmUgLU8gLXQgJHtQQU5FX0lORk99ICIiDQorCXJtICIke19f cGF1c2VfdG1wfSINCisJaW5mb19ub2xvZyAiIg0KK30NCisNCisjIHJ1bl90ZXJtKCkgLSBTdGFy dCB0bXV4IHNlc3Npb24sIHJ1bm5pbmcgZW50cnkgcG9pbnQsIHdpdGggcmVjb3JkaW5nIGlmIG5l ZWRlZA0KK3J1bl90ZXJtKCkgew0KKwlUTVVYPSJ0bXV4IG5ldy1zZXNzaW9uIC1zIHBhc3N0X3Rl c3QgLWVTVEFURUJBU0U9JFNUQVRFQkFTRSAtZVBDQVA9JFBDQVAgLWVERUJVRz0kREVCVUciDQor DQorCWlmIFsgJHtDSX0gLWVxIDEgXTsgdGhlbg0KKwkJcHJpbnRmICdcZVs4OzUwOzI0MHQnDQor CQlhc2NpaW5lbWEgcmVjIC0tb3ZlcndyaXRlICIke1NUQVRFQkFTRX0vY2kudW5jdXQiIC1jICIk VE1VWCAvYmluL3NoIC1jICcuL2NpIGZyb21fdGVybSciDQorCQl2aWRlb19wb3N0cHJvY2VzcyAi JHtTVEFURUJBU0V9L2NpLnVuY3V0Ig0KKwllbGlmIFsgJHtERU1PfSAtZXEgMSBdOyB0aGVuDQor CQlwcmludGYgJ1xlWzg7NDA7MTMwdCcNCisJCWFzY2lpbmVtYSByZWMgLS1vdmVyd3JpdGUgIiR7 U1RBVEVCQVNFfS9kZW1vLnVuY3V0IiAtYyAiJFRNVVggL2Jpbi9zaCAtYyAnLi9ydW5fZGVtbyBm cm9tX3Rlcm0nIg0KKwkJdmlkZW9fcG9zdHByb2Nlc3MgIiR7U1RBVEVCQVNFfS9kZW1vLnVuY3V0 Ig0KKwllbHNlDQorCQkkVE1VWCAvYmluL3NoIC1jICIuL3J1biBmcm9tX3Rlcm0gJHsqfSINCisJ ZmkNCit9DQorDQorIyB0ZXJtKCkgLSBTZXQgdXAgdGVybWluYWwgd2luZG93IGFuZCBwYW5lcyBm b3IgcmVndWxhciB0ZXN0cyBvciBDSQ0KK3Rlcm0oKSB7DQorCXRtdXggc2V0LW9wdGlvbiBkZWZh dWx0LXNoZWxsICIvYmluL3NoIg0KKw0KKwl0bXV4IHNldCBzdGF0dXMtaW50ZXJ2YWwgMQ0KKwl0 bXV4IHJlbmFtZS13aW5kb3cgJycNCisNCisJdG11eCBzZXQgd2luZG93LXN0YXR1cy1mb3JtYXQg JyNXJw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVzLWN1cnJlbnQtZm9ybWF0ICcjVycNCisJdG11 eCBzZXQgc3RhdHVzLWxlZnQgJycNCisJdG11eCBzZXQgd2luZG93LXN0YXR1cy1zZXBhcmF0b3Ig JycNCisNCisJdG11eCBzZXQgd2luZG93LXN0YXR1cy1zdHlsZSAnYmc9Y29sb3VyMSBmZz1jb2xv dXIyMzMgYm9sZCcNCisJdG11eCBzZXQgc3RhdHVzLXN0eWxlICdiZz1jb2xvdXIxIGZnPWNvbG91 cjIzMyBib2xkJw0KKwl0bXV4IHNldCBzdGF0dXMtcmlnaHQtc3R5bGUgJ2JnPWNvbG91cjEgZmc9 Y29sb3VyMjMzIGJvbGQnDQorDQorCXRtdXggbmV3LXdpbmRvdyAtbiAiVGVzdGluZyBjb21taXQ6 ICR7Q09NTUlUfSINCisNCisJdG11eCBzZXQgd2luZG93LXN0YXR1cy1mb3JtYXQgJyNXJw0KKwl0 bXV4IHNldCB3aW5kb3ctc3RhdHVzLWN1cnJlbnQtZm9ybWF0ICcjVycNCisJdG11eCBzZXQgc3Rh dHVzLWxlZnQgJycNCisJdG11eCBzZXQgd2luZG93LXN0YXR1cy1zZXBhcmF0b3IgJycNCisNCisJ dG11eCBzZXQgd2luZG93LXN0YXR1cy1jdXJyZW50LXN0eWxlICdiZz1jb2xvdXIxIGZnPWNvbG91 cjIzMyBib2xkJw0KKwl0bXV4IHNldCBzdGF0dXMtcmlnaHQgJyMoVFo9IlVUQyIgZGF0ZSAtSXNl Y29uZHMpJw0KKwl0bXV4IHNldCBzdGF0dXMtcmlnaHQtbGVuZ3RoIDUwDQorCXRtdXggc2V0IHN0 YXR1cy1yaWdodC1zdHlsZSAnYmc9Y29sb3VyMSBmZz1jb2xvdXIyMzMgYm9sZCcNCisNCisJdG11 eCBzZXQgaGlzdG9yeS1saW1pdCA1MDAwMDANCisJdG11eCBzZWxlY3QtcGFuZSAtdCAwIC1UICcn DQorCXRtdXggc2V0IHBhbmUtYm9yZGVyLWZvcm1hdCAnI1QnDQorCXRtdXggc2V0IHBhbmUtYm9y ZGVyLXN0eWxlICdmZz1jb2xvdXIyIGJnPWNvbG91cjIzMycNCisJdG11eCBzZXQgcGFuZS1hY3Rp dmUtYm9yZGVyLXN0eWxlICdmZz1jb2xvdXIyMzMgYmc9Y29sb3VyNCBib2xkJw0KKwl0bXV4IHNl dCBwYW5lLWJvcmRlci1zdGF0dXMgYm90dG9tDQorfQ0KKw0KKyMgdGVybV9kZW1vKCkgLSBTZXQg dXAgdGVybWluYWwgd2luZG93IGFuZCBwYW5lcyBmb3IgZGVtbw0KK3Rlcm1fZGVtbygpIHsNCisJ dG11eCBzZXQtb3B0aW9uIGRlZmF1bHQtc2hlbGwgIi9iaW4vc2giDQorDQorCXRtdXggc2V0IHN0 YXR1cy1pbnRlcnZhbCAxDQorCXRtdXggcmVuYW1lLXdpbmRvdyAnJw0KKw0KKwl0bXV4IHNldCB3 aW5kb3ctc3RhdHVzLWZvcm1hdCAnI1cnDQorCXRtdXggc2V0IHdpbmRvdy1zdGF0dXMtY3VycmVu dC1mb3JtYXQgJyNXJw0KKwl0bXV4IHNldCBzdGF0dXMtbGVmdCAnJw0KKwl0bXV4IHNldCB3aW5k b3ctc3RhdHVzLXNlcGFyYXRvciAnJw0KKw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVzLXN0eWxl ICdiZz1jb2xvdXIxIGZnPWNvbG91cjE1IGJvbGQnDQorCXRtdXggc2V0IHN0YXR1cy1yaWdodCAn Jw0KKwl0bXV4IHNldCBzdGF0dXMtc3R5bGUgJ2JnPWNvbG91cjEgZmc9Y29sb3VyMTUgYm9sZCcN CisJdG11eCBzZXQgc3RhdHVzLXJpZ2h0LXN0eWxlICdiZz1jb2xvdXIxIGZnPWNvbG91cjE1IGJv bGQnDQorDQorCXRtdXggbmV3LXdpbmRvdyAtbiAiRGVtbyBhdCBjb21taXQ6ICR7Q09NTUlUfSIN CisNCisJdG11eCBzZXQgd2luZG93LXN0YXR1cy1mb3JtYXQgJyNXJw0KKwl0bXV4IHNldCB3aW5k b3ctc3RhdHVzLWN1cnJlbnQtZm9ybWF0ICcjVycNCisJdG11eCBzZXQgc3RhdHVzLWxlZnQgJycN CisJdG11eCBzZXQgd2luZG93LXN0YXR1cy1zZXBhcmF0b3IgJycNCisNCisJdG11eCBzZWxlY3Qt cGFuZSAtdCAwIC1UICcnDQorCXRtdXggc2V0IHBhbmUtYm9yZGVyLWZvcm1hdCAnI1QnDQorCXRt dXggc2V0IHBhbmUtYm9yZGVyLXN0eWxlICdmZz1jb2xvdXIyIGJnPWNvbG91cjIzMycNCisJdG11 eCBzZXQgcGFuZS1hY3RpdmUtYm9yZGVyLXN0eWxlICdmZz1jb2xvdXIxNSBiZz1jb2xvdXI0IGJv bGQnDQorCXRtdXggc2V0IHBhbmUtYm9yZGVyLXN0YXR1cyBib3R0b20NCit9DQpkaWZmIC0tZ2l0 IGEvb2xkdGVzdC9saWIvdGVzdCBiL29sZHRlc3QvbGliL3Rlc3QNCm5ldyBmaWxlIG1vZGUgMTAw NzU1DQppbmRleCAwMDAwMDAwMC4uNjBiZGFlOTYNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRl c3QvbGliL3Rlc3QNCkBAIC0wLDAgKzEsMzk4IEBADQorIyEvYmluL3NoDQorIw0KKyMgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcg QSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tl dCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMg IGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2xpYi90 ZXN0IC0gTGlzdCB0ZXN0cyBhbmQgcnVuIHRoZW0sIGV2YWx1YXRpbmcgZGlyZWN0aXZlcyBmcm9t IGZpbGVzDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9y OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KKyMgdGVzdF9pcGVyZjMo KSAtIFVnbHkgaGVscGVyIGZvciBpcGVyZjMgZGlyZWN0aXZlDQorIyAkMToJVmFyaWFibGUgbmFt ZTogdG8gcHV0IHRoZSBtZWFzdXJlIGJhbmR3aWR0aCBpbnRvDQorIyAkMjoJU291cmNlL2NsaWVu dCBjb250ZXh0DQorIyAkMzoJRGVzdGluYXRpb24vc2VydmVyIGNvbnRleHQNCisjICQ0OglEZXN0 aW5hdGlvbiBuYW1lIG9yIGFkZHJlc3MgZm9yIGNsaWVudA0KKyMgJDU6CVBvcnQgbnVtYmVyLCAk e2l9IGlzIHRyYW5zbGF0ZWQgdG8gcHJvY2VzcyBpbmRleA0KKyMgJDY6CU51bWJlciBvZiBwcm9j ZXNzZXMgdG8gcnVuIGluIHBhcmFsbGVsDQorIyAkNzoJUnVuIHRpbWUsIGluIHNlY29uZHMNCisj ICRAOglDbGllbnQgb3B0aW9ucw0KK3Rlc3RfaXBlcmYzKCkgew0KKwlfX3Zhcj0iJHsxfSI7IHNo aWZ0DQorCV9fY2N0eD0iJHsxfSI7IHNoaWZ0DQorCV9fc2N0eD0iJHsxfSI7IHNoaWZ0DQorCV9f ZGVzdD0iJHsxfSI7IHNoaWZ0DQorCV9fcG9ydD0iJHsxfSI7IHNoaWZ0DQorCV9fcHJvY3M9IiQo KCR7MX0gLSAxKSkiOyBzaGlmdA0KKwlfX3RpbWU9IiR7MX0iOyBzaGlmdA0KKw0KKwlwYW5lX29y X2NvbnRleHRfcnVuICIke19fc2N0eH0iICdybSAtZiBzKi5qc29uJw0KKw0KKwlwYW5lX29yX2Nv bnRleHRfcnVuX2JnICIke19fc2N0eH0iIAkJCQlcDQorCQkgJ2ZvciBpIGluICQoc2VxIDAgJyR7 X19wcm9jc30nKTsgZG8nCQkJXA0KKwkJICcJKGlwZXJmMyAtczFKIC1wJyR7X19wb3J0fScgLWkn JHtfX3RpbWV9CQlcDQorCQkgJwkgPiBzJHtpfS5qc29uKSAmJwkJCQlcDQorCQkgJwllY2hvICQh ID4gcyR7aX0ucGlkICYnCQkJCVwNCisJCSAnZG9uZScJCQkJCQkJXA0KKw0KKwlzbGVlcCAxCQkj IFdhaXQgZm9yIHNlcnZlciB0byBiZSByZWFkeQ0KKw0KKwlwYW5lX29yX2NvbnRleHRfcnVuX2Jn ICIke19fY2N0eH0iIAkJCQlcDQorCQkgJygnCQkJCQkJCVwNCisJCSAnCWZvciBpIGluICQoc2Vx IDAgJyR7X19wcm9jc30nKTsgZG8nCQlcDQorCQkgJwkJaXBlcmYzIC1jICcke19fZGVzdH0nIC1w ICcke19fcG9ydH0JXA0KKwkJICcJCSAtdCcke19fdGltZX0nIC1pMCAtVCBzJHtpfSAnIiR7QH0i JyAmJyBcDQorCQkgJwlkb25lOycJCQkJCQlcDQorCQkgJwl3YWl0JwkJCQkJCVwNCisJCSAnKScN CisNCisJc2xlZXAgJCgoX190aW1lICsgNSkpDQorDQorCSMgSWYgY2xpZW50IGZhaWxzIHRvIGRl bGl2ZXIgY29udHJvbCBtZXNzYWdlLCB0ZWxsIHNlcnZlciB3ZSdyZSBkb25lDQorCXBhbmVfb3Jf Y29udGV4dF9ydW4gIiR7X19zY3R4fSIgJ2tpbGwgLUlOVCAkKGNhdCBzKi5waWQpOyBybSBzKi5w aWQnDQorDQorCXNsZWVwIDEJCSMgLi4uYW5kIHdhaXQgZm9yIG91dHB1dCB0byBiZSBmbHVzaGVk DQorDQorCV9fanZhbD0iLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIg0KKwlmb3Ig X19vcHQgaW4gJHtAfTsgZG8NCisJCSMgVURQIHRlc3QNCisJCVsgIiR7X19vcHR9IiA9ICItdSIg XSAmJiBfX2p2YWw9Ii5pbnRlcnZhbHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCINCisJZG9uZQ0K Kw0KKwlfX2J3PSQocGFuZV9vcl9jb250ZXh0X291dHB1dCAiJHtfX3NjdHh9IgkJCVwNCisJCSAn Y2F0IHMqLmpzb24gfCBqcSAtck1zICJtYXAoJyR7X19qdmFsfScpIHwgYWRkIicpDQorDQorCVRF U1RfT05FX3N1YnM9IiQobGlzdF9hZGRfcGFpciAiJHtURVNUX09ORV9zdWJzfSIgIl9fJHtfX3Zh cn1fXyIgIiR7X19id30iICkiDQorDQorCXNsZWVwIDMJCSMgV2FpdCBmb3Iga2VybmVsIHRvIGZy ZWUgdXAgcG9ydHMNCit9DQorDQordGVzdF9vbmVfbGluZSgpIHsNCisJX19saW5lPSIkezF9Ig0K Kw0KKwlbICR7REVCVUd9IC1lcSAxIF0gJiYgaW5mbyBERUJVRzogIiR7X19saW5lfSINCisNCisJ IyBTdHJpcCBjb21tZW50cw0KKwlfX2xpbmU9IiR7X19saW5lJSUjKn0iDQorDQorCWlmIFsgLW4g IiR7VEVTVF9PTkVfaW5fZGVmfSIgXTsgdGhlbg0KKwkJWyAiJHtfX2xpbmV9IiA9ICJlbmRlZiIg XSAmJiBURVNUX09ORV9pbl9kZWY9ICYmIHJldHVybg0KKwkJIyBBcHBlbmQgJF9fbGluZSB0byB2 YXJpYWJsZSBURVNUX09ORV9ERUZfPGRlZmluaXRpb24gbmFtZT4NCisJCV9faWZzPSIke0lGU30i DQorCQlJRlM9DQorCQlldmFsIFRFU1RfT05FX0RFRl8kVEVTVF9PTkVfaW5fZGVmPVwiXCRcKHBy aW50ZiBcIiVzXFxuJXNcIiBcIlwkVEVTVF9PTkVfREVGXyRURVNUX09ORV9pbl9kZWZcIiBcIiRf X2xpbmVcIlwpXCINCisJCUlGUz0iJHtfX2lmc30iDQorCQlyZXR1cm4NCisJZmkNCisNCisJIyB0 YWItc3BsaXQgY29tbWFuZCBhbmQgYXJndW1lbnRzLCBhcHBseSB2YXJpYWJsZSBzdWJzdGl0dXRp b25zDQorCV9fY21kPSIke19fbGluZSUlJChwcmludGYgJ1x0JykqfSINCisJX19hcmc9IiR7X19s aW5lIyokKHByaW50ZiAnXHQnKSp9Ig0KKwlfX2FyZz0iJChzdWJzX2FwcGx5ICIke1RFU1RfT05F X3N1YnN9IiAiJHtfX2FyZ30iKSINCisNCisJWyAke1RFU1RfT05FX25va30gLWVxIDEgXSAmJiBb ICIke19fY21kfSIgIT0gInRlc3QiIF0gJiYgY29udGludWUNCisJY2FzZSAke19fY21kfSBpbg0K KwkiZGVmIikNCisJCVRFU1RfT05FX2luX2RlZj0iJHtfX2FyZ30iDQorCQkjIENsZWFyIHZhcmlh YmxlIFRFU1RfT05FX0RFRl88ZGVmaW5pdGlvbiBuYW1lPg0KKwkJX19pZnM9IiR7SUZTfSINCisJ CUlGUz0gZXZhbCBURVNUX09ORV9ERUZfJFRFU1RfT05FX2luX2RlZj0NCisJCUlGUz0iJHtfX2lm c30iDQorCQk7Ow0KKwkidGVzdCIpDQorCQlbICR7VEVTVF9PTkVfcGVyZl9ub2t9IC1lcSAwIF0g fHwgVEVTVF9PTkVfbm9rPTENCisJCVsgJHtURVNUX09ORV9ub2t9IC1lcSAxIF0gJiYgc3RhdHVz X3Rlc3RfZmFpbA0KKwkJWyAke1RFU1RfT05FX25va30gLWVxIDAgXSAmJiBzdGF0dXNfdGVzdF9v aw0KKw0KKwkJc3RhdHVzX3Rlc3Rfc3RhcnQgIiR7X19hcmd9Ig0KKwkJVEVTVF9PTkVfbm9rPTAN CisJCVRFU1RfT05FX3BlcmZfbm9rPTANCisJCTs7DQorCSJob3N0IikNCisJCXBhbmVfb3JfY29u dGV4dF9ydW4gaG9zdCAiJHtfX2FyZ30iIHx8IFRFU1RfT05FX25vaz0xDQorCQk7Ow0KKwkiaG9z dGIiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1bl9iZyBob3N0ICIke19fYXJnfSINCisJCTs7DQor CSJob3N0dyIpDQorCQlwYW5lX29yX2NvbnRleHRfd2FpdCBob3N0IHx8IFRFU1RfT05FX25vaz0x DQorCQk7Ow0KKwkiaGludCIpDQorCQl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSE9TVH0gIkMt YyINCisJCTs7DQorCSJodG9vbHMiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBob3N0ICd3aGlj aCAnIiR7X19hcmd9IicgPi9kZXYvbnVsbCcgfHwgVEVTVF9PTkVfc2tpcD0xDQorCQk7Ow0KKwki cGFzc3QiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBwYXNzdCAiJHtfX2FyZ30iIHx8IFRFU1Rf T05FX25vaz0xDQorCQk7Ow0KKwkicGFzc3RiIikNCisJCXBhbmVfb3JfY29udGV4dF9ydW5fYmcg cGFzc3QgIiR7X19hcmd9Ig0KKwkJOzsNCisJInBhc3N0dyIpDQorCQlwYW5lX29yX2NvbnRleHRf d2FpdCBwYXNzdCB8fCBURVNUX09ORV9ub2s9MQ0KKwkJOzsNCisJInBpbnQiKQ0KKwkJdG11eCBz ZW5kLWtleXMgLXQgJHtQQU5FX1BBU1NUfSAiQy1jIg0KKwkJOzsNCisJInBvdXQiKQ0KKwkJX192 YXJuYW1lPSIke19fYXJnJSUgKn0iDQorCQlfX291dHB1dD0iJChwYW5lX29yX2NvbnRleHRfb3V0 cHV0IHBhc3N0ICIke19fYXJnIyogfSIpIg0KKwkJVEVTVF9PTkVfc3Vicz0iJChsaXN0X2FkZF9w YWlyICIke1RFU1RfT05FX3N1YnN9IiAiX18ke19fdmFybmFtZX1fXyIgIiR7X19vdXRwdXR9Iiki DQorCQk7Ow0KKwkiZ3Vlc3QiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBndWVzdCAiJHtfX2Fy Z30iIHx8IFRFU1RfT05FX25vaz0xDQorCQk7Ow0KKwkiZ3Vlc3RiIikNCisJCXBhbmVfb3JfY29u dGV4dF9ydW5fYmcgZ3Vlc3QgIiR7X19hcmd9Ig0KKwkJOzsNCisJImd1ZXN0dyIpDQorCQlwYW5l X29yX2NvbnRleHRfd2FpdCBndWVzdCB8fCBURVNUX09ORV9ub2s9MQ0KKwkJOzsNCisJImd1ZXN0 MSIpDQorCQlwYW5lX29yX2NvbnRleHRfcnVuIGd1ZXN0XzEgIiR7X19hcmd9IiB8fCBURVNUX09O RV9ub2s9MQ0KKwkJOzsNCisJImd1ZXN0MWIiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1bl9iZyBn dWVzdF8xICIke19fYXJnfSINCisJCTs7DQorCSJndWVzdDF3IikNCisJCXBhbmVfb3JfY29udGV4 dF93YWl0IGd1ZXN0XzEgfHwgVEVTVF9PTkVfbm9rPTENCisJCTs7DQorCSJndG9vbHMiKQ0KKwkJ cGFuZV9vcl9jb250ZXh0X3J1biBndWVzdCAnd2hpY2ggJyIke19fYXJnfSInID4vZGV2L251bGwn IHx8IFRFU1RfT05FX3NraXA9MQ0KKwkJOzsNCisJImcxdG9vbHMiKQ0KKwkJcGFuZV9vcl9jb250 ZXh0X3J1biBndWVzdF8xICd3aGljaCAnIiR7X19hcmd9IicgPi9kZXYvbnVsbCcgfHwgVEVTVF9P TkVfc2tpcD0xDQorCQk7Ow0KKwkiZzJ0b29scyIpDQorCQlwYW5lX29yX2NvbnRleHRfcnVuIGd1 ZXN0XzIgJ3doaWNoICciJHtfX2FyZ30iJyA+L2Rldi9udWxsJyB8fCBURVNUX09ORV9za2lwPTEN CisJCTs7DQorCSJndWVzdDIiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBndWVzdF8yICIke19f YXJnfSIgfHwgVEVTVF9PTkVfbm9rPTENCisJCTs7DQorCSJndWVzdDJiIikNCisJCXBhbmVfb3Jf Y29udGV4dF9ydW5fYmcgZ3Vlc3RfMiAiJHtfX2FyZ30iDQorCQk7Ow0KKwkiZ3Vlc3QydyIpDQor CQlwYW5lX29yX2NvbnRleHRfd2FpdCBndWVzdF8yIHx8IFRFU1RfT05FX25vaz0xDQorCQk7Ow0K KwkibnMiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBucyAiJHtfX2FyZ30iIHx8IFRFU1RfT05F X25vaz0xDQorCQk7Ow0KKwkibnMxIikNCisJCXBhbmVfb3JfY29udGV4dF9ydW4gbnMxICIke19f YXJnfSIgfHwgVEVTVF9PTkVfbm9rPTENCisJCTs7DQorCSJuczIiKQ0KKwkJcGFuZV9vcl9jb250 ZXh0X3J1biBuczIgIiR7X19hcmd9IiB8fCBURVNUX09ORV9ub2s9MQ0KKwkJOzsNCisJIm5zYiIp DQorCQlwYW5lX29yX2NvbnRleHRfcnVuX2JnIG5zICIke19fYXJnfSINCisJCTs7DQorCSJuczFi IikNCisJCXBhbmVfb3JfY29udGV4dF9ydW5fYmcgbnMxICIke19fYXJnfSINCisJCTs7DQorCSJu czJiIikNCisJCXBhbmVfb3JfY29udGV4dF9ydW5fYmcgbnMyICIke19fYXJnfSINCisJCTs7DQor CSJuc3ciKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3dhaXQgbnMgfHwgVEVTVF9PTkVfbm9rPTENCisJ CTs7DQorCSJuczF3IikNCisJCXBhbmVfb3JfY29udGV4dF93YWl0IG5zMSB8fCBURVNUX09ORV9u b2s9MQ0KKwkJOzsNCisJIm5zMnciKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3dhaXQgbnMyIHx8IFRF U1RfT05FX25vaz0xDQorCQk7Ow0KKwkibnN0b29scyIpDQorCQlwYW5lX29yX2NvbnRleHRfcnVu IG5zICd3aGljaCAnIiR7X19hcmd9IicgPi9kZXYvbnVsbCcgfHwgVEVTVF9PTkVfc2tpcD0xDQor CQk7Ow0KKwkiZ291dCIpDQorCQlfX3Zhcm5hbWU9IiR7X19hcmclJSAqfSINCisJCV9fb3V0cHV0 PSIkKHBhbmVfb3JfY29udGV4dF9vdXRwdXQgZ3Vlc3QgIiR7X19hcmcjKiB9IikiDQorCQlURVNU X09ORV9zdWJzPSIkKGxpc3RfYWRkX3BhaXIgIiR7VEVTVF9PTkVfc3Vic30iICJfXyR7X192YXJu YW1lfV9fIiAiJHtfX291dHB1dH0iKSINCisJCTs7DQorCSJnMW91dCIpDQorCQlfX3Zhcm5hbWU9 IiR7X19hcmclJSAqfSINCisJCV9fb3V0cHV0PSIkKHBhbmVfb3JfY29udGV4dF9vdXRwdXQgZ3Vl c3RfMSAiJHtfX2FyZyMqIH0iKSINCisJCVRFU1RfT05FX3N1YnM9IiQobGlzdF9hZGRfcGFpciAi JHtURVNUX09ORV9zdWJzfSIgIl9fJHtfX3Zhcm5hbWV9X18iICIke19fb3V0cHV0fSIpIg0KKwkJ OzsNCisJImcyb3V0IikNCisJCV9fdmFybmFtZT0iJHtfX2FyZyUlICp9Ig0KKwkJX19vdXRwdXQ9 IiQocGFuZV9vcl9jb250ZXh0X291dHB1dCBndWVzdF8yICIke19fYXJnIyogfSIpIg0KKwkJVEVT VF9PTkVfc3Vicz0iJChsaXN0X2FkZF9wYWlyICIke1RFU1RfT05FX3N1YnN9IiAiX18ke19fdmFy bmFtZX1fXyIgIiR7X19vdXRwdXR9IikiDQorCQk7Ow0KKwkiaG91dCIpDQorCQlfX3Zhcm5hbWU9 IiR7X19hcmclJSAqfSINCisJCV9fb3V0cHV0PSIkKHBhbmVfb3JfY29udGV4dF9vdXRwdXQgaG9z dCAiJHtfX2FyZyMqIH0iKSINCisJCVRFU1RfT05FX3N1YnM9IiQobGlzdF9hZGRfcGFpciAiJHtU RVNUX09ORV9zdWJzfSIgIl9fJHtfX3Zhcm5hbWV9X18iICIke19fb3V0cHV0fSIpIg0KKwkJOzsN CisJIm5zb3V0IikNCisJCV9fdmFybmFtZT0iJHtfX2FyZyUlICp9Ig0KKwkJX19vdXRwdXQ9IiQo cGFuZV9vcl9jb250ZXh0X291dHB1dCBucyAiJHtfX2FyZyMqIH0iKSINCisJCVRFU1RfT05FX3N1 YnM9IiQobGlzdF9hZGRfcGFpciAiJHtURVNUX09ORV9zdWJzfSIgIl9fJHtfX3Zhcm5hbWV9X18i ICIke19fb3V0cHV0fSIpIg0KKwkJOzsNCisJIm5zMW91dCIpDQorCQlfX3Zhcm5hbWU9IiR7X19h cmclJSAqfSINCisJCV9fb3V0cHV0PSIkKHBhbmVfb3JfY29udGV4dF9vdXRwdXQgbnMxICIke19f YXJnIyogfSIpIg0KKwkJVEVTVF9PTkVfc3Vicz0iJChsaXN0X2FkZF9wYWlyICIke1RFU1RfT05F X3N1YnN9IiAiX18ke19fdmFybmFtZX1fXyIgIiR7X19vdXRwdXR9IikiDQorCQk7Ow0KKwkibnMy b3V0IikNCisJCV9fdmFybmFtZT0iJHtfX2FyZyUlICp9Ig0KKwkJX19vdXRwdXQ9IiQocGFuZV9v cl9jb250ZXh0X291dHB1dCBuczIgIiR7X19hcmcjKiB9IikiDQorCQlURVNUX09ORV9zdWJzPSIk KGxpc3RfYWRkX3BhaXIgIiR7VEVTVF9PTkVfc3Vic30iICJfXyR7X192YXJuYW1lfV9fIiAiJHtf X291dHB1dH0iKSINCisJCTs7DQorCSJjaGVjayIpDQorCQlpbmZvX2NoZWNrICIke19fYXJnfSIN CisJCV9fbm9rPTANCisJCWV2YWwgIiR7X19hcmd9IHx8IF9fbm9rPTEiDQorCQlpZiBbICR7X19u b2t9IC1lcSAxIF07IHRoZW4NCisJCQlURVNUX09ORV9ub2s9MQ0KKwkJCWluZm9fY2hlY2tfZmFp bGVkDQorCQllbHNlDQorCQkJaW5mb19jaGVja19wYXNzZWQNCisJCWZpDQorCQk7Ow0KKwkic2xl ZXAiKQ0KKwkJc2xlZXAgIiR7X19hcmd9Ig0KKwkJOzsNCisJImluZm8iKQ0KKwkJaW5mbyAiJHtf X2FyZ30iDQorCQk7Ow0KKwkicmVwb3J0IikNCisJCXBlcmZfcmVwb3J0ICR7X19hcmd9DQorCQk7 Ow0KKwkidGgiKQ0KKwkJdGFibGVfaGVhZGVyICR7X19hcmd9DQorCQk7Ow0KKwkidHIiKQ0KKwkJ dGFibGVfcm93ICIke19fYXJnfSINCisJCTs7DQorCSJ0bCIpDQorCQl0YWJsZV9saW5lICIke19f YXJnfSINCisJCTs7DQorCSJ0ZSIpDQorCQl0YWJsZV9lbmQNCisJCTs7DQorCSJ0ZCIpDQorCQl0 YWJsZV92YWx1ZSAke19fYXJnfSB8fCBURVNUX09ORV9wZXJmX25vaz0xDQorCQk7Ow0KKwkiYnci KQ0KKwkJdGFibGVfdmFsdWVfdGhyb3VnaHB1dCAke19fYXJnfSB8fCBURVNUX09ORV9wZXJmX25v az0xDQorCQk7Ow0KKwkibGF0IikNCisJCXRhYmxlX3ZhbHVlX2xhdGVuY3kgJHtfX2FyZ30gfHwg VEVTVF9PTkVfcGVyZl9ub2s9MQ0KKwkJOzsNCisJImlwZXJmMyIpDQorCQl0ZXN0X2lwZXJmMyAk e19fYXJnfQ0KKwkJOzsNCisJInNldCIpDQorCQlURVNUX09ORV9zdWJzPSIkKGxpc3RfYWRkX3Bh aXIgIiR7VEVTVF9PTkVfc3Vic30iICJfXyR7X19hcmclJSAqfV9fIiAiJHtfX2FyZyMqIH0iKSIN CisJCTs7DQorDQorCSMgRGVtbyBjb21tYW5kcw0KKwkic2F5IikNCisJCXRleHRfd3JpdGUgIiR7 X19hcmd9Ig0KKwkJOzsNCisJImVtIikNCisJCWVtX3dyaXRlICIke19fYXJnfSINCisJCTs7DQor CSJubCIpDQorCQlpbmZvX25vbG9nICIiDQorCQk7Ow0KKwkiaGwiKQ0KKwkJcGFuZV9oaWdobGln aHQgIiR7X19hcmd9Ig0KKwkJOzsNCisJImJzcCIpDQorCQl0ZXh0X2JhY2tzcGFjZSAiJHtfX2Fy Z30iDQorCQk7Ow0KKwkia2lsbHAiKQ0KKwkJcGFuZV9raWxsICIke19fYXJnfSINCisJCTs7DQor CSJyZXNpemUiKQ0KKwkJcGFuZV9yZXNpemUgJHtfX2FyZ30NCisJCTs7DQorCSopDQorCQlfX2Rl Zl9ib2R5PSIkKGV2YWwgcHJpbnRmIFwiXCRURVNUX09ORV9ERUZfJF9fY21kXCIpIg0KKwkJaWYg WyAtbiAiJHtfX2RlZl9ib2R5fSIgXTsgdGhlbg0KKwkJCV9faWZzPSIke0lGU30iDQorCQkJSUZT PScNCisnDQorCQkJZm9yIF9fZGVmX2xpbmUgaW4gJHtfX2RlZl9ib2R5fTsgZG8NCisJCQkJSUZT PSIke19faWZzfSIgdGVzdF9vbmVfbGluZSAiJHtfX2RlZl9saW5lfSINCisJCQlkb25lDQorCQkJ SUZTPSIke19faWZzfSINCisJCWZpDQorCQk7Ow0KKwllc2FjDQorfQ0KKw0KKyMgdGVzdF9vbmUo KSAtIFJ1biBhIHNpbmdsZSB0ZXN0IGZpbGUgZXZhbHVhdGluZyBkaXJlY3RpdmVzDQorIyAkMToJ TmFtZSBvZiB0ZXN0IGZpbGUsIHJlbGF0aXZlIHRvIG9sZHRlc3QvIGRpcmVjdG9yeQ0KK3Rlc3Rf b25lKCkgew0KKwlURVNUX09ORV9kaXJjbGVhbj0NCisJX190ZXN0X2ZpbGU9Im9sZHRlc3QvJHsx fSINCisNCisJX190eXBlPSIkKGZpbGUgLWIgLS1taW1lLXR5cGUgJHtfX3Rlc3RfZmlsZX0pIg0K KwlpZiBbICIke19fdHlwZX0iID0gInRleHQveC1zaGVsbHNjcmlwdCIgXTsgdGhlbg0KKwkJc3Rh dHVzX2ZpbGVfc3RhcnQgIiR7MX0iIDENCisJCSIke19fdGVzdF9maWxlfSIgJiYgc3RhdHVzX3Rl c3Rfb2sgfHwgc3RhdHVzX3Rlc3RfZmFpbA0KKwkJcmV0dXJuDQorCWZpDQorDQorCWlmIFsgJHtE RU1PfSAtZXEgMCBdOyB0aGVuDQorCQlfX250ZXN0cz0iJChncmVwIC1jICJedGVzdCQocHJpbnRm ICdcdCcpIiAiJHtfX3Rlc3RfZmlsZX0iKSINCisJCXN0YXR1c19maWxlX3N0YXJ0ICIkezF9IiAi JHtfX250ZXN0c30iDQorCWZpDQorDQorCVsgJHtDSX0gLWVxIDEgXSAmJiB2aWRlb19saW5rICIk ezF9Ig0KKw0KKwlURVNUX09ORV9zdWJzPSIkKGxpc3RfYWRkX3BhaXIgIiIgIl9fQkFTRVBBVEhf XyIgIiR7QkFTRVBBVEh9IikiDQorCVRFU1RfT05FX3N1YnM9IiQobGlzdF9hZGRfcGFpciAiJHtU RVNUX09ORV9zdWJzfSIgIl9fU1RBVEVTRVRVUF9fIiAiJHtTVEFURVNFVFVQfSIpIg0KKwlTVEFU RURJUj0iJHtTVEFURUJBU0V9LyR7MX0iDQorCW1rZGlyIC1wICIke1NUQVRFRElSfSINCisJVEVT VF9PTkVfc3Vicz0iJChsaXN0X2FkZF9wYWlyICIke1RFU1RfT05FX3N1YnN9IiAiX19TVEFURURJ Ul9fIiAiJHtTVEFURURJUn0iKSINCisJVEVTVF9PTkVfbm9rPS0xDQorCVRFU1RfT05FX3BlcmZf bm9rPTANCisJVEVTVF9PTkVfc2tpcD0wDQorCVRFU1RfT05FX2luX2RlZj0NCisJd2hpbGUgSUZT PSByZWFkIC1yIF9fbGluZTsgZG8NCisJCXRlc3Rfb25lX2xpbmUgIiR7X19saW5lfSINCisJCVsg JHtURVNUX09ORV9za2lwfSAtZXEgMSBdICYmIGJyZWFrDQorCWRvbmUgPCAiJHtfX3Rlc3RfZmls ZX0iDQorDQorCWZvciBfX2QgaW4gJHtURVNUX09ORV9kaXJjbGVhbn07IGRvDQorCQlybSAtcmYg JHtfX2R9DQorCWRvbmUNCisNCisJWyAke0RFTU99IC1lcSAxIF0gJiYgcmV0dXJuDQorDQorCVsg JHtURVNUX09ORV9za2lwfSAtZXEgMSBdICYmIHN0YXR1c190ZXN0X3NraXAgJiYgcmV0dXJuDQor CVsgJHtURVNUX09ORV9wZXJmX25va30gLWVxIDAgXSB8fCBURVNUX09ORV9ub2s9MQ0KKwlbICR7 VEVTVF9PTkVfbm9rfSAtZXEgMCBdICYmIHN0YXR1c190ZXN0X29rIHx8IHN0YXR1c190ZXN0X2Zh aWwNCit9DQorDQorIyB0ZXN0KCkgLSBCdWlsZCBsaXN0IG9mIHRlc3RzIHRvIHJ1biwgaW4gb3Jk ZXIsIHRoZW4gaXNzdWUgdGVzdF9vbmUoKQ0KKyMgJEA6CVRlc3QgZmlsZXMgdG8gcnVuLCByZWxh dGl2ZSB0byBvbGR0ZXN0Lw0KK3Rlc3QoKSB7DQorCV9fbGlzdD0NCisNCisJY2QgdGVzdA0KKwlm b3IgX19mOyBkbw0KKwkJX190eXBlPSIkKGZpbGUgLWIgLS1taW1lLXR5cGUgJHtfX2Z9KSINCisJ CWlmIFsgIiR7X190eXBlfSIgPSAidGV4dC94LXNoZWxsc2NyaXB0IiBdOyB0aGVuDQorCQkJX19s aXN0PSIkKGxpc3RfYWRkICIke19fbGlzdH0iICIke19fZn0iKSINCisJCQljb250aW51ZQ0KKwkJ ZmkNCisJCV9fbGlzdD0iJChsaXN0X2FkZCAiJHtfX2xpc3R9IiAiJHtfX2Z9IikiDQorCWRvbmUN CisJY2QgLi4NCisNCisJZm9yIF9fZiBpbiAke19fbGlzdH07IGRvDQorCQl0ZXN0X29uZSAiJHtf X2Z9Ig0KKwlkb25lDQorfQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvbGliL3V0aWwgYi9vbGR0ZXN0 L2xpYi91dGlsDQpuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KaW5kZXggMDAwMDAwMDAuLjk4Y2I5ZDhh DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2xpYi91dGlsDQpAQCAtMCwwICsxLDEzMyBA QA0KKyMhL2Jpbi9zaA0KKyMNCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisj ICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBB IFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRl dmljZSBtb2RlDQorIw0KKyMgdGVzdC9saWIvdXRpbCAtIENvbnZlbmllbmNlIGZ1bmN0aW9ucw0K KyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFu byBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCisjIGxpc3RfaGFzKCkgLSBDaGVjayB3 aGV0aGVyIGEgdGFiLXNlcGFyYXRlZCBsaXN0IGNvbnRhaW5zIGEgZ2l2ZW4gdG9rZW4NCisjICQx OglMaXN0DQorIyAkMjoJVG9rZW4NCisjIFJldHVybjogMCBpZiB0b2tlbiB3YXMgZm91bmQgb3Ig aXMgZW1wdHksIDEgb3RoZXJ3aXNlDQorbGlzdF9oYXMoKSB7DQorCVsgLXogIiR7Mn0iIF0gJiYg cmV0dXJuIDANCisNCisJX19pZnM9IiR7SUZTfSINCisJSUZTPScJJw0KKwlmb3IgX190IGluICR7 MX07IGRvDQorCQlbICIke19fdH0iID0gIiR7Mn0iIF0gJiYgSUZTPSIke19faWZzfSIgJiYgcmV0 dXJuIDANCisJZG9uZQ0KKw0KKwlJRlM9IiR7X19pZnN9Ig0KKwlyZXR1cm4gMQ0KK30NCisNCisj IGxpc3RfYWRkKCkgLSBBZGQgdG9rZW4gdG8gdGFiLXNlcGFyYXRlZCBsaXN0LCB1bmxlc3MgaXQn cyBhbHJlYWR5IHByZXNlbnQNCisjICQxOglMaXN0DQorIyAkMjoJVG9rZW4NCitsaXN0X2FkZCgp IHsNCisJbGlzdF9oYXMgIiR7MX0iICIkezJ9IiAmJiByZXR1cm4NCisJWyAtbiAiJHsxfSIgXSAm JiBwcmludGYgJyVzXHQlc1xuJyAiJHsxfSIgIiR7Mn0iIHx8IHByaW50ZiAnJXNcbicgIiR7Mn0i DQorfQ0KKw0KKyMgbGlzdF9yZW1vdmVfcGFpcigpIC0gRHJvcCBwYWlyIHdpdGggZ2l2ZW4ga2V5 IGlmIHByZXNlbnQNCisjICQxOglMaXN0DQorIyAkMjoJS2V5DQorbGlzdF9yZW1vdmVfcGFpcigp DQorew0KKwlfX2lmcz0iJHtJRlN9Ig0KKwlJRlM9JwknDQorCV9fc2tpcF9uZXh0PTANCisJZm9y IF9fdCBpbiAkezF9OyBkbw0KKwkJWyAke19fc2tpcF9uZXh0fSAtZXEgMSBdICYmIF9fc2tpcF9u ZXh0PTAgJiYgY29udGludWUNCisJCVsgIiR7X190fSIgPSAiJHsyfSIgXSAmJiBfX3NraXBfbmV4 dD0xICYmIGNvbnRpbnVlDQorCQlwcmludGYgJyVzXHQnICIke19fdH0iDQorCWRvbmUNCisJcHJp bnRmICJcbiINCisJSUZTPSIke19faWZzfSINCit9DQorDQorIyBsaXN0X2FkZF9wYWlyKCkgLSBB ZGQgdG9rZW4gcGFpciB0byBsaXN0LCByZXBsYWNlIGlmIHRoZSBmaXJzdCBvbmUgaXMgcHJlc2Vu dA0KKyMgJDE6CUxpc3QNCisjICQyOglGaXJzdCB0b2tlbg0KKyMgJDM6CVNlY29uZCB0b2tlbg0K K2xpc3RfYWRkX3BhaXIoKSB7DQorCVsgLXogIiR7M30iIF0gJiYgcmV0dXJuDQorDQorDQorCWlm IFsgLW4gIiR7MX0iIF07IHRoZW4NCisJCV9fbmV3X2xpc3Q9IiQobGlzdF9yZW1vdmVfcGFpciAi JHsxfSIgIiR7Mn0iKSINCisJCXByaW50ZiAnJXNcdCVzXHQlcycgIiR7X19uZXdfbGlzdH0iICIk ezJ9IiAiJHszfSINCisJZWxzZQ0KKwkJcHJpbnRmICclc1x0JXMnICIkezJ9IiAiJHszfSINCisJ ZmkNCisJcHJpbnRmICJcbiINCit9DQorDQorIyBsaXN0X2hhc19hbGwoKSAtIENoZWNrIHdoZXRo ZXIgYSBsaXN0IGNvbnRhaW5zIGFsbCBnaXZlbiBJRlMtc2VwYXJhdGVkIHRva2Vucw0KKyMgJDE6 CUxpc3QNCisjICQyOglMaXN0IG9mIHRva2Vucw0KKyMgUmV0dXJuOiAwIGlmIGxpc3Qgb2YgdG9r ZW5zIHdhcyBmb3VuZCBvciBpcyBlbXB0eSwgMSBvdGhlcndpc2UNCitsaXN0X2hhc19hbGwoKSB7 DQorCVsgLXogIiR7Mn0iIF0gJiYgcmV0dXJuIDANCisNCisJZm9yIF9faSBpbiAkezJ9OyBkbw0K KwkJbGlzdF9oYXMgIiR7MX0iICIke19faX0iIHx8IHJldHVybiAxDQorCWRvbmUNCisJcmV0dXJu IDANCit9DQorDQorIyBmaWxlX2RlZigpIC0gTGlzdCBvZiB0b2tlbnMgdGFiLXNlcGFyYXRlZCBs aW5lIGZyb20gZmlsZSwgc3RhcnRpbmcgd2l0aCBrZXkNCisjICQxOglGaWxlbmFtZQ0KKyMgJDI6 CVRva2VuDQorZmlsZV9kZWYoKSB7DQorCXNlZCAtbiAncy9eJyIkezJ9IidcdFwoLipcKS9cMS9w JyAiJHsxfSIgfCB0ciAnICcgJ1x0Jw0KK30NCisNCisjIHN1YnNfYXBwbHkoKSAtIEFwcGx5IHN1 YnN0aXR1dGlvbnMgdXNpbmcgYSBsaXN0IG9mIHRva2VuIHBhaXJzDQorIyAkMToJTGlzdCBvZiBz dWJzdGl0dXRpb25zDQorIyAkMjoJU3RyaW5nIHdoZXJlIHN1YnN0aXR1dGlvbnMgaGF2ZSB0byBi ZSBhcHBsaWVkDQorc3Vic19hcHBseSgpIHsNCisJX19pZnM9IiR7SUZTfSINCisJSUZTPScJJw0K KwlfX25ld2FyZz0iJHsyfSINCisJX19zPQ0KKwlmb3IgX190IGluICR7MX07IGRvDQorCQlbIC16 ICIke19fc30iIF0gJiYgX19zPSIke19fdH0iICYmIGNvbnRpbnVlDQorDQorCQlfX2V0PSIkKHBy aW50ZiAnJXNcbicgIiRfX3QiIHwgc2VkIC1lICdzL1tcLyZdL1xcJi9nJykiDQorCQlfX2VzPSIk KHByaW50ZiAnJXNcbicgIiRfX3MiIHwgc2VkIC1lICdzL1tdXC8kKi5eW10vXFwmL2cnKSINCisN CisJCV9fbmV3YXJnPSIkKHByaW50ZiAnJXMnICIke19fbmV3YXJnfSIgfCBzZWQgInMvJHtfX2Vz fS8ke19fZXR9L2ciKSINCisJCV9fcz0NCisJZG9uZQ0KKw0KKwlwcmludGYgJyVzJyAiJHtfX25l d2FyZ30iDQorCUlGUz0iJHtfX2lmc30iDQorfQ0KKw0KKyMgZ2V0X2luZm9fY29scygpIC0gR2V0 IG51bWJlciBvZiBjb2x1bW5zIGZvciBpbmZvIHBhbmUNCitnZXRfaW5mb19jb2xzKCkgew0KKwlf X2xvZ19wYW5lX2NvbHM9DQorCV9faj0wDQorCWZvciBfX2kgaW4gJCh0bXV4IGxpc3QtcGFuZXMg LXQgcGFzc3RfdGVzdDoxLjAgLUYgIiN7cGFuZV93aWR0aH0iKTsgZG8NCisJCVsgJHtfX2p9IC1l cSAke1BBTkVfSU5GT30gXSAmJiBTVEFUVVNfQ09MUz0ke19faX0gJiYgYnJlYWsNCisJCV9faj0k KChfX2ogKyAxKSkNCisJZG9uZQ0KK30NCisNCisjIHdhaXRfZm9yKCkgLSBSZXRyeSBhIGNvbW1h bmQgdW50aWwgaXQgc3VjY2VlZHMNCisjICRAOglDb21tYW5kIHRvIHJ1bg0KK3dhaXRfZm9yKCkg ew0KKyAgICAgICAgd2hpbGUgISAiJEAiOyBkbw0KKyAgICAgICAgICAgICAgICBzbGVlcCAwLjEg fHwgc2xlZXAgMQ0KKyAgICAgICAgZG9uZQ0KK30NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2xpYi92 aWRlbyBiL29sZHRlc3QvbGliL3ZpZGVvDQpuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KaW5kZXggMDAw MDAwMDAuLjMyMGQ0YTA2DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2xpYi92aWRlbw0K QEAgLTAsMCArMSwxNTIgQEANCisjIS9iaW4vc2gNCisjDQorIyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2Nr ZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQor IyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsg bmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvbGliL3ZpZGVvIC0gU2Vzc2lv biByZWNvcmRpbmcsIEphdmFTY3JpcHQgZnJhZ21lbnRzIHdpdGggbGlua3MNCisjDQorIyBDb3B5 cmlnaHQgKGMpIDIwMjEtMjAyMiBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2 aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitWSURFT19TVEFSVF9TRUNPTkRTPQ0KK1ZJREVP X05BTUU9DQorDQorVklERU9fTElOS1NfVEVNUExBVEU9ImRvY3VtZW50LndyaXRlKCciJw0KKwlT a2lwIHRvOg0KKycNCisNCitWSURFT19MSU5LU19URU1QTEFURV9KUz0iDQorJyk7DQorDQordmFy IHZpZGVvX19fVklERU9fTkFNRV9fbGlua3MgPSBbDQorIg0KKw0KK1ZJREVPX0xJTktTX1RFTVBM QVRFX1BPU1Q9J107DQorDQorZm9yICh2YXIgaSA9IDA7IGkgPCB2aWRlb19fX1ZJREVPX05BTUVf X2xpbmtzLmxlbmd0aDsgaSsrKSB7DQorCXZhciBvYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ ZCh2aWRlb19fX1ZJREVPX05BTUVfX2xpbmtzW2ldWzBdKTsNCisNCisJb2JqLmFkZEV2ZW50TGlz dGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oZXZlbnQpIHsNCisJCXZhciBfX1ZJREVPX05BTUVfX19k aXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19WSURFT19OQU1FX18iKTsNCisJCXZhciB0 b3AgPSBfX1ZJREVPX05BTUVfX19kaXYub2Zmc2V0VG9wIC0gNTsNCisJCXZhciBzZWVrOw0KKw0K KwkJZm9yICh2YXIgaSA9IDA7IGkgPCB2aWRlb19fX1ZJREVPX05BTUVfX2xpbmtzLmxlbmd0aDsg aSsrKSB7DQorCQkJaWYgKHRoaXMuaWQgPT0gdmlkZW9fX19WSURFT19OQU1FX19saW5rc1tpXVsw XSkgew0KKwkJCQlzZWVrID0gdmlkZW9fX19WSURFT19OQU1FX19saW5rc1tpXVsxXTsNCisJCQl9 DQorCQl9DQorDQorCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KKwkJX19WSURFT19OQU1FX19f cGxheWVyLmRpc3Bvc2UoKTsNCisJCV9fVklERU9fTkFNRV9fX3BsYXllciA9IEFzY2lpbmVtYVBs YXllci5jcmVhdGUoDQorCQkJIi9idWlsZHMvbGF0ZXN0L3dlYi9fX1ZJREVPX05BTUVfXy5jYXN0 IiwNCisJCQlfX1ZJREVPX05BTUVfX19kaXYsDQorCQkJeyBjb2xzOiAyNDAsIHJvd3M6IDUxLCBw b3N0ZXI6ICJucHQ6OTk5OjAiLCBzdGFydEF0OiBzZWVrLCBhdXRvcGxheTogdHJ1ZSB9KTsNCisN CisJCXdpbmRvdy5zY3JvbGxUbyh7IHRvcDogdG9wLCBiZWhhdmlvcjogInNtb290aCIgfSkNCisJ fSwgZmFsc2UpOw0KK30NCisnDQorDQorVklERU9fTElOS1NfQlVGPQ0KK1ZJREVPX0xJTktTX0NP VU5UPTANCisNCisjIHZpZGVvX2FwcGVuZF9saW5rcygpIC0gQXBwZW5kIGdlbmVyaWMgc3RyaW5n IHRvIEphdmFTY3JpcHQgbGlua3MgZmlsZQ0KK3ZpZGVvX2FwcGVuZF9saW5rcygpDQorew0KKyAg ICAgICAgX193ZWI9IiR7TE9HRElSfS93ZWIiDQorCXByaW50ZiAiJHtAfSIgPj4gIiR7X193ZWJ9 LyR7VklERU9fTkFNRX0uanMiDQorfQ0KKw0KKyMgdmlkZW9fYXBwZW5kX2xpbmtzKCkgLSBBcHBl bmQgZ2VuZXJpYyBzdHJpbmcgdG8gYnVmZmVyIGZvciBsaW5rcw0KK3ZpZGVvX2FwcGVuZF9saW5r c19qcygpDQorew0KKwlWSURFT19MSU5LU19CVUY9IiR7VklERU9fTElOS1NfQlVGfSR7QH0iDQor fQ0KKw0KKyMgdmlkZW9fc3RhcnQoKSAtIE1hcmsgc3RhcnQgb2YgYSB0ZXN0IGluIGNhcHR1cmUs IHJlY29yZCBzdGFydCB0aW1lc3RhbXANCit2aWRlb19zdGFydCgpIHsNCisJVklERU9fTkFNRT0i JHsxfSINCisgICAgICAgIF9fd2ViPSIke0xPR0RJUn0vd2ViIg0KKyAgICAgICAgbWtkaXIgLXAg IiR7X193ZWJ9Ig0KKwllY2hvICIke1ZJREVPX0xJTktTX1RFTVBMQVRFfSIgPiAiJHtfX3dlYn0v JHtWSURFT19OQU1FfS5qcyINCisJVklERU9fU1RBUlRfU0VDT05EUz0kKHNlZCAtbiAncy9cKFsw LTldKlwpLlswLTldKiBbMC05XSouWzAtOV0qL1wxL3AnIC9wcm9jL3VwdGltZSkNCisNCisJc3lu Yw0KKwlbICR7REVNT30gLWVxIDEgXSAmJiB0YWlsIC0xICIke1NUQVRFQkFTRX0vZGVtby51bmN1 dCIgPiAiJHtTVEFURUJBU0V9LyR7VklERU9fTkFNRX0uc3RhcnQiDQorCVsgJHtDSX0gLWVxIDEg XSAmJiB0YWlsIC0xICIke1NUQVRFQkFTRX0vY2kudW5jdXQiID4gIiR7U1RBVEVCQVNFfS8ke1ZJ REVPX05BTUV9LnN0YXJ0Ig0KKwlzeW5jDQorDQorCXRtdXggcmVmcmVzaC1jbGllbnQNCit9DQor DQorIyB2aWRlb19zdG9wKCkgLSBNYXJrIHN0b3Agb2YgYSB0ZXN0IGluIGNhcHR1cmUsIGZpbmFs aXNlIEphdmFTY3JpcHQgZnJhZ21lbnRzDQordmlkZW9fc3RvcCgpIHsNCisgICAgICAgIF9fd2Vi PSIke0xPR0RJUn0vd2ViIg0KKwl0bXV4IHJlZnJlc2gtY2xpZW50DQorDQorCXN5bmMNCisJWyAk e0RFTU99IC1lcSAxIF0gJiYgdGFpbCAtMSAiJHtTVEFURUJBU0V9L2RlbW8udW5jdXQiID4gIiR7 U1RBVEVCQVNFfS8ke1ZJREVPX05BTUV9LnN0b3AiDQorCVsgJHtDSX0gLWVxIDEgXSAmJiB0YWls IC0xICIke1NUQVRFQkFTRX0vY2kudW5jdXQiID4gIiR7U1RBVEVCQVNFfS8ke1ZJREVPX05BTUV9 LnN0b3AiDQorCXN5bmMNCisNCisJc2VkIC1pICdzL14uKiQvJlxcL2cnICIke19fd2VifS8ke1ZJ REVPX05BTUV9LmpzIg0KKwllY2hvICIke1ZJREVPX0xJTktTX1RFTVBMQVRFX0pTfSIgfCBzZWQg InMvX19WSURFT19OQU1FX18vJHtWSURFT19OQU1FfS9nIiA+PiAiJHtfX3dlYn0vJHtWSURFT19O QU1FfS5qcyINCisJZWNobyAiJHtWSURFT19MSU5LU19CVUZ9IiA+PiAiJHtfX3dlYn0vJHtWSURF T19OQU1FfS5qcyINCisJZWNobyAiJHtWSURFT19MSU5LU19URU1QTEFURV9QT1NUfSIgIHwgc2Vk ICJzL19fVklERU9fTkFNRV9fLyR7VklERU9fTkFNRX0vZyIgPj4gIiR7X193ZWJ9LyR7VklERU9f TkFNRX0uanMiDQorfQ0KKw0KKyMgdmlkZW9fcG9zdHByb2Nlc3MoKSAtIEN1dCB0ZXJtaW5hbCBy ZWNvcmRpbmdzIGJhc2VkIG9uIC5zdGFydCBhbmQgLnN0b3AgZmlsZXMNCit2aWRlb19wb3N0cHJv Y2VzcygpIHsNCisJSUZTPScNCisnDQorICAgICAgICBfX3dlYj0iJHtMT0dESVJ9L3dlYiINCisJ X19jYXN0X25hbWU9DQorCWZvciBfX2wgaW4gJChjYXQgJHsxfSk7IGRvDQorCQlbIC16ICIke19f aGVhZGVyfSIgXSAmJiBfX2hlYWRlcj0iJHtfX2x9IiAmJiBjb250aW51ZQ0KKw0KKwkJaWYgWyAt eiAiJHtfX2Nhc3RfbmFtZX0iIF07IHRoZW4NCisJCSAgICAgICAgZm9yIF9fY2FzdF9jdXQgaW4g IiR7U1RBVEVCQVNFfS8iKi5zdGFydDsgZG8NCisJCQkJWyAiJHtfX2x9IiAhPSAiJChjYXQgIiR7 X19jYXN0X2N1dH0iKSIgXSAmJiBjb250aW51ZQ0KKwkJCQlfX2Nhc3RfbmFtZT0iJChiYXNlbmFt ZSAiJHtfX2Nhc3RfY3V0fSIpIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19j YXN0X25hbWU9IiR7X19jYXN0X25hbWUlLnN0YXJ0fSINCisJCQkJX19jYXN0X29mZnNldD0NCisJ CQkJX19zdG9wX2xpbmU9IiQoY2F0ICIke1NUQVRFQkFTRX0vJHtfX2Nhc3RfbmFtZX0uc3RvcCIp Ig0KKwkJCQllY2hvICIke19faGVhZGVyfSIgPiAiJHtfX3dlYn0vJHtfX2Nhc3RfbmFtZX0uY2Fz dCINCisJCQkJYnJlYWsNCisJCQlkb25lDQorCQkJY29udGludWUNCisJCWZpDQorDQorCQlbICIk e19fbH0iID0gIiR7X19zdG9wX2xpbmV9IiBdICYmIF9fY2FzdF9uYW1lPSAmJiBjb250aW51ZQ0K Kw0KKwkJX19sX29mZnNldD0iJChlY2hvICR7X19sJSUuKn18dHIgLWMgLWQgJ1s6ZGlnaXQ6XScp Ig0KKwkJX19sX3Jlc3Q9IiR7X19sIyoufSINCisJCVsgLXogIiR7X19jYXN0X29mZnNldH0iIF0g JiYgX19jYXN0X29mZnNldD0ke19fbF9vZmZzZXR9DQorCQlfX2xfb2Zmc2V0PSQoKF9fbF9vZmZz ZXQgLSBfX2Nhc3Rfb2Zmc2V0KSkNCisJCXByaW50ZiAnWyVzLiVzXG4nICIke19fbF9vZmZzZXR9 IiAiJHtfX2xfcmVzdH0iID4+ICIke19fd2VifS8ke19fY2FzdF9uYW1lfSIuY2FzdA0KKwlkb25l DQorCXVuc2V0IElGUw0KK30NCisNCisjIHZpZGVvX3RpbWVfbm93KCkgLSBQcmludCBjdXJyZW50 IHZpZGVvIHRpbWVzdGFtcCwgaW4gc2Vjb25kcw0KK3ZpZGVvX3RpbWVfbm93KCkgew0KKwlfX25v dz0kKHNlZCAtbiAncy9cKFswLTldKlwpLlswLTldKiBbMC05XSouWzAtOV0qL1wxL3AnIC9wcm9j L3VwdGltZSkNCisJZWNobyAkKChfX25vdyAtIFZJREVPX1NUQVJUX1NFQ09ORFMpKQ0KK30NCisN CisjIHZpZGVvX2xpbmsoKSAtIEFwcGVuZCBzaW5nbGUgbGluayB0byBnaXZlbiB2aWRlbyBjaGFw dGVyDQordmlkZW9fbGluaygpIHsNCisJWyAke1ZJREVPX0xJTktTX0NPVU5UfSAtZXEgMCBdICYm IF9fc2VwPSIiIHx8IF9fc2VwPSIgfCINCisJX19pZD0idmlkZW9fbGlua18ke1ZJREVPX0xJTktT X0NPVU5UfSINCisJdmlkZW9fYXBwZW5kX2xpbmtzICIke19fc2VwfSA8YSBpZD1cIiR7X19pZH1c IiBocmVmPVwiJHsxfVwiPiR7MX08L2E+Ig0KKwl2aWRlb19hcHBlbmRfbGlua3NfanMgIlsgJyR7 X19pZH0nLCAkKCgkKHZpZGVvX3RpbWVfbm93KSAtIDEpKSBdLCINCisNCisJVklERU9fTElOS1Nf Q09VTlQ9JCgoVklERU9fTElOS1NfQ09VTlQgKyAxKSkNCit9DQpkaWZmIC0tZ2l0IGEvb2xkdGVz dC9tZW1vcnkvcGFzc3QgYi9vbGR0ZXN0L21lbW9yeS9wYXNzdA0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAwLi4xMTkzYWY4Ng0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVz dC9tZW1vcnkvcGFzc3QNCkBAIC0wLDAgKzEsMTg3IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2Nr ZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQor IyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsg bmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvbWVtb3J5L3Bhc3N0IC0gU2hv dyBtZW1vcnkgdXNhZ2Ugb2YgcGFzc3QgaW4ga2VybmVsIGFuZCB1c2Vyc3BhY2UNCisjDQorIyBD b3B5cmlnaHQgKGMpIDIwMjIgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlv IDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorZ3Rvb2xzCXNlZCBjYXQgZGlmZiBubSBzb3J0IGtp bGwgdGVlIGhlYWQgdGFpbCBjaHJvb3QgdW5zaGFyZSBtb3VudCBta2RpciBjcCANCisNCitkZWYJ bWVtaW5mb19yb3cNCitnb3V0CURJRkYgbWVtaW5mb19kaWZmIC90bXAvbWVtaW5mby5iZWZvcmUg L3RtcC9tZW1pbmZvLmFmdGVyIF9fV0hBVF9fDQordGwJX19OQU1FX18NCit0ZAlfX0RJRkZfXyAz IDAgMA0KK2VuZGVmDQorDQorZGVmCW1lbWluZm9fcmV2ZXJzZV9yb3cNCitnb3V0CURJRkYgbWVt aW5mb19kaWZmIC90bXAvbWVtaW5mby5hZnRlciAvdG1wL21lbWluZm8uYmVmb3JlIF9fV0hBVF9f DQordGwJX19OQU1FX18NCit0ZAlfX0RJRkZfXyAzIDAgMA0KK2VuZGVmDQorDQorZGVmCW5tX3Jv dw0KK2dvdXQJU0laRSBubV9zaXplIC90bXAvbm0uc2l6ZSBfX1dIQVRfXw0KK3RsCV9fV0hBVF9f DQordGQJX19TSVpFX18gNiAwIDANCitlbmRlZg0KKw0KK2RlZglzbGFiX3Jvdw0KK2dvdXQJQ09V TlQgc2xhYl9kaWZmX2NvdW50IC90bXAvc2xhYmluZm8uYmVmb3JlIC90bXAvc2xhYmluZm8uYWZ0 ZXIgX19XSEFUX18NCitnb3V0CVNJWkUgc2xhYl9zaXplIC90bXAvc2xhYmluZm8uYmVmb3JlIF9f V0hBVF9fDQorZ291dAlESUZGIHNsYWJfZGlmZl9zaXplIC90bXAvc2xhYmluZm8uYmVmb3JlIC90 bXAvc2xhYmluZm8uYWZ0ZXIgX19XSEFUX18NCit0bAlfX1dIQVRfXw0KK3RkCV9fQ09VTlRfXyAw IDAgMA0KK3RkCV9fU0laRV9fIDAgMCAwDQordGQJX19ESUZGX18gNiAwIDANCitlbmRlZg0KKw0K K2RlZglzdGFydF9zdG9wX2RpZmYNCitndWVzdAlzZWQgL3Byb2Mvc2xhYmluZm8gLW5lICdzL15c KFteIF0qICpbXiBdKiAqW14gXSogKlteIF0qXCkuKi9cXFwxL3AnID4gL3RtcC9zbGFiaW5mby5i ZWZvcmUNCitndWVzdAljYXQgL3Byb2MvbWVtaW5mbyA+IC90bXAvbWVtaW5mby5iZWZvcmUNCitn dWVzdAkvYmluL3Bhc3N0LmF2eDIgLWwgL3RtcC9sb2cgLXMgL3RtcC9zb2NrIC1QIC90bXAvcGlk IF9fT1BUU19fIC0tbmV0bnMtb25seQ0KK3NsZWVwCTINCitndWVzdAljYXQgL3Byb2MvbWVtaW5m byA+IC90bXAvbWVtaW5mby5hZnRlcg0KK2d1ZXN0CXNlZCAvcHJvYy9zbGFiaW5mbyAtbmUgJ3Mv XlwoW14gXSogKlteIF0qICpbXiBdKiAqW14gXSpcKS4qL1xcXDEvcCcgPiAvdG1wL3NsYWJpbmZv LmFmdGVyDQorZ3Vlc3QJa2lsbCBcJChjYXQgL3RtcC9waWQpDQorZ3Vlc3QJZGlmZiAteSAtLXN1 cHByZXNzLWNvbW1vbi1saW5lcyAvdG1wL21lbWluZm8uYmVmb3JlIC90bXAvbWVtaW5mby5hZnRl ciB8fCA6DQorZ3Vlc3QJbm0gLXRkIC1TciAtLXNpemUtc29ydCAtUCAvYmluL3Bhc3N0LmF2eDIg fCBoZWFkIC0zMCB8IHRlZSAvdG1wL25tLnNpemUNCitndWVzdAlzZWQgL3Byb2Mvc2xhYmluZm8g LW5lICdzL1woLio8b2Jqc2l6ZT5cKS4qJC9cMS9wJyB8IHRhaWwgLTE7IChkaWZmIC15IC0tc3Vw cHJlc3MtY29tbW9uLWxpbmVzIC90bXAvc2xhYmluZm8uYmVmb3JlIC90bXAvc2xhYmluZm8uYWZ0 ZXIgfCBzb3J0IC1ncms4KQ0KK2VuZGVmDQorDQorZGVmCXN1bW1hcnkNCitpbmZvCU1lbW9yeSB1 c2FnZSBzdW1tYXJ5DQoraW5mbwkNCit0aAl0eXBlIE1pQg0KK3NldAlXSEFUIE1lbUZyZWUNCitz ZXQJTkFNRSB1c2VkDQorbWVtaW5mb19yZXZlcnNlX3Jvdw0KK3NldAlXSEFUIEFub25QYWdlcw0K K3NldAlOQU1FIHVzZXJzcGFjZQ0KK21lbWluZm9fcm93DQorc2V0CVdIQVQgU2xhYg0KK3NldAlO QU1FIGtlcm5lbA0KK21lbWluZm9fcm93DQordGUNCitlbmRlZg0KKw0KKw0KK2d1ZXN0CW1rZGly IC90ZXN0DQorZ3Vlc3QJbW91bnQgLXQgdG1wZnMgbm9uZSAvdGVzdA0KK2d1ZXN0CW1rZGlyIC90 ZXN0L3Byb2MgL3Rlc3QvZGV2IC90ZXN0L3RtcA0KK2d1ZXN0CW1vdW50IC1vIGJpbmQgL3Byb2Mg L3Rlc3QvcHJvYw0KK2d1ZXN0CW1vdW50IC1vIGJpbmQgL2RldiAvdGVzdC9kZXYNCitndWVzdAlj cCAtTHIgL2JpbiAvbGliIC9saWI2NCAvdXNyIC9zYmluIC90ZXN0Lw0KKw0KK2d1ZXN0CXVsaW1p dCAtSG4gMzAwMDAwDQorZ3Vlc3QJdW5zaGFyZSAtclVtIC1SIC90ZXN0DQorZ3Vlc3QJY2hyb290 IC4NCisNCitndWVzdAltZW1pbmZvX3NpemUoKSB7IGdyZXAgIl4kMjoiICQxIHwgdHIgLXMgJyAn IHwgY3V0IC1mMiAtZCAnICc7IH0NCitndWVzdAltZW1pbmZvX2RpZmYoKSB7IGVjaG8gJCgoICQo bWVtaW5mb19zaXplICQyICQzKSAtICQobWVtaW5mb19zaXplICQxICQzKSApKTsgfQ0KKw0KK2d1 ZXN0CW5tX3NpemUoKSB7IGdyZXAgLW0xICJeJDIgIiAkMSB8IGN1dCAtZjQgLWQgJyAnOyB9DQor DQorZ3Vlc3QJc2xhYl9jb3VudCgpIHsgZ3JlcCAiXiQyICIgJDEgfCB0ciAtcyAnICcgfCBjdXQg LWYzIC1kICcgJzsgfQ0KK2d1ZXN0CXNsYWJfc2l6ZSgpIHsgZ3JlcCAiXiQyICIgJDEgfCB0ciAt cyAnICcgfCBjdXQgLWY0IC1kICcgJzsgfQ0KK2d1ZXN0CXNsYWJfZGlmZl9jb3VudCgpIHsgZWNo byAkKCggJChzbGFiX2NvdW50ICQyICQzKSAtICQoc2xhYl9jb3VudCAkMSAkMykgKSk7IH0NCitn dWVzdAlzbGFiX2RpZmZfc2l6ZSgpIHsgZWNobyAkKCggJChzbGFiX2NvdW50ICQyICQzKSAqICQo c2xhYl9zaXplICQyICQzKSAtICQoc2xhYl9jb3VudCAkMSAkMykgKiAkKHNsYWJfc2l6ZSAkMSAk MykgKSk7IH0NCisNCisNCit0ZXN0CU1lbW9yeSB1c2FnZTogYWxsIFRDUCBhbmQgVURQIHBvcnRz IGZvcndhcmRlZCwgSVB2NCBhbmQgSVB2Ng0KK3NldAlPUFRTIC10IGFsbCAtdSBhbGwNCitzdGFy dF9zdG9wX2RpZmYNCitzdW1tYXJ5DQorDQoraW5mbwlVc2Vyc3BhY2UgbWVtb3J5IGRldGFpbA0K K2luZm8JDQordGgJc3ltYm9sIE1pQg0KK3NldAlXSEFUIHRjcF9idWZfZGlzY2FyZA0KK25tX3Jv dw0KK3NldAlXSEFUIHRjcDZfbDJfYnVmDQorbm1fcm93DQorc2V0CVdIQVQgdGNwNF9sMl9idWYN CitubV9yb3cNCitzZXQJV0hBVCB0Yw0KK25tX3Jvdw0KK3NldAlXSEFUIHBrdF9idWYNCitubV9y b3cNCitzZXQJV0hBVCB1ZHBfc3BsaWNlX21hcA0KK25tX3Jvdw0KK3NldAlXSEFUIHVkcDZfbDJf YnVmDQorbm1fcm93DQorc2V0CVdIQVQgdWRwNF9sMl9idWYNCitubV9yb3cNCitzZXQJV0hBVCB1 ZHBfdGFwX21hcA0KK25tX3Jvdw0KK3NldAlXSEFUIGljbXBfaWRfbWFwDQorbm1fcm93DQorc2V0 CVdIQVQgdWRwX3NwbGljZV9idWYNCitubV9yb3cNCitzZXQJV0hBVCB0Y19oYXNoDQorbm1fcm93 DQorc2V0CVdIQVQgcG9vbF90YXA2X3N0b3JhZ2UNCitubV9yb3cNCitzZXQJV0hBVCBwb29sX3Rh cDRfc3RvcmFnZQ0KK25tX3Jvdw0KK3NldAlXSEFUIHRhcDZfbDQNCitubV9yb3cNCitzZXQJV0hB VCB0YXA0X2w0DQorbm1fcm93DQordGUNCisNCitpbmZvCUtlcm5lbCBtZW1vcnkgZGV0YWlsDQor aW5mbwkNCit0aAlvYmplY3RzIGNvdW50IHNpemUgTWlCDQorc2V0CVdIQVQgcGlkDQorc2xhYl9y b3cNCitzZXQJV0hBVCBkZW50cnkNCitzbGFiX3Jvdw0KK3NldAlXSEFUIEFjcGktUGFyc2UNCitz bGFiX3Jvdw0KK3NldAlXSEFUIGttYWxsb2MtNjQNCitzbGFiX3Jvdw0KK3NldAlXSEFUIGttYWxs b2MtMzINCitzbGFiX3Jvdw0KK3NldAlXSEFUIGxzbV9maWxlX2NhY2hlDQorc2xhYl9yb3cNCitz ZXQJV0hBVCBmaWxwDQorc2xhYl9yb3cNCitzZXQJV0hBVCBhbm9uX3ZtYV9jaGFpbg0KK3NsYWJf cm93DQorc2V0CVdIQVQgZXBfaGVhZA0KK3NsYWJfcm93DQorc2V0CVdIQVQgc29ja19pbm9kZV9j YWNoZQ0KK3NsYWJfcm93DQorc2V0CVdIQVQgc2lnbmFsX2NhY2hlDQorc2xhYl9yb3cNCitzZXQJ V0hBVCBUQ1B2Ng0KK3NsYWJfcm93DQorc2V0CVdIQVQgVENQDQorc2xhYl9yb3cNCitzZXQJV0hB VCBVRFB2Ng0KK3NsYWJfcm93DQordGUNCisNCisNCit0ZXN0CU1lbW9yeSB1c2FnZTogYWxsIFRD UCBwb3J0cyBmb3J3YXJkZWQsIElQdjQNCitzZXQJT1BUUyAtdCBhbGwgLTQNCitzdGFydF9zdG9w X2RpZmYNCitzdW1tYXJ5DQorDQorDQordGVzdAlNZW1vcnkgdXNhZ2U6IGFsbCBUQ1AgYW5kIFVE UCBwb3J0cyBmb3J3YXJkZWQsIElQdjQNCitzZXQJT1BUUyAtdCBhbGwgLXUgYWxsIC00DQorc3Rh cnRfc3RvcF9kaWZmDQorc3VtbWFyeQ0KKw0KKw0KK3Rlc3QJTWVtb3J5IHVzYWdlOiBubyBwb3J0 cyBmb3J3YXJkZWQNCitzZXQJT1BUUyAtdCBub25lIC11IG5vbmUNCitzdGFydF9zdG9wX2RpZmYN CitzdW1tYXJ5DQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9uc3Rvb2wuYyBiL29sZHRlc3QvbnN0b29s LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uZTZkN2QzN2YNCi0tLSAv ZGV2L251bGwNCisrKyBiL29sZHRlc3QvbnN0b29sLmMNCkBAIC0wLDAgKzEsNTY1IEBADQorLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisNCisvKiBuc3Rvb2wg LSBtYWludGFpbiBhIG5hbWVzcGFjZSB0byBiZSBlbnRlcmVkIGJ5IG90aGVyIHByb2Nlc3Nlcw0K KyAqDQorICogQ29weXJpZ2h0IFJlZCBIYXQNCisgKiBBdXRob3I6IERhdmlkIEdpYnNvbiA8ZGF2 aWRAZ2lic29uLmRyb3BiZWFyLmlkLmF1Pg0KKyAqLw0KKw0KKyNkZWZpbmUgX0dOVV9TT1VSQ0UN CisNCisjaW5jbHVkZSA8c3RkaW8uaD4NCisjaW5jbHVkZSA8c3RkbGliLmg+DQorI2luY2x1ZGUg PHN0cmluZy5oPg0KKyNpbmNsdWRlIDxzdGRib29sLmg+DQorI2luY2x1ZGUgPHN0ZGludC5oPg0K KyNpbmNsdWRlIDxlcnJuby5oPg0KKyNpbmNsdWRlIDx1bmlzdGQuaD4NCisjaW5jbHVkZSA8Z2V0 b3B0Lmg+DQorI2luY2x1ZGUgPHN0ZGFyZy5oPg0KKyNpbmNsdWRlIDxsaW1pdHMuaD4NCisjaW5j bHVkZSA8ZmNudGwuaD4NCisjaW5jbHVkZSA8bGltaXRzLmg+DQorI2luY2x1ZGUgPHVuaXN0ZC5o Pg0KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQorI2luY2x1ZGUgPHN5cy93YWl0Lmg+DQorI2lu Y2x1ZGUgPHN5cy9zeXNjYWxsLmg+DQorI2luY2x1ZGUgPHN5cy9wcmN0bC5oPg0KKyNpbmNsdWRl IDxsaW51eC91bi5oPg0KKyNpbmNsdWRlIDxzY2hlZC5oPg0KKyNpbmNsdWRlIDxsaW51eC9jYXBh YmlsaXR5Lmg+DQorDQorI2RlZmluZQlBUlJBWV9TSVpFKGEpCSgoaW50KShzaXplb2YoYSkgLyBz aXplb2YoKGEpWzBdKSkpDQorDQorI2RlZmluZSBkaWUoLi4uKQkJCQlcDQorCWRvIHsJCQkJCVwN CisJCWZwcmludGYoc3RkZXJyLCBfX1ZBX0FSR1NfXyk7CVwNCisJCWV4aXQoMSk7CQkJXA0KKwl9 IHdoaWxlICgwKQ0KKw0KK3N0cnVjdCBuc190eXBlIHsNCisJaW50IGZsYWc7DQorCWNvbnN0IGNo YXIgKm5hbWU7DQorfTsNCisNCitjb25zdCBzdHJ1Y3QgbnNfdHlwZSBuc3R5cGVzW10gPSB7DQor CXsgQ0xPTkVfTkVXQ0dST1VQLCAiY2dyb3VwIiB9LA0KKwl7IENMT05FX05FV0lQQywgImlwYyIg fSwNCisJeyBDTE9ORV9ORVdORVQsICJuZXQiIH0sDQorCXsgQ0xPTkVfTkVXTlMsICJtbnQiIH0s DQorCXsgQ0xPTkVfTkVXUElELCAicGlkIiB9LA0KKwl7IENMT05FX05FV1RJTUUsICJ0aW1lIiB9 LA0KKwl7IENMT05FX05FV1VTRVIsICJ1c2VyIiB9LA0KKwl7IENMT05FX05FV1VUUywgInV0cyIg fSwNCit9Ow0KKw0KKyNkZWZpbmUgZm9yX2VhY2hfbnN0KF9uc3QsIF9mbGFncykJCQkJXA0KKwlm b3IgKChfbnN0KSA9ICZuc3R5cGVzWzBdOwkJCQlcDQorCSAgICAgKChfbnN0KSAtIG5zdHlwZXMp IDwgQVJSQVlfU0laRShuc3R5cGVzKTsJCVwNCisJICAgICAoX25zdCkrKykJCQkJCQlcDQorCQlp ZiAoKF9mbGFncykgJiAoX25zdCktPmZsYWcpDQorDQorI2RlZmluZSBmb3JfZXZlcnlfbnN0KF9u c3QpCWZvcl9lYWNoX25zdChfbnN0LCBJTlRfTUFYKQ0KKw0KKyNkZWZpbmUgTlNUT09MX01BR0lD CTB4NzU3MDAxNzU3NTYwMWQ3NVVMTA0KKw0KK3N0cnVjdCBob2xkZXJfaW5mbyB7DQorCXVpbnQ2 NF90IG1hZ2ljOw0KKwlwaWRfdCBwaWQ7DQorCXVpZF90IHVpZDsNCisJZ2lkX3QgZ2lkOw0KKwlj aGFyIGN3ZFtQQVRIX01BWF07DQorfTsNCisNCitzdGF0aWMgdm9pZCB1c2FnZSh2b2lkKQ0KK3sN CisJZGllKCJVc2FnZTpcbiINCisJICAgICIgIG5zdG9vbCBob2xkIFNPQ0tcbiINCisJICAgICIg ICAgUnVuIHdpdGhpbiBhIHNldCBvZiBuYW1lc3BhY2VzLCBvcGVuIGEgVW5peCBkb21haW4gc29j a2V0XG4iDQorCSAgICAiICAgICh0aGUgXCJjb250cm9sIHNvY2tldFwiKSBhdCBTT0NLIGFuZCB3 YWl0IGZvciByZXF1ZXN0cyBmcm9tXG4iDQorCSAgICAiICAgIG90aGVyIG5zdG9vbCBzdWJjb21t YW5kcy5cbiINCisJICAgICIgIG5zdG9vbCBpbmZvIFstcHddIHBpZCBTT0NLXG4iDQorCSAgICAi ICAgIFByaW50IGluZm9ybWF0aW9uIGFib3V0IHRoZSBuc3Rvb2wgaG9sZCBwcm9jZXNzIHdpdGgg Y29udHJvbFxuIg0KKwkgICAgIiAgICBzb2NrZXQgYXQgU09DS1xuIg0KKwkgICAgIiAgICAgIC1w ICAgICAgICAgIFByaW50IGp1c3QgdGhlIGhvbGRlcidzIFBJRCBhcyBzZWVuIGJ5IHRoZSBjYWxs ZXJcbiINCisJICAgICIgICAgICAtdyAgICAgICAgICBSZXRyeSBjb25uZWN0aW5nIHRvIFNPQ0sg dW50aWwgaXQgaXMgcmVhZHlcbiINCisJICAgICIgIG5zdG9vbCBleGVjIFstLWtlZXAtY2Fwc10g U09DSyBbQ09NTUFORCBbQVJHUy4uLl1dXG4iDQorCSAgICAiICAgIEV4ZWN1dGUgY29tbWFuZCBv ciBzaGVsbCBpbiB0aGUgbmFtZXNwYWNlcyBvZiB0aGUgbnN0b29sIGhvbGRcbiINCisJICAgICIg ICAgd2l0aCBjb250cm9sIHNvY2tldCBhdCBTT0NLXG4iDQorCSAgICAiICAgICAgLS1rZWVwLWNh cHMgR2l2ZSBhbGwgcG9zc2libGUgY2FwYWJpbGl0aWVzIHRvIENPTU1BTkQgdmlhXG4iDQorCSAg ICAiICAgICAgICAgICAgICAgICAgdGhlIGFtYmllbnQgY2FwYWJpbGl0eSBtYXNrXG4iDQorCSAg ICAiICBuc3Rvb2wgc3RvcCBTT0NLXG4iDQorCSAgICAiICAgIEluc3RydWN0IHRoZSBuc3Rvb2wg aG9sZCB3aXRoIGNvbnRyb2wgc29ja2V0IGF0IFNPQ0sgdG9cbiINCisJICAgICIgICAgdGVybWlu YXRlLlxuIik7DQorfQ0KKw0KK3N0YXRpYyBpbnQgY29ubmVjdF9jdGwoY29uc3QgY2hhciAqc29j a3BhdGgsIGJvb2wgd2FpdCwNCisJCSAgICAgICBzdHJ1Y3QgaG9sZGVyX2luZm8gKmluZm8sDQor CQkgICAgICAgc3RydWN0IHVjcmVkICpwZWVyY3JlZCkNCit7DQorCWludCBmZCA9IHNvY2tldChB Rl9VTklYLCBTT0NLX1NUUkVBTSB8IFNPQ0tfQ0xPRVhFQywgUEZfVU5JWCk7DQorCXN0cnVjdCBz b2NrYWRkcl91biBhZGRyID0gew0KKwkJLnN1bl9mYW1pbHkgPSBBRl9VTklYLA0KKwl9Ow0KKwlz dHJ1Y3QgaG9sZGVyX2luZm8gZGlzY2FyZDsNCisJc3NpemVfdCBsZW47DQorCWludCByYzsNCisN CisJaWYgKGZkIDwgMCkNCisJCWRpZSgic29ja2V0KCk6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp Ow0KKw0KKwlzdHJuY3B5KGFkZHIuc3VuX3BhdGgsIHNvY2twYXRoLCBVTklYX1BBVEhfTUFYKTsN CisNCisJZG8gew0KKwkJcmMgPSBjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopJmFkZHIs IHNpemVvZihhZGRyKSk7DQorCQlpZiAocmMgPCAwICYmDQorCQkgICAgKCF3YWl0IHx8IChlcnJu byAhPSBFTk9FTlQgJiYgZXJybm8gIT0gRUNPTk5SRUZVU0VEKSkpDQorCQkJZGllKCJjb25uZWN0 KCkgdG8gJXM6ICVzXG4iLCBzb2NrcGF0aCwgc3RyZXJyb3IoZXJybm8pKTsNCisJfSB3aGlsZSAo cmMgPCAwKTsNCisNCisJaWYgKCFpbmZvKQ0KKwkJaW5mbyA9ICZkaXNjYXJkOw0KKw0KKwkvKiBB bHdheXMgcmVhZCB0aGUgaW5mbyBzdHJ1Y3R1cmUsIGV2ZW4gaWYgd2UgZG9uJ3QgbmVlZCBpdCwN CisJICogc28gdGhhdCB0aGUgaG9sZGVyIGRvZXNuJ3QgZ2V0IGEgYnJva2VuIHBpcGUgZXJyb3IN CisJICovDQorCWxlbiA9IHJlYWQoZmQsIGluZm8sIHNpemVvZigqaW5mbykpOw0KKwlpZiAobGVu IDwgMCkNCisJCWRpZSgicmVhZCgpIG9uIGNvbnRyb2wgc29ja2V0ICVzOiAlc1xuIiwgc29ja3Bh dGgsIHN0cmVycm9yKGVycm5vKSk7DQorCWlmICgoc2l6ZV90KWxlbiA8IHNpemVvZigqaW5mbykp DQorCQlkaWUoInNob3J0IHJlYWQoKSBvbiBjb250cm9sIHNvY2tldCAlc1xuIiwgc29ja3BhdGgp Ow0KKw0KKwlpZiAoaW5mby0+bWFnaWMgIT0gTlNUT09MX01BR0lDKQ0KKwkJZGllKCJDb250cm9s IHNvY2tldCAlcyBkb2Vzbid0IGFwcGVhciB0byBiZWxvbmcgdG8gbnN0b29sXG4iLA0KKwkJICAg IHNvY2twYXRoKTsNCisNCisJaWYgKHBlZXJjcmVkKSB7DQorCQlzb2NrbGVuX3Qgb3B0bGVuID0g c2l6ZW9mKCpwZWVyY3JlZCk7DQorDQorCQlyYyA9IGdldHNvY2tvcHQoZmQsIFNPTF9TT0NLRVQs IFNPX1BFRVJDUkVELA0KKwkJCQlwZWVyY3JlZCwgJm9wdGxlbik7DQorCQlpZiAocmMgPCAwKQ0K KwkJCWRpZSgiZ2V0c29ja29wZXQoU09fUEVFUkNSRUQpICVzOiAlc1xuIiwNCisJCQkgICAgc29j a3BhdGgsIHN0cmVycm9yKGVycm5vKSk7DQorCX0NCisNCisJcmV0dXJuIGZkOw0KK30NCisNCitz dGF0aWMgdm9pZCBjbWRfaG9sZChpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KK3sNCisJaW50IGZk ID0gc29ja2V0KEFGX1VOSVgsIFNPQ0tfU1RSRUFNIHwgU09DS19DTE9FWEVDLCBQRl9VTklYKTsN CisJc3RydWN0IHNvY2thZGRyX3VuIGFkZHIgPSB7DQorCQkuc3VuX2ZhbWlseSA9IEFGX1VOSVgs DQorCX07DQorCWNvbnN0IGNoYXIgKnNvY2twYXRoID0gYXJndlsxXTsNCisJc3RydWN0IGhvbGRl cl9pbmZvIGluZm87DQorCWludCByYzsNCisNCisJaWYgKGFyZ2MgIT0gMikNCisJCXVzYWdlKCk7 DQorDQorCWlmIChmZCA8IDApDQorCQlkaWUoInNvY2tldCgpOiAlc1xuIiwgc3RyZXJyb3IoZXJy bm8pKTsNCisNCisJc3RybmNweShhZGRyLnN1bl9wYXRoLCBzb2NrcGF0aCwgVU5JWF9QQVRIX01B WCk7DQorDQorCXJjID0gYmluZChmZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZhZGRyLCBzaXplb2Yo YWRkcikpOw0KKwlpZiAocmMgPCAwKQ0KKwkJZGllKCJiaW5kKCkgdG8gJXM6ICVzXG4iLCBzb2Nr cGF0aCwgc3RyZXJyb3IoZXJybm8pKTsNCisNCisJcmMgPSBsaXN0ZW4oZmQsIDApOw0KKwlpZiAo cmMgPCAwKQ0KKwkJZGllKCJsaXN0ZW4oKSBvbiAlczogJXNcbiIsIHNvY2twYXRoLCBzdHJlcnJv cihlcnJubykpOw0KKw0KKwlpbmZvLm1hZ2ljID0gTlNUT09MX01BR0lDOw0KKwlpbmZvLnBpZCA9 IGdldHBpZCgpOw0KKwlpbmZvLnVpZCA9IGdldHVpZCgpOw0KKwlpbmZvLmdpZCA9IGdldGdpZCgp Ow0KKwlpZiAoIWdldGN3ZChpbmZvLmN3ZCwgc2l6ZW9mKGluZm8uY3dkKSkpDQorCQlkaWUoImdl dGN3ZCgpOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCisNCisJZG8gew0KKwkJaW50IGFmZCA9 IGFjY2VwdChmZCwgTlVMTCwgTlVMTCk7DQorCQljaGFyIGJ1ZjsNCisNCisJCWlmIChhZmQgPCAw KQ0KKwkJCWRpZSgiYWNjZXB0KCk6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0KKw0KKwkJcmMg PSB3cml0ZShhZmQsICZpbmZvLCBzaXplb2YoaW5mbykpOw0KKwkJaWYgKHJjIDwgMCkNCisJCQlk aWUoIndyaXRlKCk6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0KKwkJaWYgKChzaXplX3QpcmMg PCBzaXplb2YoaW5mbykpDQorCQkJZGllKCJzaG9ydCB3cml0ZSgpIG9uIGNvbnRyb2wgc29ja2V0 XG4iKTsNCisNCisJCXJjID0gcmVhZChhZmQsICZidWYsIHNpemVvZihidWYpKTsNCisJCWlmIChy YyA8IDApDQorCQkJZGllKCJyZWFkKCk6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0KKwl9IHdo aWxlIChyYyA9PSAwKTsNCisNCisJdW5saW5rKHNvY2twYXRoKTsNCit9DQorDQorc3RhdGljIHNz aXplX3QgZ2V0bGluayhjaGFyICpidWYsIHNpemVfdCBidWZzaXosIGNvbnN0IGNoYXIgKmZtdCwg Li4uKQ0KK3sNCisJY2hhciBsaW5rcGF0aFtQQVRIX01BWF07DQorCXNzaXplX3QgbGlua2xlbjsN CisJdmFfbGlzdCBhcDsNCisNCisJdmFfc3RhcnQoYXAsIGZtdCk7DQorCWlmICh2c25wcmludGYo bGlua3BhdGgsIHNpemVvZihsaW5rcGF0aCksIGZtdCwgYXApID49IFBBVEhfTUFYKQ0KKwkJZGll KCJUcnVuY2F0ZWQgcGF0aCBcIiVzXCJcbiIsIGxpbmtwYXRoKTsNCisJdmFfZW5kKGFwKTsNCisN CisJbGlua2xlbiA9IHJlYWRsaW5rKGxpbmtwYXRoLCBidWYsIGJ1ZnNpeik7DQorCWlmIChsaW5r bGVuIDwgMCkNCisJCWRpZSgicmVhZGxpbmsoKSBvbiAlczogJXNcbiIsIGxpbmtwYXRoLCBzdHJl cnJvcihlcnJubykpOw0KKwlpZiAoKHNpemVfdClsaW5rbGVuID49IGJ1ZnNpeikNCisJCWRpZSgi VGFyZ2V0IG9mIHN5bWJvbGljIGxpbmsgJXMgaXMgdG9vIGxvbmdcbiIsIGxpbmtwYXRoKTsNCisN CisJcmV0dXJuIGxpbmtsZW47DQorfQ0KKw0KK3N0YXRpYyBpbnQgZGV0ZWN0X25hbWVzcGFjZXMo cGlkX3QgcGlkKQ0KK3sNCisJY29uc3Qgc3RydWN0IG5zX3R5cGUgKm5zdDsNCisJaW50IGZsYWdz ID0gMDsNCisNCisJZm9yX2V2ZXJ5X25zdChuc3QpIHsNCisJCWNoYXIgc2VsZmxpbmtbUEFUSF9N QVhdLCBwaWRsaW5rW1BBVEhfTUFYXTsNCisJCXNzaXplX3Qgc2VsZmxlbiwgcGlkbGVuOw0KKw0K KwkJc2VsZmxlbiA9IGdldGxpbmsoc2VsZmxpbmssIHNpemVvZihzZWxmbGluayksDQorCQkJCSAg Ii9wcm9jL3NlbGYvbnMvJXMiLCBuc3QtPm5hbWUpOw0KKwkJcGlkbGVuID0gZ2V0bGluayhwaWRs aW5rLCBzaXplb2YocGlkbGluayksDQorCQkJCSAiL3Byb2MvJWQvbnMvJXMiLCBwaWQsIG5zdC0+ bmFtZSk7DQorDQorCQlpZiAoKHNlbGZsZW4gIT0gcGlkbGVuKSB8fCBtZW1jbXAoc2VsZmxpbmss IHBpZGxpbmssIHNlbGZsZW4pKQ0KKwkJCWZsYWdzIHw9IG5zdC0+ZmxhZzsNCisJfQ0KKw0KKwly ZXR1cm4gZmxhZ3M7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIHByaW50X25zdHlwZXMoaW50IGZsYWdz KQ0KK3sNCisJY29uc3Qgc3RydWN0IG5zX3R5cGUgKm5zdDsNCisJYm9vbCBmaXJzdCA9IHRydWU7 DQorDQorCWZvcl9lYWNoX25zdChuc3QsIGZsYWdzKSB7DQorCQlwcmludGYoIiVzJXMiLCBmaXJz dCA/ICIiIDogIiwgIiAsIG5zdC0+bmFtZSk7DQorCQlmaXJzdCA9IGZhbHNlOw0KKwkJZmxhZ3Mg Jj0gfm5zdC0+ZmxhZzsNCisJfQ0KKw0KKwlpZiAoZmxhZ3MpDQorCQlwcmludGYoIiVzMHgleCIs IGZpcnN0ID8gIiIgOiAiLCAiLCBmbGFncyk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGNtZF9pbmZv KGludCBhcmdjLCBjaGFyICphcmd2W10pDQorew0KKwljb25zdCBzdHJ1Y3Qgb3B0aW9uIG9wdGlv bnNbXSA9IHsNCisJCXsicGlkIiwJCW5vX2FyZ3VtZW50LCAJTlVMTCwJJ3AnIH0sDQorCQl7Indh aXQiLAlub19hcmd1bWVudCwJTlVMTCwJJ3cnIH0sDQorCQl7IDAgfSwNCisJfTsNCisJYm9vbCBw aWRvbmx5ID0gZmFsc2UsIHdhaXRmb3Jzb2NrID0gZmFsc2U7DQorCWNvbnN0IGNoYXIgKm9wdHN0 cmluZyA9ICJwdyI7DQorCXN0cnVjdCBob2xkZXJfaW5mbyBpbmZvOw0KKwlzdHJ1Y3QgdWNyZWQg cGVlcmNyZWQ7DQorCWNvbnN0IGNoYXIgKnNvY2twYXRoOw0KKwlpbnQgZmQsIG9wdDsNCisNCisJ ZG8gew0KKwkJb3B0ID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgb3B0c3RyaW5nLCBvcHRpb25z LCBOVUxMKTsNCisNCisJCXN3aXRjaCAob3B0KSB7DQorCQljYXNlICdwJzoNCisJCQlwaWRvbmx5 ID0gdHJ1ZTsNCisJCQlicmVhazsNCisJCWNhc2UgJ3cnOg0KKwkJCXdhaXRmb3Jzb2NrID0gdHJ1 ZTsNCisJCQlicmVhazsNCisJCWNhc2UgLTE6DQorCQkJYnJlYWs7DQorCQlkZWZhdWx0Og0KKwkJ CXVzYWdlKCk7DQorCQl9DQorCX0gd2hpbGUgKG9wdCAhPSAtMSk7DQorDQorCWlmIChvcHRpbmQg IT0gYXJnYyAtIDEpIHsNCisJCXVzYWdlKCk7DQorCX0NCisNCisJc29ja3BhdGggPSBhcmd2W29w dGluZF07DQorDQorCWZkID0gY29ubmVjdF9jdGwoc29ja3BhdGgsIHdhaXRmb3Jzb2NrLCAmaW5m bywgJnBlZXJjcmVkKTsNCisNCisJY2xvc2UoZmQpOw0KKw0KKwlpZiAocGlkb25seSkgew0KKwkJ cHJpbnRmKCIlZFxuIiwgcGVlcmNyZWQucGlkKTsNCisJfSBlbHNlIHsNCisJCWludCBmbGFncyA9 IGRldGVjdF9uYW1lc3BhY2VzKHBlZXJjcmVkLnBpZCk7DQorDQorCQlwcmludGYoIk5hbWVzcGFj ZXM6ICIpOw0KKwkJcHJpbnRfbnN0eXBlcyhmbGFncyk7DQorCQlwcmludGYoIlxuIik7DQorDQor CQlwcmludGYoIkFzIHNlZW4gZnJvbSBjYWxsaW5nIGNvbnRleHQ6XG4iKTsNCisJCXByaW50Zigi XHRQSUQ6XHQlZFxuIiwgcGVlcmNyZWQucGlkKTsNCisJCXByaW50ZigiXHRVSUQ6XHQldVxuIiwg cGVlcmNyZWQudWlkKTsNCisJCXByaW50ZigiXHRHSUQ6XHQldVxuIiwgcGVlcmNyZWQuZ2lkKTsN CisNCisJCXByaW50ZigiQXMgc2VlbiBmcm9tIGhvbGRpbmcgY29udGV4dDpcbiIpOw0KKwkJcHJp bnRmKCJcdFBJRDpcdCVkXG4iLCBpbmZvLnBpZCk7DQorCQlwcmludGYoIlx0VUlEOlx0JXVcbiIs IGluZm8udWlkKTsNCisJCXByaW50ZigiXHRHSUQ6XHQldVxuIiwgaW5mby5naWQpOw0KKwkJcHJp bnRmKCJcdENXRDpcdCVzXG4iLCBpbmZvLmN3ZCk7DQorCX0NCit9DQorDQorc3RhdGljIGludCBv cGVubnMoY29uc3QgY2hhciAqZm10LCAuLi4pDQorew0KKwljaGFyIG5zcGF0aFtQQVRIX01BWF07 DQorCXZhX2xpc3QgYXA7DQorCWludCBmZDsNCisNCisJdmFfc3RhcnQoYXAsIGZtdCk7DQorCWlm ICh2c25wcmludGYobnNwYXRoLCBzaXplb2YobnNwYXRoKSwgZm10LCBhcCkgPj0gUEFUSF9NQVgp DQorCQlkaWUoIlRydW5jYXRlZCBwYXRoIFwiJXNcIlxuIiwgbnNwYXRoKTsNCisJdmFfZW5kKGFw KTsNCisNCisJZmQgPSBvcGVuKG5zcGF0aCwgT19SRE9OTFkgfCBPX0NMT0VYRUMpOw0KKwlpZiAo ZmQgPCAwKQ0KKwkJZGllKCJvcGVuKCkgJXM6ICVzXG4iLCBuc3BhdGgsIHN0cmVycm9yKGVycm5v KSk7DQorDQorCXJldHVybiBmZDsNCit9DQorDQorc3RhdGljIHZvaWQgd2FpdF9mb3JfY2hpbGQo cGlkX3QgcGlkKQ0KK3sNCisJaW50IHN0YXR1czsNCisNCisJLyogTWF0Y2ggdGhlIGNoaWxkJ3Mg ZXhpdCBzdGF0dXMsIGlmIHBvc3NpYmxlICovDQorCWZvciAoOzspIHsNCisJCXBpZF90IHJjOw0K Kw0KKwkJcmMgPSB3YWl0cGlkKHBpZCwgJnN0YXR1cywgV1VOVFJBQ0VEKTsNCisJCWlmIChyYyA8 IDApDQorCQkJZGllKCJ3YWl0cGlkKCkgb24gJWQ6ICVzXG4iLCBwaWQsIHN0cmVycm9yKGVycm5v KSk7DQorCQlpZiAocmMgIT0gcGlkKQ0KKwkJCWRpZSgid2FpdHBpZCgpIG9uICVkIHJldHVybmVk ICVkIiwgcGlkLCByYyk7DQorCQlpZiAoV0lGU1RPUFBFRChzdGF0dXMpKSB7DQorCQkJLyogU3Rv cCB0aGUgcGFyZW50IHRvIHBhdGNoICovDQorCQkJa2lsbChnZXRwaWQoKSwgU0lHU1RPUCk7DQor CQkJLyogV2UgbXVzdCBoYXZlIHJlc3VtZWQsIHJlc3VtZSB0aGUgY2hpbGQgKi8NCisJCQlraWxs KHBpZCwgU0lHQ09OVCk7DQorCQkJY29udGludWU7DQorCQl9DQorDQorCQlicmVhazsNCisJfQ0K Kw0KKwlpZiAoV0lGRVhJVEVEKHN0YXR1cykpDQorCQlleGl0KFdFWElUU1RBVFVTKHN0YXR1cykp Ow0KKwllbHNlIGlmIChXSUZTSUdOQUxFRChzdGF0dXMpKQ0KKwkJa2lsbChnZXRwaWQoKSwgV1RF Uk1TSUcoc3RhdHVzKSk7DQorDQorCWRpZSgiVW5leHBlY3RlZCBzdGF0dXMgZm9yIGNoaWxkICVk XG4iLCBwaWQpOw0KK30NCisNCitzdGF0aWMgdm9pZCBjYXBzX3RvX2FtYmllbnQodm9pZCkNCit7 DQorCS8qIFVzZSByYXcgc3lzdGVtIGNhbGxzIHRvIGF2b2lkIHRoZSBvdmVybHkgY29tcGxleCBj YXBzDQorCSAqIGxpYnJhcmllcy4gKi8NCisJc3RydWN0IF9fdXNlcl9jYXBfaGVhZGVyX3N0cnVj dCBoZWFkZXIgPSB7DQorCQkudmVyc2lvbiA9IF9MSU5VWF9DQVBBQklMSVRZX1ZFUlNJT05fMywN CisJCS5waWQgPSAwLA0KKwl9Ow0KKwlzdHJ1Y3QgX191c2VyX2NhcF9kYXRhX3N0cnVjdCBwYXls b2FkW19MSU5VWF9DQVBBQklMSVRZX1UzMlNfM10gPQ0KKwkJe3sgMCB9fTsNCisJdWludDY0X3Qg ZWZmZWN0aXZlLCBjYXA7DQorDQorCWlmIChzeXNjYWxsKFNZU19jYXBnZXQsICZoZWFkZXIsIHBh eWxvYWQpIDwgMCkNCisJCWRpZSgiY2FwZ2V0KCk6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0K Kw0KKwkvKiBGaXJzdCBtYWtlIGNhcHMgaW5oZXJpdGFibGUgKi8NCisJcGF5bG9hZFswXS5pbmhl cml0YWJsZSA9IHBheWxvYWRbMF0ucGVybWl0dGVkOw0KKwlwYXlsb2FkWzFdLmluaGVyaXRhYmxl ID0gcGF5bG9hZFsxXS5wZXJtaXR0ZWQ7DQorDQorCWlmIChzeXNjYWxsKFNZU19jYXBzZXQsICZo ZWFkZXIsIHBheWxvYWQpIDwgMCkNCisJCWRpZSgiY2Fwc2V0KCk6ICVzXG4iLCBzdHJlcnJvcihl cnJubykpOw0KKw0KKwllZmZlY3RpdmUgPSAoKHVpbnQ2NF90KXBheWxvYWRbMV0uZWZmZWN0aXZl IDw8IDMyKSB8ICh1aW50NjRfdClwYXlsb2FkWzBdLmVmZmVjdGl2ZTsNCisNCisJZm9yIChjYXAg PSAwOyBjYXAgPCAoc2l6ZW9mKGVmZmVjdGl2ZSkgKiA4KTsgY2FwKyspIHsNCisJCS8qIFNraXAg bm9uLWV4aXN0ZW50IGNhcHMgKi8NCisJCWlmIChwcmN0bChQUl9DQVBCU0VUX1JFQUQsIGNhcCwg MCwgMCwgMCkgPCAwKQ0KKwkJCWNvbnRpbnVlOw0KKw0KKwkJaWYgKChlZmZlY3RpdmUgJiAoMSA8 PCBjYXApKQ0KKwkJICAgICYmIHByY3RsKFBSX0NBUF9BTUJJRU5ULCBQUl9DQVBfQU1CSUVOVF9S QUlTRSwgY2FwLCAwLCAwKSA8IDApDQorCQkJZGllKCJwcmN0bChQUl9DQVBfQU1CSUVOVCk6ICVz XG4iLCBzdHJlcnJvcihlcnJubykpOw0KKwl9DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGNtZF9leGVj KGludCBhcmdjLCBjaGFyICphcmd2W10pDQorew0KKwllbnVtIHsNCisJCU9QVF9FWEVDX0tFRVBD QVBTID0gQ0hBUl9NQVggKyAxLA0KKwl9Ow0KKwljb25zdCBzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNb XSA9IHsNCisJCXsia2VlcC1jYXBzIiwJbm9fYXJndW1lbnQsIAlOVUxMLAlPUFRfRVhFQ19LRUVQ Q0FQUyB9LA0KKwkJeyAwIH0sDQorCX07DQorCWNvbnN0IGNoYXIgKnNoYXJnc1tdID0geyBOVUxM LCBOVUxMIH07DQorCWNvbnN0IGNoYXIgKnNvY2twYXRoID0gYXJndlsxXTsNCisJaW50IG5mZFtB UlJBWV9TSVpFKG5zdHlwZXMpXTsNCisJY29uc3QgY2hhciAqb3B0c3RyaW5nID0gIiI7DQorCWNv bnN0IHN0cnVjdCBuc190eXBlICpuc3Q7DQorCWludCBjdGxmZCwgZmxhZ3MsIG9wdCwgcmM7DQor CWNvbnN0IGNoYXIgKmNvbnN0ICp4YXJnczsNCisJc3RydWN0IGhvbGRlcl9pbmZvIGluZm87DQor CWJvb2wga2VlcGNhcHMgPSBmYWxzZTsNCisJc3RydWN0IHVjcmVkIHBlZXJjcmVkOw0KKwljb25z dCBjaGFyICpleGU7DQorCXBpZF90IHhwaWQ7DQorDQorCWRvIHsNCisJCW9wdCA9IGdldG9wdF9s b25nKGFyZ2MsIGFyZ3YsIG9wdHN0cmluZywgb3B0aW9ucywgTlVMTCk7DQorDQorCQlzd2l0Y2gg KG9wdCkgew0KKwkJY2FzZSBPUFRfRVhFQ19LRUVQQ0FQUzoNCisJCQlrZWVwY2FwcyA9IHRydWU7 DQorCQkJYnJlYWs7DQorCQljYXNlIC0xOg0KKwkJCWJyZWFrOw0KKwkJZGVmYXVsdDoNCisJCQl1 c2FnZSgpOw0KKwkJfQ0KKwl9IHdoaWxlIChvcHQgIT0gLTEpOw0KKw0KKwlpZiAoYXJnYyA8IG9w dGluZCArIDEpDQorCQl1c2FnZSgpOw0KKw0KKwlzb2NrcGF0aCA9IGFyZ3Zbb3B0aW5kXTsNCisN CisJY3RsZmQgPSBjb25uZWN0X2N0bChzb2NrcGF0aCwgZmFsc2UsICZpbmZvLCAmcGVlcmNyZWQp Ow0KKw0KKwlmbGFncyA9IGRldGVjdF9uYW1lc3BhY2VzKHBlZXJjcmVkLnBpZCk7DQorDQorCWZv cl9lYWNoX25zdChuc3QsIGZsYWdzKSB7DQorCQlpbnQgKmZkID0gJm5mZFtuc3QgLSBuc3R5cGVz XTsNCisJCSpmZCA9IG9wZW5ucygiL3Byb2MvJWQvbnMvJXMiLCBwZWVyY3JlZC5waWQsIG5zdC0+ bmFtZSk7DQorCX0NCisNCisJLyogRmlyc3QgcGFzcywgd2lsbCBnZXQgdGhpbmdzIHdoZXJlIHdl IG5lZWQgdGhlIHByaXZpbGVnZXMgb2YNCisJICogdGhlIGluaXRpYWwgdXNlcm5zICovDQorCWZv cl9lYWNoX25zdChuc3QsIGZsYWdzKSB7DQorCQlpbnQgZmQgPSBuZmRbbnN0IC0gbnN0eXBlc107 DQorDQorCQlyYyA9IHNldG5zKGZkLCBuc3QtPmZsYWcpOw0KKwkJaWYgKHJjID09IDApIHsNCisJ CQlmbGFncyAmPSB+bnN0LT5mbGFnOw0KKwkJfQ0KKwl9DQorDQorCS8qIFNlY29uZCBwYXNzLCB3 aWxsIGdldCB0aGluZ3Mgd2hlcmUgd2UgbmVlZCB0aGUgcHJpdmlsZWdlcw0KKwkgKiBvZiB0aGUg dGFyZ2V0IHVzZXJucyAqLw0KKwlmb3JfZWFjaF9uc3QobnN0LCBmbGFncykgew0KKwkJaW50IGZk ID0gbmZkW25zdCAtIG5zdHlwZXNdOw0KKw0KKwkJcmMgPSBzZXRucyhmZCwgbnN0LT5mbGFnKTsN CisJCWlmIChyYyA8IDApDQorCQkJZGllKCJzZXRucygpIHR5cGUgJXM6ICVzXG4iLA0KKwkJCSAg ICBuc3QtPm5hbWUsIHN0cmVycm9yKGVycm5vKSk7DQorCX0NCisNCisJLyogSWYgd2UndmUgZW50 ZXJlZCBhIG1vdW50IG5zLCBvdXIgY3dkIGhhcyBjaGFuZ2VkIHRvIC8uDQorCSAqIFN3aXRjaCB0 byB0aGUgY3dkIG9mIHRoZSBob2xkZXIsIHdoaWNoIGlzIHByb2JhYmx5IGxlc3MNCisJICogc3Vy cHJpc2luZy4gKi8NCisJaWYgKGZsYWdzICYgQ0xPTkVfTkVXTlMpIHsNCisJCXJjID0gY2hkaXIo aW5mby5jd2QpOw0KKwkJaWYgKHJjIDwgMCkNCisJCQlkaWUoImNoZGlyKFwiJXNcIik6ICVzXG4i LCBpbmZvLmN3ZCwgc3RyZXJyb3IoZXJybm8pKTsNCisJfQ0KKw0KKwkvKiBGb3JrIHRvIHByb3Bl cmx5IGVudGVyIFBJRCBuYW1lc3BhY2UgKi8NCisJeHBpZCA9IGZvcmsoKTsNCisJaWYgKHhwaWQg PCAwKQ0KKwkJZGllKCJmb3JrKCk6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0KKw0KKwlpZiAo eHBpZCA+IDApIHsNCisJCS8qIENsb3NlIHRoZSBjb250cm9sIHNvY2tldCBzbyB0aGUgd2FpdGlu ZyBwYXJlbnQNCisJCSAqIGRvZXNuJ3QgYmxvY2sgdGhlIGhvbGRlciAqLw0KKwkJY2xvc2UoY3Rs ZmQpOw0KKwkJd2FpdF9mb3JfY2hpbGQoeHBpZCk7DQorCX0NCisNCisJLyogQ0hJTEQgKi8NCisJ aWYgKGFyZ2MgPiBvcHRpbmQgKyAxKSB7DQorCQlleGUgPSBhcmd2W29wdGluZCArIDFdOw0KKwkJ eGFyZ3MgPSAoY29uc3QgY2hhciAqIGNvbnN0KikoYXJndiArIG9wdGluZCArIDEpOw0KKwl9IGVs c2Ugew0KKwkJZXhlID0gZ2V0ZW52KCJTSEVMTCIpOw0KKwkJaWYgKCFleGUpDQorCQkJZXhlID0g Ii9iaW4vc2giOw0KKw0KKwkJc2hhcmdzWzBdID0gZXhlOw0KKw0KKwkJeGFyZ3MgPSBzaGFyZ3M7 DQorCX0NCisNCisJaWYgKGtlZXBjYXBzKQ0KKwkJY2Fwc190b19hbWJpZW50KCk7DQorDQorCXJj ID0gZXhlY3ZwKGV4ZSwgKGNoYXIgKmNvbnN0ICopeGFyZ3MpOw0KKwlpZiAocmMgPCAwKQ0KKwkJ ZGllKCJleGVjdigpICVzOiAlc1xuIiwgZXhlLCBzdHJlcnJvcihlcnJubykpOw0KKwlkaWUoIlJl dHVybmVkIGZyb20gZXhlYygpXG4iKTsNCit9DQorDQorc3RhdGljIHZvaWQgY21kX3N0b3AoaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCit7DQorCWNvbnN0IGNoYXIgKnNvY2twYXRoID0gYXJndlsx XTsNCisJaW50IGZkLCByYzsNCisJY2hhciBidWYgPSAnUSc7DQorDQorCWlmIChhcmdjICE9IDIp DQorCQl1c2FnZSgpOw0KKw0KKwlmZCA9IGNvbm5lY3RfY3RsKHNvY2twYXRoLCBmYWxzZSwgTlVM TCwgTlVMTCk7DQorDQorCXJjID0gd3JpdGUoZmQsICZidWYsIHNpemVvZihidWYpKTsNCisJaWYg KHJjIDwgMCkNCisJCWRpZSgid3JpdGUoKSB0byAlczogJXNcbiIsIHNvY2twYXRoLCBzdHJlcnJv cihlcnJubykpOw0KKw0KKwljbG9zZShmZCk7DQorfQ0KKw0KK2ludCBtYWluKGludCBhcmdjLCBj aGFyICphcmd2W10pDQorew0KKwljb25zdCBjaGFyICpzdWJjbWQgPSBhcmd2WzFdOw0KKwlpbnQg ZmQ7DQorDQorCWlmIChhcmdjIDwgMikNCisJCXVzYWdlKCk7DQorDQorCWZkID0gc29ja2V0KEFG X1VOSVgsIFNPQ0tfU1RSRUFNLCBQRl9VTklYKTsNCisJaWYgKGZkIDwgMCkNCisJCWRpZSgic29j a2V0KCk6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0KKw0KKwlpZiAoc3RyY21wKHN1YmNtZCwg ImhvbGQiKSA9PSAwKQ0KKwkJY21kX2hvbGQoYXJnYyAtIDEsIGFyZ3YgKyAxKTsNCisJZWxzZSBp ZiAoc3RyY21wKHN1YmNtZCwgImluZm8iKSA9PSAwKQ0KKwkJY21kX2luZm8oYXJnYyAtIDEsIGFy Z3YgKyAxKTsNCisJZWxzZSBpZiAoc3RyY21wKHN1YmNtZCwgImV4ZWMiKSA9PSAwKQ0KKwkJY21k X2V4ZWMoYXJnYyAtIDEsIGFyZ3YgKyAxKTsNCisJZWxzZSBpZiAoc3RyY21wKHN1YmNtZCwgInN0 b3AiKSA9PSAwKQ0KKwkJY21kX3N0b3AoYXJnYyAtIDEsIGFyZ3YgKyAxKTsNCisJZWxzZQ0KKwkJ dXNhZ2UoKTsNCisNCisJZXhpdCgwKTsNCit9DQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXNzdC5t YnV0byBiL29sZHRlc3QvcGFzc3QubWJ1dG8NCm5ldyBmaWxlIG1vZGUgMTAwNzU1DQppbmRleCAw MDAwMDAwMC4uOTA4MTZkMjANCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFzc3QubWJ1 dG8NCkBAIC0wLDAgKzEsODMgQEANCisjIS9iaW4vc2gNCisjDQorIyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBT b2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisj DQorIyB0ZXN0L3Bhc3N0Lm1idXRvIC0gbWJ1dG8gKGh0dHBzOi8vbWJ1dG8uc2gpIHByb2ZpbGUg Zm9yIHRlc3QgaW1hZ2VzDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIyIFJlZCBIYXQgR21iSA0K KyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK1BST0dT PSIke1BST0dTOi1hc2gsZGFzaCxiYXNoIGlwIG1vdW50IGxzIGluc21vZCBta2RpciBsbiBjYXQg Y2htb2QgbHNtb2QNCisgICAgICAgbW9kcHJvYmUgZmluZCBncmVwIG1rbm9kIG12IHJtIHVtb3Vu dCBqcSBpcGVyZjMgZGhjbGllbnQgaG9zdG5hbWUNCisgICAgICAgc2VkIHRyIGNob3duIHNpcGNh bGMgY3V0IHNvY2F0IGRkIHN0cmFjZSBwaW5nIHRhaWwga2lsbGFsbCBzbGVlcCBzeXNjdGwNCisg ICAgICAgbnByb2MgdGNwX3JyIHRjcF9jcnIgdWRwX3JyIHdoaWNoIHRlZSBzZXEgYmMgc3NoZCBz c2gta2V5Z2VuIGNtcH0iDQorDQorS01PRFM9IiR7S01PRFM6LSB2aXJ0aW9fbmV0IHZpcnRpb19w Y2kgdm13X3Zzb2NrX3ZpcnRpb190cmFuc3BvcnR9Ig0KKw0KK0xJTktTPSIke0xJTktTOi0NCisJ IGFzaCxkYXNoLGJhc2gJCS9pbml0DQorCSBhc2gsZGFzaCxiYXNoCQkvYmluL3NofSINCisNCitE SVJTPSIke0RJUlN9IC90bXAgL3NiaW4gL3Vzci9zaGFyZSAvdmFyL2xvZyAvdmFyL2xpYiAvZXRj L3NzaCAvcnVuL3NzaGQgL3Jvb3QvLnNzaCINCisNCitDT1BJRVM9IiR7Q09QSUVTfSBzbWFsbC5i aW4sL3Jvb3Qvc21hbGwuYmluIG1lZGl1bS5iaW4sL3Jvb3QvbWVkaXVtLmJpbiBiaWcuYmluLC9y b290L2JpZy5iaW4iDQorDQorRklYVVA9IiR7RklYVVB9IicNCisJY2F0ID4gL3NiaW4vZGhjbGll bnQtc2NyaXB0IDw8IEVPRg0KKyMhL2Jpbi9zaA0KK0xPRz0vdmFyL2xvZy9kaGNsaWVudC1zY3Jp cHQubG9nDQorZWNobyBcJHtyZWFzb259IFwke2ludGVyZmFjZX0gPj4gXCRMT0cNCitzZXQgPj4g XCRMT0cNCisNCitbIC1uICJcJHtuZXdfaW50ZXJmYWNlX210dX0iIF0gICAgICAgJiYgaXAgbGlu ayBzZXQgZGV2IFwke2ludGVyZmFjZX0gbXR1IFwke25ld19pbnRlcmZhY2VfbXR1fQ0KKw0KK1sg LW4gIlwke25ld19pcF9hZGRyZXNzfSIgXSAgICAgICAgICAmJiBpcCBhZGRyIGFkZCBcJHtuZXdf aXBfYWRkcmVzc30vXCR7bmV3X3N1Ym5ldF9tYXNrfSBkZXYgXCR7aW50ZXJmYWNlfQ0KK1sgLW4g Ilwke25ld19yb3V0ZXJzfSIgXSAgICAgICAgICAgICAmJiBmb3IgciBpbiBcJHtuZXdfcm91dGVy c307IGRvIGlwIHJvdXRlIGFkZCBkZWZhdWx0IHZpYSBcJHtyfSBkZXYgXCR7aW50ZXJmYWNlfTsg ZG9uZQ0KKzo+IC9ldGMvcmVzb2x2LmNvbmYNCitbIC1uICJcJHtuZXdfZG9tYWluX25hbWVfc2Vy dmVyc30iIF0gJiYgZm9yIGQgaW4gXCR7bmV3X2RvbWFpbl9uYW1lX3NlcnZlcnN9OyBkbyBlY2hv ICJuYW1lc2VydmVyIFwke2R9IiA+PiAvZXRjL3Jlc29sdi5jb25mOyBkb25lDQorWyAtbiAiXCR7 bmV3X2RvbWFpbl9uYW1lfSIgXSAgICAgICAgICYmIGVjaG8gInNlYXJjaCBcJHtuZXdfZG9tYWlu X25hbWV9IiA+PiAvZXRjL3Jlc29sZi5jb25mDQorWyAtbiAiXCR7bmV3X2RvbWFpbl9zZWFyY2h9 IiBdICAgICAgICYmIChwcmludGYgInNlYXJjaCI7IGZvciBkIGluIFwke25ld19kb21haW5fc2Vh cmNofTsgZG8gcHJpbnRmICIgJXMiICJcJHtkfSI7IGRvbmU7IHByaW50ZiAiXG4iKSA+PiAvZXRj L3Jlc29sdi5jb25mDQorWyAtbiAiXCR7bmV3X2lwNl9hZGRyZXNzfSIgXSAgICAgICAgICYmIGlw IGFkZHIgYWRkIFwke25ld19pcDZfYWRkcmVzc30vXCR7bmV3X2lwNl9wcmVmaXhsZW59IGRldiBc JHtpbnRlcmZhY2V9DQorWyAtbiAiXCR7bmV3X2RoY3A2X25hbWVfc2VydmVyc30iIF0gICYmIGZv ciBkIGluIFwke25ld19kaGNwNl9uYW1lX3NlcnZlcnN9OyBkbyBlY2hvICJuYW1lc2VydmVyIFwk e2R9JVwke2ludGVyZmFjZX0iID4+IC9ldGMvcmVzb2x2LmNvbmY7IGRvbmUNCitbIC1uICJcJHtu ZXdfZGhjcDZfZG9tYWluX3NlYXJjaH0iIF0gJiYgKHByaW50ZiAic2VhcmNoIjsgZm9yIGQgaW4g XCR7bmV3X2RoY3A2X2RvbWFpbl9zZWFyY2h9OyBkbyBwcmludGYgIiAlcyIgIlwke2R9IjsgZG9u ZTsgcHJpbnRmICJcbiIpID4+IC9ldGMvcmVzb2x2LmNvbmYNCitbIC1uICJcJHtuZXdfaG9zdF9u YW1lfSIgXSAgICAgICAgICAgJiYgaG9zdG5hbWUgIlwke25ld19ob3N0X25hbWV9Ig0KK2V4aXQg MA0KK0VPRg0KKwljaG1vZCA3NTUgL3NiaW4vZGhjbGllbnQtc2NyaXB0DQorCWxuIC1zIC9zYmlu IC91c3Ivc2Jpbg0KKwlsbiAtcyAvYmluIC91c3IvYmluDQorCWxuIC1zIC9ydW4gL3Zhci9ydW4N CisJOj4gL2V0Yy9mc3RhYg0KKw0KKwkjIHNzaGQoZHJvcGJlYXIpIHZpYSB2c29jaw0KKwljYXQg PiAvZXRjL3Bhc3N3ZCA8PCBFT0YNCityb290Ong6MDowOnJvb3Q6L3Jvb3Q6L2Jpbi9zaA0KK3Nz aGQ6eDoxMDA6MTAwOlByaXZpbGVnZS1zZXBhcmF0ZWQgU1NIOi92YXIvZW1wdHkvc3NoZDovc2Jp bi9ub2xvZ2luDQorRU9GDQorCWNhdCA+IC9ldGMvc2hhZG93IDw8IEVPRg0KK3Jvb3Q6OjowOjk5 OTk5Ojc6OjoNCitFT0YNCisJY2htb2QgMDAwIC9ldGMvc2hhZG93DQorDQorCTo+IC9ldGMvc3No L3NzaGRfY29uZmlnDQorCXNzaC1rZXlnZW4gLUENCisJY2htb2QgNzAwIC9yb290Ly5zc2gNCisJ Y2htb2QgNzAwIC9ydW4vc3NoZA0KKwkjIEFsdGVybmF0aXZlIGxvY2F0aW9uIGZvciB0aGUgcHJp diBzZXBhcmF0aW9uIGRpcg0KKwlsbiAtcyAvcnVuL3NzaGQgL3Vzci9zaGFyZS9lbXB0eS5zc2hk DQorDQorCWNhdCA+IC9yb290Ly5zc2gvYXV0aG9yaXplZF9rZXlzIDw8RU9GDQorJyIkKGNhdCBn dWVzdC1rZXkucHViIDI+L2Rldi9udWxsIHx8IDopIicNCitFT0YNCisJY2htb2QgNjAwIC9yb290 Ly5zc2gvYXV0aG9yaXplZF9rZXlzDQorCWNobW9kIDcwMCAvcm9vdA0KKwlzb2NhdCBWU09DSy1M SVNURU46MjIsZm9yayBFWEVDOiJzc2hkIC1pIC1lIiAyPiAvdmFyL2xvZy92c29jay1zc2gubG9n ICYNCisJc2ggK20NCisnDQorDQorT1VUUFVUPSJLRVJORUw9X19LRVJORUxfXw0KK0lOSVRSRD1f X0lOSVRSRF9fDQorIg0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcGFzc3QubWVtLm1idXRvIGIvb2xk dGVzdC9wYXNzdC5tZW0ubWJ1dG8NCm5ldyBmaWxlIG1vZGUgMTAwNzU1DQppbmRleCAwMDAwMDAw MC4uNTZmNTEzOTUNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFzc3QubWVtLm1idXRv DQpAQCAtMCwwICsxLDQ0IEBADQorIyEvYmluL3NoDQorIw0KKyMgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29j a2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0K KyMgdGVzdC9wYXNzdC5tZW0ubWJ1dG8gLSBtYnV0byAoaHR0cHM6Ly9tYnV0by5zaCkgcHJvZmls ZSBmb3IgbWVtb3J5IHVzYWdlIHRlc3RzDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIyIFJlZCBI YXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0K Kw0KK1BST0dTPSIke1BST0dTOi1hc2gsZGFzaCxiYXNoIGNobW9kIGlwIG1vdW50IGluc21vZCBt a2RpciBsbiBjYXQgY2htb2QgbW9kcHJvYmUNCisgICAgICAgZ3JlcCBta25vZCBzZWQgY2hvd24g c2xlZXAgYmMgbHMgcHMgbW91bnQgdW5zaGFyZSBjaHJvb3QgY3Aga2lsbCBkaWZmDQorICAgICAg IGhlYWQgdGFpbCBzb3J0IHRyIHRlZSBjdXQgbm0gd2hpY2h9Ig0KKw0KK0tNT0RTPSIke0tNT0RT Oi0gZHVtbXl9Ig0KKw0KK05PREVTPSIke05PREVTOi1jb25zb2xlIGttc2cgbnVsbCBwdG14IHJh bmRvbSB1cmFuZG9tIHplcm99Ig0KKw0KK0xJTktTPSIke0xJTktTOi0NCisJIGFzaCxkYXNoLGJh c2gJCS9pbml0DQorCSBhc2gsZGFzaCxiYXNoCQkvYmluL3NofSINCisNCitESVJTPSIke0RJUlN9 IC90bXAgL3NiaW4iDQorDQorQ09QSUVTPSIke0NPUElFU30gLi4vcGFzc3QuYXZ4MiwvYmluL3Bh c3N0LmF2eDIiDQorDQorRklYVVA9IiR7RklYVVB9IicNCitsbiAtcyAvYmluIC91c3IvYmluDQor Y2htb2QgNzc3IC90bXANCitpcCBsaW5rIGFkZCBldGgwIHR5cGUgZHVtbXkNCitpcCBsaW5rIHNl dCBldGgwIHVwDQoraXAgYWRkcmVzcyBhZGQgMTkyLjAuMi4yLzI0IGRldiBldGgwDQoraXAgYWRk cmVzcyBhZGQgMjAwMTpkYjg6OjIvNjQgZGV2IGV0aDANCitpcCByb3V0ZSBhZGQgZGVmYXVsdCB2 aWEgMTkyLjAuMi4xDQoraXAgLTYgcm91dGUgYWRkIGRlZmF1bHQgdmlhIDIwMDE6ZGI4OjoxIGRl diBldGgwDQorc2xlZXAgMg0KK3NoICttDQorJw0KKw0KK09VVFBVVD0iS0VSTkVMPV9fS0VSTkVM X18NCitJTklUUkQ9X19JTklUUkRfXw0KKyINCmRpZmYgLS1naXQgYS9vbGR0ZXN0L3Bhc3N0L2Ro Y3AgYi9vbGR0ZXN0L3Bhc3N0L2RoY3ANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw MDAwMC4uNzI3Mjc1NTgNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFzc3QvZGhjcA0K QEAgLTAsMCArMSw3MCBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMg IGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEg U3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2 aWNlIG1vZGUNCisjDQorIyB0ZXN0L3Bhc3N0L2RoY3AgLSBDaGVjayBESENQIGFuZCBESENQdjYg ZnVuY3Rpb25hbGl0eSBpbiBwYXNzdCBtb2RlDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJl ZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29t Pg0KKw0KK2d0b29scwlpcCBqcSBkaGNsaWVudCBzZWQgdHINCitodG9vbHMJaXAganEgc2VkIHRy IGhlYWQNCisNCit0ZXN0CUludGVyZmFjZSBuYW1lDQorZ291dAlJRk5BTUUgaXAgLWogbGluayBz aG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUn DQoraG91dAlIT1NUX0lGTkFNRSBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnWy5bXSB8IHNl bGVjdCguZHN0ID09ICJkZWZhdWx0IikuZGV2XSB8IC5bMF0nDQoraG91dAlIT1NUX0lGTkFNRTYg aXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJ1suW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVs dCIpLmRldl0gfCAuWzBdJw0KK2NoZWNrCVsgLW4gIl9fSUZOQU1FX18iIF0NCisNCit0ZXN0CURI Q1A6IGFkZHJlc3MNCitndWVzdAkvc2Jpbi9kaGNsaWVudCAtNCBfX0lGTkFNRV9fDQorZ291dAlB RERSIGlwIC1qIC00IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJf X0lGTkFNRV9fIikuYWRkcl9pbmZvWzBdLmxvY2FsJw0KK2hvdXQJSE9TVF9BRERSIGlwIC1qIC00 IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0hPU1RfSUZOQU1F X18iKS5hZGRyX2luZm9bMF0ubG9jYWwnDQorY2hlY2sJWyAiX19BRERSX18iID0gIl9fSE9TVF9B RERSX18iIF0NCisNCit0ZXN0CURIQ1A6IHJvdXRlDQorZ291dAlHVyBpcCAtaiAtNCByb3V0ZSBz aG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2hv dXQJSE9TVF9HVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnWy5bXSB8IHNlbGVjdCguZHN0 ID09ICJkZWZhdWx0IikuZ2F0ZXdheV0gfCAuWzBdJw0KK2NoZWNrCVsgIl9fR1dfXyIgPSAiX19I T1NUX0dXX18iIF0NCisNCit0ZXN0CURIQ1A6IE1UVQ0KK2dvdXQJTVRVIGlwIC1qIGxpbmsgc2hv dyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FX18iKS5tdHUnDQor Y2hlY2sJWyBfX01UVV9fID0gNjU1MjAgXQ0KKw0KK3Rlc3QJREhDUDogRE5TDQorZ291dAlETlMg c2VkIC1uICdzL15uYW1lc2VydmVyIFwoWzAtOV0qXC5cKVwoLipcKS9cMVwyL3AnIC9ldGMvcmVz b2x2LmNvbmYgfCB0ciAnXG4nICcsJyB8IHNlZCAncy8sJC8vO3MvJC9cbi8nDQoraG91dAlIT1NU X0ROUyBzZWQgLW4gJ3MvXm5hbWVzZXJ2ZXIgXChbMC05XSpcLlwpXCguKlwpL1wxXDIvcCcgL2V0 Yy9yZXNvbHYuY29uZiB8IGhlYWQgLW4zIHwgdHIgJ1xuJyAnLCcgfCBzZWQgJ3MvLCQvLztzLyQv XG4vJw0KK2NoZWNrCVsgIl9fRE5TX18iID0gIl9fSE9TVF9ETlNfXyIgXSB8fCBbICJfX0ROU19f IiA9ICJfX0hPU1RfR1dfXyIgLWEgIl9fSE9TVF9ETlNfXyIgPSAiMTI3LjAuMC4xIiBdDQorDQor IyBGUUROcyBzaG91bGQgYmUgdGVybWluYXRlZCBieSBkb3RzLCBidXQgdGhlIGd1ZXN0IERIQ1Ag Y2xpZW50IG1pZ2h0IG9taXQgdGhlbToNCisjIHN0cmlwIHRoZW0gZmlyc3QNCit0ZXN0CURIQ1A6 IHNlYXJjaCBsaXN0DQorZ291dAlTRUFSQ0ggc2VkICdzL1wuIC8gL2cnIC9ldGMvcmVzb2x2LmNv bmYgfCBzZWQgJ3MvXC4kLy9nJyB8IHNlZCAtbiAncy9ec2VhcmNoIFwoLipcKS9cMS9wJyB8IHRy ICcgXG4nICcsJyB8IHNlZCAncy8sJC8vO3MvJC9cbi8nDQoraG91dAlIT1NUX1NFQVJDSCBzZWQg J3MvXC4gLyAvZycgL2V0Yy9yZXNvbHYuY29uZiB8IHNlZCAncy9cLiQvL2cnIHwgc2VkIC1uICdz L15zZWFyY2ggXCguKlwpL1wxL3AnIHwgdHIgJyBcbicgJywnIHwgc2VkICdzLywkLy87cy8kL1xu LycNCitjaGVjawlbICJfX1NFQVJDSF9fIiA9ICJfX0hPU1RfU0VBUkNIX18iIF0NCisNCit0ZXN0 CURIQ1B2NjogYWRkcmVzcw0KK2d1ZXN0CS9zYmluL2RoY2xpZW50IC02IF9fSUZOQU1FX18NCitn b3V0CUFERFI2IGlwIC1qIC02IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1l ID09ICJfX0lGTkFNRV9fIikuYWRkcl9pbmZvW10gfCBzZWxlY3QoLnByZWZpeGxlbiA9PSAxMjgp LmxvY2FsJw0KK2hvdXQJSE9TVF9BRERSNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcuW10g fCBzZWxlY3QoLmlmbmFtZSA9PSAiX19IT1NUX0lGTkFNRTZfXyIpLmFkZHJfaW5mb1tdIHwgc2Vs ZWN0KC5zY29wZSA9PSAiZ2xvYmFsIikubG9jYWwnDQorY2hlY2sJWyAiX19BRERSNl9fIiA9ICJf X0hPU1RfQUREUjZfXyIgXQ0KKw0KK3Rlc3QJREhDUHY2OiByb3V0ZQ0KK2dvdXQJR1c2IGlwIC1q IC02IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdh dGV3YXknDQoraG91dAlIT1NUX0dXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnWy5bXSB8 IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheV0gfCAuWzBdJw0KK2NoZWNrCVsgIl9f R1c2X18iID0gIl9fSE9TVF9HVzZfXyIgXQ0KKw0KKyMgU3RyaXAgaW50ZXJmYWNlIHNwZWNpZmll cjogaW50ZXJmYWNlIG5hbWVzIG1pZ2h0IGRpZmZlciBiZXR3ZWVuIGhvc3QgYW5kIGd1ZXN0DQor dGVzdAlESENQdjY6IEROUw0KK2dvdXQJRE5TNiBzZWQgLW4gJ3MvXm5hbWVzZXJ2ZXIgXChbXjpd KjpcKVwoW14lXSpcKS4qL1wxXDIvcCcgL2V0Yy9yZXNvbHYuY29uZiB8IHRyICdcbicgJywnIHwg c2VkICdzLywkLy87cy8kL1xuLycNCitob3V0CUhPU1RfRE5TNiBzZWQgLW4gJ3MvXm5hbWVzZXJ2 ZXIgXChbXjpdKjpcKVwoW14lXSpcKS4qL1wxXDIvcCcgL2V0Yy9yZXNvbHYuY29uZiB8IHRyICdc bicgJywnIHwgc2VkICdzLywkLy87cy8kL1xuLycNCitjaGVjawlbICJfX0ROUzZfXyIgPSAiX19I T1NUX0ROUzZfXyIgXSB8fCBbICJfX0ROUzZfXyIgPSAiX19IT1NUX0dXNl9fIiAtYSAiX19IT1NU X0ROUzZfXyIgPSAiOjoxIiBdDQorDQordGVzdAlESENQdjY6IHNlYXJjaCBsaXN0DQorZ291dAlT RUFSQ0g2IHNlZCAncy9cLiAvIC9nJyAvZXRjL3Jlc29sdi5jb25mIHwgc2VkICdzL1wuJC8vZycg fCBzZWQgLW4gJ3MvXnNlYXJjaCBcKC4qXCkvXDEvcCcgfCB0ciAnIFxuJyAnLCcgfCBzZWQgJ3Mv LCQvLztzLyQvXG4vJw0KK2hvdXQJSE9TVF9TRUFSQ0g2IHNlZCAncy9cLiAvIC9nJyAvZXRjL3Jl c29sdi5jb25mIHwgc2VkICdzL1wuJC8vZycgfCBzZWQgLW4gJ3MvXnNlYXJjaCBcKC4qXCkvXDEv cCcgfCB0ciAnIFxuJyAnLCcgfCBzZWQgJ3MvLCQvLztzLyQvXG4vJw0KK2NoZWNrCVsgIl9fU0VB UkNINl9fIiA9ICJfX0hPU1RfU0VBUkNINl9fIiBdDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXNz dC9uZHAgYi9vbGR0ZXN0L3Bhc3N0L25kcA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAwLi42ZGU0MDgxMw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9wYXNzdC9uZHAN CkBAIC0wLDAgKzEsMzMgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisj ICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBB IFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRl dmljZSBtb2RlDQorIw0KKyMgdGVzdC9wYXNzdC9uZHAgLSBDaGVjayBORFAgZnVuY3Rpb25hbGl0 eSBpbiBwYXNzdCBtb2RlDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0K KyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK2d0b29s cwlpcCBqcSBzaXBjYWxjIGdyZXANCitodG9vbHMJaXAganEgc2lwY2FsYyBncmVwIGN1dA0KKw0K K3Rlc3QJSW50ZXJmYWNlIG5hbWUNCitnb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAt ck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCitndWVzdAlp cCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyB1cCAmJiBzbGVlcCAyDQoraG91dAlIT1NUX0lGTkFN RTYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJ1suW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVm YXVsdCIpLmRldl0gfCAuWzBdJw0KK2NoZWNrCVsgLW4gIl9fSUZOQU1FX18iIF0NCisNCit0ZXN0 CVNMQUFDOiBwcmVmaXgNCitnb3V0CUFERFI2IGlwIC1qIC02IGFkZHIgc2hvd3xqcSAtck0gJy5b XSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFNRV9fIikuYWRkcl9pbmZvW10gfCBzZWxlY3Qo LnNjb3BlID09ICJnbG9iYWwiIGFuZCAucHJlZml4bGVuID09IDY0KS5sb2NhbCcNCitnb3V0CVBS RUZJWDYgc2lwY2FsYyBfX0FERFI2X18vNjQgfCBncmVwIHByZWZpeCB8IGN1dCAtZCcgJyAtZjQN Citob3V0CUhPU1RfQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0 KC5pZm5hbWUgPT0gIl9fSE9TVF9JRk5BTUU2X18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCguc2Nv cGUgPT0gImdsb2JhbCIpLmxvY2FsJw0KK2hvdXQJSE9TVF9QUkVGSVg2IHNpcGNhbGMgX19IT1NU X0FERFI2X18vNjQgfCBncmVwIHByZWZpeCB8IGN1dCAtZCcgJyAtZjQNCitjaGVjawlbICJfX1BS RUZJWDZfXyIgPSAiX19IT1NUX1BSRUZJWDZfXyIgXQ0KKw0KK3Rlc3QJU0xBQUM6IHJvdXRlDQor Z291dAlHVzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09 ICJkZWZhdWx0IikuZ2F0ZXdheScNCitob3V0CUhPU1RfR1c2IGlwIC1qIC02IHJvdXRlIHNob3d8 anEgLXJNICdbLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5XSB8IC5bMF0n DQorY2hlY2sJWyBfX0dXNl9fID0gX19IT1NUX0dXNl9fIF0NCmRpZmYgLS1naXQgYS9vbGR0ZXN0 L3Bhc3N0L3NodXRkb3duIGIvb2xkdGVzdC9wYXNzdC9zaHV0ZG93bg0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwLi4wMmM2YzEwNg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xk dGVzdC9wYXNzdC9zaHV0ZG93bg0KQEAgLTAsMCArMSwxOSBAQA0KKyMgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUg U29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQor Iw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3 b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L3Bhc3N0L3NodXRkb3du IC0gU2h1dCBkb3duIHBhc3N0IChvciBwYXN0YSkgYW5kIGNoZWNrIGV4aXQgY29kZSAod2lsbA0K KyMgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdCB2YWxncmluZCBlcnJvcnMgYW1vbmdzdCBv dGhlcnMpDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIyIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9y OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK3Rlc3QJc2h1dGRvd246 IGV4aXQgY29kZQ0KKw0KK2hvdXQJUEFTU1RfUElEIGNhdCBfX1NUQVRFU0VUVVBfXy9wYXNzdC5w aWQNCitob3N0CWtpbGwgX19QQVNTVF9QSURfXw0KK3Bhc3N0dw0KZGlmZiAtLWdpdCBhL29sZHRl c3QvcGFzc3QvdGNwIGIvb2xkdGVzdC9wYXNzdC90Y3ANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwMC4uOTFlNDllMDcNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFz c3QvdGNwDQpAQCAtMCwwICsxLDc2IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNw b3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAt IFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNl L3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGFzc3QvdGNwIC0gQ2hlY2sgVENQIGZ1bmN0 aW9uYWxpdHkgaW4gcGFzc3QgbW9kZQ0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0 IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisN CitndG9vbHMJc29jYXQgaXAganEgY21wDQoraHRvb2xzCXNvY2F0IGlwIGpxDQorDQorc2V0CVRF TVBfQklHIF9fU1RBVEVESVJfXy90ZXN0X2JpZy5iaW4NCitzZXQJVEVNUF9TTUFMTCBfX1NUQVRF RElSX18vdGVzdF9zbWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY0OiBob3N0IHRvIGd1ZXN0OiBi aWcgdHJhbnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDEscmV1c2VhZGRy IE9QRU46dGVzdF9iaWcuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitob3N0CXNvY2F0IC11 IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNDoxMjcuMC4wLjE6MTAwMDENCitndWVzdHcN CitndWVzdAljbXAgL3Jvb3QvYmlnLmJpbiB0ZXN0X2JpZy5iaW4NCisNCit0ZXN0CVRDUC9JUHY0 OiBndWVzdCB0byBob3N0OiBiaWcgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A0LUxJU1RF TjoxMDAwMyxiaW5kPTEyNy4wLjAuMSxyZXVzZWFkZHIgT1BFTjpfX1RFTVBfQklHX18sY3JlYXRl LHRydW5jDQorZ291dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0 KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2d1ZXN0CXNvY2F0IC11IE9QRU46L3Jvb3Qv YmlnLmJpbiBUQ1A0Ol9fR1dfXzoxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhf Xy9iaWcuYmluIF9fVEVNUF9CSUdfXw0KKw0KK3Rlc3QJVENQL0lQdjQ6IGhvc3QgdG8gZ3Vlc3Q6 IHNtYWxsIHRyYW5zZmVyDQorZ3Vlc3RiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEwMDAxLHJldXNl YWRkciBPUEVOOnRlc3Rfc21hbGwuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitob3N0CXNv Y2F0IC11IE9QRU46X19CQVNFUEFUSF9fL3NtYWxsLmJpbiBUQ1A0OjEyNy4wLjAuMToxMDAwMQ0K K2d1ZXN0dw0KK2d1ZXN0CWNtcCAvcm9vdC9zbWFsbC5iaW4gdGVzdF9zbWFsbC5iaW4NCisNCit0 ZXN0CVRDUC9JUHY0OiBndWVzdCB0byBob3N0OiBzbWFsbCB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0 IC11IFRDUDQtTElTVEVOOjEwMDAzLGJpbmQ9MTI3LjAuMC4xLHJldXNlYWRkciBPUEVOOl9fVEVN UF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitndWVzdAlzb2NhdCAtdSBPUEVOOi9y b290L3NtYWxsLmJpbiBUQ1A0Ol9fR1dfXzoxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fQkFT RVBBVEhfXy9zbWFsbC5iaW4gX19URU1QX1NNQUxMX18NCisNCisNCit0ZXN0CVRDUC9JUHY2OiBo b3N0IHRvIGd1ZXN0OiBiaWcgdHJhbnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQNi1MSVNURU46 MTAwMDEscmV1c2VhZGRyIE9QRU46dGVzdF9iaWcuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTEN Citob3N0CXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNjpbOjoxXToxMDAw MQ0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCAvcm9vdC9iaWcuYmluIHRlc3RfYmlnLmJpbg0KKw0KK3Rl c3QJVENQL0lQdjY6IGd1ZXN0IHRvIGhvc3Q6IGJpZyB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0IC11 IFRDUDYtTElTVEVOOjEwMDAzLGJpbmQ9Wzo6MV0scmV1c2VhZGRyIE9QRU46X19URU1QX0JJR19f LGNyZWF0ZSx0cnVuYw0KK2dvdXQJR1c2IGlwIC1qIC02IHJvdXRlIHNob3d8anEgLXJNICcuW10g fCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorZ291dAlJRk5BTUUgaXAgLWog bGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5p Zm5hbWUnDQorZ3Vlc3QJc29jYXQgLXUgT1BFTjovcm9vdC9iaWcuYmluIFRDUDY6W19fR1c2X18l X19JRk5BTUVfX106MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18vYmlnLmJp biBfX1RFTVBfQklHX18NCisNCit0ZXN0CVRDUC9JUHY2OiBob3N0IHRvIGd1ZXN0OiBzbWFsbCB0 cmFuc2Zlcg0KK2d1ZXN0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMSxyZXVzZWFkZHIgT1BF Tjp0ZXN0X3NtYWxsLmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2NhdCAtdSBP UEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNjpbOjoxXToxMDAwMQ0KK2d1ZXN0dw0KK2d1 ZXN0CWNtcCAvcm9vdC9zbWFsbC5iaW4gdGVzdF9zbWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY2 OiBndWVzdCB0byBob3N0OiBzbWFsbCB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0IC11IFRDUDYtTElT VEVOOjEwMDAzLGJpbmQ9Wzo6MV0scmV1c2VhZGRyIE9QRU46X19URU1QX1NNQUxMX18sY3JlYXRl LHRydW5jDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11IE9QRU46L3Jvb3Qvc21hbGwuYmluIFRD UDY6W19fR1c2X18lX19JRk5BTUVfX106MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBfX0JBU0VQ QVRIX18vc21hbGwuYmluIF9fVEVNUF9TTUFMTF9fDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXNz dC91ZHAgYi9vbGR0ZXN0L3Bhc3N0L3VkcA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAwLi44MGQwZmEzNg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9wYXNzdC91ZHAN CkBAIC0wLDAgKzEsNDYgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisj ICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBB IFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRl dmljZSBtb2RlDQorIw0KKyMgdGVzdC9wYXNzdC91ZHAgLSBDaGVjayBVRFAgZnVuY3Rpb25hbGl0 eSBpbiBwYXNzdCBtb2RlDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0K KyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK2d0b29s cwlzb2NhdCBpcCBqcSBjbXANCitodG9vbHMJc29jYXQganENCisNCitzZXQJVEVNUCBfX1NUQVRF RElSX18vdGVzdC5iaW4NCisNCit0ZXN0CVVEUC9JUHY0OiBob3N0IHRvIGd1ZXN0DQorZ3Vlc3Ri CXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAxLG51bGwtZW9mIE9QRU46dGVzdC5iaW4sY3JlYXRl LHRydW5jDQorc2xlZXAJMQ0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVt LmJpbiBVRFA0OjEyNy4wLjAuMToxMDAwMSxzaHV0LW51bGwNCitndWVzdHcNCitndWVzdAljbXAg L3Jvb3QvbWVkaXVtLmJpbiB0ZXN0LmJpbg0KKw0KK3Rlc3QJVURQL0lQdjQ6IGd1ZXN0IHRvIGhv c3QNCitob3N0Yglzb2NhdCAtdSBVRFA0LUxJU1RFTjoxMDAwMyxiaW5kPTEyNy4wLjAuMSxudWxs LWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVuYw0KK2dvdXQJR1cgaXAgLWogLTQgcm91dGUg c2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitn dWVzdAlzb2NhdCAtdSBPUEVOOi9yb290L21lZGl1bS5iaW4gVURQNDpfX0dXX186MTAwMDMsc2h1 dC1udWxsDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL21lZGl1bS5iaW4gX19URU1Q X18NCisNCit0ZXN0CVVEUC9JUHY2OiBob3N0IHRvIGd1ZXN0DQorZ3Vlc3RiCXNvY2F0IC11IFVE UDYtTElTVEVOOjEwMDAxLG51bGwtZW9mIE9QRU46dGVzdC5iaW4sY3JlYXRlLHRydW5jDQorc2xl ZXAJMQ0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2Ols6 OjFdOjEwMDAxLHNodXQtbnVsbA0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCAvcm9vdC9tZWRpdW0uYmlu IHRlc3QuYmluDQorDQordGVzdAlVRFAvSVB2NjogZ3Vlc3QgdG8gaG9zdA0KK2hvc3RiCXNvY2F0 IC11IFVEUDYtTElTVEVOOjEwMDAzLGJpbmQ9Wzo6MV0sbnVsbC1lb2YgT1BFTjpfX1RFTVBfXyxj cmVhdGUsdHJ1bmMNCitnb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwg c2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2dvdXQJSUZOQU1FIGlwIC1qIGxp bmsgc2hvdyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZu YW1lJw0KK2d1ZXN0CXNvY2F0IC11IE9QRU46L3Jvb3QvbWVkaXVtLmJpbiBVRFA2OltfX0dXNl9f JV9fSUZOQU1FX19dOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fQkFTRVBB VEhfXy9tZWRpdW0uYmluIF9fVEVNUF9fDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXNzdF9pbl9u cy9pY21wIGIvb2xkdGVzdC9wYXNzdF9pbl9ucy9pY21wDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMDAuLmEyNjk3ZGIwDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bh c3N0X2luX25zL2ljbXANCkBAIC0wLDAgKzEsMzIgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tl dCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisj IFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBu YW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9wYXNzdF9pbl9ucy9pY21wIC0g Q2hlY2sgSUNNUC9JQ01QdjYgZnVuY3Rpb25hbGl0eSBmb3IgcGFzc3QgaW4gbnMNCisjDQorIyBD b3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlv IDxzYnJpdmlvQHJlZGhhdC5jb20+DQorIw0KKyMgVGhlc2UgdGVzdHMgY2FuIHdvcmsgcmVsaWFi bHkgb25seSB3aXRoaW4gYW4gaXNvbGF0ZWQgbmFtZXNwYWNlOiB0aGUgaG9zdA0KKyMgbWlnaHQg aGF2ZSBhIG5ldC5pcHY0LnBpbmdfZ3JvdXBfcmFuZ2Ugc3lzY3RsIHZhbHVlIG5vdCBhbGxvd2lu ZyBwYXN0YSdzIGdpZA0KKyMgdG8gY3JlYXRlICJwaW5nIiBzb2NrZXRzLiBJbnNpZGUgdGhlIG5h bWVzcGFjZSwgdGhlcmUncyBhIHNpbmdsZSBncm91cCwgd2hpY2gNCisjIGlzIGFsbG93ZWQgYnkg ZGVmYXVsdCB0byBjcmVhdGUgdGhlbS4NCisNCituc3Rvb2xzCWlwIGpxIHNsZWVwDQorZ3Rvb2xz CXBpbmcgaXAganENCisNCit0ZXN0CUlDTVAgZWNobzogZ3Vlc3QgdG8gbnMNCituc291dAlJRk5B TUVfTlMgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9 PSAiZXRoZXIiKS5pZm5hbWUnDQorbnMJaXAgYWRkciBhZGQgMTkyLjAuMi4xLzMyIGRldiBfX0lG TkFNRV9OU19fDQorZ3Vlc3QJcGluZyAtYzEgLXcxIDE5Mi4wLjIuMQ0KK25zCWlwIGFkZHIgZGVs IDE5Mi4wLjIuMS8zMiBkZXYgX19JRk5BTUVfTlNfXw0KKw0KK3Rlc3QJSUNNUHY2IGVjaG86IGd1 ZXN0IHRvIG5zDQorbnMJaXAgYWRkciBhZGQgMjAwMTpkYjg6OjEgZGV2IF9fSUZOQU1FX05TX18g JiYgc2xlZXAgMiAjIERBRA0KK2dvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1yTSAn LltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KK2d1ZXN0CXBpbmcg LWMxIC13MSAyMDAxOmRiODo6MQ0KK25zCWlwIGFkZHIgZGVsIDIwMDE6ZGI4OjoxIGRldiBfX0lG TkFNRV9OU19fDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXNzdF9pbl9ucy9zaHV0ZG93biBiL29s ZHRlc3QvcGFzc3RfaW5fbnMvc2h1dGRvd24NCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwMC4uY2Q2Y2IxOTANCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFzc3RfaW5f bnMvc2h1dGRvd24NCkBAIC0wLDAgKzEsMTkgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBU cmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBB U1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1l c3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9wYXNzdF9pbl9ucy9zaHV0ZG93biAt IFNodXQgZG93biBwYXNzdCBhbmQgY2hlY2sgZXhpdCBjb2RlICh3aWxsIGRldGVjdA0KKyMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGdyaW5kIGVycm9ycyBhbW9uZ3N0IG90aGVycykN CisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjIgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZh bm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQordGVzdAlzaHV0ZG93bjogZXhpdCBj b2RlDQorDQorbnNvdXQJUEFTU1RfUElEIGNhdCBfX1NUQVRFU0VUVVBfXy9wYXNzdC5waWQNCitu cwlraWxsIF9fUEFTU1RfUElEX18NCitwYXNzdHcNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L3Bhc3N0 X2luX25zL3RjcCBiL29sZHRlc3QvcGFzc3RfaW5fbnMvdGNwDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMDAuLmNkYjcwNjBjDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0 L3Bhc3N0X2luX25zL3RjcA0KQEAgLTAsMCArMSwyNTYgQEANCisjIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNv Y2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMN CisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29y ayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9wYXNzdF9pbl9ucy90Y3Ag LSBDaGVjayBUQ1AgZnVuY3Rpb25hbGl0eSBmb3IgcGFzc3QgaW4gbnMgd2l0aCBwYXN0YQ0KKyMN CisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBC cml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitndG9vbHMJc29jYXQgaXAganENCitodG9v bHMJc29jYXQgaXAganENCituc3Rvb2xzCXNvY2F0IGlwIGpxDQorDQorc2V0CVRFTVBfQklHIF9f U1RBVEVESVJfXy90ZXN0X2JpZy5iaW4NCitzZXQJVEVNUF9TTUFMTCBfX1NUQVRFRElSX18vdGVz dF9zbWFsbC5iaW4NCitzZXQJVEVNUF9OU19CSUcgX19TVEFURURJUl9fL3Rlc3RfbnNfYmlnLmJp bg0KK3NldAlURU1QX05TX1NNQUxMIF9fU1RBVEVESVJfXy90ZXN0X25zX3NtYWxsLmJpbg0KKw0K K3Rlc3QJVENQL0lQdjQ6IGhvc3QgdG8gZ3Vlc3Q6IGJpZyB0cmFuc2Zlcg0KK2d1ZXN0Yglzb2Nh dCAtdSBUQ1A0LUxJU1RFTjoxMDAwMSBPUEVOOnRlc3RfYmlnLmJpbixjcmVhdGUsdHJ1bmMNCitz bGVlcAkxDQoraG9zdAlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9iaWcuYmluIFRDUDQ6MTI3 LjAuMC4xOjEwMDAxDQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3RfYmlnLmJpbiAvcm9vdC9iaWcu YmluDQorDQordGVzdAlUQ1AvSVB2NDogaG9zdCB0byBuczogYmlnIHRyYW5zZmVyDQorbnNiCXNv Y2F0IC11IFRDUDQtTElTVEVOOjEwMDAyIE9QRU46X19URU1QX05TX0JJR19fLGNyZWF0ZSx0cnVu Yw0KK3NsZWVwCTENCitob3N0CXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQ NDoxMjcuMC4wLjE6MTAwMDINCituc3cNCitjaGVjawljbXAgX19URU1QX05TX0JJR19fIF9fQkFT RVBBVEhfXy9iaWcuYmluDQorDQordGVzdAlUQ1AvSVB2NDogZ3Vlc3QgdG8gaG9zdDogYmlnIHRy YW5zZmVyDQoraG9zdGIJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDMgT1BFTjpfX1RFTVBfQklH X18sY3JlYXRlLHRydW5jDQorZ291dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnLltd IHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK3NsZWVwCTENCitndWVzdAlz b2NhdCAtdSBPUEVOOi9yb290L2JpZy5iaW4gVENQNDpfX0dXX186MTAwMDMNCitob3N0dw0KK2No ZWNrCWNtcCBfX1RFTVBfQklHX18gX19CQVNFUEFUSF9fL2JpZy5iaW4NCisNCit0ZXN0CVRDUC9J UHY0OiBndWVzdCB0byBuczogYmlnIHRyYW5zZmVyDQorbnNiCXNvY2F0IC11IFRDUDQtTElTVEVO OjEwMDAyIE9QRU46X19URU1QX05TX0JJR19fLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitndWVz dAlzb2NhdCAtdSBPUEVOOi9yb290L2JpZy5iaW4gVENQNDpfX0dXX186MTAwMDINCituc3cNCitj aGVjawljbXAgX19URU1QX05TX0JJR19fIF9fQkFTRVBBVEhfXy9iaWcuYmluDQorDQordGVzdAlU Q1AvSVB2NDogbnMgdG8gaG9zdCAoc3BsaWNlZCk6IGJpZyB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0 IC11IFRDUDQtTElTVEVOOjEwMDAzIE9QRU46X19URU1QX0JJR19fLGNyZWF0ZSx0cnVuYw0KK3Ns ZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9iaWcuYmluIFRDUDQ6MTI3LjAu MC4xOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19URU1QX0JJR19fIF9fQkFTRVBBVEhfXy9i aWcuYmluDQorDQordGVzdAlUQ1AvSVB2NDogbnMgdG8gaG9zdCAodmlhIHRhcCk6IGJpZyB0cmFu c2Zlcg0KK2hvc3RiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEwMDAzIE9QRU46X19URU1QX0JJR19f LGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9i aWcuYmluIFRDUDQ6X19HV19fOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19URU1QX0JJR19f IF9fQkFTRVBBVEhfXy9iaWcuYmluDQorDQordGVzdAlUQ1AvSVB2NDogbnMgdG8gZ3Vlc3QgKHVz aW5nIGxvb3BiYWNrIGFkZHJlc3MpOiBiaWcgdHJhbnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQ NC1MSVNURU46MTAwMDEgT1BFTjp0ZXN0X2JpZy5iaW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0K K25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNDoxMjcuMC4wLjE6MTAw MDENCitndWVzdHcNCitndWVzdAljbXAgdGVzdF9iaWcuYmluIC9yb290L2JpZy5iaW4NCisNCit0 ZXN0CVRDUC9JUHY0OiBucyB0byBndWVzdCAodXNpbmcgbmFtZXNwYWNlIGFkZHJlc3MpOiBiaWcg dHJhbnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDEgT1BFTjp0ZXN0X2Jp Zy5iaW4sY3JlYXRlLHRydW5jDQorbnNvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1y TSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KK25zb3V0CUFE RFIgaXAgLWogLTQgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9f SUZOQU1FX18iKS5hZGRyX2luZm9bMF0ubG9jYWwnDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9Q RU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNDpfX0FERFJfXzoxMDAwMQ0KK2d1ZXN0dw0KK2d1 ZXN0CWNtcCB0ZXN0X2JpZy5iaW4gL3Jvb3QvYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjQ6IGhv c3QgdG8gZ3Vlc3Q6IHNtYWxsIHRyYW5zZmVyDQorZ3Vlc3RiCXNvY2F0IC11IFRDUDQtTElTVEVO OjEwMDAxIE9QRU46dGVzdF9zbWFsbC5iaW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2hvc3QJ c29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRDUDQ6MTI3LjAuMC4xOjEwMDAx DQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3Rfc21hbGwuYmluIC9yb290L3NtYWxsLmJpbg0KKw0K K3Rlc3QJVENQL0lQdjQ6IGhvc3QgdG8gbnM6IHNtYWxsIHRyYW5zZmVyDQorbnNiCXNvY2F0IC11 IFRDUDQtTElTVEVOOjEwMDAyIE9QRU46X19URU1QX05TX1NNQUxMX18sY3JlYXRlLHRydW5jDQor c2xlZXAJMQ0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRDUDQ6 MTI3LjAuMC4xOjEwMDAyDQorbnN3DQorY2hlY2sJY21wIF9fVEVNUF9OU19TTUFMTF9fIF9fQkFT RVBBVEhfXy9zbWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY0OiBndWVzdCB0byBob3N0OiBzbWFs bCB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEwMDAzIE9QRU46X19URU1Q X1NNQUxMX18sY3JlYXRlLHRydW5jDQorZ291dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1y TSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK3NsZWVwCTENCitn dWVzdAlzb2NhdCAtdSBPUEVOOi9yb290L3NtYWxsLmJpbiBUQ1A0Ol9fR1dfXzoxMDAwMw0KK2hv c3R3DQorY2hlY2sJY21wIF9fVEVNUF9TTUFMTF9fIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4NCisN Cit0ZXN0CVRDUC9JUHY0OiBndWVzdCB0byBuczogc21hbGwgdHJhbnNmZXINCituc2IJc29jYXQg LXUgVENQNC1MSVNURU46MTAwMDIgT1BFTjpfX1RFTVBfTlNfU01BTExfXyxjcmVhdGUsdHJ1bmMN CitzbGVlcAkxDQorZ3Vlc3QJc29jYXQgLXUgT1BFTjovcm9vdC9zbWFsbC5iaW4gVENQNDpfX0dX X186MTAwMDINCituc3cNCitjaGVjawljbXAgX19URU1QX05TX1NNQUxMX18gX19CQVNFUEFUSF9f L3NtYWxsLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjQ6IG5zIHRvIGhvc3QgKHNwbGljZWQpOiBzbWFs bCB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEwMDAzIE9QRU46X19URU1Q X1NNQUxMX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNF UEFUSF9fL3NtYWxsLmJpbiBUQ1A0OjEyNy4wLjAuMToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21w IF9fVEVNUF9TTUFMTF9fIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY0 OiBucyB0byBob3N0ICh2aWEgdGFwKTogc21hbGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBU Q1A0LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK3NsZWVw CTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNDpfX0dXX186 MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBfX1RFTVBfU01BTExfXyBfX0JBU0VQQVRIX18vc21h bGwuYmluDQorDQordGVzdAlUQ1AvSVB2NDogbnMgdG8gZ3Vlc3QgKHVzaW5nIGxvb3BiYWNrIGFk ZHJlc3MpOiBzbWFsbCB0cmFuc2Zlcg0KK2d1ZXN0Yglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAw MSBPUEVOOnRlc3Rfc21hbGwuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitucwlzb2NhdCAt dSBPUEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNDoxMjcuMC4wLjE6MTAwMDENCitndWVz dHcNCitndWVzdAljbXAgdGVzdF9zbWFsbC5iaW4gL3Jvb3Qvc21hbGwuYmluDQorDQordGVzdAlU Q1AvSVB2NDogbnMgdG8gZ3Vlc3QgKHVzaW5nIG5hbWVzcGFjZSBhZGRyZXNzKTogc21hbGwgdHJh bnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDEgT1BFTjp0ZXN0X3NtYWxs LmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRI X18vc21hbGwuYmluIFRDUDQ6X19BRERSX186MTAwMDENCitndWVzdHcNCitndWVzdAljbXAgdGVz dF9zbWFsbC5iaW4gL3Jvb3Qvc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NjogaG9zdCB0byBn dWVzdDogYmlnIHRyYW5zZmVyDQorZ3Vlc3RiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAxIE9Q RU46dGVzdF9iaWcuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitob3N0CXNvY2F0IC11IE9Q RU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNjpbOjoxXToxMDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0 CWNtcCB0ZXN0X2JpZy5iaW4gL3Jvb3QvYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjY6IGhvc3Qg dG8gbnM6IGJpZyB0cmFuc2Zlcg0KK25zYglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMiBPUEVO Ol9fVEVNUF9OU19CSUdfXyxjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2NhdCAtdSBP UEVOOl9fQkFTRVBBVEhfXy9iaWcuYmluIFRDUDY6Wzo6MV06MTAwMDINCituc3cNCitjaGVjawlj bXAgX19URU1QX05TX0JJR19fIF9fQkFTRVBBVEhfXy9iaWcuYmluDQorDQordGVzdAlUQ1AvSVB2 NjogZ3Vlc3QgdG8gaG9zdDogYmlnIHRyYW5zZmVyDQoraG9zdGIJc29jYXQgLXUgVENQNi1MSVNU RU46MTAwMDMgT1BFTjpfX1RFTVBfQklHX18sY3JlYXRlLHRydW5jDQorZ291dAlHVzYgaXAgLWog LTYgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0 ZXdheScNCitnb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVj dCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCitzbGVlcAkxDQorZ3Vlc3QJc29jYXQg LXUgT1BFTjovcm9vdC9iaWcuYmluIFRDUDY6W19fR1c2X18lX19JRk5BTUVfX106MTAwMDMNCito b3N0dw0KK2NoZWNrCWNtcCBfX1RFTVBfQklHX18gX19CQVNFUEFUSF9fL2JpZy5iaW4NCisNCit0 ZXN0CVRDUC9JUHY2OiBndWVzdCB0byBuczogYmlnIHRyYW5zZmVyDQorbnNiCXNvY2F0IC11IFRD UDYtTElTVEVOOjEwMDAyIE9QRU46X19URU1QX05TX0JJR19fLGNyZWF0ZSx0cnVuYw0KK3NsZWVw CTENCitndWVzdAlzb2NhdCAtdSBPUEVOOi9yb290L2JpZy5iaW4gVENQNjpbX19HVzZfXyVfX0lG TkFNRV9fXToxMDAwMg0KK25zdw0KK2NoZWNrCWNtcCBfX1RFTVBfTlNfQklHX18gX19CQVNFUEFU SF9fL2JpZy5iaW4NCisNCit0ZXN0CVRDUC9JUHY2OiBucyB0byBob3N0IChzcGxpY2VkKTogYmln IHRyYW5zZmVyDQoraG9zdGIJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDMgT1BFTjpfX1RFTVBf QklHX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFU SF9fL2JpZy5iaW4gVENQNjpbOjoxXToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9C SUdfXyBfX0JBU0VQQVRIX18vYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjY6IG5zIHRvIGhvc3Qg KHZpYSB0YXApOiBiaWcgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAw MyBPUEVOOl9fVEVNUF9CSUdfXyxjcmVhdGUsdHJ1bmMNCituc291dAlJRk5BTUUgaXAgLWogbGlu ayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5h bWUnDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQ NjpbX19HVzZfXyVfX0lGTkFNRV9fXToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9C SUdfXyBfX0JBU0VQQVRIX18vYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjY6IG5zIHRvIGd1ZXN0 ICh1c2luZyBsb29wYmFjayBhZGRyZXNzKTogYmlnIHRyYW5zZmVyDQorZ3Vlc3RiCXNvY2F0IC11 IFRDUDYtTElTVEVOOjEwMDAxIE9QRU46dGVzdF9iaWcuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVw CTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9iaWcuYmluIFRDUDY6Wzo6MV06MTAw MDENCitndWVzdHcNCitndWVzdAljbXAgdGVzdF9iaWcuYmluIC9yb290L2JpZy5iaW4NCisNCit0 ZXN0CVRDUC9JUHY2OiBucyB0byBndWVzdCAodXNpbmcgbmFtZXNwYWNlIGFkZHJlc3MpOiBiaWcg dHJhbnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDEgT1BFTjp0ZXN0X2Jp Zy5iaW4sY3JlYXRlLHRydW5jDQorbnNvdXQJQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1y TSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FX18iKS5hZGRyX2luZm9bMF0ubG9j YWwnDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQ NjpbX19BRERSNl9fXToxMDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCB0ZXN0X2JpZy5iaW4gL3Jv b3QvYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjY6IGhvc3QgdG8gZ3Vlc3Q6IHNtYWxsIHRyYW5z ZmVyDQorZ3Vlc3RiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAxIE9QRU46dGVzdF9zbWFsbC5i aW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRI X18vc21hbGwuYmluIFRDUDY6Wzo6MV06MTAwMDENCitndWVzdHcNCitndWVzdAljbXAgdGVzdF9z bWFsbC5iaW4gL3Jvb3Qvc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NjogaG9zdCB0byBuczog c21hbGwgdHJhbnNmZXINCituc2IJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDIgT1BFTjpfX1RF TVBfTlNfU01BTExfXyxjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2NhdCAtdSBPUEVO Ol9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNjpbOjoxXToxMDAwMg0KK25zdw0KK2NoZWNrCWNt cCBfX1RFTVBfTlNfU01BTExfXyBfX0JBU0VQQVRIX18vc21hbGwuYmluDQorDQordGVzdAlUQ1Av SVB2NjogZ3Vlc3QgdG8gaG9zdDogc21hbGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2 LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK2dvdXQJR1c2 IGlwIC1qIC02IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVs dCIpLmdhdGV3YXknDQorZ291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10g fCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorc2xlZXAJMQ0KK2d1ZXN0 CXNvY2F0IC11IE9QRU46L3Jvb3Qvc21hbGwuYmluIFRDUDY6W19fR1c2X18lX19JRk5BTUVfX106 MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBfX1RFTVBfU01BTExfXyBfX0JBU0VQQVRIX18vc21h bGwuYmluDQorDQordGVzdAlUQ1AvSVB2NjogZ3Vlc3QgdG8gbnM6IHNtYWxsIHRyYW5zZmVyDQor bnNiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAyIE9QRU46X19URU1QX05TX1NNQUxMX18NCitz bGVlcAkxDQorZ3Vlc3QJc29jYXQgLXUgT1BFTjovcm9vdC9zbWFsbC5iaW4gVENQNjpbX19HVzZf XyVfX0lGTkFNRV9fXToxMDAwMg0KK25zdw0KK2NoZWNrCWNtcCBfX1RFTVBfTlNfU01BTExfXyBf X0JBU0VQQVRIX18vc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NjogbnMgdG8gaG9zdCAoc3Bs aWNlZCk6IHNtYWxsIHRyYW5zZmVyDQoraG9zdGIJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDMg T1BFTjpfX1RFTVBfU01BTExfXyxjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQorbnMJc29jYXQgLXUg T1BFTjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRDUDY6Wzo6MV06MTAwMDMNCitob3N0dw0KK2No ZWNrCWNtcCBfX1RFTVBfU01BTExfXyBfX0JBU0VQQVRIX18vc21hbGwuYmluDQorDQordGVzdAlU Q1AvSVB2NjogbnMgdG8gaG9zdCAodmlhIHRhcCk6IHNtYWxsIHRyYW5zZmVyDQoraG9zdGIJc29j YXQgLXUgVENQNi1MSVNURU46MTAwMDMgT1BFTjpfX1RFTVBfU01BTExfXyxjcmVhdGUsdHJ1bmMN Cituc291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxp bmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46 X19CQVNFUEFUSF9fL3NtYWxsLmJpbiBUQ1A2OltfX0dXNl9fJV9fSUZOQU1FX19dOjEwMDAzDQor aG9zdHcNCitjaGVjawljbXAgX19URU1QX1NNQUxMX18gX19CQVNFUEFUSF9fL3NtYWxsLmJpbg0K Kw0KK3Rlc3QJVENQL0lQdjY6IG5zIHRvIGd1ZXN0ICh1c2luZyBsb29wYmFjayBhZGRyZXNzKTog c21hbGwgdHJhbnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDEgT1BFTjp0 ZXN0X3NtYWxsLmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpf X0JBU0VQQVRIX18vc21hbGwuYmluIFRDUDY6Wzo6MV06MTAwMDENCitndWVzdHcNCitndWVzdAlj bXAgdGVzdF9zbWFsbC5iaW4gL3Jvb3Qvc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NjogbnMg dG8gZ3Vlc3QgKHVzaW5nIG5hbWVzcGFjZSBhZGRyZXNzKTogc21hbGwgdHJhbnNmZXINCitndWVz dGIJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDEgT1BFTjp0ZXN0X3NtYWxsLmJpbixjcmVhdGUs dHJ1bmMNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vc21hbGwuYmlu IFRDUDY6W19fQUREUjZfX106MTAwMDENCitndWVzdHcNCitndWVzdAljbXAgdGVzdF9zbWFsbC5i aW4gL3Jvb3Qvc21hbGwuYmluDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXNzdF9pbl9ucy91ZHAg Yi9vbGR0ZXN0L3Bhc3N0X2luX25zL3VkcA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAwLi44YTAyNTEzMQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9wYXNzdF9pbl9u cy91ZHANCkBAIC0wLDAgKzEsMTM4IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNw b3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAt IFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNl L3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGFzc3RfaW5fbnMvdWRwIC0gQ2hlY2sgVURQ IGZ1bmN0aW9uYWxpdHkgZm9yIHBhc3N0IGluIG5zIGFuZCBwYXN0YQ0KKyMNCisjIENvcHlyaWdo dCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2 aW9AcmVkaGF0LmNvbT4NCisNCitndG9vbHMJc29jYXQgaXAganENCituc3Rvb2xzCXNvY2F0IGlw IGpxDQoraHRvb2xzCXNvY2F0IGlwIGpxDQorDQorc2V0CVRFTVAgX19TVEFURURJUl9fL3Rlc3Qu YmluDQorc2V0CVRFTVBfTlMgX19TVEFURURJUl9fL3Rlc3RfbnMuYmluDQorDQordGVzdAlVRFAv SVB2NDogaG9zdCB0byBndWVzdA0KK2d1ZXN0Yglzb2NhdCAtdSBVRFA0LUxJU1RFTjoxMDAwMSxu dWxsLWVvZiBPUEVOOnRlc3QuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitob3N0CXNvY2F0 IC11IE9QRU46X19CQVNFUEFUSF9fL21lZGl1bS5iaW4gVURQNDoxMjcuMC4wLjE6MTAwMDEsc2h1 dC1udWxsDQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3QuYmluIC9yb290L21lZGl1bS5iaW4NCisN Cit0ZXN0CVVEUC9JUHY0OiBob3N0IHRvIG5zDQorbnNiCXNvY2F0IC11IFVEUDQtTElTVEVOOjEw MDAyLG51bGwtZW9mIE9QRU46X19URU1QX05TX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2hv c3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA0OjEyNy4wLjAuMTox MDAwMixzaHV0LW51bGwNCituc3cNCitjaGVjawljbXAgX19URU1QX05TX18gX19CQVNFUEFUSF9f L21lZGl1bS5iaW4NCisNCit0ZXN0CVVEUC9JUHY0OiBndWVzdCB0byBob3N0DQoraG9zdGIJc29j YXQgLXUgVURQNC1MSVNURU46MTAwMDMsbnVsbC1lb2YgT1BFTjpfX1RFTVBfXyxjcmVhdGUsdHJ1 bmMNCitnb3V0CUdXIGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRz dCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11IE9QRU46 L3Jvb3QvbWVkaXVtLmJpbiBVRFA0Ol9fR1dfXzoxMDAwMyxzaHV0LW51bGwNCitob3N0dw0KK2No ZWNrCWNtcCBfX1RFTVBfXyBfX0JBU0VQQVRIX18vbWVkaXVtLmJpbg0KKw0KK3Rlc3QJVURQL0lQ djQ6IGd1ZXN0IHRvIG5zDQorbnNiCXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAyLG51bGwtZW9m IE9QRU46X19URU1QX05TX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11 IE9QRU46L3Jvb3QvbWVkaXVtLmJpbiBVRFA0Ol9fR1dfXzoxMDAwMixzaHV0LW51bGwNCituc3cN CitjaGVjawljbXAgX19URU1QX05TX18gX19CQVNFUEFUSF9fL21lZGl1bS5iaW4NCisNCit0ZXN0 CVVEUC9JUHY0OiBucyB0byBob3N0IChyZWN2bW1zZy9zZW5kbW1zZykNCitob3N0Yglzb2NhdCAt dSBVRFA0LUxJU1RFTjoxMDAwMyxudWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVuYw0K K3NsZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDQ6 MTI3LjAuMC4xOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9fIF9f QkFTRVBBVEhfXy9tZWRpdW0uYmluDQorDQordGVzdAlVRFAvSVB2NDogbnMgdG8gaG9zdCAodmlh IHRhcCkNCitob3N0Yglzb2NhdCAtdSBVRFA0LUxJU1RFTjoxMDAwMyxudWxsLWVvZiBPUEVOOl9f VEVNUF9fLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBB VEhfXy9tZWRpdW0uYmluIFVEUDQ6X19HV19fOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hl Y2sJY21wIF9fVEVNUF9fIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluDQorDQordGVzdAlVRFAvSVB2 NDogbnMgdG8gZ3Vlc3QgKHVzaW5nIGxvb3BiYWNrIGFkZHJlc3MpDQorZ3Vlc3RiCXNvY2F0IC11 IFVEUDQtTElTVEVOOjEwMDAxLG51bGwtZW9mIE9QRU46dGVzdC5iaW4sY3JlYXRlLHRydW5jDQor c2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL21lZGl1bS5iaW4gVURQNDox MjcuMC4wLjE6MTAwMDEsc2h1dC1udWxsDQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3QuYmluIC9y b290L21lZGl1bS5iaW4NCisNCit0ZXN0CVVEUC9JUHY0OiBucyB0byBndWVzdCAodXNpbmcgbmFt ZXNwYWNlIGFkZHJlc3MpDQorZ3Vlc3RiCXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAxLG51bGwt ZW9mIE9QRU46dGVzdC5iaW4sY3JlYXRlLHRydW5jDQorbnNvdXQJSUZOQU1FIGlwIC1qIGxpbmsg c2hvdyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1l Jw0KK25zb3V0CUFERFIgaXAgLWogLTQgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5p Zm5hbWUgPT0gIl9fSUZOQU1FX18iKS5hZGRyX2luZm9bMF0ubG9jYWwnDQorc2xlZXAJMQ0KK25z CXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL21lZGl1bS5iaW4gVURQNDpfX0FERFJfXzoxMDAw MSxzaHV0LW51bGwNCitndWVzdHcNCitndWVzdAljbXAgdGVzdC5iaW4gL3Jvb3QvbWVkaXVtLmJp bg0KKw0KK3Rlc3QJVURQL0lQdjY6IGhvc3QgdG8gZ3Vlc3QNCitndWVzdGIJc29jYXQgLXUgVURQ Ni1MSVNURU46MTAwMDEsbnVsbC1lb2YgT1BFTjp0ZXN0LmJpbixjcmVhdGUsdHJ1bmMNCitzbGVl cAkxDQoraG9zdAlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDY6Wzo6 MV06MTAwMDEsc2h1dC1udWxsDQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3QuYmluIC9yb290L21l ZGl1bS5iaW4NCisNCit0ZXN0CVVEUC9JUHY2OiBob3N0IHRvIG5zDQorbnNiCXNvY2F0IC11IFVE UDYtTElTVEVOOjEwMDAyLG51bGwtZW9mIE9QRU46X19URU1QX05TX18sY3JlYXRlLHRydW5jDQor c2xlZXAJMQ0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2 Ols6OjFdOjEwMDAyLHNodXQtbnVsbA0KK25zdw0KK2NoZWNrCWNtcCBfX1RFTVBfTlNfXyBfX0JB U0VQQVRIX18vbWVkaXVtLmJpbg0KKw0KK3Rlc3QJVURQL0lQdjY6IGd1ZXN0IHRvIGhvc3QNCito b3N0Yglzb2NhdCAtdSBVRFA2LUxJU1RFTjoxMDAwMyxudWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNy ZWF0ZSx0cnVuYw0KK2dvdXQJR1c2IGlwIC1qIC02IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBz ZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorZ291dAlJRk5BTUUgaXAgLWogbGlu ayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5h bWUnDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11IE9QRU46L3Jvb3QvbWVkaXVtLmJpbiBVRFA2 OltfX0dXNl9fJV9fSUZOQU1FX19dOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21w IF9fVEVNUF9fIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluDQorDQordGVzdAlVRFAvSVB2NjogZ3Vl c3QgdG8gbnMNCituc2IJc29jYXQgLXUgVURQNi1MSVNURU46MTAwMDIsbnVsbC1lb2YgT1BFTjpf X1RFTVBfTlNfXyxjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQorZ3Vlc3QJc29jYXQgLXUgT1BFTjov cm9vdC9tZWRpdW0uYmluIFVEUDY6W19fR1c2X18lX19JRk5BTUVfX106MTAwMDIsc2h1dC1udWxs DQorbnN3DQorY2hlY2sJY21wIF9fVEVNUF9OU19fIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluDQor DQordGVzdAlVRFAvSVB2NjogbnMgdG8gaG9zdCAocmVjdm1tc2cvc2VuZG1tc2cpDQoraG9zdGIJ c29jYXQgLXUgVURQNi1MSVNURU46MTAwMDMsbnVsbC1lb2YgT1BFTjpfX1RFTVBfXyxjcmVhdGUs dHJ1bmMNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJp biBVRFA2Ols6OjFdOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9f IF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluDQorDQordGVzdAlVRFAvSVB2NjogbnMgdG8gaG9zdCAo dmlhIHRhcCkNCitob3N0Yglzb2NhdCAtdSBVRFA2LUxJU1RFTjoxMDAwMyxudWxsLWVvZiBPUEVO Ol9fVEVNUF9fLGNyZWF0ZSx0cnVuYw0KK25zb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBq cSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCitzbGVl cAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2OltfX0dX Nl9fJV9fSUZOQU1FX19dOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVN UF9fIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluDQorDQordGVzdAlVRFAvSVB2NjogbnMgdG8gZ3Vl c3QgKHVzaW5nIGxvb3BiYWNrIGFkZHJlc3MpDQorZ3Vlc3RiCXNvY2F0IC11IFVEUDYtTElTVEVO OjEwMDAxLG51bGwtZW9mIE9QRU46dGVzdC5iaW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25z CXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL21lZGl1bS5iaW4gVURQNjpbOjoxXToxMDAwMSxz aHV0LW51bGwNCitndWVzdHcNCitndWVzdAljbXAgdGVzdC5iaW4gL3Jvb3QvbWVkaXVtLmJpbg0K Kw0KK3Rlc3QJVURQL0lQdjY6IG5zIHRvIGd1ZXN0ICh1c2luZyBuYW1lc3BhY2UgYWRkcmVzcykN CitndWVzdGIJc29jYXQgLXUgVURQNi1MSVNURU46MTAwMDEsbnVsbC1lb2YgT1BFTjp0ZXN0LmJp bixjcmVhdGUsdHJ1bmMNCituc291dAlBRERSNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcu W10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19JRk5BTUVfXyIpLmFkZHJfaW5mb1swXS5sb2NhbCcN CitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2 OltfX0FERFI2X19dOjEwMDAxLHNodXQtbnVsbA0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCB0ZXN0LmJp biAvcm9vdC9tZWRpdW0uYmluDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXN0YS9kaGNwIGIvb2xk dGVzdC9wYXN0YS9kaGNwDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAuLjMw OTAwMWI3DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bhc3RhL2RoY3ANCkBAIC0wLDAg KzEsNDYgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQor Iw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVt dS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBU YXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2Rl DQorIw0KKyMgdGVzdC9wYXN0YS9kaGNwIC0gQ2hlY2sgREhDUCBhbmQgREhDUHY2IGZ1bmN0aW9u YWxpdHkgaW4gcGFzdGEgbW9kZQ0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdt YkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitu c3Rvb2xzCWlwIGpxIC9zYmluL2RoY2xpZW50DQoraHRvb2xzCWlwIGpxDQorDQordGVzdAlJbnRl cmZhY2UgbmFtZQ0KK25zb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8 IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCitjaGVjawlbIC1uICJfX0lG TkFNRV9fIiBdDQorDQordGVzdAlESENQOiBhZGRyZXNzDQorbnMJL3NiaW4vZGhjbGllbnQgLTQg LS1uby1waWQgX19JRk5BTUVfXw0KK25zb3V0CUFERFIgaXAgLWogLTQgYWRkciBzaG93fGpxIC1y TSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FX18iKS5hZGRyX2luZm9bMF0ubG9j YWwnDQoraG91dAlIT1NUX0FERFIgaXAgLWogLTQgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2Vs ZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FX18iKS5hZGRyX2luZm9bMF0ubG9jYWwnDQorY2hlY2sJ WyBfX0FERFJfXyA9IF9fSE9TVF9BRERSX18gXQ0KKw0KK3Rlc3QJREhDUDogcm91dGUNCituc291 dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRl ZmF1bHQiKS5nYXRld2F5Jw0KK2hvdXQJSE9TVF9HVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1y TSAnWy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheV0gfCAuWzBdJw0KK2No ZWNrCVsgX19HV19fID0gX19IT1NUX0dXX18gXQ0KKw0KK3Rlc3QJREhDUDogTVRVDQorbnNvdXQJ TVRVIGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9f SUZOQU1FX18iKS5tdHUnDQorY2hlY2sJWyBfX01UVV9fID0gNjU1MjAgXQ0KKw0KK3Rlc3QJREhD UHY2OiBhZGRyZXNzDQorbnMJL3NiaW4vZGhjbGllbnQgLTYgLS1uby1waWQgX19JRk5BTUVfXw0K K2hvdXQJSE9TVF9JRk5BTUU2IGlwIC1qIC02IHJvdXRlIHNob3d8anEgLXJNICdbLltdIHwgc2Vs ZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5kZXZdIHwgLlswXScNCituc291dAlBRERSNiBpcCAtaiAt NiBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19JRk5BTUVfXyIp LmFkZHJfaW5mb1tdIHwgc2VsZWN0KC5wcmVmaXhsZW4gPT0gMTI4KS5sb2NhbCcNCitob3V0CUhP U1RfQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUg PT0gIl9fSE9TVF9JRk5BTUU2X18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCguc2NvcGUgPT0gImds b2JhbCIpLmxvY2FsJw0KK2NoZWNrCVsgX19BRERSNl9fID0gX19IT1NUX0FERFI2X18gXQ0KKw0K K3Rlc3QJREhDUHY2OiByb3V0ZQ0KK25zb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1y TSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2hvdXQJSE9TVF9H VzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJ1suW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVm YXVsdCIpLmdhdGV3YXldIHwgLlswXScNCitjaGVjawlbIF9fR1c2X18gPSBfX0hPU1RfR1c2X18g XQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcGFzdGEvbmRwIGIvb2xkdGVzdC9wYXN0YS9uZHANCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uYmIzMzExMDINCi0tLSAvZGV2L251 bGwNCisrKyBiL29sZHRlc3QvcGFzdGEvbmRwDQpAQCAtMCwwICsxLDMzIEBADQorIyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBB IFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0 IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAg Zm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGFzdGEv bmRwIC0gQ2hlY2sgREhDUCBhbmQgREhDUHY2IGZ1bmN0aW9uYWxpdHkgaW4gcGFzdGEgbW9kZQ0K KyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFu byBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCituc3Rvb2xzCWlwIGpxIHNpcGNhbGMg Z3JlcCBjdXQNCitodG9vbHMJaXAganEgc2lwY2FsYyBncmVwIGN1dA0KKw0KK3Rlc3QJSW50ZXJm YWNlIG5hbWUNCituc291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBz ZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorY2hlY2sJWyAtbiAiX19JRk5B TUVfXyIgXQ0KK25zCWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIHVwDQorc2xlZXAJMg0KKw0K K3Rlc3QJU0xBQUM6IHByZWZpeA0KK25zb3V0CUFERFI2IGlwIC1qIC02IGFkZHIgc2hvd3xqcSAt ck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFNRV9fIikuYWRkcl9pbmZvW10gfCBz ZWxlY3QoLnNjb3BlID09ICJnbG9iYWwiIGFuZCAucHJlZml4bGVuID09IDY0KS5sb2NhbCcNCitu c291dAlQUkVGSVg2IHNpcGNhbGMgX19BRERSNl9fLzY0IHwgZ3JlcCBwcmVmaXggfCBjdXQgLWQn ICcgLWY0DQoraG91dAlIT1NUX0FERFI2IGlwIC1qIC02IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8 IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFNRV9fIikuYWRkcl9pbmZvW10gfCBzZWxlY3QoLnNj b3BlID09ICJnbG9iYWwiKS5sb2NhbCcNCitob3V0CUhPU1RfUFJFRklYNiBzaXBjYWxjIF9fSE9T VF9BRERSNl9fLzY0IHwgZ3JlcCBwcmVmaXggfCBjdXQgLWQnICcgLWY0DQorY2hlY2sJWyAiX19Q UkVGSVg2X18iID0gIl9fSE9TVF9QUkVGSVg2X18iIF0NCisNCit0ZXN0CVNMQUFDOiByb3V0ZQ0K K25zb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3Qg PT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2hvdXQJSE9TVF9HVzYgaXAgLWogLTYgcm91dGUgc2hv d3xqcSAtck0gJ1suW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXldIHwgLlsw XScNCitjaGVjawlbIF9fR1c2X18gPSBfX0hPU1RfR1c2X18gXQ0KZGlmZiAtLWdpdCBhL29sZHRl c3QvcGFzdGEvdGNwIGIvb2xkdGVzdC9wYXN0YS90Y3ANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwMC4uNmFiMThjNWMNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFz dGEvdGNwDQpAQCAtMCwwICsxLDk2IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNw b3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAt IFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNl L3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGFzdGEvdGNwIC0gQ2hlY2sgVENQIGZ1bmN0 aW9uYWxpdHkgZm9yIHBhc3RhDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21i SA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK2h0 b29scwlzb2NhdCBpcCBqcQ0KK25zdG9vbHMJc29jYXQgaXAganENCisNCitzZXQJVEVNUF9CSUcg X19TVEFURURJUl9fL3Rlc3RfYmlnLmJpbg0KK3NldAlURU1QX05TX0JJRyBfX1NUQVRFRElSX18v dGVzdF9uc19iaWcuYmluDQorc2V0CVRFTVBfU01BTEwgX19TVEFURURJUl9fL3Rlc3Rfc21hbGwu YmluDQorc2V0CVRFTVBfTlNfU01BTEwgX19TVEFURURJUl9fL3Rlc3RfbnNfc21hbGwuYmluDQor DQordGVzdAlUQ1AvSVB2NDogaG9zdCB0byBuczogYmlnIHRyYW5zZmVyDQorbnNiCXNvY2F0IC11 IFRDUDQtTElTVEVOOjEwMDAyLGJpbmQ9MTI3LjAuMC4xIE9QRU46X19URU1QX05TX0JJR19fLGNy ZWF0ZSx0cnVuYw0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A0 OjEyNy4wLjAuMToxMDAwMg0KK25zdw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18vYmlnLmJpbiBf X1RFTVBfTlNfQklHX18NCisNCit0ZXN0CVRDUC9JUHY0OiBucyB0byBob3N0IChzcGxpY2VkKTog YmlnIHRyYW5zZmVyDQoraG9zdGIJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDMsYmluZD0xMjcu MC4wLjEgT1BFTjpfX1RFTVBfQklHX18sY3JlYXRlLHRydW5jDQorbnMJc29jYXQgLXUgT1BFTjpf X0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A0OjEyNy4wLjAuMToxMDAwMw0KK2hvc3R3DQorY2hlY2sJ Y21wIF9fQkFTRVBBVEhfXy9iaWcuYmluIF9fVEVNUF9CSUdfXw0KKw0KK3Rlc3QJVENQL0lQdjQ6 IG5zIHRvIGhvc3QgKHZpYSB0YXApOiBiaWcgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A0 LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9CSUdfXyxjcmVhdGUsdHJ1bmMNCituc291dAlHVyBp cCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQi KS5nYXRld2F5Jw0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNDpf X0dXX186MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18vYmlnLmJpbiBfX1RF TVBfQklHX18NCisNCit0ZXN0CVRDUC9JUHY0OiBob3N0IHRvIG5zOiBzbWFsbCB0cmFuc2Zlcg0K K25zYglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwMixiaW5kPTEyNy4wLjAuMSBPUEVOOl9fVEVN UF9OU19TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK2hvc3QJc29jYXQgT1BFTjpfX0JBU0VQQVRIX18v c21hbGwuYmluIFRDUDQ6MTI3LjAuMC4xOjEwMDAyDQorbnN3DQorY2hlY2sJY21wIF9fQkFTRVBB VEhfXy9zbWFsbC5iaW4gX19URU1QX05TX1NNQUxMX18NCisNCit0ZXN0CVRDUC9JUHY0OiBucyB0 byBob3N0IChzcGxpY2VkKTogc21hbGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A0LUxJ U1RFTjoxMDAwMyxiaW5kPTEyNy4wLjAuMSBPUEVOOl9fVEVNUF9TTUFMTF9fLGNyZWF0ZSx0cnVu Yw0KK25zCXNvY2F0IE9QRU46X19CQVNFUEFUSF9fL3NtYWxsLmJpbiBUQ1A0OjEyNy4wLjAuMTox MDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gX19URU1QX1NN QUxMX18NCisNCit0ZXN0CVRDUC9JUHY0OiBucyB0byBob3N0ICh2aWEgdGFwKTogc21hbGwgdHJh bnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9TTUFM TF9fLGNyZWF0ZSx0cnVuYw0KK25zb3V0CUdXIGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcu W10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorbnMJc29jYXQgLXUgT1BF TjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRDUDQ6X19HV19fOjEwMDAzDQoraG9zdHcNCitjaGVj awljbXAgX19CQVNFUEFUSF9fL3NtYWxsLmJpbiBfX1RFTVBfU01BTExfXw0KKw0KK3Rlc3QJVENQ L0lQdjY6IGhvc3QgdG8gbnM6IGJpZyB0cmFuc2Zlcg0KK25zYglzb2NhdCAtdSBUQ1A2LUxJU1RF TjoxMDAwMixiaW5kPVs6OjFdIE9QRU46X19URU1QX05TX0JJR19fLGNyZWF0ZSx0cnVuYw0KK2hv c3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A2Ols6OjFdOjEwMDAyDQor bnN3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhfXy9iaWcuYmluIF9fVEVNUF9OU19CSUdfXw0KKw0K K3Rlc3QJVENQL0lQdjY6IG5zIHRvIGhvc3QgKHNwbGljZWQpOiBiaWcgdHJhbnNmZXINCitob3N0 Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMyxiaW5kPVs6OjFdIE9QRU46X19URU1QX0JJR19f LGNyZWF0ZSx0cnVuYw0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQ NjpbOjoxXToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhfXy9iaWcuYmluIF9f VEVNUF9CSUdfXw0KKw0KK3Rlc3QJVENQL0lQdjY6IG5zIHRvIGhvc3QgKHZpYSB0YXApOiBiaWcg dHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9C SUdfXyxjcmVhdGUsdHJ1bmMNCituc291dAlHVzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0g Jy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCituc291dAlJRk5BTUUg aXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRo ZXIiKS5pZm5hbWUnDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A2 OltfX0dXNl9fJV9fSUZOQU1FX19dOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFU SF9fL2JpZy5iaW4gX19URU1QX0JJR19fDQorDQordGVzdAlUQ1AvSVB2NjogaG9zdCB0byBuczog c21hbGwgdHJhbnNmZXINCituc2IJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDIsYmluZD1bOjox XSBPUEVOOl9fVEVNUF9OU19TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK2hvc3QJc29jYXQgLXUgT1BF TjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRDUDY6Wzo6MV06MTAwMDINCituc3cNCitjaGVjawlj bXAgX19CQVNFUEFUSF9fL3NtYWxsLmJpbiBfX1RFTVBfTlNfU01BTExfXw0KKw0KK3Rlc3QJVENQ L0lQdjY6IG5zIHRvIGhvc3QgKHNwbGljZWQpOiBzbWFsbCB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0 IC11IFRDUDYtTElTVEVOOjEwMDAzLGJpbmQ9Wzo6MV0gT1BFTjpfX1RFTVBfU01BTExfXyxjcmVh dGUsdHJ1bmMNCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNjpb OjoxXToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gX19U RU1QX1NNQUxMX18NCisNCit0ZXN0CVRDUC9JUHY2OiBucyB0byBob3N0ICh2aWEgdGFwKTogc21h bGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVN UF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL3Nt YWxsLmJpbiBUQ1A2OltfX0dXNl9fJV9fSUZOQU1FX19dOjEwMDAzDQoraG9zdHcNCitjaGVjawlj bXAgX19CQVNFUEFUSF9fL3NtYWxsLmJpbiBfX1RFTVBfU01BTExfXw0KZGlmZiAtLWdpdCBhL29s ZHRlc3QvcGFzdGEvdWRwIGIvb2xkdGVzdC9wYXN0YS91ZHANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwMC4uMzBlM2E4NTUNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3Qv cGFzdGEvdWRwDQpAQCAtMCwwICsxLDU5IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJh bnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNU QSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNw YWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGFzdGEvdWRwIC0gQ2hlY2sgVURQIGZ1 bmN0aW9uYWxpdHkgZm9yIHBhc3RhDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQg R21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0K K25zdG9vbHMJc29jYXQgaXAganENCitodG9vbHMJZGQgc29jYXQgaXAganENCisNCitzZXQJVEVN UCBfX1NUQVRFRElSX18vdGVzdC5iaW4NCitzZXQJVEVNUF9OUyBfX1NUQVRFRElSX18vdGVzdF9u cy5iaW4NCisNCit0ZXN0CVVEUC9JUHY0OiBob3N0IHRvIG5zDQorbnNiCXNvY2F0IC11IFVEUDQt TElTVEVOOjEwMDAyLGJpbmQ9MTI3LjAuMC4xLG51bGwtZW9mIE9QRU46X19URU1QX05TX18sY3Jl YXRlLHRydW5jDQoraG9zdAlzb2NhdCBPUEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDQ6 MTI3LjAuMC4xOjEwMDAyLHNodXQtbnVsbA0KK25zdw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18v bWVkaXVtLmJpbiBfX1RFTVBfTlNfXw0KKw0KK3Rlc3QJVURQL0lQdjQ6IG5zIHRvIGhvc3QgKHJl Y3ZtbXNnL3NlbmRtbXNnKQ0KK2hvc3RiCXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAzLGJpbmQ9 MTI3LjAuMC4xLG51bGwtZW9mIE9QRU46X19URU1QX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0K K25zCXNvY2F0IE9QRU46X19CQVNFUEFUSF9fL21lZGl1bS5iaW4gVURQNDoxMjcuMC4wLjE6MTAw MDMsc2h1dC1udWxsDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL21lZGl1bS5iaW4g X19URU1QX18NCisNCit0ZXN0CVVEUC9JUHY0OiBucyB0byBob3N0ICh2aWEgdGFwKQ0KK2hvc3Ri CXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAzLG51bGwtZW9mIE9QRU46X19URU1QX18sY3JlYXRl LHRydW5jDQorbnNvdXQJR1cgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVj dCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBB VEhfXy9tZWRpdW0uYmluIFVEUDQ6X19HV19fOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hl Y2sJY21wIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIF9fVEVNUF9fDQorDQordGVzdAlVRFAvSVB2 NjogaG9zdCB0byBucw0KK25zYglzb2NhdCAtdSBVRFA2LUxJU1RFTjoxMDAwMixiaW5kPVs6OjFd LG51bGwtZW9mIE9QRU46X19URU1QX05TX18sY3JlYXRlLHRydW5jDQoraG9zdAlzb2NhdCAtdSBP UEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDY6Wzo6MV06MTAwMDIsc2h1dC1udWxsDQor bnN3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIF9fVEVNUF9OU19fDQorDQor dGVzdAlVRFAvSVB2NjogbnMgdG8gaG9zdCAocmVjdm1tc2cvc2VuZG1tc2cpDQoraG9zdGIJc29j YXQgLXUgVURQNi1MSVNURU46MTAwMDMsYmluZD1bOjoxXSxudWxsLWVvZiBPUEVOOl9fVEVNUF9f LGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9t ZWRpdW0uYmluIFVEUDY6Wzo6MV06MTAwMDMsc2h1dC1udWxsDQoraG9zdHcNCitjaGVjawljbXAg X19CQVNFUEFUSF9fL21lZGl1bS5iaW4gX19URU1QX18NCisNCit0ZXN0CVVEUC9JUHY2OiBucyB0 byBob3N0ICh2aWEgdGFwKQ0KK2hvc3RiCXNvY2F0IC11IFVEUDYtTElTVEVOOjEwMDAzLG51bGwt ZW9mIE9QRU46X19URU1QX18sY3JlYXRlLHRydW5jDQorbnNvdXQJR1c2IGlwIC1qIC02IHJvdXRl IHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQor bnNvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5saW5r X3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9f L21lZGl1bS5iaW4gVURQNjpbX19HVzZfXyVfX0lGTkFNRV9fXToxMDAwMyxzaHV0LW51bGwNCito b3N0dw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBfX1RFTVBfXw0KZGlmZiAt LWdpdCBhL29sZHRlc3QvcGFzdGFfb3B0aW9ucy9sb2dfdG9fZmlsZSBiL29sZHRlc3QvcGFzdGFf b3B0aW9ucy9sb2dfdG9fZmlsZQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAw Li5mY2RkNTUzOA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9wYXN0YV9vcHRpb25zL2xv Z190b19maWxlDQpAQCAtMCwwICsxLDkzIEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJh bnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNU QSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNw YWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGFzdGFfb3B0aW9ucy9sb2dfdG9fZmls ZSAtIENoZWNrIGxvZyBjcmVhdGlvbiwgcm90YXRpb25zIGFuZCBjb25zaXN0ZW5jeQ0KKyMNCisj IENvcHlyaWdodCAoYykgMjAyMiBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2 aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitodG9vbHMJd2MgdGNwX3JyIHRhaWwgY3V0IHRy IHNvcnQNCisNCitkZWYJZmxvb2RfbG9nX3NlcnZlcg0KK3Bhc3N0Ygl0Y3BfY3JyIC0tbm9sb2cg LVAgMTAwMDEgLUMgMTAwMDIgLTYNCitzbGVlcAkxDQorZW5kZWYNCisNCitkZWYJZmxvb2RfbG9n X2NsaWVudA0KK2hvc3QJdGNwX2NyciAtLW5vbG9nIC1QIDEwMDAxIC1DIDEwMDAyIC02IC1jIC1I IDo6MQ0KK2VuZGVmDQorDQorZGVmCWNoZWNrX2xvZ19zaXplX21vdW50bnMNCitwb3V0CVNJWkUg Y2F0IF9fTE9HX0ZJTEVfXyB8IHdjIC1jDQorY2hlY2sJWyBfX1NJWkVfXyAtZ3QgJCgoNTAgKiAx MDI0KSkgXQ0KK2NoZWNrCVsgX19TSVpFX18gLWx0ICQoKDEwMCAqIDEwMjQpKSBdDQorZW5kZWYN CisNCit0ZXN0CUxvZyBjcmVhdGlvbg0KKw0KK3NldAlQT1JUUyAtdCAxMDAwMSwxMDAwMiAtdSAx MDAwMSwxMDAwMg0KK3NldAlMT0dfRklMRSBfX1NUQVRFRElSX18vcGFzdGEubG9nDQorDQorcGFz c3QJLi9wYXN0YSAtbCBfX0xPR19GSUxFX18NCitwYXNzdGIJZXhpdA0KK3NsZWVwCTENCitjaGVj awlbIC1zIF9fTE9HX0ZJTEVfXyBdDQorDQordGVzdAlMb2cgdHJ1bmNhdGVkIG9uIGNyZWF0aW9u DQorcGFzc3QJLi9wYXN0YSAtbCBfX0xPR19GSUxFX18NCitwYXNzdGIJZXhpdA0KK3NsZWVwCTEN CitjaGVjawlbICQoY2F0IF9fTE9HX0ZJTEVfXyB8IHdjIC1sKSAtZXEgMSBdDQorDQordGVzdAlN YXhpbXVtIGxvZyBzaXplDQorcGFzc3RiCS4vcGFzdGEgLS1jb25maWctbmV0IC1kIC1mIC1sIF9f TE9HX0ZJTEVfXyAtLWxvZy1zaXplICQoKDEwMCAqIDEwMjQpKSAtLSBzaCAtYyAnd2hpbGUgdHJ1 ZTsgZG8gdGNwX2NyciAtLW5vbG9nIC1QIDEwMDAxIC1DIDEwMDAyIC02OyBkb25lJw0KK3NsZWVw CTENCisNCitmbG9vZF9sb2dfY2xpZW50DQorY2hlY2sJWyAkKGNhdCBfX0xPR19GSUxFX18gfCB3 YyAtYykgLWd0ICQoKDUwICogMTAyNCkpIF0NCitjaGVjawlbICQoY2F0IF9fTE9HX0ZJTEVfXyB8 IHdjIC1jKSAtbHQgJCgoMTAwICogMTAyNCkpIF0NCisNCitmbG9vZF9sb2dfY2xpZW50DQorY2hl Y2sJWyAkKGNhdCBfX0xPR19GSUxFX18gfCB3YyAtYykgLWd0ICQoKDUwICogMTAyNCkpIF0NCitj aGVjawlbICQoY2F0IF9fTE9HX0ZJTEVfXyB8IHdjIC1jKSAtbHQgJCgoMTAwICogMTAyNCkpIF0N CisNCitmbG9vZF9sb2dfY2xpZW50DQorY2hlY2sJWyAkKGNhdCBfX0xPR19GSUxFX18gfCB3YyAt YykgLWd0ICQoKDUwICogMTAyNCkpIF0NCitjaGVjawlbICQoY2F0IF9fTE9HX0ZJTEVfXyB8IHdj IC1jKSAtbHQgJCgoMTAwICogMTAyNCkpIF0NCisNCitwaW50DQorDQordGVzdAlUaW1lc3RhbXAg Y29uc2lzdGVuY3kgYWZ0ZXIgcm90YXRpb25zDQorY2hlY2sJdGFpbCAtbiArMiBfX0xPR19GSUxF X18gfCBjdXQgLWYxIC1kJyAnIHwgdHIgLWQgWy46XSB8IHNvcnQgLWMNCisNCit0ZXN0CU1heGlt dW0gbG9nIHNpemUgb24gdG1wZnMgKG5vIEZBTExPQ19GTF9DT0xMQVBTRV9SQU5HRSkNCitwYXNz dAl1bnNoYXJlIC1yVW0NCitwYXNzdAlta2RpciBfX1NUQVRFRElSX18vdA0KK3Bhc3N0CW1vdW50 IC10IHRtcGZzIG5vbmUgX19TVEFURURJUl9fL3QNCitzZXQJTE9HX0ZJTEUgX19TVEFURURJUl9f L3QvbG9nDQorcGFzc3QJLi9wYXN0YSAtLWNvbmZpZy1uZXQgLWQgLWwgX19MT0dfRklMRV9fIC0t bG9nLXNpemUgJCgoMTAwICogMTAyNCkpDQorDQorZmxvb2RfbG9nX3NlcnZlcg0KK2Zsb29kX2xv Z19jbGllbnQNCitjaGVja19sb2dfc2l6ZV9tb3VudG5zDQorDQorZmxvb2RfbG9nX3NlcnZlcg0K K2Zsb29kX2xvZ19jbGllbnQNCitjaGVja19sb2dfc2l6ZV9tb3VudG5zDQorDQorZmxvb2RfbG9n X3NlcnZlcg0KK2Zsb29kX2xvZ19jbGllbnQNCitjaGVja19sb2dfc2l6ZV9tb3VudG5zDQorDQor dGVzdAlUaW1lc3RhbXAgY29uc2lzdGVuY3kgYWZ0ZXIgcm90YXRpb25zIChubyBGQUxMT0NfRkxf Q09MTEFQU0VfUkFOR0UpDQorY2hlY2sJdGFpbCAtbiArMiBfX0xPR19GSUxFX18gfCBjdXQgLWYx IC1kJyAnIHwgdHIgLWQgWy46XSB8IHNvcnQgLWMNCisNCitwYXNzdGIJZXhpdA0KK3NsZWVwCTEN CitwYXNzdAl1bW91bnQgX19TVEFURURJUl9fL3QNCitwYXNzdAlleGl0DQpkaWZmIC0tZ2l0IGEv b2xkdGVzdC9wZXJmL3Bhc3N0X3RjcCBiL29sZHRlc3QvcGVyZi9wYXNzdF90Y3ANCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uNzA0NmYzYzANCi0tLSAvZGV2L251bGwNCisr KyBiL29sZHRlc3QvcGVyZi9wYXNzdF90Y3ANCkBAIC0wLDAgKzEsMjE1IEBADQorIyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBB IFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0 IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAg Zm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGVyZi9w YXNzdF90Y3AgLSBDaGVjayBUQ1AgcGVyZm9ybWFuY2UgaW4gcGFzc3QgbW9kZQ0KKyMNCisjIENv cHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8g PHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitndG9vbHMJL3NiaW4vc3lzY3RsIGlwIGpxIG5wcm9j IHNlcSBzbGVlcCBpcGVyZjMgdGNwX3JyIHRjcF9jcnIgIyBGcm9tIG5lcGVyDQorbnN0b29scwkv c2Jpbi9zeXNjdGwgaXAganEgbnByb2Mgc2VxIHNsZWVwIGlwZXJmMyB0Y3BfcnIgdGNwX2Nycg0K K2h0b29scwliYyBoZWFkIHNlZCBzZXENCisNCit0ZXN0CXBhc3N0OiB0aHJvdWdocHV0IGFuZCBs YXRlbmN5DQorDQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13IG5ldC5jb3JlLnJtZW1fbWF4PTUzNjg3 MDkxMg0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuY29yZS53bWVtX21heD01MzY4NzA5MTIN CitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0LmNvcmUucm1lbV9kZWZhdWx0PTMzNTU0NDMyDQor Z3Vlc3QJL3NiaW4vc3lzY3RsIC13IG5ldC5jb3JlLndtZW1fZGVmYXVsdD0zMzU1NDQzMg0KK2d1 ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuaXB2NC50Y3Bfcm1lbT0iNDA5NiAxMzEwNzIgMjY4NDM1 NDU2Ig0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuaXB2NC50Y3Bfd21lbT0iNDA5NiAxMzEw NzIgMjY4NDM1NDU2Ig0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuaXB2NC50Y3BfdGltZXN0 YW1wcz0wDQorDQorbnMJL3NiaW4vc3lzY3RsIC13IG5ldC5pcHY0LnRjcF9ybWVtPSI0MDk2IDUy NDI4OCAxMzQyMTc3MjgiDQorbnMJL3NiaW4vc3lzY3RsIC13IG5ldC5pcHY0LnRjcF93bWVtPSI0 MDk2IDUyNDI4OCAxMzQyMTc3MjgiDQorbnMJL3NiaW4vc3lzY3RsIC13IG5ldC5pcHY0LnRjcF90 aW1lc3RhbXBzPTANCisNCitnb3V0CUdXIGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcuW10g fCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorZ291dAlHVzYgaXAgLWogLTYg cm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdh eScNCitnb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgu bGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCisNCitob3V0CUZSRVFfUFJPQ0ZTIChlY2hv ICJzY2FsZT0xIjsgc2VkIC1uICdzL2NwdSBNSHouKjogXChbMC05XSpcKVwuLiokLyhcMSsxMF4y XC8yKVwvMTBeMy9wJyAvcHJvYy9jcHVpbmZvKSB8IGJjIC1sIHwgaGVhZCAtbjENCitob3V0CUZS RVFfQ1BVRlJFUSAoZWNobyAic2NhbGU9MSI7IHByaW50ZiAnKCAlaSArIDEwXjUgLyAyICkgLyAx MF42XG4nICQoY2F0IC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdTAvY3B1ZnJlcS9zY2FsaW5n X21heF9mcmVxKSApIHwgYmMgLWwNCitob3V0CUZSRVEgWyAtbiAiX19GUkVRX0NQVUZSRVFfXyIg XSAmJiBlY2hvIF9fRlJFUV9DUFVGUkVRX18gfHwgZWNobyBfX0ZSRVFfUFJPQ0ZTX18NCisNCitz ZXQJVEhSRUFEUyAxDQorc2V0CVNUUkVBTVMgOA0KK3NldAlUSU1FIDEwDQoraG91dAlPTUlUIGVj aG8gX19USU1FX18gLyA2IHwgYmMgLWwNCitzZXQJT1BUUyAtWiAtUCBfX1NUUkVBTVNfXyAtbCAx TSAtT19fT01JVF9fIC0tcGFjaW5nLXRpbWVyIDEwMDAwMDANCisNCitpbmZvCVRocm91Z2hwdXQg aW4gR2JwcywgbGF0ZW5jeSBpbiDCtXMsIG9uZSB0aHJlYWQgYXQgX19GUkVRX18gR0h6LCBfX1NU UkVBTVNfXyBzdHJlYW1zDQorcmVwb3J0CXBhc3N0IHRjcCBfX1RIUkVBRFNfXyBfX0ZSRVFfXw0K Kw0KK3RoCU1UVSAyNTZCIDU3NkIgMTI4MEIgMTUwMEIgOTAwMEIgNjU1MjBCDQorDQorDQordHIJ VENQIHRocm91Z2hwdXQgb3ZlciBJUHY2OiBndWVzdCB0byBob3N0DQorYncJLQ0KK2J3CS0NCisN CitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgMTI4MA0KK2lwZXJmMwlCVyBn dWVzdCBucyBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtpfTIgX19USFJFQURTX18gX19USU1FX18g X19PUFRTX18gLXcgNE0NCitidwlfX0JXX18gMS4yIDEuNQ0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRl diBfX0lGTkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJXIGd1ZXN0IG5zIF9fR1c2X18lX19JRk5B TUVfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtdyA0TQ0KK2J3CV9f QldfXyAxLjYgMS44DQorZ3Vlc3QJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDkwMDAN CitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HVzZfXyVfX0lGTkFNRV9fIDEwMCR7aX0yIF9fVEhSRUFE U19fIF9fVElNRV9fIF9fT1BUU19fIC13IDhNDQorYncJX19CV19fIDQuMCA1LjANCitndWVzdAlp cCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNjU1MjANCitpcGVyZjMJQlcgZ3Vlc3QgbnMg X19HVzZfXyVfX0lGTkFNRV9fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19f IC13IDE2TQ0KK2J3CV9fQldfXyA3LjAgOC4wDQorDQordGwJVENQIFJSIGxhdGVuY3kgb3ZlciBJ UHY2OiBndWVzdCB0byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitsYXQJ LQ0KK25zYgl0Y3BfcnIgLS1ub2xvZyAtNg0KK2dvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC02IC1j IC1IIF9fR1c2X18lX19JRk5BTUVfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEv cCcNCitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQordGwJVENQIENSUiBsYXRlbmN5IG92ZXIgSVB2 NjogZ3Vlc3QgdG8gaG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0N Cituc2IJdGNwX2NyciAtLW5vbG9nIC02DQorZ291dAlMQVQgdGNwX2NyciAtLW5vbG9nIC02IC1j IC1IIF9fR1c2X18lX19JRk5BTUVfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEv cCcNCitsYXQJX19MQVRfXyA1MDAgNDAwDQorDQorDQordHIJVENQIHRocm91Z2hwdXQgb3ZlciBJ UHY0OiBndWVzdCB0byBob3N0DQorZ3Vlc3QJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1 IDI1Ng0KK2lwZXJmMwlCVyBndWVzdCBucyBfX0dXX18gMTAwJHtpfTIgX19USFJFQURTX18gX19U SU1FX18gX19PUFRTX18gLXcgMU0NCitidwlfX0JXX18gMC4yIDAuMw0KK2d1ZXN0CWlwIGxpbmsg c2V0IGRldiBfX0lGTkFNRV9fIG10dSA1NzYNCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HV19fIDEw MCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC13IDFNDQorYncJX19CV19fIDAu NSAwLjgNCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgMTI4MA0KK2lwZXJm MwlCVyBndWVzdCBucyBfX0dXX18gMTAwJHtpfTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRT X18gLXcgNE0NCitidwlfX0JXX18gMS4yIDEuNQ0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBfX0lG TkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJXIGd1ZXN0IG5zIF9fR1dfXyAxMDAke2l9MiBfX1RI UkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtdyA0TQ0KK2J3CV9fQldfXyAxLjYgMS44DQorZ3Vl c3QJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDkwMDANCitpcGVyZjMJQlcgZ3Vlc3Qg bnMgX19HV19fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC13IDhNDQor YncJX19CV19fIDQuMCA1LjANCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUg NjU1MjANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HV19fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9f VElNRV9fIF9fT1BUU19fIC13IDE2TQ0KK2J3CV9fQldfXyA3LjAgOC4wDQorDQordGwJVENQIFJS IGxhdGVuY3kgb3ZlciBJUHY0OiBndWVzdCB0byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAkt DQorbGF0CS0NCitsYXQJLQ0KK25zYgl0Y3BfcnIgLS1ub2xvZyAtNA0KK2dvdXQJTEFUIHRjcF9y ciAtLW5vbG9nIC00IC1jIC1IIF9fR1dfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkv XDEvcCcNCitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQordGwJVENQIENSUiBsYXRlbmN5IG92ZXIg SVB2NDogZ3Vlc3QgdG8gaG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0 CS0NCituc2IJdGNwX2NyciAtLW5vbG9nIC00DQorZ291dAlMQVQgdGNwX2NyciAtLW5vbG9nIC00 IC1jIC1IIF9fR1dfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJ X19MQVRfXyA1MDAgNDAwDQorDQorDQordHIJVENQIHRocm91Z2hwdXQgb3ZlciBJUHY2OiBob3N0 IHRvIGd1ZXN0DQorYncJLQ0KK2J3CS0NCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDEyODAN CitpcGVyZjMJQlcgbnMgZ3Vlc3QgOjoxIDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9fIF9f T1BUU19fDQorYncJX19CV19fIDEuMCAxLjINCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDE1 MDANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgOjoxIDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9f IF9fT1BUU19fDQorYncJX19CV19fIDIuMCAzLjANCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1 IDkwMDANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgOjoxIDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElN RV9fIF9fT1BUU19fDQorYncJX19CV19fIDUuMCA2LjANCitucwlpcCBsaW5rIHNldCBkZXYgbG8g bXR1IDY1NTIwDQoraXBlcmYzCUJXIG5zIGd1ZXN0IDo6MSAxMDAke2l9MSBfX1RIUkVBRFNfXyBf X1RJTUVfXyBfX09QVFNfXw0KK2J3CV9fQldfXyA2LjAgNi44DQorbnMJaXAgbGluayBzZXQgZGV2 IGxvIG10dSA2NTUzNQ0KKw0KK3RsCVRDUCBSUiBsYXRlbmN5IG92ZXIgSVB2NjogaG9zdCB0byBn dWVzdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitndWVzdGIJdGNw X3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAwMTEgLTYNCitzbGVlcAkxDQorbnNvdXQJTEFUIHRj cF9yciAtLW5vbG9nIC1QIDEwMDAxIC1DIDEwMDExIC02IC1jIC1IIDo6MSB8IHNlZCAtbiAncy9e dGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQordGwJVENQ IENSUiBsYXRlbmN5IG92ZXIgSVB2NjogaG9zdCB0byBndWVzdA0KK2xhdAktDQorbGF0CS0NCits YXQJLQ0KK2xhdAktDQorbGF0CS0NCitndWVzdGIJdGNwX2NyciAtLW5vbG9nIC1QIDEwMDAxIC1D IDEwMDExIC02DQorc2xlZXAJMQ0KK25zb3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDEg LUMgMTAwMTEgLTYgLWMgLUggOjoxIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9w Jw0KK2xhdAlfX0xBVF9fIDUwMCAzNTANCisNCisNCit0cglUQ1AgdGhyb3VnaHB1dCBvdmVyIElQ djQ6IGhvc3QgdG8gZ3Vlc3QNCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDI1Ng0KK2lwZXJm MwlCVyBucyBndWVzdCAxMjcuMC4wLjEgMTAwJHtpfTEgX19USFJFQURTX18gX19USU1FX18gX19P UFRTX18NCitidwlfX0JXX18gMC4zIDAuNQ0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgNTc2 DQoraXBlcmYzCUJXIG5zIGd1ZXN0IDEyNy4wLjAuMSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJ TUVfXyBfX09QVFNfXw0KK2J3CV9fQldfXyAwLjUgMS4wDQorbnMJaXAgbGluayBzZXQgZGV2IGxv IG10dSAxMjgwDQorbnMJaXAgYWRkciBhZGQgOjoxIGRldiBsbw0KK2lwZXJmMwlCVyBucyBndWVz dCAxMjcuMC4wLjEgMTAwJHtpfTEgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlf X0JXX18gMi4wIDMuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgMTUwMA0KK2lwZXJmMwlC VyBucyBndWVzdCAxMjcuMC4wLjEgMTAwJHtpfTEgX19USFJFQURTX18gX19USU1FX18gX19PUFRT X18NCitidwlfX0JXX18gMi4wIDMuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgOTAwMA0K K2lwZXJmMwlCVyBucyBndWVzdCAxMjcuMC4wLjEgMTAwJHtpfTEgX19USFJFQURTX18gX19USU1F X18gX19PUFRTX18NCitidwlfX0JXX18gNS4wIDYuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBt dHUgNjU1MjANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgMTI3LjAuMC4xIDEwMCR7aX0xIF9fVEhSRUFE U19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDYuMCA2LjgNCitucwlpcCBsaW5rIHNl dCBkZXYgbG8gbXR1IDY1NTM1DQorDQordGwJVENQIFJSIGxhdGVuY3kgb3ZlciBJUHY0OiBob3N0 IHRvIGd1ZXN0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2d1ZXN0 Ygl0Y3BfcnIgLS1ub2xvZyAtUCAxMDAwMSAtQyAxMDAxMSAtNA0KK3NsZWVwCTENCituc291dAlM QVQgdGNwX3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAwMTEgLTQgLWMgLUggMTI3LjAuMC4xIHwg c2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDIwMCAxNTAN CisNCit0bAlUQ1AgQ1JSIGxhdGVuY3kgb3ZlciBJUHY2OiBob3N0IHRvIGd1ZXN0DQorbGF0CS0N CitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2d1ZXN0Ygl0Y3BfY3JyIC0tbm9sb2cg LVAgMTAwMDEgLUMgMTAwMTEgLTQNCitzbGVlcAkxDQorbnNvdXQJTEFUIHRjcF9jcnIgLS1ub2xv ZyAtUCAxMDAwMSAtQyAxMDAxMSAtNCAtYyAtSCAxMjcuMC4wLjEgfCBzZWQgLW4gJ3MvXnRocm91 Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gNTAwIDMwMA0KKw0KK3RlDQpkaWZmIC0t Z2l0IGEvb2xkdGVzdC9wZXJmL3Bhc3N0X3VkcCBiL29sZHRlc3QvcGVyZi9wYXNzdF91ZHANCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uYTExN2I2YTgNCi0tLSAvZGV2L251 bGwNCisrKyBiL29sZHRlc3QvcGVyZi9wYXNzdF91ZHANCkBAIC0wLDAgKzEsMTY1IEBADQorIyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0g UGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4g c29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9u DQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3Qv cGVyZi9wYXNzdF91ZHAgLSBDaGVjayBVRFAgcGVyZm9ybWFuY2UgaW4gcGFzc3QgbW9kZQ0KKyMN CisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBC cml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitndG9vbHMJL3NiaW4vc3lzY3RsIGlwIGpx IG5wcm9jIHNsZWVwIGlwZXJmMyB1ZHBfcnIgIyBGcm9tIG5lcGVyDQorbnN0b29scwlpcCBqcSBz bGVlcCBpcGVyZjMgdWRwX3JyDQoraHRvb2xzCWJjIGhlYWQgc2VkDQorDQordGVzdAlwYXNzdDog dGhyb3VnaHB1dCBhbmQgbGF0ZW5jeQ0KKw0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuY29y ZS5ybWVtX21heD0xNjc3NzIxNg0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuY29yZS53bWVt X21heD0xNjc3NzIxNg0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuY29yZS5ybWVtX2RlZmF1 bHQ9MTY3NzcyMTYNCitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0LmNvcmUud21lbV9kZWZhdWx0 PTE2Nzc3MjE2DQorDQorZ291dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwg c2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2dvdXQJR1c2IGlwIC1qIC02IHJv dXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXkn DQorZ291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxp bmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorDQoraG91dAlGUkVRX1BST0NGUyAoZWNobyAi c2NhbGU9MSI7IHNlZCAtbiAncy9jcHUgTUh6Lio6IFwoWzAtOV0qXClcLi4qJC8oXDErMTBeMlwv MilcLzEwXjMvcCcgL3Byb2MvY3B1aW5mbykgfCBiYyAtbCB8IGhlYWQgLW4xDQoraG91dAlGUkVR X0NQVUZSRVEgKGVjaG8gInNjYWxlPTEiOyBwcmludGYgJyggJWkgKyAxMF41IC8gMiApIC8gMTBe NlxuJyAkKGNhdCAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9jcHUwL2NwdWZyZXEvc2NhbGluZ19t YXhfZnJlcSkgKSB8IGJjIC1sDQoraG91dAlGUkVRIFsgLW4gIl9fRlJFUV9DUFVGUkVRX18iIF0g JiYgZWNobyBfX0ZSRVFfQ1BVRlJFUV9fIHx8IGVjaG8gX19GUkVRX1BST0NGU19fDQorDQorc2V0 CVRIUkVBRFMgNA0KK3NldAlTVFJFQU1TIDENCitzZXQJVElNRSAxMA0KK3NldAlPUFRTIC11IC1Q IF9fU1RSRUFNU19fIC0tcGFjaW5nLXRpbWVyIDEwMDANCisNCitpbmZvCVRocm91Z2hwdXQgaW4g R2JwcywgbGF0ZW5jeSBpbiDCtXMsIF9fVEhSRUFEU19fIHRocmVhZHMgYXQgX19GUkVRX18gR0h6 LCBvbmUgc3RyZWFtIGVhY2gNCisNCityZXBvcnQJcGFzc3QgdWRwIF9fVEhSRUFEU19fIF9fRlJF UV9fDQorDQordGgJTVRVIDI1NkIgNTc2QiAxMjgwQiAxNTAwQiA5MDAwQiA2NTUyMEINCisNCisN Cit0cglVRFAgdGhyb3VnaHB1dCBvdmVyIElQdjY6IGd1ZXN0IHRvIGhvc3QNCitidwktDQorYncJ LQ0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSAxMjgwDQoraXBlcmYzCUJX IGd1ZXN0IG5zIF9fR1c2X18lX19JRk5BTUVfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVf XyBfX09QVFNfXyAtYiAyRw0KK2J3CV9fQldfXyAwLjggMS4yDQorZ3Vlc3QJaXAgbGluayBzZXQg ZGV2IF9fSUZOQU1FX18gbXR1IDE1MDANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HVzZfXyVfX0lG TkFNRV9fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDNHDQorYncJ X19CV19fIDEuMCAxLjUNCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgOTAw MA0KK2lwZXJmMwlCVyBndWVzdCBucyBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtpfTIgX19USFJF QURTX18gX19USU1FX18gX19PUFRTX18gLWIgNUcNCitidwlfX0JXX18gNC4wIDUuMA0KK2d1ZXN0 CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSA2NTUyMA0KK2lwZXJmMwlCVyBndWVzdCBu cyBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtpfTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRT X18gLWIgN0cNCitidwlfX0JXX18gNC4wIDUuMA0KKw0KK3RsCVVEUCBSUiBsYXRlbmN5IG92ZXIg SVB2NjogZ3Vlc3QgdG8gaG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0 CS0NCituc2IJdWRwX3JyIC0tbm9sb2cgLTYNCitnb3V0CUxBVCB1ZHBfcnIgLS1ub2xvZyAtNiAt YyAtSCBfX0dXNl9fJV9fSUZOQU1FX18gfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wx L3AnDQorbGF0CV9fTEFUX18gMjAwIDE1MA0KKw0KKw0KK3RyCVVEUCB0aHJvdWdocHV0IG92ZXIg SVB2NDogZ3Vlc3QgdG8gaG9zdA0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10 dSAyNTYNCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HV19fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9f VElNRV9fIF9fT1BUU19fIC1iIDUwME0NCitidwlfX0JXX18gMC4wIDAuMA0KK2d1ZXN0CWlwIGxp bmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSA1NzYNCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HV19f IDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDFHDQorYncJX19CV19f IDAuNCAwLjYNCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgMTI4MA0KK2lw ZXJmMwlCVyBndWVzdCBucyBfX0dXX18gMTAwJHtpfTIgX19USFJFQURTX18gX19USU1FX18gX19P UFRTX18gLWIgMkcNCitidwlfX0JXX18gMC44IDEuMg0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBf X0lGTkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJXIGd1ZXN0IG5zIF9fR1dfXyAxMDAke2l9MiBf X1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAzRw0KK2J3CV9fQldfXyAxLjAgMS41DQor Z3Vlc3QJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDkwMDANCitpcGVyZjMJQlcgZ3Vl c3QgbnMgX19HV19fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDZH DQorYncJX19CV19fIDQuMCA1LjANCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBt dHUgNjU1MjANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HV19fIDEwMCR7aX0yIF9fVEhSRUFEU19f IF9fVElNRV9fIF9fT1BUU19fIC1iIDdHDQorYncJX19CV19fIDQuMCA1LjANCisNCit0bAlVRFAg UlIgbGF0ZW5jeSBvdmVyIElQdjQ6IGd1ZXN0IHRvIGhvc3QNCitsYXQJLQ0KK2xhdAktDQorbGF0 CS0NCitsYXQJLQ0KK2xhdAktDQorbnNiCXVkcF9yciAtLW5vbG9nIC00DQorZ291dAlMQVQgdWRw X3JyIC0tbm9sb2cgLTQgLWMgLUggX19HV19fIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipc KS9cMS9wJw0KK2xhdAlfX0xBVF9fIDIwMCAxNTANCisNCisNCit0cglVRFAgdGhyb3VnaHB1dCBv dmVyIElQdjY6IGhvc3QgdG8gZ3Vlc3QNCitidwktDQorYncJLQ0KK25zCWlwIGxpbmsgc2V0IGRl diBsbyBtdHUgMTI4MA0KK2lwZXJmMwlCVyBucyBndWVzdCAgOjoxIDEwMCR7aX0xIF9fVEhSRUFE U19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDJHDQorYncJX19CV19fIDAuOCAxLjINCitucwlpcCBs aW5rIHNldCBkZXYgbG8gbXR1IDE1MDANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgOjoxIDEwMCR7aX0x IF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDJHDQorYncJX19CV19fIDEuMCAxLjUN CitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDkwMDANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgOjox IDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDNHDQorYncJX19CV19f IDMuMCA0LjANCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDY1NTIwDQoraXBlcmYzCUJXIG5z IGd1ZXN0IDo6MSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAzRw0K K2J3CV9fQldfXyAzLjAgNC4wDQorDQordGwJVURQIFJSIGxhdGVuY3kgb3ZlciBJUHY2OiBob3N0 IHRvIGd1ZXN0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2d1ZXN0 Ygl1ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMSAtQyAxMDAxMSAtNg0KK3NsZWVwCTENCituc291dAlM QVQgdWRwX3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAwMTEgLTYgLWMgLUggOjoxIHwgc2VkIC1u ICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDIwMCAxNTANCitucwlp cCBsaW5rIHNldCBkZXYgbG8gbXR1IDY1NTM1DQorDQorDQordHIJVURQIHRocm91Z2hwdXQgb3Zl ciBJUHY0OiBob3N0IHRvIGd1ZXN0DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSAyNTYNCitp cGVyZjMJQlcgbnMgZ3Vlc3QgMTI3LjAuMC4xIDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9f IF9fT1BUU19fIC1iIDFHDQorYncJX19CV19fIDAuMCAwLjANCitucwlpcCBsaW5rIHNldCBkZXYg bG8gbXR1IDU3Ng0KK2lwZXJmMwlCVyBucyBndWVzdCAxMjcuMC4wLjEgMTAwJHtpfTEgX19USFJF QURTX18gX19USU1FX18gX19PUFRTX18gLWIgMUcNCitidwlfX0JXX18gMC40IDAuNg0KK25zCWlw IGxpbmsgc2V0IGRldiBsbyBtdHUgMTI4MA0KK25zCWlwIGFkZHIgYWRkIDo6MSBkZXYgbG8NCitp cGVyZjMJQlcgbnMgZ3Vlc3QgMTI3LjAuMC4xIDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9f IF9fT1BUU19fIC1iIDNHDQorYncJX19CV19fIDAuOCAxLjINCitucwlpcCBsaW5rIHNldCBkZXYg bG8gbXR1IDE1MDANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgMTI3LjAuMC4xIDEwMCR7aX0xIF9fVEhS RUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDNHDQorYncJX19CV19fIDEuMCAxLjUNCitucwlp cCBsaW5rIHNldCBkZXYgbG8gbXR1IDkwMDANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgMTI3LjAuMC4x IDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDNHDQorYncJX19CV19f IDMuMCA0LjANCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDY1NTIwDQoraXBlcmYzCUJXIG5z IGd1ZXN0IDEyNy4wLjAuMSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAt YiAzRw0KK2J3CV9fQldfXyAzLjAgNC4wDQorDQordGwJVURQIFJSIGxhdGVuY3kgb3ZlciBJUHY0 OiBob3N0IHRvIGd1ZXN0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0K K2d1ZXN0Ygl1ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMSAtQyAxMDAxMSAtNA0KK3NsZWVwCTENCitu c291dAlMQVQgdWRwX3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAwMTEgLTQgLWMgLUggMTI3LjAu MC4xIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDIw MCAxNTANCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDY1NTM1DQorDQordGUNCmRpZmYgLS1n aXQgYS9vbGR0ZXN0L3BlcmYvcGFzdGFfdGNwIGIvb2xkdGVzdC9wZXJmL3Bhc3RhX3RjcA0KbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwLi40YjEzMzg0Yw0KLS0tIC9kZXYvbnVs bA0KKysrIGIvb2xkdGVzdC9wZXJmL3Bhc3RhX3RjcA0KQEAgLTAsMCArMSwzMDAgQEANCisjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQ bHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBz b2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24N CisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9w ZXJmL3Bhc3RhX3RjcCAtIENoZWNrIFRDUCBwZXJmb3JtYW5jZSBpbiBwYXN0YSBtb2RlDQorIw0K KyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJy aXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK2h0b29scwloZWFkIGlwIHNlcSBiYyBzbGVl cCBpcGVyZjMgdGNwX3JyIHRjcF9jcnIganEgc2VkDQorbnN0b29scwkvc2Jpbi9zeXNjdGwgbnBy b2MgaXAgc2VxIHNsZWVwIGlwZXJmMyB0Y3BfcnIgdGNwX2NyciBqcSBzZWQNCisNCit0ZXN0CXBh c3RhOiB0aHJvdWdocHV0IGFuZCBsYXRlbmN5IChsb2NhbCBjb25uZWN0aW9ucykNCisNCitucwkv c2Jpbi9zeXNjdGwgLXcgbmV0LmlwdjQudGNwX3JtZW09IjEzMTA3MiA1MjQyODggMTM0MjE3NzI4 Ig0KK25zCS9zYmluL3N5c2N0bCAtdyBuZXQuaXB2NC50Y3Bfd21lbT0iMTMxMDcyIDUyNDI4OCAx MzQyMTc3MjgiDQorbnMJL3NiaW4vc3lzY3RsIC13IG5ldC5pcHY0LnRjcF90aW1lc3RhbXBzPTAN CisNCisNCitzZXQJVEhSRUFEUyAyDQorc2V0CVNUUkVBTVMgMg0KK3NldAlUSU1FIDEwDQoraG91 dAlPTUlUIGVjaG8gX19USU1FX18gLyA2IHwgYmMgLWwNCitzZXQJT1BUUyAtWiAtdyA0TSAtbCAx TSAtUCBfX1NUUkVBTVNfXyAtT19fT01JVF9fIC0tcGFjaW5nLXRpbWVyIDEwMDAwDQorDQoraG91 dAlGUkVRX1BST0NGUyAoZWNobyAic2NhbGU9MSI7IHNlZCAtbiAncy9jcHUgTUh6Lio6IFwoWzAt OV0qXClcLi4qJC8oXDErMTBeMlwvMilcLzEwXjMvcCcgL3Byb2MvY3B1aW5mbykgfCBiYyAtbCB8 IGhlYWQgLW4xDQoraG91dAlGUkVRX0NQVUZSRVEgKGVjaG8gInNjYWxlPTEiOyBwcmludGYgJygg JWkgKyAxMF41IC8gMiApIC8gMTBeNlxuJyAkKGNhdCAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9j cHUwL2NwdWZyZXEvc2NhbGluZ19tYXhfZnJlcSkgKSB8IGJjIC1sDQoraG91dAlGUkVRIFsgLW4g Il9fRlJFUV9DUFVGUkVRX18iIF0gJiYgZWNobyBfX0ZSRVFfQ1BVRlJFUV9fIHx8IGVjaG8gX19G UkVRX1BST0NGU19fDQorDQorDQoraW5mbwlUaHJvdWdocHV0IGluIEdicHMsIGxhdGVuY3kgaW4g wrVzLCBfX1RIUkVBRFNfXyB0aHJlYWRzIGF0IF9fRlJFUV9fIEdIeiwgX19TVFJFQU1TX18gc3Ry ZWFtcyBlYWNoDQorcmVwb3J0CXBhc3RhIGxvX3RjcCBfX1RIUkVBRFNfXyBfX0ZSRVFfXw0KKw0K K3RoCU1UVSAxNTAwQiA0MDAwQiAxNjM4NEIgNjU1MzVCDQorDQorDQordHIJVENQIHRocm91Z2hw dXQgb3ZlciBJUHY2OiBucyB0byBob3N0DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSAxNTAw DQoraXBlcmYzCUJXIG5zIGhvc3QgOjoxIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9f T1BUU19fDQorYncJX19CV19fIDE1LjAgMjAuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUg NDAwMA0KK2lwZXJmM2MJbnMgOjoxIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BU U19fDQoraXBlcmYzcwlCVyBob3N0IDEwMCR7aX0zIF9fVEhSRUFEU19fDQorYncJX19CV19fIDE1 LjAgMjAuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgMTYzODQNCitpcGVyZjMJQlcgbnMg aG9zdCA6OjEgMTAwJHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlfX0JX X18gMTUuMCAyMC4wDQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSA2NTUzNQ0KK2lwZXJmMwlC VyBucyBob3N0IDo6MSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXw0KK2J3 CV9fQldfXyAxNS4wIDIwLjANCisNCit0bAlUQ1AgUlIgbGF0ZW5jeSBvdmVyIElQdjY6IG5zIHRv IGhvc3QNCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitob3N0Ygl0Y3BfcnIgLS1ub2xvZyAtUCAx MDAwMyAtQyAxMDAxMyAtNg0KK25zb3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAx MDAxMyAtNiAtYyAtSCA6OjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQor aG9zdHcNCitsYXQJX19MQVRfXyAxNTAgMTAwDQorDQordGwJVENQIENSUiBsYXRlbmN5IG92ZXIg SVB2NjogbnMgdG8gaG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hvc3RiCXRjcF9jcnIg LS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNg0KK25zb3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cg LVAgMTAwMDMgLUMgMTAwMTMgLTYgLWMgLUggOjoxIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwo LipcKS9cMS9wJw0KK2hvc3R3DQorbGF0CV9fTEFUX18gNTAwIDM1MA0KKw0KKw0KK3RyCVRDUCB0 aHJvdWdocHV0IG92ZXIgSVB2NDogbnMgdG8gaG9zdA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBt dHUgMTUwMA0KK2lwZXJmMwlCVyBucyBob3N0IDEyNy4wLjAuMSAxMDAke2l9MyBfX1RIUkVBRFNf XyBfX1RJTUVfXyBfX09QVFNfXw0KK2J3CV9fQldfXyAxNS4wIDIwLjANCitucwlpcCBsaW5rIHNl dCBkZXYgbG8gbXR1IDQwMDANCitpcGVyZjMJQlcgbnMgaG9zdCAxMjcuMC4wLjEgMTAwJHtpfTMg X19USFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlfX0JXX18gMTUuMCAyMC4wDQorbnMJ aXAgbGluayBzZXQgZGV2IGxvIG10dSAxNjM4NA0KK2lwZXJmMwlCVyBucyBob3N0IDEyNy4wLjAu MSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXw0KK2J3CV9fQldfXyAxNS4w IDIwLjANCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDY1NTM1DQoraXBlcmYzCUJXIG5zIGhv c3QgMTI3LjAuMC4xIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJ X19CV19fIDE1LjAgMjAuMA0KKw0KK3RsCVRDUCBSUiBsYXRlbmN5IG92ZXIgSVB2NDogbnMgdG8g aG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hvc3RiCXRjcF9yciAtLW5vbG9nIC1QIDEw MDAzIC1DIDEwMDEzIC00DQorbnNvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEw MDEzIC00IC1jIC1IIDEyNy4wLjAuMSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEv cCcNCitob3N0dw0KK2xhdAlfX0xBVF9fIDE1MCAxMDANCisNCit0bAlUQ1AgQ1JSIGxhdGVuY3kg b3ZlciBJUHY0OiBucyB0byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQoraG9zdGIJdGNw X2NyciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC00DQorbnNvdXQJTEFUIHRjcF9jcnIgLS1u b2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNCAtYyAtSCAxMjcuMC4wLjEgfCBzZWQgLW4gJ3MvXnRo cm91Z2hwdXQ9XCguKlwpL1wxL3AnDQoraG9zdHcNCitsYXQJX19MQVRfXyA1MDAgMzUwDQorDQor DQordHIJVENQIHRocm91Z2hwdXQgb3ZlciBJUHY2OiBob3N0IHRvIG5zDQorYncJLQ0KK2J3CS0N CitidwktDQoraXBlcmYzCUJXIGhvc3QgbnMgOjoxIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElN RV9fIF9fT1BUU19fDQorYncJX19CV19fIDE1LjAgMjAuMA0KKw0KK3RsCVRDUCBSUiBsYXRlbmN5 IG92ZXIgSVB2NjogaG9zdCB0byBucw0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl0Y3Bf cnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAtNg0KK2hvdXQJTEFUIHRjcF9yciAtLW5vbG9n IC1QIDEwMDAyIC1DIDEwMDEyIC02IC1jIC1IIDo6MSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1c KC4qXCkvXDEvcCcNCituc3cNCitsYXQJX19MQVRfXyAxNTAgMTAwDQorDQordGwJVENQIENSUiBs YXRlbmN5IG92ZXIgSVB2NjogaG9zdCB0byBucw0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25z Ygl0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTYNCitob3V0CUxBVCB0Y3BfY3Jy IC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTYgLWMgLUggOjoxIHwgc2VkIC1uICdzL150aHJv dWdocHV0PVwoLipcKS9cMS9wJw0KK25zdw0KK2xhdAlfX0xBVF9fIDEwMDAgNzAwDQorDQorDQor dHIJVENQIHRocm91Z2hwdXQgb3ZlciBJUHY0OiBob3N0IHRvIG5zDQorYncJLQ0KK2J3CS0NCiti dwktDQoraXBlcmYzCUJXIGhvc3QgbnMgMTI3LjAuMC4xIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9f VElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDE1LjAgMjAuMA0KKw0KK3RsCVRDUCBSUiBsYXRl bmN5IG92ZXIgSVB2NDogaG9zdCB0byBucw0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl0 Y3BfcnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAtNA0KK2hvdXQJTEFUIHRjcF9yciAtLW5v bG9nIC1QIDEwMDAyIC1DIDEwMDEyIC00IC1jIC1IIDEyNy4wLjAuMSB8IHNlZCAtbiAncy9edGhy b3VnaHB1dD1cKC4qXCkvXDEvcCcNCituc3cNCitsYXQJX19MQVRfXyAxNTAgMTAwDQorDQordGwJ VENQIENSUiBsYXRlbmN5IG92ZXIgSVB2NDogaG9zdCB0byBucw0KK2xhdAktDQorbGF0CS0NCits YXQJLQ0KK3NsZWVwCTENCituc2IJdGNwX2NyciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC00 DQoraG91dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC00IC1jIC1IIDEy Ny4wLjAuMSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCituc3cNCitsYXQJ X19MQVRfXyAxMDAwIDcwMA0KKw0KK3RlDQorDQorDQordGVzdAlwYXN0YTogdGhyb3VnaHB1dCBh bmQgbGF0ZW5jeSAoY29ubmVjdGlvbnMgdmlhIHRhcCkNCisNCituc291dAlHVyBpcCAtaiAtNCBy b3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5 Jw0KK25zb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5k c3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK25zb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cg fCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCitz ZXQJVEhSRUFEUyAxDQorc2V0CVNUUkVBTVMgMg0KK3NldAlPUFRTIC1aIC1QIF9fU1RSRUFNU19f IC1pMSAtT19fT01JVF9fIC0tcGFjaW5nLXRpbWVyIDEwMDAwMA0KKw0KK2luZm8JVGhyb3VnaHB1 dCBpbiBHYnBzLCBsYXRlbmN5IGluIMK1cywgb25lIHRocmVhZCBhdCBfX0ZSRVFfXyBHSHosIF9f U1RSRUFNU19fIHN0cmVhbXMNCityZXBvcnQJcGFzdGEgdGFwX3RjcCBfX1RIUkVBRFNfXyBfX0ZS RVFfXw0KKw0KK3RoCU1UVSAxNTAwQiA0MDAwQiAxNjM4NEIgNjU1MjBCDQorDQorDQordHIJVENQ IHRocm91Z2hwdXQgb3ZlciBJUHY2OiBucyB0byBob3N0DQorbnMJaXAgbGluayBzZXQgZGV2IF9f SUZOQU1FX18gbXR1IDE1MDANCitpcGVyZjMJQlcgbnMgaG9zdCBfX0dXNl9fJV9fSUZOQU1FX18g MTAwJHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLXcgNTEyaw0KK2J3CV9fQldf XyAwLjIgMC40DQorbnMJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDQwMDANCitpcGVy ZjMJQlcgbnMgaG9zdCBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtpfTMgX19USFJFQURTX18gX19U SU1FX18gX19PUFRTX18gLXcgMU0NCitidwlfX0JXX18gMC4zIDAuNQ0KK25zCWlwIGxpbmsgc2V0 IGRldiBfX0lGTkFNRV9fIG10dSAxNjM4NA0KK2lwZXJmMwlCVyBucyBob3N0IF9fR1c2X18lX19J Rk5BTUVfXyAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtdyA4TQ0KK2J3 CV9fQldfXyAxLjUgMi4wDQorbnMJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDY1NTIw DQoraXBlcmYzCUJXIG5zIGhvc3QgX19HVzZfXyVfX0lGTkFNRV9fIDEwMCR7aX0zIF9fVEhSRUFE U19fIF9fVElNRV9fIF9fT1BUU19fIC13IDhNDQorYncJX19CV19fIDIuMCAyLjUNCisNCit0bAlU Q1AgUlIgbGF0ZW5jeSBvdmVyIElQdjY6IG5zIHRvIGhvc3QNCitsYXQJLQ0KK2xhdAktDQorbGF0 CS0NCitob3N0Ygl0Y3BfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNg0KK25zb3V0CUxB VCB0Y3BfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNiAtYyAtSCBfX0dXNl9fJV9fSUZO QU1FX18gfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQoraG9zdHcNCitsYXQJ X19MQVRfXyAxNTAgMTAwDQorDQordGwJVENQIENSUiBsYXRlbmN5IG92ZXIgSVB2NjogbnMgdG8g aG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hvc3RiCXRjcF9jcnIgLS1ub2xvZyAtUCAx MDAwMyAtQyAxMDAxMyAtNg0KK25zb3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDMgLUMg MTAwMTMgLTYgLWMgLUggX19HVzZfXyVfX0lGTkFNRV9fIHwgc2VkIC1uICdzL150aHJvdWdocHV0 PVwoLipcKS9cMS9wJw0KK2hvc3R3DQorbGF0CV9fTEFUX18gMTUwMCA1MDANCisNCisNCit0cglU Q1AgdGhyb3VnaHB1dCBvdmVyIElQdjQ6IG5zIHRvIGhvc3QNCitucwlpcCBsaW5rIHNldCBkZXYg X19JRk5BTUVfXyBtdHUgMTUwMA0KK2lwZXJmMwlCVyBucyBob3N0IF9fR1dfXyAxMDAke2l9MyBf X1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtdyA1MTJrDQorYncJX19CV19fIDAuMiAwLjQN CitucwlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNDAwMA0KK2lwZXJmM3MJQlcgbnMg aG9zdCBfX0dXX18gMTAwJHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLXcgMU0N CitidwlfX0JXX18gMC4zIDAuNQ0KK25zCWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSAx NjM4NA0KK2lwZXJmMwlCVyBucyBob3N0IF9fR1dfXyAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJ TUVfXyBfX09QVFNfXyAtdyA4TQ0KK2J3CV9fQldfXyAxLjUgMi4wDQorbnMJaXAgbGluayBzZXQg ZGV2IF9fSUZOQU1FX18gbXR1IDY1NTIwDQoraXBlcmYzCUJXIG5zIGhvc3QgX19HV19fIDEwMCR7 aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC13IDhNDQorYncJX19CV19fIDIuMCAy LjUNCisNCit0bAlUQ1AgUlIgbGF0ZW5jeSBvdmVyIElQdjQ6IG5zIHRvIGhvc3QNCitsYXQJLQ0K K2xhdAktDQorbGF0CS0NCitob3N0Ygl0Y3BfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAt NA0KK25zb3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNCAtYyAtSCBf X0dXX18gfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQoraG9zdHcNCitsYXQJ X19MQVRfXyAxNTAgMTAwDQorDQordGwJVENQIENSUiBsYXRlbmN5IG92ZXIgSVB2NDogbnMgdG8g aG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hvc3RiCXRjcF9jcnIgLS1ub2xvZyAtUCAx MDAwMyAtQyAxMDAxMyAtNA0KK25zb3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDMgLUMg MTAwMTMgLTQgLWMgLUggX19HV19fIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9w Jw0KK2hvc3R3DQorbGF0CV9fTEFUX18gMTUwMCA1MDANCisNCisNCit0cglUQ1AgdGhyb3VnaHB1 dCBvdmVyIElQdjY6IGhvc3QgdG8gbnMNCituc291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwg anEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorbnNv dXQJQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUg PT0gIl9fSUZOQU1FX18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCguc2NvcGUgPT0gImdsb2JhbCIg YW5kIC5wcmVmaXhsZW4gPT0gNjQpLmxvY2FsJw0KK2J3CS0NCitidwktDQorYncJLQ0KK2lwZXJm MwlCVyBob3N0IG5zIF9fQUREUjZfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09Q VFNfXw0KK2J3CV9fQldfXyA4LjAgMTAuMA0KKw0KK3RsCVRDUCBSUiBsYXRlbmN5IG92ZXIgSVB2 NjogaG9zdCB0byBucw0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl0Y3BfcnIgLS1ub2xv ZyAtUCAxMDAwMiAtQyAxMDAxMiAtNg0KK2hvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC1QIDEwMDAy IC1DIDEwMDEyIC02IC1jIC1IIF9fQUREUjZfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4q XCkvXDEvcCcNCituc3cNCitsYXQJX19MQVRfXyAxNTAgMTAwDQorDQordGwJVENQIENSUiBsYXRl bmN5IG92ZXIgSVB2NjogaG9zdCB0byBucw0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK3NsZWVw CTENCituc2IJdGNwX2NyciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC02DQoraG91dAlMQVQg dGNwX2NyciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC02IC1jIC1IIF9fQUREUjZfXyB8IHNl ZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCituc3cNCitsYXQJX19MQVRfXyA1MDAw IDEwMDAwDQorDQorDQordHIJVENQIHRocm91Z2hwdXQgb3ZlciBJUHY0OiBob3N0IHRvIG5zDQor bnNvdXQJQUREUiBpcCAtaiAtNCBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFt ZSA9PSAiX19JRk5BTUVfXyIpLmFkZHJfaW5mb1swXS5sb2NhbCcNCitidwktDQorYncJLQ0KK2J3 CS0NCitpcGVyZjMJQlcgaG9zdCBucyBfX0FERFJfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJ TUVfXyBfX09QVFNfXw0KK2J3CV9fQldfXyA4LjAgMTAuMA0KKw0KK3RsCVRDUCBSUiBsYXRlbmN5 IG92ZXIgSVB2NDogaG9zdCB0byBucw0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl0Y3Bf cnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAtNA0KK2hvdXQJTEFUIHRjcF9yciAtLW5vbG9n IC1QIDEwMDAyIC1DIDEwMDEyIC00IC1jIC1IIF9fQUREUl9fIHwgc2VkIC1uICdzL150aHJvdWdo cHV0PVwoLipcKS9cMS9wJw0KK25zdw0KK2xhdAlfX0xBVF9fIDE1MCAxMDANCisNCit0bAlUQ1Ag Q1JSIGxhdGVuY3kgb3ZlciBJUHY0OiBob3N0IHRvIG5zDQorbGF0CS0NCitsYXQJLQ0KK2xhdAkt DQorc2xlZXAJMQ0KK25zYgl0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTQNCito b3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTQgLWMgLUggX19BRERS X18gfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbnN3DQorbGF0CV9fTEFU X18gNTAwMCAxMDAwMA0KKw0KK3RlDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wZXJmL3Bhc3RhX3Vk cCBiL29sZHRlc3QvcGVyZi9wYXN0YV91ZHANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwMC4uNzAwN2I2ZmENCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGVyZi9wYXN0 YV91ZHANCkBAIC0wLDAgKzEsMjE5IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNw b3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAt IFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNl L3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGVyZi9wYXN0YV91ZHAgLSBDaGVjayBVRFAg cGVyZm9ybWFuY2UgaW4gcGFzdGEgbW9kZQ0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQg SGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4N CisNCitodG9vbHMJYmMgaGVhZCBpcCBzbGVlcCBpcGVyZjMgdWRwX3JyIGpxIHNlZA0KK25zdG9v bHMJaXAgc2xlZXAgaXBlcmYzIHVkcF9yciBqcSBzZWQNCisNCit0ZXN0CXBhc3RhOiB0aHJvdWdo cHV0IGFuZCBsYXRlbmN5IChsb2NhbCB0cmFmZmljKQ0KKw0KK2hvdXQJRlJFUV9QUk9DRlMgKGVj aG8gInNjYWxlPTEiOyBzZWQgLW4gJ3MvY3B1IE1Iei4qOiBcKFswLTldKlwpXC4uKiQvKFwxKzEw XjJcLzIpXC8xMF4zL3AnIC9wcm9jL2NwdWluZm8pIHwgYmMgLWwgfCBoZWFkIC1uMQ0KK2hvdXQJ RlJFUV9DUFVGUkVRIChlY2hvICJzY2FsZT0xIjsgcHJpbnRmICcoICVpICsgMTBeNSAvIDIgKSAv IDEwXjZcbicgJChjYXQgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1MC9jcHVmcmVxL3NjYWxp bmdfbWF4X2ZyZXEpICkgfCBiYyAtbA0KK2hvdXQJRlJFUSBbIC1uICJfX0ZSRVFfQ1BVRlJFUV9f IiBdICYmIGVjaG8gX19GUkVRX0NQVUZSRVFfXyB8fCBlY2hvIF9fRlJFUV9QUk9DRlNfXw0KKw0K K3NldAlUSFJFQURTIDENCitzZXQJU1RSRUFNUyA0DQorc2V0CVRJTUUgMTANCitzZXQJT1BUUyAt dSAtUCBfX1NUUkVBTVNfXw0KKw0KK2luZm8JVGhyb3VnaHB1dCBpbiBHYnBzLCBsYXRlbmN5IGlu IMK1cywgb25lIHRocmVhZCBhdCBfX0ZSRVFfXyBHSHosIF9fU1RSRUFNU19fIHN0cmVhbXMNCisN CityZXBvcnQJcGFzdGEgbG9fdWRwIDEgX19GUkVRX18NCisNCit0aAlNVFUgMTUwMEIgNDAwMEIg MTYzODRCIDY1NTM1Qg0KKw0KKw0KK3RyCVVEUCB0aHJvdWdocHV0IG92ZXIgSVB2NjogbnMgdG8g aG9zdA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgMTUwMA0KK2lwZXJmMwlCVyBucyBob3N0 IDo6MSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAzRw0KK2J3CV9f QldfXyAxLjAgMS41DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSA0MDAwDQoraXBlcmYzCUJX IG5zIGhvc3QgOjoxIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDNH DQorYncJX19CV19fIDEuMiAxLjgNCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDE2Mzg0DQor aXBlcmYzCUJXIG5zIGhvc3QgOjoxIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BU U19fIC1iIDEwRw0KK2J3CV9fQldfXyA1LjAgNi4wDQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10 dSA2NTUzNQ0KK2lwZXJmMwlCVyBucyBob3N0IDo6MSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJ TUVfXyBfX09QVFNfXyAtYiAxNUcNCitidwlfX0JXX18gNy4wIDkuMA0KKw0KK3RsCVVEUCBSUiBs YXRlbmN5IG92ZXIgSVB2NjogbnMgdG8gaG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hv c3RiCXVkcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02DQorbnNvdXQJTEFUIHVkcF9y ciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02IC1jIC1IIDo6MSB8IHNlZCAtbiAncy9edGhy b3VnaHB1dD1cKC4qXCkvXDEvcCcNCitob3N0dw0KK2xhdAlfX0xBVF9fIDIwMCAxNTANCisNCisN Cit0cglVRFAgdGhyb3VnaHB1dCBvdmVyIElQdjQ6IG5zIHRvIGhvc3QNCitucwlpcCBsaW5rIHNl dCBkZXYgbG8gbXR1IDE1MDANCitpcGVyZjMJQlcgbnMgaG9zdCAxMjcuMC4wLjEgMTAwJHtpfTMg X19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgM0cNCitidwlfX0JXX18gMS4wIDEuNQ0K K25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgNDAwMA0KK2lwZXJmMwlCVyBucyBob3N0IDEyNy4w LjAuMSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAzRw0KK2J3CV9f QldfXyAxLjIgMS44DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSAxNjM4NA0KK2lwZXJmMwlC VyBucyBob3N0IDEyNy4wLjAuMSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNf XyAtYiAxMEcNCitidwlfX0JXX18gNS4wIDYuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUg NjU1MzUNCitpcGVyZjMJQlcgbnMgaG9zdCAxMjcuMC4wLjEgMTAwJHtpfTMgX19USFJFQURTX18g X19USU1FX18gX19PUFRTX18gLWIgMTVHDQorYncJX19CV19fIDcuMCA5LjANCisNCit0bAlVRFAg UlIgbGF0ZW5jeSBvdmVyIElQdjQ6IG5zIHRvIGhvc3QNCitsYXQJLQ0KK2xhdAktDQorbGF0CS0N Citob3N0Ygl1ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNA0KK25zb3V0CUxBVCB1 ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNCAtYyAtSCAxMjcuMC4wLjEgfCBzZWQg LW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQoraG9zdHcNCitsYXQJX19MQVRfXyAyMDAg MTUwDQorDQorDQordHIJVURQIHRocm91Z2hwdXQgb3ZlciBJUHY2OiBob3N0IHRvIG5zDQorYncJ LQ0KK2J3CS0NCitidwktDQorI2lwZXJmM2MJaG9zdCA6OjEgMTAwJHtpfTIgX19USFJFQURTX18g X19USU1FX18gX19PUFRTX18gLWIgMTVHDQorI2lwZXJmM3MJQlcgbnMgMTAwJHtpfTIgX19USFJF QURTX18NCitpcGVyZjMJQlcgaG9zdCBucyA6OjEgMTAwJHtpfTIgX19USFJFQURTX18gX19USU1F X18gX19PUFRTX18gLWIgMTVHDQorYncJX19CV19fIDcuMCA5LjANCisNCit0bAlVRFAgUlIgbGF0 ZW5jeSBvdmVyIElQdjY6IGhvc3QgdG8gbnMNCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCituc2IJ dWRwX3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTYNCitob3V0CUxBVCB1ZHBfcnIgLS1u b2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAtNiAtYyAtSCA6OjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hw dXQ9XCguKlwpL1wxL3AnDQorbnN3DQorbGF0CV9fTEFUX18gMjAwIDE1MA0KKw0KKw0KK3RyCVVE UCB0aHJvdWdocHV0IG92ZXIgSVB2NDogaG9zdCB0byBucw0KK2J3CS0NCitidwktDQorYncJLQ0K KyNpcGVyZjNjCWhvc3QgMTI3LjAuMC4xIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9f T1BUU19fIC1iIDE1Rw0KKyNpcGVyZjNzCUJXIG5zIDEwMCR7aX0yIF9fVEhSRUFEU19fDQoraXBl cmYzCUJXIGhvc3QgbnMgMTI3LjAuMC4xIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9f T1BUU19fIC1iIDE1Rw0KK2J3CV9fQldfXyA3LjAgOS4wDQorDQordGwJVURQIFJSIGxhdGVuY3kg b3ZlciBJUHY0OiBob3N0IHRvIG5zDQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbnNiCXVkcF9y ciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC00DQoraG91dAlMQVQgdWRwX3JyIC0tbm9sb2cg LVAgMTAwMDIgLUMgMTAwMTIgLTQgLWMgLUggMTI3LjAuMC4xIHwgc2VkIC1uICdzL150aHJvdWdo cHV0PVwoLipcKS9cMS9wJw0KK25zdw0KK2xhdAlfX0xBVF9fIDIwMCAxNTANCisNCit0ZQ0KKw0K Kw0KKw0KK3Rlc3QJcGFzdGE6IHRocm91Z2hwdXQgYW5kIGxhdGVuY3kgKHRyYWZmaWMgdmlhIHRh cCkNCisNCituc291dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0 KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK25zb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBz aG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK25z b3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190 eXBlID09ICJldGhlciIpLmlmbmFtZScNCisNCitpbmZvCVRocm91Z2hwdXQgaW4gR2JwcywgbGF0 ZW5jeSBpbiDCtXMsIG9uZSB0aHJlYWQgYXQgX19GUkVRX18gR0h6LCBfX1NUUkVBTVNfXyBzdHJl YW1zDQorcmVwb3J0CXBhc3RhIHRhcF91ZHAgMSBfX0ZSRVFfXw0KKw0KK3RoCU1UVSAxNTAwQiA0 MDAwQiAxNjM4NEIgNjU1MjBCDQorDQordHIJVURQIHRocm91Z2hwdXQgb3ZlciBJUHY2OiBucyB0 byBob3N0DQorbnMJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDE1MDANCitpcGVyZjMJ QlcgbnMgaG9zdCBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtpfTMgX19USFJFQURTX18gX19USU1F X18gX19PUFRTX18gLWIgMkcNCitidwlfX0JXX18gMC4zIDAuNQ0KK25zCWlwIGxpbmsgc2V0IGRl diBfX0lGTkFNRV9fIG10dSA0MDAwDQoraXBlcmYzCUJXIG5zIGhvc3QgX19HVzZfXyVfX0lGTkFN RV9fIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDNHDQorYncJX19C V19fIDAuNSAwLjgNCitucwlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgMTYzODQNCitp cGVyZjMJQlcgbnMgaG9zdCBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtpfTMgX19USFJFQURTX18g X19USU1FX18gX19PUFRTX18gLWIgNEcNCitidwlfX0JXX18gMy4wIDQuMA0KK25zCWlwIGxpbmsg c2V0IGRldiBfX0lGTkFNRV9fIG10dSA2NTUyMA0KK2lwZXJmMwlCVyBucyBob3N0IF9fR1c2X18l X19JRk5BTUVfXyAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiA2Rw0K K2J3CV9fQldfXyA2LjAgNy4wDQorDQordGwJVURQIFJSIGxhdGVuY3kgb3ZlciBJUHY2OiBucyB0 byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQoraG9zdGIJdWRwX3JyIC0tbm9sb2cgLVAg MTAwMDMgLUMgMTAwMTMgLTYNCituc291dAlMQVQgdWRwX3JyIC0tbm9sb2cgLVAgMTAwMDMgLUMg MTAwMTMgLTYgLWMgLUggX19HVzZfXyVfX0lGTkFNRV9fIHwgc2VkIC1uICdzL150aHJvdWdocHV0 PVwoLipcKS9cMS9wJw0KK2hvc3R3DQorbGF0CV9fTEFUX18gMjAwIDE1MA0KKw0KKw0KK3RyCVVE UCB0aHJvdWdocHV0IG92ZXIgSVB2NDogbnMgdG8gaG9zdA0KK25zCWlwIGxpbmsgc2V0IGRldiBf X0lGTkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJXIG5zIGhvc3QgX19HV19fIDEwMCR7aX0zIF9f VEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDJHDQorYncJX19CV19fIDAuMyAwLjUNCitu cwlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNDAwMA0KK2lwZXJmMwlCVyBucyBob3N0 IF9fR1dfXyAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAzRw0KK2J3 CV9fQldfXyAwLjUgMC44DQorbnMJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDE2Mzg0 DQoraXBlcmYzCUJXIG5zIGhvc3QgX19HV19fIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9f IF9fT1BUU19fIC1iIDRHDQorYncJX19CV19fIDMuMCA0LjANCitucwlpcCBsaW5rIHNldCBkZXYg X19JRk5BTUVfXyBtdHUgNjU1MjANCitpcGVyZjMJQlcgbnMgaG9zdCBfX0dXX18gMTAwJHtpfTMg X19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgNkcNCitidwlfX0JXX18gNi4wIDcuMA0K Kw0KK3RsCVVEUCBSUiBsYXRlbmN5IG92ZXIgSVB2NDogbnMgdG8gaG9zdA0KK2xhdAktDQorbGF0 CS0NCitsYXQJLQ0KK2hvc3RiCXVkcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC00DQor bnNvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC00IC1jIC1IIF9fR1df XyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitob3N0dw0KK2xhdAlfX0xB VF9fIDIwMCAxNTANCisNCisNCit0cglVRFAgdGhyb3VnaHB1dCBvdmVyIElQdjY6IGhvc3QgdG8g bnMNCituc291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3Qo LmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorbnNvdXQJQUREUjYgaXAgLWogLTYgYWRk ciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FX18iKS5hZGRy X2luZm9bXSB8IHNlbGVjdCguc2NvcGUgPT0gImdsb2JhbCIgYW5kIC5wcmVmaXhsZW4gPT0gNjQp LmxvY2FsJw0KK2J3CS0NCitidwktDQorYncJLQ0KK2lwZXJmMwlCVyBob3N0IG5zIF9fQUREUjZf XyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAxNUcNCitidwlfX0JX X18gNy4wIDkuMA0KKw0KK3RsCVVEUCBSUiBsYXRlbmN5IG92ZXIgSVB2NjogaG9zdCB0byBucw0K K2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl1ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAx MDAxMiAtNg0KK2hvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC02IC1j IC1IIF9fQUREUjZfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCituc3cN CitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQorDQordHIJVURQIHRocm91Z2hwdXQgb3ZlciBJUHY0 OiBob3N0IHRvIG5zDQorbnNvdXQJQUREUiBpcCAtaiAtNCBhZGRyIHNob3d8anEgLXJNICcuW10g fCBzZWxlY3QoLmlmbmFtZSA9PSAiX19JRk5BTUVfXyIpLmFkZHJfaW5mb1swXS5sb2NhbCcNCiti dwktDQorYncJLQ0KK2J3CS0NCitpcGVyZjMJQlcgaG9zdCBucyBfX0FERFJfXyAxMDAke2l9MiBf X1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAxNUcNCitidwlfX0JXX18gNy4wIDkuMA0K Kw0KK3RsCVVEUCBSUiBsYXRlbmN5IG92ZXIgSVB2NDogaG9zdCB0byBucw0KK2xhdAktDQorbGF0 CS0NCitsYXQJLQ0KK25zYgl1ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAtNA0KK2hv dXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC00IC1jIC1IIF9fQUREUl9f IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK25zdw0KK2xhdAlfX0xBVF9f IDIwMCAxNTANCisNCit0ZQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcHJlcGFyZS1kaXN0cm8taW1n LnNoIGIvb2xkdGVzdC9wcmVwYXJlLWRpc3Ryby1pbWcuc2gNCm5ldyBmaWxlIG1vZGUgMTAwNzU1 DQppbmRleCAwMDAwMDAwMC4uNDZiYzEyNjkNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3Qv cHJlcGFyZS1kaXN0cm8taW1nLnNoDQpAQCAtMCwwICsxLDE4IEBADQorIyEgL2Jpbi9zaCAtZQ0K Kw0KK0lNRz0iJDEiDQorUEFTU1RfRklMRVM9IiQoZWNobyAuLi8qLmMgLi4vKi5oIC4uLyouc2gg Li4vKi4xIC4uL01ha2VmaWxlIC4uL1JFQURNRS5tZCkiDQorDQordmlydC1lZGl0IC1hICRJTUcg L2xpYi9zeXN0ZW1kL3N5c3RlbS9zZXJpYWwtZ2V0dHlALnNlcnZpY2UgLWUgJ3MvRXhlY1N0YXJ0 PS4qL0V4ZWNTdGFydD1cL3NiaW5cL2FnZXR0eSAtLWF1dG9sb2dpbiByb290IC04IC0ta2VlcC1i YXVkIDExNTIwMCwzODQwMCw5NjAwICVJICRURVJNL2cnDQorDQorZ3Vlc3RmaXNoIC0tcncgLWEg JElNRyAtaSA8PEVPRg0KK3JtLWYgL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vY2xvdWQtY29uZmln LnNlcnZpY2UNCitybS1mIC91c3IvbGliL3N5c3RlbWQvc3lzdGVtL2Nsb3VkLWluaXQuc2Vydmlj ZQ0KK3JtLWYgL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vY2xvdWQtaW5pdC1sb2NhbC5zZXJ2aWNl DQorcm0tZiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9jbG91ZC1maW5hbC5zZXJ2aWNlDQorcm0t ZiAvZXRjL2luaXQuZC9jbG91ZC1jb25maWcNCitybS1mIC9ldGMvaW5pdC5kL2Nsb3VkLWZpbmFs DQorcm0tZiAvZXRjL2luaXQuZC9jbG91ZC1pbml0DQorcm0tZiAvZXRjL2luaXQuZC9jbG91ZC1p bml0LWxvY2FsDQorY29weS1pbiAkUEFTU1RfRklMRVMgL3Jvb3QvDQorRU9GDQpkaWZmIC0tZ2l0 IGEvb2xkdGVzdC9ydW4gYi9vbGR0ZXN0L3J1bg0KbmV3IGZpbGUgbW9kZSAxMDA3NTUNCmluZGV4 IDAwMDAwMDAwLi43NTMwOWY2Ng0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9ydW4NCkBA IC0wLDAgKzEsMjM4IEBADQorIyEvYmluL3NoIC1lDQorIw0KKyMgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29j a2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0K KyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3Jr IG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L3J1biAtIEVudHJ5IHBvaW50 IHRvIHJ1biB0ZXN0IGNhc2VzIGFuZCBkZW1vDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJl ZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29t Pg0KKw0KKyMgU3RhcnQgYW4gWCB0ZXJtaW5hbCBhbmQgY2FwdHVyZSBhIHZpZGVvIG9mIHRoZSB0 ZXN0IHJ1biAoYWxzbyBzZXQgZm9yIC4vY2kpDQorQ0k9JHtDSTotMH0NCisNCisjIFN0YXJ0IGFu IFggdGVybWluYWwgYW5kIHNob3cgdGhlIGRlbW8gKGFsc28gc2V0IGZvciAuL2RlbW8pDQorREVN Tz0ke0RFTU86LTB9DQorDQorIyBCYXNlIHBhdGggZm9yIG91dHB1dCBmaWxlcw0KK0JBU0VQQVRI PSR7QkFTRVBBVEg6LSIkKHB3ZCkifQ0KKw0KKyMgTG9jYXRpb24gb2YgbG9nIGZpbGVzIGZvciB0 ZXN0IHJ1bg0KK0xPR0RJUj0ke0xPR0RJUjotIiR7QkFTRVBBVEh9L3Rlc3RfbG9ncyJ9DQorTE9H RklMRT0ke0xPR0ZJTEU6LSIke0xPR0RJUn0vdGVzdC5sb2cifQ0KKw0KKyMgSWYgc2V0LCBza2lw IHR5cGluZyBkZWxheXMgd2hpbGUgaXNzdWluZyBjb21tYW5kcyBpbiBwYW5lcw0KK0ZBU1Q9JHtG QVNUOi0xfQ0KKw0KKyMgSWYgc2V0LCBydW4gcGFzc3QgYW5kIHBhc3RhIHdpdGggZGVidWcgb3B0 aW9ucw0KK0RFQlVHPSR7REVCVUc6LTB9DQorDQorIyBJZiBzZXQsIHJ1biBwYXNzdCBhbmQgcGFz dGEgd2l0aCB0cmFjZSBvcHRpb25zDQorVFJBQ0U9JHtUUkFDRTotMH0NCisNCisjIElmIHNldCwg dGVsbCBwYXNzdCBhbmQgcGFzdGEgdG8gdGFrZSBwYWNrZXQgY2FwdHVyZXMNCitQQ0FQPSR7UENB UDotMH0NCisNCitDT01NSVQ9IiQoZ2l0IGxvZyAtLW9uZWxpbmUgLS1uby1kZWNvcmF0ZSAtMSki DQorDQorLiBsaWIvdXRpbA0KKy4gbGliL2NvbnRleHQNCisuIGxpYi9zZXR1cA0KKy4gbGliL3Nl dHVwX3VnbHkNCisuIGxpYi90ZXJtDQorLiBsaWIvcGVyZl9yZXBvcnQNCisuIGxpYi9sYXlvdXQN CisuIGxpYi9sYXlvdXRfdWdseQ0KKy4gbGliL3Rlc3QNCisuIGxpYi92aWRlbw0KKw0KKyMgY2xl YW51cCgpIC0gUmVtb3ZlIHRlbXBvcmFyeSBmaWxlcw0KK2NsZWFudXAoKSB7DQorCVsgJHtERUJV R30gLWVxIDEgXSB8fCBybSAtcmYgIiR7U1RBVEVCQVNFfSINCit9DQorDQorIyBydW4oKSAtIENh bGwgc2V0dXAgZnVuY3Rpb25zLCBydW4gdGVzdHMsIGhhbmRsZSBleGl0IGZyb20gdGVzdCBzZXNz aW9uDQorcnVuKCkgew0KKwlta2ZpZm8gJFNUQVRFQkFTRS9sb2dfcGlwZQ0KKw0KKwl0ZXJtDQor CXBlcmZfaW5pdA0KKwlbICR7Q0l9IC1lcSAxIF0gICAmJiB2aWRlb19zdGFydCBjaQ0KKw0KKwlz ZXR1cCBidWlsZA0KKyMJdGVzdCBidWlsZC9hbGwNCisjCXRlc3QgYnVpbGQvY3BwY2hlY2sNCisj CXRlc3QgYnVpbGQvY2xhbmdfdGlkeQ0KKwl0ZWFyZG93biBidWlsZA0KKw0KKyMJc2V0dXAgcGFz dGENCisjCXRlc3QgcGFzdGEvbmRwDQorIwl0ZXN0IHBhc3RhL2RoY3ANCisjCXRlc3QgcGFzdGEv dGNwDQorIwl0ZXN0IHBhc3RhL3VkcA0KKyMJdGVzdCBwYXNzdC9zaHV0ZG93bg0KKyMJdGVhcmRv d24gcGFzdGENCisNCisjCXNldHVwIHBhc3RhX29wdGlvbnMNCisjCXRlc3QgcGFzdGFfb3B0aW9u cy9sb2dfdG9fZmlsZQ0KKyMJdGVhcmRvd24gcGFzdGFfb3B0aW9ucw0KKw0KKyMJc2V0dXAgbWVt b3J5DQorIwl0ZXN0IG1lbW9yeS9wYXNzdA0KKyMJdGVhcmRvd24gbWVtb3J5DQorDQorIwlzZXR1 cCBwYXNzdA0KKyMJdGVzdCBwYXNzdC9uZHANCisjCXRlc3QgcGFzc3QvZGhjcA0KKyMJdGVzdCBw YXNzdC90Y3ANCisjCXRlc3QgcGFzc3QvdWRwDQorIwl0ZXN0IHBhc3N0L3NodXRkb3duDQorIwl0 ZWFyZG93biBwYXNzdA0KKw0KKyMJVkFMR1JJTkQ9MQ0KKyMJc2V0dXAgcGFzc3RfaW5fbnMNCisj CXRlc3QgcGFzc3QvbmRwDQorIwl0ZXN0IHBhc3N0L2RoY3ANCisjCXRlc3QgcGFzc3RfaW5fbnMv aWNtcA0KKyMJdGVzdCBwYXNzdF9pbl9ucy90Y3ANCisjCXRlc3QgcGFzc3RfaW5fbnMvdWRwDQor Iwl0ZXN0IHBhc3N0X2luX25zL3NodXRkb3duDQorIwl0ZWFyZG93biBwYXNzdF9pbl9ucw0KKw0K KyMJc2V0dXAgdHdvX2d1ZXN0cw0KKyMJdGVzdCB0d29fZ3Vlc3RzL2Jhc2ljDQorIwl0ZWFyZG93 biB0d29fZ3Vlc3RzDQorDQorIwlWQUxHUklORD0wDQorIwlzZXR1cCBwYXNzdF9pbl9ucw0KKyMJ dGVzdCBwYXNzdC9uZHANCisjCXRlc3QgcGFzc3QvZGhjcA0KKyMJdGVzdCBwZXJmL3Bhc3N0X3Rj cA0KKyMJdGVzdCBwZXJmL3Bhc3N0X3VkcA0KKyMJdGVzdCBwZXJmL3Bhc3RhX3RjcA0KKyMJdGVz dCBwZXJmL3Bhc3RhX3VkcA0KKyMJdGVzdCBwYXNzdF9pbl9ucy9zaHV0ZG93bg0KKyMJdGVhcmRv d24gcGFzc3RfaW5fbnMNCisNCisJIyBUT0RPOiBNYWtlIHRob3NlIGZhc3RlciBieSBhdCBsZWFz dCBwcmUtaW5zdGFsbGluZyBnY2MgYW5kIG1ha2Ugb24NCisJIyBub24teDg2IGltYWdlcywgdGhl biByZS1lbmFibGUuDQorc2tpcF9kaXN0cm8oKSB7DQorCXNldHVwIGRpc3Rybw0KKwl0ZXN0IGRp c3Ryby9kZWJpYW4NCisJdGVzdCBkaXN0cm8vZmVkb3JhDQorCXRlc3QgZGlzdHJvL29wZW5zdXNl DQorCXRlc3QgZGlzdHJvL3VidW50dQ0KKwl0ZWFyZG93biBkaXN0cm8NCit9DQorDQorCXBlcmZf ZmluaXNoDQorCVsgJHtDSX0gLWVxIDEgXSAmJiB2aWRlb19zdG9wDQorDQorCWxvZyAiUEFTUzog JHtTVEFUVVNfUEFTU30sIEZBSUw6ICR7U1RBVFVTX0ZBSUx9Ig0KKw0KKwlwYXVzZV9jb250aW51 ZSBcDQorCQkiUHJlc3MgYW55IGtleSB0byBrZWVwIHRlc3Qgc2Vzc2lvbiBvcGVuIglcDQorCQki Q2xvc2luZyBpbiAiCQkJCQlcDQorCQkiSW50ZXJydXB0ZWQsIHByZXNzIGFueSBrZXkgdG8gcXVp dCIJCVwNCisJCTkNCisNCisJcmV0dXJuIDANCit9DQorDQorIyBydW5fc2VsZWN0ZWQoKSAtIFJ1 biBsaXN0IG9mIHRlc3RzLCB3aXRoIHNldHVwL3RlYXJkb3duIGJhc2VkIG9uIHRlc3QgcGF0aA0K KyMgJEA6CUxpc3Qgb2YgdGVzdHMNCitydW5fc2VsZWN0ZWQoKSB7DQorCW1rZmlmbyAkU1RBVEVC QVNFL2xvZ19waXBlDQorDQorCXRlcm0NCisJVkFMR1JJTkQ9MQ0KKw0KKwlfX3NldHVwPQ0KKwlm b3IgX190ZXN0OyBkbw0KKwkJaWYgWyAiJHtfX3Rlc3QlJS8qfSIgIT0gIiR7X19zZXR1cH0iIF07 IHRoZW4NCisJCQlbIC1uICIke19fc2V0dXB9IiBdICYmIHRlYXJkb3duICIke19fc2V0dXB9Ig0K KwkJCV9fc2V0dXA9IiR7X190ZXN0JSUvKn0iDQorCQkJc2V0dXAgIiR7X19zZXR1cH0iDQorCQlm aQ0KKw0KKwkJdGVzdCAiJHtfX3Rlc3R9Ig0KKwlkb25lDQorCXRlYXJkb3duICIke19fc2V0dXB9 Ig0KKw0KKwlsb2cgIlBBU1M6ICR7U1RBVFVTX1BBU1N9LCBGQUlMOiAke1NUQVRVU19GQUlMfSIN CisNCisJcGF1c2VfY29udGludWUgXA0KKwkJIlByZXNzIGFueSBrZXkgdG8ga2VlcCB0ZXN0IHNl c3Npb24gb3BlbiIJXA0KKwkJIkNsb3NpbmcgaW4gIgkJCQkJXA0KKwkJIkludGVycnVwdGVkLCBw cmVzcyBhbnkga2V5IHRvIHF1aXQiCQlcDQorCQk5DQorDQorCXJldHVybiAwDQorfQ0KKw0KKyMg ZGVtbygpIC0gU2ltcGxlciBwYXRoIGZvciBkZW1vIHB1cnBvc2VzDQorZGVtbygpIHsNCisJbWtm aWZvICRTVEFURUJBU0UvbG9nX3BpcGUNCisNCisJRkFTVD0wDQorDQorCXRlcm1fZGVtbw0KKw0K KwlsYXlvdXRfZGVtb19wYXNzdA0KKwl2aWRlb19zdGFydCBkZW1vX3Bhc3N0DQorCXRlc3QgZGVt by9wYXNzdA0KKwl2aWRlb19zdG9wDQorCXRlYXJkb3duIGRlbW9fcGFzc3QNCisNCisJbGF5b3V0 X2RlbW9fcGFzdGENCisJdmlkZW9fc3RhcnQgZGVtb19wYXN0YQ0KKwl0ZXN0IGRlbW8vcGFzdGEN CisJdmlkZW9fc3RvcA0KKwl0ZWFyZG93biBkZW1vX3Bhc3RhDQorDQorCWxheW91dF9kZW1vX3Bv ZG1hbg0KKwl2aWRlb19zdGFydCBkZW1vX3BvZG1hbg0KKwl0ZXN0IGRlbW8vcG9kbWFuDQorCXZp ZGVvX3N0b3ANCisJdGVhcmRvd25fZGVtb19wb2RtYW4NCisNCisJcmV0dXJuIDANCit9DQorDQor WyAiJChiYXNlbmFtZSAiJHswfSIpIiA9ICJjaSIgXSAgICAgICAmJiBDST0xDQorWyAiJChiYXNl bmFtZSAiJHswfSIpIiA9ICJydW5fZGVtbyIgXSAmJiBERU1PPTENCisNCitpZiBbICIkezF9IiA9 ICJmcm9tX3Rlcm0iIF07IHRoZW4NCisJc2hpZnQNCisNCisJZXhlYyA+ICR7TE9HRElSfS9zY3Jp cHQubG9nIDI+JjENCisJWyAke0RFQlVHfSAtZXEgMSBdICYmIHNldCAteA0KKwljZCAuLg0KKwlp ZiBbICR7REVNT30gLWVxIDEgXTsgdGhlbg0KKwkJZGVtbw0KKwllbGlmIFsgLW4gIiR7MX0iIF07 IHRoZW4NCisJCXJ1bl9zZWxlY3RlZCAkeyp9DQorCWVsc2UNCisJCXJ1bg0KKwlmaQ0KKwl0bXV4 IGtpbGwtc2Vzc2lvbiAtdCBwYXNzdF90ZXN0DQorCWV4aXQNCitlbHNlDQorCXJtIC1yZiAiJHtM T0dESVJ9Ig0KKwlta2RpciAtcCAiJHtMT0dESVJ9Ig0KKwk6PiAiJHtMT0dGSUxFfSINCisJU1RB VEVCQVNFPSIkKG1rdGVtcCAtZCAtLXRtcGRpciBwYXNzdC10ZXN0cy1YWFhYWFgpIg0KKwl0cmFw ICJjbGVhbnVwIiBFWElUDQorCXJ1bl90ZXJtICR7Kn0NCitmaQ0KKw0KK1sgJHtERU1PfSAtZXEg MSBdICYmIGV4aXQgMA0KKw0KK3RhaWwgLW4xICR7TE9HRklMRX0NCitlY2hvICJMb2cgYXQgJHtM T0dGSUxFfSINCitleGl0ICQodGFpbCAtbjEgJHtMT0dGSUxFfSB8IHNlZCAtbiAncy8uKkZBSUw6 IFwoLipcKSQvXDEvcCcpDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9ydW5fZGVtbyBiL29sZHRlc3Qv cnVuX2RlbW8NCm5ldyBmaWxlIG1vZGUgMTIwMDAwDQppbmRleCAwMDAwMDAwMC4uZTUyMjRkNTMN Ci0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcnVuX2RlbW8NCkBAIC0wLDAgKzEgQEANCity dW4NClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvdHdv X2d1ZXN0cy9iYXNpYyBiL29sZHRlc3QvdHdvX2d1ZXN0cy9iYXNpYw0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwLi4wOWZiZDNlZg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xk dGVzdC90d29fZ3Vlc3RzL2Jhc2ljDQpAQCAtMCwwICsxLDgwIEBADQorIyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBs ZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUN CisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5l dHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvdHdvX2d1ZXN0cy9i YXNpYyAtIENoZWNrIGJhc2ljIGZ1bmN0aW9uYWxpdHkgd2l0aCB0d28gZ3Vlc3RzDQorIw0KKyMg Q29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZp byA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK2cxdG9vbHMJaXAganEgZGhjbGllbnQgc29jYXQg Y2F0DQorZzJ0b29scwlpcCBqcSBkaGNsaWVudCBzb2NhdCBjYXQNCitodG9vbHMJaXAganENCisN Cit0ZXN0CUludGVyZmFjZSBuYW1lcw0KK2cxb3V0CUlGTkFNRTEgaXAgLWogbGluayBzaG93IHwg anEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorZzJv dXQJSUZOQU1FMiBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190 eXBlID09ICJldGhlciIpLmlmbmFtZScNCitob3V0CUhPU1RfSUZOQU1FIGlwIC1qIC00IHJvdXRl IHNob3d8anEgLXJNICdbLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5kZXZdIHwgLlsw XScNCitob3V0CUhPU1RfSUZOQU1FNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnWy5bXSB8 IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZGV2XSB8IC5bMF0nDQorY2hlY2sJWyAtbiAiX19J Rk5BTUUxX18iIF0NCitjaGVjawlbIC1uICJfX0lGTkFNRTJfXyIgXQ0KKw0KK3Rlc3QJREhDUDog YWRkcmVzc2VzDQorZ3Vlc3QxCWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRTFfXyB1cA0KK2d1ZXN0 MQkvc2Jpbi9kaGNsaWVudCAtNCBfX0lGTkFNRTFfXw0KK2d1ZXN0MglpcCBsaW5rIHNldCBkZXYg X19JRk5BTUUyX18gdXANCitndWVzdDIJL3NiaW4vZGhjbGllbnQgLTQgX19JRk5BTUUyX18NCitn MW91dAlBRERSMSBpcCAtaiAtNCBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFt ZSA9PSAiX19JRk5BTUUxX18iKS5hZGRyX2luZm9bMF0ubG9jYWwnDQorZzJvdXQJQUREUjIgaXAg LWogLTQgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1F Ml9fIikuYWRkcl9pbmZvWzBdLmxvY2FsJw0KK2hvdXQJSE9TVF9BRERSIGlwIC1qIC00IGFkZHIg c2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0hPU1RfSUZOQU1FX18iKS5h ZGRyX2luZm9bMF0ubG9jYWwnDQorY2hlY2sJWyAiX19BRERSMV9fIiA9ICJfX0hPU1RfQUREUl9f IiBdDQorY2hlY2sJWyAiX19BRERSMl9fIiA9ICJfX0hPU1RfQUREUl9fIiBdDQorDQordGVzdAlE SENQdjY6IGFkZHJlc3Nlcw0KKyMgTGluayBpcyB1cCBub3csIHdhaXQgZm9yIERBRCB0byBjb21w bGV0ZQ0KK3NsZWVwCTINCitndWVzdDEJL3NiaW4vZGhjbGllbnQgLTYgX19JRk5BTUUxX18NCitn dWVzdDIJL3NiaW4vZGhjbGllbnQgLTYgX19JRk5BTUUyX18NCitnMW91dAlBRERSMV82IGlwIC1q IC02IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFNRTFf XyIpLmFkZHJfaW5mb1tdIHwgc2VsZWN0KC5wcmVmaXhsZW4gPT0gMTI4KS5sb2NhbCcNCitnMm91 dAlBRERSMl82IGlwIC1qIC02IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1l ID09ICJfX0lGTkFNRTJfXyIpLmFkZHJfaW5mb1tdIHwgc2VsZWN0KC5wcmVmaXhsZW4gPT0gMTI4 KS5sb2NhbCcNCitob3V0CUhPU1RfQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltd IHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSE9TVF9JRk5BTUU2X18iKS5hZGRyX2luZm9bXSB8IHNl bGVjdCguc2NvcGUgPT0gImdsb2JhbCIpLmxvY2FsJw0KK2NoZWNrCVsgIl9fQUREUjFfNl9fIiA9 ICJfX0hPU1RfQUREUjZfXyIgXQ0KK2NoZWNrCVsgIl9fQUREUjJfNl9fIiA9ICJfX0hPU1RfQURE UjZfXyIgXQ0KKw0KK3Rlc3QJVENQL0lQdjQ6IGd1ZXN0IDEgPiBndWVzdCAyDQorZzFvdXQJR1cx IGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVs dCIpLmdhdGV3YXknDQorZ3Vlc3QyYglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwNCBPUEVOOm1z ZyxjcmVhdGUsdHJ1bmMNCitndWVzdDEJZWNobyAiSGVsbG9fZnJvbV9ndWVzdF8xIiB8IHNvY2F0 IC11IFNURElOIFRDUDQ6X19HVzFfXzoxMDAwNA0KK2d1ZXN0MncNCitzbGVlcAkxDQorZzJvdXQJ TVNHMiBjYXQgbXNnDQorY2hlY2sJWyAiX19NU0cyX18iID0gIkhlbGxvX2Zyb21fZ3Vlc3RfMSIg XQ0KKw0KK3Rlc3QJVENQL0lQdjY6IGd1ZXN0IDIgPiBndWVzdCAxDQorZzJvdXQJR1cyXzYgaXAg LWogLTYgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0Iiku Z2F0ZXdheScNCitndWVzdDFiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAxIE9QRU46bXNnLGNy ZWF0ZSx0cnVuYw0KK2d1ZXN0MgllY2hvICJIZWxsb19mcm9tX2d1ZXN0XzIiIHwgc29jYXQgLXUg U1RESU4gVENQNjpbX19HVzJfNl9fJV9fSUZOQU1FMl9fXToxMDAwMQ0KK2d1ZXN0MXcNCitzbGVl cAkxDQorZzFvdXQJTVNHMSBjYXQgbXNnDQorY2hlY2sJWyAiX19NU0cxX18iID0gIkhlbGxvX2Zy b21fZ3Vlc3RfMiIgXQ0KKw0KK3Rlc3QJVURQL0lQdjQ6IGd1ZXN0IDEgPiBndWVzdCAyDQorZ3Vl c3QyYglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwNCBPUEVOOm1zZyxjcmVhdGUsdHJ1bmMNCitn dWVzdDEJZWNobyAiSGVsbG9fZnJvbV9ndWVzdF8xIiB8IHNvY2F0IC11IFNURElOIFRDUDQ6X19H VzFfXzoxMDAwNA0KK2d1ZXN0MncNCitzbGVlcAkxDQorZzJvdXQJTVNHMiBjYXQgbXNnDQorY2hl Y2sJWyAiX19NU0cyX18iID0gIkhlbGxvX2Zyb21fZ3Vlc3RfMSIgXQ0KKw0KK3Rlc3QJVURQL0lQ djY6IGd1ZXN0IDIgPiBndWVzdCAxDQorZ3Vlc3QxYglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAw MSBPUEVOOm1zZyxjcmVhdGUsdHJ1bmMNCitndWVzdDIJZWNobyAiSGVsbG9fZnJvbV9ndWVzdF8y IiB8IHNvY2F0IC11IFNURElOIFRDUDY6W19fR1cyXzZfXyVfX0lGTkFNRTJfX106MTAwMDENCitn dWVzdDF3DQorc2xlZXAJMQ0KK2cxb3V0CU1TRzEgY2F0IG1zZw0KK2NoZWNrCVsgIl9fTVNHMV9f IiA9ICJIZWxsb19mcm9tX2d1ZXN0XzIiIF0NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L3ZhbGdyaW5k LnN1cHAgYi9vbGR0ZXN0L3ZhbGdyaW5kLnN1cHANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAwMDAwMDAwMC4uMTIyODA1NjcNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvdmFsZ3Jp bmQuc3VwcA0KQEAgLTAsMCArMSw5IEBADQorIyB0Y3Bfc29ja19jb25zdW1lKCkgY2FsbHMgcmVj digpIHdpdGggTVNHX1RSVU5DIGFuZCBubyBidWZmZXIgdG8gZGlzY2FyZCBkYXRhDQorew0KKyAg IHBhc3N0X3JlY3ZfTVNHX1RSVU5DX2ludG9fTlVMTF9idWZmZXINCisgICBNZW1jaGVjazpQYXJh bQ0KKyAgIHNvY2tldGNhbGwucmVjdmZyb20oYnVmKQ0KKyAgIGZ1bjpyZWN2DQorICAgLi4uDQor ICAgZnVuOnRjcF9zb2NrX2NvbnN1bWUqDQorfQ0KLS0gDQoyLjQxLjANCg0K