From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_PDS_OTHER_BAD_TLD,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28661 invoked from network); 9 Jul 2023 00:12:27 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 9 Jul 2023 00:12:27 -0000 Content-Type: multipart/mixed; boundary="===============2530632022188440533==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_i3status-rust=3A_update_to_0=2E31=2E8=2E?= To: ml@inbox.vuxu.org From: pablomancera Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 09 Jul 2023 02:12:26 +0200 List-Id: Message-ID: <20230709001226.AwxPp1_K4yi6-ykgNdiy5RI1E4VxZias9c27nK18ESA@z> GitHub notification mails are now in MIME to allow UTF8. --===============2530632022188440533== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcGFibG9tYW5jZXJhIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9wYWJsb21hbmNlcmEvdm9pZC1wYWNrYWdlcyBpM3N0YXR1cy1ydXN0Cmh0dHBzOi8vZ2l0aHVi LmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NDg5OQoKaTNzdGF0dXMtcnVzdDog dXBkYXRlIHRvIDAuMzEuOC4KPCEtLSBVbmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRl bGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5n IHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKioN Cg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRv IHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4 L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWly ZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBp cyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRh ZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24N CmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0 IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBp cyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCg0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkg YnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCB4ODZfNjQN CgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9wdWxsLzQ0ODk5LnBhdGNoIGlzIGF0dGFjaGVk --===============2530632022188440533== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-i3status-rust-44899.patch" RnJvbSA2MjlhMDRhMzc1YTg1N2VjMzAzMDA4ZGJmYTFmOTU4M2YzNDdjMTQ0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYWJsbyBBbGVqYW5kcm8gTWFuY2VyYSA8cGFibG8ubWFuY2Vy YUBob3RtYWlsLmNvbT4KRGF0ZTogRnJpLCA3IEp1bCAyMDIzIDAyOjUwOjA5IC0wNTAwClN1Ympl Y3Q6IFtQQVRDSF0gaTNzdGF0dXMtcnVzdDogdXBkYXRlIHRvIDAuMzEuOC4KCi0tLQogc3JjcGtn cy9pM3N0YXR1cy1ydXN0L2ZpbGVzL2kzc3RhdHVzLXJzLjEgfCA3NDk0ICsrKysrKysrKysrKysr KysrKysrKwogc3JjcGtncy9pM3N0YXR1cy1ydXN0L3RlbXBsYXRlICAgICAgICAgICAgfCAgIDE4 ICstCiAyIGZpbGVzIGNoYW5nZWQsIDc1MDUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2kzc3RhdHVzLXJ1c3QvZmlsZXMvaTNzdGF0dXMt cnMuMQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvaTNzdGF0dXMtcnVzdC9maWxlcy9pM3N0YXR1cy1y cy4xIGIvc3JjcGtncy9pM3N0YXR1cy1ydXN0L2ZpbGVzL2kzc3RhdHVzLXJzLjEKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yY2U1YzQ2ZjQ0NjkKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL2kzc3RhdHVzLXJ1c3QvZmlsZXMvaTNzdGF0dXMtcnMuMQpAQCAtMCww ICsxLDc0OTQgQEAKKy5pZSBcbiguZyAuZHMgQXEgXChhcQorLmVsIC5kcyBBcSAnCisuVEggaTNz dGF0dXMtcnMgMSAgImkzc3RhdHVzLXJzIDAuMzEuOCIgCisuaWUgXG4oLmcgLmRzIEFxIFwoYXEK Ky5lbCAuZHMgQXEgJworLlNIIE5BTUUKK2kzc3RhdHVzXC1ycyBcLSBBIGZlYXR1cmVcLXJpY2gg YW5kIHJlc291cmNlXC1mcmllbmRseSByZXBsYWNlbWVudCBmb3IgaTNzdGF0dXMsIHdyaXR0ZW4g aW4gUnVzdC4KKy5pZSBcbiguZyAuZHMgQXEgXChhcQorLmVsIC5kcyBBcSAnCisuU0ggU1lOT1BT SVMKK1xmQmkzc3RhdHVzXC1yc1xmUiBbXGZCXC1cLW5ldmVyXC1wYXVzZVxmUl0gW1xmQlwtalxm UnxcZkJcLVwtdGhyZWFkc1xmUl0gW1xmQlwtaFxmUnxcZkJcLVwtaGVscFxmUl0gW1xmQlwtVlxm UnxcZkJcLVwtdmVyc2lvblxmUl0gW1xmSUNPTkZJR1xmUl0gCisuaWUgXG4oLmcgLmRzIEFxIFwo YXEKKy5lbCAuZHMgQXEgJworLlNIIERFU0NSSVBUSU9OCitBIGZlYXR1cmVcLXJpY2ggYW5kIHJl c291cmNlXC1mcmllbmRseSByZXBsYWNlbWVudCBmb3IgaTNzdGF0dXMoMSksIHdyaXR0ZW4gaW4g UnVzdC4gVGhlIGkzc3RhdHVzXC1ycyBwcm9ncmFtIHdyaXRlcyBhIHN0cmVhbSBvZiBjb25maWd1 cmFibGUgImJsb2NrcyIgb2Ygc3lzdGVtIGluZm9ybWF0aW9uICh0aW1lLCBiYXR0ZXJ5IHN0YXR1 cywgdm9sdW1lLCBldGMuKSB0byBzdGFuZGFyZCBvdXRwdXQgaW4gdGhlIEpTT04gZm9ybWF0IHVu ZGVyc3Rvb2QgYnkgaTNiYXIoMSkgYW5kIHN3YXlcLWJhcig1KS4KKy5pZSBcbiguZyAuZHMgQXEg XChhcQorLmVsIC5kcyBBcSAnCisuU0ggT1BUSU9OUworLlRQCitcZkJcLVwtbmV2ZXJcLXBhdXNl XGZSCitJZ25vcmUgYW55IGF0dGVtcHRzIGJ5IGkzIHRvIHBhdXNlIHRoZSBiYXIgd2hlbiBoaWRk ZW4vZnVsbHNjcmVlbgorLlRQCitcZkJcLWpcZlIsIFxmQlwtXC10aHJlYWRzXGZSPVxmSUJMT0NL SU5HX1RIUkVBRFNcZlIgW2RlZmF1bHQ6IDJdCitUaGUgbWF4aW11bSBudW1iZXIgb2YgYmxvY2tp bmcgdGhyZWFkcyBzcGF3bmVkIGJ5IHRva2lvCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBc ZlIKK1ByaW50IGhlbHAgKHNlZSBhIHN1bW1hcnkgd2l0aCBcKihBcVwtaFwqKEFxKQorLlRQCitc ZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitQcmludCB2ZXJzaW9uCisuVFAKK1tcZklDT05G SUdcZlJdIFtkZWZhdWx0OiBjb25maWcudG9tbF0KK1NldHMgYSBUT01MIGNvbmZpZyBmaWxlCisK KzEuIElmIGZ1bGwgYWJzb2x1dGUgcGF0aCBnaXZlbiwgdGhlbiB1c2UgaXQgYXMgaXM6IGAvaG9t ZS9mb28vaTNyc1wtY29uZmlnLnRvbWxgCisKKzIuIElmIGZpbGVuYW1lIGdpdmVuLCBlLmcuICJj dXN0b21fdGhlbWUudG9tbCIsIHRoZW4gZmlyc3QgbG9vayBpbiBgJFhER19DT05GSUdfSE9NRS9p M3N0YXR1c1wtcnVzdGAKKworMy4gVGhlbiBsb29rIGZvciBpdCBpbiBgJFhER19EQVRBX0hPTUUv aTNzdGF0dXNcLXJ1c3RgCisKKzQuIE90aGVyd2lzZSBsb29rIGZvciBpdCBpbiBgL3Vzci9zaGFy ZS9pM3N0YXR1c1wtcnVzdGAKKy5TSCBCTE9DS1MKKy5TUyBhbWRfZ3B1CisuUFAKK0Rpc3BsYXkg dGhlIHN0YXRzIG9mIHlvdXIgQU1EIEdQVQorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0 YWIoQCk7CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitW YWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZGV2aWNlXGZbUl0KK1R9QFR7 CitUaGUgZGV2aWNlIGluIFxmW1ZdL3N5cy9jbGFzcy9kcm0vXGZbUl0gdG8gcmVhZCBmcm9tLgor VH1AVHsKK1xmW1ZdXFtkcV1jYXJkMFxbZHFdXGZbUl0KK1R9CitUeworXGZbVl1mb3JtYXRcZltS XQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2su CitTZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuCitUfUBUeworXGZbVl1cW2Rx XSAkaWNvbiAkdXRpbGl6YXRpb24gXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWZvcm1hdF9hbHRc ZltSXQorVH1AVHsKK0lmIHNldCwgYmxvY2sgd2lsbCBzd2l0Y2ggYmV0d2VlbiBcZltWXWZvcm1h dFxmW1JdIGFuZAorXGZbVl1mb3JtYXRfYWx0XGZbUl0gb24gZXZlcnkgY2xpY2sKK1R9QFR7Citc ZltWXU5vbmVcZltSXQorVH0KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUg aW50ZXJ2YWwgaW4gc2Vjb25kcworVH1AVHsKK1xmW1ZdNVxmW1JdCitUfQorLlRFCisuUFAKKy5U UwordGFiKEApOworbHcoMTguOG4pIGx3KDMzLjJuKSBsdyg3LjJuKSBsdygxMC44bikuCitUewor UGxhY2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQor XworVHsKK1xmW1ZdaWNvblxmW1JdCitUfUBUeworQSBzdGF0aWMgaWNvbgorVH1AVHsKK0ljb24K K1R9QFR7CistCitUfQorVHsKK1xmW1ZddXRpbGl6YXRpb25cZltSXQorVH1AVHsKK0dQVSB1dGls aXphdGlvbgorVH1AVHsKK051bWJlcgorVH1AVHsKKyUKK1R9CitUeworXGZbVl12cmFtX3RvdGFs XGZbUl0KK1R9QFR7CitUb3RhbCBWUkFNCitUfUBUeworTnVtYmVyCitUfUBUeworQnl0ZXMKK1R9 CitUeworXGZbVl12cmFtX3VzZWRcZltSXQorVH1AVHsKK1VzZWQgVlJBTQorVH1AVHsKK051bWJl cgorVH1AVHsKK0J5dGVzCitUfQorVHsKK1xmW1ZddnJhbV91c2VkX3BlcmNlbnRzXGZbUl0KK1R9 QFR7CitVc2VkIFZSQU0gLyBUb3RhbCBWUkFNCitUfUBUeworTnVtYmVyCitUfUBUeworJQorVH0K Ky5URQorLlBQCisuVFMKK3RhYihAKTsKK2x3KDE1LjFuKSBsdyg0MC43bikgbHcoMTQuMm4pLgor VHsKK0FjdGlvbgorVH1AVHsKK0Rlc2NyaXB0aW9uCitUfUBUeworRGVmYXVsdCBidXR0b24KK1R9 CitfCitUeworXGZbVl10b2dnbGVfZm9ybWF0XGZbUl0KK1R9QFR7CitUb2dnbGVzIGJldHdlZW4g XGZbVl1mb3JtYXRcZltSXSBhbmQgXGZbVl1mb3JtYXRfYWx0XGZbUl0KK1R9QFR7CitMZWZ0CitU fQorLlRFCisuU1MgRXhhbXBsZQorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0g XFtkcV1hbWRfZ3B1XFtkcV0KK2Zvcm1hdCA9IFxbZHFdICRpY29uICR1dGlsaXphdGlvbiBcW2Rx XQorZm9ybWF0X2FsdCA9IFxbZHFdICRpY29uIE1FTTogJHZyYW1fdXNlZF9wZXJjZW50cyAoJHZy YW1fdXNlZC8kdnJhbV90b3RhbCkgXFtkcV0KK2ludGVydmFsID0gMQorXGZbUl0KKy5maQorLlNT IEljb25zIFVzZWQKKy5JUCBcW2J1XSAyCitcZltWXWdwdVxmW1JdCisuU1MgYXB0CisuUFAKK1Bl bmRpbmcgdXBkYXRlcyBhdmFpbGFibGUgZm9yIHlvdXIgRGViaWFuL1VidW50dSBiYXNlZCBzeXN0 ZW0KKy5QUAorQmVoaW5kIHRoZSBzY2VuZXMgdGhpcyB1c2VzIFxmW1ZdYXB0XGZbUl0sIGFuZCBp biBvcmRlciB0byBydW4gaXQKK3dpdGhvdXQgcm9vdCBwcml2aWxlZ2VzIGkzc3RhdHVzLXJ1c3Qg d2lsbCBjcmVhdGUgaXRzIG93biBwYWNrYWdlCitkYXRhYmFzZSBpbiBcZltWXS90bXAvaTNycy1h cHQvXGZbUl0gd2hpY2ggbWF5IHRha2UgdXAgc2V2ZXJhbCBNQiBvcgorbW9yZS4KK0lmIHlvdSBo YXZlIGEgY3VzdG9tIGFwdCBjb25maWcgdGhlbiB0aGlzIGJsb2NrIG1heSBub3Qgd29yayBhcyBl eHBlY3RlZAorLSBpbiB0aGF0IGNhc2UgcGxlYXNlIG9wZW4gYW4gaXNzdWUuCisuUFAKK1RpcDog WW91IGNhbiBncmFiIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSB1cGRhdGVzIHVzaW5nCitcZltWXUFQ VF9DT05GSUc9L3RtcC9pM3JzLWFwdC9hcHQuY29uZiBhcHQgbGlzdCAtLXVwZ3JhZGFibGVcZltS XQorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7CitsdygxNC4wbikgbHcoMjgu MG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0CitU fQorXworVHsKK1xmW1ZdaW50ZXJ2YWxcZltSXQorVH1AVHsKK1VwZGF0ZSBpbnRlcnZhbCBpbiBz ZWNvbmRzLgorVH1AVHsKK1xmW1ZdNjAwXGZbUl0KK1R9CitUeworXGZbVl1mb3JtYXRcZltSXQor VH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2suCitT ZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuCitUfUBUeworXGZbVl1cW2RxXSAk aWNvbiAkY291bnQuZW5nKHc6MSkgXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWZvcm1hdF9zaW5n dWxhclxmW1JdCitUfUBUeworU2FtZSBhcyBcZltWXWZvcm1hdFxmW1JdLCBidXQgZm9yIHdoZW4g ZXhhY3RseSBvbmUgdXBkYXRlIGlzIGF2YWlsYWJsZS4KK1R9QFR7CitcZltWXVxbZHFdICRpY29u ICRjb3VudC5lbmcodzoxKSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdZm9ybWF0X3VwX3RvX2Rh dGVcZltSXQorVH1AVHsKK1NhbWUgYXMgXGZbVl1mb3JtYXRcZltSXSwgYnV0IGZvciB3aGVuIG5v IHVwZGF0ZXMgYXJlIGF2YWlsYWJsZS4KK1R9QFR7CitcZltWXVxbZHFdICRpY29uICRjb3VudC5l bmcodzoxKSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1Zdd2FybmluZ191cGRhdGVzX3JlZ2V4XGZb Ul0KK1R9QFR7CitEaXNwbGF5IGJsb2NrIGFzIHdhcm5pbmcgaWYgdXBkYXRlcyBtYXRjaGluZyBy ZWdleCBhcmUgYXZhaWxhYmxlLgorVH1AVHsKK1xmW1ZdTm9uZVxmW1JdCitUfQorVHsKK1xmW1Zd Y3JpdGljYWxfdXBkYXRlc19yZWdleFxmW1JdCitUfUBUeworRGlzcGxheSBibG9jayBhcyBjcml0 aWNhbCBpZiB1cGRhdGVzIG1hdGNoaW5nIHJlZ2V4IGFyZSBhdmFpbGFibGUuCitUfUBUeworXGZb Vl1Ob25lXGZbUl0KK1R9CitUeworXGZbVl1pZ25vcmVfcGhhc2VkX3VwZGF0ZXNcZltSXQorVH1A VHsKK0RvZXNuXFtjcV10IGluY2x1ZGUgcG90ZW50aWFsbHkgaGVsZCBiYWNrIHBoYXNlZCB1cGRh dGVzIGluIHRoZSBjb3VudC4KK1R9QFR7CitcZltWXWZhbHNlXGZbUl0KK1R9CisuVEUKKy5QUAor LlRTCit0YWIoQCk7CitsIGwgbCBsLgorVHsKK1BsYWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9 QFR7CitUeXBlCitUfUBUeworVW5pdAorVH0KK18KK1R7CitcZltWXWljb25cZltSXQorVH1AVHsK K0Egc3RhdGljIGljb24KK1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7CitcZltWXWNvdW50 XGZbUl0KK1R9QFR7CitOdW1iZXIgb2YgdXBkYXRlcyBhdmFpbGFibGUKK1R9QFR7CitOdW1iZXIK K1R9QFR7CistCitUfQorLlRFCisuU1MgRXhhbXBsZQorLlBQCitVcGRhdGUgdGhlIGxpc3Qgb2Yg cGVuZGluZyB1cGRhdGVzIGV2ZXJ5IHRoaXJ0eSBtaW51dGVzICgxODAwIHNlY29uZHMpOgorLklQ CisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1hcHRcW2RxXQoraW50ZXJ2YWwg PSAxODAwCitmb3JtYXQgPSBcW2RxXSAkaWNvbiAkY291bnQgdXBkYXRlcyBhdmFpbGFibGUgXFtk cV0KK2Zvcm1hdF9zaW5ndWxhciA9IFxbZHFdICRpY29uIE9uZSB1cGRhdGUgYXZhaWxhYmxlIFxb ZHFdCitmb3JtYXRfdXBfdG9fZGF0ZSA9IFxbZHFdICRpY29uIHN5c3RlbSB1cCB0byBkYXRlIFxb ZHFdCitjcml0aWNhbF91cGRhdGVzX3JlZ2V4ID0gXFtkcV0obGludXh8bGludXgtbHRzfGxpbnV4 LXplbilcW2RxXQorW1tibG9jay5jbGlja11dCisjIyMgc2hvd3MgZG1lbnUgd2l0aCBjYWNoZWQg YXZhaWxhYmxlIHVwZGF0ZXMuIEFueSBkbWVudSBhbHRlcm5hdGl2ZSBzaG91bGQgYWxzbyB3b3Jr LgorYnV0dG9uID0gXFtkcV1sZWZ0XFtkcV0KK2NtZCA9IFxbZHFdQVBUX0NPTkZJRz0vdG1wL2kz cnMtYXB0L2FwdC5jb25mIGFwdCBsaXN0IC0tdXBncmFkYWJsZSB8IHRhaWwgLW4gKzIgfCByb2Zp IC1kbWVudVxbZHFdCitbW2Jsb2NrLmNsaWNrXV0KKyMjIyBVcGRhdGVzIHRoZSBibG9jayBvbiBy aWdodCBjbGljaworYnV0dG9uID0gXFtkcV1yaWdodFxbZHFdCit1cGRhdGUgPSB0cnVlCitcZltS XQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZddXBkYXRlXGZbUl0KKy5T UyBiYWNrbGlnaHQKKy5QUAorVGhlIGJyaWdodG5lc3Mgb2YgYSBiYWNrbGlnaHQgZGV2aWNlCisu UFAKK1RoaXMgYmxvY2sgcmVhZHMgYnJpZ2h0bmVzcyBpbmZvcm1hdGlvbiBkaXJlY3RseSBmcm9t IHRoZSBmaWxlc3lzdGVtLCBzbworaXQgd29ya3MgdW5kZXIgYm90aCBYMTEgYW5kIFdheWxhbmQu CitUaGUgYmxvY2sgdXNlcyBcZltWXWlub3RpZnlcZltSXSB0byBsaXN0ZW4gZm9yIGNoYW5nZXMg aW4gdGhlCitkZXZpY2VcW2NxXXMgYnJpZ2h0bmVzcyBkaXJlY3RseSwgc28gdGhlcmUgaXMgbm8g bmVlZCB0byBzZXQgYW4gdXBkYXRlCitpbnRlcnZhbC4KK1RoaXMgYmxvY2sgdXNlcyBEQnVzIHRv IHNldCBicmlnaHRuZXNzIGxldmVsIHVzaW5nIHRoZSBtb3VzZSB3aGVlbCwgYnV0Cit3aWxsIGZh bGxiYWNrIHRvIHN5c2ZzIGlmIFxmW1Zdc3lzdGVtZC1sb2dpbmRcZltSXSBpcyBub3QgdXNlZC4K Ky5TUyBSb290IHNjYWxpbmcKKy5QUAorU29tZSBkZXZpY2VzIGV4cG9zZSByYXcgdmFsdWVzIHRo YXQgYXJlIGJlc3QgaGFuZGxlZCB3aXRoIG5vbmxpbmVhcgorc2NhbGluZy4KK1RoZSBodW1hbiBw ZXJjZXB0aW9uIG9mIGxpZ2h0bmVzcyBpcyBjbG9zZSB0byB0aGUgY3ViZSByb290IG9mIHJlbGF0 aXZlCitsdW1pbmFuY2UsIHNvIHNldHRpbmdzIGZvciBcZltWXXJvb3Rfc2NhbGluZ1xmW1JdIGJl dHdlZW4gMi40IGFuZCAzLjAKK2FyZSB3b3J0aCB0cnlpbmcuCitGb3IgZGV2aWNlcyB3aXRoIGZl dyBkaXNjcmV0ZSBzdGVwcyB0aGlzIHNob3VsZCBiZSAxLjAgKGxpbmVhcikuCitNb3JlIGluZm9y bWF0aW9uOiA8aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlnaHRuZXNzPgorLlNTIENv bmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4 LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsK K1xmW1ZdZGV2aWNlXGZbUl0KK1R9QFR7CitBIHJlZ2V4IHRvIG1hdGNoIGFnYWluc3QgXGZbVl0v c3lzL2NsYXNzL2JhY2tsaWdodFxmW1JdIGRldmljZXMgdG8gcmVhZAorYnJpZ2h0bmVzcyBpbmZv cm1hdGlvbiBmcm9tIChjYW4gbWF0Y2ggMSBvciBtb3JlIGRldmljZXMpLgorV2hlbiB0aGVyZSBp cyBubyBcZltWXWRldmljZVxmW1JdIHNwZWNpZmllZCwgdGhpcyBibG9jayB3aWxsIGRpc3BsYXkK K2luZm9ybWF0aW9uIGZvciBhbGwgZGV2aWNlcyBmb3VuZCBpbiB0aGUgXGZbVl0vc3lzL2NsYXNz L2JhY2tsaWdodFxmW1JdCitkaXJlY3RvcnkuCitUfUBUeworRGVmYXVsdCBkZXZpY2UKK1R9CitU eworXGZbVl1mb3JtYXRcZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0 cHV0IG9mIHRoaXMgYmxvY2suCitTZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMu CitUfUBUeworXGZbVl1cW2RxXSAkaWNvbiAkYnJpZ2h0bmVzcyBcW2RxXVxmW1JdCitUfQorVHsK K1xmW1ZdbWlzc2luZ19mb3JtYXRcZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0 aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2suCitObyBwbGFjZWhvbGRlcnMgYXZhaWxhYmxlCitUfUBU eworXGZbVl1cW2RxXSBubyBiYWNrbGlnaHQgZGV2aWNlcyBcW2RxXVxmW1JdCitUfQorVHsKK1xm W1Zdc3RlcF93aWR0aFxmW1JdCitUfUBUeworVGhlIGJyaWdodG5lc3MgaW5jcmVtZW50IHRvIHVz ZSB3aGVuIHNjcm9sbGluZywgaW4gcGVyY2VudAorVH1AVHsKK1xmW1ZdNVxmW1JdCitUfQorVHsK K1xmW1ZdbWluaW11bVxmW1JdCitUfUBUeworVGhlIG1pbmltdW0gYnJpZ2h0bmVzcyB0aGF0IGNh biBiZSBzY3JvbGxlZCBkb3duIHRvCitUfUBUeworXGZbVl01XGZbUl0KK1R9CitUeworXGZbVl1t YXhpbXVtXGZbUl0KK1R9QFR7CitUaGUgbWF4aW11bSBicmlnaHRuZXNzIHRoYXQgY2FuIGJlIHNj cm9sbGVkIHVwIHRvCitUfUBUeworXGZbVl0xMDBcZltSXQorVH0KK1R7CitcZltWXWN5Y2xlXGZb Ul0KK1R9QFR7CitUaGUgYnJpZ2h0bmVzc2VzIHRvIGN5Y2xlIHRocm91Z2ggb24gZWFjaCBjbGlj aworVH1AVHsKK1xmW1ZdW21pbmltdW0sIG1heGltdW1dXGZbUl0KK1R9CitUeworXGZbVl1yb290 X3NjYWxpbmdcZltSXQorVH1AVHsKK1NjYWxpbmcgZXhwb25lbnQgcmVjaXByb2NhbCAoaWUuCity b290KQorVH1AVHsKK1xmW1ZdMS4wXGZbUl0KK1R9CitUeworXGZbVl1pbnZlcnRfaWNvbnNcZltS XQorVH1AVHsKK0ludmVydCBpY29uc1xbY3FdIG9yZGVyaW5nLCB1c2VmdWwgaWYgeW91IGhhdmUg Y29sb3JmdWwgZW1vamkKK1R9QFR7CitcZltWXWZhbHNlXGZbUl0KK1R9CitUeworXGZbVl1kZGNj aV9zbGVlcF9tdWx0aXBsaWVyXGZbUl0KK1R9QFR7CitTZWUgZGRjdXRpbAorZG9jdW1lbnRhdGlv biAoaHR0cHM6Ly93d3cuZGRjdXRpbC5jb20vcGVyZm9ybWFuY2Vfb3B0aW9ucy8jb3B0aW9uLXNs ZWVwLW11bHRpcGxpZXIpCitUfUBUeworXGZbVl0xLjBcZltSXQorVH0KK1R7CitcZltWXWRkY2Np X21heF90cmllc193cml0ZV9yZWFkXGZbUl0KK1R9QFR7CitUaGUgbWF4aW11bSBudW1iZXIgb2Yg dGltZXMgdG8gYXR0ZW1wdCB3cml0aW5nIHRvIG9yIHJlYWRpbmcgZnJvbSBhCitkZGNjaSBtb25p dG9yCitUfUBUeworXGZbVl0xMFxmW1JdCitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbHco MTEuNW4pIGx3KDM4LjFuKSBsdyg3LjFuKSBsdygxMy4zbikuCitUeworUGxhY2Vob2xkZXIKK1R9 QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNv blxmW1JdCitUfUBUeworSWNvbiBiYXNlZCBvbiBiYWNrbGlnaHRcW2NxXXMgc3RhdGUKK1R9QFR7 CitJY29uCitUfUBUeworLQorVH0KK1R7CitcZltWXWJyaWdodG5lc3NcZltSXQorVH1AVHsKK0N1 cnJlbnQgYnJpZ2h0bmVzcworVH1AVHsKK051bWJlcgorVH1AVHsKKyUKK1R9CisuVEUKKy5QUAor LlRTCit0YWIoQCk7CitsIGwuCitUeworQWN0aW9uCitUfUBUeworRGVmYXVsdCBidXR0b24KK1R9 CitfCitUeworXGZbVl1jeWNsZVxmW1JdCitUfUBUeworTGVmdAorVH0KK1R7CitcZltWXWJyaWdo dG5lc3NfdXBcZltSXQorVH1AVHsKK1doZWVsIFVwCitUfQorVHsKK1xmW1ZdYnJpZ2h0bmVzc19k b3duXGZbUl0KK1R9QFR7CitXaGVlbCBEb3duCitUfQorLlRFCisuU1MgRXhhbXBsZQorLklQCisu bmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1iYWNrbGlnaHRcW2RxXQorZGV2aWNl ID0gXFtkcV1pbnRlbF9iYWNrbGlnaHRcW2RxXQorXGZbUl0KKy5maQorLlBQCitIaWRlIG1pc3Np bmcgYmFja2xpZ2h0OgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1i YWNrbGlnaHRcW2RxXQorbWlzc2luZ19mb3JtYXQgPSBcW2RxXVxbZHFdCitcZltSXQorLmZpCisu U1MgY2FsaWJyaWdodAorLlBQCitBZGRpdGlvbmFsIGRpc3BsYXkgYnJpZ2h0bmVzcyBjYWxpYnJh dGlvbiBjYW4gYmUgc2V0IGluCitcZltWXSRYREdfQ09ORklHX0hPTUUvY2FsaWJyaWdodC9jb25m aWcudG9tbFxmW1JdIFNlZQorPGh0dHBzOi8vZ2l0aHViLmNvbS9iaW05MjYyL2NhbGlicmlnaHQ+ IGZvciBtb3JlIGRldGFpbHMuCitUaGlzIGJsb2NrIHdpbGwgb3ZlcnJpZGUgYW55IGdsb2JhbCBj b25maWcgc2V0IGluCitcZltWXSRYREdfQ09ORklHX0hPTUUvY2FsaWJyaWdodC9jb25maWcudG9t bFxmW1JdCisuU1MgRC1CdXMgRmFsbGJhY2sKKy5QUAorSWYgeW91IGRvblxbY3FddCB1c2UgXGZb Vl1zeXN0ZW1kLWxvZ2luZFxmW1JdIGkzc3RhdHVzLXJ1c3Qgd2lsbCBhdHRlbXB0Cit0byBzZXQg dGhlIGJyaWdodG5lc3MgdXNpbmcgc3lzZnMuCitJbiBvcmRlciB0byBkbyB0aGlzIHlvdVxbY3Fd bGwgbmVlZCB0byBoYXZlIHdyaXRlIHBlcm1pc3Npb24uCitZb3UgY2FuIGRvIHRoaXMgYnkgd3Jp dGluZyBhIFxmW1ZddWRldlxmW1JdIHJ1bGUgZm9yIHlvdXIgc3lzdGVtLgorLlBQCitGaXJzdCwg Y2hlY2sgdGhhdCB5b3VyIHVzZXIgaXMgYSBtZW1iZXIgb2YgdGhlIFxbbHFddmlkZW9cW3JxXSBn cm91cAordXNpbmcgdGhlIFxmW1ZdZ3JvdXBzXGZbUl0gY29tbWFuZC4KK1RoZW4gYWRkIGEgcnVs ZSBpbiB0aGUgXGZbVl0vZXRjL3VkZXYvcnVsZXMuZC9cZltSXSBkaXJlY3RvcnkgY29udGFpbmlu ZwordGhlIGZvbGxvd2luZywgZm9yIGV4YW1wbGUgaW4gXGZbVl1iYWNrbGlnaHQucnVsZXNcZltS XToKKy5JUAorLm5mCitcZltDXQorQUNUSU9OPT1cW2RxXWFkZFxbZHFdLCBTVUJTWVNURU09PVxb ZHFdYmFja2xpZ2h0XFtkcV0sIEdST1VQPVxbZHFddmlkZW9cW2RxXSwgTU9ERT1cW2RxXTA2NjRc W2RxXQorXGZbUl0KKy5maQorLlBQCitUaGlzIHdpbGwgYWxsb3cgdGhlIHZpZGVvIGdyb3VwIHRv IG1vZGlmeSBhbGwgYmFja2xpZ2h0IGRldmljZXMuCitZb3Ugd2lsbCBhbHNvIG5lZWQgdG8gcmVz dGFydCBmb3IgdGhpcyBydWxlIHRvIHRha2UgZWZmZWN0LgorLlNTIEljb25zIFVzZWQKKy5JUCBc W2J1XSAyCitcZltWXWJhY2tsaWdodFxmW1JdIChhcyBhIHByb2dyZXNzaW9uKQorLlNTIGJhdHRl cnkKKy5QUAorSW5mb3JtYXRpb24gYWJvdXQgdGhlIGludGVybmFsIHBvd2VyIHN1cHBseQorLlBQ CitUaGlzIGJsb2NrIGNhbiBkaXNwbGF5IHRoZSBjdXJyZW50IGJhdHRlcnkgc3RhdGUgKEZ1bGws IENoYXJnaW5nIG9yCitEaXNjaGFyZ2luZyksIHBlcmNlbnRhZ2UgY2hhcmdlZCBhbmQgZXN0aW1h dGUgdGltZSB1bnRpbCAoZGlzKWNoYXJnZWQKK2ZvciBhbiBpbnRlcm5hbCBwb3dlciBzdXBwbHku CisuU1MgQ29uZmlndXJhdGlvbgorLlBQCisuVFMKK3RhYihAKTsKK2x3KDE0LjBuKSBsdygyOC4w bikgbHcoMjguMG4pLgorVHsKK0tleQorVH1AVHsKK1ZhbHVlcworVH1AVHsKK0RlZmF1bHQKK1R9 CitfCitUeworXGZbVl1kZXZpY2VcZltSXQorVH1AVHsKK3N5c2ZzL1VQb3dlcjogVGhlIGRldmlj ZSBpbiBcZltWXS9zeXMvY2xhc3MvcG93ZXJfc3VwcGx5L1xmW1JdIHRvIHJlYWQKK2Zyb20gKGNh biBhbHNvIGJlIFxbbHFdRGlzcGxheURldmljZVxbcnFdIGZvciBVUG93ZXIsIHdoaWNoIGlzIGEg c2luZ2xlCitsb2dpY2FsIHBvd2VyIHNvdXJjZSByZXByZXNlbnRpbmcgYWxsIHBoeXNpY2FsIHBv d2VyIHNvdXJjZXMuCitUaGlzIGlzIGZvciBleGFtcGxlIHVzZWZ1bCBpZiB5b3VyIHN5c3RlbSBo YXMgbXVsdGlwbGUgYmF0dGVyaWVzLCBpbgord2hpY2ggY2FzZSB0aGUgRGlzcGxheURldmljZSBi ZWhhdmVzIGFzIGlmIHlvdSBoYWQgYSBzaW5nbGUgbGFyZ2VyCitiYXR0ZXJ5LikuCithcGNfdXBz OiBJUHY0QWRkcmVzczpwb3J0IG9yIGhvc3RuYW1lOnBvcnQKK1R9QFR7CitzeXNmczogdGhlIGZp cnN0IGJhdHRlcnkgZGV2aWNlIGZvdW5kIGluIC9zeXMvY2xhc3MvcG93ZXJfc3VwcGx5LCB3aXRo CitcW2xxXUJBVHhcW3JxXSBvciBcW2xxXUNNQnhcW3JxXSBlbnRyaWVzIHRha2luZyBwcmVjZWRl bmNlLgorYXBjX3VwczogXFtscV1sb2NhbGhvc3Q6MzU1MVxbcnFdLgordXBvd2VyOiBcZltWXURp c3BsYXlEZXZpY2VcZltSXQorVH0KK1R7CitcZltWXWRyaXZlclxmW1JdCitUfUBUeworT25lIG9m IFxmW1ZdXFtkcV1zeXNmc1xbZHFdXGZbUl0sIFxmW1ZdXFtkcV1hcGNfdXBzXFtkcV1cZltSXSwg b3IKK1xmW1ZdXFtkcV11cG93ZXJcW2RxXVxmW1JdCitUfUBUeworXGZbVl1cW2RxXXN5c2ZzXFtk cV1cZltSXQorVH0KK1R7CitcZltWXW1vZGVsXGZbUl0KK1R9QFR7CitJZiBwcmVzZW50LCB0aGUg Y29udGVudHMgb2YKK1xmW1ZdL3N5cy9jbGFzcy9wb3dlcl9zdXBwbHkvLi4uL21vZGVsX25hbWVc ZltSXSBtdXN0IG1hdGNoIHRoaXMgdmFsdWUuCitUeXBpY2FsIHVzZSBpcyB0byBzZWxlY3QgYnkg bW9kZWwgbmFtZSBvbiBkZXZpY2VzIHRoYXQgY2hhbmdlIHRoZWlyCitwYXRoLgorVH1AVHsKK04v QQorVH0KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwsIGlu IHNlY29uZHMuCitPbmx5IHJlbGV2YW50IGZvciBkcml2ZXIgPSBcW2xxXXN5c2ZzXFtycV0gb3Ig XFtscV1hcGNfdXBzXFtycV0uCitUfUBUeworXGZbVl0xMFxmW1JdCitUfQorVHsKK1xmW1ZdZm9y bWF0XGZbUl0KK1R9QFR7CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlz IGJsb2NrLgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xm W1ZdXFtkcV0gJGljb24gJHBlcmNlbnRhZ2UgXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWZ1bGxf Zm9ybWF0XGZbUl0KK1R9QFR7CitTYW1lIGFzIFxmW1ZdZm9ybWF0XGZbUl0gYnV0IGZvciB3aGVu IHRoZSBiYXR0ZXJ5IGlzIGZ1bGwKK1R9QFR7CitcZltWXVxbZHFdICRpY29uIFxbZHFdXGZbUl0K K1R9CitUeworXGZbVl1jaGFyZ2luZ19mb3JtYXRcZltSXQorVH1AVHsKK1NhbWUgYXMgXGZbVl1m b3JtYXRcZltSXSBidXQgZm9yIHdoZW4gdGhlIGJhdHRlcnkgaXMgY2hhcmdpbmcKK1R9QFR7CitM aW5rcyB0byBcZltWXWZvcm1hdFxmW1JdCitUfQorVHsKK1xmW1ZdZW1wdHlfZm9ybWF0XGZbUl0K K1R9QFR7CitTYW1lIGFzIFxmW1ZdZm9ybWF0XGZbUl0gYnV0IGZvciB3aGVuIHRoZSBiYXR0ZXJ5 IGlzIGVtcHR5CitUfUBUeworXGZbVl1cW2RxXSAkaWNvbiBcW2RxXVxmW1JdCitUfQorVHsKK1xm W1Zdbm90X2NoYXJnaW5nX2Zvcm1hdFxmW1JdCitUfUBUeworU2FtZSBhcyBcZltWXWZvcm1hdFxm W1JdIGJ1dCBmb3Igd2hlbiB0aGUgYmF0dGVyeSBpcyBub3QgY2hhcmdpbmcuCitEZWZhdWx0cyB0 byB0aGUgZnVsbCBiYXR0ZXJ5IGljb24gYXMgbWFueSBiYXR0ZXJpZXMgcmVwb3J0IHRoaXMgc3Rh dHVzCit3aGVuIHRoZXkgYXJlIGZ1bGwuCitUfUBUeworXGZbVl1cW2RxXSAkaWNvbiBcW2RxXVxm W1JdCitUfQorVHsKK1xmW1ZdbWlzc2luZ19mb3JtYXRcZltSXQorVH1AVHsKK1NhbWUgYXMgXGZb Vl1mb3JtYXRcZltSXSBpZiB0aGUgYmF0dGVyeSBjYW5ub3QgYmUgZm91bmQuCitUfUBUeworXGZb Vl1cW2RxXSAkaWNvbiBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdaW5mb1xmW1JdCitUfUBUewor TWluaW11bSBiYXR0ZXJ5IGxldmVsLCB3aGVyZSBzdGF0ZSBpcyBzZXQgdG8gaW5mbworVH1AVHsK K1xmW1ZdNjBcZltSXQorVH0KK1R7CitcZltWXWdvb2RcZltSXQorVH1AVHsKK01pbmltdW0gYmF0 dGVyeSBsZXZlbCwgd2hlcmUgc3RhdGUgaXMgc2V0IHRvIGdvb2QKK1R9QFR7CitcZltWXTYwXGZb Ul0KK1R9CitUeworXGZbVl13YXJuaW5nXGZbUl0KK1R9QFR7CitNaW5pbXVtIGJhdHRlcnkgbGV2 ZWwsIHdoZXJlIHN0YXRlIGlzIHNldCB0byB3YXJuaW5nCitUfUBUeworXGZbVl0zMFxmW1JdCitU fQorVHsKK1xmW1ZdY3JpdGljYWxcZltSXQorVH1AVHsKK01pbmltdW0gYmF0dGVyeSBsZXZlbCwg d2hlcmUgc3RhdGUgaXMgc2V0IHRvIGNyaXRpY2FsCitUfUBUeworXGZbVl0xNVxmW1JdCitUfQor VHsKK1xmW1ZdZnVsbF90aHJlc2hvbGRcZltSXQorVH1AVHsKK1BlcmNlbnRhZ2UgYWJvdmUgd2hp Y2ggdGhlIGJhdHRlcnkgaXMgY29uc2lkZXJlZCBmdWxsCisoXGZbVl1mdWxsX2Zvcm1hdFxmW1Jd IHNob3duKQorVH1AVHsKK1xmW1ZdOTVcZltSXQorVH0KK1R7CitcZltWXWVtcHR5X3RocmVzaG9s ZFxmW1JdCitUfUBUeworUGVyY2VudGFnZSBiZWxvdyB3aGljaCB0aGUgYmF0dGVyeSBpcyBjb25z aWRlcmVkIGVtcHR5CitUfUBUeworXGZbVl03LjVcZltSXQorVH0KKy5URQorLlBQCisuVFMKK3Rh YihAKTsKK2x3KDguM24pIGx3KDQ2LjVuKSBsdygxMi4xbikgbHcoMy4ybikuCitUeworUGxhY2Vo b2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXworVHsK K1xmW1ZdaWNvblxmW1JdCitUfUBUeworSWNvbiBiYXNlZCBvbiBiYXR0ZXJ5XFtjcV1zIHN0YXRl CitUfUBUeworSWNvbgorVH1AVHsKKy0KK1R9CitUeworXGZbVl1wZXJjZW50YWdlXGZbUl0KK1R9 QFR7CitCYXR0ZXJ5IGxldmVsLCBpbiBwZXJjZW50CitUfUBUeworTnVtYmVyCitUfUBUeworUGVy Y2VudHMKK1R9CitUeworXGZbVl10aW1lXGZbUl0KK1R9QFR7CitUaW1lIHJlbWFpbmluZyB1bnRp bCAoZGlzKWNoYXJnZSBpcyBjb21wbGV0ZS4KK1ByZXNlbnRlZCBvbmx5IGlmIGJhdHRlcnlcW2Nx XXMgc3RhdHVzIGlzIChkaXMpY2hhcmdpbmcuCitUfUBUeworU3RyaW5nCitUfUBUeworLQorVH0K K1R7CitcZltWXXBvd2VyXGZbUl0KK1R9QFR7CitQb3dlciBjb25zdW1wdGlvbiBieSB0aGUgYmF0 dGVyeSBvciBmcm9tIHRoZSBwb3dlciBzdXBwbHkgd2hlbiBjaGFyZ2luZworVH1AVHsKK1N0cmlu ZyBvciBGbG9hdAorVH1AVHsKK1dhdHRzCitUfQorLlRFCisuU1MgRXhhbXBsZXMKKy5QUAorQmFz aWMgdXNhZ2U6CisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXWJhdHRl cnlcW2RxXQorZm9ybWF0ID0gXFtkcV0gJGljb24gJHBlcmNlbnRhZ2UgXFtkcV0KK1xmW1JdCisu ZmkKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdYmF0dGVyeVxbZHFd Citmb3JtYXQgPSBcW2RxXSAkcGVyY2VudGFnZSB7JHRpbWUgfH1cW2RxXQorZGV2aWNlID0gXFtk cV1EaXNwbGF5RGV2aWNlXFtkcV0KK2RyaXZlciA9IFxbZHFddXBvd2VyXFtkcV0KK1xmW1JdCisu ZmkKKy5QUAorSGlkZSBtaXNzaW5nIGJhdHRlcnk6CisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2td XQorYmxvY2sgPSBcW2RxXWJhdHRlcnlcW2RxXQorbWlzc2luZ19mb3JtYXQgPSBcW2RxXVxbZHFd CitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdYmF0XGZbUl0g KGFzIGEgcHJvZ3Jlc3Npb24pCisuSVAgXFtidV0gMgorXGZbVl1iYXRfY2hhcmdpbmdcZltSXSAo YXMgYSBwcm9ncmVzc2lvbikKKy5JUCBcW2J1XSAyCitcZltWXWJhdF9ub3RfYXZhaWxhYmxlXGZb Ul0KKy5TUyBibHVldG9vdGgKKy5QUAorTW9uaXRvciBCbHVldG9vdGggZGV2aWNlCisuUFAKK1Ro aXMgYmxvY2sgZGlzcGxheXMgdGhlIGNvbm5lY3Rpdml0eSBvZiBhIGdpdmVuIEJsdWV0b290aCBk ZXZpY2UgYW5kIHRoZQorYmF0dGVyeSBsZXZlbCBpZiB0aGlzIGlzIHN1cHBvcnRlZC4KK1JlbGll cyBvbiB0aGUgQmx1ZXogRC1CdXMgQVBJLgorLlBQCitXaGVuIHRoZSBkZXZpY2UgY2FuIGJlIGlk ZW50aWZpZWQgYXMgYW4gYXVkaW8gaGVhZHNldCwgYSBrZXlib2FyZCwKK2pveXN0aWNrLCBvciBt b3VzZSwgdXNlIHRoZSByZWxldmFudCBpY29uLgorT3RoZXJ3aXNlLCBmYWxsIGJhY2sgb24gdGhl IGdlbmVyaWMgQmx1ZXRvb3RoIHN5bWJvbC4KKy5QUAorUmlnaHQtY2xpY2tpbmcgdGhlIGJsb2Nr IHdpbGwgYXR0ZW1wdCB0byBjb25uZWN0IChvciBkaXNjb25uZWN0KSB0aGUKK2RldmljZS4KKy5Q UAorTm90ZTogYmF0dGVyeSBsZXZlbCBpbmZvcm1hdGlvbiBpcyBub3QgcmVwb3J0ZWQgZm9yIHNv bWUgZGV2aWNlcy4KK0VuYWJsaW5nIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBvZgorXGZbVl1ibHVl elxmW1JdIChodHRwczovL3dpa2kuYXJjaGxpbnV4Lm9yZy90aXRsZS9ibHVldG9vdGgjRW5hYmxp bmdfZXhwZXJpbWVudGFsX2ZlYXR1cmVzKQorbWF5IGZpeCBpdC4KKy5TUyBDb25maWd1cmF0aW9u CisuUFAKKy5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUewor S2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltWXW1hY1xm W1JdCitUfUBUeworTUFDIGFkZHJlc3Mgb2YgdGhlIEJsdWV0b290aCBkZXZpY2UKK1R9QFR7Citc ZltCXVJlcXVpcmVkXGZbUl0KK1R9CitUeworXGZbVl1hZGFwdGVyX21hY1xmW1JdCitUfUBUewor TUFDIEFkZHJlc3Mgb2YgdGhlIEJsdWV0b290aCBhZGFwdGVyIChpbiBjYXNlIHlvdXIgZGV2aWNl IHdhcyBjb25uZWN0ZWQKK3RvIG11bHRpcGxlIGN1cnJlbnRseSBhdmFpbGFibGUgYWRhcHRlcnMp CitUfUBUeworXGZbVl1Ob25lXGZbUl0KK1R9CitUeworXGZbVl1mb3JtYXRcZltSXQorVH1AVHsK K0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2suCitTZWUgYmVs b3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuCitUfUBUeworXFtycV0gJGljb24gJG5hbWV7 ICRwZXJjZW50YWdlfH0gXFtscV0KK1R9CitUeworXGZbVl1kaXNjb25uZWN0ZWRfZm9ybWF0XGZb Ul0KK1R9QFR7CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2Nr LgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xbcnFdICRp Y29ueyAkbmFtZXx9IFxbbHFdCitUfQorVHsKK1xmW1ZdYmF0dGVyeV9zdGF0ZVxmW1JdCitUfUBU eworQSBtYXBwaW5nIGZyb20gYmF0dGVyeSBwZXJjZW50YWdlIHRvIGJsb2NrXFtjcV1zIHN0YXRl IChjb2xvcikuCitTZWUgZXhhbXBsZSBiZWxvdy4KK1R9QFR7CiswLi4xNSAtPiBjcml0aWNhbCwg MTYuLjMwIC0+IHdhcm5pbmcsIDMxLi42MCAtPiBpbmZvLCA2MS4uMTAwIC0+IGdvb2QKK1R9Cisu VEUKKy5QUAorLlRTCit0YWIoQCk7CitsdygxMC41bikgbHcoNDkuN24pIGx3KDUuNm4pIGx3KDQu Mm4pLgorVHsKK1BsYWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9QFR7CitUeXBlCitUfUBUewor VW5pdAorVH0KK18KK1R7CitcZltWXWljb25cZltSXQorVH1AVHsKK0ljb24gYmFzZWQgb24gd2hh dCB0eXBlIG9mIGRldmljZSBpcyBjb25uZWN0ZWQKK1R9QFR7CitJY29uCitUfUBUeworLQorVH0K K1R7CitcZltWXW5hbWVcZltSXQorVH1AVHsKK0RldmljZVxbY3FdcyBuYW1lCitUfUBUeworVGV4 dAorVH1AVHsKKy0KK1R9CitUeworXGZbVl1wZXJjZW50YWdlXGZbUl0KK1R9QFR7CitEZXZpY2Vc W2NxXXMgYmF0dGVyeSBsZXZlbCAobWF5IGJlIGFic2VudCBpZiB0aGUgZGV2aWNlIGlzIG5vdAor c3VwcG9ydGVkKQorVH1AVHsKK051bWJlcgorVH1AVHsKKyUKK1R9CitUeworXGZbVl1iYXR0ZXJ5 X2ljb25cZltSXQorVH1AVHsKK0JhdHRlcnkgaWNvbiAobWF5IGJlIGFic2VudCBpZiB0aGUgZGV2 aWNlIGlzIG5vdCBzdXBwb3J0ZWQpCitUfUBUeworSWNvbgorVH1AVHsKKy0KK1R9CitUeworXGZb Vl1hdmFpbGFibGVcZltSXQorVH1AVHsKK1ByZXNlbnQgaWYgdGhlIGRldmljZSBpcyBhdmFpbGFi bGUKK1R9QFR7CitGbGFnCitUfUBUeworLQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2wg bC4KK1R7CitBY3Rpb24KK1R9QFR7CitEZWZhdWx0IGJ1dHRvbgorVH0KK18KK1R7CitcZltWXXRv Z2dsZVxmW1JdCitUfUBUeworUmlnaHQKK1R9CisuVEUKKy5TUyBFeGFtcGxlcworLlBQCitUaGlz IGV4YW1wbGUganVzdCBzaG93cyB0aGUgaWNvbiB3aGVuIGRldmljZSBpcyBjb25uZWN0ZWQuCisu SVAKKy5uZgorXGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXWJsdWV0b290aFxbZHFdCitt YWMgPSBcW2RxXTAwOjE4OjA5OjkyOjFCOkJBXFtkcV0KK2Rpc2Nvbm5lY3RlZF9mb3JtYXQgPSBc W2RxXVxbZHFdCitmb3JtYXQgPSBcW2RxXSAkaWNvbiBcW2RxXQorW2Jsb2NrLmJhdHRlcnlfc3Rh dGVdCitcW2RxXTAuLjIwXFtkcV0gPSBcW2RxXWNyaXRpY2FsXFtkcV0KK1xbZHFdMjEuLjcwXFtk cV0gPSBcW2RxXXdhcm5pbmdcW2RxXQorXFtkcV03MS4uMTAwXFtkcV0gPSBcW2RxXWdvb2RcW2Rx XQorXGZbUl0KKy5maQorLlNTIEljb25zIFVzZWQKKy5JUCBcW2J1XSAyCitcZltWXWhlYWRwaG9u ZXNcZltSXSBmb3IgYmx1ZXRvb3RoIGRldmljZXMgaWRlbnRpZnlpbmcgYXMKK1xbbHFdYXVkaW8t Y2FyZFxbcnFdLCBcW2xxXWF1ZGlvLWhlYWRzZXRcW3JxXSBvcgorXFtscV1hdWRpby1oZWFkcGhv bmVzXFtycV0KKy5JUCBcW2J1XSAyCitcZltWXWpveXN0aWNrXGZbUl0gZm9yIGJsdWV0b290aCBk ZXZpY2VzIGlkZW50aWZ5aW5nIGFzCitcW2xxXWlucHV0LWdhbWluZ1xbcnFdCisuSVAgXFtidV0g MgorXGZbVl1rZXlib2FyZFxmW1JdIGZvciBibHVldG9vdGggZGV2aWNlcyBpZGVudGlmeWluZyBh cworXFtscV1pbnB1dC1rZXlib2FyZFxbcnFdCisuSVAgXFtidV0gMgorXGZbVl1tb3VzZVxmW1Jd IGZvciBibHVldG9vdGggZGV2aWNlcyBpZGVudGlmeWluZyBhcworXFtscV1pbnB1dC1tb3VzZVxb cnFdCisuSVAgXFtidV0gMgorXGZbVl1ibHVldG9vdGhcZltSXSBmb3IgYWxsIG90aGVyIGRldmlj ZXMKKy5TUyBjcHUKKy5QUAorQ1BVIHN0YXRpc3RpY3MKKy5TUyBDb25maWd1cmF0aW9uCisuUFAK Ky5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUeworS2V5CitU fUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltWXWZvcm1hdFxmW1Jd CitUfUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRoZSBvdXRwdXQgb2YgdGhpcyBibG9jay4K K1NlZSBiZWxvdyBmb3IgYXZhaWxhYmxlIHBsYWNlaG9sZGVycy4KK1R9QFR7CitcZltWXVxbZHFd ICRpY29uICR1dGlsaXphdGlvbiBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdZm9ybWF0X2FsdFxm W1JdCitUfUBUeworSWYgc2V0LCBibG9jayB3aWxsIHN3aXRjaCBiZXR3ZWVuIFxmW1ZdZm9ybWF0 XGZbUl0gYW5kCitcZltWXWZvcm1hdF9hbHRcZltSXSBvbiBldmVyeSBjbGljaworVH1AVHsKK1xm W1ZdTm9uZVxmW1JdCitUfQorVHsKK1xmW1ZdaW50ZXJ2YWxcZltSXQorVH1AVHsKK1VwZGF0ZSBp bnRlcnZhbCBpbiBzZWNvbmRzCitUfUBUeworXGZbVl01XGZbUl0KK1R9CisuVEUKKy5QUAorLlRT Cit0YWIoQCk7CitsdygxMC44bikgbHcoNDQuNW4pIGx3KDUuMW4pIGx3KDkuNW4pLgorVHsKK1Bs YWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9QFR7CitUeXBlCitUfUBUeworVW5pdAorVH0KK18K K1R7CitcZltWXWljb25cZltSXQorVH1AVHsKK0FuIGljb24KK1R9QFR7CitJY29uCitUfUBUewor LQorVH0KK1R7CitcZltWXXV0aWxpemF0aW9uXGZbUl0KK1R9QFR7CitBdmVyYWdlIENQVSB1dGls aXphdGlvbgorVH1AVHsKK051bWJlcgorVH1AVHsKKyUKK1R9CitUeworXGZbVl11dGlsaXphdGlv bjxOPlxmW1JdCitUfUBUeworVXRpbGl6YXRpb24gb2YgTnRoIGxvZ2ljYWwgQ1BVCitUfUBUewor TnVtYmVyCitUfUBUeworJQorVH0KK1R7CitcZltWXWJhcmNoYXJ0XGZbUl0KK1R9QFR7CitVdGls aXphdGlvbiBvZiBhbGwgbG9naWNhbCBDUFVzIHByZXNlbnRlZCBhcyBhIGJhcmNoYXJ0CitUfUBU eworVGV4dAorVH1AVHsKKy0KK1R9CitUeworXGZbVl1mcmVxdWVuY3lcZltSXQorVH1AVHsKK0F2 ZXJhZ2UgQ1BVIGZyZXF1ZW5jeSAobWF5IGJlIGFic2VudCBpZiBDUFUgaXMgbm90IHN1cHBvcnRl ZCkKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitIegorVH0KK1R7CitcZltWXWZyZXF1ZW5jeTxOPlxm W1JdCitUfUBUeworRnJlcXVlbmN5IG9mIE50aCBsb2dpY2FsIENQVSAobWF5IGJlIGFic2VudCBp ZiBDUFUgaXMgbm90IHN1cHBvcnRlZCkKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitIegorVH0KK1R7 CitcZltWXW1heF9mcmVxdWVuY3lcZltSXQorVH1AVHsKK01heCBmcmVxdWVuY3kgb2YgYWxsIGxv Z2ljYWwgQ1BVcworVH1AVHsKK051bWJlcgorVH1AVHsKK0h6CitUfQorVHsKK1xmW1ZdYm9vc3Rc ZltSXQorVH1AVHsKK0NQVSB0dXJibyBib29zdCBzdGF0dXMgKG1heSBiZSBhYnNlbnQgaWYgQ1BV IGlzIG5vdCBzdXBwb3J0ZWQpCitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9CisuVEUKKy5QUAor LlRTCit0YWIoQCk7CitsdygxNS4xbikgbHcoNDAuN24pIGx3KDE0LjJuKS4KK1R7CitBY3Rpb24K K1R9QFR7CitEZXNjcmlwdGlvbgorVH1AVHsKK0RlZmF1bHQgYnV0dG9uCitUfQorXworVHsKK1xm W1ZddG9nZ2xlX2Zvcm1hdFxmW1JdCitUfUBUeworVG9nZ2xlcyBiZXR3ZWVuIFxmW1ZdZm9ybWF0 XGZbUl0gYW5kIFxmW1ZdZm9ybWF0X2FsdFxmW1JdCitUfUBUeworTGVmdAorVH0KKy5URQorLlNT IEV4YW1wbGUKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdY3B1XFtk cV0KK2ludGVydmFsID0gMQorZm9ybWF0ID0gXFtkcV0gJGljb24gJGJhcmNoYXJ0ICR1dGlsaXph dGlvbiBcW2RxXQorZm9ybWF0X2FsdCA9IFxbZHFdICRpY29uICRmcmVxdWVuY3l7ICRib29zdHx9 IFxbZHFdCitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdY3B1 XGZbUl0gKGFzIGEgcHJvZ3Jlc3Npb24pCisuSVAgXFtidV0gMgorXGZbVl1jcHVfYm9vc3Rfb25c ZltSXQorLklQIFxbYnVdIDIKK1xmW1ZdY3B1X2Jvb3N0X29mZlxmW1JdCisuU1MgY3VzdG9tCisu UFAKK1RoZSBvdXRwdXQgb2YgYSBjdXN0b20gc2hlbGwgY29tbWFuZAorLlBQCitGb3IgZnVydGhl ciBjdXN0b21pc2F0aW9uLCB1c2UgdGhlIFxmW1ZdanNvblxmW1JdIG9wdGlvbiBhbmQgaGF2ZSB0 aGUKK3NoZWxsIGNvbW1hbmQgb3V0cHV0IHZhbGlkIEpTT04gaW4gdGhlIHNjaGVtYSBiZWxvdzoK Ky5JUAorLm5mCitcZltDXQore1xbZHFdaWNvblxbZHFdOiBcW2RxXS4uLlxbZHFdLCBcW2RxXXN0 YXRlXFtkcV06IFxbZHFdLi4uXFtkcV0sIFxbZHFddGV4dFxbZHFdOiBcW2RxXS4uLlxbZHFdLCBc W2RxXXNob3J0X3RleHRcW2RxXTogXFtkcV0uLi5cW2RxXX0KK1xmW1JdCisuZmkKKy5QUAorXGZb Vl1pY29uXGZbUl0gaXMgb3B0aW9uYWwgKGRlZmF1bHQgXFtscV1cW2xxXSkgXGZbVl1zdGF0ZVxm W1JdIGlzCitvcHRpb25hbCwgaXQgbWF5IGJlIElkbGUsIEluZm8sIEdvb2QsIFdhcm5pbmcsIENy aXRpY2FsIChkZWZhdWx0IElkbGUpCitcZltWXXNob3J0X3RleHRcZltSXSBpcyBvcHRpb25hbC4K Ky5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBu KSBsdygyOC4wbikuCitUeworS2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0K K18KK1R7CitcZltWXWZvcm1hdFxmW1JdCitUfUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRo ZSBvdXRwdXQgb2YgdGhpcyBibG9jay4KK1NlZSBiZWxvdyBmb3IgYXZhaWxhYmxlIHBsYWNlaG9s ZGVycy4KK1R9QFR7CitcW2xxXXsgJGljb258fSAkdGV4dC5wYW5nby1zdHIoKVxbcnFdCitUfQor VHsKK1xmW1ZdY29tbWFuZFxmW1JdCitUfUBUeworU2hlbGwgY29tbWFuZCB0byBleGVjdXRlICYg ZGlzcGxheQorVH1AVHsKK1xmW1ZdTm9uZVxmW1JdCitUfQorVHsKK1xmW1ZdcGVyc2lzdGVudFxm W1JdCitUfUBUeworUnVuIGNvbW1hbmQgaW4gdGhlIGJhY2tncm91bmQ7IHVwZGF0ZSBkaXNwbGF5 IGZvciBlYWNoIG91dHB1dCBsaW5lIG9mCit0aGUgY29tbWFuZAorVH1AVHsKK1xmW1ZdZmFsc2Vc ZltSXQorVH0KK1R7CitcZltWXWN5Y2xlXGZbUl0KK1R9QFR7CitDb21tYW5kcyB0byBleGVjdXRl IGFuZCBjaGFuZ2Ugd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWQKK1R9QFR7CitcZltWXU5vbmVc ZltSXQorVH0KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwg aW4gc2Vjb25kcyAob3IgXFtscV1vbmNlXFtycV0gdG8gdXBkYXRlIG9ubHkgb25jZSkKK1R9QFR7 CitcZltWXTEwXGZbUl0KK1R9CitUeworXGZbVl1qc29uXGZbUl0KK1R9QFR7CitVc2UgSlNPTiBm cm9tIGNvbW1hbmQgb3V0cHV0IHRvIGZvcm1hdCB0aGUgYmxvY2suCitJZiB0aGUgSlNPTiBpcyBu b3QgdmFsaWQsIHRoZSBibG9jayB3aWxsIGVycm9yIG91dC4KK1R9QFR7CitcZltWXWZhbHNlXGZb Ul0KK1R9CitUeworXGZbVl13YXRjaF9maWxlc1xmW1JdCitUfUBUeworV2F0Y2ggZmlsZXMgdG8g dHJpZ2dlciB1cGRhdGUgb24gZmlsZSBtb2RpZmljYXRpb24uCitTdXBwb3J0cyBwYXRoIGV4cGFu c2lvbnMgZS5nLlwgXGZbVl1cW3RpXVxmW1JdLgorVH1AVHsKK1xmW1ZdTm9uZVxmW1JdCitUfQor VHsKK1xmW1ZdaGlkZV93aGVuX2VtcHR5XGZbUl0KK1R9QFR7CitIaWRlcyB0aGUgYmxvY2sgd2hl biB0aGUgY29tbWFuZCBvdXRwdXQgKG9yIGpzb24gdGV4dCBmaWVsZCkgaXMgZW1wdHkKK1R9QFR7 CitcZltWXWZhbHNlXGZbUl0KK1R9CitUeworXGZbVl1zaGVsbFxmW1JdCitUfUBUeworU3BlY2lm eSB0aGUgc2hlbGwgdG8gdXNlIHdoZW4gcnVubmluZyBjb21tYW5kcworVH1AVHsKK1xmW1ZdJFNI RUxMXGZbUl0gaWYgc2V0LCBvdGhlcndpc2UgZmFsbGJhY2sgdG8gXGZbVl1zaFxmW1JdCitUfQor LlRFCisuUFAKKy5UUwordGFiKEApOworbHcoMTEuOW4pIGx3KDQyLjBuKSBsdyg1LjZuKSBsdygx MC41bikuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7 CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1JdCitUfUBUeworVmFsdWUgb2YgaWNvbiBm aWVsZCBmcm9tIEpTT04gb3V0cHV0IHdoZW4gaXRcW2NxXXMgbm9uLWVtcHR5CitUfUBUeworSWNv bgorVH1AVHsKKy0KK1R9CitUeworXGZbVl10ZXh0XGZbUl0KK1R9QFR7CitPdXRwdXQgb2YgdGhl IHNjcmlwdCBvciB0ZXh0IGZpZWxkIGZyb20gSlNPTiBvdXRwdXQKK1R9QFR7CitUZXh0CitUfUBU eworVH0KK1R7CitcZltWXXNob3J0X3RleHRcZltSXQorVH1AVHsKK3Nob3J0X3RleHQgZmllbGQg ZnJvbSBKU09OIG91dHB1dAorVH1AVHsKK1RleHQKK1R9QFR7CitUfQorLlRFCisuUFAKKy5UUwor dGFiKEApOworbCBsLgorVHsKK0FjdGlvbgorVH1AVHsKK0RlZmF1bHQgYnV0dG9uCitUfQorXwor VHsKK1xmW1ZdY3ljbGVcZltSXQorVH1AVHsKK0xlZnQKK1R9CisuVEUKKy5TUyBFeGFtcGxlcwor LlBQCitEaXNwbGF5IHRlbXBlcmF0dXJlLCB1cGRhdGUgZXZlcnkgMTAgc2Vjb25kczoKKy5JUAor Lm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdY3VzdG9tXFtkcV0KK2NvbW1hbmQg PSBcW2FxXVxbYXFdXFthcV0gY2F0IC9zeXMvY2xhc3MvdGhlcm1hbC90aGVybWFsX3pvbmUwL3Rl bXAgfCBhd2sgXFthcV17cHJpbnRmKFxbZHFdJS4xZlxbcnNdblxbZHFdLCQxLzEwMDApfVxbYXFd IFxbYXFdXFthcV1cW2FxXQorXGZbUl0KKy5maQorLlBQCitDeWNsZSBiZXR3ZWVuIFxbbHFdT05c W3JxXSBhbmQgXFtscV1PRkZcW3JxXSwgdXBkYXRlIGV2ZXJ5IDEgc2Vjb25kLCBydW4KK25leHQg Y3ljbGUgY29tbWFuZCB3aGVuIGJsb2NrIGlzIGNsaWNrZWQ6CisuSVAKKy5uZgorXGZbQ10KK1tb YmxvY2tdXQorYmxvY2sgPSBcW2RxXWN1c3RvbVxbZHFdCitjeWNsZSA9IFtcW2RxXWVjaG8gT05c W2RxXSwgXFtkcV1lY2hvIE9GRlxbZHFdXQoraW50ZXJ2YWwgPSAxCitbW2Jsb2NrLmNsaWNrXV0K K2J1dHRvbiA9IFxbZHFdbGVmdFxbZHFdCithY3Rpb24gPSBcW2RxXWN5Y2xlXFtkcV0KK1xmW1Jd CisuZmkKKy5QUAorVXNlIEpTT04gb3V0cHV0OgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0K K2Jsb2NrID0gXFtkcV1jdXN0b21cW2RxXQorY29tbWFuZCA9IFxbZHFdZWNobyBcW2FxXXtcW3Jz XVxbZHFdaWNvblxbcnNdXFtkcV06XFtyc11cW2RxXXdlYXRoZXJfdGh1bmRlclxbcnNdXFtkcV0s XFtyc11cW2RxXXN0YXRlXFtyc11cW2RxXTpcW3JzXVxbZHFdQ3JpdGljYWxcW3JzXVxbZHFdLCBc W3JzXVxbZHFddGV4dFxbcnNdXFtkcV06IFxbcnNdXFtkcV1EYW5nZXIhXFtyc11cW2RxXX1cW2Fx XVxbZHFdCitqc29uID0gdHJ1ZQorXGZbUl0KKy5maQorLlBQCitEaXNwbGF5IGtlcm5lbCwgdXBk YXRlIHRoZSBibG9jayBvbmx5IG9uY2U6CisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2tdXQorYmxv Y2sgPSBcW2RxXWN1c3RvbVxbZHFdCitjb21tYW5kID0gXFtkcV11bmFtZSAtclxbZHFdCitpbnRl cnZhbCA9IFxbZHFdb25jZVxbZHFdCitcZltSXQorLmZpCisuUFAKK0Rpc3BsYXkgdGhlIHNjcmVl biBicmlnaHRuZXNzIG9uIGFuIGludGVsIG1hY2hpbmUgYW5kIHVwZGF0ZSB0aGlzIG9ubHkKK3do ZW4gXGZbVl1wa2lsbCAtU0lHUlRNSU4rNCBpM3N0YXR1cy1yc1xmW1JdIGlzIGNhbGxlZDoKKy5J UAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdY3VzdG9tXFtkcV0KK2NvbW1h bmQgPSBcW2FxXVxbYXFdXFthcV0gY2F0IC9zeXMvY2xhc3MvYmFja2xpZ2h0L2ludGVsX2JhY2ts aWdodC9icmlnaHRuZXNzIHwgYXdrIFxbYXFde3ByaW50ICQxfVxbYXFdIFxbYXFdXFthcV1cW2Fx XQorc2lnbmFsID0gNAoraW50ZXJ2YWwgPSBcW2RxXW9uY2VcW2RxXQorXGZbUl0KKy5maQorLlBQ CitVcGRhdGUgYmxvY2sgd2hlbiBvbmUgb3IgbW9yZSBzcGVjaWZpZWQgZmlsZXMgYXJlIG1vZGlm aWVkOgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1jdXN0b21cW2Rx XQorY29tbWFuZCA9IFxbZHFdY2F0IGN1c3RvbV9zdGF0dXNcW2RxXQord2F0Y2hfZmlsZXMgPSBb XFtkcV1jdXN0b21fc3RhdHVzXFtkcV1dCitpbnRlcnZhbCA9IFxbZHFdb25jZVxbZHFdCitcZltS XQorLmZpCisuU1MgVE9ETzoKKy5JUCBcW2J1XSAyCitVc2UgXGZbVl1zaGVsbGV4cGFuZFxmW1Jd CisuU1MgY3VzdG9tX2RidXMKKy5QUAorQSBibG9jayBjb250cm9sbGVkIGJ5IHRoZSBEQnVzCisu UFAKK1RoaXMgYmxvY2sgY3JlYXRlcyBhIG5ldyBEQnVzIG9iamVjdCBpbiBcZltWXXJzLmkzc3Rh dHVzXGZbUl0gc2VydmljZS4KK1RoaXMgb2JqZWN0IGltcGxlbWVudHMgXGZbVl1ycy5pM3N0YXR1 cy5jdXN0b21cZltSXSBpbnRlcmZhY2Ugd2hpY2gKK2FsbG93cyB5b3UgdG8gc2V0IGJsb2NrXFtj cV1zIGljb24sIHRleHQgYW5kIHN0YXRlLgorLlBQCitPdXRwdXQgb2YKK1xmW1ZdYnVzY3RsIC0t dXNlciBpbnRyb3NwZWN0IHJzLmkzc3RhdHVzIC88cGF0aD4gcnMuaTNzdGF0dXMuY3VzdG9tXGZb Ul06CisuSVAKKy5uZgorXGZbQ10KK05BTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFRZUEUgICAgICBTSUdOQVRVUkUgUkVTVUxUL1ZBTFVFIEZMQUdTCitycy5pM3N0YXR1cy5jdXN0 b20gICAgICAgICAgICAgICAgICBpbnRlcmZhY2UgLSAgICAgICAgIC0gICAgICAgICAgICAtCitc Ji5TZXRJY29uICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCAgICBzICAgICAgICAg cyAgICAgICAgICAgIC0KK1wmLlNldFN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0 aG9kICAgIHMgICAgICAgICBzICAgICAgICAgICAgLQorXCYuU2V0VGV4dCAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtZXRob2QgICAgc3MgICAgICAgIHMgICAgICAgICAgICAtCitcZltSXQor LmZpCisuU1MgQ29uZmlndXJhdGlvbgorLlBQCisuVFMKK3RhYihAKTsKK2x3KDE0LjBuKSBsdygy OC4wbikgbHcoMjguMG4pLgorVHsKK0tleQorVH1AVHsKK1ZhbHVlcworVH1AVHsKK0RlZmF1bHQK K1R9CitfCitUeworXGZbVl1mb3JtYXRcZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlz ZSB0aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2suCitUfUBUeworXFtscV17ICRpY29ufH17ICR0ZXh0 LnBhbmdvLXN0cigpfH1cW3JxXQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2x3KDguOG4p IGx3KDQ1LjVuKSBsdyg1LjRuKSBsdygxMC4ybikuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitW YWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1Jd CitUfUBUeworVmFsdWUgb2YgaWNvbiBzZXQgdmlhIFxmW1ZdU2V0SWNvblxmW1JdIGlmIHRoZSB2 YWx1ZSBpcyBub24tZW1wdHkKK3N0cmluZy4KK1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7 CitcZltWXXRleHRcZltSXQorVH1AVHsKK1ZhbHVlIG9mIHRoZSBmaXJzdCBzdHJpbmcgZnJvbSBT ZXRUZXh0CitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9CitUeworXGZbVl1zaG9ydF90ZXh0XGZb Ul0KK1R9QFR7CitWYWx1ZSBvZiB0aGUgc2Vjb25kIHN0cmluZyBmcm9tIFNldFRleHQKK1R9QFR7 CitUZXh0CitUfUBUeworLQorVH0KKy5URQorLlNTIEV4YW1wbGUKKy5QUAorQ29uZmlnOgorLklQ CisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1jdXN0b21fZGJ1c1xbZHFdCitw YXRoID0gXFtkcV0vbXlfcGF0aFxbZHFdCitcZltSXQorLmZpCisuUFAKK1VzYWdlOgorLklQCisu bmYKK1xmW0NdCisjIyMgc2V0IGZ1bGwgdGV4dCB0byBcW2FxXWhlbGxvXFthcV0gYW5kIHNob3J0 IHRleHQgdG8gXFthcV1oaVxbYXFdCitidXNjdGwgLS11c2VyIGNhbGwgcnMuaTNzdGF0dXMgL215 X3BhdGggcnMuaTNzdGF0dXMuY3VzdG9tIFNldFRleHQgc3MgaGVsbG8gaGkKKyMjIyBzZXQgaWNv biB0byBcW2FxXW11c2ljXFthcV0KK2J1c2N0bCAtLXVzZXIgY2FsbCBycy5pM3N0YXR1cyAvbXlf cGF0aCBycy5pM3N0YXR1cy5jdXN0b20gU2V0SWNvbiBzIG11c2ljCisjIyMgc2V0IHN0YXRlIHRv IFxbYXFdZ29vZFxbYXFdCitidXNjdGwgLS11c2VyIGNhbGwgcnMuaTNzdGF0dXMgL215X3BhdGgg cnMuaTNzdGF0dXMuY3VzdG9tIFNldFN0YXRlIHMgZ29vZAorXGZbUl0KKy5maQorLlBQCitCZWNh dXNlIGl0XFtjcV1zIGltcG9zc2libGUgdG8gcHVibGlzaCBvYmplY3RzIHRvIHRoZSBzYW1lIG5h bWUgZnJvbQorZGlmZmVyZW50IHByb2Nlc3NlcywgaGF2aW5nIG11bHRpcGxlIGRidXMgYmxvY2tz IGluIGRpZmZlcmVudCBiYXJzCit3b25cW2NxXXQgd29yay4KK0FzIGEgd29ya2Fyb3VuZCwgeW91 IGNhbiBzZXQgdGhlIGVudiB2YXIgXGZbVl1JM1JTX0RCVVNfTkFNRVxmW1JdIHRvIHNldAordGhl IGludGVyZmFjZSBhIGJhciB3b3JrcyBvbiB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gZGlmZmVy ZW50Citwcm9jZXNzZXMuCitGb3IgZXhhbXBsZSwgc2V0dGluZyB0aGlzIHRvIGB0b3AnLCB3aWxs IGFsbG93IHlvdSB0byB1c2UKK1xmW1ZdcnMuaTNzdGF0dXMudG9wXGZbUl0uCisuU1MgVE9ETwor LklQIFxbYnVdIDIKK1NlbmQgYSBzaWduYWwgb24gY2xpY2s/CisuU1MgZGlza19zcGFjZQorLlBQ CitEaXNrIHVzYWdlIHN0YXRpc3RpY3MKKy5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFi KEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUeworS2V5CitUfUBUeworVmFs dWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltWXXBhdGhcZltSXQorVH1AVHsKK1Bh dGggdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBmcm9tLgorU3VwcG9ydHMgcGF0aCBleHBhbnNpb25z IGUuZy5cIFxmW1ZdXFt0aV1cZltSXS4KK1R9QFR7CitcZltWXVxbZHFdL1xbZHFdXGZbUl0KK1R9 CitUeworXGZbVl1pbnRlcnZhbFxmW1JdCitUfUBUeworVXBkYXRlIHRpbWUgaW4gc2Vjb25kcwor VH1AVHsKK1xmW1ZdMjBcZltSXQorVH0KK1R7CitcZltWXWZvcm1hdFxmW1JdCitUfUBUeworQSBz dHJpbmcgdG8gY3VzdG9taXNlIHRoZSBvdXRwdXQgb2YgdGhpcyBibG9jay4KK1NlZSBiZWxvdyBm b3IgYXZhaWxhYmxlIHBsYWNlaG9sZGVycy4KK1R9QFR7CitcZltWXVxbZHFdICRpY29uICRhdmFp bGFibGUgXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWZvcm1hdF9hbHRcZltSXQorVH1AVHsKK0lm IHNldCwgYmxvY2sgd2lsbCBzd2l0Y2ggYmV0d2VlbiBcZltWXWZvcm1hdFxmW1JdIGFuZAorXGZb Vl1mb3JtYXRfYWx0XGZbUl0gb24gZXZlcnkgY2xpY2sKK1R9QFR7CitcZltWXU5vbmVcZltSXQor VH0KK1R7CitcZltWXXdhcm5pbmdcZltSXQorVH1AVHsKK0EgdmFsdWUgd2hpY2ggd2lsbCB0cmln Z2VyIHdhcm5pbmcgYmxvY2sgc3RhdGUKK1R9QFR7CitcZltWXTIwLjBcZltSXQorVH0KK1R7Citc ZltWXWFsZXJ0XGZbUl0KK1R9QFR7CitBIHZhbHVlIHdoaWNoIHdpbGwgdHJpZ2dlciBjcml0aWNh bCBibG9jayBzdGF0ZQorVH1AVHsKK1xmW1ZdMTAuMFxmW1JdCitUfQorVHsKK1xmW1ZdaW5mb190 eXBlXGZbUl0KK1R9QFR7CitEZXRlcm1pbmVzIHdoaWNoIGluZm9ybWF0aW9uIHdpbGwgYWZmZWN0 IHRoZSBibG9jayBzdGF0ZS4KK1Bvc3NpYmxlIHZhbHVlcyBhcmUgXGZbVl1cW2RxXWF2YWlsYWJs ZVxbZHFdXGZbUl0sCitcZltWXVxbZHFdZnJlZVxbZHFdXGZbUl0gYW5kIFxmW1ZdXFtkcV11c2Vk XFtkcV1cZltSXQorVH1AVHsKK1xmW1ZdXFtkcV1hdmFpbGFibGVcW2RxXVxmW1JdCitUfQorVHsK K1xmW1ZdYWxlcnRfdW5pdFxmW1JdCitUfUBUeworVGhlIHVuaXQgb2YgXGZbVl1hbGVydFxmW1Jd IGFuZCBcZltWXXdhcm5pbmdcZltSXSBvcHRpb25zLgorSWYgbm90IHNldCwgcGVyY2VudHMgYXJl IHVzZWQuCitQb3NzaWJsZSB2YWx1ZXMgYXJlIFxmW1ZdXFtkcV1CXFtkcV1cZltSXSwgXGZbVl1c W2RxXUtCXFtkcV1cZltSXSwKK1xmW1ZdXFtkcV1NQlxbZHFdXGZbUl0sIFxmW1ZdXFtkcV1HQlxb ZHFdXGZbUl0gYW5kCitcZltWXVxbZHFdVEJcW2RxXVxmW1JdCitUfUBUeworXGZbVl1Ob25lXGZb Ul0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7Citsdyg5LjVuKSBsdyg0OS42bikgbHcoNS44 bikgbHcoNS4xbikuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUK K1R9QFR7CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1JdCitUfUBUeworQSBzdGF0aWMg aWNvbgorVH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorVHsKK1xmW1ZdcGF0aFxmW1JdCitUfUBU eworVGhlIHZhbHVlIG9mIFxmW1ZdcGF0aFxmW1JdIG9wdGlvbgorVH1AVHsKK1RleHQKK1R9QFR7 CistCitUfQorVHsKK1xmW1ZdcGVyY2VudGFnZVxmW1JdCitUfUBUeworRnJlZSBvciB1c2VkIHBl cmNlbnRhZ2UuCitEZXBlbmRzIG9uIFxmW1ZdaW5mb190eXBlXGZbUl0KK1R9QFR7CitOdW1iZXIK K1R9QFR7CislCitUfQorVHsKK1xmW1ZddG90YWxcZltSXQorVH1AVHsKK1RvdGFsIGRpc2sgc3Bh Y2UKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitCeXRlcworVH0KK1R7CitcZltWXXVzZWRcZltSXQor VH1AVHsKK1VzZWQgZGlzayBzcGFjZQorVH1AVHsKK051bWJlcgorVH1AVHsKK0J5dGVzCitUfQor VHsKK1xmW1ZdZnJlZVxmW1JdCitUfUBUeworRnJlZSBkaXNrIHNwYWNlCitUfUBUeworTnVtYmVy CitUfUBUeworQnl0ZXMKK1R9CitUeworXGZbVl1hdmFpbGFibGVcZltSXQorVH1AVHsKK0F2YWls YWJsZSBkaXNrIHNwYWNlIChmcmVlIGRpc2sgc3BhY2UgbWludXMgcmVzZXJ2ZWQgc3lzdGVtIHNw YWNlKQorVH1AVHsKK051bWJlcgorVH1AVHsKK0J5dGVzCitUfQorLlRFCisuUFAKKy5UUwordGFi KEApOworbHcoMTUuMW4pIGx3KDQwLjduKSBsdygxNC4ybikuCitUeworQWN0aW9uCitUfUBUewor RGVzY3JpcHRpb24KK1R9QFR7CitEZWZhdWx0IGJ1dHRvbgorVH0KK18KK1R7CitcZltWXXRvZ2ds ZV9mb3JtYXRcZltSXQorVH1AVHsKK1RvZ2dsZXMgYmV0d2VlbiBcZltWXWZvcm1hdFxmW1JdIGFu ZCBcZltWXWZvcm1hdF9hbHRcZltSXQorVH1AVHsKK0xlZnQKK1R9CisuVEUKKy5TUyBFeGFtcGxl CisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXWRpc2tfc3BhY2VcW2Rx XQoraW5mb190eXBlID0gXFtkcV1hdmFpbGFibGVcW2RxXQorYWxlcnRfdW5pdCA9IFxbZHFdR0Jc W2RxXQorYWxlcnQgPSAxMC4wCit3YXJuaW5nID0gMTUuMAorZm9ybWF0ID0gXFtkcV0gJGljb24g JGF2YWlsYWJsZSBcW2RxXQorZm9ybWF0X2FsdCA9IFxbZHFdICRpY29uICRhdmFpbGFibGUgLyAk dG90YWwgXFtkcV0KK1xmW1JdCisuZmkKKy5QUAorVXBkYXRlIGJsb2NrIG9uIHJpZ2h0IGNsaWNr OgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1kaXNrX3NwYWNlXFtk cV0KK1tbYmxvY2suY2xpY2tdXQorYnV0dG9uID0gXFtkcV1yaWdodFxbZHFdCit1cGRhdGUgPSB0 cnVlCitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdZGlza19k cml2ZVxmW1JdCisuU1MgZG5mCisuUFAKK1BlbmRpbmcgdXBkYXRlcyBhdmFpbGFibGUgZm9yIHlv dXIgRmVkb3JhIHN5c3RlbQorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7Cits dygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9 QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdaW50ZXJ2YWxcZltSXQorVH1AVHsKK1VwZGF0 ZSBpbnRlcnZhbCBpbiBzZWNvbmRzLgorVH1AVHsKK1xmW1ZdNjAwXGZbUl0KK1R9CitUeworXGZb Vl1mb3JtYXRcZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0IG9m IHRoaXMgYmxvY2suCitTZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuCitUfUBU eworXGZbVl1cW2RxXSAkaWNvbiAkY291bnQuZW5nKHc6MSkgXFtkcV1cZltSXQorVH0KK1R7Citc ZltWXWZvcm1hdF9zaW5ndWxhclxmW1JdCitUfUBUeworU2FtZSBhcyBcZltWXWZvcm1hdFxmW1Jd LCBidXQgZm9yIHdoZW4gZXhhY3RseSBvbmUgdXBkYXRlIGlzIGF2YWlsYWJsZS4KK1R9QFR7Citc ZltWXVxbZHFdICRpY29uICRjb3VudC5lbmcodzoxKSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1Zd Zm9ybWF0X3VwX3RvX2RhdGVcZltSXQorVH1AVHsKK1NhbWUgYXMgXGZbVl1mb3JtYXRcZltSXSwg YnV0IGZvciB3aGVuIG5vIHVwZGF0ZXMgYXJlIGF2YWlsYWJsZS4KK1R9QFR7CitcZltWXVxbZHFd ICRpY29uICRjb3VudC5lbmcodzoxKSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1Zdd2FybmluZ191 cGRhdGVzX3JlZ2V4XGZbUl0KK1R9QFR7CitEaXNwbGF5IGJsb2NrIGFzIHdhcm5pbmcgaWYgdXBk YXRlcyBtYXRjaGluZyByZWdleCBhcmUgYXZhaWxhYmxlLgorVH1AVHsKK1xmW1ZdTm9uZVxmW1Jd CitUfQorVHsKK1xmW1ZdY3JpdGljYWxfdXBkYXRlc19yZWdleFxmW1JdCitUfUBUeworRGlzcGxh eSBibG9jayBhcyBjcml0aWNhbCBpZiB1cGRhdGVzIG1hdGNoaW5nIHJlZ2V4IGFyZSBhdmFpbGFi bGUuCitUfUBUeworXGZbVl1Ob25lXGZbUl0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7Cits IGwgbCBsLgorVHsKK1BsYWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9QFR7CitUeXBlCitUfUBU eworVW5pdAorVH0KK18KK1R7CitcZltWXWljb25cZltSXQorVH1AVHsKK0Egc3RhdGljIGljb24K K1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7CitcZltWXWNvdW50XGZbUl0KK1R9QFR7CitO dW1iZXIgb2YgdXBkYXRlcyBhdmFpbGFibGUKK1R9QFR7CitOdW1iZXIKK1R9QFR7CistCitUfQor LlRFCisuU1MgRXhhbXBsZQorLlBQCitVcGRhdGUgdGhlIGxpc3Qgb2YgcGVuZGluZyB1cGRhdGVz IGV2ZXJ5IHRoaXJ0eSBtaW51dGVzICgxODAwIHNlY29uZHMpOgorLklQCisubmYKK1xmW0NdCitb W2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1kbmZcW2RxXQoraW50ZXJ2YWwgPSAxODAwCitmb3JtYXQg PSBcW2RxXSAkaWNvbiAkY291bnQuZW5nKHc6MSkgdXBkYXRlcyBhdmFpbGFibGUgXFtkcV0KK2Zv cm1hdF9zaW5ndWxhciA9IFxbZHFdICRpY29uIE9uZSB1cGRhdGUgYXZhaWxhYmxlIFxbZHFdCitm b3JtYXRfdXBfdG9fZGF0ZSA9IFxbZHFdICRpY29uIHN5c3RlbSB1cCB0byBkYXRlIFxbZHFdCitj cml0aWNhbF91cGRhdGVzX3JlZ2V4ID0gXFtkcV0obGludXh8bGludXgtbHRzfGxpbnV4LXplbilc W2RxXQorW1tibG9jay5jbGlja11dCisjIyMgc2hvd3MgZG1lbnUgd2l0aCBjYWNoZWQgYXZhaWxh YmxlIHVwZGF0ZXMuIEFueSBkbWVudSBhbHRlcm5hdGl2ZSBzaG91bGQgYWxzbyB3b3JrLgorYnV0 dG9uID0gXFtkcV1sZWZ0XFtkcV0KK2NtZCA9IFxbZHFdZG5mIGxpc3QgLXEgLS11cGdyYWRlcyB8 IHRhaWwgLW4gKzIgfCByb2ZpIC1kbWVudVxbZHFdCitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNl ZAorLklQIFxbYnVdIDIKK1xmW1ZddXBkYXRlXGZbUl0KKy5TUyBkb2NrZXIKKy5QUAorTG9jYWwg ZG9ja2VyIGRhZW1vbiBzdGF0dXMKKy5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFiKEAp OworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUeworS2V5CitUfUBUeworVmFsdWVz CitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitV cGRhdGUgaW50ZXJ2YWwsIGluIHNlY29uZHMuCitUfUBUeworXGZbVl01XGZbUl0KK1R9CitUewor XGZbVl1mb3JtYXRcZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0 IG9mIHRoaXMgYmxvY2suCitTZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuCitU fUBUeworXGZbVl1cW2RxXSAkaWNvbiAkcnVubmluZy5lbmcodzoxKSBcW2RxXVxmW1JdCitUfQor VHsKK1xmW1Zdc29ja2V0X3BhdGhcZltSXQorVH1AVHsKK1RoZSBwYXRoIHRvIHRoZSBkb2NrZXIg c29ja2V0LgorU3VwcG9ydHMgcGF0aCBleHBhbnNpb25zIGUuZy5cIFxmW1ZdXFt0aV1cZltSXS4K K1R9QFR7CitcZltWXVxbZHFdL3Zhci9ydW4vZG9ja2VyLnNvY2tcW2RxXVxmW1JdCitUfQorLlRF CisuUFAKKy5UUwordGFiKEApOworbCBsIGwgbC4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZQorVH1A VHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1JdCitUfUBUewor QSBzdGF0aWMgaWNvbgorVH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorVHsKK1xmW1ZddG90YWxc ZltSXQorVH1AVHsKK1RvdGFsIGNvbnRhaW5lcnMgb24gdGhlIGhvc3QKK1R9QFR7CitOdW1iZXIK K1R9QFR7CistCitUfQorVHsKK1xmW1ZdcnVubmluZ1xmW1JdCitUfUBUeworQ29udGFpbmVycyBy dW5uaW5nIG9uIHRoZSBob3N0CitUfUBUeworTnVtYmVyCitUfUBUeworLQorVH0KK1R7CitcZltW XXN0b3BwZWRcZltSXQorVH1AVHsKK0NvbnRhaW5lcnMgc3RvcHBlZCBvbiB0aGUgaG9zdAorVH1A VHsKK051bWJlcgorVH1AVHsKKy0KK1R9CitUeworXGZbVl1wYXVzZWRcZltSXQorVH1AVHsKK0Nv bnRhaW5lcnMgcGF1c2VkIG9uIHRoZSBob3N0CitUfUBUeworTnVtYmVyCitUfUBUeworLQorVH0K K1R7CitcZltWXWltYWdlc1xmW1JdCitUfUBUeworVG90YWwgaW1hZ2VzIG9uIHRoZSBob3N0CitU fUBUeworTnVtYmVyCitUfUBUeworLQorVH0KKy5URQorLlNTIEV4YW1wbGUKKy5JUAorLm5mCitc ZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdZG9ja2VyXFtkcV0KK2ludGVydmFsID0gMgor Zm9ybWF0ID0gXFtkcV0gJGljb24gJHJ1bm5pbmcvJHRvdGFsIFxbZHFdCitcZltSXQorLmZpCisu U1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdZG9ja2VyXGZbUl0KKy5TUyBleHRlcm5h bF9pcAorLlBQCitFeHRlcm5hbCBJUCBhZGRyZXNzIGFuZCB2YXJpb3VzIGluZm9ybWF0aW9uIGFi b3V0IGl0CisuU1MgQ29uZmlndXJhdGlvbgorLlBQCisuVFMKK3RhYihAKTsKK2x3KDE0LjBuKSBs dygyOC4wbikgbHcoMjguMG4pLgorVHsKK0tleQorVH1AVHsKK1ZhbHVlcworVH1AVHsKK0RlZmF1 bHQKK1R9CitfCitUeworXGZbVl1mb3JtYXRcZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3Rv bWlzZSB0aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2suCitTZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBw bGFjZWhvbGRlcnMuCitUfUBUeworXGZbVl1cW2RxXSAkaXAgJGNvdW50cnlfZmxhZyBcW2RxXVxm W1JdCitUfQorVHsKK1xmW1ZdaW50ZXJ2YWxcZltSXQorVH1AVHsKK0ludGVydmFsIGluIHNlY29u ZHMgZm9yIGF1dG9tYXRpYyB1cGRhdGVzCitUfUBUeworXGZbVl0zMDBcZltSXQorVH0KK1R7Citc ZltWXXdpdGhfbmV0d29ya19tYW5hZ2VyXGZbUl0KK1R9QFR7CitJZiBgdHJ1ZScsIGxpc3RlbiBm b3IgTmV0d29ya01hbmFnZXIgZXZlbnRzIGFuZCB1cGRhdGUgdGhlIElQCitpbW1lZGlhdGVseSBp ZiB0aGVyZSB3YXMgYSBjaGFuZ2UKK1R9QFR7CitcZltWXXRydWVcZltSXQorVH0KK1R7CitcZltW XXVzZV9pcHY0XGZbUl0KK1R9QFR7CitJZiBgdHJ1ZScsIHVzZSBJUHY0IGZvciBvYnRhaW5pbmcg YWxsIGluZm8KK1R9QFR7CitcZltWXWZhbHNlXGZbUl0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIo QCk7CitsdygxNC42bikgbHcoMjAuNG4pIGx3KDE3LjVuKSBsdygxNy41bikuCitUeworS2V5CitU fUBUeworVmFsdWUKK1R9QFR7CitUeXBlCitUfUBUeworVW5pdAorVH0KK18KK1R7CitcZltWXWlw XGZbUl0KK1R9QFR7CitUaGUgZXh0ZXJuYWwgSVAgYWRkcmVzcywgYXMgc2VlbiBmcm9tIGEgcmVt b3RlIHNlcnZlcgorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsKK1xmW1ZddmVyc2lvblxm W1JdCitUfUBUeworSVB2NCBvciBJUHY2CitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9CitUewor XGZbVl1jaXR5XGZbUl0KK1R9QFR7CitDaXR5IG5hbWUsIHN1Y2ggYXMgXFtscV1TYW4gRnJhbmNp c2NvXFtycV0KK1R9QFR7CitUZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXXJlZ2lvblxmW1Jd CitUfUBUeworUmVnaW9uIG5hbWUsIHN1Y2ggYXMgXFtscV1DYWxpZm9ybmlhXFtycV0KK1R9QFR7 CitUZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXXJlZ2lvbl9jb2RlXGZbUl0KK1R9QFR7CitS ZWdpb24gY29kZSwgc3VjaCBhcyBcW2xxXUNBXFtycV0gZm9yIENhbGlmb3JuaWEKK1R9QFR7CitU ZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXWNvdW50cnlcZltSXQorVH1AVHsKK0NvdW50cnkg Y29kZSAoMiBsZXR0ZXIsIElTTyAzMTY2LTEgYWxwaGEtMikKK1R9QFR7CitUZXh0CitUfUBUewor LQorVH0KK1R7CitcZltWXWNvdW50cnlfbmFtZVxmW1JdCitUfUBUeworU2hvcnQgY291bnRyeSBu YW1lCitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9CitUeworXGZbVl1jb3VudHJ5X2NvZGVcZltS XQorVH1AVHsKK0NvdW50cnkgY29kZSAoMiBsZXR0ZXIsIElTTyAzMTY2LTEgYWxwaGEtMikKK1R9 QFR7CitUZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXWNvdW50cnlfY29kZV9pc28zXGZbUl0K K1R9QFR7CitDb3VudHJ5IGNvZGUgKDMgbGV0dGVyLCBJU08gMzE2Ni0xIGFscGhhLTMpCitUfUBU eworVGV4dAorVH1AVHsKKy0KK1R9CitUeworXGZbVl1jb3VudHJ5X2NhcGl0YWxcZltSXQorVH1A VHsKK0NhcGl0YWwgb2YgdGhlIGNvdW50cnkKK1R9QFR7CitUZXh0CitUfUBUeworLQorVH0KK1R7 CitcZltWXWNvdW50cnlfdGxkXGZbUl0KK1R9QFR7CitDb3VudHJ5IHNwZWNpZmljIFRMRCAodG9w LWxldmVsIGRvbWFpbikKK1R9QFR7CitUZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXWNvbnRp bmVudF9jb2RlXGZbUl0KK1R9QFR7CitDb250aW5lbnQgY29kZQorVH1AVHsKK1RleHQKK1R9QFR7 CistCitUfQorVHsKK1xmW1ZdaW5fZXVcZltSXQorVH1AVHsKK1JlZ2lvbiBjb2RlLCBzdWNoIGFz IFxbbHFdQ0FcW3JxXQorVH1AVHsKK0ZsYWcKK1R9QFR7CistCitUfQorVHsKK1xmW1ZdcG9zdGFs XGZbUl0KK1R9QFR7CitaSVAgLyBQb3N0YWwgY29kZQorVH1AVHsKK1RleHQKK1R9QFR7CistCitU fQorVHsKK1xmW1ZdbGF0aXR1ZGVcZltSXQorVH1AVHsKK0xhdGl0dWRlCitUfUBUeworTnVtYmVy CitUfUBUeworLSAoVE9ETzogbWFrZSBkZWdyZWVzPykKK1R9CitUeworXGZbVl1sb25naXR1ZGVc ZltSXQorVH1AVHsKK0xvbmdpdHVkZQorVH1AVHsKK051bWJlcgorVH1AVHsKKy0gKFRPRE86IG1h a2UgZGVncmVlcz8pCitUfQorVHsKK1xmW1ZddGltZXpvbmVcZltSXQorVH1AVHsKK0NpdHkKK1R9 QFR7CitUZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXXV0Y19vZmZzZXRcZltSXQorVH1AVHsK K1VUQyBvZmZzZXQgKHdpdGggZGF5bGlnaHQgc2F2aW5nIHRpbWUpIGFzICtISE1NIG9yIC1ISE1N IChISCBpcyBob3VycywKK01NIGlzIG1pbnV0ZXMpCitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9 CitUeworXGZbVl1jb3VudHJ5X2NhbGxpbmdfY29kZVxmW1JdCitUfUBUeworQ291bnRyeSBjYWxs aW5nIGNvZGUgKGRpYWwgaW4gY29kZSwgY29tbWEgc2VwYXJhdGVkKQorVH1AVHsKK1RleHQKK1R9 QFR7CistCitUfQorVHsKK1xmW1ZdY3VycmVuY3lcZltSXQorVH1AVHsKK0N1cnJlbmN5IGNvZGUg KElTTyA0MjE3KQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsKK1xmW1ZdY3VycmVuY3lf bmFtZVxmW1JdCitUfUBUeworQ3VycmVuY3kgbmFtZQorVH1AVHsKK1RleHQKK1R9QFR7CistCitU fQorVHsKK1xmW1ZdbGFuZ3VhZ2VzXGZbUl0KK1R9QFR7CitMYW5ndWFnZXMgc3Bva2VuIChjb21t YSBzZXBhcmF0ZWQgMiBvciAzIGxldHRlciBJU08gNjM5IGNvZGUgd2l0aAorb3B0aW9uYWwgaHlw aGVuIHNlcGFyYXRlZCBjb3VudHJ5IHN1ZmZpeCkKK1R9QFR7CitUZXh0CitUfUBUeworLQorVH0K K1R7CitcZltWXWNvdW50cnlfYXJlYVxmW1JdCitUfUBUeworQXJlYSBvZiB0aGUgY291bnRyeSAo aW4gc3Ega20pCitUfUBUeworTnVtYmVyCitUfUBUeworLQorVH0KK1R7CitcZltWXWNvdW50cnlf cG9wdWxhdGlvblxmW1JdCitUfUBUeworUG9wdWxhdGlvbiBvZiB0aGUgY291bnRyeQorVH1AVHsK K051bWJlcgorVH1AVHsKKy0KK1R9CitUeworXGZbVl10aW1lem9uZVxmW1JdCitUfUBUeworVGlt ZSB6b25lCitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9CitUeworXGZbVl1vcmdcZltSXQorVH1A VHsKK09yZ2FuaXphdGlvbgorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsKK1xmW1ZdYXNu XGZbUl0KK1R9QFR7CitBdXRvbm9tb3VzIHN5c3RlbSAoQVMpCitUfUBUeworVGV4dAorVH1AVHsK Ky0KK1R9CitUeworXGZbVl1jb3VudHJ5X2ZsYWdcZltSXQorVH1AVHsKK0ZsYWcgb2YgdGhlIGNv dW50cnkKK1R9QFR7CitUZXh0IChnbHlwaCkKK1R9QFR7CistCitUfQorLlRFCisuU1MgRXhhbXBs ZQorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1leHRlcm5hbF9pcFxb ZHFdCitmb3JtYXQgPSBcW2RxXSAkaXAgJGNvdW50cnlfY29kZSBcW2RxXQorXGZbUl0KKy5maQor LlNTIE5vdGVzCisuUFAKK0FsbCB0aGUgaW5mb3JtYXRpb24gY29tZXMgZnJvbSA8aHR0cHM6Ly9p cGFwaS5jby9qc29uLz4gQ2hlY2sgdGhlaXIKK2RvY3VtZW50YXRpb24gaGVyZTogPGh0dHBzOi8v aXBhcGkuY28vYXBpLyNjb21wbGV0ZS1sb2NhdGlvbjU+CisuUFAKK1RoZSBJUCBpcyBxdWVyaWVk LCAxKSBXaGVuIGkzc3RhdHVzLXJzIHN0YXJ0cywgMikgV2hlbiBhIHNpZ25hbCBpcworcmVjZWl2 ZWQgb24gRC1CdXMgYWJvdXQgYSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gY2hhbmdlLCAzKSBFdmVy eSA1CittaW51dGVzLgorVGhpcyBwZXJpb2RpYyByZWZyZXNoIGV4aXN0cyB0byBjYXRjaCBJUCB1 cGRhdGVzIHRoYXQgZG9uXFtjcV10IHRyaWdnZXIKK2Egbm90aWZpY2F0aW9uLCBmb3IgZXhhbXBs ZSBkdWUgdG8gYSBJUCByZWZyZXNoIGF0IHRoZSByb3V0ZXIuCisuUFAKK0ZsYWdzOiBUaGV5IGFy ZSBub3QgaWNvbnMgYnV0IHVuaWNvZGUgZ2x5cGhzLgorWW91IHdpbGwgbmVlZCBhIGZvbnQgdGhh dCBpbmNsdWRlcyB0aGVtLgorVGVzdGVkIHdpdGg6IDxodHRwczovL3d3dy5iYWJlbHN0b25lLmNv LnVrL0ZvbnRzL0ZsYWdzLmh0bWw+CisuU1MgZm9jdXNlZF93aW5kb3cKKy5QUAorQ3VycmVudGx5 IGZvY3VzZWQgd2luZG93CisuUFAKK1RoaXMgYmxvY2sgZGlzcGxheXMgdGhlIHRpdGxlIGFuZC9v ciB0aGUgYWN0aXZlIG1hcmtzICh3aGVuIHVzZWQgd2l0aAorXGZbVl1zd2F5XGZbUl0vXGZbVl1p M1xmW1JdKSBvZiB0aGUgY3VycmVudGx5IGZvY3VzZWQgd2luZG93LgorU3VwcG9ydGVkIFdNcyBh cmU6IFxmW1Zdc3dheVxmW1JdLCBcZltWXWkzXGZbUl0gYW5kIG1vc3Qgd2xyb290cy1iYXNlZAor Y29tcG9zaXRvcnMuCitTZWUgXGZbVl1kcml2ZXJcZltSXSBvcHRpb24gZm9yIG1vcmUgaW5mby4K Ky5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBu KSBsdygyOC4wbikuCitUeworS2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0K K18KK1R7CitcZltWXWZvcm1hdFxmW1JdCitUfUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRo ZSBvdXRwdXQgb2YgdGhpcyBibG9jay4KK1NlZSBiZWxvdyBmb3IgYXZhaWxhYmxlIHBsYWNlaG9s ZGVycy4KK1R9QFR7CitcW3JxXSAkdGl0bGUuc3RyKG1heF93OjIxKSB8XFtscV0KK1R9CitUewor XGZbVl1kcml2ZXJcZltSXQorVH1AVHsKK1doaWNoIGRyaXZlciB0byB1c2UuCitBdmFpbGFibGUg dmFsdWVzOiBcZltWXXN3YXlfaXBjXGZbUl0gLSBmb3IgXGZbVl1pM1xmW1JdIGFuZAorXGZbVl1z d2F5XGZbUl0sIFxmW1Zdd2xyX3RvcGxldmVsX21hbmFnZW1lbnRcZltSXSAtIGZvciBXYXlsYW5k Citjb21wb3NpdG9ycyB0aGF0IGltcGxlbWVudAord2xyLWZvcmVpZ24tdG9wbGV2ZWwtbWFuYWdl bWVudC11bnN0YWJsZS12MSAoaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3dscm9vdHMv d2xyLXByb3RvY29scy8tL2Jsb2IvbWFzdGVyL3Vuc3RhYmxlL3dsci1mb3JlaWduLXRvcGxldmVs LW1hbmFnZW1lbnQtdW5zdGFibGUtdjEueG1sKSwKK1xmW1ZdYXV0b1xmW1JdIC0gdHJ5IHRvIGF1 dG9tYXRpY2FsbHkgZ3Vlc3Mgd2hpY2ggZHJpdmVyIHRvIHVzZS4KK1R9QFR7CitcZltWXVxbZHFd YXV0b1xbZHFdXGZbUl0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7CitsdygxMS40bikgbHco NTAuN24pIGx3KDQuM24pIGx3KDMuNm4pLgorVHsKK1BsYWNlaG9sZGVyCitUfUBUeworVmFsdWUK K1R9QFR7CitUeXBlCitUfUBUeworVW5pdAorVH0KK18KK1R7CitcZltWXXRpdGxlXGZbUl0KK1R9 QFR7CitXaW5kb3dcW2NxXXMgdGl0bGUgKG1heSBiZSBhYnNlbnQpCitUfUBUeworVGV4dAorVH1A VHsKKy0KK1R9CitUeworXGZbVl1tYXJrc1xmW1JdCitUfUBUeworV2luZG93XFtjcV1zIG1hcmtz IChwcmVzZW50IG9ubHkgd2l0aCBzd2F5L2kzKQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQor VHsKK1xmW1ZddmlzaWJsZV9tYXJrc1xmW1JdCitUfUBUeworV2luZG93XFtjcV1zIG1hcmtzIHRo YXQgZG8gbm90IHN0YXJ0IHdpdGggXGZbVl1fXGZbUl0gKHByZXNlbnQgb25seSB3aXRoCitzd2F5 L2kzKQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorLlRFCisuU1MgRXhhbXBsZQorLklQCisu bmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1mb2N1c2VkX3dpbmRvd1xbZHFdCitb YmxvY2suZm9ybWF0XQorZnVsbCA9IFxbZHFdICR0aXRsZS5zdHIobWF4X3c6MTUpIHxcW2RxXQor c2hvcnQgPSBcW2RxXSAkdGl0bGUuc3RyKG1heF93OjEwKSB8XFtkcV0KK1xmW1JdCisuZmkKKy5Q UAorVGhpcyBleGFtcGxlIGluc3RlYWQgb2YgaGlkaW5nIGJsb2NrIHdoZW4gdGhlIHdpbmRvd1xb Y3FdcyB0aXRsZSBpcworZW1wdHkgZGlzcGxheXMgXFtscV1NaXNzaW5nXFtycV0KKy5JUAorLm5m CitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdZm9jdXNlZF93aW5kb3dcW2RxXQorZm9y bWF0ID0gXFtkcV0gJHRpdGxlLnN0cigwLDIxKSB8IE1pc3NpbmcgXFtkcV0KKworIyMgZ2l0aHVi CitUaGUgbnVtYmVyIG9mIEdpdEh1YiBub3RpZmljYXRpb25zCisKK1RoaXMgYmxvY2sgc2hvd3Mg dGhlIHVucmVhZCBub3RpZmljYXRpb24gY291bnQgZm9yIGEgR2l0SHViIGFjY291bnQuIEEgR2l0 SHViIFtwZXJzb25hbCBhY2Nlc3MgdG9rZW5dKGh0dHBzOi8vZ2l0aHViLmNvbS9zZXR0aW5ncy90 b2tlbnMvbmV3KSB3aXRoIHRoZSBcW2RxXW5vdGlmaWNhdGlvbnNcW2RxXSBzY29wZSBpcyByZXF1 aXJlZCwgYW5kIG11c3QgYmUgcGFzc2VkIHVzaW5nIHRoZSBcW2dhXUkzUlNfR0lUSFVCX1RPS0VO XFtnYV0gZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgXFtnYV10b2tlblxbZ2FdIGNvbmZpZ3VyYXRp b24gb3B0aW9uLiBPcHRpb25hbGx5IHRoZSBjb2xvdXIgb2YgdGhlIGJsb2NrIGlzIGRldGVybWlu ZWQgYnkgdGhlIGhpZ2hlc3Qgbm90aWZpY2F0aW9uIGluIHRoZSBmb2xsb3dpbmcgbGlzdHMgZnJv bSBoaWdoZXN0IHRvIGxvd2VzdDogXFtnYV1jcml0aWNhbFxbZ2FdLFxbZ2Fdd2FybmluZ1xbZ2Fd LFxbZ2FdaW5mb1xbZ2FdLFxbZ2FdZ29vZFxbZ2FdCisKKyMjIyBDb25maWd1cmF0aW9uCisKK0tl eSB8IFZhbHVlcyB8IERlZmF1bHQKKy0tLS18LS0tLS0tLS18LS0tLS0tLS0KK1xbZ2FdZm9ybWF0 XFtnYV0gfCBBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLiBT ZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuIHwgXFtnYV1cW2RxXSAkaWNvbiAk dG90YWwuZW5nKHc6MSkgXFtkcV1cW2dhXQorXFtnYV1pbnRlcnZhbFxbZ2FdIHwgVXBkYXRlIGlu dGVydmFsIGluIHNlY29uZHMgfCBcW2dhXTMwXFtnYV0KK1xbZ2FddG9rZW5cW2dhXSB8IEEgR2l0 SHViIHBlcnNvbmFsIGFjY2VzcyB0b2tlbiB3aXRoIHRoZSBcW2RxXW5vdGlmaWNhdGlvbnNcW2Rx XSBzY29wZSB8IFxbZ2FdTm9uZVxbZ2FdCitcW2dhXWhpZGVfaWZfdG90YWxfaXNfemVyb1xbZ2Fd IHwgSGlkZSB0aGlzIGJsb2NrIGlmIHRoZSB0b3RhbCBjb3VudCBvZiBub3RpZmljYXRpb25zIGlz IHplcm8gfCBcW2dhXWZhbHNlXFtnYV0KK1xbZ2FdY3JpdGljYWxcW2dhXSB8IExpc3Qgb2Ygbm90 aWZpY2F0aW9uIHR5cGVzIHRoYXQgY2hhbmdlIHRoZSBibG9jayB0byB0aGUgY3JpdGljYWwgY29s b3VyIHwgXFtnYV1Ob25lXFtnYV0KK1xbZ2Fdd2FybmluZ1xbZ2FdIHwgTGlzdCBvZiBub3RpZmlj YXRpb24gdHlwZXMgdGhhdCBjaGFuZ2UgdGhlIGJsb2NrIHRvIHRoZSB3YXJuaW5nIGNvbG91ciB8 IFxbZ2FdTm9uZVxbZ2FdCitcW2dhXWluZm9cW2dhXSB8IExpc3Qgb2Ygbm90aWZpY2F0aW9uIHR5 cGVzIHRoYXQgY2hhbmdlIHRoZSBibG9jayB0byB0aGUgaW5mbyBjb2xvdXIgfCBcW2dhXU5vbmVc W2dhXQorXFtnYV1nb29kXFtnYV0gfCBMaXN0IG9mIG5vdGlmaWNhdGlvbiB0eXBlcyB0aGF0IGNo YW5nZSB0aGUgYmxvY2sgdG8gdGhlIGdvb2QgY29sb3VyIHwgXFtnYV1Ob25lXFtnYV0KKworCitB bGwgdGhlIHBsYWNlaG9sZGVycyBhcmUgbnVtYmVycyB3aXRob3V0IGEgdW5pdC4KKworUGxhY2Vo b2xkZXIgICAgICAgIHwgVmFsdWUKKy0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tCitcW2dhXWlj b25cW2dhXSAgICAgICAgICAgICB8IEEgc3RhdGljIGljb24KK1xbZ2FddG90YWxcW2dhXSAgICAg ICAgICAgIHwgVGhlIHRvdGFsIG51bWJlciBvZiBub3RpZmljYXRpb25zCitcW2dhXWFzc2lnblxb Z2FdICAgICAgICAgICB8IFlvdSB3ZXJlIGFzc2lnbmVkIHRvIHRoZSBpc3N1ZQorXFtnYV1hdXRo b3JcW2dhXSAgICAgICAgICAgfCBZb3UgY3JlYXRlZCB0aGUgdGhyZWFkCitcW2dhXWNvbW1lbnRc W2dhXSAgICAgICAgICB8IFlvdSBjb21tZW50ZWQgb24gdGhlIHRocmVhZAorXFtnYV1jaV9hY3Rp dml0eVxbZ2FdICAgICAgfCBBIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93IHJ1biB0aGF0IHlvdSB0 cmlnZ2VyZWQgd2FzIGNvbXBsZXRlZAorXFtnYV1pbnZpdGF0aW9uXFtnYV0gICAgICAgfCBZb3Ug YWNjZXB0ZWQgYW4gaW52aXRhdGlvbiB0byBjb250cmlidXRlIHRvIHRoZSByZXBvc2l0b3J5Citc W2dhXW1hbnVhbFxbZ2FdICAgICAgICAgICB8IFlvdSBzdWJzY3JpYmVkIHRvIHRoZSB0aHJlYWQg KHZpYSBhbiBpc3N1ZSBvciBwdWxsIHJlcXVlc3QpCitcW2dhXW1lbnRpb25cW2dhXSAgICAgICAg ICB8IFlvdSB3ZXJlIHNwZWNpZmljYWxseSBcW2F0XW1lbnRpb25lZCBpbiB0aGUgY29udGVudAor XFtnYV1yZXZpZXdfcmVxdWVzdGVkXFtnYV0gfCBZb3UsIG9yIGEgdGVhbSB5b3VcW2FxXXJlIGEg bWVtYmVyIG9mLCB3ZXJlIHJlcXVlc3RlZCB0byByZXZpZXcgYSBwdWxsIHJlcXVlc3QKK1xbZ2Fd c2VjdXJpdHlfYWxlcnRcW2dhXSAgIHwgR2l0SHViIGRpc2NvdmVyZWQgYSBzZWN1cml0eSB2dWxu ZXJhYmlsaXR5IGluIHlvdXIgcmVwb3NpdG9yeQorXFtnYV1zdGF0ZV9jaGFuZ2VcW2dhXSAgICAg fCBZb3UgY2hhbmdlZCB0aGUgdGhyZWFkIHN0YXRlIChmb3IgZXhhbXBsZSwgY2xvc2luZyBhbiBp c3N1ZSBvciBtZXJnaW5nIGEgcHVsbCByZXF1ZXN0KQorXFtnYV1zdWJzY3JpYmVkXFtnYV0gICAg ICAgfCBZb3VcW2FxXXJlIHdhdGNoaW5nIHRoZSByZXBvc2l0b3J5CitcW2dhXXRlYW1fbWVudGlv blxbZ2FdICAgICB8IFlvdSB3ZXJlIG9uIGEgdGVhbSB0aGF0IHdhcyBtZW50aW9uZWQKKworIyMj IEV4YW1wbGVzCisKK1xbZ2FdXFtnYV1cW2dhXXRvbWwKK1tbYmxvY2tdXQorYmxvY2sgPSBcW2Rx XWdpdGh1YlxbZHFdCitmb3JtYXQgPSBcW2RxXSAkaWNvbiAkdG90YWwuZW5nKHc6MSl8JG1lbnRp b24uZW5nKHc6MSkgXFtkcV0KK2ludGVydmFsID0gNjAKK3Rva2VuID0gXFtkcV0uLi5cW2RxXQor XGZbUl0KKy5maQorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1naXRo dWJcW2RxXQordG9rZW4gPSBcW2RxXS4uLlxbZHFdCitmb3JtYXQgPSBcW2RxXSAkaWNvbiAkdG90 YWwuZW5nKHc6MSkgXFtkcV0KK2luZm8gPSBbXFtkcV10b3RhbFxbZHFdXQord2FybmluZyA9IFtc W2RxXW1lbnRpb25cW2RxXSxcW2RxXXJldmlld19yZXF1ZXN0ZWRcW2RxXV0KK2hpZGVfaWZfdG90 YWxfaXNfemVybyA9IHRydWUKK1xmW1JdCisuZmkKKy5TUyBJY29ucyBVc2VkCisuSVAgXFtidV0g MgorXGZbVl1naXRodWJcZltSXQorLlNTIGh1ZXNoaWZ0CisuUFAKK01hbmFnZSBkaXNwbGF5IHRl bXBlcmF0dXJlCisuUFAKK1RoaXMgYmxvY2sgZGlzcGxheXMgdGhlIGN1cnJlbnQgY29sb3IgdGVt cGVyYXR1cmUgaW4gS2VsdmluLgorV2hlbiBzY3JvbGxpbmcgdXBvbiB0aGUgYmxvY2sgdGhlIGNv bG9yIHRlbXBlcmF0dXJlIGlzIGNoYW5nZWQuCitBIGxlZnQgY2xpY2sgb24gdGhlIGJsb2NrIHNl dHMgdGhlIGNvbG9yIHRlbXBlcmF0dXJlIHRvCitcZltWXWNsaWNrX3RlbXBcZltSXSB0aGF0IGlz IGJ5IGRlZmF1bHQgdG8gXGZbVl02NTAwS1xmW1JdLgorQSByaWdodCBjbGljayBjb21wbGV0ZWx5 IHJlc2V0cyB0aGUgY29sb3IgdGVtcGVyYXR1cmUgdG8gaXRzIGRlZmF1bHQKK3ZhbHVlIChcZltW XTY1MDBLXGZbUl0pLgorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7Citsdygx NC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9QFR7 CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0cmluZyB0 byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZvciBhdmFp bGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJHRlbXBlcmF0dXJlIFxbZHFd XGZbUl0KK1R9CitUeworXGZbVl1zdGVwXGZbUl0KK1R9QFR7CitUaGUgc3RlcCBjb2xvciB0ZW1w ZXJhdHVyZSBpcyBpbi9kZWNyZWFzZWQgaW4gS2VsdmluLgorVH1AVHsKK1xmW1ZdMTAwXGZbUl0K K1R9CitUeworXGZbVl1odWVfc2hpZnRlclxmW1JdCitUfUBUeworUHJvZ3JhbSB1c2VkIHRvIGNv bnRyb2wgc2NyZWVuIGNvbG9yLgorVH1AVHsKK0RldGVjdCBhdXRvbWF0aWNhbGx5CitUfQorVHsK K1xmW1ZdbWF4X3RlbXBcZltSXQorVH1AVHsKK01heCBjb2xvciB0ZW1wZXJhdHVyZSBpbiBLZWx2 aW4uCitUfUBUeworXGZbVl0xMDAwMFxmW1JdCitUfQorVHsKK1xmW1ZdbWluX3RlbXBcZltSXQor VH1AVHsKK01pbiBjb2xvciB0ZW1wZXJhdHVyZSBpbiBLZWx2aW4uCitUfUBUeworXGZbVl0xMDAw XGZbUl0KK1R9CitUeworXGZbVl1jbGlja190ZW1wXGZbUl0KK1R9QFR7CitMZWZ0IGNsaWNrIGNv bG9yIHRlbXBlcmF0dXJlIGluIEtlbHZpbi4KK1R9QFR7CitcZltWXTY1MDBcZltSXQorVH0KKy5U RQorLlBQCisuVFMKK3RhYihAKTsKK2x3KDIwLjVuKSBsdygyOC4wbikgbHcoNy41bikgbHcoMTQu MG4pLgorVHsKK1BsYWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9QFR7CitUeXBlCitUfUBUewor VW5pdAorVH0KK18KK1R7CitcZltWXXRlbXBlcmF0dXJlXGZbUl0KK1R9QFR7CitDdXJyZW50IHRl bXBlcmF0dXJlCitUfUBUeworTnVtYmVyCitUfUBUeworLQorVH0KKy5URQorLlBQCisuVFMKK3Rh YihAKTsKK2wgbC4KK1R7CitBY3Rpb24KK1R9QFR7CitEZWZhdWx0IGJ1dHRvbgorVH0KK18KK1R7 CitcZltWXXNldF9jbGlja190ZW1wXGZbUl0KK1R9QFR7CitMZWZ0CitUfQorVHsKK1xmW1ZdcmVz ZXRcZltSXQorVH1AVHsKK1JpZ2h0CitUfQorVHsKK1xmW1ZddGVtcGVyYXR1cmVfdXBcZltSXQor VH1AVHsKK1doZWVsIFVwCitUfQorVHsKK1xmW1ZddGVtcGVyYXR1cmVfZG93blxmW1JdCitUfUBU eworV2hlZWwgRG93bgorVH0KKy5URQorLlNTIEF2YWlsYWJsZSBIdWUgU2hpZnRlcnMKKy5QUAor LlRTCit0YWIoQCk7CitsIGwuCitUeworTmFtZQorVH1AVHsKK1N1cHBvcnRzCitUfQorXworVHsK K1xmW1ZdXFtkcV1yZWRzaGlmdFxbZHFdXGZbUl0KK1R9QFR7CitYMTEKK1R9CitUeworXGZbVl1c W2RxXXNjdFxbZHFdXGZbUl0KK1R9QFR7CitYMTEKK1R9CitUeworXGZbVl1cW2RxXWdhbW1hc3Rl cFxbZHFdXGZbUl0KK1R9QFR7CitYMTEgYW5kIFdheWxhbmQKK1R9CitUeworXGZbVl1cW2RxXXds X2dhbW1hcmVsYXlcW2RxXVxmW1JdCitUfUBUeworV2F5bGFuZAorVH0KK1R7CitcZltWXVxbZHFd d2xfZ2FtbWFyZWxheV9yc1xbZHFdXGZbUl0KK1R9QFR7CitXYXlsYW5kCitUfQorVHsKK1xmW1Zd XFtkcV13bHN1bnNldFxbZHFdXGZbUl0KK1R9QFR7CitXYXlsYW5kCitUfQorLlRFCisuUFAKK05v dGUgdGhhdCBhdCB0aGUgbW9tZW50LCBvbmx5CitcZltWXXdsX2dhbW1hcmVsYXlcZltSXSAoaHR0 cHM6Ly9naXRodWIuY29tL2plcmVtaWphL3dsLWdhbW1hcmVsYXkpIGFuZAorXGZbVl13bF9nYW1t YXJlbGF5X3JzXGZbUl0gKGh0dHBzOi8vZ2l0aHViLmNvbS9NYXhWZXJldmtpbi93bC1nYW1tYXJl bGF5LXJzKQorc3Vic2NyaWJlIHRvIHRoZSBldmVudHMgYW5kIHVwZGF0ZSB0aGUgYmFyIHdoZW4g dGhlIHRlbXBlcmF0dXJlIGlzCittb2RpZmllZCBleHRlcm5hbGx5LgorQWxzbywgdGhlc2UgYXJl IHRoZSBvbmx5IGRyaXZlcnMgYXQgdGhlIG1vbWVudCB0aGF0IHdvcmsgdW5kZXIgV2F5bGFuZAor d2l0aG91dCBmbGlja2VyaW5nLgorLlNTIEV4YW1wbGUKKy5JUAorLm5mCitcZltDXQorW1tibG9j a11dCitibG9jayA9IFxbZHFdaHVlc2hpZnRcW2RxXQoraHVlX3NoaWZ0ZXIgPSBcW2RxXXJlZHNo aWZ0XFtkcV0KK3N0ZXAgPSA1MAorY2xpY2tfdGVtcCA9IDM1MDAKK1xmW1JdCisuZmkKKy5QUAor QSBoYXJkIGxpbWl0IGlzIHNldCBmb3IgdGhlIFxmW1ZdbWF4X3RlbXBcZltSXSB0byBcZltWXTEw MDAwS1xmW1JdIGFuZAordGhlIHNhbWUgZm9yIHRoZSBcZltWXW1pbl90ZW1wXGZbUl0gd2hpY2gg aXMgXGZbVl0xMDAwS1xmW1JdLgorVGhlIFxmW1Zdc3RlcFxmW1JdIGhhcyBhIGhhcmQgbGltaXQg YXMgd2VsbCwgZGVmaW5lZCB0byBcZltWXTUwMEtcZltSXQordG8gYXZvaWQgdG9vIGJydXRhbCBj aGFuZ2VzLgorLlNTIGtkZWNvbm5lY3QKKy5QUAorS0RFQ29ubmVjdCAoaHR0cHM6Ly9jb21tdW5p dHkua2RlLm9yZy9LREVDb25uZWN0KSBpbmRpY2F0b3IKKy5QUAorRGlzcGxheSBpbmZvIGZyb20g dGhlIGN1cnJlbnRseSBjb25uZWN0ZWQgZGV2aWNlIGluIEtERUNvbm5lY3QsIHVwZGF0ZWQKK2Fz eW5jaHJvbm91c2x5LgorLlBQCitCbG9jayBjb2xvdXJzIGFyZSB1cGRhdGVkIGJhc2VkIG9uIHRo ZSBiYXR0ZXJ5IGxldmVsLCB1bmxlc3MgYWxsIGJhdF8qCit0aHJlc2hvbGRzIGFyZSBzZXQgdG8g MCwgaW4gd2hpY2ggY2FzZSB0aGUgYmxvY2sgY29sb3VycyB3aWxsIGRlcGVuZCBvbgordGhlIG5v dGlmaWNhdGlvbiBjb3VudCBpbnN0ZWFkLgorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0 YWIoQCk7CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitW YWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZGV2aWNlX2lkXGZbUl0KK1R9 QFR7CitEZXZpY2UgSUQgYXMgcGVyIHRoZSBvdXRwdXQgb2YgXGZbVl1rZGVjb25uZWN0IC0tbGlz dC1kZXZpY2VzXGZbUl0uCitUfUBUeworQ2hvb3NlcyB0aGUgZmlyc3QgZm91bmQgZGV2aWNlLCBp ZiBhbnkuCitUfQorVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0cmluZyB0byBjdXN0 b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUg cGxhY2Vob2xkZXJzLgorVH1AVHsKK1xbcnFdICRpY29uICRuYW1leyAkYmF0X2ljb24gJGJhdF9j aGFyZ2V8fXsgJG5vdGlmX2ljb258fSBcW2xxXQorVH0KK1R7CitcZltWXWJhdF9pbmZvXGZbUl0K K1R9QFR7CitNaW4gYmF0dGVyeSBsZXZlbCBiZWxvdyB3aGljaCBzdGF0ZSBpcyBzZXQgdG8gaW5m by4KK1R9QFR7CitcZltWXTYwXGZbUl0KK1R9CitUeworXGZbVl1iYXRfZ29vZFxmW1JdCitUfUBU eworTWluIGJhdHRlcnkgbGV2ZWwgYmVsb3cgd2hpY2ggc3RhdGUgaXMgc2V0IHRvIGdvb2QuCitU fUBUeworXGZbVl02MFxmW1JdCitUfQorVHsKK1xmW1ZdYmF0X3dhcm5pbmdcZltSXQorVH1AVHsK K01pbiBiYXR0ZXJ5IGxldmVsIGJlbG93IHdoaWNoIHN0YXRlIGlzIHNldCB0byB3YXJuaW5nLgor VH1AVHsKK1xmW1ZdMzBcZltSXQorVH0KK1R7CitcZltWXWJhdF9jcml0aWNhbFxmW1JdCitUfUBU eworTWluIGJhdHRlcnkgbGV2ZWwgYmVsb3cgd2hpY2ggc3RhdGUgaXMgc2V0IHRvIGNyaXRpY2Fs LgorVH1AVHsKK1xmW1ZdMTVcZltSXQorVH0KK1R7CitcZltWXWhpZGVfZGlzY29ubmVjdGVkXGZb Ul0KK1R9QFR7CitXaGV0aGVyIHRvIGhpZGUgdGhpcyBibG9jayB3aGVuIGRpc2Nvbm5lY3RlZAor VH1AVHsKK1xmW1ZddHJ1ZVxmW1JdCitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbHcoMTIu NW4pIGx3KDQ4LjluKSBsdyg1LjNuKSBsdygzLjNuKS4KK1R7CitQbGFjZWhvbGRlcgorVH1AVHsK K1ZhbHVlCitUfUBUeworVHlwZQorVH1AVHsKK1VuaXQKK1R9CitfCitUeworXGZbVl1pY29uXGZb Ul0KK1R9QFR7CitJY29uIGJhc2VkIG9uIGNvbm5lY3Rpb25cW2NxXXMgc3RhdHVzCitUfUBUewor SWNvbgorVH1AVHsKKy0KK1R9CitUeworXGZbVl1iYXRfaWNvblxmW1JdCitUfUBUeworQmF0dGVy eSBsZXZlbCBpbmRpY2F0b3IgKG9ubHkgd2hlbiBjb25uZWN0ZWQgYW5kIGlmIHN1cHBvcnRlZCkK K1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7CitcZltWXWJhdF9jaGFyZ2VcZltSXQorVH1A VHsKK0JhdHRlcnkgY2hhcmdlIGxldmVsIChvbmx5IHdoZW4gY29ubmVjdGVkIGFuZCBpZiBzdXBw b3J0ZWQpCitUfUBUeworTnVtYmVyCitUfUBUeworJQorVH0KK1R7CitcZltWXW5ldHdvcmtfaWNv blxmW1JdCitUfUBUeworQ2VsbCBOZXR3b3JrIGluZGljYXRvciAob25seSB3aGVuIGNvbm5lY3Rl ZCBhbmQgaWYgc3VwcG9ydGVkKQorVH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorVHsKK1xmW1Zd bmV0d29ya190eXBlXGZbUl0KK1R9QFR7CitDZWxsIE5ldHdvcmsgdHlwZSAob25seSB3aGVuIGNv bm5lY3RlZCBhbmQgaWYgc3VwcG9ydGVkKQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsK K1xmW1ZdbmV0d29ya19zdHJlbmd0aFxmW1JdCitUfUBUeworQ2VsbCBOZXR3b3JrIGxldmVsIChv bmx5IHdoZW4gY29ubmVjdGVkIGFuZCBpZiBzdXBwb3J0ZWQpCitUfUBUeworTnVtYmVyCitUfUBU eworJQorVH0KK1R7CitcZltWXW5vdGlmX2ljb25cZltSXQorVH1AVHsKK09ubHkgd2hlbiBjb25u ZWN0ZWQgYW5kIHRoZXJlIGFyZSBub3RpZmljYXRpb25zCitUfUBUeworSWNvbgorVH1AVHsKKy0K K1R9CitUeworXGZbVl1ub3RpZl9jb3VudFxmW1JdCitUfUBUeworTnVtYmVyIG9mIG5vdGlmaWNh dGlvbnMgb24geW91ciBwaG9uZSAob25seSB3aGVuIGNvbm5lY3RlZCBhbmQgbm9uLXplcm8pCitU fUBUeworTnVtYmVyCitUfUBUeworLQorVH0KK1R7CitcZltWXW5hbWVcZltSXQorVH1AVHsKK05h bWUgb2YgeW91ciBkZXZpY2UgYXMgcmVwb3J0ZWQgYnkgS0RFQ29ubmVjdCAoaWYgYXZhaWxhYmxl KQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsKK1xmW1ZdY29ubmVjdGVkXGZbUl0KK1R9 QFR7CitQcmVzZW50IGlmIHlvdXIgZGV2aWNlIGlzIGNvbm5lY3RlZAorVH1AVHsKK0ZsYWcKK1R9 QFR7CistCitUfQorLlRFCisuU1MgRXhhbXBsZQorLlBQCitEbyBub3Qgc2hvdyB0aGUgbmFtZSwg ZG8gbm90IHNldCB0aGUgXFtscV1nb29kXFtycV0gc3RhdGUuCisuSVAKKy5uZgorXGZbQ10KK1tb YmxvY2tdXQorYmxvY2sgPSBcW2RxXWtkZWNvbm5lY3RcW2RxXQorZm9ybWF0ID0gXFtkcV0gJGlj b24geyRiYXRfaWNvbiAkYmF0X2NoYXJnZSB8fXskbm90aWZfaWNvbiB8fXskbmV0d29ya19pY29u JG5ldHdvcmtfc3RyZW5ndGggJG5ldHdvcmtfdHlwZSB8fVxbZHFdCitiYXRfZ29vZCA9IDEwMQor XGZbUl0KKy5maQorLlNTIEljb25zIFVzZWQKKy5JUCBcW2J1XSAyCitcZltWXWJhdFxmW1JdIChh cyBhIHByb2dyZXNzaW9uKQorLklQIFxbYnVdIDIKK1xmW1ZdYmF0X2NoYXJnaW5nXGZbUl0gKGFz IGEgcHJvZ3Jlc3Npb24pCisuSVAgXFtidV0gMgorXGZbVl1uZXRfY2VsbHVsYXJcZltSXSAoYXMg YSBwcm9ncmVzc2lvbikKKy5JUCBcW2J1XSAyCitcZltWXW5vdGlmaWNhdGlvblxmW1JdCisuSVAg XFtidV0gMgorXGZbVl1waG9uZVxmW1JdCisuSVAgXFtidV0gMgorXGZbVl1waG9uZV9kaXNjb25u ZWN0ZWRcZltSXQorLlNTIGtleWJvYXJkX2xheW91dAorLlBQCitLZXlib2FyZCBsYXlvdXQgaW5k aWNhdG9yCisuUFAKK0ZvdXIgZHJpdmVycyBhcmUgYXZhaWxhYmxlOiAtIFxmW1Zdc2V0eGtibWFw XGZbUl0gd2hpY2ggcG9sbHMgc2V0eGtibWFwCit0byBnZXQgdGhlIGN1cnJlbnQgbGF5b3V0IC0g XGZbVl1sb2NhbGVidXNcZltSXSB3aGljaCBjYW4gcmVhZAorYXN5bmNocm9ub3VzIHVwZGF0ZXMg ZnJvbSB0aGUgc3lzdGVtZCBcZltWXW9yZy5mcmVlZGVza3RvcC5sb2NhbGUxXGZbUl0KK0QtQnVz IHBhdGggLSBcZltWXWtiZGRidXNcZltSXSB3aGljaCB1c2VzCitrYmRkIChodHRwczovL2dpdGh1 Yi5jb20vcW5pa3N0L2tiZGQpIHRvIG1vbml0b3IgcGVyLXdpbmRvdyBsYXlvdXQKK2NoYW5nZXMg dmlhIERCdXMgLSBcZltWXXN3YXlcZltSXSB3aGljaCBjYW4gcmVhZCBhc3luY2hyb25vdXMgdXBk YXRlcworZnJvbSB0aGUgc3dheSBJUEMKKy5QUAorV2hpY2ggb2YgdGhlc2UgbWV0aG9kcyBpcyBh cHByb3ByaWF0ZSB3aWxsIGRlcGVuZCBvbiB5b3VyIHN5c3RlbSBzZXR1cC4KKy5TUyBDb25maWd1 cmF0aW9uCisuUFAKKy5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbiku CitUeworS2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltW XWRyaXZlclxmW1JdCitUfUBUeworT25lIG9mIFxmW1ZdXFtkcV1zZXR4a2JtYXBcW2RxXVxmW1Jd LCBcZltWXVxbZHFdbG9jYWxlYnVzXFtkcV1cZltSXSwKK1xmW1ZdXFtkcV1rYmRkYnVzXFtkcV1c ZltSXSBvciBcZltWXVxbZHFdc3dheVxbZHFdXGZbUl0sIGRlcGVuZGluZyBvbgoreW91ciBzeXN0 ZW0uCitUfUBUeworXGZbVl1cW2RxXXNldHhrYm1hcFxbZHFdXGZbUl0KK1R9CitUeworXGZbVl1p bnRlcnZhbFxmW1JdCitUfUBUeworVXBkYXRlIGludGVydmFsLCBpbiBzZWNvbmRzLgorT25seSB1 c2VkIGJ5IHRoZSBcZltWXVxbZHFdc2V0eGtibWFwXFtkcV1cZltSXSBkcml2ZXIuCitUfUBUewor XGZbVl02MFxmW1JdCitUfQorVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0cmluZyB0 byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZvciBhdmFp bGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGxheW91dCBcW2RxXVxmW1Jd CitUfQorVHsKK1xmW1Zdc3dheV9rYl9pZGVudGlmaWVyXGZbUl0KK1R9QFR7CitJZGVudGlmaWVy IG9mIHRoZSBkZXZpY2UgeW91IHdhbnQgdG8gbW9uaXRvciwgYXMgZm91bmQgaW4gdGhlIG91dHB1 dCBvZgorXGZbVl1zd2F5bXNnIC10IGdldF9pbnB1dHNcZltSXS4KK1R9QFR7CitEZWZhdWx0cyB0 byBmaXJzdCBpbnB1dCBmb3VuZAorVH0KK1R7CitcZltWXW1hcHBpbmdzXGZbUl0KK1R9QFR7CitN YXAgXGZbVl1sYXlvdXQgKHZhcmlhbnQpXGZbUl0gdG8gY3VzdG9tIHNob3J0IG5hbWUuCitUfUBU eworXGZbVl1Ob25lXGZbUl0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7CitsIGwgbC4KK1R7 CitLZXkKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9CitfCitUeworXGZbVl1sYXlvdXRc ZltSXQorVH1AVHsKK0tleWJvYXJkIGxheW91dCBuYW1lCitUfUBUeworU3RyaW5nCitUfQorVHsK K1xmW1ZddmFyaWFudFxmW1JdCitUfUBUeworS2V5Ym9hcmQgdmFyaWFudCBuYW1lIG9yIFxmW1Zd Ti9BXGZbUl0gaWYgbm90IGFwcGxpY2FibGUKK1R9QFR7CitTdHJpbmcKK1R9CisuVEUKKy5TUyBF eGFtcGxlcworLlBQCitDaGVjayBcZltWXXNldHhrYm1hcFxmW1JdIGV2ZXJ5IDE1IHNlY29uZHM6 CisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXWtleWJvYXJkX2xheW91 dFxbZHFdCitkcml2ZXIgPSBcW2RxXXNldHhrYm1hcFxbZHFdCitpbnRlcnZhbCA9IDE1CitcZltS XQorLmZpCisuUFAKK0xpc3RlbiB0byBELUJ1cyBmb3IgY2hhbmdlczoKKy5JUAorLm5mCitcZltD XQorW1tibG9ja11dCitibG9jayA9IFxbZHFda2V5Ym9hcmRfbGF5b3V0XFtkcV0KK2RyaXZlciA9 IFxbZHFdbG9jYWxlYnVzXFtkcV0KK1xmW1JdCisuZmkKKy5QUAorTGlzdGVuIHRvIGtiZGQgZm9y IGNoYW5nZXMsIHRoZSB0ZXh0IGlzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgorXFtscV1Fbmds aXNoIChVUylcW3JxXSAtIHskbGF5b3V0ICgkdmFyaWFudCl9IHVzZSBibG9jay5tYXBwaW5ncyB0 bworb3ZlcnJpZGUgd2l0aCBzaG9ydGVyIG5hbWVzIGFzIHNob3duIGJlbG93LgorQWxzbyB1c2Ug Zm9ybWF0ID0gXFtycV0gJGxheW91dCAoJHZhcmlhbnQpIFxbcnFdIHRvIHNlZSB0aGUgZnVsbCB0 ZXh0IHRvCittYXAsIG9yIHlvdSBjYW4gdXNlOiBkYnVzLW1vbml0b3IgaW50ZXJmYWNlPXJ1Lmdl bnRvby5rYmRkIHRvIHNlZSB0aGUKK2V4YWN0IHZhcmlhbnQgc3BlbGxpbmcKKy5JUAorLm5mCitc ZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFda2V5Ym9hcmRfbGF5b3V0XFtkcV0KK2RyaXZl ciA9IFxbZHFda2JkZGJ1c1xbZHFdCitbYmxvY2subWFwcGluZ3NdCitcW2RxXUVuZ2xpc2ggKFVT KVxbZHFdID0gXFtkcV11c1xbZHFdCitcW2RxXUJ1bGdhcmlhbiAobmV3IHBob25ldGljKVxbZHFd ID0gXFtkcV1iZ1xbZHFdCitcZltSXQorLmZpCisuUFAKK0xpc3RlbiB0byBzd2F5IGZvciBjaGFu Z2VzOgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1rZXlib2FyZF9s YXlvdXRcW2RxXQorZHJpdmVyID0gXFtkcV1zd2F5XFtkcV0KK3N3YXlfa2JfaWRlbnRpZmllciA9 IFxbZHFdMTEzMzo0OTcwNjpHYW1pbmdfS2V5Ym9hcmRfRzExMFxbZHFdCitcZltSXQorLmZpCisu UFAKK0xpc3RlbiB0byBzd2F5IGZvciBjaGFuZ2VzIGFuZCBvdmVycmlkZSBtYXBwaW5nczoKKy5J UAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFda2V5Ym9hcmRfbGF5b3V0XFtk cV0KK2RyaXZlciA9IFxbZHFdc3dheVxbZHFdCitmb3JtYXQgPSBcW2RxXSAkbGF5b3V0IFxbZHFd CitbYmxvY2subWFwcGluZ3NdCitcW2RxXUVuZ2xpc2ggKFdvcmttYW4pXFtkcV0gPSBcW2RxXUVO XFtkcV0KK1xbZHFdUnVzc2lhbiAoTi9BKVxbZHFdID0gXFtkcV1SVVxbZHFdCitcZltSXQorLmZp CisuU1MgbG9hZAorLlBQCitTeXN0ZW0gbG9hZCBhdmVyYWdlCisuU1MgQ29uZmlndXJhdGlvbgor LlBQCisuVFMKK3RhYihAKTsKK2x3KDcuM24pIGx3KDU3LjVuKSBsdyg1LjNuKS4KK1R7CitLZXkK K1R9QFR7CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZm9ybWF0XGZb Ul0KK1R9QFR7CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2Nr LgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtk cV0gJGljb24gJDFtLmVuZyh3OjQpIFxbZHFdXGZbUl0KK1R9CitUeworXGZbVl1pbnRlcnZhbFxm W1JdCitUfUBUeworVXBkYXRlIGludGVydmFsIGluIHNlY29uZHMKK1R9QFR7CitcZltWXTNcZltS XQorVH0KK1R7CitcZltWXWluZm9cZltSXQorVH1AVHsKK01pbmltdW0gbG9hZCwgd2hlcmUgc3Rh dGUgaXMgc2V0IHRvIGluZm8KK1R9QFR7CitcZltWXTAuM1xmW1JdCitUfQorVHsKK1xmW1Zdd2Fy bmluZ1xmW1JdCitUfUBUeworTWluaW11bSBsb2FkLCB3aGVyZSBzdGF0ZSBpcyBzZXQgdG8gd2Fy bmluZworVH1AVHsKK1xmW1ZdMC42XGZbUl0KK1R9CitUeworXGZbVl1jcml0aWNhbFxmW1JdCitU fUBUeworTWluaW11bSBsb2FkLCB3aGVyZSBzdGF0ZSBpcyBzZXQgdG8gY3JpdGljYWwKK1R9QFR7 CitcZltWXTAuOVxmW1JdCitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbCBsIGwgbC4KK1R7 CitQbGFjZWhvbGRlcgorVH1AVHsKK1ZhbHVlCitUfUBUeworVHlwZQorVH1AVHsKK1VuaXQKK1R9 CitfCitUeworXGZbVl1pY29uXGZbUl0KK1R9QFR7CitBIHN0YXRpYyBpY29uCitUfUBUeworSWNv bgorVH1AVHsKKy0KK1R9CitUeworXGZbVl0xbVxmW1JdCitUfUBUeworMSBtaW51dGUgbG9hZCBh dmVyYWdlCitUfUBUeworTnVtYmVyCitUfUBUeworLQorVH0KK1R7CitcZltWXTVtXGZbUl0KK1R9 QFR7Cis1IG1pbnV0ZSBsb2FkIGF2ZXJhZ2UKK1R9QFR7CitOdW1iZXIKK1R9QFR7CistCitUfQor VHsKK1xmW1ZdMTVtXGZbUl0KK1R9QFR7CisxNSBtaW51dGUgbG9hZCBhdmVyYWdlCitUfUBUewor TnVtYmVyCitUfUBUeworLQorVH0KKy5URQorLlNTIEV4YW1wbGUKKy5JUAorLm5mCitcZltDXQor W1tibG9ja11dCitibG9jayA9IFxbZHFdbG9hZFxbZHFdCitmb3JtYXQgPSBcW2RxXSAkaWNvbiAx bWluIGF2ZzogJDFtLmVuZyh3OjQpIFxbZHFdCitpbnRlcnZhbCA9IDEKK1xmW1JdCisuZmkKKy5T UyBJY29ucyBVc2VkCisuSVAgXFtidV0gMgorXGZbVl1jb2dzXGZbUl0KKy5TUyBtYWlsZGlyCisu UFAKK1VucmVhZCBtYWlsLgorT25seSBzdXBwb3J0cyBtYWlsZGlyIGZvcm1hdC4KKy5QUAorTm90 ZSB0aGF0IHlvdSBuZWVkIHRvIGVuYWJsZSBcZltWXW1haWxkaXJcZltSXSBmZWF0dXJlIHRvIHVz ZSB0aGlzCitibG9jazoKKy5JUAorLm5mCitcZltDXQorY2FyZ28gYnVpbGQgLS1yZWxlYXNlIC0t ZmVhdHVyZXMgbWFpbGRpcgorXGZbUl0KKy5maQorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRT Cit0YWIoQCk7CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7 CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9 QFR7CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2Vl IGJlbG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGlj b24gJHN0YXR1cyBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdaW5ib3hlc1xmW1JdCitUfUBUewor TGlzdCBvZiBtYWlsZGlyIGluYm94ZXMgdG8gbG9vayBmb3IgbWFpbHMgaW4uCitTdXBwb3J0cyBw YXRoL2dsb2IgZXhwYW5zaW9ucyAoZS5nLlwgXGZbVl1cW3RpXVxmW1JdIGFuZCBcZltWXSpcZltS XSkuCitUfUBUeworXGZbQl1SZXF1aXJlZFxmW1JdCitUfQorVHsKK1xmW1ZddGhyZXNob2xkX3dh cm5pbmdcZltSXQorVH1AVHsKK051bWJlciBvZiB1bnJlYWQgbWFpbHMgd2hlcmUgc3RhdGUgaXMg c2V0IHRvIHdhcm5pbmcuCitUfUBUeworXGZbVl0xXGZbUl0KK1R9CitUeworXGZbVl10aHJlc2hv bGRfY3JpdGljYWxcZltSXQorVH1AVHsKK051bWJlciBvZiB1bnJlYWQgbWFpbHMgd2hlcmUgc3Rh dGUgaXMgc2V0IHRvIGNyaXRpY2FsLgorVH1AVHsKK1xmW1ZdMTBcZltSXQorVH0KK1R7CitcZltW XWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwsIGluIHNlY29uZHMuCitUfUBU eworXGZbVl01XGZbUl0KK1R9CitUeworXGZbVl1kaXNwbGF5X3R5cGVcZltSXQorVH1AVHsKK1do aWNoIHBhcnQgb2YgdGhlIG1haWxkaXIgdG8gY291bnQ6IFxmW1ZdXFtkcV1uZXdcW2RxXVxmW1Jd LAorXGZbVl1cW2RxXWN1clxbZHFdXGZbUl0sIG9yIFxmW1ZdXFtkcV1hbGxcW2RxXVxmW1JdLgor VH1AVHsKK1xmW1ZdXFtkcV1uZXdcW2RxXVxmW1JdCitUfQorLlRFCisuUFAKKy5UUwordGFiKEAp OworbCBsIGwgbC4KK1R7CitQbGFjZWhvbGRlcgorVH1AVHsKK1ZhbHVlCitUfUBUeworVHlwZQor VH1AVHsKK1VuaXQKK1R9CitfCitUeworXGZbVl1pY29uXGZbUl0KK1R9QFR7CitBIHN0YXRpYyBp Y29uCitUfUBUeworSWNvbgorVH1AVHsKKy0KK1R9CitUeworXGZbVl1zdGF0dXNcZltSXQorVH1A VHsKK051bWJlciBvZiBlbWFpbHMKK1R9QFR7CitOdW1iZXIKK1R9QFR7CistCitUfQorLlRFCisu U1MgRXhhbXBsZXMKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdbWFp bGRpclxbZHFdCitpbnRlcnZhbCA9IDYwCitpbmJveGVzID0gW1xbZHFdXFt0aV0vbWFpbC9sb2Nh bFxbZHFdLCBcW2RxXVxbdGldL21haWxkaXIvYWNjb3VudDEvKlxbZHFdXQordGhyZXNob2xkX3dh cm5pbmcgPSAxCit0aHJlc2hvbGRfY3JpdGljYWwgPSAxMAorZGlzcGxheV90eXBlID0gXFtkcV1u ZXdcW2RxXQorXGZbUl0KKy5maQorLlNTIEljb25zIFVzZWQKKy5JUCBcW2J1XSAyCitcZltWXW1h aWxcZltSXQorLlNTIG1lbW9yeQorLlBQCitNZW1vcnkgYW5kIHN3YXAgdXNhZ2UKKy5TUyBDb25m aWd1cmF0aW9uCisuUFAKKy5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4w bikuCitUeworS2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7Citc ZltWXWZvcm1hdFxmW1JdCitUfUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRoZSBvdXRwdXQg b2YgdGhpcyBibG9jayB3aGVuIGluIFxbbHFdTWVtb3J5XFtycV0KK3ZpZXcuCitTZWUgYmVsb3cg Zm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuCitUfUBUeworXGZbVl1cW2RxXSAkaWNvbiAkbWVt X2F2YWlsLmVuZyhwcmVmaXg6TSkvJG1lbV90b3RhbC5lbmcocHJlZml4Ok0pKCRtZW1fdG90YWxf dXNlZF9wZXJjZW50cy5lbmcodzoyKSkgXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWZvcm1hdF9h bHRcZltSXQorVH1AVHsKK0lmIHNldCwgYmxvY2sgd2lsbCBzd2l0Y2ggYmV0d2VlbiBcZltWXWZv cm1hdFxmW1JdIGFuZAorXGZbVl1mb3JtYXRfYWx0XGZbUl0gb24gZXZlcnkgY2xpY2sKK1R9QFR7 CitcZltWXU5vbmVcZltSXQorVH0KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRh dGUgaW50ZXJ2YWwgaW4gc2Vjb25kcworVH1AVHsKK1xmW1ZdNVxmW1JdCitUfQorVHsKK1xmW1Zd d2FybmluZ19tZW1cZltSXQorVH1AVHsKK1BlcmNlbnRhZ2Ugb2YgbWVtb3J5IHVzYWdlLCB3aGVy ZSBzdGF0ZSBpcyBzZXQgdG8gd2FybmluZworVH1AVHsKK1xmW1ZdODAuMFxmW1JdCitUfQorVHsK K1xmW1Zdd2FybmluZ19zd2FwXGZbUl0KK1R9QFR7CitQZXJjZW50YWdlIG9mIHN3YXAgdXNhZ2Us IHdoZXJlIHN0YXRlIGlzIHNldCB0byB3YXJuaW5nCitUfUBUeworXGZbVl04MC4wXGZbUl0KK1R9 CitUeworXGZbVl1jcml0aWNhbF9tZW1cZltSXQorVH1AVHsKK1BlcmNlbnRhZ2Ugb2YgbWVtb3J5 IHVzYWdlLCB3aGVyZSBzdGF0ZSBpcyBzZXQgdG8gY3JpdGljYWwKK1R9QFR7CitcZltWXTk1LjBc ZltSXQorVH0KK1R7CitcZltWXWNyaXRpY2FsX3N3YXBcZltSXQorVH1AVHsKK1BlcmNlbnRhZ2Ug b2Ygc3dhcCB1c2FnZSwgd2hlcmUgc3RhdGUgaXMgc2V0IHRvIGNyaXRpY2FsCitUfUBUeworXGZb Vl05NS4wXGZbUl0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7CitsdygxNC45bikgbHcoNDYu NW4pIGx3KDQuNm4pIGx3KDQuMG4pLgorVHsKK1BsYWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9 QFR7CitUeXBlCitUfUBUeworVW5pdAorVH0KK18KK1R7CitcZltWXWljb25cZltSXQorVH1AVHsK K01lbW9yeSBpY29uCitUfUBUeworSWNvbgorVH1AVHsKKy0KK1R9CitUeworXGZbVl1pY29uX3N3 YXBcZltSXQorVH1AVHsKK1N3YXAgaWNvbgorVH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorVHsK K1xmW1ZdbWVtX3RvdGFsXGZbUl0KK1R9QFR7CitUb3RhbCBwaHlzaWNhbCByYW0gYXZhaWxhYmxl CitUfUBUeworTnVtYmVyCitUfUBUeworQnl0ZXMKK1R9CitUeworXGZbVl1tZW1fZnJlZVxmW1Jd CitUfUBUeworRnJlZSBtZW1vcnkgbm90IHlldCB1c2VkIGJ5IHRoZSBrZXJuZWwgb3IgdXNlcnNw YWNlIChpbiBnZW5lcmFsIHlvdQorc2hvdWxkIHVzZSBtZW1fYXZhaWwpCitUfUBUeworTnVtYmVy CitUfUBUeworQnl0ZXMKK1R9CitUeworXGZbVl1tZW1fZnJlZV9wZXJjZW50c1xmW1JdCitUfUBU eworYXMgYWJvdmUgYnV0IGFzIGEgcGVyY2VudGFnZSBvZiB0b3RhbCBtZW1vcnkKK1R9QFR7CitO dW1iZXIKK1R9QFR7CitQZXJjZW50cworVH0KK1R7CitcZltWXW1lbV9hdmFpbFxmW1JdCitUfUBU eworS2VybmVsIGVzdGltYXRlIG9mIHVzYWJsZSBmcmVlIG1lbW9yeSB3aGljaCBpbmNsdWRlcyBj YWNoZWQgbWVtb3J5IGFuZAorYnVmZmVycworVH1AVHsKK051bWJlcgorVH1AVHsKK0J5dGVzCitU fQorVHsKK1xmW1ZdbWVtX2F2YWlsX3BlcmNlbnRzXGZbUl0KK1R9QFR7CithcyBhYm92ZSBidXQg YXMgYSBwZXJjZW50YWdlIG9mIHRvdGFsIG1lbW9yeQorVH1AVHsKK051bWJlcgorVH1AVHsKK1Bl cmNlbnRzCitUfQorVHsKK1xmW1ZdbWVtX3RvdGFsX3VzZWRcZltSXQorVH1AVHsKK21lbV90b3Rh bCAtIG1lbV9mcmVlCitUfUBUeworTnVtYmVyCitUfUBUeworQnl0ZXMKK1R9CitUeworXGZbVl1t ZW1fdG90YWxfdXNlZF9wZXJjZW50c1xmW1JdCitUfUBUeworYXMgYWJvdmUgYnV0IGFzIGEgcGVy Y2VudGFnZSBvZiB0b3RhbCBtZW1vcnkKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitQZXJjZW50cwor VH0KK1R7CitcZltWXW1lbV91c2VkXGZbUl0KK1R9QFR7CitNZW1vcnkgdXNlZCwgZXhjbHVkaW5n IGNhY2hlZCBtZW1vcnkgYW5kIGJ1ZmZlcnM7IHNhbWUgYXMgaHRvcFxbY3FdcworZ3JlZW4gYmFy CitUfUBUeworTnVtYmVyCitUfUBUeworQnl0ZXMKK1R9CitUeworXGZbVl1tZW1fdXNlZF9wZXJj ZW50c1xmW1JdCitUfUBUeworYXMgYWJvdmUgYnV0IGFzIGEgcGVyY2VudGFnZSBvZiB0b3RhbCBt ZW1vcnkKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitQZXJjZW50cworVH0KK1R7CitcZltWXWJ1ZmZl cnNcZltSXQorVH1AVHsKK0J1ZmZlcnMsIHNpbWlsYXIgdG8gaHRvcFxbY3FdcyBibHVlIGJhcgor VH1AVHsKK051bWJlcgorVH1AVHsKK0J5dGVzCitUfQorVHsKK1xmW1ZdYnVmZmVyc19wZXJjZW50 XGZbUl0KK1R9QFR7CithcyBhYm92ZSBidXQgYXMgYSBwZXJjZW50YWdlIG9mIHRvdGFsIG1lbW9y eQorVH1AVHsKK051bWJlcgorVH1AVHsKK1BlcmNlbnRzCitUfQorVHsKK1xmW1ZdY2FjaGVkXGZb Ul0KK1R9QFR7CitDYWNoZWQgbWVtb3J5ICh0YWtpbmcgaW50byBhY2NvdW50IFpGUyBBUkMgY2Fj aGUpLCBzaW1pbGFyIHRvIGh0b3BcW2NxXXMKK3llbGxvdyBiYXIKK1R9QFR7CitOdW1iZXIKK1R9 QFR7CitCeXRlcworVH0KK1R7CitcZltWXWNhY2hlZF9wZXJjZW50XGZbUl0KK1R9QFR7CithcyBh Ym92ZSBidXQgYXMgYSBwZXJjZW50YWdlIG9mIHRvdGFsIG1lbW9yeQorVH1AVHsKK051bWJlcgor VH1AVHsKK1BlcmNlbnRzCitUfQorVHsKK1xmW1Zdc3dhcF90b3RhbFxmW1JdCitUfUBUeworU3dh cCB0b3RhbAorVH1AVHsKK051bWJlcgorVH1AVHsKK0J5dGVzCitUfQorVHsKK1xmW1Zdc3dhcF9m cmVlXGZbUl0KK1R9QFR7CitTd2FwIGZyZWUKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitCeXRlcwor VH0KK1R7CitcZltWXXN3YXBfZnJlZV9wZXJjZW50c1xmW1JdCitUfUBUeworYXMgYWJvdmUgYnV0 IGFzIGEgcGVyY2VudGFnZSBvZiB0b3RhbCBtZW1vcnkKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitQ ZXJjZW50cworVH0KK1R7CitcZltWXXN3YXBfdXNlZFxmW1JdCitUfUBUeworU3dhcCB1c2VkCitU fUBUeworTnVtYmVyCitUfUBUeworQnl0ZXMKK1R9CitUeworXGZbVl1zd2FwX3VzZWRfcGVyY2Vu dHNcZltSXQorVH1AVHsKK2FzIGFib3ZlIGJ1dCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdG90YWwgbWVt b3J5CitUfUBUeworTnVtYmVyCitUfUBUeworUGVyY2VudHMKK1R9CisuVEUKKy5QUAorLlRTCit0 YWIoQCk7CitsdygxNS4xbikgbHcoNDAuN24pIGx3KDE0LjJuKS4KK1R7CitBY3Rpb24KK1R9QFR7 CitEZXNjcmlwdGlvbgorVH1AVHsKK0RlZmF1bHQgYnV0dG9uCitUfQorXworVHsKK1xmW1ZddG9n Z2xlX2Zvcm1hdFxmW1JdCitUfUBUeworVG9nZ2xlcyBiZXR3ZWVuIFxmW1ZdZm9ybWF0XGZbUl0g YW5kIFxmW1ZdZm9ybWF0X2FsdFxmW1JdCitUfUBUeworTGVmdAorVH0KKy5URQorLlNTIEV4YW1w bGUKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdbWVtb3J5XFtkcV0K K2Zvcm1hdCA9IFxbZHFdICRpY29uICRtZW1fdXNlZF9wZXJjZW50cy5lbmcodzoxKSBcW2RxXQor Zm9ybWF0X2FsdCA9IFxbZHFdICRpY29uX3N3YXAgJHN3YXBfZnJlZS5lbmcodzozLHU6QixwOk0p LyRzd2FwX3RvdGFsLmVuZyh3OjMsdTpCLHA6TSkoJHN3YXBfdXNlZF9wZXJjZW50cy5lbmcodzoy KSkgXFtkcV0KK2ludGVydmFsID0gMzAKK3dhcm5pbmdfbWVtID0gNzAKK2NyaXRpY2FsX21lbSA9 IDkwCitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdbWVtb3J5 X21lbVxmW1JdCisuSVAgXFtidV0gMgorXGZbVl1tZW1vcnlfc3dhcFxmW1JdCisuU1MgbWVudQor LlBQCitBIGN1c3RvbSBtZW51CisuUFAKK1RoaXMgYmxvY2sgYWxsb3dzIHlvdSB0byBxdWlja2x5 IHJ1biBhIGN1c3RvbSBzaGVsbCBjb21tYW5kLgorTGVmdC1jbGljayBvbiB0aGlzIGJsb2NrIHRv IGFjdGl2YXRlIGl0LCB0aGVuIHNjcm9sbCB0aHJvdWdoIGNvbmZpZ3VyZWQKK2l0ZW1zLgorTGVm dC1jbGljayBvbiB0aGUgaXRlbSB0byBydW4gaXQgYW5kIG9wdGlvbmFsbHkgY29uZmlybSB5b3Vy IGFjdGlvbiBieQorbGVmdC1jbGlja2luZyBhZ2Fpbi4KK1JpZ2h0LWNsaWNrIGFueSB0aW1lIHRv IGRlYWN0aXZhdGUgdGhpcyBibG9jay4KKy5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFi KEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUeworS2V5CitUfUBUeworVmFs dWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltWXXRleHRcZltSXQorVH1AVHsKK1Rl eHQgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCB3aGVuIHRoZSBibG9jayBpcyBpbmFjdGl2ZS4KK1R9 QFR7CitcZltCXVJlcXVpcmVkXGZbUl0KK1R9CitUeworXGZbVl1pdGVtc1xmW1JdCitUfUBUewor QSBsaXN0IG9mIFxbbHFdaXRlbXNcW3JxXS4KK1NlZSBleGFtcGxlcyBiZWxvdy4KK1R9QFR7Citc ZltCXVJlcXVpcmVkXGZbUl0KK1R9CisuVEUKKy5TUyBFeGFtcGxlCisuSVAKKy5uZgorXGZbQ10K K1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXW1lbnVcW2RxXQordGV4dCA9IFxbZHFdXFtyc111ZjAx MVxbZHFdCitbW2Jsb2NrLml0ZW1zXV0KK2Rpc3BsYXkgPSBcW2RxXSAtJmd0OyAgIFNsZWVwICAg Jmx0Oy1cW2RxXQorY21kID0gXFtkcV1zeXN0ZW1jdGwgc3VzcGVuZFxbZHFdCitbW2Jsb2NrLml0 ZW1zXV0KK2Rpc3BsYXkgPSBcW2RxXSAtJmd0OyBQb3dlciBPZmYgJmx0Oy1cW2RxXQorY21kID0g XFtkcV1wb3dlcm9mZlxbZHFdCitjb25maXJtX21zZyA9IFxbZHFdQXJlIHlvdSBzdXJlIHlvdSB3 YW50IHRvIHBvd2VyIG9mZj9cW2RxXQorW1tibG9jay5pdGVtc11dCitkaXNwbGF5ID0gXFtkcV0g LSZndDsgIFJlYm9vdCAgICZsdDstXFtkcV0KK2NtZCA9IFxbZHFdcmVib290XFtkcV0KK2NvbmZp cm1fbXNnID0gXFtkcV1BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVib290P1xbZHFdCitcZltS XQorLmZpCisuU1MgbXVzaWMKKy5QUAorVGhlIGN1cnJlbnQgc29uZyB0aXRsZSBhbmQgYXJ0aXN0 CisuUFAKK0Fsc28gcHJvdmlkZXMgYnV0dG9ucyBmb3IgcGxheS9wYXVzZSwgcHJldmlvdXMgYW5k IG5leHQuCisuUFAKK1N1cHBvcnRzIGFsbCBtdXNpYyBwbGF5ZXJzIHRoYXQgaW1wbGVtZW50IHRo ZSBNZWRpYVBsYXllcjIKK0ludGVyZmFjZSAoaHR0cHM6Ly9zcGVjaWZpY2F0aW9ucy5mcmVlZGVz a3RvcC5vcmcvbXByaXMtc3BlYy9sYXRlc3QvUGxheWVyX0ludGVyZmFjZS5odG1sKS4KK1RoaXMg aW5jbHVkZXM6CisuSVAgXFtidV0gMgorU3BvdGlmeQorLklQIFxbYnVdIDIKK1ZMQworLklQIFxb YnVdIDIKK21wZCAodmlhIG1wRHJpczIgKGh0dHBzOi8vZ2l0aHViLmNvbS9lb25wYXRhcG9uL21w RHJpczIpKQorLlBQCithbmQgbWFueSBvdGhlcnMuCisuUFAKK0J5IGRlZmF1bHQgdGhlIGJsb2Nr IHRyYWNrcyBhbGwgcGxheWVycyBhdmFpbGFibGUgb24gdGhlIE1QUklTIGJ1cy4KK1JpZ2h0IGNs aWNraW5nIG9uIHRoZSBibG9jayB3aWxsIGN5Y2xlIGl0IHRvIHRoZSBuZXh0IHBsYXllci4KK1lv dSBjYW4gcGluIHRoZSB3aWRnZXQgdG8gYSBnaXZlbiBwbGF5ZXIgdmlhIHRoZSBcW2xxXXBsYXll clxbcnFdCitzZXR0aW5nLgorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7Cits dygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9 QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0cmlu ZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZvciBh dmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xbcnFdICRpY29uIHskY29tYm8uc3RyKG1h eF93OjI1LHJvdF9pbnRlcnZhbDowLjUpICRwbGF5IHx9XFtscV0KK1R9CitUeworXGZbVl1wbGF5 ZXJcZltSXQorVH1AVHsKK05hbWUocykgb2YgdGhlIG11c2ljIHBsYXllcihzKSBNUFJJUyBpbnRl cmZhY2UuCitUaGlzIGNhbiBiZSBlaXRoZXIgYSBtdXNpYyBwbGF5ZXIgbmFtZSBvciBhbiBhcnJh eSBvZiBtdXNpYyBwbGF5ZXIKK25hbWVzLgorUnVuIGJ1c2N0bCBcW2VuXXVzZXIgbGlzdCB8IGdy ZXAgXFtscV1vcmcubXByaXMuTWVkaWFQbGF5ZXIyLlxbcnFdIHwgY3V0CistZFxbY3FdIFxbY3Fd IC1mMSBhbmQgdGhlIG5hbWUgaXMgdGhlIHBhcnQgYWZ0ZXIKK1xbbHFdb3JnLm1wcmlzLk1lZGlh UGxheWVyMi5cW3JxXS4KK1R9QFR7CitcZltWXU5vbmVcZltSXQorVH0KK1R7CitcZltWXWludGVy ZmFjZV9uYW1lX2V4Y2x1ZGVcZltSXQorVH1AVHsKK0EgbGlzdCBvZiByZWdleCBwYXR0ZXJucyBm b3IgcGxheWVyIE1QUklTIGludGVyZmFjZSBuYW1lcyB0byBpZ25vcmUuCitUfUBUeworXGZbVl1b XFtkcV1wbGF5ZXJjdGxkXFtkcV1dXGZbUl0KK1R9CitUeworXGZbVl1zZXBhcmF0b3JcZltSXQor VH1AVHsKK1N0cmluZyB0byBpbnNlcnQgYmV0d2VlbiBhcnRpc3QgYW5kIHRpdGxlLgorVH1AVHsK K1xmW1ZdXFtkcV0gLSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1Zdc2Vla19zdGVwX3NlY3NcZltS XQorVH1AVHsKK1Bvc2l0aXZlIG51bWJlciBvZiBzZWNvbmRzIHRvIHNlZWsgZm9yd2FyZC9iYWNr d2FyZCB3aGVuIHNjcm9sbGluZyBvbgordGhlIGJhci4KK0RvZXMgbm90IG5lZWQgdG8gYmUgYW4g aW50ZWdlci4KK1R9QFR7CitcZltWXTFcZltSXQorVH0KK1R7CitcZltWXXZvbHVtZV9zdGVwXGZb Ul0KK1R9QFR7CitUaGUgcGVyY2VudCB2b2x1bWUgbGV2ZWwgaXMgaW5jcmVhc2VkL2RlY3JlYXNl ZCBmb3IgdGhlIHNlbGVjdGVkIGF1ZGlvCitkZXZpY2Ugd2hlbiBzY3JvbGxpbmcuCitDYXBwZWQg YXV0b21hdGljYWxseSBhdCA1MC4KK1R9QFR7CitcZltWXTVcZltSXQorVH0KKy5URQorLlBQCitO b3RlOiBBbGwgcGxhY2Vob2xkZXJzIGV4Y2VwdCBcZltWXWljb25cZltSXSBjYW4gYmUgYWJzZW50 LgorU2VlIHRoZSBleGFtcGxlcyBiZWxvdyB0byBsZWFybiBob3cgdG8gaGFuZGxlIHRoaXMuCisu UFAKKy5UUwordGFiKEApOworbHcoMjcuMm4pIGx3KDMxLjFuKSBsdygxMS43bikuCitUeworUGxh Y2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9CitfCitUeworXGZbVl1pY29u XGZbUl0KK1R9QFR7CitBIHN0YXRpYyBpY29uCitUfUBUeworSWNvbgorVH0KK1R7CitcZltWXWFy dGlzdFxmW1JdCitUfUBUeworQ3VycmVudCBhcnRpc3QKK1R9QFR7CitUZXh0CitUfQorVHsKK1xm W1ZddGl0bGVcZltSXQorVH1AVHsKK0N1cnJlbnQgdGl0bGUKK1R9QFR7CitUZXh0CitUfQorVHsK K1xmW1ZddXJsXGZbUl0KK1R9QFR7CitDdXJyZW50IHNvbmcgdXJsCitUfUBUeworVGV4dAorVH0K K1R7CitcZltWXWNvbWJvXGZbUl0KK1R9QFR7CitSZXNvbHZlcyB0byBcW2xxXVxmW1ZdJGFydGlz dFtzZXBdJHRpdGxlXFtkcV1cZltSXSwKK1xmW1ZdXFtkcV0kYXJ0aXN0XFtkcV1cZltSXSwgXGZb Vl1cW2RxXSR0aXRsZVxbZHFdXGZbUl0sIG9yCitcZltWXVxbZHFdJHVybFxbZHFdXGZbUl0gZGVw ZW5kaW5nIG9uIHdoYXQgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgorXGZbVl1bc2VwXVxmW1Jd IGlzIHNldCBieSBcZltWXXNlcGFyYXRvclxmW1JdIG9wdGlvbi4KK1R9QFR7CitUZXh0CitUfQor VHsKK1xmW1ZdcGxheWVyXGZbUl0KK1R9QFR7CitOYW1lIG9mIHRoZSBjdXJyZW50IHBsYXllciAo dGFrZW4gZnJvbSB0aGUgbGFzdCBwYXJ0IG9mIGl0cyBNUFJJUyBidXMKK25hbWUpCitUfUBUewor VGV4dAorVH0KK1R7CitcZltWXWF2YWlsXGZbUl0KK1R9QFR7CitUb3RhbCBudW1iZXIgb2YgcGxh eWVycyBhdmFpbGFibGUgdG8gc3dpdGNoIGJldHdlZW4KK1R9QFR7CitOdW1iZXIKK1R9CitUewor XGZbVl1jdXJcZltSXQorVH1AVHsKK1RvdGFsIG51bWJlciBvZiBwbGF5ZXJzIGF2YWlsYWJsZSB0 byBzd2l0Y2ggYmV0d2VlbgorVH1AVHsKK051bWJlcgorVH0KK1R7CitcZltWXXBsYXlcZltSXQor VH1AVHsKK1BsYXkvUGF1c2UgYnV0dG9uCitUfUBUeworQ2xpY2thYmxlIGljb24KK1R9CitUewor XGZbVl1uZXh0XGZbUl0KK1R9QFR7CitOZXh0IGJ1dHRvbgorVH1AVHsKK0NsaWNrYWJsZSBpY29u CitUfQorVHsKK1xmW1ZdcHJldlxmW1JdCitUfUBUeworUHJldmlvdXMgYnV0dG9uCitUfUBUewor Q2xpY2thYmxlIGljb24KK1R9CitUeworXGZbVl12b2x1bWVfaWNvblxmW1JdCitUfUBUeworSWNv biBiYXNlZCBvbiB2b2x1bWUuCitNaXNzaW5nIGlmIHVuc3VwcG9ydGVkLgorVH1AVHsKK0ljb24K K1R9CitUeworXGZbVl12b2x1bWVcZltSXQorVH1AVHsKK0N1cnJlbnQgdm9sdW1lLgorTWlzc2lu ZyBpZiBtdXRlZCBvciB1bnN1cHBvcnRlZC4KK1R9QFR7CitOdW1iZXIKK1R9CisuVEUKKy5QUAor LlRTCit0YWIoQCk7CitsIGwuCitUeworQWN0aW9uCitUfUBUeworRGVmYXVsdCBidXR0b24KK1R9 CitfCitUeworXGZbVl1wbGF5X3BhdXNlXGZbUl0KK1R9QFR7CitMZWZ0IG9uIFxmW1ZdJHBsYXlc ZltSXQorVH0KK1R7CitcZltWXW5leHRcZltSXQorVH1AVHsKK0xlZnQgb24gXGZbVl0kbmV4dFxm W1JdCitUfQorVHsKK1xmW1ZdcHJldlxmW1JdCitUfUBUeworTGVmdCBvbiBcZltWXSRwcmV2XGZb Ul0KK1R9CitUeworXGZbVl1uZXh0X3BsYXllclxmW1JdCitUfUBUeworUmlnaHQKK1R9CitUewor XGZbVl1zZWVrX2ZvcndhcmRcZltSXQorVH1AVHsKK1doZWVsIFVwCitUfQorVHsKK1xmW1Zdc2Vl a19iYWNrd2FyZFxmW1JdCitUfUBUeworV2hlZWwgRG93bgorVH0KK1R7CitcZltWXXZvbHVtZV91 cFxmW1JdCitUfUBUeworLQorVH0KK1R7CitcZltWXXZvbHVtZV9kb3duXGZbUl0KK1R9QFR7Cist CitUfQorLlRFCisuU1MgRXhhbXBsZXMKKy5QUAorU2hvdyB0aGUgY3VycmVudGx5IHBsYXlpbmcg c29uZyBvbiBTcG90aWZ5IG9ubHksIHdpdGggcGxheSAmIG5leHQKK2J1dHRvbnMgYW5kIGxpbWl0 IHRoZSB3aWR0aCB0byAyMCBjaGFyYWN0ZXJzOgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0K K2Jsb2NrID0gXFtkcV1tdXNpY1xbZHFdCitmb3JtYXQgPSBcW2RxXSAkaWNvbiB7JGNvbWJvLnN0 cihtYXhfdzoyMCkgJHBsYXkgJG5leHQgfH1cW2RxXQorcGxheWVyID0gXFtkcV1zcG90aWZ5XFtk cV0KK1xmW1JdCisuZmkKKy5QUAorU2FtZSB0aGluZyBmb3IgYW55IGNvbXBhdGlibGUgcGxheWVy LCB0YWtlcyB0aGUgZmlyc3QgYWN0aXZlIG9uIHRoZSBidXMsCitidXQgaWdub3JlcyBcW2xxXW1w ZFxbcnFdIG9yIGFueXRoaW5nIHdpdGggXFtscV1rZGVjb25uZWN0XFtycV0gaW4gdGhlCituYW1l OgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1tdXNpY1xbZHFdCitm b3JtYXQgPSBcW2RxXSAkaWNvbiB7JGNvbWJvLnN0cihtYXhfdzoyMCkgJHBsYXkgJG5leHQgfH1c W2RxXQoraW50ZXJmYWNlX25hbWVfZXhjbHVkZSA9IFtcW2RxXS4qa2RlY29ubmVjdC4qXFtkcV0s IFxbZHFdbXBkXFtkcV1dCitcZltSXQorLmZpCisuUFAKK1NhbWUgYXMgYWJvdmUsIGJ1dCBkaXNw bGF5cyB3aXRoIHJvdGF0aW5nIHRleHQKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9j ayA9IFxbZHFdbXVzaWNcW2RxXQorZm9ybWF0ID0gXFtkcV0gJGljb24geyRjb21iby5zdHIobWF4 X3c6MjAscm90X2ludGVydmFsOjAuNSkgJHBsYXkgJG5leHQgfH1cW2RxXQoraW50ZXJmYWNlX25h bWVfZXhjbHVkZSA9IFtcW2RxXS4qa2RlY29ubmVjdC4qXFtkcV0sIFxbZHFdbXBkXFtkcV1dCitc ZltSXQorLmZpCisuUFAKK0NsaWNrIGFueXdoZXJlIHRvIHBsYXkvcGF1c2U6CisuSVAKKy5uZgor XGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXW11c2ljXFtkcV0KK1tbYmxvY2suY2xpY2td XQorYnV0dG9uID0gXFtkcV1sZWZ0XFtkcV0KK2FjdGlvbiA9IFxbZHFdcGxheV9wYXVzZVxbZHFd CitcZltSXQorLmZpCisuUFAKK1Njcm9sbCB0byBjaGFuZ2UgdGhlIHBsYXllciB2b2x1bWUsIHVz ZSB0aGUgZm9yd2FyZCBhbmQgYmFjayBidXR0b25zIHRvCitzZWVrOgorLklQCisubmYKK1xmW0Nd CitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1tdXNpY1xbZHFdCitmb3JtYXQgPSBcW2RxXSAkaWNv biAkdm9sdW1lX2ljb24gJGNvbWJvICRwbGF5ICRuZXh0fCBcW2RxXQorc2Vla19zdGVwX3NlY3Mg PSAxMAorW1tibG9jay5jbGlja11dCitidXR0b24gPSBcW2RxXXVwXFtkcV0KK2FjdGlvbiA9IFxb ZHFddm9sdW1lX3VwXFtkcV0KK1tbYmxvY2suY2xpY2tdXQorYnV0dG9uID0gXFtkcV1kb3duXFtk cV0KK2FjdGlvbiA9IFxbZHFddm9sdW1lX2Rvd25cW2RxXQorW1tibG9jay5jbGlja11dCitidXR0 b24gPSBcW2RxXWZvcndhcmRcW2RxXQorYWN0aW9uID0gXFtkcV1zZWVrX2ZvcndhcmRcW2RxXQor W1tibG9jay5jbGlja11dCitidXR0b24gPSBcW2RxXWJhY2tcW2RxXQorYWN0aW9uID0gXFtkcV1z ZWVrX2JhY2t3YXJkXFtkcV0KK1xmW1JdCisuZmkKKy5TUyBJY29ucyBVc2VkCisuSVAgXFtidV0g MgorXGZbVl1tdXNpY1xmW1JdCisuSVAgXFtidV0gMgorXGZbVl1tdXNpY19uZXh0XGZbUl0KKy5J UCBcW2J1XSAyCitcZltWXW11c2ljX3BsYXlcZltSXQorLklQIFxbYnVdIDIKK1xmW1ZdbXVzaWNf cHJldlxmW1JdCisuSVAgXFtidV0gMgorXGZbVl12b2x1bWVfbXV0ZWRcZltSXQorLklQIFxbYnVd IDIKK1xmW1Zddm9sdW1lXGZbUl0gKGFzIGEgcHJvZ3Jlc3Npb24pCisuU1MgbmV0CisuUFAKK05l dHdvcmsgaW5mb3JtYXRpb24KKy5QUAorVGhpcyBibG9jayB1c2VzIFxmW1Zdc3lzZnNcZltSXSBh bmQgXGZbVl1uZXRsaW5rXGZbUl0gYW5kIHRodXMgZG9lcyBub3QKK3JlcXVpcmUgYW55IGV4dGVy bmFsIGRlcGVuZGVuY2llcy4KKy5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFiKEApOwor bHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUeworS2V5CitUfUBUeworVmFsdWVzCitU fUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltWXWRldmljZVxmW1JdCitUfUBUeworTmV0d29y ayBpbnRlcmZhY2UgdG8gbW9uaXRvciAoYXMgc3BlY2lmaWVkIGluCitcZltWXS9zeXMvY2xhc3Mv bmV0L1xmW1JdKS4KK1N1cHBvcnRzIHJlZ2V4LgorVH1AVHsKK0lmIG5vdCBzZXQsIGRldmljZSB3 aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQgZXZlcnkKK1xmW1ZdaW50ZXJ2YWxcZltSXQor VH0KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwgaW4gc2Vj b25kcworVH1AVHsKK1xmW1ZdMlxmW1JdCitUfQorVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7 CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJl bG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24g XFtoYV1pY29uX25ldF9kb3duICRzcGVlZF9kb3duLmVuZyhwcmVmaXg6SykgXFtoYV1pY29uX25l dF91cCAkc3BlZWRfdXAuZW5nKHByZWZpeDpLKSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdZm9y bWF0X2FsdFxmW1JdCitUfUBUeworSWYgc2V0LCBibG9jayB3aWxsIHN3aXRjaCBiZXR3ZWVuIFxm W1ZdZm9ybWF0XGZbUl0gYW5kCitcZltWXWZvcm1hdF9hbHRcZltSXSBvbiBldmVyeSBjbGljawor VH1AVHsKK1xmW1ZdTm9uZVxmW1JdCitUfQorVHsKK1xmW1ZdaW5hY3RpdmVfZm9ybWF0XGZbUl0K K1R9QFR7CitTYW1lIGFzIFxmW1ZdZm9ybWF0XGZbUl0gYnV0IGZvciB3aGVuIHRoZSBpbnRlcmZh Y2UgaXMgaW5hY3RpdmUKK1R9QFR7CitcZltWXVxbZHFdICRpY29uIERvd24gXFtkcV1cZltSXQor VH0KK1R7CitcZltWXW1pc3NpbmdfZm9ybWF0XGZbUl0KK1R9QFR7CitTYW1lIGFzIFxmW1ZdZm9y bWF0XGZbUl0gYnV0IGZvciB3aGVuIHRoZSBkZXZpY2UgaXMgbWlzc2luZworVH1AVHsKK1xmW1Zd XFtkcV0gXFt0bXVdIFxbZHFdXGZbUl0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7Citsdygx NS4xbikgbHcoNDAuN24pIGx3KDE0LjJuKS4KK1R7CitBY3Rpb24KK1R9QFR7CitEZXNjcmlwdGlv bgorVH1AVHsKK0RlZmF1bHQgYnV0dG9uCitUfQorXworVHsKK1xmW1ZddG9nZ2xlX2Zvcm1hdFxm W1JdCitUfUBUeworVG9nZ2xlcyBiZXR3ZWVuIFxmW1ZdZm9ybWF0XGZbUl0gYW5kIFxmW1ZdZm9y bWF0X2FsdFxmW1JdCitUfUBUeworTGVmdAorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2x3 KDE4LjBuKSBsdygyOS4wbikgbHcoOC4wbikgbHcoMTUuMG4pLgorVHsKK1BsYWNlaG9sZGVyCitU fUBUeworVmFsdWUKK1R9QFR7CitUeXBlCitUfUBUeworVW5pdAorVH0KK18KK1R7CitcZltWXWlj b25cZltSXQorVH1AVHsKK0ljb24gYmFzZWQgb24gZGV2aWNlXFtjcV1zIHR5cGUKK1R9QFR7CitJ Y29uCitUfUBUeworLQorVH0KK1R7CitcZltWXXNwZWVkX2Rvd25cZltSXQorVH1AVHsKK0Rvd25s b2FkIHNwZWVkCitUfUBUeworTnVtYmVyCitUfUBUeworQnl0ZXMgcGVyIHNlY29uZAorVH0KK1R7 CitcZltWXXNwZWVkX3VwXGZbUl0KK1R9QFR7CitVcGxvYWQgc3BlZWQKK1R9QFR7CitOdW1iZXIK K1R9QFR7CitCeXRlcyBwZXIgc2Vjb25kCitUfQorVHsKK1xmW1ZdZ3JhcGhfZG93blxmW1JdCitU fUBUeworRG93bmxvYWQgc3BlZWQgZ3JhcGgKK1R9QFR7CitUZXh0CitUfUBUeworLQorVH0KK1R7 CitcZltWXWdyYXBoX3VwXGZbUl0KK1R9QFR7CitVcGxvYWQgc3BlZWQgZ3JhcGgKK1R9QFR7CitU ZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXWRldmljZVxmW1JdCitUfUBUeworVGhlIG5hbWUg b2YgZGV2aWNlCitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9CitUeworXGZbVl1zc2lkXGZbUl0K K1R9QFR7CitOZXRmb3JrIFNTSUQgKFdpRmkgb25seSkKK1R9QFR7CitUZXh0CitUfUBUeworLQor VH0KK1R7CitcZltWXWZyZXF1ZW5jeVxmW1JdCitUfUBUeworV2lGaSBmcmVxdWVuY3kKK1R9QFR7 CitOdW1iZXIKK1R9QFR7CitIegorVH0KK1R7CitcZltWXXNpZ25hbF9zdHJlbmd0aFxmW1JdCitU fUBUeworV2lGaSBzaWduYWwKK1R9QFR7CitOdW1iZXIKK1R9QFR7CislCitUfQorVHsKK1xmW1Zd Yml0cmF0ZVxmW1JdCitUfUBUeworV2lGaSBjb25uZWN0aW9uIGJpdHJhdGUKK1R9QFR7CitOdW1i ZXIKK1R9QFR7CitCaXRzIHBlciBzZWNvbmQKK1R9CitUeworXGZbVl1pcFxmW1JdCitUfUBUewor SVB2NCBhZGRyZXNzIG9mIHRoZSBpZmFjZQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsK K1xmW1ZdaXB2NlxmW1JdCitUfUBUeworSVB2NiBhZGRyZXNzIG9mIHRoZSBpZmFjZQorVH1AVHsK K1RleHQKK1R9QFR7CistCitUfQorLlRFCisuU1MgRXhhbXBsZQorLlBQCitEaXNwbGF5IFdpRmkg aW5mbyBpZiBhdmFpbGFibGUKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxb ZHFdbmV0XFtkcV0KK2Zvcm1hdCA9IFxbZHFdICRpY29uIHskc2lnbmFsX3N0cmVuZ3RoICRzc2lk ICRmcmVxdWVuY3l8V2lyZWQgY29ubmVjdGlvbn0gdmlhICRkZXZpY2UgXFtkcV0KK1xmW1JdCisu ZmkKKy5QUAorRGlzcGxheSBleGFjdCBkZXZpY2UKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11d CitibG9jayA9IFxbZHFdbmV0XFtkcV0KK2RldmljZSA9IFxbZHFdXFtoYV13bG8wJFxbZHFdCitc ZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdbmV0X2xvb3BiYWNr XGZbUl0KKy5JUCBcW2J1XSAyCitcZltWXW5ldF92cG5cZltSXQorLklQIFxbYnVdIDIKK1xmW1Zd bmV0X3dpcmVkXGZbUl0KKy5JUCBcW2J1XSAyCitcZltWXW5ldF93aXJlbGVzc1xmW1JdIChhcyBh IHByb2dyZXNzaW9uKQorLklQIFxbYnVdIDIKK1xmW1ZdbmV0X3VwXGZbUl0KKy5JUCBcW2J1XSAy CitcZltWXW5ldF9kb3duXGZbUl0KKy5TUyBub3RpZnkKKy5QUAorRGlzcGxheSBhbmQgdG9nZ2xl IHRoZSBzdGF0ZSBvZiBub3RpZmljYXRpb25zIGRhZW1vbgorLlBQCitMZWZ0LWNsaWNraW5nIG9u IHRoaXMgYmxvY2sgd2lsbCBlbmFibGUvZGlzYWJsZSBub3RpZmljYXRpb25zLgorLlNTIENvbmZp Z3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBu KS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xm W1ZdZHJpdmVyXGZbUl0KK1R9QFR7CitXaGljaCBub3RpZmljYXRpb25zIGRhZW1vbiBpcyBydW5u aW5nLgorQXZhaWxhYmxlIGRyaXZlcnMgYXJlOiBcZltWXVxbZHFdZHVuc3RcW2RxXVxmW1JdIGFu ZAorXGZbVl1cW2RxXXN3YXluY1xbZHFdXGZbUl0KK1R9QFR7CitcZltWXVxbZHFdZHVuc3RcW2Rx XVxmW1JdCitUfQorVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0cmluZyB0byBjdXN0 b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUg cGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gXFtkcV1cZltSXQorVH0KKy5U RQorLlBQCisuVFMKK3RhYihAKTsKK2x3KDI5LjduKSBsdygzMS4xbikgbHcoNS43bikgbHcoMy41 bikuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitV bml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1JdCitUfUBUeworSWNvbiBiYXNlZCBvbiBub3Rp ZmljYXRpb25cW2NxXXMgc3RhdGUKK1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7CitcZltW XW5vdGlmaWNhdGlvbl9jb3VudFxmW1JdWzFdCitUfUBUeworVGhlIG51bWJlciBvZiBub3RpZmlj YXRpb24gKG9taXR0ZWQgaWYgMCkKK1R9QFR7CitOdW1iZXIKK1R9QFR7CistCitUfQorVHsKK1xm W1ZdcGF1c2VkXGZbUl0KK1R9QFR7CitQcmVzZW50IG9ubHkgaWYgbm90aWZpY2F0aW9ucyBhcmUg ZGlzYWJsZWQKK1R9QFR7CitGbGFnCitUfUBUeworLQorVH0KKy5URQorLlBQCisuVFMKK3RhYihA KTsKK2wgbC4KK1R7CitBY3Rpb24KK1R9QFR7CitEZWZhdWx0IGJ1dHRvbgorVH0KK18KK1R7Citc ZltWXXRvZ2dsZV9wYXVzZWRcZltSXQorVH1AVHsKK0xlZnQKK1R9CitUeworXGZbVl1zaG93XGZb Ul0KK1R9QFR7CistCitUfQorLlRFCisuU1MgRXhhbXBsZXMKKy5QUAorSG93IHRvIHVzZSBcZltW XXBhdXNlZFxmW1JdIGZsYWcKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxb ZHFdbm90aWZ5XFtkcV0KK2Zvcm1hdCA9IFxbZHFdICRpY29uIHskcGF1c2Vke09mZn18T259IFxb ZHFdCitcZltSXQorLmZpCisuUFAKK0hvdyB0byB1c2UgXGZbVl1ub3RpZmljYXRpb25fY291bnRc ZltSXQorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1ub3RpZnlcW2Rx XQorZm9ybWF0ID0gXFtkcV0gJGljb24geygkbm90aWZpY2F0aW9uX2NvdW50LmVuZyh3OjEpKSB8 fVxbZHFdCitcZltSXQorLmZpCisuUFAKK0hvdyB0byByZW1hcCBhY3Rpb25zCisuSVAKKy5uZgor XGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXW5vdGlmeVxbZHFdCitkcml2ZXIgPSBcW2Rx XXN3YXluY1xbZHFdCitbW2Jsb2NrLmNsaWNrXV0KK2J1dHRvbiA9IFxbZHFdbGVmdFxbZHFdCith Y3Rpb24gPSBcW2RxXXNob3dcW2RxXQorW1tibG9jay5jbGlja11dCitidXR0b24gPSBcW2RxXXJp Z2h0XFtkcV0KK2FjdGlvbiA9IFxbZHFddG9nZ2xlX3BhdXNlZFxbZHFdCitcZltSXQorLmZpCisu U1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdYmVsbFxmW1JdCisuSVAgXFtidV0gMgor XGZbVl1iZWxsLXNsYXNoXGZbUl0KKy5TUyBub3RtdWNoCisuUFAKK0NvdW50IG9mIG5vdG11Y2gg bWVzc2FnZXMKKy5QUAorVGhpcyBibG9jayBxdWVyaWVzIGEgbm90bXVjaCBkYXRhYmFzZSBhbmQg ZGlzcGxheXMgdGhlIGNvdW50IG9mCittZXNzYWdlcy4KKy5QUAorVGhlIHNpbXBsZXN0IGNvbmZp Z3VyYXRpb24gd2lsbCByZXR1cm4gdGhlIHRvdGFsIGNvdW50IG9mIG1lc3NhZ2VzIGluCit0aGUg bm90bXVjaCBkYXRhYmFzZSBzdG9yZWQgYXQgJEhPTUUvLm1haWwKKy5QUAorTm90ZSB0aGF0IHlv dSBuZWVkIHRvIGVuYWJsZSBcZltWXW5vdG11Y2hcZltSXSBmZWF0dXJlIHRvIHVzZSB0aGlzCiti bG9jazoKKy5JUAorLm5mCitcZltDXQorY2FyZ28gYnVpbGQgLS1yZWxlYXNlIC0tZmVhdHVyZXMg bm90bXVjaAorXGZbUl0KKy5maQorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7 CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMK K1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0 cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZv ciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gJGNvdW50 IFxbZHFdXGZbUl0KK1R9CitUeworXGZbVl1tYWlsZGlyXGZbUl0KK1R9QFR7CitQYXRoIHRvIHRo ZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgbm90bXVjaCBkYXRhYmFzZS4KK1N1cHBvcnRzIHBh dGggZXhwYW5zaW9ucyBlLmcuXCBcZltWXVxbdGldXGZbUl0uCitUfUBUeworXGZbVl1cW3RpXS8u bWFpbFxmW1JdCitUfQorVHsKK1xmW1ZdcXVlcnlcZltSXQorVH1AVHsKK1F1ZXJ5IHRvIHJ1biBv biB0aGUgZGF0YWJhc2UuCitUfUBUeworXGZbVl1cW2RxXVxbZHFdXGZbUl0KK1R9CitUeworXGZb Vl10aHJlc2hvbGRfY3JpdGljYWxcZltSXQorVH1AVHsKK01haWwgY291bnQgdGhhdCB0cmlnZ2Vy cyBcZltWXWNyaXRpY2FsXGZbUl0gc3RhdGUuCitUfUBUeworXGZbVl05OTk5OVxmW1JdCitUfQor VHsKK1xmW1ZddGhyZXNob2xkX3dhcm5pbmdcZltSXQorVH1AVHsKK01haWwgY291bnQgdGhhdCB0 cmlnZ2VycyBcZltWXXdhcm5pbmdcZltSXSBzdGF0ZS4KK1R9QFR7CitcZltWXTk5OTk5XGZbUl0K K1R9CitUeworXGZbVl10aHJlc2hvbGRfZ29vZFxmW1JdCitUfUBUeworTWFpbCBjb3VudCB0aGF0 IHRyaWdnZXJzIFxmW1ZdZ29vZFxmW1JdIHN0YXRlLgorVH1AVHsKK1xmW1ZdOTk5OTlcZltSXQor VH0KK1R7CitcZltWXXRocmVzaG9sZF9pbmZvXGZbUl0KK1R9QFR7CitNYWlsIGNvdW50IHRoYXQg dHJpZ2dlcnMgXGZbVl1pbmZvXGZbUl0gc3RhdGUuCitUfUBUeworXGZbVl05OTk5OVxmW1JdCitU fQorVHsKK1xmW1ZdaW50ZXJ2YWxcZltSXQorVH1AVHsKK1VwZGF0ZSBpbnRlcnZhbCBpbiBzZWNv bmRzLgorVH1AVHsKK1xmW1ZdMTBcZltSXQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2x3 KDEyLjJuKSBsdyg0NC42bikgbHcoOC4xbikgbHcoNS4xbikuCitUeworUGxhY2Vob2xkZXIKK1R9 QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNv blxmW1JdCitUfUBUeworQSBzdGF0aWMgaWNvbgorVH1AVHsKK0ljb24KK1R9QFR7CistCitUfQor VHsKK1xmW1ZdY291bnRcZltSXQorVH1AVHsKK051bWJlciBvZiBtZXNzYWdlcyBmb3IgdGhlIHF1 ZXJ5CitUfUBUeworTnVtYmVyCitUfUBUeworLQorVH0KKy5URQorLlNTIEV4YW1wbGUKKy5JUAor Lm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdbm90bXVjaFxbZHFdCitxdWVyeSA9 IFxbZHFddGFnOmFsZXJ0IGFuZCBub3QgdGFnOnRyYXNoXFtkcV0KK3RocmVzaG9sZF93YXJuaW5n ID0gMQordGhyZXNob2xkX2NyaXRpY2FsID0gMTAKK1tbYmxvY2suY2xpY2tdXQorYnV0dG9uID0g XFtkcV1sZWZ0XFtkcV0KK3VwZGF0ZSA9IHRydWUKK1xmW1JdCisuZmkKKy5TUyBJY29ucyBVc2Vk CisuSVAgXFtidV0gMgorXGZbVl1tYWlsXGZbUl0KKy5TUyBudmlkaWFfZ3B1CisuUFAKK0Rpc3Bs YXkgdGhlIHN0YXRzIG9mIHlvdXIgTlZpZGlhIEdQVQorLlBQCitCeSBkZWZhdWx0IFxmW1Zdc2hv d190ZW1wZXJhdHVyZVxmW1JdIHNob3dzIHRoZSB1c2VkIG1lbW9yeS4KK0NsaWNraW5nIHRoZSBs ZWZ0IG1vdXNlIG9uIHRoZSBcW2xxXXRlbXBlcmF0dXJlXFtycV0gcGFydCBvZiB0aGUgYmxvY2sK K3dpbGwgYWx0ZXJuYXRlIGl0IGJldHdlZW4gc2hvd2luZyB1c2VkIG9yIHRvdGFsIGF2YWlsYWJs ZSBtZW1vcnkuCisuUFAKK0NsaWNraW5nIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbiBvbiB0aGUgXFts cV1mYW4gc3BlZWRcW3JxXSBwYXJ0IG9mIHRoZQorYmxvY2sgd2lsbCBjYXVzZSBpdCB0byBlbnRl ciBpbnRvIGEgZmFuIHNwZWVkIHNldHRpbmcgbW9kZS4KK0luIHRoaXMgbW9kZSB5b3UgY2FuIHNj cm9sbCB0aGUgbW91c2Ugd2hlZWwgb3ZlciB0aGUgYmxvY2sgdG8gY2hhbmdlIHRoZQorZmFuIHNw ZWVkcywgYW5kIGxlZnQgY2xpY2sgdG8gZXhpdCB0aGUgbW9kZS4KKy5QUAorUmVxdWlyZXMgXGZb Vl1udmlkaWEtc21pXGZbUl0gZm9yIGRpc3BsYXlpbmcgaW5mbyBhbmQKK1xmW1ZdbnZpZGlhX3Nl dHRpbmdzXGZbUl0gZm9yIHNldHRpbmcgZmFuIHNwZWVkLgorLlNTIENvbmZpZ3VyYXRpb24KKy5Q UAorLlRTCit0YWIoQCk7CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkK K1R9QFR7CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZ3B1X2lkXGZb Ul0KK1R9QFR7CitHUFUgaWQgaW4gc3lzdGVtLgorVH1AVHsKK1xmW1ZdMFxmW1JdCitUfQorVHsK K1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1 dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgor VH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gJHV0aWxpemF0aW9uICRtZW1vcnkgJHRlbXBlcmF0dXJl IFxbZHFdXGZbUl0KK1R9CitUeworXGZbVl1pbnRlcnZhbFxmW1JdCitUfUBUeworVXBkYXRlIGlu dGVydmFsIGluIHNlY29uZHMuCitUfUBUeworXGZbVl0xXGZbUl0KK1R9CitUeworXGZbVl1pZGxl XGZbUl0KK1R9QFR7CitNYXhpbXVtIHRlbXBlcmF0dXJlLCBiZWxvdyB3aGljaCBzdGF0ZSBpcyBz ZXQgdG8gaWRsZQorVH1AVHsKK1xmW1ZdNTBcZltSXQorVH0KK1R7CitcZltWXWdvb2RcZltSXQor VH1AVHsKK01heGltdW0gdGVtcGVyYXR1cmUsIGJlbG93IHdoaWNoIHN0YXRlIGlzIHNldCB0byBn b29kCitUfUBUeworXGZbVl03MFxmW1JdCitUfQorVHsKK1xmW1ZdaW5mb1xmW1JdCitUfUBUewor TWF4aW11bSB0ZW1wZXJhdHVyZSwgYmVsb3cgd2hpY2ggc3RhdGUgaXMgc2V0IHRvIGluZm8KK1R9 QFR7CitcZltWXTc1XGZbUl0KK1R9CitUeworXGZbVl13YXJuaW5nXGZbUl0KK1R9QFR7CitNYXhp bXVtIHRlbXBlcmF0dXJlLCBiZWxvdyB3aGljaCBzdGF0ZSBpcyBzZXQgdG8gd2FybmluZworVH1A VHsKK1xmW1ZdODBcZltSXQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2wgbCBsLgorVHsK K1BsYWNlaG9sZGVyCitUfUBUeworVHlwZQorVH1AVHsKK1VuaXQKK1R9CitfCitUeworXGZbVl1p Y29uXGZbUl0KK1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7CitcZltWXW5hbWVcZltSXQor VH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsKK1xmW1ZddXRpbGl6YXRpb25cZltSXQorVH1A VHsKK051bWJlcgorVH1AVHsKK1BlcmNlbnRzCitUfQorVHsKK1xmW1ZdbWVtb3J5XGZbUl0KK1R9 QFR7CitOdW1iZXIKK1R9QFR7CitCeXRlcworVH0KK1R7CitcZltWXXRlbXBlcmF0dXJlXGZbUl0K K1R9QFR7CitOdW1iZXIKK1R9QFR7CitEZWdyZWVzCitUfQorVHsKK1xmW1ZdZmFuX3NwZWVkXGZb Ul0KK1R9QFR7CitOdW1iZXIKK1R9QFR7CitQZXJjZW50cworVH0KK1R7CitcZltWXWNsb2Nrc1xm W1JdCitUfUBUeworTnVtYmVyCitUfUBUeworSGVydHoKK1R9CitUeworXGZbVl1wb3dlclxmW1Jd CitUfUBUeworTnVtYmVyCitUfUBUeworV2F0dHMKK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7 CitsIGwuCitUeworQWN0aW9uCitUfUBUeworRGVmYXVsdCBidXR0b24KK1R9CitfCitUeworXGZb Vl10b2dnbGVfbWVtX3RvdGFsXGZbUl0KK1R9QFR7CitMZWZ0IG9uIFxmW1ZdJG1lbW9yeVxmW1Jd CitUfQorVHsKK1xmW1ZddG9nZ2xlX2Zhbl9jb250cm9sbGVkXGZbUl0KK1R9QFR7CitMZWZ0IG9u IFxmW1ZdJGZhbl9zcGVlZFxmW1JdCitUfQorVHsKK1xmW1ZdZmFuX3NwZWVkX3VwXGZbUl0KK1R9 QFR7CitXaGVlbCBVcCBvbiBcZltWXSRmYW5fc3BlZWRcZltSXQorVH0KK1R7CitcZltWXWZhbl9z cGVlZF9kb3duXGZbUl0KK1R9QFR7CitXaGVlbCBEb3duIG9uIFxmW1ZdJGZhbl9zcGVlZFxmW1Jd CitUfQorLlRFCisuU1MgRXhhbXBsZQorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2Nr ID0gXFtkcV1udmlkaWFfZ3B1XFtkcV0KK2ludGVydmFsID0gMQorZm9ybWF0ID0gXFtkcV0gJGlj b24gR1QgMTAzMCAkdXRpbGl6YXRpb24gJHRlbXBlcmF0dXJlICRjbG9ja3MgXFtkcV0KK1xmW1Jd CisuZmkKKy5TUyBJY29ucyBVc2VkCisuSVAgXFtidV0gMgorXGZbVl1ncHVcZltSXQorLlNTIFRP RE8KKy5JUCBcW2J1XSAyCitQcm92aWRlIGEgXGZbVl1tYXBwaW5nc1xmW1JdIG9wdGlvbiBzaW1p bGFyIHRvCitcZltWXWtleWJvYXJkX2xheW91dFxmW1JdXFtjcV1zIHRvIG1hcCBHUFUgbmFtZXMg dG8gbGFiZWxzPworLlNTIHBhY21hbgorLlBQCitQZW5kaW5nIHVwZGF0ZXMgYXZhaWxhYmxlIG9u IHBhY21hbiBvciBhbiBBVVIgaGVscGVyLgorLlBQCitSZXF1aXJlcyBmYWtlcm9vdCB0byBiZSBp bnN0YWxsZWQgKG9ubHkgcmVxdWlyZWQgZm9yIHBhY21hbikuCisuUFAKK1RpcDogWW91IGNhbiBn cmFiIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSB1cGRhdGVzIHVzaW5nCitcZltWXWZha2Vyb290IHBh Y21hbiAtUXUgLS1kYnBhdGggL3RtcC9jaGVja3VwLWRiLWkzc3RhdHVzcnMvXGZbUl0uCitJZiB5 b3UgaGF2ZSB0aGUgXGZbVl1DSEVDS1VQREFURVNfREJcZltSXSBlbnYgdmFyIHNldCBvbiB5b3Vy IHN5c3RlbQordGhlbiBzdWJzdGl0dXRlIHRoYXQgZGlyIGluc3RlYWQuCisuUFAKK05vdGU6IFxm W1ZdcGlrYXVyXGZbUl0gbWF5IGhhbmcgdGhlIHdob2xlIGJsb2NrIGlmIHRoZXJlIGlzIG5vIGlu dGVybmV0Citjb25uZWN0aXZpdHkKK3JlZmVyZW5jZSAoaHR0cHM6Ly9naXRodWIuY29tL2FjdGlv bmxlc3MvcGlrYXVyL2lzc3Vlcy81OTUpLgorSW4gdGhhdCBjYXNlLCB0cnkgYSBkaWZmZXJlbnQg QVVSIGhlbHBlci4KKy5TUyBQYWNtYW4gaG9vaworLlBQCitUaXA6IE9uIEFyY2ggTGludXggeW91 IGNhbiBzZXR1cCBhIFxmW1ZdcGFjbWFuXGZbUl0gaG9vayB0byBzaWduYWwKK2kzc3RhdHVzLXJz IHRvIHVwZGF0ZSBhZnRlciBwYWNrYWdlcyBoYXZlIGJlZW4gdXBncmFkZWQsIHNvIHlvdQord29u XFtjcV10IGhhdmUgc3RhbGUgaW5mbyBpbiB5b3VyIHBhY21hbiBibG9jay4KKy5QUAorSW4gdGhl IGJsb2NrIGNvbmZpZ3VyYXRpb24sIHNldCBcZltWXXNpZ25hbCA9IDFcZltSXSAob3Igb3RoZXIg bnVtYmVyIGlmCitcZltWXTFcZltSXSBpcyBiZWluZyB1c2VkIGJ5IHNvbWUgb3RoZXIgYmxvY2sp OgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1wYWNtYW5cW2RxXQor c2lnbmFsID0gMQorXGZbUl0KKy5maQorLlBQCitDcmVhdGUgXGZbVl0vZXRjL3BhY21hbi5kL2hv b2tzL2kzc3RhdHVzLXJ1c3QuaG9va1xmW1JdIHdpdGggdGhlIGJlbG93Citjb250ZW50czoKKy5J UAorLm5mCitcZltDXQorW1RyaWdnZXJdCitPcGVyYXRpb24gPSBVcGdyYWRlCitUeXBlID0gUGFj a2FnZQorVGFyZ2V0ID0gKgorCitbQWN0aW9uXQorV2hlbiA9IFBvc3RUcmFuc2FjdGlvbgorRXhl YyA9IC91c3IvYmluL3BraWxsIC1TSUdSVE1JTisxIGkzc3RhdHVzLXJzCitcZltSXQorLmZpCisu U1MgQ29uZmlndXJhdGlvbgorLlBQCisuVFMKK3RhYihAKTsKK2x3KDEzLjNuKSBsdygyNi43bikg bHcoMzAuMG4pLgorVHsKK0tleQorVH1AVHsKK1ZhbHVlcworVH1AVHsKK0RlZmF1bHQKK1R9Citf CitUeworXGZbVl1pbnRlcnZhbFxmW1JdCitUfUBUeworVXBkYXRlIGludGVydmFsLCBpbiBzZWNv bmRzLgorSWYgc2V0dGluZyBcZltWXWF1cl9jb21tYW5kXGZbUl0gdGhlbiBzZXQgaW50ZXJ2YWwg YXBwcm9wcmlhdGVseSBhcyB0bworbm90IGV4Y2VlZCB0aGUgQVVSXFtjcV1zIGRhaWx5IHJhdGUg bGltaXQuCitUfUBUeworXGZbVl02MDBcZltSXQorVH0KK1R7CitcZltWXWZvcm1hdFxmW1JdCitU fUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRoZSBvdXRwdXQgb2YgdGhpcyBibG9jay4KK1Nl ZSBiZWxvdyBmb3IgYXZhaWxhYmxlIHBsYWNlaG9sZGVycy4KK1R9QFR7CitcZltWXVxbZHFdICRp Y29uICRwYWNtYW4uZW5nKHc6MSkgXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWZvcm1hdF9zaW5n dWxhclxmW1JdCitUfUBUeworU2FtZSBhcyBcZltWXWZvcm1hdFxmW1JdIGJ1dCBmb3Igd2hlbiBl eGFjdGx5IG9uZSB1cGRhdGUgaXMgYXZhaWxhYmxlLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24g JHBhY21hbi5lbmcodzoxKSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdZm9ybWF0X3VwX3RvX2Rh dGVcZltSXQorVH1AVHsKK1NhbWUgYXMgXGZbVl1mb3JtYXRcZltSXSBidXQgZm9yIHdoZW4gbm8g dXBkYXRlcyBhcmUgYXZhaWxhYmxlLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gJHBhY21hbi5l bmcodzoxKSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1Zdd2FybmluZ191cGRhdGVzX3JlZ2V4XGZb Ul0KK1R9QFR7CitEaXNwbGF5IGJsb2NrIGFzIHdhcm5pbmcgaWYgdXBkYXRlcyBtYXRjaGluZyBy ZWdleCBhcmUgYXZhaWxhYmxlLgorVH1AVHsKK1xmW1ZdTm9uZVxmW1JdCitUfQorVHsKK1xmW1Zd Y3JpdGljYWxfdXBkYXRlc19yZWdleFxmW1JdCitUfUBUeworRGlzcGxheSBibG9jayBhcyBjcml0 aWNhbCBpZiB1cGRhdGVzIG1hdGNoaW5nIHJlZ2V4IGFyZSBhdmFpbGFibGUuCitUfUBUeworXGZb Vl1Ob25lXGZbUl0KK1R9CitUeworXGZbVl1hdXJfY29tbWFuZFxmW1JdCitUfUBUeworQVVSIGNv bW1hbmQgdG8gY2hlY2sgYXZhaWxhYmxlIHVwZGF0ZXMsIHdoaWNoIG91dHB1dHMgaW4gdGhlIHNh bWUgZm9ybWF0CithcyBwYWNtYW4uCitlLmcuXCBcZltWXXlheSAtUXVhXGZbUl0KK1R9QFR7CitS ZXF1aXJlZCBpZiBcZltWXSRib3RoXGZbUl0gb3IgXGZbVl0kYXVyXGZbUl0gYXJlIHVzZWQKK1R9 CisuVEUKKy5QUAorLlRTCit0YWIoQCk7Citsdyg4LjRuKSBsdyg1My4xbikgbHcoNS4ybikgbHco My4ybikuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7 CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1JdCitUfUBUeworQSBzdGF0aWMgaWNvbgor VH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorVHsKK1xmW1ZdcGFjbWFuXGZbUl0KK1R9QFR7CitO dW1iZXIgb2YgdXBkYXRlcyBhdmFpbGFibGUgYWNjb3JkaW5nIHRvIFxmW1ZdcGFjbWFuXGZbUl0K K1R9QFR7CitOdW1iZXIKK1R9QFR7CistCitUfQorVHsKK1xmW1ZdYXVyXGZbUl0KK1R9QFR7CitO dW1iZXIgb2YgdXBkYXRlcyBhdmFpbGFibGUgYWNjb3JkaW5nIHRvIFxmW1ZdPGF1cl9jb21tYW5k PlxmW1JdCitUfUBUeworTnVtYmVyCitUfUBUeworLQorVH0KK1R7CitcZltWXWJvdGhcZltSXQor VH1AVHsKK0N1bXVsYXRpdmUgbnVtYmVyIG9mIHVwZGF0ZXMgYXZhaWxhYmxlIGFjY29yZGluZyB0 byBcZltWXXBhY21hblxmW1JdIGFuZAorXGZbVl08YXVyX2NvbW1hbmQ+XGZbUl0KK1R9QFR7CitO dW1iZXIKK1R9QFR7CistCitUfQorLlRFCisuU1MgRXhhbXBsZXMKKy5QUAorcGFjbWFuIG9ubHkg Y29uZmlnOgorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1wYWNtYW5c W2RxXQoraW50ZXJ2YWwgPSA2MDAKK2Zvcm1hdCA9IFxbZHFdICRpY29uICRwYWNtYW4gdXBkYXRl cyBhdmFpbGFibGUgXFtkcV0KK2Zvcm1hdF9zaW5ndWxhciA9IFxbZHFdICRpY29uICRwYWNtYW4g dXBkYXRlIGF2YWlsYWJsZSBcW2RxXQorZm9ybWF0X3VwX3RvX2RhdGUgPSBcW2RxXSAkaWNvbiBz eXN0ZW0gdXAgdG8gZGF0ZSBcW2RxXQorY3JpdGljYWxfdXBkYXRlc19yZWdleCA9IFxbZHFdKGxp bnV4fGxpbnV4LWx0c3xsaW51eC16ZW4pXFtkcV0KK1tbYmxvY2suY2xpY2tdXQorIyMjIHBvcC11 cCBhIG1lbnUgc2hvd2luZyB0aGUgYXZhaWxhYmxlIHVwZGF0ZXMuIFJlcGxhY2Ugd29maSB3aXRo IHlvdXIgZmF2b3VyaXRlIG1lbnUgY29tbWFuZC4KK2J1dHRvbiA9IFxbZHFdbGVmdFxbZHFdCitj bWQgPSBcW2RxXWZha2Vyb290IHBhY21hbiAtUXUgLS1kYnBhdGggL3RtcC9jaGVja3VwLWRiLWkz c3RhdHVzcnMvIHwgd29maSAtLXNob3cgZG1lbnVcW2RxXQorW1tibG9jay5jbGlja11dCisjIyMg VXBkYXRlcyB0aGUgYmxvY2sgb24gcmlnaHQgY2xpY2sKK2J1dHRvbiA9IFxbZHFdcmlnaHRcW2Rx XQordXBkYXRlID0gdHJ1ZQorXGZbUl0KKy5maQorLlBQCitwYWNtYW4gb25seSBjb25maWcgdXNp bmcgd2FybmluZ3Mgd2l0aCBaRlMgbW9kdWxlczoKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11d CitibG9jayA9IFxbZHFdcGFjbWFuXFtkcV0KK2ludGVydmFsID0gNjAwCitmb3JtYXQgPSBcW2Rx XSAkaWNvbiAkcGFjbWFuIHVwZGF0ZXMgYXZhaWxhYmxlIFxbZHFdCitmb3JtYXRfc2luZ3VsYXIg PSBcW2RxXSAkaWNvbiAkcGFjbWFuIHVwZGF0ZSBhdmFpbGFibGUgXFtkcV0KK2Zvcm1hdF91cF90 b19kYXRlID0gXFtkcV0gJGljb24gc3lzdGVtIHVwIHRvIGRhdGUgXFtkcV0KKyMjIyBJZiBhIGxp bnV4IHVwZGF0ZSBpcyBhdmFpbGFibGUsIGJ1dCBubyBaRlMgcGFja2FnZSwgaXQgd29uXFthcV10 IGJlIHBvc3NpYmxlIHRvCisjIyMgYWN0dWFsbHkgcGVyZm9ybSBhIHN5c3RlbSB1cGdyYWRlLCBz byB3ZSBzaG93IGEgd2FybmluZy4KK3dhcm5pbmdfdXBkYXRlc19yZWdleCA9IFxbZHFdKGxpbnV4 fGxpbnV4LWx0c3xsaW51eC16ZW4pXFtkcV0KKyMjIyBJZiBaRlMgaXMgYXZhaWxhYmxlLCB3ZSBr bm93IHRoYXQgd2UgY2FuIGFuZCBzaG91bGQgZG8gYW4gdXBncmFkZSwgc28gd2Ugc2hvdworIyMj IHRoZSBzdGF0dXMgYXMgY3JpdGljYWwuCitjcml0aWNhbF91cGRhdGVzX3JlZ2V4ID0gXFtkcV0o emZzfHpmcy1sdHMpXFtkcV0KK1xmW1JdCisuZmkKKy5QUAorcGFjbWFuIGFuZCBBVVIgaGVscGVy IGNvbmZpZzoKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdcGFjbWFu XFtkcV0KK2ludGVydmFsID0gNjAwCitlcnJvcl9pbnRlcnZhbCA9IDMwMAorZm9ybWF0ID0gXFtk cV0gJGljb24gJHBhY21hbiArICRhdXIgPSAkYm90aCB1cGRhdGVzIGF2YWlsYWJsZSBcW2RxXQor Zm9ybWF0X3Npbmd1bGFyID0gXFtkcV0gJGljb24gJGJvdGggdXBkYXRlIGF2YWlsYWJsZSBcW2Rx XQorZm9ybWF0X3VwX3RvX2RhdGUgPSBcW2RxXSAkaWNvbiBzeXN0ZW0gdXAgdG8gZGF0ZSBcW2Rx XQorY3JpdGljYWxfdXBkYXRlc19yZWdleCA9IFxbZHFdKGxpbnV4fGxpbnV4LWx0c3xsaW51eC16 ZW4pXFtkcV0KKyMjIyBhdXJfY29tbWFuZCBzaG91bGQgb3V0cHV0IGF2YWlsYWJsZSB1cGRhdGVz IHRvIHN0ZG91dCAoaWUgYmVoYXZlIGFzIGVjaG8gLW5lIFxbZHFddXBkYXRlXFtyc11uXFtkcV0p CithdXJfY29tbWFuZCA9IFxbZHFdeWF5IC1RdWFcW2RxXQorXGZbUl0KKy5maQorLlNTIEljb25z IFVzZWQKKy5JUCBcW2J1XSAyCitcZltWXXVwZGF0ZVxmW1JdCisuU1MgcG9tb2Rvcm8KKy5QUAor QSBwb21vZG9ybyB0aW1lciAoaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUG9tb2Rvcm9f VGVjaG5pcXVlKQorLlNTIFRlY2huaXF1ZQorLlBQCitUaGVyZSBhcmUgc2l4IHN0ZXBzIGluIHRo ZSBvcmlnaW5hbCB0ZWNobmlxdWU6IDEpIERlY2lkZSBvbiB0aGUgdGFzayB0bworYmUgZG9uZS4K KzIpIFNldCB0aGUgcG9tb2Rvcm8gdGltZXIgKHRyYWRpdGlvbmFsbHkgdG8gMjUgbWludXRlcyku CiszKSBXb3JrIG9uIHRoZSB0YXNrLgorNCkgRW5kIHdvcmsgd2hlbiB0aGUgdGltZXIgcmluZ3Mg YW5kIHB1dCBhIGNoZWNrbWFyayBvbiBhIHBpZWNlIG9mCitwYXBlci4KKzUpIElmIHlvdSBoYXZl IGZld2VyIHRoYW4gZm91ciBjaGVja21hcmtzLCB0YWtlIGEgc2hvcnQgYnJlYWsgKDNcW2VuXTUK K21pbnV0ZXMpIGFuZCB0aGVuIHJldHVybiB0byBzdGVwIDIuCis2KSBBZnRlciBmb3VyIHBvbW9k b3JvcywgdGFrZSBhIGxvbmdlciBicmVhayAoMTVcW2VuXTMwIG1pbnV0ZXMpLCByZXNldAoreW91 ciBjaGVja21hcmsgY291bnQgdG8gemVybywgdGhlbiBnbyB0byBzdGVwIDEuCisuU1MgQ29uZmln dXJhdGlvbgorLlBQCisuVFMKK3RhYihAKTsKK2x3KDE0LjBuKSBsdygyOC4wbikgbHcoMjguMG4p LgorVHsKK0tleQorVH1AVHsKK1ZhbHVlcworVH1AVHsKK0RlZmF1bHQKK1R9CitfCitUeworXGZb Vl1mb3JtYXRcZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0IG9m IHRoaXMgYmxvY2suCitUfUBUeworXFtycV0gJGljb257ICRtZXNzYWdlfH0gXFtscV0KK1R9CitU eworXGZbVl1tZXNzYWdlXGZbUl0KK1R9QFR7CitNZXNzYWdlIHdoZW4gdGltZXIgZXhwaXJlcwor VH1AVHsKK1xmW1ZdXFtkcV1Qb21vZG9ybyBvdmVyISBUYWtlIGEgYnJlYWshXFtkcV1cZltSXQor VH0KK1R7CitcZltWXWJyZWFrX21lc3NhZ2VcZltSXQorVH1AVHsKK01lc3NhZ2Ugd2hlbiBicmVh ayBpcyBvdmVyCitUfUBUeworXGZbVl1cW2RxXUJyZWFrIG92ZXIhIFRpbWUgdG8gd29yayFcW2Rx XVxmW1JdCitUfQorVHsKK1xmW1Zdbm90aWZ5X2NtZFxmW1JdCitUfUBUeworQSBzaGVsbCBjb21t YW5kIHRvIHJ1biBhcyBhIG5vdGlmaWVyLgorXGZbVl17bXNnfVxmW1JdIHdpbGwgYmUgc3Vic3Rp dHV0ZWQgd2l0aCBlaXRoZXIgXGZbVl1tZXNzYWdlXGZbUl0gb3IKK1xmW1ZdYnJlYWtfbWVzc2Fn ZVxmW1JdLgorVH1AVHsKK1xmW1ZdTm9uZVxmW1JdCitUfQorVHsKK1xmW1ZdYmxvY2tpbmdfY21k XGZbUl0KK1R9QFR7CitJcyBcZltWXW5vdGlmeV9jbWRcZltSXSBibG9ja2luZz8KK0lmIGl0IGlz LCB0aGVuIHBvbW9kb3JvIGJsb2NrIHdpbGwgd2FpdCB1bnRpbCB0aGUgY29tbWFuZCBmaW5pc2hl cworYmVmb3JlIHByb2NlZWRpbmcuCitPdGhlcndpc2UsIHlvdSB3aWxsIGhhdmUgdG8gY2xpY2sg b24gdGhlIGJsb2NrIGluIG9yZGVyIHRvIHByb2NlZWQuCitUfUBUeworXGZbVl1mYWxzZVxmW1Jd CitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbCBsIGwuCitUeworUGxhY2Vob2xkZXIKK1R9 QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9CitfCitUeworXGZbVl1pY29uXGZbUl0KK1R9QFR7 CitBIHN0YXRpYyBpY29uCitUfUBUeworSWNvbgorVH0KK1R7CitcZltWXW1lc3NhZ2VcZltSXQor VH1AVHsKK0N1cnJlbnQgbWVzc2FnZQorVH1AVHsKK1RleHQKK1R9CisuVEUKKy5TUyBFeGFtcGxl CisuUFAKK1VzZSBcZltWXXN3YXluYWdcZltSXSBhcyBhIG5vdGlmaWVyOgorLklQCisubmYKK1xm W0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV1wb21vZG9yb1xbZHFdCitub3RpZnlfY21kID0g XFtkcV1zd2F5bmFnIC1tIFxbYXFde21zZ31cW2FxXVxbZHFdCitibG9ja2luZ19jbWQgPSB0cnVl CitcZltSXQorLmZpCisuUFAKK1VzZSBcZltWXW5vdGlmeS1zZW5kXGZbUl0gYXMgYSBub3RpZmll cjoKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdcG9tb2Rvcm9cW2Rx XQorbm90aWZ5X2NtZCA9IFxbZHFdbm90aWZ5LXNlbmQgXFthcV17bXNnfVxbYXFdXFtkcV0KK2Js b2NraW5nX2NtZCA9IGZhbHNlCitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVd IDIKK1xmW1ZdcG9tb2Rvcm9cZltSXQorLklQIFxbYnVdIDIKK1xmW1ZdcG9tb2Rvcm9fc3RhcnRl ZFxmW1JdCisuSVAgXFtidV0gMgorXGZbVl1wb21vZG9yb19zdG9wcGVkXGZbUl0KKy5JUCBcW2J1 XSAyCitcZltWXXBvbW9kb3JvX3BhdXNlZFxmW1JdCisuSVAgXFtidV0gMgorXGZbVl1wb21vZG9y b19icmVha1xmW1JdCisuU1MgVE9ETworLklQIFxbYnVdIDIKK1VzZSBkaWZmZXJlbnQgaWNvbnMu CisuSVAgXFtidV0gMgorVXNlIGZvcm1hdCBzdHJpbmdzLgorLlNTIHJvZmljYXRpb24KKy5QUAor VGhlIG51bWJlciBvZiBwZW5kaW5nIG5vdGlmaWNhdGlvbnMgaW4gcm9maWNhdGlvbi1kYWVtb24K Ky5QUAorQSBkaWZmZXJlbnQgY29sb3IgaXMgdXNlZCBpZiB0aGVyZSBhcmUgY3JpdGljYWwgbm90 aWZpY2F0aW9ucy4KKy5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFiKEApOworbHcoMTQu MG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUeworS2V5CitUfUBUeworVmFsdWVzCitUfUBUewor RGVmYXVsdAorVH0KK18KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitSZWZyZXNoIHJh dGUgaW4gc2Vjb25kcy4KK1R9QFR7CitcZltWXTFcZltSXQorVH0KK1R7CitcZltWXWZvcm1hdFxm W1JdCitUfUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRoZSBvdXRwdXQgb2YgdGhpcyBibG9j ay4KK1NlZSBiZWxvdyBmb3IgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24g JG51bS5lbmcodzoxKSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1Zdc29ja2V0X3BhdGhcZltSXQor VH1AVHsKK1NvY2tldCBwYXRoIGZvciB0aGUgcm9maWNhdGlvbiBkYWVtb24uCitTdXBwb3J0cyBw YXRoIGV4cGFuc2lvbnMgZS5nLlwgXGZbVl1cW3RpXVxmW1JdLgorVH1AVHsKK1xmW1ZdXFtkcV0v dG1wL3JvZmlfbm90aWZpY2F0aW9uX2RhZW1vblxbZHFdXGZbUl0KK1R9CisuVEUKKy5QUAorLlRT Cit0YWIoQCk7CitsIGwgbCBsLgorVHsKK1BsYWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9QFR7 CitUeXBlCitUfUBUeworVW5pdAorVH0KK18KK1R7CitcZltWXWljb25cZltSXQorVH1AVHsKK0Eg c3RhdGljIGljb24KK1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7CitcZltWXW51bVxmW1Jd CitUfUBUeworTnVtYmVyIG9mIHBlbmRpbmcgbm90aWZpY2F0aW9ucworVH1AVHsKK051bWJlcgor VH1AVHsKKy0KK1R9CisuVEUKKy5TUyBFeGFtcGxlCisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2td XQorYmxvY2sgPSBcW2RxXXJvZmljYXRpb25cW2RxXQoraW50ZXJ2YWwgPSAxCitzb2NrZXRfcGF0 aCA9IFxbZHFdL3RtcC9yb2ZpX25vdGlmaWNhdGlvbl9kYWVtb25cW2RxXQorW1tibG9jay5jbGlj a11dCitidXR0b24gPSBcW2RxXWxlZnRcW2RxXQorY21kID0gXFtkcV1yb2ZpY2F0aW9uLWd1aVxb ZHFdCitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdYmVsbFxm W1JdCisuU1Mgc2VydmljZV9zdGF0dXMKKy5QUAorRGlzcGxheSB0aGUgc3RhdHVzIG9mIGEgc2Vy dmljZQorLlBQCitSaWdodCBub3cgb25seSBcZltWXXN5c3RlbWRcZltSXSBpcyBzdXBwb3J0ZWQu CisuU1MgQ29uZmlndXJhdGlvbgorLlBQCisuVFMKK3RhYihAKTsKK2x3KDE0LjBuKSBsdygyOC4w bikgbHcoMjguMG4pLgorVHsKK0tleQorVH1AVHsKK1ZhbHVlcworVH1AVHsKK0RlZmF1bHQKK1R9 CitfCitUeworXGZbVl1kcml2ZXJcZltSXQorVH1AVHsKK1doaWNoIGluaXQgc3lzdGVtIGlzIHJ1 bm5pbmcgdGhlIHNlcnZpY2UuCitBdmFpbGFibGUgZHJpdmVycyBhcmU6IFxmW1ZdXFtkcV1zeXN0 ZW1kXFtkcV1cZltSXQorVH1AVHsKK1xmW1ZdXFtkcV1zeXN0ZW1kXFtkcV1cZltSXQorVH0KK1R7 CitcZltWXXNlcnZpY2VcZltSXQorVH1AVHsKK1RoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlCitUfUBU eworXGZbQl1SZXF1aXJlZFxmW1JdCitUfQorVHsKK1xmW1ZdYWN0aXZlX2Zvcm1hdFxmW1JdCitU fUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRoZSBvdXRwdXQgb2YgdGhpcyBibG9jay4KK1Nl ZSBiZWxvdyBmb3IgYXZhaWxhYmxlIHBsYWNlaG9sZGVycy4KK1R9QFR7CitcZltWXVxbZHFdICRz ZXJ2aWNlIGFjdGl2ZSBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdaW5hY3RpdmVfZm9ybWF0XGZb Ul0KK1R9QFR7CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2Nr LgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtk cV0gJHNlcnZpY2UgaW5hY3RpdmUgXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWFjdGl2ZV9zdGF0 ZVxmW1JdCitUfUBUeworQSB2YWxpZCBbXGZbVl1TdGF0ZVxmW1JdXQorVH1AVHsKK1tcZltWXVN0 YXRlOjpJZGxlXGZbUl1dCitUfQorVHsKK1xmW1ZdaW5hY3RpdmVfc3RhdGVcZltSXQorVH1AVHsK K0EgdmFsaWQgW1xmW1ZdU3RhdGVcZltSXV0KK1R9QFR7CitbXGZbVl1TdGF0ZTo6Q3JpdGljYWxc ZltSXV0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7CitsIGwgbCBsLgorVHsKK1BsYWNlaG9s ZGVyCitUfUBUeworVmFsdWUKK1R9QFR7CitUeXBlCitUfUBUeworVW5pdAorVH0KK18KK1R7Citc ZltWXXNlcnZpY2VcZltSXQorVH1AVHsKK1RoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlCitUfUBUewor VGV4dAorVH1AVHsKKy0KK1R9CisuVEUKKy5TUyBFeGFtcGxlCisuUFAKK0V4YW1wbGUgdXNpbmcg YW4gaWNvbjoKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdc2Vydmlj ZV9zdGF0dXNcW2RxXQorc2VydmljZSA9IFxbZHFdY3Vwc1xbZHFdCithY3RpdmVfZm9ybWF0ID0g XFtkcV0gXFtoYV1pY29uX3RlYSBcW2RxXQoraW5hY3RpdmVfZm9ybWF0ID0gXFtkcV0gbm8gXFto YV1pY29uX3RlYSBcW2RxXQorXGZbUl0KKy5maQorLlBQCitFeGFtcGxlIG92ZXJyaWRpbmcgdGhl IGRlZmF1bHQgXGZbVl1pbmFjdGl2ZV9zdGF0ZVxmW1JdOgorLklQCisubmYKK1xmW0NdCitbW2Js b2NrXV0KK2Jsb2NrID0gXFtkcV1zZXJ2aWNlX3N0YXR1c1xbZHFdCitzZXJ2aWNlID0gXFtkcV1z aGFkb3dcW2RxXQorYWN0aXZlX2Zvcm1hdCA9IFxbZHFdXFtkcV0KK2luYWN0aXZlX2Zvcm1hdCA9 IFxbZHFdIEludGVncml0eSBvZiBwYXNzd29yZCBhbmQgZ3JvdXAgZmlsZXMgZmFpbGVkIFxbZHFd CitpbmFjdGl2ZV9zdGF0ZSA9IFxbZHFdV2FybmluZ1xbZHFdCitcZltSXQorLmZpCisuU1Mgc291 bmQKKy5QUAorVm9sdW1lIGxldmVsCisuUFAKK1RoaXMgYmxvY2sgZGlzcGxheXMgdGhlIHZvbHVt ZSBsZXZlbCAoYWNjb3JkaW5nIHRvIFB1bHNlQXVkaW8gb3IgQUxTQSkuCitSaWdodCBjbGljayB0 byB0b2dnbGUgbXV0ZSwgc2Nyb2xsIHRvIGFkanVzdCB2b2x1bWUuCisuUFAKK1JlcXVpcmVzIGEg UHVsc2VBdWRpbyBpbnN0YWxsYXRpb24gb3IgXGZbVl1hbHNhLXV0aWxzXGZbUl0gZm9yIEFMU0Eu CisuUFAKK05vdGUgdGhhdCBpZiB5b3UgYXJlIHVzaW5nIFB1bHNlQXVkaW8gY29tbWFuZHMgKHN1 Y2ggYXMgXGZbVl1wYWN0bFxmW1JdKQordG8gY29udHJvbCB5b3VyIHZvbHVtZSwgeW91IHNob3Vs ZCBzZWxlY3QgdGhlCitcZltWXVxbZHFdcHVsc2VhdWRpb1xbZHFdXGZbUl0gKG9yIFxmW1ZdXFtk cV1hdXRvXFtkcV1cZltSXSkgZHJpdmVyIHRvCitzZWUgdm9sdW1lIGNoYW5nZXMgdGhhdCBleGNl ZWQgMTAwJS4KKy5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFiKEApOworbHcoMTQuMG4p IGx3KDI4LjBuKSBsdygyOC4wbikuCitUeworS2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVm YXVsdAorVH0KK18KK1R7CitcZltWXWRyaXZlclxmW1JdCitUfUBUeworXGZbVl1cW2RxXWF1dG9c W2RxXVxmW1JdLCBcZltWXVxbZHFdcHVsc2VhdWRpb1xbZHFdXGZbUl0sCitcZltWXVxbZHFdYWxz YVxbZHFdXGZbUl0uCitUfUBUeworXGZbVl1cW2RxXWF1dG9cW2RxXVxmW1JdIChQdWxzZWF1ZGlv IHdpdGggQUxTQSBmYWxsYmFjaykKK1R9CitUeworXGZbVl1mb3JtYXRcZltSXQorVH1AVHsKK0Eg c3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2suCitTZWUgYmVsb3cg Zm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuCitUfUBUeworJGljb24geyR2b2x1bWUuZW5nKHc6 MikgfH0KK1R9CitUeworXGZbVl1uYW1lXGZbUl0KK1R9QFR7CitQdWxzZUF1ZGlvIGRldmljZSBu YW1lLCBvciB0aGUgQUxTQSBjb250cm9sIG5hbWUgYXMgZm91bmQgaW4gdGhlIG91dHB1dAorb2Yg XGZbVl1hbWl4ZXIgLUQgeW91cmRldmljZSBzY29udHJvbHNcZltSXS4KK1R9QFR7CitQdWxzZUF1 ZGlvOiBcZltWXVxbYXRdREVGQVVMVF9TSU5LXFthdF1cZltSXSAvIEFMU0E6IFxmW1ZdTWFzdGVy XGZbUl0KK1R9CitUeworXGZbVl1kZXZpY2VcZltSXQorVH1AVHsKK0FMU0EgZGV2aWNlIG5hbWUs IHVzdWFsbHkgaW4gdGhlIGZvcm0gXFtscV1odzpYXFtycV0gb3IgXFtscV1odzpYLFlcW3JxXQor d2hlcmUgXGZbVl1YXGZbUl0gaXMgdGhlIGNhcmQgbnVtYmVyIGFuZCBcZltWXVlcZltSXSBpcyB0 aGUgZGV2aWNlCitudW1iZXIgYXMgZm91bmQgaW4gdGhlIG91dHB1dCBvZiBcZltWXWFwbGF5IC1s XGZbUl0uCitUfUBUeworXGZbVl1kZWZhdWx0XGZbUl0KK1R9CitUeworXGZbVl1kZXZpY2Vfa2lu ZFxmW1JdCitUfUBUeworUHVsc2VBdWRpbyBkZXZpY2Uga2luZDogXGZbVl1zb3VyY2VcZltSXSBv ciBcZltWXXNpbmtcZltSXS4KK1R9QFR7CitcZltWXVxbZHFdc2lua1xbZHFdXGZbUl0KK1R9CitU eworXGZbVl1uYXR1cmFsX21hcHBpbmdcZltSXQorVH1AVHsKK1doZW4gdXNpbmcgdGhlIEFMU0Eg ZHJpdmVyLCBkaXNwbGF5IHRoZSBcW2xxXW1hcHBlZCB2b2x1bWVcW3JxXSBhcyBnaXZlbgorYnkg XGZbVl1hbHNhbWl4ZXJcZltSXS9cZltWXWFtaXhlciAtTVxmW1JdLCB3aGljaCByZXByZXNlbnRz IHRoZSB2b2x1bWUKK2xldmVsIG1vcmUgbmF0dXJhbGx5IHdpdGggcmVzcGVjdCBmb3IgdGhlIGh1 bWFuIGVhci4KK1R9QFR7CitcZltWXWZhbHNlXGZbUl0KK1R9CitUeworXGZbVl1zdGVwX3dpZHRo XGZbUl0KK1R9QFR7CitUaGUgcGVyY2VudCB2b2x1bWUgbGV2ZWwgaXMgaW5jcmVhc2VkL2RlY3Jl YXNlZCBmb3IgdGhlIHNlbGVjdGVkIGF1ZGlvCitkZXZpY2Ugd2hlbiBzY3JvbGxpbmcuCitDYXBw ZWQgYXV0b21hdGljYWxseSBhdCA1MC4KK1R9QFR7CitcZltWXTVcZltSXQorVH0KK1R7CitcZltW XW1heF92b2xcZltSXQorVH1AVHsKK01heCB2b2x1bWUgaW4gcGVyY2VudCB0aGF0IGNhbiBiZSBz ZXQgdmlhIHNjcm9sbGluZy4KK05vdGUgaXQgY2FuIHN0aWxsIGJlIHNldCBhYm92ZSB0aGlzIHZh bHVlIGlmIGNoYW5nZWQgYnkgYW5vdGhlcgorYXBwbGljYXRpb24uCitUfUBUeworXGZbVl1Ob25l XGZbUl0KK1R9CitUeworXGZbVl1zaG93X3ZvbHVtZV93aGVuX211dGVkXGZbUl0KK1R9QFR7CitT aG93IHRoZSB2b2x1bWUgZXZlbiBpZiBpdCBpcyBjdXJyZW50bHkgbXV0ZWQuCitUfUBUeworXGZb Vl1mYWxzZVxmW1JdCitUfQorVHsKK1xmW1ZdaGVhZHBob25lc19pbmRpY2F0b3JcZltSXQorVH1A VHsKK0NoYW5nZSBpY29uIHdoZW4gaGVhZHBob25lcyBhcmUgcGx1Z2dlZCBpbiAocHVsc2VhdWRp byBvbmx5KQorVH1AVHsKK1xmW1ZdZmFsc2VcZltSXQorVH0KK1R7CitcZltWXW1hcHBpbmdzXGZb Ul0KK1R9QFR7CitNYXAgXGZbVl1vdXRwdXRfbmFtZVxmW1JdIHRvIGEgY3VzdG9tIG5hbWUuCitU fUBUeworXGZbVl1Ob25lXGZbUl0KK1R9CitUeworXGZbVl1tYXBwaW5nc191c2VfcmVnZXhcZltS XQorVH1AVHsKK0xldCBcZltWXW1hcHBpbmdzXGZbUl0gbWF0Y2ggdXNpbmcgcmVnZXggaW5zdGVh ZCBvZiBzdHJpbmcgZXF1YWxpdHkuCitUaGUgcmVwbGFjZW1lbnQgd2lsbCBiZSByZWdleCBhd2Fy ZSBhbmQgY2FuIGNvbnRhaW4gY2FwdHVyZSBncm91cHMuCitUfUBUeworXGZbVl10cnVlXGZbUl0K K1R9CitUeworXGZbVl1hY3RpdmVfcG9ydF9tYXBwaW5nc1xmW1JdCitUfUBUeworTWFwIFxmW1Zd YWN0aXZlX3BvcnRcZltSXSB0byBhIGN1c3RvbSBuYW1lLgorVGhlIHJlcGxhY2VtZW50IHdpbGwg YmUgcmVnZXggYXdhcmUgYW5kIGNhbiBjb250YWluIGNhcHR1cmUgZ3JvdXBzLgorVH1AVHsKK1xm W1ZdTm9uZVxmW1JdCitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbHcoMTguNm4pIGx3KDMx LjBuKSBsdyg3LjFuKSBsdygxMy4zbikuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitWYWx1ZQor VH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1JdCitUfUBU eworSWNvbiBiYXNlZCBvbiB2b2x1bWUKK1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7Citc ZltWXXZvbHVtZVxmW1JdCitUfUBUeworQ3VycmVudCB2b2x1bWUuCitNaXNzaW5nIGlmIG11dGVk LgorVH1AVHsKK051bWJlcgorVH1AVHsKKyUKK1R9CitUeworXGZbVl1vdXRwdXRfbmFtZVxmW1Jd CitUfUBUeworUHVsc2VBdWRpbyBvciBBTFNBIGRldmljZSBuYW1lCitUfUBUeworVGV4dAorVH1A VHsKKy0KK1R9CitUeworXGZbVl1vdXRwdXRfZGVzY3JpcHRpb25cZltSXQorVH1AVHsKK1B1bHNl QXVkaW8gZGV2aWNlIGRlc2NyaXB0aW9uLCB3aWxsIGZhbGxiYWNrIHRvIFxmW1Zdb3V0cHV0X25h bWVcZltSXSBpZgorbm8gZGVzY3JpcHRpb24gaXMgYXZhaWxhYmxlIGFuZCB3aWxsIGJlIG92ZXJ3 cml0dGVuIGJ5IG1hcHBpbmdzCisobWFwcGluZ3Mgd2lsbCBzdGlsbCB1c2UgXGZbVl1vdXRwdXRf bmFtZVxmW1JdKQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsKK1xmW1ZdYWN0aXZlX3Bv cnRcZltSXQorVH1AVHsKK0FjdGl2ZSBwb3J0IChzYW1lIGFzIGluZm9ybWF0aW9uIGluIFBvcnRz IHNlY3Rpb24gb2YKK1xmW1ZdcGFjdGwgbGlzdCBjYXJkc1xmW1JdKS4KK1dpbGwgYmUgYWJzZW50 IGlmIG5vdCBzdXBwb3J0ZWQgYnkgXGZbVl1kcml2ZXJcZltSXSBvciBpZiBtYXBwZWQgdG8KK1xm W1ZdXFtkcV1cW2RxXVxmW1JdIGluIFxmW1ZdYWN0aXZlX3BvcnRfbWFwcGluZ3NcZltSXS4KK1R9 QFR7CitUZXh0CitUfUBUeworLQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2wgbC4KK1R7 CitBY3Rpb24KK1R9QFR7CitEZWZhdWx0IGJ1dHRvbgorVH0KK18KK1R7CitcZltWXXRvZ2dsZV9t dXRlXGZbUl0KK1R9QFR7CitSaWdodAorVH0KK1R7CitcZltWXXZvbHVtZV91cFxmW1JdCitUfUBU eworV2hlZWwgVXAKK1R9CitUeworXGZbVl12b2x1bWVfZG93blxmW1JdCitUfUBUeworV2hlZWwg RG93bgorVH0KKy5URQorLlNTIEV4YW1wbGVzCisuUFAKK0NoYW5nZSB0aGUgZGVmYXVsdCBzY3Jv bGxpbmcgc3RlcCB3aWR0aCB0byAzIHBlcmNlbnQ6CisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2td XQorYmxvY2sgPSBcW2RxXXNvdW5kXFtkcV0KK3N0ZXBfd2lkdGggPSAzCitcZltSXQorLmZpCisu UFAKK0NoYW5nZSB0aGUgb3V0cHV0IG5hbWUgc2hvd246CisuSVAKKy5uZgorXGZbQ10KK1tbYmxv Y2tdXQorYmxvY2sgPSBcW2RxXXNvdW5kXFtkcV0KK2Zvcm1hdCA9IFxbZHFdICRpY29uICRvdXRw dXRfbmFtZXsgJHZvbHVtZXx9IFxbZHFdCitbYmxvY2subWFwcGluZ3NdCitcW2RxXWFsc2Ffb3V0 cHV0LnVzYi1IYXJtYW5fTXVsdGltZWRpYV9KQkxfUGViYmxlc18xLjAuMC0wMC5hbmFsb2ctc3Rl cmVvXFtkcV0gPSBcW2RxXVNwZWFrZXJzXFtkcV0KK1xbZHFdYWxzYV9vdXRwdXQucGNpLTAwMDBf MDBfMWIuMC5hbmFsb2ctc3RlcmVvXFtkcV0gPSBcW2RxXUhlYWRzZXRcW2RxXQorXGZbUl0KKy5m aQorLlBQCitTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIFxmW1ZdZGV2aWNlX2tpbmRc ZltSXSBrZXkgaXMKK1xmW1Zdc2lua1xmW1JdLCB0byBkaXNwbGF5IFxmW0JdXGZbQkldbWljcm9w aG9uZVxmW0JdXGZbUl0gYmxvY2sgeW91CitoYXZlIHRvIHVzZSB0aGUgXGZbVl1zb3VyY2VcZltS XSB2YWx1ZToKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdc291bmRc W2RxXQorZHJpdmVyID0gXFtkcV1wdWxzZWF1ZGlvXFtkcV0KK2RldmljZV9raW5kID0gXFtkcV1z b3VyY2VcW2RxXQorXGZbUl0KKy5maQorLlBQCitEaXNwbGF5IHdhcm5pbmcgaW4gYmxvY2sgaWYg bWljcm9waG9uZSBpZiB1c2luZyB0aGUgd3JvbmcgcG9ydDoKKy5JUAorLm5mCitcZltDXQorW1ti bG9ja11dCitibG9jayA9IFxbZHFdc291bmRcW2RxXQorZHJpdmVyID0gXFtkcV1wdWxzZWF1ZGlv XFtkcV0KK2RldmljZV9raW5kID0gXFtkcV1zb3VyY2VcW2RxXQorZm9ybWF0ID0gXFtkcV0gJGlj b24geyAkdm9sdW1lfH0geyRhY3RpdmVfcG9ydCB8fVxbZHFdCitbYmxvY2suYWN0aXZlX3BvcnRf bWFwcGluZ3NdCitcW2RxXWFuYWxvZy1pbnB1dC1yZWFyLW1pY1xbZHFdID0gXFtkcV1cW2RxXSAj IE1hcHBpbmcgdG8gYW4gZW1wdHkgc3RyaW5nIG1ha2VzIFxbZ2FdJGFjdGl2ZV9wb3J0XFtnYV0g YWJzZW50CitcW2RxXWFuYWxvZy1pbnB1dC1mcm9udC1taWNcW2RxXSA9IFxbZHFdRVJSIVxbZHFd CitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZdbWljcm9waG9u ZV9tdXRlZFxmW1JdIChhcyBhIHByb2dyZXNzaW9uKQorLklQIFxbYnVdIDIKK1xmW1ZdbWljcm9w aG9uZVxmW1JdIChhcyBhIHByb2dyZXNzaW9uKQorLklQIFxbYnVdIDIKK1xmW1Zddm9sdW1lX211 dGVkXGZbUl0gKGFzIGEgcHJvZ3Jlc3Npb24pCisuSVAgXFtidV0gMgorXGZbVl12b2x1bWVcZltS XSAoYXMgYSBwcm9ncmVzc2lvbikKKy5JUCBcW2J1XSAyCitcZltWXWhlYWRwaG9uZXNcZltSXQor LlNTIHNwZWVkdGVzdAorLlBQCitQaW5nLCBkb3dubG9hZCwgYW5kIHVwbG9hZCBzcGVlZHMKKy5Q UAorVGhpcyBibG9jayB3aGljaCByZXF1aXJlcworXGZbVl1zcGVlZHRlc3QtY2xpXGZbUl0gKGh0 dHBzOi8vZ2l0aHViLmNvbS9zaXZlbC9zcGVlZHRlc3QtY2xpKS4KKy5TUyBDb25maWd1cmF0aW9u CisuUFAKKy5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUewor S2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltWXWZvcm1h dFxmW1JdCitUfUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRoZSBvdXRwdXQgb2YgdGhpcyBi bG9jay4KK1NlZSBiZWxvdyBmb3IgYXZhaWxhYmxlIHBsYWNlaG9sZGVycy4KK1R9QFR7CitcZltW XVxbZHFdIFxbaGFdaWNvbl9waW5nICRwaW5nIFxbaGFdaWNvbl9uZXRfZG93biAkc3BlZWRfZG93 biBcW2hhXWljb25fbmV0X3VwICRzcGVlZF91cCBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdaW50 ZXJ2YWxcZltSXQorVH1AVHsKK1VwZGF0ZSBpbnRlcnZhbCBpbiBzZWNvbmRzCitUfUBUeworXGZb Vl0xODAwXGZbUl0KK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7CitsIGwgbCBsLgorVHsKK1Bs YWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9QFR7CitUeXBlCitUfUBUeworVW5pdAorVH0KK18K K1R7CitcZltWXXBpbmdcZltSXQorVH1AVHsKK1BpbmcgZGVsYXkKK1R9QFR7CitOdW1iZXIKK1R9 QFR7CitTZWNvbmRzCitUfQorVHsKK1xmW1Zdc3BlZWRfZG93blxmW1JdCitUfUBUeworRG93bmxv YWQgc3BlZWQKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitCaXRzIHBlciBzZWNvbmQKK1R9CitUewor XGZbVl1zcGVlZF91cFxmW1JdCitUfUBUeworVXBsb2FkIHNwZWVkCitUfUBUeworTnVtYmVyCitU fUBUeworQml0cyBwZXIgc2Vjb25kCitUfQorLlRFCisuU1MgRXhhbXBsZQorLlBQCitTaG93IG9u bHkgcGluZyAod2l0aCBhbiBpY29uKQorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2Nr ID0gXFtkcV1zcGVlZHRlc3RcW2RxXQoraW50ZXJ2YWwgPSAxODAwCitmb3JtYXQgPSBcW2RxXSBc W2hhXWljb25fcGluZyAkcGluZyBcW2RxXQorXGZbUl0KKy5maQorLlBQCitIaWRlIHBpbmcgYW5k IGRpc3BsYXkgc3BlZWQgaW4gYnl0ZXMgcGVyIHNlY29uZCBlYWNoIHVzaW5nIDQgY2hhcmFjdGVy cworKHdpdGhvdXQgaWNvbnMpCisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBc W2RxXXNwZWVkdGVzdFxbZHFdCitpbnRlcnZhbCA9IDE4MDAKK2Zvcm1hdCA9IFxbZHFdICRzcGVl ZF9kb3duLmVuZyh3OjQsdTpCKSAkc3BlZWRfdXAodzo0LHU6QikgXFtkcV0KK1xmW1JdCisuZmkK Ky5TUyBJY29ucyBVc2VkCisuSVAgXFtidV0gMgorXGZbVl1waW5nXGZbUl0KKy5JUCBcW2J1XSAy CitcZltWXW5ldF9kb3duXGZbUl0KKy5JUCBcW2J1XSAyCitcZltWXW5ldF91cFxmW1JdCisuU1Mg dGFza3dhcnJpb3IKKy5QUAorVGhlIG51bWJlciBvZiB0YXNrcyBmcm9tIHRoZSB0YXNrd2Fycmlv ciBsaXN0CisuUFAKK0NsaWNraW5nIHRoZSByaWdodCBtb3VzZSBidXR0b24gb24gdGhlIGljb24g Y3ljbGVzIHRoZSB2aWV3IG9mIHRoZSBibG9jawordGhyb3VnaCB0aGUgdXNlclxbY3FdcyBmaWx0 ZXJzLgorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7CitsdygxNC4wbikgbHco MjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0 CitUfQorXworVHsKK1xmW1ZdaW50ZXJ2YWxcZltSXQorVH1AVHsKK1VwZGF0ZSBpbnRlcnZhbCBp biBzZWNvbmRzCitUfUBUeworXGZbVl02MDBcZltSXSAoMTBtaW4pCitUfQorVHsKK1xmW1Zdd2Fy bmluZ190aHJlc2hvbGRcZltSXQorVH1AVHsKK1RoZSB0aHJlc2hvbGQgb2YgcGVuZGluZyAob3Ig c3RhcnRlZCkgdGFza3Mgd2hlbiB0aGUgYmxvY2sgdHVybnMgaW50byBhCit3YXJuaW5nIHN0YXRl CitUfUBUeworXGZbVl0xMFxmW1JdCitUfQorVHsKK1xmW1ZdY3JpdGljYWxfdGhyZXNob2xkXGZb Ul0KK1R9QFR7CitUaGUgdGhyZXNob2xkIG9mIHBlbmRpbmcgKG9yIHN0YXJ0ZWQpIHRhc2tzIHdo ZW4gdGhlIGJsb2NrIHR1cm5zIGludG8gYQorY3JpdGljYWwgc3RhdGUKK1R9QFR7CitcZltWXTIw XGZbUl0KK1R9CitUeworXGZbVl1maWx0ZXJzXGZbUl0KK1R9QFR7CitBIGxpc3Qgb2YgdGFibGVz IHdpdGggdGhlIGtleXMgXGZbVl1uYW1lXGZbUl0gYW5kIFxmW1ZdZmlsdGVyXGZbUl0uCitcZltW XWZpbHRlclxmW1JdIHNwZWNpZmllcyB0aGUgY3JpdGVyaWEgdGhhdCBtdXN0IGJlIG1ldCBmb3Ig YSB0YXNrIHRvCitiZSBjb3VudGVkIHRvd2FyZHMgdGhpcyBmaWx0ZXIuCitUfUBUeworXGZbVl1b e25hbWUgPSBcW2RxXXBlbmRpbmdcW2RxXSwgZmlsdGVyID0gXFtkcV0tQ09NUExFVEVEIC1ERUxF VEVEXFtkcV19XVxmW1JdCitUfQorVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0cmlu ZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZvciBh dmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gJGNvdW50LmVu Zyh3OjEpIFxbZHFdXGZbUl0KK1R9CitUeworXGZbVl1mb3JtYXRfc2luZ3VsYXJcZltSXQorVH1A VHsKK1NhbWUgYXMgXGZbVl1mb3JtYXRcZltSXSBidXQgZm9yIHdoZW4gZXhhY3RseSBvbmUgdGFz ayBpcyBwZW5kaW5nLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gJGNvdW50LmVuZyh3OjEpIFxb ZHFdXGZbUl0KK1R9CitUeworXGZbVl1mb3JtYXRfZXZlcnl0aGluZ19kb25lXGZbUl0KK1R9QFR7 CitTYW1lIGFzIFxmW1ZdZm9ybWF0XGZbUl0gYnV0IGZvciB3aGVuIGFsbCB0YXNrcyBhcmUgY29t cGxldGVkLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gJGNvdW50LmVuZyh3OjEpIFxbZHFdXGZb Ul0KK1R9CitUeworXGZbVl1kYXRhX2xvY2F0aW9uXGZbUl0KK1R9QFR7CitEaXJlY3RvcnkgaW4g d2hpY2ggdGFza3dhcnJpb3Igc3RvcmVzIGl0cyBkYXRhIGZpbGVzLgorU3VwcG9ydHMgcGF0aCBl eHBhbnNpb25zIGUuZy5cIFxmW1ZdXFt0aV1cZltSXS4KK1R9QFR7CitcZltWXVxbZHFdXFt0aV0v LnRhc2tcW2RxXVxmW1JdCitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbHcoMTMuNm4pIGx3 KDQzLjhuKSBsdyg3LjhuKSBsdyg0LjluKS4KK1R7CitQbGFjZWhvbGRlcgorVH1AVHsKK1ZhbHVl CitUfUBUeworVHlwZQorVH1AVHsKK1VuaXQKK1R9CitfCitUeworXGZbVl1pY29uXGZbUl0KK1R9 QFR7CitBIHN0YXRpYyBpY29uCitUfUBUeworSWNvbgorVH1AVHsKKy0KK1R9CitUeworXGZbVl1j b3VudFxmW1JdCitUfUBUeworVGhlIG51bWJlciBvZiB0YXNrcyBtYXRjaGluZyBjdXJyZW50IGZp bHRlcgorVH1AVHsKK051bWJlcgorVH1AVHsKKy0KK1R9CitUeworXGZbVl1maWx0ZXJfbmFtZVxm W1JdCitUfUBUeworVGhlIG5hbWUgb2YgY3VycmVudCBmaWx0ZXIKK1R9QFR7CitUZXh0CitUfUBU eworLQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2wgbC4KK1R7CitBY3Rpb24KK1R9QFR7 CitEZWZhdWx0IGJ1dHRvbgorVH0KK18KK1R7CitcZltWXW5leHRfZmlsdGVyXGZbUl0KK1R9QFR7 CitSaWdodAorVH0KKy5URQorLlNTIEV4YW1wbGUKKy5QUAorSW4gdGhpcyBleGFtcGxlLCBibG9j ayB3aWxsIGJlIGhpZGRlbiBpZiBcZltWXWNvdW50XGZbUl0gaXMgemVyby4KKy5JUAorLm5mCitc ZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFddGFza3dhcnJpb3JcW2RxXQoraW50ZXJ2YWwg PSA2MAorZm9ybWF0ID0gXFtkcV0gJGljb24gY291bnQuZW5nKHc6MSkgdGFza3MgXFtkcV0KK2Zv cm1hdF9zaW5ndWxhciA9IFxbZHFdICRpY29uIDEgdGFzayBcW2RxXQorZm9ybWF0X2V2ZXJ5dGhp bmdfZG9uZSA9IFxbZHFdXFtkcV0KK3dhcm5pbmdfdGhyZXNob2xkID0gMTAKK2NyaXRpY2FsX3Ro cmVzaG9sZCA9IDIwCitbW2Jsb2NrLmZpbHRlcnNdXQorbmFtZSA9IFxbZHFddG9kYXlcW2RxXQor ZmlsdGVyID0gXFtkcV0rUEVORElORyArT1ZFUkRVRSBvciArRFVFVE9EQVlcW2RxXQorW1tibG9j ay5maWx0ZXJzXV0KK25hbWUgPSBcW2RxXXNvbWUtcHJvamVjdFxbZHFdCitmaWx0ZXIgPSBcW2Rx XXByb2plY3Q6c29tZS1wcm9qZWN0ICtQRU5ESU5HXFtkcV0KK1xmW1JdCisuZmkKKy5TUyBJY29u cyBVc2VkCisuSVAgXFtidV0gMgorXGZbVl10YXNrc1xmW1JdCisuU1MgdGVhX3RpbWVyCisuUFAK K1RpbWVyCisuU1MgQ29uZmlndXJhdGlvbgorLlBQCisuVFMKK3RhYihAKTsKK2x3KDE0LjBuKSBs dygyOC4wbikgbHcoMjguMG4pLgorVHsKK0tleQorVH1AVHsKK1ZhbHVlcworVH1AVHsKK0RlZmF1 bHQKK1R9CitfCitUeworXGZbVl1mb3JtYXRcZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3Rv bWlzZSB0aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2suCitTZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBw bGFjZWhvbGRlcnMuCitUfUBUeworXFtycV0gJGljb24geyRtaW51dGVzOiRzZWNvbmRzIHx9XFts cV0KK1R9CitUeworXGZbVl1pbmNyZW1lbnRcZltSXQorVH1AVHsKK1RoZSBudW1iZXJzIG9mIHNl Y29uZHMgdG8gYWRkIGVhY2ggdGltZSB0aGUgYmxvY2sgaXMgY2xpY2tlZC4KK1R9QFR7CiszMAor VH0KK1R7CitcZltWXWRvbmVfY21kXGZbUl0KK1R9QFR7CitBIGNvbW1hbmQgdG8gcnVuIGluIFxm W1Zdc2hcZltSXSB3aGVuIHRpbWVyIGZpbmlzaGVzLgorVH1AVHsKK05vbmUKK1R9CisuVEUKKy5Q UAorLlRTCit0YWIoQCk7CitsdygxMS40bikgbHcoNDMuMW4pIGx3KDUuNG4pIGx3KDEwLjFuKS4K K1R7CitQbGFjZWhvbGRlcgorVH1AVHsKK1ZhbHVlCitUfUBUeworVHlwZQorVH1AVHsKK1VuaXQK K1R9CitfCitUeworXGZbVl1pY29uXGZbUl0KK1R9QFR7CitBIHN0YXRpYyBpY29uCitUfUBUewor SWNvbgorVH1AVHsKKy0KK1R9CitUeworXGZbVl1ob3Vyc1xmW1JdCitUfUBUeworVGhlIGhvdXJz IHJlbWFpbmluZyBvbiB0aGUgdGltZXIKK1R9QFR7CitUZXh0CitUfUBUeworaAorVH0KK1R7Citc ZltWXW1pbnV0ZXNcZltSXQorVH1AVHsKK1RoZSBtaW51dGVzIHJlbWFpbmluZyBvbiB0aGUgdGlt ZXIKK1R9QFR7CitUZXh0CitUfUBUeworbW4KK1R9CitUeworXGZbVl1zZWNvbmRzXGZbUl0KK1R9 QFR7CitUaGUgc2Vjb25kcyByZW1haW5pbmcgb24gdGhlIHRpbWVyCitUfUBUeworVGV4dAorVH1A VHsKK3MKK1R9CisuVEUKKy5QUAorXGZbVl1ob3Vyc1xmW1JdLCBcZltWXW1pbnV0ZXNcZltSXSwg YW5kIFxmW1Zdc2Vjb25kc1xmW1JdIGFyZSB1bnNldCB3aGVuCit0aGUgdGltZXIgaXMgaW5hY3Rp dmUuCisuUFAKKy5UUwordGFiKEApOworbCBsLgorVHsKK0FjdGlvbgorVH1AVHsKK0RlZmF1bHQg YnV0dG9uCitUfQorXworVHsKK1xmW1ZdaW5jcmVtZW50XGZbUl0KK1R9QFR7CitMZWZ0IC8gV2hl ZWwgVXAKK1R9CitUeworXGZbVl1kZWNyZW1lbnRcZltSXQorVH1AVHsKK1doZWVsIERvd24KK1R9 CitUeworXGZbVl1yZXNldFxmW1JdCitUfUBUeworUmlnaHQKK1R9CisuVEUKKy5TUyBFeGFtcGxl CisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXXRlYV90aW1lclxbZHFd Citmb3JtYXQgPSBcW2RxXSAkaWNvbiB7JG1pbnV0ZXM6JHNlY29uZHMgfH1cW2RxXQorZG9uZV9j bWQgPSBcW2RxXW5vdGlmeS1zZW5kIFxbYXFdVGltZXIgRmluaXNoZWRcW2FxXVxbZHFdCitcZltS XQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZddGVhXGZbUl0KKy5TUyB0 ZW1wZXJhdHVyZQorLlBQCitUaGUgc3lzdGVtIHRlbXBlcmF0dXJlCisuUFAKK1RoaXMgYmxvY2sg ZGlzcGxheXMgdGhlIHN5c3RlbSB0ZW1wZXJhdHVyZSwgYmFzZWQgb24KK1xmW1ZdbGlic2Vuc29y c1xmW1JdIGxpYnJhcnkuCisuUFAKK1RoaXMgYmxvY2sgaGFzIHR3byBtb2RlczogXFtscV1jb2xs YXBzZWRcW3JxXSwgd2hpY2ggdXNlcyBvbmx5IGNvbG9yIGFzCithbiBpbmRpY2F0b3IsIGFuZCBc W2xxXWV4cGFuZGVkXFtycV0sIHdoaWNoIHNob3dzIHRoZSBjb250ZW50IG9mIGEKK1xmW1ZdZm9y bWF0XGZbUl0gc3RyaW5nLgorVGhlIGF2ZXJhZ2UsIG1pbmltdW0sIGFuZCBtYXhpbXVtIHRlbXBl cmF0dXJlcyBhcmUgY29tcHV0ZWQgdXNpbmcgYWxsCitzZW5zb3JzIGRpc3BsYXllZCBieSBcZltW XXNlbnNvcnNcZltSXSwgb3Igb3B0aW9uYWxseSBmaWx0ZXJlZCBieQorXGZbVl1jaGlwXGZbUl0g YW5kIFxmW1ZdaW5wdXRzXGZbUl0uCisuUFAKK1JlcXVpcmVzIFxmW1ZdbGlic2Vuc29yc1xmW1Jd IGFuZCBhcHByb3ByaWF0ZSBrZXJuZWwgbW9kdWxlcyBmb3IgeW91cgoraGFyZHdhcmUuCisuUFAK K1J1biBcZltWXXNlbnNvcnNcZltSXSBjb21tYW5kIHRvIGxpc3QgYXZhaWxhYmxlIGNoaXBzIGFu ZCBpbnB1dHMuCisuUFAKK05vdGUgdGhhdCB0aGUgY29sb3VyIG9mIHRoZSBibG9jayBpcyBhbHdh eXMgZGV0ZXJtaW5lZCBieSB0aGUgbWF4aW11bQordGVtcGVyYXR1cmUgYWNyb3NzIGFsbCBzZW5z b3JzLCBub3QgdGhlIGF2ZXJhZ2UuCitZb3UgbWF5IG5lZWQgdG8ga2VlcCB0aGlzIGluIG1pbmQg aWYgeW91IGhhdmUgYSBtaXNiZWhhdmluZyBzZW5zb3IuCisuU1MgQ29uZmlndXJhdGlvbgorLlBQ CisuVFMKK3RhYihAKTsKK2x3KDE0LjBuKSBsdygyOC4wbikgbHcoMjguMG4pLgorVHsKK0tleQor VH1AVHsKK1ZhbHVlcworVH1AVHsKK0RlZmF1bHQKK1R9CitfCitUeworXGZbVl1mb3JtYXRcZltS XQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0IG9mIHRoaXMgYmxvY2su CitTZWUgYmVsb3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMKK1R9QFR7CitcZltWXVxbZHFd ICRpY29uICRhdmVyYWdlIGF2ZywgJG1heCBtYXggXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWZv cm1hdF9hbHRcZltSXQorVH1AVHsKK0lmIHNldCwgYmxvY2sgd2lsbCBzd2l0Y2ggYmV0d2VlbiBc ZltWXWZvcm1hdFxmW1JdIGFuZAorXGZbVl1mb3JtYXRfYWx0XGZbUl0gb24gZXZlcnkgY2xpY2sK K1R9QFR7CitcZltWXU5vbmVcZltSXQorVH0KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7 CitVcGRhdGUgaW50ZXJ2YWwgaW4gc2Vjb25kcworVH1AVHsKK1xmW1ZdNVxmW1JdCitUfQorVHsK K1xmW1Zdc2NhbGVcZltSXQorVH1AVHsKK0VpdGhlciBcZltWXVxbZHFdY2Vsc2l1c1xbZHFdXGZb Ul0gb3IgXGZbVl1cW2RxXWZhaHJlbmhlaXRcW2RxXVxmW1JdCitUfUBUeworXGZbVl1cW2RxXWNl bHNpdXNcW2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdZ29vZFxmW1JdCitUfUBUeworTWF4aW11bSB0 ZW1wZXJhdHVyZSB0byBzZXQgc3RhdGUgdG8gZ29vZAorVH1AVHsKK1xmW1ZdMjBcZltSXSBcW2Rl XUMgKFxmW1ZdNjhcZltSXSBcW2RlXUYpCitUfQorVHsKK1xmW1ZdaWRsZVxmW1JdCitUfUBUewor TWF4aW11bSB0ZW1wZXJhdHVyZSB0byBzZXQgc3RhdGUgdG8gaWRsZQorVH1AVHsKK1xmW1ZdNDVc ZltSXSBcW2RlXUMgKFxmW1ZdMTEzXGZbUl0gXFtkZV1GKQorVH0KK1R7CitcZltWXWluZm9cZltS XQorVH1AVHsKK01heGltdW0gdGVtcGVyYXR1cmUgdG8gc2V0IHN0YXRlIHRvIGluZm8KK1R9QFR7 CitcZltWXTYwXGZbUl0gXFtkZV1DIChcZltWXTE0MFxmW1JdIFxbZGVdRikKK1R9CitUeworXGZb Vl13YXJuaW5nXGZbUl0KK1R9QFR7CitNYXhpbXVtIHRlbXBlcmF0dXJlIHRvIHNldCBzdGF0ZSB0 byB3YXJuaW5nLgorQmV5b25kIHRoaXMgdGVtcGVyYXR1cmUsIHN0YXRlIGlzIHNldCB0byBjcml0 aWNhbAorVH1AVHsKK1xmW1ZdODBcZltSXSBcW2RlXUMgKFxmW1ZdMTc2XGZbUl0gXFtkZV1GKQor VH0KK1R7CitcZltWXWNoaXBcZltSXQorVH1AVHsKK05hcnJvd3MgdGhlIHJlc3VsdHMgdG8gYSBn aXZlbiBjaGlwIG5hbWUuCitcZltWXSpcZltSXSBtYXkgYmUgdXNlZCBhcyBhIHdpbGRjYXJkLgor VH1AVHsKK05vbmUKK1R9CitUeworXGZbVl1pbnB1dHNcZltSXQorVH1AVHsKK05hcnJvd3MgdGhl IHJlc3VsdHMgdG8gaW5kaXZpZHVhbCBpbnB1dHMgcmVwb3J0ZWQgYnkgZWFjaCBjaGlwLgorVH1A VHsKK05vbmUKK1R9CisuVEUKKy5QUAorLlRTCit0YWIoQCk7CitsdygxNS4xbikgbHcoNDAuN24p IGx3KDE0LjJuKS4KK1R7CitBY3Rpb24KK1R9QFR7CitEZXNjcmlwdGlvbgorVH1AVHsKK0RlZmF1 bHQgYnV0dG9uCitUfQorXworVHsKK1xmW1ZddG9nZ2xlX2Zvcm1hdFxmW1JdCitUfUBUeworVG9n Z2xlcyBiZXR3ZWVuIFxmW1ZdZm9ybWF0XGZbUl0gYW5kIFxmW1ZdZm9ybWF0X2FsdFxmW1JdCitU fUBUeworTGVmdAorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2wgbCBsIGwuCitUeworUGxh Y2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXwor VHsKK1xmW1ZdbWluXGZbUl0KK1R9QFR7CitNaW5pbXVtIHRlbXBlcmF0dXJlIGFtb25nIGFsbCBp bnB1dHMKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitEZWdyZWVzCitUfQorVHsKK1xmW1ZdYXZlcmFn ZVxmW1JdCitUfUBUeworQXZlcmFnZSB0ZW1wZXJhdHVyZSBhbW9uZyBhbGwgaW5wdXRzCitUfUBU eworTnVtYmVyCitUfUBUeworRGVncmVlcworVH0KK1R7CitcZltWXW1heFxmW1JdCitUfUBUewor TWF4aW11bSB0ZW1wZXJhdHVyZSBhbW9uZyBhbGwgaW5wdXRzCitUfUBUeworTnVtYmVyCitUfUBU eworRGVncmVlcworVH0KKy5URQorLlBQCitOb3RlIHRoYXQgd2hlbiBibG9jayBpcyBjb2xsYXBz ZWQsIG5vIHBsYWNlaG9sZGVycyBhcmUgcHJvdmlkZWQuCisuU1MgRXhhbXBsZQorLklQCisubmYK K1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV10ZW1wZXJhdHVyZVxbZHFdCitmb3JtYXQg PSBcW2RxXSAkaWNvbiAkbWF4IG1heCBcW2RxXQorZm9ybWF0X2FsdCA9IFxbZHFdICRpY29uICRt aW4gbWluLCAkbWF4IG1heCwgJGF2ZXJhZ2UgYXZnIFxbZHFdCitpbnRlcnZhbCA9IDEwCitjaGlw ID0gXFtkcV0qLWlzYS0qXFtkcV0KK1xmW1JdCisuZmkKKy5TUyBJY29ucyBVc2VkCisuSVAgXFti dV0gMgorXGZbVl10aGVybW9tZXRlclxmW1JdCisuU1MgdGltZQorLlBQCitUaGUgY3VycmVudCB0 aW1lLgorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7CitsdygyOC41bikgbHco MjAuN24pIGx3KDIwLjduKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0 CitUfQorXworVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitGb3JtYXQgc3RyaW5nLgorU2Vl IGNocm9ubworZG9jcyAoaHR0cHM6Ly9kb2NzLnJzL2Nocm9uby8wLjMuMC9jaHJvbm8vZm9ybWF0 L3N0cmZ0aW1lL2luZGV4Lmh0bWwjc3BlY2lmaWVycykKK2ZvciBhbGwgb3B0aW9ucy4KK1R9QFR7 CitcZltWXVxbZHFdICRpY29uICR0aW1lc3RhbXAuZGF0ZXRpbWUoKSBcW2RxXVxmW1JdCitUfQor VHsKK1xmW1ZdaW50ZXJ2YWxcZltSXQorVH1AVHsKK1VwZGF0ZSBpbnRlcnZhbCBpbiBzZWNvbmRz CitUfUBUeworXGZbVl0xMFxmW1JdCitUfQorVHsKK1xmW1ZddGltZXpvbmVcZltSXQorVH1AVHsK K0EgdGltZXpvbmUgc3BlY2lmaWVyIChlLmcuXCBcW2xxXUV1cm9wZS9MaXNib25cW3JxXSkKK1R9 QFR7CitMb2NhbCB0aW1lem9uZQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2x3KDEzLjJu KSBsdyg0Mi42bikgbHcoOS41bikgbHcoNC43bikuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitW YWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1Jd CitUfUBUeworQSBzdGF0aWMgaWNvbgorVH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorVHsKK1xm W1ZddGltZXN0YW1wXGZbUl0KK1R9QFR7CitUaGUgY3VycmVudCB0aW1lCitUfUBUeworRGF0ZXRp bWUKK1R9QFR7CistCitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbCBsLgorVHsKK0FjdGlv bgorVH1AVHsKK0RlZmF1bHQgYnV0dG9uCitUfQorXworVHsKK1xmW1ZdbmV4dF90aW1lem9uZVxm W1JdCitUfUBUeworTGVmdAorVH0KK1R7CitcZltWXXByZXZfdGltZXpvbmVcZltSXQorVH1AVHsK K1JpZ2h0CitUfQorLlRFCisuU1MgRXhhbXBsZQorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0K K2Jsb2NrID0gXFtkcV10aW1lXFtkcV0KK2ludGVydmFsID0gNjAKK1tibG9jay5mb3JtYXRdCitm dWxsID0gXFtkcV0gJGljb24gJHRpbWVzdGFtcC5kYXRldGltZShmOlxbYXFdJWEgJVktJW0tJWQg JVIgJVpcW2FxXSwgbDpmcl9CRSkgXFtkcV0KK3Nob3J0ID0gXFtkcV0gJGljb24gJHRpbWVzdGFt cC5kYXRldGltZShmOiVSKSBcW2RxXQorXGZbUl0KKy5maQorLlNTIEljb25zIFVzZWQKKy5JUCBc W2J1XSAyCitcZltWXXRpbWVcZltSXQorLlNTIHRvZ2dsZQorLlBQCitBIFRvZ2dsZSBibG9jawor LlBQCitZb3UgY2FuIGFkZCBjb21tYW5kcyB0byBiZSBleGVjdXRlZCB0byBkaXNhYmxlIHRoZSB0 b2dnbGUKKyhcZltWXWNvbW1hbmRfb2ZmXGZbUl0pLCBhbmQgdG8gZW5hYmxlIGl0IChcZltWXWNv bW1hbmRfb25cZltSXSkuCitJZiB0aGVzZSBjb21tYW5kIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0 YXR1cywgdGhlIGJsb2NrIHdpbGwgbm90IGJlCit0b2dnbGVkIGFuZCB0aGUgYmxvY2sgc3RhdGUg d2lsbCBiZSBjaGFuZ2VkIHRvIGdpdmUgYSB2aXN1YWwgd2FybmluZyBvZgordGhlIGZhaWx1cmUu CitZb3UgYWxzbyBuZWVkIHRvIHNwZWNpZnkgYSBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgc3Rh dGUgb2YgdGhlIHRvZ2dsZQorKFxmW1ZdY29tbWFuZF9zdGF0ZVxmW1JdKS4KK1doZW4gdGhlIGNv bW1hbmQgb3V0cHV0cyBub3RoaW5nLCB0aGUgdG9nZ2xlIGlzIGRpc2FibGVkLCBvdGhlcndpc2UK K2VuYWJsZWQuCitCeSBzcGVjaWZ5aW5nIHRoZSBpbnRlcnZhbCBwcm9wZXJ0eSB5b3UgY2FuIGxl dCB0aGUgY29tbWFuZF9zdGF0ZSBiZQorZXhlY3V0ZWQgY29udGludW91c2x5LgorLlBQCitUbyBy dW4gdGhvc2UgY29tbWFuZHMsIHRoZSBzaGVsbCBmb3JtIFxmW1ZdJFNIRUxMXGZbUl0gZW52aXJv bm1lbnQKK3ZhcmlhYmxlIGlzIHVzZWQuCitJZiBzdWNoIHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50 ZWQsIFxmW1Zdc2hcZltSXSBpcyB1c2VkLgorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0 YWIoQCk7CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitW YWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7 CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJl bG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzCitUfUBUeworXGZbVl1cW2RxXSAkaWNvbiBc W2RxXVxmW1JdCitUfQorVHsKK1xmW1ZdY29tbWFuZF9vblxmW1JdCitUfUBUeworU2hlbGwgY29t bWFuZCB0byBlbmFibGUgdGhlIHRvZ2dsZQorVH1AVHsKK1llcworVH0KK1R7CitcZltWXWNvbW1h bmRfb2ZmXGZbUl0KK1R9QFR7CitTaGVsbCBjb21tYW5kIHRvIGRpc2FibGUgdGhlIHRvZ2dsZQor VH1AVHsKK1llcworVH0KK1R7CitcZltWXWNvbW1hbmRfc3RhdGVcZltSXQorVH1AVHsKK1NoZWxs IGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSBzdGF0ZS4KK0VtcHR5IG91dHB1dCA9PiBObywgb3Ro ZXJ3aXNlID0+IFllcy4KK1R9QFR7CitcZltCXVJlcXVpcmVkXGZbUl0KK1R9CitUeworXGZbVl1p Y29uX29uXGZbUl0KK1R9QFR7CitJY29uIG92ZXJyaWRlIGZvciB0aGUgdG9nZ2xlIGJ1dHRvbiB3 aGlsZSBvbgorVH1AVHsKK1xmW1ZdXFtkcV10b2dnbGVfb25cW2RxXVxmW1JdCitUfQorVHsKK1xm W1ZdaWNvbl9vZmZcZltSXQorVH1AVHsKK0ljb24gb3ZlcnJpZGUgZm9yIHRoZSB0b2dnbGUgYnV0 dG9uIHdoaWxlIG9mZgorVH1AVHsKK1xmW1ZdXFtkcV10b2dnbGVfb2ZmXFtkcV1cZltSXQorVH0K K1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwgaW4gc2Vjb25k cy4KK0lmIG5vdCBzZXQsIFxmW1ZdY29tbWFuZF9zdGF0ZVxmW1JdIHdpbGwgcnVuIG9ubHkgb24g Y2xpY2suCitUfUBUeworTm9uZQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2x3KDEzLjZu KSBsdyg0My44bikgbHcoNy44bikgbHcoNC45bikuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitW YWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1Jd CitUfUBUeworSWNvbiBiYXNlZCBvbiB0b2dnbGVcW2NxXXMgc3RhdGUKK1R9QFR7CitJY29uCitU fUBUeworLQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2wgbC4KK1R7CitBY3Rpb24KK1R9 QFR7CitEZWZhdWx0IGJ1dHRvbgorVH0KK18KK1R7CitcZltWXXRvZ2dsZVxmW1JdCitUfUBUewor TGVmdAorVH0KKy5URQorLlNTIEV4YW1wbGVzCisuUFAKK1RoaXMgaXMgd2hhdCBjYW4gYmUgdXNl ZCB0byB0b2dnbGUgYW4gZXh0ZXJuYWwgbW9uaXRvciBjb25maWd1cmF0aW9uOgorLklQCisubmYK K1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV10b2dnbGVcW2RxXQorZm9ybWF0ID0gXFtk cV0gJGljb24gNGsgXFtkcV0KK2NvbW1hbmRfc3RhdGUgPSBcW2RxXXhyYW5kciB8IGdyZXAgXFth cV1EUDEgY29ubmVjdGVkIDM4XFthcV0gfCBncmVwIC12IGVEUDFcW2RxXQorY29tbWFuZF9vbiA9 IFxbZHFdXFt0aV0vLnNjcmVlbmxheW91dC80a21vbl9kZWZhdWx0LnNoXFtkcV0KK2NvbW1hbmRf b2ZmID0gXFtkcV1cW3RpXS8uc2NyZWVubGF5b3V0L2J1aWx0aW4uc2hcW2RxXQoraW50ZXJ2YWwg PSA1CitcZltSXQorLmZpCisuU1MgSWNvbnMgVXNlZAorLklQIFxbYnVdIDIKK1xmW1ZddG9nZ2xl X29mZlxmW1JdCisuSVAgXFtidV0gMgorXGZbVl10b2dnbGVfb25cZltSXQorLlNTIHVwdGltZQor LlBQCitTeXN0ZW1cW2NxXXMgdXB0aW1lCisuUFAKK1RoaXMgYmxvY2sgZGlzcGxheXMgc3lzdGVt IHVwdGltZSBpbiB0ZXJtcyBvZiB0d28gYmlnZ2VzdCB1bml0cywgc28KK21pbnV0ZXMgYW5kIHNl Y29uZHMsIG9yIGhvdXJzIGFuZCBtaW51dGVzIG9yIGRheXMgYW5kIGhvdXJzIG9yIHdlZWtzIGFu ZAorZGF5cy4KKy5TUyBDb25maWd1cmF0aW9uCisuUFAKKy5UUwordGFiKEApOworbHcoMTYuNG4p IGx3KDQxLjduKSBsdygxMS45bikuCitUeworS2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVm YXVsdAorVH0KK18KK1R7CitcZltWXWZvcm1hdFxmW1JdCitUfUBUeworQSBzdHJpbmcgdG8gY3Vz dG9taXNlIHRoZSBvdXRwdXQgb2YgdGhpcyBibG9jay4KK1NlZSBiZWxvdyBmb3IgYXZhaWxhYmxl IHBsYWNlaG9sZGVycworVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gJHRleHQgXFtkcV1cZltSXQor VH0KK1R7CitcZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwgaW4gc2Vj b25kcworVH1AVHsKK1xmW1ZdNjBcZltSXQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2wg bCBsIGwuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7 CitVbml0CitUfQorXworVHsKK1xmW1ZdaWNvblxmW1JdCitUfUBUeworQSBzdGF0aWMgaWNvbgor VH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorVHsKK1xmW1ZddGV4dFxmW1JdCitUfUBUeworQ3Vy cmVudCB1cHRpbWUKK1R9QFR7CitUZXh0CitUfUBUeworLQorVH0KKy5URQorLlNTIEV4YW1wbGUK Ky5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFddXB0aW1lXFtkcV0KK2lu dGVydmFsID0gMzYwMCAjIHVwZGF0ZSBldmVyeSBob3VyCitcZltSXQorLmZpCisuU1MgVXNlZCBJ Y29ucworLklQIFxbYnVdIDIKK1xmW1ZddXB0aW1lXGZbUl0KKy5TUyBUT0RPOgorLklQIFxbYnVd IDIKK0FkZCBcZltWXXRpbWVcZltSXSBvciBcZltWXWR1clxmW1JdIGZvcm1hdHRlciB0bworXGZb Vl1zcmMvZm9ybWF0dGluZy9mb3JtYXR0ZXIucnNcZltSXQorLlNTIHZwbgorLlBQCitTaG93cyB0 aGUgY3VycmVudCBjb25uZWN0aW9uIHN0YXR1cyBmb3IgVlBOIG5ldHdvcmtzCisuUFAKK1RoaXMg d2lkZ2V0IHRvZ2dsZXMgdGhlIGNvbm5lY3Rpb24gb24gbGVmdCBjbGljay4KKy5TUyBDb25maWd1 cmF0aW9uCisuUFAKKy5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbiku CitUeworS2V5CitUfUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltW XWRyaXZlclxmW1JdCitUfUBUeworV2hpY2ggdnBuIHNob3VsZCBiZSB1c2VkIC4KK0F2YWlsYWJs ZSBkcml2ZXJzIGFyZTogXGZbVl1cW2RxXW5vcmR2cG5cW2RxXVxmW1JdIGFuZAorXGZbVl1cW2Rx XW11bGx2YWRcW2RxXVxmW1JdCitUfUBUeworXGZbVl1cW2RxXW5vcmR2cG5cW2RxXVxmW1JdCitU fQorVHsKK1xmW1ZdaW50ZXJ2YWxcZltSXQorVH1AVHsKK1VwZGF0ZSBpbnRlcnZhbCBpbiBzZWNv bmRzLgorVH1AVHsKK1xmW1ZdMTBcZltSXQorVH0KK1R7CitcZltWXWZvcm1hdF9jb25uZWN0ZWRc ZltSXQorVH1AVHsKK0Egc3RyaW5nIHRvIGN1c3RvbWlzZSB0aGUgb3V0cHV0IGluIGNhc2UgdGhl IG5ldHdvcmsgaXMgY29ubmVjdGVkLgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xk ZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gVlBOOiAkaWNvbiBcW2RxXVxmW1JdCitUfQorVHsKK1xm W1ZdZm9ybWF0X2Rpc2Nvbm5lY3RlZFxmW1JdCitUfUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNl IHRoZSBvdXRwdXQgaW4gY2FzZSB0aGUgbmV0d29yayBpcyBkaXNjb25uZWN0ZWQuCitTZWUgYmVs b3cgZm9yIGF2YWlsYWJsZSBwbGFjZWhvbGRlcnMuCitUfUBUeworXGZbVl1cW2RxXSBWUE46ICRp Y29uIFxbZHFdXGZbUl0KK1R9CitUeworXGZbVl1zdGF0ZV9jb25uZWN0ZWRcZltSXQorVH1AVHsK K1RoZSB3aWRnZXRzIHN0YXRlIGlmIHRoZSB2cG4gbmV0d29yayBpcyBjb25uZWN0ZWQuCitUfUBU eworXGZbVl1pbmZvXGZbUl0KK1R9CitUeworXGZbVl1zdGF0ZV9kaXNjb25uZWN0ZWRcZltSXQor VH1AVHsKK1RoZSB3aWRnZXRzIHN0YXRlIGlmIHRoZSB2cG4gbmV0d29yayBpcyBkaXNjb25uZWN0 ZWQKK1R9QFR7CitcZltWXWlkbGVcZltSXQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2x3 KDkuOW4pIGx3KDQ4LjZuKSBsdyg2LjZuKSBsdyg0LjluKS4KK1R7CitQbGFjZWhvbGRlcgorVH1A VHsKK1ZhbHVlCitUfUBUeworVHlwZQorVH1AVHsKK1VuaXQKK1R9CitfCitUeworXGZbVl1pY29u XGZbUl0KK1R9QFR7CitBIHN0YXRpYyBpY29uCitUfUBUeworSWNvbgorVH1AVHsKKy0KK1R9CitU eworXGZbVl1jb3VudHJ5XGZbUl0KK1R9QFR7CitDb3VudHJ5IGN1cnJlbnRseSBjb25uZWN0ZWQg dG8KK1R9QFR7CitUZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXWZsYWdcZltSXQorVH1AVHsK K0NvdW50cnkgc3BlY2lmaWMgZmxhZyAoZGVwZW5kcyBvbiBhIGZvbnQgc3VwcG9ydGluZyB0aGVt KQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbCBs IGwuCitUeworQWN0aW9uCitUfUBUeworRGVmYXVsdCBidXR0b24KK1R9QFR7CitEZXNjcmlwdGlv bgorVH0KK18KK1R7CitcZltWXXRvZ2dsZVxmW1JdCitUfUBUeworTGVmdAorVH1AVHsKK3RvZ2ds ZXMgdGhlIHZwbiBuZXR3b3JrIGNvbm5lY3Rpb24KK1R9CisuVEUKKy5TUyBEcml2ZXJzCisuU1Mg bm9yZHZwbgorLlBQCitCZWhpbmQgdGhlIHNjZW5lcyB0aGUgbm9yZHZwbiBkcml2ZXIgdXNlcyB0 aGUgXGZbVl1ub3JkdnBuXGZbUl0gY29tbWFuZAorbGluZSBiaW5hcnkuCitJbiBvcmRlciBmb3Ig dGhpcyB0byB3b3JrIHByb3Blcmx5IHRoZSBiaW5hcnkgc2hvdWxkIGJlIGV4ZWN1dGFibGUKK3dp dGhvdXQgcm9vdCBwcml2aWxlZ2VzLgorLlNTIE11bGx2YWQKKy5QUAorQmVoaW5kIHRoZSBzY2Vu ZXMgdGhlIG11bGx2YWQgZHJpdmVyIHVzZXMgdGhlIFxmW1ZdbXVsbHZhZFxmW1JdIGNvbW1hbmQK K2xpbmUgYmluYXJ5LgorSW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseSB0aGUgYmlu YXJ5IHNob3VsZCBiZSBleGVjdXRhYmxlIGFuZAorbXVsbHZhZCBkYWVtb24gc2hvdWxkIGJlIHJ1 bm5pbmcuCisuU1MgRXhhbXBsZQorLlBQCitTaG93cyB0aGUgY3VycmVudCB2cG4gbmV0d29yayBz dGF0ZToKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFddnBuXFtkcV0K K2RyaXZlciA9IFxbZHFdbm9yZHZwblxbZHFdCitpbnRlcnZhbCA9IDEwCitmb3JtYXRfY29ubmVj dGVkID0gXFtkcV1WUE46ICRpY29uIFxbZHFdCitmb3JtYXRfZGlzY29ubmVjdGVkID0gXFtkcV1W UE46ICRpY29uIFxbZHFdCitzdGF0ZV9jb25uZWN0ZWQgPSBcW2RxXWdvb2RcW2RxXQorc3RhdGVf ZGlzY29ubmVjdGVkID0gXFtkcV13YXJuaW5nXFtkcV0KK1xmW1JdCisuZmkKKy5QUAorUG9zc2li bGUgdmFsdWVzIGZvciBcZltWXXN0YXRlX2Nvbm5lY3RlZFxmW1JdIGFuZAorXGZbVl1zdGF0ZV9k aXNjb25uZWN0ZWRcZltSXToKKy5JUAorLm5mCitcZltDXQord2FybmluZworY3JpdGljYWwKK2dv b2QKK2luZm8KK2lkbGUKK1xmW1JdCisuZmkKKy5TUyBJY29ucyBVc2VkCisuSVAgXFtidV0gMgor XGZbVl1uZXRfdnBuXGZbUl0KKy5JUCBcW2J1XSAyCitcZltWXW5ldF93aXJlZFxmW1JdCisuSVAg XFtidV0gMgorXGZbVl1uZXRfZG93blxmW1JdCisuSVAgXFtidV0gMgorY291bnRyeSBjb2RlIGZs YWdzIChpZiBzdXBwb3J0ZWQgYnkgZm9udCkKKy5QUAorRmxhZ3M6IFRoZXkgYXJlIG5vdCBpY29u cyBidXQgdW5pY29kZSBnbHlwaHMuCitZb3Ugd2lsbCBuZWVkIGEgZm9udCB0aGF0IGluY2x1ZGVz IHRoZW0uCitUZXN0ZWQgd2l0aDogPGh0dHBzOi8vd3d3LmJhYmVsc3RvbmUuY28udWsvRm9udHMv RmxhZ3MuaHRtbD4KKy5TUyB3YXRzb24KKy5QUAorV2F0c29uIHN0YXRpc3RpY3MKKy5QUAorV2F0 c29uIChodHRwOi8vdGFpbG9yZGV2LmdpdGh1Yi5pby9XYXRzb24vKSBpcyBhIHNpbXBsZSBDTEkg dGltZQordHJhY2tpbmcgYXBwbGljYXRpb24uCitUaGlzIGJsb2NrIHdpbGwgc2hvdyB0aGUgbmFt ZSBvZiB5b3VyIGN1cnJlbnQgYWN0aXZlIHByb2plY3QsIHRhZ3MgYW5kCitvcHRpb25hbGx5IHJl Y29yZGVkIHRpbWUuCitDbGlja2luZyB0aGUgd2lkZ2V0IHdpbGwgdG9nZ2xlIHRoZSBcZltWXXNo b3dfdGltZVxmW1JdIHZhcmlhYmxlCitkeW5hbWljYWxseS4KKy5TUyBDb25maWd1cmF0aW9uCisu UFAKKy5UUwordGFiKEApOworbHcoMTQuMG4pIGx3KDI4LjBuKSBsdygyOC4wbikuCitUeworS2V5 CitUfUBUeworVmFsdWVzCitUfUBUeworRGVmYXVsdAorVH0KK18KK1R7CitcZltWXWZvcm1hdFxm W1JdCitUfUBUeworQSBzdHJpbmcgdG8gY3VzdG9taXNlIHRoZSBvdXRwdXQgb2YgdGhpcyBibG9j ay4KK1NlZSBiZWxvdyBmb3IgYXZhaWxhYmxlIHBsYWNlaG9sZGVycworVH1AVHsKK1xmW1ZdXFtk cV0gJHRleHQgfFxbZHFdXGZbUl0KK1R9CitUeworXGZbVl1zaG93X3RpbWVcZltSXQorVH1AVHsK K1doZXRoZXIgdG8gc2hvdyByZWNvcmRlZCB0aW1lLgorVH1AVHsKK1xmW1ZdZmFsc2VcZltSXQor VH0KK1R7CitcZltWXXN0YXRlX3BhdGhcZltSXQorVH1AVHsKK1BhdGggdG8gdGhlIFdhdHNvbiBz dGF0ZSBmaWxlLgorU3VwcG9ydHMgcGF0aCBleHBhbnNpb25zIGUuZy5cIFxmW1ZdXFt0aV1cZltS XS4KK1R9QFR7CitcZltWXSRYREdfQ09ORklHX0hPTUUvd2F0c29uL3N0YXRlXGZbUl0KK1R9CitU eworXGZbVl1pbnRlcnZhbFxmW1JdCitUfUBUeworVXBkYXRlIGludGVydmFsLCBpbiBzZWNvbmRz LgorVH1AVHsKK1xmW1ZdNjBcZltSXQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2wgbCBs IGwuCitUeworUGxhY2Vob2xkZXIKK1R9QFR7CitWYWx1ZQorVH1AVHsKK1R5cGUKK1R9QFR7CitV bml0CitUfQorXworVHsKK1xmW1ZddGV4dFxmW1JdCitUfUBUeworQ3VycmVudCBhY3Rpdml0eQor VH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorLlRFCisuUFAKKy5UUwordGFiKEApOworbCBsIGwu CitUeworQWN0aW9uCitUfUBUeworRGVzY3JpcHRpb24KK1R9QFR7CitEZWZhdWx0IGJ1dHRvbgor VH0KK18KK1R7CitcZltWXXRvZ2dsZV9zaG93X3RpbWVcZltSXQorVH1AVHsKK1RvZ2dsZSB0aGUg dmFsdWUgb2YgXGZbVl1zaG93X3RpbWVcZltSXQorVH1AVHsKK0xlZnQKK1R9CisuVEUKKy5TUyBF eGFtcGxlCisuSVAKKy5uZgorXGZbQ10KK1tbYmxvY2tdXQorYmxvY2sgPSBcW2RxXXdhdHNvblxb ZHFdCitzaG93X3RpbWUgPSB0cnVlCitzdGF0ZV9wYXRoID0gXFtkcV1cW3RpXS8uY29uZmlnL3dh dHNvbi9zdGF0ZVxbZHFdCitcZltSXQorLmZpCisuU1MgVE9ETworLklQIFxbYnVdIDIKK0V4dGVu ZCBmdW5jdGlvbmFsaXR5OiBzdGFydCAvIHN0b3Agd2F0c29uIHVzaW5nIHRoaXMgYmxvY2sKKy5T UyB3ZWF0aGVyCisuUFAKK0N1cnJlbnQgd2VhdGhlcgorLlBQCitUaGlzIGJsb2NrIGRpc3BsYXlz IGxvY2FsIHdlYXRoZXIgYW5kIHRlbXBlcmF0dXJlIGluZm9ybWF0aW9uLgorSW4gb3JkZXIgdG8g dXNlIHRoaXMgYmxvY2ssIHlvdSB3aWxsIG5lZWQgYWNjZXNzIHRvIGEgc3VwcG9ydGVkIHdlYXRo ZXIKK0FQSSBzZXJ2aWNlLgorQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgT3BlbldlYXRoZXJNYXAg YW5kIG1ldC5ubyBhcmUgc3VwcG9ydGVkLgorLlBQCitDb25maWd1cmluZyB0aGlzIGJsb2NrIHJl cXVpcmVzIGNvbmZpZ3VyaW5nIGEgd2VhdGhlciBzZXJ2aWNlLCB3aGljaCBtYXkKK3JlcXVpcmUg QVBJIGtleXMgYW5kIG90aGVyIHBhcmFtZXRlcnMuCisuUFAKK0lmIHVzaW5nIHRoZSBcZltWXWF1 dG9sb2NhdGVcZltSXSBmZWF0dXJlLCBzZXQgdGhlIGF1dG9sb2NhdGUgdXBkYXRlCitpbnRlcnZh bCBzdWNoIHRoYXQgeW91IGRvIG5vdCBleGNlZWQgaXBhcGkuY29cW2NxXXMgZnJlZSBkYWlseSBs aW1pdCBvZgorMTAwMCBoaXRzLgorT3IgdXNlIFxmW1ZdYXV0b2xvY2F0ZV9pbnRlcnZhbCA9IFxb ZHFdb25jZVxbZHFdXGZbUl0gdG8gb25seSBydW4gb24KK2luaXRpYWxpemF0aW9uLgorLlNTIENv bmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4 LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsK K1xmW1Zdc2VydmljZVxmW1JdCitUfUBUeworVGhlIGNvbmZpZ3VyYXRpb24gb2YgYSB3ZWF0aGVy IHNlcnZpY2UgKHNlZSBiZWxvdykuCitUfUBUeworXGZbQl1SZXF1aXJlZFxmW1JdCitUfQorVHsK K1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1 dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZvciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgor VGV4dCBtYXkgbmVlZCB0byBiZSBlc2NhcGVkLCByZWZlciB0byBFc2NhcGluZyBUZXh0LgorVH1A VHsKK1xmW1ZdXFtkcV0gJGljb24gJHdlYXRoZXIgJHRlbXAgXFtkcV1cZltSXQorVH0KK1R7Citc ZltWXWludGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwsIGluIHNlY29uZHMuCitU fUBUeworXGZbVl02MDBcZltSXQorVH0KK1R7CitcZltWXWF1dG9sb2NhdGVcZltSXQorVH1AVHsK K0dldHMgeW91ciBsb2NhdGlvbiB1c2luZyB0aGUgaXBhcGkuY28gSVAgbG9jYXRpb24gc2Vydmlj ZSAobm8gQVBJIGtleQorcmVxdWlyZWQpLgorSWYgdGhlIEFQSSBjYWxsIGZhaWxzIHRoZW4gdGhl IGJsb2NrIHdpbGwgZmFsbGJhY2sgdG8gXGZbVl1jaXR5X2lkXGZbUl0KK29yIFxmW1ZdcGxhY2Vc ZltSXS4KK1R9QFR7CitcZltWXWZhbHNlXGZbUl0KK1R9CitUeworXGZbVl1hdXRvbG9jYXRlX2lu dGVydmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwgZm9yIFxmW1ZdYXV0b2xvY2F0ZVxm W1JdIGluIHNlY29uZHMgb3IgXFtscV1vbmNlXFtycV0KK1R9QFR7CitcZltWXWludGVydmFsXGZb Ul0KK1R9CisuVEUKKy5TUyBPcGVuV2VhdGhlck1hcCBPcHRpb25zCisuUFAKK1RvIHVzZSB0aGUg c2VydmljZSB5b3Ugd2lsbCBuZWVkIGEgKGZyZWUpIEFQSSBrZXkuCisuUFAKKy5UUwordGFiKEAp OworbHcoOS4zbikgbHcoMTguN24pIGx3KDIzLjNuKSBsdygxOC43bikuCitUeworS2V5CitUfUBU eworVmFsdWVzCitUfUBUeworUmVxdWlyZWQKK1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xm W1ZdbmFtZVxmW1JdCitUfUBUeworXGZbVl1vcGVud2VhdGhlcm1hcFxmW1JdLgorVH1AVHsKK1ll cworVH1AVHsKK05vbmUKK1R9CitUeworXGZbVl1hcGlfa2V5XGZbUl0KK1R9QFR7CitZb3VyIE9w ZW5XZWF0aGVyTWFwIEFQSSBrZXkuCitUfUBUeworWWVzCitUfUBUeworTm9uZQorVH0KK1R7Citc ZltWXWNpdHlfaWRcZltSXQorVH1AVHsKK09wZW5XZWF0aGVyTWFwXFtjcV1zIElEIGZvciB0aGUg Y2l0eS4KK1R9QFR7CitZZXMqCitUfUBUeworTm9uZQorVH0KK1R7CitcZltWXXBsYWNlXGZbUl0K K1R9QFR7CitPcGVuV2VhdGhlck1hcCBgQnkgY2l0eSBuYW1lJyBzZWFyY2ggcXVlcnkuCitTZWUg aGVyZSAoaHR0cHM6Ly9vcGVud2VhdGhlcm1hcC5vcmcvY3VycmVudCkKK1R9QFR7CitZZXMqCitU fUBUeworTm9uZQorVH0KK1R7CitcZltWXWNvb3JkaW5hdGVzXGZbUl0KK1R9QFR7CitHUFMgbGF0 aXR1ZGUgbG9uZ2l0dWRlIGNvb3JkaW5hdGVzIGFzIGEgdHVwbGUsIGV4YW1wbGU6CitcZltWXVtc W2RxXTM5LjIzNjJcW2RxXSxcW2RxXTkuMzMxN1xbZHFdXVxmW1JdCitUfUBUeworWWVzKgorVH1A VHsKK05vbmUKK1R9CitUeworXGZbVl11bml0c1xmW1JdCitUfUBUeworRWl0aGVyIFxmW1ZdXFtk cV1tZXRyaWNcW2RxXVxmW1JdIG9yIFxmW1ZdXFtkcV1pbXBlcmlhbFxbZHFdXGZbUl0uCitUfUBU eworTm8KK1R9QFR7CitcZltWXVxbZHFdbWV0cmljXFtkcV1cZltSXQorVH0KK1R7CitcZltWXWxh bmdcZltSXQorVH1AVHsKK0xhbmd1YWdlIGNvZGUuCitTZWUgaGVyZSAoaHR0cHM6Ly9vcGVud2Vh dGhlcm1hcC5vcmcvY3VycmVudCNtdWx0aSkuCitDdXJyZW50bHkgb25seSBhZmZlY3RzIFxmW1Zd d2VhdGhlcl92ZXJib3NlXGZbUl0ga2V5LgorVH1AVHsKK05vCitUfUBUeworXGZbVl1cW2RxXWVu XFtkcV1cZltSXQorVH0KKy5URQorLlBQCitPbmUgb2YgXGZbVl1jaXR5X2lkXGZbUl0sIFxmW1Zd cGxhY2VcZltSXSBvciBcZltWXWNvb3JkaW5hdGVzXGZbUl0gaXMKK3JlcXVpcmVkLgorSWYgbW9y ZSB0aGFuIG9uZSBhcmUgc3VwcGxpZWQsIFxmW1ZdY2l0eV9pZFxmW1JdIHRha2VzIHByZWNlZGVu Y2Ugb3ZlcgorXGZbVl1wbGFjZVxmW1JdIHdoaWNoIHRha2VzIHBsYWNlIG92ZXIgXGZbVl1jb29y ZGluYXRlc1xmW1JdLgorLlBQCitUaGUgb3B0aW9ucyBcZltWXWFwaV9rZXlcZltSXSwgXGZbVl1j aXR5X2lkXGZbUl0sIFxmW1ZdcGxhY2VcZltSXSBjYW4gYmUKK29taXR0ZWQgZnJvbSBjb25maWd1 cmF0aW9uLCBpbiB3aGljaCBjYXNlIHRoZXkgbXVzdCBiZSBwcm92aWRlZCBpbiB0aGUKK2Vudmly b25tZW50IHZhcmlhYmxlcyBcZltWXU9QRU5XRUFUSEVSTUFQX0FQSV9LRVlcZltSXSwKK1xmW1Zd T1BFTldFQVRIRVJNQVBfQ0lUWV9JRFxmW1JdLCBcZltWXU9QRU5XRUFUSEVSTUFQX1BMQUNFXGZb Ul0uCisuU1MgbWV0Lm5vIE9wdGlvbnMKKy5QUAorLlRTCit0YWIoQCk7Citsdyg5LjNuKSBsdygx OC43bikgbHcoMjMuM24pIGx3KDE4LjduKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMKK1R9QFR7 CitSZXF1aXJlZAorVH1AVHsKK0RlZmF1bHQKK1R9CitfCitUeworXGZbVl1uYW1lXGZbUl0KK1R9 QFR7CitcZltWXW1ldG5vXGZbUl0uCitUfUBUeworWWVzCitUfUBUeworTm9uZQorVH0KK1R7Citc ZltWXWNvb3JkaW5hdGVzXGZbUl0KK1R9QFR7CitHUFMgbGF0aXR1ZGUgbG9uZ2l0dWRlIGNvb3Jk aW5hdGVzIGFzIGEgdHVwbGUsIGV4YW1wbGU6CitcZltWXVtcW2RxXTM5LjIzNjJcW2RxXSxcW2Rx XTkuMzMxN1xbZHFdXVxmW1JdCitUfUBUeworUmVxdWlyZWQgaWYgXGZbVl1hdXRvbG9jYXRlID0g ZmFsc2VcZltSXQorVH1AVHsKK05vbmUKK1R9CitUeworXGZbVl1sYW5nXGZbUl0KK1R9QFR7CitM YW5ndWFnZSBjb2RlOiBcZltWXWVuXGZbUl0sIFxmW1Zdbm5cZltSXSBvciBcZltWXW5iXGZbUl0K K1R9QFR7CitObworVH1AVHsKK1xmW1ZdZW5cZltSXQorVH0KK1R7CitcZltWXWFsdGl0dWRlXGZb Ul0KK1R9QFR7CitNZXRlcnMgYWJvdmUgc2VhIGxldmVsIG9mIHRoZSBncm91bmQKK1R9QFR7CitO bworVH1AVHsKK0FwcHJveGltYXRlZCBieSBzZXJ2ZXIKK1R9CisuVEUKKy5QUAorTWV0Lm5vIGRv ZXMgbm90IHN1cHBvcnQgbG9jYXRpb24gbmFtZS4KKy5TUyBBdmFpbGFibGUgRm9ybWF0IEtleXMK Ky5QUAorLlRTCit0YWIoQCk7CitsdygxMi43bikgbHcoNDguMW4pIGx3KDUuN24pIGx3KDMuNW4p LgorVHsKK0tleQorVH1AVHsKK1ZhbHVlCitUfUBUeworVHlwZQorVH1AVHsKK1VuaXQKK1R9Citf CitUeworXGZbVl1pY29uXGZbUl0KK1R9QFR7CitJY29uIHJlcHJlc2VudGluZyB0aGUgd2VhdGhl cgorVH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorVHsKK1xmW1ZdbG9jYXRpb25cZltSXQorVH1A VHsKK0xvY2F0aW9uIG5hbWUgKGV4YWN0IGZvcm1hdCBkZXBlbmRzIG9uIHRoZSBzZXJ2aWNlKQor VH1AVHsKK1RleHQKK1R9QFR7CistCitUfQorVHsKK1xmW1ZddGVtcFxmW1JdCitUfUBUeworVGVt cGVyYXR1cmUKK1R9QFR7CitOdW1iZXIKK1R9QFR7CitkZWdyZWVzCitUfQorVHsKK1xmW1ZdYXBw YXJlbnRcZltSXQorVH1AVHsKK0F1c3RyYWxpYW4gQXBwYXJlbnQgVGVtcGVyYXR1cmUKK1R9QFR7 CitOdW1iZXIKK1R9QFR7CitkZWdyZWVzCitUfQorVHsKK1xmW1ZdaHVtaWRpdHlcZltSXQorVH1A VHsKK0h1bWlkaXR5CitUfUBUeworTnVtYmVyCitUfUBUeworJQorVH0KK1R7CitcZltWXXdlYXRo ZXJcZltSXQorVH1AVHsKK1RleHR1YWwgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIHdlYXRoZXIs IGUuZy5cIFxbbHFdUmFpbmluZ1xbcnFdCitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9CitUewor XGZbVl13ZWF0aGVyX3ZlcmJvc2VcZltSXQorVH1AVHsKK1RleHR1YWwgdmVyYm9zZSBkZXNjcmlw dGlvbiBvZiB0aGUgd2VhdGhlciwgZS5nLlwgXFtscV1vdmVyY2FzdAorY2xvdWRzXFtycV0KK1R9 QFR7CitUZXh0CitUfUBUeworLQorVH0KK1R7CitcZltWXXdpbmRcZltSXQorVH1AVHsKK1dpbmQg c3BlZWQKK1R9QFR7CitOdW1iZXIKK1R9QFR7CistCitUfQorVHsKK1xmW1Zdd2luZF9rbWhcZltS XQorVH1AVHsKK1dpbmQgc3BlZWQuCitUaGUgd2luZCBzcGVlZCBpbiBrbS9oCitUfUBUeworTnVt YmVyCitUfUBUeworLQorVH0KK1R7CitcZltWXWRpcmVjdGlvblxmW1JdCitUfUBUeworV2luZCBk aXJlY3Rpb24sIGUuZy5cIFxbbHFdTkVcW3JxXQorVH1AVHsKK1RleHQKK1R9QFR7CistCitUfQor LlRFCisuU1MgRXhhbXBsZQorLlBQCitTaG93IGRldGFpbGVkIHdlYXRoZXIgaW4gU2FuIEZyYW5j aXNjbyB0aHJvdWdoIHRoZSBPcGVuV2VhdGhlck1hcAorc2VydmljZToKKy5JUAorLm5mCitcZltD XQorW1tibG9ja11dCitibG9jayA9IFxbZHFdd2VhdGhlclxbZHFdCitmb3JtYXQgPSBcW2RxXSAk aWNvbiAkd2VhdGhlciAoJGxvY2F0aW9uKSAkdGVtcCwgJHdpbmQgbS9zICRkaXJlY3Rpb24gXFtk cV0KK1tibG9jay5zZXJ2aWNlXQorbmFtZSA9IFxbZHFdb3BlbndlYXRoZXJtYXBcW2RxXQorYXBp X2tleSA9IFxbZHFdWFhYXFtkcV0KK2NpdHlfaWQgPSBcW2RxXTUzOTg1NjNcW2RxXQordW5pdHMg PSBcW2RxXW1ldHJpY1xbZHFdCitcZltSXQorLmZpCisuU1MgVXNlZCBJY29ucworLklQIFxbYnVd IDIKK1xmW1Zdd2VhdGhlcl9zdW5cZltSXSAod2hlbiB3ZWF0aGVyIGlzIHJlcG9ydGVkIGFzIFxb bHFdQ2xlYXJcW3JxXSkKKy5JUCBcW2J1XSAyCitcZltWXXdlYXRoZXJfcmFpblxmW1JdICh3aGVu IHdlYXRoZXIgaXMgcmVwb3J0ZWQgYXMgXFtscV1SYWluXFtycV0gb3IKK1xbbHFdRHJpenpsZVxb cnFdKQorLklQIFxbYnVdIDIKK1xmW1Zdd2VhdGhlcl9jbG91ZHNcZltSXSAod2hlbiB3ZWF0aGVy IGlzIHJlcG9ydGVkIGFzIFxbbHFdQ2xvdWRzXFtycV0sCitcW2xxXUZvZ1xbcnFdIG9yIFxbbHFd TWlzdFxbcnFdKQorLklQIFxbYnVdIDIKK1xmW1Zdd2VhdGhlcl90aHVuZGVyXGZbUl0gKHdoZW4g d2VhdGhlciBpcyByZXBvcnRlZCBhcworXFtscV1UaHVuZGVyc3Rvcm1cW3JxXSkKKy5JUCBcW2J1 XSAyCitcZltWXXdlYXRoZXJfc25vd1xmW1JdICh3aGVuIHdlYXRoZXIgaXMgcmVwb3J0ZWQgYXMg XFtscV1Tbm93XFtycV0pCisuSVAgXFtidV0gMgorXGZbVl13ZWF0aGVyX2RlZmF1bHRcZltSXSAo aW4gYWxsIG90aGVyIGNhc2VzKQorLlNTIHhyYW5kcgorLlBQCitYMTEgc2NyZWVuIGluZm9ybWF0 aW9uCisuUFAKK1gxMSBzY3JlZW4gaW5mb3JtYXRpb24gKG5hbWUsIGJyaWdodG5lc3MsIHJlc29s dXRpb24pLgorV2l0aCBhIGNsaWNrIHlvdSBjYW4gdG9nZ2xlIHRocm91Z2ggeW91ciBhY3RpdmUg c2NyZWVucyBhbmQgd2l0aCB3aGVlbAordXAgYW5kIGRvd24geW91IGNhbiBhZGp1c3QgdGhlIHNl bGVjdGVkIHNjcmVlbnMgYnJpZ2h0bmVzcy4KK1JlZ2FyZGluZyBicmlnaHRuZXNzIGNvbnRyb2ws IHhyYW5kciBjaGFuZ2VzIHRoZSBicmlnaHRuZXNzIG9mIHRoZQorZGlzcGxheSB1c2luZyBnYW1t YSByYXRoZXIgdGhhbiBjaGFuZ2luZyB0aGUgYnJpZ2h0bmVzcyBpbiBoYXJkd2FyZSwgc28KK2lm IHRoYXQgaXMgbm90IGRlc2lyYWJsZSB0aGVuIGNvbnNpZGVyIHVzaW5nIHRoZSBcZltWXWJhY2ts aWdodFxmW1JdCitibG9jayBpbnN0ZWFkLgorLlBQCitOT1RFOiBTb21lIHVzZXJzIHJlcG9ydCBp c3N1ZXMKKyhlLmcuXCBoZXJlIChodHRwczovL2dpdGh1Yi5jb20vZ3Jlc2hha2UvaTNzdGF0dXMt cnVzdC9pc3N1ZXMvMjc0KSBhbmQKK2hlcmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9ncmVzaGFrZS9p M3N0YXR1cy1ydXN0L2lzc3Vlcy82NjgpIHdoZW4gdXNpbmcKK3RoaXMgYmxvY2suCitUaGUgY2F1 c2UgaXMgY3VycmVudGx5IHVua25vd24sIGhvd2V2ZXIgc2V0dGluZyBhIGhpZ2hlciB1cGRhdGUg aW50ZXJ2YWwKK21heSBoZWxwLgorLlNTIENvbmZpZ3VyYXRpb24KKy5QUAorLlRTCit0YWIoQCk7 CitsdygxNC4wbikgbHcoMjguMG4pIGx3KDI4LjBuKS4KK1R7CitLZXkKK1R9QFR7CitWYWx1ZXMK K1R9QFR7CitEZWZhdWx0CitUfQorXworVHsKK1xmW1ZdZm9ybWF0XGZbUl0KK1R9QFR7CitBIHN0 cmluZyB0byBjdXN0b21pc2UgdGhlIG91dHB1dCBvZiB0aGlzIGJsb2NrLgorU2VlIGJlbG93IGZv ciBhdmFpbGFibGUgcGxhY2Vob2xkZXJzLgorVH1AVHsKK1xmW1ZdXFtkcV0gJGljb24gJGRpc3Bs YXkgJGJyaWdodG5lc3NfaWNvbiAkYnJpZ2h0bmVzcyBcW2RxXVxmW1JdCitUfQorVHsKK1xmW1Zd c3RlcF93aWR0aFxmW1JdCitUfUBUeworVGhlIHN0ZXBzIGJyaWdodG5lc3MgaXMgaW4vZGVjcmVh c2VkIGZvciB0aGUgc2VsZWN0ZWQgc2NyZWVuIChXaGVuCitncmVhdGVyIHRoYW4gNTAgaXQgZ2V0 cyBsaW1pdGVkIHRvIDUwKS4KK1R9QFR7CitcZltWXTVcZltSXQorVH0KK1R7CitcZltWXWludGVy dmFsXGZbUl0KK1R9QFR7CitVcGRhdGUgaW50ZXJ2YWwgaW4gc2Vjb25kcy4KK1R9QFR7CitcZltW XTVcZltSXQorVH0KKy5URQorLlBQCisuVFMKK3RhYihAKTsKK2x3KDE3LjduKSBsdygyOS42bikg bHcoNy45bikgbHcoMTQuOG4pLgorVHsKK1BsYWNlaG9sZGVyCitUfUBUeworVmFsdWUKK1R9QFR7 CitUeXBlCitUfUBUeworVW5pdAorVH0KK18KK1R7CitcZltWXWljb25cZltSXQorVH1AVHsKK0Eg c3RhdGljIGljb24KK1R9QFR7CitJY29uCitUfUBUeworLQorVH0KK1R7CitcZltWXWRpc3BsYXlc ZltSXQorVH1AVHsKK1RoZSBuYW1lIG9mIGEgbW9uaXRvcgorVH1AVHsKK1RleHQKK1R9QFR7Cist CitUfQorVHsKK1xmW1ZdYnJpZ2h0bmVzc1xmW1JdCitUfUBUeworVGhlIGJyaWdodG5lc3Mgb2Yg YSBtb25pdG9yCitUfUBUeworTnVtYmVyCitUfUBUeworJQorVH0KK1R7CitcZltWXWJyaWdodG5l c3NfaWNvblxmW1JdCitUfUBUeworQSBzdGF0aWMgaWNvbgorVH1AVHsKK0ljb24KK1R9QFR7Cist CitUfQorVHsKK1xmW1ZdcmVzb2x1dGlvblxmW1JdCitUfUBUeworVGhlIHJlc29sdXRpb24gb2Yg YSBtb25pdG9yCitUfUBUeworVGV4dAorVH1AVHsKKy0KK1R9CitUeworXGZbVl1yZXNfaWNvblxm W1JdCitUfUBUeworQSBzdGF0aWMgaWNvbgorVH1AVHsKK0ljb24KK1R9QFR7CistCitUfQorLlRF CisuUFAKKy5UUwordGFiKEApOworbCBsLgorVHsKK0FjdGlvbgorVH1AVHsKK0RlZmF1bHQgYnV0 dG9uCitUfQorXworVHsKK1xmW1ZdY3ljbGVfb3V0cHV0c1xmW1JdCitUfUBUeworTGVmdAorVH0K K1R7CitcZltWXWJyaWdodG5lc3NfdXBcZltSXQorVH1AVHsKK1doZWVsIFVwCitUfQorVHsKK1xm W1ZdYnJpZ2h0bmVzc19kb3duXGZbUl0KK1R9QFR7CitXaGVlbCBEb3duCitUfQorLlRFCisuU1Mg RXhhbXBsZQorLklQCisubmYKK1xmW0NdCitbW2Jsb2NrXV0KK2Jsb2NrID0gXFtkcV14cmFuZHJc W2RxXQorZm9ybWF0ID0gXFtkcV0gJGljb24gJGJyaWdodG5lc3MgJHJlc29sdXRpb24gXFtkcV0K K1xmW1JdCisuZmkKKy5TUyBVc2VkIEljb25zCisuSVAgXFtidV0gMgorXGZbVl14cmFuZHJcZltS XQorLklQIFxbYnVdIDIKK1xmW1ZdYmFja2xpZ2h0XGZbUl0KKy5JUCBcW2J1XSAyCitcZltWXXJl c29sdXRpb25cZltSXQorLlNIIE5PVEVTCisuU1MgWzFdCisuUFAKK3doZW4gdXNpbmcgXGZbVl1u b3RpZmljYXRpb25fY291bnRcZltSXSB3aXRoIHRoZSBcZltWXWR1bnN0XGZbUl0gZHJpdmVyCit1 c2UgZHVuc3QgPiAxLjkuMAorLlNIIFRIRU1FUworLlNTIENob29zaW5nIHlvdXIgdGhlbWUgYW5k IGljb24gc2V0CisuUFAKK1RvIHVzZSBhIHRoZW1lIG9yIGljb24gc2V0IG90aGVyIHRoYW4gdGhl IGRlZmF1bHQsIGFkZCB0aGVtIHRvIHlvdXIKK2NvbmZpZ3VyYXRpb24gZmlsZSBsaWtlIHNvOgor LklQCisubmYKK1xmW0NdCitbdGhlbWVdCit0aGVtZSA9IFxbZHFdc29sYXJpemVkLWRhcmtcW2Rx XQorW2ljb25zXQoraWNvbnMgPSBcW2RxXWF3ZXNvbWU2XFtkcV0KK1xmW1JdCisuZmkKKy5QUAor Qm90aCB0aGUgdGhlbWUgYW5kIGljb24gc2V0IGNhbiBiZSBsb2FkZWQgZnJvbSBhIHNlcGFyYXRl IGZpbGUuCisuSVAKKy5uZgorXGZbQ10KK1t0aGVtZV0KK3RoZW1lID0gXFtkcV08ZmlsZT5cW2Rx XQorW2ljb25zXQoraWNvbnMgPSBcW2RxXTxmaWxlPlxbZHFdCitcZltSXQorLmZpCisuUFAKK3do ZXJlIFxmW1ZdPGZpbGU+XGZbUl0gY2FuIGJlIGVpdGhlciBhIGZpbGVuYW1lIG9yIGEgZnVsbCBw YXRoIGFuZCB3aWxsCitiZSBjaGVja2VkIGluIHRoaXMgb3JkZXI6CisuSVAgIjEuIiAzCitJZiBm dWxsIGFic29sdXRlIHBhdGggZ2l2ZW4sIHRoZW4gdXNlIGl0IGFzIGlzOgorXGZbVl0vaG9tZS9m b28vY3VzdG9tX3RoZW1lLnRvbWxcZltSXQorLklQICIyLiIgMworSWYgZmlsZW5hbWUgZ2l2ZW4s IGUuZy5cIFxbbHFdY3VzdG9tX3RoZW1lLnRvbWxcW3JxXSwgdGhlbiBmaXJzdCBjaGVjaworXGZb Vl0kWERHX0NPTkZJR19IT01FL2kzc3RhdHVzLXJ1c3QvdGhlbWVzXGZbUl0KKy5JUCAiMy4iIDMK K1RoZW4gbG9vayBmb3IgaXQgaW4gXGZbVl0kWERHX0RBVEFfSE9NRS9pM3N0YXR1cy1ydXN0L3Ro ZW1lc1xmW1JdCisuSVAgIjQuIiAzCitPdGhlcndpc2UgbG9vayBmb3IgaXQgaW4gXGZbVl0vdXNy L3NoYXJlL2kzc3RhdHVzLXJ1c3QvdGhlbWVzXGZbUl0KKy5QUAorTm90ZXM6IC0gSW4gY2FzZSB3 aXRoIGljb24gc2V0cywgdGhlIGZpbGUgc2hvdWxkIGJlIGluIHRoZQorXGZbVl1pY29uc1xmW1Jd IHN1YmRpcmVjdG9yeSBpbnN0ZWFkIG9mIFxmW1ZddGhlbWVzXGZbUl0uCistIFlvdSBjYW4gb21p dCB0aGUgXGZbVl0udG9tbFxmW1JdIGV4dGVuc2lvbiB3aGlsZSBzcGVjaWZ5aW5nCitcZltWXWZp bGVcZltSXSBwYXJhbWV0ZXJzLgorLSBBbGwgdGhlIHByZWRlZmluZWQgdGhlbWVzIGFyZSBwcm92 aWRlZCBhcyBmaWxlcywgc28geW91IHVzZSB0aGVtIGFzCitleGFtcGxlcyBvZiBob3cgdG8gd3Jp dGUgeW91ciBvd24gdGhlbWVzL2ljb24gc2V0cy4KKy5TUyBBdmFpbGFibGUgdGhlbWVzCisuUFAK K05vdGU6IHNjcmVlbnNob3RzIHdlcmUgZ2VuZXJhdGVkIHVzaW5nIHRoaXMKK2NvbmZpZyAoaHR0 cHM6Ly9naXRodWIuY29tL2dyZXNoYWtlL2kzc3RhdHVzLXJ1c3QvYmxvYi9tYXN0ZXIvZ2VuLXNj cmVlbnNob3RzL3NjcmVlbnNob3RfY29uZmlnLnRvbWwpCit3aXRoIHRoaXMgc3dheWJhcgorY29u ZmlnIChodHRwczovL2dpdGh1Yi5jb20vZ3Jlc2hha2UvaTNzdGF0dXMtcnVzdC9ibG9iL21hc3Rl ci9nZW4tc2NyZWVuc2hvdHMvc3dheWNvbmZpZ19pM3JzKS4KKy5JUCBcW2J1XSAyCitcZltWXXBs YWluXGZbUl0gKGRlZmF1bHQpCitbSU1BR0U6IHBsYWluIChodHRwczovL3Jhdy5naXRodWJ1c2Vy Y29udGVudC5jb20vZ3Jlc2hha2UvaTNzdGF0dXMtcnVzdC9tYXN0ZXIvaW1nL3RoZW1lcy9wbGFp bi5wbmcpXQorLklQIFxbYnVdIDIKK1xmW1Zdc29sYXJpemVkLWRhcmtcZltSXQorW0lNQUdFOiBz b2xhcml6ZWQtZGFyayAoaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dyZXNoYWtl L2kzc3RhdHVzLXJ1c3QvbWFzdGVyL2ltZy90aGVtZXMvc29sYXJpemVkLWRhcmsucG5nKV0KKy5J UCBcW2J1XSAyCitcZltWXXNvbGFyaXplZC1saWdodFxmW1JdCitbSU1BR0U6IHNvbGFyaXplZC1s aWdodCAoaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dyZXNoYWtlL2kzc3RhdHVz LXJ1c3QvbWFzdGVyL2ltZy90aGVtZXMvc29sYXJpemVkLWxpZ2h0LnBuZyldCisuSVAgXFtidV0g MgorXGZbVl1zbGlja1xmW1JdCitbSU1BR0U6IHNsaWNrIChodHRwczovL3Jhdy5naXRodWJ1c2Vy Y29udGVudC5jb20vZ3Jlc2hha2UvaTNzdGF0dXMtcnVzdC9tYXN0ZXIvaW1nL3RoZW1lcy9zbGlj ay5wbmcpXQorLklQIFxbYnVdIDIKK1xmW1ZdbW9kZXJuXGZbUl0KK1tJTUFHRTogbW9kZXJuICho dHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ3Jlc2hha2UvaTNzdGF0dXMtcnVzdC9t YXN0ZXIvaW1nL3RoZW1lcy9tb2Rlcm4ucG5nKV0KKy5JUCBcW2J1XSAyCitcZltWXWJhZC13b2xm XGZbUl0KK1tJTUFHRTogYmFkLXdvbGYgKGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNv bS9ncmVzaGFrZS9pM3N0YXR1cy1ydXN0L21hc3Rlci9pbWcvdGhlbWVzL2JhZC13b2xmLnBuZyld CisuSVAgXFtidV0gMgorXGZbVl1ncnV2Ym94LWxpZ2h0XGZbUl0KK1tJTUFHRTogZ3J1dmJveC1s aWdodCAoaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dyZXNoYWtlL2kzc3RhdHVz LXJ1c3QvbWFzdGVyL2ltZy90aGVtZXMvZ3J1dmJveC1saWdodC5wbmcpXQorLklQIFxbYnVdIDIK K1xmW1ZdZ3J1dmJveC1kYXJrXGZbUl0KK1tJTUFHRTogZ3J1dmJveC1kYXJrIChodHRwczovL3Jh dy5naXRodWJ1c2VyY29udGVudC5jb20vZ3Jlc2hha2UvaTNzdGF0dXMtcnVzdC9tYXN0ZXIvaW1n L3RoZW1lcy9ncnV2Ym94LWRhcmsucG5nKV0KKy5JUCBcW2J1XSAyCitcZltWXXNwYWNlLXZpbGxh aW5cZltSXQorW0lNQUdFOiBzcGFjZS12aWxsYWluIChodHRwczovL3Jhdy5naXRodWJ1c2VyY29u dGVudC5jb20vZ3Jlc2hha2UvaTNzdGF0dXMtcnVzdC9tYXN0ZXIvaW1nL3RoZW1lcy9zcGFjZS12 aWxsYWluLnBuZyldCisuSVAgXFtidV0gMgorXGZbVl1uYXRpdmVcZltSXSAobGlrZSBwbGFpbiB3 aXRoIG5vIGJhY2tncm91bmQgYW5kIG5hdGl2ZSBzZXBhcmF0b3JzKQorW0lNQUdFOiBuYXRpdmUg KGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9ncmVzaGFrZS9pM3N0YXR1cy1ydXN0 L21hc3Rlci9pbWcvdGhlbWVzL25hdGl2ZS5wbmcpXQorLklQIFxbYnVdIDIKK1xmW1Zdc2VtaS1u YXRpdmVcZltSXSAobGlrZSBuYXRpdmUgYnV0IHdpdGggYmFja2dyb3VuZCkKK1tJTUFHRTogc2Vt aS1uYXRpdmUgKGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9ncmVzaGFrZS9pM3N0 YXR1cy1ydXN0L21hc3Rlci9pbWcvdGhlbWVzL3NlbWktbmF0aXZlLnBuZyldCisuSVAgXFtidV0g MgorXGZbVl1ub3JkLWRhcmtcZltSXSAocG9sYXIgbmlnaHQpCitbSU1BR0U6IG5vcmQtZGFyayAo aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dyZXNoYWtlL2kzc3RhdHVzLXJ1c3Qv bWFzdGVyL2ltZy90aGVtZXMvbm9yZC1kYXJrLnBuZyldCisuSVAgXFtidV0gMgorXGZbVl1kcmFj dWxhXGZbUl0KK1tJTUFHRTogZHJhY3VsYSAoaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQu Y29tL2dyZXNoYWtlL2kzc3RhdHVzLXJ1c3QvbWFzdGVyL2ltZy90aGVtZXMvZHJhY3VsYS5wbmcp XQorLklQIFxbYnVdIDIKK1xmW1Zdc3JjZXJ5XGZbUl0KK1tJTUFHRTogc3JjZXJ5IChodHRwczov L3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ3Jlc2hha2UvaTNzdGF0dXMtcnVzdC9tYXN0ZXIv aW1nL3RoZW1lcy9zcmNlcnkucG5nKV0KKy5TUyBBdmFpbGFibGUgaWNvbiBzZXRzCisuSVAgXFti dV0gMgorXGZbVl1ub25lXGZbUl0gKGRlZmF1bHQuCitVc2VzIHRleHQgbGFiZWxzIGluc3RlYWQg b2YgaWNvbnMpCisuSVAgXFtidV0gMgorXGZbVl1hd2Vzb21lNFxmW1JdIChGb250IEF3ZXNvbWUg NC54KQorLklQIFxbYnVdIDIKK1xmW1ZdYXdlc29tZTVcZltSXSAoRm9udCBBd2Vzb21lIDUueCkK Ky5JUCBcW2J1XSAyCitcZltWXWF3ZXNvbWU2XGZbUl0gKEZvbnQgQXdlc29tZSA2LngpCisuSVAg XFtidV0gMgorXGZbVl1tYXRlcmlhbFxmW1JdCisuSVAgXFtidV0gMgorXGZbVl1tYXRlcmlhbC1u ZlxmW1JdIChBbnkgZm9udCBmcm9tIE5lcmQgRm9udHMgY29sbGVjdGlvbikKKy5QUAorXGZbQl1O b3RlXGZbUl06IEluIG9yZGVyIHRvIHVzZSB0aGUgbWF0ZXJpYWwgaWNvbiBzZXQsIHlvdSBuZWVk IGEKK3BhdGNoZWQgbWF0ZXJpYWwgaWNvbnMgZm9udCB3aGljaCBjYW4gYmUgZm91bmQKK2hlcmUg KGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2RyYW9uY2MvM2MyMGQ4ZDQyNjI4OTJjY2QyZTIyN2Vl ZmVhZmE4ZWYvcmF3LzNlNmUxMmMyMTNmYmExZWMyOGFhYTI2NDMwYzM2MDY4NzQ3NTRjMzAvTWF0 ZXJpYWxJY29ucy1SZWd1bGFyLWZvci1pbmxpbmUudHRmKS4KK01ha2Ugc3VyZSB0byBwYXNzIGl0 IGluIHlvdXIgaTMgY29uZmlndXJhdGlvbiBiYXIgYmxvY2suCisuU1MgT3ZlcnJpZGluZyB0aGVt ZXMgYW5kIGljb24gc2V0cworLlBQCitDcmVhdGUgYSBibG9jayBpbiB0aGUgY29uZmlndXJhdGlv biBjYWxsZWQgXGZbVl10aGVtZVxmW1JdIG9yCitcZltWXWljb25zXGZbUl0gbGlrZSBzbzoKKy5J UAorLm5mCitcZltDXQorW3RoZW1lXQordGhlbWUgPSBcW2RxXXNvbGFyaXplZC1kYXJrXFtkcV0K K1t0aGVtZS5vdmVycmlkZXNdCisjIEV4YW1wbGU6IHJlZGVmaW5lIFxbZ2FdaWRsZVxbZ2FdIGNv bG9ycworaWRsZV9iZyA9IFxbZHFdIzEyMzQ1NlxbZHFdCitpZGxlX2ZnID0gXFtkcV0jYWJjZGVm XFtkcV0KKyMgRXhhbXBsZTogc3dhcCBcW2dhXWdvb2RcW2dhXSBhbmQgXFtnYV13YXJuaW5nXFtn YV0gY29sb3JzCitnb29kX2ZnID0geyBsaW5rID0gXFtkcV13YXJuaW5nX2ZnXFtkcV0gfQorZ29v ZF9iZyA9IHsgbGluayA9IFxbZHFdd2FybmluZ19iZ1xbZHFdIH0KK3dhcm5pbmdfZmcgPSB7IGxp bmsgPSBcW2RxXWdvb2RfZmdcW2RxXSB9Cit3YXJuaW5nX2JnID0geyBsaW5rID0gXFtkcV1nb29k X2JnXFtkcV0gfQorCitbaWNvbnNdCitpY29ucyA9IFxbZHFdYXdlc29tZTZcW2RxXQorW2ljb25z Lm92ZXJyaWRlc10KK2JhdCA9IFxbZHFdIHwgfCBcW2RxXQorYmF0X2Z1bGwgPSBcW2RxXSB8WHwg XFtkcV0KK2JhdF9jaGFyZ2luZyA9IFxbZHFdIHxcW2hhXXwgXFtkcV0KK2JhdF9kaXNjaGFyZ2lu ZyA9IFxbZHFdIHx2fCBcW2RxXQorXGZbUl0KKy5maQorLlBQCitCZXNpZGVzIGdsb2JhbCBvdmVy cmlkZXMgeW91IG1heSBhbHNvIHVzZSBwZXItYmxvY2sgb3ZlcnJpZGVzIHVzaW5nIHRoZQorXGZb Vl10aGVtZV9vdmVycmlkZXNcZltSXSwgXGZbVl1pY29uc19vdmVycmlkZXNcZltSXSBhbmQKK1xm W1ZdaWNvbnNfZm9ybWF0XGZbUl0gb3B0aW9ucyBhdmFpbGFibGUgZm9yIGFsbCBibG9ja3MuCitG b3IgZXhhbXBsZToKKy5JUAorLm5mCitcZltDXQorW1tibG9ja11dCitibG9jayA9IFxbZHFdY3B1 XFtkcV0KK2ljb25zX2Zvcm1hdCA9IFxbZHFde2ljb259XFtkcV0KK1tibG9jay50aGVtZV9vdmVy cmlkZXNdCitpZGxlX2JnID0gXFtkcV0jMTIzNDU2XFtkcV0KK2lkbGVfZmcgPSBcW2RxXSNhYmNk ZWZcW2RxXQorW2Jsb2NrLmljb25zX292ZXJyaWRlc10KK2NwdV9ib29zdF9vbiA9IFxbZHFdT05c W2RxXQorY3B1X2Jvb3N0X29mZiA9IFxbZHFdT0ZGXFtkcV0KK1xmW1JdCisuZmkKKy5TUyBBdmFp bGFibGUgdGhlbWUgb3ZlcnJpZGVzCisuUFAKK0FsbCBcZltWXWJnXGZbUl0gYW5kIFxmW1ZdZmdc ZltSXSBvdmVycmlkZXMgYXJlIGh0bWwgaGV4IGNvbG9yIGNvZGVzCitsaWtlIFxmW1ZdIzAwMDAw MFxmW1JdIG9yIFxmW1ZdIzc4OUFCQ1xmW1JdLgorQSBmb3VydGggYnl0ZSBmb3IgYWxwaGEgKGxp a2UgXGZbVl0jYWNiZGVmNDJcZltSXSkgd29ya3Mgb24gc29tZQorc3lzdGVtcy4KK1xmW1ZdMDBc ZltSXSBpcyB0cmFuc3BhcmVudCwgXGZbVl1GRlxmW1JdIGlzIG9wYXF1ZS4KKy5QUAorVGhlIHRp bnRzIGFyZSBhZGRlZCB0byBldmVyeSBzZWNvbmQgYmxvY2sgY291bnRpbmcgZnJvbSB0aGUgcmln aHQuCitUaGV5IHdpbGwgdGhlcmVmb3JlIGFsd2F5cyBicmlnaHRlbiB0aGUgYmxvY2sgYW5kIG5l dmVyIGRhcmtlbiBpdC4KK1RoZSBhbHBoYSBjaGFubmVsLCBpZiBpdCB3b3JrcywgY2FuIGFsc28g YmUgYWx0ZXJuYXRlZCBpbiB0aGUgc2FtZSB3YXkuCisuUFAKK0ZlZWwgZnJlZSB0byB0YWtlIGEg bG9vayBhdCB0aGUgcHJvdmlkZWQgY29sb3Igc2NoZW1lcyBmb3IgcmVmZXJlbmNlLgorLklQIFxb YnVdIDIKK1xmW1ZdaWRsZV9iZ1xmW1JdCisuSVAgXFtidV0gMgorXGZbVl1pZGxlX2ZnXGZbUl0K Ky5JUCBcW2J1XSAyCitcZltWXWdvb2RfYmdcZltSXQorLklQIFxbYnVdIDIKK1xmW1ZdZ29vZF9m Z1xmW1JdCisuSVAgXFtidV0gMgorXGZbVl13YXJuaW5nX2JnXGZbUl0KKy5JUCBcW2J1XSAyCitc ZltWXXdhcm5pbmdfZmdcZltSXQorLklQIFxbYnVdIDIKK1xmW1ZdY3JpdGljYWxfYmdcZltSXQor LklQIFxbYnVdIDIKK1xmW1ZdY3JpdGljYWxfZmdcZltSXQorLklQIFxbYnVdIDIKK1xmW1ZdaW5m b19iZ1xmW1JdCisuSVAgXFtidV0gMgorXGZbVl1pbmZvX2ZnXGZbUl0KKy5JUCBcW2J1XSAyCitc ZltWXWFsdGVybmF0aW5nX3RpbnRfYmdcZltSXQorLklQIFxbYnVdIDIKK1xmW1ZdYWx0ZXJuYXRp bmdfdGludF9mZ1xmW1JdCisuSVAgXFtidV0gMgorXGZbVl1zZXBhcmF0b3JfYmdcZltSXQorLklQ IFxbYnVdIDIKK1xmW1Zdc2VwYXJhdG9yX2ZnXGZbUl0KKy5JUCBcW2J1XSAyCitcZltWXXNlcGFy YXRvclxmW1JdCisuSVAgXFtidV0gMgorXGZbVl1lbmRfc2VwYXJhdG9yXGZbUl0KKy5TUyBBdmFp bGFibGUgaWNvbiBvdmVycmlkZXMKKy5QUAorVGhlc2UgY2FuIGJlIGRpcmVjdGx5IHNldCB0byBh IHN0cmluZyBjb250YWluaW5nIHRoZSBkZXNpcmVkIHVuaWNvZGUKK2NvZGVwb2ludChzKSBvciB1 c2UgYSBUT01MIGVzY2FwZSBzZXF1ZW5jZSBsaWtlCitcZltWXVxbZHFdXFtyc111ZjBmM1xbZHFd XGZbUl0gZm9yIHVwIHRvIDQtbmliYmxlIGNvZGVwb2ludHMgYW5kCitcZltWXVxbZHFdXFtyc11V MDAwMWYzMTJcW2RxXVxmW1JdIGZvciB1cCB0byA4LW5pYmJsZSBjb2RlcG9pbnRzLgorLlBQCitZ b3UgY2FuIGZpbmQgdGhlIGNvZGVwb2ludHMgaW4gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlIGlj b24gZm9udAoreW91XFtjcV1yZSB1c2luZy4KKy5QUAorUmVmZXIgdG8gaW5kaXZpZHVhbCBibG9j a1xbY3FdcyBkb2N1bWVudGF0aW9uIGZvciBhIGxpc3Qgb2YgdXNlZCBpY29ucworb3IgcHJvdmlk ZWQgaWNvbgorc2V0cyAoaHR0cHM6Ly9naXRodWIuY29tL2dyZXNoYWtlL2kzc3RhdHVzLXJ1c3Qv dHJlZS9tYXN0ZXIvZmlsZXMvaWNvbnMpCitmb3IgYSBjb21wbGV0ZSBsaXN0IG9mIGljb25zLgor LmllIFxuKC5nIC5kcyBBcSBcKGFxCisuZWwgLmRzIEFxICcKKy5TSCBWRVJTSU9OCit2MC4zMS44 CisuaWUgXG4oLmcgLmRzIEFxIFwoYXEKKy5lbCAuZHMgQXEgJworLlNIIEFVVEhPUlMKK0thaSBH cmVzaGFrZSA8ZGV2ZWxvcG1lbnRAa2FpXC1ncmVzaGFrZS5kZT4sIENvbnRyaWJ1dG9ycyBvbiBH aXRIdWIgKGh0dHBzLCAvL2dpdGh1Yi5jb20vZ3Jlc2hha2UvaTNzdGF0dXNcLXJ1c3QvZ3JhcGhz L2NvbnRyaWJ1dG9ycykKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvaTNzdGF0dXMtcnVzdC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvaTNzdGF0dXMtcnVzdC90ZW1wbGF0ZQppbmRleCA3ODgyNzBjYTk1NmYuLmY1 Y2I4MWQyMTk0MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9pM3N0YXR1cy1ydXN0L3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvaTNzdGF0dXMtcnVzdC90ZW1wbGF0ZQpAQCAtMSwyMyArMSwyNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnaTNzdGF0dXMtcnVzdCcKIHBrZ25hbWU9aTNzdGF0dXMtcnVzdAot dmVyc2lvbj0wLjIyLjAKLXJldmlzaW9uPTIKK3ZlcnNpb249MC4zMS44CityZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1jYXJnbworY29uZmlndXJlX2FyZ3M9IiQodm9wdF9pZiBub3RtdWNoICctLWZl YXR1cmVzIG5vdG11Y2gnKSIKIG1ha2VfY2hlY2tfYXJncz0iLS1iaW5zIgogaG9zdG1ha2VkZXBl bmRzPSJwa2ctY29uZmlnIgotbWFrZWRlcGVuZHM9ImRidXMtZGV2ZWwgcHVsc2VhdWRpby1kZXZl bCBvcGVuc3NsLWRldmVsIGxpYnNlbnNvcnMtZGV2ZWwiCittYWtlZGVwZW5kcz0icHVsc2VhdWRp by1kZXZlbCBvcGVuc3NsLWRldmVsIGxpYnNlbnNvcnMtZGV2ZWwKKwkkKHZvcHRfaWYgbm90bXVj aCBsaWJub3RtdWNoLWRldmVsKSIKIHNob3J0X2Rlc2M9IlJlcGxhY2VtZW50IGZvciBpM3N0YXR1 cywgd3JpdHRlbiBpbiBSdXN0IgogbWFpbnRhaW5lcj0iSmFuIENocmlzdGlhbiBHcsO8bmhhZ2Ug PGphbi5jaHJpc3RpYW5AZ3J1ZW5oYWdlLnh5ej4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBo b21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2dyZXNoYWtlL2kzc3RhdHVzLXJ1c3QiCiBjaGFu Z2Vsb2c9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9ncmVzaGFrZS9pM3N0YXR1 cy1ydXN0L21hc3Rlci9ORVdTLm1kIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vZ3Jl c2hha2UvaTNzdGF0dXMtcnVzdC9hcmNoaXZlL3JlZnMvdGFncy92JHt2ZXJzaW9ufS50YXIuZ3oi Ci1jaGVja3N1bT1jZDI4YTkwY2NiMmY5ZmFhYWVmMWU1Mjg2MTlmMTAxODk4MTYwOWQ3N2Y0MDlh YmU0ODc3MzUwZDgxMGQzMzI0CitjaGVja3N1bT0zMWQzOTFhMDhkNDVhYjg3N2EzNjQ3OWE2ZjQ1 Mzc2ODMwM2E4MzZlZmFlNmZmY2Y1NTUwMTNiMmYxMmZjZTJmCisKK2J1aWxkX29wdGlvbnM9Im5v dG11Y2giCitkZXNjX29wdGlvbl9ub3RtdWNoPSJSZXF1aXJlZCBmb3Igb3B0aW9uYWwgbm90bXVj aCBibG9jayIKIAogcG9zdF9pbnN0YWxsKCkgewogCXZta2RpciB1c3Ivc2hhcmUvaTNzdGF0dXMt cnVzdAotCXZjb3B5ICR7d3Jrc3JjfS9maWxlcy9pY29ucyB1c3Ivc2hhcmUvaTNzdGF0dXMtcnVz dC8KLQl2Y29weSAke3dya3NyY30vZmlsZXMvdGhlbWVzIHVzci9zaGFyZS9pM3N0YXR1cy1ydXN0 LworCXZjb3B5ICR7d3Jrc3JjfS9maWxlcy8qIHVzci9zaGFyZS9pM3N0YXR1cy1ydXN0LwogCi0J dm1hbiBtYW4vaTNzdGF0dXMtcnMuMQorCXZtYW4gJHtGSUxFU0RJUn0vaTNzdGF0dXMtcnMuMQog fQo= --===============2530632022188440533==--