[PATCH] doc: convert README to Markdown
Matěj Cepl via leafnode-list <[email protected]> Mon, 24 Mar 2025 09:31:51 +0100
| Newsgroups | gmane.network.leafnode |
|---|---|
| Message-ID | <[email protected]> |
SG9wZWZ1bGx5LCBJIGhhdmUgZml4ZWQgd2hvbGUgYXV0b21ha2UgbWFjaGluZXJ5IGFzIHdlbGwu IEFkZHMKcGFuZG9jIChodHRwczovL3BhbmRvYy5vcmcpIGFzIGEgcmVxdWlyZW1lbnQuCi0tLQog TWFrZWZpbGUuYW0gIHwgICAxNiArLQogUkVBRE1FICAgICAgIHwgIDgwNyArKysrKysrKysrKysr KysrKysrKysrCiBSRUFETUUuaHRtbCAgfCAxODYwICsrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBSRUFETUUubWQgICAgfCAgODE2ICsrKysrKysrKysr KysrKysrKysrKysKIGNvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMjQ5 MyBpbnNlcnRpb25zKCspLCAxMDA4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFJF QURNRQogY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZAoKZGlmZiAtLWdpdCBhL01ha2VmaWxl LmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggZGVmYThiMi4uYmM4MzdiOSAxMDA2NDQKLS0tIGEvTWFr ZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAgLTI4OSw3ICsyODksNyBAQCBzdG9yZV90ZXN0 X0NYWEZMQUdTCT0gJChBTV9DWFhGTEFHUykgLXN0ZD1jKysyMAogQ0xFQU5GSUxFUyA9IEZBUS5h dXggRkFRLmxvZyBGQVEudG9jIFwKIAkgICAgIFJFQURNRS1GUUROLmF1eCBSRUFETUUtRlFETi5s b2cgUkVBRE1FLUZRRE4udG9jCiAKLURJU1RDTEVBTkZJTEVTID0gJChCVUlMVF9TT1VSQ0VTKSBS RUFETUUgJChHRU5FUkFURURfTUFOUykgXAorRElTVENMRUFORklMRVMgPSAkKEJVSUxUX1NPVVJD RVMpIFJFQURNRSBSRUFETUUuaHRtbCAkKEdFTkVSQVRFRF9NQU5TKSBcCiAJY29uZmlnLnRhYmxl LnNvcnRlZAogCiAjIEdFTkVSQVRFRCBTT1VSQ0VTID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KQEAgLTM3NCwxMCArMzc0LDE2IEBAIGRveHlnZW46CiAJLXJtIC1yZiAk KHNyY2RpcikvZG94L2h0bWwvCiAJY2QgJChzcmNkaXIpICYmIGRveHlnZW4KIAotUkVBRE1FOglS RUFETUUuaHRtbCAkKExZTlgpCi0JaWYgdGVzdCAiJChMWU5YKSIgIT0gIm5vIiA7IHRoZW4gXAot CQlybSAtZiBSRUFETUUgOyBcCi0JCSQoTFlOWCkgLWR1bXAgJChzcmNkaXIpL1JFQURNRS5odG1s ID4kQCA7IFwKK1JFQURNRToJUkVBRE1FLm1kICQoUEFORE9DKQorCWlmIHRlc3QgIiQoUEFORE9D KSIgIT0gIm5vIiA7IHRoZW4gXAorCQlybSAtZiAkQCA7IFwKKwkJJChQQU5ET0MpIC1mIG1hcmtk b3duIC10IHBsYWluICQ8IC1vICRAIDsgXAorCWZpCisKK1JFQURNRS5odG1sOglSRUFETUUubWQg JChQQU5ET0MpCisJaWYgdGVzdCAiJChQQU5ET0MpIiAhPSAibm8iIDsgdGhlbiBcCisJCXJtIC1m ICRAIDsgXAorCQkkKFBBTkRPQykgLWYgbWFya2Rvd24gLXQgaHRtbCAtcyAtLXRvYyAkPCAtbyAk QCA7IFwKIAlmaQogCiAuUEhPTlk6CXJwbQpkaWZmIC0tZ2l0IGEvUkVBRE1FIGIvUkVBRE1FCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0Y2MzNjMKLS0tIC9kZXYvbnVsbAor KysgYi9SRUFETUUKQEAgLTAsMCArMSw4MDcgQEAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisxLiBPVkVS VklFVworCitMZWFmbm9kZSBpcyBhIFVTRU5FVCBzb2Z0d2FyZSBwYWNrYWdlIGRlc2lnbmVkIGZv ciBzbWFsbCBzaXRlcywgd2l0aCBhCitmZXcgdGVucyBvZiByZWFkZXJzIGFuZCBvbmx5IGEgc2xv dyBsaW5rIHRvIHRoZSBuZXQuIEl0IGlzIGRldmVsb3BlZCBvbgorTGludXgsIGJ1dCBoYXMgYmVl biByZXBvcnRlZCB0byBjb21waWxlIGFuZCBydW4gYWxzbyB1bmRlciBhbnkgQlNECitmbGF2b3Vy LCBTb2xhcmlzIGFuZCBJcml4LgorCitUaGUgTGVhZm5vZGUgcGFja2FnZSBjb25zaXN0cyBvZiBz ZXZlcmFsIHByb2dyYW1zLCB0aHJlZSBlc3NlbnRpYWwgb25lcworYW5kIHNldmVyYWwgYWRkLW9u cy4KKworLSAgIExlYWZub2RlIGlzIHRoZSBOTlRQIHNlcnZlci4gSXQgdGFsa3MgdG8gdGhlIG5v cm1hbCBuZXdzIGNsaWVudHMsCisgICAgYW5kIHN0b3JlcyByZWFkZXJzaGlwIGRhdGEuCistICAg RmV0Y2huZXdzIGlzIHRoZSBOTlRQIG5ld3MtZ2F0aGVyZXIuIEl0IGxvb2tzIGF0IHRoZSByZWFk ZXJzaGlwIGRhdGEKKyAgICBMZWFmbm9kZSBzdG9yZXMsIGFuZCBzZWxlY3RzIHdoYXQgZ3JvdXBz IHRvIHB1bGwgbmV3cyBmcm9tLiBJdCBhbHNvCisgICAgdHJhbnNmZXJzIHlvdXIgY29udHJpYnV0 aW9ucyB0byBvbmUgb3IgbW9yZSB1cHN0cmVhbSBzZXJ2ZXJzLgorLSAgIFRleHBpcmUgaXMgcmVz cG9uc2libGUgZm9yIGRlbGV0aW5nIG9sZCBhbmQgdW5pbnRlcmVzdGluZyBuZXdzLiBJdAorICAg IGRlbGV0ZXMgYWxsIGRpc2N1c3Npb24gdGhyZWFkcyB0aGF0IGFyZSBvbGQgYW5kIG5vdCByZWNl bnRseSByZWFkLgorCitUaGVzZSBhcmUgdGhlIGFkZGl0aW9uYWwgdG9vbHM6CisKKy0gICBBcHBs eWZpbHRlciBsZXRzIHlvdSBkZWxldGUgYXJ0aWNsZXMgZnJvbSB5b3VyIGxvY2FsIG5ld3Mgc3Bv b2wKKyAgICB3aGljaCBmaXQgYSBjZXJ0YWluIHBhdHRlcm4uCistICAgQ2hlY2tncm91cHMgaW5z ZXJ0cyB0aGUgdGl0bGVzIG9mIG5ld3Nncm91cHMgaW50byB0aGUgbmV3c2dyb3VwCisgICAgZGF0 YWJhc2UuCistICAgTmV3c3Egc2hvd3Mgd2hpY2ggbmV3cyBhcmUgd2FpdGluZyB0byBiZSB0cmFu c2ZlcnJlZCB0byB5b3VyCisgICAgdXBzdHJlYW0gc2VydmVyKHMpLgorLSAgIFJuZXdzIHNvcnRz IGFuIFVVQ1AgYmF0Y2ggb3IgYXJ0aWNsZXMgZG93bmxvYWRlZCBieSBvdGhlciBtZWFucyBpbnRv CisgICAgdGhlIG5ld3Mgc3Bvb2wuCisKK09ubHkgZ3JvdXBzIHRoYXQgc29tZW9uZSBoYXMgYmVl biByZWFkaW5nIGluIHRoZSBwYXN0IHdlZWsgYXJlIGZldGNoZWQKK2Zyb20gdGhlIHVwc3RyZWFt IE5OVFAgc2VydmVyLiBXaGVuIHNvbWVvbmUgc3RvcHMgcmVhZGluZyBhIGdyb3VwLAorZmV0Y2hu ZXdzIHdpbGwgc3RvcCByZWFkaW5nIHRoYXQgZ3JvdXAgYSB3ZWVrIGxhdGVyICh0aGlzIGlzIHRo ZSBkZWZhdWx0Cit3aGljaCBjYW4gYmUgY29uZmlndXJlZCksIGFuZCB3aGVuIHNvbWVvbmUgc3Rh cnRzIHJlYWRpbmcgYSBncm91cCwKK2ZldGNobmV3cyB3aWxsIGdyYWIgYWxsIHRoZSBhcnRpY2xl cyBpdCBjYW4gaW4gdGhhdCBncm91cCB0aGUgbmV4dCB0aW1lCitpdCBydW5zLgorCitMZWFmbm9k ZSdzIGRpc3Rpbmd1aXNoaW5nIGZlYXR1cmVzIGFyZToKKworLSAgIExlYWZub2RlIGlzIHdyaXR0 ZW4gd2l0aCB0aGUgbm92aWNlIHVzZXIgaW4gbWluZC4gSXQgaXMgdmVyeSBlYXN5IHRvCisgICAg aW5zdGFsbCBhbmQgY29uZmlndXJlIGFuZCByZXF1aXJlcyBubyBtYW51YWwgaW50ZXJ2ZW50aW9u IG9uY2UKKyAgICBpbnN0YWxsZWQuIExlYWZub2RlIHRyaWVzIHZlcnkgaGFyZCB0byByZWNvdmVy IGF1dG9tYXRpY2FsbHkgZnJvbQorICAgIGVycm9yIHNpdHVhdGlvbnMuCistICAgQ29tcGFyZWQg dG8gb3RoZXIgc2VydmVycywgbGVhZm5vZGUgdXNlcyB2ZXJ5IGxpdHRsZSBkaXNrIHNwYWNlIGFu ZAorICAgIGJhbmR3aWR0aC4gT2YgY291cnNlIHRoaXMgYWxzbyBkZXBlbmRzIG9uIGhvdyBtYW55 IHVzZXJzIGFyZQorICAgIGFjY2Vzc2luZyB5b3VyIHNlcnZlciBhbmQgaXMgcHJvYmFibHkgbm90 IHRydWUgZm9yIDMwMC11c2VyIHNpdGVzLgorLSAgIFRoZSBuZXdzc3Bvb2wgY2FuIGJlIGVhc2ls eSBtYW5pcHVsYXRlZCBieSBzbWFsbCBzY3JpcHRzIGJlY2F1c2UgaXQKKyAgICBpcyBtYWludGFp bmVkIGluIHBsYWluIGZpbGUgZm9ybWF0LiBTb21lIHRpbnkgZXhhbXBsZXMgYXJlIGluIHRoZQor ICAgIHN1YmRpcmVjdG9yeSB0b29scy8gLgorCitUaGUgY3VycmVudCB2ZXJzaW9uIG9mIGxlYWZu b2RlIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwOi8vd3d3LmR0LmUtdGVjaG5pay50dS1kb3J0bXVu ZC5kZS9+bWEvbGVhZm5vZGUvYmV0YS8KKworVGhlcmUgaXMgYWxzbyBhIGxlYWZub2RlIG1haWxp bmcgbGlzdC4gU2VuZCBtYWlsIHRvCisKK2xlYWZub2RlLWxpc3Qtc3Vic2NyaWJlQGR0LmUtdGVj aG5pay50dS1kb3J0bXVuZC5kZQorCit0byBzdWJzY3JpYmUsIG9yIHZpc2l0CitodHRwOi8vd3d3 LmR0LmUtdGVjaG5pay50dS1kb3J0bXVuZC5kZS9tYWlsbWFuL2xpc3RpbmZvL2xlYWZub2RlLWxp c3QvLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworMi4gSU5TVEFMTEFUSU9OCisKKzEuICBMZWFmbm9k ZSBkb2VzIG5vdCBjdXJyZW50bHkgd29yayBvbiBTdW5PUyA0LgorCisyLiAgTGVhZm5vZGUgZGVw ZW5kcyBvbiB0aGUgUENSRSByZWd1bGFyLWV4cHJlc3Npb24gbWF0Y2hpbmcgbGlicmFyeS4gSXQK KyAgICBzaGlwcyBhcyBiaW5hcnkgcGFja2FnZSB3aXRoIG1hbnkgY3VycmVudCBMaW51eC9CU0Qg ZGlzdHJpYnV0aW9ucywKKyAgICBhbmQgaXMgYWxzbyBhdmFpbGFibGUgYXMgcG9ydCBmb3IgKkJT RCAoRGViaWFuIHVzZXJzOiB0cnkgImFwdC1nZXQKKyAgICBpbnN0YWxsIGxpYnBjcmUzIGxpYnBj cmUzLWRldiIpLiBKdXN0IGluc3RhbGwgdGhlIGJpbmFyeSBwYWNrYWdlIGZvcgorICAgIHlvdXIg b3BlcmF0aW5nIHN5c3RlbSBpZiBpdCBzaGlwcyB3aXRoIG9uZS4gSWYgaXQgY29tZXMgd2l0aG91 dAorICAgIFBDUkUsIGRvbid0IHdvcnJ5LCB0aGUgaW5zdGFsbGF0aW9uIGZyb20gc291cmNlIGlz IHNpbXBsZS4gVG8KKyAgICBpbnN0YWxsIFBDUkUsIGRvIChBUyBOT1JNQUwgVVNFUiwgTk9UIEFT IHJvb3QhKQorCisgICAgMS4gIERvd25sb2FkIHRoZSBjdXJyZW50IFBDUkUgdmVyc2lvbiBmcm9t IGh0dHA6Ly93d3cucGNyZS5vcmcvLgorICAgIDIuICBVbnBhY2sgUENSRTogZ3VuemlwIC1jIHwg dGFyIHh2ZiAtCisgICAgMy4gIGNkIHBjcmUtMy45CisgICAgICAgIChUaGlzIGlzIGZvciBQQ1JF LTMuOSwgZm9yIG90aGVyIHZlcnNpb25zLCByZXBsYWNlIHRoYXQgYnkgdGhlCisgICAgICAgIHBh dGggdGhhdCB0YXIgd3JvdGUgd2hlbiB1bnBhY2tpbmcuKQorICAgIDQuICB0eXBlIC4vY29uZmln dXJlICYmIG1ha2UKKyAgICAgICAgdGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycworICAgIDUuICBi ZWNvbWUgcm9vdAorICAgIDYuICBhcyByb290LCBkbyBtYWtlIGluc3RhbGwKKyAgICA3LiAgYXMg cm9vdCwgZG8gbGRjb25maWcKKyAgICAgICAgdGhpcyBtYXkgbm90IGJlIG5lZWRlZCBvbiBhbGwg c3lzdGVtcywgYnV0IGJldHRlciBzYWZlIHRoYW4KKyAgICAgICAgc29ycnkKKyAgICA4LiAgZXhp dCB5b3VyIHJvb3Qgc2hlbGwKKyAgICA5LiAgRE9ORSEKKworMy4gIExlYWZub2RlIHVzZXMgR05V IGF1dG9jb25mIHRvIGRldGVybWluZSB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUKKyAgICBtYWNo aW5lIGl0IHdpbGwgYmUgY29tcGlsZWQgb24uIEl0IGFsc28gdXNlcyBHTlUgYXV0b21ha2UgZm9y IGFsbAorICAgIHRoZSBzdGFuZGFyZCBmZWF0dXJlcyB0aGF0IEdOVSBhdXRvbWFrZSBvZmZlcnMu IFR5cGUgKEFTIE5PUk1BTAorICAgIFVTRVIsIE5PVCBBUyByb290ISkKKworICAgICAgICAgICAg ICAgICAvYmluL3NoIC4vY29uZmlndXJlCisKKyAgICB0byBjcmVhdGUgYW4gYXBwcm9wcmlhdGUg TWFrZWZpbGUgYW5kIGNvbmZpZy5oLiBJZiBsZWFmbm9kZSBjYW5ub3QKKyAgICBmaW5kIHlvdXIg UENSRSwgaXQgaXMgcHJvYmFibHkgYW4gb2xkIHZlcnNpb24gd2l0aG91dCBwY3JlLWNvbmZpZywK KyAgICBvciBwY3JlLWNvbmZpZyBpcyBub3QgaW4geW91ciBwYXRoLiBFaXRoZXIgYWRkIHRoZSBk aXJlY3RvcnkKKyAgICBjb250YWluaW5nIHBjcmUtY29uZmlnIHRvIHlvdXIgJFBBVEgsIG9yIGNh bGwgY29uZmlndXJlIGxpa2UgdGhpcworICAgICh3ZSBhc3N1bWUgUENSRSBpcyBpbiAvb3B0L3Bj cmUtMy45KToKKworICAgICAgICAgICAgICAgICBlbnYgQ1BQRkxBR1M9Ii1JL29wdC9wY3JlLTMu OSIgTERGTEFHUz0iLUwvb3B0L3BjcmUtMy45IiAvYmluL3NoIC4vY29uZmlndXJlCisKKyAgICBO T1RFOiBvbiBzb21lIG1hY2hpbmVzLCB3aGVuIFBDUkUgaXMgbGlua2VkIGFnYWluc3QgYSBzaGFy ZWQKKyAgICBsaWJyYXJ5LCB5b3Ugd2lsbCBuZWVkIHRvIGFkZCAvb3B0L3BjcmUtMy45IHRvIExE X0xJQlJBUllfUEFUSCBvciB0bworICAgIC9ldGMvbGQuc28uY29uZi4KKworICAgIFRoZSBjb25m aWd1cmUgc2NyaXB0IGNhbiB0YWtlIHNvbWUgZmxhZ3MgKHJlcGxhY2UgRElSIGJ5IGEgZGlyZWN0 b3J5CisgICAgbmFtZSwgRklMRSBieSBhIGZpbGUgbmFtZSk6CisKKyAgICAgICAgLS1lbmFibGUt c3Bvb2xkaXI9RElSICBUbyBvdmVycmlkZSB0aGUgZGVmYXVsdCAvdmFyL3Nwb29sL25ld3MsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgbGVhZm5vZGUgcHV0cyBpdHMgbmV3 cyBzcG9vbCB1bmxlc3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWxvY2Fsc3Rh dGVkaXIgaXMgZ2l2ZW4gb3IgLS1wcmVmaXggaXMgZ2l2ZW4gYW5kCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGlmZmVyZW50IGZyb20gL3VzciwgaW4gdGhlIGxhdHRlciBjYXNlLCB0 aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0IGlzICRsb2NhbHN0YXRl ZGlyL3Nwb29sL25ld3MKKworICAgICAgICAtLXByZWZpeD1ESVIgICAgICAgICAgIExlYWZub2Rl IGluc3RhbGxzIGl0c2VsZiBub3JtYWxseSBpbiB0aGUgL3Vzci9sb2NhbC9zYmluCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5LiBJZiB5b3Ugd2FudCB0byB1c2UgYW5v dGhlciBkaXJlY3RvcnksIHVzZSB0aGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmxhZy4gRm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHRvIGluc3RhbGwgbGVhZm5vZGUgaW4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvdXNyL3NiaW4sIHVzZSAtLXByZWZpeD0vdXNy CisKKyAgICAgICAgLS1zeXNjb25mZGlyPURJUiAgICAgICBEZWZhdWx0IHBhdGggZm9yIGNvbmZp Z3VyYXRpb24gaXMgL2V0Yy9sZWFmbm9kZSB3aGVuCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLS1wcmVmaXggaXMgbm90IHVzZWQgb3Igc2V0IHRvIC91c3IsIGFuZCBQUkVGSVgvZXRj CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJ3aXNlLiAgWW91IGNhbiB1c2Ug dGhpcyB0byBjaGFuZ2UgdGhlIGNvbmZpZyBmaWxlCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbG9jYXRpb24gZnJvbSBpdHMgZGVmYXVsdC4KKworICAgICAgICAtLXdpdGgtZG1hbGxv YyAgICAgICAgIExldHMgbGVhZm5vZGUgaW5jbHVkZSBkbWFsbG9jIGhlYWRlciBmaWxlcyBhbmQg bGluaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnYWluc3QgbGliZG1hbGxvYy4g T25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZywgbm90CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmVlZGVkIGZvciBub3JtYWwgb3BlcmF0aW9uLiBUaGlzIG9wdGlvbiByZXF1aXJlcwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWxsb2MsIGF2YWlsYWJsZSBmcm9tIGh0 dHA6Ly9kbWFsbG9jLmNvbS8uCisKKyAgICAgICAgLS13aXRoLXJ1bmFzLXVzZXI9VVNFUiBMZXRz IGxlYWZub2RlIHJ1biBhcyB1c2VyIFVTRVIsIGRlZmF1bHRzIHRvICJuZXdzIi4KKworICAgICAg ICAtLXdpdGgtcGFtICAgICAgICAgICAgIEVuYWJsZSBQQU0gKHBsdWdnYWJsZSBhdXRoZW50aWNh dGlvbiBtb2R1bGVzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuCisK KyAgICBCRVdBUkU6IEZvcm1lciB2ZXJzaW9ucyBhbHdheXMgZGVmYXVsdGVkIHRoZWlyIHN5c2Nv bmZkaXIgdG8KKyAgICAvZXRjL2xlYWZub2RlLiBDdXJyZW50IHZlcnNpb25zIG9ubHkgb3ZlcnJp ZGUgc3lzY29uZmRpciB0bworICAgIC9ldGMvbGVhZm5vZGUgaWYgY29uZmlndXJlZCB3aXRob3V0 IC0tcHJlZml4IG9yIHdpdGggLS1wcmVmaXg9L3Vzci4KKyAgICBUaGF0IHdheSwgaWYgLS1wcmVm aXg9L29wdC9sZWFmbm9kZSwgdGhlIHN5c2NvbmZkaXIgZ29lcyB0bworICAgIC9vcHQvbGVhZm5v ZGUvZXRjLCB3aGljaCBpcyBtb3JlIGFwcHJvcHJpYXRlLgorCis0LiAgVHlwZQorCisgICAgICAg ICAgICAgICAgICBtYWtlCisKKyAgICBUaGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzLgorCis1LiAg QmVjb21lIHJvb3QuCisKKzYuICBBcyByb290LCBjcmVhdGUgdXNlciBhbmQgZ3JvdXAgIm5ld3Mi IChvciB0aGUgY29uZmlndXJlZCB1c2VyIGFuZAorICAgIGdyb3VwKSBpZiB5b3UgZG9uJ3QgaGF2 ZSB0aG9zZSBhbHJlYWR5LgorCis3LiAgVHlwZQorCisgICAgICAgICAgICAgICAgICBtYWtlIGlu c3RhbGwKKworICAgIElmIHlvdSBwcmVmZXIgYW4gaW5zdGFsbGF0aW9uIHdpdGggdGhlIGJpbmFy aWVzIHN0cmlwcGVkIGZyZWUgb2YKKyAgICBzeW1ib2xzLCB1c2UKKworICAgICAgICAgICAgICAg ICAgbWFrZSBpbnN0YWxsLXN0cmlwCisKKyAgICBpbnN0ZWFkLgorICAgIEZvciBwYWNrYWdlcnM6 IGlmIHlvdSB3YW50IHRvIHByZWZpeCBhbGwgaW5zdGFsbGF0aW9uIHBhdGhzIHdpdGggYQorICAg IGNvbW1vbiBwcmVmaXgsIGUuIGcuIHRvIHN1cHBvcnQgUlBNJ3MgQnVpbGRSb290IGZlYXR1cmU6 IFlvdSBjYW4gdXNlCisgICAgbWFrZSBpbnN0YWxsLXN0cmlwIERFU1RESVI9L3Zhci90bXAvbGVh Zm5vZGUtcm9vdC4KKworOC4gIENvbmZpZ3VyZSBzeXNsb2cgc28gaXQgY2FwdHVyZXMgbmV3cyBs b2dnaW5nLCBtb3N0IHN5c3RlbXMgZG8gTk9UCisgICAgbG9nIG5ld3Mgc3R1ZmYgYnkgZGVmYXVs dC4KKworICAgIDEuICBFZGl0IC9ldGMvc3lzbG9nLmNvbmYuIFVubGVzcyB5b3UgYWxyZWFkeSBo YXZlIG5ld3MuaW5mbworICAgICAgICBsb2dnaW5nLCBhZGQgYSBsaW5lIGxpa2UgdGhpczoKKwor ICAgICAgICAgICAgbmV3cy5pbmZvICAgICAgICAgICAgICAgL3Zhci9sb2cvbmV3cworCisgICAg ICAgIE5vdGUgdGhhdCBpZiB5b3Ugd2FudCB0byBzZW5kIGluIGEgYnVnIHJlcG9ydCBhbmQgbmVl ZCBkZWJ1ZworICAgICAgICBsb2dnaW5nLCB5b3UnbGwgaGF2ZSB0byByZXBsYWNlIG5ld3MuaW5m byBieSBuZXdzLmRlYnVnIChhbmQKKyAgICAgICAgc2VuZCBhIFNJR0hVUCwgYXMgc2hvd24gYmVs b3cpLgorCisgICAgICAgIFlvdXIgc3lzbG9nLmNvbmYgbWF5IGFscmVhZHkgc3VnZ2VzdCBhIGRp ZmZlcmVudCBmaWxlLiBJZiB5b3VyCisgICAgICAgIHN5c2xvZy5jb25mIHN1Z2dlc3RzIG5ld3Mu aW5mbyBsb2dnaW5nLCB1c2UgdGhhdCwgYnV0IGJlIHN1cmUgdG8KKyAgICAgICAgYWN0aXZhdGUg aXQgaW4gY2FzZSBpdCdzIGNvbW1lbnRlZCBvdXQ6IHJlbW92ZSBsZWFkaW5nIGhhc2gKKyAgICAg ICAgbWFya3MgYW5kIHdoaXRlIHNwYWNlLgorCisgICAgICAgIEFsc28gbWFrZSBzdXJlIHlvdSB1 c2UgVEFCcyBiZXR3ZWVuIG5ld3MuaW5mbyBhbmQgdGhlIHBhdGguCisKKyAgICAyLiAgQ3JlYXRl IHRoZSAvdmFyL2xvZy9uZXdzIGZpbGUsIHR5cGU6IHRvdWNoIC92YXIvbG9nL25ld3MuCisKKyAg ICAzLiAgU2VuZCBzeXNsb2dkIGEgSFVQIHNpZ25hbC4ga2lsbCAtMSBcY2F0IC92YXIvcnVuL3N5 c2xvZ2QucGlkYGAKKyAgICAgICAgdXN1YWxseSBkb2VzIHRoZSBqb2IsIGlmIGl0IGRvZXNuJ3Qs IHJldHJ5IHdpdGggInN5c2xvZ2QiCisgICAgICAgIHJlcGxhY2VkIGJ5ICJzeXNsb2ciLgorCis5 LiAgSWYgeW91IGFyZSB1cGRhdGluZyBsZWFmbm9kZSBmcm9tIGEgcHJldmlvdXMgdmVyc2lvbiwg c2VlIHRoZQorICAgIHNlY3Rpb24gIlVwZGF0aW5nIiBiZWxvdy4KKworMTAuIEVkaXQgJChMSUJE SVIpL2NvbmZpZy4gJChMSUJESVIpIGRlZmF1bHRzIHRvIC9ldGMvbGVhZm5vZGUsIGJ1dCBjYW4K KyAgICBiZSBhZGp1c3RlZCBhdCBidWlsZCB0aW1lLiBGb3IgZG9jdW1lbnRhdGlvbiwgc2VlIGJl bG93IG9yCisgICAgY29uZmlnLmV4YW1wbGUgYW5kIGxlYWZub2RlKDgpLiBNYW5kYXRvcnkgZWRp dHMgdG8gdGhlIGNvbmZpZyBmaWxlCisgICAgYXJlOgorCisgICAgLSAgIHNlcnZlciAtLSB0aGlz IG11c3QgcG9pbnQgdG8geW91ciB1cHN0cmVhbSBuZXdzIHNlcnZlci4KKyAgICAtICAgZXhwaXJl IC0tIGhvdyBtYW55IGRheXMgd2lsbCBkb3dubG9hZGVkIGFydGljbGVzIHJlbWFpbiBpbiB0aGUK KyAgICAgICAgc3Bvb2wuCisKKyAgICBNYWtlIHN1cmUgdGhlIGVudmlyb25tZW50IHZhcmlhYmxl ICROTlRQU0VSVkVSIG9yIC9ldGMvbm50cHNlcnZlcgorICAgIHBvaW50cyB0byB5b3VyIG93biBo b3N0IHNvIGNsaWVudHMgd2lsbCB0YWxrIHRvIGxlYWZub2RlIHJhdGhlciB0aGFuCisgICAgdHJ5 IHRvIGdvIHRvIHRoZSB1cHN0cmVhbSBzZXJ2ZXIuCisKKyAgICBJZiB5b3Ugd2FudCB0byB1c2Ug ZmlsdGVyaW5nIG9mIHRoZSBpbmNvbWluZyBzcG9vbCwgc2VlIHRoZSBzZWN0aW9uCisgICAgb24g dGhlIGZpbHRlciBmaWxlIGJlbG93LgorCisxMS4gdGhlIHN5c3RlbWQvIGRpcmVjdG9yeSBvZiB0 aGUgdGFyYmFsbCBjb250YWlucyBleGFtcGxlIHNlcnZpY2UgYW5kCisgICAgdGltZXIgZmlsZXMg dGhhdCBjYW4gYmUgdXNlZCBvbiBzeXN0ZW1kLWJhc2VkIHN5c3RlbXMgaW5zdGVhZCBvZiB0aGUK KyAgICBpbmV0ZC94aW5ldGQgYW5kIGNyb25bdGFiXSBzZXR0aW5ncyBzaG93biBiZWxvdy4KKwor MTIuIFNldCB1cCBhIGNyb24gam9iIChhcyB1c2VyICJyb290IiBvciAibmV3cyIpIHRvIHJ1biB0 ZXhwaXJlIGV2ZXJ5CisgICAgbmlnaHQgb3IgbWF5YmUgZXZlcnkgd2Vlay4gSGVyZSBpcyBteSBj cm9udGFiIGxpbmUsIHdoaWNoIHJ1bnMKKyAgICBuaWdodGx5OgorCisgICAgICAgIDAgNCAqICog KiAvdXNyL2xvY2FsL3NiaW4vdGV4cGlyZQorCisgICAgSSBkaWQgImNyb250YWIgLXUgbmV3cyAt ZSIgYXMgcm9vdCB0byBlZGl0IHRoZSBjcm9udGFiIGZpbGUsIGFuZAorICAgIGFkZGVkIHRoaXMg bGluZS4gU3Vic3RpdHV0aW5nICIxIiBmb3IgdGhlIHRoaXJkICIqIiwgdGh1czoKKworICAgICAg ICAwIDQgKiAqIDEgL3Vzci9sb2NhbC9zYmluL3RleHBpcmUKKworICAgIHRlbGxzIGNyb24gdG8g cnVuIHRleHBpcmUgYXQgNGFtIGV2ZXJ5IE1vbmRheSBtb3JuaW5nLgorCisxMy4gTWFrZSBzdXJl IGZldGNobmV3cyBpcyBydW4gYXQgdGhlIGFwcHJvcHJpYXRlIHRpbWUuIElmIHlvdSBoYXZlIGEK KyAgICBmdWxsLXRpbWUgbGluaywgcnVuIGl0IG91dCBvZiBjcm9uIChhcyAibmV3cyIgYWdhaW4p OyBpZiBub3QsIHJ1biBpdAorICAgIHdoZW4geW91ciBjb25uZWN0aW9uIHRvIHRoZSBuZXQgaXMg ZXN0YWJsaXNoZWQuIElmIGl0IGlzIHJ1biBhcyByb290CisgICAgaXQgd2lsbCBjaGFuZ2UgdG8g dXNlciAibmV3cyIuIElmIHlvdSB1c2UgUFBQLCB5b3UgY2FuIHJ1biBmZXRjaG5ld3MKKyAgICBm cm9tIC9ldGMvcHBwL2lwLXVwIChvciAvZXRjL3BwcC9pcC11cC5sb2NhbCwgZGVwZW5kaW5nIG9u IHlvdXIgT1MpLgorCisxNC4gV2UgYXNzdW1lIHRoYXQgeW91IGhhdmUgdGNwZCBpbnN0YWxsZWQs IGl0IHNoaXBzIHdpdGggbW9zdAorICAgIGRpc3RyaWJ1dGlvbnMuIElmIHlvdSBkb24ndCBoYXZl IGl0LCBmZXRjaCBpdCBmcm9tCisgICAgZnRwOi8vZnRwLnBvcmN1cGluZS5vcmcvcHViL3NlY3Vy aXR5LywgaXQncyBpbiB0Y3Bfd3JhcHBlcnMsIGFuZAorICAgIGluc3RhbGwgaXQuIEl0J3MgcHJl ZmVyYWJsZSBpZiB5b3UgY29tcGlsZSBpdCB3aXRoIC1ESE9TVFNfT1BUSU9OUywKKyAgICBhbmQg dGhlIGV4YW1wbGVzIGJlbG93IGFzc3VtZSB5b3UgZGlkLgorCisxNS4gQ2hvb3NlIGVpdGhlciBv ZiB0aGVzZSBhbHRlcm5hdGl2ZXM6CisKKyAgICAtICAgQWx0ZXJuYXRpdmUgIzE6IElmIHlvdXIg c3lzdGVtIHVzZXMgaW5ldGQgKG1vc3QgY29tbWVyY2lhbAorICAgICAgICB1bmljZXMsICpCU0Qp LiBFZGl0IC9ldGMvaW5ldGQuY29uZiBzbyB0aGF0ICQoQklORElSKS9sZWFmbm9kZQorICAgICAg ICBpcyBleGVjdXRlZCBmb3IgaW5jb21pbmcgTk5UUCBjb25uZWN0aW9ucy4gSGVyZSBpcyBteSBp bmV0ZC5jb25mCisgICAgICAgIGxpbmU6CisKKyAgICAgICAgICAgIG5udHAgICAgc3RyZWFtICB0 Y3AgICAgIG5vd2FpdCAgbmV3cyAgICAvdXNyL3NiaW4vdGNwZCAvdXNyL2xvY2FsL3NiaW4vbGVh Zm5vZGUKKworICAgICAgICBOb3RlOiBzb21lIHN5c3RlbXMgaW5zdGFsbCB0Y3BkIHRvIGEgZGlm ZmVyZW50IHBhdGgsIGJ1dCBpdCdzCisgICAgICAgIHVuY29tbW9uLiBDaGFuZ2UgdGhlIGZpcnN0 IHBhdGggYWNjb3JkaW5nbHkgaWYgeW91ciB0Y3BkIHJlc2lkZXMKKyAgICAgICAgaW4gL3Vzci9l dGMgb3IgL3Vzci9sYmluLiBBZnRlciB0aGVzZSBjaGFuZ2VzLCBmb3JjZSBpbmV0ZCB0bworICAg ICAgICByZWFkIHRoZSBjaGFuZ2VkIGNvbmZpZ3VyYXRpb24gZmlsZSBieSBzZW5kaW5nIGl0IHRo ZSBIQU5HVVAKKyAgICAgICAgc2lnbmFsLiBUbyBhY2hpZXZlIHRoaXMsIGlzc3VlIHRoZSBmb2xs b3dpbmcgY29tbWFuZCAoYXMgcm9vdCk6CisKKyAgICAgICAgICAgIGtpbGwgLUhVUCBgY2F0IC92 YXIvcnVuL2luZXRkLnBpZGAKKworICAgIC0gICBBbHRlcm5hdGl2ZSAjMjogSWYgeW91ciBzeXN0 ZW0gaGFzIHhpbmV0ZCBpbnN0ZWFkLiBBZGQgdGhpcyB0bworICAgICAgICB5b3VyIHhpbmV0ZC5j b25mICh0aGlzIGV4YW1wbGUgYXNzdW1lcyB4aW5ldGQgMi4zLjMgb3IgbmV3ZXIpOgorCisgICAg ICAgICAgICBzZXJ2aWNlIG5udHAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg ZmxhZ3MgICAgICAgICAgID0gTkFNRUlOQVJHUyBOT0xJQldSQVAKKyAgICAgICAgICAgICAgICAg ICAgc29ja2V0X3R5cGUgICAgID0gc3RyZWFtCisgICAgICAgICAgICAgICAgICAgIHByb3RvY29s ICAgICAgICA9IHRjcAorICAgICAgICAgICAgICAgICAgICB3YWl0ICAgICAgICAgICAgPSBubwor ICAgICAgICAgICAgICAgICAgICB1c2VyICAgICAgICAgICAgPSBuZXdzCisgICAgICAgICAgICAg ICAgICAgIHNlcnZlciAgICAgICAgICA9IC91c3Ivc2Jpbi90Y3BkCisgICAgICAgICAgICAgICAg ICAgIHNlcnZlcl9hcmdzICAgICA9IC91c3IvbG9jYWwvc2Jpbi9sZWFmbm9kZQorICAgICAgICAg ICAgICAgICAgICBpbnN0YW5jZXMgICAgICAgPSA3CisgICAgICAgICAgICAgICAgICAgIHBlcl9z b3VyY2UgICAgICA9IDMKKyAgICAgICAgICAgIH0KKworICAgICAgICBUaGVuIHNlbmQgeGluZXRk IGFuIFVTUjIgc2lnbmFsIHRvIG1ha2UgaXQgcmVyZWFkIGl0cworICAgICAgICBjb25maWd1cmF0 aW9uLiBTZWUgdGhlIHhpbmV0ZC5jb25mKDUpIG1hbnVhbCBwYWdlIGZvciBkZXRhaWxzLgorICAg ICAgICBOb3RlOiBzb21lIHN5c3RlbXMgaW5zdGFsbCB0Y3BkIHRvIGEgZGlmZmVyZW50IHBhdGgs IGJ1dCBpdCdzCisgICAgICAgIHVuY29tbW9uLiBDaGFuZ2UgdGhlIGZpcnN0IHBhdGggYWNjb3Jk aW5nbHkgaWYgeW91ciB0Y3BkIHJlc2lkZXMKKyAgICAgICAgaW4gL3Vzci9ldGMgb3IgL3Vzci9s YmluLgorCisxNi4gV3JpdGUgdGhlIGZvbGxvd2luZyBpbnRvIC9ldGMvaG9zdHMuZGVueToKKwor ICAgICAgICBsZWFmbm9kZTogQUxMCisKKyAgICBhbmQgaW50byAvZXRjL2hvc3RzLmFsbG93Ogor CisgICAgICAgIGxlYWZub2RlOiAxMjcuMC4wLjEKKworICAgIHRvIHByb3RlY3QgeW91ciBuZXdz IHNlcnZlciBmcm9tIGFidXNlLiBJZiB5b3Ugd2FudCB0byBtYWtlIGxlYWZub2RlCisgICAgYWNj ZXNzaWJsZSB0byBhZGRpdGlvbmFsIElQIG51bWJlcnMvZG9tYWlucywgYWRkIHRoZW0gaW4KKyAg ICAvZXRjL2hvc3RzLmFsbG93IGluIHRoZSBmb3JtYXQgZGVzY3JpYmVkIGFib3ZlLiBTZWUgaG9z dHNfYWNjZXNzKDUpCisgICAgYW5kIGhvc3RzX29wdGlvbnMoNSkgKGlmIGFwcGxpY2FibGUpIGZv ciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRjcAorICAgIHdyYXBwZXJzLgorCisxNy4gKG9wdGlv bmFsKSBJZiB5b3Ugd2FudCB0byBhbGxvdyByZWFkLW9ubHkgYWNjZXNzLCB5b3UgY2FuIHNldCB0 aGUKKyAgICBOT1BPU1RJTkcgZW52aXJvbm1lbnQgdmFyaWFibGUsIGZvciBleGFtcGxlLCBwdXQg dGhpcyBpbnRvCisgICAgL2V0Yy9ob3N0cy5hbGxvdzoKKworICAgICAgICBsZWFmbm9kZTogMTky LjE2OC4wLjQ6IHNldGVudiBOT1BPU1RJTkcgIllvdSBtYXkgb25seSByZWFkLiIKKworICAgIFRo ZSBjb250ZW50cyBvZiB0aGlzIHZhcmlhYmxlIGFyZSBwcmludGVkIGF0IHRoZSBlbmQgb2YgdGhl IGJhbm5lciwKKyAgICB3aXRoIGNvbnRyb2wgY2hhcmFjdGVycyAoYXMgcGVyIGlzY250cmwoMykp IHJlcGxhY2VkIGJ5IGFuCisgICAgdW5kZXJzY29yZS4KKworMTguIChvcHRpb25hbCkgSWYgeW91 IHdhbnQgdG8gYWxsb3cgY2xpZW50cyByZWFkIGFjY2VzcyB0byBsb2NhbCBvcgorICAgIGdsb2Jh bCBzdWJzY3JpYmVkIGdyb3VwcywgYnV0IGRvIG5vdCB3YW50IHRvIGFsbG93IHRoZW0gdG8gc3Vi c2NyaWJlCisgICAgdG8gbmV3IGdyb3VwcywgeW91IGNhbiBzZXQgdGhlIE5PU1VCU0NSSUJFIGVu dmlyb25tZW50IHZhcmlhYmxlLgorICAgIFdoZW4gdGhpcyB2YXJpYWJsZSBpcyBzZXQsIGEgY2xp ZW50IHdpbGwgbmV2ZXIgc2VlIGEgcHNldWRvIGFydGljbGUuCisgICAgRm9yIGV4YW1wbGUsIGlm IGNsaWVudHMgZnJvbSAxMjcuMC4wLjEgYW5kIDE5Mi4xNjguMC40MiBtYXkKKyAgICBzdWJzY3Jp YmUgbmV3IGdyb3VwcywgYW5kIGFsbCBvdGhlciAxOTIuMTY4LjAuKiBob3N0cyBtYXkgcmVhZCB0 aGUKKyAgICBleGlzdGluZyBncm91cHMgYnV0IG5vdCBzdWJzY3JpYmUgdG8gbmV3IGdyb3Vwcywg cHV0IHRoaXMgaW50bworICAgIC9ldGMvaG9zdHMuYWxsb3cgKHRoaXMgYXNzdW1lcyBsaWJ3cmFw L3RjcGQgaGF2ZSBiZWVuIGNvbXBpbGVkIHdpdGgKKyAgICAtRFBST0NFU1NfT1BUSU9OUyk6CisK KyAgICAgICAgbGVhZm5vZGU6IDEyNy4wLjAuMSAxOTIuMTY4LjAuNDI6IEFMTE9XCisgICAgICAg IGxlYWZub2RlOiAxOTIuMTY4LjAuMC8yNTUuMjU1LjI1NS4wOiBzZXRlbnYgTk9TVUJTQ1JJQkUg MQorICAgICAgICBsZWFmbm9kZTogQUxMOiBERU5ZCisKKzE5LiBSdW4gZmV0Y2huZXdzLiBUaGUg Zmlyc3QgcnVuIHdpbGwgdGFrZSBzb21lIHRpbWUgc2luY2UgZmV0Y2huZXdzCisgICAgcmVhZHMg YSBsaXN0IG9mIGFsbCBuZXdzZ3JvdXBzIGZyb20geW91ciB1cHN0cmVhbSBzZXJ2ZXIuIEluIHRo ZQorICAgIHdvcnN0IGNhc2UsIHRoaXMgY2FuIHRha2UgdXAgdG8gNjAgbWludXRlcywgZGVwZW5k aW5nIG9uIGhvdyBtYW55CisgICAgbmV3c2dyb3VwcyB5b3VyIHByb3ZpZGVyIG9mZmVycyBhbmQg aG93IHJlbGlhYmxlIHlvdXIgbW9kZW0KKyAgICBjb25uZWN0aW9uIGlzLiBUbyBzZWUgZmV0Y2hu ZXdzIHdvcmtpbmcsIHJ1biBpdCB3aXRoIC12dnYuCisKKzIwLiBSdW4gdGV4cGlyZS4gSXQgd2ls bCBjcmVhdGUgZGlyZWN0b3JpZXMgbWlzc2luZyBhZnRlciB0aGUgZmlyc3QKKyAgICBpbnN0YWxs LgorCisyMS4gRXhpdCB5b3VyIHJvb3Qgc2hlbGwuCisKKzIyLiBSZWFkIG5ld3MgdXNpbmcgYW4g Tk5UUCBjbGllbnQgKHdpdGggJE5OVFBTRVJWRVIgb3IgL2V0Yy9ubnRwc2VydmVyCisgICAgcG9p bnRpbmcgdG8geW91ciBvd24gaG9zdCkuIFNlbGVjdCB0aGUgZ3JvdXBzIHlvdSB3YW50IHRvIHJl YWQgaW4KKyAgICB0aGUgZnV0dXJlLiBZb3Ugd2lsbCBmaW5kIHRoZW0gZW1wdHkgZXhjZXB0IGEg ZGVmYXVsdCBhcnRpY2xlLgorICAgIFJlYWRpbmcgdGhpcyBhcnRpY2xlIGlzIG5lY2Vzc2FyeSB3 aXRoIHNvbWUgbmV3c3JlYWRlcnMgdG8gc2VsZWN0CisgICAgdGhlIGdyb3VwcyBmb3IgZnVydGhl ciBmZXRjaGluZy4KKworICAgIEFmdGVyIHRoaXMsIHlvdSBzaG91bGQgaGF2ZSBlbXB0eSBmaWxl cyBpbgorICAgIC92YXIvc3Bvb2wvbmV3cy9pbnRlcmVzdGluZy5ncm91cHMvIGZvciBldmVyeSBn cm91cCB5b3Ugd2FudCB0bworICAgIHJlYWQuCisKKzIzLiBCZWNvbWUgcm9vdCBhbmQgcnVuIGZl dGNobmV3cyBhZ2FpbiwgdGhlbiBleGl0IHlvdXIgcm9vdCBzaGVsbC4gVGhpcworICAgIHJ1biBz aG91bGQgcGljayB1cCBhbGwgdGhlIGdyb3VwcyB5b3Ugd2FudCB0byByZWFkLgorCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKworMy4gVVBEQVRFIEZST00gUFJFVklPVVMgVkVSU0lPTlMKKworMy4xIFVwZGF0 ZSBmcm9tIHZlcnNpb25zIDwgMi4wYjhfbWE4CisKK1RoZSBsb2NhbC5ncm91cHMgYW5kIGdyb3Vw aW5mbyBmaWxlcyBhbmQgdGhlIGhhc2ggZnVuY3Rpb24gZm9yCittZXNzYWdlLmlkIGhhdmUgY2hh bmdlZCBmcm9tIGFueSBmb3JtZXIgdmVyc2lvbiB0byAyLjBiOF9tYTguCisKK0lNUE9SVEFOVDog VG8gZml4IHRoZSAicmVtb3RlIiBncm91cHMsIHJ1biBmZXRjaG5ld3MgLWYgLS0gaXQgd2lsbCB0 YWtlCitzb21lIHRpbWUsIGJlY2F1c2UgaXQgcmVmZXRjaGVzIHRoZSB3aG9sZSBhY3RpdmUgZmls ZSwgYnV0IHRoYXQncyBuZWVkZWQKK2FueWhvdyB0byBmaWd1cmUgdGhlIGdyb3VwIHN0YXR1cyAo cG9zdGluZyBhbGxvd2VkL25vdCBhbGxvd2VkL21vZGVyYXRlZAorZ3JvdXApLgorCitUbyBmaXgg bG9jYWwuZ3JvdXBzLCBpZiB5b3UgaGF2ZSBwZXJsIGluc3RhbGxlZDoKKworICAgICAgcGVybCAt cGxlICdzIC9ccysvXHR5XHQvJyAtaS5iYWsgL2V0Yy9sZWFmbm9kZS9sb2NhbC5ncm91cHMKKwor VGhpcyB3aWxsIG1ha2UgYSBiYWNrdXAgb2YgeW91ciBvcmlnaW5hbCAvZXRjL2xlYWZub2RlL2xv Y2FsLmdyb3VwcyBpbgorL2V0Yy9sZWFmbm9kZS9sb2NhbC5ncm91cHMuYmFrLgorCitJZiB5b3Ug ZG9uJ3QgaGF2ZSBQZXJsLCB1c2UgYSB0ZXh0IGVkaXRvciB0aGF0IHByZXNlcnZlcyBIVEFCCitj aGFyYWN0ZXJzLCBjaGFuZ2UgYWxsIHdoaWxlIHNwYWNlIHRvIFRBQiBhbmQgaW5zZXJ0IGFuIGFk ZGl0aW9uYWwgZmllbGQKK3JlYWRpbmcganVzdCB5OgorCisgIEJlZm9yZTogbG9jYWwudGVzdCBz b21lIHRlc3QgZ3JvdXAKKyAgQWZ0ZXI6IGxvY2FsLnRlc3RUQUJ5VEFCc29tZSB0ZXN0IGdyb3Vw CisKK1VzZSB0aGUgcmVhbCBUQUIgY2hhcmFjdGVyIHJhdGhlciB0aGFuIFRBQi4KK1RvIGZpeCB0 aGUgc3Bvb2wgZm9yIG1lc3NhZ2UuaWRzLCBydW4gdGV4cGlyZSAtcgorVGhlIGNoYW5nZXMgd3Jp dHRlbiBpbiBzZWN0aW9uIDMuMiBiZWxvdyBhbHNvIGFwcGx5LgorCiszLjIgVXBkYXRlIGZyb20g dmVyc2lvbnMgPCAyLjAKKworRnJvbSAxLjkueCB0byAyLjAgdGhlcmUgd2VyZSBzb21lIGNoYW5n ZXMgdG8gb3B0aW9ucyBpbiB0aGUgbWFpbgorY29uZmlndXJhdGlvbiBmaWxlLiBUaGUgb3B0aW9u cyAibWF4YWdlIiwgIm1heGxpbmVzIiwgIm1pbmxpbmVzIiwKKyJtYXhieXRlcyIgYW5kICJtYXhj cm9zc3Bvc3QiIGhhdmUgYmVjb21lIG9ic29sZXRlIGluIHRoZSBtYWluCitjb25maWd1cmF0aW9u IGZpbGUgYW5kIGhhdmUgdG8gYmUgc3BlY2lmaWVkIGluIHRoZSBmaWx0ZXIgZmlsZSBpbnN0ZWFk LgorVGhlIGFkdmFudGFnZSBvZiB0aGlzIGlzIHRoYXQgeW91IGNhbiBkbyBtdWNoIGZpbmVyIHNl bGVjdGlvbiBvbiB0aGVzZQorY3JpdGVyaWEgbm93LgorCitUbyByZXBsYWNlLCBmb3IgZXhhbXBs ZSwgYSAibWF4YWdlID0gNSIgc3BlY2lmaWNhdGlvbiBpbiB0aGUgbWFpbgorY29uZmlndXJhdGlv biBmaWxlLCB5b3Ugc2hvdWxkIGFkZCB0aGUgZm9sbG93aW5nIHRvIHlvdXIgZmlsdGVyIGZpbGU6 CisKKyAgICBuZXdzZ3JvdXBzID0gLioKKyAgICBtYXhhZ2UgPSA1CisgICAgYWN0aW9uID0ga2ls bAorCitUaGUgbGVhZm5vZGUgcHJvZ3JhbXMgd2lsbCBpc3N1ZSB3YXJuaW5ncyBpZiB0aGV5IGVu Y291bnRlciBvYnNvbGV0ZQorc3BlY2lmaWNhdGlvbnMgaW4gdGhlIG1haW4gY29uZmlnIGZpbGUu CisKKzMuMyBVcGRhdGUgZnJvbSB2ZXJzaW9ucyA8IDEuOS4zCisKK0Zyb20gdmVyc2lvbiAxLjku MyBvbiwgdGhlIGdyb3VwaW5mbyBmaWxlIGlzIHNvcnRlZCBpbiBhCitjYXNlLWluc2Vuc2l0aXZl IG1hbm5lci4gVG8gdXBkYXRlIGNvcnJlY3RseSwgZG8gYSAibWFrZSB1cGRhdGUiIGFzIHJvb3QK K2FmdGVyIHlvdSBoYXZlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgIm1ha2UgaW5zdGFsbCIuIFRo aXMgd2lsbCByZS1zb3J0Cit0aGUgZ3JvdXBpbmZvIGZpbGUuIFRoZSBvbGQgZ3JvdXBpbmZvIGZp bGUgd2lsbCBiZSBzdG9yZWQgYXMKK2dyb3VwaW5mby5vbGQganVzdCBpbiBjYXNlIHNvbWV0aGlu ZyBnb2VzIHdyb25nLiBZb3UgYWxzbyBoYXZlIHRvIGNoYW5nZQoreW91ciBtYWluIGNvbmZpZyBm aWxlIG1hbnVhbGx5IGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgc2VjdGlvbi4KKworMy40 IFVwZGF0ZSBmcm9tIHZlcnNpb25zIDwgMS42CisKK0JldHdlZW4gbGVhZm5vZGUtMS42YWxwaGEg YW5kIGxlYWZub2RlLTEuNiwgdGhlIGZvcm1hdCBvZiB0aGUgZ3JvdXBpbmZvCitmaWxlIGNoYW5n ZWQgYW5kIHNvbWUgZmlsZXMgbW92ZWQgdG8gb3RoZXIgcGxhY2VzLiBUbyB1cGRhdGUgY29ycmVj dGx5LAorZG8gYSAibWFrZSB1cGRhdGUiIGFzIHJvb3QgYWZ0ZXIgeW91IGhhdmUgc3VjY2Vzc2Z1 bGx5IGNvbXBsZXRlZCAibWFrZQoraW5zdGFsbCIuIFRoaXMgd2lsbCByZWZvcm1hdCB0aGUgZ3Jv dXBpbmZvIGZpbGUgYW5kIG1vdmUgdGhlIG90aGVyIGZpbGVzCitpbnRvIHRoZSBjb3JyZWN0IHBs YWNlcy4gVGhlIG9sZCBncm91cGluZm8gZmlsZSB3aWxsIGJlIHN0b3JlZCBhcworZ3JvdXBpbmZv Lm9sZCBqdXN0IGluIGNhc2Ugc29tZXRoaW5nIGdvZXMgd3JvbmcuIFlvdSBhbHNvIGhhdmUgdG8g Y2hhbmdlCit5b3VyIG1haW4gY29uZmlnIGZpbGUgbWFudWFsbHkgYXMgZGVzY3JpYmVkIGluIHRo ZSBzZWN0aW9uICJVcGRhdGUgZnJvbQordmVyc2lvbnMgPCAyLjAiLgorCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKworNC4gRklMRVMgQU5EIERJUkVDVE9SSUVTCisKK0xlYWZub2RlIHB1dHMgaXRzIGZpbGVz IGluIHRocmVlIHNlcGFyYXRlIGRpcmVjdG9yaWVzOiBUaGUgc3Bvb2wKK2RpcmVjdG9yeSwgdGhl IGxpYnJhcnkgZGlyZWN0b3J5LCBhbmQgdGhlIGJpbmFyaWVzIGRpcmVjdG9yeS4gQWxsCitkaXJl Y3RvcmllcyBjYW4gYmUgY2hhbmdlZCBhdCBjb21waWxlIHRpbWUuCisKK0luIHRoZSBzcG9vbCBk aXJlY3RvcnkgeW91IGZpbmQgdGhlIHN0b3JlZCBuZXdzLCB0aGUgYWN0aXZlIGZpbGUgYW5kCitz b21lIG90aGVyIHNob3J0LWxpdmVkIGNvbmZpZ3VyYXRpb24gZmlsZS4gSXQgZGVmYXVsdHMgdG8K Ky92YXIvc3Bvb2wvbmV3cyBhbmQgY2FuIGJlIGNoYW5nZWQgYXQgY29tcGlsYXRpb24gdGltZS4g VGhlcmUgYXJlIHNvbWUKK3NwZWNpYWwgZGlyZWN0b3JpZXMgaGVyZTsgc2VlIHRoZSBsZWFmbm9k ZSg4KSBtYW4gcGFnZS4KKworVGhlIGxpYnJhcnkgZGlyZWN0b3J5IGNvbnRhaW5zIGxvbmctbGl2 ZWQgY29uZmlndXJhdGlvbiBmaWxlcy4gSXQKK2RlZmF1bHRzIHRvIC9ldGMvbGVhZm5vZGUuCisK K1RoZSBiaW5hcmllcyBkaXJlY3RvcnksIC91c3IvbG9jYWwvc2JpbiBieSBkZWZhdWx0LCBjb250 YWlucyB0aGUKK2V4ZWN1dGFibGUgcHJvZ3JhbXMgYXBwbHlmaWx0ZXIsIHRleHBpcmUsIGZldGNo bmV3cyBhbmQgbGVhZm5vZGUuCisKK1RoZSB1c2VyIGRpcmVjdG9yeSwgL3Vzci9sb2NhbC9iaW4g YnkgZGVmYXVsdCwgY29udGFpbnMgdGhlIG5ld3NxCitwcm9ncmFtLgorCis0LjEuIFRoZSBtYWlu IGNvbmZpZ3VyYXRpb24gZmlsZQorCitUaGUgbWFpbiBjb25maWd1cmF0aW9uIGZpbGUgY29udGFp bnMgc2V0dGluZ3MgaW1wb3J0YW50IGZvciBhbGwgcHJvZ3JhbXMKK29mIHRoZSBsZWFmbm9kZSBz dWl0ZS4gSXQgZGVmYXVsdHMgdG8gL2V0Yy9sZWFmbm9kZS9jb25maWcsIGJ1dCBzZXZlcmFsCitj b25maWd1cmF0aW9uIGZpbGVzIGNhbiBiZSB1c2VkIGF0IG9uY2UgYnkgZW1wbG95aW5nIHRoZSAt RiBzd2l0Y2ggb2YKK3RoZSBwcm9ncmFtcy4KKworVGhlIGZpbGUgY29udGFpbnMgdHdvIG1hbmRh dG9yeSBhbmQgYSBudW1iZXIgb2Ygb3B0aW9uYWwgcGFyYW1ldGVycy4KKworTk9URTogR2xvYmFs IG9wdGlvbnMgbXVzdCBjb21lIGZpcnN0LCBzZXJ2ZXItc3BlY2lmaWMgb3B0aW9ucyBiZWxvdyB0 aGUKK3NlcnZlciA9IGxpbmVzLgorCitNYW5kYXRvcnkgcGFyYW1ldGVycworCisgIHNlcnZlciA9 IG5ld3MwMi5iaWdwcm92aWRlci5jb20KKworWW91IGhhdmUgdG8gc3BlY2lmeSBhdCBsZWFzdCBv bmUgc2VydmVyIChleGNlcHQgaWYgeW91IHdhbnQgbGVhZm5vZGUgdG8KK3NlcnZlIGFzIGEgbG9j YWwgc2VydmVyIG9ubHkpLiBVc3VhbGx5LCB0aGlzIHdpbGwgYmUgdGhlIG5ld3Mgc2VydmVyIG9m Cit5b3VyIHByb3ZpZGVyLiBZb3UgY2FuIHNwZWNpZnkgbW9yZSB0aGFuIG9uZSBzZXJ2ZXIsIGFu ZCBmZXRjaG5ld3Mgd2lsbAorcmV0cmlldmUgbmV3cyBmcm9tIGFsbCBvZiB0aGVtLCB0YWtpbmcg Y2FyZSBub3QgdG8gdHJhbnNmZXIgYXJ0aWNsZXMKK211bHRpcGxlIHRpbWVzIHRvIHlvdXIgbWFj aGluZS4gU2VydmVycyB3aWxsIGJlIHF1ZXJpZWQgaW4gdGhlIG9yZGVyCitzcGVjaWZpZWQgaW4g dGhlIGNvbmZpZyBmaWxlLgorCisgIGV4cGlyZSA9IDUKKworVGhpcyBwYXJhbWV0ZXIgZGV0ZXJt aW5lcyBob3cgbWFueSBkYXlzIHRocmVhZHMgYXJlIGtlcHQgb24geW91ciBoYXJkCitkaXNrLiB0 ZXhwaXJlIHdpbGwgZGVsZXRlIHdob2xlIHRocmVhZHMsIG5vdCBqdXN0IHNpbmdsZSBhcnRpY2xl cy4KKworU2VydmVyLXNwZWNpZmljIG9wdGlvbmFsIHBhcmFtZXRlcnMKKworVG8gY29uZmlndXJl IGludGVyYWN0aW9uIHdpdGggdGhlIHNlcnZlciBzb21ld2hhdCwgeW91IGNhbiBjaGFuZ2UgdGhl CitiZWhhdmlvdXIgb2YgZmV0Y2huZXdzIGJ5IHNldHRpbmcgc2V2ZXJhbCBzZXJ2ZXItc3BlY2lm aWMgb3B0aW9uYWwKK3BhcmFtZXRlcnMuIFRoZXkgaGF2ZSB0byBiZSBzcGVjaWZpZWQgZGlyZWN0 bHkgYWZ0ZXIgdGhlIGNvcnJlc3BvbmRpbmcKKyJzZXJ2ZXIiIHN0YXRlbWVudC4gQSBuZXcgc2Vy dmVyIHN0YXRlbWVudCBpbiB0aGUgY29uZmlnIGZpbGUgd2lsbCBhbHNvCithbGxvdyBuZXcgb3B0 aW9uYWwgcGFyYW1ldGVycy4KKworICB1c2VybmFtZSA9IG15bmFtZQorICBwYXNzd29yZCA9IG15 cGFzc3dkCisKK0lmIHlvdXIgdXBzdHJlYW0gc2VydmVyIHJlcXVpcmVzIGEgZm9ybSBvZiBhdXRo ZW50aWNhdGlvbiwgeW91IGNhbiBzZXQKK3lvdXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGhlcmUu CisKKyAgdGltZW91dCA9IDMwCisKK0l0IG1heSBoYXBwZW4gdGhhdCwgZHVlIHRvIGEgYmFkIGNv bm5lY3Rpb24gb3Igb3RoZXIgcmVhc29ucywgdGhlIHNlcnZlcgorc3RvcHMgdGFsa2luZyB0byB5 b3Ugd2hpbGUgeW91IGZldGNoIG5ld3MuIFRoZSAidGltZW91dCIgcGFyYW1ldGVyCitkZXRlcm1p bmVzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBmZXRjaG5ld3MgaXMgc3VwcG9zZWQgdG8gd2FpdCBm b3IgYQorcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyIGJlZm9yZSBnaXZpbmcgdXAuCisKKyAgbm9k ZXNjID0gMQorCitTb21lIHNlcnZlcnMgYXJlIHVuYWJsZSB0byBkZWxpdmVyIGRlc2NyaXB0aW9u cyBvZiBuZXcgbmV3c2dyb3VwcworY29ycmVjdGx5LiBXaGVuIGZldGNobmV3cyBlbmNvdW50ZXJz IHN1Y2ggYSBzZXJ2ZXIsIGl0IHdpbGwgcHJpbnQgdGhlCit3YXJuaW5nCisKKyAgc2VydmVyLm5h bWUgZG9lcyBub3QgcHJvY2VzcyBMSVNUIE5FV1NHUk9VUFMgbmV3cy5ncm91cC5uYW1lCisgIGNv cnJlY3RseTogdXNlIG5vZGVzYworCitUbyBhbGxvdyBmb3Igc2hvcnRlciBkb3dubG9hZCB0aW1l cywgeW91IHNob3VsZCBpbiB0aGlzIGNhc2Ugc2V0ICJub2Rlc2MKKz0gMSIgZm9yIHRoYXQgcGFy dGljdWxhciBzZXJ2ZXIgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS4KKworICBwb3J0ID0gODAw MAorCitOb3JtYWxseSwgZmV0Y2huZXdzIHdpbGwgdHJ5IHRvIHJldHJpZXZlIG5ld3MgZnJvbSBw b3J0IDExOSAodGhlCitzdGFuZGFyZCBubnRwIHBvcnQpIG9mIHlvdXIgdXBzdHJlYW0gc2VydmVy LiBJZiB0aGUgdXBzdHJlYW0gc2VydmVyIHJ1bnMKK29uIGEgZGlmZmVyZW50IHBvcnQsIHlvdSBj YW4gc3BlY2lmeSBpdCB3aXRoIHRoaXMgb3B0aW9uLgorCitHZW5lcmFsIG9wdGlvbmFsIHBhcmFt ZXRlcnMKKworICBhdXRoZW50aWNhdGUgPSBNRVRIT0QKKworUmVxdWlyZSB0aGF0IE5OVFAgY2xp ZW50cyBjb25uZWN0aW5nIHRvIHlvdXIgbGVhZm5vZGUgYXV0aGVudGljYXRlCit0aGVtc2VsdmVz LiBUaGUgb25seSBtZXRob2QgY3VycmVudGx5IHN1cHBvcnRlZCBpcyBpbnRlcm5hbC4gSW4gdGhp cworbW9kZSwgbGVhZm5vZGUgZXhwZWN0cyBhIGZpbGUgdXNlcnMgaW4gaXRzIHN5c2NvbmZkaXIs CisvZXRjL2xlYWZub2RlL3VzZXJzIGJ5IGRlZmF1bHQsIHdoaWNoIGhhcyBhIHNpbXBsZSBmb3Jt YXQsIG9uZSBsaW5lIHBlcgordXNlciwgd2l0aCB0aGUgdXNlciBuYW1lICh3aGljaCBjYW5ub3Qg Y29udGFpbiBzcGFjZXMpLCB0aGVuIGEgY29sb24sCit0aGVuIHRoZSBjcnlwdCgzKSBlbmNyeXB0 ZWQgcGFzc3dvcmQuIFRvIGdlbmVyYXRlIHRoZXNlIGxpbmVzLCB5b3UgY2FuCit1c2UgdGhlIFBl cmwgcHJvZ3JhbSB0b29scy9tYWtlX3Bhc3MucGwsIGZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0 byBhZGQKK2EgdXNlciAiZW5pZ21hIiB3aXRoIGEgcGFzc3dvcmQgb2YgImJyZWFrIW1lIiwgdHlw ZToKKworICBwZXJsIC13VCB0b29scy9tYWtlX3Bhc3MucGwgJ2VuaWdtYScgJ2JyZWFrIW1lJwor CithbmQgY29weSB0aGUgcmVzdWx0aW5nIGxpbmUgdG8gdGhlIHVzZXJzIGZpbGUuCitodHBhc3N3 ZCBhcyBzaGlwcGVkIGZvciBBcGFjaGUgc2VydmVycyBzaG91bGQgYWxzbyB3b3JrIGlmIGluIGNy eXB0KDMpCittb2RlLgorCisgIGhvc3RuYW1lID0gaG9zdC5kb21haW4uY291bnRyeQorCitJZiB0 aGUgcG9zdGluZ3MgdGhhdCB5b3Ugd3JpdGUgZG8gbm90IGhhdmUgbWVzc2FnZSBJRHMgKGdlbmVy YXRlZCBieSB0aGUKK25ld3NyZWFkZXIpLCBsZWFmbm9kZSB3aWxsIGdlbmVyYXRlIGEgbWVzc2Fn ZSBJRCBmb3IgeW91LiAoSXQgd2lsbCBuZXZlcgorb3ZlcndyaXRlIGFuIGFscmVhZHkgZXhpc3Rp bmcgbWVzc2FnZSBJRC4pIE1lc3NhZ2UgSURzIGdlbmVyYXRlZCBieQorbGVhZm5vZGUgZmVhdHVy ZSAiLmxuIiBiZWZvcmUgdGhlIEAgc2lnbi4gVGhlIG1lc3NhZ2UgSUQgY29udGFpbnMgdGhlCitm dWxseSBxdWFsaWZpZWQgaG9zdG5hbWUgb2YgeW91ciBtYWNoaW5lIHdoaWNoIG1heSBub3QgYWx3 YXlzIGJlIHdoYXQKK3lvdSB3YW50LiBJbiB0aGF0IGNhc2UsIHlvdSBjYW4gb3ZlcnJpZGUgdGhl IHVzZSBvZiB0aGUgaG9zdG5hbWUgYnkKK3VzaW5nIHRoZSAiaG9zdG5hbWUiIG9wdGlvbi4KKwor ICBjcmVhdGVfYWxsX2xpbmtzID0gMQorCitVc3VhbGx5IGZldGNobmV3cyB3aWxsIHN0b3JlIGFy dGljbGVzIG9ubHkgaW4gdGhlIG5ld3Nncm91cHMgd2hpY2ggeW91Citjb25zaWRlciBpbnRlcmVz dGluZy4gVW5mb3J0dW5hdGVseSwgdGhpcyBtYWtlcyBpdCBkaWZmaWN1bHQgdG8gc2NvcmUKK2Zv ciB0aGUgbnVtYmVyIG9mIG5ld3Nncm91cHMgYSBtZXNzYWdlIGlzIHBvc3RlZCB0byBiZWNhdXNl IHRoZQorTmV3c2dyb3VwczogaGVhZGVyIGlzIG5vdCBmZWF0dXJlZCBpbiB0aGUgb3ZlcnZpZXcg aW5mb3JtYXRpb247Cit0aGVyZWZvcmUgeW91IGNhbiBkZXRlcm1pbmUgdGhlIG51bWJlciBvZiBu ZXdzZ3JvdXBzIGFuIGFydGljbGUgaXMKK2Nyb3NzcG9zdGVkIHRvIG9ubHkgZnJvbSB0aGUgWHJl ZjogaGVhZGVyLiBJZiAiY3JlYXRlX2FsbF9saW5rcyIgaXMgc2V0Cit0byAxLCBmZXRjaG5ld3Mg d2lsbCBzdG9yZSBhcnRpY2xlcyBpbiBhbGwgbmV3c2dyb3VwcyB3aGljaCB0aGV5IGFyZQorcG9z dGVkIHRvLCBtYWtpbmcgYWxsIHRoZXNlIG5ld3Nncm91cHMgdHVybiB1cCBpbiB0aGUgWHJlZjog aGVhZGVyLgorCisgIGdyb3VwZXhwaXJlID0gYS5uZXdzLmdyb3VwIDcKKworQXMgb3V0bGluZWQg YWJvdmUsIHRleHBpcmUgd2lsbCBleHBpcmUgdGhyZWFkcyBhZnRlciAiZXhwaXJlIiBkYXlzLiBJ ZgoreW91IHdhbnQgdG8gYWRqdXN0IGV4cGlyeSB0aW1lcyBmb3IgY2VydGFpbiBncm91cHMsIHlv dSBtYXkgdXNlIHRoZQorImdyb3VwZXhwaXJlIiBwYXJhbWV0ZXIgdG8gZG8ganVzdCB0aGF0LiBZ b3UgY2FuIHNwZWNpZnkgZ3JvdXBzIG9yIHVzZQord2lsZGNhcmRzOyBmb3IgZXhhbXBsZQorCisg IGdyb3VwZXhwaXJlID0gKi5hbm5vdW5jZSAzMAorCit3aWxsIGFmZmVjdCBleHBpcnkgdGltZXMg b2YgYWxsIGdyb3VwcyBlbmRpbmcgd2l0aCAiLmFubm91bmNlIi4KKworICBmaWx0ZXJmaWxlID0g L2V0Yy9sZWFmbm9kZS9maWx0ZXJzCisKK0lmIHlvdSB3YW50IHRvIGVtcGxveSBmaWx0ZXJpbmcg b24gaW5jb21pbmcgbWVzc2FnZXMsIHlvdSBoYXZlIHRvCitzcGVjaWZ5IHRoZSBwYXRoIHdoZXJl IHRoZSBmaWx0ZXJmaWxlIGNhbiBiZSBmb3VuZC4gVGhlIGZvcm1hdCBvZiB0aGUKK2ZpbHRlcmZp bGUgaXMgZGVzY3JpYmVkIGluIHRoZSBuZXh0IGNoYXB0ZXIuCisKKyAgdGltZW91dF9zaG9ydCA9 IDIKKyAgdGltZW91dF9sb25nID0gNQorCitUaGVzZSB0d28gcGFyYW1ldGVycyBkZXRlcm1pbmUg aG93IHF1aWNrbHkgYSBncm91cCBpcyB1bnN1YnNjcmliZWQgYnkKK2xlYWZub2RlIGFmdGVyIHlv dSBoYXZlIHN0b3BwZWQgcmVhZGluZyBpdC4gSWYgeW91IGhhdmUgbG9va2VkIGludG8gdGhlCitn cm91cCBvbmx5IG9uY2UsIHN1YnNjcmlwdGlvbiBpcyBzdG9wcGVkIGFmdGVyICJ0aW1lb3V0X3No b3J0IiBkYXlzOyBpZgoreW91IGhhdmUgcmVhZCBpdCBtb3JlIHJlZ3VsYXJseSwgc3Vic2NyaXB0 aW9uIGlzIHN0b3BwZWQgYWZ0ZXIKKyJ0aW1lb3V0X2xvbmciIGRheXMuIChZb3UgY2FuIHN0b3Ag c3Vic2NyaXB0aW9uIGltbWVkaWF0ZWx5IGJ5IHJlbW92aW5nCit0aGUgY29ycmVzcG9uZGluZyBm aWxlIGluIC92YXIvc3Bvb2wvbmV3cy9pbnRlcmVzdGluZy5ncm91cHMvKS4KKworICB0aW1lb3V0 X2FjdGl2ZSA9IDkwCisKK0J5IGRlZmF1bHQsIGZldGNobmV3cyB3aWxsIHJlLXJlYWQgYWN0aXZl IGZpbGVzIGZyb20gdGhlIHVwc3RyZWFtIHNlcnZlcgorZXZlcnkgOTAgZGF5cy4gVGhpcyBpbnRl cnZhbCBjYW4gYmUgY2hhbmdlZCBieSBzZXR0aW5nICJ0aW1lb3V0X2FjdGl2ZSIKK3RvIGEgZGlm ZmVyZW50IHZhbHVlLiBSZS1yZWFkaW5nIHRoZSBhY3RpdmUgZmlsZSBmcmVxdWVudGx5IHdpbGwg a2VlcCBpdAorYSBsaXR0bGUgYml0IHNtYWxsZXIgYnV0IHdpbGwgaW5jcmVhc2UgdGhlIG9uLWxp bmUgdGltZS4KKworICBkZWxheWJvZHkgPSAxCisKK1RoaXMgb3B0aW9uIHN3aXRjaGVzIGZldGNo bmV3cyBpbnRvIGEgbW9kZSB3aGVyZSBvbmx5IHRoZSBoZWFkZXJzIG9mCithcnRpY2xlcyBhcmUg ZmV0Y2hlZCBmb3IgdmlzdWFsIGluc3BlY3Rpb24uIE9ubHkgdGhlIGFydGljbGVzIHJlYWQgaW4K K3RoZSBuZXdzcmVhZGVyIHdpbGwgYmUgcmV0cmlldmVkIHRoZSBuZXh0IHRpbWUgZmV0Y2huZXdz IGlzIGNhbGxlZC4gVGhpcworY2FuIHNhdmUgYSBodWdlIGFtb3VudCBvZiBkaXNrIHNwYWNlIGFu ZCBkb3dubG9hZCB0aW1lIGJ1dCByZXF1aXJlcyBtb3JlCittYW51YWwgaW50ZXJ2ZW50aW9uIG9u IHRoZSB1c2VyIHNpZGUuCisKKyAgZ3JvdXBkZWxheWJvZHkgPSBzb21lLm5ld3MuZ3JvdXAKKwor SWYgeW91IHdhbnQgZGVsYXlib2R5IG1vZGUgb25seSBmb3Igc2VsZWN0ZWQgZ3JvdXBzLCB5b3Ug Y2FuIGVuYWJsZSB0aGlzCitkb3dubG9hZCBtb2RlIGZvciBvbmUgc3BlY2lmaWMgZ3JvdXAuIFRo ZSBnbG9iYWwgZGVsYXlib2R5IHN3aXRjaCBhYm92ZQorY2F1c2VzIGFsbCBncm91cHMgdG8gYmUg dHJlYXRlZCB0aGF0IHdheS4gVXNlIG9uZSBsaW5lIHBlciBncm91cAorcGF0dGVybi4KKworICBk ZWJ1Z21vZGUgPSAyNjAKKworVGhpcyBvcHRpb24gZm9yY2VzIHRoZSBsZWFmbm9kZSBwcm9ncmFt cyBpbnRvIGxvZ2dpbmcgbG90cyBvZgoraW5mb3JtYXRpb24gdmlhIHRoZSBzeXNsb2cgZGFlbW9u LiBJdCBpcyBvbmx5IHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBodW50Citkb3duIGJ1Z3MuIFNlZSBj b25maWcuZXhhbXBsZSBmb3IgYW4gZXhwbGFuYXRpb24gb2YgdGhlIG51bWJlciBoZXJlLgorCis0 LjIuIFRoZSBmaWx0ZXIgZmlsZQorCitUaGUgZmlsdGVyIGZpbGUgZm9ybWF0IGlzIGN1cnJlbnRs eSBkZXNjcmliZWQgaW4gZmV0Y2huZXdzKDUpLiBUeXBlIG1hbgorNSBmaWx0ZXJmaWxlIG9yIG1h biAtcyA1IGZpbHRlcmZpbGUgdG8gc2VlIHRoZSBkZXNjcmlwdGlvbi4KKworLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisKKzUuIExPQ0FMIE5FV1NHUk9VUFMKKworRnJvbSB2ZXJzaW9uIDIuMCBvbiwgTGVhZm5v ZGUgaXMgYWJsZSB0byBoYW5kbGUgbG9jYWwgbmV3c2dyb3Vwcy4gTG9jYWwKK25ld3Nncm91cHMg YXJlIGdyb3VwcyB0aGF0IGV4aXN0IG9ubHkgb24geW91ciBsb2NhbCBzZXJ2ZXIgYnV0IG5vdCBv bgordXBzdHJlYW0gc2VydmVycy4KKworVG8gY3JlYXRlIGEgbG9jYWwgbmV3c2dyb3VwLCB5b3Ug aGF2ZSB0byB0aGluayBvZiBhIG5ld3Nncm91cCBuYW1lIHdoaWNoCitzaG91bGQgbm90IGV4aXN0 IG9uIGFueSBvZiB5b3VyIHVwc3RyZWFtIHNlcnZlcnMuIEl0IGlzIHRoZXJlZm9yZSBhIGdvb2QK K2lkZWEgdG8gc3RhcnQgYSBuZXcgdG9wLWxldmVsIGhpZXJhcmNoeS4gWW91IHNob3VsZCBhbHNv IG1ha2UgdXAgYQorZGVzY3JpcHRpb24gZm9yIHlvdXIgbmV3c2dyb3VwLgorCitJZiB5b3UgY2hv b3NlIGEgbmV3c2dyb3VwIG5hbWUgd2hpY2ggZXhpc3RzIGFscmVhZHkgb24gYW4gdXBzdHJlYW0K K3NlcnZlciwgdGhlIG5ld3Nncm91cCBpcyBub3QgdHJlYXRlZCBhcyBhIGxvY2FsIG9uZS4KKwor TmV4dCwgeW91IHdyaXRlIHRoZSBuYW1lLCBzdGF0dXMgYW5kIGRlc2NyaXB0aW9uIGludG8gdGhl IGZpbGUKKy9ldGMvbGVhZm5vZGUvbG9jYWwuZ3JvdXBzIHVzaW5nIHlvdXIgcHJlZmVycmVkIHRl eHQgZWRpdG9yLCB3aGljaCBtdXN0Citub3QgbWFuZ2xlIFRBQnMgdG8gU1BBQ0VzLiBUaGUgZmls ZSBzaG91bGQgY29uc2lzdCBvZiBsaW5lcyBpbiB0aGUKK2Zvcm1hdAorCisgICAgIyBDb21tZW50 IGxpbmVzIGFyZSBhbGxvd2VkLCB3aXRoIGEgaGFzaCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGlu ZS4KKyAgICAjCisgICAgIyBIb3dldmVyLCBubyB3aGl0ZSBzcGFjZSBtYXkgcHJlY2VkZSB0aGUg aGFzaCBtYXJrLCBhbmQgZW1wdHkgbGluZXMKKyAgICAjIGFyZSBub3QgdmFsaWQuCisgICAgbmV3 cy5ncm91cC5uYW1lPFRBQj5zdGF0dXM8VEFCPmRlc2NyaXB0aW9uCisKKyhyZXBsYWNlIDxUQUI+ IHdpdGggYSBUQUIgY2hhcmFjdGVyISkKKworVGhlIGZpcnN0IGNvbHVtbiBvZiBlYWNoIGxpbmUg aXMgdGFrZW4gYXMgdGhlIG5ld3Nncm91cCBuYW1lOyB0aGUgc2Vjb25kCithcyB0aGUgc3RhdHVz ICh5IGZvciAibWF5IGJlIHBvc3RlZCB0byIsIG0gZm9yICJtb2RlcmF0ZWQiIC0tIHNlZSBiZWxv dworZm9yIG1vZGVyYXRvciBjb25maWd1cmF0aW9uKSwgdGhlIHRoaXJkIGNvbHVtbiBvZiB0aGUg bGluZSBpcworaW50ZXJwcmV0ZWQgYXMgZGVzY3JpcHRpb24uIEZvciBleGFtcGxlLCB0byBzZXQg dXAgYSBuZXdzZ3JvdXAKKyJsb2NhbC5sZWFmbm9kZSIgd2hpY2ggZGVhbHMgd2l0aCBMZWFmbm9k ZSdzIGludGVybmFscywgeW91IHdvdWxkIHB1dCBhCitsaW5lCisKKyAgbG9jYWwubGVhZm5vZGU8 VEFCPnk8VEFCPkxvY2FsIGxlYWZub2RlIHVzZXIgZ3JvdXAKKworaW50byAvZXRjL2xlYWZub2Rl L2xvY2FsLmdyb3Vwcy4gKElmIHlvdXIgY29uZmlndXJhdGlvbiBkb2VzIG5vdCByZXNpZGUKK2lu IC9ldGMvbGVhZm5vZGUsIHJlcGxhY2UgdGhpcyBwYXJ0IG9mIHRoZSBwYXRobmFtZSB3aXRoIHRo ZSBhcHByb3ByaWF0ZQorZGlyZWN0b3J5LikKKworNS4xIE1PREVSQVRFRCBORVdTR1JPVVBTCisK K0Zyb20gdmVyc2lvbiAyLjAgb24sIExlYWZub2RlIGFsc28gaGFuZGxlcyBtb2RlcmF0ZWQgbmV3 c2dyb3Vwcy4gVGhlc2UKK2FyZSBuZXdzZ3JvdXBzIHdoaWNoIG9ubHkgY2VydGFpbiBwZW9wbGUg bWF5IHBvc3QgaW50bywgYW5kIGFydGljbGVzCit3aGljaCBhIHJlZ3VsYXIgKG5vbi1tb2RlcmF0 b3IpIHVzZXIgcG9zdHMsIGFyZSBtYWlsZWQgdG8gdGhlIG1vZGVyYXRvci4KKworRXh0ZXJuYWwg bW9kZXJhdGVkIG5ld3Nncm91cHMgYXJlIGhhbmRsZWQgYnkgdGhlIHVwc3RyZWFtIHNlcnZlcnMu CisKK1RvIGNvbmZpZ3VyZSB0aGUgbW9kZXJhdG9ycyBmb3IgbG9jYWwgbW9kZXJhdGVkIGdyb3Vw cywgYW4KK0lOTi1jb21wYXRpYmxlICJtb2RlcmF0b3JzIiBmaWxlIGlzIHVzZWQuIEl0IGlzIG5h bWVkCisvZXRjL2xlYWZub2RlL21vZGVyYXRvcnMgYW5kIGhhcyB0aGUgZm9sbG93aW5nIGZvcm1h dDoKKworICAgIHBhdHRlcm46bW9kZXJhdG9yCisKK0VtcHR5IGxpbmVzIGFuZCBsaW5lcyB0aGF0 IHN0YXJ0IHdpdGggYSBoYXNoIGNoYXJhY3RlciAoIykgYXJlCitjb25zaWRlcmVkIGNvbW1lbnQg bGluZXMgYW5kIGFyZSBpZ25vcmVkLgorCitUaGUgcGF0dGVybiBpcyBhIG5vcm1hbCB3aWxkbWF0 IHBhdHRlcm4sIHdoaWNoIG1lYW5zIHRoYXQgaXQncyBhIFNIRUxMCitwYXR0ZXJuLCB0aGUgbW9z dCB1c2VmdWwgY2hhcmFjdGVyIGlzIHRoZSBhc3RlcmlzayAoKikgd2hpY2ggbWF0Y2hlcyBhbnkK K3NlcXVlbmNlIG9mIGNoYXJhY3RlcnMuIFRoZSBtb2RlcmF0b3IgZ2l2ZW4gb24gdGhhdCBsaW5l IGFwcGxpZXMgdG8gYWxsCitncm91cHMgdGhhdCB0aGUgcGF0dGVybiBtYXRjaGVzLiBTaG91bGQg bXVsdGlwbGUgbGluZXMgbWF0Y2ggYSBncm91cCwKK3RoZSBmaXJzdCBtYXRjaCBpbiB0aGUgZmls ZSAid2lucyIsIHRoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgcGF0dGVybnMKK2FyZSBub3QgdGFr ZW4gaW50byBhY2NvdW50LiBTbyBwdXQgdGhlIG1vcmUgc3BlY2lmaWMgcGF0dGVybnMgZmlyc3Qu CisKK1RoZSBtb2RlcmF0b3IgaXMgYSByZWd1bGFyIGludGVybmV0IG1haWwgYWRkcmVzcywgd2l0 aCB0aGUgZXhjZXB0aW9uCit0aGF0IHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mICIlcyIgaXMgcmVw bGFjZWQgd2l0aCB0aGUgbmV3c2dyb3VwIG5hbWUsCit3aXRoIGRvdHMgKC4pIGNvbnZlcnRlZCB0 byBkYXNoZXMgKC0pIGZvciBJTk4gY29tcGF0aWJpbGl0eS4KKworRXhhbXBsZToKKworICAgICMg VGhpcyBpcyBhIGNvbW1lbnQgbGluZQorICAgICMKKyAgICAjIHNwZWNpYWwgbW9kZXJhdG9yLCBo YW5zQGV4YW1wbGUuY29tIGlzIG1haWxlZCBhbGwgYXJ0aWNsZXMgZm9yCisgICAgIyBsb2NhbC5z cGVjaWFsCisgICAgbG9jYWwuc3BlY2lhbDpoYW5zQGV4YW1wbGUuY29tCisgICAgIyBtb2RlcmF0 b3IgZm9yIGFsbCBvdGhlciBsb2NhbCBncm91cHM6CisgICAgbG9jYWwuKjplZ29uKyVzQGV4YW1w bGUubmV0CisgICAgIyB0aGF0IG1lYW5zOgorICAgICMgbWFpbCBwb3N0aW5ncyBmb3IgbG9jYWwu dGVzdCB0byBlZ29uK2xvY2FsLXRlc3RAZXhhbXBsZS5uZXQKKyAgICAjIG1haWwgcG9zdGluZ3Mg Zm9yIGxvY2FsLnZpZGVvIHRvIGVnb24rbG9jYWwtdmlkZW9AZXhhbXBsZS5uZXQKKyAgICAjCisg ICAgIyBOb3RlOiBpZiB5b3UgcHV0IGxvY2FsLnNwZWNpYWwgYmVsb3cgbG9jYWwuKiwgbG9jYWwu c3BlY2lhbCB3aWxsIGJlCisgICAgIyBpZ25vcmVkLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworNi4g REVJTlNUQUxMQVRJT04KKworSWYgeW91IHdhbnQgdG8gdW5pbnN0YWxsIGxlYWZub2RlIChlLmcu wqBiZWNhdXNlIHlvdSB3YW50IHRvIHJlcGxhY2UgaXQKK3dpdGggYW5vdGhlciBuZXdzc2VydmVy KSBhbmQgaGF2ZSBhIE1ha2VmaWxlIGF2YWlsYWJsZSwgeW91IGNhbiBhY2hpZXZlCit0aGlzIGJ5 IGRvaW5nICJtYWtlIHVuaW5zdGFsbCIuCisKK0RvIG5vdCB1bmluc3RhbGwgYW4gb2xkIHZlcnNp b24gb2YgbGVhZm5vZGUgYmVmb3JlIHVwZGF0aW5nLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworNy4g RlJFUVVFTlRMWSBBU0tFRCBRVUVTVElPTlMKKworU2VlIHRoZSBmaWxlIEZBUS4KKworLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisKKzguIENPUFlSSUdIVAorCitMZWFmbm9kZSB2ZXJzaW9ucyB0aHJvdWdoIDEu NCB3ZXJlIHdyaXR0ZW4gYnkgQXJudCBHdWxicmFuZHNlbgorPGFndWxicmFAdHJvbGwubm8+IGFu ZCBhcmUgY29weXJpZ2h0IDE5OTUgVHJvbGwgVGVjaCBBUywgUG9zdGJva3MgNjEzMworRXR0ZXJz dGFkLCAwNjAyIE9zbG8sIE5vcndheSwgZmF4ICs0NyAyMjY0Njk0OS4KKworTGVhZm5vZGUgdmVy c2lvbnMgMS41IHVwIHRvIDEuOS4xOSBhbmQgMi4wYjEgdG8gMi4wYjggd2VyZSB3cml0dGVuIGJ5 CitDb3JuZWxpdXMgS3Jhc2VsIDxrcmFzZWxAd3B4eDAyLnRveGkudW5pLXd1ZXJ6YnVyZy5kZT4g YW5kIGFyZSBjb3B5cmlnaHQKKzE5OTctMjAwMS4KKworTGVhZm5vZGUgdmVyc2lvbnMgMS45LjIw IGFuZCB1cCB3ZXJlIHdyaXR0ZW4gYnkgTWF0dGhpYXMgQW5kcmVlCis8bWF0dGhpYXMuYW5kcmVl QGdteC5kZT4gYW5kIFJhbGYgV2lsZGVuaHVlcyA8cmFsZi53aWxkZW5odWVzQGdteC5kZT4KK2Fu ZCBhcmUgwqkgY29weXJpZ2h0IDIwMDIgLSAyMDAzLgorCitMZWFmbm9kZSB2ZXJzaW9ucyAyLjBi OF9tYSBhbmQgMi4wLjAuKiB3ZXJlIHdyaXR0ZW4gYnkgTWF0dGhpYXMgQW5kcmVlCis8bWF0dGhp YXMuYW5kcmVlQGdteC5kZT4sIFJhbGYgV2lsZGVuaHVlcyA8cmFsZi53aWxkZW5odWVzQGdteC5k ZT4gYW5kCitKw7ZyZyBEaWV0cmljaCA8am9lcmdAZGlldHJpY2gubmV0PiBhbmQgYXJlIMKpIGNv cHlyaWdodCAyMDAxIC0gMjAwMy4KKworTWFqb3IgbW9kaWZpY2F0aW9ucyB3ZXJlIG1hZGUgYnkK K1JhbmRvbGYgU2tlcmthIDxSYW5kb2xmLlNrZXJrYUBnbXguZGU+CitLZW50IFJvYm90dGkgPHJv Ym90dGlAZXJvbHMuY29tPgorTWFya3VzIEVuemVuYmVyZ2VyIDxlbnpAY2lwLnBoeXNpay51bmkt bXVlbmNoZW4uZGU+CitNYXR0aGlhcyBBbmRyZWUgPG1hdHRoaWFzLmFuZHJlZUBnbXguZGU+CitK w7ZyZyBEaWV0cmljaCA8am9lcmdAZGlldHJpY2gubmV0PgorU3RlZmFuIFdpZW5zIDxzLndpQGdt eC5uZXQ+CisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCitjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0 aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCit3aXRob3V0IGxpbWl0 YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCitk aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJl LCBhbmQgdG8KK3Blcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hl ZCB0byBkbyBzbywgc3ViamVjdCB0bwordGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUg YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi ZSBpbmNsdWRlZAoraW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg U29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB UlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCitPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCitNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCitJTiBOTyBFVkVO VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO WQorQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TiBPRiBDT05UUkFDVCwKK1RPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCitTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERF QUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKworVGhlIGdldGFsaW5lKCkgYW5kIGdldGxpbmUoKSBy b3V0aW5lcyBhcmUgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDIKK01hdHRoaWFzIEFuZHJlZSA8bWF0 dGhpYXMuYW5kcmVlQGdteC5kZT4uIFRoZXkgYXJlIGxpY2Vuc2VkIHVuZGVyIHRoZQorR05VIExl c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHTlUgTEdQTCkgMi4xLiBBIGNvcHkgb2YgdGhl IExHUEwgaXMKK3Byb3ZpZGVkIGluIHRoZSBmaWxlIENPUFlJTkcuCisKK1RoZSB3aWxkbWF0KCkg cm91dGluZSBpcyBDb3B5cmlnaHQgKGMpIDE5ODYtMTk5MSBSaWNoICRhbHoKKzxyc2FsekBvc2Yu b3JnPi4gVGhlIG9yaWdpbmFsIGNvcHlyaWdodCBub3RpY2UsIHRha2VuIGZyb20gSU5OIDIuMi4y LAorZm9sbG93czoKKworICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIGFueSBmb3JtIGFyZSBw ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUKKyAgZm9sbG93aW5nIHJlc3RyaWN0aW9ucyBhcmUg bWV0OgorCisgIDEuICBTb3VyY2UgZGlzdHJpYnV0aW9ucyBtdXN0IHJldGFpbiB0aGlzIGVudGly ZSBjb3B5cmlnaHQgbm90aWNlIGFuZAorICAgICAgY29tbWVudC4KKyAgMi4gIEJpbmFyeSBkaXN0 cmlidXRpb25zIG11c3QgaW5jbHVkZSB0aGUgYWNrbm93bGVkZ2VtZW50IGBgVGhpcworICAgICAg cHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgUmljaCBTYWx6JycgaW4gdGhl CisgICAgICBkb2N1bWVudGF0aW9uIG9yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo ZSBkaXN0cmlidXRpb24uCisgICAgICBUaGlzIG11c3Qgbm90IGJlIHJlcHJlc2VudGVkIGFzIGFu IGVuZG9yc2VtZW50IG9yIHByb21vdGlvbgorICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3 cml0dGVuIHBlcm1pc3Npb24uCisgIDMuICBUaGUgb3JpZ2luIG9mIHRoaXMgc29mdHdhcmUgbXVz dCBub3QgYmUgbWlzcmVwcmVzZW50ZWQsIGVpdGhlciBieQorICAgICAgZXhwbGljaXQgY2xhaW0g b3IgYnkgb21pc3Npb24uIENyZWRpdHMgbXVzdCBhcHBlYXIgaW4gdGhlIHNvdXJjZQorICAgICAg YW5kIGRvY3VtZW50YXRpb24uCisgIDQuICBBbHRlcmVkIHZlcnNpb25zIG11c3QgYmUgcGxhaW5s eSBtYXJrZWQgYXMgc3VjaCBpbiB0aGUgc291cmNlIGFuZAorICAgICAgZG9jdW1lbnRhdGlvbiBh bmQgbXVzdCBub3QgYmUgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsCisgICAg ICBzb2Z0d2FyZS4KKworICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQg V0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgIFdBUlJBTlRJRVMsIElOQ0xVRElORywg V0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisgIE1FUkNIQU5U QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCisKK1RoZSByZXBs YWNlbWVudCB2c25wcmludGYoKSBmdW5jdGlvbiB3YXMgd3JpdHRlbiBieSBUaGVvIGRlIFJhYWR0 IGFuZCBpcworQ29weXJpZ2h0IChjKSAxOTk3IHVuZGVyIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rp b25zOgorCisgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y bXMsIHdpdGggb3Igd2l0aG91dAorICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgIG1ldDoKKworICAxLiAgUmVk aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln aHQKKyAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp bmcgZGlzY2xhaW1lci4KKyAgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0 IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgICBub3RpY2UsIHRoaXMgbGlzdCBv ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAgICAgIHRoZSBk b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAg ICAgIGRpc3RyaWJ1dGlvbi4KKworICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBB VVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICBJTVBMSUVEIFdBUlJBTlRJRVMs IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QVJFCisgIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxF IEZPUiBBTlkgRElSRUNULAorICBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisgIFNFUlZJQ0VTOyBM T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQor ICBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQ09OVFJBQ1QsCisgIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORworICBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAgUE9TU0lCSUxJVFkg T0YgU1VDSCBEQU1BR0UuCmRpZmYgLS1naXQgYS9SRUFETUUuaHRtbCBiL1JFQURNRS5odG1sCmlu ZGV4IDYwOTY3MmEuLjNlOTE1NWYgMTAwNjQ0Ci0tLSBhL1JFQURNRS5odG1sCisrKyBiL1JFQURN RS5odG1sCkBAIC0xLDIyMiArMSwzMTggQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzND Ly9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iCi0iaHR0cDovL3d3dy53My5vcmcvVFIv aHRtbDQvbG9vc2UuZHRkIj4KLQotPGh0bWw+Ci0gIDxoZWFkPgotICAgIDxtZXRhIG5hbWU9Imdl bmVyYXRvciIgY29udGVudD0KLSAgICAiSFRNTCBUaWR5IGZvciBMaW51eC94ODYgKHZlcnMgMXN0 IEFwcmlsIDIwMDIpLCBzZWUgd3d3LnczLm9yZyI+Ci0gICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29u dGVudC1UeXBlIiBjb250ZW50PQotICAgICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+ Ci0KLSAgICA8dGl0bGU+TGVhZm5vZGUgbWFudWFsPC90aXRsZT4KLQotICAgIDxzdHlsZSB0eXBl PSJ0ZXh0L2NzcyI+Ci0gaDQuYzUge3RleHQtYWxpZ246IGNlbnRlcn0KLSBwLmM0IHtmb250LXdl aWdodDogYm9sZH0KLSBwLmMzIHt0ZXh0LWFsaWduOiBjZW50ZXJ9Ci0gaDMuYzIge3RleHQtYWxp Z246IGNlbnRlcn0KLSBoMi5jMSB7dGV4dC1hbGlnbjogY2VudGVyfQotICAgICAgICAgICAgICAg IDwvc3R5bGU+Ci0gIDwvaGVhZD4KLQotICA8Ym9keT4KLSAgICA8aDIgY2xhc3M9ImMxIj5MRUFG Tk9ERTwvaDI+Ci0KLSAgICA8cD5QcmVmYWNlOiBUaGlzIGRvY3VtZW50YXRpb24gaXMgYWJvdXQg dG8gYmUgbWlncmF0ZWQgdG8gYQotICAgIGRpZmZlcmVudCBmb3JtYXQuIERvIG5vdCBmaWxlIGJ1 ZyByZXBvcnRzIGFnYWluc3Qgc2VjdGlvbgotICAgIG51bWJlcmluZyBvciByZWZlcmVuY2VzIHdp dGhpbiB0aGlzIGRvY3VtZW50LjwvcD4KLQotICAgIDxoMyBjbGFzcz0iYzIiPlRhYmxlIG9mIENv bnRlbnRzPC9oMz4KLQotICAgIDxvbD4KLSAgICAgIDxsaT5PdmVydmlldzwvbGk+Ci0KLSAgICAg IDxsaT5JbnN0YWxsYXRpb248L2xpPgotCi0gICAgICA8bGk+Ci0gICAgICAgIFVwZGF0ZSBmcm9t IHByZXZpb3VzIHZlcnNpb25zIAotCi0gICAgICAgIDxvbD4KLSAgICAgICAgICA8bGk+VXBkYXRl IGZyb20gdmVyc2lvbnMgJmx0OyAyLjBiOF9tYTg8L2xpPgotCi0gICAgICAgICAgPGxpPlVwZGF0 ZSBmcm9tIHZlcnNpb25zICZsdDsgMi4wPC9saT4KLQotICAgICAgICAgIDxsaT5VcGRhdGUgZnJv bSB2ZXJzaW9ucyAmbHQ7IDEuOS4zPC9saT4KLQotICAgICAgICAgIDxsaT5VcGRhdGUgZnJvbSB2 ZXJzaW9ucyAmbHQ7IDEuNjwvbGk+Ci0gICAgICAgIDwvb2w+Ci0gICAgICA8L2xpPgotCi0gICAg ICA8bGk+Ci0gICAgICAgIEZpbGVzIGFuZCBkaXJlY3RvcmllcyAKLQotICAgICAgICA8b2w+Ci0g ICAgICAgICAgPGxpPlRoZSBtYWluIGNvbmZpZ3VyYXRpb24gZmlsZTwvbGk+Ci0KLSAgICAgICAg ICA8bGk+VGhlIGZpbHRlciBmaWxlPC9saT4KLSAgICAgICAgPC9vbD4KLSAgICAgIDwvbGk+Ci0K LSAgICAgIDxsaT4KLSAgICAgICAgTG9jYWwgbmV3c2dyb3VwcyAKLQotICAgICAgICA8b2w+Ci0g ICAgICAgICAgPGxpPk1vZGVyYXRlZCBuZXdzZ3JvdXBzPC9saT4KLSAgICAgICAgPC9vbD4KLSAg ICAgIDwvbGk+Ci0KLSAgICAgIDxsaT5EZWluc3RhbGxhdGlvbjwvbGk+Ci0KLSAgICAgIDxsaT5G cmVxdWVudGx5IGFza2VkIHF1ZXN0aW9uczwvbGk+Ci0KLSAgICAgIDxsaT5Db3B5cmlnaHQ8L2xp PgotICAgIDwvb2w+Ci0gICAgPGhyPgotCi0gICAgPGgzIGNsYXNzPSJjMiI+MS4gT1ZFUlZJRVc8 L2gzPgotCi0gICAgPHA+TGVhZm5vZGUgaXMgYSBVU0VORVQgc29mdHdhcmUgcGFja2FnZSBkZXNp Z25lZCBmb3Igc21hbGwKLSAgICBzaXRlcywgd2l0aCBhIGZldyB0ZW5zIG9mIHJlYWRlcnMgYW5k IG9ubHkgYSBzbG93IGxpbmsgdG8gdGhlCi0gICAgbmV0LiBJdCBpcyBkZXZlbG9wZWQgb24gTGlu dXgsIGJ1dCBoYXMgYmVlbiByZXBvcnRlZCB0byBjb21waWxlCi0gICAgYW5kIHJ1biBhbHNvIHVu ZGVyIGFueSBCU0QgZmxhdm91ciwgU29sYXJpcyBhbmQgSXJpeC48L3A+Ci0KLSAgICA8cD5UaGUg TGVhZm5vZGUgcGFja2FnZSBjb25zaXN0cyBvZiBzZXZlcmFsIHByb2dyYW1zLCB0aHJlZQotICAg IGVzc2VudGlhbCBvbmVzIGFuZCBzZXZlcmFsIGFkZC1vbnMuPC9wPgotCi0gICAgPHVsPgotICAg ICAgPGxpPjx1PkxlYWZub2RlPC91PiBpcyB0aGUgTk5UUCBzZXJ2ZXIuIEl0IHRhbGtzIHRvIHRo ZQotICAgICAgbm9ybWFsIG5ld3MgY2xpZW50cywgYW5kIHN0b3JlcyByZWFkZXJzaGlwIGRhdGEu PC9saT4KLQotICAgICAgPGxpPjx1PkZldGNobmV3czwvdT4gaXMgdGhlIE5OVFAgbmV3cy1nYXRo ZXJlci4gSXQgbG9va3MgYXQKLSAgICAgIHRoZSByZWFkZXJzaGlwIGRhdGEgTGVhZm5vZGUgc3Rv cmVzLCBhbmQgc2VsZWN0cyB3aGF0IGdyb3VwcwotICAgICAgdG8gcHVsbCBuZXdzIGZyb20uIEl0 IGFsc28gdHJhbnNmZXJzIHlvdXIgY29udHJpYnV0aW9ucyB0bwotICAgICAgb25lIG9yIG1vcmUg dXBzdHJlYW0gc2VydmVycy48L2xpPgotCi0gICAgICA8bGk+PHU+VGV4cGlyZTwvdT4gaXMgcmVz cG9uc2libGUgZm9yIGRlbGV0aW5nIG9sZCBhbmQKLSAgICAgIHVuaW50ZXJlc3RpbmcgbmV3cy4g SXQgZGVsZXRlcyBhbGwgZGlzY3Vzc2lvbiB0aHJlYWRzIHRoYXQKLSAgICAgIGFyZSBvbGQgYW5k IG5vdCByZWNlbnRseSByZWFkLjwvbGk+Ci0gICAgPC91bD4KLQotICAgIDxwPlRoZXNlIGFyZSB0 aGUgYWRkaXRpb25hbCB0b29sczo8L3A+Ci0KLSAgICA8dWw+Ci0gICAgICA8bGk+PHU+QXBwbHlm aWx0ZXI8L3U+IGxldHMgeW91IGRlbGV0ZSBhcnRpY2xlcyBmcm9tIHlvdXIKLSAgICAgIGxvY2Fs IG5ld3Mgc3Bvb2wgd2hpY2ggZml0IGEgY2VydGFpbiBwYXR0ZXJuLjwvbGk+Ci0KLSAgICAgIDxs aT48dT5DaGVja2dyb3VwczwvdT4gaW5zZXJ0cyB0aGUgdGl0bGVzIG9mIG5ld3Nncm91cHMgaW50 bwotICAgICAgdGhlIG5ld3Nncm91cCBkYXRhYmFzZS48L2xpPgotCi0gICAgICA8bGk+PHU+TmV3 c3E8L3U+IHNob3dzIHdoaWNoIG5ld3MgYXJlIHdhaXRpbmcgdG8gYmUKLSAgICAgIHRyYW5zZmVy cmVkIHRvIHlvdXIgdXBzdHJlYW0gc2VydmVyKHMpLjwvbGk+Ci0KLSAgICAgIDxsaT48dT5SbmV3 czwvdT4gc29ydHMgYW4gVVVDUCBiYXRjaCBvciBhcnRpY2xlcyBkb3dubG9hZGVkCi0gICAgICBi eSBvdGhlciBtZWFucyBpbnRvIHRoZSBuZXdzIHNwb29sLjwvbGk+Ci0gICAgPC91bD4KLQotICAg IDxwPk9ubHkgZ3JvdXBzIHRoYXQgc29tZW9uZSBoYXMgYmVlbiByZWFkaW5nIGluIHRoZSBwYXN0 IHdlZWsKLSAgICBhcmUgZmV0Y2hlZCBmcm9tIHRoZSB1cHN0cmVhbSBOTlRQIHNlcnZlci4gV2hl biBzb21lb25lIHN0b3BzCi0gICAgcmVhZGluZyBhIGdyb3VwLCBmZXRjaG5ld3Mgd2lsbCBzdG9w IHJlYWRpbmcgdGhhdCBncm91cCBhIHdlZWsKLSAgICBsYXRlciAodGhpcyBpcyB0aGUgZGVmYXVs dCB3aGljaCBjYW4gYmUgY29uZmlndXJlZCksIGFuZCB3aGVuCi0gICAgc29tZW9uZSBzdGFydHMg cmVhZGluZyBhIGdyb3VwLCBmZXRjaG5ld3Mgd2lsbCBncmFiIGFsbCB0aGUKLSAgICBhcnRpY2xl cyBpdCBjYW4gaW4gdGhhdCBncm91cCB0aGUgbmV4dCB0aW1lIGl0IHJ1bnMuPC9wPgotCi0gICAg PHA+TGVhZm5vZGUncyBkaXN0aW5ndWlzaGluZyBmZWF0dXJlcyBhcmU6PC9wPgotCi0gICAgPHVs PgotICAgICAgPGxpPkxlYWZub2RlIGlzIHdyaXR0ZW4gd2l0aCB0aGUgbm92aWNlIHVzZXIgaW4g bWluZC4gSXQgaXMKLSAgICAgIHZlcnkgZWFzeSB0byBpbnN0YWxsIGFuZCBjb25maWd1cmUgYW5k IHJlcXVpcmVzIG5vIG1hbnVhbAotICAgICAgaW50ZXJ2ZW50aW9uIG9uY2UgaW5zdGFsbGVkLiBM ZWFmbm9kZSB0cmllcyB2ZXJ5IGhhcmQgdG8KLSAgICAgIHJlY292ZXIgYXV0b21hdGljYWxseSBm cm9tIGVycm9yIHNpdHVhdGlvbnMuPC9saT4KLQotICAgICAgPGxpPkNvbXBhcmVkIHRvIG90aGVy IHNlcnZlcnMsIGxlYWZub2RlIHVzZXMgdmVyeSBsaXR0bGUgZGlzawotICAgICAgc3BhY2UgYW5k IGJhbmR3aWR0aC4gT2YgY291cnNlIHRoaXMgYWxzbyBkZXBlbmRzIG9uIGhvdyBtYW55Ci0gICAg ICB1c2VycyBhcmUgYWNjZXNzaW5nIHlvdXIgc2VydmVyIGFuZCBpcyBwcm9iYWJseSBub3QgdHJ1 ZSBmb3IKLSAgICAgIDMwMC11c2VyIHNpdGVzLjwvbGk+Ci0KLSAgICAgIDxsaT5UaGUgbmV3c3Nw b29sIGNhbiBiZSBlYXNpbHkgbWFuaXB1bGF0ZWQgYnkgc21hbGwgc2NyaXB0cwotICAgICAgYmVj YXVzZSBpdCBpcyBtYWludGFpbmVkIGluIHBsYWluIGZpbGUgZm9ybWF0LiBTb21lIHRpbnkKLSAg ICAgIGV4YW1wbGVzIGFyZSBpbiB0aGUgc3ViZGlyZWN0b3J5IHRvb2xzLyAuPC9saT4KLSAgICA8 L3VsPgotCi0gICAgPHA+VGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBsZWFmbm9kZSBpcyBhdmFpbGFi bGUgZnJvbQotICAgIDxhCi0JaHJlZj0iaHR0cDovL3d3dy5kdC5lLXRlY2huaWsudHUtZG9ydG11 bmQuZGUvfm1hL2xlYWZub2RlL2JldGEvIj5odHRwOi8vd3d3LmR0LmUtdGVjaG5pay50dS1kb3J0 bXVuZC5kZS9+bWEvbGVhZm5vZGUvYmV0YS88L2E+PC9wPgotCi0gICAgPHA+VGhlcmUgaXMgYWxz byBhIGxlYWZub2RlIG1haWxpbmcgbGlzdC4gU2VuZCBtYWlsIHRvPC9wPgotCi0gICAgPHAgY2xh c3M9ImMzIj5sZWFmbm9kZS1saXN0LXN1YnNjcmliZUBkdC5lLXRlY2huaWsudHUtZG9ydG11bmQu ZGU8L3A+Ci0KLSAgICA8cD50byBzdWJzY3JpYmUsIG9yIHZpc2l0IDxhCi0JaHJlZj0iaHR0cDov L3d3dy5kdC5lLXRlY2huaWsudHUtZG9ydG11bmQuZGUvbWFpbG1hbi9saXN0aW5mby9sZWFmbm9k ZS1saXN0LyI+aHR0cDovL3d3dy5kdC5lLXRlY2huaWsudHUtZG9ydG11bmQuZGUvbWFpbG1hbi9s aXN0aW5mby9sZWFmbm9kZS1saXN0Ly48L2E+PC9wPgotICAgIDxocj4KLQotICAgIDxoMyBjbGFz cz0iYzIiPjIuIElOU1RBTExBVElPTjwvaDM+Ci0KLSAgICA8b2w+Ci0gICAgICA8bGk+TGVhZm5v ZGUgZG9lcyBub3QgY3VycmVudGx5IHdvcmsgb24gU3VuT1MgNC48L2xpPgotCi0gICAgICA8bGk+ Ci0gICAgICAgIExlYWZub2RlIGRlcGVuZHMgb24gdGhlIFBDUkUgcmVndWxhci1leHByZXNzaW9u IG1hdGNoaW5nCi0gICAgICAgIGxpYnJhcnkuIEl0IHNoaXBzIGFzIGJpbmFyeSBwYWNrYWdlIHdp dGggbWFueSBjdXJyZW50Ci0gICAgICAgIExpbnV4L0JTRCBkaXN0cmlidXRpb25zLCBhbmQgaXMg YWxzbyBhdmFpbGFibGUgYXMgcG9ydCBmb3IKLSAgICAgICAgKkJTRCAoRGViaWFuIHVzZXJzOiB0 cnkgImFwdC1nZXQgaW5zdGFsbCBsaWJwY3JlMwotICAgICAgICBsaWJwY3JlMy1kZXYiKS4gSnVz dCBpbnN0YWxsIHRoZSBiaW5hcnkgcGFja2FnZSBmb3IgeW91cgotICAgICAgICBvcGVyYXRpbmcg c3lzdGVtIGlmIGl0IHNoaXBzIHdpdGggb25lLiBJZiBpdCBjb21lcyB3aXRob3V0Ci0gICAgICAg IFBDUkUsIGRvbid0IHdvcnJ5LCB0aGUgaW5zdGFsbGF0aW9uIGZyb20gc291cmNlIGlzIHNpbXBs ZS4KLSAgICAgICAgVG8gaW5zdGFsbCBQQ1JFLCBkbyAoQVMgTk9STUFMIFVTRVIsIE5PVCBBUyBy b290ISkgCi0KLSAgICAgICAgPG9sPgotICAgICAgICAgIDxsaT5Eb3dubG9hZCB0aGUgY3VycmVu dCBQQ1JFIHZlcnNpb24gZnJvbSA8YSBocmVmPQotICAgICAgICAgICJodHRwOi8vd3d3LnBjcmUu b3JnLyI+aHR0cDovL3d3dy5wY3JlLm9yZy88L2E+LjwvbGk+Ci0KLSAgICAgICAgICA8bGk+VW5w YWNrIFBDUkU6IGd1bnppcCAtYyB8IHRhciB4dmYgLTwvbGk+Ci0KLSAgICAgICAgICA8bGk+Y2Qg cGNyZS0zLjk8YnI+Ci0gICAgICAgICAgIDxpPihUaGlzIGlzIGZvciBQQ1JFLTMuOSwgZm9yIG90 aGVyIHZlcnNpb25zLCByZXBsYWNlCi0gICAgICAgICAgdGhhdCBieSB0aGUgcGF0aCB0aGF0IHRh ciB3cm90ZSB3aGVuIHVucGFja2luZy4pPC9pPjwvbGk+Ci0KLSAgICAgICAgICA8bGk+dHlwZSA8 a2JkPi4vY29uZmlndXJlICZhbXA7JmFtcDsgbWFrZTwva2JkPjxicj4KLSAgICAgICAgICAgPGk+ dGhlcmUgc2hvdWxkIGJlIG5vIGVycm9yczwvaT48L2xpPgotCi0gICAgICAgICAgPGxpPmJlY29t ZSByb290PC9saT4KLQotICAgICAgICAgIDxsaT5hcyByb290LCBkbyA8a2JkPm1ha2UgaW5zdGFs bDwva2JkPjwvbGk+Ci0KLSAgICAgICAgICA8bGk+YXMgcm9vdCwgZG8gPGtiZD5sZGNvbmZpZzwv a2JkPjxicj4KLSAgICAgICAgICAgPGk+dGhpcyBtYXkgbm90IGJlIG5lZWRlZCBvbiBhbGwgc3lz dGVtcywgYnV0IGJldHRlcgotICAgICAgICAgIHNhZmUgdGhhbiBzb3JyeTwvaT48L2xpPgotCi0g ICAgICAgICAgPGxpPmV4aXQgeW91ciByb290IHNoZWxsPC9saT4KLQotICAgICAgICAgIDxsaT5E T05FITwvbGk+Ci0gICAgICAgIDwvb2w+Ci0gICAgICA8L2xpPgotCi0gICAgICA8bGk+Ci0gICAg ICAgIExlYWZub2RlIHVzZXMgR05VIGF1dG9jb25mIHRvIGRldGVybWluZSB0aGUgY29uZmlndXJh dGlvbgotICAgICAgICBvZiB0aGUgbWFjaGluZSBpdCB3aWxsIGJlIGNvbXBpbGVkIG9uLiBJdCBh bHNvIHVzZXMgR05VCi0gICAgICAgIGF1dG9tYWtlIGZvciBhbGwgdGhlIHN0YW5kYXJkIGZlYXR1 cmVzIHRoYXQgR05VIGF1dG9tYWtlCi0gICAgICAgIG9mZmVycy4gVHlwZSAoQVMgTk9STUFMIFVT RVIsIE5PVCBBUyByb290ISkgCi08cHJlPgotICAgICAgICAgL2Jpbi9zaCAuL2NvbmZpZ3VyZQot PC9wcmU+Ci0gICAgICAgIHRvIGNyZWF0ZSBhbiBhcHByb3ByaWF0ZSBNYWtlZmlsZSBhbmQgY29u ZmlnLmguIElmIGxlYWZub2RlCi0gICAgICAgIGNhbm5vdCBmaW5kIHlvdXIgUENSRSwgaXQgaXMg cHJvYmFibHkgYW4gb2xkIHZlcnNpb24KLSAgICAgICAgd2l0aG91dCBwY3JlLWNvbmZpZywgb3Ig cGNyZS1jb25maWcgaXMgbm90IGluIHlvdXIgcGF0aC4KLSAgICAgICAgRWl0aGVyIGFkZCB0aGUg ZGlyZWN0b3J5IGNvbnRhaW5pbmcgcGNyZS1jb25maWcgdG8geW91cgotICAgICAgICAkUEFUSCwg b3IgY2FsbCBjb25maWd1cmUgbGlrZSB0aGlzICh3ZSBhc3N1bWUgUENSRSBpcyBpbgotICAgICAg ICAvb3B0L3BjcmUtMy45KTogCi08cHJlPgotICAgICAgICAgZW52IENQUEZMQUdTPSItSS9vcHQv cGNyZS0zLjkiIExERkxBR1M9Ii1ML29wdC9wY3JlLTMuOSIgL2Jpbi9zaCAuL2NvbmZpZ3VyZQot PC9wcmU+Ci0gICAgICAgIE5PVEU6IG9uIHNvbWUgbWFjaGluZXMsIHdoZW4gUENSRSBpcyBsaW5r ZWQgYWdhaW5zdCBhCi0gICAgICAgIHNoYXJlZCBsaWJyYXJ5LCB5b3Ugd2lsbCBuZWVkIHRvIGFk ZCAvb3B0L3BjcmUtMy45IHRvCi0gICAgICAgIExEX0xJQlJBUllfUEFUSCBvciB0byAvZXRjL2xk LnNvLmNvbmYuIAotCi0gICAgICAgIDxwPlRoZSBjb25maWd1cmUgc2NyaXB0IGNhbiB0YWtlIHNv bWUgZmxhZ3MgKHJlcGxhY2UgRElSIGJ5Ci0gICAgICAgIGEgZGlyZWN0b3J5IG5hbWUsIEZJTEUg YnkgYSBmaWxlIG5hbWUpOjwvcD4KLTxwcmU+Ci0tLWVuYWJsZS1zcG9vbGRpcj1ESVIgIFRvIG92 ZXJyaWRlIHRoZSBkZWZhdWx0IC92YXIvc3Bvb2wvbmV3cywKKzwhRE9DVFlQRSBodG1sPgorPGh0 bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9IiIgeG1sOmxhbmc9 IiI+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+CisgIDxtZXRhIG5hbWU9Imdl bmVyYXRvciIgY29udGVudD0icGFuZG9jIiAvPgorICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJs ZT15ZXMiIC8+CisgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iTWF0dGhpYXMgQW5kcmVl IiAvPgorICA8dGl0bGU+TGVhZm5vZGUgbWFudWFsPC90aXRsZT4KKyAgPHN0eWxlPgorICAgIGh0 bWwgeworICAgICAgY29sb3I6ICMxYTFhMWE7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRm ZGZkOworICAgIH0KKyAgICBib2R5IHsKKyAgICAgIG1hcmdpbjogMCBhdXRvOworICAgICAgbWF4 LXdpZHRoOiAzNmVtOworICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OworICAgICAgcGFkZGluZy1y aWdodDogNTBweDsKKyAgICAgIHBhZGRpbmctdG9wOiA1MHB4OworICAgICAgcGFkZGluZy1ib3R0 b206IDUwcHg7CisgICAgICBoeXBoZW5zOiBhdXRvOworICAgICAgb3ZlcmZsb3ctd3JhcDogYnJl YWstd29yZDsKKyAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7CisgICAg ICBmb250LWtlcm5pbmc6IG5vcm1hbDsKKyAgICB9CisgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYw MHB4KSB7CisgICAgICBib2R5IHsKKyAgICAgICAgZm9udC1zaXplOiAwLjllbTsKKyAgICAgICAg cGFkZGluZzogMTJweDsKKyAgICAgIH0KKyAgICAgIGgxIHsKKyAgICAgICAgZm9udC1zaXplOiAx LjhlbTsKKyAgICAgIH0KKyAgICB9CisgICAgQG1lZGlhIHByaW50IHsKKyAgICAgIGh0bWwgewor ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKKyAgICAgIH0KKyAgICAgIGJvZHkgewor ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKKyAgICAgICAgY29sb3I6IGJs YWNrOworICAgICAgICBmb250LXNpemU6IDEycHQ7CisgICAgICB9CisgICAgICBwLCBoMiwgaDMg eworICAgICAgICBvcnBoYW5zOiAzOworICAgICAgICB3aWRvd3M6IDM7CisgICAgICB9CisgICAg ICBoMiwgaDMsIGg0IHsKKyAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7CisgICAgICB9 CisgICAgfQorICAgIHAgeworICAgICAgbWFyZ2luOiAxZW0gMDsKKyAgICB9CisgICAgYSB7Cisg ICAgICBjb2xvcjogIzFhMWExYTsKKyAgICB9CisgICAgYTp2aXNpdGVkIHsKKyAgICAgIGNvbG9y OiAjMWExYTFhOworICAgIH0KKyAgICBpbWcgeworICAgICAgbWF4LXdpZHRoOiAxMDAlOworICAg IH0KKyAgICBzdmcgeworICAgICAgaGVpZ2h0OiBhdXRvOworICAgICAgbWF4LXdpZHRoOiAxMDAl OworICAgIH0KKyAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKKyAgICAgIG1hcmdpbi10b3A6 IDEuNGVtOworICAgIH0KKyAgICBoNSwgaDYgeworICAgICAgZm9udC1zaXplOiAxZW07CisgICAg ICBmb250LXN0eWxlOiBpdGFsaWM7CisgICAgfQorICAgIGg2IHsKKyAgICAgIGZvbnQtd2VpZ2h0 OiBub3JtYWw7CisgICAgfQorICAgIG9sLCB1bCB7CisgICAgICBwYWRkaW5nLWxlZnQ6IDEuN2Vt OworICAgICAgbWFyZ2luLXRvcDogMWVtOworICAgIH0KKyAgICBsaSA+IG9sLCBsaSA+IHVsIHsK KyAgICAgIG1hcmdpbi10b3A6IDA7CisgICAgfQorICAgIGJsb2NrcXVvdGUgeworICAgICAgbWFy Z2luOiAxZW0gMCAxZW0gMS43ZW07CisgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTsKKyAgICAgIGJv cmRlci1sZWZ0OiAycHggc29saWQgI2U2ZTZlNjsKKyAgICAgIGNvbG9yOiAjNjA2MDYwOworICAg IH0KKyAgICBjb2RlIHsKKyAgICAgIGZvbnQtZmFtaWx5OiBNZW5sbywgTW9uYWNvLCBDb25zb2xh cywgJ0x1Y2lkYSBDb25zb2xlJywgbW9ub3NwYWNlOworICAgICAgZm9udC1zaXplOiA4NSU7Cisg ICAgICBtYXJnaW46IDA7CisgICAgICBoeXBoZW5zOiBtYW51YWw7CisgICAgfQorICAgIHByZSB7 CisgICAgICBtYXJnaW46IDFlbSAwOworICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgfQorICAg IHByZSBjb2RlIHsKKyAgICAgIHBhZGRpbmc6IDA7CisgICAgICBvdmVyZmxvdzogdmlzaWJsZTsK KyAgICAgIG92ZXJmbG93LXdyYXA6IG5vcm1hbDsKKyAgICB9CisgICAgLnNvdXJjZUNvZGUgewor ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKKyAgICAgb3ZlcmZsb3c6IHZpc2li bGU7CisgICAgfQorICAgIGhyIHsKKyAgICAgIGJvcmRlcjogbm9uZTsKKyAgICAgIGJvcmRlci10 b3A6IDFweCBzb2xpZCAjMWExYTFhOworICAgICAgaGVpZ2h0OiAxcHg7CisgICAgICBtYXJnaW46 IDFlbSAwOworICAgIH0KKyAgICB0YWJsZSB7CisgICAgICBtYXJnaW46IDFlbSAwOworICAgICAg Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICAgIHdpZHRoOiAxMDAlOworICAgICAgb3Zl cmZsb3cteDogYXV0bzsKKyAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgZm9udC12YXJpYW50 LW51bWVyaWM6IGxpbmluZy1udW1zIHRhYnVsYXItbnVtczsKKyAgICB9CisgICAgdGFibGUgY2Fw dGlvbiB7CisgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07CisgICAgfQorICAgIHRib2R5IHsK KyAgICAgIG1hcmdpbi10b3A6IDAuNWVtOworICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMx YTFhMWE7CisgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFhMWExYTsKKyAgICB9Cisg ICAgdGggeworICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxYTFhMWE7CisgICAgICBwYWRk aW5nOiAwLjI1ZW0gMC41ZW0gMC4yNWVtIDAuNWVtOworICAgIH0KKyAgICB0ZCB7CisgICAgICBw YWRkaW5nOiAwLjEyNWVtIDAuNWVtIDAuMjVlbSAwLjVlbTsKKyAgICB9CisgICAgaGVhZGVyIHsK KyAgICAgIG1hcmdpbi1ib3R0b206IDRlbTsKKyAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAg ICB9CisgICAgI1RPQyBsaSB7CisgICAgICBsaXN0LXN0eWxlOiBub25lOworICAgIH0KKyAgICAj VE9DIHVsIHsKKyAgICAgIHBhZGRpbmctbGVmdDogMS4zZW07CisgICAgfQorICAgICNUT0MgPiB1 bCB7CisgICAgICBwYWRkaW5nLWxlZnQ6IDA7CisgICAgfQorICAgICNUT0MgYTpub3QoOmhvdmVy KSB7CisgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CisgICAgfQorICAgIGNvZGV7d2hpdGUt c3BhY2U6IHByZS13cmFwO30KKyAgICBzcGFuLnNtYWxsY2Fwc3tmb250LXZhcmlhbnQ6IHNtYWxs LWNhcHM7fQorICAgIGRpdi5jb2x1bW5ze2Rpc3BsYXk6IGZsZXg7IGdhcDogbWluKDR2dywgMS41 ZW0pO30KKyAgICBkaXYuY29sdW1ue2ZsZXg6IGF1dG87IG92ZXJmbG93LXg6IGF1dG87fQorICAg IGRpdi5oYW5naW5nLWluZGVudHttYXJnaW4tbGVmdDogMS41ZW07IHRleHQtaW5kZW50OiAtMS41 ZW07fQorICAgIC8qIFRoZSBleHRyYSBbY2xhc3NdIGlzIGEgaGFjayB0aGF0IGluY3JlYXNlcyBz cGVjaWZpY2l0eSBlbm91Z2ggdG8KKyAgICAgICBvdmVycmlkZSBhIHNpbWlsYXIgcnVsZSBpbiBy ZXZlYWwuanMgKi8KKyAgICB1bC50YXNrLWxpc3RbY2xhc3Nde2xpc3Qtc3R5bGU6IG5vbmU7fQor ICAgIHVsLnRhc2stbGlzdCBsaSBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsKKyAgICAgIGZvbnQt c2l6ZTogaW5oZXJpdDsKKyAgICAgIHdpZHRoOiAwLjhlbTsKKyAgICAgIG1hcmdpbjogMCAwLjhl bSAwLjJlbSAtMS42ZW07CisgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworICAgIH0KKyAg ICAuZGlzcGxheS5tYXRoe2Rpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdp bjogMC41cmVtIGF1dG87fQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8aGVhZGVyIGlk PSJ0aXRsZS1ibG9jay1oZWFkZXIiPgorPGgxIGNsYXNzPSJ0aXRsZSI+TGVhZm5vZGUgbWFudWFs PC9oMT4KKzxwIGNsYXNzPSJhdXRob3IiPk1hdHRoaWFzIEFuZHJlZTwvcD4KKzxwIGNsYXNzPSJk YXRlIj4yMDIxLTA3LTA5VDE3OjI4OjA3PC9wPgorPC9oZWFkZXI+Cis8bmF2IGlkPSJUT0MiIHJv bGU9ImRvYy10b2MiPgorPHVsPgorPGxpPjxhIGhyZWY9IiNvdmVydmlldyIgaWQ9InRvYy1vdmVy dmlldyI+MS4gT1ZFUlZJRVc8L2E+PC9saT4KKzxsaT48YSBocmVmPSIjaW5zdGFsbGF0aW9uIiBp ZD0idG9jLWluc3RhbGxhdGlvbiI+Mi4KK0lOU1RBTExBVElPTjwvYT48L2xpPgorPGxpPjxhIGhy ZWY9IiN1cGRhdGUtZnJvbS1wcmV2aW91cy12ZXJzaW9ucyIKK2lkPSJ0b2MtdXBkYXRlLWZyb20t cHJldmlvdXMtdmVyc2lvbnMiPjMuIFVQREFURSBGUk9NIFBSRVZJT1VTCitWRVJTSU9OUzwvYT48 L2xpPgorPGxpPjxhIGhyZWY9IiN1cGRhdGUtZnJvbS12ZXJzaW9ucy0yLjBiOF9tYTgiCitpZD0i dG9jLXVwZGF0ZS1mcm9tLXZlcnNpb25zLTIuMGI4X21hOCI+My4xIFVwZGF0ZSBmcm9tIHZlcnNp b25zICZsdDsKKzIuMGI4X21hODwvYT48L2xpPgorPGxpPjxhIGhyZWY9IiN1cGRhdGUtZnJvbS12 ZXJzaW9ucy0yLjAiCitpZD0idG9jLXVwZGF0ZS1mcm9tLXZlcnNpb25zLTIuMCI+My4yIFVwZGF0 ZSBmcm9tIHZlcnNpb25zICZsdDsKKzIuMDwvYT48L2xpPgorPGxpPjxhIGhyZWY9IiN1cGRhdGUt ZnJvbS12ZXJzaW9ucy0xLjkuMyIKK2lkPSJ0b2MtdXBkYXRlLWZyb20tdmVyc2lvbnMtMS45LjMi PjMuMyBVcGRhdGUgZnJvbSB2ZXJzaW9ucyAmbHQ7CisxLjkuMzwvYT48L2xpPgorPGxpPjxhIGhy ZWY9IiN1cGRhdGUtZnJvbS12ZXJzaW9ucy0xLjYiCitpZD0idG9jLXVwZGF0ZS1mcm9tLXZlcnNp b25zLTEuNiI+My40IFVwZGF0ZSBmcm9tIHZlcnNpb25zICZsdDsKKzEuNjwvYT48L2xpPgorPGxp PjxhIGhyZWY9IiNmaWxlcy1hbmQtZGlyZWN0b3JpZXMiIGlkPSJ0b2MtZmlsZXMtYW5kLWRpcmVj dG9yaWVzIj40LgorRklMRVMgQU5EIERJUkVDVE9SSUVTPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0i I3RoZS1tYWluLWNvbmZpZ3VyYXRpb24tZmlsZSIKK2lkPSJ0b2MtdGhlLW1haW4tY29uZmlndXJh dGlvbi1maWxlIj40LjEuIFRoZSBtYWluIGNvbmZpZ3VyYXRpb24KK2ZpbGU8L2E+PC9saT4KKzxs aT48YSBocmVmPSIjdGhlLWZpbHRlci1maWxlIiBpZD0idG9jLXRoZS1maWx0ZXItZmlsZSI+NC4y LiBUaGUgZmlsdGVyCitmaWxlPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iI2xvY2FsLW5ld3Nncm91 cHMiIGlkPSJ0b2MtbG9jYWwtbmV3c2dyb3VwcyI+NS4gTE9DQUwKK05FV1NHUk9VUFM8L2E+PC9s aT4KKzxsaT48YSBocmVmPSIjZGVpbnN0YWxsYXRpb24iIGlkPSJ0b2MtZGVpbnN0YWxsYXRpb24i PjYuCitERUlOU1RBTExBVElPTjwvYT48L2xpPgorPGxpPjxhIGhyZWY9IiNmcmVxdWVudGx5LWFz a2VkLXF1ZXN0aW9ucyIKK2lkPSJ0b2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMiPjcuIEZS RVFVRU5UTFkgQVNLRUQKK1FVRVNUSU9OUzwvYT48L2xpPgorPGxpPjxhIGhyZWY9IiNjb3B5cmln aHQiIGlkPSJ0b2MtY29weXJpZ2h0Ij44LiBDT1BZUklHSFQ8L2E+PC9saT4KKzwvdWw+Cis8L25h dj4KKzxociAvPgorPGgzIGlkPSJvdmVydmlldyI+MS4gT1ZFUlZJRVc8L2gzPgorPHA+TGVhZm5v ZGUgaXMgYSBVU0VORVQgc29mdHdhcmUgcGFja2FnZSBkZXNpZ25lZCBmb3Igc21hbGwgc2l0ZXMs IHdpdGgKK2EgZmV3IHRlbnMgb2YgcmVhZGVycyBhbmQgb25seSBhIHNsb3cgbGluayB0byB0aGUg bmV0LiBJdCBpcyBkZXZlbG9wZWQKK29uIExpbnV4LCBidXQgaGFzIGJlZW4gcmVwb3J0ZWQgdG8g Y29tcGlsZSBhbmQgcnVuIGFsc28gdW5kZXIgYW55IEJTRAorZmxhdm91ciwgU29sYXJpcyBhbmQg SXJpeC48L3A+Cis8cD5UaGUgTGVhZm5vZGUgcGFja2FnZSBjb25zaXN0cyBvZiBzZXZlcmFsIHBy b2dyYW1zLCB0aHJlZSBlc3NlbnRpYWwKK29uZXMgYW5kIHNldmVyYWwgYWRkLW9ucy48L3A+Cis8 dWw+Cis8bGk+PHN0cm9uZz5MZWFmbm9kZTwvc3Ryb25nPiBpcyB0aGUgTk5UUCBzZXJ2ZXIuIEl0 IHRhbGtzIHRvIHRoZSBub3JtYWwKK25ld3MgY2xpZW50cywgYW5kIHN0b3JlcyByZWFkZXJzaGlw IGRhdGEuPC9saT4KKzxsaT48c3Ryb25nPkZldGNobmV3czwvc3Ryb25nPiBpcyB0aGUgTk5UUCBu ZXdzLWdhdGhlcmVyLiBJdCBsb29rcyBhdAordGhlIHJlYWRlcnNoaXAgZGF0YSBMZWFmbm9kZSBz dG9yZXMsIGFuZCBzZWxlY3RzIHdoYXQgZ3JvdXBzIHRvIHB1bGwKK25ld3MgZnJvbS4gSXQgYWxz byB0cmFuc2ZlcnMgeW91ciBjb250cmlidXRpb25zIHRvIG9uZSBvciBtb3JlIHVwc3RyZWFtCitz ZXJ2ZXJzLjwvbGk+Cis8bGk+PHN0cm9uZz5UZXhwaXJlPC9zdHJvbmc+IGlzIHJlc3BvbnNpYmxl IGZvciBkZWxldGluZyBvbGQgYW5kCit1bmludGVyZXN0aW5nIG5ld3MuIEl0IGRlbGV0ZXMgYWxs IGRpc2N1c3Npb24gdGhyZWFkcyB0aGF0IGFyZSBvbGQgYW5kCitub3QgcmVjZW50bHkgcmVhZC48 L2xpPgorPC91bD4KKzxwPlRoZXNlIGFyZSB0aGUgYWRkaXRpb25hbCB0b29sczo8L3A+Cis8dWw+ Cis8bGk+PHN0cm9uZz5BcHBseWZpbHRlcjwvc3Ryb25nPiBsZXRzIHlvdSBkZWxldGUgYXJ0aWNs ZXMgZnJvbSB5b3VyCitsb2NhbCBuZXdzIHNwb29sIHdoaWNoIGZpdCBhIGNlcnRhaW4gcGF0dGVy bi48L2xpPgorPGxpPjxzdHJvbmc+Q2hlY2tncm91cHM8L3N0cm9uZz4gaW5zZXJ0cyB0aGUgdGl0 bGVzIG9mIG5ld3Nncm91cHMgaW50bwordGhlIG5ld3Nncm91cCBkYXRhYmFzZS48L2xpPgorPGxp PjxzdHJvbmc+TmV3c3E8L3N0cm9uZz4gc2hvd3Mgd2hpY2ggbmV3cyBhcmUgd2FpdGluZyB0byBi ZQordHJhbnNmZXJyZWQgdG8geW91ciB1cHN0cmVhbSBzZXJ2ZXIocykuPC9saT4KKzxsaT48c3Ry b25nPlJuZXdzPC9zdHJvbmc+IHNvcnRzIGFuIFVVQ1AgYmF0Y2ggb3IgYXJ0aWNsZXMgZG93bmxv YWRlZCBieQorb3RoZXIgbWVhbnMgaW50byB0aGUgbmV3cyBzcG9vbC48L2xpPgorPC91bD4KKzxw Pk9ubHkgZ3JvdXBzIHRoYXQgc29tZW9uZSBoYXMgYmVlbiByZWFkaW5nIGluIHRoZSBwYXN0IHdl ZWsgYXJlCitmZXRjaGVkIGZyb20gdGhlIHVwc3RyZWFtIE5OVFAgc2VydmVyLiBXaGVuIHNvbWVv bmUgc3RvcHMgcmVhZGluZyBhCitncm91cCwgZmV0Y2huZXdzIHdpbGwgc3RvcCByZWFkaW5nIHRo YXQgZ3JvdXAgYSB3ZWVrIGxhdGVyICh0aGlzIGlzIHRoZQorZGVmYXVsdCB3aGljaCBjYW4gYmUg Y29uZmlndXJlZCksIGFuZCB3aGVuIHNvbWVvbmUgc3RhcnRzIHJlYWRpbmcgYQorZ3JvdXAsIGZl dGNobmV3cyB3aWxsIGdyYWIgYWxsIHRoZSBhcnRpY2xlcyBpdCBjYW4gaW4gdGhhdCBncm91cCB0 aGUKK25leHQgdGltZSBpdCBydW5zLjwvcD4KKzxwPkxlYWZub2RlJ3MgZGlzdGluZ3Vpc2hpbmcg ZmVhdHVyZXMgYXJlOjwvcD4KKzx1bD4KKzxsaT5MZWFmbm9kZSBpcyB3cml0dGVuIHdpdGggdGhl IG5vdmljZSB1c2VyIGluIG1pbmQuIEl0IGlzIHZlcnkgZWFzeSB0bworaW5zdGFsbCBhbmQgY29u ZmlndXJlIGFuZCByZXF1aXJlcyBubyBtYW51YWwgaW50ZXJ2ZW50aW9uIG9uY2UKK2luc3RhbGxl ZC4gTGVhZm5vZGUgdHJpZXMgdmVyeSBoYXJkIHRvIHJlY292ZXIgYXV0b21hdGljYWxseSBmcm9t IGVycm9yCitzaXR1YXRpb25zLjwvbGk+Cis8bGk+Q29tcGFyZWQgdG8gb3RoZXIgc2VydmVycywg bGVhZm5vZGUgdXNlcyB2ZXJ5IGxpdHRsZSBkaXNrIHNwYWNlIGFuZAorYmFuZHdpZHRoLiBPZiBj b3Vyc2UgdGhpcyBhbHNvIGRlcGVuZHMgb24gaG93IG1hbnkgdXNlcnMgYXJlIGFjY2Vzc2luZwor eW91ciBzZXJ2ZXIgYW5kIGlzIHByb2JhYmx5IG5vdCB0cnVlIGZvciAzMDAtdXNlciBzaXRlcy48 L2xpPgorPGxpPlRoZSBuZXdzc3Bvb2wgY2FuIGJlIGVhc2lseSBtYW5pcHVsYXRlZCBieSBzbWFs bCBzY3JpcHRzIGJlY2F1c2UgaXQKK2lzIG1haW50YWluZWQgaW4gcGxhaW4gZmlsZSBmb3JtYXQu IFNvbWUgdGlueSBleGFtcGxlcyBhcmUgaW4gdGhlCitzdWJkaXJlY3RvcnkgdG9vbHMvIC48L2xp PgorPC91bD4KKzxwPlRoZSBjdXJyZW50IHZlcnNpb24gb2YgbGVhZm5vZGUgaXMgYXZhaWxhYmxl IGZyb20gPGEKK2hyZWY9Imh0dHA6Ly93d3cuZHQuZS10ZWNobmlrLnR1LWRvcnRtdW5kLmRlL35t YS9sZWFmbm9kZS9iZXRhLyIKK2NsYXNzPSJ1cmkiPmh0dHA6Ly93d3cuZHQuZS10ZWNobmlrLnR1 LWRvcnRtdW5kLmRlL35tYS9sZWFmbm9kZS9iZXRhLzwvYT48L3A+Cis8cD5UaGVyZSBpcyBhbHNv IGEgbGVhZm5vZGUgbWFpbGluZyBsaXN0LiBTZW5kIG1haWwgdG88L3A+Cis8cD5sZWFmbm9kZS1s aXN0LXN1YnNjcmliZUBkdC5lLXRlY2huaWsudHUtZG9ydG11bmQuZGU8L3A+Cis8cD50byBzdWJz Y3JpYmUsIG9yIHZpc2l0IDxhCitocmVmPSJodHRwOi8vd3d3LmR0LmUtdGVjaG5pay50dS1kb3J0 bXVuZC5kZS9tYWlsbWFuL2xpc3RpbmZvL2xlYWZub2RlLWxpc3QvIj5odHRwOi8vd3d3LmR0LmUt dGVjaG5pay50dS1kb3J0bXVuZC5kZS9tYWlsbWFuL2xpc3RpbmZvL2xlYWZub2RlLWxpc3QvLjwv YT48L3A+Cis8aHIgLz4KKzxoMyBpZD0iaW5zdGFsbGF0aW9uIj4yLiBJTlNUQUxMQVRJT048L2gz PgorPG9sIHR5cGU9IjEiPgorPGxpPjxwPkxlYWZub2RlIGRvZXMgbm90IGN1cnJlbnRseSB3b3Jr IG9uIFN1bk9TIDQuPC9wPjwvbGk+Cis8bGk+PHA+TGVhZm5vZGUgZGVwZW5kcyBvbiB0aGUgUENS RSByZWd1bGFyLWV4cHJlc3Npb24gbWF0Y2hpbmcgbGlicmFyeS4KK0l0IHNoaXBzIGFzIGJpbmFy eSBwYWNrYWdlIHdpdGggbWFueSBjdXJyZW50IExpbnV4L0JTRCBkaXN0cmlidXRpb25zLAorYW5k IGlzIGFsc28gYXZhaWxhYmxlIGFzIHBvcnQgZm9yICpCU0QgKERlYmlhbiB1c2VyczogdHJ5ICJh cHQtZ2V0CitpbnN0YWxsIGxpYnBjcmUzIGxpYnBjcmUzLWRldiIpLiBKdXN0IGluc3RhbGwgdGhl IGJpbmFyeSBwYWNrYWdlIGZvcgoreW91ciBvcGVyYXRpbmcgc3lzdGVtIGlmIGl0IHNoaXBzIHdp dGggb25lLiBJZiBpdCBjb21lcyB3aXRob3V0IFBDUkUsCitkb24ndCB3b3JyeSwgdGhlIGluc3Rh bGxhdGlvbiBmcm9tIHNvdXJjZSBpcyBzaW1wbGUuIFRvIGluc3RhbGwgUENSRSwgZG8KKyhBUyBO T1JNQUwgVVNFUiwgTk9UIEFTIHJvb3QhKTwvcD4KKzxvbCB0eXBlPSIxIj4KKzxsaT5Eb3dubG9h ZCB0aGUgY3VycmVudCBQQ1JFIHZlcnNpb24gZnJvbSA8YQoraHJlZj0iaHR0cDovL3d3dy5wY3Jl Lm9yZy8iIGNsYXNzPSJ1cmkiPmh0dHA6Ly93d3cucGNyZS5vcmcvPC9hPi48L2xpPgorPGxpPlVu cGFjayBQQ1JFOiBndW56aXAgLWMgfCB0YXIgeHZmIC08L2xpPgorPGxpPmNkIHBjcmUtMy45PGJy IC8+Cis8ZW0+KFRoaXMgaXMgZm9yIFBDUkUtMy45LCBmb3Igb3RoZXIgdmVyc2lvbnMsIHJlcGxh Y2UgdGhhdCBieSB0aGUgcGF0aAordGhhdCB0YXIgd3JvdGUgd2hlbiB1bnBhY2tpbmcuKTwvZW0+ PC9saT4KKzxsaT50eXBlIDxjb2RlPi4vY29uZmlndXJlICZhbXA7JmFtcDsgbWFrZTwvY29kZT48 YnIgLz4KKzxlbT50aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzPC9lbT48L2xpPgorPGxpPmJlY29t ZSByb290PC9saT4KKzxsaT5hcyByb290LCBkbyA8Y29kZT5tYWtlIGluc3RhbGw8L2NvZGU+PC9s aT4KKzxsaT5hcyByb290LCBkbyA8Y29kZT5sZGNvbmZpZzwvY29kZT48YnIgLz4KKzxlbT50aGlz IG1heSBub3QgYmUgbmVlZGVkIG9uIGFsbCBzeXN0ZW1zLCBidXQgYmV0dGVyIHNhZmUgdGhhbgor c29ycnk8L2VtPjwvbGk+Cis8bGk+ZXhpdCB5b3VyIHJvb3Qgc2hlbGw8L2xpPgorPGxpPkRPTkUh PC9saT4KKzwvb2w+PC9saT4KKzxsaT48cD5MZWFmbm9kZSB1c2VzIEdOVSBhdXRvY29uZiB0byBk ZXRlcm1pbmUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlCittYWNoaW5lIGl0IHdpbGwgYmUgY29t cGlsZWQgb24uIEl0IGFsc28gdXNlcyBHTlUgYXV0b21ha2UgZm9yIGFsbCB0aGUKK3N0YW5kYXJk IGZlYXR1cmVzIHRoYXQgR05VIGF1dG9tYWtlIG9mZmVycy4gVHlwZSAoQVMgTk9STUFMIFVTRVIs IE5PVCBBUworcm9vdCEpPC9wPgorPHByZT48Y29kZT4gICAgICAgICAvYmluL3NoIC4vY29uZmln dXJlPC9jb2RlPjwvcHJlPgorPHA+dG8gY3JlYXRlIGFuIGFwcHJvcHJpYXRlIE1ha2VmaWxlIGFu ZCBjb25maWcuaC4gSWYgbGVhZm5vZGUgY2Fubm90CitmaW5kIHlvdXIgUENSRSwgaXQgaXMgcHJv YmFibHkgYW4gb2xkIHZlcnNpb24gd2l0aG91dCBwY3JlLWNvbmZpZywgb3IKK3BjcmUtY29uZmln IGlzIG5vdCBpbiB5b3VyIHBhdGguIEVpdGhlciBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5n CitwY3JlLWNvbmZpZyB0byB5b3VyICRQQVRILCBvciBjYWxsIGNvbmZpZ3VyZSBsaWtlIHRoaXMg KHdlIGFzc3VtZSBQQ1JFCitpcyBpbiAvb3B0L3BjcmUtMy45KTo8L3A+Cis8cHJlPjxjb2RlPiAg ICAgICAgIGVudiBDUFBGTEFHUz0mcXVvdDstSS9vcHQvcGNyZS0zLjkmcXVvdDsgTERGTEFHUz0m cXVvdDstTC9vcHQvcGNyZS0zLjkmcXVvdDsgL2Jpbi9zaCAuL2NvbmZpZ3VyZTwvY29kZT48L3By ZT4KKzxwPk5PVEU6IG9uIHNvbWUgbWFjaGluZXMsIHdoZW4gUENSRSBpcyBsaW5rZWQgYWdhaW5z dCBhIHNoYXJlZCBsaWJyYXJ5LAoreW91IHdpbGwgbmVlZCB0byBhZGQgL29wdC9wY3JlLTMuOSB0 byBMRF9MSUJSQVJZX1BBVEggb3IgdG8KKy9ldGMvbGQuc28uY29uZi48L3A+Cis8cD5UaGUgY29u ZmlndXJlIHNjcmlwdCBjYW4gdGFrZSBzb21lIGZsYWdzIChyZXBsYWNlIERJUiBieSBhIGRpcmVj dG9yeQorbmFtZSwgRklMRSBieSBhIGZpbGUgbmFtZSk6PC9wPgorPHByZT48Y29kZT4tLWVuYWJs ZS1zcG9vbGRpcj1ESVIgIFRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IC92YXIvc3Bvb2wvbmV3cywK ICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgbGVhZm5vZGUgcHV0cyBpdHMgbmV3cyBzcG9v bCB1bmxlc3MKICAgICAgICAgICAgICAgICAgICAgICAgLS1sb2NhbHN0YXRlZGlyIGlzIGdpdmVu IG9yIC0tcHJlZml4IGlzIGdpdmVuIGFuZAogICAgICAgICAgICAgICAgICAgICAgICBkaWZmZXJl bnQgZnJvbSAvdXNyLCBpbiB0aGUgbGF0dGVyIGNhc2UsIHRoZQpAQCAtMjM3LDE3MyArMzMzLDEw MyBAQAogICAgICAgICAgICAgICAgICAgICAgICBuZWVkZWQgZm9yIG5vcm1hbCBvcGVyYXRpb24u IFRoaXMgb3B0aW9uIHJlcXVpcmVzCiAgICAgICAgICAgICAgICAgICAgICAgIGRtYWxsb2MsIGF2 YWlsYWJsZSBmcm9tIGh0dHA6Ly9kbWFsbG9jLmNvbS8uCiAKLS0td2l0aC1ydW5hcy11c2VyPVVT RVIgTGV0cyBsZWFmbm9kZSBydW4gYXMgdXNlciBVU0VSLCBkZWZhdWx0cyB0byAibmV3cyIuCist LXdpdGgtcnVuYXMtdXNlcj1VU0VSIExldHMgbGVhZm5vZGUgcnVuIGFzIHVzZXIgVVNFUiwgZGVm YXVsdHMgdG8gJnF1b3Q7bmV3cyZxdW90Oy4KIAogLS13aXRoLXBhbSAgICAgICAgICAgICBFbmFi bGUgUEFNIChwbHVnZ2FibGUgYXV0aGVudGljYXRpb24gbW9kdWxlcykKLSAgICAgICAgICAgICAg ICAgICAgICAgc3VwcG9ydC4KLTwvcHJlPgotICAgICAgICA8c3Ryb25nPkJFV0FSRTo8L3N0cm9u Zz4gRm9ybWVyIHZlcnNpb25zIGFsd2F5cyBkZWZhdWx0ZWQKLSAgICAgICAgdGhlaXIgc3lzY29u ZmRpciB0byAvZXRjL2xlYWZub2RlLiBDdXJyZW50IHZlcnNpb25zIG9ubHkKLSAgICAgICAgb3Zl cnJpZGUgc3lzY29uZmRpciB0byAvZXRjL2xlYWZub2RlIGlmIGNvbmZpZ3VyZWQgd2l0aG91dAot ICAgICAgICAtLXByZWZpeCBvciB3aXRoIC0tcHJlZml4PS91c3IuIFRoYXQgd2F5LCBpZgotICAg ICAgICAtLXByZWZpeD0vb3B0L2xlYWZub2RlLCB0aGUgc3lzY29uZmRpciBnb2VzIHRvCi0gICAg ICAgIC9vcHQvbGVhZm5vZGUvZXRjLCB3aGljaCBpcyBtb3JlIGFwcHJvcHJpYXRlLgotICAgICAg PC9saT4KLQotICAgICAgPGxpPgotICAgICAgICBUeXBlIAotPHByZT4KLSAgICAgICAgICBtYWtl Ci08L3ByZT4KLSAgICAgICAgVGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycy4KLSAgICAgIDwvbGk+ Ci0KLSAgICAgIDxsaT5CZWNvbWUgcm9vdC48L2xpPgotCi0gICAgICA8bGk+QXMgcm9vdCwgY3Jl YXRlIHVzZXIgYW5kIGdyb3VwICJuZXdzIiAob3IgdGhlIGNvbmZpZ3VyZWQKLSAgICAgIHVzZXIg YW5kIGdyb3VwKSBpZiB5b3UgZG9uJ3QgaGF2ZSB0aG9zZSBhbHJlYWR5LjwvbGk+Ci0KLSAgICAg IDxsaT4KLSAgICAgICAgVHlwZSAKLTxwcmU+Ci0gICAgICAgICAgbWFrZSBpbnN0YWxsCi08L3By ZT4KLSAgICAgICAgSWYgeW91IHByZWZlciBhbiBpbnN0YWxsYXRpb24gd2l0aCB0aGUgYmluYXJp ZXMgc3RyaXBwZWQKLSAgICAgICAgZnJlZSBvZiBzeW1ib2xzLCB1c2UgCi08cHJlPgotICAgICAg ICAgIG1ha2UgaW5zdGFsbC1zdHJpcAotPC9wcmU+Ci0gICAgICAgIGluc3RlYWQuPGJyPgotICAg ICAgICAgPGk+Rm9yIHBhY2thZ2VyczogaWYgeW91IHdhbnQgdG8gcHJlZml4IGFsbCBpbnN0YWxs YXRpb24KLSAgICAgICAgcGF0aHMgd2l0aCBhIGNvbW1vbiBwcmVmaXgsIGUuIGcuIHRvIHN1cHBv cnQgUlBNJ3MKLSAgICAgICAgQnVpbGRSb290IGZlYXR1cmU6IFlvdSBjYW4gdXNlIDxrYmQ+bWFr ZSBpbnN0YWxsLXN0cmlwCi0gICAgICAgIERFU1RESVI9L3Zhci90bXAvbGVhZm5vZGUtcm9vdDwv a2JkPi48L2k+Ci0gICAgICA8L2xpPgotCi0gICAgICA8bGk+Ci0gICAgICAgIENvbmZpZ3VyZSBz eXNsb2cgc28gaXQgY2FwdHVyZXMgbmV3cyBsb2dnaW5nLCBtb3N0IHN5c3RlbXMKLSAgICAgICAg ZG8gTk9UIGxvZyBuZXdzIHN0dWZmIGJ5IGRlZmF1bHQuIAotCi0gICAgICAgIDxvbD4KLSAgICAg ICAgICA8bGk+Ci0gICAgICAgICAgICBFZGl0IC9ldGMvc3lzbG9nLmNvbmYuIFVubGVzcyB5b3Ug YWxyZWFkeSBoYXZlCi0gICAgICAgICAgICBuZXdzLmluZm8gbG9nZ2luZywgYWRkIGEgbGluZSBs aWtlIHRoaXM6IAotPHByZT4KLW5ld3MuaW5mbyAgICAgICAgICAgICAgIC92YXIvbG9nL25ld3MK LTwvcHJlPgotCi0gICAgICAgICAgICA8cD5Ob3RlIHRoYXQgaWYgeW91IHdhbnQgdG8gc2VuZCBp biBhIGJ1ZyByZXBvcnQgYW5kCi0gICAgICAgICAgICBuZWVkIGRlYnVnIGxvZ2dpbmcsIHlvdSds bCBoYXZlIHRvIHJlcGxhY2UgbmV3cy5pbmZvIGJ5Ci0gICAgICAgICAgICBuZXdzLmRlYnVnIChh bmQgc2VuZCBhIFNJR0hVUCwgYXMgc2hvd24gYmVsb3cpLjwvcD4KLQotICAgICAgICAgICAgPHA+ WW91ciBzeXNsb2cuY29uZiBtYXkgYWxyZWFkeSBzdWdnZXN0IGEgZGlmZmVyZW50Ci0gICAgICAg ICAgICBmaWxlLiBJZiB5b3VyIHN5c2xvZy5jb25mIHN1Z2dlc3RzIG5ld3MuaW5mbyBsb2dnaW5n LAotICAgICAgICAgICAgdXNlIHRoYXQsIGJ1dCBiZSBzdXJlIHRvIGFjdGl2YXRlIGl0IGluIGNh c2UgaXQncwotICAgICAgICAgICAgY29tbWVudGVkIG91dDogcmVtb3ZlIGxlYWRpbmcgaGFzaCBt YXJrcyBhbmQgd2hpdGUKLSAgICAgICAgICAgIHNwYWNlLjwvcD4KLQotICAgICAgICAgICAgPHA+ QWxzbyBtYWtlIHN1cmUgeW91IHVzZSBUQUJzIGJldHdlZW4gbmV3cy5pbmZvIGFuZAotICAgICAg ICAgICAgdGhlIHBhdGguPC9wPgotICAgICAgICAgIDwvbGk+Ci0KLSAgICAgICAgICA8bGk+Q3Jl YXRlIHRoZSAvdmFyL2xvZy9uZXdzIGZpbGUsIHR5cGU6IDxrYmQ+dG91Y2gKLSAgICAgICAgICAv dmFyL2xvZy9uZXdzPC9rYmQ+LjwvbGk+Ci0KLSAgICAgICAgICA8bGk+U2VuZCBzeXNsb2dkIGEg SFVQIHNpZ25hbC4gPGtiZD5raWxsIC0xIGBjYXQKLSAgICAgICAgICAvdmFyL3J1bi9zeXNsb2dk LnBpZGA8L2tiZD4gdXN1YWxseSBkb2VzIHRoZSBqb2IsIGlmIGl0Ci0gICAgICAgICAgZG9lc24n dCwgcmV0cnkgd2l0aCAic3lzbG9nZCIgcmVwbGFjZWQgYnkgInN5c2xvZyIuPC9saT4KLSAgICAg ICAgPC9vbD4KLSAgICAgIDwvbGk+Ci0KLSAgICAgIDxsaT5JZiB5b3UgYXJlIHVwZGF0aW5nIGxl YWZub2RlIGZyb20gYSBwcmV2aW91cyB2ZXJzaW9uLCBzZWUKLSAgICAgIHRoZSBzZWN0aW9uICJV cGRhdGluZyIgYmVsb3cuPC9saT4KLQotICAgICAgPGxpPgotICAgICAgICBFZGl0ICQoTElCRElS KS9jb25maWcuICQoTElCRElSKSBkZWZhdWx0cyB0byAvZXRjL2xlYWZub2RlLAotICAgICAgICBi dXQgY2FuIGJlIGFkanVzdGVkIGF0IGJ1aWxkIHRpbWUuIEZvciBkb2N1bWVudGF0aW9uLCBzZWUK LSAgICAgICAgYmVsb3cgb3IgY29uZmlnLmV4YW1wbGUgYW5kIGxlYWZub2RlKDgpLiA8c3Ryb25n Pk1hbmRhdG9yeQotICAgICAgICBlZGl0cyB0byB0aGUgY29uZmlnIGZpbGUgYXJlOjwvc3Ryb25n PiAKLQotICAgICAgICA8dWw+Ci0gICAgICAgICAgPGxpPnNlcnZlciAtLSB0aGlzIG11c3QgcG9p bnQgdG8geW91ciB1cHN0cmVhbSBuZXdzCi0gICAgICAgICAgc2VydmVyLjwvbGk+Ci0KLSAgICAg ICAgICA8bGk+ZXhwaXJlIC0tIGhvdyBtYW55IGRheXMgd2lsbCBkb3dubG9hZGVkIGFydGljbGVz Ci0gICAgICAgICAgcmVtYWluIGluIHRoZSBzcG9vbC48L2xpPgotICAgICAgICA8L3VsPgotICAg ICAgICBNYWtlIHN1cmUgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlICROTlRQU0VSVkVSIG9yCi0g ICAgICAgIC9ldGMvbm50cHNlcnZlciBwb2ludHMgdG8geW91ciBvd24gaG9zdCBzbyBjbGllbnRz IHdpbGwKLSAgICAgICAgdGFsayB0byBsZWFmbm9kZSByYXRoZXIgdGhhbiB0cnkgdG8gZ28gdG8g dGhlIHVwc3RyZWFtCi0gICAgICAgIHNlcnZlci4gCi0KLSAgICAgICAgPHA+SWYgeW91IHdhbnQg dG8gdXNlIGZpbHRlcmluZyBvZiB0aGUgaW5jb21pbmcgc3Bvb2wsIHNlZQotICAgICAgICB0aGUg c2VjdGlvbiBvbiB0aGUgZmlsdGVyIGZpbGUgYmVsb3cuPC9wPgotICAgICAgPC9saT4KLQotICAg ICAgPGxpPgotCXRoZSBzeXN0ZW1kLyBkaXJlY3Rvcnkgb2YgdGhlIHRhcmJhbGwgY29udGFpbnMg ZXhhbXBsZSBzZXJ2aWNlIGFuZCAKLQl0aW1lciBmaWxlcyB0aGF0IGNhbiBiZSB1c2VkIG9uIHN5 c3RlbWQtYmFzZWQgc3lzdGVtcyA8c3Ryb25nPmluc3RlYWQgb2Y8L3N0cm9uZz4gdGhlCi0JaW5l dGQveGluZXRkIGFuZCBjcm9uW3RhYl0gc2V0dGluZ3Mgc2hvd24gYmVsb3cuPC9saT4KLQotICAg ICAgPGxpPgotICAgICAgICBTZXQgdXAgYSBjcm9uIGpvYiAoYXMgdXNlciAicm9vdCIgb3IgIm5l d3MiKSB0byBydW4gdGV4cGlyZQotICAgICAgICBldmVyeSBuaWdodCBvciBtYXliZSBldmVyeSB3 ZWVrLiBIZXJlIGlzIG15IGNyb250YWIgbGluZSwKLSAgICAgICAgd2hpY2ggcnVucyBuaWdodGx5 OiAKLTxwcmU+Ci0wIDQgKiAqICogL3Vzci9sb2NhbC9zYmluL3RleHBpcmUKLTwvcHJlPgotICAg ICAgICBJIGRpZCAiY3JvbnRhYiAtdSBuZXdzIC1lIiBhcyByb290IHRvIGVkaXQgdGhlIGNyb250 YWIKLSAgICAgICAgZmlsZSwgYW5kIGFkZGVkIHRoaXMgbGluZS4gU3Vic3RpdHV0aW5nICIxIiBm b3IgdGhlIHRoaXJkCi0gICAgICAgICIqIiwgdGh1czogCi08cHJlPgotMCA0ICogKiAxIC91c3Iv bG9jYWwvc2Jpbi90ZXhwaXJlCi08L3ByZT4KLSAgICAgICAgdGVsbHMgY3JvbiB0byBydW4gdGV4 cGlyZSBhdCA0YW0gZXZlcnkgTW9uZGF5IG1vcm5pbmcuCi0gICAgICA8L2xpPgotCi0gICAgICA8 bGk+TWFrZSBzdXJlIGZldGNobmV3cyBpcyBydW4gYXQgdGhlIGFwcHJvcHJpYXRlIHRpbWUuIElm Ci0gICAgICB5b3UgaGF2ZSBhIGZ1bGwtdGltZSBsaW5rLCBydW4gaXQgb3V0IG9mIGNyb24gKGFz ICJuZXdzIgotICAgICAgYWdhaW4pOyBpZiBub3QsIHJ1biBpdCB3aGVuIHlvdXIgY29ubmVjdGlv biB0byB0aGUgbmV0IGlzCi0gICAgICBlc3RhYmxpc2hlZC4gSWYgaXQgaXMgcnVuIGFzIHJvb3Qg aXQgd2lsbCBjaGFuZ2UgdG8gdXNlcgotICAgICAgIm5ld3MiLiBJZiB5b3UgdXNlIFBQUCwgeW91 IGNhbiBydW4gZmV0Y2huZXdzIGZyb20KLSAgICAgIC9ldGMvcHBwL2lwLXVwIChvciAvZXRjL3Bw cC9pcC11cC5sb2NhbCwgZGVwZW5kaW5nIG9uIHlvdXIKLSAgICAgIE9TKS48L2xpPgotCi0gICAg ICA8bGk+V2UgYXNzdW1lIHRoYXQgeW91IGhhdmUgdGNwZCBpbnN0YWxsZWQsIGl0IHNoaXBzIHdp dGgKLSAgICAgIG1vc3QgZGlzdHJpYnV0aW9ucy4gSWYgeW91IGRvbid0IGhhdmUgaXQsIGZldGNo IGl0IGZyb20KLSAgICAgIGZ0cDovL2Z0cC5wb3JjdXBpbmUub3JnL3B1Yi9zZWN1cml0eS8sIGl0 J3MgaW4gdGNwX3dyYXBwZXJzLAotICAgICAgYW5kIGluc3RhbGwgaXQuIEl0J3MgcHJlZmVyYWJs ZSBpZiB5b3UgY29tcGlsZSBpdCB3aXRoCi0gICAgICAtREhPU1RTX09QVElPTlMsIGFuZCB0aGUg ZXhhbXBsZXMgYmVsb3cgYXNzdW1lIHlvdSBkaWQuPC9saT4KLQotICAgICAgPGxpPgotICAgICAg ICBDaG9vc2UgZWl0aGVyIG9mIHRoZXNlIGFsdGVybmF0aXZlczogCi0KLSAgICAgICAgPHVsPgot ICAgICAgICAgIDxsaT4KLSAgICAgICAgICAgIEFsdGVybmF0aXZlICMxOiBJZiB5b3VyIHN5c3Rl bSB1c2VzIGluZXRkIChtb3N0Ci0gICAgICAgICAgICBjb21tZXJjaWFsIHVuaWNlcywgKkJTRCku IEVkaXQgL2V0Yy9pbmV0ZC5jb25mIHNvIHRoYXQKLSAgICAgICAgICAgICQoQklORElSKS9sZWFm bm9kZSBpcyBleGVjdXRlZCBmb3IgaW5jb21pbmcgTk5UUAotICAgICAgICAgICAgY29ubmVjdGlv bnMuIEhlcmUgaXMgbXkgaW5ldGQuY29uZiBsaW5lOiAKLTxwcmU+Ci1ubnRwICAgIHN0cmVhbSAg dGNwICAgICBub3dhaXQgIG5ld3MgICAgL3Vzci9zYmluL3RjcGQgL3Vzci9sb2NhbC9zYmluL2xl YWZub2RlCi08L3ByZT4KLSAgICAgICAgICAgIDxpPk5vdGU6IHNvbWUgc3lzdGVtcyBpbnN0YWxs IHRjcGQgdG8gYSBkaWZmZXJlbnQgcGF0aCwKLSAgICAgICAgICAgIGJ1dCBpdCdzIHVuY29tbW9u LiBDaGFuZ2UgdGhlIGZpcnN0IHBhdGggYWNjb3JkaW5nbHkgaWYKLSAgICAgICAgICAgIHlvdXIg dGNwZCByZXNpZGVzIGluIC91c3IvZXRjIG9yIC91c3IvbGJpbi48L2k+IEFmdGVyCi0gICAgICAg ICAgICB0aGVzZSBjaGFuZ2VzLCBmb3JjZSBpbmV0ZCB0byByZWFkIHRoZSBjaGFuZ2VkCi0gICAg ICAgICAgICBjb25maWd1cmF0aW9uIGZpbGUgYnkgc2VuZGluZyBpdCB0aGUgSEFOR1VQIHNpZ25h bC4gVG8KLSAgICAgICAgICAgIGFjaGlldmUgdGhpcywgaXNzdWUgdGhlIGZvbGxvd2luZyBjb21t YW5kIChhcyByb290KTogCi08cHJlPgota2lsbCAtSFVQIGBjYXQgL3Zhci9ydW4vaW5ldGQucGlk YAotPC9wcmU+Ci0gICAgICAgICAgPC9saT4KLQotICAgICAgICAgIDxsaT4KLSAgICAgICAgICAg IEFsdGVybmF0aXZlICMyOiBJZiB5b3VyIHN5c3RlbSBoYXMgeGluZXRkIGluc3RlYWQuIEFkZAot ICAgICAgICAgICAgdGhpcyB0byB5b3VyIHhpbmV0ZC5jb25mICh0aGlzIGV4YW1wbGUgYXNzdW1l cyB4aW5ldGQKLSAgICAgICAgICAgIDIuMy4zIG9yIG5ld2VyKTogCi08cHJlPgotc2VydmljZSBu bnRwCisgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuPC9jb2RlPjwvcHJlPgorPHA+PHN0 cm9uZz5CRVdBUkU6PC9zdHJvbmc+IEZvcm1lciB2ZXJzaW9ucyBhbHdheXMgZGVmYXVsdGVkIHRo ZWlyCitzeXNjb25mZGlyIHRvIC9ldGMvbGVhZm5vZGUuIEN1cnJlbnQgdmVyc2lvbnMgb25seSBv dmVycmlkZSBzeXNjb25mZGlyCit0byAvZXRjL2xlYWZub2RlIGlmIGNvbmZpZ3VyZWQgd2l0aG91 dCAtLXByZWZpeCBvciB3aXRoIC0tcHJlZml4PS91c3IuCitUaGF0IHdheSwgaWYgLS1wcmVmaXg9 L29wdC9sZWFmbm9kZSwgdGhlIHN5c2NvbmZkaXIgZ29lcyB0bworL29wdC9sZWFmbm9kZS9ldGMs IHdoaWNoIGlzIG1vcmUgYXBwcm9wcmlhdGUuPC9wPjwvbGk+Cis8bGk+PHA+VHlwZTwvcD4KKzxw cmU+PGNvZGU+ICAgICAgICAgIG1ha2U8L2NvZGU+PC9wcmU+Cis8cD5UaGVyZSBzaG91bGQgYmUg bm8gZXJyb3JzLjwvcD48L2xpPgorPGxpPjxwPkJlY29tZSByb290LjwvcD48L2xpPgorPGxpPjxw PkFzIHJvb3QsIGNyZWF0ZSB1c2VyIGFuZCBncm91cCAibmV3cyIgKG9yIHRoZSBjb25maWd1cmVk IHVzZXIgYW5kCitncm91cCkgaWYgeW91IGRvbid0IGhhdmUgdGhvc2UgYWxyZWFkeS48L3A+PC9s aT4KKzxsaT48cD5UeXBlPC9wPgorPHByZT48Y29kZT4gICAgICAgICAgbWFrZSBpbnN0YWxsPC9j b2RlPjwvcHJlPgorPHA+SWYgeW91IHByZWZlciBhbiBpbnN0YWxsYXRpb24gd2l0aCB0aGUgYmlu YXJpZXMgc3RyaXBwZWQgZnJlZSBvZgorc3ltYm9scywgdXNlPC9wPgorPHByZT48Y29kZT4gICAg ICAgICAgbWFrZSBpbnN0YWxsLXN0cmlwPC9jb2RlPjwvcHJlPgorPHA+aW5zdGVhZC48YnIgLz4K KzxlbT5Gb3IgcGFja2FnZXJzOiBpZiB5b3Ugd2FudCB0byBwcmVmaXggYWxsIGluc3RhbGxhdGlv biBwYXRocyB3aXRoIGEKK2NvbW1vbiBwcmVmaXgsIGUuIGcuIHRvIHN1cHBvcnQgUlBNJ3MgQnVp bGRSb290IGZlYXR1cmU6IFlvdSBjYW4gdXNlCis8Y29kZT5tYWtlIGluc3RhbGwtc3RyaXAgREVT VERJUj0vdmFyL3RtcC9sZWFmbm9kZS1yb290PC9jb2RlPi48L2VtPjwvcD48L2xpPgorPGxpPjxw PkNvbmZpZ3VyZSBzeXNsb2cgc28gaXQgY2FwdHVyZXMgbmV3cyBsb2dnaW5nLCBtb3N0IHN5c3Rl bXMgZG8gTk9UCitsb2cgbmV3cyBzdHVmZiBieSBkZWZhdWx0LjwvcD4KKzxvbCB0eXBlPSIxIj4K KzxsaT48cD5FZGl0IC9ldGMvc3lzbG9nLmNvbmYuIFVubGVzcyB5b3UgYWxyZWFkeSBoYXZlIG5l d3MuaW5mbyBsb2dnaW5nLAorYWRkIGEgbGluZSBsaWtlIHRoaXM6PC9wPgorPHByZT48Y29kZT5u ZXdzLmluZm8gICAgICAgICAgICAgICAvdmFyL2xvZy9uZXdzPC9jb2RlPjwvcHJlPgorPHA+Tm90 ZSB0aGF0IGlmIHlvdSB3YW50IHRvIHNlbmQgaW4gYSBidWcgcmVwb3J0IGFuZCBuZWVkIGRlYnVn IGxvZ2dpbmcsCit5b3UnbGwgaGF2ZSB0byByZXBsYWNlIG5ld3MuaW5mbyBieSBuZXdzLmRlYnVn IChhbmQgc2VuZCBhIFNJR0hVUCwgYXMKK3Nob3duIGJlbG93KS48L3A+Cis8cD5Zb3VyIHN5c2xv Zy5jb25mIG1heSBhbHJlYWR5IHN1Z2dlc3QgYSBkaWZmZXJlbnQgZmlsZS4gSWYgeW91cgorc3lz bG9nLmNvbmYgc3VnZ2VzdHMgbmV3cy5pbmZvIGxvZ2dpbmcsIHVzZSB0aGF0LCBidXQgYmUgc3Vy ZSB0bworYWN0aXZhdGUgaXQgaW4gY2FzZSBpdCdzIGNvbW1lbnRlZCBvdXQ6IHJlbW92ZSBsZWFk aW5nIGhhc2ggbWFya3MgYW5kCit3aGl0ZSBzcGFjZS48L3A+Cis8cD5BbHNvIG1ha2Ugc3VyZSB5 b3UgdXNlIFRBQnMgYmV0d2VlbiBuZXdzLmluZm8gYW5kIHRoZSBwYXRoLjwvcD48L2xpPgorPGxp PjxwPkNyZWF0ZSB0aGUgL3Zhci9sb2cvbmV3cyBmaWxlLCB0eXBlOgorPGNvZGU+dG91Y2ggL3Zh ci9sb2cvbmV3czwvY29kZT4uPC9wPjwvbGk+Cis8bGk+PHA+U2VuZCBzeXNsb2dkIGEgSFVQIHNp Z25hbC4gPGNvZGU+a2lsbCAtMSBcPC9jb2RlPmNhdAorL3Zhci9ydW4vc3lzbG9nZC5waWRgYCB1 c3VhbGx5IGRvZXMgdGhlIGpvYiwgaWYgaXQgZG9lc24ndCwgcmV0cnkgd2l0aAorInN5c2xvZ2Qi IHJlcGxhY2VkIGJ5ICJzeXNsb2ciLjwvcD48L2xpPgorPC9vbD48L2xpPgorPGxpPjxwPklmIHlv dSBhcmUgdXBkYXRpbmcgbGVhZm5vZGUgZnJvbSBhIHByZXZpb3VzIHZlcnNpb24sIHNlZSB0aGUK K3NlY3Rpb24gIlVwZGF0aW5nIiBiZWxvdy48L3A+PC9saT4KKzxsaT48cD5FZGl0ICQoTElCRElS KS9jb25maWcuICQoTElCRElSKSBkZWZhdWx0cyB0byAvZXRjL2xlYWZub2RlLCBidXQKK2NhbiBi ZSBhZGp1c3RlZCBhdCBidWlsZCB0aW1lLiBGb3IgZG9jdW1lbnRhdGlvbiwgc2VlIGJlbG93IG9y Citjb25maWcuZXhhbXBsZSBhbmQgbGVhZm5vZGUoOCkuIDxzdHJvbmc+TWFuZGF0b3J5IGVkaXRz IHRvIHRoZSBjb25maWcKK2ZpbGUgYXJlOjwvc3Ryb25nPjwvcD4KKzx1bD4KKzxsaT5zZXJ2ZXIg LS0gdGhpcyBtdXN0IHBvaW50IHRvIHlvdXIgdXBzdHJlYW0gbmV3cyBzZXJ2ZXIuPC9saT4KKzxs aT5leHBpcmUgLS0gaG93IG1hbnkgZGF5cyB3aWxsIGRvd25sb2FkZWQgYXJ0aWNsZXMgcmVtYWlu IGluIHRoZQorc3Bvb2wuPC9saT4KKzwvdWw+Cis8cD5NYWtlIHN1cmUgdGhlIGVudmlyb25tZW50 IHZhcmlhYmxlICROTlRQU0VSVkVSIG9yIC9ldGMvbm50cHNlcnZlcgorcG9pbnRzIHRvIHlvdXIg b3duIGhvc3Qgc28gY2xpZW50cyB3aWxsIHRhbGsgdG8gbGVhZm5vZGUgcmF0aGVyIHRoYW4gdHJ5 Cit0byBnbyB0byB0aGUgdXBzdHJlYW0gc2VydmVyLjwvcD4KKzxwPklmIHlvdSB3YW50IHRvIHVz ZSBmaWx0ZXJpbmcgb2YgdGhlIGluY29taW5nIHNwb29sLCBzZWUgdGhlIHNlY3Rpb24KK29uIHRo ZSBmaWx0ZXIgZmlsZSBiZWxvdy48L3A+PC9saT4KKzxsaT48cD50aGUgc3lzdGVtZC8gZGlyZWN0 b3J5IG9mIHRoZSB0YXJiYWxsIGNvbnRhaW5zIGV4YW1wbGUgc2VydmljZQorYW5kIHRpbWVyIGZp bGVzIHRoYXQgY2FuIGJlIHVzZWQgb24gc3lzdGVtZC1iYXNlZCBzeXN0ZW1zCis8c3Ryb25nPmlu c3RlYWQgb2Y8L3N0cm9uZz4gdGhlIGluZXRkL3hpbmV0ZCBhbmQgY3Jvblt0YWJdIHNldHRpbmdz CitzaG93biBiZWxvdy48L3A+PC9saT4KKzxsaT48cD5TZXQgdXAgYSBjcm9uIGpvYiAoYXMgdXNl ciAicm9vdCIgb3IgIm5ld3MiKSB0byBydW4gdGV4cGlyZSBldmVyeQorbmlnaHQgb3IgbWF5YmUg ZXZlcnkgd2Vlay4gSGVyZSBpcyBteSBjcm9udGFiIGxpbmUsIHdoaWNoIHJ1bnMKK25pZ2h0bHk6 PC9wPgorPHByZT48Y29kZT4wIDQgKiAqICogL3Vzci9sb2NhbC9zYmluL3RleHBpcmU8L2NvZGU+ PC9wcmU+Cis8cD5JIGRpZCAiY3JvbnRhYiAtdSBuZXdzIC1lIiBhcyByb290IHRvIGVkaXQgdGhl IGNyb250YWIgZmlsZSwgYW5kCithZGRlZCB0aGlzIGxpbmUuIFN1YnN0aXR1dGluZyAiMSIgZm9y IHRoZSB0aGlyZCAiKiIsIHRodXM6PC9wPgorPHByZT48Y29kZT4wIDQgKiAqIDEgL3Vzci9sb2Nh bC9zYmluL3RleHBpcmU8L2NvZGU+PC9wcmU+Cis8cD50ZWxscyBjcm9uIHRvIHJ1biB0ZXhwaXJl IGF0IDRhbSBldmVyeSBNb25kYXkgbW9ybmluZy48L3A+PC9saT4KKzxsaT48cD5NYWtlIHN1cmUg ZmV0Y2huZXdzIGlzIHJ1biBhdCB0aGUgYXBwcm9wcmlhdGUgdGltZS4gSWYgeW91IGhhdmUgYQor ZnVsbC10aW1lIGxpbmssIHJ1biBpdCBvdXQgb2YgY3JvbiAoYXMgIm5ld3MiIGFnYWluKTsgaWYg bm90LCBydW4gaXQKK3doZW4geW91ciBjb25uZWN0aW9uIHRvIHRoZSBuZXQgaXMgZXN0YWJsaXNo ZWQuIElmIGl0IGlzIHJ1biBhcyByb290IGl0Cit3aWxsIGNoYW5nZSB0byB1c2VyICJuZXdzIi4g SWYgeW91IHVzZSBQUFAsIHlvdSBjYW4gcnVuIGZldGNobmV3cyBmcm9tCisvZXRjL3BwcC9pcC11 cCAob3IgL2V0Yy9wcHAvaXAtdXAubG9jYWwsIGRlcGVuZGluZyBvbiB5b3VyIE9TKS48L3A+PC9s aT4KKzxsaT48cD5XZSBhc3N1bWUgdGhhdCB5b3UgaGF2ZSB0Y3BkIGluc3RhbGxlZCwgaXQgc2hp cHMgd2l0aCBtb3N0CitkaXN0cmlidXRpb25zLiBJZiB5b3UgZG9uJ3QgaGF2ZSBpdCwgZmV0Y2gg aXQgZnJvbQorZnRwOi8vZnRwLnBvcmN1cGluZS5vcmcvcHViL3NlY3VyaXR5LywgaXQncyBpbiB0 Y3Bfd3JhcHBlcnMsIGFuZCBpbnN0YWxsCitpdC4gSXQncyBwcmVmZXJhYmxlIGlmIHlvdSBjb21w aWxlIGl0IHdpdGggLURIT1NUU19PUFRJT05TLCBhbmQgdGhlCitleGFtcGxlcyBiZWxvdyBhc3N1 bWUgeW91IGRpZC48L3A+PC9saT4KKzxsaT48cD5DaG9vc2UgZWl0aGVyIG9mIHRoZXNlIGFsdGVy bmF0aXZlczo8L3A+Cis8dWw+Cis8bGk+PHA+QWx0ZXJuYXRpdmUgIzE6IElmIHlvdXIgc3lzdGVt IHVzZXMgaW5ldGQgKG1vc3QgY29tbWVyY2lhbAordW5pY2VzLCAqQlNEKS4gRWRpdCAvZXRjL2lu ZXRkLmNvbmYgc28gdGhhdCAkKEJJTkRJUikvbGVhZm5vZGUgaXMKK2V4ZWN1dGVkIGZvciBpbmNv bWluZyBOTlRQIGNvbm5lY3Rpb25zLiBIZXJlIGlzIG15IGluZXRkLmNvbmYgbGluZTo8L3A+Cis8 cHJlPjxjb2RlPm5udHAgICAgc3RyZWFtICB0Y3AgICAgIG5vd2FpdCAgbmV3cyAgICAvdXNyL3Ni aW4vdGNwZCAvdXNyL2xvY2FsL3NiaW4vbGVhZm5vZGU8L2NvZGU+PC9wcmU+Cis8cD48ZW0+Tm90 ZTogc29tZSBzeXN0ZW1zIGluc3RhbGwgdGNwZCB0byBhIGRpZmZlcmVudCBwYXRoLCBidXQgaXQn cwordW5jb21tb24uIENoYW5nZSB0aGUgZmlyc3QgcGF0aCBhY2NvcmRpbmdseSBpZiB5b3VyIHRj cGQgcmVzaWRlcyBpbgorL3Vzci9ldGMgb3IgL3Vzci9sYmluLjwvZW0+IEFmdGVyIHRoZXNlIGNo YW5nZXMsIGZvcmNlIGluZXRkIHRvIHJlYWQgdGhlCitjaGFuZ2VkIGNvbmZpZ3VyYXRpb24gZmls ZSBieSBzZW5kaW5nIGl0IHRoZSBIQU5HVVAgc2lnbmFsLiBUbyBhY2hpZXZlCit0aGlzLCBpc3N1 ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgKGFzIHJvb3QpOjwvcD4KKzxwcmU+PGNvZGU+a2lsbCAt SFVQIGBjYXQgL3Zhci9ydW4vaW5ldGQucGlkYDwvY29kZT48L3ByZT48L2xpPgorPGxpPjxwPkFs dGVybmF0aXZlICMyOiBJZiB5b3VyIHN5c3RlbSBoYXMgeGluZXRkIGluc3RlYWQuIEFkZCB0aGlz IHRvCit5b3VyIHhpbmV0ZC5jb25mICh0aGlzIGV4YW1wbGUgYXNzdW1lcyB4aW5ldGQgMi4zLjMg b3IgbmV3ZXIpOjwvcD4KKzxwcmU+PGNvZGU+c2VydmljZSBubnRwCiB7CiAgICAgICAgIGZsYWdz ICAgICAgICAgICA9IE5BTUVJTkFSR1MgTk9MSUJXUkFQCiAgICAgICAgIHNvY2tldF90eXBlICAg ICA9IHN0cmVhbQpAQCAtNDE0LDQ4NCArNDQwLDM1MyBAQCBzZXJ2aWNlIG5udHAKICAgICAgICAg c2VydmVyX2FyZ3MgICAgID0gL3Vzci9sb2NhbC9zYmluL2xlYWZub2RlCiAgICAgICAgIGluc3Rh bmNlcyAgICAgICA9IDcKICAgICAgICAgcGVyX3NvdXJjZSAgICAgID0gMwotfQotPC9wcmU+Ci0g ICAgICAgICAgICBUaGVuIHNlbmQgeGluZXRkIGFuIFVTUjIgc2lnbmFsIHRvIG1ha2UgaXQgcmVy ZWFkIGl0cwotICAgICAgICAgICAgY29uZmlndXJhdGlvbi4gU2VlIHRoZSA8Yj54aW5ldGQuY29u ZjwvYj4oNSkgbWFudWFsCi0gICAgICAgICAgICBwYWdlIGZvciBkZXRhaWxzLiA8aT5Ob3RlOiBz b21lIHN5c3RlbXMgaW5zdGFsbCB0Y3BkIHRvCi0gICAgICAgICAgICBhIGRpZmZlcmVudCBwYXRo LCBidXQgaXQncyB1bmNvbW1vbi4gQ2hhbmdlIHRoZSBmaXJzdAotICAgICAgICAgICAgcGF0aCBh Y2NvcmRpbmdseSBpZiB5b3VyIHRjcGQgcmVzaWRlcyBpbiAvdXNyL2V0YyBvcgotICAgICAgICAg ICAgL3Vzci9sYmluLjwvaT4KLSAgICAgICAgICA8L2xpPgotICAgICAgICA8L3VsPgotICAgICAg PC9saT4KLQotICAgICAgPGxpPgotICAgICAgICBXcml0ZSB0aGUgZm9sbG93aW5nIGludG8gL2V0 Yy9ob3N0cy5kZW55OiAKLTxwcmU+Ci1sZWFmbm9kZTogQUxMCi08L3ByZT4KLSAgICAgICAgYW5k IGludG8gL2V0Yy9ob3N0cy5hbGxvdzogCi08cHJlPgotbGVhZm5vZGU6IDEyNy4wLjAuMQotPC9w cmU+Ci0gICAgICAgIHRvIHByb3RlY3QgeW91ciBuZXdzIHNlcnZlciBmcm9tIGFidXNlLiBJZiB5 b3Ugd2FudCB0byBtYWtlCi0gICAgICAgIGxlYWZub2RlIGFjY2Vzc2libGUgdG8gYWRkaXRpb25h bCBJUCBudW1iZXJzL2RvbWFpbnMsIGFkZAotICAgICAgICB0aGVtIGluIC9ldGMvaG9zdHMuYWxs b3cgaW4gdGhlIGZvcm1hdCBkZXNjcmliZWQgYWJvdmUuIFNlZQotICAgICAgICBob3N0c19hY2Nl c3MoNSkgYW5kIGhvc3RzX29wdGlvbnMoNSkgKGlmIGFwcGxpY2FibGUpIGZvcgotICAgICAgICBt b3JlIGluZm9ybWF0aW9uIGFib3V0IHRjcCB3cmFwcGVycy4KLSAgICAgIDwvbGk+Ci0KLSAgICAg IDxsaT4KLSAgICAgICAgPGk+KG9wdGlvbmFsKTwvaT4gSWYgeW91IHdhbnQgdG8gYWxsb3cgcmVh ZC1vbmx5IGFjY2VzcywKLSAgICAgICAgeW91IGNhbiBzZXQgdGhlIE5PUE9TVElORyBlbnZpcm9u bWVudCB2YXJpYWJsZSwgZm9yCi0gICAgICAgIGV4YW1wbGUsIHB1dCB0aGlzIGludG8gL2V0Yy9o b3N0cy5hbGxvdzogCi08cHJlPgotbGVhZm5vZGU6IDE5Mi4xNjguMC40OiBzZXRlbnYgTk9QT1NU SU5HICJZb3UgbWF5IG9ubHkgcmVhZC4iCi08L3ByZT4KLSAgICAgICAgVGhlIGNvbnRlbnRzIG9m IHRoaXMgdmFyaWFibGUgYXJlIHByaW50ZWQgYXQgdGhlIGVuZCBvZiB0aGUKLSAgICAgICAgYmFu bmVyLCB3aXRoIGNvbnRyb2wgY2hhcmFjdGVycyAoYXMgcGVyIGlzY250cmwoMykpCi0gICAgICAg IHJlcGxhY2VkIGJ5IGFuIHVuZGVyc2NvcmUuCi0gICAgICA8L2xpPgotCi0gICAgICA8bGk+Ci0g ICAgICAgIDxpPihvcHRpb25hbCk8L2k+IElmIHlvdSB3YW50IHRvIGFsbG93IGNsaWVudHMgcmVh ZCBhY2Nlc3MKLSAgICAgICAgdG8gbG9jYWwgb3IgZ2xvYmFsIHN1YnNjcmliZWQgZ3JvdXBzLCBi dXQgZG8gbm90IHdhbnQgdG8KLSAgICAgICAgYWxsb3cgdGhlbSB0byBzdWJzY3JpYmUgdG8gbmV3 IGdyb3VwcywgeW91IGNhbiBzZXQgdGhlCi0gICAgICAgIE5PU1VCU0NSSUJFIGVudmlyb25tZW50 IHZhcmlhYmxlLiBXaGVuIHRoaXMgdmFyaWFibGUgaXMKLSAgICAgICAgc2V0LCBhIGNsaWVudCB3 aWxsIG5ldmVyIHNlZSBhIHBzZXVkbyBhcnRpY2xlLiBGb3IgZXhhbXBsZSwKLSAgICAgICAgaWYg Y2xpZW50cyBmcm9tIDEyNy4wLjAuMSBhbmQgMTkyLjE2OC4wLjQyIG1heSBzdWJzY3JpYmUKLSAg ICAgICAgbmV3IGdyb3VwcywgYW5kIGFsbCBvdGhlciAxOTIuMTY4LjAuKiBob3N0cyBtYXkgcmVh ZCB0aGUKLSAgICAgICAgZXhpc3RpbmcgZ3JvdXBzIGJ1dCBub3Qgc3Vic2NyaWJlIHRvIG5ldyBn cm91cHMsIHB1dCB0aGlzCi0gICAgICAgIGludG8gL2V0Yy9ob3N0cy5hbGxvdyAodGhpcyBhc3N1 bWVzIGxpYndyYXAvdGNwZCBoYXZlIGJlZW4KLSAgICAgICAgY29tcGlsZWQgd2l0aCAtRFBST0NF U1NfT1BUSU9OUyk6IAotPHByZT4KLWxlYWZub2RlOiAxMjcuMC4wLjEgMTkyLjE2OC4wLjQyOiBB TExPVworfTwvY29kZT48L3ByZT4KKzxwPlRoZW4gc2VuZCB4aW5ldGQgYW4gVVNSMiBzaWduYWwg dG8gbWFrZSBpdCByZXJlYWQgaXRzIGNvbmZpZ3VyYXRpb24uCitTZWUgdGhlIDxzdHJvbmc+eGlu ZXRkLmNvbmY8L3N0cm9uZz4oNSkgbWFudWFsIHBhZ2UgZm9yIGRldGFpbHMuCis8ZW0+Tm90ZTog c29tZSBzeXN0ZW1zIGluc3RhbGwgdGNwZCB0byBhIGRpZmZlcmVudCBwYXRoLCBidXQgaXQncwor dW5jb21tb24uIENoYW5nZSB0aGUgZmlyc3QgcGF0aCBhY2NvcmRpbmdseSBpZiB5b3VyIHRjcGQg cmVzaWRlcyBpbgorL3Vzci9ldGMgb3IgL3Vzci9sYmluLjwvZW0+PC9wPjwvbGk+Cis8L3VsPjwv bGk+Cis8bGk+PHA+V3JpdGUgdGhlIGZvbGxvd2luZyBpbnRvIC9ldGMvaG9zdHMuZGVueTo8L3A+ Cis8cHJlPjxjb2RlPmxlYWZub2RlOiBBTEw8L2NvZGU+PC9wcmU+Cis8cD5hbmQgaW50byAvZXRj L2hvc3RzLmFsbG93OjwvcD4KKzxwcmU+PGNvZGU+bGVhZm5vZGU6IDEyNy4wLjAuMTwvY29kZT48 L3ByZT4KKzxwPnRvIHByb3RlY3QgeW91ciBuZXdzIHNlcnZlciBmcm9tIGFidXNlLiBJZiB5b3Ug d2FudCB0byBtYWtlIGxlYWZub2RlCithY2Nlc3NpYmxlIHRvIGFkZGl0aW9uYWwgSVAgbnVtYmVy cy9kb21haW5zLCBhZGQgdGhlbSBpbgorL2V0Yy9ob3N0cy5hbGxvdyBpbiB0aGUgZm9ybWF0IGRl c2NyaWJlZCBhYm92ZS4gU2VlIGhvc3RzX2FjY2Vzcyg1KSBhbmQKK2hvc3RzX29wdGlvbnMoNSkg KGlmIGFwcGxpY2FibGUpIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRjcAord3JhcHBlcnMu PC9wPjwvbGk+Cis8bGk+PHA+PGVtPihvcHRpb25hbCk8L2VtPiBJZiB5b3Ugd2FudCB0byBhbGxv dyByZWFkLW9ubHkgYWNjZXNzLCB5b3UKK2NhbiBzZXQgdGhlIE5PUE9TVElORyBlbnZpcm9ubWVu dCB2YXJpYWJsZSwgZm9yIGV4YW1wbGUsIHB1dCB0aGlzIGludG8KKy9ldGMvaG9zdHMuYWxsb3c6 PC9wPgorPHByZT48Y29kZT5sZWFmbm9kZTogMTkyLjE2OC4wLjQ6IHNldGVudiBOT1BPU1RJTkcg JnF1b3Q7WW91IG1heSBvbmx5IHJlYWQuJnF1b3Q7PC9jb2RlPjwvcHJlPgorPHA+VGhlIGNvbnRl bnRzIG9mIHRoaXMgdmFyaWFibGUgYXJlIHByaW50ZWQgYXQgdGhlIGVuZCBvZiB0aGUgYmFubmVy LAord2l0aCBjb250cm9sIGNoYXJhY3RlcnMgKGFzIHBlciBpc2NudHJsKDMpKSByZXBsYWNlZCBi eSBhbgordW5kZXJzY29yZS48L3A+PC9saT4KKzxsaT48cD48ZW0+KG9wdGlvbmFsKTwvZW0+IElm IHlvdSB3YW50IHRvIGFsbG93IGNsaWVudHMgcmVhZCBhY2Nlc3MgdG8KK2xvY2FsIG9yIGdsb2Jh bCBzdWJzY3JpYmVkIGdyb3VwcywgYnV0IGRvIG5vdCB3YW50IHRvIGFsbG93IHRoZW0gdG8KK3N1 YnNjcmliZSB0byBuZXcgZ3JvdXBzLCB5b3UgY2FuIHNldCB0aGUgTk9TVUJTQ1JJQkUgZW52aXJv bm1lbnQKK3ZhcmlhYmxlLiBXaGVuIHRoaXMgdmFyaWFibGUgaXMgc2V0LCBhIGNsaWVudCB3aWxs IG5ldmVyIHNlZSBhIHBzZXVkbworYXJ0aWNsZS4gRm9yIGV4YW1wbGUsIGlmIGNsaWVudHMgZnJv bSAxMjcuMC4wLjEgYW5kIDE5Mi4xNjguMC40MiBtYXkKK3N1YnNjcmliZSBuZXcgZ3JvdXBzLCBh bmQgYWxsIG90aGVyIDE5Mi4xNjguMC4qIGhvc3RzIG1heSByZWFkIHRoZQorZXhpc3RpbmcgZ3Jv dXBzIGJ1dCBub3Qgc3Vic2NyaWJlIHRvIG5ldyBncm91cHMsIHB1dCB0aGlzIGludG8KKy9ldGMv aG9zdHMuYWxsb3cgKHRoaXMgYXNzdW1lcyBsaWJ3cmFwL3RjcGQgaGF2ZSBiZWVuIGNvbXBpbGVk IHdpdGgKKy1EUFJPQ0VTU19PUFRJT05TKTo8L3A+Cis8cHJlPjxjb2RlPmxlYWZub2RlOiAxMjcu MC4wLjEgMTkyLjE2OC4wLjQyOiBBTExPVwogbGVhZm5vZGU6IDE5Mi4xNjguMC4wLzI1NS4yNTUu MjU1LjA6IHNldGVudiBOT1NVQlNDUklCRSAxCi1sZWFmbm9kZTogQUxMOiBERU5ZCi08L3ByZT4K LSAgICAgIDwvbGk+Ci0KLSAgICAgIDxsaT5SdW4gZmV0Y2huZXdzLiBUaGUgZmlyc3QgcnVuIHdp bGwgdGFrZSBzb21lIHRpbWUgc2luY2UKLSAgICAgIGZldGNobmV3cyByZWFkcyBhIGxpc3Qgb2Yg YWxsIG5ld3Nncm91cHMgZnJvbSB5b3VyIHVwc3RyZWFtCi0gICAgICBzZXJ2ZXIuIEluIHRoZSB3 b3JzdCBjYXNlLCB0aGlzIGNhbiB0YWtlIHVwIHRvIDYwIG1pbnV0ZXMsCi0gICAgICBkZXBlbmRp bmcgb24gaG93IG1hbnkgbmV3c2dyb3VwcyB5b3VyIHByb3ZpZGVyIG9mZmVycyBhbmQgaG93Ci0g ICAgICByZWxpYWJsZSB5b3VyIG1vZGVtIGNvbm5lY3Rpb24gaXMuIFRvIHNlZSBmZXRjaG5ld3Mg d29ya2luZywKLSAgICAgIHJ1biBpdCB3aXRoIC12dnYuPC9saT4KLQotICAgICAgPGxpPlJ1biB0 ZXhwaXJlLiBJdCB3aWxsIGNyZWF0ZSBkaXJlY3RvcmllcyBtaXNzaW5nIGFmdGVyIHRoZQotICAg ICAgZmlyc3QgaW5zdGFsbC48L2xpPgotCi0gICAgICA8bGk+RXhpdCB5b3VyIHJvb3Qgc2hlbGwu PC9saT4KLQotICAgICAgPGxpPgotICAgICAgICBSZWFkIG5ld3MgdXNpbmcgYW4gTk5UUCBjbGll bnQgKHdpdGggJE5OVFBTRVJWRVIgb3IKLSAgICAgICAgL2V0Yy9ubnRwc2VydmVyIHBvaW50aW5n IHRvIHlvdXIgb3duIGhvc3QpLiBTZWxlY3QgdGhlCi0gICAgICAgIGdyb3VwcyB5b3Ugd2FudCB0 byByZWFkIGluIHRoZSBmdXR1cmUuIFlvdSB3aWxsIGZpbmQgdGhlbQotICAgICAgICBlbXB0eSBl eGNlcHQgYSBkZWZhdWx0IGFydGljbGUuIFJlYWRpbmcgdGhpcyBhcnRpY2xlIGlzCi0gICAgICAg IG5lY2Vzc2FyeSB3aXRoIHNvbWUgbmV3c3JlYWRlcnMgdG8gc2VsZWN0IHRoZSBncm91cHMgZm9y Ci0gICAgICAgIGZ1cnRoZXIgZmV0Y2hpbmcuIAotCi0gICAgICAgIDxwPkFmdGVyIHRoaXMsIHlv dSBzaG91bGQgaGF2ZSBlbXB0eSBmaWxlcyBpbgotICAgICAgICAvdmFyL3Nwb29sL25ld3MvaW50 ZXJlc3RpbmcuZ3JvdXBzLyBmb3IgZXZlcnkgZ3JvdXAgeW91Ci0gICAgICAgIHdhbnQgdG8gcmVh ZC48L3A+Ci0gICAgICA8L2xpPgotCi0gICAgICA8bGk+QmVjb21lIHJvb3QgYW5kIHJ1biBmZXRj aG5ld3MgYWdhaW4sIHRoZW4gZXhpdCB5b3VyIHJvb3QKLSAgICAgIHNoZWxsLiBUaGlzIHJ1biBz aG91bGQgcGljayB1cCBhbGwgdGhlIGdyb3VwcyB5b3Ugd2FudCB0bwotICAgICAgcmVhZC48L2xp PgotICAgIDwvb2w+Ci0gICAgPGhyPgotCi0gICAgPGgzIGNsYXNzPSJjMiI+My4gVVBEQVRFIEZS T00gUFJFVklPVVMgVkVSU0lPTlM8L2gzPgotCi0gICAgPGgzIGNsYXNzPSJjMiI+My4xIFVwZGF0 ZSBmcm9tIHZlcnNpb25zICZsdDsgMi4wYjhfbWE4PC9oMz4KLQotICAgIDxwPlRoZSBsb2NhbC5n cm91cHMgYW5kIGdyb3VwaW5mbyBmaWxlcyBhbmQgdGhlIGhhc2ggZnVuY3Rpb24KLSAgICBmb3Ig bWVzc2FnZS5pZCBoYXZlIGNoYW5nZWQgZnJvbSBhbnkgZm9ybWVyIHZlcnNpb24gdG8KLSAgICAy LjBiOF9tYTguPC9wPgotCi0gICAgPHA+PHN0cm9uZz5JTVBPUlRBTlQ6PC9zdHJvbmc+IFRvIGZp eCB0aGUgInJlbW90ZSIgZ3JvdXBzLCBydW4KLSAgICA8a2JkPmZldGNobmV3cyAtZjwva2JkPiAt LSBpdCB3aWxsIHRha2Ugc29tZSB0aW1lLCBiZWNhdXNlIGl0Ci0gICAgcmVmZXRjaGVzIHRoZSB3 aG9sZSBhY3RpdmUgZmlsZSwgYnV0IHRoYXQncyBuZWVkZWQgYW55aG93IHRvCi0gICAgZmlndXJl IHRoZSBncm91cCBzdGF0dXMgKHBvc3RpbmcgYWxsb3dlZC9ub3QgYWxsb3dlZC9tb2RlcmF0ZWQK LSAgICBncm91cCkuPC9wPgotCi0gICAgPHA+VG8gZml4IDxzdHJvbmc+bG9jYWwuZ3JvdXBzPC9z dHJvbmc+LCBpZiB5b3UgaGF2ZSBwZXJsCi0gICAgaW5zdGFsbGVkOjwvcD4KLTxwcmU+Ci0gIHBl cmwgLXBsZSAncyAvXHMrL1x0eVx0LycgLWkuYmFrIC9ldGMvbGVhZm5vZGUvbG9jYWwuZ3JvdXBz Ci08L3ByZT4KLSAgICBUaGlzIHdpbGwgbWFrZSBhIGJhY2t1cCBvZiB5b3VyIG9yaWdpbmFsCi0g ICAgL2V0Yy9sZWFmbm9kZS9sb2NhbC5ncm91cHMgaW4gL2V0Yy9sZWFmbm9kZS9sb2NhbC5ncm91 cHMuYmFrLiAKLQotICAgIDxwPklmIHlvdSBkb24ndCBoYXZlIFBlcmwsIHVzZSBhIHRleHQgZWRp dG9yIHRoYXQgcHJlc2VydmVzCi0gICAgSFRBQiBjaGFyYWN0ZXJzLCBjaGFuZ2UgYWxsIHdoaWxl IHNwYWNlIHRvIFRBQiBhbmQgaW5zZXJ0IGFuCi0gICAgYWRkaXRpb25hbCBmaWVsZCByZWFkaW5n IGp1c3QgeTo8L3A+Ci0KLSAgICA8YmxvY2txdW90ZT4KLSAgICAgIEJlZm9yZTogbG9jYWwudGVz dCBzb21lIHRlc3QgZ3JvdXA8YnI+Ci0gICAgICAgQWZ0ZXI6IGxvY2FsLnRlc3RUQUJ5VEFCc29t ZSB0ZXN0IGdyb3VwCi0gICAgPC9ibG9ja3F1b3RlPgotICAgIDxicj4KLSAgICAgVXNlIHRoZSBy ZWFsIFRBQiBjaGFyYWN0ZXIgcmF0aGVyIHRoYW4gVEFCLiA8YnI+Ci0gICAgIFRvIGZpeCB0aGUg c3Bvb2wgZm9yIG1lc3NhZ2UuaWRzLCBydW4gPGtiZD50ZXhwaXJlIC1yPC9rYmQ+Ci0gICAgPGJy PgotICAgICBUaGUgY2hhbmdlcyB3cml0dGVuIGluIHNlY3Rpb24gMy4yIGJlbG93IGFsc28gYXBw bHkuIAotCi0gICAgPGgzIGNsYXNzPSJjMiI+My4yIFVwZGF0ZSBmcm9tIHZlcnNpb25zICZsdDsg Mi4wPC9oMz4KLQotICAgIDxwPkZyb20gMS45LnggdG8gMi4wIHRoZXJlIHdlcmUgc29tZSBjaGFu Z2VzIHRvIG9wdGlvbnMgaW4gdGhlCi0gICAgbWFpbiBjb25maWd1cmF0aW9uIGZpbGUuIFRoZSBv cHRpb25zICJtYXhhZ2UiLCAibWF4bGluZXMiLAotICAgICJtaW5saW5lcyIsICJtYXhieXRlcyIg YW5kICJtYXhjcm9zc3Bvc3QiIGhhdmUgYmVjb21lIG9ic29sZXRlCi0gICAgaW4gdGhlIG1haW4g Y29uZmlndXJhdGlvbiBmaWxlIGFuZCBoYXZlIHRvIGJlIHNwZWNpZmllZCBpbiB0aGUKLSAgICBm aWx0ZXIgZmlsZSBpbnN0ZWFkLiBUaGUgYWR2YW50YWdlIG9mIHRoaXMgaXMgdGhhdCB5b3UgY2Fu IGRvCi0gICAgbXVjaCBmaW5lciBzZWxlY3Rpb24gb24gdGhlc2UgY3JpdGVyaWEgbm93LjwvcD4K LQotICAgIDxwPlRvIHJlcGxhY2UsIGZvciBleGFtcGxlLCBhICJtYXhhZ2UgPSA1IiBzcGVjaWZp Y2F0aW9uIGluIHRoZQotICAgIG1haW4gY29uZmlndXJhdGlvbiBmaWxlLCB5b3Ugc2hvdWxkIGFk ZCB0aGUgZm9sbG93aW5nIHRvIHlvdXIKLSAgICBmaWx0ZXIgZmlsZTo8L3A+Ci08cHJlPgotbmV3 c2dyb3VwcyA9IC4qCitsZWFmbm9kZTogQUxMOiBERU5ZPC9jb2RlPjwvcHJlPjwvbGk+Cis8bGk+ PHA+UnVuIGZldGNobmV3cy4gVGhlIGZpcnN0IHJ1biB3aWxsIHRha2Ugc29tZSB0aW1lIHNpbmNl IGZldGNobmV3cworcmVhZHMgYSBsaXN0IG9mIGFsbCBuZXdzZ3JvdXBzIGZyb20geW91ciB1cHN0 cmVhbSBzZXJ2ZXIuIEluIHRoZSB3b3JzdAorY2FzZSwgdGhpcyBjYW4gdGFrZSB1cCB0byA2MCBt aW51dGVzLCBkZXBlbmRpbmcgb24gaG93IG1hbnkgbmV3c2dyb3VwcworeW91ciBwcm92aWRlciBv ZmZlcnMgYW5kIGhvdyByZWxpYWJsZSB5b3VyIG1vZGVtIGNvbm5lY3Rpb24gaXMuIFRvIHNlZQor ZmV0Y2huZXdzIHdvcmtpbmcsIHJ1biBpdCB3aXRoIC12dnYuPC9wPjwvbGk+Cis8bGk+PHA+UnVu IHRleHBpcmUuIEl0IHdpbGwgY3JlYXRlIGRpcmVjdG9yaWVzIG1pc3NpbmcgYWZ0ZXIgdGhlIGZp cnN0CitpbnN0YWxsLjwvcD48L2xpPgorPGxpPjxwPkV4aXQgeW91ciByb290IHNoZWxsLjwvcD48 L2xpPgorPGxpPjxwPlJlYWQgbmV3cyB1c2luZyBhbiBOTlRQIGNsaWVudCAod2l0aCAkTk5UUFNF UlZFUiBvcgorL2V0Yy9ubnRwc2VydmVyIHBvaW50aW5nIHRvIHlvdXIgb3duIGhvc3QpLiBTZWxl Y3QgdGhlIGdyb3VwcyB5b3Ugd2FudAordG8gcmVhZCBpbiB0aGUgZnV0dXJlLiBZb3Ugd2lsbCBm aW5kIHRoZW0gZW1wdHkgZXhjZXB0IGEgZGVmYXVsdAorYXJ0aWNsZS4gUmVhZGluZyB0aGlzIGFy dGljbGUgaXMgbmVjZXNzYXJ5IHdpdGggc29tZSBuZXdzcmVhZGVycyB0bworc2VsZWN0IHRoZSBn cm91cHMgZm9yIGZ1cnRoZXIgZmV0Y2hpbmcuPC9wPgorPHA+QWZ0ZXIgdGhpcywgeW91IHNob3Vs ZCBoYXZlIGVtcHR5IGZpbGVzIGluCisvdmFyL3Nwb29sL25ld3MvaW50ZXJlc3RpbmcuZ3JvdXBz LyBmb3IgZXZlcnkgZ3JvdXAgeW91IHdhbnQgdG8KK3JlYWQuPC9wPjwvbGk+Cis8bGk+PHA+QmVj b21lIHJvb3QgYW5kIHJ1biBmZXRjaG5ld3MgYWdhaW4sIHRoZW4gZXhpdCB5b3VyIHJvb3Qgc2hl bGwuCitUaGlzIHJ1biBzaG91bGQgcGljayB1cCBhbGwgdGhlIGdyb3VwcyB5b3Ugd2FudCB0byBy ZWFkLjwvcD48L2xpPgorPC9vbD4KKzxociAvPgorPGgzIGlkPSJ1cGRhdGUtZnJvbS1wcmV2aW91 cy12ZXJzaW9ucyI+My4gVVBEQVRFIEZST00gUFJFVklPVVMKK1ZFUlNJT05TPC9oMz4KKzxoMyBp ZD0idXBkYXRlLWZyb20tdmVyc2lvbnMtMi4wYjhfbWE4Ij4zLjEgVXBkYXRlIGZyb20gdmVyc2lv bnMgJmx0OworMi4wYjhfbWE4PC9oMz4KKzxwPlRoZSBsb2NhbC5ncm91cHMgYW5kIGdyb3VwaW5m byBmaWxlcyBhbmQgdGhlIGhhc2ggZnVuY3Rpb24gZm9yCittZXNzYWdlLmlkIGhhdmUgY2hhbmdl ZCBmcm9tIGFueSBmb3JtZXIgdmVyc2lvbiB0byAyLjBiOF9tYTguPC9wPgorPHA+PHN0cm9uZz5J TVBPUlRBTlQ6PC9zdHJvbmc+IFRvIGZpeCB0aGUgInJlbW90ZSIgZ3JvdXBzLCBydW4KKzxjb2Rl PmZldGNobmV3cyAtZjwvY29kZT4gLS0gaXQgd2lsbCB0YWtlIHNvbWUgdGltZSwgYmVjYXVzZSBp dAorcmVmZXRjaGVzIHRoZSB3aG9sZSBhY3RpdmUgZmlsZSwgYnV0IHRoYXQncyBuZWVkZWQgYW55 aG93IHRvIGZpZ3VyZSB0aGUKK2dyb3VwIHN0YXR1cyAocG9zdGluZyBhbGxvd2VkL25vdCBhbGxv d2VkL21vZGVyYXRlZCBncm91cCkuPC9wPgorPHA+VG8gZml4IDxzdHJvbmc+bG9jYWwuZ3JvdXBz PC9zdHJvbmc+LCBpZiB5b3UgaGF2ZSBwZXJsIGluc3RhbGxlZDo8L3A+Cis8cHJlPjxjb2RlPiAg cGVybCAtcGxlICYjMzk7cyAvXHMrL1x0eVx0LyYjMzk7IC1pLmJhayAvZXRjL2xlYWZub2RlL2xv Y2FsLmdyb3VwczwvY29kZT48L3ByZT4KKzxwPlRoaXMgd2lsbCBtYWtlIGEgYmFja3VwIG9mIHlv dXIgb3JpZ2luYWwgL2V0Yy9sZWFmbm9kZS9sb2NhbC5ncm91cHMKK2luIC9ldGMvbGVhZm5vZGUv bG9jYWwuZ3JvdXBzLmJhay48L3A+Cis8cD5JZiB5b3UgZG9uJ3QgaGF2ZSBQZXJsLCB1c2UgYSB0 ZXh0IGVkaXRvciB0aGF0IHByZXNlcnZlcyBIVEFCCitjaGFyYWN0ZXJzLCBjaGFuZ2UgYWxsIHdo aWxlIHNwYWNlIHRvIFRBQiBhbmQgaW5zZXJ0IGFuIGFkZGl0aW9uYWwgZmllbGQKK3JlYWRpbmcg anVzdCB5OjwvcD4KKzxibG9ja3F1b3RlPgorPHA+QmVmb3JlOiBsb2NhbC50ZXN0IHNvbWUgdGVz dCBncm91cDxiciAvPgorQWZ0ZXI6IGxvY2FsLnRlc3RUQUJ5VEFCc29tZSB0ZXN0IGdyb3VwPC9w PgorPC9ibG9ja3F1b3RlPgorPHA+PGJyIC8+CitVc2UgdGhlIHJlYWwgVEFCIGNoYXJhY3RlciBy YXRoZXIgdGhhbiBUQUIuPGJyIC8+CitUbyBmaXggdGhlIHNwb29sIGZvciBtZXNzYWdlLmlkcywg cnVuIDxjb2RlPnRleHBpcmUgLXI8L2NvZGU+PGJyIC8+CitUaGUgY2hhbmdlcyB3cml0dGVuIGlu IHNlY3Rpb24gMy4yIGJlbG93IGFsc28gYXBwbHkuPC9wPgorPGgzIGlkPSJ1cGRhdGUtZnJvbS12 ZXJzaW9ucy0yLjAiPjMuMiBVcGRhdGUgZnJvbSB2ZXJzaW9ucyAmbHQ7IDIuMDwvaDM+Cis8cD5G cm9tIDEuOS54IHRvIDIuMCB0aGVyZSB3ZXJlIHNvbWUgY2hhbmdlcyB0byBvcHRpb25zIGluIHRo ZSBtYWluCitjb25maWd1cmF0aW9uIGZpbGUuIFRoZSBvcHRpb25zICJtYXhhZ2UiLCAibWF4bGlu ZXMiLCAibWlubGluZXMiLAorIm1heGJ5dGVzIiBhbmQgIm1heGNyb3NzcG9zdCIgaGF2ZSBiZWNv bWUgb2Jzb2xldGUgaW4gdGhlIG1haW4KK2NvbmZpZ3VyYXRpb24gZmlsZSBhbmQgaGF2ZSB0byBi ZSBzcGVjaWZpZWQgaW4gdGhlIGZpbHRlciBmaWxlIGluc3RlYWQuCitUaGUgYWR2YW50YWdlIG9m IHRoaXMgaXMgdGhhdCB5b3UgY2FuIGRvIG11Y2ggZmluZXIgc2VsZWN0aW9uIG9uIHRoZXNlCitj cml0ZXJpYSBub3cuPC9wPgorPHA+VG8gcmVwbGFjZSwgZm9yIGV4YW1wbGUsIGEgIm1heGFnZSA9 IDUiIHNwZWNpZmljYXRpb24gaW4gdGhlIG1haW4KK2NvbmZpZ3VyYXRpb24gZmlsZSwgeW91IHNo b3VsZCBhZGQgdGhlIGZvbGxvd2luZyB0byB5b3VyIGZpbHRlcgorZmlsZTo8L3A+Cis8cHJlPjxj b2RlPm5ld3Nncm91cHMgPSAuKgogbWF4YWdlID0gNQotYWN0aW9uID0ga2lsbAotPC9wcmU+Ci0K LSAgICA8cD5UaGUgbGVhZm5vZGUgcHJvZ3JhbXMgd2lsbCBpc3N1ZSB3YXJuaW5ncyBpZiB0aGV5 IGVuY291bnRlcgotICAgIG9ic29sZXRlIHNwZWNpZmljYXRpb25zIGluIHRoZSBtYWluIGNvbmZp ZyBmaWxlLjwvcD4KLQotICAgIDxoMyBjbGFzcz0iYzIiPjMuMyBVcGRhdGUgZnJvbSB2ZXJzaW9u cyAmbHQ7IDEuOS4zPC9oMz4KLQotICAgIDxwPkZyb20gdmVyc2lvbiAxLjkuMyBvbiwgdGhlIGdy b3VwaW5mbyBmaWxlIGlzIHNvcnRlZCBpbiBhCi0gICAgY2FzZS1pbnNlbnNpdGl2ZSBtYW5uZXIu IFRvIHVwZGF0ZSBjb3JyZWN0bHksIGRvIGEgIm1ha2UKLSAgICB1cGRhdGUiIGFzIHJvb3QgYWZ0 ZXIgeW91IGhhdmUgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCAibWFrZQotICAgIGluc3RhbGwiLiBU aGlzIHdpbGwgcmUtc29ydCB0aGUgZ3JvdXBpbmZvIGZpbGUuIFRoZSBvbGQKLSAgICBncm91cGlu Zm8gZmlsZSB3aWxsIGJlIHN0b3JlZCBhcyBncm91cGluZm8ub2xkIGp1c3QgaW4gY2FzZQotICAg IHNvbWV0aGluZyBnb2VzIHdyb25nLiBZb3UgYWxzbyBoYXZlIHRvIGNoYW5nZSB5b3VyIG1haW4g Y29uZmlnCi0gICAgZmlsZSBtYW51YWxseSBhcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIHNl Y3Rpb24uPC9wPgotCi0gICAgPGgzIGNsYXNzPSJjMiI+My40IFVwZGF0ZSBmcm9tIHZlcnNpb25z ICZsdDsgMS42PC9oMz4KLQotICAgIDxwPkJldHdlZW4gbGVhZm5vZGUtMS42YWxwaGEgYW5kIGxl YWZub2RlLTEuNiwgdGhlIGZvcm1hdCBvZgotICAgIHRoZSBncm91cGluZm8gZmlsZSBjaGFuZ2Vk IGFuZCBzb21lIGZpbGVzIG1vdmVkIHRvIG90aGVyCi0gICAgcGxhY2VzLiBUbyB1cGRhdGUgY29y cmVjdGx5LCBkbyBhICJtYWtlIHVwZGF0ZSIgYXMgcm9vdCBhZnRlcgotICAgIHlvdSBoYXZlIHN1 Y2Nlc3NmdWxseSBjb21wbGV0ZWQgIm1ha2UgaW5zdGFsbCIuIFRoaXMgd2lsbAotICAgIHJlZm9y bWF0IHRoZSBncm91cGluZm8gZmlsZSBhbmQgbW92ZSB0aGUgb3RoZXIgZmlsZXMgaW50byB0aGUK LSAgICBjb3JyZWN0IHBsYWNlcy4gVGhlIG9sZCBncm91cGluZm8gZmlsZSB3aWxsIGJlIHN0b3Jl ZCBhcwotICAgIGdyb3VwaW5mby5vbGQganVzdCBpbiBjYXNlIHNvbWV0aGluZyBnb2VzIHdyb25n LiBZb3UgYWxzbyBoYXZlCi0gICAgdG8gY2hhbmdlIHlvdXIgbWFpbiBjb25maWcgZmlsZSBtYW51 YWxseSBhcyBkZXNjcmliZWQgaW4gdGhlCi0gICAgc2VjdGlvbiAiVXBkYXRlIGZyb20gdmVyc2lv bnMgJmx0OyAyLjAiLjwvcD4KLSAgICA8aHI+Ci0KLSAgICA8aDMgY2xhc3M9ImMyIj40LiBGSUxF UyBBTkQgRElSRUNUT1JJRVM8L2gzPgotCi0gICAgPHA+TGVhZm5vZGUgcHV0cyBpdHMgZmlsZXMg aW4gdGhyZWUgc2VwYXJhdGUgZGlyZWN0b3JpZXM6IFRoZQotICAgIHNwb29sIGRpcmVjdG9yeSwg dGhlIGxpYnJhcnkgZGlyZWN0b3J5LCBhbmQgdGhlIGJpbmFyaWVzCi0gICAgZGlyZWN0b3J5LiBB bGwgZGlyZWN0b3JpZXMgY2FuIGJlIGNoYW5nZWQgYXQgY29tcGlsZSB0aW1lLjwvcD4KLQotICAg IDxwPkluIHRoZSBzcG9vbCBkaXJlY3RvcnkgeW91IGZpbmQgdGhlIHN0b3JlZCBuZXdzLCB0aGUg YWN0aXZlCi0gICAgZmlsZSBhbmQgc29tZSBvdGhlciBzaG9ydC1saXZlZCBjb25maWd1cmF0aW9u IGZpbGUuIEl0IGRlZmF1bHRzCi0gICAgdG8gL3Zhci9zcG9vbC9uZXdzIGFuZCBjYW4gYmUgY2hh bmdlZCBhdCBjb21waWxhdGlvbiB0aW1lLgotICAgIFRoZXJlIGFyZSBzb21lIHNwZWNpYWwgZGly ZWN0b3JpZXMgaGVyZTsgc2VlIHRoZSBsZWFmbm9kZSg4KQotICAgIG1hbiBwYWdlLjwvcD4KLQot ICAgIDxwPlRoZSBsaWJyYXJ5IGRpcmVjdG9yeSBjb250YWlucyBsb25nLWxpdmVkIGNvbmZpZ3Vy YXRpb24KLSAgICBmaWxlcy4gSXQgZGVmYXVsdHMgdG8gL2V0Yy9sZWFmbm9kZS48L3A+Ci0KLSAg ICA8cD5UaGUgYmluYXJpZXMgZGlyZWN0b3J5LCAvdXNyL2xvY2FsL3NiaW4gYnkgZGVmYXVsdCwg Y29udGFpbnMKLSAgICB0aGUgZXhlY3V0YWJsZSBwcm9ncmFtcyBhcHBseWZpbHRlciwgdGV4cGly ZSwgZmV0Y2huZXdzIGFuZAotICAgIGxlYWZub2RlLjwvcD4KLQotICAgIDxwPlRoZSB1c2VyIGRp cmVjdG9yeSwgL3Vzci9sb2NhbC9iaW4gYnkgZGVmYXVsdCwgY29udGFpbnMgdGhlCi0gICAgbmV3 c3EgcHJvZ3JhbS48L3A+Ci0KLSAgICA8aDMgY2xhc3M9ImMyIj40LjEuIFRoZSBtYWluIGNvbmZp Z3VyYXRpb24gZmlsZTwvaDM+Ci0KLSAgICA8cD5UaGUgbWFpbiBjb25maWd1cmF0aW9uIGZpbGUg Y29udGFpbnMgc2V0dGluZ3MgaW1wb3J0YW50IGZvcgotICAgIGFsbCBwcm9ncmFtcyBvZiB0aGUg bGVhZm5vZGUgc3VpdGUuIEl0IGRlZmF1bHRzIHRvCi0gICAgL2V0Yy9sZWFmbm9kZS9jb25maWcs IGJ1dCBzZXZlcmFsIGNvbmZpZ3VyYXRpb24gZmlsZXMgY2FuIGJlCi0gICAgdXNlZCBhdCBvbmNl IGJ5IGVtcGxveWluZyB0aGUgLUYgc3dpdGNoIG9mIHRoZSBwcm9ncmFtcy48L3A+Ci0KLSAgICA8 cD5UaGUgZmlsZSBjb250YWlucyB0d28gbWFuZGF0b3J5IGFuZCBhIG51bWJlciBvZiBvcHRpb25h bAotICAgIHBhcmFtZXRlcnMuPC9wPgotCi0gICAgPHA+Tk9URTogR2xvYmFsIG9wdGlvbnMgbXVz dCBjb21lIGZpcnN0LCBzZXJ2ZXItc3BlY2lmaWMKLSAgICBvcHRpb25zIGJlbG93IHRoZSBzZXJ2 ZXIgPSBsaW5lcy48L3A+Ci0KLSAgICA8cCBjbGFzcz0iYzQiPk1hbmRhdG9yeSBwYXJhbWV0ZXJz PC9wPgotCi0gICAgPGJsb2NrcXVvdGU+Ci0gICAgICBzZXJ2ZXIgPSBuZXdzMDIuYmlncHJvdmlk ZXIuY29tCi0gICAgPC9ibG9ja3F1b3RlPgotICAgIFlvdSBoYXZlIHRvIHNwZWNpZnkgYXQgbGVh c3Qgb25lIHNlcnZlciAoZXhjZXB0IGlmIHlvdSB3YW50Ci0gICAgbGVhZm5vZGUgdG8gc2VydmUg YXMgYSBsb2NhbCBzZXJ2ZXIgb25seSkuIFVzdWFsbHksIHRoaXMgd2lsbAotICAgIGJlIHRoZSBu ZXdzIHNlcnZlciBvZiB5b3VyIHByb3ZpZGVyLiBZb3UgY2FuIHNwZWNpZnkgbW9yZSB0aGFuCi0g ICAgb25lIHNlcnZlciwgYW5kIGZldGNobmV3cyB3aWxsIHJldHJpZXZlIG5ld3MgZnJvbSBhbGwg b2YgdGhlbSwKLSAgICB0YWtpbmcgY2FyZSBub3QgdG8gdHJhbnNmZXIgYXJ0aWNsZXMgbXVsdGlw bGUgdGltZXMgdG8geW91cgotICAgIG1hY2hpbmUuIFNlcnZlcnMgd2lsbCBiZSBxdWVyaWVkIGlu IHRoZSBvcmRlciBzcGVjaWZpZWQgaW4gdGhlCi0gICAgY29uZmlnIGZpbGUuIAotCi0gICAgPGJs b2NrcXVvdGU+Ci0gICAgICBleHBpcmUgPSA1Ci0gICAgPC9ibG9ja3F1b3RlPgotICAgIFRoaXMg cGFyYW1ldGVyIGRldGVybWluZXMgaG93IG1hbnkgZGF5cyB0aHJlYWRzIGFyZSBrZXB0IG9uCi0g ICAgeW91ciBoYXJkIGRpc2suIHRleHBpcmUgd2lsbCBkZWxldGUgd2hvbGUgdGhyZWFkcywgbm90 IGp1c3QKLSAgICBzaW5nbGUgYXJ0aWNsZXMuIAotCi0gICAgPHAgY2xhc3M9ImM0Ij5TZXJ2ZXIt c3BlY2lmaWMgb3B0aW9uYWwgcGFyYW1ldGVyczwvcD4KLQotICAgIDxwPlRvIGNvbmZpZ3VyZSBp bnRlcmFjdGlvbiB3aXRoIHRoZSBzZXJ2ZXIgc29tZXdoYXQsIHlvdSBjYW4KLSAgICBjaGFuZ2Ug dGhlIGJlaGF2aW91ciBvZiBmZXRjaG5ld3MgYnkgc2V0dGluZyBzZXZlcmFsCi0gICAgc2VydmVy LXNwZWNpZmljIG9wdGlvbmFsIHBhcmFtZXRlcnMuIFRoZXkgaGF2ZSB0byBiZSBzcGVjaWZpZWQK LSAgICBkaXJlY3RseSBhZnRlciB0aGUgY29ycmVzcG9uZGluZyAic2VydmVyIiBzdGF0ZW1lbnQu IEEgbmV3Ci0gICAgc2VydmVyIHN0YXRlbWVudCBpbiB0aGUgY29uZmlnIGZpbGUgd2lsbCBhbHNv IGFsbG93IG5ldwotICAgIG9wdGlvbmFsIHBhcmFtZXRlcnMuPC9wPgotCi0gICAgPGJsb2NrcXVv dGU+Ci0gICAgICB1c2VybmFtZSA9IG15bmFtZTxicj4KLSAgICAgICBwYXNzd29yZCA9IG15cGFz c3dkCi0gICAgPC9ibG9ja3F1b3RlPgotICAgIElmIHlvdXIgdXBzdHJlYW0gc2VydmVyIHJlcXVp cmVzIGEgZm9ybSBvZiBhdXRoZW50aWNhdGlvbiwgeW91Ci0gICAgY2FuIHNldCB5b3VyIHVzZXJu YW1lIGFuZCBwYXNzd29yZCBoZXJlLiAKLQotICAgIDxibG9ja3F1b3RlPgotICAgICAgdGltZW91 dCA9IDMwCi0gICAgPC9ibG9ja3F1b3RlPgotICAgIEl0IG1heSBoYXBwZW4gdGhhdCwgZHVlIHRv IGEgYmFkIGNvbm5lY3Rpb24gb3Igb3RoZXIgcmVhc29ucywKLSAgICB0aGUgc2VydmVyIHN0b3Bz IHRhbGtpbmcgdG8geW91IHdoaWxlIHlvdSBmZXRjaCBuZXdzLiBUaGUKLSAgICAidGltZW91dCIg cGFyYW1ldGVyIGRldGVybWluZXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIGZldGNobmV3cwotICAg IGlzIHN1cHBvc2VkIHRvIHdhaXQgZm9yIGEgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyIGJlZm9y ZQotICAgIGdpdmluZyB1cC4gCi0KLSAgICA8YmxvY2txdW90ZT4KLSAgICAgIG5vZGVzYyA9IDEK LSAgICA8L2Jsb2NrcXVvdGU+Ci0gICAgU29tZSBzZXJ2ZXJzIGFyZSB1bmFibGUgdG8gZGVsaXZl ciBkZXNjcmlwdGlvbnMgb2YgbmV3Ci0gICAgbmV3c2dyb3VwcyBjb3JyZWN0bHkuIFdoZW4gZmV0 Y2huZXdzIGVuY291bnRlcnMgc3VjaCBhIHNlcnZlciwKLSAgICBpdCB3aWxsIHByaW50IHRoZSB3 YXJuaW5nIAotCi0gICAgPGJsb2NrcXVvdGU+Ci0gICAgICBzZXJ2ZXIubmFtZSBkb2VzIG5vdCBw cm9jZXNzIExJU1QgTkVXU0dST1VQUyBuZXdzLmdyb3VwLm5hbWUKLSAgICAgIGNvcnJlY3RseTog dXNlIG5vZGVzYwotICAgIDwvYmxvY2txdW90ZT4KLSAgICBUbyBhbGxvdyBmb3Igc2hvcnRlciBk b3dubG9hZCB0aW1lcywgeW91IHNob3VsZCBpbiB0aGlzIGNhc2UKLSAgICBzZXQgIm5vZGVzYyA9 IDEiIGZvciB0aGF0IHBhcnRpY3VsYXIgc2VydmVyIGluIHRoZQotICAgIGNvbmZpZ3VyYXRpb24g ZmlsZS4gCi0KLSAgICA8YmxvY2txdW90ZT4KLSAgICAgIHBvcnQgPSA4MDAwCi0gICAgPC9ibG9j a3F1b3RlPgotICAgIE5vcm1hbGx5LCBmZXRjaG5ld3Mgd2lsbCB0cnkgdG8gcmV0cmlldmUgbmV3 cyBmcm9tIHBvcnQgMTE5Ci0gICAgKHRoZSBzdGFuZGFyZCBubnRwIHBvcnQpIG9mIHlvdXIgdXBz dHJlYW0gc2VydmVyLiBJZiB0aGUKLSAgICB1cHN0cmVhbSBzZXJ2ZXIgcnVucyBvbiBhIGRpZmZl cmVudCBwb3J0LCB5b3UgY2FuIHNwZWNpZnkgaXQKLSAgICB3aXRoIHRoaXMgb3B0aW9uLiAKLQot ICAgIDxwIGNsYXNzPSJjNCI+R2VuZXJhbCBvcHRpb25hbCBwYXJhbWV0ZXJzPC9wPgotCi0gICAg PGJsb2NrcXVvdGU+Ci0gICAgICBhdXRoZW50aWNhdGUgPSA8aT5NRVRIT0Q8L2k+Ci0gICAgPC9i bG9ja3F1b3RlPgotICAgIFJlcXVpcmUgdGhhdCBOTlRQIGNsaWVudHMgY29ubmVjdGluZyB0byB5 b3VyIGxlYWZub2RlCi0gICAgYXV0aGVudGljYXRlIHRoZW1zZWx2ZXMuIFRoZSBvbmx5IG1ldGhv ZCBjdXJyZW50bHkgc3VwcG9ydGVkIGlzCi0gICAgPHR0PmludGVybmFsPC90dD4uIEluIHRoaXMg bW9kZSwgbGVhZm5vZGUgZXhwZWN0cyBhIGZpbGUKLSAgICA8aT51c2VyczwvaT4gaW4gaXRzIHN5 c2NvbmZkaXIsIC9ldGMvbGVhZm5vZGUvdXNlcnMgYnkgZGVmYXVsdCwKLSAgICB3aGljaCBoYXMg YSBzaW1wbGUgZm9ybWF0LCBvbmUgbGluZSBwZXIgdXNlciwgd2l0aCB0aGUgdXNlcgotICAgIG5h bWUgKHdoaWNoIGNhbm5vdCBjb250YWluIHNwYWNlcyksIHRoZW4gYSBjb2xvbiwgdGhlbiB0aGUK LSAgICBjcnlwdCgzKSBlbmNyeXB0ZWQgcGFzc3dvcmQuIFRvIGdlbmVyYXRlIHRoZXNlIGxpbmVz LCB5b3UgY2FuCi0gICAgdXNlIHRoZSBQZXJsIHByb2dyYW0gPGk+dG9vbHMvbWFrZV9wYXNzLnBs PC9pPiwgZm9yIGV4YW1wbGUsIGlmCi0gICAgeW91IHdhbnQgdG8gYWRkIGEgdXNlciAiZW5pZ21h IiB3aXRoIGEgcGFzc3dvcmQgb2YgImJyZWFrIW1lIiwKLSAgICB0eXBlOiAKLQotICAgIDxibG9j a3F1b3RlPgotICAgICAgcGVybCAtd1QgdG9vbHMvbWFrZV9wYXNzLnBsICdlbmlnbWEnICdicmVh ayFtZScKLSAgICA8L2Jsb2NrcXVvdGU+Ci0gICAgYW5kIGNvcHkgdGhlIHJlc3VsdGluZyBsaW5l IHRvIHRoZSA8aT51c2VyczwvaT4gZmlsZS48YnI+Ci0gICAgIGh0cGFzc3dkIGFzIHNoaXBwZWQg Zm9yIEFwYWNoZSBzZXJ2ZXJzIHNob3VsZCBhbHNvIHdvcmsgaWYgaW4KLSAgICBjcnlwdCgzKSBt b2RlLiAKLQotICAgIDxibG9ja3F1b3RlPgotICAgICAgaG9zdG5hbWUgPSBob3N0LmRvbWFpbi5j b3VudHJ5Ci0gICAgPC9ibG9ja3F1b3RlPgotICAgIElmIHRoZSBwb3N0aW5ncyB0aGF0IHlvdSB3 cml0ZSBkbyBub3QgaGF2ZSBtZXNzYWdlIElEcwotICAgIChnZW5lcmF0ZWQgYnkgdGhlIG5ld3Ny ZWFkZXIpLCBsZWFmbm9kZSB3aWxsIGdlbmVyYXRlIGEgbWVzc2FnZQotICAgIElEIGZvciB5b3Uu IChJdCB3aWxsIG5ldmVyIG92ZXJ3cml0ZSBhbiBhbHJlYWR5IGV4aXN0aW5nCi0gICAgbWVzc2Fn ZSBJRC4pIE1lc3NhZ2UgSURzIGdlbmVyYXRlZCBieSBsZWFmbm9kZSBmZWF0dXJlICIubG4iCi0g ICAgYmVmb3JlIHRoZSBAIHNpZ24uIFRoZSBtZXNzYWdlIElEIGNvbnRhaW5zIHRoZSBmdWxseSBx dWFsaWZpZWQKLSAgICBob3N0bmFtZSBvZiB5b3VyIG1hY2hpbmUgd2hpY2ggbWF5IG5vdCBhbHdh eXMgYmUgd2hhdCB5b3Ugd2FudC4KLSAgICBJbiB0aGF0IGNhc2UsIHlvdSBjYW4gb3ZlcnJpZGUg dGhlIHVzZSBvZiB0aGUgaG9zdG5hbWUgYnkgdXNpbmcKLSAgICB0aGUgImhvc3RuYW1lIiBvcHRp b24uIAotCi0gICAgPGJsb2NrcXVvdGU+Ci0gICAgICBjcmVhdGVfYWxsX2xpbmtzID0gMQotICAg IDwvYmxvY2txdW90ZT4KLSAgICBVc3VhbGx5IGZldGNobmV3cyB3aWxsIHN0b3JlIGFydGljbGVz IG9ubHkgaW4gdGhlIG5ld3Nncm91cHMKLSAgICB3aGljaCB5b3UgY29uc2lkZXIgaW50ZXJlc3Rp bmcuIFVuZm9ydHVuYXRlbHksIHRoaXMgbWFrZXMgaXQKLSAgICBkaWZmaWN1bHQgdG8gc2NvcmUg Zm9yIHRoZSBudW1iZXIgb2YgbmV3c2dyb3VwcyBhIG1lc3NhZ2UgaXMKLSAgICBwb3N0ZWQgdG8g YmVjYXVzZSB0aGUgTmV3c2dyb3VwczogaGVhZGVyIGlzIG5vdCBmZWF0dXJlZCBpbiB0aGUKLSAg ICBvdmVydmlldyBpbmZvcm1hdGlvbjsgdGhlcmVmb3JlIHlvdSBjYW4gZGV0ZXJtaW5lIHRoZSBu dW1iZXIgb2YKLSAgICBuZXdzZ3JvdXBzIGFuIGFydGljbGUgaXMgY3Jvc3Nwb3N0ZWQgdG8gb25s eSBmcm9tIHRoZSBYcmVmOgotICAgIGhlYWRlci4gSWYgImNyZWF0ZV9hbGxfbGlua3MiIGlzIHNl dCB0byAxLCBmZXRjaG5ld3Mgd2lsbCBzdG9yZQotICAgIGFydGljbGVzIGluIGFsbCBuZXdzZ3Jv dXBzIHdoaWNoIHRoZXkgYXJlIHBvc3RlZCB0bywgbWFraW5nIGFsbAotICAgIHRoZXNlIG5ld3Nn cm91cHMgdHVybiB1cCBpbiB0aGUgWHJlZjogaGVhZGVyLiAKLQotICAgIDxibG9ja3F1b3RlPgot ICAgICAgZ3JvdXBleHBpcmUgPSBhLm5ld3MuZ3JvdXAgNwotICAgIDwvYmxvY2txdW90ZT4KLSAg ICBBcyBvdXRsaW5lZCBhYm92ZSwgdGV4cGlyZSB3aWxsIGV4cGlyZSB0aHJlYWRzIGFmdGVyICJl eHBpcmUiCi0gICAgZGF5cy4gSWYgeW91IHdhbnQgdG8gYWRqdXN0IGV4cGlyeSB0aW1lcyBmb3Ig Y2VydGFpbiBncm91cHMsCi0gICAgeW91IG1heSB1c2UgdGhlICJncm91cGV4cGlyZSIgcGFyYW1l dGVyIHRvIGRvIGp1c3QgdGhhdC4gWW91Ci0gICAgY2FuIHNwZWNpZnkgZ3JvdXBzIG9yIHVzZSB3 aWxkY2FyZHM7IGZvciBleGFtcGxlIAotCi0gICAgPGJsb2NrcXVvdGU+Ci0gICAgICBncm91cGV4 cGlyZSA9ICouYW5ub3VuY2UgMzAKLSAgICA8L2Jsb2NrcXVvdGU+Ci0gICAgd2lsbCBhZmZlY3Qg ZXhwaXJ5IHRpbWVzIG9mIGFsbCBncm91cHMgZW5kaW5nIHdpdGggIi5hbm5vdW5jZSIuCi0gICAg Ci0KLSAgICA8YmxvY2txdW90ZT4KLSAgICAgIGZpbHRlcmZpbGUgPSAvZXRjL2xlYWZub2RlL2Zp bHRlcnMKLSAgICA8L2Jsb2NrcXVvdGU+Ci0gICAgSWYgeW91IHdhbnQgdG8gZW1wbG95IGZpbHRl cmluZyBvbiBpbmNvbWluZyBtZXNzYWdlcywgeW91IGhhdmUKLSAgICB0byBzcGVjaWZ5IHRoZSBw YXRoIHdoZXJlIHRoZSBmaWx0ZXJmaWxlIGNhbiBiZSBmb3VuZC4gVGhlCi0gICAgZm9ybWF0IG9m IHRoZSBmaWx0ZXJmaWxlIGlzIGRlc2NyaWJlZCBpbiB0aGUgbmV4dCBjaGFwdGVyLiAKLQotICAg IDxibG9ja3F1b3RlPgotICAgICAgdGltZW91dF9zaG9ydCA9IDI8YnI+Ci0gICAgICAgdGltZW91 dF9sb25nID0gNQotICAgIDwvYmxvY2txdW90ZT4KLSAgICBUaGVzZSB0d28gcGFyYW1ldGVycyBk ZXRlcm1pbmUgaG93IHF1aWNrbHkgYSBncm91cCBpcwotICAgIHVuc3Vic2NyaWJlZCBieSBsZWFm bm9kZSBhZnRlciB5b3UgaGF2ZSBzdG9wcGVkIHJlYWRpbmcgaXQuIElmCi0gICAgeW91IGhhdmUg bG9va2VkIGludG8gdGhlIGdyb3VwIG9ubHkgb25jZSwgc3Vic2NyaXB0aW9uIGlzCi0gICAgc3Rv cHBlZCBhZnRlciAidGltZW91dF9zaG9ydCIgZGF5czsgaWYgeW91IGhhdmUgcmVhZCBpdCBtb3Jl Ci0gICAgcmVndWxhcmx5LCBzdWJzY3JpcHRpb24gaXMgc3RvcHBlZCBhZnRlciAidGltZW91dF9s b25nIiBkYXlzLgotICAgIChZb3UgY2FuIHN0b3Agc3Vic2NyaXB0aW9uIGltbWVkaWF0ZWx5IGJ5 IHJlbW92aW5nIHRoZQotICAgIGNvcnJlc3BvbmRpbmcgZmlsZSBpbiAvdmFyL3Nwb29sL25ld3Mv aW50ZXJlc3RpbmcuZ3JvdXBzLykuIAotCi0gICAgPGJsb2NrcXVvdGU+Ci0gICAgICB0aW1lb3V0 X2FjdGl2ZSA9IDkwCi0gICAgPC9ibG9ja3F1b3RlPgotICAgIEJ5IGRlZmF1bHQsIGZldGNobmV3 cyB3aWxsIHJlLXJlYWQgYWN0aXZlIGZpbGVzIGZyb20gdGhlCi0gICAgdXBzdHJlYW0gc2VydmVy IGV2ZXJ5IDkwIGRheXMuIFRoaXMgaW50ZXJ2YWwgY2FuIGJlIGNoYW5nZWQgYnkKLSAgICBzZXR0 aW5nICJ0aW1lb3V0X2FjdGl2ZSIgdG8gYSBkaWZmZXJlbnQgdmFsdWUuIFJlLXJlYWRpbmcgdGhl Ci0gICAgYWN0aXZlIGZpbGUgZnJlcXVlbnRseSB3aWxsIGtlZXAgaXQgYSBsaXR0bGUgYml0IHNt YWxsZXIgYnV0Ci0gICAgd2lsbCBpbmNyZWFzZSB0aGUgb24tbGluZSB0aW1lLiAKLQotICAgIDxi bG9ja3F1b3RlPgotICAgICAgZGVsYXlib2R5ID0gMQotICAgIDwvYmxvY2txdW90ZT4KLSAgICBU aGlzIG9wdGlvbiBzd2l0Y2hlcyBmZXRjaG5ld3MgaW50byBhIG1vZGUgd2hlcmUgb25seSB0aGUK LSAgICBoZWFkZXJzIG9mIGFydGljbGVzIGFyZSBmZXRjaGVkIGZvciB2aXN1YWwgaW5zcGVjdGlv bi4gT25seSB0aGUKLSAgICBhcnRpY2xlcyByZWFkIGluIHRoZSBuZXdzcmVhZGVyIHdpbGwgYmUg cmV0cmlldmVkIHRoZSBuZXh0IHRpbWUKLSAgICBmZXRjaG5ld3MgaXMgY2FsbGVkLiBUaGlzIGNh biBzYXZlIGEgaHVnZSBhbW91bnQgb2YgZGlzayBzcGFjZQotICAgIGFuZCBkb3dubG9hZCB0aW1l IGJ1dCByZXF1aXJlcyBtb3JlIG1hbnVhbCBpbnRlcnZlbnRpb24gb24gdGhlCi0gICAgdXNlciBz aWRlLiAKLQotICAgIDxibG9ja3F1b3RlPgotICAgICAgZ3JvdXBkZWxheWJvZHkgPSBzb21lLm5l d3MuZ3JvdXAKLSAgICA8L2Jsb2NrcXVvdGU+Ci0gICAgSWYgeW91IHdhbnQgZGVsYXlib2R5IG1v ZGUgb25seSBmb3Igc2VsZWN0ZWQgZ3JvdXBzLCB5b3UgY2FuCi0gICAgZW5hYmxlIHRoaXMgZG93 bmxvYWQgbW9kZSBmb3Igb25lIHNwZWNpZmljIGdyb3VwLiBUaGUgZ2xvYmFsCi0gICAgZGVsYXli b2R5IHN3aXRjaCBhYm92ZSBjYXVzZXMgYWxsIGdyb3VwcyB0byBiZSB0cmVhdGVkIHRoYXQKLSAg ICB3YXkuIFVzZSBvbmUgbGluZSBwZXIgZ3JvdXAgcGF0dGVybi4gCi0KLSAgICA8YmxvY2txdW90 ZT4KLSAgICAgIGRlYnVnbW9kZSA9IDI2MAotICAgIDwvYmxvY2txdW90ZT4KLSAgICBUaGlzIG9w dGlvbiBmb3JjZXMgdGhlIGxlYWZub2RlIHByb2dyYW1zIGludG8gbG9nZ2luZyBsb3RzIG9mCi0g ICAgaW5mb3JtYXRpb24gdmlhIHRoZSBzeXNsb2cgZGFlbW9uLiBJdCBpcyBvbmx5IHVzZWZ1bCBp ZiB5b3UKLSAgICB3YW50IHRvIGh1bnQgZG93biBidWdzLiBTZWUgY29uZmlnLmV4YW1wbGUgZm9y IGFuIGV4cGxhbmF0aW9uCi0gICAgb2YgdGhlIG51bWJlciBoZXJlLiAKLQotICAgIDxoMyBjbGFz cz0iYzIiPjQuMi4gVGhlIGZpbHRlciBmaWxlPC9oMz4KLQotICAgIDxwPlRoZSBmaWx0ZXIgZmls ZSBmb3JtYXQgaXMgY3VycmVudGx5IGRlc2NyaWJlZCBpbgotICAgIGZldGNobmV3cyg1KS4gVHlw ZSBtYW4gNSBmaWx0ZXJmaWxlIG9yIG1hbiAtcyA1IGZpbHRlcmZpbGUgdG8KLSAgICBzZWUgdGhl IGRlc2NyaXB0aW9uLjwvcD4KLSAgICA8aHI+Ci0KLSAgICA8aDMgY2xhc3M9ImMyIj41LiBMT0NB TCBORVdTR1JPVVBTPC9oMz4KLQotICAgIDxwPkZyb20gdmVyc2lvbiAyLjAgb24sIExlYWZub2Rl IGlzIGFibGUgdG8gaGFuZGxlIGxvY2FsCi0gICAgbmV3c2dyb3Vwcy4gTG9jYWwgbmV3c2dyb3Vw cyBhcmUgZ3JvdXBzIHRoYXQgZXhpc3Qgb25seSBvbiB5b3VyCi0gICAgbG9jYWwgc2VydmVyIGJ1 dCBub3Qgb24gdXBzdHJlYW0gc2VydmVycy48L3A+Ci0KLSAgICA8cD5UbyBjcmVhdGUgYSBsb2Nh bCBuZXdzZ3JvdXAsIHlvdSBoYXZlIHRvIHRoaW5rIG9mIGEKLSAgICBuZXdzZ3JvdXAgbmFtZSB3 aGljaCBzaG91bGQgbm90IGV4aXN0IG9uIGFueSBvZiB5b3VyIHVwc3RyZWFtCi0gICAgc2VydmVy cy4gSXQgaXMgdGhlcmVmb3JlIGEgZ29vZCBpZGVhIHRvIHN0YXJ0IGEgbmV3IHRvcC1sZXZlbAot ICAgIGhpZXJhcmNoeS4gWW91IHNob3VsZCBhbHNvIG1ha2UgdXAgYSBkZXNjcmlwdGlvbiBmb3Ig eW91cgotICAgIG5ld3Nncm91cC48L3A+Ci0KLSAgICA8cD5JZiB5b3UgY2hvb3NlIGEgbmV3c2dy b3VwIG5hbWUgd2hpY2ggZXhpc3RzIGFscmVhZHkgb24gYW4KLSAgICB1cHN0cmVhbSBzZXJ2ZXIs IHRoZSBuZXdzZ3JvdXAgaXMgbm90IHRyZWF0ZWQgYXMgYSBsb2NhbAotICAgIG9uZS48L3A+Ci0K LSAgICA8cD5OZXh0LCB5b3Ugd3JpdGUgdGhlIG5hbWUsIHN0YXR1cyBhbmQgZGVzY3JpcHRpb24g aW50byB0aGUKLSAgICBmaWxlIC9ldGMvbGVhZm5vZGUvbG9jYWwuZ3JvdXBzIHVzaW5nIHlvdXIg cHJlZmVycmVkIHRleHQKLSAgICBlZGl0b3IsIHdoaWNoIG11c3Qgbm90IG1hbmdsZSBUQUJzIHRv IFNQQUNFcy4gVGhlIGZpbGUgc2hvdWxkCi0gICAgY29uc2lzdCBvZiBsaW5lcyBpbiB0aGUgZm9y bWF0PC9wPgotPHByZT4KLSMgQ29tbWVudCBsaW5lcyBhcmUgYWxsb3dlZCwgd2l0aCBhIGhhc2gg YXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUuCithY3Rpb24gPSBraWxsPC9jb2RlPjwvcHJlPgor PHA+VGhlIGxlYWZub2RlIHByb2dyYW1zIHdpbGwgaXNzdWUgd2FybmluZ3MgaWYgdGhleSBlbmNv dW50ZXIgb2Jzb2xldGUKK3NwZWNpZmljYXRpb25zIGluIHRoZSBtYWluIGNvbmZpZyBmaWxlLjwv cD4KKzxoMyBpZD0idXBkYXRlLWZyb20tdmVyc2lvbnMtMS45LjMiPjMuMyBVcGRhdGUgZnJvbSB2 ZXJzaW9ucyAmbHQ7CisxLjkuMzwvaDM+Cis8cD5Gcm9tIHZlcnNpb24gMS45LjMgb24sIHRoZSBn cm91cGluZm8gZmlsZSBpcyBzb3J0ZWQgaW4gYQorY2FzZS1pbnNlbnNpdGl2ZSBtYW5uZXIuIFRv IHVwZGF0ZSBjb3JyZWN0bHksIGRvIGEgIm1ha2UgdXBkYXRlIiBhcyByb290CithZnRlciB5b3Ug aGF2ZSBzdWNjZXNzZnVsbHkgY29tcGxldGVkICJtYWtlIGluc3RhbGwiLiBUaGlzIHdpbGwgcmUt c29ydAordGhlIGdyb3VwaW5mbyBmaWxlLiBUaGUgb2xkIGdyb3VwaW5mbyBmaWxlIHdpbGwgYmUg c3RvcmVkIGFzCitncm91cGluZm8ub2xkIGp1c3QgaW4gY2FzZSBzb21ldGhpbmcgZ29lcyB3cm9u Zy4gWW91IGFsc28gaGF2ZSB0byBjaGFuZ2UKK3lvdXIgbWFpbiBjb25maWcgZmlsZSBtYW51YWxs eSBhcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24uPC9wPgorPGgzIGlkPSJ1cGRh dGUtZnJvbS12ZXJzaW9ucy0xLjYiPjMuNCBVcGRhdGUgZnJvbSB2ZXJzaW9ucyAmbHQ7IDEuNjwv aDM+Cis8cD5CZXR3ZWVuIGxlYWZub2RlLTEuNmFscGhhIGFuZCBsZWFmbm9kZS0xLjYsIHRoZSBm b3JtYXQgb2YgdGhlCitncm91cGluZm8gZmlsZSBjaGFuZ2VkIGFuZCBzb21lIGZpbGVzIG1vdmVk IHRvIG90aGVyIHBsYWNlcy4gVG8gdXBkYXRlCitjb3JyZWN0bHksIGRvIGEgIm1ha2UgdXBkYXRl IiBhcyByb290IGFmdGVyIHlvdSBoYXZlIHN1Y2Nlc3NmdWxseQorY29tcGxldGVkICJtYWtlIGlu c3RhbGwiLiBUaGlzIHdpbGwgcmVmb3JtYXQgdGhlIGdyb3VwaW5mbyBmaWxlIGFuZCBtb3ZlCit0 aGUgb3RoZXIgZmlsZXMgaW50byB0aGUgY29ycmVjdCBwbGFjZXMuIFRoZSBvbGQgZ3JvdXBpbmZv IGZpbGUgd2lsbCBiZQorc3RvcmVkIGFzIGdyb3VwaW5mby5vbGQganVzdCBpbiBjYXNlIHNvbWV0 aGluZyBnb2VzIHdyb25nLiBZb3UgYWxzbyBoYXZlCit0byBjaGFuZ2UgeW91ciBtYWluIGNvbmZp ZyBmaWxlIG1hbnVhbGx5IGFzIGRlc2NyaWJlZCBpbiB0aGUgc2VjdGlvbgorIlVwZGF0ZSBmcm9t IHZlcnNpb25zICZsdDsgMi4wIi48L3A+Cis8aHIgLz4KKzxoMyBpZD0iZmlsZXMtYW5kLWRpcmVj dG9yaWVzIj40LiBGSUxFUyBBTkQgRElSRUNUT1JJRVM8L2gzPgorPHA+TGVhZm5vZGUgcHV0cyBp dHMgZmlsZXMgaW4gdGhyZWUgc2VwYXJhdGUgZGlyZWN0b3JpZXM6IFRoZSBzcG9vbAorZGlyZWN0 b3J5LCB0aGUgbGlicmFyeSBkaXJlY3RvcnksIGFuZCB0aGUgYmluYXJpZXMgZGlyZWN0b3J5LiBB bGwKK2RpcmVjdG9yaWVzIGNhbiBiZSBjaGFuZ2VkIGF0IGNvbXBpbGUgdGltZS48L3A+Cis8cD5J biB0aGUgc3Bvb2wgZGlyZWN0b3J5IHlvdSBmaW5kIHRoZSBzdG9yZWQgbmV3cywgdGhlIGFjdGl2 ZSBmaWxlIGFuZAorc29tZSBvdGhlciBzaG9ydC1saXZlZCBjb25maWd1cmF0aW9uIGZpbGUuIEl0 IGRlZmF1bHRzIHRvCisvdmFyL3Nwb29sL25ld3MgYW5kIGNhbiBiZSBjaGFuZ2VkIGF0IGNvbXBp bGF0aW9uIHRpbWUuIFRoZXJlIGFyZSBzb21lCitzcGVjaWFsIGRpcmVjdG9yaWVzIGhlcmU7IHNl ZSB0aGUgbGVhZm5vZGUoOCkgbWFuIHBhZ2UuPC9wPgorPHA+VGhlIGxpYnJhcnkgZGlyZWN0b3J5 IGNvbnRhaW5zIGxvbmctbGl2ZWQgY29uZmlndXJhdGlvbiBmaWxlcy4gSXQKK2RlZmF1bHRzIHRv IC9ldGMvbGVhZm5vZGUuPC9wPgorPHA+VGhlIGJpbmFyaWVzIGRpcmVjdG9yeSwgL3Vzci9sb2Nh bC9zYmluIGJ5IGRlZmF1bHQsIGNvbnRhaW5zIHRoZQorZXhlY3V0YWJsZSBwcm9ncmFtcyBhcHBs eWZpbHRlciwgdGV4cGlyZSwgZmV0Y2huZXdzIGFuZCBsZWFmbm9kZS48L3A+Cis8cD5UaGUgdXNl ciBkaXJlY3RvcnksIC91c3IvbG9jYWwvYmluIGJ5IGRlZmF1bHQsIGNvbnRhaW5zIHRoZSBuZXdz cQorcHJvZ3JhbS48L3A+Cis8aDMgaWQ9InRoZS1tYWluLWNvbmZpZ3VyYXRpb24tZmlsZSI+NC4x LiBUaGUgbWFpbiBjb25maWd1cmF0aW9uCitmaWxlPC9oMz4KKzxwPlRoZSBtYWluIGNvbmZpZ3Vy YXRpb24gZmlsZSBjb250YWlucyBzZXR0aW5ncyBpbXBvcnRhbnQgZm9yIGFsbAorcHJvZ3JhbXMg b2YgdGhlIGxlYWZub2RlIHN1aXRlLiBJdCBkZWZhdWx0cyB0byAvZXRjL2xlYWZub2RlL2NvbmZp ZywgYnV0CitzZXZlcmFsIGNvbmZpZ3VyYXRpb24gZmlsZXMgY2FuIGJlIHVzZWQgYXQgb25jZSBi eSBlbXBsb3lpbmcgdGhlIC1GCitzd2l0Y2ggb2YgdGhlIHByb2dyYW1zLjwvcD4KKzxwPlRoZSBm aWxlIGNvbnRhaW5zIHR3byBtYW5kYXRvcnkgYW5kIGEgbnVtYmVyIG9mIG9wdGlvbmFsCitwYXJh bWV0ZXJzLjwvcD4KKzxwPk5PVEU6IEdsb2JhbCBvcHRpb25zIG11c3QgY29tZSBmaXJzdCwgc2Vy dmVyLXNwZWNpZmljIG9wdGlvbnMgYmVsb3cKK3RoZSBzZXJ2ZXIgPSBsaW5lcy48L3A+Cis8cD5N YW5kYXRvcnkgcGFyYW1ldGVyczwvcD4KKzxibG9ja3F1b3RlPgorPHA+c2VydmVyID0gbmV3czAy LmJpZ3Byb3ZpZGVyLmNvbTwvcD4KKzwvYmxvY2txdW90ZT4KKzxwPllvdSBoYXZlIHRvIHNwZWNp ZnkgYXQgbGVhc3Qgb25lIHNlcnZlciAoZXhjZXB0IGlmIHlvdSB3YW50IGxlYWZub2RlCit0byBz ZXJ2ZSBhcyBhIGxvY2FsIHNlcnZlciBvbmx5KS4gVXN1YWxseSwgdGhpcyB3aWxsIGJlIHRoZSBu ZXdzIHNlcnZlcgorb2YgeW91ciBwcm92aWRlci4gWW91IGNhbiBzcGVjaWZ5IG1vcmUgdGhhbiBv bmUgc2VydmVyLCBhbmQgZmV0Y2huZXdzCit3aWxsIHJldHJpZXZlIG5ld3MgZnJvbSBhbGwgb2Yg dGhlbSwgdGFraW5nIGNhcmUgbm90IHRvIHRyYW5zZmVyCithcnRpY2xlcyBtdWx0aXBsZSB0aW1l cyB0byB5b3VyIG1hY2hpbmUuIFNlcnZlcnMgd2lsbCBiZSBxdWVyaWVkIGluIHRoZQorb3JkZXIg c3BlY2lmaWVkIGluIHRoZSBjb25maWcgZmlsZS48L3A+Cis8YmxvY2txdW90ZT4KKzxwPmV4cGly ZSA9IDU8L3A+Cis8L2Jsb2NrcXVvdGU+Cis8cD5UaGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIGhv dyBtYW55IGRheXMgdGhyZWFkcyBhcmUga2VwdCBvbiB5b3VyIGhhcmQKK2Rpc2suIHRleHBpcmUg d2lsbCBkZWxldGUgd2hvbGUgdGhyZWFkcywgbm90IGp1c3Qgc2luZ2xlIGFydGljbGVzLjwvcD4K KzxwPlNlcnZlci1zcGVjaWZpYyBvcHRpb25hbCBwYXJhbWV0ZXJzPC9wPgorPHA+VG8gY29uZmln dXJlIGludGVyYWN0aW9uIHdpdGggdGhlIHNlcnZlciBzb21ld2hhdCwgeW91IGNhbiBjaGFuZ2Ug dGhlCitiZWhhdmlvdXIgb2YgZmV0Y2huZXdzIGJ5IHNldHRpbmcgc2V2ZXJhbCBzZXJ2ZXItc3Bl Y2lmaWMgb3B0aW9uYWwKK3BhcmFtZXRlcnMuIFRoZXkgaGF2ZSB0byBiZSBzcGVjaWZpZWQgZGly ZWN0bHkgYWZ0ZXIgdGhlIGNvcnJlc3BvbmRpbmcKKyJzZXJ2ZXIiIHN0YXRlbWVudC4gQSBuZXcg c2VydmVyIHN0YXRlbWVudCBpbiB0aGUgY29uZmlnIGZpbGUgd2lsbCBhbHNvCithbGxvdyBuZXcg b3B0aW9uYWwgcGFyYW1ldGVycy48L3A+Cis8YmxvY2txdW90ZT4KKzxwPnVzZXJuYW1lID0gbXlu YW1lPGJyIC8+CitwYXNzd29yZCA9IG15cGFzc3dkPC9wPgorPC9ibG9ja3F1b3RlPgorPHA+SWYg eW91ciB1cHN0cmVhbSBzZXJ2ZXIgcmVxdWlyZXMgYSBmb3JtIG9mIGF1dGhlbnRpY2F0aW9uLCB5 b3UgY2FuCitzZXQgeW91ciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgaGVyZS48L3A+Cis8YmxvY2tx dW90ZT4KKzxwPnRpbWVvdXQgPSAzMDwvcD4KKzwvYmxvY2txdW90ZT4KKzxwPkl0IG1heSBoYXBw ZW4gdGhhdCwgZHVlIHRvIGEgYmFkIGNvbm5lY3Rpb24gb3Igb3RoZXIgcmVhc29ucywgdGhlCitz ZXJ2ZXIgc3RvcHMgdGFsa2luZyB0byB5b3Ugd2hpbGUgeW91IGZldGNoIG5ld3MuIFRoZSAidGlt ZW91dCIKK3BhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBmZXRjaG5l d3MgaXMgc3VwcG9zZWQgdG8gd2FpdAorZm9yIGEgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyIGJl Zm9yZSBnaXZpbmcgdXAuPC9wPgorPGJsb2NrcXVvdGU+Cis8cD5ub2Rlc2MgPSAxPC9wPgorPC9i bG9ja3F1b3RlPgorPHA+U29tZSBzZXJ2ZXJzIGFyZSB1bmFibGUgdG8gZGVsaXZlciBkZXNjcmlw dGlvbnMgb2YgbmV3IG5ld3Nncm91cHMKK2NvcnJlY3RseS4gV2hlbiBmZXRjaG5ld3MgZW5jb3Vu dGVycyBzdWNoIGEgc2VydmVyLCBpdCB3aWxsIHByaW50IHRoZQord2FybmluZzwvcD4KKzxibG9j a3F1b3RlPgorPHA+c2VydmVyLm5hbWUgZG9lcyBub3QgcHJvY2VzcyBMSVNUIE5FV1NHUk9VUFMg bmV3cy5ncm91cC5uYW1lCitjb3JyZWN0bHk6IHVzZSBub2Rlc2M8L3A+Cis8L2Jsb2NrcXVvdGU+ Cis8cD5UbyBhbGxvdyBmb3Igc2hvcnRlciBkb3dubG9hZCB0aW1lcywgeW91IHNob3VsZCBpbiB0 aGlzIGNhc2Ugc2V0Cisibm9kZXNjID0gMSIgZm9yIHRoYXQgcGFydGljdWxhciBzZXJ2ZXIgaW4g dGhlIGNvbmZpZ3VyYXRpb24gZmlsZS48L3A+Cis8YmxvY2txdW90ZT4KKzxwPnBvcnQgPSA4MDAw PC9wPgorPC9ibG9ja3F1b3RlPgorPHA+Tm9ybWFsbHksIGZldGNobmV3cyB3aWxsIHRyeSB0byBy ZXRyaWV2ZSBuZXdzIGZyb20gcG9ydCAxMTkgKHRoZQorc3RhbmRhcmQgbm50cCBwb3J0KSBvZiB5 b3VyIHVwc3RyZWFtIHNlcnZlci4gSWYgdGhlIHVwc3RyZWFtIHNlcnZlciBydW5zCitvbiBhIGRp ZmZlcmVudCBwb3J0LCB5b3UgY2FuIHNwZWNpZnkgaXQgd2l0aCB0aGlzIG9wdGlvbi48L3A+Cis8 cD5HZW5lcmFsIG9wdGlvbmFsIHBhcmFtZXRlcnM8L3A+Cis8YmxvY2txdW90ZT4KKzxwPmF1dGhl bnRpY2F0ZSA9IDxlbT5NRVRIT0Q8L2VtPjwvcD4KKzwvYmxvY2txdW90ZT4KKzxwPlJlcXVpcmUg dGhhdCBOTlRQIGNsaWVudHMgY29ubmVjdGluZyB0byB5b3VyIGxlYWZub2RlIGF1dGhlbnRpY2F0 ZQordGhlbXNlbHZlcy4gVGhlIG9ubHkgbWV0aG9kIGN1cnJlbnRseSBzdXBwb3J0ZWQgaXMKKzxj b2RlPmludGVybmFsPC9jb2RlPi4gSW4gdGhpcyBtb2RlLCBsZWFmbm9kZSBleHBlY3RzIGEgZmls ZQorPGVtPnVzZXJzPC9lbT4gaW4gaXRzIHN5c2NvbmZkaXIsIC9ldGMvbGVhZm5vZGUvdXNlcnMg YnkgZGVmYXVsdCwgd2hpY2gKK2hhcyBhIHNpbXBsZSBmb3JtYXQsIG9uZSBsaW5lIHBlciB1c2Vy LCB3aXRoIHRoZSB1c2VyIG5hbWUgKHdoaWNoIGNhbm5vdAorY29udGFpbiBzcGFjZXMpLCB0aGVu IGEgY29sb24sIHRoZW4gdGhlIGNyeXB0KDMpIGVuY3J5cHRlZCBwYXNzd29yZC4gVG8KK2dlbmVy YXRlIHRoZXNlIGxpbmVzLCB5b3UgY2FuIHVzZSB0aGUgUGVybCBwcm9ncmFtCis8ZW0+dG9vbHMv bWFrZV9wYXNzLnBsPC9lbT4sIGZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBhZGQgYSB1c2Vy CisiZW5pZ21hIiB3aXRoIGEgcGFzc3dvcmQgb2YgImJyZWFrIW1lIiwgdHlwZTo8L3A+Cis8Ymxv Y2txdW90ZT4KKzxwPnBlcmwgLXdUIHRvb2xzL21ha2VfcGFzcy5wbCAnZW5pZ21hJyAnYnJlYWsh bWUnPC9wPgorPC9ibG9ja3F1b3RlPgorPHA+YW5kIGNvcHkgdGhlIHJlc3VsdGluZyBsaW5lIHRv IHRoZSA8ZW0+dXNlcnM8L2VtPiBmaWxlLjxiciAvPgoraHRwYXNzd2QgYXMgc2hpcHBlZCBmb3Ig QXBhY2hlIHNlcnZlcnMgc2hvdWxkIGFsc28gd29yayBpZiBpbiBjcnlwdCgzKQorbW9kZS48L3A+ Cis8YmxvY2txdW90ZT4KKzxwPmhvc3RuYW1lID0gaG9zdC5kb21haW4uY291bnRyeTwvcD4KKzwv YmxvY2txdW90ZT4KKzxwPklmIHRoZSBwb3N0aW5ncyB0aGF0IHlvdSB3cml0ZSBkbyBub3QgaGF2 ZSBtZXNzYWdlIElEcyAoZ2VuZXJhdGVkIGJ5Cit0aGUgbmV3c3JlYWRlciksIGxlYWZub2RlIHdp bGwgZ2VuZXJhdGUgYSBtZXNzYWdlIElEIGZvciB5b3UuIChJdCB3aWxsCituZXZlciBvdmVyd3Jp dGUgYW4gYWxyZWFkeSBleGlzdGluZyBtZXNzYWdlIElELikgTWVzc2FnZSBJRHMgZ2VuZXJhdGVk CitieSBsZWFmbm9kZSBmZWF0dXJlICIubG4iIGJlZm9yZSB0aGUgQCBzaWduLiBUaGUgbWVzc2Fn ZSBJRCBjb250YWlucyB0aGUKK2Z1bGx5IHF1YWxpZmllZCBob3N0bmFtZSBvZiB5b3VyIG1hY2hp bmUgd2hpY2ggbWF5IG5vdCBhbHdheXMgYmUgd2hhdAoreW91IHdhbnQuIEluIHRoYXQgY2FzZSwg eW91IGNhbiBvdmVycmlkZSB0aGUgdXNlIG9mIHRoZSBob3N0bmFtZSBieQordXNpbmcgdGhlICJo b3N0bmFtZSIgb3B0aW9uLjwvcD4KKzxibG9ja3F1b3RlPgorPHA+Y3JlYXRlX2FsbF9saW5rcyA9 IDE8L3A+Cis8L2Jsb2NrcXVvdGU+Cis8cD5Vc3VhbGx5IGZldGNobmV3cyB3aWxsIHN0b3JlIGFy dGljbGVzIG9ubHkgaW4gdGhlIG5ld3Nncm91cHMgd2hpY2gKK3lvdSBjb25zaWRlciBpbnRlcmVz dGluZy4gVW5mb3J0dW5hdGVseSwgdGhpcyBtYWtlcyBpdCBkaWZmaWN1bHQgdG8KK3Njb3JlIGZv ciB0aGUgbnVtYmVyIG9mIG5ld3Nncm91cHMgYSBtZXNzYWdlIGlzIHBvc3RlZCB0byBiZWNhdXNl IHRoZQorTmV3c2dyb3VwczogaGVhZGVyIGlzIG5vdCBmZWF0dXJlZCBpbiB0aGUgb3ZlcnZpZXcg aW5mb3JtYXRpb247Cit0aGVyZWZvcmUgeW91IGNhbiBkZXRlcm1pbmUgdGhlIG51bWJlciBvZiBu ZXdzZ3JvdXBzIGFuIGFydGljbGUgaXMKK2Nyb3NzcG9zdGVkIHRvIG9ubHkgZnJvbSB0aGUgWHJl ZjogaGVhZGVyLiBJZiAiY3JlYXRlX2FsbF9saW5rcyIgaXMgc2V0Cit0byAxLCBmZXRjaG5ld3Mg d2lsbCBzdG9yZSBhcnRpY2xlcyBpbiBhbGwgbmV3c2dyb3VwcyB3aGljaCB0aGV5IGFyZQorcG9z dGVkIHRvLCBtYWtpbmcgYWxsIHRoZXNlIG5ld3Nncm91cHMgdHVybiB1cCBpbiB0aGUgWHJlZjog aGVhZGVyLjwvcD4KKzxibG9ja3F1b3RlPgorPHA+Z3JvdXBleHBpcmUgPSBhLm5ld3MuZ3JvdXAg NzwvcD4KKzwvYmxvY2txdW90ZT4KKzxwPkFzIG91dGxpbmVkIGFib3ZlLCB0ZXhwaXJlIHdpbGwg ZXhwaXJlIHRocmVhZHMgYWZ0ZXIgImV4cGlyZSIgZGF5cy4KK0lmIHlvdSB3YW50IHRvIGFkanVz dCBleHBpcnkgdGltZXMgZm9yIGNlcnRhaW4gZ3JvdXBzLCB5b3UgbWF5IHVzZSB0aGUKKyJncm91 cGV4cGlyZSIgcGFyYW1ldGVyIHRvIGRvIGp1c3QgdGhhdC4gWW91IGNhbiBzcGVjaWZ5IGdyb3Vw cyBvciB1c2UKK3dpbGRjYXJkczsgZm9yIGV4YW1wbGU8L3A+Cis8YmxvY2txdW90ZT4KKzxwPmdy b3VwZXhwaXJlID0gKi5hbm5vdW5jZSAzMDwvcD4KKzwvYmxvY2txdW90ZT4KKzxwPndpbGwgYWZm ZWN0IGV4cGlyeSB0aW1lcyBvZiBhbGwgZ3JvdXBzIGVuZGluZyB3aXRoICIuYW5ub3VuY2UiLjwv cD4KKzxibG9ja3F1b3RlPgorPHA+ZmlsdGVyZmlsZSA9IC9ldGMvbGVhZm5vZGUvZmlsdGVyczwv cD4KKzwvYmxvY2txdW90ZT4KKzxwPklmIHlvdSB3YW50IHRvIGVtcGxveSBmaWx0ZXJpbmcgb24g aW5jb21pbmcgbWVzc2FnZXMsIHlvdSBoYXZlIHRvCitzcGVjaWZ5IHRoZSBwYXRoIHdoZXJlIHRo ZSBmaWx0ZXJmaWxlIGNhbiBiZSBmb3VuZC4gVGhlIGZvcm1hdCBvZiB0aGUKK2ZpbHRlcmZpbGUg aXMgZGVzY3JpYmVkIGluIHRoZSBuZXh0IGNoYXB0ZXIuPC9wPgorPGJsb2NrcXVvdGU+Cis8cD50 aW1lb3V0X3Nob3J0ID0gMjxiciAvPgordGltZW91dF9sb25nID0gNTwvcD4KKzwvYmxvY2txdW90 ZT4KKzxwPlRoZXNlIHR3byBwYXJhbWV0ZXJzIGRldGVybWluZSBob3cgcXVpY2tseSBhIGdyb3Vw IGlzIHVuc3Vic2NyaWJlZCBieQorbGVhZm5vZGUgYWZ0ZXIgeW91IGhhdmUgc3RvcHBlZCByZWFk aW5nIGl0LiBJZiB5b3UgaGF2ZSBsb29rZWQgaW50byB0aGUKK2dyb3VwIG9ubHkgb25jZSwgc3Vi c2NyaXB0aW9uIGlzIHN0b3BwZWQgYWZ0ZXIgInRpbWVvdXRfc2hvcnQiIGRheXM7IGlmCit5b3Ug aGF2ZSByZWFkIGl0IG1vcmUgcmVndWxhcmx5LCBzdWJzY3JpcHRpb24gaXMgc3RvcHBlZCBhZnRl cgorInRpbWVvdXRfbG9uZyIgZGF5cy4gKFlvdSBjYW4gc3RvcCBzdWJzY3JpcHRpb24gaW1tZWRp YXRlbHkgYnkgcmVtb3ZpbmcKK3RoZSBjb3JyZXNwb25kaW5nIGZpbGUgaW4gL3Zhci9zcG9vbC9u ZXdzL2ludGVyZXN0aW5nLmdyb3Vwcy8pLjwvcD4KKzxibG9ja3F1b3RlPgorPHA+dGltZW91dF9h Y3RpdmUgPSA5MDwvcD4KKzwvYmxvY2txdW90ZT4KKzxwPkJ5IGRlZmF1bHQsIGZldGNobmV3cyB3 aWxsIHJlLXJlYWQgYWN0aXZlIGZpbGVzIGZyb20gdGhlIHVwc3RyZWFtCitzZXJ2ZXIgZXZlcnkg OTAgZGF5cy4gVGhpcyBpbnRlcnZhbCBjYW4gYmUgY2hhbmdlZCBieSBzZXR0aW5nCisidGltZW91 dF9hY3RpdmUiIHRvIGEgZGlmZmVyZW50IHZhbHVlLiBSZS1yZWFkaW5nIHRoZSBhY3RpdmUgZmls ZQorZnJlcXVlbnRseSB3aWxsIGtlZXAgaXQgYSBsaXR0bGUgYml0IHNtYWxsZXIgYnV0IHdpbGwg aW5jcmVhc2UgdGhlCitvbi1saW5lIHRpbWUuPC9wPgorPGJsb2NrcXVvdGU+Cis8cD5kZWxheWJv ZHkgPSAxPC9wPgorPC9ibG9ja3F1b3RlPgorPHA+VGhpcyBvcHRpb24gc3dpdGNoZXMgZmV0Y2hu ZXdzIGludG8gYSBtb2RlIHdoZXJlIG9ubHkgdGhlIGhlYWRlcnMgb2YKK2FydGljbGVzIGFyZSBm ZXRjaGVkIGZvciB2aXN1YWwgaW5zcGVjdGlvbi4gT25seSB0aGUgYXJ0aWNsZXMgcmVhZCBpbgor dGhlIG5ld3NyZWFkZXIgd2lsbCBiZSByZXRyaWV2ZWQgdGhlIG5leHQgdGltZSBmZXRjaG5ld3Mg aXMgY2FsbGVkLiBUaGlzCitjYW4gc2F2ZSBhIGh1Z2UgYW1vdW50IG9mIGRpc2sgc3BhY2UgYW5k IGRvd25sb2FkIHRpbWUgYnV0IHJlcXVpcmVzIG1vcmUKK21hbnVhbCBpbnRlcnZlbnRpb24gb24g dGhlIHVzZXIgc2lkZS48L3A+Cis8YmxvY2txdW90ZT4KKzxwPmdyb3VwZGVsYXlib2R5ID0gc29t ZS5uZXdzLmdyb3VwPC9wPgorPC9ibG9ja3F1b3RlPgorPHA+SWYgeW91IHdhbnQgZGVsYXlib2R5 IG1vZGUgb25seSBmb3Igc2VsZWN0ZWQgZ3JvdXBzLCB5b3UgY2FuIGVuYWJsZQordGhpcyBkb3du bG9hZCBtb2RlIGZvciBvbmUgc3BlY2lmaWMgZ3JvdXAuIFRoZSBnbG9iYWwgZGVsYXlib2R5IHN3 aXRjaAorYWJvdmUgY2F1c2VzIGFsbCBncm91cHMgdG8gYmUgdHJlYXRlZCB0aGF0IHdheS4gVXNl IG9uZSBsaW5lIHBlciBncm91cAorcGF0dGVybi48L3A+Cis8YmxvY2txdW90ZT4KKzxwPmRlYnVn bW9kZSA9IDI2MDwvcD4KKzwvYmxvY2txdW90ZT4KKzxwPlRoaXMgb3B0aW9uIGZvcmNlcyB0aGUg bGVhZm5vZGUgcHJvZ3JhbXMgaW50byBsb2dnaW5nIGxvdHMgb2YKK2luZm9ybWF0aW9uIHZpYSB0 aGUgc3lzbG9nIGRhZW1vbi4gSXQgaXMgb25seSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gaHVudAor ZG93biBidWdzLiBTZWUgY29uZmlnLmV4YW1wbGUgZm9yIGFuIGV4cGxhbmF0aW9uIG9mIHRoZSBu dW1iZXIgaGVyZS48L3A+Cis8aDMgaWQ9InRoZS1maWx0ZXItZmlsZSI+NC4yLiBUaGUgZmlsdGVy IGZpbGU8L2gzPgorPHA+VGhlIGZpbHRlciBmaWxlIGZvcm1hdCBpcyBjdXJyZW50bHkgZGVzY3Jp YmVkIGluIGZldGNobmV3cyg1KS4gVHlwZQorbWFuIDUgZmlsdGVyZmlsZSBvciBtYW4gLXMgNSBm aWx0ZXJmaWxlIHRvIHNlZSB0aGUgZGVzY3JpcHRpb24uPC9wPgorPGhyIC8+Cis8aDMgaWQ9Imxv Y2FsLW5ld3Nncm91cHMiPjUuIExPQ0FMIE5FV1NHUk9VUFM8L2gzPgorPHA+RnJvbSB2ZXJzaW9u IDIuMCBvbiwgTGVhZm5vZGUgaXMgYWJsZSB0byBoYW5kbGUgbG9jYWwgbmV3c2dyb3Vwcy4KK0xv Y2FsIG5ld3Nncm91cHMgYXJlIGdyb3VwcyB0aGF0IGV4aXN0IG9ubHkgb24geW91ciBsb2NhbCBz ZXJ2ZXIgYnV0IG5vdAorb24gdXBzdHJlYW0gc2VydmVycy48L3A+Cis8cD5UbyBjcmVhdGUgYSBs b2NhbCBuZXdzZ3JvdXAsIHlvdSBoYXZlIHRvIHRoaW5rIG9mIGEgbmV3c2dyb3VwIG5hbWUKK3do aWNoIHNob3VsZCBub3QgZXhpc3Qgb24gYW55IG9mIHlvdXIgdXBzdHJlYW0gc2VydmVycy4gSXQg aXMgdGhlcmVmb3JlCithIGdvb2QgaWRlYSB0byBzdGFydCBhIG5ldyB0b3AtbGV2ZWwgaGllcmFy Y2h5LiBZb3Ugc2hvdWxkIGFsc28gbWFrZSB1cAorYSBkZXNjcmlwdGlvbiBmb3IgeW91ciBuZXdz Z3JvdXAuPC9wPgorPHA+SWYgeW91IGNob29zZSBhIG5ld3Nncm91cCBuYW1lIHdoaWNoIGV4aXN0 cyBhbHJlYWR5IG9uIGFuIHVwc3RyZWFtCitzZXJ2ZXIsIHRoZSBuZXdzZ3JvdXAgaXMgbm90IHRy ZWF0ZWQgYXMgYSBsb2NhbCBvbmUuPC9wPgorPHA+TmV4dCwgeW91IHdyaXRlIHRoZSBuYW1lLCBz dGF0dXMgYW5kIGRlc2NyaXB0aW9uIGludG8gdGhlIGZpbGUKKy9ldGMvbGVhZm5vZGUvbG9jYWwu Z3JvdXBzIHVzaW5nIHlvdXIgcHJlZmVycmVkIHRleHQgZWRpdG9yLCB3aGljaCBtdXN0Citub3Qg bWFuZ2xlIFRBQnMgdG8gU1BBQ0VzLiBUaGUgZmlsZSBzaG91bGQgY29uc2lzdCBvZiBsaW5lcyBp biB0aGUKK2Zvcm1hdDwvcD4KKzxwcmU+PGNvZGU+IyBDb21tZW50IGxpbmVzIGFyZSBhbGxvd2Vk LCB3aXRoIGEgaGFzaCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZS4KICMKICMgSG93ZXZlciwg bm8gd2hpdGUgc3BhY2UgbWF5IHByZWNlZGUgdGhlIGhhc2ggbWFyaywgYW5kIGVtcHR5IGxpbmVz CiAjIGFyZSBub3QgdmFsaWQuCi1uZXdzLmdyb3VwLm5hbWUmbHQ7VEFCJmd0O3N0YXR1cyZsdDtU QUImZ3Q7ZGVzY3JpcHRpb24KLTwvcHJlPgotICAgIChyZXBsYWNlICZsdDtUQUImZ3Q7IHdpdGgg YSBUQUIgY2hhcmFjdGVyISkgCi0KLSAgICA8cD5UaGUgZmlyc3QgY29sdW1uIG9mIGVhY2ggbGlu ZSBpcyB0YWtlbiBhcyB0aGUgbmV3c2dyb3VwCi0gICAgbmFtZTsgdGhlIHNlY29uZCBhcyB0aGUg c3RhdHVzICh5IGZvciAibWF5IGJlIHBvc3RlZCB0byIsIG0gZm9yCi0gICAgIm1vZGVyYXRlZCIg LS0gc2VlIGJlbG93IGZvciBtb2RlcmF0b3IgY29uZmlndXJhdGlvbiksIHRoZQotICAgIHRoaXJk IGNvbHVtbiBvZiB0aGUgbGluZSBpcyBpbnRlcnByZXRlZCBhcyBkZXNjcmlwdGlvbi4gRm9yCi0g ICAgZXhhbXBsZSwgdG8gc2V0IHVwIGEgbmV3c2dyb3VwICJsb2NhbC5sZWFmbm9kZSIgd2hpY2gg ZGVhbHMKLSAgICB3aXRoIExlYWZub2RlJ3MgaW50ZXJuYWxzLCB5b3Ugd291bGQgcHV0IGEgbGlu ZTwvcD4KLQotICAgIDxibG9ja3F1b3RlPgotICAgICAgbG9jYWwubGVhZm5vZGUmbHQ7VEFCJmd0 O3kmbHQ7VEFCJmd0O0xvY2FsIGxlYWZub2RlIHVzZXIKLSAgICAgIGdyb3VwCi0gICAgPC9ibG9j a3F1b3RlPgotICAgIGludG8gL2V0Yy9sZWFmbm9kZS9sb2NhbC5ncm91cHMuIChJZiB5b3VyIGNv bmZpZ3VyYXRpb24gZG9lcwotICAgIG5vdCByZXNpZGUgaW4gL2V0Yy9sZWFmbm9kZSwgcmVwbGFj ZSB0aGlzIHBhcnQgb2YgdGhlIHBhdGhuYW1lCi0gICAgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGly ZWN0b3J5LikgCi0KLSAgICA8aDQgY2xhc3M9ImM1Ij41LjEgTU9ERVJBVEVEIE5FV1NHUk9VUFM8 L2g0PgotCi0gICAgPHA+RnJvbSB2ZXJzaW9uIDIuMCBvbiwgTGVhZm5vZGUgYWxzbyBoYW5kbGVz Ci0gICAgPHN0cm9uZz5tb2RlcmF0ZWQ8L3N0cm9uZz4gbmV3c2dyb3Vwcy4gVGhlc2UgYXJlIG5l d3Nncm91cHMKLSAgICB3aGljaCBvbmx5IGNlcnRhaW4gcGVvcGxlIG1heSBwb3N0IGludG8sIGFu ZCBhcnRpY2xlcyB3aGljaCBhCi0gICAgcmVndWxhciAobm9uLW1vZGVyYXRvcikgdXNlciBwb3N0 cywgYXJlIG1haWxlZCB0byB0aGUKLSAgICBtb2RlcmF0b3IuPC9wPgotCi0gICAgPHA+RXh0ZXJu YWwgbW9kZXJhdGVkIG5ld3Nncm91cHMgYXJlIGhhbmRsZWQgYnkgdGhlIHVwc3RyZWFtCi0gICAg c2VydmVycy48L3A+Ci0KLSAgICA8cD5UbyBjb25maWd1cmUgdGhlIG1vZGVyYXRvcnMgZm9yIDxz dHJvbmc+bG9jYWw8L3N0cm9uZz4KLSAgICBtb2RlcmF0ZWQgZ3JvdXBzLCBhbiBJTk4tY29tcGF0 aWJsZSAibW9kZXJhdG9ycyIgZmlsZSBpcyB1c2VkLgotICAgIEl0IGlzIG5hbWVkIC9ldGMvbGVh Zm5vZGUvbW9kZXJhdG9ycyBhbmQgaGFzIHRoZSBmb2xsb3dpbmcKLSAgICBmb3JtYXQ6PC9wPgot PHByZT4KLXBhdHRlcm46bW9kZXJhdG9yCi08L3ByZT4KLQotICAgIDxwPkVtcHR5IGxpbmVzIGFu ZCBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggYSBoYXNoIGNoYXJhY3RlciAoIykKLSAgICBhcmUgY29u c2lkZXJlZCBjb21tZW50IGxpbmVzIGFuZCBhcmUgaWdub3JlZC48L3A+Ci0KLSAgICA8cD5UaGUg PHN0cm9uZz5wYXR0ZXJuPC9zdHJvbmc+IGlzIGEgbm9ybWFsIHdpbGRtYXQgcGF0dGVybiwKLSAg ICB3aGljaCBtZWFucyB0aGF0IGl0J3MgYSBTSEVMTCBwYXR0ZXJuLCB0aGUgbW9zdCB1c2VmdWwK LSAgICBjaGFyYWN0ZXIgaXMgdGhlIGFzdGVyaXNrICgqKSB3aGljaCBtYXRjaGVzIGFueSBzZXF1 ZW5jZSBvZgotICAgIGNoYXJhY3RlcnMuIFRoZSBtb2RlcmF0b3IgZ2l2ZW4gb24gdGhhdCBsaW5l IGFwcGxpZXMgdG8gYWxsCi0gICAgZ3JvdXBzIHRoYXQgdGhlIHBhdHRlcm4gbWF0Y2hlcy4gU2hv dWxkIG11bHRpcGxlIGxpbmVzIG1hdGNoIGEKLSAgICBncm91cCwgdGhlIGZpcnN0IG1hdGNoIGlu IHRoZSBmaWxlICJ3aW5zIiwgdGhlIHNlY29uZCBhbmQKLSAgICBzdWJzZXF1ZW50IHBhdHRlcm5z IGFyZSBub3QgdGFrZW4gaW50byBhY2NvdW50LiBTbyBwdXQgdGhlIG1vcmUKLSAgICBzcGVjaWZp YyBwYXR0ZXJucyBmaXJzdC48L3A+Ci0KLSAgICA8cD5UaGUgPHN0cm9uZz5tb2RlcmF0b3I8L3N0 cm9uZz4gaXMgYSByZWd1bGFyIGludGVybmV0IG1haWwKLSAgICBhZGRyZXNzLCB3aXRoIHRoZSBl eGNlcHRpb24gdGhhdCB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiAiJXMiCi0gICAgaXMgcmVwbGFj ZWQgd2l0aCB0aGUgbmV3c2dyb3VwIG5hbWUsIHdpdGggZG90cyAoLikgY29udmVydGVkIHRvCi0g ICAgZGFzaGVzICgtKSBmb3IgSU5OIGNvbXBhdGliaWxpdHkuPC9wPgotCi0gICAgPHA+RXhhbXBs ZTo8L3A+Ci08cHJlPgotIyBUaGlzIGlzIGEgY29tbWVudCBsaW5lCituZXdzLmdyb3VwLm5hbWUm bHQ7VEFCJmd0O3N0YXR1cyZsdDtUQUImZ3Q7ZGVzY3JpcHRpb248L2NvZGU+PC9wcmU+Cis8cD4o cmVwbGFjZSAmbHQ7VEFCJmd0OyB3aXRoIGEgVEFCIGNoYXJhY3RlciEpPC9wPgorPHA+VGhlIGZp cnN0IGNvbHVtbiBvZiBlYWNoIGxpbmUgaXMgdGFrZW4gYXMgdGhlIG5ld3Nncm91cCBuYW1lOyB0 aGUKK3NlY29uZCBhcyB0aGUgc3RhdHVzICh5IGZvciAibWF5IGJlIHBvc3RlZCB0byIsIG0gZm9y ICJtb2RlcmF0ZWQiIC0tIHNlZQorYmVsb3cgZm9yIG1vZGVyYXRvciBjb25maWd1cmF0aW9uKSwg dGhlIHRoaXJkIGNvbHVtbiBvZiB0aGUgbGluZSBpcworaW50ZXJwcmV0ZWQgYXMgZGVzY3JpcHRp b24uIEZvciBleGFtcGxlLCB0byBzZXQgdXAgYSBuZXdzZ3JvdXAKKyJsb2NhbC5sZWFmbm9kZSIg d2hpY2ggZGVhbHMgd2l0aCBMZWFmbm9kZSdzIGludGVybmFscywgeW91IHdvdWxkIHB1dCBhCits aW5lPC9wPgorPGJsb2NrcXVvdGU+Cis8cD5sb2NhbC5sZWFmbm9kZSZsdDtUQUImZ3Q7eSZsdDtU QUImZ3Q7TG9jYWwgbGVhZm5vZGUgdXNlciBncm91cDwvcD4KKzwvYmxvY2txdW90ZT4KKzxwPmlu dG8gL2V0Yy9sZWFmbm9kZS9sb2NhbC5ncm91cHMuIChJZiB5b3VyIGNvbmZpZ3VyYXRpb24gZG9l cyBub3QKK3Jlc2lkZSBpbiAvZXRjL2xlYWZub2RlLCByZXBsYWNlIHRoaXMgcGFydCBvZiB0aGUg cGF0aG5hbWUgd2l0aCB0aGUKK2FwcHJvcHJpYXRlIGRpcmVjdG9yeS4pPC9wPgorPGg0IGlkPSJt b2RlcmF0ZWQtbmV3c2dyb3VwcyI+NS4xIE1PREVSQVRFRCBORVdTR1JPVVBTPC9oND4KKzxwPkZy b20gdmVyc2lvbiAyLjAgb24sIExlYWZub2RlIGFsc28gaGFuZGxlcyA8c3Ryb25nPm1vZGVyYXRl ZDwvc3Ryb25nPgorbmV3c2dyb3Vwcy4gVGhlc2UgYXJlIG5ld3Nncm91cHMgd2hpY2ggb25seSBj ZXJ0YWluIHBlb3BsZSBtYXkgcG9zdAoraW50bywgYW5kIGFydGljbGVzIHdoaWNoIGEgcmVndWxh ciAobm9uLW1vZGVyYXRvcikgdXNlciBwb3N0cywgYXJlCittYWlsZWQgdG8gdGhlIG1vZGVyYXRv ci48L3A+Cis8cD5FeHRlcm5hbCBtb2RlcmF0ZWQgbmV3c2dyb3VwcyBhcmUgaGFuZGxlZCBieSB0 aGUgdXBzdHJlYW0KK3NlcnZlcnMuPC9wPgorPHA+VG8gY29uZmlndXJlIHRoZSBtb2RlcmF0b3Jz IGZvciA8c3Ryb25nPmxvY2FsPC9zdHJvbmc+IG1vZGVyYXRlZAorZ3JvdXBzLCBhbiBJTk4tY29t cGF0aWJsZSAibW9kZXJhdG9ycyIgZmlsZSBpcyB1c2VkLiBJdCBpcyBuYW1lZAorL2V0Yy9sZWFm bm9kZS9tb2RlcmF0b3JzIGFuZCBoYXMgdGhlIGZvbGxvd2luZyBmb3JtYXQ6PC9wPgorPHByZT48 Y29kZT5wYXR0ZXJuOm1vZGVyYXRvcjwvY29kZT48L3ByZT4KKzxwPkVtcHR5IGxpbmVzIGFuZCBs aW5lcyB0aGF0IHN0YXJ0IHdpdGggYSBoYXNoIGNoYXJhY3RlciAoIykgYXJlCitjb25zaWRlcmVk IGNvbW1lbnQgbGluZXMgYW5kIGFyZSBpZ25vcmVkLjwvcD4KKzxwPlRoZSA8c3Ryb25nPnBhdHRl cm48L3N0cm9uZz4gaXMgYSBub3JtYWwgd2lsZG1hdCBwYXR0ZXJuLCB3aGljaCBtZWFucwordGhh dCBpdCdzIGEgU0hFTEwgcGF0dGVybiwgdGhlIG1vc3QgdXNlZnVsIGNoYXJhY3RlciBpcyB0aGUg YXN0ZXJpc2sgKCopCit3aGljaCBtYXRjaGVzIGFueSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzLiBU aGUgbW9kZXJhdG9yIGdpdmVuIG9uIHRoYXQKK2xpbmUgYXBwbGllcyB0byBhbGwgZ3JvdXBzIHRo YXQgdGhlIHBhdHRlcm4gbWF0Y2hlcy4gU2hvdWxkIG11bHRpcGxlCitsaW5lcyBtYXRjaCBhIGdy b3VwLCB0aGUgZmlyc3QgbWF0Y2ggaW4gdGhlIGZpbGUgIndpbnMiLCB0aGUgc2Vjb25kIGFuZAor c3Vic2VxdWVudCBwYXR0ZXJucyBhcmUgbm90IHRha2VuIGludG8gYWNjb3VudC4gU28gcHV0IHRo ZSBtb3JlIHNwZWNpZmljCitwYXR0ZXJucyBmaXJzdC48L3A+Cis8cD5UaGUgPHN0cm9uZz5tb2Rl cmF0b3I8L3N0cm9uZz4gaXMgYSByZWd1bGFyIGludGVybmV0IG1haWwgYWRkcmVzcywKK3dpdGgg dGhlIGV4Y2VwdGlvbiB0aGF0IHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mICIlcyIgaXMgcmVwbGFj ZWQgd2l0aAordGhlIG5ld3Nncm91cCBuYW1lLCB3aXRoIGRvdHMgKC4pIGNvbnZlcnRlZCB0byBk YXNoZXMgKC0pIGZvciBJTk4KK2NvbXBhdGliaWxpdHkuPC9wPgorPHA+RXhhbXBsZTo8L3A+Cis8 cHJlPjxjb2RlPiMgVGhpcyBpcyBhIGNvbW1lbnQgbGluZQogIwogIyBzcGVjaWFsIG1vZGVyYXRv ciwgaGFuc0BleGFtcGxlLmNvbSBpcyBtYWlsZWQgYWxsIGFydGljbGVzIGZvcgogIyBsb2NhbC5z cGVjaWFsCkBAIC05MDMsMTQ5ICs3OTgsMTEwIEBAIGxvY2FsLio6ZWdvbislc0BleGFtcGxlLm5l dAogIyBtYWlsIHBvc3RpbmdzIGZvciBsb2NhbC52aWRlbyB0byBlZ29uK2xvY2FsLXZpZGVvQGV4 YW1wbGUubmV0CiAjCiAjIE5vdGU6IGlmIHlvdSBwdXQgbG9jYWwuc3BlY2lhbCBiZWxvdyBsb2Nh bC4qLCBsb2NhbC5zcGVjaWFsIHdpbGwgYmUKLSMgaWdub3JlZC4KLTwvcHJlPgotICAgIDxocj4K LQotICAgIDxoMyBjbGFzcz0iYzIiPjYuIERFSU5TVEFMTEFUSU9OPC9oMz4KLQotICAgIDxwPklm IHlvdSB3YW50IHRvIHVuaW5zdGFsbCBsZWFmbm9kZSAoZS5nLiBiZWNhdXNlIHlvdSB3YW50IHRv Ci0gICAgcmVwbGFjZSBpdCB3aXRoIGFub3RoZXIgbmV3c3NlcnZlcikgYW5kIGhhdmUgYSBNYWtl ZmlsZQotICAgIGF2YWlsYWJsZSwgeW91IGNhbiBhY2hpZXZlIHRoaXMgYnkgZG9pbmcgIm1ha2Ug dW5pbnN0YWxsIi48L3A+Ci0KLSAgICA8cD5EbyA8Yj5ub3Q8L2I+IHVuaW5zdGFsbCBhbiBvbGQg dmVyc2lvbiBvZiBsZWFmbm9kZSBiZWZvcmUKLSAgICB1cGRhdGluZy48L3A+Ci0gICAgPGhyPgot Ci0gICAgPGgzIGNsYXNzPSJjMiI+Ny4gRlJFUVVFTlRMWSBBU0tFRCBRVUVTVElPTlM8L2gzPgot Ci0gICAgPHA+U2VlIHRoZSBmaWxlIEZBUS48L3A+Ci0gICAgPGhyPgotCi0gICAgPGgzIGNsYXNz PSJjMiI+OC4gQ09QWVJJR0hUPC9oMz4KLQotICAgIDxwPkxlYWZub2RlIHZlcnNpb25zIHRocm91 Z2ggMS40IHdlcmUgd3JpdHRlbiBieSBBcm50Ci0gICAgR3VsYnJhbmRzZW4gJmx0O2FndWxicmFA dHJvbGwubm8mZ3Q7IGFuZCBhcmUgY29weXJpZ2h0IDE5OTUKLSAgICBUcm9sbCBUZWNoIEFTLCBQ b3N0Ym9rcyA2MTMzIEV0dGVyc3RhZCwgMDYwMiBPc2xvLCBOb3J3YXksIGZheAotICAgICs0NyAy MjY0Njk0OS48L3A+Ci0KLSAgICA8cD5MZWFmbm9kZSB2ZXJzaW9ucyAxLjUgdXAgdG8gMS45LjE5 IGFuZCAyLjBiMSB0byAyLjBiOCB3ZXJlCi0gICAgd3JpdHRlbiBieSBDb3JuZWxpdXMgS3Jhc2Vs Ci0gICAgJmx0O2tyYXNlbEB3cHh4MDIudG94aS51bmktd3VlcnpidXJnLmRlJmd0OyBhbmQgYXJl IGNvcHlyaWdodAotICAgIDE5OTctMjAwMS48L3A+Ci0KLSAgICA8cD5MZWFmbm9kZSB2ZXJzaW9u cyAxLjkuMjAgYW5kIHVwIHdlcmUgd3JpdHRlbiBieSBNYXR0aGlhcwotICAgIEFuZHJlZSAmbHQ7 bWF0dGhpYXMuYW5kcmVlQGdteC5kZSZndDsgYW5kIFJhbGYgV2lsZGVuaHVlcwotICAgICZsdDty YWxmLndpbGRlbmh1ZXNAZ214LmRlJmd0OyBhbmQgYXJlICZjb3B5OyBjb3B5cmlnaHQgMjAwMiAt Ci0gICAgMjAwMy48L3A+Ci0KLSAgICA8cD5MZWFmbm9kZSB2ZXJzaW9ucyAyLjBiOF9tYSBhbmQg Mi4wLjAuKiB3ZXJlIHdyaXR0ZW4gYnkKLSAgICBNYXR0aGlhcyBBbmRyZWUgJmx0O21hdHRoaWFz LmFuZHJlZUBnbXguZGUmZ3Q7LCBSYWxmIFdpbGRlbmh1ZXMKLSAgICAmbHQ7cmFsZi53aWxkZW5o dWVzQGdteC5kZSZndDsgYW5kIEomb3VtbDtyZyBEaWV0cmljaAotICAgICZsdDtqb2VyZ0BkaWV0 cmljaC5uZXQmZ3Q7IGFuZCBhcmUgJmNvcHk7IGNvcHlyaWdodCAyMDAxIC0KLSAgICAyMDAzLjwv cD4KLQotICAgIDxwPk1ham9yIG1vZGlmaWNhdGlvbnMgd2VyZSBtYWRlIGJ5PGJyPgotICAgICBS YW5kb2xmIFNrZXJrYSAmbHQ7UmFuZG9sZi5Ta2Vya2FAZ214LmRlJmd0Ozxicj4KLSAgICAgS2Vu dCBSb2JvdHRpICZsdDtyb2JvdHRpQGVyb2xzLmNvbSZndDs8YnI+Ci0gICAgIE1hcmt1cyBFbnpl bmJlcmdlciAmbHQ7ZW56QGNpcC5waHlzaWsudW5pLW11ZW5jaGVuLmRlJmd0Ozxicj4KLSAgICAg TWF0dGhpYXMgQW5kcmVlICZsdDttYXR0aGlhcy5hbmRyZWVAZ214LmRlJmd0Ozxicj4KLSAgICAg SiZvdW1sO3JnIERpZXRyaWNoICZsdDtqb2VyZ0BkaWV0cmljaC5uZXQmZ3Q7PGJyPgotICAgICBT dGVmYW4gV2llbnMgJmx0O3Mud2lAZ214Lm5ldCZndDs8YnI+Ci0gICAgPC9wPgotCi0gICAgPHA+ UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz b24KLSAgICBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQg ZG9jdW1lbnRhdGlvbgotICAgIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhl IFNvZnR3YXJlIHdpdGhvdXQKLSAgICByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGlt aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwKLSAgICBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs aXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKLSAgICBzZWxsIGNvcGllcyBvZiB0 aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQotICAgIFNvZnR3 YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nCi0gICAg Y29uZGl0aW9uczo8L3A+Ci0KLSAgICA8cD5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbAotICAgIGJlIGluY2x1ZGVkIGluIGFsbCBjb3Bp ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCi0gICAgU29mdHdhcmUuPC9wPgotCi0g ICAgPHA+VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg T0YgQU5ZCi0gICAgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM SU1JVEVEIFRPIFRIRQotICAgIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICAgIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5P IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVAotICAgIEhPTERFUlMgQkUgTElB QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLAotICAgIFdIRVRI RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwot ICAgIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IKLSAgICBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuPC9wPgotCi0gICAg PHA+VGhlIGdldGFsaW5lKCkgYW5kIGdldGxpbmUoKSByb3V0aW5lcyBhcmUgQ29weXJpZ2h0IChj KQotICAgIDIwMDAtMjAwMiBNYXR0aGlhcyBBbmRyZWUgJmx0O21hdHRoaWFzLmFuZHJlZUBnbXgu ZGUmZ3Q7LiBUaGV5Ci0gICAgYXJlIGxpY2Vuc2VkIHVuZGVyIHRoZSBHTlUgTGVzc2VyIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgKEdOVQotICAgIExHUEwpIDIuMS4gQSBjb3B5IG9mIHRoZSBMR1BM IGlzIHByb3ZpZGVkIGluIHRoZSBmaWxlCi0gICAgQ09QWUlORy48L3A+Ci0KLSAgICA8cD5UaGUg d2lsZG1hdCgpIHJvdXRpbmUgaXMgQ29weXJpZ2h0IChjKSAxOTg2LTE5OTEgUmljaCAkYWx6Ci0g ICAgJmx0O3JzYWx6QG9zZi5vcmcmZ3Q7LiBUaGUgb3JpZ2luYWwgY29weXJpZ2h0IG5vdGljZSwg dGFrZW4KLSAgICBmcm9tIElOTiAyLjIuMiwgZm9sbG93czo8L3A+Ci0KLSAgICA8YmxvY2txdW90 ZT4KLSAgICAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gYW55IGZvcm0gYXJlIHBlcm1pdHRl ZCBwcm92aWRlZAotICAgICAgdGhhdCB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9ucyBhcmUgbWV0 OiAKLQotICAgICAgPG9sPgotICAgICAgICA8bGk+U291cmNlIGRpc3RyaWJ1dGlvbnMgbXVzdCBy ZXRhaW4gdGhpcyBlbnRpcmUgY29weXJpZ2h0Ci0gICAgICAgIG5vdGljZSBhbmQgY29tbWVudC48 L2xpPgotCi0gICAgICAgIDxsaT5CaW5hcnkgZGlzdHJpYnV0aW9ucyBtdXN0IGluY2x1ZGUgdGhl IGFja25vd2xlZGdlbWVudAotICAgICAgICBgYFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2Fy ZSBkZXZlbG9wZWQgYnkgUmljaCBTYWx6JycKLSAgICAgICAgaW4gdGhlIGRvY3VtZW50YXRpb24g b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gICAgICAgIGRpc3RyaWJ1dGlv bi4gVGhpcyBtdXN0IG5vdCBiZSByZXByZXNlbnRlZCBhcyBhbgotICAgICAgICBlbmRvcnNlbWVu dCBvciBwcm9tb3Rpb24gd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuCi0gICAgICAgIHBl cm1pc3Npb24uPC9saT4KLQotICAgICAgICA8bGk+VGhlIG9yaWdpbiBvZiB0aGlzIHNvZnR3YXJl IG11c3Qgbm90IGJlIG1pc3JlcHJlc2VudGVkLAotICAgICAgICBlaXRoZXIgYnkgZXhwbGljaXQg Y2xhaW0gb3IgYnkgb21pc3Npb24uIENyZWRpdHMgbXVzdAotICAgICAgICBhcHBlYXIgaW4gdGhl IHNvdXJjZSBhbmQgZG9jdW1lbnRhdGlvbi48L2xpPgotCi0gICAgICAgIDxsaT5BbHRlcmVkIHZl cnNpb25zIG11c3QgYmUgcGxhaW5seSBtYXJrZWQgYXMgc3VjaCBpbiB0aGUKLSAgICAgICAgc291 cmNlIGFuZCBkb2N1bWVudGF0aW9uIGFuZCBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZCBhcwot ICAgICAgICBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuPC9saT4KLSAgICAgIDwvb2w+Ci0g ICAgICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkg RVhQUkVTUwotICAgICAgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQg TElNSVRBVElPTiwgVEhFCi0gICAgICBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM SVRZIEFORCBGSVRORVNTIEZPUiBBCi0gICAgICBQQVJUSUNVTEFSIFBVUlBPU0UuCi0gICAgPC9i bG9ja3F1b3RlPgotCi0gICAgPHA+VGhlIHJlcGxhY2VtZW50IHZzbnByaW50ZigpIGZ1bmN0aW9u IHdhcyB3cml0dGVuIGJ5IFRoZW8gZGUKLSAgICBSYWFkdCBhbmQgaXMgQ29weXJpZ2h0IChjKSAx OTk3IHVuZGVyIHRoZSBmb2xsb3dpbmcKLSAgICByZXN0cmljdGlvbnM6PC9wPgotCi0gICAgPGJs b2NrcXVvdGU+Ci0gICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu YXJ5IGZvcm1zLCB3aXRoIG9yCi0gICAgICB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p dHRlZCBwcm92aWRlZCB0aGF0IHRoZQotICAgICAgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l dDogCi0KLSAgICAgIDxvbD4KLSAgICAgICAgPGxpPlJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKLSAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhp cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAgICAgICAgZGlzY2xhaW1l ci48L2xpPgotCi0gICAgICAgIDxsaT5SZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz dCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gICAgICAgIGRpc2NsYWltZXIgaW4g dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscwotICAgICAgICBwcm92aWRl ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uPC9saT4KLSAgICAgIDwvb2w+Ci0gICAgICBUSElTIFNP RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkKLSAgICAg IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF RCBUTywKLSAgICAgIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO RCBGSVRORVNTIEZPUiBBCi0gICAgICBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu IElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICAgICAgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJ UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gICAgICBTUEVDSUFMLCBFWEVNUExBUlksIE9S IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKLSAgICAgIE5PVCBMSU1JVEVE IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICAgICAg TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikK LSAgICAgIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF VEhFUiBJTgotICAgICAgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV RElORyBORUdMSUdFTkNFIE9SCi0gICAgICBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP VVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gICAgICBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAgICA8L2Jsb2NrcXVvdGU+Ci0gIDwv Ym9keT4KKyMgaWdub3JlZC48L2NvZGU+PC9wcmU+Cis8aHIgLz4KKzxoMyBpZD0iZGVpbnN0YWxs YXRpb24iPjYuIERFSU5TVEFMTEFUSU9OPC9oMz4KKzxwPklmIHlvdSB3YW50IHRvIHVuaW5zdGFs bCBsZWFmbm9kZSAoZS5nLsKgYmVjYXVzZSB5b3Ugd2FudCB0byByZXBsYWNlCitpdCB3aXRoIGFu b3RoZXIgbmV3c3NlcnZlcikgYW5kIGhhdmUgYSBNYWtlZmlsZSBhdmFpbGFibGUsIHlvdSBjYW4K K2FjaGlldmUgdGhpcyBieSBkb2luZyAibWFrZSB1bmluc3RhbGwiLjwvcD4KKzxwPkRvIDxzdHJv bmc+bm90PC9zdHJvbmc+IHVuaW5zdGFsbCBhbiBvbGQgdmVyc2lvbiBvZiBsZWFmbm9kZSBiZWZv cmUKK3VwZGF0aW5nLjwvcD4KKzxociAvPgorPGgzIGlkPSJmcmVxdWVudGx5LWFza2VkLXF1ZXN0 aW9ucyI+Ny4gRlJFUVVFTlRMWSBBU0tFRCBRVUVTVElPTlM8L2gzPgorPHA+U2VlIHRoZSBmaWxl IEZBUS48L3A+Cis8aHIgLz4KKzxoMyBpZD0iY29weXJpZ2h0Ij44LiBDT1BZUklHSFQ8L2gzPgor PHA+TGVhZm5vZGUgdmVyc2lvbnMgdGhyb3VnaCAxLjQgd2VyZSB3cml0dGVuIGJ5IEFybnQgR3Vs YnJhbmRzZW4KKyZsdDthZ3VsYnJhQHRyb2xsLm5vJmd0OyBhbmQgYXJlIGNvcHlyaWdodCAxOTk1 IFRyb2xsIFRlY2ggQVMsIFBvc3Rib2tzCis2MTMzIEV0dGVyc3RhZCwgMDYwMiBPc2xvLCBOb3J3 YXksIGZheCArNDcgMjI2NDY5NDkuPC9wPgorPHA+TGVhZm5vZGUgdmVyc2lvbnMgMS41IHVwIHRv IDEuOS4xOSBhbmQgMi4wYjEgdG8gMi4wYjggd2VyZSB3cml0dGVuIGJ5CitDb3JuZWxpdXMgS3Jh c2VsICZsdDtrcmFzZWxAd3B4eDAyLnRveGkudW5pLXd1ZXJ6YnVyZy5kZSZndDsgYW5kIGFyZQor Y29weXJpZ2h0IDE5OTctMjAwMS48L3A+Cis8cD5MZWFmbm9kZSB2ZXJzaW9ucyAxLjkuMjAgYW5k IHVwIHdlcmUgd3JpdHRlbiBieSBNYXR0aGlhcyBBbmRyZWUKKyZsdDttYXR0aGlhcy5hbmRyZWVA Z214LmRlJmd0OyBhbmQgUmFsZiBXaWxkZW5odWVzCismbHQ7cmFsZi53aWxkZW5odWVzQGdteC5k ZSZndDsgYW5kIGFyZSDCqSBjb3B5cmlnaHQgMjAwMiAtIDIwMDMuPC9wPgorPHA+TGVhZm5vZGUg dmVyc2lvbnMgMi4wYjhfbWEgYW5kIDIuMC4wLiogd2VyZSB3cml0dGVuIGJ5IE1hdHRoaWFzCitB bmRyZWUgJmx0O21hdHRoaWFzLmFuZHJlZUBnbXguZGUmZ3Q7LCBSYWxmIFdpbGRlbmh1ZXMKKyZs dDtyYWxmLndpbGRlbmh1ZXNAZ214LmRlJmd0OyBhbmQgSsO2cmcgRGlldHJpY2gKKyZsdDtqb2Vy Z0BkaWV0cmljaC5uZXQmZ3Q7IGFuZCBhcmUgwqkgY29weXJpZ2h0IDIwMDEgLSAyMDAzLjwvcD4K KzxwPk1ham9yIG1vZGlmaWNhdGlvbnMgd2VyZSBtYWRlIGJ5PGJyIC8+CitSYW5kb2xmIFNrZXJr YSAmbHQ7UmFuZG9sZi5Ta2Vya2FAZ214LmRlJmd0OzxiciAvPgorS2VudCBSb2JvdHRpICZsdDty b2JvdHRpQGVyb2xzLmNvbSZndDs8YnIgLz4KK01hcmt1cyBFbnplbmJlcmdlciAmbHQ7ZW56QGNp cC5waHlzaWsudW5pLW11ZW5jaGVuLmRlJmd0OzxiciAvPgorTWF0dGhpYXMgQW5kcmVlICZsdDtt YXR0aGlhcy5hbmRyZWVAZ214LmRlJmd0OzxiciAvPgorSsO2cmcgRGlldHJpY2ggJmx0O2pvZXJn QGRpZXRyaWNoLm5ldCZndDs8YnIgLz4KK1N0ZWZhbiBXaWVucyAmbHQ7cy53aUBnbXgubmV0Jmd0 OzxiciAvPgorPC9wPgorPHA+UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCithIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyJTb2Z0d2FyZSIpLCB0byBk ZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKK3dpdGhv dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi bGlzaCwKK2Rpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg U29mdHdhcmUsIGFuZCB0bworcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMg ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCit0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6 PC9wPgorPHA+VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu b3RpY2Ugc2hhbGwgYmUKK2luY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlIFNvZnR3YXJlLjwvcD4KKzxwPlRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorRVhQUkVTUyBPUiBJTVBMSUVE LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCitNRVJDSEFO VEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H RU1FTlQuCitJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS UyBCRSBMSUFCTEUgRk9SIEFOWQorQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKK1RPUlQgT1IgT1RIRVJXSVNFLCBBUklT SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCitTT0ZUV0FSRSBPUiBU SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS48L3A+Cis8cD5UaGUgZ2V0 YWxpbmUoKSBhbmQgZ2V0bGluZSgpIHJvdXRpbmVzIGFyZSBDb3B5cmlnaHQgKGMpIDIwMDAtMjAw MgorTWF0dGhpYXMgQW5kcmVlICZsdDttYXR0aGlhcy5hbmRyZWVAZ214LmRlJmd0Oy4gVGhleSBh cmUgbGljZW5zZWQgdW5kZXIKK3RoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug KEdOVSBMR1BMKSAyLjEuIEEgY29weSBvZiB0aGUgTEdQTAoraXMgcHJvdmlkZWQgaW4gdGhlIGZp bGUgQ09QWUlORy48L3A+Cis8cD5UaGUgd2lsZG1hdCgpIHJvdXRpbmUgaXMgQ29weXJpZ2h0IChj KSAxOTg2LTE5OTEgUmljaCAkYWx6CismbHQ7cnNhbHpAb3NmLm9yZyZndDsuIFRoZSBvcmlnaW5h bCBjb3B5cmlnaHQgbm90aWNlLCB0YWtlbiBmcm9tIElOTgorMi4yLjIsIGZvbGxvd3M6PC9wPgor PGJsb2NrcXVvdGU+Cis8cD5SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIGFueSBmb3JtIGFyZSBw ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUKK2ZvbGxvd2luZyByZXN0cmljdGlvbnMgYXJlIG1l dDo8L3A+Cis8b2wgdHlwZT0iMSI+Cis8bGk+U291cmNlIGRpc3RyaWJ1dGlvbnMgbXVzdCByZXRh aW4gdGhpcyBlbnRpcmUgY29weXJpZ2h0IG5vdGljZSBhbmQKK2NvbW1lbnQuPC9saT4KKzxsaT5C aW5hcnkgZGlzdHJpYnV0aW9ucyBtdXN0IGluY2x1ZGUgdGhlIGFja25vd2xlZGdlbWVudCBgYFRo aXMgcHJvZHVjdAoraW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IFJpY2ggU2FseicnIGlu IHRoZSBkb2N1bWVudGF0aW9uIG9yIG90aGVyCittYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg ZGlzdHJpYnV0aW9uLiBUaGlzIG11c3Qgbm90IGJlIHJlcHJlc2VudGVkCithcyBhbiBlbmRvcnNl bWVudCBvciBwcm9tb3Rpb24gd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuCitwZXJtaXNz aW9uLjwvbGk+Cis8bGk+VGhlIG9yaWdpbiBvZiB0aGlzIHNvZnR3YXJlIG11c3Qgbm90IGJlIG1p c3JlcHJlc2VudGVkLCBlaXRoZXIgYnkKK2V4cGxpY2l0IGNsYWltIG9yIGJ5IG9taXNzaW9uLiBD cmVkaXRzIG11c3QgYXBwZWFyIGluIHRoZSBzb3VyY2UgYW5kCitkb2N1bWVudGF0aW9uLjwvbGk+ Cis8bGk+QWx0ZXJlZCB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2ggaW4g dGhlIHNvdXJjZSBhbmQKK2RvY3VtZW50YXRpb24gYW5kIG11c3Qgbm90IGJlIG1pc3JlcHJlc2Vu dGVkIGFzIGJlaW5nIHRoZSBvcmlnaW5hbAorc29mdHdhcmUuPC9saT4KKzwvb2w+Cis8cD5USElT IFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBP UgorSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhF IElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS48L3A+Cis8L2Jsb2NrcXVvdGU+Cis8cD5UaGUgcmVwbGFjZW1l bnQgdnNucHJpbnRmKCkgZnVuY3Rpb24gd2FzIHdyaXR0ZW4gYnkgVGhlbyBkZSBSYWFkdCBhbmQK K2lzIENvcHlyaWdodCAoYykgMTk5NyB1bmRlciB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9uczo8 L3A+Cis8YmxvY2txdW90ZT4KKzxwPlJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0 dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorbWV0OjwvcD4K KzxvbCB0eXBlPSIxIj4KKzxsaT5SZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLjwvbGk+Cis8bGk+UmVkaXN0cmlidXRpb25z IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKK25vdGlj ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp biB0aGUKK2RvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo IHRoZQorZGlzdHJpYnV0aW9uLjwvbGk+Cis8L29sPgorPHA+VEhJUyBTT0ZUV0FSRSBJUyBQUk9W SURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKK0lNUExJRUQg V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitX QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJF IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwKK0lORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBM SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCitTRVJWSUNFUzsg TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikK K0hPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBDT05UUkFDVCwKK1NUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgorQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCitQT1NTSUJJTElUWSBPRiBTVUNI IERBTUFHRS48L3A+Cis8L2Jsb2NrcXVvdGU+Cis8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg YS9SRUFETUUubWQgYi9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uOWQxN2E4MwotLS0gL2Rldi9udWxsCisrKyBiL1JFQURNRS5tZApAQCAtMCwwICsxLDgxNiBA QAorJSBMZWFmbm9kZSBtYW51YWwKKyUgTWF0dGhpYXMgQW5kcmVlCislIDIwMjEtMDctMDlUMTc6 Mjg6MDcKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMjIyAxLiBPVkVSVklFVworCitMZWFmbm9kZSBp cyBhIFVTRU5FVCBzb2Z0d2FyZSBwYWNrYWdlIGRlc2lnbmVkIGZvciBzbWFsbCBzaXRlcywgd2l0 aCBhCitmZXcgdGVucyBvZiByZWFkZXJzIGFuZCBvbmx5IGEgc2xvdyBsaW5rIHRvIHRoZSBuZXQu IEl0IGlzIGRldmVsb3BlZCBvbgorTGludXgsIGJ1dCBoYXMgYmVlbiByZXBvcnRlZCB0byBjb21w aWxlIGFuZCBydW4gYWxzbyB1bmRlciBhbnkgQlNECitmbGF2b3VyLCBTb2xhcmlzIGFuZCBJcml4 LgorCitUaGUgTGVhZm5vZGUgcGFja2FnZSBjb25zaXN0cyBvZiBzZXZlcmFsIHByb2dyYW1zLCB0 aHJlZSBlc3NlbnRpYWwgb25lcworYW5kIHNldmVyYWwgYWRkLW9ucy4KKworLSAgICoqTGVhZm5v ZGUqKiBpcyB0aGUgTk5UUCBzZXJ2ZXIuIEl0IHRhbGtzIHRvIHRoZSBub3JtYWwKKyAgICBuZXdz IGNsaWVudHMsIGFuZCBzdG9yZXMgcmVhZGVyc2hpcCBkYXRhLgorLSAgICoqRmV0Y2huZXdzKiog aXMgdGhlIE5OVFAgbmV3cy1nYXRoZXJlci4gSXQgbG9va3MgYXQgdGhlCisgICAgcmVhZGVyc2hp cCBkYXRhIExlYWZub2RlIHN0b3JlcywgYW5kIHNlbGVjdHMgd2hhdCBncm91cHMgdG8gcHVsbAor ICAgIG5ld3MgZnJvbS4gSXQgYWxzbyB0cmFuc2ZlcnMgeW91ciBjb250cmlidXRpb25zIHRvIG9u ZSBvciBtb3JlCisgICAgdXBzdHJlYW0gc2VydmVycy4KKy0gICAqKlRleHBpcmUqKiBpcyByZXNw b25zaWJsZSBmb3IgZGVsZXRpbmcgb2xkIGFuZAorICAgIHVuaW50ZXJlc3RpbmcgbmV3cy4gSXQg ZGVsZXRlcyBhbGwgZGlzY3Vzc2lvbiB0aHJlYWRzIHRoYXQgYXJlIG9sZAorICAgIGFuZCBub3Qg cmVjZW50bHkgcmVhZC4KKworVGhlc2UgYXJlIHRoZSBhZGRpdGlvbmFsIHRvb2xzOgorCistICAg KipBcHBseWZpbHRlcioqIGxldHMgeW91IGRlbGV0ZSBhcnRpY2xlcyBmcm9tIHlvdXIgbG9jYWwK KyAgICBuZXdzIHNwb29sIHdoaWNoIGZpdCBhIGNlcnRhaW4gcGF0dGVybi4KKy0gICAqKkNoZWNr Z3JvdXBzKiogaW5zZXJ0cyB0aGUgdGl0bGVzIG9mIG5ld3Nncm91cHMgaW50byB0aGUKKyAgICBu ZXdzZ3JvdXAgZGF0YWJhc2UuCistICAgKipOZXdzcSoqIHNob3dzIHdoaWNoIG5ld3MgYXJlIHdh aXRpbmcgdG8gYmUgdHJhbnNmZXJyZWQKKyAgICB0byB5b3VyIHVwc3RyZWFtIHNlcnZlcihzKS4K Ky0gICAqKlJuZXdzKiogc29ydHMgYW4gVVVDUCBiYXRjaCBvciBhcnRpY2xlcyBkb3dubG9hZGVk IGJ5CisgICAgb3RoZXIgbWVhbnMgaW50byB0aGUgbmV3cyBzcG9vbC4KKworT25seSBncm91cHMg dGhhdCBzb21lb25lIGhhcyBiZWVuIHJlYWRpbmcgaW4gdGhlIHBhc3Qgd2VlayBhcmUgZmV0Y2hl ZAorZnJvbSB0aGUgdXBzdHJlYW0gTk5UUCBzZXJ2ZXIuIFdoZW4gc29tZW9uZSBzdG9wcyByZWFk aW5nIGEgZ3JvdXAsCitmZXRjaG5ld3Mgd2lsbCBzdG9wIHJlYWRpbmcgdGhhdCBncm91cCBhIHdl ZWsgbGF0ZXIgKHRoaXMgaXMgdGhlIGRlZmF1bHQKK3doaWNoIGNhbiBiZSBjb25maWd1cmVkKSwg YW5kIHdoZW4gc29tZW9uZSBzdGFydHMgcmVhZGluZyBhIGdyb3VwLAorZmV0Y2huZXdzIHdpbGwg Z3JhYiBhbGwgdGhlIGFydGljbGVzIGl0IGNhbiBpbiB0aGF0IGdyb3VwIHRoZSBuZXh0IHRpbWUK K2l0IHJ1bnMuCisKK0xlYWZub2RlXCdzIGRpc3Rpbmd1aXNoaW5nIGZlYXR1cmVzIGFyZToKKwor LSAgIExlYWZub2RlIGlzIHdyaXR0ZW4gd2l0aCB0aGUgbm92aWNlIHVzZXIgaW4gbWluZC4gSXQg aXMgdmVyeSBlYXN5IHRvCisgICAgaW5zdGFsbCBhbmQgY29uZmlndXJlIGFuZCByZXF1aXJlcyBu byBtYW51YWwgaW50ZXJ2ZW50aW9uIG9uY2UKKyAgICBpbnN0YWxsZWQuIExlYWZub2RlIHRyaWVz IHZlcnkgaGFyZCB0byByZWNvdmVyIGF1dG9tYXRpY2FsbHkgZnJvbQorICAgIGVycm9yIHNpdHVh dGlvbnMuCistICAgQ29tcGFyZWQgdG8gb3RoZXIgc2VydmVycywgbGVhZm5vZGUgdXNlcyB2ZXJ5 IGxpdHRsZSBkaXNrIHNwYWNlIGFuZAorICAgIGJhbmR3aWR0aC4gT2YgY291cnNlIHRoaXMgYWxz byBkZXBlbmRzIG9uIGhvdyBtYW55IHVzZXJzIGFyZQorICAgIGFjY2Vzc2luZyB5b3VyIHNlcnZl ciBhbmQgaXMgcHJvYmFibHkgbm90IHRydWUgZm9yIDMwMC11c2VyIHNpdGVzLgorLSAgIFRoZSBu ZXdzc3Bvb2wgY2FuIGJlIGVhc2lseSBtYW5pcHVsYXRlZCBieSBzbWFsbCBzY3JpcHRzIGJlY2F1 c2UgaXQKKyAgICBpcyBtYWludGFpbmVkIGluIHBsYWluIGZpbGUgZm9ybWF0LiBTb21lIHRpbnkg ZXhhbXBsZXMgYXJlIGluIHRoZQorICAgIHN1YmRpcmVjdG9yeSB0b29scy8gLgorCitUaGUgY3Vy cmVudCB2ZXJzaW9uIG9mIGxlYWZub2RlIGlzIGF2YWlsYWJsZSBmcm9tCis8aHR0cDovL3d3dy5k dC5lLXRlY2huaWsudHUtZG9ydG11bmQuZGUvfm1hL2xlYWZub2RlL2JldGEvPgorCitUaGVyZSBp cyBhbHNvIGEgbGVhZm5vZGUgbWFpbGluZyBsaXN0LiBTZW5kIG1haWwgdG8KKworbGVhZm5vZGUt bGlzdC1zdWJzY3JpYmVAZHQuZS10ZWNobmlrLnR1LWRvcnRtdW5kLmRlCisKK3RvIHN1YnNjcmli ZSwgb3IgdmlzaXQKK1todHRwOi8vd3d3LmR0LmUtdGVjaG5pay50dS1kb3J0bXVuZC5kZS9tYWls bWFuL2xpc3RpbmZvL2xlYWZub2RlLWxpc3QvLl0oaHR0cDovL3d3dy5kdC5lLXRlY2huaWsudHUt ZG9ydG11bmQuZGUvbWFpbG1hbi9saXN0aW5mby9sZWFmbm9kZS1saXN0LykKKworLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisKKyMjIyAyLiBJTlNUQUxMQVRJT04KKworMS4gIExlYWZub2RlIGRvZXMgbm90IGN1 cnJlbnRseSB3b3JrIG9uIFN1bk9TIDQuCisKKzIuICBMZWFmbm9kZSBkZXBlbmRzIG9uIHRoZSBQ Q1JFIHJlZ3VsYXItZXhwcmVzc2lvbiBtYXRjaGluZyBsaWJyYXJ5LiBJdAorICAgIHNoaXBzIGFz IGJpbmFyeSBwYWNrYWdlIHdpdGggbWFueSBjdXJyZW50IExpbnV4L0JTRCBkaXN0cmlidXRpb25z LAorICAgIGFuZCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBwb3J0IGZvciBcKkJTRCAoRGViaWFuIHVz ZXJzOiB0cnkgXCJhcHQtZ2V0CisgICAgaW5zdGFsbCBsaWJwY3JlMyBsaWJwY3JlMy1kZXZcIiku IEp1c3QgaW5zdGFsbCB0aGUgYmluYXJ5IHBhY2thZ2UKKyAgICBmb3IgeW91ciBvcGVyYXRpbmcg c3lzdGVtIGlmIGl0IHNoaXBzIHdpdGggb25lLiBJZiBpdCBjb21lcyB3aXRob3V0CisgICAgUENS RSwgZG9uXCd0IHdvcnJ5LCB0aGUgaW5zdGFsbGF0aW9uIGZyb20gc291cmNlIGlzIHNpbXBsZS4g VG8KKyAgICBpbnN0YWxsIFBDUkUsIGRvIChBUyBOT1JNQUwgVVNFUiwgTk9UIEFTIHJvb3QhKQor ICAgIDEuICBEb3dubG9hZCB0aGUgY3VycmVudCBQQ1JFIHZlcnNpb24gZnJvbSA8aHR0cDovL3d3 dy5wY3JlLm9yZy8+LgorICAgIDIuICBVbnBhY2sgUENSRTogZ3VuemlwIC1jIFx8IHRhciB4dmYg LQorICAgIDMuICBjZCBwY3JlLTMuOVwKKyAgICAgICAgKihUaGlzIGlzIGZvciBQQ1JFLTMuOSwg Zm9yIG90aGVyIHZlcnNpb25zLCByZXBsYWNlIHRoYXQgYnkgdGhlCisgICAgICAgIHBhdGggdGhh dCB0YXIgd3JvdGUgd2hlbiB1bnBhY2tpbmcuKSoKKyAgICA0LiAgdHlwZSBgLi9jb25maWd1cmUg JiYgbWFrZWBcCisgICAgICAgICp0aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzKgorICAgIDUuICBi ZWNvbWUgcm9vdAorICAgIDYuICBhcyByb290LCBkbyBgbWFrZSBpbnN0YWxsYAorICAgIDcuICBh cyByb290LCBkbyBgbGRjb25maWdgXAorICAgICAgICAqdGhpcyBtYXkgbm90IGJlIG5lZWRlZCBv biBhbGwgc3lzdGVtcywgYnV0IGJldHRlciBzYWZlIHRoYW4KKyAgICAgICAgc29ycnkqCisgICAg OC4gIGV4aXQgeW91ciByb290IHNoZWxsCisgICAgOS4gIERPTkUhCisKKzMuICBMZWFmbm9kZSB1 c2VzIEdOVSBhdXRvY29uZiB0byBkZXRlcm1pbmUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlCisg ICAgbWFjaGluZSBpdCB3aWxsIGJlIGNvbXBpbGVkIG9uLiBJdCBhbHNvIHVzZXMgR05VIGF1dG9t YWtlIGZvciBhbGwKKyAgICB0aGUgc3RhbmRhcmQgZmVhdHVyZXMgdGhhdCBHTlUgYXV0b21ha2Ug b2ZmZXJzLiBUeXBlIChBUyBOT1JNQUwKKyAgICBVU0VSLCBOT1QgQVMgcm9vdCEpCisKKyAgICAg ICAgICAgICAgICAgL2Jpbi9zaCAuL2NvbmZpZ3VyZQorCisgICAgdG8gY3JlYXRlIGFuIGFwcHJv cHJpYXRlIE1ha2VmaWxlIGFuZCBjb25maWcuaC4gSWYgbGVhZm5vZGUgY2Fubm90CisgICAgZmlu ZCB5b3VyIFBDUkUsIGl0IGlzIHByb2JhYmx5IGFuIG9sZCB2ZXJzaW9uIHdpdGhvdXQgcGNyZS1j b25maWcsCisgICAgb3IgcGNyZS1jb25maWcgaXMgbm90IGluIHlvdXIgcGF0aC4gRWl0aGVyIGFk ZCB0aGUgZGlyZWN0b3J5CisgICAgY29udGFpbmluZyBwY3JlLWNvbmZpZyB0byB5b3VyIFwkUEFU SCwgb3IgY2FsbCBjb25maWd1cmUgbGlrZSB0aGlzCisgICAgKHdlIGFzc3VtZSBQQ1JFIGlzIGlu IC9vcHQvcGNyZS0zLjkpOgorCisgICAgICAgICAgICAgICAgIGVudiBDUFBGTEFHUz0iLUkvb3B0 L3BjcmUtMy45IiBMREZMQUdTPSItTC9vcHQvcGNyZS0zLjkiIC9iaW4vc2ggLi9jb25maWd1cmUK KworICAgIE5PVEU6IG9uIHNvbWUgbWFjaGluZXMsIHdoZW4gUENSRSBpcyBsaW5rZWQgYWdhaW5z dCBhIHNoYXJlZAorICAgIGxpYnJhcnksIHlvdSB3aWxsIG5lZWQgdG8gYWRkIC9vcHQvcGNyZS0z LjkgdG8gTERfTElCUkFSWV9QQVRIIG9yIHRvCisgICAgL2V0Yy9sZC5zby5jb25mLgorCisgICAg VGhlIGNvbmZpZ3VyZSBzY3JpcHQgY2FuIHRha2Ugc29tZSBmbGFncyAocmVwbGFjZSBESVIgYnkg YSBkaXJlY3RvcnkKKyAgICBuYW1lLCBGSUxFIGJ5IGEgZmlsZSBuYW1lKToKKworICAgICAgICAt LWVuYWJsZS1zcG9vbGRpcj1ESVIgIFRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IC92YXIvc3Bvb2wv bmV3cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBsZWFmbm9kZSBwdXRz IGl0cyBuZXdzIHNwb29sIHVubGVzcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t bG9jYWxzdGF0ZWRpciBpcyBnaXZlbiBvciAtLXByZWZpeCBpcyBnaXZlbiBhbmQKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkaWZmZXJlbnQgZnJvbSAvdXNyLCBpbiB0aGUgbGF0dGVy IGNhc2UsIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgaXMgJGxv Y2Fsc3RhdGVkaXIvc3Bvb2wvbmV3cworCisgICAgICAgIC0tcHJlZml4PURJUiAgICAgICAgICAg TGVhZm5vZGUgaW5zdGFsbHMgaXRzZWxmIG5vcm1hbGx5IGluIHRoZSAvdXNyL2xvY2FsL3NiaW4K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkuIElmIHlvdSB3YW50IHRv IHVzZSBhbm90aGVyIGRpcmVjdG9yeSwgdXNlIHRoaXMKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmbGFnLiBGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgdG8gaW5zdGFsbCBsZWFmbm9k ZSBpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC91c3Ivc2JpbiwgdXNlIC0tcHJl Zml4PS91c3IKKworICAgICAgICAtLXN5c2NvbmZkaXI9RElSICAgICAgIERlZmF1bHQgcGF0aCBm b3IgY29uZmlndXJhdGlvbiBpcyAvZXRjL2xlYWZub2RlIHdoZW4KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtLXByZWZpeCBpcyBub3QgdXNlZCBvciBzZXQgdG8gL3VzciwgYW5kIFBS RUZJWC9ldGMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcndpc2UuICBZb3Ug Y2FuIHVzZSB0aGlzIHRvIGNoYW5nZSB0aGUgY29uZmlnIGZpbGUKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsb2NhdGlvbiBmcm9tIGl0cyBkZWZhdWx0LgorCisgICAgICAgIC0td2l0 aC1kbWFsbG9jICAgICAgICAgTGV0cyBsZWFmbm9kZSBpbmNsdWRlIGRtYWxsb2MgaGVhZGVyIGZp bGVzIGFuZCBsaW5rCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdhaW5zdCBsaWJk bWFsbG9jLiBPbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nLCBub3QKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBuZWVkZWQgZm9yIG5vcm1hbCBvcGVyYXRpb24uIFRoaXMgb3B0aW9uIHJl cXVpcmVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hbGxvYywgYXZhaWxhYmxl IGZyb20gaHR0cDovL2RtYWxsb2MuY29tLy4KKworICAgICAgICAtLXdpdGgtcnVuYXMtdXNlcj1V U0VSIExldHMgbGVhZm5vZGUgcnVuIGFzIHVzZXIgVVNFUiwgZGVmYXVsdHMgdG8gIm5ld3MiLgor CisgICAgICAgIC0td2l0aC1wYW0gICAgICAgICAgICAgRW5hYmxlIFBBTSAocGx1Z2dhYmxlIGF1 dGhlbnRpY2F0aW9uIG1vZHVsZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vw cG9ydC4KKworICAgICoqQkVXQVJFOioqIEZvcm1lciB2ZXJzaW9ucyBhbHdheXMgZGVmYXVsdGVk IHRoZWlyIHN5c2NvbmZkaXIgdG8KKyAgICAvZXRjL2xlYWZub2RlLiBDdXJyZW50IHZlcnNpb25z IG9ubHkgb3ZlcnJpZGUgc3lzY29uZmRpciB0bworICAgIC9ldGMvbGVhZm5vZGUgaWYgY29uZmln dXJlZCB3aXRob3V0IFwtLXByZWZpeCBvciB3aXRoCisgICAgXC0tcHJlZml4PS91c3IuIFRoYXQg d2F5LCBpZiBcLS1wcmVmaXg9L29wdC9sZWFmbm9kZSwgdGhlIHN5c2NvbmZkaXIKKyAgICBnb2Vz IHRvIC9vcHQvbGVhZm5vZGUvZXRjLCB3aGljaCBpcyBtb3JlIGFwcHJvcHJpYXRlLgorCis0LiAg VHlwZQorCisgICAgICAgICAgICAgICAgICBtYWtlCisKKyAgICBUaGVyZSBzaG91bGQgYmUgbm8g ZXJyb3JzLgorCis1LiAgQmVjb21lIHJvb3QuCisKKzYuICBBcyByb290LCBjcmVhdGUgdXNlciBh bmQgZ3JvdXAgXCJuZXdzXCIgKG9yIHRoZSBjb25maWd1cmVkIHVzZXIgYW5kCisgICAgZ3JvdXAp IGlmIHlvdSBkb25cJ3QgaGF2ZSB0aG9zZSBhbHJlYWR5LgorCis3LiAgVHlwZQorCisgICAgICAg ICAgICAgICAgICBtYWtlIGluc3RhbGwKKworICAgIElmIHlvdSBwcmVmZXIgYW4gaW5zdGFsbGF0 aW9uIHdpdGggdGhlIGJpbmFyaWVzIHN0cmlwcGVkIGZyZWUgb2YKKyAgICBzeW1ib2xzLCB1c2UK KworICAgICAgICAgICAgICAgICAgbWFrZSBpbnN0YWxsLXN0cmlwCisKKyAgICBpbnN0ZWFkLlwK KyAgICAqRm9yIHBhY2thZ2VyczogaWYgeW91IHdhbnQgdG8gcHJlZml4IGFsbCBpbnN0YWxsYXRp b24gcGF0aHMgd2l0aCBhCisgICAgY29tbW9uIHByZWZpeCwgZS4gZy4gdG8gc3VwcG9ydCBSUE1c J3MgQnVpbGRSb290IGZlYXR1cmU6IFlvdSBjYW4KKyAgICB1c2UgYG1ha2UgaW5zdGFsbC1zdHJp cCBERVNURElSPS92YXIvdG1wL2xlYWZub2RlLXJvb3RgLioKKworOC4gIENvbmZpZ3VyZSBzeXNs b2cgc28gaXQgY2FwdHVyZXMgbmV3cyBsb2dnaW5nLCBtb3N0IHN5c3RlbXMgZG8gTk9UCisgICAg bG9nIG5ld3Mgc3R1ZmYgYnkgZGVmYXVsdC4KKyAgICAxLiAgRWRpdCAvZXRjL3N5c2xvZy5jb25m LiBVbmxlc3MgeW91IGFscmVhZHkgaGF2ZSBuZXdzLmluZm8KKyAgICAgICAgbG9nZ2luZywgYWRk IGEgbGluZSBsaWtlIHRoaXM6CisKKyAgICAgICAgICAgIG5ld3MuaW5mbyAgICAgICAgICAgICAg IC92YXIvbG9nL25ld3MKKworICAgICAgICBOb3RlIHRoYXQgaWYgeW91IHdhbnQgdG8gc2VuZCBp biBhIGJ1ZyByZXBvcnQgYW5kIG5lZWQgZGVidWcKKyAgICAgICAgbG9nZ2luZywgeW91XCdsbCBo YXZlIHRvIHJlcGxhY2UgbmV3cy5pbmZvIGJ5IG5ld3MuZGVidWcgKGFuZAorICAgICAgICBzZW5k IGEgU0lHSFVQLCBhcyBzaG93biBiZWxvdykuCisKKyAgICAgICAgWW91ciBzeXNsb2cuY29uZiBt YXkgYWxyZWFkeSBzdWdnZXN0IGEgZGlmZmVyZW50IGZpbGUuIElmIHlvdXIKKyAgICAgICAgc3lz bG9nLmNvbmYgc3VnZ2VzdHMgbmV3cy5pbmZvIGxvZ2dpbmcsIHVzZSB0aGF0LCBidXQgYmUgc3Vy ZSB0bworICAgICAgICBhY3RpdmF0ZSBpdCBpbiBjYXNlIGl0XCdzIGNvbW1lbnRlZCBvdXQ6IHJl bW92ZSBsZWFkaW5nIGhhc2gKKyAgICAgICAgbWFya3MgYW5kIHdoaXRlIHNwYWNlLgorCisgICAg ICAgIEFsc28gbWFrZSBzdXJlIHlvdSB1c2UgVEFCcyBiZXR3ZWVuIG5ld3MuaW5mbyBhbmQgdGhl IHBhdGguCisKKyAgICAyLiAgQ3JlYXRlIHRoZSAvdmFyL2xvZy9uZXdzIGZpbGUsIHR5cGU6IGB0 b3VjaCAvdmFyL2xvZy9uZXdzYC4KKworICAgIDMuICBTZW5kIHN5c2xvZ2QgYSBIVVAgc2lnbmFs LiBga2lsbCAtMSBcYGNhdAorICAgICAgICAvdmFyL3J1bi9zeXNsb2dkLnBpZFxgYCB1c3VhbGx5 IGRvZXMgdGhlIGpvYiwgaWYgaXQgZG9lc25cJ3QsCisgICAgcmV0cnkgd2l0aCBcInN5c2xvZ2Rc IiByZXBsYWNlZCBieSBcInN5c2xvZ1wiLgorCis5LiAgSWYgeW91IGFyZSB1cGRhdGluZyBsZWFm bm9kZSBmcm9tIGEgcHJldmlvdXMgdmVyc2lvbiwgc2VlIHRoZQorICAgIHNlY3Rpb24gXCJVcGRh dGluZ1wiIGJlbG93LgorCisxMC4gRWRpdCBcJChMSUJESVIpL2NvbmZpZy4gXCQoTElCRElSKSBk ZWZhdWx0cyB0byAvZXRjL2xlYWZub2RlLCBidXQKKyAgICBjYW4gYmUgYWRqdXN0ZWQgYXQgYnVp bGQgdGltZS4gRm9yIGRvY3VtZW50YXRpb24sIHNlZSBiZWxvdyBvcgorICAgIGNvbmZpZy5leGFt cGxlIGFuZCBsZWFmbm9kZSg4KS4gKipNYW5kYXRvcnkgZWRpdHMgdG8gdGhlIGNvbmZpZyBmaWxl CisgICAgYXJlOioqCisKKyAgICAtICAgc2VydmVyIFwtLSB0aGlzIG11c3QgcG9pbnQgdG8geW91 ciB1cHN0cmVhbSBuZXdzIHNlcnZlci4KKyAgICAtICAgZXhwaXJlIFwtLSBob3cgbWFueSBkYXlz IHdpbGwgZG93bmxvYWRlZCBhcnRpY2xlcyByZW1haW4gaW4gdGhlCisgICAgICAgIHNwb29sLgor CisgICAgTWFrZSBzdXJlIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBcJE5OVFBTRVJWRVIgb3Ig L2V0Yy9ubnRwc2VydmVyCisgICAgcG9pbnRzIHRvIHlvdXIgb3duIGhvc3Qgc28gY2xpZW50cyB3 aWxsIHRhbGsgdG8gbGVhZm5vZGUgcmF0aGVyIHRoYW4KKyAgICB0cnkgdG8gZ28gdG8gdGhlIHVw c3RyZWFtIHNlcnZlci4KKworICAgIElmIHlvdSB3YW50IHRvIHVzZSBmaWx0ZXJpbmcgb2YgdGhl IGluY29taW5nIHNwb29sLCBzZWUgdGhlIHNlY3Rpb24KKyAgICBvbiB0aGUgZmlsdGVyIGZpbGUg YmVsb3cuCisKKzExLiB0aGUgc3lzdGVtZC8gZGlyZWN0b3J5IG9mIHRoZSB0YXJiYWxsIGNvbnRh aW5zIGV4YW1wbGUgc2VydmljZSBhbmQKKyAgICB0aW1lciBmaWxlcyB0aGF0IGNhbiBiZSB1c2Vk IG9uIHN5c3RlbWQtYmFzZWQgc3lzdGVtcyAqKmluc3RlYWQgb2YqKgorICAgIHRoZSBpbmV0ZC94 aW5ldGQgYW5kIGNyb25cW3RhYlxdIHNldHRpbmdzIHNob3duIGJlbG93LgorCisxMi4gU2V0IHVw IGEgY3JvbiBqb2IgKGFzIHVzZXIgXCJyb290XCIgb3IgXCJuZXdzXCIpIHRvIHJ1biB0ZXhwaXJl CisgICAgZXZlcnkgbmlnaHQgb3IgbWF5YmUgZXZlcnkgd2Vlay4gSGVyZSBpcyBteSBjcm9udGFi IGxpbmUsIHdoaWNoIHJ1bnMKKyAgICBuaWdodGx5OgorCisgICAgICAgIDAgNCAqICogKiAvdXNy L2xvY2FsL3NiaW4vdGV4cGlyZQorCisgICAgSSBkaWQgXCJjcm9udGFiIC11IG5ld3MgLWVcIiBh cyByb290IHRvIGVkaXQgdGhlIGNyb250YWIgZmlsZSwgYW5kCisgICAgYWRkZWQgdGhpcyBsaW5l LiBTdWJzdGl0dXRpbmcgXCIxXCIgZm9yIHRoZSB0aGlyZCBcIlwqXCIsIHRodXM6CisKKyAgICAg ICAgMCA0ICogKiAxIC91c3IvbG9jYWwvc2Jpbi90ZXhwaXJlCisKKyAgICB0ZWxscyBjcm9uIHRv IHJ1biB0ZXhwaXJlIGF0IDRhbSBldmVyeSBNb25kYXkgbW9ybmluZy4KKworMTMuIE1ha2Ugc3Vy ZSBmZXRjaG5ld3MgaXMgcnVuIGF0IHRoZSBhcHByb3ByaWF0ZSB0aW1lLiBJZiB5b3UgaGF2ZSBh CisgICAgZnVsbC10aW1lIGxpbmssIHJ1biBpdCBvdXQgb2YgY3JvbiAoYXMgXCJuZXdzXCIgYWdh aW4pOyBpZiBub3QsIHJ1bgorICAgIGl0IHdoZW4geW91ciBjb25uZWN0aW9uIHRvIHRoZSBuZXQg aXMgZXN0YWJsaXNoZWQuIElmIGl0IGlzIHJ1biBhcworICAgIHJvb3QgaXQgd2lsbCBjaGFuZ2Ug dG8gdXNlciBcIm5ld3NcIi4gSWYgeW91IHVzZSBQUFAsIHlvdSBjYW4gcnVuCisgICAgZmV0Y2hu ZXdzIGZyb20gL2V0Yy9wcHAvaXAtdXAgKG9yIC9ldGMvcHBwL2lwLXVwLmxvY2FsLCBkZXBlbmRp bmcgb24KKyAgICB5b3VyIE9TKS4KKworMTQuIFdlIGFzc3VtZSB0aGF0IHlvdSBoYXZlIHRjcGQg aW5zdGFsbGVkLCBpdCBzaGlwcyB3aXRoIG1vc3QKKyAgICBkaXN0cmlidXRpb25zLiBJZiB5b3Ug ZG9uXCd0IGhhdmUgaXQsIGZldGNoIGl0IGZyb20KKyAgICBmdHA6Ly9mdHAucG9yY3VwaW5lLm9y Zy9wdWIvc2VjdXJpdHkvLCBpdFwncyBpbiB0Y3Bfd3JhcHBlcnMsIGFuZAorICAgIGluc3RhbGwg aXQuIEl0XCdzIHByZWZlcmFibGUgaWYgeW91IGNvbXBpbGUgaXQgd2l0aCAtREhPU1RTX09QVElP TlMsCisgICAgYW5kIHRoZSBleGFtcGxlcyBiZWxvdyBhc3N1bWUgeW91IGRpZC4KKworMTUuIENo b29zZSBlaXRoZXIgb2YgdGhlc2UgYWx0ZXJuYXRpdmVzOgorICAgIC0gICBBbHRlcm5hdGl2ZSAj MTogSWYgeW91ciBzeXN0ZW0gdXNlcyBpbmV0ZCAobW9zdCBjb21tZXJjaWFsCisgICAgICAgIHVu aWNlcywgXCpCU0QpLiBFZGl0IC9ldGMvaW5ldGQuY29uZiBzbyB0aGF0IFwkKEJJTkRJUikvbGVh Zm5vZGUKKyAgICAgICAgaXMgZXhlY3V0ZWQgZm9yIGluY29taW5nIE5OVFAgY29ubmVjdGlvbnMu IEhlcmUgaXMgbXkgaW5ldGQuY29uZgorICAgICAgICBsaW5lOgorCisgICAgICAgICAgICBubnRw ICAgIHN0cmVhbSAgdGNwICAgICBub3dhaXQgIG5ld3MgICAgL3Vzci9zYmluL3RjcGQgL3Vzci9s b2NhbC9zYmluL2xlYWZub2RlCisKKyAgICAgICAgKk5vdGU6IHNvbWUgc3lzdGVtcyBpbnN0YWxs IHRjcGQgdG8gYSBkaWZmZXJlbnQgcGF0aCwgYnV0IGl0XCdzCisgICAgICAgIHVuY29tbW9uLiBD aGFuZ2UgdGhlIGZpcnN0IHBhdGggYWNjb3JkaW5nbHkgaWYgeW91ciB0Y3BkIHJlc2lkZXMKKyAg ICAgICAgaW4gL3Vzci9ldGMgb3IgL3Vzci9sYmluLiogQWZ0ZXIgdGhlc2UgY2hhbmdlcywgZm9y Y2UgaW5ldGQgdG8KKyAgICAgICAgcmVhZCB0aGUgY2hhbmdlZCBjb25maWd1cmF0aW9uIGZpbGUg Ynkgc2VuZGluZyBpdCB0aGUgSEFOR1VQCisgICAgICAgIHNpZ25hbC4gVG8gYWNoaWV2ZSB0aGlz LCBpc3N1ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgKGFzIHJvb3QpOgorCisgICAgICAgICAgICBr aWxsIC1IVVAgYGNhdCAvdmFyL3J1bi9pbmV0ZC5waWRgCisKKyAgICAtICAgQWx0ZXJuYXRpdmUg IzI6IElmIHlvdXIgc3lzdGVtIGhhcyB4aW5ldGQgaW5zdGVhZC4gQWRkIHRoaXMgdG8KKyAgICAg ICAgeW91ciB4aW5ldGQuY29uZiAodGhpcyBleGFtcGxlIGFzc3VtZXMgeGluZXRkIDIuMy4zIG9y IG5ld2VyKToKKworICAgICAgICAgICAgc2VydmljZSBubnRwCisgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgICAgIGZsYWdzICAgICAgICAgICA9IE5BTUVJTkFSR1MgTk9MSUJXUkFQCisg ICAgICAgICAgICAgICAgICAgIHNvY2tldF90eXBlICAgICA9IHN0cmVhbQorICAgICAgICAgICAg ICAgICAgICBwcm90b2NvbCAgICAgICAgPSB0Y3AKKyAgICAgICAgICAgICAgICAgICAgd2FpdCAg ICAgICAgICAgID0gbm8KKyAgICAgICAgICAgICAgICAgICAgdXNlciAgICAgICAgICAgID0gbmV3 cworICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIgICAgICAgICAgPSAvdXNyL3NiaW4vdGNwZAor ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfYXJncyAgICAgPSAvdXNyL2xvY2FsL3NiaW4vbGVh Zm5vZGUKKyAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VzICAgICAgID0gNworICAgICAgICAg ICAgICAgICAgICBwZXJfc291cmNlICAgICAgPSAzCisgICAgICAgICAgICB9CisKKyAgICAgICAg VGhlbiBzZW5kIHhpbmV0ZCBhbiBVU1IyIHNpZ25hbCB0byBtYWtlIGl0IHJlcmVhZCBpdHMKKyAg ICAgICAgY29uZmlndXJhdGlvbi4gU2VlIHRoZSAqKnhpbmV0ZC5jb25mKiooNSkgbWFudWFsIHBh Z2UgZm9yCisgICAgICAgIGRldGFpbHMuICpOb3RlOiBzb21lIHN5c3RlbXMgaW5zdGFsbCB0Y3Bk IHRvIGEgZGlmZmVyZW50IHBhdGgsCisgICAgICAgIGJ1dCBpdFwncyB1bmNvbW1vbi4gQ2hhbmdl IHRoZSBmaXJzdCBwYXRoIGFjY29yZGluZ2x5IGlmIHlvdXIKKyAgICAgICAgdGNwZCByZXNpZGVz IGluIC91c3IvZXRjIG9yIC91c3IvbGJpbi4qCisKKzE2LiBXcml0ZSB0aGUgZm9sbG93aW5nIGlu dG8gL2V0Yy9ob3N0cy5kZW55OgorCisgICAgICAgIGxlYWZub2RlOiBBTEwKKworICAgIGFuZCBp bnRvIC9ldGMvaG9zdHMuYWxsb3c6CisKKyAgICAgICAgbGVhZm5vZGU6IDEyNy4wLjAuMQorCisg ICAgdG8gcHJvdGVjdCB5b3VyIG5ld3Mgc2VydmVyIGZyb20gYWJ1c2UuIElmIHlvdSB3YW50IHRv IG1ha2UgbGVhZm5vZGUKKyAgICBhY2Nlc3NpYmxlIHRvIGFkZGl0aW9uYWwgSVAgbnVtYmVycy9k b21haW5zLCBhZGQgdGhlbSBpbgorICAgIC9ldGMvaG9zdHMuYWxsb3cgaW4gdGhlIGZvcm1hdCBk ZXNjcmliZWQgYWJvdmUuIFNlZSBob3N0c19hY2Nlc3MoNSkKKyAgICBhbmQgaG9zdHNfb3B0aW9u cyg1KSAoaWYgYXBwbGljYWJsZSkgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGNwCisgICAg d3JhcHBlcnMuCisKKzE3LiAqKG9wdGlvbmFsKSogSWYgeW91IHdhbnQgdG8gYWxsb3cgcmVhZC1v bmx5IGFjY2VzcywgeW91IGNhbiBzZXQgdGhlCisgICAgTk9QT1NUSU5HIGVudmlyb25tZW50IHZh cmlhYmxlLCBmb3IgZXhhbXBsZSwgcHV0IHRoaXMgaW50bworICAgIC9ldGMvaG9zdHMuYWxsb3c6 CisKKyAgICAgICAgbGVhZm5vZGU6IDE5Mi4xNjguMC40OiBzZXRlbnYgTk9QT1NUSU5HICJZb3Ug bWF5IG9ubHkgcmVhZC4iCisKKyAgICBUaGUgY29udGVudHMgb2YgdGhpcyB2YXJpYWJsZSBhcmUg cHJpbnRlZCBhdCB0aGUgZW5kIG9mIHRoZSBiYW5uZXIsCisgICAgd2l0aCBjb250cm9sIGNoYXJh Y3RlcnMgKGFzIHBlciBpc2NudHJsKDMpKSByZXBsYWNlZCBieSBhbgorICAgIHVuZGVyc2NvcmUu CisKKzE4LiAqKG9wdGlvbmFsKSogSWYgeW91IHdhbnQgdG8gYWxsb3cgY2xpZW50cyByZWFkIGFj Y2VzcyB0byBsb2NhbCBvcgorICAgIGdsb2JhbCBzdWJzY3JpYmVkIGdyb3VwcywgYnV0IGRvIG5v dCB3YW50IHRvIGFsbG93IHRoZW0gdG8gc3Vic2NyaWJlCisgICAgdG8gbmV3IGdyb3VwcywgeW91 IGNhbiBzZXQgdGhlIE5PU1VCU0NSSUJFIGVudmlyb25tZW50IHZhcmlhYmxlLgorICAgIFdoZW4g dGhpcyB2YXJpYWJsZSBpcyBzZXQsIGEgY2xpZW50IHdpbGwgbmV2ZXIgc2VlIGEgcHNldWRvIGFy dGljbGUuCisgICAgRm9yIGV4YW1wbGUsIGlmIGNsaWVudHMgZnJvbSAxMjcuMC4wLjEgYW5kIDE5 Mi4xNjguMC40MiBtYXkKKyAgICBzdWJzY3JpYmUgbmV3IGdyb3VwcywgYW5kIGFsbCBvdGhlciAx OTIuMTY4LjAuXCogaG9zdHMgbWF5IHJlYWQgdGhlCisgICAgZXhpc3RpbmcgZ3JvdXBzIGJ1dCBu b3Qgc3Vic2NyaWJlIHRvIG5ldyBncm91cHMsIHB1dCB0aGlzIGludG8KKyAgICAvZXRjL2hvc3Rz LmFsbG93ICh0aGlzIGFzc3VtZXMgbGlid3JhcC90Y3BkIGhhdmUgYmVlbiBjb21waWxlZCB3aXRo CisgICAgLURQUk9DRVNTX09QVElPTlMpOgorCisgICAgICAgIGxlYWZub2RlOiAxMjcuMC4wLjEg MTkyLjE2OC4wLjQyOiBBTExPVworICAgICAgICBsZWFmbm9kZTogMTkyLjE2OC4wLjAvMjU1LjI1 NS4yNTUuMDogc2V0ZW52IE5PU1VCU0NSSUJFIDEKKyAgICAgICAgbGVhZm5vZGU6IEFMTDogREVO WQorCisxOS4gUnVuIGZldGNobmV3cy4gVGhlIGZpcnN0IHJ1biB3aWxsIHRha2Ugc29tZSB0aW1l IHNpbmNlIGZldGNobmV3cworICAgIHJlYWRzIGEgbGlzdCBvZiBhbGwgbmV3c2dyb3VwcyBmcm9t IHlvdXIgdXBzdHJlYW0gc2VydmVyLiBJbiB0aGUKKyAgICB3b3JzdCBjYXNlLCB0aGlzIGNhbiB0 YWtlIHVwIHRvIDYwIG1pbnV0ZXMsIGRlcGVuZGluZyBvbiBob3cgbWFueQorICAgIG5ld3Nncm91 cHMgeW91ciBwcm92aWRlciBvZmZlcnMgYW5kIGhvdyByZWxpYWJsZSB5b3VyIG1vZGVtCisgICAg Y29ubmVjdGlvbiBpcy4gVG8gc2VlIGZldGNobmV3cyB3b3JraW5nLCBydW4gaXQgd2l0aCAtdnZ2 LgorCisyMC4gUnVuIHRleHBpcmUuIEl0IHdpbGwgY3JlYXRlIGRpcmVjdG9yaWVzIG1pc3Npbmcg YWZ0ZXIgdGhlIGZpcnN0CisgICAgaW5zdGFsbC4KKworMjEuIEV4aXQgeW91ciByb290IHNoZWxs LgorCisyMi4gUmVhZCBuZXdzIHVzaW5nIGFuIE5OVFAgY2xpZW50ICh3aXRoIFwkTk5UUFNFUlZF UiBvciAvZXRjL25udHBzZXJ2ZXIKKyAgICBwb2ludGluZyB0byB5b3VyIG93biBob3N0KS4gU2Vs ZWN0IHRoZSBncm91cHMgeW91IHdhbnQgdG8gcmVhZCBpbgorICAgIHRoZSBmdXR1cmUuIFlvdSB3 aWxsIGZpbmQgdGhlbSBlbXB0eSBleGNlcHQgYSBkZWZhdWx0IGFydGljbGUuCisgICAgUmVhZGlu ZyB0aGlzIGFydGljbGUgaXMgbmVjZXNzYXJ5IHdpdGggc29tZSBuZXdzcmVhZGVycyB0byBzZWxl Y3QKKyAgICB0aGUgZ3JvdXBzIGZvciBmdXJ0aGVyIGZldGNoaW5nLgorCisgICAgQWZ0ZXIgdGhp cywgeW91IHNob3VsZCBoYXZlIGVtcHR5IGZpbGVzIGluCisgICAgL3Zhci9zcG9vbC9uZXdzL2lu dGVyZXN0aW5nLmdyb3Vwcy8gZm9yIGV2ZXJ5IGdyb3VwIHlvdSB3YW50IHRvCisgICAgcmVhZC4K KworMjMuIEJlY29tZSByb290IGFuZCBydW4gZmV0Y2huZXdzIGFnYWluLCB0aGVuIGV4aXQgeW91 ciByb290IHNoZWxsLiBUaGlzCisgICAgcnVuIHNob3VsZCBwaWNrIHVwIGFsbCB0aGUgZ3JvdXBz IHlvdSB3YW50IHRvIHJlYWQuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIyMgMy4gVVBEQVRFIEZS T00gUFJFVklPVVMgVkVSU0lPTlMKKworIyMjIDMuMSBVcGRhdGUgZnJvbSB2ZXJzaW9ucyBcPCAy LjBiOF9tYTgKKworVGhlIGxvY2FsLmdyb3VwcyBhbmQgZ3JvdXBpbmZvIGZpbGVzIGFuZCB0aGUg aGFzaCBmdW5jdGlvbiBmb3IKK21lc3NhZ2UuaWQgaGF2ZSBjaGFuZ2VkIGZyb20gYW55IGZvcm1l ciB2ZXJzaW9uIHRvIDIuMGI4X21hOC4KKworKipJTVBPUlRBTlQ6KiogVG8gZml4IHRoZSBcInJl bW90ZVwiIGdyb3VwcywgcnVuIGBmZXRjaG5ld3MgLWZgCitcLS0gaXQgd2lsbCB0YWtlIHNvbWUg dGltZSwgYmVjYXVzZSBpdCByZWZldGNoZXMgdGhlIHdob2xlIGFjdGl2ZSBmaWxlLAorYnV0IHRo YXRcJ3MgbmVlZGVkIGFueWhvdyB0byBmaWd1cmUgdGhlIGdyb3VwIHN0YXR1cyAocG9zdGluZwor YWxsb3dlZC9ub3QgYWxsb3dlZC9tb2RlcmF0ZWQgZ3JvdXApLgorCitUbyBmaXggKipsb2NhbC5n cm91cHMqKiwgaWYgeW91IGhhdmUgcGVybCBpbnN0YWxsZWQ6CisKKyAgICAgIHBlcmwgLXBsZSAn cyAvXHMrL1x0eVx0LycgLWkuYmFrIC9ldGMvbGVhZm5vZGUvbG9jYWwuZ3JvdXBzCisKK1RoaXMg d2lsbCBtYWtlIGEgYmFja3VwIG9mIHlvdXIgb3JpZ2luYWwgL2V0Yy9sZWFmbm9kZS9sb2NhbC5n cm91cHMgaW4KKy9ldGMvbGVhZm5vZGUvbG9jYWwuZ3JvdXBzLmJhay4KKworSWYgeW91IGRvblwn dCBoYXZlIFBlcmwsIHVzZSBhIHRleHQgZWRpdG9yIHRoYXQgcHJlc2VydmVzIEhUQUIKK2NoYXJh Y3RlcnMsIGNoYW5nZSBhbGwgd2hpbGUgc3BhY2UgdG8gVEFCIGFuZCBpbnNlcnQgYW4gYWRkaXRp b25hbCBmaWVsZAorcmVhZGluZyBqdXN0IHk6CisKKz4gQmVmb3JlOiBsb2NhbC50ZXN0IHNvbWUg dGVzdCBncm91cFwKKz4gQWZ0ZXI6IGxvY2FsLnRlc3RUQUJ5VEFCc29tZSB0ZXN0IGdyb3VwCisK K1wKK1VzZSB0aGUgcmVhbCBUQUIgY2hhcmFjdGVyIHJhdGhlciB0aGFuIFRBQi5cCitUbyBmaXgg dGhlIHNwb29sIGZvciBtZXNzYWdlLmlkcywgcnVuIGB0ZXhwaXJlIC1yYFwKK1RoZSBjaGFuZ2Vz IHdyaXR0ZW4gaW4gc2VjdGlvbiAzLjIgYmVsb3cgYWxzbyBhcHBseS4KKworIyMjIDMuMiBVcGRh dGUgZnJvbSB2ZXJzaW9ucyBcPCAyLjAKKworRnJvbSAxLjkueCB0byAyLjAgdGhlcmUgd2VyZSBz b21lIGNoYW5nZXMgdG8gb3B0aW9ucyBpbiB0aGUgbWFpbgorY29uZmlndXJhdGlvbiBmaWxlLiBU aGUgb3B0aW9ucyBcIm1heGFnZVwiLCBcIm1heGxpbmVzXCIsIFwibWlubGluZXNcIiwKK1wibWF4 Ynl0ZXNcIiBhbmQgXCJtYXhjcm9zc3Bvc3RcIiBoYXZlIGJlY29tZSBvYnNvbGV0ZSBpbiB0aGUg bWFpbgorY29uZmlndXJhdGlvbiBmaWxlIGFuZCBoYXZlIHRvIGJlIHNwZWNpZmllZCBpbiB0aGUg ZmlsdGVyIGZpbGUgaW5zdGVhZC4KK1RoZSBhZHZhbnRhZ2Ugb2YgdGhpcyBpcyB0aGF0IHlvdSBj YW4gZG8gbXVjaCBmaW5lciBzZWxlY3Rpb24gb24gdGhlc2UKK2NyaXRlcmlhIG5vdy4KKworVG8g cmVwbGFjZSwgZm9yIGV4YW1wbGUsIGEgXCJtYXhhZ2UgPSA1XCIgc3BlY2lmaWNhdGlvbiBpbiB0 aGUgbWFpbgorY29uZmlndXJhdGlvbiBmaWxlLCB5b3Ugc2hvdWxkIGFkZCB0aGUgZm9sbG93aW5n IHRvIHlvdXIgZmlsdGVyIGZpbGU6CisKKyAgICBuZXdzZ3JvdXBzID0gLioKKyAgICBtYXhhZ2Ug PSA1CisgICAgYWN0aW9uID0ga2lsbAorCitUaGUgbGVhZm5vZGUgcHJvZ3JhbXMgd2lsbCBpc3N1 ZSB3YXJuaW5ncyBpZiB0aGV5IGVuY291bnRlciBvYnNvbGV0ZQorc3BlY2lmaWNhdGlvbnMgaW4g dGhlIG1haW4gY29uZmlnIGZpbGUuCisKKyMjIyAzLjMgVXBkYXRlIGZyb20gdmVyc2lvbnMgXDwg MS45LjMKKworRnJvbSB2ZXJzaW9uIDEuOS4zIG9uLCB0aGUgZ3JvdXBpbmZvIGZpbGUgaXMgc29y dGVkIGluIGEKK2Nhc2UtaW5zZW5zaXRpdmUgbWFubmVyLiBUbyB1cGRhdGUgY29ycmVjdGx5LCBk byBhIFwibWFrZSB1cGRhdGVcIiBhcworcm9vdCBhZnRlciB5b3UgaGF2ZSBzdWNjZXNzZnVsbHkg Y29tcGxldGVkIFwibWFrZSBpbnN0YWxsXCIuIFRoaXMgd2lsbAorcmUtc29ydCB0aGUgZ3JvdXBp bmZvIGZpbGUuIFRoZSBvbGQgZ3JvdXBpbmZvIGZpbGUgd2lsbCBiZSBzdG9yZWQgYXMKK2dyb3Vw aW5mby5vbGQganVzdCBpbiBjYXNlIHNvbWV0aGluZyBnb2VzIHdyb25nLiBZb3UgYWxzbyBoYXZl IHRvIGNoYW5nZQoreW91ciBtYWluIGNvbmZpZyBmaWxlIG1hbnVhbGx5IGFzIGRlc2NyaWJlZCBp biB0aGUgcHJldmlvdXMgc2VjdGlvbi4KKworIyMjIDMuNCBVcGRhdGUgZnJvbSB2ZXJzaW9ucyBc PCAxLjYKKworQmV0d2VlbiBsZWFmbm9kZS0xLjZhbHBoYSBhbmQgbGVhZm5vZGUtMS42LCB0aGUg Zm9ybWF0IG9mIHRoZSBncm91cGluZm8KK2ZpbGUgY2hhbmdlZCBhbmQgc29tZSBmaWxlcyBtb3Zl ZCB0byBvdGhlciBwbGFjZXMuIFRvIHVwZGF0ZSBjb3JyZWN0bHksCitkbyBhIFwibWFrZSB1cGRh dGVcIiBhcyByb290IGFmdGVyIHlvdSBoYXZlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQKK1wibWFr ZSBpbnN0YWxsXCIuIFRoaXMgd2lsbCByZWZvcm1hdCB0aGUgZ3JvdXBpbmZvIGZpbGUgYW5kIG1v dmUgdGhlCitvdGhlciBmaWxlcyBpbnRvIHRoZSBjb3JyZWN0IHBsYWNlcy4gVGhlIG9sZCBncm91 cGluZm8gZmlsZSB3aWxsIGJlCitzdG9yZWQgYXMgZ3JvdXBpbmZvLm9sZCBqdXN0IGluIGNhc2Ug c29tZXRoaW5nIGdvZXMgd3JvbmcuIFlvdSBhbHNvIGhhdmUKK3RvIGNoYW5nZSB5b3VyIG1haW4g Y29uZmlnIGZpbGUgbWFudWFsbHkgYXMgZGVzY3JpYmVkIGluIHRoZSBzZWN0aW9uCitcIlVwZGF0 ZSBmcm9tIHZlcnNpb25zIFw8IDIuMFwiLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyMjIDQuIEZJ TEVTIEFORCBESVJFQ1RPUklFUworCitMZWFmbm9kZSBwdXRzIGl0cyBmaWxlcyBpbiB0aHJlZSBz ZXBhcmF0ZSBkaXJlY3RvcmllczogVGhlIHNwb29sCitkaXJlY3RvcnksIHRoZSBsaWJyYXJ5IGRp cmVjdG9yeSwgYW5kIHRoZSBiaW5hcmllcyBkaXJlY3RvcnkuIEFsbAorZGlyZWN0b3JpZXMgY2Fu IGJlIGNoYW5nZWQgYXQgY29tcGlsZSB0aW1lLgorCitJbiB0aGUgc3Bvb2wgZGlyZWN0b3J5IHlv dSBmaW5kIHRoZSBzdG9yZWQgbmV3cywgdGhlIGFjdGl2ZSBmaWxlIGFuZAorc29tZSBvdGhlciBz aG9ydC1saXZlZCBjb25maWd1cmF0aW9uIGZpbGUuIEl0IGRlZmF1bHRzIHRvCisvdmFyL3Nwb29s L25ld3MgYW5kIGNhbiBiZSBjaGFuZ2VkIGF0IGNvbXBpbGF0aW9uIHRpbWUuIFRoZXJlIGFyZSBz b21lCitzcGVjaWFsIGRpcmVjdG9yaWVzIGhlcmU7IHNlZSB0aGUgbGVhZm5vZGUoOCkgbWFuIHBh Z2UuCisKK1RoZSBsaWJyYXJ5IGRpcmVjdG9yeSBjb250YWlucyBsb25nLWxpdmVkIGNvbmZpZ3Vy YXRpb24gZmlsZXMuIEl0CitkZWZhdWx0cyB0byAvZXRjL2xlYWZub2RlLgorCitUaGUgYmluYXJp ZXMgZGlyZWN0b3J5LCAvdXNyL2xvY2FsL3NiaW4gYnkgZGVmYXVsdCwgY29udGFpbnMgdGhlCitl eGVjdXRhYmxlIHByb2dyYW1zIGFwcGx5ZmlsdGVyLCB0ZXhwaXJlLCBmZXRjaG5ld3MgYW5kIGxl YWZub2RlLgorCitUaGUgdXNlciBkaXJlY3RvcnksIC91c3IvbG9jYWwvYmluIGJ5IGRlZmF1bHQs IGNvbnRhaW5zIHRoZSBuZXdzcQorcHJvZ3JhbS4KKworIyMjIDQuMS4gVGhlIG1haW4gY29uZmln dXJhdGlvbiBmaWxlCisKK1RoZSBtYWluIGNvbmZpZ3VyYXRpb24gZmlsZSBjb250YWlucyBzZXR0 aW5ncyBpbXBvcnRhbnQgZm9yIGFsbCBwcm9ncmFtcworb2YgdGhlIGxlYWZub2RlIHN1aXRlLiBJ dCBkZWZhdWx0cyB0byAvZXRjL2xlYWZub2RlL2NvbmZpZywgYnV0IHNldmVyYWwKK2NvbmZpZ3Vy YXRpb24gZmlsZXMgY2FuIGJlIHVzZWQgYXQgb25jZSBieSBlbXBsb3lpbmcgdGhlIC1GIHN3aXRj aCBvZgordGhlIHByb2dyYW1zLgorCitUaGUgZmlsZSBjb250YWlucyB0d28gbWFuZGF0b3J5IGFu ZCBhIG51bWJlciBvZiBvcHRpb25hbCBwYXJhbWV0ZXJzLgorCitOT1RFOiBHbG9iYWwgb3B0aW9u cyBtdXN0IGNvbWUgZmlyc3QsIHNlcnZlci1zcGVjaWZpYyBvcHRpb25zIGJlbG93IHRoZQorc2Vy dmVyID0gbGluZXMuCisKK01hbmRhdG9yeSBwYXJhbWV0ZXJzCisKKz4gc2VydmVyID0gbmV3czAy LmJpZ3Byb3ZpZGVyLmNvbQorCitZb3UgaGF2ZSB0byBzcGVjaWZ5IGF0IGxlYXN0IG9uZSBzZXJ2 ZXIgKGV4Y2VwdCBpZiB5b3Ugd2FudCBsZWFmbm9kZSB0bworc2VydmUgYXMgYSBsb2NhbCBzZXJ2 ZXIgb25seSkuIFVzdWFsbHksIHRoaXMgd2lsbCBiZSB0aGUgbmV3cyBzZXJ2ZXIgb2YKK3lvdXIg cHJvdmlkZXIuIFlvdSBjYW4gc3BlY2lmeSBtb3JlIHRoYW4gb25lIHNlcnZlciwgYW5kIGZldGNo bmV3cyB3aWxsCityZXRyaWV2ZSBuZXdzIGZyb20gYWxsIG9mIHRoZW0sIHRha2luZyBjYXJlIG5v dCB0byB0cmFuc2ZlciBhcnRpY2xlcworbXVsdGlwbGUgdGltZXMgdG8geW91ciBtYWNoaW5lLiBT ZXJ2ZXJzIHdpbGwgYmUgcXVlcmllZCBpbiB0aGUgb3JkZXIKK3NwZWNpZmllZCBpbiB0aGUgY29u ZmlnIGZpbGUuCisKKz4gZXhwaXJlID0gNQorCitUaGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIGhv dyBtYW55IGRheXMgdGhyZWFkcyBhcmUga2VwdCBvbiB5b3VyIGhhcmQKK2Rpc2suIHRleHBpcmUg d2lsbCBkZWxldGUgd2hvbGUgdGhyZWFkcywgbm90IGp1c3Qgc2luZ2xlIGFydGljbGVzLgorCitT ZXJ2ZXItc3BlY2lmaWMgb3B0aW9uYWwgcGFyYW1ldGVycworCitUbyBjb25maWd1cmUgaW50ZXJh Y3Rpb24gd2l0aCB0aGUgc2VydmVyIHNvbWV3aGF0LCB5b3UgY2FuIGNoYW5nZSB0aGUKK2JlaGF2 aW91ciBvZiBmZXRjaG5ld3MgYnkgc2V0dGluZyBzZXZlcmFsIHNlcnZlci1zcGVjaWZpYyBvcHRp b25hbAorcGFyYW1ldGVycy4gVGhleSBoYXZlIHRvIGJlIHNwZWNpZmllZCBkaXJlY3RseSBhZnRl ciB0aGUgY29ycmVzcG9uZGluZworXCJzZXJ2ZXJcIiBzdGF0ZW1lbnQuIEEgbmV3IHNlcnZlciBz dGF0ZW1lbnQgaW4gdGhlIGNvbmZpZyBmaWxlIHdpbGwKK2Fsc28gYWxsb3cgbmV3IG9wdGlvbmFs IHBhcmFtZXRlcnMuCisKKz4gdXNlcm5hbWUgPSBteW5hbWVcCis+IHBhc3N3b3JkID0gbXlwYXNz d2QKKworSWYgeW91ciB1cHN0cmVhbSBzZXJ2ZXIgcmVxdWlyZXMgYSBmb3JtIG9mIGF1dGhlbnRp Y2F0aW9uLCB5b3UgY2FuIHNldAoreW91ciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgaGVyZS4KKwor PiB0aW1lb3V0ID0gMzAKKworSXQgbWF5IGhhcHBlbiB0aGF0LCBkdWUgdG8gYSBiYWQgY29ubmVj dGlvbiBvciBvdGhlciByZWFzb25zLCB0aGUgc2VydmVyCitzdG9wcyB0YWxraW5nIHRvIHlvdSB3 aGlsZSB5b3UgZmV0Y2ggbmV3cy4gVGhlIFwidGltZW91dFwiIHBhcmFtZXRlcgorZGV0ZXJtaW5l cyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgZmV0Y2huZXdzIGlzIHN1cHBvc2VkIHRvIHdhaXQgZm9y IGEKK3Jlc3BvbnNlIGZyb20gdGhlIHNlcnZlciBiZWZvcmUgZ2l2aW5nIHVwLgorCis+IG5vZGVz YyA9IDEKKworU29tZSBzZXJ2ZXJzIGFyZSB1bmFibGUgdG8gZGVsaXZlciBkZXNjcmlwdGlvbnMg b2YgbmV3IG5ld3Nncm91cHMKK2NvcnJlY3RseS4gV2hlbiBmZXRjaG5ld3MgZW5jb3VudGVycyBz dWNoIGEgc2VydmVyLCBpdCB3aWxsIHByaW50IHRoZQord2FybmluZworCis+IHNlcnZlci5uYW1l IGRvZXMgbm90IHByb2Nlc3MgTElTVCBORVdTR1JPVVBTIG5ld3MuZ3JvdXAubmFtZQorPiBjb3Jy ZWN0bHk6IHVzZSBub2Rlc2MKKworVG8gYWxsb3cgZm9yIHNob3J0ZXIgZG93bmxvYWQgdGltZXMs IHlvdSBzaG91bGQgaW4gdGhpcyBjYXNlIHNldAorXCJub2Rlc2MgPSAxXCIgZm9yIHRoYXQgcGFy dGljdWxhciBzZXJ2ZXIgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS4KKworPiBwb3J0ID0gODAw MAorCitOb3JtYWxseSwgZmV0Y2huZXdzIHdpbGwgdHJ5IHRvIHJldHJpZXZlIG5ld3MgZnJvbSBw b3J0IDExOSAodGhlCitzdGFuZGFyZCBubnRwIHBvcnQpIG9mIHlvdXIgdXBzdHJlYW0gc2VydmVy LiBJZiB0aGUgdXBzdHJlYW0gc2VydmVyIHJ1bnMKK29uIGEgZGlmZmVyZW50IHBvcnQsIHlvdSBj YW4gc3BlY2lmeSBpdCB3aXRoIHRoaXMgb3B0aW9uLgorCitHZW5lcmFsIG9wdGlvbmFsIHBhcmFt ZXRlcnMKKworPiBhdXRoZW50aWNhdGUgPSAqTUVUSE9EKgorCitSZXF1aXJlIHRoYXQgTk5UUCBj bGllbnRzIGNvbm5lY3RpbmcgdG8geW91ciBsZWFmbm9kZSBhdXRoZW50aWNhdGUKK3RoZW1zZWx2 ZXMuIFRoZSBvbmx5IG1ldGhvZCBjdXJyZW50bHkgc3VwcG9ydGVkIGlzIGBpbnRlcm5hbGAuIElu IHRoaXMKK21vZGUsIGxlYWZub2RlIGV4cGVjdHMgYSBmaWxlICp1c2VycyogaW4gaXRzIHN5c2Nv bmZkaXIsCisvZXRjL2xlYWZub2RlL3VzZXJzIGJ5IGRlZmF1bHQsIHdoaWNoIGhhcyBhIHNpbXBs ZSBmb3JtYXQsIG9uZSBsaW5lIHBlcgordXNlciwgd2l0aCB0aGUgdXNlciBuYW1lICh3aGljaCBj YW5ub3QgY29udGFpbiBzcGFjZXMpLCB0aGVuIGEgY29sb24sCit0aGVuIHRoZSBjcnlwdCgzKSBl bmNyeXB0ZWQgcGFzc3dvcmQuIFRvIGdlbmVyYXRlIHRoZXNlIGxpbmVzLCB5b3UgY2FuCit1c2Ug dGhlIFBlcmwgcHJvZ3JhbSAqdG9vbHMvbWFrZV9wYXNzLnBsKiwgZm9yIGV4YW1wbGUsIGlmIHlv dSB3YW50IHRvCithZGQgYSB1c2VyIFwiZW5pZ21hXCIgd2l0aCBhIHBhc3N3b3JkIG9mIFwiYnJl YWshbWVcIiwgdHlwZToKKworPiBwZXJsIC13VCB0b29scy9tYWtlX3Bhc3MucGwgXCdlbmlnbWFc JyBcJ2JyZWFrIW1lXCcKKworYW5kIGNvcHkgdGhlIHJlc3VsdGluZyBsaW5lIHRvIHRoZSAqdXNl cnMqIGZpbGUuXAoraHRwYXNzd2QgYXMgc2hpcHBlZCBmb3IgQXBhY2hlIHNlcnZlcnMgc2hvdWxk IGFsc28gd29yayBpZiBpbiBjcnlwdCgzKQorbW9kZS4KKworPiBob3N0bmFtZSA9IGhvc3QuZG9t YWluLmNvdW50cnkKKworSWYgdGhlIHBvc3RpbmdzIHRoYXQgeW91IHdyaXRlIGRvIG5vdCBoYXZl IG1lc3NhZ2UgSURzIChnZW5lcmF0ZWQgYnkgdGhlCituZXdzcmVhZGVyKSwgbGVhZm5vZGUgd2ls bCBnZW5lcmF0ZSBhIG1lc3NhZ2UgSUQgZm9yIHlvdS4gKEl0IHdpbGwgbmV2ZXIKK292ZXJ3cml0 ZSBhbiBhbHJlYWR5IGV4aXN0aW5nIG1lc3NhZ2UgSUQuKSBNZXNzYWdlIElEcyBnZW5lcmF0ZWQg YnkKK2xlYWZub2RlIGZlYXR1cmUgXCIubG5cIiBiZWZvcmUgdGhlIEAgc2lnbi4gVGhlIG1lc3Nh Z2UgSUQgY29udGFpbnMgdGhlCitmdWxseSBxdWFsaWZpZWQgaG9zdG5hbWUgb2YgeW91ciBtYWNo aW5lIHdoaWNoIG1heSBub3QgYWx3YXlzIGJlIHdoYXQKK3lvdSB3YW50LiBJbiB0aGF0IGNhc2Us IHlvdSBjYW4gb3ZlcnJpZGUgdGhlIHVzZSBvZiB0aGUgaG9zdG5hbWUgYnkKK3VzaW5nIHRoZSBc Imhvc3RuYW1lXCIgb3B0aW9uLgorCis+IGNyZWF0ZV9hbGxfbGlua3MgPSAxCisKK1VzdWFsbHkg ZmV0Y2huZXdzIHdpbGwgc3RvcmUgYXJ0aWNsZXMgb25seSBpbiB0aGUgbmV3c2dyb3VwcyB3aGlj aCB5b3UKK2NvbnNpZGVyIGludGVyZXN0aW5nLiBVbmZvcnR1bmF0ZWx5LCB0aGlzIG1ha2VzIGl0 IGRpZmZpY3VsdCB0byBzY29yZQorZm9yIHRoZSBudW1iZXIgb2YgbmV3c2dyb3VwcyBhIG1lc3Nh Z2UgaXMgcG9zdGVkIHRvIGJlY2F1c2UgdGhlCitOZXdzZ3JvdXBzOiBoZWFkZXIgaXMgbm90IGZl YXR1cmVkIGluIHRoZSBvdmVydmlldyBpbmZvcm1hdGlvbjsKK3RoZXJlZm9yZSB5b3UgY2FuIGRl dGVybWluZSB0aGUgbnVtYmVyIG9mIG5ld3Nncm91cHMgYW4gYXJ0aWNsZSBpcworY3Jvc3Nwb3N0 ZWQgdG8gb25seSBmcm9tIHRoZSBYcmVmOiBoZWFkZXIuIElmIFwiY3JlYXRlX2FsbF9saW5rc1wi IGlzCitzZXQgdG8gMSwgZmV0Y2huZXdzIHdpbGwgc3RvcmUgYXJ0aWNsZXMgaW4gYWxsIG5ld3Nn cm91cHMgd2hpY2ggdGhleSBhcmUKK3Bvc3RlZCB0bywgbWFraW5nIGFsbCB0aGVzZSBuZXdzZ3Jv dXBzIHR1cm4gdXAgaW4gdGhlIFhyZWY6IGhlYWRlci4KKworPiBncm91cGV4cGlyZSA9IGEubmV3 cy5ncm91cCA3CisKK0FzIG91dGxpbmVkIGFib3ZlLCB0ZXhwaXJlIHdpbGwgZXhwaXJlIHRocmVh ZHMgYWZ0ZXIgXCJleHBpcmVcIiBkYXlzLiBJZgoreW91IHdhbnQgdG8gYWRqdXN0IGV4cGlyeSB0 aW1lcyBmb3IgY2VydGFpbiBncm91cHMsIHlvdSBtYXkgdXNlIHRoZQorXCJncm91cGV4cGlyZVwi IHBhcmFtZXRlciB0byBkbyBqdXN0IHRoYXQuIFlvdSBjYW4gc3BlY2lmeSBncm91cHMgb3IgdXNl Cit3aWxkY2FyZHM7IGZvciBleGFtcGxlCisKKz4gZ3JvdXBleHBpcmUgPSBcKi5hbm5vdW5jZSAz MAorCit3aWxsIGFmZmVjdCBleHBpcnkgdGltZXMgb2YgYWxsIGdyb3VwcyBlbmRpbmcgd2l0aCBc Ii5hbm5vdW5jZVwiLgorCis+IGZpbHRlcmZpbGUgPSAvZXRjL2xlYWZub2RlL2ZpbHRlcnMKKwor SWYgeW91IHdhbnQgdG8gZW1wbG95IGZpbHRlcmluZyBvbiBpbmNvbWluZyBtZXNzYWdlcywgeW91 IGhhdmUgdG8KK3NwZWNpZnkgdGhlIHBhdGggd2hlcmUgdGhlIGZpbHRlcmZpbGUgY2FuIGJlIGZv dW5kLiBUaGUgZm9ybWF0IG9mIHRoZQorZmlsdGVyZmlsZSBpcyBkZXNjcmliZWQgaW4gdGhlIG5l eHQgY2hhcHRlci4KKworPiB0aW1lb3V0X3Nob3J0ID0gMlwKKz4gdGltZW91dF9sb25nID0gNQor CitUaGVzZSB0d28gcGFyYW1ldGVycyBkZXRlcm1pbmUgaG93IHF1aWNrbHkgYSBncm91cCBpcyB1 bnN1YnNjcmliZWQgYnkKK2xlYWZub2RlIGFmdGVyIHlvdSBoYXZlIHN0b3BwZWQgcmVhZGluZyBp dC4gSWYgeW91IGhhdmUgbG9va2VkIGludG8gdGhlCitncm91cCBvbmx5IG9uY2UsIHN1YnNjcmlw dGlvbiBpcyBzdG9wcGVkIGFmdGVyIFwidGltZW91dF9zaG9ydFwiIGRheXM7CitpZiB5b3UgaGF2 ZSByZWFkIGl0IG1vcmUgcmVndWxhcmx5LCBzdWJzY3JpcHRpb24gaXMgc3RvcHBlZCBhZnRlcgor XCJ0aW1lb3V0X2xvbmdcIiBkYXlzLiAoWW91IGNhbiBzdG9wIHN1YnNjcmlwdGlvbiBpbW1lZGlh dGVseSBieQorcmVtb3ZpbmcgdGhlIGNvcnJlc3BvbmRpbmcgZmlsZSBpbiAvdmFyL3Nwb29sL25l d3MvaW50ZXJlc3RpbmcuZ3JvdXBzLykuCisKKz4gdGltZW91dF9hY3RpdmUgPSA5MAorCitCeSBk ZWZhdWx0LCBmZXRjaG5ld3Mgd2lsbCByZS1yZWFkIGFjdGl2ZSBmaWxlcyBmcm9tIHRoZSB1cHN0 cmVhbSBzZXJ2ZXIKK2V2ZXJ5IDkwIGRheXMuIFRoaXMgaW50ZXJ2YWwgY2FuIGJlIGNoYW5nZWQg Ynkgc2V0dGluZworXCJ0aW1lb3V0X2FjdGl2ZVwiIHRvIGEgZGlmZmVyZW50IHZhbHVlLiBSZS1y ZWFkaW5nIHRoZSBhY3RpdmUgZmlsZQorZnJlcXVlbnRseSB3aWxsIGtlZXAgaXQgYSBsaXR0bGUg Yml0IHNtYWxsZXIgYnV0IHdpbGwgaW5jcmVhc2UgdGhlCitvbi1saW5lIHRpbWUuCisKKz4gZGVs YXlib2R5ID0gMQorCitUaGlzIG9wdGlvbiBzd2l0Y2hlcyBmZXRjaG5ld3MgaW50byBhIG1vZGUg d2hlcmUgb25seSB0aGUgaGVhZGVycyBvZgorYXJ0aWNsZXMgYXJlIGZldGNoZWQgZm9yIHZpc3Vh bCBpbnNwZWN0aW9uLiBPbmx5IHRoZSBhcnRpY2xlcyByZWFkIGluCit0aGUgbmV3c3JlYWRlciB3 aWxsIGJlIHJldHJpZXZlZCB0aGUgbmV4dCB0aW1lIGZldGNobmV3cyBpcyBjYWxsZWQuIFRoaXMK K2NhbiBzYXZlIGEgaHVnZSBhbW91bnQgb2YgZGlzayBzcGFjZSBhbmQgZG93bmxvYWQgdGltZSBi dXQgcmVxdWlyZXMgbW9yZQorbWFudWFsIGludGVydmVudGlvbiBvbiB0aGUgdXNlciBzaWRlLgor Cis+IGdyb3VwZGVsYXlib2R5ID0gc29tZS5uZXdzLmdyb3VwCisKK0lmIHlvdSB3YW50IGRlbGF5 Ym9keSBtb2RlIG9ubHkgZm9yIHNlbGVjdGVkIGdyb3VwcywgeW91IGNhbiBlbmFibGUgdGhpcwor ZG93bmxvYWQgbW9kZSBmb3Igb25lIHNwZWNpZmljIGdyb3VwLiBUaGUgZ2xvYmFsIGRlbGF5Ym9k eSBzd2l0Y2ggYWJvdmUKK2NhdXNlcyBhbGwgZ3JvdXBzIHRvIGJlIHRyZWF0ZWQgdGhhdCB3YXku IFVzZSBvbmUgbGluZSBwZXIgZ3JvdXAKK3BhdHRlcm4uCisKKz4gZGVidWdtb2RlID0gMjYwCisK K1RoaXMgb3B0aW9uIGZvcmNlcyB0aGUgbGVhZm5vZGUgcHJvZ3JhbXMgaW50byBsb2dnaW5nIGxv dHMgb2YKK2luZm9ybWF0aW9uIHZpYSB0aGUgc3lzbG9nIGRhZW1vbi4gSXQgaXMgb25seSB1c2Vm dWwgaWYgeW91IHdhbnQgdG8gaHVudAorZG93biBidWdzLiBTZWUgY29uZmlnLmV4YW1wbGUgZm9y IGFuIGV4cGxhbmF0aW9uIG9mIHRoZSBudW1iZXIgaGVyZS4KKworIyMjIDQuMi4gVGhlIGZpbHRl ciBmaWxlCisKK1RoZSBmaWx0ZXIgZmlsZSBmb3JtYXQgaXMgY3VycmVudGx5IGRlc2NyaWJlZCBp biBmZXRjaG5ld3MoNSkuIFR5cGUgbWFuCis1IGZpbHRlcmZpbGUgb3IgbWFuIC1zIDUgZmlsdGVy ZmlsZSB0byBzZWUgdGhlIGRlc2NyaXB0aW9uLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyMjIDUu IExPQ0FMIE5FV1NHUk9VUFMKKworRnJvbSB2ZXJzaW9uIDIuMCBvbiwgTGVhZm5vZGUgaXMgYWJs ZSB0byBoYW5kbGUgbG9jYWwgbmV3c2dyb3Vwcy4gTG9jYWwKK25ld3Nncm91cHMgYXJlIGdyb3Vw cyB0aGF0IGV4aXN0IG9ubHkgb24geW91ciBsb2NhbCBzZXJ2ZXIgYnV0IG5vdCBvbgordXBzdHJl YW0gc2VydmVycy4KKworVG8gY3JlYXRlIGEgbG9jYWwgbmV3c2dyb3VwLCB5b3UgaGF2ZSB0byB0 aGluayBvZiBhIG5ld3Nncm91cCBuYW1lIHdoaWNoCitzaG91bGQgbm90IGV4aXN0IG9uIGFueSBv ZiB5b3VyIHVwc3RyZWFtIHNlcnZlcnMuIEl0IGlzIHRoZXJlZm9yZSBhIGdvb2QKK2lkZWEgdG8g c3RhcnQgYSBuZXcgdG9wLWxldmVsIGhpZXJhcmNoeS4gWW91IHNob3VsZCBhbHNvIG1ha2UgdXAg YQorZGVzY3JpcHRpb24gZm9yIHlvdXIgbmV3c2dyb3VwLgorCitJZiB5b3UgY2hvb3NlIGEgbmV3 c2dyb3VwIG5hbWUgd2hpY2ggZXhpc3RzIGFscmVhZHkgb24gYW4gdXBzdHJlYW0KK3NlcnZlciwg dGhlIG5ld3Nncm91cCBpcyBub3QgdHJlYXRlZCBhcyBhIGxvY2FsIG9uZS4KKworTmV4dCwgeW91 IHdyaXRlIHRoZSBuYW1lLCBzdGF0dXMgYW5kIGRlc2NyaXB0aW9uIGludG8gdGhlIGZpbGUKKy9l dGMvbGVhZm5vZGUvbG9jYWwuZ3JvdXBzIHVzaW5nIHlvdXIgcHJlZmVycmVkIHRleHQgZWRpdG9y LCB3aGljaCBtdXN0Citub3QgbWFuZ2xlIFRBQnMgdG8gU1BBQ0VzLiBUaGUgZmlsZSBzaG91bGQg Y29uc2lzdCBvZiBsaW5lcyBpbiB0aGUKK2Zvcm1hdAorCisgICAgIyBDb21tZW50IGxpbmVzIGFy ZSBhbGxvd2VkLCB3aXRoIGEgaGFzaCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZS4KKyAgICAj CisgICAgIyBIb3dldmVyLCBubyB3aGl0ZSBzcGFjZSBtYXkgcHJlY2VkZSB0aGUgaGFzaCBtYXJr LCBhbmQgZW1wdHkgbGluZXMKKyAgICAjIGFyZSBub3QgdmFsaWQuCisgICAgbmV3cy5ncm91cC5u YW1lPFRBQj5zdGF0dXM8VEFCPmRlc2NyaXB0aW9uCisKKyhyZXBsYWNlIFw8VEFCXD4gd2l0aCBh IFRBQiBjaGFyYWN0ZXIhKQorCitUaGUgZmlyc3QgY29sdW1uIG9mIGVhY2ggbGluZSBpcyB0YWtl biBhcyB0aGUgbmV3c2dyb3VwIG5hbWU7IHRoZSBzZWNvbmQKK2FzIHRoZSBzdGF0dXMgKHkgZm9y IFwibWF5IGJlIHBvc3RlZCB0b1wiLCBtIGZvciBcIm1vZGVyYXRlZFwiIFwtLSBzZWUKK2JlbG93 IGZvciBtb2RlcmF0b3IgY29uZmlndXJhdGlvbiksIHRoZSB0aGlyZCBjb2x1bW4gb2YgdGhlIGxp bmUgaXMKK2ludGVycHJldGVkIGFzIGRlc2NyaXB0aW9uLiBGb3IgZXhhbXBsZSwgdG8gc2V0IHVw IGEgbmV3c2dyb3VwCitcImxvY2FsLmxlYWZub2RlXCIgd2hpY2ggZGVhbHMgd2l0aCBMZWFmbm9k ZVwncyBpbnRlcm5hbHMsIHlvdSB3b3VsZCBwdXQKK2EgbGluZQorCis+IGxvY2FsLmxlYWZub2Rl XDxUQUJcPnlcPFRBQlw+TG9jYWwgbGVhZm5vZGUgdXNlciBncm91cAorCitpbnRvIC9ldGMvbGVh Zm5vZGUvbG9jYWwuZ3JvdXBzLiAoSWYgeW91ciBjb25maWd1cmF0aW9uIGRvZXMgbm90IHJlc2lk ZQoraW4gL2V0Yy9sZWFmbm9kZSwgcmVwbGFjZSB0aGlzIHBhcnQgb2YgdGhlIHBhdGhuYW1lIHdp dGggdGhlIGFwcHJvcHJpYXRlCitkaXJlY3RvcnkuKQorCisjIyMjIDUuMSBNT0RFUkFURUQgTkVX U0dST1VQUworCitGcm9tIHZlcnNpb24gMi4wIG9uLCBMZWFmbm9kZSBhbHNvIGhhbmRsZXMgKipt b2RlcmF0ZWQqKiBuZXdzZ3JvdXBzLgorVGhlc2UgYXJlIG5ld3Nncm91cHMgd2hpY2ggb25seSBj ZXJ0YWluIHBlb3BsZSBtYXkgcG9zdCBpbnRvLCBhbmQKK2FydGljbGVzIHdoaWNoIGEgcmVndWxh ciAobm9uLW1vZGVyYXRvcikgdXNlciBwb3N0cywgYXJlIG1haWxlZCB0byB0aGUKK21vZGVyYXRv ci4KKworRXh0ZXJuYWwgbW9kZXJhdGVkIG5ld3Nncm91cHMgYXJlIGhhbmRsZWQgYnkgdGhlIHVw c3RyZWFtIHNlcnZlcnMuCisKK1RvIGNvbmZpZ3VyZSB0aGUgbW9kZXJhdG9ycyBmb3IgKipsb2Nh bCoqIG1vZGVyYXRlZCBncm91cHMsIGFuCitJTk4tY29tcGF0aWJsZSBcIm1vZGVyYXRvcnNcIiBm aWxlIGlzIHVzZWQuIEl0IGlzIG5hbWVkCisvZXRjL2xlYWZub2RlL21vZGVyYXRvcnMgYW5kIGhh cyB0aGUgZm9sbG93aW5nIGZvcm1hdDoKKworICAgIHBhdHRlcm46bW9kZXJhdG9yCisKK0VtcHR5 IGxpbmVzIGFuZCBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggYSBoYXNoIGNoYXJhY3RlciAoIykgYXJl Citjb25zaWRlcmVkIGNvbW1lbnQgbGluZXMgYW5kIGFyZSBpZ25vcmVkLgorCitUaGUgKipwYXR0 ZXJuKiogaXMgYSBub3JtYWwgd2lsZG1hdCBwYXR0ZXJuLCB3aGljaCBtZWFucyB0aGF0IGl0XCdz IGEKK1NIRUxMIHBhdHRlcm4sIHRoZSBtb3N0IHVzZWZ1bCBjaGFyYWN0ZXIgaXMgdGhlIGFzdGVy aXNrIChcKikgd2hpY2gKK21hdGNoZXMgYW55IHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMuIFRoZSBt b2RlcmF0b3IgZ2l2ZW4gb24gdGhhdCBsaW5lCithcHBsaWVzIHRvIGFsbCBncm91cHMgdGhhdCB0 aGUgcGF0dGVybiBtYXRjaGVzLiBTaG91bGQgbXVsdGlwbGUgbGluZXMKK21hdGNoIGEgZ3JvdXAs IHRoZSBmaXJzdCBtYXRjaCBpbiB0aGUgZmlsZSBcIndpbnNcIiwgdGhlIHNlY29uZCBhbmQKK3N1 YnNlcXVlbnQgcGF0dGVybnMgYXJlIG5vdCB0YWtlbiBpbnRvIGFjY291bnQuIFNvIHB1dCB0aGUg bW9yZSBzcGVjaWZpYworcGF0dGVybnMgZmlyc3QuCisKK1RoZSAqKm1vZGVyYXRvcioqIGlzIGEg cmVndWxhciBpbnRlcm5ldCBtYWlsIGFkZHJlc3MsIHdpdGggdGhlIGV4Y2VwdGlvbgordGhhdCB0 aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBcIiVzXCIgaXMgcmVwbGFjZWQgd2l0aCB0aGUgbmV3c2dy b3VwIG5hbWUsCit3aXRoIGRvdHMgKC4pIGNvbnZlcnRlZCB0byBkYXNoZXMgKC0pIGZvciBJTk4g Y29tcGF0aWJpbGl0eS4KKworRXhhbXBsZToKKworICAgICMgVGhpcyBpcyBhIGNvbW1lbnQgbGlu ZQorICAgICMKKyAgICAjIHNwZWNpYWwgbW9kZXJhdG9yLCBoYW5zQGV4YW1wbGUuY29tIGlzIG1h aWxlZCBhbGwgYXJ0aWNsZXMgZm9yCisgICAgIyBsb2NhbC5zcGVjaWFsCisgICAgbG9jYWwuc3Bl Y2lhbDpoYW5zQGV4YW1wbGUuY29tCisgICAgIyBtb2RlcmF0b3IgZm9yIGFsbCBvdGhlciBsb2Nh bCBncm91cHM6CisgICAgbG9jYWwuKjplZ29uKyVzQGV4YW1wbGUubmV0CisgICAgIyB0aGF0IG1l YW5zOgorICAgICMgbWFpbCBwb3N0aW5ncyBmb3IgbG9jYWwudGVzdCB0byBlZ29uK2xvY2FsLXRl c3RAZXhhbXBsZS5uZXQKKyAgICAjIG1haWwgcG9zdGluZ3MgZm9yIGxvY2FsLnZpZGVvIHRvIGVn b24rbG9jYWwtdmlkZW9AZXhhbXBsZS5uZXQKKyAgICAjCisgICAgIyBOb3RlOiBpZiB5b3UgcHV0 IGxvY2FsLnNwZWNpYWwgYmVsb3cgbG9jYWwuKiwgbG9jYWwuc3BlY2lhbCB3aWxsIGJlCisgICAg IyBpZ25vcmVkLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyMjIDYuIERFSU5TVEFMTEFUSU9OCisK K0lmIHlvdSB3YW50IHRvIHVuaW5zdGFsbCBsZWFmbm9kZSAoZS5nLiBiZWNhdXNlIHlvdSB3YW50 IHRvIHJlcGxhY2UgaXQKK3dpdGggYW5vdGhlciBuZXdzc2VydmVyKSBhbmQgaGF2ZSBhIE1ha2Vm aWxlIGF2YWlsYWJsZSwgeW91IGNhbiBhY2hpZXZlCit0aGlzIGJ5IGRvaW5nIFwibWFrZSB1bmlu c3RhbGxcIi4KKworRG8gKipub3QqKiB1bmluc3RhbGwgYW4gb2xkIHZlcnNpb24gb2YgbGVhZm5v ZGUgYmVmb3JlIHVwZGF0aW5nLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyMjIDcuIEZSRVFVRU5U TFkgQVNLRUQgUVVFU1RJT05TCisKK1NlZSB0aGUgZmlsZSBGQVEuCisKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorCisjIyMgOC4gQ09QWVJJR0hUCisKK0xlYWZub2RlIHZlcnNpb25zIHRocm91Z2ggMS40IHdl cmUgd3JpdHRlbiBieSBBcm50IEd1bGJyYW5kc2VuCitcPGFndWxicmFAdHJvbGwubm9cPiBhbmQg YXJlIGNvcHlyaWdodCAxOTk1IFRyb2xsIFRlY2ggQVMsIFBvc3Rib2tzIDYxMzMKK0V0dGVyc3Rh ZCwgMDYwMiBPc2xvLCBOb3J3YXksIGZheCArNDcgMjI2NDY5NDkuCisKK0xlYWZub2RlIHZlcnNp b25zIDEuNSB1cCB0byAxLjkuMTkgYW5kIDIuMGIxIHRvIDIuMGI4IHdlcmUgd3JpdHRlbiBieQor Q29ybmVsaXVzIEtyYXNlbCBcPGtyYXNlbEB3cHh4MDIudG94aS51bmktd3VlcnpidXJnLmRlXD4g YW5kIGFyZQorY29weXJpZ2h0IDE5OTctMjAwMS4KKworTGVhZm5vZGUgdmVyc2lvbnMgMS45LjIw IGFuZCB1cCB3ZXJlIHdyaXR0ZW4gYnkgTWF0dGhpYXMgQW5kcmVlCitcPG1hdHRoaWFzLmFuZHJl ZUBnbXguZGVcPiBhbmQgUmFsZiBXaWxkZW5odWVzCitcPHJhbGYud2lsZGVuaHVlc0BnbXguZGVc PiBhbmQgYXJlIMKpIGNvcHlyaWdodCAyMDAyIC0gMjAwMy4KKworTGVhZm5vZGUgdmVyc2lvbnMg Mi4wYjhfbWEgYW5kIDIuMC4wLlwqIHdlcmUgd3JpdHRlbiBieSBNYXR0aGlhcyBBbmRyZWUKK1w8 bWF0dGhpYXMuYW5kcmVlQGdteC5kZVw+LCBSYWxmIFdpbGRlbmh1ZXMgXDxyYWxmLndpbGRlbmh1 ZXNAZ214LmRlXD4KK2FuZCBKw7ZyZyBEaWV0cmljaCBcPGpvZXJnQGRpZXRyaWNoLm5ldFw+IGFu ZCBhcmUgwqkgY29weXJpZ2h0IDIwMDEgLQorMjAwMy4KKworTWFqb3IgbW9kaWZpY2F0aW9ucyB3 ZXJlIG1hZGUgYnlcCitSYW5kb2xmIFNrZXJrYSBcPFJhbmRvbGYuU2tlcmthQGdteC5kZVw+XAor S2VudCBSb2JvdHRpIFw8cm9ib3R0aUBlcm9scy5jb21cPlwKK01hcmt1cyBFbnplbmJlcmdlciBc PGVuekBjaXAucGh5c2lrLnVuaS1tdWVuY2hlbi5kZVw+XAorTWF0dGhpYXMgQW5kcmVlIFw8bWF0 dGhpYXMuYW5kcmVlQGdteC5kZVw+XAorSsO2cmcgRGlldHJpY2ggXDxqb2VyZ0BkaWV0cmljaC5u ZXRcPlwKK1N0ZWZhbiBXaWVucyBcPHMud2lAZ214Lm5ldFw+XAorCitQZXJtaXNzaW9uIGlzIGhl cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg KHRoZQorXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0 cmljdGlvbiwgaW5jbHVkaW5nCit3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCitkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KK3Blcm1pdCBwZXJzb25z IHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAoraW4gYWxsIGNvcGll cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FS RSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCitF WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB TlRJRVMgT0YKK01FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KK0lOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCitDTEFJTSwgREFNQUdFUyBPUiBP VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorVE9SVCBP UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU SEUKK1NPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJF LgorCitUaGUgZ2V0YWxpbmUoKSBhbmQgZ2V0bGluZSgpIHJvdXRpbmVzIGFyZSBDb3B5cmlnaHQg KGMpIDIwMDAtMjAwMgorTWF0dGhpYXMgQW5kcmVlIFw8bWF0dGhpYXMuYW5kcmVlQGdteC5kZVw+ LiBUaGV5IGFyZSBsaWNlbnNlZCB1bmRlciB0aGUKK0dOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSAoR05VIExHUEwpIDIuMS4gQSBjb3B5IG9mIHRoZSBMR1BMIGlzCitwcm92aWRlZCBp biB0aGUgZmlsZSBDT1BZSU5HLgorCitUaGUgd2lsZG1hdCgpIHJvdXRpbmUgaXMgQ29weXJpZ2h0 IChjKSAxOTg2LTE5OTEgUmljaCBcJGFsegorXDxyc2FsekBvc2Yub3JnXD4uIFRoZSBvcmlnaW5h bCBjb3B5cmlnaHQgbm90aWNlLCB0YWtlbiBmcm9tIElOTiAyLjIuMiwKK2ZvbGxvd3M6CisKKz4g UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBhbnkgZm9ybSBhcmUgcGVybWl0dGVkIHByb3ZpZGVk IHRoYXQgdGhlCis+IGZvbGxvd2luZyByZXN0cmljdGlvbnMgYXJlIG1ldDoKKz4KKz4gMS4gIFNv dXJjZSBkaXN0cmlidXRpb25zIG11c3QgcmV0YWluIHRoaXMgZW50aXJlIGNvcHlyaWdodCBub3Rp Y2UgYW5kCis+ICAgICBjb21tZW50LgorPiAyLiAgQmluYXJ5IGRpc3RyaWJ1dGlvbnMgbXVzdCBp bmNsdWRlIHRoZSBhY2tub3dsZWRnZW1lbnQgXGBcYFRoaXMKKz4gICAgIHByb2R1Y3QgaW5jbHVk ZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IFJpY2ggU2FselwnXCcgaW4gdGhlCis+ICAgICBkb2N1 bWVudGF0aW9uIG9yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp b24uCis+ICAgICBUaGlzIG11c3Qgbm90IGJlIHJlcHJlc2VudGVkIGFzIGFuIGVuZG9yc2VtZW50 IG9yIHByb21vdGlvbgorPiAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p c3Npb24uCis+IDMuICBUaGUgb3JpZ2luIG9mIHRoaXMgc29mdHdhcmUgbXVzdCBub3QgYmUgbWlz cmVwcmVzZW50ZWQsIGVpdGhlciBieQorPiAgICAgZXhwbGljaXQgY2xhaW0gb3IgYnkgb21pc3Np b24uIENyZWRpdHMgbXVzdCBhcHBlYXIgaW4gdGhlIHNvdXJjZQorPiAgICAgYW5kIGRvY3VtZW50 YXRpb24uCis+IDQuICBBbHRlcmVkIHZlcnNpb25zIG11c3QgYmUgcGxhaW5seSBtYXJrZWQgYXMg c3VjaCBpbiB0aGUgc291cmNlIGFuZAorPiAgICAgZG9jdW1lbnRhdGlvbiBhbmQgbXVzdCBub3Qg YmUgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsCis+ICAgICBzb2Z0d2FyZS4K Kz4KKz4gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcYFxgQVMgSVNcJ1wnIEFORCBXSVRIT1VU IEFOWSBFWFBSRVNTIE9SCis+IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBXSVRIT1VU IExJTUlUQVRJT04sIFRIRSBJTVBMSUVECis+IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKworVGhlIHJlcGxhY2VtZW50 IHZzbnByaW50ZigpIGZ1bmN0aW9uIHdhcyB3cml0dGVuIGJ5IFRoZW8gZGUgUmFhZHQgYW5kIGlz CitDb3B5cmlnaHQgKGMpIDE5OTcgdW5kZXIgdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CisK Kz4gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0 aCBvciB3aXRob3V0Cis+IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0 IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKz4gbWV0OgorPgorPiAxLiAgUmVkaXN0cmli dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKz4g ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz Y2xhaW1lci4KKz4gMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cis+ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKz4gICAgIHRoZSBkb2N1bWVu dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKz4gICAgIGRp c3RyaWJ1dGlvbi4KKz4KKz4gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9S IFxgXGBBUyBJU1wnXCcgQU5EIEFOWSBFWFBSRVNTCis+IE9SIElNUExJRUQgV0FSUkFOVElFUywg SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECis+IFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB UkUKKz4gRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUg Rk9SIEFOWSBESVJFQ1QsCis+IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworPiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKz4gU0VSVklDRVM7IExP U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCis+ IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBDT05UUkFDVCwKKz4gU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HCis+IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorPiBQT1NTSUJJTElUWSBP RiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwpp bmRleCBjOTk5ZTQ5Li4xNWNmNzBiIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29u ZmlndXJlLmFjCkBAIC0yNSw3ICsyNSw3IEBAIEFDX1BST0dfTUFLRV9TRVQKIEFDX1BST0dfUkFO TElCCiAKIEFDX0NIRUNLX1RPT0woQVIsYXIsYXIpCi1BQ19QQVRIX1BST0coTFlOWCxseW54LG5v KQorQUNfUEFUSF9QUk9HKFBBTkRPQyxwYW5kb2Msbm8pCiBBQ19QQVRIX1BST0coUlBNLHJwbSkK IEFDX1BBVEhfUFJPRyhHWklQLGd6aXAsZmFsc2UpCiBBQ19QQVRIX1BST0coQlpJUDIsYnppcDIs ZmFsc2UpCi0tIAoyLjQ5LjAKCi0tIApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsZWFmbm9kZS1saXN0IG1haWxpbmcgbGlzdApsZWFmbm9kZS1saXN0QGxl YWZub2RlLm9yZwpodHRwczovL3d3dy5sZWFmbm9kZS5vcmcvbWFpbG1hbi9saXN0aW5mby9sZWFm bm9kZS1saXN0Cmh0dHA6Ly9sZWFmbm9kZS5zb3VyY2Vmb3JnZS5uZXQvCg==